Einführung
Die meisten modernen Unix-ähnlichen Betriebssysteme bieten einen zentralen Mechanismus zum Auffinden und Installieren von Software. Software wird normalerweise in Form vonpackages verteilt, die inrepositories gespeichert sind. Das Arbeiten mit Paketen wird alspackage management bezeichnet. Pakete stellen die grundlegenden Komponenten eines Betriebssystems zusammen mit gemeinsam genutzten Bibliotheken, Anwendungen, Diensten und Dokumentationen bereit.
Ein Paketverwaltungssystem erledigt viel mehr als eine einmalige Installation von Software. Außerdem werden Tools zum Aktualisieren bereits installierter Pakete bereitgestellt. Paket-Repositorys stellen sicher, dass der Code für die Verwendung auf Ihrem System überprüft wurde und die installierten Softwareversionen von Entwicklern und Paketbetreuern genehmigt wurden.
Bei der Konfiguration von Servern oder Entwicklungsumgebungen muss häufig über offizielle Repositorys hinausgesehen werden. Pakete in der stabilen Version einer Distribution sind möglicherweise veraltet, insbesondere wenn es um neue oder sich schnell ändernde Software geht. Dennoch ist die Paketverwaltung für Systemadministratoren und Entwickler von entscheidender Bedeutung, und die Fülle an Softwarepaketen für große Distributionen ist eine enorme Ressource.
Dieses Handbuch dient als Kurzreferenz für die Grundlagen zum Auffinden, Installieren und Aktualisieren von Paketen auf einer Vielzahl von Distributionen und soll Ihnen dabei helfen, dieses Wissen zwischen Systemen zu übersetzen.
Paketverwaltungssysteme: Ein kurzer Überblick
Die meisten Paketsysteme basieren auf Sammlungen von Paketdateien. Eine Paketdatei ist normalerweise ein Archiv, das kompilierte Binärdateien und andere Ressourcen der Software sowie Installationsskripts enthält. Pakete enthalten auch wertvolle Metadaten, einschließlich ihrerdependencies, einer Liste anderer Pakete, die für die Installation und Ausführung erforderlich sind.
Obwohl ihre Funktionen und Vorteile weitgehend identisch sind, variieren die Verpackungsformate und -tools je nach Plattform:
Betriebssystem | Format | Werkzeuge) |
---|---|---|
Debian |
|
|
Ubuntu |
|
|
CentOS |
|
|
Fedora |
|
|
FreeBSD |
Ports, |
|
In Debian und darauf basierenden Systemen wie Ubuntu, Linux Mint und Raspbian ist das Paketformat die.deb
-Datei. APT, das Advanced Packaging Tool, bietet Befehle, die für die häufigsten Vorgänge verwendet werden: Durchsuchen von Repositorys, Installieren von Paketsammlungen und deren Abhängigkeiten sowie Verwalten von Upgrades. APT-Befehle fungieren als Front-End für das Dienstprogrammdpkg
der unteren Ebene, das die Installation einzelner.deb
-Dateien auf dem lokalen System übernimmt und manchmal direkt aufgerufen wird.
Neuere Versionen der meisten von Debian abgeleiteten Distributionen enthalten den Befehlapt
, der eine übersichtliche und einheitliche Schnittstelle zu allgemeinen Operationen bietet, die traditionell von den spezifischerenapt-get
undapt-cache
verarbeitet wurden. Die Verwendung ist optional, kann jedoch einige Aufgaben vereinfachen.
CentOS, Fedora und andere Mitglieder der Red Hat-Familie verwenden RPM-Dateien. In CentOS wirdyum
verwendet, um sowohl mit einzelnen Paketdateien als auch mit Repositorys zu interagieren.
In neueren Versionen von Fedora wurdeyum
durchdnf
ersetzt, eine modernisierte Gabel, die den größten Teil der Schnittstelle vonyum
beibehält.
Das Binärpaketsystem von FreeBSD wird mit dem Befehlpkg
verwaltet. FreeBSD bietet auch die Ports Collection, eine lokale Verzeichnisstruktur und Tools, mit denen der Benutzer Pakete mit Makefiles direkt aus dem Quellcode abrufen, kompilieren und installieren kann. Es ist normalerweise viel bequemer,pkg
zu verwenden, aber gelegentlich ist ein vorkompiliertes Paket nicht verfügbar, oder Sie müssen möglicherweise die Optionen zur Kompilierungszeit ändern.
Paketlisten aktualisieren
Die meisten Systeme halten eine lokale Datenbank der Pakete in Remote-Repositorys bereit. Am besten aktualisieren Sie diese Datenbank, bevor Sie Pakete installieren oder aktualisieren. Als teilweise Ausnahme von diesem Muster suchenyum
unddnf
nach Aktualisierungen, bevor einige Vorgänge ausgeführt werden. Sie können sie jedoch jederzeit fragen, ob Aktualisierungen verfügbar sind.
System | Befehl |
---|---|
Debian / Ubuntu |
|
|
|
CentOS |
|
Fedora |
|
FreeBSD-Pakete |
|
FreeBSD-Ports |
|
Aktualisieren Sie installierte Pakete
Sicherzustellen, dass die gesamte auf einem Computer installierte Software auf dem neuesten Stand ist, wäre ohne ein Paketsystem ein gewaltiges Unterfangen. Sie müssten Upstream-Änderungen und Sicherheitswarnungen für Hunderte verschiedener Pakete nachverfolgen. Ein Paketmanager löst zwar nicht jedes Problem, das beim Aktualisieren von Software auftritt, ermöglicht es Ihnen jedoch, die meisten Systemkomponenten mit wenigen Befehlen zu warten.
Unter FreeBSD kann ein Upgrade der installierten Ports zu Änderungen führen oder manuelle Konfigurationsschritte erfordern. Lesen Sie am besten/usr/ports/UPDATING
, bevor Sie ein Upgrade mitportmaster
durchführen.
System | Befehl | Anmerkungen |
---|---|---|
Debian / Ubuntu |
|
Aktualisiert nach Möglichkeit nur installierte Pakete. |
|
Kann Pakete hinzufügen oder entfernen, um neue Abhängigkeiten zu erfüllen. |
|
|
Wie |
|
|
Wie |
|
CentOS |
|
|
Fedora |
|
|
FreeBSD-Pakete |
|
|
FreeBSD-Ports |
|
Verwendet |
|
Installiert |
Finde ein Paket
Die meisten Distributionen bieten ein grafisches oder menügesteuertes Frontend für Paketsammlungen. Dies kann eine gute Möglichkeit sein, nach Kategorien zu suchen und neue Software zu entdecken. Die schnellste und effektivste Methode zum Auffinden eines Pakets ist jedoch häufig die Suche mit Befehlszeilentools.
System | Befehl | Anmerkungen |
---|---|---|
Debian / Ubuntu |
|
|
|
||
CentOS |
|
|
|
Durchsucht alle Felder einschließlich der Beschreibung. |
|
Fedora |
|
|
|
Durchsucht alle Felder einschließlich der Beschreibung. |
|
FreeBSD-Pakete |
|
Sucht nach Namen. |
|
Sucht nach Namen und gibt vollständige Beschreibungen zurück. |
|
|
Sucht nach einer Beschreibung. |
|
FreeBSD-Ports |
|
Sucht nach Namen. |
|
Durchsucht Kommentare, Beschreibungen und Abhängigkeiten. |
Anzeigen von Informationen zu einem bestimmten Paket
Bei der Entscheidung, was installiert werden soll, ist es oft hilfreich, detaillierte Beschreibungen der Pakete zu lesen. Neben lesbarem Text enthalten diese häufig Metadaten wie Versionsnummern und eine Liste der Abhängigkeiten des Pakets.
System | Befehl | Anmerkungen |
---|---|---|
Debian / Ubuntu |
|
Zeigt lokal zwischengespeicherte Informationen zu einem Paket an. |
|
||
|
Zeigt den aktuellen Installationsstatus eines Pakets an. |
|
CentOS |
|
|
|
Listet Abhängigkeiten für ein Paket auf. |
|
Fedora |
|
|
|
Listet Abhängigkeiten für ein Paket auf. |
|
FreeBSD-Pakete |
|
Zeigt Informationen zu einem installierten Paket an. |
FreeBSD-Ports |
|
Installieren Sie ein Paket aus Repositorys
Sobald Sie den Namen eines Pakets kennen, können Sie es und seine Abhängigkeiten normalerweise mit einem einzigen Befehl installieren. Im Allgemeinen können Sie mehrere Pakete zur Installation bereitstellen, indem Sie sie alle auflisten.
System | Befehl | Anmerkungen |
---|---|---|
Debian / Ubuntu |
|
|
|
Installiert alle aufgelisteten Pakete. |
|
|
Nimmt "Ja" an, wobei |
|
|
Zeigt einen farbigen Fortschrittsbalken an. |
|
CentOS |
|
|
|
Installiert alle aufgelisteten Pakete. |
|
|
Nimmt "Ja" an, wobei |
|
Fedora |
|
|
|
Installiert alle aufgelisteten Pakete. |
|
|
Nimmt "Ja" an, wobei |
|
FreeBSD-Pakete |
|
|
|
Installiert alle aufgelisteten Pakete. |
|
FreeBSD-Ports |
|
Erstellt und installiert einen Port aus dem Quellcode. |
Installieren Sie ein Paket aus dem lokalen Dateisystem
Manchmal bietet ein Entwickler oder Anbieter Paketdateien zum Download an, auch wenn die Software für ein bestimmtes Betriebssystem nicht offiziell gepackt ist. Sie können diese normalerweise mit Ihrem Webbrowser oder übercurl
in der Befehlszeile abrufen. Sobald sich ein Paket auf dem Zielsystem befindet, kann es häufig mit einem einzigen Befehl installiert werden.
Auf von Debian abgeleiteten Systemen verarbeitetdpkg
einzelne Paketdateien. Wenn ein Paket nicht erfüllte Abhängigkeiten aufweist, können diese häufig mitgdebi
aus offiziellen Repositorys abgerufen werden.
Auf CentOS- und Fedora-Systemen werdenyum
unddnf
zum Installieren einzelner Dateien verwendet und behandeln auch die erforderlichen Abhängigkeiten.
System | Befehl | Anmerkungen |
---|---|---|
Debian / Ubuntu |
|
|
|
Installiert und verwendet |
|
CentOS |
|
|
Fedora |
|
|
FreeBSD-Pakete |
|
|
|
Installiert das Paket, auch wenn es bereits installiert ist. |
Entfernen Sie ein oder mehrere installierte Pakete
Da ein Paketmanager weiß, welche Dateien von einem bestimmten Paket bereitgestellt werden, kann er diese normalerweise sauber von einem System entfernen, wenn die Software nicht mehr benötigt wird.
System | Befehl | Anmerkungen |
---|---|---|
Debian / Ubuntu |
|
|
|
||
|
Entfernt nicht benötigte Pakete. |
|
CentOS |
|
|
Fedora |
|
|
FreeBSD-Pakete |
|
|
|
Entfernt nicht benötigte Pakete. |
|
FreeBSD-Ports |
|
|
|
Deinstalliert einen installierten Port. |
Der Befehlapt
Administratoren von Distributionen der Debian-Familie sind im Allgemeinen mitapt-get
undapt-cache
vertraut. Weniger bekannt ist die vereinfachteapt
-Schnittstelle, die speziell für die interaktive Verwendung entwickelt wurde.
Traditionelles Kommando | apt Äquivalent |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Währendapt
häufig eine schnellere Abkürzung für einen bestimmten Vorgang ist, ist es nicht als vollständiger Ersatz für die herkömmlichen Tools gedacht, und die Benutzeroberfläche kann sich zwischen den Versionen ändern, um die Benutzerfreundlichkeit zu verbessern. Wenn Sie Paketverwaltungsbefehle in einem Skript oder einer Shell-Pipeline verwenden, sollten Sie sich anapt-get
undapt-cache
halten.
Hilfe bekommen
Beachten Sie neben der webbasierten Dokumentation, dass Unix-Handbuchseiten (normalerweise alsman pages bezeichnet) für die meisten Befehle in der Shell verfügbar sind. Verwenden Sie zum Lesen einer Seiteman
:
man page
Inman
können Sie mit den Pfeiltasten navigieren. Drücken Sie/, um nach Text auf der Seite zu suchen, undq, um den Vorgang zu beenden.
System | Befehl | Anmerkungen |
---|---|---|
Debian / Ubuntu |
|
Aktualisieren der lokalen Paketdatenbank und Arbeiten mit Paketen. |
|
Abfragen der lokalen Paketdatenbank. |
|
|
Arbeiten mit einzelnen Paketdateien und Abfragen installierter Pakete. |
|
|
Arbeiten mit einer übersichtlicheren, benutzerfreundlicheren Oberfläche für die meisten grundlegenden Vorgänge. |
|
CentOS |
|
|
Fedora |
|
|
FreeBSD-Pakete |
|
Arbeiten mit vorkompilierten Binärpaketen. |
FreeBSD-Ports |
|
Arbeiten mit der Ports-Sammlung. |
Fazit und weiterführende Literatur
Dieses Handbuch bietet einen Überblick über grundlegende Vorgänge, auf die zwischen Systemen verwiesen werden kann, die jedoch nur die Oberfläche eines komplexen Themas zerkratzen. Weitere Informationen zu einem bestimmten System finden Sie in den folgenden Ressourcen:
-
This guide behandelt die Ubuntu- und Debian-Paketverwaltung im Detail.
-
Es gibt einofficial CentOS guide to managing software with
yum
. -
Es gibt einFedora wiki page about
dnf
und einofficial manual fordnf
itself. -
This guide deckt die FreeBSD-Paketverwaltung mit
pkg
ab. -
DasFreeBSD Handbook enthält einsection on using the Ports Collection.