“Ama başka bir paket tarafından anılır.” - Bu paketi bulmak


24

Bir Ubuntu (veya uygun paket yönetimi ile başka bir dağıtım) kullanıcısı, hatayla karşılaşması alışılmadık bir durum değildir:

user@box ~ $ sudo apt-get install x
[sudo] password for user: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package x is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'x' has no installation candidate

Orada birkaç soru örneği için, çeşitli Stack Exchange sitelerinde bu ilgilendiren sorulan olmuştur openvpn Ask Ubuntu üzerinde ancak bunlar genellikle hataya rağmen belirli paketini elde etme hakkındadır.

Hala dağıtılıp dağıtılmadığını ve hangi havuzun altında olduğunu belirleyerek basitçe bulunamayan (her zaman kolay olmasa da) bulunmayan bir paket bulamadım ve deponun ek kaynaklarda olduğundan veya en kötüsünün en kötü indirmeye geldiğinden eminim. .deb veya derlenecek kaynak.

Bu yüzden benim sorum daha genel ve bunun oldukça basit ve heyecan verici bir cevabı olmadığını tahmin etmeme rağmen, geleneksel arama motoru yöntemleriyle nasıl bulacağımı düşünemiyorum, bu yüzden AskUbuntu'ya dönüyorum: Yapabileceğim bir komut veya seçenek var mı? hangi paketi / hangi paketleri eksik paketin başvurduğunu belirlemek için kullanın?

Yanıtlar:


13

Apt-cache ile paketi arayabilirsiniz:

apt-cache search x

Bu, bir şekilde veya başka bir yolla x'e başvuruda bulunan tüm paketleri çıkarır.


2
Kulağa mantıklı geliyor ... benim için işe yaramazsa dışında. apt-get install libtinfo6mevcut değil ancak başka bir paket tarafından anılan raporlar var ancak apt-cache search libtinfo6sonuç yok. Benzer bir şey yapmanın başka bir yolu var mı?
Erhannis

@Erhannis 'Terminfo' bir şey getiriyor mu? Bence bazen bu hata bir paketin dikkatlice yeniden adlandırılmasıyla ortaya çıkıyor.
Arlo James Barnes

Emin değilim. Debian'ın bir sonraki sürümüne yükselttim ve görünüşe göre bu paket artık bu hatayı vermiyor. Bir terminfodahaki sefere olsa deneyeceğim ; daha önce oldu ve muhtemelen tekrar olacak.
Erhannis

23

Bazen bu, APT'nin neden bahsettiğiniz hakkında hiçbir şey bilmemesinden kaynaklanır, ancak bu çalıştırılarak çözülebilir:

sudo apt-get update

Bunu çalıştırdıktan sonra, genellikle hata gider aptve apt-getşimdi ne istediğimi nasıl yapacağımı biliyorum.


4
Muhtemelen apt-get updatebunu izlemeyi kastettiniz , apt-get upgrade -yçünkü -ykullanıcı onayını atlar. Kullanmanın bir anlamı yok apt-get update. Buna rağmen, bu kesinlikle soruyu cevaplamıyor.

4
@CelticWarrior: Prensipte bu cevabı kabul ediyorum, çünkü paket veri deposunun bilgilerini güncellemek son zamanlarda eklenen bir PPA'dan bir paket kurmaya çalışır ve çalıştırmayı unutursa bu sorunu çözebilir apt-get update.
David Foerster

7
@ user589808 Bunun hiç de iyi bir tavsiye olduğunu sanmıyorum. Bir apt-get yükseltme gerekli değildir ve herşeye kör bir şekilde vurmak, düzeltdiğinden daha fazla şeyi kırabilir. yani wayne hi sözdiziminde doğruydu.
çılgın serin

1
apt-get updateAB soruyu (paket repo var ama cevap apt-get installve apt-cache. bu konuda bilmiyorum)
dcorking

1
Daha sonra gelenler için yukarıdaki yorumlar bu cevabın daha eski bir versiyonunu tartışmaktadır. Şu anki cevap sudo apt-get updatetartışmalardan uzak ve benim için doğru çözümdü.
Daryn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.