Ketergantungan yang belum terpenuhi - tidak dapat menghapus paket libgbm1

13

Dalam hal ini saya libgbm1ditahan, memberi saya pesan seperti:

Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Karena saya membaca dengan seksama Bagaimana cara menyelesaikan dependensi yang tidak terpenuhi setelah menambahkan PPA? Saya mencoba menghapus paket yang rusak dengan sudo apt-get remove libgbm1seperti yang disarankan. Namun, perintah hapus memberi saya kesalahan yang sama.

sudo apt-get upgradetidak memutakhirkan paket ini ( "...and 1 not upgraded."). Dan saya perlu yang ini untuk membangun beberapa paket lain yang tergantung padanya ( pkgProblemResoverbermasalah lagi). Sepertinya saya tidak dapat mengembalikan versi atau bergerak maju.

Langkah-langkah yang pernah saya coba:

  • menonaktifkan beberapa repositori ppa software updatesdan sudo apt-get updatekemudian mencoba memperbaikinya dengan apt, yang tidak berhasil.
  • sudo apt-get -f installdengan and 1 not upgraded.
  • mencoba menginstal paket yang libgbm1tergantung pada. Tetapi lebih banyak paket datang dan dengan cepat menumpuk hingga puluhan, yang tampaknya tidak dapat diandalkan untuk ditangani, dan mereka juga melaporkan kesalahan serupa.

Mengapa saya tidak bisa menghapus paket? Bagaimana memperbaikinya?

knh170
sumber

Jawaban:

23

Masalahnya di sini adalah untuk mengunci paket pembuat masalah dan menendang keluar. Kemudian Anda dapat memperbaiki dependensi yang tidak konsisten dengan sudo apt-get -f install.

Jadi dengan hati-hati Anda dapat menggunakan: sudo dpkg --force-all -P libgbm1untuk memaksa menghapus yang rusak. Perintah ini dapat merusak sistem Anda, jadi Anda harus melihatnya. Dan mencoba untuk memperbaiki: sudo apt-get -f install.

Jika ada paket yang rusak juga, ulangi langkah-langkah di atas dengan hati-hati. Dan setiap kali Anda menghapus paket yang rusak, cobalah untuk memperbaikinya. Saya menangani masalah saya dalam kasus ini.

knh170
sumber
Terima kasih, dua hari kesakitan sebelumnya untuk menemukan jawaban Anda! Namun saya harus menyelesaikan jawaban Anda karena saya harus menjalankan sudo apt --fix-broken installsetelah sudo dpkg --force-all -P libgbm1menyelesaikan instalasi
Jérémy Pouyet
4

Alih-alih bergegas untuk menghapus paket Anda yang rusak menggunakan --force-allopsi dpkg, pertama coba hapus tanpa opsi ini, hanya menggunakan

dpkg -P package-name

Dalam kasus saya, dpkgdicetak mengapa ia tidak bisa menghapus paket ini: paket lain bergantung padanya. Setelah saya menghapus tanggungan, paket yang rusak akhirnya bisa dihapus, tanpa ada --force-anything.

Ini mungkin memerlukan beberapa pemindahan rekursif dalam kasus ketika tanggungan juga rusak, tetapi hasil akhirnya harus memperbaiki rantai ketergantungan, yang apttidak dapat memperbaiki, dengan pemindahan.

Ruslan
sumber
1
Ini adalah satu-satunya solusi yang dapat saya temukan yang berfungsi untuk membantu saya dengan masalah saya, tidak dapat menginstal karena dependensi yang tidak terpenuhi
wlh