В этой статье объясняется, как обновить Debian 11 Bullseye до Debian 12 Bookworm с помощью опций командной строки, включая обновление всех установленных пакетов.
Резервное копирование системы
Очень важно создавать резервные копии всех данных и конфигураций системы. Виртуальные машины позволяют быстро создавать резервные копии и восстанавливать с помощью моментальных снимков.
- Резервное копирование системы с помощью backup-manager в Linux
- Резервное копирование MySQL штатными средствами
- Резервное копирование средствами Linux
Обновление ВСЕХ установленных пакетов
Перед обновлением версии Debian до 12, необходимо установить исправления безопасности и ожидающие обновления к Debian 11.
1 2 3 4 | apt update apt upgrade apt full-upgrade apt --purge autoremove |
Перезагрузите Debian 11.x, чтобы обновить ядро и другие компоненты
1 | reboot |
Обновление файла /etc/apt/sources.list
Перед началом процедуры обновления необходимо изменить конфигурацию файлов списка источников APT.
Ключевое слово bullseye указывает на то, что мы используем версию 11. Следовательно, мы должны изменить все ссылки в этом файле с bullseye на bookworm с помощью текстового редактора.
1 | nano /etc/apt/sources.list |
Найдите строку debian для Bullseye:
1 | deb http://deb.debian.org/debian/ bullseye main |
Замените на:
1 | deb http://deb.debian.org/debian/ bookworm main |
Найдите строку debian-security для Bullseye:
1 | deb http://mirrors.linode.com/debian-security bullseye-security main |
Замените на:
1 | deb http://mirrors.linode.com/debian-security bookworm-security main |
Затем замените другую строку bullseye на bookworm в каталоге /etc/apt/sources.list и /etc/apt/sources.list.d/*.
По окончанию, обновите список пакетов
1 | apt update |
Минимальное обновление системы
Перед началом обновления так же ставим пакет zstd
1 | apt install zstd |
Процесс из двух частей необходим, чтобы избежать удаления большого количества пакетов, которые вы хотите сохранить. Поэтому сначала выполните следующую команду:
1 | apt upgrade --without-new-pkgs |
Просто следуйте инструкциям на экране. В процессе обновления вы можете получить различные вопросы, например, "Вы хотите перезапустить службу? " или "сохранить или стереть параметры конфигурации" и так далее.
Обновление Debian 11 до Debian 12
В дополнение к минимальному обновлению нам необходимо выполнить полное обновление, чтобы завершить весь процесс обновления Debian 11 до Debian 12. Это основная часть обновления. Другими словами, выполните следующую команду, чтобы выполнить полное обновление системы, установив самые новые доступные версии всех пакетов и разрешив все возможные зависимости:
1 | apt full-upgrade |
В процессе обновления вы можете увидеть дополнительные подсказки о перезапуске служб или обновлении существующих параметров конфигурации.
Пришло время перезагрузить систему Linux для загрузки в Debian Linux 12 Bookworm. Следовательно, выполните
1 2 3 | systemctl reboot # или reboot |
Проверка
Настало время подтвердить обновление. Выполните:
1 2 | uname -r lsb_release -a |
1 2 3 4 5 6 | lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux bookworm/sid Release: testing Codename: bookworm |
После обновления обратите внимание на все ваши приложения и службы. Поэтому проверьте, открыты ли все TCP/UDP порты и запущены ли службы, используя команду tail или команду ss или команду grep/egrep:
1 2 3 | sudo ss -tulpn sudo tail -f /var/log/mail.log sudo tail -f /var/log/nginx/access_log |
ищем ошибки, если таковые имеются
1 2 | sudo grep 'error' /var/log/my_app/app.log sudo egrep -i 'err|fail|warn|crit' /var/log/nginx/python_app.log |
Проверьте статус служб
1 | sudo systemctl status nginx.service |
Используйте journalctl для запроса содержимого журнала systemd(1)
1 2 | journalctl journalctl -u sshd.service |
Следующий шаг является необязательным. Однако вы должны тщательно просмотреть пакеты, которые больше не нужны в системе. В противном случае выполнение следующей команды может привести к поломке системы.
Наконец, очистите устаревшие пакеты с помощью команды:
1 | apt --purge autoremove |