Für eine optimale Darstellung aktivieren Sie bitte JavaScript.

Die Ubuntu-Paketquellen - das unbekannte Wesen?

 ·  ☕ 8 Min. Lesezeit  ·  ✍️ ikoch

Symbolbild Code
Photo by ThisisEngineering RAEng on Unsplash

Einleitung

In diesem Beitrag geht es um die verschiedenen Paketquellen der Ubuntu-Distributionen. Da wären z. B. universe, multiverse und so weiter. Und es geht auch um die Frage wie man sie aktiviert.

Es kann vorkommen, dass man irgendwo im Netz oder einer Zeitschrift eine Anleitung zur Installation eines Programms mit dem apt-Befehl bekommt, aber wenn man den Befehl eingibt erhält man diese Fehlermeldung:

kubuntu@kubuntu:~$ sudo apt install atari800
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
E: Paket atari800 kann nicht gefunden werden.

In meinem Beispiel habe ich versucht den Atari800-Emulator aus dem Beitrag vom letzten Monat zu installieren. Was hier aber daran scheitert, dass der apt-Befehl das Programm nicht in den Paketquellen findet.

Etwas überraschend, denn das entsprechenden Paket ist ohne Zweifel vorhanden. Was kann man tun?

Zunächst einmal muss man verstehen, dass es in Ubuntu nicht nur die eine Paketquelle gibt, sondern mehrere. Jede kann für sich aktiviert oder deaktiviert werden. Nach einer frischen Installation werden nicht unbedingt alle Paketquellen aktiviert.

Der Atari800-Emulator befindet sich beispielsweise in der Paketquelle multiverse.

Bevor wir uns anschauen wie man diese (und andere) Paketquelle aktiviert, versuchen wir zu verstehen welche Paketquellen es in Ubuntu gibt und warum es nicht nur eine ist.

Das Konzept der Paketquellen in Ubuntu

Gut, Sie wissen grundsätzlich wie man Software mit Hilfe des apt-Befehls installiert oder Sie können den Befehl zumindest aus einer Anleitung in das Terminal kopieren. Genau dieser APT-Paketmanager arbeitet auch im Hintergrund bei Discover oder dem Ubuntu Software Center. Alle Programme, die Sie in Discover sehen, werden im Prinzip mittels apt installiert. Von den SNAP-Paketen einmal abgesehen.

Haben Sie sich schon einmal gefragt von wo apt die Programme eigentlich installiert. Woher kennt es die verfügbaren Programme?

Ganz grundsätzlich fragt der APT-Paketmanager die einzelnen Paketquellen ab. Eine Paketquelle ist nichts anderes als ein Server, der eine Vielzahl an Software beinhaltet. Ubuntu verfügt bereits über einen Satz an Paketquellen, damit Sie nicht das ganze Internet nach Installationsdateien für die gesuchte Software durchsuchen müssen. Dieser zentrale Zugang zu Software ist ein wesentliches Merkmal von Linux.

Der APT-Paketmanager erhält seine Informationen über die verfügbaren Paketquellen aus der Datei /etc/apt/sources.list und aus den Dateien im Verzeichnis /etc/apt/sources.list.d. Die Einträge in den Dateien haben üblicherweise folgendes Format:

deb http://de.archive.ubuntu.com/ubuntu/ focal main restricted

Wenn Sie möchten, können Sie zu der oben angegebenen Server-Adresse gehen und sich anschauen wie die Paketquelle strukturiert ist.

Nun durchsucht der APT-Paketmanager nicht bei jedem Aufruf des apt-Befehls die entsprechenden Server im Internet. Dieses geschieht nur bei Aufruf des Befehls apt update. Grafische Oberflächen wie Discover kümmern sich darum im Hintergrund. Bei dem Update fragt der APT-Paketmanager die verfügbaren Pakete und ihre Versionsnummer ab. Diese Informationen werden in einem lokalen Zwischenspeicher abgelegt. Sie können ihn sich im Verzeichnis /var/lib/apt/listsanschauen.

Die Informationen lokal zu speichern beschleunigt den Suchprozess, weil kein Durchsuchen der Server im Internet erfolgen muss nur um herauszufinden ob ein bestimmtes Paket vorhanden ist.

Sie sollten bis hierher gelernt haben, dass Paketquellen eine wichtige Rolle spielen. Schauen wir uns nun an warum Ubuntu uns zahlreiche Paketquellen zur Verfügung stellt.

Die Ubuntu-Paketquellen

Bildliche Darstellung der Überschrift

Ubuntu verfügt über Paketquellen in fünf Komponenten: main, universe, multiverse, restricted und partner.

Aber warum denn so viele? Könnte man das nicht alles in eine Paketquelle packen? Eine Erläuterung der einzelnen Paketquellen sollte diese Fragen beantworten.

Main

Bei der Installation von Ubuntu wird diese Paketquelle standardmäßig aktiviert. Die main-Quelle besteht nur aus freier und quelloffener Software (FOSS), die ohne Einschränkungen frei weitergegeben werden kann. Ganz genau handelt es sich dabei nur um Software, die den Ubuntu Lizenzanforderungen (engl) entspricht.

Die Software in dieser Quelle wird von den Paket-Betreuern bei Ubuntu vollständig unterstützt. Canonical kümmert sich um das zeitnahe Einspielen von Sicherheits- und Stabilitätsupdates solange bis die Lebensdauer der Distribution erreicht ist.

Universe

Diese Paketquelle besteht ebenfalls nur aus freier und quelloffener Software (FOSS), aber Canonical garantiert keine regmäßigen Sicherheits- und Stabilitätsupdates für die Software in dieser Paketquelle.

Die Software in dieser Quelle wird betreut von Freiwilligen aus der Linux-Gemeinschaft. Den sogenannten MOTUs. Die universe-Paketquelle verfügt über ein sehr reichaltiges Angebot an freier Software und ermöglicht damit den Zugriff auf eben diese Vielfalt über den APT-Paketmanager.

Multiverse

Diese Paketquelle besteht aus Software, die nicht freie Software ist. Oder wiederum genauer: um Software, die nicht den Ubuntu-Lizenzanforderungen entspricht. Aufgrund von Lizens- und rechtlichen Gründen ist diese Quelle von Ubuntu standardmäßig nicht aktiviert. Diese Paketquelle wird ebenfalls nicht direkt von Canonical sondern von den MOTUs betreut.

Restricted

Ubuntu versucht nur freie und quelloffene Software anzubieten. Das ist jedoch nicht immer möglich, insbesondere wenn es um die Unterstützung von Hardwarekomponenten geht. Die Software in dieser Paketquelle wird jedoch aufgrund ihrer Wichtigkeit direkt von Canonical unterstützt.

Die restricted-Paketquelle besteht aus propietären Treibern.

Partner

In dieser Paketquelle befindet sich proprietäre Software, die von Ubuntu für ihre Partner paketiert wird. Beispielweise wurde früher Skype über diese Paketquelle vertrieben.

Für Kubuntu 20.04 konnte ich keine Software in dieser Paketquelle mehr finden. Offenbar geht Ubuntu für diese Zwecke vermehrt dazu über SNAP zu verwenden.

Übersicht

Die wesentlichen Unterschiede der einzelnen Paketquellen lassen sich auch anhand der folgenden Tabelle darstellen:

main universe multiverse restricted
Freie Software X X - -
von Canonical betreut X - - X

PPAs und Paketquellen von Dritten

Neben den fünf offiziellen Paketquellen, die von Ubunut zur Verfügung gestellt werden, können Sie noch zusätzliche Paketquellen von Dritten hinzufügen. Es liegt natürlich bei Ihnen ob Sie dieses möchten oder nicht. Zusätzliche Paketquellen bieten zusätzliche Software oder den Zugriff auf neuere Programmversionen, falls Ubuntu nur ältere Versionen in den eigenen Paketquelle anbietet.

Programme, die nicht in den Ubuntu-Paketquellen enthalten sind, sind beispielsweise Teamviewer oder der Browser Vivaldi. Auf der Internetseite der Anbieter erhält man eine Datei mit der Endung .DEB. Ein Doppelklick auf diese Datei installiert das Programm und fügt einen neuen Eintrag in der sources.list hinzu. Hierüber werden die Aktualisierungen empfangen.

Die Zahl der Paketquellen kann auch über sogenannte PPAs erweitert werden. PPAs im Detail zu erläutern wäre allerdings Stoff für einen eigenen Beitrag.

Hinweis: Es ist absolut nicht zu empfehlen in der sources.list manuelle Einträge vorzunehmen, wenn man nicht genau weiß was man tut. Im ungünstigsten Fall wären Sie nicht mehr in der Lage Aktualisierungen durchzuführen oder neue Programme zu installieren.

Das Hinzufügen …

Wie bereits weiter oben erwähnt, sind standardmäßig nicht alle Paketquelle aktiviert, wenn man Ubuntu installiert. Um auf weitere Software zugreifen zu können, können Sie die anderen Paketquellen aktivieren.

Grundsätzlich kann das sowohl mit Hilfe einer grafischen Oberfläche als auch über die Befehlszeile erfolgen. Ich werde im Folgenden beide Wege erläutern. Da wir ja alle fanatische Freunde der Befehlszeile sind, werde ich mit dieser beginnen und anschließend das Selbe mittels einer grafischen Oberfläche zeigen.

Ohh, nicht? Doch lieber grafische Oberfläche? Lassen Sie den Kopf nicht hängen, ich zeige ja beide Wege.

… auf der Befehlszeile

Der Befehl für das Hinzufügen einer weiteren Paketquelle lautet: add-apt-repository gefolgt von dem Namen der Paketquelle, die man hinzufügen möchte. Für den ganzen Vorgang brauchen wir dann noch die root-Rechte. Das erreichen wir üblicherweise durch das Vorstellen von sudo .

Die entsprechenden Befehle lauten damit:

sudo add-apt-repository universe    # um die Paketquelle *universe* hinzuzufügen
sudo add-apt-repository restricted  # um die Paketquelle *restricted* hinzuzufügen
sudo add-apt-repository multiverse  # um die Paketquelle *multiverse* hinzuzufügen

Damit sind die Paketquellen hinzugefügt. Um direkt auf die Software hieraus zugreifen zu können, muss noch der lokale Zwischenspeicher (wie oben bereits erwähnt) mittels sudo apt update aktualisiert werden.

Um eine Paketquelle wieder zu entfernen sieht der Befehl sehr ähnlich aus nur muss einfach ein -r eingefügt werden. Also beispielsweise für universe:

sudo add-apt-repository -r universe

… mit Hilfe einer grafischen Oberfläche

Es gibt mehrere Wege Paketquellen mittels einer grafischen Oberfläche hinzuzufügen oder wieder zu entfernen. Unter Kubuntu steht hierfür sowohl Discover als auch Muon zur Verfügung.

In Discover links unten auf Einstellungen klicken bringt uns in folgendes Menü:

Bild Discover Einstellungen

Bereits hier können wir durch das Anklicken von Paketquellen diese aktivieren oder deaktivieren. Discover steht aber nur in Kubuntu nicht aber bei den anderen Ubuntu Geschmacksrichtungen zur Verfügung. Durch einen Klick auf Software Sources (ja das ist in Kubuntu 20.04 offenbar bei der Übersetzung vergessen worden) gelangt man in den (allgemeinen Ubuntu-) Dialog zur Steuerung der Paketquellen:

Bild Paketquellen Einstellungen

In Muon gelangt man in denselben Dialog über Einstellungen / Software-Quellen einrichten.

Hier können die einzelnen Paketquellen durch das Setzen oder Entfernen von Häkchen aktiviert bzw, deaktiviert werden.

Bild Paketquellen Einstellungen

Für die Partner-Paketquelle gehen Sie bitte auf den Reiter “Andere Programme”, hier können sie nun den Harken bei “Canonical-Partner” setzen oder entfernen.

Welches Paket gehört zu welcher Quelle?

Wenn man ein spezielles Programm installieren möchte, ist es natürlich hilfreich zu wissen in welcher Paketquelle sich dieses befindet. Zumindest wenn man nicht sowieso alle Paketquellen aktivieren möchte.

Ubuntu verfügt über eine eigene Seite, die Sie über die verfügbaren Pakete in den Ubunut-Archiven informiert. Diese Ubuntu Paketsuche finden Sie im Internet.

Sie können dort den Paketnamen in das Suchfeld eingeben und ggf. auf ein bestimmtes Ubuntu-Release einschränken. In meinem Beispiel suchen wir nach “atari800” in allen Ubuntu-Releases.

Bild Paketquellen Einstellungen

Es werden nun die gefundenen Pakete über alle Releases angezeigt:

Bild Paketquellen Einstellungen

Wie Sie sehen befindet sich “atari800” in der Paketquelle multiverse. Es ist in allen Release verfügbar. Erst in impisch (21.10) wird die aktuellste Version 4.2 verfügbar sein. In den vorherigen Release ist es die Version 4.1 bzw. in bionic (18.04) sogar noch die Version 3.1 von 2014.

Schußbemerkung

Ich hoffe dieser Beitrag hat Ihnen geholfen das Konzept der verschiedenen Paketquellen in Ubuntu besser zu verstehen. Rückmeldungen sind über z. B. Mastodon gerne erwünscht.

Wer sich generell tiefer in das Thema “Paketverwaltung” einlesen möchte, dem empfehle ich die entsprechenden Seiten von Ubuntuusers als Einstieg.


Dieser Artikel ist eine überarbeitete Übersetzung eines Artikels von Abhishek Prakash und erschien zuerst auf It’s FOSS. Lizenz: CC BY-SA 4.0


ikoch
ERSTELLT VON
ikoch