Nima uchun apt-cache VPN paketingiz uchun o'rnatilgan (hech narsa) ko'rsatadi
O'rnatilgan (hech narsa) VPN paketi o'rnatilmaganligini bildiradi, uning yo'qligini emas. Manbalarni tahrirlashdan oldin nomzod, pin va arxitektura qatorlarini o'qing.
Installed: (none) deb xabar beradigan VPN paketi yo'qolgan emas; u shunchaki o'rnatilmagan. Uni o'rnatishingiz mumkinmi yoki yo'qmi, buni hal qiladigan qator — Candidate, APT uni indekslar, suite nomi, arxitektura va amaldagi har qanday pin qoidalaridan oladi. Yo'qolgan VPN paketi haqidagi xabarlarning aksariyati paketlash emas, nomzod muammosi bo'lib chiqadi. Manbaning bitta yozuviga tegishdan oldin ikkala qatorni o'qing.
Men birinchi navbatda nomzodni tekshiraman, chunki bu bitta buyruqqa tushadi va odatdagi taxminlarning yarmini istisno qiladi.
apt-cache policy chiqishi sizga nima deydi
apt-cache policy mahalliy paket keshini o'qiydi, tarmoqni emas. U o'rnatilgan versiyani, nomzod versiyasini va paketni taklif qiladigan har bir indeksning jadvalini unga bog'langan ustuvorlik bilan chop etadi.
apt-cache policy openvpn
apt-cache madison openvpn
apt list -a network-manager-openvpnNomzod — APT hozir tanlaydigan versiya. madison har bir manba o'z ustuvorligi bilan nima taklif qilishini sanab chiqadi va shu tariqa indeksda bor, lekin pin musobaqasida yutqazadigan paketni payqaysiz. apt-cache qo'llanmasi ikkalasini ham kesh o'qish deb hujjatlashtiradi, shuning uchun hech biri oynaning ayni damda yetib borishini isbotlamaydi.
Agar nomzod qatori bo'sh bo'lsa yoki (none) ko'rsatsa, sozlangan manbalarda bu tizim uchun, qanday sozlangan bo'lsa shunday, hech narsa mos emas.
Nomzodning yo'qolishining to'rt sababi
Amalda sabab deyarli har doim to'rt narsadan biri, va har birining o'z yechimi bor.
Manbalaringizdagi suite nomi paket qurilgan distributivga mos kelishi kerak. trixie oynasiga qaratilgan Debian bookworm tizimi yoki yangilanish paytida sources.list.d faylida nomi o'zgartirilgan Ubuntu nashri faqat boshqa suite'da mavjud paketlar uchun hech narsani hal qilmaydi. Har bir yozuvdagi suite maydoni bilan lsb_release -cs ni solishtiring.
APT faqat dpkg bilgan arxitekturalar uchun qurilgan paketlarni ko'radi. 32 bitli konteyner, arm64 obrazi yoki faqat amd64 uchun yuboriladigan paketni so'ragan Raspberry Pi o'rnatishi xato xabari o'rniga bo'sh nomzod oladi. dpkg --print-architecture va dpkg --print-foreign-architectures qaysi to'plamda ekaningizni aytadi.
Komponentlar ham muhim. contrib yoki non-free dagi paket faqat main yoqilganda ko'rinmaydi, Ubuntu'ning universe ham xuddi shunday yo'l tutadi. Indeks bor va paket unda; faqat yoqilgan komponentlar ro'yxatingiz uni o'z ichiga olmaydi.
Pin qilish — eng sokin sabab. /etc/apt/preferences.d dagi fayl paketni o'rnatish chegarasidan pastga cheklashi mumkin, shunda butunlay yaxshi nomzod chiqishdan yo'qoladi, indeks esa uni hali ham sanab turadi. policy har bir manba yonida ustuvorliklarni chop etgani uchun, har bir manbasi past pin raqamiga ega paket — ishora.
Eskirgan indekslar yo'qolgan paketlarga o'xshaydi
Kesh — bu surat. Agar oxirgi apt update bitta indeksda muvaffaqiyatsiz bo'lsa, so'rovlar eski nusxadan javob berishda davom etadi va kutgan paketingiz o'sha nusxada bo'lmasligi mumkin.
apt update xatolarni har bir indeks bo'yicha chop etadi, shuning uchun to'g'ridan-to'g'ri oxirgi qatorga o'tish o'rniga ularni o'qing.
Imzo xatosi, muddati o'tgan release fayli yoki yetib bo'lmaydigan oyna sababli muvaffaqiyatsiz bo'lgan yangilash oldingi indeksni joyida qoldiradi. Bu oqilona dizayn, chunki oyna qisqa vaqt ishlamasa, ishlaydigan keshni saqlaydi. Yon ta'siri — ombor oflayn bo'lsa ham qidiruv muvaffaqiyatli bo'lishi mumkin. Bu shuningdek indeks oxirgi marta qachon olinganini bilmaguningizcha paketning yo'qligi hech narsani isbotlamasligini bildiradi. Paket nomini ayblashdan oldin /var/lib/apt/lists ostidagi fayl sanalarini tekshiring.
Haqiqatan kerak bo'lgan paketni nomlang
OpenVPN — bu demon, va odamlar odatda xohlaydigan qismlar alohida paketlardir.
Dvigatel, NetworkManager plaginasi va ish stoli muharriri uch nomli uch paket, plagin esa distributivlar orasida nomi farq qiladigan GTK variantiga ega. apt-cache search --names-only openvpn tavsiflar o'rniga nomlar va taqdim etilgan nomlarni moslashtiradi, va narsaning nomini taxminan bilsangiz aynan shu kerak.
Agar nom haqiqatan noma'lum bo'lsa, tavsiflarda bir marta qidiring, keyin aniq nomlarga qayting. Boshqa distributivdan olingan -gui qo'shimchasini qo'shib, paket endi mavjud emas degan xulosaga kelmang.
Manbalarni oxirida o'zgartiring, keyin tranzaksiyani tekshiring
Ombor qo'shish yangilanishlaringizni kim yetkazib berishini o'zgartiradi, shuning uchun u tekshiruvning boshiga emas, oxiriga tegishli.
Bundan oldin nashr, arxitektura, komponent va pin holatini tasdiqlang. To'rttadan qaysi birini tekshirganingizni yozib qo'ying, keyingi odam butun ko'rikni takrorlamasin. Agar to'rttasi ham to'g'ri bo'lsa-yu, nomzod hali ham yo'q bo'lsa, halol xulosa — bu nashr o'sha paketni yubormaydi. Qolgan variantlar backport, yetkazib beruvchi paketi yoki boshqa qo'llab-quvvatlanadigan nashr, va ularning har biri taxmin emas, ongli tanlov.
Nomzod paydo bo'lganda, qo'llashdan oldin modellashtiring: paket nomi bilan apt-get install --simulate nima tortilishini va nima olib tashlanishini ko'rsatadi. Paket mavjudligi, o'rnatish va ishlaydigan tunnel uchta alohida bosqich bo'lib qoladi, tunnel esa trafikni tashishdan oldin hali ham o'z profili, hisob ma'lumotlari, marshrutlari va DNS ga muhtoj.