Pada sistem Debian saya (baik, sistem LMDE saya, tetapi cukup dekat), saya memiliki setidaknya 3 rename
yang berbeda program:
-
/usr/local/bin/rename
:Ini adalah skrip Perl, yang ditulis oleh Tom Christiansen. Anehnya, saya tidak dapat menemukan paket mana yang menginstalnya:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
-
/usr/bin/prename
:skrip perl lain, yang ditulis oleh Robin Barker, ini adalah bagian dariperl
paket:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
-
/usr/bin/file-rename
:satu lagi skrip Perl, tidak ada informasi kepenulisan yang jelas tetapi baik Larry (mungkin Wall) dan Robin (mungkin Barker) disebutkan. Yang ini diinstal denganrename
package dan juga di-symlink ke/usr/bin/rename
:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
Saya juga punya rename.ul
dari util-linux
tapi mari kita abaikan yang itu untuk saat ini. Apa perbedaan antara 3 skrip Perl ini? Mereka semua tampaknya memiliki halaman manual yang sama, man rename
, man file-rename
dan man prename
semua memberi saya halaman yang sama.
Saya bisa membaca skrip sendiri dan mencoba memahami perbedaannya tetapi itu tidak sepele dan saya berharap seseorang akan tahu fitur apa yang dimiliki masing-masing yang tidak dimiliki orang lain. Poin bonus untuk menjelaskan mengapa dunia Debian membutuhkan tiga skrip penggantian nama Perl yang terpisah.
Jawaban yang Diterima:
Tidak yakin apakah ini harus berupa komentar, tetapi ini hanya sebagian jawaban — Bug#735134:perl:rename(1) sudah kuno.
memiliki apa yang tampaknya menjadi benih kekacauan. Khususnya:
Jadi untuk meringkas:selama bertahun-tahun paket Perl telah menyediakan
/usr/bin/rename, utilitas mandiri yang diimplementasikan di Perl. Masalahnya adalah kami
tidak ingin menyediakan utilitas dari paket perl lagi karena
telah ditambahkan secara lokal di dalam debian/ dan tidak dipertahankan. A
versi terpelihara tersedia sebagai paket terpisah, libfile-rename-perl.
libfile-rename-perl
disebutkan di atas sekarang diganti dengan 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
Jadi, Perl memiliki rename
-nya sendiri yang tidak dikelola oleh Debian dan menyediakan /usr/bin/prename
. Pengembang Debian mempertahankan rename
paket (tampaknya sebelumnya dikenal sebagai libfile-rename-perl
) yang merupakan paket yang menyediakan /usr/bin/rename
:symlink ke /etc/alternatives/rename
yang merupakan symlink ke /usr/bin/file-rename
naskah.
Skrip Tom Christiansen dibundel dengan Unicode::Tussle
Perl modul. Anda mungkin telah menginstalnya dan itulah yang memberikan /usr/local/bin/rename
.