लिनक्स स्थायी विकास की स्थिति में है। अक्सर परिवर्तन छिपे होते हैं, जैसे कर्नेल और अन्य अंतर्निहित कोड के पीछे के दृश्यों के विकास। लेकिन कभी-कभी, उपयोगकर्ता को काम करने के एक नए तरीके से समायोजित करना पड़ता है।
जबकि कंप्यूटिंग में कई संवर्द्धन झकझोरने वाले हो सकते हैं और एक अलग मानसिकता की आवश्यकता होती है, यह apt-get कमांड के विकास के लिए सही नहीं है। इसे पूरी तरह से बदलने के बजाय, डेबियन-आधारित सिस्टम (जैसे उबंटू, लिनक्स मिंट, और रास्पबेरी पाई का रास्पबियन) इसके प्रतिस्थापन, सरल apt कमांड के साथ इसके उपयोग को जारी रख रहे हैं।
लेकिन वे ऐसा क्यों कर रहे हैं, और वास्तव में क्या बदला है?
APT बनाम APT-GET
apt कमांड पेश करने में एक ठोस तर्क है। पहले, एडवांस्ड पैकेज टूल तक पहुंच apt-get और apt-cache कमांड के सेट के माध्यम से रही है (या डेस्कटॉप पर सिनैप्टिक या अन्य पैकेज मैनेजर के माध्यम से)। हालांकि, समय के साथ इनके विस्तार के तरीके के कारण, चीजें काफी अव्यवस्थित हो गई हैं।
apt-get और apt-cache से सबसे अधिक उपयोग किए जाने वाले विकल्पों की विशेषता वाला apt पेश करके, न केवल कमांड थोड़े छोटे हैं, बल्कि उनमें से कम भी हैं। यह वर्षों से उत्पन्न डुप्लीकेशन और अन्य समस्याओं से बचाता है।
लेकिन apt केवल दो समान, अव्यवस्थित कमांड संरचनाओं को एकीकृत करने के बारे में नहीं है। यह कमांड लाइन अनुभव को भी बढ़ाता है। उदाहरण के लिए, प्रोग्राम इंस्टॉल या हटाते समय एक प्रगति बार प्रदर्शित होता है।
तो, यही कारण है कि apt पेश किया गया था। लेकिन आपको इसका उपयोग क्यों करना चाहिए? ये उदाहरण बताते हैं।
संक्षेप में: कोई और GET नहीं
हमने पहले apt-get कमांड को गहराई से देखा है। आपके द्वारा पहले उपयोग किए गए कमांड अभी भी नियोजित किए जा सकते हैं, बस "-get" भाग को हटाकर।
तो...
apt-get install [packagename]
...बन जाता है...
apt install [packagename]
सामान्य तौर पर, यह परिवर्तन सभी पिछले apt-get कमांड में होता है। लेकिन apt की शुरूआत के साथ कुछ अतिरिक्त कार्यक्षमता आती है। सॉफ़्टवेयर अपग्रेड और हटाने में अब अतिरिक्त विकल्प हैं, कई पैकेज इंस्टॉल करने से लेकर अपने सिस्टम से पैकेज को शुद्ध करने तक।
पूर्ण अपग्रेड प्राप्त करें
आप शायद पहले से ही update और upgrade कमांड के बारे में जानते हैं जो apt और apt-get दोनों के साथ काम करते हैं। संक्षेप में, update रिपॉजिटरी से पैकेज जानकारी को रीफ्रेश करता है, जबकि upgrade वास्तव में इंस्टॉल किए गए किसी भी पैकेज को अपग्रेड करेगा।
नया apt कमांड यह नया कमांड पेश करता है, full-upgrade।
sudo apt full-upgrade
इस कमांड के साथ, न केवल पैकेज अपग्रेड किए जाएंगे, अपग्रेड के हिस्से के रूप में हटाए जाने वाले किसी भी पुराने पैकेज को छोड़ दिया जाएगा। मानक apt upgrade कमांड ऐसा नहीं करता है।
एकाधिक पैकेज इंस्टॉल करें
जल्दी में हैं, और एक से अधिक सॉफ़्टवेयर पैकेज इंस्टॉल करने की आवश्यकता है? या बस अपने सॉफ़्टवेयर इंस्टॉलेशन कमांड से अधिक दक्षता चाहते हैं?
apt install कमांड विकसित हुआ है, जिससे आप अब एक ही कमांड के साथ कई पैकेज इंस्टॉल कर सकते हैं। बस इंस्टॉल कमांड के बाद पैकेज को क्रम में नाम दें:
sudo apt install [package_1] [package_2] [package_3]
यदि कोई ऐप पहले से इंस्टॉल है, तो apt डेटाबेस में बाद के संस्करण की जांच करेगा और इसे इसके बजाय इंस्टॉल करेगा। सरल!
अपग्रेड किए बिना एक पैकेज इंस्टॉल करें
यह संभव है कि कुछ परिस्थितियों में आपको किसी मौजूदा पैकेज को इंस्टॉल करने की आवश्यकता हो (शायद इसे सुधारने के लिए) बिना अपग्रेड किए। सौभाग्य से, apt इस परिदृश्य को भी सरल बनाता है:
sudo apt install [packagename] --no-upgrade
इस बीच, आप एक अनइंस्टॉल पैकेज के अपग्रेड को डाउनलोड कर सकते हैं और इसे अनइंस्टॉल छोड़ सकते हैं:
sudo apt install [packagename] --only-upgrade
मान लीजिए कि अधिकांश के लिए वह अंतिम कमांड एक असामान्य परिदृश्य है, लेकिन इसके बारे में जानना उचित है।
एक विशिष्ट पैकेज संस्करण इंस्टॉल करें
क्या होगा यदि आप किसी एप्लिकेशन का एक विशिष्ट संस्करण चाहते हैं? यह हो सकता है यदि आप पाते हैं कि नवीनतम अपडेट एक ऐसी सुविधा को तोड़ता है जिसका आप उपयोग करते हैं। इसके लिए आपको कुछ शोध करने की आवश्यकता होगी, ताकि आप पैकेज का संस्करण संख्या जान सकें।
एक बार जब आप इसे पा लेते हैं, तो बस पैकेज नाम और इच्छित संस्करण निर्दिष्ट करने के लिए इस कमांड का उपयोग करें:
sudo apt install [packagename]=[version_number]
याद रखें कि बाद के अपग्रेड इसे पूर्ववत कर सकते हैं और वांछित संस्करण को नवीनतम से बदल सकते हैं। जैसे, आपको इस कमांड को दोहराना होगा (जब तक कि डेवलपर्स द्वारा टूटी हुई सुविधा को बहाल नहीं किया जाता)।
अपग्रेड करने योग्य और इंस्टॉल पैकेज सूचीबद्ध करें
डेबियन आधारित सिस्टम पर apt के साथ सॉफ़्टवेयर इंस्टॉल करने का एक और नया पहलू सूची विकल्प है। यह निर्दिष्ट स्थिति के आधार पर एक सूची आउटपुट करेगा।
उदाहरण के लिए, आप उन पैकेजों की सूची देख सकते हैं जिनका अपग्रेड लंबित है:
apt list --upgradeable
अधिक सरलता से, इंस्टॉल पैकेज की एक सूची:
apt list --installed
सूची के लिए एक तीसरा विकल्प भी उपलब्ध है। यह आपके ऑपरेटिंग सिस्टम और कंप्यूटर के लिए उपलब्ध सभी पैकेजों की सूची प्रदर्शित करेगा।
apt list ----all-versions
(कमांड में "-" वर्णों की संख्या पर ध्यान दें: चार!)
हटाएं बनाम शुद्ध करें
remove कमांड के साथ पैकेज को हटाने की पुरानी विधि अभी भी apt के साथ काम करती है। इसे इंस्टॉलेशन के उलट के रूप में उपयोग करें, पैकेज नाम निर्दिष्ट करें:
sudo apt remove [packagename]
हालांकि, purge कमांड भी है, जो बहुत इसी तरह काम करता है।
sudo apt purge [packagename]
लेकिन अंतर क्या है?
खैर, apt remove केवल बाइनरी को हटाता है, लेकिन इसके परिणामस्वरूप अवशिष्ट फाइलें पीछे रह जाती हैं -- आमतौर पर कॉन्फ़िगरेशन फाइलें।
apt purge के साथ, हालांकि, फाइलों से संबंधित सब कुछ हटा दिया जाता है: बाइनरी, कॉन्फिग फाइलें, सब कुछ।
ऑटोरिमूव के साथ सफाई
remove और purge जैसे कमांड का उपयोग आपके सिस्टम पर अवांछित सॉफ़्टवेयर को त्यागने के लिए किया जा सकता है। apt-get के पुराने दिनों में, clean और autoclean का उपयोग करके हाउसकीपिंग के अधिक कुशल तरीके उपलब्ध होंगे।
apt के साथ, बस एक ही फ़ंक्शन है: autoremove। एक बार दर्ज करने पर, यह लाइब्रेरी और पैकेज को हटा देगा जो स्वचालित रूप से इंस्टॉल होते हैं, आमतौर पर वांछित एप्लिकेशन के लिए निर्भरता के रूप में। जब तक ये पैकेज आवश्यक ऐप्स से असंबद्ध रहते हैं, उन्हें त्याग दिया जा सकता है।
sudo apt autoremove
और निश्चित रूप से, इसका परिणाम महत्वपूर्ण डिस्क स्थान खाली होने में होगा!
नए कमांड और बेहतर कार्यक्षमता
apt-get कमांड के साथ आप डेबियन-आधारित लिनक्स ऑपरेटिंग सिस्टम पर अपडेट, अपग्रेड, इंस्टॉल और सॉफ़्टवेयर हटा सकते हैं। लेकिन सरल apt कमांड के साथ, आप बहुत कुछ कर सकते हैं!
लेकिन आप कौन सा पसंद करते हैं? क्या आप apt-get को तब तक पकड़े रहेंगे जब तक यह पूरी तरह से अप्रचलित नहीं हो जाता, या आप पूरी तरह से apt को अपनाते हैं? हमें बताएं कि आप कैसा महसूस करते हैं -- और कोई भी कमांड जो आपको लगता है कि हमें शामिल करना चाहिए था -- टिप्पणी बॉक्स में।
इमेज क्रेडिट: ब्रायन ए जैक्सन/शटरस्टॉक