Wir benutzen Ubuntu, Debian, CentOS und andere Betriebssysteme. Wenn jemand fragt: „Welches Betriebssystem verwendest du?“ Die meisten von Ihnen werden vielleicht sagen: „Ich benutze Linux“. Das ist aber nicht wirklich Linux. Linux ist nur der Name des Kernels. Das sind eigentlich verschiedene Linux-Distributionen.
Nun werden Sie vielleicht fragen: „Was ist eine Linux-Distribution?“
Nun, der Linux-Kernel selbst kann keine sehr ausgefallenen Dinge tun. Es ist eine Software, die die Hardware verwaltet, den Programmen Speicher zuweist, Ihnen bei der Ausführung des Programms hilft und andere grundlegende Aufgaben auf sehr niedriger Ebene für Sie erledigt. Nehmen wir an, Sie wollen eine Datei mit dem Texteditor nano bearbeiten. Nun, der Linux-Kernel hat das nicht. Sie müssen ihn separat über den Linux-Kernel installieren, um ihn benutzen zu können.
Ohne nützliche Programme ist der Linux-Kernel für normale Benutzer nicht hilfreich. Wiederum ist die Installation von Programmen über den Linux-Kernel nichts, was normale Menschen gerne tun würden. Deshalb haben verschiedene Firmen und Einzelpersonen wichtige Tools (oder Software) auf den Linux-Kernel gepackt und für Sie verpackt. Nach der Installation können Sie dann mit dem gewünschten Programm arbeiten. Dies nennt man ein Linux-basiertes Betriebssystem oder eine Linux-Distribution. Ubuntu, Debian, CentOS, Fedora und andere sind Linux-Distributionen oder Linux-basierte Betriebssysteme. Sie sind nicht nur Linux.
Nun gibt es so viele Software für Linux, dass man sie nicht einmal zählen kann. Sie alle in ein einziges Betriebssystempaket aufzunehmen, würde die Größe des Betriebssystems unnötig groß machen und die Verteilung erschweren. Das Betriebssystem braucht also einen Mechanismus, um Pakete nach Bedarf einfach zu installieren. Auf diese Weise könnten sie sehr verbreitete Dienstprogramme einschließen und die Installation kleiner machen. Für die Benutzer ist es einfacher, Pakete zu entwickeln, zu verteilen und herunterzuladen, und es ist ein modularer Ansatz.
Die zusätzlichen Pakete werden auf einem Webserver oder FTP-Server der Linux-Distribution gehostet, von dem die Benutzer sie herunterladen und installieren können. Diese Webserver oder FTP-Server werden Paket-Repository genannt.
Sie brauchen auch eine Möglichkeit, diese Pakete aus dem Paket-Repository zu verwalten (installieren, entfernen, herunterladen). Daher ist in Ihrer bevorzugten Linux-Distribution ein Paketmanager enthalten. Ubuntu basiert auf der Debian GNU/Linux-Distribution. Ubuntu verwendet den APT (Advanced Package Tool) Paketmanager, um Pakete zu verwalten. Der APT-Paketmanager und alle grafischen Frontends (Ubuntu Software Center, Muon, aptitude usw.) verwenden die Datei sources.list, um herauszufinden, welches Paket-Repository oder welche Paket-Repositories verwendet werden sollen.
In diesem Artikel zeige ich Ihnen, wie die Datei sources.list in Ubuntu verwendet wird. Fangen wir an.
Der APT-Paketmanager und alle seine grafischen Frontends beziehen die Informationen über das Paket-Repository aus der Datei /etc/apt/sources.list und Dateien aus dem Verzeichnis /etc/apt/sources.list.d.
In Ubuntu bearbeiten verschiedene Paketmanager die Datei /etc/apt/sources.list direkt. Ich empfehle nicht, dort benutzerdefinierte Paket-Repositories hinzuzufügen. Wenn Sie zusätzliche Paketquellen hinzufügen müssen, ist es am besten, diese einfach in das Verzeichnis /etc/apt/sources.list.d/ einzufügen. Ich werde Ihnen später in diesem Artikel praktisch zeigen, wie das geht.
Die Datei sources.list verstehen:
Der Inhalt der Datei /etc/apt/sources.list sieht ungefähr so aus.
Hier sind Zeilen, die mit einer Raute (#) beginnen, Kommentare. Kommentare werden in dieser Datei zu Dokumentationszwecken verwendet. Kommentare werden auch verwendet, um ein bestimmtes Paket-Repository hier zu deaktivieren.
Sie können zum Beispiel einen Kommentar hinterlassen, wenn Sie ein benutzerdefiniertes Paket-Repository wie dieses hinzufügen.
deb http://192.168.10.1/nodejs/8.x stretch main
Ich werde jede Zeile, die verwendet wird, um ein Paket-Repository hinzuzufügen (Zeilen, die mit deb beginnen) in der Datei /etc/apt/sources.list und Dateien im Verzeichnis /etc/apt/sources.list.d/ eine APT-Zeile nennen. Sie können sie nennen, wie Sie wollen.
Lassen Sie uns nun darüber sprechen, wie eine APT-Zeile formatiert ist. Dies ist ein Beispiel für eine APT-Zeile, wie sie in der Abbildung unten zu sehen ist.
Eine APT-Zeile beginnt mit deb, was bedeutet, dass diese Paketquelle Softwarepakete als vorkompilierte Binärdateien im deb-Dateiformat verteilt.
Eine APT-Zeile kann auch mit deb-src beginnen, was bedeutet, dass die Paketquelle Softwarepakete als Quellcodes verteilt, die Sie auf Ihrem eigenen Computer kompilieren müssen, um sie zu verwenden. Standardmäßig sind alle deb-src-Paketquellen unter Ubuntu deaktiviert. Ich persönlich ziehe es vor, dass sie deaktiviert sind, da ich sie nicht benutze. Die Installation von Paketen aus den Quellen dauert sehr lange, abhängig von der Spezifikation Ihres Computers.
Dann haben Sie die HTTP-, HTTPS- oder FTP-URL des Paket-Repositorys. Hier werden alle Paketdateien und Paketdatenbankdateien aufbewahrt. Der Paketmanager lädt die Paketmetadaten und andere Informationen herunter, um zu erfahren, welche Pakete verfügbar sind und wo sie heruntergeladen werden können.
Dann müssen Sie den kurzen Codenamen Ihres Ubuntu-Betriebssystems eingeben. Er ist für jede Version von Ubuntu unterschiedlich. Bei Ubuntu 18.04 LTS lautet er zum Beispiel bionic.
Mit folgendem Befehl können Sie herausfinden, wie er für Ihre Distribution lautet:
Dann geben Sie eine durch Leerzeichen getrennte Liste verschiedener Abschnitte dieses Paket-Repositorys ein. Die Pakete eines Paket-Repositorys können logisch in viele Gruppen unterteilt werden, wie Sie im markierten Abschnitt dieses Artikels unten sehen können. Das Ubuntu-Paketarchiv ist in die Abschnitte main, restricted, universe und multiverse unterteilt. In diesem Beispiel habe ich nur die Haupt- und eingeschränkten Abschnitte des bionischen Paket-Repositorys hinzugefügt.
Das ist im Grunde alles, was Sie über die Datei sources.list auf Ubuntu wissen müssen.
Eigenes Paket-Repository auf Ubuntu hinzufügen:
Angenommen, Sie möchten Ihr eigenes Paket-Repository auf Ubuntu hinzufügen. Nehmen wir an, es wird in deinem lokalen Netzwerk gehostet und ist unter http://192.168.10.5/nodejs verfügbar und es ist ein Spiegel des NodeJS-Paket-Repositorys.
Erstelle zunächst eine neue Datei node.list im Verzeichnis /etc/apt/sources.list.d/ mit dem folgenden Befehl: