Mise à niveau vers 18.04 et a maintenant de nombreux packages cassés et dépendances non satisfaites

16

J'ai fait une terrible erreur et mis à niveau vers 18.04 sans faire de sauvegarde dans une partition différente en faisant:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt-get autoremove
sudo apt install update-manager-core
sudo do-release-upgrade -d

Ensuite, j'ai mis à jour et mis à niveau les commandes après un redémarrage. Il existe maintenant de nombreux problèmes avec les dépendances non satisfaites et les packages cassés que les sudo apt-get -f installcommandes ne peuvent pas résoudre. MISE À JOUR La première partie de la sortie du journal des erreurs sudo apt install -f est:

    Reading package lists...
Building dependency tree...
Reading state information...
Correcting dependencies... failed.
The following packages have unmet dependencies:
 gnome-calendar : Depends: gsettings-desktop-schemas (>= 3.21.2) but 3.18.1-1ubuntu1 is installed
 gnome-session : Depends: gnome-shell (>= 3.25.91-0ubuntu4~) but it is not installed
                 Depends: gnome-session-bin (>= 3.28.1-0ubuntu2) but 3.18.1.2-1ubuntu1.16.04.2 is installed
                 Depends: gnome-session-common (= 3.28.1-0ubuntu2) but 3.18.1.2-1ubuntu1.16.04.2 is installed
                 Depends: xwayland but it is not installed
                 Recommends: fonts-cantarell but it is not installed
                 Recommends: adwaita-icon-theme-full
                 Recommends: gnome-themes-extra but it is not installed
 gnome-settings-daemon : Depends: libgnome-desktop-3-17 (>= 3.17.92) but it is not installed
                         Depends: gsettings-desktop-schemas (>= 3.20) but 3.18.1-1ubuntu1 is installed
 hplip : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 libc-dev-bin : Depends: libc6 (< 2.24) but 2.27-3ubuntu1 is installed
 libc6-dbg : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
 libc6-dev : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
 libgmime-3.0-0 : Depends: libgpgme11 (>= 1.7.0) but 1.6.0-1 is installed
 libreoffice-avmedia-backend-gstreamer : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-base-core : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-calc : Depends: libreoffice-base-core (= 1:6.0.3-0ubuntu1) but 1:5.1.6~rc2-0ubuntu1~xenial3 is installed
                    Depends: liborcus-0.13-0 (>= 0.13.3) but it is not installed
 libreoffice-core : Depends: libgpgmepp6 (>= 1.10.0) but it is not installed
                    Depends: liborcus-0.13-0 (>= 0.13.3) but it is not installed
                    Depends: libpoppler73 (>= 0.62.0) but it is not installed
                    Depends: libxmlsec1 (>= 1.2.25) but it is not installed
                    Depends: libxmlsec1-nss (>= 1.2.25) but it is not installed
 libreoffice-gnome : Depends: libreoffice-gtk3 but it is not installed
 libreoffice-gtk : Depends: libreoffice-gtk2 but it is not installed
 libreoffice-math : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-writer : Depends: libreoffice-base-core (= 1:6.0.3-0ubuntu1) but 1:5.1.6~rc2-0ubuntu1~xenial3 is installed
                      Depends: libabw-0.1-1 but it is not installed
                      Depends: libepubgen-0.1-1 (>= 0.1.0) but it is not installed
 libtotem0 : Depends: libgnome-desktop-3-17 (>= 3.17.92) but it is not installed
 libwayland-egl1-mesa : Depends: libegl1 but it is not installed
 libwebkitgtk-1.0-0 : Depends: libjavascriptcoregtk-1.0-0 (= 2.4.11-0ubuntu0.1) but 2.4.11-3ubuntu3 is installed
                      Depends: libwebkitgtk-1.0-common (>= 2.4.11) but it is not installable
 nautilus : Depends: libgnome-desktop-3-17 (>= 3.18.1) but it is not installed
 python3-brlapi : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 python3-cffi-backend : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 python3-crypto : Depends: python3 (< 3.6) but 3.6.5-3 is installed

et

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

Essayer de réparer des paquets cassés dans Synaptic produit ce message d'erreur:

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

Il ne semble pas y avoir de problème avec le fichier sources.list, et il semble avoir été mis à jour lorsque j'ai essayé l'installation. Je sais à peine ce que je fais et je suis heureux de fournir plus de détails sur les messages d'erreur. S'il y a un moyen d'activer le défilement vers le haut dans xterm, c'est ce que j'utilise maintenant car le terminal Gnome ne peut pas être ouvert.

Je voudrais supprimer les 47 paquets cassés et les paquets retenus, les réinstaller correctement ou ne pas les installer pour l'instant si c'est une option (c'est-à-dire pour des choses comme LibreOffice, qui n'est pas un besoin actuel), et pouvoir utiliser le Terminal Gnome.

Je cherche des étapes pour les débutants pour résoudre tous ces problèmes. Existe-t-il un guide sur la façon de commencer? Un message évident que j'ai manqué dans mes recherches de réponses? Je pense que ce post va dans la bonne direction, mais c'est un peu au-dessus de ma tête. Toute aide est très appréciée. Je me demande s'il serait vraiment plus facile de démarrer à partir d'une nouvelle installation 16.04.

k.mat27
la source
Essayez sudo apt-get install -fet dpkg --configure -a.
N0rbert
1
@ N0rbert OP dit install -fdéjà exécuté.
WinEunuuchs2Unix
1
Vous pouvez essayer aptitude, cela réussit parfois mieux à corriger une mauvaise arborescence de packages.
Sebastian Stark
Pourquoi avez-vous utilisé l'option -d sur do-release-upgrade? Honnêtement, la solution la plus simple consiste à faire une installation propre, si vous le pouvez.
chasse
J'ai fait le -d parce que je me sentais apparemment libre et libre de fantaisie un vendredi matin et Internet me l'a dit, donc tout autour d'un ensemble vraiment horrible de décisions. Inutile de dire que j'ai appris ma leçon .. des installations propres ou au moins être patient pour la première version sera mon go-to à l'avenir.
k.mat27

Réponses:

9

J'ai eu exactement le même problème. J'ai dû aller éditer /var/lib/dpkg/statuset effacer toute la ligne Depends: des paquets qui se plaignaient.
Je ne sais pas quels autres problèmes peuvent causer, mais c'était la seule chose qui apt-get install -ffonctionnait à nouveau.

dmattp
la source
La suppression de la ligne de dépendance est-elle une solution rapide pour me permettre d'installer les versions demandées par les packages afin de faire fonctionner ces packages? Quelle a été votre prochaine décision après cela? J'ai édité ma question d'origine pour montrer quelques-unes des erreurs liées à la version python car je crains qu'elles ne fassent partie intégrante de la fonction de 18.04 dans son ensemble, mais si vous aviez du succès avec cela, j'envisagerais de l'essayer.
k.mat27
1
Fondamentalement, je pense que cela permet à "apt get" de continuer plutôt que de bombarder et de refuser de faire quoi que ce soit, car il y a beaucoup d'erreurs de dépendance. Après avoir retiré les dépendances de chaque paquet averti, j'ai lancé "apt-get install -f" puis je pense que "apt get upgrade", qui a procédé à la configuration / installation d'environ 800 packages. Il semblait avoir été bloqué au milieu de la mise à niveau 18.04, avec un tas d'installations en attente. Une fois la mise à niveau terminée, tout semble normal et j'utilise ce qui semble être un système 18.04 stable.
dmattp
1
Assurez-vous également de sauvegarder le fichier "état" avant de le modifier! Si vous bork le fichier avec des modifications manuelles, vous devrez restaurer à partir de la sauvegarde.
dmattp
Après avoir sauvegardé le fichier d'état, j'ai essayé votre solution. J'ai dû répéter les étapes plusieurs fois, puis j'ai dû désinstaller un cintre (quelque chose que je n'utilise pas de toute façon), ce que j'ai fait via Synaptic. Je peux maintenant installer des choses, ce qui est génial, mais comme mise en garde pour ceux qui peuvent essayer, je ne peux toujours pas utiliser les logiciels et les mises à jour et les choses gnome qui sont venus en standard avec 16.04 ... ce qui me convient, mais pourrait être mauvais pour autres. Je vous remercie! Je serai patient avec la vraie version du 18.04 - que je saluerai en sauvegardant à nouveau et en effectuant une installation propre ... leçon apprise.
k.mat27
Cela a fonctionné sur mon système. J'ai supprimé toutes les dépendances non satisfaites de / var / lib / dpkg / status
Fahad Naeem
10

Voici quelques choses à essayer.

Première méthode:

C'est le plus simple à essayer. Au lieu d'utiliser sudo apt-get install PACKAGENAME, où PACKAGENAME est le package que vous essayez d'installer avec le système apt, utilisez sudo apt-get install -f. Le paramètre -f tentera de corriger un système qui a des dépendances cassées, après quoi vous pourrez installer le package en question.

Ouvrez un terminal et saisissez:

sudo apt-get install -f

et appuyez sur ENTER.

Tapez maintenant:

sudo dpkg --configure -a

et appuyez sur ENTER.

Maintenant encore une fois:

sudo apt-get install -f

Deuxième méthode:

Aptitude est une alternative à apt-get que vous pouvez utiliser comme gestionnaire de packages de niveau supérieur. Vous pouvez l'utiliser pour essayer d'installer votre paquet avec lui, au lieu d'apt-get, mais vous devez d'abord installer aptitude.

Ouvrez un terminal et saisissez:

sudo apt-get install aptitude

et appuyez sur ENTER.

Tapez maintenant:

sudo aptitude install PACKAGENAME

et appuyez sur ENTER.

PACKAGENAME est le package que vous installez. Cela tentera d'installer le package via aptitude au lieu d'apt-get, ce qui devrait potentiellement résoudre le problème des dépendances non satisfaites.

SI CEUX NE FONCTIONNENT PAS

Le paquet cassé est probablement verrouillé et doit être supprimé. Pour supprimer le fichier verrouillé, ouvrez un terminal et saisissez:

sudo rm /var/lib/apt/lists/lock

et appuyez sur ENTER.

Le fichier verrouillé peut également avoir besoin d'être supprimé dans le répertoire cache. Pour ce faire, ouvrez un terminal et saisissez:

sudo rm /var/cache/apt/archives/lock

J'ai effectué une mise à niveau à partir du 16.04 et rencontrais beaucoup de problèmes différents. J'ai trouvé beaucoup plus facile de faire une nouvelle installation. Une installation fraîche ou propre est toujours la voie à suivre à mon avis.

J'espère que cela t'aides,

Dave
la source
Et que devons-nous faire de votre commande mal formée car sudo dpkg –configure -a(la typographie ne fonctionnera pas dans le terminal)? On dirait copier-coller sans pensée critique. Veuillez modifier votre réponse et être plus précis la prochaine fois!
N0rbert
Eh bien, excusez-moi pour la faute de frappe! Ma faute. Réponse modifiée.
Dave
1
Veuillez ne pas poster la même réponse à de nombreuses questions. Publier la même réponse partout n'est pas une solution «une chose pour tous», et à moins que vous ne puissiez vraiment confirmer que toutes vos solutions suggérées résolvent vraiment les problèmes énoncés, vous devriez fortement reconsidérer la publication de la même réponse partout.
Thomas Ward
Salut Dave, y a-t-il des conséquences négatives qui pourraient survenir en essayant de supprimer le fichier verrouillé et sa présence dans le répertoire cache? Ensuite, dois-je recommencer à essayer votre suggestion de méthode 1 (après avoir installé aptitude pour la première fois!) Ou est-ce susceptible de provoquer le même problème?
k.mat27
L'installation d'aptitude est une méthode différente de la première méthode, donc y revenir serait redondant. En ce qui concerne la suppression du fichier verrouillé, je me suis toujours assuré que je savais à quoi il sert ou si ce fichier particulier est verrouillé parce que, pour une raison quelconque, les dépendances ne sont pas installées (ce qui était mon cas à plusieurs reprises). Dans mon cas, j'ai supprimé les fichiers, puis réinstallé à l'aide d'un gestionnaire de packages. Je recommande fortement Synaptic Package Manager car il peut aider à corriger les dépendances non satisfaites.
Dave
2

Je veux ajouter à cette discussion en disant que lorsque vous utilisez le Software Updater pour effectuer la mise à niveau vers 18.04 et que vous rencontrez un problème, la solution consiste à ouvrir le terminal et à taper:

sudo apt-get autoremove

suivi par ce qui a initialement causé des problèmes ici qui a conduit à cette discussion qui est la suivante:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt-get autoremove
sudo apt install update-manager-core
sudo do-release-upgrade -d
JWeb777
la source
Bienvenue JWeb777 pour demander à Ubuntu! Je recommande de modifier cette réponse pour la développer avec des détails spécifiques expliquant pourquoi le retrait automatique inhibe le problème.
abu_bua
1
Je ne suis pas sûr de comprendre la demande? Mais les problèmes résolus lors de la mise à niveau ont mal tourné. Bref, je me suis retrouvé avec une mise à niveau partielle que les programmes de mise à jour logicielle installés dans Ubuntu n'ont pas pu résoudre la ligne de commande que j'ai publiée dans cet ordre a résolu les ruptures et apporté toutes les lacunes retour à un état de fonctionnement avec la plupart des mises à jour effectuées également sans aucun problème et mise à jour minimale à faire
JWeb777
Si vous
deviez
2

Avec les privilèges root, accédez à var/lib/dpkg/statuset supprimez le contenu du fichier d'état.

Alors sudo dpkg --configure -apuissudo apt-get install -f

Ensuite, installez ce que vous voulez, c'est-à-dire

sudo apt-get install nvidia-390 
Bukenya
la source
1

"S'il existe un moyen d'activer le défilement vers le haut dans xterm", car vous ne pouvez pas faire défiler vers le haut, vous pouvez envoyer toutes les sorties vers un fichier en utilisant:

sudo apt install -f > output.log

Modifiez output.loget copiez ensuite les messages dans votre question. Vos chances d'obtenir une bonne réponse s'améliorent avec plus d'informations.


Pour toute autre personne souhaitant copier ses données sur une partition de sauvegarde avant la mise à niveau vers 18.04, voici la commande empruntée à cette réponse: script Bash pour cloner Ubuntu vers une nouvelle partition pour tester la mise à niveau de 18.04 LTS

rsync -haxAX --stats --delete --info=progress2 --info=name0 /* "$TargetMnt" \
      --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}

Avant d'exécuter la commande, vous devez créer une partition de sauvegarde et la monter. Après le montage, il a réglé:

TargetMnt=/mnt/my_backup_partition_name

Bien sûr, une méthode plus simple consiste simplement à exécuter le script lié ci-dessus. Il fournit non seulement une sélection interactive de la partition de sauvegarde, mais fournit une validation et des modifications grubafin que vous puissiez démarrer dans la partition de sauvegarde si nécessaire.

PS Je suis triste d'entendre parler de vos problèmes et des nombreux autres problèmes que j'ai lus ici dans Ask Ubuntu depuis la sortie du 18.04. Malheureusement, vous voyez des problèmes similaires avec chaque nouvelle version. Espérons qu'un jour, Conical souligne l'importance de sauvegarder et / ou de tester sur une partition de clone avant la mise à niveau. Surtout avant la première version ponctuelle du 18.04.1 qui arrive le 26 juillet 2018.

WinEunuuchs2Unix
la source
J'apprécie vraiment la réponse à la partie xterm de la question, d'autant plus que je me rends compte que c'était hors sujet pour le reste du message (ma mauvaise). La question d'origine est modifiée avec la sortie ci-dessus. J'aurais aimé avoir suivi vos conseils avec le clone en premier lieu, mais je le ferai une fois que j'ai résolu le problème actuel et à nouveau à l'avenir!
k.mat27
@ k.mat27 Je commence à cloner maintenant même avant d'installer les pilotes nVidia qui m'ont causé toutes sortes de problèmes et sont difficiles à "annuler". Vous n'avez pas dévalisé ma réponse par accident, n'est-ce pas?
WinEunuuchs2Unix
Non! J'aurais aimé pouvoir voter, en fait, mais je n'ai pas la réputation.
k.mat27
Vous obtenez 2 points lorsque vous cliquez sur la coche à côté d'une réponse pour l'accepter pour une question que vous avez publiée. De plus, l'auteur obtient 15 points pour une réponse acceptée. Plus important encore, il aide les autres utilisateurs à trouver des réponses. Vous obtenez 5 points pour chaque vote positif sur une question que vous publiez. Si vous répondez à une question, vous obtenez 10 points pour chaque vote positif et moins 2 pour chaque vote négatif. J'espère que cela t'aides.
WinEunuuchs2Unix
0

En effet, j'ai eu trop de problèmes pour passer de Xubuntu 16.04 à 18.04. J'ai dû supprimer complètement gstreamer du système (ne fonctionne pas avec pulseaudio, qui se comporte bizarrement), à part de nombreux autres problèmes sans rapport avec ce post (nvidia, netplan, baloo). Pendant de nombreuses années de gestion de postes de travail et de serveurs, ce fut ma migration la plus difficile. Par conséquent, je ne conseille pas la mise à niveau vers 18.04 avant qu'il ne s'agisse d'une distribution stable.

Antonio J. de Oliveira
la source
0

si vous avez un système auquel vous ne pouvez pas vous connecter, accédez à la connexion tty1 par cltr + alt + clé F1 à votre compte et essayez ceci sudo apt-get install -f dist-upgrade s'il vous demande une solution particulière pour appliquer O / n utilisez une autre option en tapant "." pour une autre solution, vous êtes répertorié avec une autre solution pour mettre à niveau complètement votre système. en cas de problème, faites le moi savoir

Nikhil Lalwani
la source
0

Après la mise à niveau, j'ai eu un problème avec les bibliothèques pyhon3.7 manquantes, l'ensemble apt / dpkg a été bloqué. Trouvé manquant d' /usr/lib/python3.7/py_compile.pyun niveau plus profond /usr/local/lib/python3.7. La solution qui a fonctionné pour moi était de sauvegarder (renommer) en entier /usr/lib/python3.7et de remplacer par sym-link.

Voici le problème (apt install -f). Désolé pour la langue tchèque, les choses importantes sont en anglais

Načítají se seznamy balíků…
Vytváří se strom závislostí…
Načítají se stavové informace…
0 aktualizováno, 0 nově instalováno, 0 k odstranění a 7 neaktualizováno.
39 instalováno nebo odstraněno pouze částečně.
Po této operaci bude na disku použito dalších 0 B.
Nastavuje se balík python3-tk:amd64 (3.6.5-3) …
(null): can't open file '/usr/lib/python3.7/py_compile.py': [Errno 2] No such file or directory
dpkg: chyba při zpracovávání balíku python3-tk:amd64 (--configure):
 installed python3-tk:amd64 package post-installation script subprocess returned error exit status 2
Nastavuje se balík python3-lib2to3 (3.6.5-3) …
(null): can't open file '/usr/lib/python3.7/py_compile.py': [Errno 2] No such file or directory
dpkg: chyba při zpracovávání balíku python3-lib2to3 (--configure):
 installed python3-lib2to3 package post-installation script subprocess returned error exit status 2
dpkg: nesplněné závislosti zamezily konfiguraci balíku python3-distutils:
 python3-distutils závisí na python3-lib2to3 (>= 3.6.4); avšak:
  Balík python3-lib2to3 zatím není zkonfigurován.

...

dpkg: chyba při zpracovávání balíku libsdl-net1.2-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libsdl-image1.2-dev:amd64:
 libsdl-image1.2-dev:amd64 závisí na libsdl1.2-dev (>= 1.2.14~); avšak:
  Balík libsdl1.2-dev zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libsdl-image1.2-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-iostreams1.65-dev:amd64:
 libboost-iostreams1.65-dev:amd64 závisí na libboost-regex1.65-dev (= 1.65.1+dfsg-0ubuntu5); avšak:
  Balík libboost-regex1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-iostreams1.65-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-iostreams-dev:amd64:
 libboost-iostreams-dev:amd64 závisí na libboost-iostreams1.65-dev; avšak:
  Balík libboost-iostreams1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-iostreams-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-regex-dev:amd64:
 libboost-regex-dev:amd64 závisí na libboost-regex1.65-dev; avšak:
  Balík libboost-regex1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-regex-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
Při zpracování nastaly chyby:
 python3-tk:amd64
 python3-lib2to3
 python3-distutils
 libglib2.0-dev-bin
 python3-dev
 libglib2.0-dev:amd64
 libgdk-pixbuf2.0-dev
 libibus-1.0-dev:amd64
 libboost-python1.65-dev
 libpango1.0-dev
 libsdl2-dev:amd64
 libharfbuzz-dev:amd64
 dh-python
 libsdl2-ttf-dev:amd64
 libboost-python-dev
 libsdl2-image-dev:amd64
 libpulse-dev:amd64
 libicu-le-hb-dev:amd64
 libcairo2-dev:amd64
 libnotify-dev:amd64
 libatk1.0-dev:amd64
 libgtk2.0-dev
 librsvg2-dev:amd64
 libicu-dev
 libass-dev:amd64
 libxml2-dev:amd64
 libsdl2-mixer-dev:amd64
 libsdl1.2-dev
 libsdl-ttf2.0-dev:amd64
 libboost-all-dev
 libboost-regex1.65-dev:amd64
 libbluray-dev:amd64
 libsdl-gfx1.2-dev:amd64
 libsdl-mixer1.2-dev:amd64
 libsdl-net1.2-dev:amd64
 libsdl-image1.2-dev:amd64
 libboost-iostreams1.65-dev:amd64
 libboost-iostreams-dev:amd64
 libboost-regex-dev:amd64
czechDude
la source
0

Ce qui m'a aidé:

  1. utiliser sudo dpkg --remove [nom-package] pour supprimer les packages problématiques trouvés via sudo dpkg --configure -a (source:  /programming//a/35969176/557223 ). Certains packages n'ont pas pu être supprimés car ils étaient des dépendances d'un autre package.
  2. pour exécuter sudo apt-get install -f (il a recommencé à fonctionner, yay)
  3. pour renommer le fichier org.freedesktop.systemd1.service comme mentionné dans  /ubuntu//a/838673
  4. Pour exécuter sudo apt-get update et dist-upgrade et autoremove, et do-release-upgrade

Bravo à https://ubuntuforums.org/showthread.php?t=2398895&page=2 dragans2's post!

mmalmeida
la source