Miks apt-cache näitab teie VPN-paketi puhul paigaldatud (mitte ühtegi)
Paigaldatud (mitte ühtegi) tähendab, et VPN-pakett ei ole paigaldatud, mitte et see puudub. Enne allikate muutmist lugege kandidaadi, kinnitamise ja arhitektuuri ridu.
VPN-pakett, mis teatab Installed: (none), ei puudu; see lihtsalt ei ole paigaldatud. Rida, mis otsustab, kas saate selle paigaldada, on Candidate, mille APT tuletab indeksitest, suite'i nimest, arhitektuurist ja kehtivatest kinnitamisreeglitest. Enamik teateid kadunud VPN-paketi kohta osutuvad kandidaadi probleemiks, mitte pakendamise probleemiks. Lugege mõlemat rida enne, kui puudutate ühtki allika kirjet.
Kontrollin kõigepealt kandidaati, sest see maksab ühe käsu ja välistab pooled tavapärased oletused.
Mida ütleb teile apt-cache policy väljund
apt-cache policy loeb kohalikku paketivahemälu, mitte võrku. See trükib paigaldatud versiooni, kandidaadi versiooni ja tabeli igast indeksist, mis paketti pakub, koos sellele omistatud prioriteediga.
apt-cache policy openvpn
apt-cache madison openvpn
apt list -a network-manager-openvpnKandidaat on versioon, mille APT praegu valiks. madison loetleb, mida iga allikas oma prioriteediga pakub, ja nii märkate paketti, mis on indeksis olemas, kuid kaotab kinnitamise võistluse. apt-cache'i käsiraamat kirjeldab mõlemat vahemälu lugemisena, seega kumbki ei tõesta, et peegel on praegu kättesaadav.
Kui kandidaadi rida on tühi või näitab (none), ei sobi konfigureeritud allikates miski selle süsteemi jaoks sellisena, nagu see on konfigureeritud.
Neli põhjust, miks kandidaat kaob
Praktikas on põhjus peaaegu alati üks neljast asjast ja igal on erinev lahendus.
Suite'i nimi teie allikates peab vastama distributsioonile, mille jaoks pakett ehitati. Debian bookwormi süsteem, mis on suunatud trixie peeglile, või Ubuntu väljalase, mis uuenduse käigus sources.list.d failis ümber nimetati, ei lahenda midagi pakettide jaoks, mis on olemas ainult teises suite'is. Võrrelge lsb_release -cs väljundit iga kirje suite'i väljaga.
APT näeb ainult pakette, mis on ehitatud arhitektuuridele, mida dpkg tunneb. 32-bitine konteiner, arm64-kujutis või Raspberry Pi paigaldus, mis küsib paketti, mida tarnitakse ainult amd64 jaoks, saab tühja kandidaadi veateate asemel. dpkg --print-architecture ja dpkg --print-foreign-architectures ütlevad, millises komplektis te tegelikult olete.
Ka komponendid loevad. Pakett jaotises contrib või non-free on nähtamatu, kui lubatud on ainult main, ja Ubuntu universe käitub samamoodi. Indeks on olemas ja pakett on selles; lihtsalt teie lubatud komponentide loend ei sisalda seda.
Kinnitamine on see vaikne. Fail kaustas /etc/apt/preferences.d võib piirata paketi alla paigaldusläve, ja siis kaob täiesti korralik kandidaat väljundist, samal ajal kui indeks loetleb seda endiselt. Kuna policy trükib prioriteedid iga allika kõrvale, on pakett, mille iga allikas kannab madalat kinnitusnumbrit, see vihje.
Aegunud indeksid näevad välja nagu puuduvad paketid
Vahemälu on hetktõmmis. Kui viimane apt update ebaõnnestus ühes indeksis, vastavad päringud endiselt vanemast koopiast ja pakett, mida ootate, ei pruugi selles koopias olla.
apt update trükib vead iga indeksi kohta, seega lugege neid, selle asemel et kerida otse viimasele reale.
Värskendus, mis ebaõnnestub allkirjavea, aegunud release-faili või kättesaamatu peegli tõttu, jätab eelmise indeksi paigale. See on mõistlik lahendus, sest hoiab töötava vahemälu, kui peegel on lühidalt maas. Kõrvalmõju on see, et otsing võib õnnestuda, samal ajal kui hoidla on võrguühenduseta. See tähendab ka, et paketi puudumine ei tõesta midagi enne, kui teate, millal indeks viimati hangiti. Kontrollige failikuupäevi kaustas /var/lib/apt/lists enne, kui süüdistate paketi nime.
Nimetage pakett, mida te tegelikult vajate
OpenVPN on deemon ja tükid, mida inimesed tavaliselt tahavad, on eraldi paketid.
Mootor, NetworkManageri plugin ja töölaua redaktor on kolm paketti kolme nimega, ja pluginil on GTK variant, mille nimi erineb distributsiooniti. apt-cache search --names-only openvpn sobitab nimesid ja pakutavaid nimesid, mitte kirjeldusi, ja seda te tahate, kui te umbkaudu teate, kuidas see asi on nime saanud.
Kui nimi on tõesti tundmatu, otsige üks kord kirjeldustest ja pöörduge seejärel tagasi täpsete nimede juurde. Ärge lisage teisest distributsioonist laenatud järelliidet -gui ja järeldage, et paketti enam ei ole.
Muutke allikaid viimasena ja seejärel kontrollige tehingut
Hoidla lisamine muudab, kes teie uuendusi tarnib, seega kuulub see uurimise lõppu, mitte algusesse.
Enne seda kinnitage väljalase, arhitektuur, komponent ja kinnitamise olek. Kirjutage üles, millised neljast kontrollisite, et järgmine inimene ei kordaks läbivaatust. Kui kõik neli on õiged ja kandidaat on endiselt puudu, on aus järeldus, et see väljalase ei tarni seda paketti. Ülejäänud valikud on backport, tarnija pakett või muu toetatud väljalase, ja igaüks neist on teadlik valik, mitte oletus.
Kui kandidaat lõpuks ilmub, simuleerige enne kinnitamist: apt-get install --simulate paketi nimega näitab, mida tõmmataks sisse ja mida eemaldataks. Paketi kättesaadavus, paigaldamine ja töötav tunnel jäävad kolmeks eraldi etapiks ning tunnel vajab endiselt oma profiili, mandaate, marsruute ja DNS-i enne, kui see liiklust kannab.