apt-cache ले तपाईंको VPN प्याकेजका लागि स्थापित (कुनै छैन) किन देखाउँछ
स्थापित (कुनै छैन) भन्नाले VPN प्याकेज स्थापित छैन भन्ने हो, यो हराएको भन्ने होइन। स्रोत सम्पादन गर्नु अघि उम्मेदवार, पिन र आर्किटेक्चरका लाइनहरू पढ्नुहोस्।
Installed: (none) रिपोर्ट गर्ने VPN प्याकेज हराएको होइन; यो केवल स्थापित छैन। तपाईं यसलाई स्थापित गर्न सक्नुहुन्छ कि भनेर निर्णय गर्ने लाइन Candidate हो, जुन APT ले इन्डेक्स, suite नाम, आर्किटेक्चर र लागू हुने कुनै पनि पिनिङ नियमबाट निकाल्छ। हराएको VPN प्याकेजका धेरै रिपोर्टहरू प्याकेजिङ समस्या होइन, उम्मेदवारको समस्या हुन्छन्। एउटा पनि स्रोत प्रविष्टि छुनु अघि दुवै लाइन पढ्नुहोस्।
म पहिले उम्मेदवार जाँच्छु किनकि यसका लागि एउटा मात्र आदेश लाग्छ र आधा सामान्य अनुमानहरू हटाउँछ।
apt-cache policy को आउटपुटले तपाईंलाई के बताउँछ
apt-cache policy स्थानीय प्याकेज क्यास पढ्छ, नेटवर्क होइन। यसले स्थापित संस्करण, उम्मेदवार संस्करण र प्याकेज दिने प्रत्येक इन्डेक्सको तालिका त्यसमा जोडिएको प्राथमिकतासहित देखाउँछ।
apt-cache policy openvpn
apt-cache madison openvpn
apt list -a network-manager-openvpnउम्मेदवार भनेको APT ले अहिले छान्ने संस्करण हो। madison ले प्रत्येक स्रोतले आफ्नो प्राथमिकतासहित के दिन्छ सूचीबद्ध गर्छ, र यसरी नै इन्डेक्समा भए पनि पिन प्रतिस्पर्धा हार्ने प्याकेज तपाईंले चिन्नुहुन्छ। apt-cache पुस्तिका दुवैलाई क्यास पढ्ने काम भन्छ, त्यसैले कुनैले पनि ऐनामा अहिले पुग्न सकिन्छ भनेर प्रमाणित गर्दैन।
उम्मेदवार लाइन खाली छ वा (none) देखाउँछ भने, कन्फिगर गरिएका स्रोतहरूमा यो प्रणालीका लागि, यो जसरी कन्फिगर छ त्यसैअनुसार, केही पनि योग्य छैन।
उम्मेदवार हराउने चार कारण
व्यवहारमा कारण लगभग सधैं चारमध्ये एक हुन्छ, र प्रत्येकको फरक उपाय छ।
तपाईंका स्रोतहरूमा suite नाम प्याकेज बनेको वितरणसँग मिल्नुपर्छ। trixie ऐनातर्फ देखाइएको Debian bookworm प्रणाली, वा अपग्रेडका क्रममा sources.list.d फाइलमा नाम बदलिएको Ubuntu संस्करण, अर्को suite मा मात्र भएका प्याकेजका लागि केही पनि समाधान गर्दैन। प्रत्येक प्रविष्टिको suite फिल्डसँग lsb_release -cs तुलना गर्नुहोस्।
APT ले dpkg ले चिन्ने आर्किटेक्चरका लागि बनेका प्याकेज मात्र देख्छ। 32-बिट कन्टेनर, arm64 इमेज वा amd64 का लागि मात्र पठाइने प्याकेज माग्ने Raspberry Pi स्थापनाले त्रुटि सन्देशको सट्टा खाली उम्मेदवार पाउँछ। dpkg --print-architecture र dpkg --print-foreign-architectures ले तपाईं वास्तवमा कुन सेटमा छ भनेर बताउँछन्।
कम्पोनेन्टहरू पनि महत्त्वपूर्ण हुन्छन्। main मात्र सक्रिय हुँदा contrib वा non-free मा भएको प्याकेज अदृश्य हुन्छ, र Ubuntu को universe पनि त्यसै गरी व्यवहार गर्छ। इन्डेक्स छ र प्याकेज त्यसमा छ; तपाईंको सक्रिय कम्पोनेन्ट सूचीले यसलाई समावेश गर्दैन मात्र।
पिनिङ शान्त कारण हो। /etc/apt/preferences.d मा भएको फाइलले प्याकेजलाई स्थापना सीमाभन्दा तल सीमित गर्न सक्छ, र त्यसपछि पूर्ण रूपमा राम्रो उम्मेदवार आउटपुटबाट अदृश्य हुन्छ जबकि इन्डेक्सले अझै यसलाई सूचीबद्ध गरिरहन्छ। policy ले प्रत्येक स्रोतको छेउमा प्राथमिकताहरू देखाउने हुँदा, प्रत्येक स्रोतमा कम पिन नम्बर भएको प्याकेज नै सङ्केत हो।
पुराना इन्डेक्सहरू हराएका प्याकेजजस्ता देखिन्छन्
क्यास एक क्षणको तस्बिर हो। यदि अन्तिम apt update एउटा इन्डेक्समा असफल भयो भने, प्रश्नहरू पुरानै प्रतिबाट जवाफ दिइरहन्छन्, र तपाईंले अपेक्षा गरेको प्याकेज त्यो प्रतिमा नहुन सक्छ।
apt update ले प्रत्येक इन्डेक्सका लागि त्रुटि देखाउँछ, त्यसैले सिधै अन्तिम लाइनमा स्क्रोल गर्नुको सट्टा ती पढ्नुहोस्।
हस्ताक्षर त्रुटि, म्याद सकिएको release फाइल वा पुग्न नसकिने ऐनाका कारण असफल हुने रिफ्रेसले अघिल्लो इन्डेक्स यथास्थान राख्छ। यो बुद्धिमानी डिजाइन हो, किनकि ऐना छोटो समय बन्द हुँदा यसले काम गर्ने क्यास राख्छ। साइड इफेक्ट यो हो कि भण्डार अफलाइन हुँदा पनि खोज सफल हुन सक्छ। यसको अर्थ इन्डेक्स अन्तिम पटक कहिले लिइयो भन्ने थाहा नभएसम्म प्याकेजको अनुपस्थितिले केही पनि प्रमाणित गर्दैन भन्ने पनि हो। प्याकेजको नामलाई दोष दिनु अघि /var/lib/apt/lists मुनिका फाइल मितिहरू जाँच्नुहोस्।
साँच्चै चाहिने प्याकेजको नाम भन्नुहोस्
OpenVPN एउटा डेमन हो, र मानिसहरूले सामान्यतया चाहने भागहरू छुट्टै प्याकेज हुन्।
इन्जिन, NetworkManager प्लगइन र डेस्कटप सम्पादक तीन नाम भएका तीन प्याकेज हुन्, र प्लगइनसँग वितरणअनुसार नाम फरक पर्ने GTK संस्करण छ। apt-cache search --names-only openvpn ले विवरणको सट्टा नाम र दिइएका नाम मिलाउँछ, र त्यो वस्तुको नाम लगभग थाहा हुँदा तपाईंलाई यही चाहिन्छ।
यदि नाम साँच्चै अज्ञात छ भने, एक पटक विवरणहरूमा खोज्नुहोस्, त्यसपछि सटीक नामहरूमा फर्कनुहोस्। अर्को वितरणबाट लिएको -gui प्रत्यय थपेर प्याकेज अब अवस्थित छैन भन्ने निष्कर्ष निकाल्नु हुँदैन।
स्रोतहरू अन्तिममा परिवर्तन गर्नुहोस्, त्यसपछि कारोबार प्रमाणित गर्नुहोस्
भण्डार थप्नाले तपाईंका अपडेटहरू कसले आपूर्ति गर्छ भन्ने परिवर्तन हुन्छ, त्यसैले यो अनुसन्धानको सुरुमा होइन, अन्त्यमा पर्छ।
त्यसअघि release, आर्किटेक्चर, कम्पोनेन्ट र पिन स्थिति पुष्टि गर्नुहोस्। चारमध्ये कुन जाँच्नुभयो लेख्नुहोस्, ताकि अर्को व्यक्तिले पूरै जाँच दोहोर्याउन नपरोस्। चारै सही भए पनि उम्मेदवार अझै छैन भने, इमानदार निष्कर्ष यो हो कि यो संस्करणले त्यो प्याकेज पठाउँदैन। बाँकी विकल्पहरू backport, विक्रेता प्याकेज वा अर्को समर्थित संस्करण हुन्, र तीमध्ये प्रत्येक अनुमान होइन, सचेत छनोट हो।
उम्मेदवार देखा पर्दा, लागू गर्नु अघि अनुकरण गर्नुहोस्: प्याकेजको नामसहित apt-get install --simulate ले के तानिन्छ र के हटाइन्छ देखाउँछ। प्याकेजको उपलब्धता, स्थापना र कार्यरत सुरुङ तीन अलग चरण रहन्छन्, र सुरुङले ट्राफिक बोक्नु अघि अझै आफ्नो प्रोफाइल, प्रमाणहरू, मार्गहरू र DNS चाहिन्छ।