.png)
Я застрял на этом некоторое время. В общем, у меня есть сервер с 20.04.6, и я пытаюсь обновить его до текущей LTS. Единственная проблема в том, что он do-release-upgrade
удаляет официальные источники Ubuntu из списка источников apt, а затем отказывается продолжать обновление, так как не может найти свои основные пакеты.
Вот соответствующее содержание моего /etc/apt/sources.list
файла:
:~# cat /etc/apt/sources.list | grep -v ^$ | grep -v ^#
deb http://ftp.ubuntu.com/ubuntu focal main restricted
deb http://ftp.ubuntu.com/ubuntu focal-updates main restricted
deb http://ftp.ubuntu.com/ubuntu focal universe
deb http://ftp.ubuntu.com/ubuntu focal-updates universe
deb http://ftp.ubuntu.com/ubuntu focal multiverse
deb http://ftp.ubuntu.com/ubuntu focal-updates multiverse
deb http://ftp.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb http://security.ubuntu.com/ubuntu focal-security universe
deb http://security.ubuntu.com/ubuntu focal-security multiverse
И когда я запускаю apt update
, я правильно получаю это:
:~# apt update
Hit:1 http://ppa.launchpad.net/ondrej/apache2/ubuntu focal InRelease
Hit:2 http://ftp.ubuntu.com/ubuntu focal InRelease
Get:3 http://ftp.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://ftp.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:6 https://esm.ubuntu.com/apps/ubuntu focal-apps-security InRelease
Hit:7 https://esm.ubuntu.com/apps/ubuntu focal-apps-updates InRelease
Hit:8 https://esm.ubuntu.com/infra/ubuntu focal-infra-security InRelease
Hit:9 https://esm.ubuntu.com/infra/ubuntu focal-infra-updates InRelease
Fetched 336 kB in 3s (104 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
У меня в папке есть несколько дополнительных файлов /etc/apt/sources.list.d
, в частности для esm
репозитория.
Теперь, если я запущу do-release-upgrade
, то увижу следующее:
Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Hit http://ftp.ubuntu.com/ubuntu focal InRelease
Hit http://ftp.ubuntu.com/ubuntu focal-updates InRelease
Get:1 http://ftp.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Hit http://ppa.launchpad.net/ondrej/apache2/ubuntu focal InRelease
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit https://esm.ubuntu.com/apps/ubuntu focal-apps-security InRelease
Hit https://esm.ubuntu.com/apps/ubuntu focal-apps-updates InRelease
Hit https://esm.ubuntu.com/infra/ubuntu focal-infra-security InRelease
Hit https://esm.ubuntu.com/infra/ubuntu focal-infra-updates InRelease
Fetched 222 kB in 0s (0 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
Updating repository information
Third party sources disabled
Some third party entries in your sources.list were disabled. You can
re-enable them after the upgrade with the 'software-properties' tool
or your package manager.
To continue please press [ENTER]
А если я нажму [ENTER]:
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:2 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security InRelease [7,553 B]
Get:3 https://esm.ubuntu.com/apps/ubuntu jammy-apps-updates InRelease [7,459 B]
Get:4 https://esm.ubuntu.com/infra/ubuntu jammy-infra-security InRelease [7,453 B]
Get:5 https://esm.ubuntu.com/infra/ubuntu jammy-infra-updates InRelease [7,452 B]
Get:6 http://security.ubuntu.com/ubuntu jammy-security/main i386 Packages [277 kB]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [631 kB]
Get:8 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main amd64 Packages [41.5 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [148 kB]
Get:10 http://security.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [11.0 kB]
Get:11 http://security.ubuntu.com/ubuntu jammy-security/restricted i386 Packages [29.7 kB]
Get:12 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [651 kB]
Get:13 http://security.ubuntu.com/ubuntu jammy-security/restricted Translation-en [104 kB]
Get:14 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 c-n-f Metadata [532 B]
Get:15 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [756 kB]
Get:16 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main i386 Packages [32.7 kB]
Get:17 http://security.ubuntu.com/ubuntu jammy-security/universe i386 Packages [544 kB]
Get:18 http://security.ubuntu.com/ubuntu jammy-security/universe Translation-en [136 kB]
Get:19 https://esm.ubuntu.com/apps/ubuntu jammy-apps-updates/main amd64 Packages [479 B]
Get:20 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [15.9 kB]
Get:21 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [36.5 kB]
Get:22 http://security.ubuntu.com/ubuntu jammy-security/multiverse i386 Packages [1,032 B]
Get:23 http://security.ubuntu.com/ubuntu jammy-security/multiverse Translation-en [7,060 B]
Get:24 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 c-n-f Metadata [260 B]
Get:25 https://esm.ubuntu.com/infra/ubuntu jammy-infra-security/main amd64 Packages [479 B]
Get:26 https://esm.ubuntu.com/infra/ubuntu jammy-infra-updates/main amd64 Packages [479 B]
Fetched 3,567 kB in 0s (0 B/s)
Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Invalid package information
After updating your package information, the essential package
'ubuntu-minimal' could not be located. This may be because you have
no official mirrors listed in your software sources, or because of
excessive load on the mirror you are using. See /etc/apt/sources.list
for the current list of configured software sources.
In the case of an overloaded mirror, you may want to try the upgrade
again later.
Итак, мы ясно видим, что на втором этапе do-release-upgrade
было решено полностью удалить список всех основных источников, сохранив при этом те, что находятся в том же файле, что, конечно, приводит к сбою обновления, но я не понимаю, почему они удаляются, и как предотвратить это.ftp.ubuntu.com/ubuntu
security.ubuntu.com
Думаю, если коротко, то вопрос здесь может быть таким: поскольку он говорит, что удаляет сторонние источники, возможно, он думает, что в данном случае основным репозиторием является сторонний источник, так как же он определяет, что это сторонний источник, может быть, если это причина, и как помешать ему думать, что это сторонний источник?
решение1
Так что, оказывается, я был прав: do-release-upgrade
думал, что основной репозиторий Ubuntu — сторонний. Не знаю, почему, однако. В конце концов я обнаружил, что в инструменте есть флаг, --allow-third-party
который позволяет избежать игнорирования сторонних репозиториев.
Мне удалось обновить свои серверы, используя этот флаг, без проблем. Однако исходная проблема инструмента, учитывая, что это сторонний репозиторий, осталась, но ее можно обойти.