sources.list
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
In der Datei /etc/apt/sources.list und in Dateien im Verzeichnis /etc/apt/sources.list.d/ stehen die Repositories (engl. Lager, Depot), also Quellen für Pakete. Dies können entweder CDs oder DVDs, Verzeichnisse auf der Festplatte oder in der Regel Verzeichnisse auf HTTP- oder FTP-Servern sein. Befindet sich das gesuchte Paket auf einem Server (oder einem lokalen Datenträger), so kann man dieses installieren.
Hinweis:
Ubuntu verwendet ab Ubuntu 24.04 Noble Numbat standardmäßig nicht mehr die Datei /etc/apt/sources.list. Außerdem sollten unter /etc/apt/sources.list.d/ auch nicht mehr die in diesem Artikel beschriebenen Paketquellen im alten, einzeiligen Format in Dateien mit Namensendung .list, sondern nun Dateien im Format deb822 mit der Endung .sources verwendet werden; Ersteres bleibt jedoch weiterhin unterstützt. Weitere Informationen enthält der Artikel Paketquellen im Format deb822.
Paketquellen im hier beschriebenen alten Format können vom Anwender aber nach wie vor, auch gemischt mit Dateien im neuen Format, benutzt werden.
Aufbau¶
Eine Beispielzeile in der sources.list von Ubuntu 22.04 für x86-Prozessoren (also die gängigen Intel- und AMD-Prozessoren) sieht z.B. so aus:
1 | deb http://de.archive.ubuntu.com/ubuntu jammy main restricted |
Der Eintrag ist dabei in fünf Sektionen gegliedert:
„Typ“:
deb
oderdeb-src
„Option(en)“: hier nicht sichtbar, z.B.
[ arch=amd64 ]
„Ort“: z.B.
http://de.archive.ubuntu.com/ubuntu
(oder auch eine CD/DVD)„Distribution“:
jammy
,jammy-updates
,jammy-security
, usw.„Komponenten“ (optionale Liste):
main
,restricted
,universe
,multiverse
Weitere Beispieleinträge:
1 2 3 4 5 6 7 8 | # Lokale Paketquelle deb file:/pfad/zu/freigabe jammy main # CD-Rom Eintrag (hier: Ubuntu Jammy Jellyfish 22.04 amd64-Version) deb cdrom:[Ubuntu 22.04 LTS _Jammy Jellyfish_ - Release amd64 (20180426)]/ jammy main multiverse # Paketquelle für Ubuntu 24.04 mit arm64-Architektur deb [ arch=arm64 ] http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted |
Typ¶
Der Quelltyp wird meistens eines der beiden Einträge deb
oder deb-src
sein. deb
steht dabei für Binärpakete, die man in der Regel installieren möchte. Der Eintrag deb-src
steht für den Quellcode der Pakete. Nur falls man ein Programm selbst kompilieren möchte oder muss, hilft dieser Eintrag, die dann notwendigen Abhängigkeiten aufzulösen und den Quellcode herunterzuladen.
Optionen¶
Jeder Quelleneintrag kann mit einer Reihe von Optionen, die in eckigen Klammern wie im obigen Beispiel angegeben werden (wobei die trennenden Leerzeichen die Lesbarkeit erhöhen, aber nicht verpflichtend sind), die angeben, wie auf die Quelle zugegriffen werden soll bzw. welche Daten beschafft werden sollen. Die nachfolgende Tabelle listest die gebräuchlichsten dieser Optionen auf, wobei zwecks Übersichtlichkeit auch die Äquivalente der Optionen im deb822-Format angegeben werden.
Für alle Optionen ist die Manpage von sources.list zu konsultieren.
Wichtigste Optionen für Quelleneinträge | ||||
Option | deb822 | Mehrere Werte zulässig* | APT-Konfiguration 🇬🇧 bzw. Voreinstellung | Beschreibung |
arch | Architectures | ja | APT::Architectures | Beschreibt, für welche Architekturen Paketinformationen heruntergeladen werden sollen; zulässige Werte z.B. amd64 (x86_64 -Systeme) oder arm64 (AArch64-Systeme) |
signed-by | Signed-By | ja | /etc/apt/trusted.gpg bzw. /etc/apt/trusted.gpg.d/ | Eine Liste von absoluten Pfaden zu Schlüsselbunden und / oder Fingerabdrücken, mit denen die Quelle auf Vertrauenswürdigkeit über ihre Signaturen geprüft werden soll. Es ist geplant, dieses Feld in Zukunft für alle Quelleinträge verpflichtend 🇬🇧 zu machen. |
target | Targets | ja | Acquire::IndexTargets ; Packages, Translations und Sources | Die Ziele (Dateinamen), die APT aus dem Repositorium laden soll. Mehr dazu in der Dokumentation 🇬🇧. |
lang | Languages | ja | Acquire:Languages | Sprachcodes für die Sprachen, für die APT Informationen herunterladen soll; z.B. de, de_AT oder en. |
allow-insecure, allow-weak | Allow-Insecure, Allow-Weak | nein | AllowInsecureRepositories, AllowWeakRepositories; false | Ob APT Indizes benutzen können soll, die keine bzw. nur unzureichende Sicherheitsinformationen liefern; dies sollte, wenn überhaupt, nur im lokalen Umfeld genutzt werden. Außerdem könnten diese Option durch ein erzwungenes Signed-By -Feld bald obsolet werden. |
trusted | Trusted | nein | - | Quelle als vertrauenswürdig bzw. nicht vertrauenswürdig markieren; es gelten dabei die gleichen Bedenken wie bei den obigen Optionen. |
check-valid-until | Check-Valid-Until | nein | Acquire::Check-Valid-Until; yes | Die Metadaten eines Debian-Pakets (d.h. die Release-Datei 🇬🇧) können ein Feld namens Valid-Until enthalten, das angibt, bis wann der Inhalt des Repositoriums gültig ist. Dies weist APT an, ihn zu prüfen. Das ist meistens sinnvoll, sollte aber z.B. bei einem Archivserver auf no gesetzt werden. |
* Die Werte werden im einzeiligen Format mit Kommata, im deb822-Stil aber mit Leerzeichen getrennt.
Ort¶
Es gibt verschiedene „Orte“, bzw. Protokolle, über die Pakete installiert werden können.
Installation | |
Ort | Beschreibung |
cdrom | Benutzt ein lokales CD/DVD-Rom als Installationsquelle. Dies kann die "Original"-Ubuntu-CD sein, oder auch eine selbst erstellte Paket-CD. |
http , https | Benutzt einen HTTP- oder HTTPS-Server als Installationsquelle; Ersteres ist normalerweise der Standardfall für die Ubuntu-Server. |
mirror[+Schema] | Angabe eines Spiegelservers. Schema ist normalerweise http . |
ftp | Siehe http , nur wird FTP als Übertragungsprotokoll genutzt. |
rsh, ssh | Es wird via RSH bzw. SSH auf die benötigten Daten zugegriffen. |
file | Benutzt ein Verzeichnis als Installationsquelle. Dies kann ein lokales Verzeichnis oder eine durch Samba oder NFS angebundene Netzwerkfreigabe sein. Siehe auch Eigene Paketquelle anlegen! |
copy | Eine lokale Paketquelle wie file , wobei die Pakete vor der Installation nach /var/cache/apt/archives kopiert werden. |
Distribution¶
Die "Distribution" bezeichnet nicht nur die aktuelle verwendete Version wie Bionic oder Xenial, sondern es wird hier noch weiter in verschiedenen Kategorien unterteilt. Alle wichtigen Archive für Ubuntu werden ausführlich in Paketquellen beschrieben.
Ist man sich nicht sicher, welche Ubuntu-Version man besitzt, kann man diese mittels des Befehls [1]
lsb_release -cir
feststellen.
Komponenten¶
Die Angabe der "Komponenten" ist optional, sie werden einfach durch Leerzeichen getrennt hintereinander angegeben. Mittels der Komponenten kann eine Distribution noch weiter aufgeteilt werden. Die Ubuntu-Komponenten sind ausführlich in den Paketquellen erklärt.
Eine Auflistung der aktiven Paketquellen bekommt man über die anschließend beschriebenen GUI-Werkzeuge oder auf der Kommandozeile wie hier unter Support beschrieben.
Bearbeiten per GUI¶
Man kann viele Änderungen direkt in der GUI vornehmen. Dazu öffnet man ein Terminal [1] und startet das Programm software-properties-gtk, bzw. beispielsweise für Kubuntu die Qt-Version software-properties-qt. In dem sich öffnenden Fenster mit dem Titel „Anwendungen & Aktualisierungen“ kann man im Register Ubuntu-Anwendungen die Zweige der offiziellen Paketquellen auswählen und im Register „Andere Programme“ andere Paketquellen und auch PPAs hinzufügen, entfernen, ändern sowie aktivieren oder deaktivieren.
Bearbeiten mit Texteditor¶
Bevor man Änderungen an der sources.list vornimmt, sollte man die Datei sichern. Hierzu öffnet man ein Terminal [1] und legt von der aktuellen Quelldatei eine Sicherung an:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
Will man sich die Datei /etc/apt/sources.list anschauen, dann benutzt man diese Befehle:
grep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list
in der Kurzform
cat -n /etc/apt/sources.list
in der Langform mit Zeilennummern.
Danach öffnet man in einem Editor [2] mit Rootrechten [3] die Datei /etc/apt/sources.list, fügt die gewünschte Quelle in die Datei ein und speichert diese. Alternativ kann die Quelle bzw. ihre URL direkt mit nur einem Befehl hinzugefügt werden,
sudo sh -c 'echo "QUELLEN_URL" >> /etc/apt/sources.list'
oder, wenn man "sauber" arbeiten will, legt man sich eigene Dateien mit der Endung .list unter /etc/apt/sources.list.d/ an.
Hinweis:
Einträge deaktivieren¶
Wie bei den meisten Konfigurationsdateien ist es auch in der sources.list möglich, einzelne Zeilen durch ein #
am Anfang der Zeile auszukommentieren, d.h., zu deaktivieren. Der ursprüngliche Eintrag bleibt erhalten, wird aber nicht mehr für die Paketverwaltung genutzt, sondern wie ein Kommentar behandelt.
Multiarch bei unterschiedlichen URLs¶
Sind die Pakete für unterschiedliche Architekturen nicht über dieselbe URL erreichbar, muss in sources.list bei allen Einträgen die ursprüngliche Architekur ergänzt werden. Ebenso ist bei der URL für die Fremdarchitekturen deren Angabe erforderlich.
Beispiel für eine arm64
-Installation von Ubuntu 20.04, in die auch amd64
- und i386
-Pakete geladen werden sollen:
1 2 3 4 5 6 | # ursprüngliche Installation deb [ arch=arm64 ] http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe multiverse # ... # weitere Architekturen deb [ arch=amd64,i386 ] http://de.archive.ubuntu.com/ubuntu/ focal main # ... |
Offizielle Quellen¶
Hinweis:
Statt der unten aufgelisteten offiziellen Quellen kann man auch einen lokalen Spiegelserver verwenden. Siehe Official Archive Mirrors 🇬🇧 .
Ubuntu ab 24.04¶
Siehe Artikel Paketquellen im Format deb822 (Abschnitt „Offizielle-Quellen“).
Ubuntu 22.04¶
1 2 3 4 5 6 7 8 9 10 11 | deb http://de.archive.ubuntu.com/ubuntu jammy main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu jammy main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu jammy-security main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu jammy-security main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse |
Ubuntu 20.04¶
1 2 3 4 5 6 7 8 9 10 11 | deb http://de.archive.ubuntu.com/ubuntu focal main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu focal main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse #deb-src http://de.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse |
Ubuntu Touch¶
Die sources.list, welche auf dem bq Aquaris 4.5 zu finden ist:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://ports.ubuntu.com/ubuntu-ports/ vivid main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://ports.ubuntu.com/ubuntu-ports/ vivid-updates main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://ports.ubuntu.com/ubuntu-ports/ vivid universe deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid universe deb http://ports.ubuntu.com/ubuntu-ports/ vivid-updates universe deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid-updates universe ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. # deb http://ports.ubuntu.com/ubuntu-ports/ vivid-backports main restricted universe # deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid-backports main restricted universe deb http://ports.ubuntu.com/ubuntu-ports/ vivid-security main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid-security main restricted deb http://ports.ubuntu.com/ubuntu-ports/ vivid-security universe deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid-security universe # deb http://ports.ubuntu.com/ubuntu-ports/ vivid-security multiverse # deb-src http://ports.ubuntu.com/ubuntu-ports/ vivid-security multiverse |
Ubuntu Ports¶
Die Paketquellen für die Ubuntu-Portierung auf ARM-Prozessoren, PowerPC und S390x sind von der Struktur her identisch mit der oben beschriebenen für x86-Systeme, allerdings ist der URL anders. Die vollständig aktivierten Quellen für z.B. Xenial sehen so aus:
1 2 3 4 5 6 7 8 | deb http://ports.ubuntu.com/ubuntu-ports/ xenial main universe restricted multiverse deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main universe restricted multiverse deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main universe restricted multiverse deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main universe restricted multiverse deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main universe restricted multiverse deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main universe restricted multiverse deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main universe restricted multiverse deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main universe restricted multiverse |
Externe Quellen¶
Hinweise zu weiteren Paketquellen und deren Einbindung findet man in den folgenden Artikeln:
/etc/apt/sources.list.d/¶
Im Verzeichnis /etc/apt/sources.list.d/ können weitere Listen mit Softwarequellen angelegt werden. Dieses Verzeichnis wird z.B. genutzt, wenn man ein PPA einbindet.
Da die sources.list unverändert bleibt, kann man zusätzliche Fremdquellen nutzen, ohne die Originalquellen zu ändern. Dazu erstellt man in diesem Verzeichnis mit einem Editor [2] und Root-Rechten [3] eine neue Datei mit der Endung .list. Der Name ist frei wählbar, entscheidend ist die Endung. Die Einträge sind identisch zur sources.list aufgebaut. Beispiel (für eine Fremdquelle, die nur 64-bit-Pakete bereitstellt):
1 | deb [ arch=amd64 ] http://domain.de/ stable UBUNTU-Version |
Wenn die Paketquelle auch 32-bit-Systeme unterstützt, kann [arch=amd64]
weglassen werden. Nachdem die Paketquellen neu eingelesen worden sind, ist die neue Paketquelle verfügbar.
Liste aller Quellen¶
Möchte man sich alle verwendeten Softwarequellen anzeigen lassen, so hat man verschiedene Möglichkeiten. Je nach Anwendungsfall können unterschiedliche Befehle sinnvoll sein. Die Ausgabe erfolgt im Terminal und kann mittels einer Umleitung in eine Datei geschrieben oder an andere Programme übergeben werden.
Allgemein¶
Eine ausführliche Übersicht der aktivierten Quellen mit den Apt-Pinning-Informationen:
apt-cache policy
Sicherung¶
Die vollständige Ausgabe der sources.list und aller Listen im Verzeichnis /etc/apt/sources.list.d erfolgt mittels cat:
cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list
Support¶
Supporter im Forum fragen bei einem Problem mit der Paketverwaltung möglicherweise nach einer Übersicht der aktivierten Quellen. Hier ist eine mittels grep um Leerzeilen und Kommentare gekürzte Ausgabe (mit Dateinamen) sinnvoll:
grep -r -v -e ^$ -e ^# /etc/apt/sources.list /etc/apt/sources.list.d/
Skripte¶
In Skripten sind weitere Variationen obiger Befehle und noch weitere Befehle denkbar, diese werden bei den Einzeilern gesammelt.
Links¶
APT-HowTo 🇩🇪 - Debian.org
Paketverwaltung Übersichtsartikel