Я запускаю Ubuntu 12.04 на сервере DigitalOcean.
Я хотел бы обновить его до более поздних выпусков (12.04-> 14.04-> 16.04), но не удаться сделать таким образом из-за упомянутой ошибки. DigitalOcean предоставляет учебное руководство для обновления, но это не полезно, потому что это не объясняет, как решить проблему. Я также попробовал все ответы в подобных вопросах, той командной строке использования. Проблемой является по существу то же как здесь и здесь:
"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
. Но я должен упомянуть, что там перечислены только зеркала DigitalOcean, никакие серверы значения по умолчанию человечности./var/log/dist-upgrade/apt.log
. (Кажется, что они все повреждаются),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 }')
, и т.д. это перечислено в ответах на подобные вопросы, но они ничего не делают, поскольку они думают, что все в порядке.У Вас больше есть предложения о том, как решить проблему?
ОБНОВЛЕНИЕ: Я думал, что проблемой с серверами DigitalOcean в sources.list могла бы быть проблема, таким образом, я изменил их на исходные Ubuntu. Теперь я получаю только 2 ошибки в 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.
Я не знаю, вызывает ли ошибка локали его. Я пытался зафиксировать его путем экспорта LANG
, LANGUAGE
и LC_ALL
кому: "en_US.utf8"
, но не помог. Я попытаюсь зафиксировать его и обновить вопрос, если это поможет.
ОБНОВЛЕНИЕ 2: Вывод команды локали:
$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
ОБНОВЛЕНИЕ 3: После установки локали к "C" (благодаря Gunnar Hjalmarsson), ошибки локали не стало от apt.log
, но вызов do-release-upgrade
тем не менее приведение к ошибке:
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.'
и все еще никакое обновление.
Сводка долгого обсуждения в комментариях:
do-release-upgrade
не удался работать, потому что locales
пакет не присутствовал. Таким образом, решение состояло в том, чтобы установить locales
, который является необходимым пакетом.
OP решил проблему зависимости, когда попытка установить locales
через склонный - получает установку при помощи способность вместо этого, который предложенные решения вместо того, чтобы просто отказаться устанавливать.