Die Quellenliste /etc/apt/sources.list und die in /etc/apt/sources.list.d/ enthaltenen Dateien wurden entworfen, um eine beliebige Anzahl aktiver Quellen und unterschiedlicher Quellmedien zu unterstützen. Die Dateien führen eine Quelle je Zeile auf (einzeiliger Stil) oder enthalten mehrzeilige Absätze, die eine oder mehrere Quellen pro Absatz definieren (Deb822-Stil), bei der die bevorzugte Quelle zuerst aufgeführt wird (im Fall, dass eine einzelne Version von mehr als einer Quelle verfügbar ist). Die Informationen über die konfigurierten Quellen werden durch apt-get update (oder einem vergleichbaren Befehl einer anderen APT-Oberfläche) beschafft.
Das Verzeichnis /etc/apt/sources.list.d stellt eine Möglichkeit bereit, sources.list-Einträge in separaten Dateien hinzuzufügen. Zwei verschiedene Formate sind, wie in den beiden nächsten Abschnitten erklärt, erlaubt. Dateinamen müssen abhängig vom enthaltenen Format entweder eine .list- oder .sources-Endung haben. Die Dateinamen dürfen nur Buchstaben (a-z und A-Z), Ziffern (0-9), Unterstrich (_), Bindestrich (-) und Punkt (.) enthalten. Andernfalls wird APT einen Hinweis ausgeben, dass es eine Datei ignoriert hat, falls die Datei nicht auf ein Muster in der Konfigurationsliste Dir::Ignore-Files-Silently passt - in diesem Fall wird sie stillschweigend ignoriert.
Dateien in diesem Format haben die Endung .list. Jede Zeile, die eine Quelle angibt, beginnt mit einem Typ (z.B. deb-src), gefolgt von Optionen und Argumenten für diesen Typ. Individuelle Einträge können nicht auf einer Folgezeile fortgesetzt werden. Leere Zeilen werden ignoriert und ein #-Zeichen irgendwo in einer Zeile kennzeichnet den Rest der Zeile als Kommentar. Ein Eintrag kann folglich durch Auskommentieren der ganzen Zeile deaktiviert werden. Falls Optionen bereitgestellt werden sollen, werden sie durch Leerräume getrennt und alle zusammen in quadratische Klammern ([]) eingeschlossen. Sie sind in der Zeile nach dem Typ enthalten und mit einem Leerraum von ihm getrennt. Falls eine Option mehrere Werte erlaubt, werden diese voneinander per Komma (,) getrennt. Ein Optionsname wird von seinem (seinen) Wert(en) durch ein Gleichheitszeichen (=) getrennt. Optionen mit mehreren Werten haben außerdem -= und += als Trenner, die statt den vorgegebenen Wert durch den (die) angegebenen Wert(e) zu ersetzen, den vorgegebenen Wert ändern und den (die) übergebenen Wert(e) entfernen oder einschließen.
Dies ist das traditionelle, von allen APT-Versionen unterstützte Format. Beachten Sie, dass nicht alle unten beschriebenen Optionen von allen Versionen von APT unterstützt werden. Beachten Sie außerdem, dass einige ältere Anwendungen, die dieses Format selbst auswerten, möglicherweise nicht erwarten, dass Optionen auftauchen, da diese vor der Einführung der Unterstützung mehrerer Architekturen nicht üblich waren.
Dateien in diesem Format haben die Endung .sources. Dieses Format hat eine ähnliche Syntax wie andere von Debian und seinen Derivaten benutzte Dateien, wie Metadatendateien, die APT von den konfigurierten Quellen herunterlädt oder der Datei debian/control in einem Debian-Quellpaket. Individuelle Einträge werden durch eine leere Zeile getrennt; zusätzliche leere Zeilen werden ignoriert und #-Zeichen am Anfang einer Zeile kennzeichnen die ganze Zeile als Kommentar. Ein Eintrag kann daher deaktiviert werden, indem jede Zeile, die zum Absatz gehört, auskommentiert wird. Es ist üblicherweise jedoch einfacher, dem Absatz das Feld »Enabled: no« hinzuzufügen, um den Eintrag zu deaktivieren. Durch Entfernen des Feldes oder indem es auf »yes« gesetzt wird, wird es wieder aktiviert. Optionen haben dieselbe Syntax wie jedes andere Feld: ein Feldname, durch einen Doppelpunkt (:) und optionale Leerräume von ihren (ihrem) Wert(en) getrennt. Beachten Sie insbesondere, dass mehrere Werte durch Leerräume (wie Leerzeichen, Tabulatoren und Zeilenumbrüche) getrennt werden, nicht durch Kommas, wie im einzeiligen Format. Felder mit mehreren Werten wie Architectures haben obendrein Architectures-Add und Architectures-Remove, um den Vorgabewert zu ändern, statt ihn zu ersetzen.
Dies ist ein neues Format, das von APT selbst seit Version 1.1. unterstützt wird. Ältere Versionen ignorieren solche Dateien, wie vorher beschrieben, mit einer Benachrichtigung. Es ist vorgesehen, dieses Format schrittweise zum Standardformat zu machen und das vorher beschriebene Format mit dem einzeiligen Stil zu missbilligen, da das neue für Menschen und Maschinen gleichermaßen einfacher zu erstellen, zu erweitern und zu ändern ist, insbesondere dann, wenn viele Quellen und/oder Optionen beteiligt sind. Entwickler, die mit APT-Quellen arbeiten und/oder sie auswerten, sind dringend ermutigt, dieses Format zu unterstützen und das APT-Team zu kontaktieren, um diese Arbeit zu koordinieren und weiterzugeben. Benutzer können dieses Format bereits übernehmen, es könnten jedoch Probleme mit Software auftreten, die dieses Format noch nicht unterstützen.
Der deb-Typ beschreibt ein typisches zweistufiges Debian-Archiv, Distribution/Bestandteil. Distribution ist typischerweise eine Programmsammlung wie stable oder testing oder ein Codename wie bullseye oder bookworm während Bestandteil entweder main, contrib oder non-free ist. Der deb-src-Typ beschreibt den Quellcode einer Debian-Distribution in der gleichen Form wie den deb-Typ. Eine deb-src-Zeile wird benötigt, um Quellindizes herunterzuladen.
Das Format für zwei Einträge im einzeiligen Stil, die die deb- und deb-src-Typen benutzen, ist:
deb [ Option1=Wert1 Option2=Wert2 ] URI Suite [Bestandteil1] [Bestandteil2] [...] deb-src [ Option1=Wert1 Option2=Wert2 ] URI Suite [Bestandteil1] [Bestandteil2] [...]
Der alternative Eintrag sieht im Format des Deb822-Stils etwa so aus:
Types: deb deb-src URIs: URI Suites: Suite Components: [Bestandteil1] [Bestandteil2] [...] Option1: Wert1 Option2: Wert2
Der URI für den deb-Typ muss die Basis der Debian-Distribution angeben, wo APT die Informationen findet, die es benötigt. Suite kann einen genauen Pfad angeben. In diesem Fall müssen die Bestandteile weggelassen werden und Suite muss mit einem Schrägstrich (/) enden. Dies ist nützlich, wenn nur ein bestimmtes Unterverzeichnis des vom URI angegebenen Archivs von Interesse ist. Wenn Suite keinen genauen Pfad angibt, muss mindestens ein Bestandteil angegeben sein.
Suite darf außerdem eine Variable, $(ARCH), enthalten, die zur Debian-Architektur (wie amd64 oder armel) expandiert wird, die auf dem System benutzt wird. Dies erlaubt es, architekturunabhängige sources.list-Dateien zu benutzen. Im Allgemeinen ist dies nur von Interesse, wenn ein genauer Pfad angegeben wird, andernfalls wird APT automatisch einen URI mit der aktuellen Architektur erstellen.
Insbesondere im Format im einzeiligen Stil könnte es nötig sein, da pro Zeile nur eine Distribution angegeben werden kann, mehrere Zeilen für den gleichen URI zu haben, falls eine Untermenge aller verfügbarer Distributionen oder Bestandteile von diesem Ort gewünscht wird. APT wird die URI-Liste sortieren, nachdem es intern eine komplette Zusammenstellung erstellt hat und es wird beispielsweise mehrere Bezüge zum gleichen Internet-Rechner zu einer einzigen Verbindung zusammenfassen, so dass es nicht ineffizient eine Verbindung herstellt, sie schließt, sonst etwas tut und dann erneut eine Verbindung zum gleichen Rechner herstellt. APT parallelisiert außerdem Verbindungen zu verschiedenen Rechnern, um effektiver mit Sites mit niedriger Bandbreite umzugehen.
Es ist wichtig, die Quellen in der Reihenfolge ihrer Bevorzugung aufzulisten, die bevorzugte Quelle zuerst. Typischerweise resultiert dies in einer Sortierung nach Geschwindigkeit, vom schnellsten zum langsamsten (CD-ROM, gefolgt von Rechnern im lokalen Netzwerk, gefolgt von Internet-Rechnern, zum Beispiel).
Die Quellen für Ihre Distribution könnten zum Beispiel im Format mit einzeiligem Stil so aussehen:
deb http://deb.debian.org/debian bullseye main contrib non-free deb http://security.debian.org bullseye-security main contrib non-free
oder im Format mit Deb822-Stil so:
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main contrib non-free Types: deb URIs: http://security.debian.org Suites: bullseye-security Components: main contrib non-free
Jeder Quelleneintrag kann Optionen haben, die angegeben wurden, um zu ändern, auf welche Quelle zugegriffen wird und wie Daten von ihr beschafft werden. Format, Syntax und Namen der Optionen weichen, wie beschrieben, zwischen dem Format mit einzeiligem Stil und dem Format mit Deb822-Stil voneinander ab, für beide sind jedoch dieselben Optionen verfügbar. Der Einfachheit halber wird der Deb822-Feldname aufgeführt und der einzeilige Name in Klammern bereitgestellt. Denken Sie daran, dass Sie ergänzend zum expliziten Setzen von Optionen mit mehreren Werten auch die Möglichkeit haben, sie basierend auf dem Vorgabewert zu ändern, aber diese Namen werden hier nicht explizit aufgeführt. Nicht unterstützte Optionen werden stillschweigend von allen APT-Versionen ignoriert.
Überdies gibt es Optionen, die, falls sie gesetzt sind, alle Quellen mit demselben URI und derselben Suite beeinflussen, daher müssen sie auf alle solchen Einträgen gesetzt werden und können nicht zwischen verschiedenen Bestandteilen unterschieden werden. APT wird versuchen, solche Anomalien aufzuspüren und Fehler auszugeben.
Die derzeit erkannten URI-Typen sind:
http (apt-transport-http(1))
Beachten Sie, dass diese Formen der Authentifizierung unsicher sind, da die ganze Kommunikation mit dem fernen Server (oder Proxy) unverschlüsselt ist, so dass ein Angreifer mit ausreichenden Fähigkeiten die Anmeldung sowie alle anderen Interaktionen beobachten und aufzeichnen kann. Der Angreifer kann die Kommunikation nicht verändern, da das Datensicherheitsmodell von APT unabhängig von der gewählten Transportmethode ist. Einzelheiten finden Sie unter apt-secure(8).
https (apt-transport-https(1))
mirror, mirror+Schema (apt-transport-mirror(1))
file
cdrom
ftp
Bitte beachten Sie, dass ein FTP-Proxy durch Benutzung der ftp_proxy-Umgebungsvariablen angegeben werden kann. Es ist mittels dieser Umgebungsvariable und nur dieser Umgebungsvariable möglich, einen HTTP-Proxy anzugeben (HTTP-Proxy-Server verstehen oft auch FTP-URLs). Proxys, die HTTP benutzen und in der Konfigurationsdatei festgelegt sind, werden ignoriert.
copy
rsh, ssh
weitere zulässige URI-Typen hinzufügen
benutzt die lokal gespeicherten (oder per NFS eingehängten) Archive in /home/apt/debian für stable/main, stable/contrib und stable/non-free.
deb file:/home/apt/debian stable main contrib non-free
Types: deb URIs: file:/home/apt/debian Suites: stable Components: main contrib non-free
wie oben, außer das dies die instabile (Entwicklungs-) Distribution benutzt.
deb file:/home/apt/debian unstable main contrib non-free
Types: deb URIs: file:/home/apt/debian Suites: unstable Components: main contrib non-free
Quellenangabe für Obiges
deb-src file:/home/apt/debian unstable main contrib non-free
Types: deb-src URIs: file:/home/apt/debian Suites: unstable Components: main contrib non-free
Die erste Zeile bekommt Paketinformationen für die Architekturen in APT::Architectures, während die zweite immer amd64 und armel holt.
deb http://deb.debian.org/debian bullseye main deb [ arch=amd64,armel ] http://deb.debian.org/debian bullseye main
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main Architectures: amd64 armel
benutzt HTTP, um auf das Archiv auf archive.debian.org zuzugreifen und nur den hamm/main-Bereich zu benutzen.
deb http://archive.debian.org/debian-archive hamm main
Types: deb URIs: http://archive.debian.org/debian-archive Suites: hamm Components: main
benutzt FTP, um auf das Archiv auf archive.debian.org unter dem debian-Verzeichnis zuzugreifen und nur den bullseye/contrib-Bereich zu benutzen.
deb ftp://ftp.debian.org/debian bullseye contrib
Types: deb URIs: ftp://ftp.debian.org/debian Suites: bullseye Components: contrib
benutzt FTP, um auf das Archiv auf ftp.debian.org unter dem debian-Verzeichnis zuzugreifen und nur den unstable/contrib-Bereich zu benutzen. Falls diese Zeile zusammen mit der aus dem vorherigen Beispiel in der Datei sources.list auftaucht, wird eine einzelne FTP-Sitzung für beide Quellzeilen benutzt.
deb ftp://ftp.debian.org/debian unstable contrib
Types: deb URIs: ftp://ftp.debian.org/debian Suites: unstable Components: contrib
benutzt HTTP, um auf das Archiv auf ftp.tlh.debian.org unter dem universe-Verzeichnis zuzugreifen und benutzt nur Dateien, die unter unstable/binary-i386 auf i386-Maschinen, unstable/binary-amd64 auf amd64 und so weiter für andere unterstützte Architekturen, gefunden werden. [Beachten Sie, dass dieses Beispiel nur anschaulich macht, wie die Platzhaltervariable benutzt wird. Offizielle Debian-Archive sind nicht so strukturiert.]
deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/
Types: deb URIs: http://ftp.tlh.debian.org/universe Suites: unstable/binary-$(ARCH)/
benutzt HTTP, um sowohl Binärpakete als auch Quellen von den Programmsammlungen Stable, Testing, Unstable und den Bestandteilen Main und Contrib zu holen.
deb http://deb.debian.org/debian stable main contrib deb-src http://deb.debian.org/debian stable main contrib deb http://deb.debian.org/debian testing main contrib deb-src http://deb.debian.org/debian testing main contrib deb http://deb.debian.org/debian unstable main contrib deb-src http://deb.debian.org/debian unstable main contrib
Types: deb deb-src URIs: http://deb.debian.org/debian Suites: stable testing unstable Components: main contrib
apt-get(8), apt.conf(5), /usr/share/doc/apt/acquire-additional-files.md.gz
m[blue]APT-Fehlerseitem[][1]. Wenn Sie einen Fehler in APT berichten möchten, lesen Sie bitte /usr/share/doc/debian/bug-reporting.txt oder den reportbug(1)-Befehl. Verfassen Sie Fehlerberichte bitte auf Englisch.
Die deutsche Übersetzung wurde 2009 von Chris Leick <c.leick@vollbio.de> in Zusammenarbeit mit dem deutschen l10n-Team von Debian <debian-l10n-german@lists.debian.org> angefertigt.
Beachten Sie, dass diese Übersetzung Teile enthalten kann, die nicht übersetzt wurden. Dies ist so, damit kein Inhalt verloren geht, wenn die Übersetzung hinter dem Originalinhalt hinterherhängt.
Jason Gunthorpe
APT-Team