Pertanyaan Tidak dapat memperbaiki masalah, Anda telah mengadakan paket yang rusak


Setelah meningkatkan dari 10.04 ke 12.04 saya mencoba menginstal paket yang berbeda. Misalnya ia32-libs dan skype (4.0).

Ketika mencoba untuk menginstal ini, saya mendapatkan pesan kesalahan 'Tidak dapat memperbaiki masalah, Anda telah mengadakan paket rusak'.

Output dari perintah:

sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Setelah menjalankan ini:

sudo dpkg --configure -a
foo@foo:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

177
2017-11-28 23:48


asal


Mungkin membantu jika Anda menunjukkan kepada kami perintah yang sebenarnya Anda coba (seperti sudo apt-get install ia32-libs) dan output dari perintah itu. Juga, tidak sudo apt-get dist-upgrade tampilkan pembaruan yang tersedia? - thomasrutter
Saya tidak tahu apa yang salah dengan pertanyaan Anda, saya tidak melihat kesalahan yang sebenarnya, atau yang Anda gambarkan dalam judul Anda. - Braiam
kemungkinan duplikat dari Bagaimana cara saya menyelesaikan dependensi yang tidak terpenuhi? - Eliah Kagan
Terkait: E: Tidak dapat memperbaiki masalah, Anda telah mengadakan paket yang rusak - Melebius


Jawaban:


Pesan kesalahan khusus itu mungkin menunjukkan bahwa Anda telah memegang paket, tetapi mungkin juga menunjukkan masalah yang berbeda.

Anda bisa mendapatkan daftar sebenarnya mengadakan paket dengan:

dpkg --get-selections | grep hold

Jika tidak ada, atau tidak ada yang terlihat terkait, maka itu mungkin sesuatu yang lain. Periksa dengan hati-hati output dari perintah yang Anda coba ketika Anda mendapat pesan kesalahan, karena mungkin ada petunjuk lain dalam output penuh dari perintah itu, selain dari pesan kesalahan.

Metode pemecahan masalah lainnya mungkin menggunakan aptitude daripada apt-get untuk mencoba menginstal paket Anda:

sudo aptitude install <packagename>

Aptitude akan berkurang dengan mudah, dan akan berusaha mencari solusi yang mungkin melibatkan modifikasi paket-paket lain. Ini mungkin memberi Anda lebih banyak penjelasan tentang masalah dan opsi untuk memperbaikinya.

Kadang-kadang aptitude akan terlalu bersemangat untuk menghapus atau menurunkan sejumlah besar paket untuk memenuhi permintaan Anda, dalam hal ini mencoba kembali dengan -f mengubah prioritasnya dan membantunya menghasilkan solusi yang melibatkan penghapusan / penurunan paket yang lebih sedikit meskipun itu berarti tidak semua perubahan yang Anda minta dapat dilakukan:

sudo aptitude -f install <packagename>

198
2017-11-29 01:58



Tahu bagaimana cara menahan paket? :-) - Eugene van der Merwe
Itu adalah pertanyaan terpisah. - thomasrutter
Bakat lebih bermanfaat bagi saya daripada apt-get, terima kasih atas petunjuknya. - szx
Satu hal yang perlu diperhatikan adalah bahwa bakat dapat mempermudah untuk melakukan lebih banyak kerusakan pada sistem Anda. Sebagai contoh, jika apt-get gagal menginstal sesuatu karena dependensi yang saling bertentangan itu akan menyerah. Namun, bakat mungkin menawarkan untuk pergi ke depan, tetapi uninstall sejumlah besar paket lain untuk memenuhi konflik mereka - atau bahkan downgrade paket. Anda hanya perlu menyadari apa yang disarankan dan dilanjutkan hanya jika itu adalah ide yang baik. - thomasrutter
The "ditahan" paket tidak ada hubungannya dengan pesan, hanya saja konflik itu dihindari dengan menahan mereka turun (tidak menginstal, upgrade, downgrade, atau menghapus). - Braiam


Itu juga terjadi pada saya. Yang saya lakukan hanyalah sudo apt-get update dan itu memperbaiki masalah saya. Semoga berhasil.


23
2017-08-27 02:43





Saya mengalami skenario serupa terkait dependensi yang hilang. Dalam kasus saya, saya mencoba menginstal curl di ubuntu saucy salamander 13.10 ...

Kesalahan menyatakan bahwa ketergantungan membutuhkan versi sebelumnya dari perpustakaan curl3.

Saya bisa menurunkan ke versi sebelumnya dengan mencoba menginstal curl menggunakan aptitude.

Ketika mencatat ketergantungan yang hilang, dan alasannya (diperlukan versi sebelumnya dari file perpustakaan), itu memberi saya beberapa pilihan dalam cara menanggapi ... y //n/q

Y akan membatalkan pemasangan, N akan mencari opsi lain, dan Q hanya akan berhenti dan tidak melakukan apa-apa lagi, meninggalkan paket yang rusak.

Saya memilih N, dan itu memberi saya opsi untuk menurunkan versi pustaka ke versi sebelumnya. Jadi itulah yang saya lakukan, dan meringkuk selesai menginstal tanpa kesalahan lagi.

  • Saya mungkin ingin memperbarui file pustaka setelah menginstal, tapi hei, sejauh ini bagus.

7
2018-03-02 06:53





Saya memiliki skenario serupa dalam instalasi baru 14.04, tanpa file yang terdaftar dpkg --get-selections | grep hold, dan tidak ada kebahagiaan setelahnya sudo apt-get update.

Apa melakukan memperbaikinya bagi saya adalah sederhana

sudo apt-get autoremove

Ketika saya mencoba untuk menginstal ulang paket yang gagal itu bekerja dengan baik. Yay!


7
2017-07-27 13:41





Memiliki masalah yang sama, saya menjalankan perintah pemeriksaan paket dari jawaban lainnya (dpkg --get-selections | grep hold)  dan lihat

tomcat7                                         deinstall
tomcat7-common                                  install

jadi saya menggunakan "apt-get remove tomcat7-common"

Kemudian saya dapat menginstal Tomcat 6 (saya menghapus Tomcat 7 dan menginstal Tomcat 6 seperti yang Anda lakukan).


4
2017-10-03 11:03



The "ditahan" paket tidak ada hubungannya dengan pesan, hanya saja konflik itu dihindari dengan menahan mereka turun (tidak menginstal, upgrade, downgrade, atau menghapus) - Braiam
tambahkan pembersihan flag: apt-get remove --purge packet - Sergio Abreu


Bagi saya, semua hal di atas tidak berhasil karena sistem saya tidak diperbarui. aku melakukannya

Home Key > Software Updater > Install 

dan memperbarui sistem saya; setelah itu, saya bisa menginstal paket saya biasanya dengan apt.


0
2018-05-25 14:01