Saya telah melihat beberapa kali orang dengan dependensi yang tidak terpenuhi, yang apt-get tidak memberi tahu secara langsung apa masalahnya, seperti ini:
The following packages have unmet dependencies:
libgl1-mesa-dri:i386 : Depends: libdrm-intel1:i386 (>= 2.4.38) but it is not going to be installed
Depends: libdrm-nouveau2:i386 (>= 2.4.38) but it is not going to be installed
Depends: libdrm-radeon1:i386 (>= 2.4.31) but it is not going to be installed
Depends: libdrm2:i386 (>= 2.4.38) but it is not going to be installed
Depends: libglapi-mesa:i386 but it is not going to be installed
libgl1-mesa-glx:i386 : Depends: libdrm2:i386 (>= 2.3.1) but it is not going to be installed
Depends: libglapi-mesa:i386 (= 9.2.1-1ubuntu3) but it is not going to be installed
Depends: libx11-6:i386 (>= 2:1.4.99.1) but it is not going to be installed
Depends: libxcb-dri2-0:i386 (>= 1.8) but it is not going to be installed
Depends: libxcb-glx0:i386 (>= 1.8) but it is not going to be installed
Depends: libxcb1:i386 but it is not going to be installed
Depends: libxdamage1:i386 (>= 1:1.1) but it is not going to be installed
Depends: libxext6:i386 but it is not going to be installed
Depends: libxfixes3:i386 but it is not going to be installed
Depends: libxxf86vm1:i386 but it is not going to be installed
Saya tahu bahwa berjalan melalui semua dependensi apt-get install libgl1-mesa-dri:i386 libdrm-intel1:i386
sampai saya menekan sesuatu yang tersedia, tetapi dalam hal ini akan menjadi pekerjaan yang menyakitkan karena jumlah paket. Apakah ada cara yang lebih mudah untuk melakukan ini?
Jawaban yang Diterima:
Hal pertama yang masuk akal untuk dicoba adalah bertanya dengan tepat mengapa ia melakukan apa yang dilakukannya. Ini dapat dilakukan dengan -o Debug::pkgProblemResolver=yes
pilihan. Mis.
apt-get -o Debug::pkgProblemResolver=yes install libgl1-mesa-dri:i386 libdrm-intel1:i386
Jika apt tidak muncul, pendekatan standar untuk men-debug masalah tersebut adalah dengan memeriksa nomor prioritas dari versi yang tersedia dari setiap paket yang disebutkan dalam pesan kesalahan. Ini biasanya dilakukan dengan menggunakan apt-cache policy
.
Misalnya, untuk menggunakan hanya bagian pertama dari pesan kesalahan, Anda harus menjalankan
apt-cache policy libgl1-mesa-dri:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libglapi-mesa:i386
Bagaimana seseorang melanjutkan kemudian tergantung pada apa yang ditunjukkan ini. Sering juga berguna untuk menjalankan saja
apt-cache policy
yang akan menampilkan semua sumber paket yang tersedia, bersama dengan nomor prioritasnya. Informasi ini biasanya ditentukan dalam satu atau kedua /etc/apt/sources.list
atau /etc/apt/sources.list.d
.
Orang yang mencoba mendapatkan bantuan di sini harus terlebih dahulu mengeposkan hasil dari perintah ini dalam pertanyaan mereka . Itu mungkin akan menjadi informasi yang cukup untuk menentukan masalahnya.
Terkait:Masalah UpdatePanel DataTable?Contoh masalah kehidupan nyata:
-
Dependensi yang tidak terpenuhi setelah menggunakan repositori
backports:Pengguna
menyertakan sumber untukwww.deb-multimedia.org
, tanpa menyematkannya ke prioritas
yang lebih rendah. Jangan pernah menyertakan sumber pihak ketiga tanpa menyematkannya ke
prioritas yang lebih rendah. Perhatikan bahwa ini tidak diperlukan untuk
repositori yang berperilaku baik yang menyediakan paket untuk rilis
default, tetapiwww.deb-multimedia.org
terkenal karena tidak bermain
dengan baik dengan Debian, dan secara umum, Anda tidak boleh mempercayai sumber yang tidak dikenal.
Secara umum, jika Anda mengetahui bahwa repositori tidak dirancang untuk digunakan dengan sistem
Anda , sematkan pada prioritas yang lebih rendah. Misalnya. pengujian/sumber tidak stabil di Debian
stabil. -
Ketergantungan yang tidak terpenuhi:Pengguna
entah bagaimana berhasil menginstal versi python yang bukan
versi default di sistemnya. Tentu saja, semuanya kacau balau.
Moral dari cerita ini, pastikan Anda hanya menginstal versi
paket yang benar untuk sistem Anda. Seperti di atasapt-cache policy pkgname
akan memberitahu Anda. -
dpkg / apt-get ingin menginstal dan menimpa paket
yang berbeda:Pengguna mencoba
untuk menginstal paket meskipundpkg
yang mendasarinya basis data
rusak. Pesan moral, jika Anda melihat pesan yang berasal daridpkg
bahwa ada sesuatu
yang salah dengan paket Anda, dalam hal ini0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2 not fully installed or removed.
database paket Anda bermasalah. Perbaiki dulu, sebelum Anda mencoba memasang
yang lain. Jikaapt-get -f install
tidak berfungsi, Anda mungkin perlu
mengoperasikandpkg
tingkat untuk memperbaiki berbagai hal.