Heim >System-Tutorial >LINUX >Analysieren Sie die Funktionen und Eigenschaften von apt, yum, dnf und pkg
Einführung | Die meisten modernen Unix-ähnlichen Betriebssysteme bieten einen zentralen Mechanismus zum Suchen und Installieren von Software. Software wird normalerweise in Repositories gespeichert und über Pakete verteilt. Die Arbeit mit Paketen wird als Paketverwaltung bezeichnet. Pakete stellen die Grundkomponenten eines Betriebssystems sowie gemeinsam genutzte Bibliotheken, Anwendungen, Dienste und Dokumentation bereit. |
Neben der Installation von Software bietet das Paketverwaltungssystem auch Tools zum Aktualisieren installierter Pakete. Paket-Repositories tragen dazu bei, sicherzustellen, dass der in Ihrem System verwendete Code überprüft wurde und dass die installierte Version der Software von Entwicklern und Paketbetreuern genehmigt wurde.
Beim Konfigurieren eines Servers oder einer Entwicklungsumgebung ist es am besten zu verstehen, welche Pakete sich außerhalb des offiziellen Repositorys befinden. Pakete in der stabilen Version einer Distribution sind möglicherweise veraltet, insbesondere bei neuer oder sich schnell weiterentwickelnder Software. Allerdings ist die Paketverwaltung sowohl für Systemadministratoren als auch für Entwickler eine wichtige Fähigkeit, und verpackte Software ist ein großer Gewinn für große Linux-Distributionen.
Dieses Handbuch soll eine schnelle Einführung in die Grundlagen zum Suchen, Installieren und Aktualisieren von Paketen auf verschiedenen Linux-Distributionen geben und Ihnen dabei helfen, diese Inhalte auf mehreren Systemen mit Querverweisen zu versehen.
Paketverwaltungssystem: Ein kurzer ÜberblickDie meisten Paketsysteme basieren auf Sammlungen von Paketdateien. Eine Paketdatei ist normalerweise eine Archivdatei, die kompilierte Binärdateien und andere Ressourcen für die Software sowie Installationsskripts enthält. Paketdateien enthalten außerdem wertvolle Metadaten, einschließlich ihrer Abhängigkeiten und einer Liste anderer Pakete, die für deren Installation und Ausführung erforderlich sind.
Während die Funktionalität und Vorteile dieser Paketverwaltungssysteme weitgehend gleich sind, variieren Verpackungsformate und -tools je nach Plattform:
Betriebssystem | Formatieren | Werkzeuge |
---|---|---|
Debian | .deb | apt, apt-cache, apt-get, dpkg |
Ubuntu | .deb | apt, apt-cache, apt-get, dpkg |
CentOS | .rpm | lecker |
Fedora | .rpm | dnf |
FreeBSD | Ports, .txz | make, pkg |
Debian und seine Derivate wie Ubuntu, Linux Mint und Raspbian, ihr Paketformat ist .deb. APT Dieses erweiterte Paketverwaltungstool bietet Befehle für die häufigsten Vorgänge: Repositorys durchsuchen, Pakete und ihre Abhängigkeiten installieren und Upgrades verwalten. Im lokalen System können wir auch das Programm dpkg verwenden, um eine einzelne Deb-Datei zu installieren. Der APT-Befehl dient als Frontend des zugrunde liegenden dpkg und wird manchmal auch direkt aufgerufen.
Zu den zuletzt veröffentlichten Debian-Derivaten gehört der Befehl apt, der eine übersichtliche und einheitliche Schnittstelle für allgemeine Vorgänge bereitstellt, die normalerweise von den Befehlen apt-get und apt-cache ausgeführt werden. Dieser Befehl ist optional, seine Verwendung kann jedoch einige Aufgaben vereinfachen.
CentOS, Fedora und andere Mitglieder der Red Hat-Familie verwenden RPM-Dateien. Interagieren Sie in CentOS über yum mit einzelnen Paketdateien und Repositorys.
In neueren Fedora-Versionen wurde yum durch dnf ersetzt, eine moderne Abzweigung davon, die die meisten Schnittstellen von yum beibehält.
Das Binärpaketsystem von FreeBSD wird durch den Befehl pkg verwaltet. FreeBSD stellt auch die Ports-Sammlung bereit, eine lokale Verzeichnisstruktur und ein Tool, mit dem Benutzer Makefile verwenden können, um Pakete direkt aus dem Quellcode zu kompilieren und zu installieren, nachdem sie den Quellcode erhalten haben.
Aktualisierte PaketlisteDie meisten Systeme verfügen über eine lokale Paketdatenbank, die dem Remote-Repository entspricht. Es ist am besten, diese Datenbank zu aktualisieren, bevor Sie Pakete installieren oder aktualisieren. Darüber hinaus suchen yum und dnf automatisch nach Updates, bevor sie einige Vorgänge ausführen. Selbstverständlich können Sie das System jederzeit aktualisieren.
System | Befehle |
---|---|
Debian/Ubuntu | sudo apt-get update |
sudo apt update | |
CentOS | Yum-Check-Update |
Fedora | DNF-Check-Update |
FreeBSD-Pakete | Sudo-Paket-Update |
FreeBSD-Ports | sudo portsnap fetch update |
Ohne ein Paketsystem ist es schwierig sicherzustellen, dass die gesamte auf der Maschine installierte Software auf dem neuesten Stand bleibt. Sie müssen Upstream-Änderungen und Sicherheitswarnungen für Hunderte verschiedener Pakete verfolgen. Ein Paketmanager löst zwar nicht jedes Problem, das beim Aktualisieren von Software auftritt, ermöglicht Ihnen jedoch die Verwendung einiger Befehle zur Wartung der meisten Systemkomponenten.
Unter FreeBSD kann das Aktualisieren installierter Ports zu wichtigen Änderungen führen, und einige Schritte erfordern eine manuelle Konfiguration. Daher ist es am besten, den Inhalt von /usr/ports/UPDATING zu lesen, bevor Sie über Portmaster aktualisieren.
System | Befehle | Anleitung |
---|---|---|
Debian/Ubuntu | sudo apt-get upgrade | Nur installierte Pakete aktualisieren |
sudo apt-get dist-upgrade | Pakete können hinzugefügt oder entfernt werden, um neue Abhängigkeiten zu erfüllen | |
sudo apt upgrade | Ähnlich wie apt-get upgrade | |
sudo apt Voll-Upgrade | Ähnlich wie apt-get dist-upgrade | |
CentOS | sudo leckeres Update | |
Fedora | Sudo-DNF-Upgrade | |
FreeBSD-Pakete | Sudo-Paket-Upgrade | |
FreeBSD-Ports | less /usr/ports/UPDATING | Verwenden Sie weniger, um die Aktualisierungsaufforderungen der Ports anzuzeigen (verwenden Sie die Auf- und Ab-Cursortasten zum Scrollen, drücken Sie q, um den Vorgang zu beenden). |
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a | Installieren Sie Portmaster und aktualisieren Sie damit installierte Ports |
Die meisten Distributionen bieten grafische oder menügesteuerte Tools für Paketsammlungen. Wir können Software nach Kategorien durchsuchen, was auch eine gute Möglichkeit ist, neue Software zu entdecken. Der schnellste und effizienteste Weg, ein Paket zu finden, ist jedoch die Suche mit einem Befehlszeilentool.
System | Befehle | Anleitung |
---|---|---|
Debian/Ubuntu | apt-cache search search_string | |
apt search search_string | ||
CentOS | yum search search_string | |
Yum durchsucht alle Suchzeichenfolgen | Alle Felder einschließlich Beschreibung durchsuchen | |
Fedora | dnf search search_string | |
dnf durchsucht alle Suchzeichenfolgen | Alle Felder einschließlich Beschreibung durchsuchen | |
FreeBSD-Pakete | pkg search search_string | Nach Namen suchen |
pkg search -f search_string | Nach Namen suchen und vollständige Beschreibung zurückgeben | |
pkg search -D search_string | Suchbeschreibung | |
FreeBSD-Ports | cd /usr/ports && make search name=package | Nach Namen suchen |
cd /usr/ports && make search key=search_string | Suchen Sie nach Rezensionen, Beschreibungen und Abhängigkeiten |
Bevor wir ein Softwarepaket installieren, können wir viele nützliche Informationen erhalten, indem wir die Paketbeschreibung sorgfältig lesen. Dazu gehören neben menschenlesbarem Text typischerweise auch Metadaten wie Versionsnummern und eine Liste der Paketabhängigkeiten.
System | Befehle | Anleitung |
---|---|---|
Debian/Ubuntu | Apt-Cache-Show-Paket | Lokale Cache-Informationen zu Paketen anzeigen |
passendes Showpaket | ||
dpkg -s Paket | Zeigt den aktuellen Installationsstatus der Pakete an | |
CentOS | leckeres Infopaket | |
leckeres Deplist-Paket | Paketabhängigkeiten auflisten | |
Fedora | dnf-Infopaket | |
dnf repoquery – Paket erforderlich | Paketabhängigkeiten auflisten | |
FreeBSD-Pakete | pkg-Infopaket | Informationen zu installierten Paketen anzeigen |
FreeBSD-Ports | cd /usr/ports/category/port && cat pkg-descr |
Sobald Sie den Paketnamen kennen, können Sie ihn und seine Abhängigkeiten normalerweise mit einem Befehl installieren. Sie können auch mehrere Pakete gleichzeitig installieren, indem Sie sie einfach alle auflisten.
System | Befehle | Anleitung |
---|---|---|
Debian/Ubuntu | sudo apt-get install package | |
sudo apt-get install package1 package2 ... | Installieren Sie alle aufgelisteten Pakete | |
sudo apt-get install -y package | Wenn apt fragt, ob fortgefahren werden soll, wird standardmäßig „Ja“ angezeigt | |
sudo apt-Installationspaket | Zeigen Sie einen farbigen Fortschrittsbalken an | |
CentOS | sudo yum Installationspaket | |
sudo yum installiere Paket1 Paket2 ... | Installieren Sie alle aufgelisteten Pakete | |
sudo yum install -y package | Wenn yum fragt, ob fortgefahren werden soll, wird standardmäßig „Ja“ angezeigt | |
Fedora | sudo dnf-Installationspaket | |
sudo dnf install package1 package2 ... | Installieren Sie alle aufgelisteten Pakete | |
sudo dnf install -y package | Wenn dnf fragt, ob fortgefahren werden soll, wird standardmäßig „Ja“ angezeigt | |
FreeBSD-Pakete | sudo pkg-Installationspaket | |
sudo pkg install package1 package2 ... | Installieren Sie alle aufgelisteten Pakete | |
FreeBSD-Ports | cd /usr/ports/category/port && sudo make install | Erstellen und installieren Sie einen Port aus der Quelle |
Für ein bestimmtes Betriebssystem stellt einige Software manchmal das entsprechende Paket nicht offiziell bereit, sodass der Entwickler oder Lieferant den Download der Paketdatei bereitstellen muss. Normalerweise können Sie diese Pakete über einen Webbrowser abrufen oder diese Informationen über die Befehlszeile „Curl“ abrufen. Nachdem wir das Paket auf das Zielsystem heruntergeladen haben, können wir es normalerweise mit einem einzigen Befehl installieren.
Auf von Debian abgeleiteten Systemen wird dpkg zum Verarbeiten einzelner Paketdateien verwendet. Wenn ein Paket unerfüllte Abhängigkeiten aufweist, können wir diese mit gdebi aus dem offiziellen Repository abrufen.
Auf CentOS- und Fedora-Systemen werden yum und dnf verwendet, um einzelne Dateien zu installieren und erforderliche Abhängigkeiten zu verwalten.
System | Befehle | Anleitung |
---|---|---|
Debian/Ubuntu | sudo dpkg -i package.deb | |
sudo apt-get install -y gdebi && sudo gdebi package.deb | Installieren Sie gdebi und verwenden Sie dann gdebi, um package.deb zu installieren und fehlende Abhängigkeiten zu behandeln | |
CentOS | sudo yum install package.rpm | |
Fedora | sudo dnf install package.rpm | |
FreeBSD-Pakete | sudo pkg package.txz hinzufügen | |
sudo pkg add -f package.txz | Sogar installierte Pakete werden neu installiert |
Da der Paketmanager weiß, welche Dateien von einem bestimmten Paket bereitgestellt werden, kann er diese Dateien oft sauber aus dem System entfernen, wenn eine Software nicht mehr benötigt wird.
System | Befehle | Anleitung |
---|---|---|
Debian/Ubuntu | sudo apt-get Remove Package | |
sudo apt-Paket entfernen | ||
sudo apt-get autoremove | Löschen Sie nicht benötigte Pakete | |
CentOS | sudo lecker, entferne das Paket | |
Fedora | Sudo-DNF-Löschpaket | |
FreeBSD-Pakete | sudo pkg Paket löschen | |
sudo pkg autoremove | Löschen Sie nicht benötigte Pakete | |
FreeBSD-Ports | sudo pkg Paket löschen | |
cd /usr/ports/path_to_port && make deinstall | Port deinstallieren |
Administratoren von Distributionen der Debian-Familie sind normalerweise mit apt-get und apt-cache vertraut. Weniger bekannt ist die vereinfachte apt-Oberfläche, die auf interaktive Nutzung ausgelegt ist.
Traditionelle Befehle | Äquivalenter apt-Befehl |
---|---|
apt-get update | apt-Update |
apt-get dist-upgrade | apt-Voll-Upgrade |
Apt-Cache-Suchzeichenfolge | passende Suchzeichenfolge |
apt-get-Installationspaket | apt-Installationspaket |
apt-get-Paket entfernen | apt-Paket entfernen |
apt-get purge-Paket | apt purge-Paket |
Obwohl apt normalerweise eine Verknüpfung für einen bestimmten Vorgang ist, kann es herkömmliche Tools nicht vollständig ersetzen und seine Benutzeroberfläche kann sich von Version zu Version ändern, um die Benutzerfreundlichkeit zu verbessern. Wenn Sie Paketverwaltungsbefehle in Skripten oder Shell-Pipelines verwenden, bleiben Sie am besten bei apt-get und apt-cache.
Holen Sie sich HilfeDenken Sie zusätzlich zur webbasierten Dokumentation daran, dass wir die meisten Befehle aus den Unix-Handbuchseiten (oft Manpages genannt) über die Shell abrufen können. Um beispielsweise eine bestimmte Seite zu lesen, können Sie man:
verwendenIm Mann können Sie mit den Pfeiltasten navigieren. Drücken Sie /, um den Text auf der Seite zu durchsuchen, und verwenden Sie q, um den Vorgang zu beenden.
System | Befehle | Anleitung |
---|---|---|
Debian/Ubuntu | man apt-get | Lokale Paketdatenbank aktualisieren und mit Paketen arbeiten |
man apt-cache | Suche in der lokalen Paketdatenbank | |
man dpkg | Arbeiten Sie mit einzelnen Paketdateien und fragen Sie installierte Pakete ab | |
Mann passend | Führen Sie die grundlegendsten Vorgänge über eine einfachere, benutzerfreundliche Oberfläche aus | |
CentOS | Mann lecker | |
Fedora | Mann dnf | |
FreeBSD-Pakete | Mann-Paket | Funktioniert mit vorkompilierten Binärpaketen |
FreeBSD-Ports | Mann-Ports | Arbeiten mit der Ports-Sammlung |
Das obige ist der detaillierte Inhalt vonAnalysieren Sie die Funktionen und Eigenschaften von apt, yum, dnf und pkg. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!