Dieser Artikel beschreibt, wie Sie Pakete mit yum
verwalten in Red Hat® Enterprise Linux®-basierten Distributionen.
Voraussetzungen
Sie müssen die folgenden Voraussetzungen erfüllen:
- Grundlegendes Verständnis von Secure Shell (SSH)
- Sudo- oder Administratorzugriff auf Ihren Server
- Ein Cloud-Server, auf dem entweder Red Hat Enterprise Linux 6 oder höher oder CentOS 6 oder höher ausgeführt wird
Paketverwaltung in Linux
Der Begriff Paketverwaltung in Linux beschreibt die Installation, Entfernung oder Aktualisierung von Software auf Ihrem Linux-Server. Pakete werden mithilfe von Quellcode erstellt, der eine Software auf Ihrem Server installiert. Pakete werden kompiliert, um eine einfache Installation zu ermöglichen, anstatt jede Komponente von der Quelle zu installieren.
Paket-Tools in RHEL-Distributionen
RHEL®-basierte Distributionen beinhalten die folgenden zwei Formen der Paketverwaltung:
-
rpm
wird als Low-Level-Tool betrachtet, das zum Installieren, Entfernen und Sammeln von Informationen sowie zum Erstellen von Paketen zur Installation auf einem RHEL-basierten Server verwendet wird. -
yum
gilt als High-Level-Tool, das die gleiche Funktionalität wierpm
hat löst aber auch Abhängigkeiten auf, um eine reibungslosere Installation von .rpm zu ermöglichen Pakete.
Hinweis :Rackspace unterstützt die Installation von Paketen aus den Quellen nicht.
Mit yum
Das yum
Tool ist Ihr primäres Tool zum Installieren und Verwalten der Software auf Ihrem Server.
Informationen sammeln
Um die Repositories zu sehen, aus denen yum
Pakete abruft, führen Sie den folgenden Befehl aus:
yum repolist
Dieser Befehl listet die auf Ihrem Server verfügbaren Repositories auf:
# yum repolist
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
repo id repo name status
!drivesrvr drivesrvr 20
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,314
ius/x86_64 IUS for Enterprise Linux 7 - x86_64 609
rackspace Rackspace Monitoring 1
rhel-x86_64-server-7 Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64) 29,118
rhel-x86_64-server-optional-7 RHEL Server Optional (v. 7 64-bit x86_64) 21,287
repolist: 64,3
Verwenden Sie den folgenden Befehl, um nach einem Paket in Ihren Repositories zu suchen:
yum search <package name>
Hinweis :Dieser Befehl sucht alle Instanzen von <package name>
die in Ihren Repositorys verfügbar sind. Diese Liste kann ziemlich ausführlich sein, verwenden Sie also den vollständigen Namen des Pakets, wenn Sie ihn kennen, um Ihre Suche einzugrenzen.
Um weitere Informationen zu einem Paket zu erhalten, verwenden Sie den folgenden Befehl:
yum info <package name>
Dieser Befehl liefert einige Informationen über das Paket. Hier ist ein Beispiel für die Suche nach httpd
Paket:
# yum info httpd
Available Packages
Name : httpd
Version : 2.4.43
Release : 1.fc31
Architecture : x86_64
Size : 1.4 M
Source : httpd-2.4.43-1.fc31.src.rpm
Repository : updates
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.
Führen Sie den folgenden Befehl aus, um die aktuell installierten Pakete anzuzeigen:
yum list installed
Dieser Befehl listet alle auf dem System installierten Pakete auf. Diese Liste kann umfangreich sein. Wenn Sie das gesuchte Paket kennen, können Sie grep
verwenden um Ihre Suche wie im folgenden Beispiel gezeigt zu filtern:
yum list installed | grep httpd
Dieser Befehl bietet eine übersichtlichere Liste:
# yum list installed | grep httpd
httpd.x86_64 2.4.6-93.el7 @rhel-x86_64-server-7
httpd-tools.x86_64 2.4.6-93.el7 @rhel-x86_64-server-
Pakete installieren
Um ein Paket zu installieren, verwenden Sie den folgenden Befehl:
yum install <package>
Dieser Befehl fragt Ihre Repositories ab und lädt das zu installierende Paket herunter. Während des Installationsvorgangs yum
versucht, Abhängigkeiten aufzulösen, die mit dem Paket verbunden sind, das Sie installieren. Wenn yum
die Abhängigkeiten auflösen kann, zeigt es die Ausgabe an und fordert Sie auf, die Installation zu bestätigen. Das folgende Beispiel zeigt die Abhängigkeitsauflösung:
# yum install httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================
Installing:
httpd x86_64 2.4.6-93.el7 rhel-x86_64-server-7 1.2 M
Transaction Summary
=========================================================================================================================
Install 1 Package
Total download size: 1.2 M
Installed size: 3.7 M
Is this ok [y/d/N]:
Hinweis :Wenn Sie httpd
installieren , sind keine weiteren Abhängigkeiten erforderlich, um das Paket zu installieren. In anderen Situationen sind möglicherweise zusätzliche Abhängigkeiten für die Installation dieses yum
erforderlich muss installiert werden. Wenn yum
Abhängigkeiten nicht auflösen können, listet die Ausgabe die Fehler auf. Sie müssen diese Abhängigkeiten auflösen, um die Installation fortzusetzen.
Pakete aktualisieren
Führen Sie den folgenden Befehl aus, um ein installiertes Paket zu aktualisieren:
yum update <package>
Dieser Befehl durchsucht das Repository nach Updates für das angegebene Paket, sofern verfügbar.
Wenn ein Update verfügbar ist, zeigt Ihnen der Befehl die Änderung an und fordert eine Bestätigung an. Andernfalls werden Sie darüber informiert, dass nichts zu tun ist:
# yum update httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr | 2.9 kB 00:00:00
No packages marked for update
Sie können auch den folgenden Befehl verwenden, um ein Update für alle Pakete auf dem System auszulösen:
yum update
Dieser Befehl fragt die Repositorys nach Updates für die auf Ihrem Server installierten Pakete ab.
Wichtig :Dieser Prozess versucht, alle Pakete auf dem System zu aktualisieren. Stellen Sie sicher, dass Sie Ihre Umgebung überprüft haben, bevor Sie fortfahren, da die Änderungen aufgrund der Aktualisierungen zu unerwarteten Problemen mit Anwendungen führen können.
Pakete entfernen
Um ein installiertes Paket zu entfernen, verwenden Sie den folgenden Befehl:
yum remove <package name>
Dieser Befehl überprüft die installierten Pakete, gibt eine Ausgabe aus und fordert Sie auf, die Änderung zu bestätigen:
# yum remove httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr | 2.9 kB 00:00:00
Dependencies Resolved
======================================================================================================================
Package Arch Version Repository Size
======================================================================================================================
Removing:
httpd x86_64 2.4.6-93.el7 @rhel-x86_64-server-7 3.7 M
Removing for dependencies:
mod_php73 x86_64 7.3.18-1.el7.ius @ius 4.8 M
Transaction Summary
=======================================================================================================================
Remove 1 Package (+1 Dependent package)
Installed size: 8.6 M
Is this ok [y/N]:
Hinweis :Wenn Sie httpd
entfernen , yum
entfernt auch den mod_php73
Paket, das von httpd
abhängt . Stellen Sie sicher, dass das Entfernen eines Pakets keine negativen Auswirkungen auf andere Teile Ihres Servers hat.
Verlauf überprüfen und Änderungen rückgängig machen
In einigen Fällen müssen Sie die mit yum
durchgeführten Aktionen überprüfen Werkzeug.
Um den Verlauf von yum
anzuzeigen Befehlsverwendung führen Sie den folgenden Befehl aus:
yum history
Dieser Befehl liefert eine nummerierte Ausgabe, die die von yum
durchgeführten Transaktionen anzeigt .
# yum history
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
19 | <rack> | 2020-06-09 14:58 | Install | 2
18 | <rack> | 2020-06-09 14:57 | Erase | 2
17 | <rack> | 2020-06-09 14:56 | Install | 1
16 | <rack> | 2020-06-09 14:55 | Install | 4
15 | <rack> | 2020-06-09 14:55 | Erase | 2
14 | <rack> | 2020-06-09 14:54 | Erase | 1
13 | <rack> | 2020-06-09 14:50 | Install | 1
12 | <rack> | 2020-06-09 14:49 | Erase | 2
11 | root <root> | 2020-06-09 10:14 | I, U | 2
10 | root <root> | 2020-06-09 10:14 | Install | 2 EE
9 | <rack> | 2020-06-09 10:14 | Install | 4
8 | root <root> | 2020-06-09 10:14 | Install | 1 EE
7 | <rack> | 2020-06-09 10:14 | Install | 5
6 | root <root> | 2020-06-09 10:13 | Install | 4
5 | root <root> | 2020-06-09 10:13 | I, U | 18 <
4 | System <unset> | 2020-01-15 13:02 | Install | 1 >
3 | System <unset> | 2020-01-15 13:02 | Install | 1
2 | System <unset> | 2020-01-15 13:02 | Erase | 1
1 | System <unset> | 2020-01-15 12:55 | Install | 578
history list
Diese Liste enthält nur das Datum, die Aktion und die Nummer des geänderten Pakets. Um weitere Informationen zu einer bestimmten Aktion zu erhalten, können Sie die ID
abfragen aus der linken Spalte. Verwenden Sie den folgenden Befehl, um Informationen zur Aktion anzuzeigen:
yum history info <ID>
Wenn Sie diesen Befehl ausführen, erhalten Sie weitere Informationen darüber, was während dieser Transaktion stattgefunden hat:
# yum history info 18
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Transaction ID : 18
Begin time : Tue Jun 9 14:57:12 2020
Begin rpmdb : 609:12b0c5cdd97ae2f0a77a06403b7b16f3d404403c
End time : 14:57:13 2020 (1 seconds)
End rpmdb : 607:784f813e94127f71465085cd9437377514697243
User : <rack>
Return-Code : Success
Command Line : remove httpd
Transaction performed with:
Installed rpm-4.11.3-40.el7.x86_64 @anaconda/7.7
Installed subscription-manager-1.24.13-3.el7_7.x86_64 @base/7.7
Installed yum-3.4.3-167.el7.noarch @rhel-x86_64-server-7
Installed yum-rhn-plugin-2.0.1-10.el7.noarch @anaconda/7.7
Packages Altered:
Erase httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Erase mod_php73-7.3.18-1.el7.ius.x86_64 @ius
history info
Wenn Sie eine Änderung rückgängig machen müssen, müssen Sie den folgenden Befehl verwenden:
yum history undo <ID>
Dieser Befehl gibt Auskunft darüber, was diese Aktion ändert und bittet um Bestätigung.
# yum history undo 13
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Undoing transaction 13, from Tue Jun 9 14:50:18 2020
Install httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr | 2.9 kB 00:00:00
Dependencies Resolved
======================================================================================================================
Package Arch Version Repository Size
======================================================================================================================
Removing:
httpd x86_64 2.4.6-93.el7 @rhel-x86_64-server-7 3.7 M
Removing for dependencies:
mod_php73 x86_64 7.3.18-1.el7.ius @ius 4.8 M
Transaction Summary
======================================================================================================================
Remove 1 Package (+1 Dependent package)
Installed size: 8.6 M
Is this ok [y/N]:
Wenn Sie alle Änderungen an einer bestimmten Transaktion rückgängig machen möchten, verwenden Sie den folgenden Befehl:
yum history rollback <ID>
Dieser Befehl zeigt Ihnen, was diese Aktion ändert und bittet um Bestätigung. Je nachdem, wie weit Sie zurücksetzen möchten, kann diese Liste umfangreich sein. Die Ausgabe ähnelt dem folgenden Beispiel:
# yum history rollback 17
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Rollback to transaction 17, from Tue Jun 9 14:56:03 2020
Undoing the following transactions: 18, 19
Reinstall httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Reinstall mod_php73-7.3.18-1.el7.ius.x86_64 @ius
drivesrvr | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be reinstalled
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be reinstalled
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================
Reinstalling:
httpd x86_64 2.4.6-93.el7 rhel-x86_64-server-7 1.2 M
mod_php73 x86_64 7.3.18-1.el7.ius ius 1.6 M
Transaction Summary
=====================================================================================================================
Reinstall 2 Packages
Total download size: 2.8 M
Installed size: 8.6 M
Is this ok [y/d/N]:
Weitere Informationen
Innerhalb von yum
sind weitere Optionen verfügbar . Sie können die verschiedenen Flags und Optionen im Linuxman
anzeigen Seite für yum
unter diesem Link:yum Manpage
Weil das yum
Wenn der Befehl Änderungen am System vornimmt, sollten Sie immer sicherstellen, dass Sie Ihre Umgebung getestet haben, bevor Sie Pakete installieren oder aktualisieren. Stellen Sie nach Möglichkeit sicher, dass Sie ein brauchbares Image haben, auf das Sie im Falle von Problemen nach der Aktualisierung zurückgreifen können.