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 లో మాత్రమే ఉన్న ప్యాకేజీలకు ఏమీ పరిష్కరించదు. ప్రతి నమోదులో lsb_release -cs ను suite ఫీల్డ్తో పోల్చండి.
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 ఇంకా అవసరం.