Miksi apt-cache näyttää VPN-paketillesi asennettu (ei mitään)
Asennettu (ei mitään) tarkoittaa, että VPN-pakettia ei ole asennettu, ei että se puuttuisi. Lue ehdokas-, kiinnitys- ja arkkitehtuuririvit ennen lähteiden muokkaamista.
VPN-paketti, joka ilmoittaa Installed: (none), ei puutu; se ei yksinkertaisesti ole asennettu. Rivi, joka ratkaisee, voitko asentaa sen, on Candidate, jonka APT johtaa hakemistoista, suite-nimestä, arkkitehtuurista ja kaikista voimassa olevista kiinnityssäännöistä. Useimmat ilmoitukset kadonneesta VPN-paketista osoittautuvat ehdokasongelmaksi eikä paketointiongelmaksi. Lue molemmat rivit ennen kuin kosket yhteenkään lähdemerkintään.
Tarkistan ehdokkaan ensin, koska se maksaa yhden komennon ja sulkee pois puolet tavallisista arvauksista.
Mitä apt-cache policy -komento kertoo sinulle
apt-cache policy lukee paikallisen pakettivälimuistin, ei verkkoa. Se tulostaa asennetun version, ehdokasversion ja taulukon jokaisesta hakemistosta, joka tarjoaa paketin, siihen liitetyn prioriteetin kanssa.
apt-cache policy openvpn
apt-cache madison openvpn
apt list -a network-manager-openvpnEhdokas on versio, jonka APT valitsisi juuri nyt. madison luettelee, mitä kukin lähde tarjoaa prioriteettinsa kanssa, ja näin huomaat paketin, joka on olemassa hakemistossa mutta häviää kiinnityskilpailun. apt-cache-käsikirja kuvaa molemmat välimuistin lukemisiksi, joten kumpikaan ei todista, että peili on juuri nyt tavoitettavissa.
Jos ehdokasrivi on tyhjä tai näyttää (none), mikään määritetyissä lähteissä ei kelpaa tälle järjestelmälle sellaisena kuin se on määritetty.
Neljä syytä, miksi ehdokas katoaa
Käytännössä syy on lähes aina yksi neljästä asiasta, ja jokaisella on eri korjaus.
Lähteidesi suite-nimen on vastattava jakelua, jolle paketti on rakennettu. trixie-peiliin osoittava Debian bookworm -järjestelmä tai Ubuntu-julkaisu, joka nimettiin uudelleen sources.list.d-tiedostossa päivityksen aikana, ei ratkaise mitään paketeille, joita on vain toisessa suitessa. Vertaa lsb_release -cs -tulostetta kunkin merkinnän suite-kenttään.
APT näkee vain paketit, jotka on rakennettu arkkitehtuureille, jotka dpkg tuntee. 32-bittinen kontti, arm64-kuva tai Raspberry Pi -asennus, joka pyytää pakettia, jota toimitetaan vain amd64:lle, saa tyhjän ehdokkaan virheilmoituksen sijaan. dpkg --print-architecture ja dpkg --print-foreign-architectures kertovat, missä joukossa todella olet.
Myös komponenteilla on merkitystä. contrib- tai non-free-osiossa oleva paketti on näkymätön, kun vain main on käytössä, ja Ubuntun universe käyttäytyy samoin. Hakemisto on olemassa ja paketti on siinä; käytössä olevien komponenttien luettelosi ei vain sisällä sitä.
Kiinnitys on se hiljainen. Tiedosto /etc/apt/preferences.d-hakemistossa voi rajoittaa paketin asennuskynnyksen alle, ja silloin täysin kelvollinen ehdokas katoaa tulosteesta, vaikka hakemisto yhä luettelee sen. Koska policy tulostaa prioriteetit kunkin lähteen viereen, paketti, jonka jokaisella lähteellä on matala kiinnitysnumero, on vihje.
Vanhentuneet hakemistot näyttävät puuttuvilta paketeilta
Välimuisti on tilannekuva. Jos viimeinen apt update epäonnistui yhdessä hakemistossa, kyselyt vastaavat edelleen vanhemmasta kopiosta, eikä odottamasi paketti välttämättä ole siinä kopiossa.
apt update tulostaa virheet hakemistokohtaisesti, joten lue ne sen sijaan että vierittäisit suoraan viimeiselle riville.
Päivitys, joka epäonnistuu allekirjoitusvirheen, vanhentuneen release-tiedoston tai tavoittamattoman peilin vuoksi, jättää edellisen hakemiston paikoilleen. Se on järkevä rakenne, koska se säilyttää toimivan välimuistin, kun peili on hetken alhaalla. Sivuvaikutus on, että haku voi onnistua, vaikka tietovarasto on offline-tilassa. Se tarkoittaa myös, että paketin puuttuminen ei todista mitään ennen kuin tiedät, milloin hakemisto viimeksi haettiin. Tarkista tiedostopäivämäärät /var/lib/apt/lists-hakemistosta ennen kuin syytät paketin nimeä.
Nimeä paketti, jota todella tarvitset
OpenVPN on daemon, ja osat, joita ihmiset yleensä haluavat, ovat erillisiä paketteja.
Moottori, NetworkManager-liitännäinen ja työpöytäeditori ovat kolme pakettia kolmella nimellä, ja liitännäisellä on GTK-variantti, jonka nimi vaihtelee jakeluittain. apt-cache search --names-only openvpn täsmäyttää nimiä ja tarjottuja nimiä kuvauksien sijaan, ja sitä haluat, kun suurin piirtein tiedät, miksi asiaa kutsutaan.
Jos nimi on todella tuntematon, etsi kerran kuvauksista ja palaa sitten tarkkoihin nimiin. Älä lisää toisesta jakelusta lainattua -gui-päätettä ja päättele, ettei pakettia enää ole.
Muuta lähteitä viimeiseksi ja tarkista sitten tapahtuma
Tietovaraston lisääminen muuttaa sitä, kuka toimittaa päivityksesi, joten se kuuluu tutkinnan loppuun, ei alkuun.
Vahvista sitä ennen julkaisu, arkkitehtuuri, komponentti ja kiinnitystila. Kirjoita ylös, mitkä neljästä tarkistit, jotta seuraava henkilö ei toista läpikäyntiä. Jos kaikki neljä ovat oikein ja ehdokas puuttuu yhä, rehellinen johtopäätös on, että tämä julkaisu ei toimita sitä pakettia. Jäljellä olevat vaihtoehdot ovat backport, toimittajan paketti tai toinen tuettu julkaisu, ja jokainen niistä on tietoinen valinta eikä arvaus.
Kun ehdokas sitten ilmestyy, simuloi ennen vahvistamista: apt-get install --simulate paketin nimellä näyttää, mitä vedettäisiin sisään ja mitä poistettaisiin. Paketin saatavuus, asennus ja toimiva tunneli ovat edelleen kolme erillistä vaihetta, ja tunneli tarvitsee yhä profiilinsa, tunnuksensa, reittinsä ja DNS:n ennen kuin se kuljettaa liikennettä.