Вопрос или проблема
“Невозможно пометить ‘ubuntu-desktop’ для обновления” при попытке обновления до LTS 22.04
Когда я выполняю sudo do-release-upgrade
для обновления до следующей LTS, у меня возникает ошибка:
Не удалось рассчитать обновление
Произошла неразрешимая проблема при расчете обновления.
Причиной, похоже, является следующее (из /var/log/dist-upgrade/main.log
):
WARNING Невозможно пометить 'ubuntu-desktop' для обновления (E: Не удается исправить проблемы, у вас есть зависшие испорченные пакеты.)
ERROR Обновление по дистрибутиву не удалось: 'Испорченные пакеты после обновления: ubuntu-desktop'
Как мне решить эту проблему? Файл /var/log/dist-upgrade/apt.log
показывает слишком много испорченных пакетов, и я не знаю, как действовать дальше. Я знаю, что не должен удалять ubuntu-desktop
, что мне делать?
Обратите внимание, я выполнил sudo apt update
и sudo apt upgrade
. Ничего не сообщалось о испорченных пакетах, кроме do-release-upgrade
. Я не думаю, что у меня есть испорченные пакеты в текущей версии, похоже, что обновление может привести к появлению некоторых неисправных ссылок.
У меня была очень похожая, если не идентичная проблема, но в связке с Lubuntu 22.04, а не с Ubuntu 22.04.
В моем случае пакет lubuntu-desktop
вызвал проблемы. Похоже, что процесс обновления до 24.04 иногда не удается, когда на системе присутствуют несколько рабочих окружений. Я преобразовал ранее установленный Kubuntu 20.04 в Lubuntu 20.04, а затем обновился до 22.04. Так что, вероятно, это была причина моих проблем при дальнейшем обновлении до 24.04.
Однако эффективным решением было именно удаление пакета lubuntu-desktop
. Просто загрузите систему в командной строке, добавив число 3
в параметры загрузки (в GRUB), и войдите под своим именем пользователя и паролем. После этого удалите пакет рабочего стола, для меня это было:
sudo apt remove lubuntu-desktop
Или, в случае, упомянутом здесь для Ubuntu, это будет:
sudo apt remove ubuntu-desktop
Обратите внимание, не очищайте, потому что это также удалит все конфигурационные файлы.
После этого я смог запустить процесс обновления до 24.04.
sudo do-release-upgrade
По завершении перезагрузите систему по запросу. Поскольку рабочий стол не установлен, Ubuntu должна автоматически запуститься в командной строке. В противном случае снова загрузитесь в командную строку, добавив число 3
в параметры загрузки. Затем снова установите предпочитаемую среду рабочего стола. В моем случае это было:
sudo apt --reinstall install lubuntu-desktop
Или, для обычного Ubuntu:
sudo apt --reinstall install ubuntu-desktop
Заключительная заметка: все остальные «неисправные» пакеты, упомянутые в main.log
или apt.log
, не имели значения в моем случае. Так что не тратьте время на их переустановку. Если процесс обновления завершается неудачно из-за пакета, связанного с рабочим столом, сосредоточьтесь только на нем. 😉
Ответ или решение
Проблема, с которой вы столкнулись ("Can’t mark ‘ubuntu-desktop’ for upgrade"), связана с несоответствующими зависимостями пакетов или удерживаемыми поврежденными пакетами при попытке обновления до следующей долгосрочной версии поддержки (LTS) Ubuntu 22.04. Ниже приведен план действий для решения этой проблемы.
Шаги для решения проблемы
-
Проверка и удаление поврежденных пакетов (если такие есть):
- Зачастую подобные проблемы могут быть вызваны поврежденными или неудовлетворенными пакетами. Начнем с попытки нахождения и удаления таких пакетов:
sudo apt --fix-broken install
- Эта команда попытается исправить проблемы с зависимостями и удалить поврежденные пакеты.
- Зачастую подобные проблемы могут быть вызваны поврежденными или неудовлетворенными пакетами. Начнем с попытки нахождения и удаления таких пакетов:
-
Очистка списков пакетов и кеша:
- Сначала обновите списки пакетов и очистите кеш:
sudo apt update sudo apt clean
- Сначала обновите списки пакетов и очистите кеш:
-
Проверка удерживаемых пакетов:
- Выполните следующую команду, чтобы увидеть список удерживаемых пакетов:
dpkg --get-selections | grep hold
- Если вы видите пакеты, которые нуждаются в обновлении, их можно "разгрузить", чтобы они больше не удерживались:
sudo apt-mark unhold <package_name>
- Выполните следующую команду, чтобы увидеть список удерживаемых пакетов:
-
Удаление пакета ubuntu-desktop:
- Если проблема не решается, возможно, вам потребуется временно удалить пакет
ubuntu-desktop
:sudo apt remove ubuntu-desktop
- Обратите внимание, что вы не должны использовать команду
purge
, так как это удалит все конфигурационные файлы.
- Если проблема не решается, возможно, вам потребуется временно удалить пакет
-
Попробуйте снова выполнить обновление:
- После удаления попробуйте снова запустить процесс обновления:
sudo do-release-upgrade
- После удаления попробуйте снова запустить процесс обновления:
- Переустановка пакета ubuntu-desktop:
- После успешного завершения обновления вы можете переустановить пакет
ubuntu-desktop
:sudo apt install ubuntu-desktop
- Это обеспечит возврат всех нужных компонентов вашего рабочего окружения.
- После успешного завершения обновления вы можете переустановить пакет
Заключение
Некоторые пакеты могут быть несовместимыми с запрашиваемой версией, и в некоторых случаях удаление и потом переустановка пакета рабочего стола является наиболее простым решением проблемы. Важно помнить, что после выполнения всех этих шагов система может загрузиться в текстовом режиме, и вам может понадобится снова настроить рабочее окружение.
Если после выполнения всех вышеуказанных шагов проблема все еще сохраняется, стоит проверить логи (/var/log/dist-upgrade/main.log
и /var/log/dist-upgrade/apt.log
) на наличие более конкретных сообщений об ошибках.