Saya telah mencoba memperbarui paket standar pada kotak Ubuntu saya. Sebenarnya tidak ada tambahan di kotak ini kecuali untuk VirtualBox untuk beberapa hal Windows yang saya jalankan. Ini satu keluaran:
$ sudo apt-get update
[...]
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
libgail-3-0 : Depends: libgtk-3-0 (= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed
libgtk-3-0 : Depends: libgtk-3-common (= 3.6.0-0ubuntu3.1) but 3.6.0-0ubuntu3.2 is installed
libgtk-3-bin : Depends: libgtk-3-0 (>= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed
Dan satu lagi dengan opsi -f:
$ sudo apt-get -f upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be upgraded:
libgtk-3-0 overlay-scrollbar-gtk3
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
26 not fully installed or removed.
Need to get 0 B/2,397 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 203437 files and directories currently installed.)
Preparing to replace libgtk-3-0:amd64 3.6.0-0ubuntu3.1 (using .../libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb) ...
Unpacking replacement libgtk-3-0:amd64 ...
dpkg: error processing /var/cache/apt/archives/libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules', which is also in package ibus-gtk3:amd64 1.4.1-7ubuntu1
Preparing to replace overlay-scrollbar-gtk3:amd64 0.2.16+r357-0ubuntu1 (using .../overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb) ...
Unpacking replacement overlay-scrollbar-gtk3:amd64 ...
dpkg: error processing /var/cache/apt/archives/overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/gtk-3.0/modules', which is also in package libcanberra-gtk3-module:amd64 0.29-0ubuntu2
Errors were encountered while processing:
/var/cache/apt/archives/libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb
/var/cache/apt/archives/overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ini output apt-cache policy
untuk semua paket yang terkait: pastebin d3YcjPmJ . Semua tampaknya berasal dari saluran resmi quantal
dan quantal-updates
rilis dan cermin resmi.
Saya juga sudah mencoba sudo apt-get -f install
, sudo apt-get dist-upgrade
dan sudo apt-get clean && sudo rm -r /var/cache/apt/archives/
, tetapi semuanya mengarah ke kesalahan yang sama.
apt
updates
package-management
dpkg
Logan Terbaik
sumber
sumber
/var/cache/apt/archives/
direktori dan memperbarui lagi?sudo apt-get clean && sudo rm -r /var/cache/apt/archives/
sudo dpkg -r libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb && sudo dpkg -r overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb
dan kemudiansudo apt-get -f install && sudo apt-get update && sudo apt-get upgrade
Jawaban:
Oke, jika Anda masih mengalami masalah ini, itu terjadi karena beberapa paket tidak akan berfungsi jika versi rekan-rekan mereka tidak sama.
Seperti yang Anda lihat libgail-3-0 membutuhkan libgtk-3-0 menjadi 3.6.0-0ubuntu3. 2 tetapi libgtk-3-0 membutuhkan libgtk-3-common menjadi 3.6.0-0ubuntu3. 1 perbedaan versi .1. Jadi, karena libgtk-family tidak bisa dari versi yang berbeda, apt-get mendapat kesalahan dependensi yang luar biasa. Jadi bagaimana cara mengatasinya? Kami menggunakan
hold
status paket:Dengan ini, Anda dapat memutakhirkan secara normal sampai konflik ketergantungan diselesaikan di repositori Ubuntu.
Setelah Anda merasa dapat memperbolehkan upgrade, jalankan saja:
Opsi lain adalah memaksa versi untuk diinstal:
Ini akan memberitahu apt-get untuk menginstal semuanya menggunakan nomor versi yang sama.
sumber
Bagi siapa saja yang masih memiliki masalah tersebut.
Saya percaya mereka muncul ketika Anda secara manual menghapus beberapa paket tetapi tidak membersihkan semua sampah yang mereka tinggalkan. Dalam kasus saya, saya
libgtk
masih menginstal dan itu adalah versi yang lebih baru maka saya ingin menginstal. Jadi itu benar-benar tidak tahu apa yang harus dilakukan dengan berbagai versi perpustakaan.Setelah hanya menghapus
libgtk-3-0
paket dan lainnya dengan masalah yang sama semuanya berjalan dengan baik.PS. Perhatikan bahwa jika Anda sudah selesai
echo "libgtk-3-0 hold" | sudo dpkg --set-selections
maka Anda HARUS lakukanecho "libgtk-3-0 install" | sudo dpkg --set-selections
untuk dapat menghapus paket ini.sumber