Aus Linux-Magazin 06/2025

Deb822: Debians neues Format für die Angabe der Paketquellen

© Chris Curtis / 123RF.com

Deb822 heißt das neue Format, in dem Debian ab der Version 13 “Trixie” seine Paketquellen ausliefert. Wir zeigen, wie Sie die Umstellung meistern.

Die Veröffentlichung von Debian GNU/Linux 13 “Trixie” wirft seine Schatten voraus [1]. Das Projekt peilt das neue Major Release für den Sommer 2025 an, ein genaues Datum steht derzeit jedoch wie üblich noch nicht fest. Möglicherweise erfolgt die Freigabe ja gleichzeitig zur diesjährigen DebConf, der Entwicklerkonferenz von Debian. Sie findet im Juli 2025 in Brest [2] in der Bretagne statt.

Mit der Veröffentlichung von “Trixie” zeichnet sich die Anwendung eines neuen Paketformats für die Paketquellen als Standard ab. Dessen Bezeichnung Deb822 leitet sich vom RFC 822 ab, der erstmals das Format von E-Mails und insbesondere der E-Mail-Kopfzeilen festlegte [3]. Apt unterstützt dieses Format bereits seit der Version 1.1 von 2015, es wurde aber bislang bei Debian GNU/Linux 11 und 12 nicht primär verwendet.

Mit dem Prioritätenwechsel beim Original Debian gerät das Thema zunehmend in den Blick von Betreuern von Debian-basierten Systemen, wird also auch für Nutzer von Linux Mint und Raspberry Pi OS wichtig. Ubuntu Linux benutzt das Format bereits seit der Version 24.04 LTS “Noble Numbat” [4], die im April 2024 freigegeben wurde.

Als Bedingung für die Umstellung auf das neue Format haben die Entwickler die Veröffentlichung der kommenden Apt-Version 3.0 genannt, an der sie derzeit noch intensiv arbeiten. Wir sehen uns in diesem Artikel an, was sich in der Praxis ändert und wie Sie bestehende Systeme automatisiert auf das neue Format umstellen, sobald Deb822 als neues Standardformat greift.

Bestandsanalyse

Das bisher genutzte Format beschreibt jede Paketquelle mithilfe einer einzigen Zeile. Es besteht aus den fünf Feldern Typ der Paketquelle, Optionen, Bezugspunkt, Typ/Name der Veröffentlichung und genutzte Zweige der Veröffentlichung. Letztere bezeichnet man auch als Komponenten, Bereiche oder Suites. Ein Leerzeichen oder Tabulator trennt die einzelnen Felder voneinander.

Listing 1 zeigt einen Eintrag für Binärpakete, die aus der stabilen Veröffentlichung von Debian GNU/Linux und dort wiederum aus den beiden Bereichen main und contrib des Bezugspunkts https://deb.debian.org/debian/ stammen. Hier sind keine Optionen angegeben, das zweite Feld in der Beschreibung der Paketquelle ist also leer.

Die Angaben zu den einzelnen Paketquellen finden sich in der Datei »/etc/apt/sources.list« sowie im Verzeichnis »/etc/apt/sources.list.d/«. Die GPG-Schlüssel, mit denen die bezogenen Paketlisten kryptografisch signiert sind, liegen in einem Schlüsselring in der Datei »debian-archive-keyring.gpg« unterhalb von »/usr/share/keyrings/«.

Listing 1

Pakete aus Debian Stable

deb https://deb.debian.org/debian/ stable main contrib

Das Format Deb822

Das über mehrere Dateien verteilte Deb822-Format [5] soll künftig den derzeitigen mehrzeiligen Block aus der »sources.list« ersetzen. Das Ziel ist, alle Informationen zu einer Paketquelle an einem einzigen Ort bereitzustellen [6]. Listing 2 zeigt, wie Sie die Paketquelle aus Listing 1 im Deb822-Format angeben.

Listing 2

Paketquelle im Format Deb822

Types:      deb
URIs:       https://deb.debian.org/debian/
Suites:     stable
Components: main contrib
Enabled:    yes
Signed-By:  /usr/share/keyrings/debian-archive-keyring.gpg

Dabei steht jedes Feld in einer eigenen Zeile, die mit einem eindeutigen Feldbezeichner beginnt. Ein Doppelpunkt trennt den Feldbezeichner vom eigentlichen Wert. Im Vergleich zum einzeiligen Format sind die beiden Zeilen »Enabled« und »Signed-By« hinzugekommen. Über die erste (de-)aktivieren Sie die jeweilige Paketquelle, in der zweiten hinterlegen Sie den Pfad zum entsprechenden GPG-Schlüssel. Einen Überblick der zulässigen Schlüsselworte samt deren Bedeutung finden Sie in der Tabelle “Deb822-Einträge”.

Schlüssel

erforderlich

Beschreibung

Wert / Beispiel

»Types«

ja

Pakettyp

»deb«, »deb-src«

»URIs«

ja

Paketquelle

URL oder Datei

»Suites«

ja

Name oder Zustand der Veröffentlichung

»Trixie«, »stable«

»Components«

nein

Paketbereich(e)

»main«, »nonfree-firmware«

»Signed-By«

nein

Pfad zum öffentlichen GPG-Schlüssel

»Architectures«

nein

genutzte CPU-Architektur

»amd64«

»Enabled«

nein

Aktivierungsstatus

»yes«, »no«

Wie bisher sind Sie nicht auf eine einzige Paketquelle beschränkt. Nutzen Sie unterschiedliche Paketquellen, grenzen Sie sie mit einer Leerzeile voneinander ab.

Das neue Format beseitigt etliche bislang bestehende Probleme in Bezug auf die Dateilänge, Mehrfachangaben von Paketquellen und die Zuordnung der Felder. Da es zudem das Werkzeug Apt-key nicht mehr gibt, löst die direkte Einbindung der Schlüssel in das neue Quelllistenformat die Zuordnung zur Paketquelle sehr elegant und vor allem eindeutig.

Sie können den Schlüssel sogar direkt in der Quellenangabe hinterlegen (Listing 3). Dabei rücken Sie den gesamten Block nach dem Schlüsselwort »Signed-By« mit einem Leerzeichen ein. Vorhandene Leerzeilen müssen ein Zeichen enthalten; dazu genügt beispielsweise ein Punkt.

Es ändert sich nicht nur das Format, sondern auch der Name der Datei, in der die Paketquellen hinterlegt sind. Die Endung » .sources« löst die bisherige Extension ».list« ab. Die zentrale Datei »/etc/apt/sources.list« entfällt zugunsten der Einträge im Verzeichnis »/etc/apt/sources.list.d/«. Ein passender Dateiname für Listing 3 wäre beispielsweise »/etc/apt/sources.list.d/debian.sources«.

Listing 3

Deb822 mit Schlüsselangabe

Types:      deb
URIs:       https://deb.debian.org/debian/
Suites:     stable
Components: main contrib
Enabled:    yes
Signed-By:
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 .
 mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
 CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk
 IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS
 dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG
 3bHcln8DMpIJVXht78sL
 =IE0r
 -----END PGP PUBLIC KEY BLOCK-----

Sauber umstellen

Bei einer manuellen Umstellung gilt es, mehrere Dinge zu beachten. Die Reihenfolge der einzelnen Felder in einer ».sources«-Datei spielt keine Rolle, aber alle erforderlichen Felder müssen Sie mit korrekten Werten befüllen (siehe Tabelle “Deb822-Einträge”). Für den Eintrag »Signed-By« ermitteln Sie die GPG-Schlüssel für das Repository und grenzen, wie oben beschrieben, mehrere Blöcke mit einer Leerzeile voneinander ab.

Es geht aber auch ein wenig komfortabler, indem Sie auf ein Werkzeug zur Automatisierung zurückgreifen. Seit Ende Januar verfügt Apt dafür über das praktische Unterkommando »modernize-sources«. Ob die von Ihnen verwendete Apt-Version es bereits beherrscht, bringen Sie über einen Aufruf von »apt update« in Erfahrung. Wie Sie in Abbildung 1 sehen, ergänzt Apt die Ausgabe um eine zusätzliche Zeile, in der es darauf hinweist, dass es die Datei »/etc/apt/sources.list« in das Format Deb822 umwandeln kann.

Abbildung 1: Ein entsprechend befähigtes Apt weist darauf hin, dass es die Paketquellen auf Deb822 umstellen kann.

Abbildung 1: Ein entsprechend befähigtes Apt weist darauf hin, dass es die Paketquellen auf Deb822 umstellen kann.

Abbildung 2 zeigt einen entsprechenden Testlauf über den Aufruf »apt modernize-sources«. Quittieren Sie die Sicherheitsabfrage vor der tatsächlichen Umwandlung mit einem Druck auf [N], simuliert Apt den Vorgang lediglich. Sie sehen, wie es die einzelnen Einträge in der Datei »/etc/apt/sources.list« verarbeitet und wie es sie danach Schritt für Schritt in das neue Format umwandeln würde [7].

Abbildung 2: Testlauf zur Umstellung der Paketquellen auf Deb822.

Abbildung 2: Testlauf zur Umstellung der Paketquellen auf Deb822.

Nach einer tatsächlich vollzogenen Konvertierung liegen alle neuen Einträge in der Datei »debian.sources« im Verzeichnis »/etc/apt/sources.list.d/« vor. Die Umstellung läuft sauber durch, sofern Apt alle Einträge erkennt und dazu die passenden GPG-Schlüssel findet. Gelingt Apt das nicht, müssen Sie nacharbeiten und die GPG-Schlüssel händisch nachtragen.

Fazit

Die Umstellung auf das neue Format für die Paketquellen fällt nicht schwer. Die einzelnen Felder sind eindeutig bezeichnet und lassen sich gut zuordnen.

Im Moment befinden sich die DEB-Paketquellen in einer Übergangsphase, das heißt das alte und das neue Format existieren nebeneinander. Es dürfte zwei Release-Zyklen dauern, bis die Umstellung vollständig gelingt. Bitte beachten Sie, dass bislang noch nicht alle Werkzeuge das Format Deb822 unterstützen. Hier sind genaues Hinsehen und etwas Experimentieren gefragt. (jlu)

Danksagung

Der Autor bedankt sich bei Axel Beckert für seine Unterstützung bei der Erstellung des Artikels.

Autoreninfo

Frank Hofmann arbeitet zumeist von unterwegs aus als Entwickler, Trainer und Autor. Bevorzugte Arbeitsorte sind Berlin, Genf und Kapstadt. Er gehört zu den Verfassern des Debian-Paketmanagement-Buchs [8].

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben