Zum Inhalt springen

/etc/apt/sources.list: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(28 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''{{BASEPAGENAME}}''' - Beschreibung
'''/etc/apt/sources.list''' - Liste konfigurierter APT-Datenquellen


== Beschreibung ==
== Beschreibung ==
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


== Installation ==
== sources.list.d ==
<syntaxhighlight lang="bash" highlight="1" line copy>
Das Verzeichnis /etc/apt/sources.list.d stellt eine Möglichkeit bereit, sources.list-Einträge in separaten Dateien hinzuzufügen
</syntaxhighlight>
* 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


== Aufruf ==
Der empfohlene Dateiname ist /etc/apt/sources.list.d/''Lieferant''.sources, wobei ''Lieferant'' das Ergebnis von '''dpkg-vendor --query Vendor | tr A-Z a-z''' im deb822-artigen Format ist
<syntaxhighlight lang="bash" highlight="1" line copy>
* Ubuntu verwendet beispielsweise /etc/apt/sources.list.d/ubuntu.sources
</syntaxhighlight>


=== Optionen ===
== Einzeiliges Format ==
{| class="wikitable sortable options gnu big"
; Dateien enden auf ''.list''
|-
* Jede Zeile, die eine Quelle angibt, beginnt mit einem Typ (z.&nbsp;B.&nbsp;deb-src), gefolgt von Optionen und Argumenten für diesen Typ
! Unix !! GNU !! Parameter !! Beschreibung
* Individuelle Einträge können nicht auf einer Folgezeile fortgesetzt werden
|-
* Leere Zeilen werden ignoriert und ein #-Zeichen an beliebiger Stelle 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


=== Parameter ===
Dies ist das traditionelle, von allen APT-Versionen unterstützte Format
=== Umgebungsvariablen ===
* Beachten Sie, dass nicht alle unten beschriebenen Optionen von allen Versionen von APT unterstützt werden
=== Exit-Status ===
* 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
{| class="wikitable options col1center big"
|-
! Wert !! Beschreibung
|-
| 0 || Erfolg
|-
| >0  || Fehler
|}


== Anwendung ==
Dieses Format ist veraltet und wird schließlich entfernt, aber frühestens 2029
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


=== Problembehebung ===
== deb822-format ==
Dateien enden auf ''.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


== Konfiguration ==
Dies ist ein neues Format, das von APT selbst seit Version 1.1.&nbsp;unterstützt wird. Ältere Versionen ignorieren solche Dateien, wie vorher beschrieben, mit einer Benachrichtigung
=== Dateien ===
* 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
{| class="wikitable options big"
* 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
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}


<noinclude>
== deb-Typen ==
;  »deb« und »deb-src«: allgemeines format
Der deb-Typ beschreibt ein typisches zweistufiges Debian-Archiv, Distribution/Bestandteil
* Distribution ist typischerweise eine Programmsammlung wie stable oder testing oder ein Codename wie trixie oder forky während Bestandteil entweder main, contrib, non-free oder non-free-firmware 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


== Anhang ==
Das Format für zwei Einträge im einzeiligen Stil, die die deb- und deb-src-Typen benutzen, ist:
=== Siehe auch ===
deb [ Option1=Wert1 Option2=Wert2 ] URI Suite [Bestandteil1] [Bestandteil2] [...]
<div style="column-count:2">
deb-src [ Option1=Wert1 Option2=Wert2 ] URI Suite [Bestandteil1] [Bestandteil2] [...]
<categorytree hideroot=on mode="pages">APT</categorytree>
Der alternative Eintrag sieht im Format des Deb822-Stils etwa so aus:
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


=== Dokumentation ===
Types: deb deb-src
; Man-Page
URIs: URI
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
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
; Info-Pages
* 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


=== Links ===
Suite darf außerdem eine Variable, $(ARCH), enthalten, die zur Debian-Architektur (wie amd64 oder armel) expandiert wird, die auf dem System benutzt wird
==== Projekt ====
* Dies erlaubt es, architekturunabhängige sources.list-Dateien zu benutzen
==== Weblinks ====
* Im Allgemeinen ist dies nur von Interesse, wenn ein genauer Pfad angegeben wird, andernfalls wird APT automatisch einen URI mit der aktuellen Architektur erstellen


[[Kategorie:Linux/Konfiguration/Datei]]
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
[[[[Kategorie:APT]]
* 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


</noinclude>
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 veralteten Format mit einzeiligem Stil so aussehen:
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] <nowiki>http://deb.debian.org/debian</nowiki> trixie main contrib non-free non-free-firmware
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] <nowiki>http://deb.debian.org/debian</nowiki> trixie-updates main contrib non-free non-free-firmware
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] <nowiki>http://deb.debian.org/debian-security</nowiki> trixie-security main contrib non-free non-free-firmware
oder im Format mit Deb822-Stil so:
Types: deb
URIs: <nowiki>http://deb.debian.org/debian</nowiki>
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: <nowiki>http://deb.debian.org/debian-security</nowiki>
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg


In der Datei <tt>/etc/apt/sources.list</tt> stehen die sogenannten Repositories, also Quellen für Pakete
=== Optionen ===
* Dies können entweder CDs oder DVDs, Verzeichnisse auf der Festplatte oder, öfter, Verzeichnisse auf HTTP- oder FTP-Servern sein
Jeder Quelleneintrag kann Optionen haben, die angegeben wurden, um zu ändern, auf welche Quelle zugegriffen wird und wie Daten von ihr beschafft werden
* Befindet sich das gesuchte Paket auf einem Server (oder einem lokalen Datenträger), so wird dieses automatisch heruntergeladen und installiert
* 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


== /etc/apt/sources.list ==
*'''Architectures''' ('''arch''') ist eine Option mit mehreren Werten, die definiert, für welche Architekturen Informationen heruntergeladen werden sollen
<syntaxhighlight lang="bash" line copy>
* Falls diese Option nicht gesetzt ist, ist die Voreinstellung alle durch die Konfigurationsoption '''APT::Architectures''' definierten Architekturen
deb https://ftp.debian.org/debian/ bookworm contrib main non-free non-free-firmware
# deb-src https://ftp.debian.org/debian/ bookworm contrib main non-free non-free-firmware


deb https://ftp.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
*'''Languages''' ('''lang''') ist eine Option mit mehreren Werten, die definiert, für welche Sprachen Informationen, wie etwa übersetzte Paketbeschreibungen, heruntergeladen werden sollen
# deb-src https://ftp.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
* Falls diese Option nicht gesetzt ist, werden sie für alle durch die Konfigurationsoption '''Acquire::Languages''' definierten Sprachen heruntergeladen


deb https://ftp.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
*'''Targets''' ('''target''') ist eine Option mit mehreren Werten, die definiert, welche Herunterladeziele APT aus dieser Quelle versucht zu beschaffen
# deb-src https://ftp.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
* Ist sie nicht angegeben, wird die Voreinstellung durch den Konfigurationsbereich '''Acquire::IndexTargets''' spezifiziert (Ziele werden im Feld Created-By durch ihren Namen angegeben)
* Außerdem können Ziele mittels des Felds Identifier als Option mit einem Wahrheitswert aktiviert oder deaktiviert werden, anstatt diese Option mit mehreren Werten zu benutzen


deb https://ftp.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
*'''PDiffs''' ('''pdiffs''') ist ein yes-/no- (Ja-/Nein-)Wert, der steuert, ob APT versuchen soll, PDiffs zum Aktualisieren alter Indexe zu benutzen, statt die ganzen neuen Indexe herunterzuladen
# deb-src https://ftp.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
* Der Wert dieser Option wird ignoriert, falls das Depot die Verfügbarkeit von PDiffs nicht ankündigt
* Sie ist auf den Wert der Option mit demselben Namen für eine bestimmte Indexdatei voreingestellt, die im Gültigkeitsbereich '''Acquire::IndexTargets''' definiert ist und die ihrerseits wiederum auf den Wert der Konfigurationsoption '''Acquire::PDiffs''' voreingestellt ist, deren Vorgabe yes ist


deb https://security.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
*'''By-Hash''' ('''by-hash''') kann die Werte yes, no oder force haben und steuert, ob APT versuchen soll, Indexe über einen URI zu beschaffen, der aus einer Hash-Summe der erwarteten Datei konstruiert wird, statt über einen gut bekannten stabilen Dateinamen
# deb-src https://security.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
* Damit können unpassende Hash-Summen vermieden werden, dies erfordert jedoch einen Spiegelserver, der dies unterstützt
</syntaxhighlight>
* Ein yes- oder no-Wert aktiviert/deaktiviert die Verwendung dieser Funktionalität, falls diese Quelle ihre Unterstützung anzeigt, während force die Funktionalität ungeachtet der Angabe der Quelle aktiviert
* Sie ist auf den Wert der Option mit demselben Namen für eine bestimmte Indexdatei voreingestellt, die im Gültigkeitsbereich '''Acquire::IndexTargets''' definiert ist und die ihrerseits wiederum auf den Wert der Konfigurationsoption '''Acquire::By-Hash''' voreingestellt ist, deren Vorgabe yes ist


# https://gist.github.com/hakerdefo/5e1f51fa93ff37871b9ff738b05ba30f
Ü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


= TMP =
*'''Allow-Insecure''' ('''allow-insecure'''), '''Allow-Weak''' ('''allow-weak''') und '''Allow-Downgrade-To-Insecure''' ('''allow-downgrade-to-insecure''') sind Wahrheitswerte, deren Voreinstellung no ist
Wenn Sie APT bereits über das Programm <tt>dselect</tt> als Installationsmethode benutzt haben, so haben Sie wahrscheinlich bereits APT an Ihre Bedürfnisse angepasst.
* Falls sie auf yes gesetzt sind, umgehen sie Teile von apt-secure(8) und sollten daher nicht leichtfertig benutzt werden


APT steht für " Advanced Package Tool", ein Programm also, das den Systemadministrator bei der Installation und Verwaltung von Programmen unterstützen soll.
*'''Trusted''' ('''trusted''') ist ein Wert, der drei Status annehmen kann
* Der erste Schritt zur Benutzung von APT ist die Anpassung der Konfigurationsdatei <tt>/etc/apt/sources.list</tt> .
* APT entscheidet standardmäßig, ob ein Paket als vertrauenswürdig angesehen wird oder ob eine Warnung erscheinen soll, bevor z.B
* In dieser Datei befinden sich die Informationen, von welcher Quelle die Pakete geholt werden sollen.
* Pakete aus dieser Quelle installiert werden
* APT unterstützt eine große Zahl verschiedener Installationsquellen.
* Diese Option kann benutzt werden, um diese Entscheidung außer Kraft zu setzen
* Momentan sind dies: <tt>cdrom</tt>, <tt>file</tt>, <tt>http</tt> und <tt>ftp</tt>.
* Der Wert yes sagt APT, dass es diese Quelle immer als vertrauenswürdig ansehen soll, sogar dann, wenn sie die Authentifizierungsprüfungen nicht erfolgreich durchläuft
* Jede dieser Quellen wird in einer einzelnen Zeile in der Datei beschrieben.
* Sie deaktiviert Teile von apt-secure(8) und sollte daher nur in einem lokalen und vertrauenswürdigen Umfeld (falls überhaupt) verwendet werden, da die Sicherheit andernfalls verletzt wird
* Dabei wird auch die Reihenfolge berücksichtigt; weiter oben stehende Einträge haben eine höhere Priorität.
* Der Wert no tut das Gegenteil
* Er sorgt dafür, dass die Quelle als nicht vertrauenswürdig behandelt wird, sogar dann, wenn sie die Authentifizierungsprüfungen erfolgreich durchläuft
* Der Vorgabewert kann nicht explizit gesetzt werden


; Das Format der Einträge lässt sich wie folgt beschreiben
*'''Signed-By''' ('''signed-by''') ist eine Option, die erfordert, dass ein Depot die apt-secure(8)-Prüfung mit einem bestimmten Satz von Schlüsseln, statt mit allen vertrauenswürdigen Schlüsseln, durchläuft, die für APT konfiguriert sind
  # deb uri distribution [component1] [component2] [...]
* Sie wird als eine Liste absoluter Pfade zu Schlüsselbunddateien angegeben (müssen für den Systembenutzer _apt zugreif- und lesbar sein, stellen Sie also sicher, dass jedermann Leserechte für die Datei hat) sowie Fingerabdrücke von Schlüsseln, um diese aus Schlüsselbunden auszuwählen
* Die empfohlenen Orte für Schlüsselbunde sind /usr/share/keyrings für von Paketen verwaltete Schlüsselbunde und /etc/apt/keyrings für vom Systembetreiber verwaltete Schlüsselbunde
* Falls keine Schlüsselbunddateien festgelegt sind, ist die Vorgabe der Schlüsselbund trusted.gpg und alle Schlüsselbunde in dem Verzeichnis trusted.gpg.d/
* Falls kein Fingerabdruck angegeben wurde, werden alle Schlüssel in den Schlüsselbunden ausgewählt
* Ein Fingerabdruck wird außerdem alle Signaturen eines Unterschlüssels dieses Schlüssels akzeptieren, falls dies nicht gewünscht wird, kann ein Ausrufezeichen (!) an den Fingerabdruck angehängt werden, um dieses Verhalten zu deaktivieren
* Die Option ist auf den Wert der Option mit demselben Namen voreingestellt, falls sie in der vorher beschafften Release-Datei dieses Depots gesetzt ist (allerdings können dadurch nur Fingerabdrücke angegeben werden)
* Andernfalls werden alle Schlüssel in den vertrauenswürdigen Schlüsselbunden als gültige Unterzeichner für dieses Depot angesehen
* Die Option kann auch direkt gesetzt werden, um einen öffentlichen GPG-Schlüsselblock einzubetten
* Es bedarf besonderer Vorsicht, die leere Zeile mit einleitenden Leerzeichen und ».« zu kodieren:
Types: deb
  URIs: <nowiki>https://deb.debian.org</nowiki>
Suites: stable
Components: main contrib non-free non-free-firmware
Signed-By:


; Ein Eintrag könnte also wie folgt aussehen
deb ftp://ftp.debian.org/debian stable main


; In der ersten Spalte findet sich der Hinweis auf die Art der Quelle
-----BEGIN PGP PUBLIC KEY BLOCK-----
* Mögliche Werte sind hier <tt>deb</tt> für Debian Pakete im Binärformat (dies ist der gebräuchliste Wert) oder aber <tt>deb-src</tt> für Pakete, die im Quellcode vorliegen.
mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
* Einträge der letzteren Art benötigt man beispielsweise, um ein Paket aus den Quellpaketen neu zu übersetzen.
CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk
IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS
dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG
3bHcln8DMpIJVXht78sL
=IE0r
-----END PGP PUBLIC KEY BLOCK-----
*'''Check-Valid-Until''' ('''check-valid-until''') ist ein yes-/no- (Ja-/Nein-)Wert, der steuert, ob APT versuchen soll, Wiederholungsangriffe zu erkennen
* Ein Depotersteller kann eine Zeit festlegen, bis zu der die im Depot bereitgestellten Daten als gültig angesehen werden und, falls dieser Zeitpunkt erreicht ist, aber keine neuen Daten bereitgestellt wurden, die Daten als ungültig angesehen werden und ein Fehler ausgelöst wird
* Neben einer Steigerung der Sicherheit, da ein böswilliger Angreifer nicht fortlaufend alte Daten senden kann, um einen Benutzer vom Upgrade auf eine neue Version abzuhalten, hilft dies Benutzern auch, Spiegelserver zu erkennen, die nicht länger aktualisiert werden
* Einige Depots, wie die historischen Archive, werden jedoch absichtlich nicht mehr aktualisiert, daher kann diese Prüfung durch Setzen dieser Option auf no deaktiviert werden
* Voreingestellt ist der Wert der Konfigurationsoption '''Acquire::Check-Valid-Until''', die ihrerseits die Voreinstellung yes hat


Das Feld <tt>uri</tt> beschreibt die Installationsquelle und den Pfad zum "root"-Verzeichnis der Debian Distribution.
*'''Valid-Until-Min''' ('''valid-until-min''') und '''Valid-Until-Max''' ('''valid-until-max''') können benutzt werden, um die Dauer in Sekunden zu verlängern oder zu verkürzen, in der die Daten des Depots als gültig angesehen werden. -Max kann insbesondere dann nützlich sein, wenn das Depot kein Valid-Until-Feld in seiner Release-Datei bereitstellt, indem Sie Ihren eigenen Wert setzen können, während -Min benutzt werden kann, um die Gültigkeitsdauer auf selten aktualisierten (lokalen) Spiegelservern für ein häufig aktualisiertes aber weniger oft erreichbares Archiv (das auch in der sources.list steht) zu erhöhen anstatt die Prüfung ganz zu deaktivieren
* Auf einer CD-ROM und auf vielen Debian FTP-Servern ist der Pfad im Normalfall das Verzeichnis <tt>/debian</tt> .
* Voreingestellt sind die Werte der Konfigurationsoptionen '''Acquire::Min-ValidTime''' und '''Acquire::Max-ValidTime''', die standardmäßig jeweils nicht gesetzt sind


Mit dem Feld <tt>distribution</tt> stellen Sie die gewünschte Version ein, die Sie installieren möchten.
'''Check-Date''' ('''check-date''') ist ein Ja-/Nein-Wert, der steuert, ob APT berücksichtigen soll, ob die Zeit auf der Maschine korrekt ist und deshalb zeitbezogene Prüfungen durchführen soll, wie die Prüfung, ob eine Release-Datei nicht aus der Zukunft stammt
* Normalerweise wird man sich zwischen <tt>stable</tt> für die aktuelle, stabile Version oder <tt>unstable</tt> (für die Entwicklerversion) sowie <tt>testing</tt>, (die nächste zu veröffentlichende Version) entscheiden.
* Sie zu deaktivieren deaktiviert auch die oben erwähnte Option '''Check-Valid-Until'''
* Wie schon am Anfang dieses Buches beschrieben, bekommt jede Debian Version einen Namen.
* Sie können diesen Namen auch hier einsetzen, also <tt>Woody</tt> für die Version 3.0 oder <tt>Sarge</tt> für die Version 3.1 bzw.&nbsp;<tt>sid</tt> für die jeweils in Entwicklung befindlichen aktuellsten Pakete.


Die Felder "component" werden mit den einzelnen Bereichen der Distribution gefüllt.
'''Date-Max-Future''' ('''date-max-future''') steuert, wie weit aus der Zukunft ein Depot liegen darf
* Hier können beispielsweise <tt>main</tt>, <tt>contrib</tt>, <tt>non-free</tt>, <tt>non-US</tt> (dieser Zweig ist ab Debian Sarge nicht mehr vorhanden) stehen.
* Voreingestellt ist der Wert der Konfigurationsoption '''Acquire::Max-FutureTime''', die standardmäßig zehn Sekunden beträgt
* Zulässig sind einer oder mehrere Einträge, die durch Leerzeichen voneinander getrennt werden.


==  Installationsquellen ==
'''InRelease-Path''' ('''inrelease-path''') legt den Pfad zur InRelease-Datei relativ zur normalen Position einer InRelease-Datei fest
{|| class="wikitable sortable"
* Standardmäßig ist diese Option nicht gesetzt und APT wird versuchen, eine InRelease-Datei zu holen oder, falls dies fehlschlägt, eine Release-Datei und die zugehörige Release.gpg-Datei
|-
* Durch das Setzen dieser Option wird der angegebene Pfad anstelle der InRelease-Datei probiert und der Rückgriff auf Release-Dateien wird deaktiviert
|| '''file'''
|| benutzt ein Verzeichnis als Quelle für die Pakete.
* Dies kann ein lokales oder ein per NFS gemountetes Verzeichnis sein.
|-
|| '''Cdrom'''
|| benutzt ein lokal installiertes CD-ROM-Laufwerk als Installationsquelle.
* Wenn die Distribution auf mehreren CDs vorliegt, wird auch dies unterstützt.
* Benutzen Sie das Programm <tt>apt-cdrom</tt>, um die nötigen Einträge in der Datei <tt>/etc/apt/sources.list</tt> vorzunehmen oder benutzen Sie das Programm <tt>apt-setup</tt>.
|-
|| '''Http'''
|| benutzt einen HTTP-Server als Installationsquelle.
* Wenn die Shell-Umgebungsvariable <tt>$http_proxy</tt> gesetzt ist (im Format: <tt>https://server:port/</tt> ), so wird diese anstelle einer direkten Verbindung zum Server benutzt.
* Sie können auch Proxy-Server benutzen, die eine Authentifizierung verlangen.
* Hierzu ist der Proxy im Format: <tt>https://user:pass@server:port/</tt> anzugeben.
* Bitte beachten Sie, dass die Benutzernamen und Passwörter auf diesem Wege unverschlüsselt übertragen werden.
|-
|| '''Ftp'''
|| stellt sicher die am häufigsten verwendete Methode für APT dar.
* Die Daten werden per FTP (File Transfer Protocol) auf den Rechner übertragen.
* Ein Beispiel finden Sie weiter unten.
|-
|| '''Copy'''
|| Diese Methode ist identisch mit der Methode "file", mit dem Unterschied, dass die Pakete vor der Installation in das Verzeichnis <tt>/var/apt/cache/archives/</tt> kopiert werden.
* Dies kann zum Beispiel auf Systemen Sinn machen, die keine Verbindung zum Netz haben und per ZIP-Medium aktualisiert werden sollen.
|-
|}


; Hier nun einige Beispiele
'''Snapshot''' ('''snapshot''') allows selecting an earlier version of the archive from the snapshot service
* Denken Sie daran, dass Sie durchaus mehrere dieser Einträge in der Konfigurationsdatei gleichzeitig verwenden können.
* Supported values are: enable (default) to allow selecting a snapshot with the '''--snapshot''' option, ID, or disable to exclude the repository


deb https://www.debian.org/archive stable main contrib
Schnappschusskennungen sind normalwerweise Zeitstempel in der Form JJJJMMDDTHHMMSSZ, wie 20220102T030405Z, was den 2
* Januar 2022 um 03:04:05 UTC darstellt
* Server können allerdings zusätzliche Kennungstypen unterstützen und APT führt aktuell keine Überprüfungen durch


Ein solcher Eintrag benutzt das Archiv auf [https://www.debian.org/ https://www.debian.org] mit den Bereichen <tt>stable/main</tt> und <tt>stable/contrib</tt>.
== URI-Beschreibung ==
Die derzeit erkannten URI-Typen
; http (apt-transport-http(1))
Das Schema »http« gibt einen HTTP-Server für ein Archiv an und ist die am häufigsten verwendete Methode
* Der URI kann Anmeldeinformationen direkt enthalten, falls das Archiv dies erfordert, vorzugsweise sollte jedoch apt_auth.conf(5) benutzt werden
* Die Methode unterstützt auch SOCKS5- und HTTP(S)-Proxys, die entweder über APT-spezifische Konfiguration eingerichtet werden oder durch die Umgebungsvariable '''http_proxy''', die (unter der Annahme, dass ein HTTP-Proxy Authentifizierung verlangt) das Format ''<nowiki>http://Benutzer:Passwort@Server:Port/</nowiki>'' hat
* Die Einzelheiten der Authentifizierung für Proxys können auch über apt_auth.conf(5) bereitgestellt werden


Folgender Eintrag holt die Dateien via FTP aus dem Verzeichnis <tt>/debian</tt>.
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
* Es wird die noch nicht fertige ("unstable") Version von Debian GNU/Linux benutzt und auf die Bereiche main, contrib und non-free zugegriffen:
* 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)


deb ftp://ftp.debian.org/debian unstable main contrib non-free
; https (apt-transport-https(1))


Nochmal ein ähnlicher Eintrag, diesmal für die stabile Version und lediglich den Bereich <tt>main</tt>.
Das Schema »https« gibt einen HTTPS-Server für ein Archiv an und ist bezüglich Benutzung und verfügbaren Optionen dem HTTP-Schema sehr ähnlich
* Der Hauptunterschied besteht darin, dass die Kommunikation zwischen APT und Server (oder Proxy) verschlüsselt abläuft
* Beachten Sie, dass die Verschlüsselung nicht davor schützt, dass ein Angreifer erfährt, welcher Server (oder Proxy) mit APT kommuniziert
* Eine tiefere Analyse kann möglicherweise noch offenbaren, welche Daten heruntergeladen wurden
* Falls dies Sorge bereitet, könnten die nachfolgend genannten TOR-basierten Schemata eine geeignete Alternative sein


deb ftp://ftp.debian.org/debian stable main
; '''mirror''', '''mirror+'''''Schema'' (apt-transport-mirror(1))
Das Schema »mirror« gibt den Speicherort der Spiegelserverliste an
* Standardmäßig wird für den Speicherort das Schema http benutzt, aber jedes andere Schema kann per '''mirror+'''''Schema'' verwendet werden
* Die Spiegelserverliste selbst kann mehrere verschiedenen URIs für Spiegel enthalten, die der APT-Client transparent auswählt oder auf die er zurückgreift
* Dies ist als Hilfe bei der Lastverteilung zwischen verfügbaren Spiegelservern gedacht und stellt zudem sicher, dass Clients sogar dann Daten beziehen können, wenn einige konfigurierte Spiegelserver nicht verfügbar sind


Wenn Sie die beiden vorhergehenden Zeilen in Ihrer Konfiguration einsetzen, werden beide Zeilen in einem FTP-Zugriff bearbeitet.
; '''file'''
Das file-Schema erlaubt es einem beliebigen Verzeichnis im Dateisystem, als Archiv betrachtet zu werden
* Dies ist nützlich für eingehängtes NFS und lokale Spiegel oder Archive


deb file:/home/fr/debian stable main contrib non-free
; '''cdrom'''
Das Schema »cdrom« erlaubt APT ein lokales CD-ROM-, DVD- oder USB-Laufwerk mit Medienwechsel zu benutzen
* Benutzen Sie das Programm apt-cdrom(8), um »cdrom«-Einträge in der Quellenliste zu erstellen


Ein solcher Eintrag benutzt eine lokale Kopie der Daten auf der Festplatte.
; '''copy'''
* Dies kann auch ein per NFS gemountetes Verzeichnis sein.
Das Schema »copy« ist identisch mit dem file-Schema, außer dass Pakete in das Zwischenspeicherverzeichnis kopiert werden, anstatt direkt von ihrem Herkunftsort benutzt zu werden
* Dies ist für Leute nützlich, die Wechseldatenträger benutzen, um Dateien mit APT umherzukopieren


[[Kategorie:APT]]
Weitere zulässige URI-Typen hinzufügen
* APT kann mit weiteren Methoden erweitert werden, die in anderen optionalen Paketen geliefert werden, die dem Namensschema apt-transport-''Methode'' folgen sollten
* Das APT-Team betreut zum Beispiel außerdem das Paket apt-transport-tor, das Zugriffsmethoden für HTTP- und HTTPS-URIs bereitstellt, die über das TOR-Netzwerk geleitet werden


= TMP =
== Installation ==
== Paketversionen und Distributionseigenschaften ==
<syntaxhighlight lang="bash" highlight="1" line copy>
Die Paketquellen, welche in der Datei <tt>/etc/apt/sources.list</tt> aufgeführt werden, enthalten im Idealfall die Dateien <tt>Packages</tt> (bzw.&nbsp;<tt>Packages.gz</tt>) und <tt>Release</tt>, mit denen die an der jeweiligen Quelle verfügbaren Pakete beschrieben werden.
</syntaxhighlight>


Die Datei <tt>Packages</tt> befindet sich normalerweise im Pfad <tt>.../dists/dist-name/component/arch</tt>, also beispielsweise <tt>.../dists/stable/main/binary-i386/Packages</tt>.
== Beispiele ==
* Diese Datei besteht aus einem mehrzeiligen Eintrag für jedes Paket, von dem für die APT Prioritäten lediglich die beiden Zeilen <tt>Package</tt> und <tt>Version</tt> benötigt werden.
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


Die Datei <tt>Release</tt> befindet sich im Pfad <tt>.../dists/dist-name</tt>, also beispielsweise unter <tt>.../dists/stable/Release</tt> oder auch <tt>.../dists/sarge/Release</tt>.
=== Problembehebung ===
* Abweichend von der Datei <tt>Packages</tt> werden fast alle Informationen aus der <tt>Release</tt>-Datei benötigt.


; Diese sind:
== Konfiguration ==
====  Archive ====
=== Dateien ===
# Bezeichnet das Archiv, zu dem alle Pakete dieses Verzeichnisses gehören.
{| class="wikitable options big"
* Beispielsweise gibt die Zeile <tt>Archive: stable</tt> an, dass alle Pakete in dem Verzeichnisbaum unterhalb der Datei <tt>Release</tt> zum "stable"-Release von Debian gehören.
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}


# In der APT Konfigurationsdatei wird dieser Wert wie folgt gesetzt:
<noinclude>


# Pin: release a=stable
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">APT</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
----
* [[apt-get]](8)
* [[apt.conf]](5)
* /usr/share/doc/apt/acquire-additional-files.md.gz


====  Version ====
=== Dokumentation ===
# Diese Zeile bezeichnet die Release-Version der Distribution.
; Man-Page
* Der Wert "3.1" besagt auch, dass alle Pakete im Verzeichnisbaum zur Release 3.1 "Sarge" von Debian gehören.
# [https://manpages.debian.org/trixie/apt/sources.list.5.de.html sources.list(5)]
* Für Versionen wie "testing" und "unstable" werden keine Versionsnummern vergeben, da diese Versionen noch nicht veröffentlicht sind.
* Um diesen Wert in der APT-Konfigurationsdatei anzugeben, ist eine der folgenden Zeilen notwendig:


# Pin: release v=3.0
=== Links ===
Pin: release a=stable, v=3.0
==== Projekt ====
Pin: release 3.0
==== Weblinks ====


====  Component ====
[[Kategorie:Linux/Konfiguration/Datei]]
# Bezeichnet den Abschnitt der Distribution, aus der die Pakete stammen.
[[Kategorie:APT]]
* Beispielsweise bezeichnet die Zeile <tt>Component: main</tt> in der <tt>Release</tt>-Datei, dass alle Pakete unterhalb diese Verzeichnisses zum Abschnitt "main" gehören.
* Dies bedeutet auch, dass alle diese Pakete einer Lizenz entsprechen, die in den Debian Free Software Guidelines (siehe auch [https://dfsg.html/ DFSG]) festgelegt ist.
* Diese Angabe wird wie folgt in der APT-Konfigurationsdatei <tt>preferences</tt> festgelegt


# Pin: release c=main
</noinclude>
 
====  Origin ====
# Bezeichnet den Ursprung der Pakete, meist ist hier "Debian" angegeben.
* In der APT <tt>preferences</tt>-Datei sieht diese Zeile wie folgt aus:
 
# Pin: release o=Debian
 
====  Label ====
# Eine Bezeichnung für die Pakete in diesem Verzeichnisbaum, dieser Eintrag hat meistens den Wert "Debian".
* In der APT <tt>preferences</tt>-Datei sieht diese Zeile wie folgt aus:
 
# Pin: release l=Debian
 
Alle verfügbaren Dateien (<tt>Packages</tt> und <tt>Release</tt>), die über Quellen in der Datei <tt>/etc/apt/sources.list</tt> verfügbar sind, werden im Verzeichnis <tt>/var/lib/apt/lists/</tt> abgelegt.
* Dieses Verzeichnis kann durch die Variable <tt>Dir::State::Lists</tt> in der Datei <tt>apt.conf</tt> verändert werden.
* Die Dateinamen der gespeicherten <tt>Packages</tt> und <tt>Release</tt>-Dateien werden mit dem Namen des Servers sowie dem Pfad und der Architektur ergänzt, beispielsweise <tt>debiananwenderhandbuch.de_debian_dists_stable_main_binary-i386_Packages</tt>.
 
Weiterhin ist es möglich, eine oder mehrere Zeilen, beginnend mit dem Schlüsselwort <tt>Explanation:</tt>, mit einer Erklärung dieses Eintrages einzufügen.
 
Die Zeile <tt>Pin-Priority:</tt> in jedem Eintrag ist nicht zwingend erforderlich.
* Wird ein solcher Eintrag nicht gefunden, so wird eine um den Wert 1 reduzierte Priorität gegenüber dem vorhergehenden Eintrag vergeben.
 
=== Beispiele ===
Das erste Beispiel zeigt, wie man allen Paketen der "stable" Distribution eine Priorität über der vorgegebenen (von 500) zuweist.
* Bei allen anderen Paketen wird die Priorität um den Wert 10 verringert.
 
# Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900
 
Package: *
Pin: release o=Debian
Pin-Priority: -10
 
Die beschriebene Konfiguration führt dazu, dass alle Pakete aus der aktuellen "stable" Distribution installiert werden bzw.&nbsp;bereits installierte Pakete immer aktuell gehalten werden. Darüber hinaus ist es möglich, einzelne Pakete aus anderen Distributionen zu installieren, hier am Beispiel eines Paketes aus "testing" gezeigt:
 
# apt-get install paketname/testing
 
Das so aus "testing" installierte Paket wird zu einem späteren Zeitpunkt nicht weiter aktualisiert.
* Dies muss von Hand durch den erneuten Aufruf des oben beschriebenen Kommandos erfolgen.
 
Das zweite Beispiel setzt eine hohe Priorität für Pakete aus dem "testing"-Zweig, eine etwas niedrigere Priorität für den "unstable"-Zweig und eine noch geringere Priorität für Pakete aus anderen Bereichen.
# Package: *
Pin: release a=testing
Pin-Priority: 900
 
Package: *
Pin: release a=unstable
Pin-Priority: 800
 
Package: *
Pin: release o=Debian
Pin-Priority: -10
 
Diese Konfiguration bewirkt, dass bevorzugt Pakete aus "testing" in den jeweils aktuellen Versionen installiert werden.
 
; Einzelne Pakete aus dem "unstable"-Bereich installieren
# apt-get install paketname/unstable
 
{{DEFAULTSORT:apt}}
= TMP =
==  Paketversionen und Distributionseigenschaften ==
Die Paketquellen, welche in der Datei <tt>/etc/apt/sources.list</tt> aufgeführt werden, enthalten im Idealfall die Dateien <tt>Packages</tt> (bzw.&nbsp;<tt>Packages.gz</tt>) und <tt>Release</tt>, mit denen die an der jeweiligen Quelle verfügbaren Pakete beschrieben werden.
 
Die Datei <tt>Packages</tt> befindet sich normalerweise im Pfad <tt>.../dists/dist-name/component/arch</tt>, also beispielsweise <tt>.../dists/stable/main/binary-i386/Packages</tt>.
* Diese Datei besteht aus einem mehrzeiligen Eintrag für jedes Paket, von dem für die APT Prioritäten lediglich die beiden Zeilen <tt>Package</tt> und <tt>Version</tt> benötigt werden.
 
Die Datei <tt>Release</tt> befindet sich im Pfad <tt>.../dists/dist-name</tt>, also beispielsweise unter <tt>.../dists/stable/Release</tt> oder auch <tt>.../dists/sarge/Release</tt>.
* Abweichend von der Datei <tt>Packages</tt> werden fast alle Informationen aus der <tt>Release</tt>-Datei benötigt.
 
; Diese sind:
====  Archive ====
# Bezeichnet das Archiv, zu dem alle Pakete dieses Verzeichnisses gehören.
* Beispielsweise gibt die Zeile <tt>Archive: stable</tt> an, dass alle Pakete in dem Verzeichnisbaum unterhalb der Datei <tt>Release</tt> zum "stable"-Release von Debian gehören.
 
# In der APT Konfigurationsdatei wird dieser Wert wie folgt gesetzt:
 
# Pin: release a=stable
 
====  Version ====
# Diese Zeile bezeichnet die Release-Version der Distribution.
* Der Wert "3.1" besagt auch, dass alle Pakete im Verzeichnisbaum zur Release 3.1 "Sarge" von Debian gehören.
* Für Versionen wie "testing" und "unstable" werden keine Versionsnummern vergeben, da diese Versionen noch nicht veröffentlicht sind.
* Um diesen Wert in der APT-Konfigurationsdatei anzugeben, ist eine der folgenden Zeilen notwendig:
 
# Pin: release v=3.0
Pin: release a=stable, v=3.0
Pin: release 3.0
 
====  Component ====
# Bezeichnet den Abschnitt der Distribution, aus der die Pakete stammen.
* Beispielsweise bezeichnet die Zeile <tt>Component: main</tt> in der <tt>Release</tt>-Datei, dass alle Pakete unterhalb diese Verzeichnisses zum Abschnitt "main" gehören.
* Dies bedeutet auch, dass alle diese Pakete einer Lizenz entsprechen, die in den Debian Free Software Guidelines (siehe auch [https://dfsg.html/ DFSG]) festgelegt ist.
* Diese Angabe wird wie folgt in der APT-Konfigurationsdatei <tt>preferences</tt> festgelegt
 
# Pin: release c=main
 
====  Origin ====
# Bezeichnet den Ursprung der Pakete, meist ist hier "Debian" angegeben.
* In der APT <tt>preferences</tt>-Datei sieht diese Zeile wie folgt aus:
 
# Pin: release o=Debian
 
====  Label ====
# Eine Bezeichnung für die Pakete in diesem Verzeichnisbaum, dieser Eintrag hat meistens den Wert "Debian".
* In der APT <tt>preferences</tt>-Datei sieht diese Zeile wie folgt aus:
 
# Pin: release l=Debian
 
Alle verfügbaren Dateien (<tt>Packages</tt> und <tt>Release</tt>), die über Quellen in der Datei <tt>/etc/apt/sources.list</tt> verfügbar sind, werden im Verzeichnis <tt>/var/lib/apt/lists/</tt> abgelegt.
* Dieses Verzeichnis kann durch die Variable <tt>Dir::State::Lists</tt> in der Datei <tt>apt.conf</tt> verändert werden.
* Die Dateinamen der gespeicherten <tt>Packages</tt> und <tt>Release</tt>-Dateien werden mit dem Namen des Servers sowie dem Pfad und der Architektur ergänzt, beispielsweise <tt>debiananwenderhandbuch.de_debian_dists_stable_main_binary-i386_Packages</tt>.
 
Weiterhin ist es möglich, eine oder mehrere Zeilen, beginnend mit dem Schlüsselwort <tt>Explanation:</tt>, mit einer Erklärung dieses Eintrages einzufügen.
 
Die Zeile <tt>Pin-Priority:</tt> in jedem Eintrag ist nicht zwingend erforderlich.
* Wird ein solcher Eintrag nicht gefunden, so wird eine um den Wert 1 reduzierte Priorität gegenüber dem vorhergehenden Eintrag vergeben.
 
=== Beispiele ===
Das erste Beispiel zeigt, wie man allen Paketen der "stable" Distribution eine Priorität über der vorgegebenen (von 500) zuweist.
* Bei allen anderen Paketen wird die Priorität um den Wert 10 verringert.
 
# Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900
 
Package: *
Pin: release o=Debian
Pin-Priority: -10
 
Die beschriebene Konfiguration führt dazu, dass alle Pakete aus der aktuellen "stable" Distribution installiert werden bzw.&nbsp;bereits installierte Pakete immer aktuell gehalten werden. Darüber hinaus ist es möglich, einzelne Pakete aus anderen Distributionen zu installieren, hier am Beispiel eines Paketes aus "testing" gezeigt:
 
# apt-get install paketname/testing
 
Das so aus "testing" installierte Paket wird zu einem späteren Zeitpunkt nicht weiter aktualisiert.
* Dies muss von Hand durch den erneuten Aufruf des oben beschriebenen Kommandos erfolgen.
 
Das zweite Beispiel setzt eine hohe Priorität für Pakete aus dem "testing"-Zweig, eine etwas niedrigere Priorität für den "unstable"-Zweig und eine noch geringere Priorität für Pakete aus anderen Bereichen.
# Package: *
Pin: release a=testing
Pin-Priority: 900
 
Package: *
Pin: release a=unstable
Pin-Priority: 800
 
Package: *
Pin: release o=Debian
Pin-Priority: -10
 
Diese Konfiguration bewirkt, dass bevorzugt Pakete aus "testing" in den jeweils aktuellen Versionen installiert werden.
 
; Einzelne Pakete aus dem "unstable"-Bereich installieren
# apt-get install paketname/unstable

Aktuelle Version vom 29. September 2025, 09:15 Uhr

/etc/apt/sources.list - Liste konfigurierter APT-Datenquellen

Beschreibung

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

sources.list.d

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

Der empfohlene Dateiname ist /etc/apt/sources.list.d/Lieferant.sources, wobei Lieferant das Ergebnis von dpkg-vendor --query Vendor | tr A-Z a-z im deb822-artigen Format ist

  • Ubuntu verwendet beispielsweise /etc/apt/sources.list.d/ubuntu.sources

Einzeiliges Format

Dateien enden auf .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 an beliebiger Stelle 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

Dieses Format ist veraltet und wird schließlich entfernt, aber frühestens 2029

deb822-format

Dateien enden auf .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

deb-Typen

»deb« und »deb-src«
allgemeines format

Der deb-Typ beschreibt ein typisches zweistufiges Debian-Archiv, Distribution/Bestandteil

  • Distribution ist typischerweise eine Programmsammlung wie stable oder testing oder ein Codename wie trixie oder forky während Bestandteil entweder main, contrib, non-free oder non-free-firmware 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 veralteten Format mit einzeiligem Stil so aussehen:

deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian-security trixie-security main contrib non-free non-free-firmware

oder im Format mit Deb822-Stil so:

Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: http://deb.debian.org/debian-security
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Optionen

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
  • Architectures (arch) ist eine Option mit mehreren Werten, die definiert, für welche Architekturen Informationen heruntergeladen werden sollen
  • Falls diese Option nicht gesetzt ist, ist die Voreinstellung alle durch die Konfigurationsoption APT::Architectures definierten Architekturen
  • Languages (lang) ist eine Option mit mehreren Werten, die definiert, für welche Sprachen Informationen, wie etwa übersetzte Paketbeschreibungen, heruntergeladen werden sollen
  • Falls diese Option nicht gesetzt ist, werden sie für alle durch die Konfigurationsoption Acquire::Languages definierten Sprachen heruntergeladen
  • Targets (target) ist eine Option mit mehreren Werten, die definiert, welche Herunterladeziele APT aus dieser Quelle versucht zu beschaffen
  • Ist sie nicht angegeben, wird die Voreinstellung durch den Konfigurationsbereich Acquire::IndexTargets spezifiziert (Ziele werden im Feld Created-By durch ihren Namen angegeben)
  • Außerdem können Ziele mittels des Felds Identifier als Option mit einem Wahrheitswert aktiviert oder deaktiviert werden, anstatt diese Option mit mehreren Werten zu benutzen
  • PDiffs (pdiffs) ist ein yes-/no- (Ja-/Nein-)Wert, der steuert, ob APT versuchen soll, PDiffs zum Aktualisieren alter Indexe zu benutzen, statt die ganzen neuen Indexe herunterzuladen
  • Der Wert dieser Option wird ignoriert, falls das Depot die Verfügbarkeit von PDiffs nicht ankündigt
  • Sie ist auf den Wert der Option mit demselben Namen für eine bestimmte Indexdatei voreingestellt, die im Gültigkeitsbereich Acquire::IndexTargets definiert ist und die ihrerseits wiederum auf den Wert der Konfigurationsoption Acquire::PDiffs voreingestellt ist, deren Vorgabe yes ist
  • By-Hash (by-hash) kann die Werte yes, no oder force haben und steuert, ob APT versuchen soll, Indexe über einen URI zu beschaffen, der aus einer Hash-Summe der erwarteten Datei konstruiert wird, statt über einen gut bekannten stabilen Dateinamen
  • Damit können unpassende Hash-Summen vermieden werden, dies erfordert jedoch einen Spiegelserver, der dies unterstützt
  • Ein yes- oder no-Wert aktiviert/deaktiviert die Verwendung dieser Funktionalität, falls diese Quelle ihre Unterstützung anzeigt, während force die Funktionalität ungeachtet der Angabe der Quelle aktiviert
  • Sie ist auf den Wert der Option mit demselben Namen für eine bestimmte Indexdatei voreingestellt, die im Gültigkeitsbereich Acquire::IndexTargets definiert ist und die ihrerseits wiederum auf den Wert der Konfigurationsoption Acquire::By-Hash voreingestellt ist, deren Vorgabe yes ist

Ü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
  • Allow-Insecure (allow-insecure), Allow-Weak (allow-weak) und Allow-Downgrade-To-Insecure (allow-downgrade-to-insecure) sind Wahrheitswerte, deren Voreinstellung no ist
  • Falls sie auf yes gesetzt sind, umgehen sie Teile von apt-secure(8) und sollten daher nicht leichtfertig benutzt werden
  • Trusted (trusted) ist ein Wert, der drei Status annehmen kann
  • APT entscheidet standardmäßig, ob ein Paket als vertrauenswürdig angesehen wird oder ob eine Warnung erscheinen soll, bevor z.B
  • Pakete aus dieser Quelle installiert werden
  • Diese Option kann benutzt werden, um diese Entscheidung außer Kraft zu setzen
  • Der Wert yes sagt APT, dass es diese Quelle immer als vertrauenswürdig ansehen soll, sogar dann, wenn sie die Authentifizierungsprüfungen nicht erfolgreich durchläuft
  • Sie deaktiviert Teile von apt-secure(8) und sollte daher nur in einem lokalen und vertrauenswürdigen Umfeld (falls überhaupt) verwendet werden, da die Sicherheit andernfalls verletzt wird
  • Der Wert no tut das Gegenteil
  • Er sorgt dafür, dass die Quelle als nicht vertrauenswürdig behandelt wird, sogar dann, wenn sie die Authentifizierungsprüfungen erfolgreich durchläuft
  • Der Vorgabewert kann nicht explizit gesetzt werden
  • Signed-By (signed-by) ist eine Option, die erfordert, dass ein Depot die apt-secure(8)-Prüfung mit einem bestimmten Satz von Schlüsseln, statt mit allen vertrauenswürdigen Schlüsseln, durchläuft, die für APT konfiguriert sind
  • Sie wird als eine Liste absoluter Pfade zu Schlüsselbunddateien angegeben (müssen für den Systembenutzer _apt zugreif- und lesbar sein, stellen Sie also sicher, dass jedermann Leserechte für die Datei hat) sowie Fingerabdrücke von Schlüsseln, um diese aus Schlüsselbunden auszuwählen
  • Die empfohlenen Orte für Schlüsselbunde sind /usr/share/keyrings für von Paketen verwaltete Schlüsselbunde und /etc/apt/keyrings für vom Systembetreiber verwaltete Schlüsselbunde
  • Falls keine Schlüsselbunddateien festgelegt sind, ist die Vorgabe der Schlüsselbund trusted.gpg und alle Schlüsselbunde in dem Verzeichnis trusted.gpg.d/
  • Falls kein Fingerabdruck angegeben wurde, werden alle Schlüssel in den Schlüsselbunden ausgewählt
  • Ein Fingerabdruck wird außerdem alle Signaturen eines Unterschlüssels dieses Schlüssels akzeptieren, falls dies nicht gewünscht wird, kann ein Ausrufezeichen (!) an den Fingerabdruck angehängt werden, um dieses Verhalten zu deaktivieren
  • Die Option ist auf den Wert der Option mit demselben Namen voreingestellt, falls sie in der vorher beschafften Release-Datei dieses Depots gesetzt ist (allerdings können dadurch nur Fingerabdrücke angegeben werden)
  • Andernfalls werden alle Schlüssel in den vertrauenswürdigen Schlüsselbunden als gültige Unterzeichner für dieses Depot angesehen
  • Die Option kann auch direkt gesetzt werden, um einen öffentlichen GPG-Schlüsselblock einzubetten
  • Es bedarf besonderer Vorsicht, die leere Zeile mit einleitenden Leerzeichen und ».« zu kodieren:
Types: deb
URIs: https://deb.debian.org
Suites: stable
Components: main contrib non-free non-free-firmware
Signed-By:


-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk
IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS
dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG
3bHcln8DMpIJVXht78sL
=IE0r
-----END PGP PUBLIC KEY BLOCK-----
  • Check-Valid-Until (check-valid-until) ist ein yes-/no- (Ja-/Nein-)Wert, der steuert, ob APT versuchen soll, Wiederholungsangriffe zu erkennen
  • Ein Depotersteller kann eine Zeit festlegen, bis zu der die im Depot bereitgestellten Daten als gültig angesehen werden und, falls dieser Zeitpunkt erreicht ist, aber keine neuen Daten bereitgestellt wurden, die Daten als ungültig angesehen werden und ein Fehler ausgelöst wird
  • Neben einer Steigerung der Sicherheit, da ein böswilliger Angreifer nicht fortlaufend alte Daten senden kann, um einen Benutzer vom Upgrade auf eine neue Version abzuhalten, hilft dies Benutzern auch, Spiegelserver zu erkennen, die nicht länger aktualisiert werden
  • Einige Depots, wie die historischen Archive, werden jedoch absichtlich nicht mehr aktualisiert, daher kann diese Prüfung durch Setzen dieser Option auf no deaktiviert werden
  • Voreingestellt ist der Wert der Konfigurationsoption Acquire::Check-Valid-Until, die ihrerseits die Voreinstellung yes hat
  • Valid-Until-Min (valid-until-min) und Valid-Until-Max (valid-until-max) können benutzt werden, um die Dauer in Sekunden zu verlängern oder zu verkürzen, in der die Daten des Depots als gültig angesehen werden. -Max kann insbesondere dann nützlich sein, wenn das Depot kein Valid-Until-Feld in seiner Release-Datei bereitstellt, indem Sie Ihren eigenen Wert setzen können, während -Min benutzt werden kann, um die Gültigkeitsdauer auf selten aktualisierten (lokalen) Spiegelservern für ein häufig aktualisiertes aber weniger oft erreichbares Archiv (das auch in der sources.list steht) zu erhöhen anstatt die Prüfung ganz zu deaktivieren
  • Voreingestellt sind die Werte der Konfigurationsoptionen Acquire::Min-ValidTime und Acquire::Max-ValidTime, die standardmäßig jeweils nicht gesetzt sind

Check-Date (check-date) ist ein Ja-/Nein-Wert, der steuert, ob APT berücksichtigen soll, ob die Zeit auf der Maschine korrekt ist und deshalb zeitbezogene Prüfungen durchführen soll, wie die Prüfung, ob eine Release-Datei nicht aus der Zukunft stammt

  • Sie zu deaktivieren deaktiviert auch die oben erwähnte Option Check-Valid-Until

Date-Max-Future (date-max-future) steuert, wie weit aus der Zukunft ein Depot liegen darf

  • Voreingestellt ist der Wert der Konfigurationsoption Acquire::Max-FutureTime, die standardmäßig zehn Sekunden beträgt

InRelease-Path (inrelease-path) legt den Pfad zur InRelease-Datei relativ zur normalen Position einer InRelease-Datei fest

  • Standardmäßig ist diese Option nicht gesetzt und APT wird versuchen, eine InRelease-Datei zu holen oder, falls dies fehlschlägt, eine Release-Datei und die zugehörige Release.gpg-Datei
  • Durch das Setzen dieser Option wird der angegebene Pfad anstelle der InRelease-Datei probiert und der Rückgriff auf Release-Dateien wird deaktiviert

Snapshot (snapshot) allows selecting an earlier version of the archive from the snapshot service

  • Supported values are: enable (default) to allow selecting a snapshot with the --snapshot option, ID, or disable to exclude the repository

Schnappschusskennungen sind normalwerweise Zeitstempel in der Form JJJJMMDDTHHMMSSZ, wie 20220102T030405Z, was den 2

  • Januar 2022 um 03:04:05 UTC darstellt
  • Server können allerdings zusätzliche Kennungstypen unterstützen und APT führt aktuell keine Überprüfungen durch

URI-Beschreibung

Die derzeit erkannten URI-Typen

http (apt-transport-http(1))

Das Schema »http« gibt einen HTTP-Server für ein Archiv an und ist die am häufigsten verwendete Methode

  • Der URI kann Anmeldeinformationen direkt enthalten, falls das Archiv dies erfordert, vorzugsweise sollte jedoch apt_auth.conf(5) benutzt werden
  • Die Methode unterstützt auch SOCKS5- und HTTP(S)-Proxys, die entweder über APT-spezifische Konfiguration eingerichtet werden oder durch die Umgebungsvariable http_proxy, die (unter der Annahme, dass ein HTTP-Proxy Authentifizierung verlangt) das Format http://Benutzer:Passwort@Server:Port/ hat
  • Die Einzelheiten der Authentifizierung für Proxys können auch über apt_auth.conf(5) bereitgestellt werden

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))

Das Schema »https« gibt einen HTTPS-Server für ein Archiv an und ist bezüglich Benutzung und verfügbaren Optionen dem HTTP-Schema sehr ähnlich

  • Der Hauptunterschied besteht darin, dass die Kommunikation zwischen APT und Server (oder Proxy) verschlüsselt abläuft
  • Beachten Sie, dass die Verschlüsselung nicht davor schützt, dass ein Angreifer erfährt, welcher Server (oder Proxy) mit APT kommuniziert
  • Eine tiefere Analyse kann möglicherweise noch offenbaren, welche Daten heruntergeladen wurden
  • Falls dies Sorge bereitet, könnten die nachfolgend genannten TOR-basierten Schemata eine geeignete Alternative sein
mirror, mirror+Schema (apt-transport-mirror(1))

Das Schema »mirror« gibt den Speicherort der Spiegelserverliste an

  • Standardmäßig wird für den Speicherort das Schema http benutzt, aber jedes andere Schema kann per mirror+Schema verwendet werden
  • Die Spiegelserverliste selbst kann mehrere verschiedenen URIs für Spiegel enthalten, die der APT-Client transparent auswählt oder auf die er zurückgreift
  • Dies ist als Hilfe bei der Lastverteilung zwischen verfügbaren Spiegelservern gedacht und stellt zudem sicher, dass Clients sogar dann Daten beziehen können, wenn einige konfigurierte Spiegelserver nicht verfügbar sind
file

Das file-Schema erlaubt es einem beliebigen Verzeichnis im Dateisystem, als Archiv betrachtet zu werden

  • Dies ist nützlich für eingehängtes NFS und lokale Spiegel oder Archive
cdrom

Das Schema »cdrom« erlaubt APT ein lokales CD-ROM-, DVD- oder USB-Laufwerk mit Medienwechsel zu benutzen

  • Benutzen Sie das Programm apt-cdrom(8), um »cdrom«-Einträge in der Quellenliste zu erstellen
copy

Das Schema »copy« ist identisch mit dem file-Schema, außer dass Pakete in das Zwischenspeicherverzeichnis kopiert werden, anstatt direkt von ihrem Herkunftsort benutzt zu werden

  • Dies ist für Leute nützlich, die Wechseldatenträger benutzen, um Dateien mit APT umherzukopieren

Weitere zulässige URI-Typen hinzufügen

  • APT kann mit weiteren Methoden erweitert werden, die in anderen optionalen Paketen geliefert werden, die dem Namensschema apt-transport-Methode folgen sollten
  • Das APT-Team betreut zum Beispiel außerdem das Paket apt-transport-tor, das Zugriffsmethoden für HTTP- und HTTPS-URIs bereitstellt, die über das TOR-Netzwerk geleitet werden

Installation

Beispiele

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Man-Page
  1. sources.list(5)

Links

Projekt

Weblinks