Come mai ci sono due pacchetti che forniscono comandi diversi usando lo stesso nome (se non per caso)?
Non è insolito. Gli autori in genere scelgono il nome del comando più semplice a cui pensano, quindi se due persone scrivono un comando per rinominare i file, è probabile che lo nomineranno entrambi rename
. Questo è uno dei motivi alla base del sistema Debian Alternatives : consente la coesistenza di pacchetti che forniscono comandi con nomi simili e che un pacchetto ne sostituisca un altro. Ad esempio, ci sono più implementazioni AWK - mawk
, original-awk
, gawk
(anche se tutti si riferiscono a se stessi come awk). Con il sistema alternativo, è possibile installarli tutti contemporaneamente e passare comodamente da uno qualsiasi di quelli predefiniti awk
.
In questo caso specifico, prename
viene dal codice sorgente Perl. I manutentori del pacchetto Debian erano originariamente rename
quelli Perl, quindi passati al sistema alternativo, per accogliere il rename
da util-linux
. Quindi qualcuno ha scritto una versione migliorata di Perl rename
nel modulo File-Rename Perl , che è stato poi aggiunto come un'altra alternativa. Ma questo non è nemmeno l'unico modulo Perl per rinominare i file.
Non sarebbe piuttosto semplice per il perl
pacchetto includere il rename
comando "completo" o non includere alcun rename
comando? Perché questa divisione apparentemente incompleta è sostenuta almeno fino a Ubuntu 17.04?
Vedi bug Debian # 735134 per come si è evoluta questa situazione. I manutentori di Debian generalmente preferiscono fare almeno una versione quando si fa qualcosa di drastico, come sostituire un comando funzionante con un altro. prename
è stato tenuto in giro per Jessie e ora è stato rimosso per Buster. Inoltre, sembra rename
che non sarà più nel sistema delle alternative, poiché rename.ul
è troppo incompatibile. rename
sarà giusto file-rename
.
Dato che Ubuntu generalmente rileva i cambiamenti di packaging da Debian, ciò che accade rename
in Debian verrà rilevato da Ubuntu prima o poi, probabilmente nel 18.04. Sembra essere troppo tardi per il 17.10.
Quali sono esattamente le differenze tra questi comandi?
Fondamentalmente, entrambi prename
ed file-rename
eseguono espressioni Perl per rinominare i file. file-rename
è solo attivamente gestito e supporta più opzioni. rename
da util-linux
opere completamente diverse, ha le sue regole per i modelli.
man prename
per 17.10 , sembra che 17.10 abbia effettivamente raccoltofile-rename
invece diprename
. Lo stesso per il 18.04 .