Günther Obermaiers Webseite



Allgemeines zu Debian 13 trixie

Upgrade von bookworm auf trixie

Dieser Text basiert auf der Anleitung bei linuxconfig.org und meinem eigenem Upgrade von Stretch auf Buster und Upgrade von Buster auf Bullseye

Veraltete Pakete oder solche ausserhalb der Paketverwaltung suchen (das Zeichen vor "o" ist eine Tilde!):
# aptitude search '~o'
Dies ergab bei mir "zoom", zwei Scanapplikationen von Epson zum ET5800 und einen Haufen Libraries. Muss aber nicht sein, auf dem zweiten Rechner, meinem Laptop sirius fehlten wahrscheinlich zoom und der Scanner, war gar kein Treffer. Aber auf polaris entfernte ich alles mit dem Kommando:
# aptitude purge '~o'
Jetzt das vorhandene bookworm-System aktualisieren mit
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
zurückgehaltene Pakete kontrollieren.
# dpkg -C
# apt-mark showhold
Dann in der /etc/apt/sources.list bookworm durch trixie ersetzen, am einfachsten mit sed. Vorsichtige Admins kontrollieren, ob das trixie-Repository auch auf der bevorzugten Quelle vorhanden ist. Eigentlich löst das der sed
# cp /etc/apt/sources.list /etc/apt/sources.list_backup
# sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
# apt-get update
so, jetzt kann man simulieren, was beim Upgrade passiert:
# apt list --upgradable
auf polaris, dem Lenovo T450s, das ich diesmal als Versuchskaninchen wählte, war alles grün! Dann geht der eigentliche Upgrade los, beide Teile dauern in Summe etwa eine halbe Stunde (DSL 100)
# apt-get upgrade
# apt-get dist-upgrade
Beim Upgrade behielt ich immer meine lokal veränderten Konfigurationstateien, antwortete also immer mit "N ". Bei Debian 12 bookworm wurde in der /etc/apt/sources.list der Komponenten Wert non-free in non-free non-free-firmware aufgeteilt. Das sollte anschliessend angepasst werden, so dass /etc/apt/sources.list jetzt etwa so aussieht:
deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware

# security-updates
deb http://security.debian.org/debian-security trixie-security/updates main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security trixie-security/updates main contrib non-free non-free-firmware

# trixie-updates
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware

# signal desktop
deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main 
So, neu Booten, alles ok!. Mit
# aptitude purge '~o'
werden die überflüssigen Libraries und nicht mehr benötigten Pakete gelöscht.
Eine Liste aller installierten Pakete erhält man mit
# dpkg --get-selections | grep -v deinstall | awk ' { print $1 } '

Problem mit Apache und PHP beim Upgrade

meine eigene lokale Seite unter https://ulm-goitservice.dyndns.org/index.php https://ulm-goitservice.dyndns.org/index.php warf einen http 503-er Fehler mit
[Sat Nov 01 17:46:20.922072 2025] [proxy:error] [pid 576523:tid 576523] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php8.2-fpm.sock (localhost:8000) failed
[Sat Nov 01 17:46:20.922420 2025] [proxy_fcgi:error] [pid 576523:tid 576523] [client 66.249.66.14:47893] AH01079: failed to make connection to backend: localhost
Nach kurzer Internetrecherche und durch ähnliche Probleme bei frühreren Updates war als Ursache schnell das alte Modul von Debian 12 ausgemacht. Installiert war das Modul nicht mehr, das ergab apt-get remove libapache2-mod-php8.2. Das Modul kann man mit:
a2disconf php8.2-fpm 
systemctl reload apache2
deaktivieren. Beim nächsten Reload im Browser hatte sich ein noch älteres Modul php7.0-fpm im Fehler gemelden. Auch das war schnell abgeschaltet:
a2disconf php7.0-fpm 
systemctl reload apache2
Endlich lief die Webseite wieder. PHP 8.4 funktionierte sofort, andernfalls hätte ich versucht, es mit
# a2enconf php8.4-fpm
zu aktivieren.

System klonen / Grub nachträglich installieren

Da die Kopieraktion mit UEFI und einer gpt partitionierten Platte bei mir noch nie funktioniert hat, auf den HP Elitedesk 805 G6 aber kein Legacy BIOS mehr verwendet werden kann, probierte ich es diesmal doch wieder. Den ersten Rechner installierte ich einfach manuell, siehe hier bei spica - trixie 13.1 fuer HP Elitedesk 805 G6.
Dann kopierte ich diese Platte mit einer NVMe Clonestation (Icy Box IB-1612MCL-C31) und in der initial verwendeten Hardware (spica) funktionierte der Clone auch einwandfrei, aber in einer anderen Zielhardware (castor) bootete die Platte nicht. Irgendwas muss beim UEFI-BIOS im Speicher ausserhalb der SSD gespeichert werden.
Nach einigen erfolglosen Bootversuchen mit meinem einzigen, seit Jahren problematischen DVD-ROM erstellte ich aus dem ISO der netboot-CD einfach einen USB-Bootstick.
Vorsicht, wenn /dev/sdb nicht der leere USB Stick sondern die Systemplatte ist, muss der manuell installierte Rechner auch neu aufgesetzt werden! Das Device /dev/sdb muss der Stick selber und keine Partition darauf (das wäre /dev/sdb1) sein!
# cp debian-13.1.0-amd64-netinst.iso /dev/sdb
# sync
Also bootete ich die neue Hardware mit dem gerade erstellten USB Stick, was viele Male schneller ging als mit dem räudigen DVD-Laufwerk und installierte das Basisystem auf der echten Zielhardware. Ich habe das UEFI BIOS anderweitig bis dato nicht dazu gebracht, von der NVMe Platte zu booten. Für die zu installierende Software wählte ich nur Standardtools und ssh-server aus, die xfce-Oberfläche und alles andere kommt gleich via rsync. Nach Erlauben des Remote Login durch Root mit Passwort in der /etc/ssh/sshd_config mit:
PermitRootLogin yes 
dem Restart des ssh Daemons und dann der Installation von aptitude, net-tools und rsync
# /etc/init.d/ssh restart
# apt-get install aptitude net-tools rsync
brach ich ab, loggte mich remote (von spica) auf dem neuen Rechner (castor) ein und versorgte diesen remote vom manuell installierten System (spica) mit aller Software duch folgenden rsync Bandwurm.:
# rsync -avrtHAX --progress --delete --exclude /proc --exclude /sys --exclude /dev --exclude /home --exclude /tmp --exclude /run --exclude /var/lib/mysql --exclude /homeserv --exclude /homelocal --exclude /boot/grub --exclude /boot/efi --exclude /etc/fstab --exclude /etc/uswsusp.conf --exclude /etc/initramfs-tools/conf.d/resume --exclude /backup --exclude /local --exclude /etc/hosts --exclude /etc/hostname  --exclude /etc/mailname  --exclude /etc/network/interfaces root@spica:/ / 
Nach dem Booten und eventuellem Überschreiben mit der richtigen Identity noch
# update-initramfs -u -k all
fertig!
Vorsicht, wenn man im UEFI-BIOS des HP Elitedesk 805 G6 bestimmte Einstellungen ändert und/oder das System zurücksetzt, ist die eben erstellte Bootmöglichkeit wieder im Eimer! reboot
Kopieren ohne cpHost und ohne mvUUIDforBaseByDev Diese beiden Skripte benötigte ich, wenn ich die Platten einfach kopierte um die von der Quellplatte kopierten /boot/grub/grub.cfg, /etc/fstab, /etc/uswsusp.conf und /etc/initramfs-tools/conf.d/resume für die abweichenden UUIDs der Partitionen auf der Zielplatte zu korrigieren.
Bei dem oben angegebenen rsync Bandwurm werden diese Dateien ausgeklammert, sie wurden durch die Basisinstallation auf der Zeilplatte vorher korrekt angelegt.

Eclipse für einen User einrichten

Etwas frei nach geeksforgeeks.org:
www.eclipse.org/downloads/packages/ passende Installationspaket auswählen, war in meinem Fall "Eclipse IDE for PHP Developers" und zwar die "Linux x86_64" Variante. Nach dem Download auspacken (als normaler User!)
$ cd /home/common/software/debian/
$ tar xvfz eclipse-php-2022-12-R-linux-gtk-x86_64.tar.gz
$ mv  /home/common/software/debian/eclipse /home/USERNAME/eclipse
$ cd /home/USERNAME/eclipse
Starter in der Fensterleiste anlegen, fertig!

Netzwerkdrucker/Drucker Installation kopieren

Rein praktisch kopierte ich einfach /etc/cups von einer anderen trixie Maschine, die ich vorher aktualisiert hatte. Von einem Rechner mit Debian 12/bookworm würde es wahrscheinlich auch funktionieren
Am Zielrechner:
# /etc/init.d/cups stop
# rsync -avrtHAX --delete QUELLRECHNER:/etc/cups/ /etc/cups/
# /etc/init.d/cups start
Wichtig: Kein -avurtHAX aber --delete!

Rechner umbenennen oder IP Adresse ändern

bei Namensänderungen oder Domainänderungen müssen folgende Dateien angepasst werden:
/etc/hosts
/etc/hostname
/etc/mailname
/etc/exim4/update-exim4.conf.conf
/etc/resolv.conf
/etc/init.d/obi1		(wegen mount ec.)
/etc/cups/printer.conf
/etc/network/interfaces
Falls ein Proxy verwendet werden soll, auch in den Browser Einstellungen und in
/etc/apt/apt.conf