Comment résoudre le problème «Impossible de calculer la mise à niveau» lors de la mise à niveau de 12.04 vers 12.10?

20

J'essaie de passer à la version 12.10 depuis sa sortie aujourd'hui, mais je continue de rencontrer cette erreur:

An unresolvable problem occurred while calculating the upgrade:
E:Unable to correct problems, you have held broken packages.
This can be caused by:  
 * Upgrading to a pre-release version of Ubuntu  
 * Running the current pre-release version of Ubuntu  
 * Unofficial software packages not provided by Ubuntu

J'ai essayé de mettre à jour tous les logiciels actuellement installés, de supprimer tous les PPA supplémentaires, de rétrograder les fichiers installés à partir du ppa de xorg edgers mais je n'ai pas pu résoudre le problème.

Vagrant232
la source

Réponses:

7

J'ai corrigé le mien en supprimant les paquets ppa que j'avais installés en utilisant ppa-purge

Je savais que je devais le faire en vérifiant les journaux dans / var / log / dist-upgrade / à la fin du fichier apt.log, vous verrez ce qui le confondait. Dans le mien, c'était un pilote vidéo, et j'exécutais plusieurs mises à niveau, alors j'ai fait:

sudo ppa-purge ppa:ubuntu-x-swat/x-updates
sudo ppa-purge ppa:unity-team/staging
sudo ppa-purge ppa:webapps/preview
sudo ppa-purge ppa:nilarimogard/webupd8
sudo ppa-purge ppa:scopes-packagers/ppa
sudo ppa-purge ppa:glasen/intel-driver

le dernier - le pilote glasen - semble avoir fait l'affaire pour moi. La mise à niveau se déroule désormais normalement.

user92965
la source
23

Comme indiqué ici , la suppression des sources PPA ne fonctionne pas à chaque fois.

Vous devez désinstaller les packages incriminés. vous pouvez les trouver avec:

grep Broken /var/log/dist-upgrade/apt.log

Le mien était un paquet xorg. Je l'ai supprimé avec la commande:

sudo apt-get remove xserver-xorg-video-all

puis la mise à niveau pourrait continuer.

Massimo
la source
4
Merci d'avoir indiqué OERE étaient les paquets cassés. C'était la clé de ma mise à niveau réussie vers 13.10.
DaShaun
Oui! Tout était couse de xserver-xorg- *. ( apt-get remove xserver-xorg-*)
K-Gun
1
Au lieu de "cassé", un mot-clé plus spécifique à utiliser dans votre recherche de paquets incriminés est "ne peut être satisfait".
ultrajohn
1
Je reçois une très longue liste d'environ 100 paquets.
whoKnows
J'en avais bien plus de 900, et même quelques heures de tri sélectif via détectivework sur apt.log ne m'ont permis qu'environ 350. Sachant que le problème dans mon cas était tout ce que j'avais installé manuellement au fil des ans, j'ai finalement bouclé et simplement supprimé toutes les entrées «Installées (locales ou obsolètes)» répertoriées dans l'onglet «État» de Synaptic. Oui, je savais que cela nécessiterait de chrooter sur le Live CD pour obtenir toutes les informations nécessaires pour obtenir à nouveau un système opérationnel - mais cela a fonctionné.
Plenus Franckly
16

Pour une mise à niveau de version "non douloureuse".

  • Avant de continuer, vérifiez si la nouvelle version est disponible pour la mise à niveau. Ouvrez un terminal et donnez cette commande

    do-release-upgrade -c

Si oui, continuez:

  • Supprimez tous les PPA externes que vous avez ajoutés.

    Depuis le Centre logiciel> Modifier> Sources de logiciels> Autres logiciels. Non seulement décochez, mais supprimez-les.

  • Fermez ensuite toutes les applications graphiques et ouvrez uniquement un terminal. (Le plein écran est préférable) Donnez les commandes ci-dessous

    sudo apt-get update 
    sudo apt-get dist-upgrade
    
  • Ensuite, donnez les commandes ci-dessous pour faire un peu de ménage

    sudo apt-get --purge autoremove
    sudo apt-get autoclean
    sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
    
  • Ensuite, vous pouvez procéder à la mise à niveau

    sudo do-release-upgrade
    

Ne naviguez pas et n'ouvrez pas les fenêtres ou les programmes pendant la mise à niveau.

Soyez patient jusqu'à la fin de la mise à niveau.

Convivial: ne courez pas (ou ne vous précipitez pas) pour effectuer une mise à niveau dès le premier jour. Surclassement à partir du deuxième ou du troisième jour (mieux).

NickTux
la source
Merci! Votre réponse est extrêmement instructive! Cependant, j'ai résolu mon problème avant de lire votre réponse. J'ai dû activer les AAE conflictuels, puis les purger pour faire le travail.
Vagrant232
qu'est-ce que ça sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')fait?
whoKnows
1
@whoKnows Désolé pour la réponse tardive. Cela va rechercher et supprimer tous les restes qui ont été marqués pour suppression, mais ils n'ont pas encore été supprimés. Voilà ce que signifie «rc».
NickTux
Cela n'a pas fonctionné pour moi, mais celui ci-dessous a fonctionné
John Small
3

J'ai réussi à résoudre le problème sans supprimer aucun paquet. Sur les paramètres du gestionnaire de mise à jour, j'ai décoché toutes les options du logiciel Ubuntu, ne laissant que la première case cochée - "Logiciel gratuit et open-source pris en charge par Canonical (principal)".

macflav
la source
J'ai voté pour cette réponse car elle a résolu un problème. Il suffisait de décocher «Community-maintained ... (univers)». J'ai eu exactement le même problème que celui décrit sur le sujet. J'étais en train de passer du 14.04 au 16.04.1 avec «Software Updater».
Maug Lee
Cela a fonctionné pour moi, les commentaires sur la purge des packages n'ont pas fonctionné.
John Small
2

J'ai eu ce message d'erreur sur la mise à niveau, bien qu'entre différentes versions - je faisais 14.04 Trusty -> 16.04 Xenial - mais je pense que cette astuce peut être utile à d'autres personnes qui obtiennent la même erreur, car cela m'a pris du temps à comprendre, et cette réponse apparaît en bonne place dans Google.

Il est important de vérifier s'il y a une erreur /var/log/dist-upgrade/main.log- dans mon cas, il y a eu une erreur en disant que la postgresql-9.3-postgis-2.1liste noire ne devait pas être supprimée, et le processus de mise à niveau essayait de le supprimer. La suppression de ce package m'a permis de mettre à niveau.

(nb /var/log/dist-upgrade/apt.logpeut vous induire en erreur en répertoriant les packages "cassés" qui ne bloqueront pas la mise à niveau.)

Cela est également indiqué dans cette question et réponse similaire: /ubuntu//a/541406/13868

Soit dit en passant, l'exécution sudo ubuntu-bug ubuntu-release-upgrader-coreaprès l'échec de la mise à niveau peut effectivement détecter de tels problèmes et ouvrir le rapport de bogue correspondant dans votre navigateur Web - c'est ce qui m'a aidé à trouver le problème.

Mark Longair
la source
-4
sudo sed -i 's/raring/saucy/' /etc/apt/sources.list
sudo apt-get dist-upgrade

cela a fonctionné pour moi.

Jirobo
la source