Sul mio sistema Debian (beh, il mio sistema LMDE, ma abbastanza vicino), ho almeno 3 diversi rename
programmi:
-
/usr/local/bin/rename
:Questa è una sceneggiatura Perl, scritta da Tom Christiansen. Stranamente, non riesco a trovare quale pacchetto lo abbia installato:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
-
/usr/bin/prename
:un altro script perl, scritto da Robin Barker, questo fa parte delperl
pacchetto:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
-
/usr/bin/file-rename
:ancora un altro script Perl, nessuna chiara informazione sulla paternità ma sono menzionati sia un Larry (presumibilmente Wall) che un Robin (presumibilmente Barker). Questo viene installato darename
pacchetto ed è anche un collegamento simbolico a/usr/bin/rename
:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
Ho anche rename.ul
da util-linux
ma ignoriamo quello per ora. Qual è la differenza tra questi 3 script Perl? Sembrano avere tutti la stessa pagina man, man rename
, man file-rename
e man prename
tutti mi danno la stessa pagina.
Potrei esaminare le sceneggiature stesse e cercare di capire le differenze, ma non è banale e spero che qualcuno sappia quali caratteristiche hanno ciascuno e gli altri no. Punti bonus per spiegare perché il mondo Debian ha bisogno di tre script di ridenominazione Perl separati.
Risposta accettata:
Non sono sicuro che questo debba essere un commento, ma è solo una risposta parziale — Bug#735134:perl:rename(1) è antico.
ha quelli che sembrano essere i semi del pasticcio. Nello specifico:
Quindi, per riassumere:per molti anni il pacchetto perl ha fornito
/usr/bin/rename, un'utilità standalone implementata in perl. Il problema è che
non vogliamo più fornire l'utilità dal pacchetto perl perché
è stato aggiunto localmente all'interno di debian/ e non viene mantenuto. Una versione mantenuta
è disponibile come pacchetto separato, libfile-rename-perl.
Il libfile-rename-perl
menzionato sopra è ora sostituito da 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
Quindi, Perl ha il suo rename
che non è gestito da Debian e fornisce /usr/bin/prename
. Gli sviluppatori Debian mantengono una rename
pacchetto (apparentemente precedentemente noto come libfile-rename-perl
) che è il pacchetto che fornisce /usr/bin/rename
:un collegamento simbolico a /etc/alternatives/rename
che di per sé è un collegamento simbolico a /usr/bin/file-rename
copione.
La sceneggiatura di Tom Christiansen è in bundle con Unicode::Tussle
di Perl modulo. Probabilmente l'hai installato ed è ciò che ha fornito /usr/local/bin/rename
.