लगभग दो वर्षों के लिए, डेबियन अपेक्षाकृत अपरिवर्तित रहता है। प्रोग्राम संस्करण और सुविधाएं इस अवधि के लिए समान रहती हैं। सुरक्षा सुधारों को बैकपोर्ट किया जाता है। कभी-कभी, दुर्लभ स्थितियों के लिए अपवाद किए जाते हैं जहां एक पैकेज को नई सुविधाओं की आवश्यकता हो सकती है। उदाहरण के लिए, एक ड्राइवर को अधिक हार्डवेयर के लिए समर्थन जोड़ने के लिए अपग्रेड किया जा सकता है। लेकिन यह शायद ही कभी होता है।
चीजों को स्थिर रखने के अपने फायदे हैं। यह ऑपरेटिंग सिस्टम को भरोसेमंद बनाता है। आप लगभग कभी बग्स का सामना नहीं करते। पैकेज अपडेट करने के बाद चीजें लगभग कभी नहीं टूटतीं। नई सुविधाएं नहीं होने का अर्थ कोई अप्रत्याशित आश्चर्य/व्यवहार भी नहीं है।
लेकिन हर दो साल (लगभग) में एक नया डेबियन संस्करण जारी किया जाता है। और यह अक्सर महत्वपूर्ण सुधार और नई सुविधाएं लाता है जो आप चाहते या जिनकी आपको आवश्यकता हो सकती है। यद्यपि ऑपरेटिंग सिस्टम को अक्सर "रॉक सॉलिड" के रूप में वर्णित किया जाता है, ऊपर बताए गए कारणों से, अपग्रेड प्रक्रिया भी रॉक सॉलिड है। एक साफ सिस्टम पर एक प्रमुख संस्करण से अगले में अपग्रेड इतना सहज है, ऐसा लगता है जैसे आपने केवल कुछ महत्वहीन पैकेज अपग्रेड किए हों।
अपग्रेड करने से पहले, sources.list को साफ करें
कुछ उपयोगकर्ता अपग्रेड करने का प्रयास करते समय समस्याओं का सामना करते हैं। उन्हें अपरिहार्य पैकेज संघर्ष मिलते हैं, महत्वपूर्ण सॉफ्टवेयर हट जाता है, और इसी तरह। वे अंततः पुरानी इंस्टॉलेशन को हटाकर नए संस्करण को फ्रेश इंस्टॉल करना पसंद करते हैं। हालांकि, अधिकांश समय यह डेबियन की गलती नहीं है। वे समस्याओं का सामना करने का कारण अक्सर होता है क्योंकि उन्होंने इनमें से एक या अधिक चीजें अपने ऑपरेटिंग सिस्टम को तोड़ने के लिए कीं। सिर्फ इसलिए कि यह काम करता हुआ लगता है इसका मतलब यह नहीं है कि पैकेज मैनेजर चुपचाप पीड़ित नहीं हो रहा है। इसलिए आगे बढ़ने से पहले अपने "sources.list" फ़ाइलों से थर्ड-पार्टी सॉफ्टवेयर के किसी भी संदर्भ को हटाने की सिफारिश की जाती है।
संपादन के लिए फ़ाइल खोलें:
sudo nano /etc/apt/sources.list
डेबियन के आधिकारिक रिपॉजिटरी के बाहर सॉफ्टवेयर के किसी भी संदर्भ को हटाएं। इस फ़ाइल में केवल तीन लाइनें हैं जिनकी आपको आवश्यकता है।
आपके डेबियन रिलीज़ के वर्तमान कोडनेम को संरक्षित करना बहुत महत्वपूर्ण है! इसलिए, यदि यह वर्ष 2021 है, और आप डेबियन बस्टर चला रहे हैं, तो stretch को buster से बदलें, या जो भी आप पर लागू होता है।
deb https://deb.debian.org/debian stretch main deb https://deb.debian.org/debian stretch-updates main deb https://deb.debian.org/debian-security/ stretch/updates main
समाप्त होने वाले स्ट्रिंग्स को भी संरक्षित करें। इस उदाहरण में लाइन "main" स्ट्रिंग के साथ समाप्त होती है। लेकिन यदि आपका वर्तमान "sources.list" स्ट्रिंग्स "main contrib non-free" के साथ समाप्त होते हैं, तो प्रत्येक लाइन के अंत में "contrib non-free" जोड़ें। इस मामले में आपका अंतिम परिणाम इस तरह दिख सकता है:
deb https://deb.debian.org/debian stretch main contrib non-free deb https://deb.debian.org/debian stretch-updates main contrib non-free deb https://deb.debian.org/debian-security/ stretch/updates main contrib non-free
फ़ाइल को सेव करने के लिए, Ctrl + X दबाएं, फिर y और फिर Enter।
आप डेबियन के विकी पर sources.list के बारे में अधिक पढ़ सकते हैं।
पैकेज जानकारी अपडेट करें:
sudo apt update
अपने पैकेज अपग्रेड करें:
sudo apt upgrade
यदि निम्न चित्र जैसा चेंजलॉग दिखाई देता है, तो इसे पढ़ने के बाद, आप q दबाकर बाहर निकल सकते हैं।
अनावश्यक पैकेज हटाएं:
sudo apt autoremove
अपग्रेड के लिए sources.list तैयार करें
यह ध्यान देने योग्य है कि आपको केवल एक प्रमुख संस्करण से अगले में अपग्रेड करना चाहिए। उदाहरण: आपको डेबियन 7 से 8, या 8 से 9 में अपग्रेड करना चाहिए, लेकिन 7 से 9 नहीं।
अपना सॉफ्टवेयर स्रोत फ़ाइल फिर से संपादित करें।
sudo nano /etc/apt/sources.list
अपने वर्तमान डेबियन रिलीज़ के कोडनेम को अगले के कोडनेम से बदलें। आप डेबियन के रिलीज़ सूची पेज पर कोडनेम ढूंढ सकते हैं।
उदाहरण के लिए, डेबियन 9 से डेबियन 10 में अपग्रेड करने के लिए, आप इसे बदलेंगे:
deb https://deb.debian.org/debian stretch main contrib non-free deb https://deb.debian.org/debian stretch-updates main contrib non-free deb https://deb.debian.org/debian-security stretch/updates main contrib non-free
इसे इसमें:
deb https://deb.debian.org/debian buster main contrib non-free deb https://deb.debian.org/debian buster-updates main contrib non-free deb https://deb.debian.org/debian-security buster/updates main contrib non-free
फ़ाइल सेव करें और फिर पैकेज जानकारी रीफ्रेश करें:
sudo apt update
डेबियन अपग्रेड करें
यदि आप इसे अपने डेस्कटॉप पर कर रहे हैं, तो अपने ग्राफिकल इंटरफेस से लॉग आउट करें। अपडेट प्रक्रिया किसी बिंदु पर आपके ग्राफिकल स्टैक को रीस्टार्ट करेगी, जिससे आप अपने टर्मिनल एप्लिकेशन तक पहुंच खो देंगे।
टेक्स्ट कंसोल में लॉग इन करें। ALT+CTRL+F2 या ALT+CTRL+F3 दबाएं, अपने उपयोगकर्ता और पासवर्ड से लॉग इन करें और इस स्क्रीन पर कमांड दर्ज करें।
पहले एक "सुरक्षित अपग्रेड" करें। यह बिना कुछ हटाए सभी पैकेजों को अपग्रेड करने का प्रयास करता है।
sudo apt upgrade
यह देखने के लिए बारीकी से ध्यान दें कि क्या कोई संघर्ष आवश्यक पैकेजों को हटाने की ओर ले जाता है। यह, और अगली कमांड, जहां कुछ सिस्टम पर ग्राफिकल स्टैक जैसी चीजें पूरी तरह से हटाई जा सकती हैं। हालांकि, साफ सिस्टम पर जहां आपने कभी डेबियन के रिपॉजिटरी के बाहर की चीजें इंस्टॉल नहीं कीं, ऐसा नहीं होना चाहिए।
नए पैकेजों में से कुछ नई कॉन्फ़िगरेशन फ़ाइलों के साथ आते हैं। आपसे पूछा जाएगा कि क्या आप अपनी पुरानी कॉन्फ़िगरेशन रखना चाहते हैं या नए में अपग्रेड करना चाहते हैं।
यदि आपने कॉन्फ़िगरेशन फ़ाइल में संशोधन किए हैं, तो आप या तो इसे रखना चाह सकते हैं या इसे अपग्रेड करके बाद में अपने कस्टमाइज़ेशन को फिर से जोड़ सकते हैं। यदि आपने कभी फ़ाइल को छुआ नहीं है, हालांकि, नई कॉन्फ़िगरेशन में खींचने के लिए चुनें ( Y टाइप करें)। इसमें महत्वपूर्ण सुधार, सुरक्षा फिक्स, या सॉफ्टवेयर के काम करने के लिए आवश्यक परिवर्तन हो सकते हैं। इसलिए यह अनुशंसा की जाती है कि आप जितनी बार संभव हो "पैकेज मेंटेनर के संस्करण को इंस्टॉल करें"।
अब, एक "पूर्ण अपग्रेड" करें। यह बाकी पैकेजों को अपग्रेड करेगा जिन्हें पिछली कमांड से अपडेट नहीं किया जा सका। ऐसा इसलिए है क्योंकि वे आपके सिस्टम पर पुराने पैकेज या अप्रचलित प्रोग्राम के साथ संघर्ष करते हैं। पूर्ण अपग्रेड नए के लिए जगह बनाने के लिए कुछ पुराने पैकेजों को हटा देगा।
sudo apt full-upgrade
इसके बाद, अपग्रेड पूरा हो गया है। आप अनावश्यक पैकेजों को इससे साफ कर सकते हैं:
sudo apt autoremove
अंत में, अपने कंप्यूटर/सर्वर को रीबूट करें:
sudo systemctl reboot
निष्कर्ष
अधिकांश मामलों में यह बिना किसी समस्या के काम करना चाहिए। लेकिन यदि आपके पैकेज मैनेजर में थर्ड-पार्टी सॉफ्टवेयर स्रोत जोड़े गए थे, या थर्ड-पार्टी पैकेज इंस्टॉल किए गए थे (dpkg -i something.deb जैसे कमांड के साथ), तो आप संघर्षों में पड़ सकते हैं। ऐसे मामलों में आपको पहले आपत्तिजनक पैकेजों को हटाकर इन्हें मैन्युअली हल करना होगा (sudo apt autoremove badpackage)।
इसके अलावा, यदि आप एक नए रिलीज़ में अपग्रेड करने के बारे में अधिक विवरण पढ़ना चाहते हैं, तो "Debian stretch upgrade" जैसा कुछ गूगल करें। बेशक, उस खोज में कोडनेम "stretch" को उचित रूप से बदलें। आपको इस तरह का एक पेज मिलेगा, जो एक रिलीज़ से दूसरी में अपग्रेड पथ का विवरण देता है।