15
мая
2020
22:10

Восстановление Ubuntu после прерванного upgrade'а версии

15 мая 2020 22:10

Обновлял старый ПК 10-летней давности с Ubuntu 14.04 LTS до 16.04 LTS.
Чуть не сломал систему во время upgrade'а выпуска.
Но всё обошлось.

Предыстория

Выполнил команду для тихого обновления релиза "sudo do-release-upgrade -f DistUpgradeViewNonInteractive".
Команда работала очень долго и на каком-то этапе остановилась...

Не долго думая, нажал Ctrl+C и выполнил перезагрузку.
Компьютер не загрузился (черный экран с приглашением ввода имени пользователя).
Запуск графической оболочки из командной строки startx естественно не заработал.

В интернете на сайте linux.org.ru нашел решение, как продолжить установку новой версии Ubuntu 16.04 взамен 14.04 и восстановить запуск после неудачной попытки обновления. Немного доработал решение для моего случая, при котором система частично работоспособна, загрузка ядра происходит до конца, доходит до приглашения ввода имени пользователя.

Решение

  1. При старте компьютера выбирал пункт меню grub, в котором говорится про "Recovery Mode"

  2. Выбрал пункт "root"

  3. Появилось приглашение пользователя с полными правами: #.

  4. Так как интернета нет, решил включить его для продолжения процесса установки. Вначале узнал имя сетевой карты:

    ifconfig -a

  5. Включил сетевую карту:

    dhclient eth0

    где eth0 имя выданное первым в выводе "ifconfig -a".

    Интернет появился.

  6. Продолжил процесс конфигурирования пакетов с места, где он завис в прошлый раз:

    dpkg --configure -a

  7. Обновил кеш пакетов:

    apt-get update

  8. Продолжил установку пакетов с места, где произошло прерывание:

    dist-upgrade

  9. exit

  10. exit

  11. CTRL+ALT+DEL

  12. Выбрал первый пункт - загрузка операционной системы произошла успешно, включая драйверы видеокарты NVidia.

Историю можно назвать завершенной. Но мне всё ещё надо перейти на более новую версию операционной системы.

Продолжение

  1. lsb_release -a вывел старую версию 16.04.06
  2. запустил sudo do-release-upgrade
  3. команда выдала причину:

Недостаточно свободного места на диске

The upgrade has aborted. The upgrade needs a total of 3 762 M free
space on disk '/'. Please free at least an additional 2 766 M of disk
space on '/'. Empty your trash and remove temporary packages of
former installations using 'sudo apt-get clean'.

Сейчас, по крайней мере, операционная система Ubuntu восстановлена и работает. А свободное место поищу...

P.S. Не советую использовать ключ -f DistUpgradeViewNonInteractive при запуске do-release-upgrade - будут выводиться сообщения заменить ли файлы конфигурации, но ответить на них из-за данного ключа не получится.

Лучше запускать обновление версии дистрибутива при помощи команды do-release-upgrade:

sudo do-release-upgrade

P.S. Переход c 16.04 LTS на версию 18.04 LTS удался:

lsb_release -a

LSB Version: core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch:core-4.0-ia32:core-4.0-noarch:core-4.1-ia32:core-4.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic

P.P.S. Попытался перейти на Ubuntu 20

Для этого:

sudo gedit /etc/update-manager/release-upgrades

Исправил строку "lts" (стабильный дистрибутив к длительным циклом поддержки) на "normal" (выпуск ОС с коротким циклом поддержки):

Prompt=normal # lts

Сохранил файл release-upgrades и запустил на выполнение

sudo do-release-upgrade

Программа обновления версии написала, что дальнейший переход с версии 18.04 на Ubuntu 20 для архитектуры i386 невозможен:

Sorry, no more upgrades for this system

There will not be any further Ubuntu releases for this system's
'i386' architecture.

Updates for Ubuntu 18.04 will continue until April 2023.

Поддержка Ubuntu 18.04 LTS будет продолжаться до апреля 2023 г.



Похожие публикации