Kadang-kadang, ketika saya menginstal barang, saya mendapatkan kesalahan seperti berikut:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
package1 : Depends: package2 (>= 1.8) but 1.7.5-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
Bagaimana saya bisa menyelesaikan ini?
Jawaban:
APT adalah sistem manajemen paket untuk Debian dan distribusi Linux lain yang berbasiskan padanya, seperti Ubuntu. Untuk sebagian besar, APT mudah digunakan untuk menginstal, menghapus, dan memperbarui paket. Dalam kasus yang jarang terjadi, sering kali ketika Anda mencampur dependensi pihak ketiga, ada kemungkinan yang
apt-get
akhirnya memberi Anda kesalahan yang memberi tahu Anda bahwa instalasi paket tidak dapat diselesaikan.Solusi:
Itu selalu merupakan ide yang baik untuk membuat cadangan file konfigurasi seperti
/etc/apt/sources.list
, sehingga Anda dapat mengembalikan perubahan jika diperlukan.Jika
error
menunjukkan sesuatu seperti ini:<some-package>: Depends: <other-package> (= version) but this-version is to be installed
Kemudian pastikan bahwa
restricted
danuniverse
repositori diaktifkan. Hit Alt+ F2, ketiksoftware-properties-gtk
dan tekan Enter.Di bawah
Ubuntu Software
tab, aktifkan semua repositori.Salah satu kemungkinan penyebab dependensi yang tidak terpenuhi adalah database paket yang rusak, dan / atau beberapa paket tidak diinstal dengan benar. Untuk memperbaiki masalah ini, tekan Alt+ Ctrl+ Tuntuk membuka terminal dan mencoba menjalankan salah satu dari perintah berikut:
atau,
apt-get clean
membersihkan repositori lokal dari file paket yang diambil (file .deb). Ini menghapus semuanya kecuali file kunci dari / var / cache / apt / arsip / dan / var / cache / apt / arsip / parsial /.apt-get autoclean
menghapus repositori lokal dari file paket yang diambil, tetapi tidak sepertiapt-get clean
itu, hanya menghapus file paket yang tidak lagi dapat diunduh, dan sebagian besar tidak berguna.Salah satu perbaikan paling mendasar untuk menyelesaikan masalah dependensi adalah menjalankan:
Di
-f
sini adalah singkatan dari "fix broken".Apt
akan berusaha untuk memperbaiki dependensi yang rusak. Jika Anda menginstal secara manual paket yang memiliki dependensi yang belum terpenuhi,apt-get
akan menginstal dependensi itu, jika mungkin, jika tidak, cukup dengan menghapus paket yang Anda instal untuk menyelesaikan masalah.Lalu lari:
Kemudian jalankan ini lagi:
Jika outputnya adalah:
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Itu berarti gagal.
Solusi selanjutnya adalah menjalankan:
Jika itu menunjukkan paket yang ditahan, yang terbaik adalah menghilangkannya. Paket diadakan karena konflik ketergantungan yang
apt
tidak dapat diselesaikan. Coba perintah ini untuk menemukan dan memperbaiki konflik:Jika tidak dapat memperbaiki konflik, itu akan keluar dengan:
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
Hapus paket yang ditahan satu per satu, jalankan
dist-upgrade
setiap kali, hingga tidak ada lagi paket yang ditahan. Kemudian instal ulang paket yang dibutuhkan. Pastikan untuk menggunakan--dry-run
opsi ini, sehingga Anda sepenuhnya mendapat informasi tentang konsekuensi:Karena menghapus paket yang Anda coba instal mungkin tidak ideal, Anda mungkin juga mencoba menemukan repositori yang memiliki paket yang Anda perlukan untuk memenuhi dependensi.
Akhirnya, jika semuanya gagal, Anda dapat mencoba sendiri untuk memenuhi dependensi, baik dengan menemukan dan menginstal paket yang diperlukan, atau dengan menginstalnya dari sumber dan kemudian membuat paket “ deb ” untuknya .
Nonaktifkan / Hapus / Bersihkan AKP:
PPA (Personal Package Archive) adalah repositori yang diselenggarakan di Launchpad . Anda dapat menggunakan PPA untuk menginstal atau meningkatkan paket yang tidak tersedia di repositori resmi Ubuntu.
Salah satu penyebab paling umum dari dependensi yang tidak terpenuhi adalah PPA, terutama ketika digunakan untuk memutakhirkan paket yang ada di repositori Ubuntu. Untuk mengatasi masalah ini, Anda memiliki tiga opsi: nonaktifkan, bersihkan (kembali ke paket asli di repositori Ubuntu) atau hapus PPA.
Nonaktifkan:
Menonaktifkan PPA berarti tidak ada lagi pembaruan untuk paket yang diinstal dari PPA itu. Untuk menonaktifkan PPA: Buka
Software Center > Edit > Software Sources
Atau,Tekan Alt+ F2dan jalankan
software-properties-gtk
.Klik pada
Other Software
tab, Anda akan melihat bahwa setiap PPA memiliki dua baris di sini, satu untuk paket yang dikompilasi dan satu untuk sumber,Uncheck
kedua baris untuk menonaktifkan PPA. Di sini Anda juga dapat menambah dan menghapus PPA.Membersihkan:
Membersihkan PPA berarti, menurunkan versi paket dalam PPA yang dipilih ke versi di repositori resmi Ubuntu dan menonaktifkan PPA itu. PPA Purge melakukan hal itu. Untuk menginstal PPA Purge, jalankan perintah berikut:
Tapi, mengingat pertanyaannya
apt
rusak, perintah di atas akan gagal. Jadi gunakan perintah iniUntuk menggunakan PPA Purge:
Jika perintah 'ppa-purge' gagal karena suatu alasan, Anda tidak dapat menjalankan 'ppa-purge' lagi kecuali Anda mengaktifkan kembali PPA (Untuk mengaktifkan PPA ikuti langkah-langkah yang sama seperti menonaktifkan PPA dan
Check
kedua jalur tertentu) PPA untuk mengaktifkannya).Catatan:
PPA Purge
tidak menghapus PPA ( mungkin di masa depan ), Jadi Anda harus menghapus PPA secara manual.Menghapus:
Jika paket yang diinstal dari PPA tidak ada di repositori resmi Ubuntu maka penggunaan
PPA Purge
tidak disarankan, karena tidak ada yang perlu diturunkan danPPA Purge
tidak akan menghapusnya juga. Untuk menghapus PPA dan paket yang diinstal jalankan perintah berikut: (Abaikan perintah pertama jika Anda tidak ingin menghapus paket yang diinstal)Atau Anda dapat menggunakan
Y PPA Manager
untuk menonaktifkan / menghapus / membersihkan PPA (Detail di akhir jawaban).Tindakan pencegahan:
Jadi bagaimana kita dapat menghindari hal ini terjadi?
Tetap perbarui Ubuntu. Ubuntu secara otomatis memberi tahu ketika pembaruan tersedia, Anda juga dapat memeriksa pembaruan yang tersedia dengan mengklik
Session Indicator
di panel Unity:Atau, Tekan Alt+ Ctrl+ Tuntuk membuka terminal dan menjalankan perintah berikut:
Pembaruan: Menyinkronkan daftar paket yang tersedia dengan server di repositori sumber. Tingkatkan: Unduh & instal versi terbaru dari paket yang Anda instal.
Hapus duplikat PPA.
Y PPA Manager
(panduan instalasi di akhir jawaban) dapat dengan mudah memindai dan menghapus PPA duplikat.y-ppa-manager
untuk membuka Y PPA Manager.Advanced
.Scan and remove duplicate PPAs
dan klik OK.Mendapatkan bantuan:
Ketika meminta bantuan pada Askubuntu atau forum bantuan lainnya, Anda harus memasukkan output dari perintah berikut dalam pertanyaan Anda:
Output dari kesalahan aktual:
Ini akan menampilkan sources.list Anda:
Ini akan menampilkan daftar PPA (Jika ada):
Sumber tambahan:
Y PPA Manager : Y PPA Manager adalah one stop shop untuk semua kebutuhan PPA Anda.
Berikut beberapa fiturnya:
Untuk menginstal
Y PPA Manager
, buka terminal dengan menekan Alt+ Ctrl+ Tdan jalankan perintah berikut:Mempertimbangkan pertanyaan,
apt
rusak, jadi gunakan perintah ini sebagai gantinyadan
32 Bit:
64 Bit:
sumber
Apakah ini benar-benar rusak?
Coba jalankan perintah berikut dan coba instal ulang perangkat lunak yang Anda coba pasang
Langkah Pra-Kinerja
Mencadangkan
Cadangkan file berikut:
/etc/apt/sources.list
/var/lib/dpkg/status
Untuk melakukannya, gunakan perintah ini
dan
Menghapus apt-cache Anda
apt
menyimpan cache dari paket yang baru diunduh untuk menghemat bandwidth saat diperlukan untuk menginstal. Ini dapat menjadi kontra-produktif dalam beberapa kasusSekarang, untuk membersihkannya, Anda memiliki dua opsi
Ini akan menghapus semua paket yang di-cache milik folder
/var/cache/apt/archives/
dan/var/cache/apt/archives/partial
kecuali file .lock. Ini direkomendasikanIni memindai folder
/var/cache/apt/archives/
dan/var/cache/apt/archives/partial
dan memeriksa apakah paket masih dalam repositori dan menghapus yang tidakMemperbaiki dependensi
Menggunakan mode fix-broken apt
Ini akan menyebabkan cenderung memindai dependensi yang hilang dan memperbaikinya dari repositori
Jika output menyatakan bahwa tidak ada yang baru diinstal atau ditingkatkan, itu gagal.
Memeriksa apakah semua sumber yang diperlukan diaktifkan
Ketik
gksu software-properties-gtk
dan Anda akan mendapatkan jendela iniPastikan semua sumber diaktifkan.
selanjutnya, buka tab Perangkat lunak lain dan periksa apakah AKP yang diperlukan untuk perangkat lunak yang diinstal ada dan diaktifkan. Juga, coba nonaktifkan beberapa PPA yang mungkin memiliki paket rusak
sekarang, jalankan
sudo apt-get update
Coba instal perangkat lunak sekarang
Memilih server yang lebih baik untuk diunduh
Ketik
gksu software-properties-gtk
dan Anda akan mendapatkan jendela iniKlik Unduh dari kotak Dropdown dan pilih yang lain
Klik Pilih Server Terbaik
Lari
sudo apt-get update
Coba instal perangkat lunak
juga, coba gunakan
sudo apt-get install -f
PPA Purge
Ini adalah alat yang digunakan untuk membersihkan ppa yang rusak / tidak diinginkan beserta aplikasinya
Untuk menginstalnya, jalankan
Tetapi, Mempertimbangkan pertanyaan
apt
itu rusak sehingga perintah di atas akan gagal. Jadi gunakan perintah iniSekarang gunakan pembersihan ppa
Manajer Y-PPA
Y-PPA Manager adalah aplikasi gui yang membantu Anda mengelola PPA dan berbagai masalah yang terkait dengannya
Untuk menginstalnya
dan
dan
Mempertimbangkan pertanyaan,
apt
rusak begitu, gunakan perintah ini sebagai gantinyadan
32 Bit:
64 Bit:
Sekarang ketikkan
y-ppa-manager
Anda akan disajikan dengan jendela ini
Klik dua kali pada lanjutan, dan Anda akan mendapatkan jendela ini
Lakukan Tugas berikut yang diuraikan dalam warna hitam
Mencegah lebih baik daripada mengobati
Lebih baik mencegah daripada mencari pertanyaan ini di AskUbuntu: D
Jadi, inilah pedoman untuk membuat Anda tetap aman
Selalu perbarui sistem Anda
selalu jalankan perintah berikut secara teratur
atau, Anda selalu dapat menggunakan Pembaruan Manajer dengan perintah ini
Hanya menggunakan PPA tepercaya
Hanya menggunakan PPA yang dimaksudkan untuk digunakan di Ubuntu juga, hanya menggunakan PPA dengan sumber tepercaya. Infact, paket itu mungkin sudah ada di repositori ubuntu
Membackup ketika semuanya bagus dan mengembalikannya nanti
Untuk ini, Anda perlu Y-PPA-Manager. Langkah-langkah untuk menginstalnya diberikan di atas.
Jalankan perintah ini untuk membuka Y-PPA-Manager
Anda akan disajikan dengan jendela ini
Klik dua kali pada lanjutan, dan Anda akan mendapatkan jendela ini
Jalankan ini:
Anda akan diminta untuk menyimpan file tar.gz dengan dialog yang mirip dengan yang di bawah ini. Simpan di partisi lain atau di tempat yang aman
Kemudian, ketika Anda perlu mengembalikannya lagi, ikuti langkah-langkah serupa dan ketika Anda sampai ke dialog lanjutan, Klik ini:
Anda akan diminta untuk memulihkan dari cadangan sebelumnya yang Anda simpan sebelumnya dengan dialog yang mirip dengan yang di bawah ini
Masih tidak bekerja?
Kesalahan ketergantungan paket tidak selalu umum dan tergantung pada paket yang akan diinstal.
Jika mengikuti semua langkah yang diberikan untuk memperbaiki kesalahan tidak berhasil untuk Anda, Anda selalu dapat bertanya di Tanya Ubuntu
Berikut adalah beberapa perintah yang Anda perlu memposting output
dan
dan
(Terima kasih kepada Basharat Sial )
Ada juga file / perintah lain yang Anda butuhkan keluarannya yang mungkin spesifik kesalahan, dan pengguna mungkin akan meminta Anda di komentar untuk memposting file / perintah.
sumber
apt-get update
dekat bagian atas daftar. Terkadang sistem Anda telah melakukan pembaruan di mana satu paket yang lebih baru telah diperbarui dari jarak jauh, tetapi yang tergantung pada belum selesai dibangun. Atau versi yang Anda miliki di cache lokal Anda telah diperbarui. Dalam kasus tersebut, simpelapt-get update
akan memperbarui cache lokal Anda dan Anda dapat melanjutkan.apt-get install -f
tidak memperbaikinya.-f
bendera itu adalah singkatan dari kekuatan dan selalu dihindari untuk menggunakannyaJawaban-jawaban ini sejauh ini difokuskan pada bagaimana menyelesaikan masalah seperti itu secara otomatis, sebagian besar berharap bahwa itu menyelesaikan sendiri, tetapi tidak berfokus pada pemahaman bagaimana menyelidiki ketergantungan. Sangat penting untuk mencoba hal-hal seperti memastikan daftar paket Anda terbaru, karena Anda perlu memastikan pembaruan sederhana atau membersihkan cache tidak menyelesaikan masalah sebelum menggali lebih dalam. Namun, jika segala sesuatu di belakang layar berfungsi sebagaimana mestinya, sangat penting untuk mempelajari cara memahami dependensi. Kadang-kadang lapisan dependensi dapat tampak luar biasa, tetapi konsepnya sederhana, dan kunci untuk memahami bagaimana perangkat lunak diinstal / dihapus dalam sistem Ubuntu.
Saya sangat merekomendasikan bakat kepada siapa pun yang menggunakan sistem berbasis deb seperti Ubuntu. Struktur pohonnya memungkinkan Anda untuk dengan mudah menelusuri dependensi termasuk paket yang disarankan dan disarankan, serta memvisualisasikan konflik dan dependensi yang belum terpenuhi. Ini adalah alat yang sangat berharga ketika apt-get tidak menawarkan solusi sederhana, dan untuk memvisualisasikan dependensi secara umum. ( Synaptic juga tersedia di Ubuntu, tetapi saya tidak menemukan itu sebagai intuitif.)
Aptitude juga menawarkan penyelesaian konflik yang akan memandu Anda melalui semua kemungkinan kombinasi paket yang diinstal / dihapus / ditingkatkan / dll untuk memenuhi semua persyaratan tanpa konflik atau masalah. Ini bisa berhasil bahkan ketika apt tidak dapat menemukan solusi. Sebagai pengguna Ubuntu, situasi biasanya tidak muncul yang mengharuskan Anda untuk menyelidiki mengapa paket tertentu sedang diinstal, tetapi hampir tidak bisa dihindari karena Anda lebih banyak menggunakan sistem.
sumber
aptitude
penyelesaian konflik.sudo aptitude --full-resolver my_package
. Itu biasanya memberiThe following packages have unmet dependencies
dan daftar di antaranya7) <my_package> [Not Installed]
(7 hanyalah contoh). Pada setiap langkah, bakat menawarkan pilihan baru. Apa yang berhasil bagi saya adalah memilih terlebih dahulu7
, kemudianr 7
(yang sesuai dengan deskripsiRejecting the removal of my_package
), dan kemudiann
(untuk TIDAK) sebagai pilihan sebelum itu bukanlah yang saya inginkan: tetapi setelah itu pilihan baru menawarkan penurunan peringkat beberapa paket bersamaan dengan menginstal my_package; jadi, terakhir,Y
(untuk YA)package1: Depends: package2 (> = 1.8) tetapi 1.7.5-1ubuntu1 harus diinstal
Penjelasan pesan:
Memperbaiki
Tidak ada jawaban yang tepat untuk pertanyaan ini dan tidak ada jawaban yang sederhana.
Ada banyak skenario mengapa ini bisa terjadi dan kita harus menyelidiki semua opsi dan mencoba untuk menyelesaikan prasyarat yang mengarah pada kesalahan ini.
Skenario A:
Semua repositori yang Anda memiliki akses untuk tidak memiliki package2 dalam versi> = 1.8, jadi Anda harus menemukan repositori yang memiliki. Jika Anda tidak dapat menemukan repositori dengan versi> = 1.8 maka Anda mungkin harus membangun dan menginstal package2 dari sumber. Dan kemudian coba instal package1.
Jika Anda ingin tahu cara membuat paket dari sumber, periksa pertanyaan / jawaban lain atau posting yang baru.
Skenario B:
Repositori menyertakan package2 dalam versi> = 1.8 tetapi manajer paket masih ingin menginstal versi yang lebih lama (1.7.5).
Alasan untuk ini mungkin karena versi package2 yang lebih baru di mana dibangun oleh beberapa teknologi baru yang tidak didukung oleh paket lain yang telah Anda instal.
Ini mungkin tidak dapat diperbaiki sama sekali. Anda dapat mencoba menggunakan apt atau sinaptik dan mencari semua versi dari paket2 yang tersedia di repositori, dan mencoba untuk menginstal versi tertentu> = 1.8
Jika Anda memiliki paket lain yang tidak kompatibel dan Anda melakukan ini, Anda akan mendapatkan daftar pesan kesalahan serupa untuk semua paket lain yang mencegah instalasi package2> = 1.8.
Dalam hal ini, Anda memiliki masalah yang lebih besar. Anda ingin menginstal package1, yang membutuhkan package2 menjadi> = 1.8, tetapi package2 dalam versi> = 1.8 mengharuskan package3 berada dalam versi> = 6.7 dan Anda memiliki package3 versi 6.3
Masalahnya adalah manajer paket (APT) mencoba menyelesaikan semua dependensi ini secara otomatis jika memungkinkan. Ketika dikatakan bahwa itu tidak mungkin (dan mengeluarkan pesan seperti dalam pertanyaan), maka Anda harus memercayainya.
Jika Anda memutuskan untuk tidak mempercayai pengelola paket dan jika Anda yakin tidak akan mengalami masalah, maka Anda dapat mencoba untuk memaksa memasang versi yang dibutuhkan secara spesifik dari semua paket, satu per satu, dan berharap tidak masalah.
Hati-hati, melakukan ini untuk paket sistem dapat menciptakan masalah serius. Anda dapat mengunci diri dari sistem, memblokir layanan penting, dll.
Skenario C:
Apa pun alasan masalahnya, Anda selalu dapat mengatur untuk kompilasi manual dan membangun paket yang dibutuhkan dan semua dependensinya dalam versi yang tepat dibutuhkan dari sumber. Dengan opsi ini, Anda dapat menyimpan apa yang Anda buat di direktori terpisah dan keluar dari jalur sistem sehingga tidak akan menimbulkan konflik dengan sistem. Ini mungkin solusi terbersih, dan terkadang bisa lebih cepat dilakukan.
Skenario D:
Manajer paket memiliki akses ke informasi terkini tentang paket dan karenanya tidak dapat menemukan solusi. Lihat jawaban lain.
Skenario E:
Manajer paket memiliki bug dalam kode resolusi ketergantungan.
Anda harus menyelidiki bahwa ini benar-benar masalahnya, dan kemudian mengeluarkan permintaan bug.
...
Skenario Z:
Mungkin ada skenario lain.
Misalnya pengelola paket bisa saja salah dan tidak memeriksa bahwa paket1 akan bekerja bahkan dengan versi package2 <1.8 dan dalam spesifikasi mereka menetapkan dependensi yang salah.
sumber
Metode-metode ini perlu diikuti setiap kali Anda mendapatkan eror tentang Ketergantungan Tidak Tercapai
Setelah mengikuti instruksi coba instal perangkat lunak. Setidaknya salah satu dari metode ini akan bekerja untuk Anda
1 . Sebelum mencoba perintah baru atau menambahkan ppa baru coba ini
Membersihkan cache apt:
Membersihkan dependensi yang tidak digunakan:
Memperbarui apt-cache
Ini akan menghapus semua cache dan akan mengunduh cache baru. Ini harus dilakukan untuk mendapatkan paket cache baru dan pembaruan yang lebih baru.
2 . Coba
sudo apt-get install -f
.Ini mungkin akan memberikan beberapa saran tentang menghapus dan menginstal paket, melakukan apa yang tampaknya masuk akal.
3 . Ubah
Download Server
dariSoftware Sources
karena Terkadang file di server rusak.4 . Ini juga terjadi jika Anda sebelum menambahkan ppa eksternal untuk ketergantungan yang rusak
sudo add-apt-repository --remove ppa:someppa/ppa
dan kemudian secara manual menghapus file / perpustakaan yang diinstal ppaatau
membersihkan ppa (ini juga menghapus file yang diinstal)
5 . Jika nomor 4 bukan kasus Anda maka minimal cobalah untuk menghapus paket yang sedang ditampilkan sebagai dependensi rusak. Kemudian coba instal kembali. Ini dilaporkan memiliki workeed untuk beberapa orang.
6 . Selalu tambahkan versi stabil dari repositori / PPA.
7 Pastikan juga Anda memiliki semua repositori resmi yang diaktifkan (Masuk
Software Sources
)Tolong jangan aktifkan
Proposed Updates
seperti yang dimaksudkan untuk pengujian / pengembang.Sebagaimana diceritakan oleh doug:
Selain itu tidak dicatat adalah bahwa dalam banyak, jika tidak sebagian besar kasus, "<apa pun> harus dipasang" benar-benar berarti "<apa pun> yang dipasang" dan harus dicoba untuk dihapus jika tidak ada yang berfungsi (seperti pada poin 5).
Saya akan terus menambahkan lebih banyak hal yang sulit diperbaiki
unmet dependencies
.sumber
apt-get update
tidak tidak memperbarui tembolok apt (yang terdiri dari download.deb
file dan file yang menyimpan informasi tentang.deb
file yang telah disimpan). Ini memperbarui file indeks paket (yang terdiri dari informasi tentang paket apa yang tersedia untuk diunduh dan diinstal dari setiap sumber perangkat lunak yang tersedia). Seperti yang saya katakan sebelumnya,apt-get clean
tidak membersihkan hal yang sama denganapt-get update
pembaruan. Lihatman apt-get
detailnya.Untuk sebagian besar kasus, menginstal paket melalui
aptitude
akan menyelesaikan dependensi yang belum terpenuhi. Denganaptitude
paket default tidak diinstal pada pc Anda. Jadi instal dulu dengan menjalankan,kemudian,
Sebagai contoh,
Menginstal paket melalui
aptitude
sumber
aptitude
seharusnya masalah dependensi tidak diselesaikan?aptitude
tanpa menyelesaikan masalah terlebih dahulu!aptitude
. Jika tidak ada kesalahan yang disebabkan karena paket yang rusak maka Anda dapat menginstal aptitude.Jawaban saya mirip dengan rick di atas.
Menggunakan
apt-get clean
,apt-get autoclean
,apt-get autoremove
,apt-get upgrade
,apt-get update
,apt-get -u dist-upgrade
, dll semua tidak bekerja untuk saya.Saya akhirnya menyelesaikan masalah ini dengan turun ke pohon ketergantungan via
apt-get install
, diilustrasikan dengan contoh di bawah ini. Dalam kasus saya, saya ingin menginstallibmagickwand-dev
:Saya mendapat kesalahan ini:
Jadi, saya berlari
apt-get install
untuk salah satu dependensi yang gagal:Saya turun lebih jauh ke bawah pohon:
dengan kesalahan lain:
Sekali lagi lebih dalam ke bawah pohon:
Untuk beberapa alasan aneh, ini berhasil, dan saya dapat menginstal paket asli yang saya inginkan
apt-get install libmagickwand-dev
:sumber
Jawaban yang sangat baik! Tetapi hari ini kasus saya tampaknya berbeda dari Anda. Ini saran saya.
Masalah:
Saya gagal menginstal apache2 di ubuntu 10.10.
Larutan:
Cara saya adalah menambahkan paket yang tergantung ke daftar instal.
Jika 'sudo apt-get install apache2' gagal, coba ' sudo apt-get install apache2 apache2.2-common '.
Lihat? apache2.2-common berasal dari log kesalahan dari langkah sebelumnya.
Akhirnya saya menemukan ada rantai ketergantungan seperti ini:
Untuk 3 paket pertama, log apt-get memberi tahu saya 'tidak akan diinstal',
tetapi untuk paket terakhir, ini menunjukkan 'libaprutil1-ldap: Tergantung: libaprutil1 (= 1.3.9 + dfsg-3build1) tetapi 1.3.9 + dfsg-3ubuntu0.10.10.1 harus diinstal'
Saya memiliki versi berbeda di lib saya, jadi:
Sekarang tidak apa-apa.
sumber
apa kesalahan dependensi yang belum terpenuhi
Pada paket Ubuntu adalah cara utama perangkat lunak dibangun, digunakan, dan diinstal. Sangat sederhana, paket adalah alternatif untuk mengunduh, membangun, dan menginstal perangkat lunak dari awal. Mereka menawarkan sejumlah keunggulan dalam hal instalasi, penghapusan, pemantauan, dan penanganan interaksi antara bagian-bagian perangkat lunak di atas model "build from source" standar. Ubuntu menggunakan sistem pengemasan terpusat, Yaitu Setiap paket tergantung pada beberapa paket lainnya. Ketika kami menginstal paket, dependensinya akan diinstal, Kesalahan dependensi yang tidak terpenuhi terjadi ketika dependensi paket tidak tersedia untuk instalasi
Kemungkinan penyebab
Mari kita coba untuk mengatasinya
Pastikan semua repositori default diaktifkan
-> Anda dapat dengan mudah menambahkannya di
Software Center
-> Edit-> Sumber Perangkat Lunak-> Sumber Lainnya-> Tambah "-> Mulai
Software Center
.->. Pada panel pergi ke
Edit
dan pilihSoftware Sources
.-> Pastikan semua repositori dicentang
Perbarui katalog perangkat lunak
klik ikon kanan atas dan pilih Entri yang tersedia untuk pembaruan di menu
dan tekan tombol periksa
4. ketik ctrl+ alt+ tuntuk membuka terminal dan ketik
sudo apt-get install -f
5.Purge ppa yang baru ditambahkan menggunakan ppa-purge ppa-purge
Sintaksis
Contoh
Lain jenis ctrl+ alt+ tuntuk membuka terminal dan ketik
sudo apt-get install -f
dan ikuti petunjuk pada layarJika masih ada kesalahan, jangan ragu untuk bertanya di askbuntu
sumber
... jangan lupa tentang `build-dep`
Selain jawaban-jawaban di atas - saya harus mengakui saya terkejut bahwa tidak ada yang menyebutkan pendekatan ini yang, yang selalu saya gunakan sebagai "peluru perak" setiap saat saya menemukan konflik apt-get atau paket yang belum terselesaikan (atau bahkan jika sistemnya keras kepala .... ha!).
DIedit: menggunakan
sudo dpkg -r [package]
dianjurkan karena memiliki fungsi penghapusan yang cukup kuat. Karenaapt-get
bekerja bersama dengandpkg
, yang berartiapt-get
akan mematuhidpkg
fungsinya.Anda memanggil apt-get untuk membersihkan paket gagal yang Anda coba instal dalam sistem, dan kemudian Anda memanggil perintah build-dep, yang apt-get akan ambil dan instal dependensi yang secara individual milik paket ini, sehingga dengan cara itu mereka akan memuaskan paket sebelumnya. Kemudian akhirnya, panggil apt-get install:
.... 'Ugh! Mari putar lengan Anda sampai Anda berteriak, "Paman!"
Ini jarang terjadi selama bertahun-tahun saya menggunakan linux, tapi saya jarang menggunakan pendekatan ini dan berhasil. Ini adalah contoh untuk perjuangan baru-baru ini yang saya lakukan sebelumnya sebulan yang lalu dengan paket
mysql-client/mysql-server
. Setelah selusin upaya gagal untuk mereset kata sandi root saya dengan server mysql (bahkan melalui --skip-grant-tables tetapi gagal), saya akhirnya berhasil 'memutar lengan Linux sampai berteriak "Paman!"':apt-get autoclean
adalah kunci dalam solusi inisumber
Selama instalasi paket i386 dalam 64 bit sistem Multiarch Ubuntu
Jika Anda mencoba untuk menginstal paket yang tergantung pada banyak paket i386, kesalahan dependensi yang disebutkan di atas juga akan disebabkan jika Anda gagal menambahkan arsitektur i386 dengan menjalankan
sudo dpkg --add-architecure i386
perintah.Contoh:
sumber
vlc
) setelah menginstal skype dan saya mendapatkan dependensi yang belum terpenuhi. Saya keluar dari situasi yang sama dengan menambahkan:amd64
di akhir nama paket yang menyebabkan kesalahan. bagaimana Anda pulih? solusi apa yang terbaik?Setelah mencoba mendekati setiap metode yang disebutkan di utas ini (dan lainnya) saya hampir menyerah. Saya telah memutakhirkan Debian Lenny saya menjadi Squeeze, dan saya tidak bisa seumur hidup mencari tahu mengapa PHP5, Apache, MySQL, dll. Tidak ingin menginstal. Akhirnya saya coba pakai
..dan itu bekerja dengan sempurna! ( Hati-hati, ini mungkin menghancurkan file konfigurasi Anda, jadi buat cadangannya! )
sumber
Apa yang berhasil bagi saya adalah menginstal ulang ketergantungan. Ini adalah kasus di mana versi yang diinstal lebih baru daripada yang terbaru (apa yang ditunjukkan sinaptik). Ini sebenarnya setara untuk memungkinkan synaptic untuk menurunkan versi paket dependensi.
Hal lain yang berhasil adalah menggunakan "aptitude":
sumber
Jika Anda mendapatkan kesalahan seperti ini:
Ini memberi tahu Anda bahwa paket sudah diinstal, tetapi belum menginstal semua paket lain yang harusnya berfungsi. Anda harus dapat menyelesaikan ini dengan menjalankan ini:
(Perintah ini akan secara otomatis menginstal dependensi yang belum terpenuhi.)
atau sesuatu seperti ini (dengan paket yang relevan) :
Tetapi jika Anda berakhir dengan kesalahan semacam ini:
Anda kemudian dapat mencari cara untuk menginstalnya di sini atau di sini .
Dengan contoh di atas, Anda seharusnya dapat menemukan halaman seperti ini , dan kemudian menggunakan PPA , atau menginstal .deb untuk 32bit , atau .deb untuk 64bit .
sumber