Kenapa ada dua paket yang memberikan perintah berbeda menggunakan nama yang sama (jika tidak secara tidak sengaja)?
Itu tidak biasa. Penulis biasanya memilih nama perintah paling sederhana yang mereka pikirkan, jadi jika dua orang menulis perintah untuk mengganti nama file, kemungkinan mereka berdua akan menamainya rename
. Itulah salah satu alasan di balik sistem Alternatif Debian - ini memungkinkan paket yang menyediakan perintah dengan nama yang sama untuk hidup berdampingan, dan untuk satu paket untuk menggantikan yang lain. Sebagai contoh, ada beberapa implementasi AWK - mawk
, original-awk
, gawk
(meskipun mereka semua menyebut diri mereka sebagai awk). Dengan sistem alternatif, Anda dapat menginstal semuanya sekaligus, dan dengan mudah beralih di antara mereka sebagai default awk
.
Dalam kasus khusus ini, prename
berasal dari kode sumber Perl. Pengelola paket Debian awalnya rename
adalah Perl, kemudian beralih ke sistem alternatif, untuk mengakomodasi rename
dari util-linux
. Kemudian seseorang menulis versi yang lebih baik dari Perl rename
di modul File-Rename Perl , yang kemudian ditambahkan sebagai alternatif lain. Tapi itu bahkan bukan satu-satunya modul Perl untuk mengganti nama file.
Tidakkah akan lebih mudah bagi perl
paket untuk memasukkan perintah "penuh" rename
atau tidak menyertakan rename
perintah sama sekali? Mengapa perpecahan yang tampaknya tidak lengkap ini dipertahankan hingga setidaknya Ubuntu 17.04?
Lihat Bug Debian # 735134 untuk mengetahui bagaimana situasi ini berkembang. Pemelihara Debian umumnya lebih suka pergi setidaknya satu rilis ketika melakukan sesuatu yang drastis, seperti mengganti perintah kerja dengan yang lain. prename
disimpan di sekitar untuk jessie, dan sekarang telah dihapus untuk pengendara. Selain itu, sepertinya rename
tidak akan lagi berada di bawah sistem alternatif, karena rename.ul
terlalu tidak kompatibel. rename
akan adil file-rename
.
Karena Ubuntu umumnya mengambil perubahan kemasan dari Debian, apa yang terjadi rename
di Debian akan diambil oleh Ubuntu cepat atau lambat, mungkin di 18,04. Tampaknya sudah terlambat untuk 17,10.
Apa sebenarnya perbedaan antara perintah-perintah itu?
Pada dasarnya, keduanya prename
dan file-rename
jalankan ekspresi Perl untuk mengganti nama file. file-rename
hanya dipelihara secara aktif dan mendukung lebih banyak opsi. rename
dari util-linux
karya yang sepenuhnya berbeda, memiliki aturan sendiri untuk pola.
man prename
untuk 17,10 , sepertinya 17,10 memang mengambilfile-rename
alih-alihprename
. Sama untuk 18,04 .