एक ही नाम (यदि दुर्घटना से नहीं) का उपयोग करके विभिन्न आदेश प्रदान करने वाले दो पैकेज कैसे आते हैं?
यह असामान्य नहीं है। लेखक आमतौर पर सबसे सरल कमांड का नाम लेते हैं, जिसके बारे में वे सोचते हैं, इसलिए यदि दो लोग फ़ाइलों का नाम बदलने के लिए एक कमांड लिखते हैं, तो संभावना है कि वे दोनों इसे नाम देंगे rename
। यह डेबियन अल्टरनेटिव सिस्टम के पीछे के कारणों में से एक है - यह संकुल को समान रूप से नामित कमांड प्रदान करने की अनुमति देता है, और दूसरे को बदलने के लिए एक पैकेज के लिए। उदाहरण के लिए, एक से अधिक AWK कार्यान्वयन हैं - mawk
, original-awk
, gawk
(awk रूप में यद्यपि वे सब खुद को देखें)। विकल्प प्रणाली के साथ, आप उन सभी को एक ही समय में स्थापित कर सकते हैं, और डिफ़ॉल्ट रूप से उनमें से किसी के बीच आसानी से स्विच कर सकते हैं awk
।
इस विशिष्ट मामले में, prename
पर्ल स्रोत कोड से आता है। Debian पैकेज देखरेख मूल रूप से किया था rename
पर्ल एक है, तो विकल्प प्रणाली का प्रयोग किया, समायोजित करने के लिए हो सकता है rename
से util-linux
। तब किसी ने फाइल-रिनेम पर्ल मॉड्यूलrename
में पर्ल के बेहतर संस्करण को लिखा , जिसे तब दूसरे विकल्प के रूप में जोड़ा गया। लेकिन यह भी फ़ाइलों का नाम बदलने के लिए केवल पर्ल मॉड्यूल नहीं है।
क्या यह perl
पैकेज के लिए सीधा नहीं होगा या तो "पूर्ण" rename
कमांड को शामिल करें या किसी भी rename
कमांड को शामिल न करें ? यह कम से कम Ubuntu 17.04 तक निरंतर रूप से अपूर्ण विभाजन क्यों प्रतीत होता है?
यह स्थिति कैसे विकसित हुई, इसके लिए डेबियन बग # 735134 देखें । डेबियन अनुरक्षक आम तौर पर कम से कम एक रिलीज पर जाना पसंद करते हैं, जब कुछ कठोर करते हैं, जैसे कि दूसरे के साथ काम करने वाले कमांड को बदलना। prename
जेसी के लिए चारों ओर रखा गया था, और अब बस्टर के लिए हटा दिया गया है। इसके अलावा, ऐसा लगता है कि rename
अब विकल्प प्रणाली के तहत नहीं होगा, चूंकि rename.ul
बहुत असंगत है। rename
बस हो जाएगा file-rename
।
चूंकि उबंटू आम तौर पर डेबियन से पैकेजिंग में बदलाव करता है, इसलिए डेबियन में जो होता है rename
वह उबंटू द्वारा जल्द या बाद में उठाया जाएगा, शायद 18.04 में। 17.10 के लिए बहुत देर हो चुकी है।
वास्तव में उन आदेशों के बीच अंतर क्या हैं?
मौलिक रूप से, दोनों prename
और file-rename
फ़ाइलों का नाम बदलने के लिए पर्ल अभिव्यक्तियाँ चलाते हैं। file-rename
बस सक्रिय रूप से बनाए रखा है और अधिक विकल्पों का समर्थन करता है। rename
से util-linux
पूरी तरह से अलग काम करता है, पैटर्न के लिए अपने स्वयं के नियम हैं।
man prename
17.10 के लिए , यह वास्तव में लेने की थी 17.10 की तरह लग रहाfile-rename
है के बजायprename
। 18.04 के लिए समान ।