APT होल्ड या अपग्रेड पथ: VPN क्लाइंट को वापस लुढ़काना
VPN क्लाइंट में रिग्रेशन के बाद अस्थायी पैकेज होल्ड की तुलना आगे के सुधार से करें, जिसमें यह भी शामिल है कि होल्ड क्या जमा देता है, क्या अनदेखा करता है और उससे कैसे बाहर निकलें।
क्लाइंट अपडेट सुरंगें तोड़ देते हैं, पुराने संस्करण काम करते रहते हैं, और इससे दो स्पष्ट उपाय बचते हैं। एक पैकेज को जहाँ है वहीं रोकता है और सुधार का इंतज़ार करता है; दूसरा तुरंत किसी समर्थित व्यवस्था की ओर बढ़ता है। ये समान रूप से सुरक्षित नहीं हैं, और इनमें से कोई भी निकास के बिना रखरखाव की रणनीति नहीं है। चुनने से पहले इनकी तुलना इस पर करें कि ये वास्तव में क्या जमा देते हैं।
एक रिग्रेशन के दो उपाय
पैकेज को होल्ड करना काम करने वाले संस्करण को इंस्टॉल रखता है और APT को उसे हिलाने से रोकता है। यह समय खरीदता है, उपयोगकर्ताओं को जुड़ा रखता है और मूल बग को अछूता छोड़ता है। आगे बढ़ने का अर्थ है वह समर्थित रिलीज़ खोजना जो रिग्रेशन को ठीक करती है, या कनेक्शन के मालिक को ऐसी चीज़ में बदलना जिसे डिस्ट्रिब्यूशन अभी भी बनाए रखता है। इसमें शुरू में अधिक काम लगता है और स्थायी जोखिम हट जाता है।
चुनाव तीन तथ्यों पर निर्भर करता है जो निर्णय से पहले आपके पास होने चाहिए: कौन-सा घटक रिग्रेस हुआ, कोई ठीक की गई रिलीज़ मौजूद है या नहीं, और अस्थायी स्थिति कितने समय तक सहन की जा सकती है।
दोनों में से कोई चुनने से पहले विफलता को स्थिर करें
NetworkManager कोर अपडेट, VPN प्लगइन अपडेट और रिज़ॉल्वर सहायक का रिग्रेशन उपयोगकर्ता की जगह से एक जैसे दिखते हैं और इनके रोलबैक उम्मीदवार अलग हैं। सटीक पैकेज, संस्करण और पहली नई त्रुटि दर्ज करें।
apt-cache policy network-manager network-manager-openvpn
dpkg -l | grep -E 'network-manager|openvpn|wireguard'
यदि सूचियाँ ताज़ा नहीं की गई हैं तो पैकेज मेटाडेटा पुराना हो सकता है, इसलिए इसे संकेत की तरह पढ़ें और वास्तव में इंस्टॉल किए गए संस्करण से पुष्टि करें। फ़ोरम पोस्ट से लक्ष्य संस्करण न लें; किसी अन्य रिलीज़ की वही संस्करण श्रृंखला अलग निर्भरता समूह ले जा सकती है।
होल्ड क्या कवर करता है, इसकी तुलना करें
होल्ड किसी पैकेज को स्वचालित रूप से इंस्टॉल, अपग्रेड या हटाए जाने से रोकता है। लेकिन यह उसकी निर्भरताओं को नहीं जमाता, कनेक्शन ठीक नहीं करता और पुरानी बाइनरी को सुरक्षित नहीं बनाता। वही अंतर पूरी तुलना है। यदि रिग्रेशन उस लाइब्रेरी से आया जिससे क्लाइंट जुड़ा है, तो क्लाइंट को होल्ड करने से कुछ नहीं बदलता जबकि लाइब्रेरी चलती रहती है।
sudo apt-get -s install network-manager=1.42.4-1
apt-mark showhold
पहले डाउनग्रेड का अनुकरण करें और प्रस्तावित बदलाव पूरे पढ़ें। ऐसा डाउनग्रेड जो डेस्कटॉप की आवश्यक निर्भरता हटा देता है, अलग घटना है, और अनुकरण ही इसे खोजने की सबसे सस्ती जगह है। यदि होल्ड वास्तव में सही अस्थायी सीमा है, तो इसे मालिक, कारण और हटाने की शर्त के साथ निर्णय के रूप में लिखें। बिना मालिक वाला होल्ड ऐसी स्थायी अधोसंरचना बन जाता है जिसे कोई छूने की हिम्मत नहीं करता।
निकास पथों की तुलना करें
आगे का पथ डिस्ट्रिब्यूशन या विक्रेता का सुधार है, जो एक स्वतंत्र कनेक्शन पर सत्यापित होने के बाद लागू किया जाता है। यह सिस्टम को उसकी समर्थित अपडेट धारा में रखता है और जोखिम बंद करता है। माइग्रेशन पथ क्लाइंट या होस्ट को ऐसी चीज़ से बदलता है जिसे डिस्ट्रिब्यूशन अभी भी बनाए रखता है। इसमें अधिक काम है और अक्सर यही एकमात्र ईमानदार उत्तर है जब रिग्रेस हुए घटक की उस शाखा में कोई ठीक की गई रिलीज़ न हो।
sudo apt-mark unhold network-manager
sudo apt update
sudo apt full-upgrade
आप जो भी निकास चुनें, पूरा घोषित करने से पहले सटीक प्रोफ़ाइल, प्रमाणीकरण पथ, रूट, DNS व्यवहार और पुनः कनेक्शन सत्यापित करें। एक बार उठने वाली सुरंग उस सुरंग के बराबर नहीं है जो सस्पेंड, नेटवर्क बदलाव और रीबूट सहती है। बग रिपोर्ट के लिए विफलता के प्रमाण रखें: पैकेज संस्करण, जर्नल अंश, बिना रहस्यों वाली प्रोफ़ाइल संरचना। रिपोर्ट को अधिक पूर्ण बनाने के लिए कभी निजी कुंजियाँ या क्रेडेंशियल संलग्न न करें।
रिकॉर्ड में क्या होना चाहिए
निर्णय चार पंक्तियों में लिखें: क्या रिग्रेस हुआ, क्या होल्ड या बदला गया, अस्थायी स्थिति का मालिक कौन है और उसे क्या हटाता है। जो सत्यापन आपने किया उसे जोड़ें, क्योंकि अगला इंजीनियर उसे दोहराएगा।
निकास तिथि वाला होल्ड प्रबंधित रोलबैक सीमा है। बिना तिथि वाला होल्ड एक अव्याख्यायित डाउनग्रेड है जो चुपचाप अधोसंरचना का हिस्सा बन गया है।