Как обновить Ubuntu до 18.04 Bionic Beaver

Последний LTS релиз операционной системы Ubuntu, 18.04 (Bionic Beaver), состоялся 26 апреля 2018 года. Этот мануал поможет вам обновить Ubuntu 16.04 и более старые версии до версии 18.04.

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

Чтобы избежать ошибок, мы рекомендуем перейти на свежий сервер Ubuntu 18.04, а не обновлять старый сервер. Вам все еще нужно будет отладить конфигурацию ПО, но основная система, вероятно, будет более стабильной.

Требования

Для работы вам понадобится сервер Ubuntu 16.04 (или старше) и пользователь с доступом к sudo.

Потенциальные ошибки

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

Никогда не обновляйте систему производства без предварительного тестирования программного обеспечения и сервисов.

Имейте в виду, что библиотеки, языки программирования и системные сервисы могут существенно измениться. Прежде чем приступить к обновлению, внимательно изучите Примечания к релизу Bionic Beaver и нашу статью Что нового в Ubuntu 18.04 Bionic Beaver.

1: Резервное копирование

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

Примечание: Подробные инструкции по созданию бэкапа можно найти в нашем Информатории.

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

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

Теперь нужно обновить все текущие пакеты до их последней версии. Обновите индекс пакетов:

sudo apt-get update

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

sudo apt-get upgrade

Система предоставит список обновлений. Для подтверждения нажмите y и Enter.

Этот процесс займёт некоторое время. После завершения используйте команду dist-upgrade, которая выполнит обновление с учётом изменившихся зависимостей, добавит или удалит пакеты по мере необходимости. Она внесёт ряд обновлений, которые опустила команда apt-get upgrade.

sudo apt-get dist-upgrade

Теперь, когда у вас есть полностью обновлённая система Ubuntu 16.04, можно приступать к обновлению до 18.04.

3: Обновление Ubuntu до 18.04 c помощью 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

Если новой версии еще нет, вы увидите:

Checking for a new Ubuntu release
No new release found

В таком случае добавьте опцию –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] y

Инструмент сообщит, что 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]

После этого может возникнуть предупреждение о том, что невозможно найти зеркальную запись. Это предупреждение можно проигнорировать, нажав 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 'xenial' to 'bionic' entries.
If you select 'No' the upgrade will cancel.
Continue [yN] y

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

Do you want to start the upgrade?
6 installed packages are no longer supported by Canonical. You can
still get support from the community.
9 packages are going to be removed. 104 new packages are going to be
installed. 399 packages are going to be upgraded.
You have to download a total of 232 M. This download will take about
46 seconds with your connection.
Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.
Continue [yN]  Details [d]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] y

В сессии SSH появится:

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

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

Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-19-generic x86_64)

Заключение

Теперь у вас есть рабочая установка Ubuntu 18.04. Можно внести коррективы в стандартные настройки системы, установить дополнительные сервисы и развернуть приложение.

Читайте другие наши мануалы по Ubuntu 18.04.

Tags: ,