J'utilise Ubuntu 12.04 sur le serveur DigitalOcean.
Je voudrais le mettre à niveau vers des versions ultérieures (12.04-> 14.04-> 16.04), mais je ne le fais pas en raison de l'erreur mentionnée. DigitalOcean fournit un didacticiel pour la mise à niveau, mais il n'est pas utile car il n'explique pas comment résoudre le problème. J'ai également essayé toutes les réponses dans des questions similaires, qui utilisent la ligne de commande. Le problème est essentiellement le même que ici et ici :
"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"
/etc/apt/sources.list
. Mais je dois mentionner qu'il n'y a que des miroirs DigitalOcean répertoriés, pas de serveurs par défaut ubuntu./var/log/dist-upgrade/apt.log
. (Il semble qu'ils sont tous cassés)apt-get update, apt-get upgrade, apt-get dist-upgrade, apt-get --purge autoremove, apt-get autoclean, apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
, etc. qui sont répertoriées dans les réponses à des questions similaires, mais elles ne font rien car elles pensent que tout va bien.Avez-vous d'autres suggestions sur la façon de résoudre le problème?
MISE À JOUR: Je pensais qu'un problème avec les serveurs DigitalOcean dans sources.list pourrait être un problème, alors je les ai changé pour ceux d'Ubuntu d'origine. Maintenant, je n'ai que 2 erreurs dans apt.log:
ERROR getting the encoding failed
Traceback (most recent call last):
File "/tmp/update-manager-cwZhf2/DistUpgrade/DistUpgradeView.py", line 40, in <module>
locale.setlocale(locale.LC_ALL, "")
File "/usr/lib/python2.7/locale.py", line 539, in setlocale
return _setlocale(category, locale)
Error: unsupported locale setting
ERROR Dist-upgrade failed: 'E:Unable to correct problems, you have held broken packages.
Je ne sais pas si une erreur locale en est la cause. J'ai essayé de le réparer en exportant LANG
, LANGUAGE
et LC_ALL
Vers "en_US.utf8"
, Mais je n'ai pas aidé. J'essaierai de le réparer et de mettre à jour la question si cela aide.
MISE À JOUR 2: Sortie de la commande locale:
$locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
MISE À JOUR 3: Après avoir défini les paramètres régionaux sur "C" (grâce à Gunnar Hjalmarsson), l'erreur de paramètres régionaux est passée de apt.log
, Mais en invoquant do-release-upgrade
Mène toujours à l'erreur:
DEBUG /openCache(), new cache size 47033
DEBUG need_server_mode(): can not find a desktop meta package or key deps, running in server mode
DEBUG Installing 'locales' (priority in required set 'required' but not scheduled for install)
ERROR Dist-upgrade failed: 'E:Unable to correct problems, you have held broken packages.'
et toujours pas de mise à niveau.
Résumé de la longue discussion dans les commentaires:
do-release-upgrade
n'a pas pu s'exécuter car le package locales
n'était pas présent. La solution a donc été d'installer locales
, qui est un package requis.
L'OP a géré un problème de dépendance lors de la tentative d'installation de locales
via apt-get install en utilisant aptitude à la place, ce qui a suggéré des solutions plutôt que de simplement refuser l'installation.