Как обновить Ubuntu до версии 20.04 Focal Fossa

Последняя версия долгосрочной поддержки (LTS) операционной системы Ubuntu, Ubuntu 20.04 (Focal Fossa), вышла 23 апреля 2020 года. Данный мануал поможет вам обновить систему Ubuntu 18.04 или более поздней версии до Ubuntu 20.04.

Внимание! Почти всегда процесс обновления операционной системы между релизами несет риск сбоя, потери данных или неправильной конфигурации программного обеспечения. Настоятельно рекомендуем создать резервную копию и тщательно протестировать обновленную систему.

Чтобы избежать проблем во время обновления, мы рекомендуем перейти на новый сервер Ubuntu 20.04, а не обновлять старый сервер. Вероятно, вам все равно придется изучить различия в конфигурации программного обеспечения при обновлении, но при миграции на свежий сервер ядро ​​системы будет стабильнее.

Читайте также: Миграция виртуального сервера Linux: подготовка системы

Требования

Для работы в вашей системе Ubuntu 18.04 или более старой версии должен быть настроен пользователь sudo (без прав root).

Потенциальные проблемы

Часто обновление системы проходит без инцидентов, однако процесс миграции гораздо безопаснее, чем процесс обновления: вы можете установить дистрибутив с нуля, сконфигурировать сервисы, протестировать работу системы и только после этого перенести данные приложения или пользователя.

Никогда не обновляйте производственную систему, не проверив сначала все развернутое программное обеспечение и сервисы в промежуточной среде. Имейте в виду, библиотеки, языки и системные сервисы могли существенно измениться. Перед обновлением системы ознакомьтесь с примечаниями к релизу Focal Fossa.

1: Резервное копирование системы

Прежде чем проводить серьезное обновление в любой системе, вы должны убедиться, что не потеряете свои данные, если обновление будет неудачным. Лучший способ сделать это – создать резервную копию всей вашей файловой системы. Если вы не хотите копировать всю систему, по крайней мере убедитесь, что у вас есть копии домашних каталогов пользователей, все необходимые пользовательские файлы конфигурации и данные, хранящиеся в таких сервисах типа СУБД.

Читайте также: Как выбрать стратегию резервного копирования для VPS

2: Обновление установленных пакетов

Прежде чем приступить к обновлению системы, вы должны обновить все установленные пакеты до последних версий для вашего текущего релиза. Начните с обновления индекса пакетов:

sudo apt update

Затем обновите установленные пакеты до их последних доступных версий:

sudo apt upgrade

Вы увидите список обновлений. Чтобы продолжить, введите y и нажмите Enter.

Этот процесс может занять некоторое время. Как только он будет выполнен, используйте команду dist-upgrade, которая внесет любые дополнительные обновления (среди которых изменение зависимостей, добавление или удаление новых пакетов по мере необходимости). Эта команда обработает набор обновлений, которые команда apt upgrade могла отложить.

sudo apt dist-upgrade

Чтобы продолжить, введите y и нажмите Enter.

Теперь, когда пакеты вашей текущей версии Ubuntu обновились до последних доступных версий, вы можете использовать команду do-release-upgrade для обновления системы.

3: Обновление Ubuntu с помощью do-release-upgrade

Традиционно релизы Ubuntu можно было обновлять, изменяя /etc/apt/sources.list, в котором указываются репозитории пакетов, и используя команду apt-get dist-upgrade для запуска обновления. Этот процесс все еще работает, но теперь Ubuntu предоставляет инструмент do-release-upgrade, который делает обновление более безопасным и простым. Команда do-release-upgrade управляет проверкой новых релизов, обновлением sources.list и рядом других задач и является официально рекомендуемым способом обновления удаленных серверов.

Для начала запустите do-release-upgrade без опций:

sudo do-release-upgrade

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

Checking for a new Ubuntu release
No new release found

Обратите внимание, что LTS релиз 20.04.1 пока что не доступен для Ubuntu Server. Обычно он появляется в доступе через несколько месяцев после даты выпуска.

Если вы не видите доступных версий, добавьте опцию –d, чтобы вывести версии development:

sudo do-release-upgrade -d

Если вы подключены к своей системе по SSH, система спросит, хотите ли вы продолжить. Работая с виртуальной машиной или удаленным сервером, вы должны помнить, что потеря SSH-соединения – это большая проблема, особенно если у вас нет другого способа удаленного подключения к консоли системы (например, веб-консоли).

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

В командную строку введите y и нажмите Enter, чтобы продолжить:

Reading cache
Checking package manager
Continue running under SSH?
This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.
If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?
Continue [yN]

Далее система сообщит, что do-release-upgrade запускает новый экземпляр sshd по порту 1022:

Starting additional sshd
To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.
If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'
To continue please press [ENTER]

Нажмите Enter. Далее система может предупредить вас, что зеркальная запись не обнаружена. В некоторых системах можно игнорировать это предупреждение и продолжать обновление, поскольку локальное зеркало на 20.04 действительно доступно (это зависит от провайдера). Введите y, чтобы продолжить:

Updating repository information
No valid mirror found
While scanning your repository information no mirror entry for the
upgrade was found. This can happen if you run an internal mirror or
if the mirror information is out of date.
Do you want to rewrite your 'sources.list' file anyway? If you choose
'Yes' here it will update all 'bionic' to 'focal' entries.
If you select 'No' the upgrade will cancel.
Continue [yN]

После загрузки новых списков пакетов и подсчета изменений вам будет предложено начать обновление. Снова введите y, чтобы продолжить:

Do you want to start the upgrade?
18 installed packages are no longer supported by Canonical. You can
still get support from the community.
3 packages are going to be removed. 142 new packages are going to be
installed. 452 packages are going to be upgraded.
You have to download a total of 338 M. This download will take about
42 minutes with a 1Mbit DSL connection and about 13 hours with a 56k
modem.
Fetching and installing the upgrade can take several hours. Once the
download has finished, the process cannot be canceled.
Continue [yN]  Details [d]

После этого новые пакеты будут извлечены, распакованы и установлены. Даже если ваша система имеет быстрое соединение, это займет некоторое время.

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

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

После завершения установки новых пакетов вас спросят, готовы ли вы удалить устаревшие пакеты. В стандартной системе без пользовательской конфигурации можно спокойно ввести y. Если же вы сильно изменили свою систему, вы можете ввести d и проверить список пакетов, которые необходимо удалить, на случай, если в них будет что-то, что вам нужно будет переустановить позже.

Remove obsolete packages?
53 packages are going to be removed.
Continue [yN]  Details [d]

Если все прошло хорошо, система сообщит, что обновление завершено и требуется перезагрузка. Введите y, чтобы продолжить:

System upgrade is complete.
Restart required
To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.
Continue [yN]

В сеансе SSH вы, вероятно, увидите что-то вроде этого:

Connection to 203.0.113.241 closed by remote host.
Connection to 203.0.113.241 closed.

Возможно, вам придется выйти в локальную командную строку, поскольку сеанс SSH прерван на стороне сервера.

Подождите, пока ваш сервер перезагрузится, затем снова подключитесь. При входе вы должны получить сообщение, подтверждающее, что вы находитесь в системе Focal Fossa:

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64)

Заключение

Теперь у вас должна быть работающая установка Ubuntu 20.04. После обновления рекомендуем вам изучить необходимые изменения конфигурации сервисов и развернутых приложений.

Tags: ,