Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin:bookworm

Bookworm Upgrade

Wichtige Änderungen und potentielle Probleme

  • Nur noch merged-usr FS layout supported.
  • A syslog daemon, such as rsyslog, is no longer installed by default; the systemd journalctl utility is available to review logs.
  • systemd-resolved was split from systemd.
  • Unfreie Firmware ist jetzt nicht mehr in non-free, sondern im neuen non-free-firmware.
  • MariaDB-Pakete haben keine Versionsnummern mehr: siehe Release Notes
  • request-tracker4 has been superseded by request-tracker5 in this release, and will be removed in future releases.
  • The isc-dhcp suite has been deprecated by the ISC. The security team will support the isc-dhcp package during the bookworm lifetime, but the package will likely be unsupported in the next stable release.
  • The Debian provided python3 interpreter packages (python3.11 and pypy3) are now marked as being externally-managed, following PEP-668.
  • The ntp package, which used to be the default way to set the system clock from a Network Time Protocol (NTP) server, has been replaced by ntpsec. The Debian default is now systemd-timesyncd, which may be adequate for users who only need an ntp client to set their clock.

Anleitung

Es empfiehlt sich, das Update in einer tmux- oder screen-Session durchzuführen, um nicht durch eine unterbrochene SSH-Verbindung den Upgrade-Prozess abzuschießen!

Vor dem Update

Backup und Restore

Vor dem Update sicherstellen, dass es ein aktuelles und funktionierendes und wiederherstellbares Backup gibt.

Distanzminimierung

Bei älteren Systemen diese erst auf bullseye aktualisieren. Innerhalb von bullseye auch zuerst einen aktuellen Stand herstellen.

Prepare the package database

You should make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT source-list files still point to bullseye and not to stable or bookworm.

Recording the session

It is strongly recommended that you use the /usr/bin/script program to record a transcript of the upgrade session. Then if a problem occurs, you will have a log of what happened, and if needed, can provide exact information in a bug report. To start the recording, type:

# script -t 2>~/upgrade-bookwormSTEP.time -a ~/upgrade-bookwormSTEP.script

or similar. If you have to rerun the typescript (e.g. if you have to reboot the system) use different step values to indicate which step of the upgrade you are logging. Do not put the typescript file in a temporary directory such as /tmp or /var/tmp (files in those directories may be deleted during the upgrade or during any restart).

The typescript will also allow you to review information that has scrolled off-screen. […]

NB: In tmux kann man in der Standard-Config (grüne Statusleiste unten) mit Ctrl-B PgUp, in der grml-Config (schwarze Statusleiste unten) mit Ctrl-A PgUp scrollen. Scrollmodus verlassen mit q.

After you have completed the upgrade, you can stop script by typing exit at the prompt.

apt will also log the changed package states in /var/log/apt/history.log and the terminal output in /var/log/apt/term.log. dpkg will, in addition, log all package state changes in /var/log/dpkg.log. If you use aptitude, it will also log state changes in /var/log/aptitude.

If you have used the -t switch for script you can use the scriptreplay program to replay the whole session:

# scriptreplay ~/upgrade-bookwormSTEP.time ~/upgrade-bookwormSTEP.script

Das Update

Obsolete und fremde Pakete entfernen

Das aptitude in den folgenden Zeilen ist nicht aus den Debian-Release-Notes, aber Thomas mag es lieber als apt.

Finden:

apt list '~o'
aptitude search '~o'

apt list '?narrow(?installed, ?not(?origin(Debian)))'
aptitude search '?narrow(?installed, ?not(?origin(Debian)))'

apt install apt-forktracer
apt-forktracer | sort

Entfernen:

apt purge '~o'

Pakete, die von uns selbst eingebracht wurden, sollten konfiguriert belassen werden:

  • tivsm-* (s. u.)
  • gskssl (s. u.)
  • gskcrypto (s. u.)
  • sssd
  • ganeti*
  • adcli

Das Paket systemd-journal-persistent ist obsolet und kann entfernt werden. Das Verzeichnis /var/log/journal sollte auch bei einem Purge überleben, da es nicht leer ist, ggf. aber zur Sicherheit überprüfen.

Die TSM-Pakete sind prinzipiell durch das CommVault-Backup obsolet, könnten aber möglicherweise nochmal relevant sein um Backups vor der Umstellung im Januar 2023 zu restoren. Also eher unwahrscheinlich.

Konfigurationsdateien

find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'

Paketmanager prüfen

dpkg --audit

Holds überprüfen:

apt-mark showhold

Klebung

Pinning (/etc/apt/preferences{,.d}) überprüfen.

gpgv

APT needs gpgv version 2 or greater to verify the keys used to sign releases of bookworm. Since gpgv1 technically satisfies the dependency but is useful only in specialized circumstances, users may wish to ensure the correct version is installed with:

# Installiert und markiert es als Dependency (so als würde man `apt-mark auto` hinterherschieben), idempotent wenn schon installiert
aptitude install gpgv+M

Quellen anpassen

Nicht-offizielle Quellen ggf. temporär entfernen; Codename anpassen:

sed -i s/bullseye/bookworm/ /etc/apt/sources.list.d/*
systemd-detect-virt -q || sed -i -E '/non-free/{p;s/(non-free)/\1-firmware/}' /etc/apt/sources.list.d/*

Monitoring

Ggf. eine Maintenance/Silence in Zabbix und Prometheus einstellen.

Update

Der übliche Drei-Schritt-Prozess, natürlich mit neuen Commands:

apt update
apt upgrade --without-new-pkgs
apt full-upgrade

Einige Körner auf die Enter-Taste streuen. Zu Risiken und Nebenwirkungen den entsprechenden Abschnitt der Release Notes konsultieren.

Reboot

shutdown -r now

Postgres

Postgres-Cluster von 13 (bullseye) zu 15 (bookworm) upgraden:

pg_dropcluster 15 main --stop
pg_upgradecluster --no-start 13 main

Die /var/lib/postgresql/15/main/postgresql.auto.conf überprüfen, sie sollte enthalten:

archive_mode = 'on'
archive_command = 'run-parts --report --arg=%p --arg=%f --arg=pgbackrest /etc/postgresql/wal-archive'

pgBackRest updaten:

sed -i s,/var/lib/postgresql/13/main,/var/lib/postgresql/15/main, /etc/pgbackrest.conf
sudo -u postgres pgbackrest --stanza=main --no-online \
       --log-level-console=info stanza-upgrade

Neuen Cluster starten:

pg_ctlcluster 15 main start

Check:

pg_lsclusters
sudo -u postgres pgbackrest --stanza=main check

Alten Cluster entfernen:

pg_dropcluster 13 main
apt purge postgresql-13 postgresql-client-13 postgresql-contrib-13

Pfade in CommVault anpassen.

Nach dem Update

Obsolete Pakete aufräumen:

apt list '~o'
aptitude search '~o'
# Liste überprüfen!
apt purge '~o'
aptitude purge '~o'

Pakete mit übrig gebliebener Config:

apt list '~c'
aptitude search '~c'
apt purge '~c'
aptitude purge '~c'

Allgemeines aufräumen:

apt autoremove --purge
apt clean
find /etc -name '*.dpkg-*' -or -name '*.ucf-*' -or -name '*.merge-error'

Externe Quellen wieder einbinden

Externe Quellen wieder einbinden und mit dem üblichen Prozedere updaten und upgraden.

Ansible

Stand 2023-08-07 hat das Ansible noch keine Anpassungen für bookworm. Nach Möglichkeit mit –check vorab überprüfen und ggf. anpassen. Achtung auch mit noch offenen, aber bereits umgesetzten Merge Requests, vor allem Postgres!

Reboot

shutdown -r now

Test des Systems, Monitoring

Manuelle Prüfung des Systems. Auch schauen, ob das Monitoring zufrieden ist.

Monitoring wieder scharf schalten.

admin/bookworm.txt · Zuletzt geändert: 2023-08-08 14:04 von Lars Beckers

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki