13. Upgrade Debian 11 to Debian 12 Bookworm - vit-um/hass GitHub Wiki

Оновлення системи Debian 11 до Debian 12 (Bookworm) наживо

  1. Обов'язково робимо бекап всіх сутностей, що використовуються в системі. В моєму випадку найбільш цінне, що є на сервері це Home Assistant, отже збережемо його актуальну копію разом з усіма додатками за допомогою доповнення 'Home Assistant Google Drive Backup'

backup
2. Перевіряємо та фіксуємо параметри версії ОС та ядра, що зараз нами використовуються:

  • lsb_release -a

backup

  • cat /etc/debian_version
    11.7

  • uname -mrs
    Linux 6.1.36-v8+ aarch64

  1. Оновлюємо всі пакети та бібліотеки системи послідовно командами:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo apt --purge autoremove

та перезавантажуємо систему: sudo systemctl reboot

  1. Робимо резервну копію файлу sources.list та змінюємо в оригіналі назву ОС:
  • sudo cp -v /etc/apt/sources.list /root/sources.list-bakup.11.bullseye
  • sudo nano /etc/apt/sources.list

Було:

deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free

Стало:

deb http://deb.debian.org/debian bookworm main contrib non-free
deb http://security.debian.org/debian-security bookworm-security main contrib non-free
deb http://deb.debian.org/debian bookworm-updates main contrib non-free

Далі за тією ж логікою змінюєм назву у наступних файлах:

  • sudo nano /etc/apt/sources.list.d/docker.list
  • sudo nano /etc/apt/sources.list.d/raspi.list

Як пізніше підказали добрі люди все що вище по п.4. робиться автоматично однією командою:

  • find /etc/apt -type f -name "*.list" -print0 | xargs -0 sudo sed -i.bak "s/bullseye/bookworm/g"
  1. Оновлюємо список пакетів
  • sudo apt update
Отр:1 http://security.debian.org/debian-security bookworm-security InRelease [48,0 kB]
Отр:2 http://deb.debian.org/debian bookworm InRelease [151 kB]
В кеші:3 http://archive.raspberrypi.org/debian bullseye InRelease
В кеші:4 https://download.docker.com/linux/debian bullseye InRelease
Отр:5 http://deb.debian.org/debian bookworm-updates InRelease [52,1 kB]
Отр:6 http://security.debian.org/debian-security bookworm-security/main armhf Packages [54,9 kB]
Отр:7 http://security.debian.org/debian-security bookworm-security/main arm64 Packages [56,5 kB]
Отр:8 http://security.debian.org/debian-security bookworm-security/main Translation-en [33,1 kB]
Отр:9 http://deb.debian.org/debian bookworm/main arm64 Packages [8 803 kB]
Отр:10 http://deb.debian.org/debian bookworm/main armhf Packages [8 612 kB]
Отр:11 http://deb.debian.org/debian bookworm/main Translation-uk [540 kB]
Отр:12 http://deb.debian.org/debian bookworm/main Translation-en [6 078 kB]
Отр:13 http://deb.debian.org/debian bookworm/contrib armhf Packages [42,3 kB]
Отр:14 http://deb.debian.org/debian bookworm/contrib arm64 Packages [45,1 kB]
Отр:15 http://deb.debian.org/debian bookworm/contrib Translation-en [48,7 kB]
Отр:16 http://deb.debian.org/debian bookworm/non-free arm64 Packages [76,1 kB]
Отр:17 http://deb.debian.org/debian bookworm/non-free armhf Packages [56,3 kB]
Отр:18 http://deb.debian.org/debian bookworm/non-free Translation-en [67,2 kB]
Отр:19 http://deb.debian.org/debian bookworm-updates/main arm64 Packages [4 736 B]
Отр:20 http://deb.debian.org/debian bookworm-updates/main armhf Packages [4 720 B]
Отр:21 http://deb.debian.org/debian bookworm-updates/main Translation-en [3 528 B]
Отримано 24,8 MB за 8сB (2 954 kB/s)
Зчитування переліків пакунків... Виконано
Побудова дерева залежностей... Виконано
Зчитування інформації про стан... Виконано
1058 packages can be upgraded. Run 'apt list --upgradable' to see them.
  1. Для уникнення видалення усіх 1058 пакетів скористаємось командою їх оновлення:
  • sudo apt upgrade --without-new-pkgs
Зчитування переліків пакунків... Виконано
Побудова дерева залежностей... Виконано
Зчитування інформації про стан... Виконано
Обчислення оновлень... Виконано
Наступний пакунок був встановлений автоматично і більше не потрібен:
  edid-decode
Використовуйте 'sudo apt autoremove' щоб видалити його.
Пакунки, які залишені в незмінному стані:
  acl alsa-utils apparmor apparmor-utils apt apt-utils avahi-daemon base-passwd bash bind9-host bind9-libs binutils binutils-aarch64-linux-gnu binutils-common bluez bsdextrautils bsdutils bubblewrap busybox bzip2 cifs-utils colord coreutils cpio cpp cron cups cups-browsed cups-client cups-core-drivers cups-daemon

...

Пакунки, які будуть ОНОВЛЕНІ:
  adduser adwaita-icon-theme alacarte alsa-topology-conf alsa-ucm-conf apt-transport-https arandr base-files bash-completion bc ca-certificates colord-data console-setup console-setup-linux cups-common cups-server-common dc debconf debconf-i18n debconf-utils debian-archive-keyring debian-reference-common

...

оновлено 364, встановлено 0 нових, 0 відмічено для видалення і 694 не оновлено.
Необхідно завантажити 125 MB архівів.
Після цієї операції об'єм зайнятого дискового простору зросте на 30,0 MB.
Бажаєте продовжити? [Y/n] y

  • Будь ласка, натисніть «q», щоб вийти, і далі ви можете побачити додаткові екрани та діалогові вікна.
  • Обираємо країну та часовий пояс, якщо будуть інші діалогові вікна - виконуємо рекомендації до завершення процесів.
  1. Остаточно оновлюємо ОС та конфігурації командою:
  • sudo apt full-upgrade
оновлено 688, встановлено 207 нових, 27 відмічено для видалення і 5 не оновлено.
Необхідно завантажити 528 MB архівів.
Після цієї операції об'єм зайнятого дискового простору зросте на 933 MB.
Бажаєте продовжити? [Y/n]
  • Налаштування libc6:arm64 - погоджуємось:

libc6

  • Далі буде багато пропозицій змінити конфігурації деяких пакетів, я відмовлявся та залишав все без змін:
Configuration file '/etc/login.defs'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** login.defs (Y/I/N/O/D/Z) [default=N] ? N
Configuration file '/etc/plymouth/plymouthd.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** plymouthd.conf (Y/I/N/O/D/Z) [default=N] ? n
  1. Перед тим як перезавантажити систему пишуть, що важливо перевірити наявність помилок після наступної команди:
  • sudo sshd -t
  • якщо команда видала повідомлення про помилки намагаємось їх виправити в файлі: sshd_config
    sudo nano /etc/ssh/sshd_config
  • в моєму випадку помилок не було, тому перезавантажую sudo systemctl reboot
  1. Перевіряємо що у нас вийшло з оновленням:
  • uname -mrs
    Linux 6.1.36-v8+ aarch64
  • lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm
  1. Заглядаємо в Home Assistants та знаходимо проблеми на кшталт цієї:

ha

  1. Виправляємо їх наступним чином:
  • За інструкцією дивимось які пакети мають бути встановленими для коректної роботи Home Assistant Supervised та виконуємо команду:
    sudo apt install apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus lsb-release systemd-journal-remote systemd-resolved -y

  • Перезавантажуємо систему sudo systemctl reboot

  • Заходимо в інтерфейс Home Assistant де нам буде запропоновано оновити ядро до версії core-2023.8.4, погоджуємося з цією пропозицією.

  • Тепер залишається натиснути кнопку ПЕРЕЗАВАНТАЖИТИ SUPERVISOR та отримати систему, що повністю підтримується й не має помилок в логах:

ha

До змісту