Pakete mit YUM unter Linux abfragen und aktualisieren

Red Hat Enterprise LinuxRed Hat Enterprise LinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einleitung

In diesem Labor lernen Sie die wesentlichen Fähigkeiten zur Verwaltung von Softwarepaketen auf RHEL-basierten Linux-Systemen mit dem YUM-Paketmanager. Sie beginnen mit der Überprüfung der Details und Abhängigkeiten von aktuell installierten Paketen mithilfe der Befehle yum list und yum deplist. Sie werden auch die konfigurierten Software-Repositories Ihres Systems mit yum repolist untersuchen, um zu verstehen, woher Ihre Software stammt und was verfügbar ist.

Aufbauend auf diesen grundlegenden Fähigkeiten verlagern Sie Ihren Fokus auf Systemwartung und Updates. Sie lernen, wie Sie mit yum check-update Pakete identifizieren, für die neuere Versionen verfügbar sind. Abschließend üben Sie die Anwendung dieser Updates und lernen den Unterschied zwischen der Aktualisierung eines einzelnen, spezifischen Pakets und der Durchführung eines umfassenden vollständigen Systemupdates, um Ihre Umgebung sicher und aktuell zu halten.

Ein installiertes Paket mit 'yum list' und 'yum deplist' inspizieren

In diesem Schritt lernen Sie, wie Sie installierte Pakete mit yum, dem Standard-Paketmanager für CentOS und andere RHEL-basierte Linux-Distributionen, inspizieren. Wir beginnen mit der Untersuchung des bash-Pakets, das die Shell-Umgebung bereitstellt, die Sie wahrscheinlich verwenden. Diese Befehle helfen Ihnen zu verstehen, was auf Ihrem System installiert ist und auf welche anderen Komponenten ein Paket für seine Funktion angewiesen ist.

Zuerst verwenden wir den Befehl yum list, um den Status eines bestimmten Pakets zu überprüfen. Dieser Befehl kann Ihnen sagen, ob ein Paket installiert ist und welche Version auf Ihrem System vorhanden ist.

Um die Details des bash-Pakets zu überprüfen, führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo yum list bash

Sie sehen eine Ausgabe, die der folgenden ähnelt und bestätigt, dass bash installiert ist. Das @-Symbol in der Repository-Spalte (z. B. @anaconda oder @System) kennzeichnet ein installiertes Paket.

Installed Packages
bash.x86_64    <version>    @anaconda

Als Nächstes erkunden wir das Konzept der Abhängigkeiten. Die meisten Softwarepakete sind nicht in sich geschlossen; sie sind auf andere Pakete, wie Bibliotheken oder Werkzeuge, angewiesen, um korrekt zu funktionieren. Diese benötigten Pakete werden als Abhängigkeiten bezeichnet. Der Befehl yum deplist ermöglicht es Ihnen, eine vollständige Liste der Abhängigkeiten für ein bestimmtes Paket anzuzeigen.

Um alle Pakete zu sehen, von denen das bash-Paket abhängt, führen Sie diesen Befehl aus:

sudo yum deplist bash

Die Ausgabe listet jede Abhängigkeit und das Paket auf, das sie bereitstellt. Dies ist entscheidend, um zu verstehen, wie yum Softwareinstallationen auflöst und verwaltet.

package: bash.x86_64 <version>
  dependency: /bin/sh
   provider: bash.x86_64 <version>
  dependency: chkconfig
   provider: chkconfig.x86_64 <version>
  dependency: coreutils
   provider: coreutils.x86_64 <version>
  dependency: libc.so.6(GLIBC_2.15)(64bit)
   provider: glibc.x86_64 <version>
... (output truncated) ...

Durch die Verwendung von yum list und yum deplist können Sie ein klares Verständnis der auf Ihrem System installierten Pakete und ihrer Beziehungen zueinander gewinnen.

Repositories und verfügbare Pakete mit 'yum repolist' erkunden

In diesem Schritt lernen Sie, die Softwarequellen, auch Repositories genannt, zu erkunden, die yum zum Finden und Installieren von Paketen verwendet. Sie lernen auch, wie Sie nach neuen Paketen suchen, die auf Ihrem System installiert werden können.

Ein Paket-Repository ist ein zentraler Speicherort, an dem Softwarepakete aufbewahrt werden. Wenn Sie yum bitten, ein Paket zu installieren, kontaktiert es die konfigurierten Repositories, lädt die notwendigen Dateien herunter und installiert sie auf Ihrem System.

Um eine Liste der Repositories anzuzeigen, die derzeit auf Ihrem System aktiviert sind, können Sie den Befehl yum repolist verwenden. Dies ist nützlich, um zu überprüfen, welche Softwarequellen aktiv sind.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo yum repolist

Die Ausgabe zeigt eine Liste von Repository-IDs, deren Namen und die Anzahl der darin enthaltenen Pakete. Sie wird etwa so aussehen:

repo id                                                                                                                          repo name
rhui-rhel-9-for-x86_64-appstream-rhui-rpms                                                                                       Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs)
rhui-rhel-9-for-x86_64-baseos-rhui-rpms                                                                                          Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs)

Nachdem Sie nun wissen, wo yum nach Paketen sucht, wollen wir herausfinden, welche Pakete zur Installation verfügbar sind. Der Befehl yum list available zeigt alle Pakete aus Ihren aktivierten Repositories an, die noch nicht auf Ihrem System installiert sind.

Wenn Sie yum list available allein ausführen, würde dies eine sehr lange Liste ergeben. Es ist praktischer, nach etwas Bestimmtem zu suchen. Suchen wir nach verfügbaren Paketen, die mit dem Linux-Kernel zusammenhängen. Sie können ein Wildcard-Zeichen (*) verwenden, um mehrere Paketnamen abzugleichen.

Führen Sie diesen Befehl aus, um alle verfügbaren Pakete aufzulisten, die mit kernel beginnen:

sudo yum list available 'kernel*'

Die einfachen Anführungszeichen um kernel* sind wichtig, um zu verhindern, dass die Shell versucht, das Wildcard-Zeichen selbst zu erweitern. Die Ausgabe zeigt eine Liste verfügbarer Kernel-bezogener Pakete, deren Versionen und aus welchem Repository sie stammen.

Available Packages
kernel-devel.x86_64      <version>      updates
kernel-doc.noarch        <version>      updates
kernel-headers.x86_64    <version>      updates
... (output truncated) ...

Diese Befehle sind für die Verwaltung der Software Ihres Systems unerlässlich. Sie ermöglichen es Ihnen, Ihre Softwarequellen einzusehen und neue Werkzeuge zur Installation zu entdecken.

Verfügbare Updates mit 'yum check-update' prüfen

In diesem Schritt lernen Sie, wie Sie nach verfügbaren Software-Updates für die auf Ihrem System installierten Pakete suchen. Die Aktualisierung Ihres Systems ist eine wichtige Aufgabe für Sicherheit und Stabilität, da Updates oft Patches für Schwachstellen, Fehlerbehebungen und neue Funktionen enthalten.

Der Befehl yum check-update bietet eine sichere Möglichkeit zu sehen, welche Ihrer installierten Pakete neuere Versionen in den Repositories verfügbar haben. Es ist wichtig zu beachten, dass dieser Befehl die verfügbaren Updates nur auflistet; er lädt sie nicht herunter oder installiert sie. Dies ermöglicht es Ihnen, potenzielle Änderungen zu überprüfen, bevor Sie sie anwenden.

Um alle verfügbaren Updates auf Ihrem System zu überprüfen, führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo yum check-update

yum wird nun eine Verbindung zu allen Ihren aktivierten Repositories herstellen, seinen lokalen Cache mit Paketinformationen aktualisieren und die Versionen Ihrer installierten Pakete mit den neuesten verfügbaren Versionen vergleichen.

Wenn Updates verfügbar sind, sehen Sie eine Liste davon, ähnlich dem folgenden Beispiel. Jede Zeile zeigt den Paketnamen, die neue Version und das Repository an, aus dem das Update bezogen wird.

bind-libs.x86_64                 <version>      updates
bind-license.noarch              <version>      updates
curl.x86_64                      <version>      updates
glibc.x86_64                     <version>      updates
glibc-common.x86_64              <version>      updates
... (output truncated) ...

Wenn Ihr System bereits vollständig auf dem neuesten Stand ist, wird der Befehl ohne Auflistung von Paketen abgeschlossen. Dieser Befehl ist ein wesentlicher Bestandteil der routinemäßigen Systemwartung und gibt Ihnen ein klares Bild des Status Ihres Systems, bevor Sie in den nächsten Schritten mit dem eigentlichen Update-Prozess fortfahren.

Einzelnes Paket-Update mit 'yum update ' anwenden

In diesem Schritt wenden Sie ein spezifisches Paket-Update an. Im vorherigen Schritt haben Sie yum check-update verwendet, um eine Liste aller Pakete mit verfügbaren Updates anzuzeigen. Obwohl es üblich ist, das gesamte System auf einmal zu aktualisieren, gibt es Situationen, in denen Sie möglicherweise nur ein einzelnes Paket aktualisieren möchten. Dies gibt Ihnen mehr Kontrolle über Systemänderungen.

Wählen wir ein Paket aus der Liste aus, die Sie zuvor gesehen haben, um es zu aktualisieren. Wir verwenden curl als Beispiel, ein gängiges Werkzeug für die Datenübertragung. Wenn curl nicht auf Ihrer Liste der verfügbaren Updates stand, können Sie ein anderes Paket aus dieser Liste wählen.

Bevor wir das Paket aktualisieren, müssen wir das curl-Paket auf eine Version herabstufen, für die ein Update verfügbar ist.

sudo yum downgrade -y curl

Um nur das curl-Paket zu aktualisieren, führen Sie den folgenden Befehl aus:

sudo yum update curl

yum wird nun die Abhängigkeiten für curl auflösen, feststellen, was aktualisiert werden muss, und Ihnen eine Transaktionszusammenfassung präsentieren. Diese Zusammenfassung zeigt an, welche Pakete aktualisiert werden und die gesamte Downloadgröße.

Resolving Dependencies
--> Running transaction check
---> Package curl.x86_64 0:<old_version> will be updated
---> Package curl.x86_64 0:<new_version> will be an update
--> Processing Dependency: libcurl = <new_version> for package: curl-<new_version>.x86_64
--> Running transaction check
---> Package libcurl.x86_64 0:<old_version> will be updated
---> Package libcurl.x86_64 0:<new_version> will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch         Version              Repository                 Size
================================================================================
Updating:
 curl         x86_64       <new_version>        updates                    <size>
Updating for dependencies:
 libcurl      x86_64       <new_version>        updates                    <size>

Transaction Summary
================================================================================
Upgrade  1 Package (+1 Dependent package)

Total download size: <total_size>
Is this ok [y/d/N]:

Überprüfen Sie die Änderungen. Wenn Sie bereit sind fortzufahren, geben Sie y ein und drücken Sie Enter. yum lädt dann die Updates herunter und installiert sie.

Nach Abschluss des Vorgangs sehen Sie die Meldung "Complete!", die bestätigt, dass das Update erfolgreich war.

...
Running transaction
  Updating   : libcurl-<new_version>.x86_64                                 1/4
  Updating   : curl-<new_version>.x86_64                                    2/4
  Cleanup    : curl-<old_version>.x86_64                                    3/4
  Cleanup    : libcurl-<old_version>.x86_64                                 4/4
  Verifying  : curl-<new_version>.x86_64                                    1/4
  ...

Updated:
  curl.x86_64 <new_version>

Dependency Updated:
  libcurl.x86_64 <new_version>

Complete!

Sie haben nun erfolgreich ein einzelnes Paket und seine Abhängigkeiten aktualisiert. Dieser gezielte Ansatz ist nützlich, um spezifische Sicherheitspatches oder Funktionsupdates anzuwenden, ohne ein vollständiges System-Upgrade durchzuführen.

Vollständiges System-Update mit 'yum update' durchführen

In diesem Schritt führen Sie die häufigste und wichtigste Aufgabe der Paketverwaltung durch: ein vollständiges System-Update. Während die Aktualisierung einzelner Pakete nützlich ist, ist die regelmäßige Aktualisierung aller Software auf Ihrem System entscheidend für die Aufrechterhaltung von Sicherheit, Stabilität und den Erhalt der neuesten Funktionen und Fehlerbehebungen.

Der Befehl yum update, wenn er ohne Angabe eines Paketnamens ausgeführt wird, prüft alle installierten Pakete gegen die in Ihren aktivierten Repositories verfügbaren Versionen und aktualisiert jedes Paket, für das eine neuere Version gefunden wird.

Warnung: Dieser Prozess kann eine große Datenmenge herunterladen und je nach Anzahl der verfügbaren Updates und Ihrer Netzwerkverbindungsgeschwindigkeit eine erhebliche Zeit in Anspruch nehmen.

Um das vollständige System-Update zu starten, führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo yum update

Ähnlich wie bei der Aktualisierung eines einzelnen Pakets wird yum zuerst alle Abhängigkeiten auflösen und Ihnen dann eine Transaktionszusammenfassung präsentieren. Diese Liste wird wahrscheinlich viel länger sein als zuvor, da sie jedes Paket enthält, das aktualisiert werden muss.

Resolving Dependencies
--> Running transaction check
... (many packages listed) ...

Dependencies Resolved

================================================================================
 Package               Arch         Version              Repository        Size
================================================================================
Updating:
 bind-libs             x86_64       <version>            updates           <size>
 bind-license          noarch       <version>            updates           <size>
 glibc                 x86_64       <version>            updates           <size>
 glibc-common          x86_64       <version>            updates           <size>
 ... (many more packages) ...

Transaction Summary
================================================================================
Upgrade  <X> Packages

Total download size: <total_size>
Is this ok [y/d/N]:

Überprüfen Sie sorgfältig die Liste der zu aktualisierenden Pakete. Wenn Sie bereit sind fortzufahren, geben Sie n ein, um das Update zu überspringen, da die Aktualisierung aller Pakete zu lange dauern wird.

Herzlichen Glückwunsch! Sie haben Ihr gesamtes System erfolgreich aktualisiert. Dies ist eine grundlegende Fähigkeit für die Verwaltung jedes Linux-Servers oder jeder Workstation, um sicherzustellen, dass er sicher und zuverlässig bleibt.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen der Verwaltung von Softwarepaketen auf einem RHEL-basierten Linux-System mit dem YUM-Paketmanager kennengelernt. Sie haben damit begonnen, ein installiertes Paket mit yum list zu inspizieren, um dessen Status und Version zu überprüfen, und dann yum deplist verwendet, um seine Abhängigkeiten zu untersuchen. Sie haben auch die konfigurierten Softwarequellen erkundet, indem Sie alle aktiven Repositories mit dem Befehl yum repolist aufgelistet haben.

Das Lab führte Sie dann durch den Prozess der Paketaktualisierung. Sie lernten, wie Sie mit yum check-update nach verfügbaren Updates für das gesamte System suchen, ohne diese zu installieren. Sie übten das Anwenden eines spezifischen Updates auf ein einzelnes Paket mit yum update <package> und schlossen mit der Durchführung eines vollständigen System-Updates mit dem Befehl yum update ab, um alle verfügbaren Patches und Software-Upgrades anzuwenden und sicherzustellen, dass das System aktuell und sicher bleibt.