Aynı adı kullanarak farklı komutlar sağlayan iki paket nasıl olur (kazara değilse)?
Bu olağandışı değil. Yazarlar genellikle düşündükleri en basit komut adını seçerler, bu nedenle iki kişi dosyaları yeniden adlandırmak için bir komut yazarsa, muhtemelen her ikisini de adlandıracaktır rename
. Debian Alternatifleri sisteminin arkasındaki nedenlerden biri budur - benzer şekilde adlandırılmış komutlar sağlayan paketlerin bir arada var olmasına ve bir paketin diğerinin yerini almasına izin verir. Örneğin, birden çok awk'ler vardır - mawk
, original-awk
, gawk
(hepsi awk'ın olarak kendilerini bakın rağmen). Alternatif sistemle, hepsini aynı anda kurabilir ve varsayılan olarak herhangi biri arasında kolayca geçiş yapabilirsiniz awk
.
Bu özel durumda, prename
Perl kaynak kodundan gelir. Debian paket tutucular başlangıçta vardı rename
karşılamak için daha sonra alternatif sistemine geçiş Perl biri olmak rename
den util-linux
. Sonra birisi Perl en geliştirilmiş bir versiyonu yazdı rename
içinde Dosya-Yeniden Adlandır Perl modülü sonra başka alternatif olarak eklenmiştir. Ancak bu, dosyaları yeniden adlandırmak için tek Perl modülü bile değil.
perl
Paketin “full” rename
komutunu içermesi veya hiç komut içermemesi oldukça kolay olmaz mıydı rename
? En azından Ubuntu 17.04'e kadar bu görünüşte eksik kalan bölünme neden devam ediyor?
Bu durumun nasıl geliştiğini görmek için Debian hatası # 735134'e bakın . Debian koruyucular genellikle, ciddi bir şey yaparken, çalışma komutunu başka bir komutla değiştirmek gibi en az bir sürüm tercih etmeyi tercih ederler. prename
jessie için tutuldu ve şimdi buster için kaldırıldı. Buna ek olarak, rename
artık rename.ul
uyumsuz olduğu için alternatif sistem altında olmayacak gibi görünüyor . rename
sadece olacak file-rename
.
Ubuntu genellikle Debian'dan ambalaj değişiklikleri rename
aldığından, Debian'da olanlar Ubuntu tarafından er ya da geç, muhtemelen 18.04'te alınacak. 17.10 için çok geç gibi görünüyor.
Bu komutlar arasındaki farklar tam olarak nedir?
Temel olarak, hem prename
ve hem de file-rename
dosyaları yeniden adlandırmak için Perl ifadeleri çalıştırın. file-rename
sadece aktif olarak korunur ve daha fazla seçeneği destekler. rename
dan util-linux
tamamen farklı işler, kalıpları için kendi kuralları vardır.
man prename
17.10 için , aslında aldın 17.10 benziyorfile-rename
yerineprename
. 18.04 için aynı .