J'ai essayé de mettre à jour des packages standard sur ma boîte Ubuntu. Il n'y a littéralement rien de plus sur cette boîte, sauf VirtualBox pour certains trucs Windows que je lance. Voici une sortie:
$ 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
Et un autre avec l'option -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)
Voici la sortie de apt-cache policy
tous les packages concernés: pastebin d3YcjPmJ . Tous semblent provenir de la chaîne officielle quantal
et de quantal-updates
sortie et d'un miroir officiel.
J'ai également essayé sudo apt-get -f install
, sudo apt-get dist-upgrade
et sudo apt-get clean && sudo rm -r /var/cache/apt/archives/
, mais tous conduisent à la même erreur.
apt
updates
package-management
dpkg
Logan Best
la source
la source
/var/cache/apt/archives/
répertoire et la mise à jour à nouveau?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
puissudo apt-get -f install && sudo apt-get update && sudo apt-get upgrade
Réponses:
Ok, si vous rencontrez toujours ce problème, il se produit parce que certains package ne fonctionnera pas si les versions de leurs pairs ne sont pas les mêmes.
Comme vous pouvez le voir, libgail-3-0 nécessite que libgtk-3-0 soit 3.6.0-0ubuntu3. 2 mais libgtk-3-0 exige libgtk-3 commun d'être 3.6.0-0ubuntu3. 1 une diference de .1 versions. Ainsi, depuis libgtk-famille ne peut pas être de différentes versions, apt-get obtient une erreur de dépendance expectacular. Alors comment résoudre ça? Nous utilisons l'
hold
état de l' emballage:Avec cela, vous pouvez mettre à niveau normalement jusqu'à ce que les conflits de dépendance soient résolus dans les référentiels Ubuntu.
Une fois que vous sentez que vous pouvez autoriser les mises à jour, il suffit d'exécuter:
Une autre option consiste à forcer l'installation des versions:
Ceci va dire apt-get pour installer tout en utilisant le même numéro de version.
la source
Pour tous ceux qui ont encore ces problèmes.
Je pense qu'ils apparaissent lorsque vous supprimez manuellement certains packages, mais ne nettoyez pas tous les déchets qu'ils laissent. Dans mon cas, j'avais
libgtk
toujours installé et c'était une version plus récente que je voulais installer. Il ne savait donc vraiment pas quoi faire des différentes versions de la bibliothèque.Après avoir simplement supprimé le
libgtk-3-0
et d'autres packages avec des problèmes similaires, tout s'est bien passé.PS. Notez que si vous l'avez fait
echo "libgtk-3-0 hold" | sudo dpkg --set-selections
, vous DEVEZ le faireecho "libgtk-3-0 install" | sudo dpkg --set-selections
pour pouvoir supprimer ce package.la source