APT ile paket yüklemeye çalışırken “paket bulunamıyor”


209

Herhangi bir paketi komut satırından yüklemeye çalıştığımda hata alıyorum.

$ sudo apt-get install <package>
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package <package>

bana bu konuda birileri yardımcı olabilir mi?


5
Bu son zamanlarda oldukça fazla geliyor, çünkü 18.04 Sunucusu varsayılan olarak devre dışı bırakılmış evren, çoklu evren ve desteklere sahip.
wjandrea

1
Kurulu olmayan bir komuta girerken verilen ipuçlarını iyileştirmek için bir fırlatma paneli sorunu var mı? (Sadece etkin olmayan bir depoda olduğunu ima etmek çok yararlı olacaktır)
Thorbjørn Ravn Andersen

Bu, genellikle Docker ve Singularity olmak üzere, konteynırlar inşa ederken çok çarptığım bir şey. Tekillik kaplarında, aralarında debootstrapve olmak üzere farklı BootStrap seçeneklerine sahipsiniz docker. Bazı nedenlerden dolayı, debootstraptemel Ubuntu görüntüsü (örneğin xenial) ile başlamak için kullanırsam , bazı paketlerin bulunamadığı bu hatayı vurdum apt-get. Çözüm, dockerBootStrap’e geçmekle sona erer , ardından tekrar çalışır.
user5359531

Bu, son birkaç gündür ilerlememi durduruyor ve wjandrea'nın önerdiği gibi, evren, multiverse veya engelli olmasından kaynaklanmıyor.
Jackalope

@Jackalope O zaman belki paket adı yanlıştır veya çalıştırmanız gerekir sudo apt update. Kullanım apt-cache searchbir arama terimi ardından doğru paket adını aramak için.
mchid

Yanıtlar:


155

İlk olarak, paketin gerçekten var olup olmadığını kontrol edin:

  1. Git packages.ubuntu.com bir web tarayıcısı ile.
  2. "Paket dizinlerini ara" ya gidin
  3. Yüklemeye çalıştığınız paketi "Anahtar Kelime" alanına girin.

    "Yalnızca tam eşleşmeleri göster:" i etkinleştir

    Kullanmakta olduğunuz Ubuntu sürümünün "Dağıtım" ını değiştirin.

    görüntü tanımını buraya girin

Varsa sonuç , aradığınız paketi yok ve sonraki adımlar çalışmayacaktır. Bir üçüncü taraf PPA'sı veya alternatif bir kurulum yöntemi gerektirebilir.

Eğer sonuç bulunursa , paket var ve bu adımları devam edebilir:

  1. Açık Yazılım Kaynakları (veya Yazılım ve Güncellemeler 13.04+ olarak) Dash arayarak.
  2. "Ubuntu Software" sekmesini açın.
  3. Bu sekmedeki ilk 4 onay kutusunun etkin olduğundan emin olun:

    görüntü tanımını buraya girin

  4. Paket listelerini güncelleyin, ardından şu komutlarla test edin:

    sudo apt-get update
    sudo apt-get install <TEST_PACKAGE>
    

44
Bunu basitleştirmek sudo apt-get updateiçin benim için yeterliydi. Kilometreniz değişebilir.
Edward Falk

1
sudo apt-get updateAyrıca Windows 10'da Ubuntu'da benim için çalıştı (bu cevabın ikinci yarısında referans verilen UI bu sistemde mevcut olmadığı için önemlidir).
James

1
Yazılım ve güncellemeler ekran görüntüsü beni kurtardı!
Kalpesh Soni

Launchpad.net’de de arama yapmayı unutmayın !
Jonathan,

1
Sunucumu kabuktan çalıştırıyorum ve GUI'leri açamıyorum. Bunu sadece komut satırı ile çözmek mümkün mü?
Ulysses Alves

81

Bu konuyla ilgili birçok soru var. Burada temel / genel bir cevap veriyorum.

Bir apt-get installpaket bulamadığında, yüklemek istediğiniz paket eklediğiniz havuzlarda bulunamadı (içinde /etc/apt/sources.listve altında olanlar /etc/apt/sources.list.d/).

Aşağıdaki (genel) prosedür bu sorunu çözmeye yardımcı olur:

  1. Ubuntu havuzlarını etkinleştirdiğinizden emin olun:

    Tüm depoları (etkinleştirmek için main, universe, restricted, multiverse), aşağıdaki komutları kullanın:

    sudo add-apt-repository main
    sudo add-apt-repository universe
    sudo add-apt-repository restricted
    sudo add-apt-repository multiverse
    

    Daha fazla bilgi için Yardım'ı ziyaret edin .

  2. Daha fazla paket için PPA bulmak için:

  3. PPA ekleyin (komut satırına göre) :

    Bu komutu kullanın:

    sudo add-apt-repository ppa:<repository-name>
    

    Daha fazla bilgi için Ubuntu topluluğu yardımını ziyaret edin .

  4. Güncellemeyi unutma (değişikliklerin farkında olun):

    Depoları değiştirdikten sonra bu komutu çalıştırmak çok önemlidir:

    sudo apt-get update
    

    En iyi indirme sunucusunu seçmek , güncellemeyi hızlandırmaya yardımcı olabilir.

  5. Sonunda paketi kurun:

    sudo apt-get install <package>
    

    Komut satırıyla Paket yönetimi bölümüne bakın .

    Ek / İpucu : kullanarak doğru paket adını (yani depodaki adı) bulabilirsiniz apt-cache search <package-name>.



Not : Paket depoda mevcut değilse, kullanılabilir duruma gelinceye kadar beklemeniz (yeni / güncellenmiş sürümlerde) veya apt-getörneğin kaynaktan derleme, çalıştırılabilir ikili dosya indirme, vb.


3
Aynı zamanda kullanıcının aradığı olması olabilir libnameo olduğunda, libname2Debian / Ubuntu.
saiarcot895

3
İlk olarak, pakete bağlıdır ve bir dizi varsayımda bulunuyorsunuz. İlk olarak, OP'nin saiarcot895 tarafından belirtildiği gibi doğru paket adını tanımladığını varsayıyorsunuz. İkinci olarak, paketlerin hazır olduğunu varsayıyorsunuz. Genel olarak, sorunu tanımlamak en iyisidir. O zaman mümkünse depolardan yükleyin. Belirli bir ihtiyaç olmadığı sürece, ppa ikinci bir seçenektir. Paket depolarda veya ppa'da değilse, kaynaktan derlenmesi gerekebilir. Gerçekten yeterli bilgiye sahip değilsin.
Panter,

@ saiarcot895 @ bodhi.zazen: Depolardan apt-cache searchdoğru paket adını bulma olanağı sağlayarak gözden geçirilmiş cevap .
Pandya

harika cevap dostum, kazanan kişi olmalı
sdream

9

xbmc sadece evren deposunda mevcuttur , sadece Ubuntu 12.04'ten beri (kesin). Ubuntu'nun daha eski bir sürümüne sahipseniz, başka bir yerden xbmc'yi yükseltmeniz veya edinmeniz gerekir.

Ubuntu 12.04'ünüz varsa , evren deposunu açtığınızdan emin olun . Dosyada /etc/apt/sources.list(ve dizindeki dosyalarda /etc/apt/sources.list.d) hangi depoları etkinleştirdiğinizi görebilirsiniz . Bu dosyanın şöyle bir çizgi içerdiğini kontrol edin

deb http://al.archive.ubuntu.com/ubuntu/ precise universe

veya

deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

Sadece bir çizgi bulursanız

deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted

ve çizgisiz, bu çizginin sonuna veya yukarıda gösterildiği gibi ayrı bir çizgi universeekleyin .universeprecise universe

Değiştirmeniz gerekiyorsa , daha sonra /etc/apt/sources.listçalıştırın sudo apt-get update, ardından tekrar yüklemeyi deneyin. Paket hala bulunamazsa, içeriğinin tamamını /etc/apt/sources.listve çıktısını gönderin sudo apt-get update.


@EliahKagan Cevabımın bu şekilde yorumlanabileceğini düşünmemiştim, açıklığa kavuşturmaya çalıştım. Neden alve zw? (Bir ipucu verdiklerinde OP için uygun bir ayna seçmeye çalışıyorum ama burada hiçbir fikrim yok.)
Gilles

5

Ubuntu'da yeniyim ama bu "Paketi Bulunamadı" hatalarını önlemek için bazı çözümler bulduğum için yazıyorum. Bunun bir şoka neden olabileceği üç durum vardır.

  1. Ubuntu'yu kurduktan sonra güncellemezseniz Yükseltmeler'i takip edin, Bu olabilir.
  2. Gelecekte yapılacak çok sayıda yazılım güncellemesi varsa, tüm önemli güvenlik güncellemelerinin / önerilen güncellemelerin + tuşuna basarak " Güncelleme Yöneticisi " yazarak kapatıldığından emin olun .AltF2
  3. Sorun Bir ve İki, tüm güncellemeleri güncelledikten ya da temizledikten sonra bile olabilir. Ancak ebedi çözüm şudur: 1 ve 2. noktaları deneyin, sonra yazın sudo apt-get killmanager, hiç çalışmıyorsa sorun olmayacak şekilde yazın sudo apt-get update, sonra yazın sudo apt-get upgrade.

Artık herhangi bir yazılımı Terminal üzerinden yükleyebilmelisiniz.


Hala "sudo apt-get update" satırında hata alıyorsanız, "sudo apt-get upgrade" komutunu kullanmayı deneyin. Bu işe yarayacak .. Beyler !! Linux büyük küçük harfe duyarlı olduğundan, lütfen tüm komutları "Sudo" yerine "sudo" gibi daha küçük harflerle kullandığınızdan emin olun
Shaan Sundar

5

Bir dosyayı yüklemeye çalıştığı durumda:

sudo apt-get install libstdc++.so.6

paket yerine. Hata mesajını alıyorsunuz:

E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

çünkü kuramayacağınız bir dosyayı yüklemeye çalıştınız libstdc++.so.6, çünkü bir debian paketinde bulunuyor.

Bu apt-filedosyayı içeren paketi aramak için kullanabilirsiniz . Yüklemek için şunu yazın:

sudo apt-get install apt-file

O zaman dizini güncellemelisiniz.

sudo apt-file update

Bundan sonra dosyayı içeren paketi arayabilirsiniz libstdc++.so.6:

sudo apt-file find libstdc++.so.6

Sonra aranan dosyayı içeren çok sayıda paket bulabilirsiniz. Bu örnek için sadece bir arama sonucu yapıştırıyorum:

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

Sonra gerekli paketi yükleyebilirsiniz libstdc++6:

sudo apt-get install libstdc++6
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.