Sur mon système Debian (enfin, mon système LMDE, mais assez proche), j'ai au moins 3 rename
différents programmes :
-
/usr/local/bin/rename
:Ceci est un script Perl, écrit par Tom Christiansen. Curieusement, je n'arrive pas à trouver quel paquet l'a installé :$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
-
/usr/bin/prename
:un autre script perl, écrit par Robin Barker, celui-ci fait partie duperl
paquet :$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
-
/usr/bin/file-rename
:encore un autre script Perl, aucune information claire sur l'auteur mais à la fois un Larry (vraisemblablement Wall) et un Robin (vraisemblablement Barker) sont mentionnés. Celui-ci est installé par lerename
package et est également lié symboliquement à/usr/bin/rename
:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
J'ai aussi rename.ul
depuis util-linux
mais ignorons celui-là pour l'instant. Quelle est la différence entre ces 3 scripts Perl ? Ils semblent tous avoir la même page de manuel, man rename
, man file-rename
et man prename
donnez-moi tous la même page.
Je pourrais parcourir les scripts eux-mêmes et essayer de comprendre les différences, mais ce n'est pas anodin et j'espère que quelqu'un saura quelles fonctionnalités chacun a que les autres n'ont pas. Points bonus pour avoir expliqué pourquoi le monde Debian a besoin de trois scripts de changement de nom Perl distincts.
Réponse acceptée :
Je ne sais pas si cela devrait être un commentaire, mais ce n'est qu'une réponse partielle — Bug#735134 :perl :rename(1) est ancien.
a ce qui semble être les graines du gâchis. Plus précisément :
Donc, pour résumer :pendant de nombreuses années, le paquetage perl a fourni
/usr/bin/rename, un utilitaire autonome implémenté en perl. Le problème est que
nous ne voulons plus fournir l'utilitaire depuis le paquet perl car
il a été ajouté localement dans debian/ et n'est pas maintenu. Une
version maintenue est disponible dans un package séparé, libfile-rename-perl.
Le libfile-rename-perl
mentionné ci-dessus est maintenant remplacé par 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
Ainsi, Perl a son propre rename
qui n'est pas maintenu par Debian et fournit /usr/bin/prename
. Les développeurs Debian maintiennent un rename
package (apparemment anciennement connu sous le nom de libfile-rename-perl
) qui est le paquet qui fournit /usr/bin/rename
:un lien symbolique vers /etc/alternatives/rename
qui lui-même est un lien symbolique vers le /usr/bin/file-rename
script.
Le script de Tom Christiansen est fourni avec Unicode::Tussle
de Perl module. Vous l'avez probablement installé et c'est ce qui a fourni /usr/local/bin/rename
.