Вопрос или проблема
Я пытаюсь обновить уже устаревшую версию Ubuntu (18.04) с помощью команды do-release-upgrade
. Появляются подсказки, screen
и другие шаги обновления. Внутри /etc/apt/sources.list.d/
или аналогичных маршрутов нет сторонних репозиториев.
Все идет гладко, пока консоль не показывает эту часть:
Хотите ли вы все равно переписать файл 'sources.list'? Если вы выберете
'Да', он обновит все записи 'bionic' на 'focal'.
Если вы выберете 'Нет', обновление будет отменено.
Продолжить [yN] y
Сторонние источники отключены
Некоторые сторонние записи в вашем sources.list были отключены. Вы можете
включить их снова после обновления с помощью инструмента 'software-properties'
или вашего менеджера пакетов.
Чтобы продолжить, пожалуйста, нажмите [ENTER]
Hit http://mirrors.digitalocean.com/ubuntu focal InRelease
Hit http://mirrors.digitalocean.com/ubuntu focal-updates InRelease
Hit http://mirrors.digitalocean.com/ubuntu focal-backports InRelease
Hit http://security.ubuntu.com/ubuntu focal-security InRelease
Загружено 0 B за 0s (0 B/s)
Убийство
Hit http://mirrors.digitalocean.com/ubuntu focal InRelease
Hit http://mirrors.digitalocean.com/ubuntu focal-updates InRelease
Hit http://mirrors.digitalocean.com/ubuntu focal-backports InRelease
Hit http://security.ubuntu.com/ubuntu focal-security InRelease
Загружено 0 B за 0s (0 B/s)
Убийство
Hit http://mirrors.digitalocean.com/ubuntu focal InRelease
Hit http://mirrors.digitalocean.com/ubuntu focal-updates InRelease
Hit http://mirrors.digitalocean.com/ubuntu focal-backports InRelease
Hit http://security.ubuntu.com/ubuntu focal-security InRelease
Загружено 0 B за 0s (0 B/s)
Убийство
Ошибка во время обновления
Произошла проблема во время обновления. Обычно это проблема сетевое, пожалуйста, проверьте ваше сетевое соединение и повторите попытку.
E:Проблема выполнения сценариев APT::Update::Post-Invoke-Success 'test -x
/usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i',
E:Подпроцесс вернул код ошибки
Восстановление оригинального состояния системы
Отмена
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Прежде всего, почему инструмент убивает обновление? Я уже пробовал ограничивать команду kill
, потому что сомневаюсь в выборе разработчика убивать процесс. Сервер является дроплетом DigitalOcean, так что сетевая проблема по сути чушь.
Важная часть, я думаю, это:
E:Проблема выполнения сценариев APT::Update::Post-Invoke-Success 'test -x
/usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i',
E:Подпроцесс вернул код ошибки
Сначала эта ошибка появлялась, что заставило меня думать, что этот репозиторий DigitalOcean вызывает проблемы:
Err:2 https://repos-droplet.digitalocean.com/apt/droplet-agent main InRelease
Следующие подписи не могут быть проверены, потому что общественный ключ недоступен: NO_PUBKEY 35696F43FC7DB4C2
Но даже после отключения такого репозитория процесс все равно дает сбой.
Лучше ли использовать старые команды dist-upgrade
/full-upgrade
? Или есть способ заставить do-release-upgrade
не следовать тупым выборам разработчиков? Всё, что может помочь сделать это, приветствуется.
Ответ или решение
Для решения проблемы с командой do-release-upgrade
при попытке обновления устаревшей версии Ubuntu (18.04) до EOL-версии, необходимо понять несколько ключевых моментов и выполнить ряд действий.
Описание проблемы
Вы сталкиваетесь с проблемой, где процесс обновления прерывается, и, судя по выводу в консоли, вы получаете следующую ошибку:
E:Problem executing scripts APT::Update::Post-Invoke-Success 'test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i',
E:Sub-process returned an error code
Также наблюдаются сообщения о том, что была попытка достать информацию с репозиториев DigitalOcean и их обработка прерывалась, что явно указывает на наличие проблем с доступом к этим репозиториям.
Причины проблемы
- Устаревшая версия: Ubuntu 18.04 больше не получает обновления, что может вызвать проблемы с доступом к репозиториям.
- Ошибка в APT: Скрипты, связанные с APT, могут вызывать ошибки, если пакеты не удается установить или обновить из-за отсутствующих ключей или недоступных репозиториев.
- Проблемы с сетью: Несмотря на ваше утверждение, что это не сетевые проблемы, стоит перепроверить соединение, особенно если вы используете облачные решения.
Рекомендации по устранению проблемы
-
Проверка сетевого подключения:
- Убедитесь, что ваш сервер имеет стабильное соединение с интернетом. Выполните команду
ping google.com
и проверьте стабильность соединения.
- Убедитесь, что ваш сервер имеет стабильное соединение с интернетом. Выполните команду
-
Удаление проблемных репозиториев:
- Убедитесь, что все проблемные репозитории отключены. Вы можете использовать
nano /etc/apt/sources.list
иls /etc/apt/sources.list.d/
, чтобы проверить все используемые источники.
- Убедитесь, что все проблемные репозитории отключены. Вы можете использовать
-
Исправление ошибок APT:
- Убедитесь, что пакет
apt-show-versions
установлен. Если он отсутствует, выполните команду:sudo apt install apt-show-versions
- Запустите:
sudo apt update sudo apt upgrade
- Убедитесь, что пакет
-
Использование
do-release-upgrade
с параметрами:- Возможно, стоит использовать дополнительные параметры, такие как
-d
, чтобы принудительно продолжить процесс обновления до следующей версии. Вводите команду:sudo do-release-upgrade -d
- Возможно, стоит использовать дополнительные параметры, такие как
-
Обход проблем с EOL-версиями:
- Если проблемы продолжаются, вы можете рассмотреть возможность использования
apt-get dist-upgrade
илиapt-get full-upgrade
для обновления, хотя это менее предпочтительный способ из-за возможных конфликтов в зависимостях.
- Если проблемы продолжаются, вы можете рассмотреть возможность использования
-
Логирование ошибок:
- Для получения большего количества сведений об ошибках, используйте команду:
sudo tail -f /var/log/dist-upgrade/main.log
- Это позволит вам отслеживать ошибки в реальном времени и находить причины проблем.
- Для получения большего количества сведений об ошибках, используйте команду:
Заключение
Обновление устаревших версий Ubuntu, особенно тех, что достигли EOL, может быть сложной задачей. Важно следовать последовательным шагам для диагностики и устранения ошибок. В случае многократных неудач рекомендую рассмотреть возможность выполнения новой установки последней версии Ubuntu, если это допустимо в вашем окружении, так как это может сэкономить время и обеспечить более стабильную систему.
Если у вас все еще возникают сложности, рекомендуется обратиться к сообществу Ubuntu или официальной поддержке для получения более детальной помощи.