Heim  >  Artikel  >  System-Tutorial  >  Analysieren Sie die Funktionen und Eigenschaften von apt, yum, dnf und pkg

Analysieren Sie die Funktionen und Eigenschaften von apt, yum, dnf und pkg

WBOY
WBOYnach vorne
2024-01-04 20:25:44624Durchsuche
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.

详解apt、yum、dnf 和 pkg

Einführung

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 Überblick

Die 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 Paketliste

Die 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
Installierte Pakete aktualisieren

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
Nach einem Paket suchen

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
Informationen zu einem Softwarepaket anzeigen

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
Paket aus dem Repository installieren

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
Installieren Sie ein Paket aus dem lokalen Dateisystem

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
Entfernen Sie ein oder mehrere installierte Pakete

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
apt-Befehl

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 Hilfe

Denken 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:

verwenden

Im 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen