Wie kommt es, dass zwei Pakete unterschiedliche Befehle mit demselben Namen bereitstellen (wenn nicht versehentlich)?
Das ist nicht ungewöhnlich. Autoren wählen normalerweise den einfachsten Befehlsnamen, an den sie denken. Wenn also zwei Personen einen Befehl schreiben, um Dateien umzubenennen, wird er wahrscheinlich von beiden benannt rename
. Dies ist einer der Gründe für das Debian Alternatives-System - es ermöglicht, dass Pakete mit ähnlich benannten Befehlen nebeneinander existieren und dass ein Paket ein anderes ersetzt. Zum Beispiel gibt es mehrere AWK - Implementierungen - mawk
, original-awk
, gawk
(obwohl sie alle bezeichnen sich selbst als awk). Mit dem alternativen System können Sie sie alle gleichzeitig installieren und bequem zwischen ihnen als Standard wechseln awk
.
In diesem speziellen Fall prename
kommt aus dem Perl-Quellcode. Die Debian-Paketbetreuer waren ursprünglich rename
die Perl- Betreuer , die dann auf das alternative System umgestiegen sind, um das rename
von aufzunehmen util-linux
. Dann hat jemand eine verbesserte Version von Perl rename
im Modul Perl zum Umbenennen von Dateien geschrieben , die dann als weitere Alternative hinzugefügt wurde. Aber das ist nicht einmal das einzige Perl-Modul zum Umbenennen von Dateien.
Wäre es nicht recht einfach, wenn das perl
Paket entweder den rename
Befehl "full" oder gar keinen rename
Befehl enthält? Warum wird diese scheinbar unvollständige Trennung bis mindestens Ubuntu 17.04 aufrechterhalten?
Siehe Debian-Fehler # 735134, wie sich diese Situation entwickelt hat. Debian-Betreuer bevorzugen im Allgemeinen mindestens eine Veröffentlichung, wenn sie etwas drastisches tun, wie das Ersetzen eines Arbeitsbefehls durch einen anderen. prename
wurde für jessie herumgehalten und wurde nun für buster entfernt. Darüber hinaus sieht es so aus, als würde rename
es nicht mehr unter das Alternativsystem fallen, da rename.ul
es zu inkompatibel ist. rename
wird gerecht sein file-rename
.
Da Ubuntu generell Paketänderungen von Debian rename
übernimmt, wird das , was in Debian passiert, früher oder später von Ubuntu aufgenommen, wahrscheinlich im 18.04. Für den 17.10. Scheint es zu spät zu sein.
Was genau sind die Unterschiede zwischen diesen Befehlen?
Grundsätzlich können Sie beide prename
und file-rename
Perl-Ausdrücke ausführen, um Dateien umzubenennen. file-rename
wird nur aktiv gepflegt und unterstützt weitere Optionen. rename
von util-linux
arbeitet ganz anders, hat seine eigenen Regeln für Muster.
man prename
für 17,10 , sieht es aus wie 17.10 in der Tat hat abholenfile-rename
stattprename
. Gleiches gilt für den 18.04 .