23 апреля 2020 года была выпущена новейшая версия операционной системы Ubuntu с долгосрочной поддержкой (LTS) — Ubuntu 20.04 (Focal Fossa). В этом руководстве мы расскажем, как провести обновление системы Ubuntu версии 18.04 или выше до версии Ubuntu 20.04.
Предупреждение. При каждом значительном обновлении версии операционной системы существует опасность неисправности, потери данных или нарушения конфигурации программного обеспечения. Настоятельно рекомендуется сделать полную резервную копию системы и провести тестирование в существенном объеме.
Во избежание проблем мы рекомендуем перейти на новый сервер Ubuntu 20.04 вместо обновления существующей системы. При переходе могут потребоваться изменения конфигурации программного обеспечения, но основная операционная система будет более стабильной. Чтобы узнать больше о миграции серверов ознакомьтесь с нашей серией статей о переходе на новый сервер Linux.
Для целей этого руководства предполагается, что вы используете систему с операционной системой Ubuntu версии 18.04 или выше с пользователем sudo без привилегий root.
Хотя многие системы можно обновить без каких-либо проблем, для большей безопасности и предсказуемости часто бывает лучше установить дистрибутив с нуля, настроить службы с тщательным тестированием и выполить перенос приложений или пользовательских данных на отдельном шаге.
Рабочую систему не следует обновлять без предварительного тестирования установленного программного обеспечения и служб в тестовой среде. Необходимо помнить, что библиотеки, языки и системные службы могли существенно измениться. Перед обновлением стоит почитать примечания к выпуску Focal Fossa.
Прежде чем проводить масштабное обновление любой системы, необходимо убедиться, что неполадки не приведут к потере данных. Для этой цели лучше всего сделать полную резервную копию файловой системы. Если это нецелесообразно, необходимо сделать копии домашних каталогов пользователей, пользовательских файлов конфигурации и данных, сохраненных различными службами, например реляционными базами данных.
Если используется дроплет DigitalOcean, можно завершить работу системы и сделать моментальный снимок (при завершении работы файловая система становится более согласованной). Дополнительную информацию о процессе создания снимков можно найти в статье «Создание снимков дроплетов». Когда вы убедитесь, что обновление Ubuntu прошло успешно, вы можете удалить снимок, чтобы больше не платить за его хранение.
Чтобы узнать о методах резервного копирования, которые подойдут для большинства систем Ubuntu, ознакомьтесь со статьей «Как выбрать эффективную стратегию резервного копирования для вашего VPS».
Перед обновлением версии безопаснее будет провести обновление версий всех пакетов для текущей версии ОС. Для начала обновите список пакетов:
- sudo apt update
Затем обновите установленные пакеты до последних доступных версий:
- sudo apt upgrade
Вы увидите список обновлений, и вам будет предложено продолжить. Выберите y для подтверждения и нажмите Enter.
Этот процесс может занять некоторое время. Когда он завершится, используйте команду dist-upgrade
с apt-get
, которая выполнит дополнительные обновления, связанные с изменением зависимостей, и в процессе будет добавлять или удалять новые пакеты по мере необходимости. Эта команда проведет обновления, которые могли быть задержаны на предыдущем шаге выполнения apt upgrade
:
- sudo apt dist-upgrade
Ответьте y, чтобы продолжить, и подождите, пока обновления не будут завершены.
Вы обновили текущую версию Ubuntu и теперь можете использовать do-release-upgrade
для перехода на версию 20.04.
Для обновления версий Ubuntu традиционно нужно было изменить список Apt /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 еще не выпущена официально, вы можете увидеть следующий результат:
OutputChecking for a new Ubuntu release
No new release found
Обратите внимание, что на сервере Ubuntu новый выпуск LTS остается недоступным для do-release-upgrade
до выпуска первой версии с точкой, в данном случае 20.04.1
. Обычно это происходит через несколько месяцев после первоначальной даты выпуска.
Если вы не видите доступного выпуска, используйте опцию -d
для обновления до выпуска на этапе разработки:
- sudo do-release-upgrade -d
Если вы подключены к системе через SSH, вам нужно будет указать, хотите ли вы продолжить. При работе с виртуальными машинами и управляемыми серверами следует учитывать опасность разрыва соединения SSH, особенно если у вас нет другого способа подключения к системной консоли (например, через веб-консоль).
Для других ваших систем безопаснее выполнять существенные обновления операционной системы только при наличии непосредственного физического доступа к компьютеру.
Введите в диалоге y и нажмите Enter, чтобы продолжить:
OutputReading 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:
OutputStarting 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
. Теперь вы можете получить предупреждение об отсутствии зеркальной записи. На системах DigitalOcean вы можете игнорировать это предупреждение и продолжать процедуру обновления, поскольку на самом деле локальное зеркало 20.04 все-таки доступно. Введите y:
OutputUpdating 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
, чтобы продолжить:
OutputDo 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 и просмотреть список удаляемых пакетов на случай, если в нем есть что-то, что вам позднее потребуется переустанавливать.
OutputRemove obsolete packages?
53 packages are going to be removed.
Continue [yN] Details [d]
Если предположить, что все прошло хорошо, вы получите сообщение о том, что обновление завершено и требуется перезагрузка системы. Введите y, чтобы продолжить:
OutputSystem 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 вы увидите примерно следующее:
OutputConnection to 203.0.113.241 closed by remote host.
Connection to 203.0.113.241 closed.
Возможно вам нужно будет нажать клавишу для выхода в локальную командную строку в связи с прекращением сеанса SSH на стороне сервера.
Подождите, пока сервер не перезагрузится, а затем подключитесь к нему снова. При входе вы должны увидеть сообщение, подтверждающее, что вы теперь используете Focal Fossa:
OutputWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64)
Вы установили рабочую систему Ubuntu 20.04. Теперь вы можете изучить необходимые изменения конфигурации служб и развернутых приложений.
Дополнительные обучающие модули и ответы на вопросы по версии 20.04 можно найти на страницах с тегом «Обучающие модули по Ubuntu 20.04».
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!