GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwalten Sie Pakete in RHEL-basierten Distributionen

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 wie rpm 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.


Linux
  1. So verwalten Sie NodeJS-Pakete mit Npm

  2. So installieren und verwalten Sie Software unter CentOS 7

  3. 20 Zypper-Befehlsbeispiele zum Verwalten von Paketen unter SUSE Linux

  4. Anfängerleitfaden zur Yum-Konfiguration

  5. Welche Linux-Distributionen unterstützen das aktuelle TeX Live mit Paketmanager?

YUM-Befehle

Softwarepakete

Wie verwende ich APT, um Pakete unter Ubuntu zu verwalten?

Wie verwalte ich Hosting-Pakete auf WHM/cPanel?

So installieren und verwalten Sie RPM-Pakete auf einem Ubuntu/Debian-System

15 Beispiele für Linux-Yum-Befehle – Pakete installieren, deinstallieren, aktualisieren