Auf meinem Debian-System (gut, meinem LMDE-System, aber nah genug) habe ich mindestens 3 verschiedene rename
Programme:
-
/usr/local/bin/rename
:Dies ist ein Perl-Skript, geschrieben von Tom Christiansen. Seltsamerweise kann ich anscheinend nicht finden, welches Paket es installiert hat:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
-
/usr/bin/prename
:ein weiteres Perl-Skript, geschrieben von Robin Barker, dieses ist Teil vonperl
Paket:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
-
/usr/bin/file-rename
:noch ein weiteres Perl-Skript, keine eindeutigen Informationen zur Urheberschaft, aber sowohl ein Larry (vermutlich Wall) als auch ein Robin (vermutlich Barker) werden erwähnt. Dieser wird durchrename
installiert Paket und ist auch symbolisch mit/usr/bin/rename
verknüpft :$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
Ich habe auch rename.ul
von util-linux
aber lass uns das erstmal ignorieren. Was ist der Unterschied zwischen diesen 3 Perl-Skripten? Sie scheinen alle dieselbe Manpage zu haben, man rename
, man file-rename
und man prename
alle geben mir die gleiche Seite.
Ich könnte die Skripte selbst durchgehen und versuchen, die Unterschiede zu verstehen, aber das ist nicht trivial, und ich hoffe, dass jemand weiß, welche Funktionen jedes hat, die die anderen nicht haben. Bonuspunkte für die Erklärung, warum die Debian-Welt drei separate Perl-Umbenennungsskripte benötigt.
Akzeptierte Antwort:
Ich bin mir nicht sicher, ob dies ein Kommentar sein sollte, aber es ist nur eine Teilantwort – Bug#735134:perl:rename(1) is old.
hat, was die Saat des Durcheinanders zu sein scheint. Konkret:
Um es zusammenzufassen:Seit vielen Jahren stellt das Perl-Paket
/usr/bin/rename bereit, ein eigenständiges Dienstprogramm, das in Perl implementiert ist. Das Problem ist, dass wir
das Dienstprogramm aus dem Perl-Paket nicht mehr bereitstellen wollen, weil
es lokal in debian/ hinzugefügt wurde und nicht gewartet wird. Eine
gepflegte Version ist als separates Paket verfügbar, libfile-rename-perl.
Die libfile-rename-perl
oben erwähnt wird nun durch rename
ersetzt :
$ 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
Perl hat also sein eigenes rename
das nicht von Debian verwaltet wird und /usr/bin/prename
bereitstellt . Die Debian-Entwickler pflegen ein rename
Paket (anscheinend früher bekannt als libfile-rename-perl
), welches das Paket ist, das /usr/bin/rename
bereitstellt :ein symbolischer Link zu /etc/alternatives/rename
was selbst ein symbolischer Link zu /usr/bin/file-rename
ist Skript.
Das Skript von Tom Christiansen ist mit Perls Unicode::Tussle
gebündelt Modul. Sie haben es wahrscheinlich installiert und das hat /usr/local/bin/rename
bereitgestellt .