Unabhängig davon, ob Fedora anfängt zu adoptieren dnf als neuer Paketmanager und Standard-Paketverwaltungsbibliothek, wird die gute alte nicht ersetzen leckerer Paketmanager für immer in anderen Spinoff-Distributionen (wie z Red Hat Enterprise Linux (RHEL) und CentOS), bis es sich als so zuverlässig wie lecker und solider erwiesen hat (laut Fedora-Projekt-Wiki, Stand 15. November 2015, dnf befindet sich noch im testbaren Zustand). Somit ist Ihr lecker-management Fähigkeiten werden Ihnen noch einige Zeit gute Dienste leisten.
Aus diesem Grund stellen wir Ihnen in diesem Ratgeber yum-utils, eine Sammlung von Dienstprogrammen, die sich in yum integrieren lassen, um seine nativen Funktionen auf verschiedene Weise zu erweitern, wodurch es leistungsfähiger und benutzerfreundlicher wird.
Yum-utils ist im Basis-Repository enthalten (das standardmäßig aktiviert ist), sodass die Installation in jeder Fedora-basierten Distribution so einfach ist wie:
# yum update && yum installiere yum-utils.
Alle Dienstprogramme von yum-utils werden automatisch mit dem Hauptpaket installiert, das wir im nächsten Abschnitt beschreiben werden.
Die Werkzeuge von yum-utils sind in der Manpage aufgeführt:
# Mann yum-utils.
Hier sind 10 davon lecker Dienstprogramme, von denen wir dachten, dass sie Sie interessieren könnten:
debuginfo-installieren installiert die Debug-Informationen Pakete (und ihre Abhängigkeiten), die zum Debuggen erforderlich sind im Falle eines Absturzes oder während der Entwicklung von Anwendungen, die ein bestimmtes Paket verwenden.
Um ein Paket (oder eine andere ausführbare Datei) zu debuggen, müssen wir auch installieren gdb (der GNU-Debugger) und verwenden Sie es, um ein Programm im Debugging-Modus zu starten.
Beispielsweise:
# gdb $(welches Postfix)
Der obige Befehl startet a gdb-Shell wo wir auszuführende Aktionen eingeben können. Beispielsweise, Lauf (wie im Bild unten gezeigt) startet das Programm, während bt (nicht gezeigt) zeigt den Stack-Trace an (auch bekannt als zurückverfolgen) des Programms, das eine Liste von Funktionsaufrufen liefert, die zu einem bestimmten Punkt in der Programmausführung geführt haben (mit diesen Informationen können sowohl Entwickler als auch Systemadministratoren herausfinden, was im Fall eines Fehlers schief gelaufen ist.) Absturz).
Andere verfügbare Aktionen und deren erwartete Ergebnisse sind in aufgeführt Mann gdb.
Der folgende Befehl zeigt an, in welchem Repository die aktuell installierten Pakete sind … wurden installiert von:
# find-repos-of-install httpd postfix Taubenschlag.
Wenn ohne Argumente ausgeführt wird, find-repos-of-install gibt die gesamte Liste der derzeit installierten Pakete zurück.
Paketbereinigung verwaltet Paketbereinigung, Duplikate, verwaiste Pakete (Programme, die von einer anderen Quelle als der aktuellen installiert wurden) konfigurierte Repositorys) und andere Inkonsistenzen in Abhängigkeiten, einschließlich des Entfernens alter Kernel, wie im Folgenden gezeigt Beispiel:
# Paketbereinigung --waisen. # Paketbereinigung --oldkernels.
Sie müssen sich keine Sorgen machen, dass der letzte Befehl Ihren Kernel beschädigt. Es betrifft nur alte Kernelpakete (Versionen älter als die derzeit laufende), die nicht mehr benötigt werden.
Repo-Graph gibt eine vollständige Paketabhängigkeitsliste in zurück Punkt Format für alle Pakete, die in den konfigurierten Repositorys verfügbar sind. Alternative, Repo-Graph
können dieselben Informationen nach Repository zurückgeben, wenn sie mit dem verwendet werden --repoid=
Möglichkeit.
Sehen wir uns zum Beispiel die Abhängigkeiten für jedes Paket im Update-Repository an:
# repo-graph --repoid=updates | weniger.
Im obigen Befehl senden wir die Ausgabe von Repo-Graph auf weniger für eine einfachere Visualisierung, aber Sie können es alternativ zur späteren Überprüfung in eine lokale Datei umleiten:
# repo-graph --repoid=updates > updates-dependencies.txt.
In beiden Fällen können wir sehen, dass die iputils Paket hängt davon ab systemd und openssl-libs.
Wiederverwertung liest die Metadaten der konfigurierten Repositorys, prüft die Abhängigkeiten der darin enthaltenen Pakete und zeigt eine Liste der ungelösten Abhängigkeiten für jedes Paket an:
# Wiederverschließung.
repomanage fragt ein Verzeichnis mit rpm-Paketen ab und gibt eine Liste der neuesten oder ältesten Pakete in einem Verzeichnis zurück. Dieses Tool kann nützlich sein, wenn Sie ein Verzeichnis haben, in dem Sie mehrere speichern .rpm Pakete verschiedener Programme.
Bei Ausführung ohne Argumente repomanage gibt die neuesten Pakete zurück. Wenn mit dem laufen --alt
Flag, werden die ältesten Pakete zurückgegeben:
# ls -l. # CD-U/min. # ls -l U/min. # Repomanage U/min.
Bitte beachten Sie, dass die Änderung des Namens der rpm-Pakete KEINE Auswirkungen darauf hat, wie repomanage funktioniert.
Rückschlag fragt Yum-Repositorys ab und ruft zusätzliche Informationen zu Paketen ab, unabhängig davon, ob sie installiert sind oder nicht (Abhängigkeiten, im Paket enthaltene Dateien und mehr).
Beispielsweise, htop (Linux-Prozessüberwachung) ist derzeit nicht auf diesem System installiert, wie Sie unten sehen können:
# welches htop. # U/min -qa | grep htop.
Angenommen, wir wollen die Abhängigkeiten von auflisten htop, zusammen mit den Dateien, die in einer Standardinstallation enthalten sind. Führen Sie dazu die folgenden beiden Befehle aus:
# repoquery --erfordert htop. # repoquery --list htop.
lecker-debug-dump ermöglicht es Ihnen, eine vollständige Liste aller installierten Pakete, aller in jedem Repository verfügbaren Pakete, wichtiger Konfigurations- und Systeminformationen in eine ZIP-Datei zu speichern.
Dies kann nützlich sein, wenn Sie ein aufgetretenes Problem beheben möchten. Für unsere Bequemlichkeit, lecker-debug-dump benennt die Datei als yum_debug_dump-
# yum-debug-dump.
Wie bei jeder komprimierten Textdatei können wir ihren Inhalt mit anzeigen zless Befehl:
# zless yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz.
Sollten Sie die von. bereitgestellten Konfigurationsinformationen wiederherstellen müssen lecker-debug-dump, kannst du verwenden yum-debug-restore dazu:
# yum-debug-restore yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz.
yumdownloader lädt RPM-Quelldateien aus Repositorys herunter, einschließlich ihrer Abhängigkeiten. Nützlich, um ein Netzwerk-Repository zu erstellen, auf das von anderen Computern mit eingeschränktem Internetzugang zugegriffen werden kann.
Yumdownloader ermöglicht es Ihnen, nicht nur die binären RPMs herunterzuladen, sondern auch die Quelldateien (bei Verwendung mit dem --Quelle
Möglichkeit).
Erstellen wir zum Beispiel ein Verzeichnis namens htop-Dateien wo wir die RPM(s) speichern, die für die Installation des Programms mit rpm benötigt werden. Dazu benötigen wir die --beschließen
zusammen mit yumdownloader wechseln:
# mkdir htop-Dateien. # cd htop-Dateien. # yumdownloader --resolve htop. # U/min -Uvh
reposync ist eng verwandt mit yumdownloader (tatsächlich unterstützen sie fast die gleichen Optionen), bietet aber einen erheblichen Vorteil. Anstatt Binär- oder Quell-RPM-Dateien herunterzuladen, synchronisiert es ein Remote-Repository mit einem lokalen Verzeichnis.
Lass uns das Bekannte synchronisieren EPEL-Repository in ein Unterverzeichnis namens epel-lokal im aktuellen Arbeitsverzeichnis:
# man reposync. # mkdir epel-lokal. # reposync --repoid=epel --download_path=epel-local.
Beachten Sie, dass dieser Vorgang beim Herunterladen einige Zeit in Anspruch nehmen wird 8867 Pakete:
Nachdem die Synchronisierung abgeschlossen ist, überprüfen wir den Speicherplatz, der von unserem neu erstellten Spiegel des EPEL-Repositorys verwendet wird, mit du befehl:
# du -sch epel-lokal/*
Jetzt liegt es an dir, ob du das behalten willst EPEL Mirror oder verwenden Sie es, um Pakete zu installieren, anstatt ein Remote-Paket zu verwenden. Beachten Sie im ersten Fall, dass Sie Änderungen vornehmen müssen /etc/yum.repos.d/epel.repo entsprechend.
yum-complete-transaktion ist ein Teil von yum-utils Programm, das unfertige oder abgebrochene Yum-Transaktionen auf einem System abfängt und versucht, sie abzuschließen.
Zum Beispiel, wenn wir die Linux-Server über lecker Paketmanager wirft manchmal eine Warnmeldung aus, die wie folgt lautet:
Es verbleiben noch nicht abgeschlossene Transaktionen. Sie könnten erwägen, zuerst yum-complete-transaction auszuführen, um sie abzuschließen.
Um solche Warnmeldungen zu beheben und ein solches Problem zu beheben, yum-complete-transaktion Befehl erscheint, um die unvollendeten Transaktionen abzuschließen, er findet diese unvollständigen oder abgebrochenen Yum-Transaktionen in Transaktion-alle* und Transaktion abgeschlossen* Dateien, die in gefunden werden können /var/lib/yum Verzeichnis.
Laufen yum-complete-transaktion Befehl, um unvollständige Yum-Transaktionen abzuschließen:
# yum-complete-transaction --cleanup-only.
Jetzt werden yum-Befehle ohne die unvollständigen Transaktionswarnungen ausgeführt.
# leckeres Update.
Notiz: Dieser Tipp wird von einem unserer regelmäßigen Leser vorgeschlagen Herr Tomas im Kommentarbereich hier.
In diesem Artikel haben wir einige der nützlichsten Dienstprogramme behandelt, die durch. bereitgestellt werden yum-utils. Eine vollständige Liste finden Sie auf der Manpage (Mann yum-utils
).
Darüber hinaus verfügt jedes dieser Tools über eine separate Manpage (siehe Mann reposync), die die wichtigste Dokumentationsquelle ist, auf die Sie zurückgreifen sollten, wenn Sie mehr darüber erfahren möchten.
Wenn Sie sich eine Minute Zeit nehmen, um die Manpage von yum-utils, vielleicht finden Sie ein weiteres Tool, das wir in einem separaten Artikel vertiefen möchten. Wenn ja, oder wenn Sie Fragen, Kommentare oder Vorschläge zu diesem Artikel haben, teilen Sie uns gerne mit, welchen Artikel Sie haben, indem Sie uns eine Nachricht über das Kommentarformular unten senden.