Markdown y su contenido
El paquete markdown proporciona la correspondiente librería Perl y un
programa para utilizar directamente con un fuente de una manera un tanto
especial. El módulo debería estar en la categoría Text/Markdown
, y allí
aparece, pero no como un módulo en sí, sino como enlace simbólico al
ejecutable markdown
.
¿ Cómo un enlace ? Pues sí, pero no a la ruta absoluta /usr/bin/markdown
; en
su lugar apunta a ../../../bin/markdown
, que no tendría mayor importancia
sino fuese porque debido a falta de espacio en disco moví toda la jerarquía
/usr/share
a otra partición en el disco, asumiendo que estos directorios
serían bastante estables y ahora me encuentro conque ese enlace simbólico ha
dejado de funcionar.
¿ Y cómo arreglo esto ?
Usando el programa dpkg-divert
de la siguiente forma:
# ls -l /usr/share/perl5/Text/Markdown.pm
lrwxrwxrwx 1 root root 21 2007-01-21 08:39 Markdown.pm -> ../../../bin/markdown
# dpkg-divert --add --rename /usr/share/perl5/Text/Markdown.pm
# ls -l /usr/share/perl5/Text/
lrwxrwxrwx 1 root root 21 2007-01-21 08:39 Markdown.pm.distrib -> ../../../bin/markdown
...
Vemos que antes de efectuar la operación el módulo existe como enlace a la
localización errónea. Tras indicar al sistema que desvíe todas las
instalaciones de ese archivo hacia la versión renombrada .distrib
nos
encontramos con el módulo ya no existe.
Ahora vamos a crear nuestro enlace simbólico correctamente:
# ln -s /usr/bin/markdown /usr/share/perl5/Text/Markdown.pm
# ls -l /usr/share/perl5/Text/
lrwxrwxrwx 1 root root 17 2007-01-21 10:22 Markdown.pm -> /usr/bin/markdown
lrwxrwxrwx 1 root root 21 2007-01-21 08:39 Markdown.pm.distrib -> ../../../bin/markdown
...
y ahora podemos probar que la nueva versión funciona sin problemas.
La ventaja es que las próximas instalaciones del paquete markdown
desviarán
ese archivo a la versión renombrada, de manera que nuestro enlace correcto
seguirá allí y no tendremos que reinstalarlo en cada ocasión.
Ahora deberíamos enviar un informe de errores al mantenedor del paquete para avisarle de lo que consideramos un error.
Duda aclarada
Gracias a la ayuda de Damián
Viano veo
que tal situación no es un error (según la policy de Debian), puesto que
sólo involucra a un directorio superior (/usr
) y que es correcto.