VPN paketas, kuris praneša Installed: (none), netrūksta; jis tiesiog neįdiegtas. Eilutė, kuri nusprendžia, ar galite jį įdiegti, yra Candidate, kurią APT išveda iš indeksų, suite pavadinimo, architektūros ir bet kokių galiojančių prisegimo taisyklių. Dauguma pranešimų apie dingusį VPN paketą pasirodo esą kandidato problema, o ne pakavimo problema. Perskaitykite abi eilutes prieš paliesdami nors vieną šaltinio įrašą.

Pirmiausia tikrinu kandidatą, nes tai kainuoja vieną komandą ir atmeta pusę įprastų spėjimų.

Ką jums sako apt-cache policy išvestis

apt-cache policy skaito vietinę paketų podėlį, o ne tinklą. Jis išspausdina įdiegtą versiją, kandidato versiją ir kiekvieno indekso, siūlančio paketą, lentelę su jam priskirtu prioritetu.

apt-cache policy openvpn
apt-cache madison openvpn
apt list -a network-manager-openvpn

Kandidatas yra versija, kurią APT pasirinktų dabar. madison išvardija, ką siūlo kiekvienas šaltinis su savo prioritetu, ir taip pastebite paketą, kuris egzistuoja indekse, bet pralaimi prisegimo varžybas. apt-cache vadove abu aprašomi kaip podėlio skaitymas, todėl nė vienas neįrodo, kad veidrodis šiuo metu pasiekiamas.

Jei kandidato eilutė tuščia arba rodo (none), konfigūruotuose šaltiniuose nieko nėra tinkamo šiai sistemai tokiu pavidalu, kokia ji sukonfigūruota.

Keturi kandidato dingimo motyvai

Praktiškai priežastis beveik visada yra vienas iš keturių dalykų, ir kiekvienas turi skirtingą sprendimą.

Suite pavadinimas jūsų šaltiniuose turi atitikti distribuciją, kuriai paketas buvo sukurtas. Debian bookworm sistema, nukreipta į trixie veidrodį, arba Ubuntu leidimas, per atnaujinimą pervadintas sources.list.d faile, nieko neišsprendžia paketams, kurie egzistuoja tik kitame suite. Palyginkite lsb_release -cs su suite lauku kiekviename įraše.

APT mato tik paketus, sukurtus toms architektūroms, kurias žino dpkg. 32 bitų konteineris, arm64 atvaizdis arba Raspberry Pi diegimas, prašantis paketo, tiekiamo tik amd64, gauna tuščią kandidatą, o ne klaidos pranešimą. dpkg --print-architecture ir dpkg --print-foreign-architectures pasako, kuriame rinkinyje iš tikrųjų esate.

Komponentai taip pat svarbūs. Paketas contrib arba non-free yra nematomas, kai įjungtas tik main, o Ubuntu universe elgiasi taip pat. Indeksas egzistuoja ir paketas jame yra; tiesiog jūsų įjungtų komponentų sąraše jo nėra.

Prisegimas yra tylioji priežastis. Failas /etc/apt/preferences.d gali apriboti paketą žemiau diegimo slenksčio, ir tada visiškai geras kandidatas dingsta iš išvesties, o indeksas jį vis dar išvardija. Kadangi policy spausdina prioritetus prie kiekvieno šaltinio, paketas, kurio kiekvienas šaltinis turi žemą prisegimo numerį, yra užuomina.

Pasenę indeksai atrodo kaip trūkstami paketai

Podėlis yra momentinė kopija. Jei paskutinis apt update nepavyko viename indekse, užklausos toliau atsako iš senesnės kopijos, ir laukiamo paketo toje kopijoje gali nebūti.

apt update spausdina klaidas pagal indeksus, todėl skaitykite jas, o ne slinkite tiesiai į paskutinę eilutę.

Atnaujinimas, kuris nepavyksta dėl parašo klaidos, pasibaigusio release failo ar nepasiekiamo veidrodžio, palieka ankstesnį indeksą vietoje. Tai protinga konstrukcija, nes išsaugo veikiantį podėlį, kai veidrodis trumpam neveikia. Šalutinis poveikis yra tai, kad paieška gali pavykti, kai saugykla neprisijungusi. Tai taip pat reiškia, kad paketo nebuvimas nieko neįrodo, kol nežinote, kada indeksas buvo paskutinį kartą gautas. Patikrinkite failų datas /var/lib/apt/lists kataloge prieš kaltindami paketo pavadinimą.

Įvardykite paketą, kurio iš tikrųjų reikia

OpenVPN yra demonas, o dalys, kurių žmonės paprastai nori, yra atskiri paketai.

Variklis, NetworkManager papildinys ir darbalaukio redaktorius yra trys paketai su trimis pavadinimais, o papildinys turi GTK variantą, kurio pavadinimas skiriasi tarp distribucijų. apt-cache search --names-only openvpn sutapatina pavadinimus ir pateiktus pavadinimus, o ne aprašymus, ir to jums reikia, kai apytiksliai žinote, kaip tas daiktas vadinasi.

Jei pavadinimas tikrai nežinomas, vieną kartą paieškokite aprašymuose, tada grįžkite prie tikslių pavadinimų. Nepridėkite iš kitos distribucijos pasiskolinto -gui priesago ir nedarykite išvados, kad paketas nebeegzistuoja.

Šaltinius keiskite paskiausiai, tada patikrinkite operaciją

Saugyklos pridėjimas pakeičia, kas tiekia jūsų atnaujinimus, todėl tai priklauso tyrimo pabaigai, o ne pradžiai.

Prieš tai patvirtinkite leidimą, architektūrą, komponentą ir prisegimo būseną. Užsirašykite, kuriuos iš keturių patikrinote, kad kitas žmogus nekartotų apžvalgos. Jei visi keturi teisingi, o kandidato vis dar nėra, sąžininga išvada yra ta, kad šis leidimas netiekia to paketo. Likę variantai yra backport, tiekėjo paketas arba kitas palaikomas leidimas, ir kiekvienas jų yra sąmoningas pasirinkimas, o ne spėjimas.

Kai kandidatas pagaliau pasirodys, imituokite prieš patvirtindami: apt-get install --simulate su paketo pavadinimu parodo, kas būtų įtraukta ir kas pašalinta. Paketo prieinamumas, diegimas ir veikiantis tunelis išlieka trys atskiri etapai, o tuneliui vis dar reikia jo profilio, prisijungimo duomenų, maršrutų ir DNS, kol jis neša srautą.

Susiję straipsniai