Как обновить Debian 8 до Debian 9

Как обновить Debian 8 до Debian 9

Debian 9 посвящён памяти основателя Проекта Иэна Мёрдока, который ушёл из жизни 28 декабря 2015 года.

В Stretch вариантом MySQL по умолчанию является MariaDB. Замена пакетов MySQL 5.5 или 5.6 на пакеты MariaDB 10.1 произойдёт автоматически при выполнении обновления.

Расписание Debian LTS:

Debian 8 «Jessie»

i386, amd64, armel и armhf

с 17 июня 2018 года по 30 июня 2020 года

Debian 9 «Stretch»

i386, amd64, armel, armhf и arm64 (для просмотра перед запуском)

С 2020 года по июнь 2022 года

Перед тем как начать

Все действия будем выполнять с правами суперпользователя, поэтому залогиньтесь под root:

su -

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

Я рекомендую сделать резервную копию папок: /etc, /var/lib/dpkg, файла /var/lib/apt/extended_states. Сохраните вывод команды:

# dpkg --get-selections "*"

Текущая версия Debian

Обновлять Debian я буду на виртуальном сервере. Посмотрим какая сейчас установлена версия операционной системы:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.11 (jessie)
Release: 8.11
Codename: jessie

Теперь обновим текущую систему Jessie:

# apt update
# apt upgrade
# apt dist-upgrade

Обновление списка репозиториев до Debian 9

В файле исходного списка репозиториев /etc/apt/sources.list нужно заменить все экземпляры «jessie» на «stretch». Например так:

# sed -i 's/jessie/stretch/g' /etc/apt/sources.list

Но я предпочитаю использовать зеркало репозиториев на Яндекс https://mirror.yandex.ru, так как обновляемый сервер у меня расположен в России и скорость скачивания пакетов с Яндекса банально быстрее. Поэтому делаю так,

сначала сохраняю старый список:

# mv /etc/apt/sources.list /etc/apt/sources.list.old

а затем делаю новый, но уже с серверами от Яндекс:

# cat > /etc/apt/sources.list << EOF
deb http://mirror.yandex.ru/debian stretch main
deb-src http://mirror.yandex.ru/debian stretch main

deb http://mirror.yandex.ru/debian stretch-updates main
deb-src http://mirror.yandex.ru/debian stretch-updates main

deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
EOF

Оригинальный sources.list для Debian 9

Возможно вам пригодится. По-умолчанию sources.list для Debian 9/Stretch выглядит следующим образом:

deb http://deb.debian.org/debian stretch main
deb-src http://deb.debian.org/debian stretch main

deb http://deb.debian.org/debian stretch-updates main
deb-src http://deb.debian.org/debian stretch-updates main

deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main

Обновление до Debian 9

После изменения списка репозиториев последовательно выполните следующие команды:

# apt update

В процессе ee выполнения на экран может быть выведен список изменений нового выпуска, тут либо пролистайте и досмотрите файл до конца, либо сразу жмите [q].

# apt upgrade

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

Я выбрал «Yes».

Для завершения перехода на Debian 9 введите следующее:

# apt dist-upgrade

Очистка системы от ненужных пакетов:

# apt autoremove
# apt clean

После этого можно перегрузить сервер:

# reboot

После загрузки проверьте версию Debian:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.3 (stretch)
Release: 9.3
Codename: stretch

Как видите обновление с Debian 8 Jessie на Debian 9 Stretch прошло успешно.

Возможные ошибки

root@sip:~# systemctl status rsyslog.service
● rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2019-09-02 16:47:54 MSK; 4s ago
Docs: man:rsyslogd(8)
RSyslog Documentation
Process: 24445 ExecStart=/usr/sbin/rsyslogd -n (code=exited, status=1/FAILURE) Main PID: 24445 (code=exited, status=1/FAILURE) сен 02 16:47:54 sip systemd[1]: Failed to start System Logging Service. сен 02 16:47:54 sip systemd[1]: rsyslog.service: Unit entered failed state. сен 02 16:47:54 sip systemd[1]: rsyslog.service: Failed with result 'exit-code'. сен 02 16:47:54 sip systemd[1]: rsyslog.service: Service hold-off time over, scheduling restart. сен 02 16:47:54 sip systemd[1]: Stopped System Logging Service. сен 02 16:47:54 sip systemd[1]: rsyslog.service: Start request repeated too quickly. сен 02 16:47:54 sip systemd[1]: Failed to start System Logging Service. сен 02 16:47:54 sip systemd[1]: rsyslog.service: Unit entered failed state. сен 02 16:47:54 sip systemd[1]: rsyslog.service: Failed with result 'exit-code'.

Надо остановить процесс rsyslog

Обновление ядра Debian 9

Смотрим версию debian

$ cat /etc/debian_version
9.1

Дополняем репозитарий  stretch-backports

$ echo "deb http://ftp.debian.org/debian stretch-backports main" | sudo tee -a /etc/apt/sources.list > /dev/null
$ apt-get update

Смотрим какие ядра доступны:

$ apt install aptitude -y
$ aptitude search linux-image
p   linux-image-4.11.0-0.bpo.1-amd64                        - Linux 4.11 for 64-bit PCs
......

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

$ apt-get -t stretch-backports upgrade

Обновляем ядро:

!!!$ apt-get -t stretch-backports install linux-image-4.11.0-0.bpo.1-amd64
$ apt-get -t stretch-backports install linux-image-4.12.0-0.bpo.1-amd64

Перезагружаемся:

$ reboot

Версия ядра:

$ uname -a
Linux debian 4.12.0-0.bpo.1-amd64 #1 SMP Debian 4.12.6-1~bpo9+1 (2017-08-27) x86_64 GNU/Linux

Чтобы проверить какие ядро установлены:

$ dpkg --get-selections|grep linux-image
[sudo] пароль для user:
linux-image-4.12.0-0.bpo.1-amd64                install
linux-image-4.9.0-3-amd64                       install
linux-image-amd64                               install

Удалите старое ядро:

$ apt-get remove linux-image-4.9.0-3-amd64

У особо любопытных может возникнуть вопрос, по поводу пакетов с индексом rt. Это ядро реального времени или его еще называют realtime-версией ядра Linux.

Благодарности

  1. Долгосрочная поддержка Debian
  2. https://wiki.debian.org/ru/SourcesList