Installed: (none) bildiren bir VPN paketi eksik değildir; yalnızca kurulu değildir. Kurup kuramayacağınızı belirleyen satır, APT'nin dizinlerden, suite adından, mimariden ve yürürlükteki sabitleme kurallarından türettiği Candidate'dir. Kaybolan VPN paketiyle ilgili bildirimlerin çoğu paketleme sorunu değil, aday sorunu olarak ortaya çıkar. Tek bir kaynak girdisine dokunmadan önce iki satırı da okuyun.

Önce adayı kontrol ediyorum çünkü tek bir komuta mal oluyor ve olağan tahminlerin yarısını eliyor.

apt-cache policy çıktısı size ne söylüyor

apt-cache policy yerel paket önbelleğini okur, ağı değil. Kurulu sürümü, aday sürümü ve paketi sunan her dizinin tablosunu ona bağlı öncelikle birlikte yazdırır.

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

Aday, APT'nin şu anda seçeceği sürümdür. madison her kaynağın önceliğiyle ne sunduğunu listeler ve bir dizinde var olup sabitleme yarışını kaybeden paketi böyle fark edersiniz. apt-cache kılavuzu her ikisini de önbellek okuma olarak belgeler, bu yüzden hiçbiri aynanın şu anda erişilebilir olduğunu kanıtlamaz.

Aday satırı boşsa veya (none) gösteriyorsa, yapılandırılmış kaynaklarda bu sistem için, yapılandırıldığı haliyle uygun hiçbir şey yoktur.

Adayın kaybolmasının dört nedeni

Pratikte neden neredeyse her zaman dört şeyden biridir ve her birinin farklı bir çözümü vardır.

Kaynaklarınızdaki suite adı, paketin derlendiği dağıtımla eşleşmelidir. trixie aynasına yönelen bir Debian bookworm sistemi ya da yükseltme sırasında sources.list.d dosyasında adı değiştirilen bir Ubuntu sürümü, yalnızca diğer suite'te bulunan paketler için hiçbir şeyi çözmez. Her girdide lsb_release -cs çıktısını suite alanıyla karşılaştırın.

APT yalnızca dpkg'nin bildiği mimariler için derlenmiş paketleri görür. 32 bit bir konteyner, bir arm64 imajı veya yalnızca amd64 için gönderilen bir paketi isteyen Raspberry Pi kurulumu, hata mesajı yerine boş bir aday alır. dpkg --print-architecture ve dpkg --print-foreign-architectures hangi kümede olduğunuzu söyler.

Bileşenler de önemlidir. contrib veya non-free'deki bir paket yalnızca main etkinleştirildiğinde görünmez olur ve Ubuntu'nun universe'i aynı şekilde davranır. Dizin vardır ve paket onun içindedir; etkin bileşen listeniz onu içermiyor sadece.

Sabitleme sessiz olandır. /etc/apt/preferences.d içindeki bir dosya bir paketi kurulum eşiğinin altına sınırlayabilir ve sonra tamamen iyi bir aday çıktıdan kaybolur, dizin ise onu hâlâ listeler. policy öncelikleri her kaynağın yanına yazdırdığı için, her kaynağı düşük sabitleme numarası taşıyan paket ipucudur.

Eski dizinler eksik paketler gibi görünür

Önbellek bir anlık görüntüdür. Son apt update bir dizinde başarısız olduysa, sorgular daha eski kopyadan yanıt vermeye devam eder ve beklediğiniz paket o kopyada olmayabilir.

apt update hataları dizin başına yazdırır, bu yüzden doğrudan son satıra kaydırmak yerine onları okuyun.

İmza hatası, süresi dolmuş bir release dosyası veya erişilemeyen bir ayna nedeniyle başarısız olan yenileme, önceki dizini yerinde bırakır. Bu mantıklı bir tasarımdır, çünkü ayna kısa süreliğine düştüğünde çalışan bir önbellek saklar. Yan etkisi, depo çevrimdışıyken bir aramanın başarılı olabilmesidir. Ayrıca, dizinin en son ne zaman alındığını bilene kadar bir paketin yokluğu hiçbir şeyi kanıtlamaz. Paket adını suçlamadan önce /var/lib/apt/lists altındaki dosya tarihlerini kontrol edin.

Gerçekten ihtiyacınız olan paketi adlandırın

OpenVPN bir daemon'dır ve insanların genellikle istediği parçalar ayrı paketlerdir.

Motor, NetworkManager eklentisi ve masaüstü düzenleyicisi üç adlı üç pakettir ve eklentinin dağıtımlar arasında adı değişen bir GTK sürümü vardır. apt-cache search --names-only openvpn açıklamalar yerine adları ve sağlanan adları eşleştirir ve nesnenin adını yaklaşık olarak bildiğinizde istediğiniz şey budur.

Ad gerçekten bilinmiyorsa, açıklamalarda bir kez arayın, sonra tam adlara dönün. Başka bir dağıtımdan ödünç alınmış -gui sonekini ekleyip paketin artık var olmadığı sonucuna varmayın.

Kaynakları en son değiştirin, ardından işlemi doğrulayın

Bir depo eklemek güncellemelerinizi kimin sağladığını değiştirir, bu yüzden araştırmanın başına değil sonuna aittir.

Ondan önce sürümü, mimariyi, bileşeni ve sabitleme durumunu doğrulayın. Dördünden hangilerini kontrol ettiğinizi yazın, böylece sonraki kişi aynı taramayı tekrarlamaz. Dördü de doğruysa ve aday hâlâ yoksa, dürüst sonuç bu sürümün o paketi göndermediğidir. Kalan seçenekler bir backport, bir üretici paketi veya desteklenen başka bir sürümdür ve her biri tahmin değil bilinçli bir seçimdir.

Aday göründüğünde uygulamadan önce benzetim yapın: paket adıyla apt-get install --simulate nelerin çekileceğini ve nelerin kaldırılacağını gösterir. Paket kullanılabilirliği, kurulum ve çalışan bir tünel üç ayrı aşama olarak kalır ve tünel trafik taşımadan önce hâlâ profil, kimlik bilgileri, rotalar ve DNS gerektirir.

İlgili makaleler