En mi sistema Debian (bueno, mi sistema LMDE, pero lo suficientemente cerca), tengo al menos 3 rename
diferentes programas:
-
/usr/local/bin/rename
:Este es un script de Perl, escrito por Tom Christiansen. Por extraño que parezca, no puedo encontrar qué paquete lo instaló:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
-
/usr/bin/prename
:otro script de perl, escrito por Robin Barker, este es parte deperl
paquete:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
-
/usr/bin/file-rename
:otro script de Perl, sin información clara de autoría, pero se mencionan tanto a Larry (presumiblemente Wall) como a Robin (presumiblemente Barker). Este es instalado porrename
paquete y también está vinculado a/usr/bin/rename
:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
También tengo rename.ul
desde util-linux
pero ignoremos eso por ahora. ¿Cuál es la diferencia entre estos 3 scripts de Perl? Todos parecen tener la misma página man, man rename
, man file-rename
y man prename
todos me dan la misma página.
Podría revisar los guiones y tratar de entender las diferencias, pero eso no es trivial y espero que alguien sepa qué características tiene cada uno que los demás no. Puntos de bonificación por explicar por qué el mundo de Debian necesita tres secuencias de comandos de cambio de nombre de Perl separadas.
Respuesta aceptada:
No estoy seguro de si esto debería ser un comentario, pero es solo una respuesta parcial:error n.º 735134:perl:rename(1) es antiguo.
tiene lo que parece ser la semilla del desorden. Específicamente:
Entonces, para resumir:durante muchos años, el paquete perl ha proporcionado
/usr/bin/rename, una utilidad independiente implementada en perl. El problema es que
ya no queremos proporcionar la utilidad del paquete perl porque
se ha agregado localmente dentro de debian/ y no se mantiene. Una
versión mantenida está disponible como un paquete separado, libfile-rename-perl.
El libfile-rename-perl
mencionado anteriormente ahora se reemplaza por rename
:
$ apt-cache show rename | head
Package: rename
Version: 0.20-3
Installed-Size: 69
Maintainer: Debian Perl Group <[email protected]>
Architecture: all
Replaces: libfile-rename-perl
Provides: libfile-rename-perl
Depends: perl
Conflicts: libfile-rename-perl
Description-en: Perl extension for renaming multiple files
Entonces, Perl tiene su propio rename
que no es mantenido por Debian y proporciona /usr/bin/prename
. Los desarrolladores de Debian mantienen un rename
paquete (aparentemente conocido anteriormente como libfile-rename-perl
) que es el paquete que proporciona /usr/bin/rename
:un enlace simbólico a /etc/alternatives/rename
que en sí mismo es un enlace simbólico al /usr/bin/file-rename
guión.
El script de Tom Christiansen se incluye con Unicode::Tussle
de Perl módulo. Probablemente lo haya instalado y eso es lo que proporcionó /usr/local/bin/rename
.