आपको VPN क्लाइंट चाहिए उस नेटवर्क तक पहुँचने के लिए जो सामान्यतः उसके पैकेज देता है, और यह एक साफ़-सुथरा छोटा दायरा है। किसी दूसरी मशीन पर एक अकेला OpenVPN DEB डाउनलोड करना आम तौर पर दूसरी गायब निर्भरता पर खत्म होता है, फिर तीसरी पर, और फिर लाइब्रेरी संस्करणों के पीछे भागते हुए बीती एक शाम। विकल्प यह है कि बिना कनेक्शन वाली मशीन को अपनी ही भाषा में बताने दिया जाए कि उसके पैकेज प्रबंधक को क्या चाहिए। नीचे का सब कुछ कौन पूछ रहा है — इसी उलटफेर से निकलता है।

Debian परिवार के सिस्टम में वह बातचीत apt-offline के ज़रिये होती है, जो अनुरोध-और-वापसी की कार्यप्रणाली है। उसका अपना रनटाइम पहले लक्ष्य पर मौजूद होना चाहिए, स्वीकृत मीडिया या प्रशासक द्वारा प्रबंधित किसी अन्य बूटस्ट्रैप से स्थापित, क्योंकि कोई भी उपकरण शून्य से खुद को बूट नहीं कर सकता।

लक्ष्य की पैकेज स्थिति से शुरू करें, सहायक की स्थिति से नहीं

बाकी कुछ भी करने से पहले लक्ष्य का डिस्ट्रिब्यूशन रिलीज़, यूज़रस्पेस आर्किटेक्चर और कॉन्फ़िगर किए गए पैकेज स्रोत दर्ज करें। ये तीन तथ्य तय करते हैं कि कौन-सा VPN कार्यान्वयन और कौन-सा डेस्कटॉप एकीकरण उपयुक्त है, और यही वे तथ्य हैं जो एक जुड़ा हुआ सहायक नहीं दे सकता।

सहायक फ़ाइलें डाउनलोड करता है; वह निर्भरता की आधार-रेखा नहीं बन जाता। जिस नए लैपटॉप में OpenVPN पहले से स्थापित है, उसकी पैकेज स्थिति लक्ष्य से पूरी तरह अलग है, इसलिए उसकी सफलता इस बात को कुछ भी सिद्ध नहीं करती कि लक्ष्य क्या स्वीकार कर सकता है।

यह भी तय करें कि आप वास्तव में क्या चाहते हैं। VPN इंजन, NetworkManager सेवा प्लगइन और ग्राफ़िकल एडिटर अलग-अलग पैकेज हैं, और सही चयन रिलीज़ पर और इस पर निर्भर करता है कि उपयोगकर्ता कनेक्शन कैसे प्रबंधित करेगा। हेडलेस सर्वर को इंजन और एक कॉन्फ़िगरेशन फ़ाइल चाहिए; डेस्कटॉप को वह प्लगइन चाहिए जो उसकी नेटवर्क सेटिंग्स को टनल का मालिक बनने देता है। गलत सेट माँगने पर ऐसी स्थापना मिलती है जो सफल होती है और ऐसा कनेक्शन जिसे कोई शुरू नहीं कर सकता।

दो चक्कर, इसी क्रम में

मैनुअल तीन क्रियाओं को अलग करता है: बिना कनेक्शन वाले सिस्टम पर अनुरोध बनाना, जुड़े हुए सहायक पर डाउनलोड करना और लक्ष्य पर वापस आयात करना। पैकेज माँगने से पहले लक्ष्य के रिपॉज़िटरी मेटाडेटा को ताज़ा करें, क्योंकि पैकेज अनुरोध उसी मेटाडेटा से बनता है और पुरानी इंडेक्स ऐसे अनुरोध देती हैं जिन्हें सहायक पूरा नहीं कर सकता।

लक्ष्य पर apt-offline set vpn-meta.sig --update के रूप में एक प्रशासकीय कमांड ताज़ा-अनुरोध लिखती है। वह फ़ाइल जुड़ी हुई मशीन पर ले जाएँ और apt-offline get vpn-meta.sig --bundle vpn-meta.zip से एक बंडल डाउनलोड करें। बंडल वापस लाएँ और apt-offline install vpn-meta.zip से लक्ष्य पर आयात करें, फिर से एक प्रशासक के रूप में।

अब ताज़ा किए गए मेटाडेटा से पैकेज अनुरोध बनाएँ, जैसे apt-offline set vpn-deps.sig --install-packages openvpn, और नए बंडल नाम के साथ यात्रा दोहराएँ। हर अनुरोध को उसी बंडल के साथ जोड़ी में रखें जो उसने बनाया; पुराने मेटाडेटा के विरुद्ध बना बंडल वही अनुरोध नहीं है, भले ही फ़ाइल नाम बदले जा सकने वाले लगें।

एकीकरण पैकेज तभी जोड़ें जब डिज़ाइन को उनकी ज़रूरत हो

अगर डेस्कटॉप को अपनी नेटवर्क सेटिंग्स के ज़रिये टनल प्रबंधित करना है, तो अनुरोध को इंजन के साथ-साथ मेल खाता प्लगइन भी चाहिए। किसी दूसरे वितरण से याद रखी सूची के बजाय अपनी रिलीज़ जो ठोस पैकेज नाम देती है उन्हें शामिल करें, और सूची बदलने पर नया अनुरोध बनाएँ। संस्करण पिन करना भी सोचने योग्य है: नई रिलीज़ के लिए बना पैकेज नाम पूरा कर सकता है और फिर भी रनटाइम पर विफल हो सकता है। यहीं चार पैकेजों का स्थिर सेट बोझ बन जाता है, क्योंकि सही सूची लक्ष्य का गुण है और केवल लक्ष्य ही उसकी गणना कर सकता है।

यहीं चार पैकेजों का स्थिर सेट बोझ भी बन जाता है। सही सूची लक्ष्य का गुण है, और लक्ष्य ही एकमात्र मशीन है जो उसकी सही गणना कर सकती है।

बंडल आयात करना VPN स्थापित करना नहीं है

नाम के बावजूद, स्थापना क्रिया APT डेटा को पैकेज-प्रबंधन वातावरण में रखती है। वह पैकेज लेन-देन नहीं करती। स्थानीय रूप से दिए गए डेटा से लक्ष्य की वास्तविक APT स्थापना पूरी करें और उसकी समीक्षा करें, और ZIP की सफलता का अर्थ सॉफ़्टवेयर मौजूद है — यह मान लेने के बजाय आउटपुट पढ़ें।

अगर वह लेन-देन अब भी अनुपलब्ध फ़ाइलें माँगता है, तो ठोस गायब निर्भरता या रिपॉज़िटरी त्रुटि रखें और उसी से अगला अनुरोध बनाएँ। दूसरी रिलीज़ का DEB न रखें, और उसे ज़बरदस्ती निकालने के लिए चेकसम या रिपॉज़िटरी प्रमाणीकरण जाँच बंद न करें। मैनुअल डाउनलोड की गई फ़ाइलों का सत्यापन छोड़ने के विरुद्ध स्पष्ट चेतावनी देता है, और सही कारण से: बिना सत्यापित पैकेज विफल स्थापना से भी बुरा परिणाम है।

पैकेज केवल पहला आधा हिस्सा हैं

सॉफ़्टवेयर स्थापित करना स्वीकृत एंडपॉइंट, प्रोफ़ाइल, ट्रस्ट सामग्री और क्रेडेंशियल प्राप्त करने से अलग है, और इनमें से प्रत्येक का अपना नियंत्रित हस्तांतरण हो सकता है। वैध प्रोफ़ाइल के बिना काम करने वाला पैकेज सेट किसी से भी नहीं जुड़ता।

फिर भविष्य के अपडेट के लिए ऑफ़लाइन स्थानांतरण पथ को जीवित रखें। पहले सफल कनेक्शन को रखरखाव का अंत मानने का अर्थ है कि अगला सुरक्षा अपडेट तब तक प्रतीक्षा करेगा जब तक कार वाला कोई न आ सके, और इसी तरह एक ऑफ़लाइन नेटवर्क चुपचाप वर्षों पीछे रह जाता है।

संबंधित लेख