Die Veröffentlichung von Debian 13 »Trixie« rückt näher. Mit der Veröffentlichung wird auch das Deb822-Format als neuer Standard für die Verwaltung der APT-Paketquellen eingeführt. Wir haben bereits mehrfach darüber berichtet. Die Umstellung begann in Unstable und setzte sich dann in Testing fort. Voraussetzung für die Umstellung ist APT in Version 3.0. Ubuntu benutzt das neue Format bereits seit Version 24.04 LTS »Noble Numbat«. In der Folge der Umstellung in Trixie wird das neue Format auch für Debian-Derivate ausgerollt.
Was ändert sich?
Das Format der Quellen wird von den bisherigen zeilenbasierten .list-Dateien auf besser strukturierte .sources-Dateien im Deb822-Format umgestellt. Die Dateien liegen auch weiterhin unter /etc/apt/sources.list.d.
Wie sieht das praktisch aus?
Bisher sieht ein Quelleneintrag für Debian Stable in einer Datei namens debian.list beispielsweise so aus:
deb https://deb.debian.org/debian/ stable main contrib
deb https://security.debian.org/debian/debian-security
Im neuen Format DEB822 heißt die Datei dann debian.sources und sieht im einfachsten Fall so oder so ähnlich aus:
# Stable Updates
Types: deb
URIs: https://deb.debian.org/debian/
Suites: stable
Components: main contrib non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# Security updates
Types: deb deb-src
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Das neue Format basiert auf Schlüssel-Wert-Paaren und ist damit übersichtlicher und flexibler. Das Feld Signed-By ermöglicht die explizite Zuordnung eines GPG-Schlüssels pro Quelle. Mehrere URIs, Suites oder Komponenten können in einer Datei definiert werden.
Wer möchte, kann den GPG-Key auch gleich in der Datei speichern, indem statt des Speicherorts der Schlüssel selbst angegeben wird. Das sieht dann so aus:
Signed-By:
-----BEGIN PGP PUBLIC KEY BLOCK-----
.
ClKP3C1HTQuDkXBmA1UQoRPHGG0EQGkDNhB8kVRSP7BVuE5S/EoBtH5zkMfGu3X/
Yi08R1KeDyoZ5rOScmpcG04XqYDbZCHr3Vv7cJdvUSK+l9kZo4K3JEFJVHDz1YgF
gEF7TXo+mOc8+LMIEglbFKZwsMab/j3mJShpABEBAAG0IHRlc3QgdXNlciA8dGVz
dEBleGFtcGxlLmNvbT6JATgEEwEIACMFAl93qZ8CGy8HCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRAH+ItXsViCl1JXCAC9kZJb5iGJQakz0XYA6VwMlAWHHP+P
kOyKdFuQUNla1Uk5rKRzWL0QZ1ZsbKOG2B9gJ6/kp2Xf7mcZyIub6EPML2pYZftY
L2GM3eC4h3Pzsn+y6K8PHtD43LhtffW6v1b7yfwGLsLMjngKuJ71fgKOuGiV2F3V
+ZRx2TQ==Vo+W
-----END PGP PUBLIC KEY BLOCK-----
Wichtig ist hierbei die einleitende Zeile mit dem Punkt. Auf Systemen mit Debian Unstable und Testing wurden die Anwender bereits vor geraumer Zeit bei einem apt update auf die bevorstehende Umstellung hingewiesen:
Einige Quellen können modernisiert werden. Nutzen Sie dazu den Befehl apt modernize-sources
Das habe ich bereits im Januar vollzogen. Da aber seitdem einige Quellen hinzugekommen sind, habe ich das heute Morgen wiederholt:

Wer sehen will, was passiert, wählt Option N zur Simulation. Das Script legt bei der Ausführung Backups der alten .list-Einträge an. Während einer Übergangszeit akzeptiert APT sowohl .sources als auch .list. Einträge. Nach dem Upgrade von Debian 12 »Bookworm« auf Debian 13 »Trixie« wird also beim ersten Aktualisieren der Quellen per apt update die Umstellung auf DEB822 angeboten und sollte in den allermeisten Fällen problemlos durchlaufen.

Nachfrage: Wenn man dann ein Repo hinzufügt – bspw. das Mozilla Repo für Firefox -, wird das dann direkt in diesem neuen Format erstellt oder erst in die übliche .list Datei und man muss es dann wie hier beschrieben umwandeln?
Das hängt vom jeweiligen Dienst ab. Manche werden schnell auf .sources umstellen, andere werden nach Jahren noch .list vorsehen. Aber die Dinger sind ja schnell manuell erstellt, wenn man die Info einer .list hat.
Wenn du selbst eine Datei erstellst, dann in Zukunft gleich im DEB822 Format. Wenn du, wie adminx beschrieben, eine .list Datei erhältst. dann meldet sich apt update mit der Zeile
so wie es oben im Artikel steht.
Damit ist der Umstieg für den Benutzer einfach.
Die Info an sich ist gut.
Nur mit den Beispielen hapert es.
Ob das DEB822 Format “besser” ist, wage ich zu bezweifeln. Dazu unte mehr.
Von diesem Beispiel funktioniert die Zeile 2 nicht, denn es fehlen die Components. Auch fehlt ein Beispiel mit “signed-by=” Eintrag.
Etwa so:
Zusätzlich ist hier Zeile 2 auskommentiert, also inaktiv.
Besser?
Aus meiner Sicht positiv:
Aus meiner Sicht negativ:
Ich hätte es bevorzugt das bisherige Format zwingend um das “signed-by” Feld zu erweitern, worum es den Entwicklern vermutlich hauptsächlich ging.
Dann wäre die Auswertung der Dateien genauso einfach wie bisher. Leerzeilen und Zeilen mit einem Kommentarzeichen an Anfang ignorieren, alles andere ist ein aktiver Eintrag und wird als Liste an das verarbeitende Programm übergeben.
Danke für die Info. DEB822 ist ja auch schon einige Zeit im testing/unstable drin. Die Umstellung habe ich auf meinen Testsystemen auch gemacht. Bisher alles problemlos, ich finde das richtig gut. Die Vorteile liegen da ganz klar auf der Hand, da kann ich Ferdinand nur zustimmen.
Vielen Dank für den wieder sehr guten und wichtigen Hinweis.
Was wurde ich nur ohne euch machen 😁
… selber drum kümmern, ist aber aktuell zeitlich etwas schwierig.
Daher bin ich sehr froh darüber.
Wäre toll, wenn dann die Umstellung kommt und ihr sicherlich wieder darüber berichtet, diesen Punkt zu erwähnen.