Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin:bookworm

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
admin:bookworm [2023-08-08 13:59] – [Wichtige Änderungen und potentielle Probleme] Lars Beckersadmin:bookworm [2023-08-08 14:04] (aktuell) – [Wichtige Änderungen und potentielle Probleme] Lars Beckers
Zeile 1: Zeile 1:
 +====== Bookworm Upgrade ======
  
 +[[https://wiki.debian.org/NewInBookworm|New]], [[https://www.debian.org/releases/bookworm/amd64/release-notes/index.en.html|Release Notes (amd64)]].
 +
 +===== 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 [[https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#mariadb-versionless-package-names|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 [[admin:bullseye|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:
 +
 +<code>
 +# script -t 2>~/upgrade-bookwormSTEP.time -a ~/upgrade-bookwormSTEP.script
 +</code>
 +
 +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:
 +
 +<code>
 +# scriptreplay ~/upgrade-bookwormSTEP.time ~/upgrade-bookwormSTEP.script
 +</code>
 +
 +==== 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:
 +<code>
 +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
 +</code>
 +
 +Entfernen:
 +<code>
 +apt purge '~o'
 +</code>
 +
 +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 ===
 +
 +<code>
 +find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
 +</code>
 +
 +=== Paketmanager prüfen ===
 +
 +<code>
 +dpkg --audit
 +</code>
 +
 +Holds überprüfen:
 +<code>
 +apt-mark showhold
 +</code>
 +
 +=== 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:
 +
 +<code>
 +# Installiert und markiert es als Dependency (so als würde man `apt-mark auto` hinterherschieben), idempotent wenn schon installiert
 +aptitude install gpgv+M
 +</code>
 +
 +=== Quellen anpassen ===
 +Nicht-offizielle Quellen ggf. temporär entfernen; Codename anpassen:
 +<code>
 +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/*
 +</code>
 +
 +=== Monitoring ===
 +Ggf. eine Maintenance/Silence in [[https://monitoring.fsmpi.rwth-aachen.de/zabbix/maintenance.php|Zabbix]] und [[http://prometheus.fsmpi.rwth-aachen.de/alertmanager/#/silences/new|Prometheus]] einstellen.
 +
 +=== Update ===
 +Der übliche Drei-Schritt-Prozess, natürlich mit neuen Commands:
 +<code>
 +apt update
 +apt upgrade --without-new-pkgs
 +apt full-upgrade
 +</code>
 +
 +Einige Körner auf die Enter-Taste streuen.  Zu Risiken und Nebenwirkungen [[https://www.debian.org/releases/bookworm/amd64/release-notes/ch-upgrading.en.html#trouble|den entsprechenden Abschnitt der Release Notes]] konsultieren.
 +
 +=== Reboot ===
 +<code>
 +shutdown -r now
 +</code>
 +
 +=== Postgres ===
 +Postgres-Cluster von 13 (''bullseye'') zu 15 (''bookworm'') upgraden:
 +
 +<code>
 +pg_dropcluster 15 main --stop
 +pg_upgradecluster --no-start 13 main
 +</code>
 +
 +Die ''/var/lib/postgresql/15/main/postgresql.auto.conf'' überprüfen, sie sollte enthalten:
 +<code>
 +archive_mode = 'on'
 +archive_command = 'run-parts --report --arg=%p --arg=%f --arg=pgbackrest /etc/postgresql/wal-archive'
 +</code>
 +
 +pgBackRest updaten:
 +<code>
 +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
 +</code>
 +
 +Neuen Cluster starten:
 +<code>
 +pg_ctlcluster 15 main start
 +</code>
 +
 +Check:
 +<code>
 +pg_lsclusters
 +sudo -u postgres pgbackrest --stanza=main check
 +</code>
 +
 +Alten Cluster entfernen:
 +<code>
 +pg_dropcluster 13 main
 +apt purge postgresql-13 postgresql-client-13 postgresql-contrib-13
 +</code>
 +
 +Pfade in CommVault anpassen.
 +
 +==== Nach dem Update ====
 +
 +Obsolete Pakete aufräumen:
 +<code>
 +apt list '~o'
 +aptitude search '~o'
 +# Liste überprüfen!
 +apt purge '~o'
 +aptitude purge '~o'
 +</code>
 +
 +Pakete mit übrig gebliebener Config:
 +<code>
 +apt list '~c'
 +aptitude search '~c'
 +apt purge '~c'
 +aptitude purge '~c'
 +</code>
 +
 +Allgemeines aufräumen:
 +<code>
 +apt autoremove --purge
 +apt clean
 +find /etc -name '*.dpkg-*' -or -name '*.ucf-*' -or -name '*.merge-error'
 +</code>
 +
 +=== 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 ===
 +<code>
 +shutdown -r now
 +</code>
 +
 +=== Test des Systems, Monitoring ===
 +
 +Manuelle Prüfung des Systems. Auch schauen, ob das Monitoring zufrieden ist.
 +
 +Monitoring wieder scharf schalten.

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki