Вопрос или проблема
Я попытался обновить Ubuntu с 23.04 до 23.10, выполнив команду sudo do-release-upgrade
и получил следующую ошибку:
Проверка менеджера пакетов
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Вычисление изменений
Вычисление изменений
Не удалось вычислить обновление
Произошла неразрешимая проблема при вычислении обновления.
Это, возможно, вызвано:
* Неофициальные программные пакеты, не предоставляемые Ubuntu
Пожалуйста, используйте инструмент 'ppa-purge' из пакета ppa-purge для удаления программного обеспечения из PPA Launchpad и попробуйте обновление снова.
Я посмотрел файлы журнала, и это единственная ОШИБКА, которую я увидел:
2023-11-10 11:23:46,189 DEBUG Пометка на обновление 'ubuntu-desktop'
2023-11-10 11:23:46,389 WARNING Невозможно пометить 'ubuntu-desktop' для обновления (E:Невозможно исправить проблемы, у вас есть удерживаемые поврежденные пакеты.)
2023-11-10 11:23:46,541 ERROR Обновление без изменения версий не удалось: 'Поврежденные пакеты после обновления: ubuntu-desktop'
$ cat /etc/apt/sources.list
# Смотрите http://help.ubuntu.com/community/UpgradeNotes для информации о том, как обновиться до
# новых версий дистрибутива.
deb http://archive.ubuntu.com/ubuntu lunar main restricted
# deb-src http://archive.ubuntu.com/ubuntu lunar main restricted
## Основные обновления для исправления ошибок, выпущенные после финального релиза
## дистрибутива.
deb http://archive.ubuntu.com/ubuntu lunar-updates main restricted
# deb-src http://archive.ubuntu.com/ubuntu lunar-updates main restricted
## ВНИМАНИЕ: программное обеспечение из этого репозитория ПОЛНОСТЬЮ НЕ ПОДДЕРЖИВАЕТСЯ командой Ubuntu.
## Также, обратите внимание, что программное обеспечение во вселенной НЕ ПОЛУЧИТ никаких проверок или обновлений от команды безопасности Ubuntu.
deb http://archive.ubuntu.com/ubuntu lunar universe
# deb-src http://archive.ubuntu.com/ubuntu lunar universe
deb http://archive.ubuntu.com/ubuntu lunar-updates universe
# deb-src http://archive.ubuntu.com/ubuntu lunar-updates universe
## ВНИМАНИЕ: программное обеспечение из этого репозитория ПОЛНОСТЬЮ НЕ ПОДДЕРЖИВАЕТСЯ командой Ubuntu,
## и может не иметь свободной лицензии. Пожалуйста, удостоверьтесь в своих правах на использование
## программного обеспечения. Также, обратите внимание, что программное обеспечение в мультивселенной НЕ ПОЛУЧИТ
## никаких проверок или обновлений от команды безопасности Ubuntu.
deb http://archive.ubuntu.com/ubuntu lunar multiverse
# deb-src http://archive.ubuntu.com/ubuntu lunar multiverse
deb http://archive.ubuntu.com/ubuntu lunar-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu lunar-updates multiverse
## ВНИМАНИЕ: программное обеспечение из этого репозитория может не быть
## так же тщательно протестировано, как то, что содержится в основном релизе, хотя оно включает
## более новые версии некоторых приложений, которые могут предоставлять полезные функции.
## Также, обратите внимание, что программное обеспечение в backports НЕ ПОЛУЧИТ никаких проверок или обновлений от команды безопасности Ubuntu.
deb http://archive.ubuntu.com/ubuntu lunar-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu lunar-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lunar-security main restricted
# deb-src http://archive.ubuntu.com/ubuntu lunar-security main restricted
deb http://archive.ubuntu.com/ubuntu lunar-security universe
# deb-src http://archive.ubuntu.com/ubuntu lunar-security universe
deb http://archive.ubuntu.com/ubuntu lunar-security multiverse
# deb-src http://archive.ubuntu.com/ubuntu lunar-security multiverse
$ ll /etc/apt/sources.list.d
total 56
-rw-r--r-- 1 root root 112 Nov 10 11:23 docker.list
-rw-r--r-- 1 root root 112 Nov 10 07:02 docker.list.distUpgrade
-rw-r--r-- 1 root root 67 Nov 10 11:23 dropbox.list
-rw-r--r-- 1 root root 67 Nov 10 07:02 dropbox.list.distUpgrade
-rw-r--r-- 1 root root 121 Nov 10 11:23 github-cli.list
-rw-r--r-- 1 root root 121 Nov 10 07:02 github-cli.list.distUpgrade
-rw-r--r-- 1 root root 190 Nov 10 11:23 google-chrome.list
-rw-r--r-- 1 root root 190 Nov 10 07:02 google-chrome.list.distUpgrade
-rw-r--r-- 1 root root 193 Nov 10 11:23 slack.list
-rw-r--r-- 1 root root 193 Nov 10 07:02 slack.list.distUpgrade
-rw-r--r-- 1 root root 203 Nov 10 11:23 vscode.list
-rw-r--r-- 1 root root 203 Nov 10 07:02 vscode.list.distUpgrade
-rw-r--r-- 1 root root 55 Nov 10 11:23 zulip-desktop.list
-rw-r--r-- 1 root root 55 Nov 10 07:02 zulip-desktop.list.distUpgrade
$ cat /etc/apt/sources.list.d/*.list
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu lunar stable
deb [arch=i386,amd64] http://linux.dropbox.com/ubuntu kinetic main
deb [arch=amd64 signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main
### ЭТОТ ФАЙЛ НАСТРАИВАЕТСЯ АВТОМАТИЧЕСКИ ###
# Вы можете закомментировать эту запись, но любые другие изменения могут быть утеряны.
deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
### ЭТОТ ФАЙЛ НАСТРАИВАЕТСЯ АВТОМАТИЧЕСКИ ###
# Вы можете закомментировать эту запись, но любые другие изменения могут быть утеряны.
deb https://packagecloud.io/slacktechnologies/slack/debian/ jessie main
### ЭТОТ ФАЙЛ НАСТРАИВАЕТСЯ АВТОМАТИЧЕСКИ ###
# Вы можете закомментировать эту запись, но любые другие изменения могут быть утеряны.
deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main
deb https://download.zulip.com/desktop/apt stable main
Из /var/log/dist-upgrade/apt.log
:
MarkDelete ubuntu-desktop-minimal:amd64 < 1.501 @ii umH Ib > FU=0
Investigating (2) ubuntu-desktop:amd64 < 1.501 -> 1.524 @ii pumU Ib >
Broken ubuntu-desktop:amd64 Depends on gdm3:amd64 < 44.0-1ubuntu2 @ii umR >
Considering gdm3:amd64 16 as a solution to ubuntu-desktop:amd64 10001
Added gdm3:amd64 to the remove list
Broken ubuntu-desktop:amd64 Depends on gnome-shell-extension-ubuntu-tiling-assistant:amd64 < none @un mH >
Considering gnome-shell-extension-ubuntu-tiling-assistant:amd64 1 as a solution to ubuntu-desktop:amd64 10001
Broken ubuntu-desktop:amd64 Depends on ubuntu-desktop-minimal:amd64 < 1.501 @ii umR >
Considering ubuntu-desktop-minimal:amd64 1 as a solution to ubuntu-desktop:amd64 10001
Added ubuntu-desktop-minimal:amd64 to the remove list
MarkKeep gdm3:amd64 < 44.0-1ubuntu2 @ii umR > FU=0
Fixing ubuntu-desktop:amd64 via keep of gdm3:amd64
MarkKeep ubuntu-desktop-minimal:amd64 < 1.501 @ii umR > FU=0
Fixing ubuntu-desktop:amd64 via keep of ubuntu-desktop-minimal:amd64
Investigating (2) gdm3:amd64 < 44.0-1ubuntu2 @ii umH Ib >
Broken gdm3:amd64 Depends on gir1.2-gdm-1.0:amd64 < 44.0-1ubuntu2 -> 45~beta-1ubuntu1 @ii umU > (= 44.0-1ubuntu2)
Considering gir1.2-gdm-1.0:amd64 16 as a solution to gdm3:amd64 10001
Added gir1.2-gdm-1.0:amd64 to the remove list
Broken gdm3:amd64 Depends on libgdm1:amd64 < 44.0-1ubuntu2 -> 45~beta-1ubuntu1 @ii umU > (= 44.0-1ubuntu2)
Considering libgdm1:amd64 6 as a solution to gdm3:amd64 10001
Added libgdm1:amd64 to the remove list
MarkKeep gir1.2-gdm-1.0:amd64 < 44.0-1ubuntu2 -> 45~beta-1ubuntu1 @ii umU > FU=0
Fixing gdm3:amd64 via keep of gir1.2-gdm-1.0:amd64
MarkKeep libgdm1:amd64 < 44.0-1ubuntu2 -> 45~beta-1ubuntu1 @ii umU > FU=0
Fixing gdm3:amd64 via keep of libgdm1:amd64
Try to Re-Instate (2) libgdm1:amd64
MarkKeep libgdm1:amd64 < 44.0-1ubuntu2 -> 45~beta-1ubuntu1 @ii umU > FU=0
Investigating (3) ubuntu-desktop:amd64 < 1.501 -> 1.524 @ii pumU Ib >
Broken ubuntu-desktop:amd64 Depends on gnome-shell-extension-ubuntu-tiling-assistant:amd64 < none @un mH >
Considering gnome-shell-extension-ubuntu-tiling-assistant:amd64 1 as a solution to ubuntu-desktop:amd64 10001
Try to Re-Instate (3) gir1.2-gdm-1.0:amd64
MarkKeep gir1.2-gdm-1.0:amd64 < 44.0-1ubuntu2 -> 45~beta-1ubuntu1 @ii umU > FU=0
Done
$ apt policy ubuntu-desktop
ubuntu-desktop:
Установлена: 1.501
Кандидат: 1.501
Таблица версий:
*** 1.501 500
500 http://archive.ubuntu.com/ubuntu lunar/main amd64 Packages
100 /var/lib/dpkg/status
Какие-либо идеи, что делать теперь?
У меня была та же проблема. То, что сработало для меня, было
sudo apt reinstall gnome-shell-extension-ubuntu-tiling-assistant
sudo apt reinstall ubuntu-desktop
sudo do-release-upgrade
Я тоже столкнулся с этой проблемой. Единственное, что помогло мне, было следование совету из https://www.reddit.com/r/Ubuntu/comments/xcaurm/help_cant_mark_ubuntudesktop_for_upgrade_while/. Хотя мне пришлось деинсталлировать больший набор пакетов. Когда установка Ubuntu завершилась, она оставила меня в терминале, пока я не переустановил эти пакеты, так что сохраните список в текстовом файле или где-то доступном из терминала.
sudo dpkg --remove --force-remove-reinstreq ubuntu-desktop gnome-remote-desktop gnome-shell gdm3 cinnamon-core ubuntu-desktop-minimal mutter gnome-shell-extension-ubuntu-dock gnome-shell-extension-desktop-icons-ng gnome-shell-extension-appindicator ubuntu-sessio
Ответ или решение
Для проблемы, связанной с невозможностью обновления до Ubuntu 23.10 из-за ошибки "Can’t mark ‘ubuntu-desktop’ for upgrade", рассмотрим путь решения, используя теорию, пример и практическое применение.
Теория
Основная причина проблемы при обновлении Ubuntu через sudo do-release-upgrade
заключается в наличии неразрешимых зависимостей, которые часто появляются из-за дополнительного или стороннего программного обеспечения. Эти пакеты могут быть установлены из PPA (Personal Package Archives) или других источников, не контролируемых Ubuntu, что может привести к конфликтам при обновлении. Ошибка связана с проблемами в установке ubuntu-desktop
, которая зависит от других пакетов, таких как gnome-shell-extension-ubuntu-tiling-assistant
, которые недоступны или не совместимы с новой версией дистрибутива.
Пример
Из вышеприведенной информации следует, что возникает ошибка при попытке пометить ubuntu-desktop
для обновления, так как у вас установлены "разбитые" пакеты, которые мешают процессу. Журнал обновлений указывал на необходимость наличия gnome-shell-extension-ubuntu-tiling-assistant
, который не доступен для текущей версии Jammy. Именно такие пакеты могут блокировать успешное обновление, так как новые зависимости в 23.10 не могут быть удовлетворены старыми библиотеки и пакетами.
Применение
Краткий алгоритм решения проблемы:
-
Очистка системы от не совместимых пакетов:
Используйтеppa-purge
для очистки PPA:sudo apt install ppa-purge sudo ppa-purge ppa:название-ppa
Убедитесь, что PPA, не поддерживающие текущую версию Ubuntu, удалены.
-
Проверка и исправление пакетов:
Попробуйте переустановку пакетов, которые могут быть причиной проблемы:sudo apt reinstall gnome-shell-extension-ubuntu-tiling-assistant sudo apt reinstall ubuntu-desktop
Далее, выполните команду обновления:
sudo do-release-upgrade
-
Удаление проблемных пакетов:
Если предыдущие шаги не помогли, возможно, стоит временно удалить пакеты, создающие конфликты, а затем выполнить обновление:sudo dpkg --remove --force-remove-reinstreq ubuntu-desktop gnome-shell gdm3 ...
Список пакетов для удаления стоит сохранить, чтобы после успешного обновления можно было их установить обратно.
-
Обновление системы:
Выполните команду разметки обновлений и сам процесс обновления:sudo apt update sudo apt upgrade sudo do-release-upgrade
Также проверьте и отредактируйте файлы источников /etc/apt/sources.list
и /etc/apt/sources.list.d
, удостоверившись в правомерности каждой записи. Неправильно настроенные источники могут привести к возникновению ошибок при обновлении.
Следуя вышеизложенным шагам, можно устранить возникшую проблему обновления Ubuntu до версии 23.10 и обеспечить успешную инсталляцию необходимых пакетов. Подходите к процессу последовательно и аккуратно, чтобы минимизировать риск потери данных или отказа системы.