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.

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 vier Sektionen gegliedert:

  • "Typ": deb oder deb-src

  • "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
# 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

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.

Ort

Es gibt verschiedene "Orte", aus denen 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 Benutzt einen HTTP-Server als Installationsquelle, was normalerweise der Standardfall für die Ubuntu-Server ist.
ftp Siehe http, nur wird FTP als Übertragungsprotokoll genutzt.
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. 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 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 24. Oktober 2023 15:30 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, Einsteiger, Ubuntu Touch, Ubuntu Phone, Ubuntu Tablet