Вопрос или проблема
Я пытаюсь обновиться с Bionic 18.04.6 LTS, но сталкиваюсь с проблемами. Я посмотрел
EOL Upgrade Ubuntu 18.04.6 LTS (Bionic Beaver)
https://help.ubuntu.com/community/FocalUpgrades
Uprading Ubuntu 18.04.6 LTS to 20.04
Вот что я получаю.
$ sudo do-release-upgrade -c
Checking for a new Ubuntu release
New release '20.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
$ sudo do-release-upgrade
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.
Это интересно, потому что Центр программного обеспечения Kubuntu (Discover) говорит, что моя система обновлена.
$ sudo apt update
Hit:2 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:1 https://packages.microsoft.com/repos/code stable InRelease
Get:6 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]
Hit:7 https://esm.ubuntu.com/apps/ubuntu bionic-apps-security InRelease
Hit:8 https://esm.ubuntu.com/apps/ubuntu bionic-apps-updates InRelease
Hit:9 https://esm.ubuntu.com/infra/ubuntu bionic-infra-security InRelease
Hit:10 https://esm.ubuntu.com/infra/ubuntu bionic-infra-updates InRelease
Fetched 64.4 kB in 2s (42.4 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
Обновления не сообщаются. Затем я пытаюсь выполнить полное обновление.
$ sudo apt full-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Далее я пробую update-manager. Окно сообщает
The software on this computer is up to date.
However, Kubuntu 20.04.6 LTS is now available (you have 18.04).
Я нажимаю для обновления, и он говорит
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.
apt-mark showhold показывает, что удерживаемых пакетов нет.
На этом этапе я в тупике, и кажется, что я зациклен. Может кто-нибудь помочь?
ОБНОВЛЕНИЕ
Спасибо, @guiverc. Я не смотрел на пакет, который можно было обновить, потому что думал, что нужно учитывать только обновления, а не улучшения. Вот результат:
$ apt list --upgradable
Listing... Done
code/stable 1.96.2-1734607745 amd64 [upgradable from: 1.83.1-1696982868]
N: There are 129 additional versions. Please use the '-a' switch to see them.
Я попытался обновить обозначенный пакет, но получил ошибку, которую я не совсем понимаю.
$ sudo apt upgrade code/stable
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '1.96.2-1734607745' (code stable:stable [amd64]) for 'code'
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
code : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1.6+esm3 is to be installed
Depends: libxkbfile1 (>= 1:1.1.0) but 1:1.0.9-2 is to be installed
E: Broken packages
@karel – Извините, я не вижу, как относится предложенная вами страница. Я беру из источников ESM, поэтому не вижу, как изменение на old-releases может помочь. Пожалуйста, уточните, если я что-то упускаю.
@guiverc – Я проверил источники в update-manager, и оба поля Canonical-supported (main) и Community-maintained (universe) отмечены.
УСПЕХ!
@guiverc – Большое спасибо! Это действительно проблема. Я сделал
$ sudo apt remove code/stable
Затем обновление сработало!
В сообщениях содержится следующее
1 package can be upgraded. Run 'apt list --upgradable' to see it.
поэтому для получения более детальной информации нужно выполнить предоставленную команду. Она показала
$ apt list --upgradable
Listing... Done
code/stable 1.96.2-1734607745 amd64 [upgradable from: 1.83.1-1696982868]
N: There are 129 additional versions. Please use the '-a' switch to see them.
Попытки обновить его пользователем не увенчались успехом с сообщением
The following packages have unmet dependencies:
code : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1.6+esm3 is to be installed
Depends: libxkbfile1 (>= 1:1.1.0) but 1:1.0.9-2 is to be installed
Первое правило ‘depends’ libc6 показывает, что пакет третьей стороны явно предназначен для использования в более поздних версиях, чем bionic или 18.04 у пользователя.
Я предложил удалить пакет третьей стороны, а затем выполнить release-upgrading, как хотел пользователь. Если пакет третьей стороны действительно нужен, его можно гораздо проще установить, когда пользователь обновится до поддерживаемой версии, такой как Ubuntu 20.04 LTS, которая легко соответствует требованию
libc6 | 2.31-0ubuntu9.16 | focal-security | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
.
Ответ или решение
Если вы сталкиваетесь с проблемами при обновлении Ubuntu с версии Bionic 18.04.6 LTS до Focal 20.04.6 LTS, вы не одиноки. Очень часто пользователи встречаются с непредвиденными препятствиями из-за зависимостей и несовместимых пакетов. Давайте детально разберем, как справиться с этой ситуацией.
Описание и решение проблемы
Шаг 1: Проверка текущих обновлений
Сначала убедитесь, что ваша система действительно обновлена. Хотя ваши сообщения показывают, что вы уже выполняли эти команды, стоит выделить некоторые ключевые моменты.
- Выполните команды и просмотрите результаты:
sudo apt update sudo apt full-upgrade
Удостоверьтесь, что все пакеты обновлены. Если какая-то программа выдает сообщение о необходимости обновлений, внимательно изучите, какие пакеты требуют обновления.
Шаг 2: Проблема с зависимостями
Было обнаружено, что пакет code/stable
имеет неудовлетворенные зависимости. Это указывает на то, что данный пакет предназначен для более новых версий Ubuntu.
Необходимо удалить или решить проблему зависимостей, прежде чем продолжить.
- Удалите проблемный пакет:
sudo apt remove code
Это позволит избежать конфликтов при обновлении. В более новой версии Ubuntu вы сможете без проблем установить и использовать данный пакет.
Шаг 3: Проверка источников пакетов
Убедитесь, что ваши источники пакетов актуальны и все настройки в порядке:
- Проверьте файл источников:
cat /etc/apt/sources.list
Проверьте, чтобы все репозитории были актуальны и соответствовали вашей версии Ubuntu. Вы также можете использовать
Software & Updates
для управления репозиториями.
Шаг 4: Выполнение обновления
Теперь, когда проблемы зависимостей устранены, попробуйте снова выполнить обновление:
- Обновите дистрибутив:
sudo do-release-upgrade
Убедитесь, что USB-диски или дополнительные приводы, которые могут вызвать конфликты, отключены.
Заключение
После успешного обновления на Ubuntu 20.04.6 LTS вы можете установить ранее удаленные пакеты, такие как code/stable
, через официальные репозитории. Это обеспечит стабильность вашей системы и своевременное получение обновлений безопасности.