“Tidak dapat menemukan paket” saat mencoba menginstal paket dengan APT

209

Ketika saya mencoba menginstal paket apa pun melalui baris perintah, saya mendapatkan kesalahan.

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

Ada yang bisa membantu saya dalam hal ini?

CodeGeeky
sumber
5
Ini datang banyak baru-baru ini karena 18,04 Server memiliki semesta, multiverse, dan backports dinonaktifkan secara default.
wjandrea
1
Apakah ada masalah launchpad untuk meningkatkan petunjuk bermanfaat yang diberikan ketika memasukkan perintah yang tidak diinstal? (Hanya mengisyaratkan bahwa itu dalam repositori yang tidak diaktifkan akan sangat membantu)
Thorbjørn Ravn Andersen
Ini adalah sesuatu yang sangat saya pukul ketika saya membangun kontainer, biasanya dengan Docker dan Singularity. Dalam wadah Singularity Anda memiliki opsi BootStrap yang berbeda, di antaranya adalah debootstrapdan docker. Untuk beberapa alasan, jika saya gunakan debootstrapuntuk memulai dengan gambar Ubuntu dasar (misalnya xenial), saya menemukan kesalahan ini di mana beberapa paket tidak dapat ditemukan apt-get. Solusinya adalah beralih ke dockerBootStrap, lalu berfungsi kembali.
user5359531
Ini menghentikan kemajuan saya selama beberapa hari terakhir, dan itu bukan karena alam semesta, multiverse, atau backports yang dinonaktifkan, seperti yang disarankan wjandrea.
Jackalope
@Jackalope Maka mungkin nama paket tidak benar atau Anda perlu menjalankan sudo apt update. Gunakan apt-cache searchdiikuti oleh istilah pencarian untuk mencari nama paket yang benar.
mchid

Jawaban:

156

Pertama, periksa apakah paket itu benar-benar ada:

  1. Buka paket.ubuntu.com dengan peramban web.
  2. Gulir ke bawah ke "Direktori paket pencarian"
  3. Masukkan paket yang Anda coba pasang ke bidang "Kata Kunci".

    Aktifkan "Hanya tampilkan kecocokan persis:"

    Ubah "Distribusi" ke versi Ubuntu yang Anda gunakan.

    masukkan deskripsi gambar di sini

Jika tidak ada hasil , paket yang Anda cari tidak ada dan langkah selanjutnya tidak akan berfungsi. Mungkin memerlukan PPA pihak ketiga atau metode pemasangan alternatif.

Jika hasilnya ditemukan , paket itu ada dan Anda dapat melanjutkan dengan langkah-langkah ini:

  1. Buka Sumber Perangkat Lunak (atau Perangkat Lunak & Pembaruan di 13.04+) dengan mencarinya di Dash.
  2. Buka tab "Perangkat Lunak Ubuntu".
  3. Pastikan 4 kotak centang pertama pada tab ini diaktifkan:

    masukkan deskripsi gambar di sini

  4. Perbarui daftar paket, lalu uji dengan perintah ini:

    sudo apt-get pembaruan
    sudo apt-get install <TEST_PACKAGE>
    
kiri
sumber
44
Saya menemukan bahwa sederhana sudo apt-get updatesudah cukup untuk memperbaikinya bagi saya. Jarak tempuh Anda mungkin beragam.
Edward Falk
1
sudo apt-get updatejuga bekerja untuk saya di Ubuntu pada Windows 10 (ini penting karena UI yang dirujuk pada paruh kedua jawaban ini tidak ada pada sistem itu).
James
1
tangkapan layar perangkat lunak dan pembaruan menyelamatkan saya !!
Kalpesh Soni
Jangan lupa untuk mencari launchpad.net juga!
Jonathan
1
Saya menjalankan server saya dari shell, dan tidak dapat membuka GUI. Apakah mungkin untuk menyelesaikan ini hanya dengan baris perintah?
Ulysses Alves
82

Ada banyak pertanyaan tentang topik ini. Di sini saya memberikan jawaban dasar / umum.

Ketika apt-get installtidak dapat menemukan paket, paket yang ingin Anda instal tidak dapat ditemukan dalam repositori yang telah Anda tambahkan (yang ada di dalam /etc/apt/sources.listdan di bawah /etc/apt/sources.list.d/).

Prosedur (umum) berikut membantu untuk menyelesaikan ini:

  1. Pastikan Anda telah mengaktifkan repositori Ubuntu:

    Untuk mengaktifkan semua repositori ( main, universe, restricted, multiverse), gunakan perintah berikut:

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

    Kunjungi Bantuan untuk informasi lebih lanjut.

  2. Untuk menemukan PPA untuk paket lain:

  3. Tambahkan PPA (dengan baris perintah) :

    Gunakan perintah ini:

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

    Kunjungi bantuan komunitas Ubuntu untuk informasi lebih lanjut.

  4. Jangan lupa untuk memperbarui (pastikan Anda mengetahui perubahan Anda):

    Sangat penting untuk menjalankan perintah ini setelah mengubah repositori:

    sudo apt-get update
    

    Memilih server unduhan terbaik dapat membantu mempercepat pembaruan.

  5. Akhirnya instal paket:

    sudo apt-get install <package>
    

    Lihat manajemen Paket berdasarkan commandline .

    Tambahan / Kiat : Anda dapat menemukan nama paket yang benar (yaitu nama dalam repositori) menggunakan apt-cache search <package-name>.



Catatan : Jika paket tidak tersedia di repositori bagaimana pun, daripada Anda harus menunggu sampai tersedia (dalam kasus versi baru / diperbarui) atau menggunakan proses instalasi lain dari apt-getmisalnya kompilasi dari sumber, mengunduh biner yang dapat dieksekusi, dll.

Pandya
sumber
3
Bisa juga karena pengguna mencari libname, ketika itu libname2di Debian / Ubuntu.
saiarcot895
3
Pertama, tergantung pada paket dan Anda membuat sejumlah asumsi. Pertama, Anda mengasumsikan OP telah mengidentifikasi nama paket yang benar, seperti yang ditunjukkan oleh saiarcot895. Kedua Anda mengasumsikan paket tersedia. Secara umum, yang terbaik adalah mengidentifikasi masalah terlebih dahulu. Kemudian jika mungkin instal dari repositori. Kecuali ada kebutuhan khusus, ppa adalah pilihan kedua. Jika paket tidak dalam repositori atau ppa, paket tersebut mungkin perlu dikompilasi dari sumber. Anda benar-benar tidak memiliki informasi yang cukup.
Panther
@ saiarcot895 @ bodhi.zazen: Jawaban yang telah direvisi dengan menyediakan apt-cache searchuntuk menemukan nama paket yang benar dari repositori.
Pandya
jawab pria, orang yang harus menjadi pemenang
sdream
9

xbmc hanya tersedia di repositori universe , hanya sejak Ubuntu 12.04 (tepat). Jika Anda memiliki Ubuntu yang lebih lama, Anda harus meningkatkan atau mendapatkan xbmc dari tempat lain.

Jika Anda menggunakan Ubuntu 12.04, pastikan Anda telah mengaktifkan repositori universe . Anda dapat melihat repositori apa yang telah Anda aktifkan dalam file /etc/apt/sources.list(dan dalam file dalam direktori /etc/apt/sources.list.d). Periksa apakah file ini mengandung garis seperti

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

atau

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

Jika Anda hanya menemukan garis seperti

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

dan tidak ada garis dengan universe, tambahkan universedi akhir garis itu, atau garis terpisah dengan precise universe, seperti yang diilustrasikan di atas.

Jika Anda perlu memodifikasi /etc/apt/sources.list, jalankan sudo apt-get updatesetelahnya, lalu coba pasang lagi. Jika paket tersebut masih belum ditemukan, poskan konten lengkap /etc/apt/sources.listdan output dari sudo apt-get update.

Gilles
sumber
@EliahKagan Saya tidak mengira jawaban saya bisa ditafsirkan seperti itu, saya mencoba mengklarifikasi. Kenapa tidak aldan zw? (Saya mencoba memilih cermin yang sesuai untuk OP ketika mereka memberikan petunjuk, tapi di sini saya tidak tahu.)
Gilles
5

Saya baru di Ubuntu tetapi saya menulis ini karena saya menemukan beberapa solusi untuk menghindari kesalahan "Tidak Dapat Menemukan Paket" ini. Ada tiga keadaan di mana ini mungkin terjadi pada kejutan.

  1. Setelah menginstal Ubuntu jika Anda tidak memperbaruinya diikuti oleh Peningkatan, Ini mungkin terjadi.
  2. Jika ada banyak pembaruan perangkat lunak yang akan terjadi di masa depan, pastikan semua pembaruan keamanan penting / pembaruan yang disarankan dimatikan dengan mengetikkan " Perbarui Manajer " saat menekan Alt+ F2.
  3. Masalah Satu dan Dua dapat terjadi bahkan setelah memperbarui atau menghapus semua pembaruan. Namun solusi abadi adalah: Coba titik 1 & 2, lalu ketik sudo apt-get killmanager, jika tidak berhasil lanjutkan mengetik sudo apt-get update, kemudian ketik sudo apt-get upgrade.

Sekarang Anda harus dapat menginstal perangkat lunak apa pun melalui Terminal.

Shaan Sundar
sumber
Jika Anda masih mendapatkan kesalahan pada baris "sudo apt-get update", coba gunakan "sudo apt-get upgrade". Ini akan berhasil .. Guys !! Karena Linux sangat peka huruf besar-kecil Pastikan Anda menggunakan semua perintah dalam huruf yang lebih kecil seperti "sudo" dan bukan "Sudo"
Shaan Sundar
5

Dalam kasus di mana mencoba menginstal file:

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

bukannya paket. Anda mendapatkan pesan kesalahan:

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

karena Anda mencoba menginstal file libstdc++.so.6yang tidak dapat Anda instal, karena terletak di paket debian.

Anda dapat menggunakan apt-fileuntuk mencari paket yang berisi file itu. Untuk menginstalnya, ketik:

sudo apt-get install apt-file

Maka Anda harus memperbarui indeks.

sudo apt-file update

Setelah itu, Anda dapat mencari paket yang berisi file libstdc++.so.6:

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

Kemudian Anda menemukan banyak paket yang berisi file yang dicari. Untuk contoh ini saya hanya menempelkan satu hasil pencarian:

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

Kemudian Anda dapat menginstal paket yang dibutuhkan libstdc++6:

sudo apt-get install libstdc++6
BuZZ-dEE
sumber