Принудить do-release-upgrade не завершаться с ошибкой

Вопрос или проблема

Я пытаюсь обновить уже устаревшую версию 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 и их обработка прерывалась, что явно указывает на наличие проблем с доступом к этим репозиториям.

Причины проблемы

  1. Устаревшая версия: Ubuntu 18.04 больше не получает обновления, что может вызвать проблемы с доступом к репозиториям.
  2. Ошибка в APT: Скрипты, связанные с APT, могут вызывать ошибки, если пакеты не удается установить или обновить из-за отсутствующих ключей или недоступных репозиториев.
  3. Проблемы с сетью: Несмотря на ваше утверждение, что это не сетевые проблемы, стоит перепроверить соединение, особенно если вы используете облачные решения.

Рекомендации по устранению проблемы

  1. Проверка сетевого подключения:

    • Убедитесь, что ваш сервер имеет стабильное соединение с интернетом. Выполните команду ping google.com и проверьте стабильность соединения.
  2. Удаление проблемных репозиториев:

    • Убедитесь, что все проблемные репозитории отключены. Вы можете использовать nano /etc/apt/sources.list и ls /etc/apt/sources.list.d/, чтобы проверить все используемые источники.
  3. Исправление ошибок APT:

    • Убедитесь, что пакет apt-show-versions установлен. Если он отсутствует, выполните команду:
      sudo apt install apt-show-versions
    • Запустите:
      sudo apt update
      sudo apt upgrade
  4. Использование do-release-upgrade с параметрами:

    • Возможно, стоит использовать дополнительные параметры, такие как -d, чтобы принудительно продолжить процесс обновления до следующей версии. Вводите команду:
      sudo do-release-upgrade -d
  5. Обход проблем с EOL-версиями:

    • Если проблемы продолжаются, вы можете рассмотреть возможность использования apt-get dist-upgrade или apt-get full-upgrade для обновления, хотя это менее предпочтительный способ из-за возможных конфликтов в зависимостях.
  6. Логирование ошибок:

    • Для получения большего количества сведений об ошибках, используйте команду:
      sudo tail -f /var/log/dist-upgrade/main.log
    • Это позволит вам отслеживать ошибки в реальном времени и находить причины проблем.

Заключение

Обновление устаревших версий Ubuntu, особенно тех, что достигли EOL, может быть сложной задачей. Важно следовать последовательным шагам для диагностики и устранения ошибок. В случае многократных неудач рекомендую рассмотреть возможность выполнения новой установки последней версии Ubuntu, если это допустимо в вашем окружении, так как это может сэкономить время и обеспечить более стабильную систему.

Если у вас все еще возникают сложности, рекомендуется обратиться к сообществу Ubuntu или официальной поддержке для получения более детальной помощи.

Оцените материал
Добавить комментарий

Капча загружается...