¿Cómo es que hay dos paquetes que proporcionan diferentes comandos con el mismo nombre (si no por accidente)?
Eso no es inusual. Los autores generalmente eligen el nombre de comando más simple que piensan, por lo que si dos personas escriben un comando para cambiar el nombre de los archivos, es probable que ambos lo nombren rename
. Esa es una de las razones detrás del sistema Debian Alternatives : permite que los paquetes que proporcionan comandos con nombres similares coexistan y que un paquete reemplace a otro. Por ejemplo, hay múltiples implementaciones de AWK - mawk
, original-awk
, gawk
(aunque todos ellos se refieren a sí mismos como awk). Con el sistema de alternativas, puede instalarlos todos al mismo tiempo y cambiar convenientemente entre cualquiera de ellos de forma predeterminada awk
.
En este caso específico, prename
proviene del código fuente de Perl. Los mantenedores de paquetes de Debian originalmente tenían rename
sea el Perl, entonces cambiado al sistema de alternativas, para acomodar el rename
de util-linux
. Luego, alguien escribió una versión mejorada de Perl rename
en el módulo File-Rename Perl , que luego se agregó como otra alternativa. Pero ese ni siquiera es el único módulo Perl para renombrar archivos.
¿No sería bastante sencillo para el perl
paquete incluir el rename
comando "completo" o no incluir ningún rename
comando? ¿Por qué esta división aparentemente incompleta se mantiene hasta al menos Ubuntu 17.04?
Vea el error de Debian # 735134 para ver cómo evolucionó esta situación. Los mantenedores de Debian generalmente prefieren ir al menos una versión cuando hacen algo drástico, como reemplazar un comando de trabajo con otro. prename
fue guardado por Jessie, y ahora ha sido eliminado por Buster. Además, parece rename
que ya no estará bajo el sistema de alternativas, ya que rename.ul
es demasiado incompatible. rename
será igual file-rename
.
Dado que Ubuntu generalmente recoge los cambios de empaquetado de Debian, lo que sucede rename
en Debian será recogido por Ubuntu tarde o temprano, probablemente en 18.04. Parece que es demasiado tarde para las 17.10.
¿Cuáles son exactamente las diferencias entre esos comandos?
Fundamentalmente, tanto prename
y file-rename
ejecutar expresiones Perl a los archivos de cambio de nombre. file-rename
se mantiene activamente y admite más opciones. rename
de util-linux
obras completamente diferentes, tiene sus propias reglas para los patrones.
man prename
de 17.10 , parece que 17.10 de hecho se recuperó enfile-rename
lugar deprename
. Lo mismo para 18.04 .