Недавно состоялся финальный стабильный релиз Debian 9 и теперь стало возможным обновление Debian 8 до 9. В этой системе было достаточно много обновлений, кроме обновления версий программ, была удалена поддержка некоторых функций, например, была удалена поддержка FTP репозиториев, а все исполняемые файлы собраны с поддержкой PIE.
Информацию об опасных изменениях смотрите на официальном сайте, а в этой статье мы рассмотрим обновление Debian 8 до 9. Я буду предполагать, что вы работаете от имени суперпользователя, поскольку для выполнения большинства команд нужны права root.
Обновление Debian до 9
Шаг 1. Резервная копия
Если вы обновляете производственный сервер — лучше сделать резервную копию всех важных данных, чтобы ничего не потерять в случае ошибки. Можно использовать, например, rsnapshot.
Также сделайте резервную копию баз данных, если вы их используете. Дело в том, что в Debian 9 база данных MySQL будет заменена на MariaDB, формат которой не является бинарно совместимым с MySQL. Во время обновления базы будут обновлены автоматически, но если возникнут какие-либо проблемы, то вы не сможете восстановить ваши данные без резервной копии. Далее, проверим текущую версию системы:
uname -mrs
Также можно посмотреть вывод команды:
lsb_release -a
Шаг 2. Обновление текущей системы
Чтобы обновить Debian до 9 без ошибок нужно сначала установить все обновления для текущего выпуска. Для этого выполните такие команды:
apt-get update
# apt-get upgrade
# apt-get dist-upgrade
Если в вашей системе есть сторонние программное обеспечение, которое было удалено из стандартных репозиториев или установленное из сторонних источников, то шансы на успешное обновление сильно уменьшаются. Посмотреть такие пакеты можно с помощью команды:
aptitude search '~o'
Удалите их все. Далее, используйте такую команду чтобы проверить правильность установки всех пакетов:
dpkg -C
Перед тем как перейти дальше, исправьте все проблемы. Затем перезагрузите компьютер:
reboot
Шаг 3. Настройка sources.list
Мы будем обновлять систему вручную. Это значит, что просто заменим старые репозитории на новые и выполним обновление. По умолчанию файл репозиториев /etc/apt/sources.list в Debian 8 выглядит вот так:
vi /etc/apt/sources.list
Нам предстоит заменить все вхождения слова Jessie на stretch, должно получиться вот так:
vi /etc/apt/sources.list
Можно не редактировать файлы вручную, а использовать утилиту sed:
sed -i 's/jessie/stretch/g' /etc/apt/sources.list
Далее, запустите обновление списка пакетов из репозиториев:
apt update
Шаг 4. Обновление Debian
Перед тем как начать обновление, посмотрите сколько места на диске вам потребуется такой командой:
apt -o APT::Get::Trivial-Only=true dist-upgrade
Дальше убедитесь, что на корневом разделе места достаточно для распаковки всех файлов:
df -H
И только теперь можно запустить обновление. Выполните эти две команды:
apt upgrade
# apt dist-upgrade
После завершения работы команд, а это может занять достаточно много времени, нужно перезагрузить компьютер:
reboot
Задача debian 8 обновить до debian 9 полностью выполнена.
Шаг 5. Проверка
Обновление до Debian 9 завершено, и теперь вы можете посмотреть, действительно ли система была обновлена. Проверьте версию ядра:
uname -mrs
И посмотрите версию дистрибутива:
lsb_release -a
Можно еще раз проверить нет ли в системе устаревших пакетов, которые могут вызвать проблемы:
aptitude search '~o'