NEWS
Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie'
-
Debian 13 'Trixie' ist am 09.08.2025 in einer stabilen Version veröffentlicht worden!
Upgrades sind nur von der direkten Vorversion und nur von der gleichen CPU-Architektur aus möglich.
Also Debian 12 'Bookworm' und z.B. arch64. CrossUpgrades von 32Bit 'armhf' auf 'arm64' sind nicht möglich (nur für echte Pinguine!) und bedingen eine Neuinstallation.Hier hat es folgendermaßen auf einem Raspberry 4 funktioniert.
Natürlich ohne Desktop oder sowas, nur per SSH direkt mit einem Terminal verbunden. Mit laufender GUI und aus einer lokalen Konsole heraus ist das alles komplizierter, weil es passieren kann, dass die Verbindung abreißt und das ganze schwer in die Hose geht. Aber wir betreiben ja Server alle immer grundsätzlich ohne graphische Oberfläche...Das bisherige System muss auf dem allerletzten Stand sein.
Also persudo apt update sudo apt full-upgrade sudo reboot
zunächst mal sicherstellen, das man auf dem neusten PointRelease agiert. Stand 09. August 2025 ist das:
echad@chet:~ $ cat /etc/debian_version 12.11 echad@chet:~ $
APT pinning:
Schauen, ob in einer Datei wie /etc/apt/preferences oder im Verzeichnis /etc/apt/preferences.d Pakete (außer nodejs / nodesource) gepinnt wurden. Diese müssen entfernt werden.Mit
apt-mark showhold
schaut man noch, ob Paket auf halten gesetzt wurden. Auch dies muss möglichst Rückgängig gemacht werden.
Geht dann persudo apt-mark unhold PAKETNAME
ODER in Bausch und Bogen
persudo apt-mark unhold `apt-mark showhold`
Jetzt wird geschaut, ob die Ausganglage sauber ist. Sollte ungefähr so aussehen:
echad@chet:~ $ sudo apt update Hit:1 http://deb.debian.org/debian bookworm InRelease Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease Hit:3 https://repos.influxdata.com/debian stable InRelease Hit:4 http://archive.raspberrypi.com/debian bookworm InRelease Hit:5 http://deb.debian.org/debian bookworm-updates InRelease Hit:6 http://phoscon.de/apt/deconz bookworm InRelease Hit:7 http://phoscon.de/apt/deconz bookworm-beta InRelease Hit:8 https://apt.grafana.com stable InRelease Hit:9 https://cli.github.com/packages stable InRelease Hit:10 https://deb.nodesource.com/node_20.x nodistro InRelease Hit:11 https://repo.mosquitto.org/debian bookworm InRelease Hit:12 https://packages.redis.io/deb bookworm InRelease Get:13 https://pkgs.tailscale.com/stable/debian bookworm InRelease Hit:14 https://packagecloud.io/ookla/speedtest-cli/debian bookworm InRelease Fetched 6,581 B in 3s (1,994 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. echad@chet:~ $
Also alle bisherigen Quellen sind erreichbar und deren Schlüssel liegen sauber an Ort und Stelle und es werden auch keine sonstigen Fehler gemeldet.
Jetzt kann man hingehen, und das Ruder in Richtung Debian 13 'Trixie' drehen:
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*
Mit
sudo apt update
ziehen wir die neuen Quellen heran. Sollte dann wie zuvor aussehen, nur das nur statt wie bisher bookworm halt der neue Releasename trixie auftaucht:
echad@chet:~ $ sudo apt update Hit:1 http://deb.debian.org/debian trixie InRelease Hit:2 http://deb.debian.org/debian-security trixie-security InRelease Hit:3 https://cli.github.com/packages stable InRelease Hit:4 http://deb.debian.org/debian trixie-updates InRelease Hit:5 https://apt.grafana.com stable InRelease Hit:6 https://repos.influxdata.com/debian stable InRelease Hit:7 https://deb.nodesource.com/node_20.x nodistro InRelease Hit:8 http://archive.raspberrypi.com/debian trixie InRelease Get:9 https://pkgs.tailscale.com/stable/debian trixie InRelease Hit:10 https://packagecloud.io/ookla/speedtest-cli/debian trixie InRelease Fetched 6,579 B in 2s (2,850 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 721 packages can be upgraded. Run 'apt list --upgradable' to see them.
(Einige Quellen von Dritten waren noch nicht auf trixie umgestellt, weswegen ich diese für dieses HowTo 'auf Eis gelegt' habe. Das sollte aber bis zum offiziellen Release im Sommer 2025 auch für diese Repos erfolgt sein)
Wenn da noch was anderes als 'trixie', 'stable' oder im Fall von nodesource 'nodistro' auftaucht muss man diese Quelle noch anpassen oder auch deaktivieren. Die zugehörige .list-Datei wird im Verzeichnis /etc/apt/sources.list.d/ liegen.
Nach dem erfolgten Update kann eine Meldung wie
Warning: https://deb.nodesource.com/node_20.x/dists/nodistro/InRelease: Policy will reject signature within a year, see --audit for details
auftauchen. Die kann momentan ignoriert werden.Mit
sudo apt -o APT::Get::Trivial-Only=true full-upgrade
macht man einen Trockenlauf und schaut, wie viel Platz das neue System zusätzlich braucht und ob auf dem Datenträger noch genügend vorhanden ist. Bei mir ist alles in Ordnung:
721 upgraded, 173 newly installed, 56 to remove and 0 not upgraded. Need to get 757 MB of archives. After this operation, 770 MB of additional disk space will be used.
Wenn zu wenig Platz vorhanden ist meldet sich das System:
E: You don't have enough free space in /var/cache/apt/archives/.
Zuvor ist es eine gute Idee, alles unnötige zu beenden. Den ioBroker würde ich also schon mal per
iob stop
aus dem Verkehr ziehen. Gleiches gilt auch unbedingt für mariadb. Auch stoppen!
sudo service mariadb stop
Das Update macht man in zwei Schritten. Zunächst nur die bereits installierten Pakete:
sudo apt upgrade --without-new-pkgs
Wenn das durchgelaufen ist zieht man den Rest dann per
sudo apt full-upgrade
nach.
Irgendwann wird eine ChangeList erscheinen, die kann man mit
q
verlassen.
Die darauf folgende Frage, ob Services ungefragt neugestartet werden sollen beantworte ich auf meinem System mit <YES>Wenn in der Folge config-Dateien angezeigt werden, die nun in der neuen Version andere Einträge haben, dann bitte anschauen und überlegen, ob da nicht die eigenen Einträge bebeihalten werden. War auf meinem System bei dem nut-Server der Fall. Da habe ich natürlich die Einstellungen für meine USV z. B. beibehalten.
Das Spiel mit
sudo apt update
sudo apt full-upgradewiederholt man solange, bis gemeldet wird:
All packages are up to date.
Dann einmal das ganze Spiel neustarten:
sudo reboot
und man sollte dann z. B. in
iob diag
sehen, das man nun auf Debian 13 'Trixie' herumturnt:
*** BASE SYSTEM *** Static hostname: chet Icon name: computer Operating System: Debian GNU/Linux 13 (trixie) Kernel: Linux 6.12.25+rpt-rpi-v8 Architecture: arm64 OS is similar to: Model : Raspberry Pi 4 Model B Rev 1.4 Docker : false Virtualization : none Kernel : aarch64 Userland : 64 bit Systemuptime and Load: 21:55:13 up 15 min, 1 user, load average: 1.66, 1.17, 1.04 CPU threads: 4 *** LIFE CYCLE STATUS *** Operating System codenamed 'trixie' is a testing release! Please use it only for testing purposes!
Nachbereitung:
Mitapt list '~c'
kann man schauen, ob es noch Überreste von alten Paketen gibt, die im Zuge des Upgrades entfernt wurden.
Diese kann man persudo apt purge '~c'
noch runterwerfen.
Ähnliches macht man mit veralteten und lokal erzeugten Pakten nach Möglichkeit.
apt list '~o' sudo apt purge '~o' sudo apt --purge autoremove sudo apt autoclean
Zur Zeit noch optional ist die Umstellung auf das neue Format für die Paketquellen:
sudo apt modernize-sources
Falls Quellen aus dritter Hand verwendet werden manche davon umgestellt werden können, bei anderen wird Handarbeit angesagt sein. Die Umstellung kann durch die Eingabe von N simuliert werden.
Bei der Umstellung wird die ursprüngliche sources.list in das neue Format unter sources.list.d überführt. Die dort liegenden Dateien enden nicht mehr auf .list, sondern auf .sources.
Noch viel mehr Informationen finden sich hier:
https://www.debian.org/releases/trixie/release-notes/upgrading.de.html#Insbesondere bei Fehlern oder einer anderen Ausgangslage finden sich dort wichtige Hinweise zum Upgrade.
-
Super, danke.
Das mit den gepinnten und gehaltenen Pakete wusste ich nicht. -
@oliverio sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':
Das mit den gepinnten und gehaltenen Pakete wusste ich nicht.
Wenn du das nicht wieder 'frei laufen lässt' läufst du Gefahr, das es zu nicht auflösbaren Abhängigkeiten kommt.
-
@thomas-braun sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':
APT pinning:
Schauen, ob in einer Datei wie /etc/apt/preferences oder im Verzeichnis /etc/apt/preferences.d Pakete (außer nodejs / nodesource) gepinnt wurden. Diese müssen entfernt werden.schreibmal für alle die nicht so Fit sind
nano /etc/apt/preferences
oder
vi /etc/apt/preferences
-
@arteck VI würde ich da denen, die nicht so fit sind, nicht unbedingt empfehlen. Da muss selbst ich auf Systemen, die kein nano kennen, immer wieder mal nachschlagen, was ich genau drücken muss.
Gruss, Jürgen
-
@wildbill sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':
@arteck VI würde ich da denen, die nicht so fit sind, nicht unbedingt empfehlen. Da muss selbst ich auf Systemen, die kein nano kennen, immer wieder mal nachschlagen, was ich genau drücken muss.
Gruss, Jürgen
dann mach
cat /etc/apt/preferences
zum anzeigen reicht es
-
@arteck Jo, das stimmt. Wobei ich mittlerweile auch mit vi zum Ziel komme, aber einsteigerfreundlich ist da was Anderes…
Gruss, Jürgen
-
Super, danke.
Magst sowas bei Zeiten auch für das Upgrade Proxmox 8.x auf 9 machen?
liebguck -
Nö, weil ich Proxmox nicht verwende.
Aber ich hab mal für dich gesucht: -
Wie ist das mit der neuen Vorgehensweise mit
apt modernize-sources
.Wäre für mein Interesse auch einen Beitrag wert. Ich habe es bei einem Proxmox Backup Server angewendet.
Ist das auch was für RPI?
edit:
Hat bei meinem RPI funktioniert, danke!thomas@rpizigbee:~ $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 13 (trixie) Release: 13 Codename: trixie
-
Hatte ich überlegt. Ist aber derzeitig noch im Übergang begriffen und es können beide Formate verwendet werden.
Das nodesource-Repo kommt z. B. im alten Format daher. Andere Quellen müssen ggfls. aber auch noch von Hand gerade gerückt werden. Das wollte ich nicht im Zuge des Distributions-Upgrades noch mitverhandeln.Kann also jeder selber machen.
-
@thomas-braun sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':
Wenn das durchgelaufen ist zieht man den Rest dann per sudo apt full-upgrade nach. Zuvor ist es aber eine gute Idee, alles unnötige zu beenden. Den ioBroker würde ich also schon mal per iob stop aus dem Verkehr ziehen.
Bei dieser Formulierung bin ich skeptisch. Vielleicht solltest Du in der Anleitung die Reihenfolge der Befehle umkehren, weil nicht alle dies folgerichtig lesen:
erst
iob stop
dannsudo apt full-upgrade
. -
Liest man Anleitungen nicht zunächst mal durch und schaut, ob man das versteht?
-
Ich schon, aber ....
-
@thomas-braun sagte in [Upgrade von Debian 12
Liest man Anleitungen nicht zunächst mal durch und schaut, ob man das versteht?
99% wahrscheinlich nicht.
Wenn dann machen die meisten copy Paste
Die wenigsten lesen nach was sie damit verursachen wenn man es nicht dazu schreibt und auf die wahlmöglichkeiten und Konsequenzen aufmerksam macht -
@thomas-braun
Danke für die Anleitung.Frage:
Wäre auf einem 4er Raspi, auf dem nur iob läuft, eine Neuinstallation von trixi einfacher und sicherer?
Also neue SD bzw. USB-Stick > trixi > install ioB > restore ?Wäre das nicht sauberer und bietet weniger Angriffsfläche für Probleme?
tnx && schöne WE
-
@wcag22 sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':
Wäre auf einem 4er Raspi, auf dem nur iob läuft, eine Neuinstallation von trixi einfacher und sicherer?
Das ist auch die offizielle Aussage von RaspberryOS dazu. Deren Empfehlung ist immer: Neuinstallation.
RaspberryOS 13 'Trixie' ist übrigens noch nicht veröffentlicht worden! Das dauert immer ein paar Wochen. Bei Trixie vermutlich noch etwas länger, weil:
Auf dem Weg nach draußen ist zudem armel, für dass es keinen Installer mehr gibt und dass im Kernel nur noch Raspberry Pi 1, Zero und Zero W unterstützt. Benutzer von Armel-Systemen können noch auf Trixie aktualisieren, sofern ihre Hardware von den Kernel-Paketen unterstützt wird oder sie den Kernel eines Drittanbieters verwenden.
-
@thomas-braun sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':
Das ist auch die offizielle Aussage von RaspberryOS dazu. Deren Empfehlung ist immer: Neuinstallation.
RaspberryOS 13 'Trixie' ist übrigens noch nicht veröffentlicht worden! Das dauert immer ein paar Wochen. Bei Trixie vermutlich noch etwas länger, weil:Ok, danke. Dann werde ich wohl noch warten und zu gegebener Zeit einen sauberen Übergang vollziehen.
-
Hi!
Ich habe nun das Upgrade nach der tollen Anleitung gestartet. Sieht für mich auch alles soweit gut aus. Nach den Läufen von sudo apt update und sudo apt full-upgrade sieht bei mir aber die Rückmeldung etwas anders aus als "All packages are up to date."
marcus@iobroker:~$ sudo apt update Hit:1 http://security.debian.org trixie-security InRelease Hit:2 http://deb.debian.org/debian trixie InRelease Hit:3 https://apt.grafana.com stable InRelease Get:4 http://deb.debian.org/debian trixie-updates InRelease [47.1 kB] Hit:5 https://repos.influxdata.com/debian stable InRelease Hit:6 https://deb.nodesource.com/node_20.x nodistro InRelease Fetched 47.1 kB in 0s (356 kB/s) All packages are up to date. Warning: https://deb.nodesource.com/node_20.x/dists/nodistro/InRelease: Policy will reject signature within a year, see --audit for details marcus@iobroker:~$ sudo apt full-upgrade Summary: Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Ist das auch ok? Was muss ich den bezüglich der Warnung bezüglich nodejs unternehmen?
Danke schon mal für etwas Unterstützung hierbei.
-
@hotspot_2 sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':
Was muss ich den bezüglich der Warnung bezüglich nodejs unternehmen?
Nichts. nodesource verwendet noch einen veralteten Schlüssel für die Signaturen. Müssen die mal umstellen.
Ist aber für das Upgrade unerheblich.