Поиск по сайту:

Как перейти на Ubuntu 16.04 LTS


Введение

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

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

Следующий выпуск операционной системы Ubuntu с долгосрочной поддержкой, версия 16.04 (Xenial Xerus), должен быть выпущен 21 апреля 2016 года.

Хотя на момент написания этой статьи она еще не была выпущена, уже можно обновить систему 15.10 до разрабатываемой версии 16.04. Это может быть полезно для тестирования как процесса обновления, так и функций самой версии 16.04 до официальной даты выпуска.

В этом руководстве объясняется процесс для систем, включая (но не ограничиваясь ими) дроплеты DigitalOcean, работающие под управлением Ubuntu 15.10.

Предпосылки

В этом руководстве предполагается, что у вас есть система под управлением Ubuntu 15.10, настроенная с пользователем без полномочий root с привилегиями sudo для выполнения административных задач.

Возможные ловушки

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

Вы никогда не должны обновлять производственную систему без предварительного тестирования всего вашего развернутого программного обеспечения и служб на соответствие обновлению в промежуточной среде. Имейте в виду, что библиотеки, языки и системные службы могут существенно измениться. В Ubuntu 16.04 важные изменения по сравнению с предыдущим выпуском LTS включают переход к системе инициализации systemd вместо Upstart, акцент на поддержку Python 3 и PHP 7 вместо PHP 5.

Перед обновлением рекомендуем прочитать примечания к выпуску Xenial Xerus.

Шаг 1. Сделайте резервную копию вашей системы

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

В дроплете DigitalOcean самый простой подход — выключить систему и сделать моментальный снимок (отключение гарантирует, что файловая система будет более согласованной). См. раздел «Как использовать моментальные снимки DigitalOcean для автоматического резервного копирования ваших дроплетов» для получения более подробной информации о процессе моментального снимка. Убедившись, что обновление прошло успешно, вы можете удалить моментальный снимок, чтобы с вас больше не взималась плата за него.

Методы резервного копирования, которые будут работать в большинстве систем Ubuntu, см. в разделе Как выбрать эффективную стратегию резервного копирования для вашего VPS.

Шаг 2. Обновите установленные пакеты

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

  1. sudo apt-get update

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

  1. sudo apt-get upgrade

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

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

  1. sudo apt-get dist-upgrade

Снова ответьте y, когда будет предложено продолжить, и дождитесь завершения обновления.

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

Шаг 3. Используйте инструмент Ubuntu do-release-upgrade для выполнения обновления.

Во-первых, убедитесь, что у вас установлен пакет update-manager-core:

  1. sudo apt-get install update-manager-core

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

Начните с запуска do-release-upgrade без параметров:

  1. sudo do-release-upgrade

Если Ubuntu 16.04 еще не выпущен, вы должны увидеть следующее:

Checking for a new Ubuntu release
No new release found

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

  1. sudo do-release-upgrade -d

Если вы подключены к своей системе через SSH, как это, вероятно, с каплей DigitalOcean, вас спросят, хотите ли вы продолжить.

На дроплете безопасно обновляться через SSH. Хотя do-upgrade-release не сообщил нам об этом, вы можете использовать консоль, доступную в панели управления DigitalOcean, для подключения к вашей капле без запуска 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]

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

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 'trusty' to 'xenial' entries. 
If you select 'No' the upgrade will cancel. 

Continue [yN] y

После загрузки новых списков пакетов и расчета изменений вас спросят, хотите ли вы начать обновление. Снова введите 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

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

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

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

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

Remove obsolete packages? 


53 packages are going to be removed. 

 Continue [yN]  Details [d]y

Наконец, если все прошло хорошо, вы будете проинформированы о том, что обновление завершено и требуется перезагрузка. Введите 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 вы, вероятно, увидите что-то вроде следующего:

=== Command detached from window (Thu Apr  7 13:13:33 2016) ===
=== Command terminated normally (Thu Apr  7 13:13:43 2016) ===

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

Welcome to Ubuntu Xenial Xerus (development branch) (GNU/Linux 4.4.0-17-generic x86_64)

Заключение

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