ubuntuusers.de

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 oder deb-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.

Hinweis:

Quellcode-Pakete können bisher nur auf der Kommandozeile mittels apt-get oder aptitude heruntergeladen werden.

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

fenster_software-properties_gtk.png

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:

Nach einer Änderung an der sources.list müssen die Paketquellen zwingend mit dem jeweiligen Paketmanager (Synaptic, apt-get, aptitude etc.) neu geladen werden.

Das Neuladen der Paketquellen kann man beispielsweise im Terminal mit folgenden Befehl veranlassen:

sudo apt-get update 

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.

Diese Revision wurde am 17. August 2024 16:20 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, Einsteiger, Ubuntu Touch, Ubuntu Phone, Ubuntu Tablet