Às vezes, se tudo estiver quebrado, esse comando ajuda.
sudo dpkg --configure -a
Eu recentemente cometi o erro de tentar instalar uma versão mais nova do libattr1 da Trusty na minha instalação Precise para que eu pudesse usar o mais novo CMake da Trust (má ideia, eu sei). Na metade da instalação, ele falhou com um erro. Agora, o Centro de Software quer que eu repare o catálogo de pacotes. Quando eu tento, no entanto, eu entendo isso:
O Apt-get apresenta um erro um pouco mais descritivo quando tento instalar algo:
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:
libattr1 : Breaks: libattr1:i386 (!= 1:2.4.46-8ubuntu2) but 1:2.4.46-5ubuntu1 is installed
libattr1:i386 : Breaks: libattr1 (!= 1:2.4.46-5ubuntu1) but 1:2.4.46-8ubuntu2 is installed
E: Unmet dependencies. Try using -f.
Parece ser um problema de dependência circular ou algo assim. Quando executo sudo apt-get install -f
, aparece:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
bluez-alsa:i386 libsdl-ttf2.0-0:i386 libgconf-2-4:i386 libstdc++5:i386
libgail18:i386 libqt4-qt3support:i386 libcupsimage2:i386 libnss3:i386
gtk2-engines:i386 libgudev-1.0-0:i386 libcairo-gobject2:i386
libavc1394-0:i386 libaio1:i386 odbcinst1debian2:i386 libqt4-test:i386
libqt4-designer:i386 libsdl-mixer1.2:i386 libcap2:i386 libproxy1:i386
ibus-gtk:i386 libdbus-glib-1-2:i386 libtdb1:i386 libspeex1:i386
libibus-1.0-0:i386 libcanberra-gtk-module:i386 libcanberra0:i386
gtk2-engines-murrine:i386 libwavpack1:i386 libqt4-opengl:i386
libsoup-gnome2.4-1:i386 gstreamer0.10-plugins-good:i386 libiec61883-0:i386
libsdl-image1.2:i386 libxaw7:i386 libgdbm3:i386 libesd0:i386 libmikmod2:i386
libpulse-mainloop-glib0:i386 libaa1:i386 libao4:i386 pax libxmu6:i386
libcanberra-gtk0:i386 libvorbisfile3:i386 libqt4-svg:i386
libgail-common:i386 libraw1394-11:i386 libnspr4:i386 libshout3:i386
libdv4:i386 rpm librpmbuild2 gstreamer0.10-x:i386 libsdl-net1.2:i386
libgnome-keyring0:i386 libxtst6:i386 gtk2-engines-pixbuf:i386
libtag1c2a:i386 libssl0.9.8:i386 libmad0:i386 gtk2-engines-oxygen:i386
lib32z1 xaw3dg:i386 librpmsign0 libpulsedsp:i386 libodbc1:i386
libqt4-scripttools:i386 lsb-core libxp6:i386 alien libxmlrpc-core-c3
ncurses-term icc-profiles-free glib-networking:i386 libsoup2.4-1:i386
libtag1-vanilla:i386 libaudiofile1:i386
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
google-earth-stable ia32-libs ia32-libs-multiarch:i386 libacl1:i386
libattr1:i386 softmaker-freeoffice
0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 484 MB disk space will be freed.
Do you want to continue [Y/n]?
O pensamento de remover todos os pacotes que parecem críticos me assusta. O que devo fazer? Eu nem ouso reiniciar meu computador agora.
Às vezes, se tudo estiver quebrado, esse comando ajuda.
sudo dpkg --configure -a
Resolvido! Eu verifiquei a resposta apontada nos comentários e acabou fazendo isso:
sudo mv /usr/share/doc/libattr1/changelog.Debian.gz # /usr/share/doc/libattr1/changelog.Debian.gz.old
# the above was because apt-get was complaining about files not being the same
sudo apt-get install -f libattr1=1:2.4.46-5ubuntu1