Was ist mit all den Umbenennungen: Vorname, Umbenennung, Datei-Umbenennung?

24

Auf meinem Debian-System (nun, meinem LMDE-System, aber nah genug) habe ich mindestens 3 verschiedene renameProgramme:

  • /usr/local/bin/rename: Dies ist ein Perl-Skript von Tom Christiansen. Seltsamerweise kann ich 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 des perlPakets:

    $ dpkg -S /usr/bin/prename
    perl: /usr/bin/prename
  • /usr/bin/file-rename: Ein weiteres Perl-Skript, das keine eindeutigen Informationen zur Autorenschaft enthält, jedoch einen Larry (vermutlich Wall) und einen Robin (vermutlich Barker). Dieser wird vom renamePaket installiert und ist auch verknüpft mit /usr/bin/rename:

    $ dpkg -S /usr/bin/file-rename
    rename: /usr/bin/file-rename

Ich habe auch rename.ulvon, util-linuxaber lassen Sie uns diesen fürs Erste ignorieren. Was ist der Unterschied zwischen diesen 3 Perl-Skripten? Sie scheinen alle die gleiche Manpage zu haben man rename, man file-renameund man prenamealle 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 jeder hat, die der andere nicht hat. Bonuspunkte für die Erklärung, warum die Debian-Welt drei separate Perl-Umbenennungsskripte benötigt.

terdon
quelle
Es ist schlimmer als das! RHEL liefert eine völlig andere Binärdatei als Teil ihres util-linux-ngPakets aus. Datei% = Umbenennungs / usr / bin / Umbenennungs: ELF 64-Bit - LSB ausführbare Datei, x86-64, Version 1 (SYSV), ...
thrig
@thrig Ich habe deine Antwort in einen Kommentar umgewandelt, da er die Frage nicht beantwortet hat (was ist der Unterschied zwischen diesen Skripten und warum gibt es so viele Perl-Versionen). Sie sprechen über die renamevon util-linuxdenen rename.ulauf Debian und renameauf RedHat - Systemen. Ich erwähne es im vorletzten Absatz meiner Frage.
terdon
Was update-alternatives --display renamezeigt sich für Sie? Ich frage mich, ob es Teil einer nachinstallierten Alternative ist.
Jeff Schaller
@ JeffSchaller Nein, es kommt von Unicode :: Tussle . Sein Autor (tchrist) ist auf SE aktiv und hat es mir im Chat erklärt.
terdon
4
Verwandte . Für den Datensatz unterstützt das Umbenennungsskript mit meinem Namen, den Sie erwähnen, einige für mich nützliche Optionen, z. normal “ -vund -iOptionen. Es ist eine alte, alte, alte Skript ohne ordnungsgemäße Dokumentation außerhalb seiner Verwendungsmeldung, aber es ist ein Standard für Arbeitspferd en-masse Dateinamen umschreibt. Es ist eines von vielleicht zwei oder drei Skripten, die ich immer bei mir haben möchte, egal wohin ich gehe.
Tchrist

Antworten:

16

Ich bin nicht sicher, ob dies ein Kommentar sein soll, aber es ist nur eine teilweise Antwort.

http://lists.alioth.debian.org/pipermail/perl-maintainers/2014-February/004113.html

hat was die Samen des Chaos zu sein scheint. Speziell:

Zusammenfassend lässt sich sagen: Seit vielen Jahren stellt das Perl-Paket / usr / bin / rename zur Verfügung, ein in Perl implementiertes Stanalone-Dienstprogramm. Das Problem ist, dass wir das Dienstprogramm nicht mehr aus dem Perl-Paket heraus bereitstellen möchten, da es lokal in debian / hinzugefügt wurde und nicht mehr gewartet wird. Eine gepflegte Version ist als separates Paket libfile-rename-perl verfügbar.

Das libfile-rename-perloben erwähnte wird nun ersetzt durch rename:

$ apt-cache show rename | head
Package: rename
Version: 0.20-3
Installed-Size: 69
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Architecture: all
Replaces: libfile-rename-perl
Provides: libfile-rename-perl
Depends: perl
Conflicts: libfile-rename-perl
Description-en: Perl extension for renaming multiple files

Also hat Perl ein eigenes, renamedas nicht von Debian gepflegt wird und zur Verfügung stellt /usr/bin/prename. Die Debian-Entwickler unterhalten ein renamePaket (anscheinend früher bekannt als libfile-rename-perl), das folgendes bereitstellt /usr/bin/rename: einen Symlink, zu /etc/alternatives/renamedem selbst ein Symlink zum /usr/bin/file-renameSkript besteht.

Tom Christiansens Skript ist in Perls Unicode::TussleModul enthalten. Sie haben es wahrscheinlich installiert und das ist, was zur Verfügung gestellt /usr/local/bin/rename.

Jeff Schaller
quelle