class: center, middle # Debian 10 auf 11 aktualisieren ## Erfahrungsbericht + Anleitung ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - Community-Video-Serie *"Nicht der Weisheit letzter Schluß"* auf
tube.tchncs.de
und
YouTube
mit **beruflichen** oder **privaten Projekten** - Hat mehrere Debian-/Raspberry-Pi-OS-Server von Version 10 auf 11 aktualisiert. --- ### Bevor es losgeht Ein paar Hinweise zur Aktualisierung. Bei jedem Schritt: * Auf **Fehlermeldungen** achten * Bei **geänderten Konfigurationsdateien genau auf Unterschiede** schauen und im Zweifelsfall die alte Version verwenden * Changelogs lesen * debconf-Fragen beantworten * **Vor dem Entfernen** von Paketen mit "apt-get autoremove" schauen, ob nicht doch etwas dabei ist, das noch **gebraucht wird**. * Wenn etwas dabei ist, die Pakete mit "apt-get install [Paketname 1] [Paketname 2]" **als nicht zu entfernen markieren**. --- ### Vor der Aktualisierung Ein letztes Mal noch mit der **alten Version**: * Paketliste mit verfügbaren (neuen) Paketen herunterladen: ```bash apt-get update ``` * Installierte Pakete aktualisieren und wenn nötig, zusätzliche Pakete installieren: ```bash apt-get dist-upgrade ``` --- ### Version ändern Distributionsnamen ändern (buster => bullseye, trusty => focal): ```bash cd /etc/apt/ sed -i -e 's/buster/bullseye/g' -e 's/trusty/focal/g' sources.list sources.list.d/* ``` Nur unter Debian (**nicht Raspberry Pi OS**) ```bash sed -i '/security/d' sources.list echo 'deb https://security.debian.org/debian-security bullseye-security main contrib non-free #deb-src https://security.debian.org/debian-security bullseye-security main contrib non-free' >> sources.list # Für Debian-Paketquellen HTTPs verwenden sed -i 's#http:#https:#g' sources.list # Alte FTP-Spiegelserver durch neuen deb.debian.org ersetzen sed -i 's#ftp.*\.debian\.org#deb.debian.org#g' sources.list sources.list.d/* ``` --- ### Aktualisieren * Paketliste mit verfügbaren (neuen) Paketen herunterladen: ```bash apt-get update ``` * **Bei Fehlermeldungen** wie *"InRelease' changed its 'Version' value from 'XX.XX' to 'XX.XX'"* oder *"changed its 'Suite' value from 'XXX' to 'YYY'"* ```bash apt-get update --allow-releaseinfo-change ``` * Installierte Pakete aktualisieren: ```bash apt-get upgrade ``` * Installierte Pakete aktualisieren und wenn nötig, zusätzliche Pakete installieren: ```bash apt-get dist-upgrade ``` --- ### Aufräumen * Nicht mehr benötigte Pakete entfernen: ```bash apt-get autoremove``` * Debian-Paketdateien löschen: ```bash apt-get clean ``` --- ### Problemfall "MediaWiki" Konfigurationsdatei und Datenbank haben sich in der neuen Version geändert. In /etc/mediawiki/LocalSettings.php ```bash $wgServer = ''; ``` ergänzen und Datenbank mit ```bash php /usr/share/mediawiki/maintenance/update.php ``` migrieren. --- ### Problemfall "Fehlendes PHP" PHP 7.3 wurde nicht durch 7.4 ersetzt, sondern **nur deinstalliert**. Nachinstallieren mit: ```bash apt-get install libapache2-mod-php php-common php-bz2 php-cli \ php-common php-curl php-json php-mbstring php-mysql \ php-opcache php-readline php-sqlite3 php-xml ``` Apache neu starten: ```bash /etc/init.d/apache2 restart ``` Nachtrag: Das Entfernen und Nicht-Aktualisieren fand statt, da die versionierten Pakete (mit 7.3 im Namen) und die generischen Pakete installiert waren. --- ### Problemfall "Pakete ohne Inhalt" (RasPi) Kaputte Paketdatenbank (Pakete, die keine Dateien in der Datenbank registriert haben). Die Pakete neu installieren, damit die Einträge in der Datenbank vorhanden sind: ```bash apt-get install --reinstall build-essential adduser bash bsdutils ``` --- ### Problemfall "mksh" (Raspberry Pi OS) Das Paket *"mksh"* ließ sich nicht aktualisieren oder normal entfernen, bei jedem *"apt-get dist-upgrade"* wurde aber wieder versucht, es zu installieren: * Fehler im Pre-rm-Skript durch sofortiges Beenden "korrigieren": ```bash echo '#!/bin/sh exit 0' > /var/lib/dpkg/info/mksh.prerm ``` * mksh mit allen Konfigurationsdateien entfernen: ```bash apt-get remove --purge mksh ``` * Priorität so niedrig ansetzen, damit mksh nicht mehr installiert wird: ```bash echo 'Package: mksh Pin: release o=* Pin-Priority: -100 ' > /etc/apt/preferences.d/no-mksh ``` --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de