Pakete mit YUM in Linux abfragen und aktualisieren

Red Hat Enterprise LinuxBeginner
Jetzt üben

Einführung

In diesem Lab erwerben Sie die grundlegenden Fähigkeiten zur Verwaltung von Softwarepaketen auf RHEL-basierten Linux-Systemen mit dem Paketmanager YUM. Zu Beginn werden Sie die Details und Abhängigkeiten aktuell installierter Pakete mit den Befehlen yum list und yum deplist untersuchen. Zudem erkunden Sie die konfigurierten Software-Repositorys Ihres Systems mit yum repolist, um zu verstehen, woher Ihre Software stammt und welche Pakete verfügbar sind.

Aufbauend auf diesen Grundlagen verlagern wir den Fokus auf die Systemwartung und Aktualisierungen. Sie lernen, wie Sie mit yum check-update Pakete identifizieren, für die neuere Versionen bereitstehen. Schließlich üben Sie das Einspielen dieser Updates und lernen dabei den Unterschied zwischen der Aktualisierung eines einzelnen, spezifischen Pakets und einem umfassenden System-Update kennen, um Ihre Umgebung sicher und auf dem neuesten Stand zu halten.

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

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

Zuerst verwenden wir den Befehl yum list, um den Status eines bestimmten Pakets zu prüfen. Dieser Befehl zeigt Ihnen, ob ein Paket installiert ist und welche Version sich auf Ihrem System befindet.

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

sudo yum list bash

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

Installed Packages
bash.x86_64    <version>    @anaconda

Als Nächstes beschäftigen wir uns mit dem Konzept der Abhängigkeiten. Die meisten Softwarepakete sind nicht eigenständig; sie benötigen andere Pakete wie Bibliotheken oder Werkzeuge, um korrekt zu funktionieren. Diese erforderlichen Pakete werden Abhängigkeiten (Dependencies) genannt. 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 diese 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 erhalten Sie ein klares Verständnis der auf Ihrem System installierten Pakete und deren Beziehungen untereinander.

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

In diesem Schritt lernen Sie, wie Sie die Softwarequellen, auch Repositorys genannt, erkunden, die yum zum Finden und Installieren von Paketen nutzt. Zudem erfahren Sie, wie Sie nach neuen Paketen suchen, die zur Installation auf Ihrem System bereitstehen.

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

Um eine Liste der aktuell auf Ihrem System aktivierten Repositorys anzuzeigen, 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 der Repository-IDs, deren Namen und die Anzahl der darin enthaltenen Pakete an. Das Ergebnis sieht etwa so aus:

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)

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

Da yum list available allein eine sehr lange Liste erzeugen würde, ist es praktischer, nach etwas Spezifischem zu suchen. Suchen wir nach verfügbaren Paketen, die mit dem Linux-Kernel zusammenhängen. Sie können ein Platzhalterzeichen (*) verwenden, um mehrere Paketnamen gleichzeitig zu finden.

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, damit die Shell nicht versucht, den Platzhalter selbst zu interpretieren. Die Ausgabe zeigt eine Liste der verfügbaren Kernel-bezogenen Pakete, deren Versionen und das jeweilige Repository.

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

Diese Befehle sind essenziell für die Verwaltung der Software Ihres Systems, da sie Ihnen ermöglichen, Ihre Softwarequellen einzusehen und neue Werkzeuge zur Installation zu entdecken.

Mit 'yum check-update' nach verfügbaren Updates suchen

In diesem Schritt lernen Sie, wie Sie nach verfügbaren Software-Updates für die auf Ihrem System installierten Pakete suchen. Das System auf dem neuesten Stand zu halten, ist eine kritische Aufgabe für Sicherheit und Stabilität, da Updates oft Patches für Sicherheitslücken, Fehlerbehebungen und neue Funktionen enthalten.

Der Befehl yum check-update bietet eine sichere Möglichkeit zu sehen, für welche Ihrer installierten Pakete neuere Versionen in den Repositorys verfügbar sind. Es ist wichtig zu beachten, dass dieser Befehl die verfügbaren Updates nur auflistet; er lädt sie weder herunter noch installiert er sie. Dies gibt Ihnen die Möglichkeit, potenzielle Änderungen zu prüfen, bevor Sie sie anwenden.

Um nach allen verfügbaren Updates auf Ihrem System zu suchen, führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo yum check-update

yum verbindet sich nun mit all Ihren aktivierten Repositorys, aktualisiert seinen lokalen Cache mit Paketinformationen und vergleicht die Versionen Ihrer installierten Pakete mit den neuesten verfügbaren Versionen.

Falls Updates verfügbar sind, sehen Sie eine Liste davon, ähnlich wie im folgenden Beispiel. Jede Zeile zeigt den Paketnamen, die neue Version und das Repository, aus dem das Update stammt.

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 beendet, ohne Pakete aufzulisten. Dieser Befehl ist ein wesentlicher Bestandteil der routinemäßigen Systemwartung und liefert Ihnen ein klares Bild des Systemstatus, bevor Sie mit dem eigentlichen Aktualisierungsprozess in den nächsten Schritten fortfahren.

Ein einzelnes Paket-Update mit 'yum update ' anwenden

In diesem Schritt werden Sie ein spezifisches Paket-Update durchführen. Im vorherigen Schritt haben Sie yum check-update verwendet, um eine Liste aller Pakete mit verfügbaren Updates zu sehen. Während es üblich ist, das gesamte System auf einmal zu aktualisieren, gibt es Situationen, in denen Sie 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. Wir verwenden curl als Beispiel, ein gängiges Werkzeug zum Übertragen von Daten. Falls 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 Paket curl 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, welche Pakete aktualisiert werden und wie groß der gesamte Download ist.

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 die Eingabetaste. yum wird dann die Updates herunterladen und installieren.

Nachdem der Vorgang abgeschlossen ist, 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 dessen Abhängigkeiten aktualisiert. Dieser gezielte Ansatz ist nützlich, um spezifische Sicherheitspatches oder Funktions-Updates einzuspielen, ohne ein vollständiges System-Upgrade durchzuführen.

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

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

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

Warnung: Dieser Vorgang kann eine große Menge an Daten herunterladen und je nach Anzahl der verfügbaren Updates und Ihrer Netzwerkgeschwindigkeit 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 beim Aktualisieren 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]:

Prüfen Sie die Liste der zu aktualisierenden Pakete sorgfältig. Wenn Sie bereit sind, geben Sie n ein, um das Update zu überspringen, da die Aktualisierung aller Pakete in dieser Umgebung zu lange dauern würde.

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

Zusammenfassung

In diesem Lab haben Sie die Grundlagen der Softwarepaketverwaltung auf einem RHEL-basierten Linux-System mit dem Paketmanager YUM gelernt. Sie haben damit begonnen, ein installiertes Paket mit yum list zu inspizieren, um dessen Status und Version zu prüfen, und haben anschließend yum deplist verwendet, um dessen Abhängigkeiten zu untersuchen. Zudem haben Sie die konfigurierten Softwarequellen erkundet, indem Sie alle aktiven Repositorys mit dem Befehl yum repolist aufgelistet haben.

Das Lab hat Sie dann durch den Prozess der Paketaktualisierung geführt. Sie haben gelernt, wie Sie mit yum check-update systemweit nach verfügbaren Updates suchen, ohne diese direkt zu installieren. Sie haben geübt, ein gezieltes Update für ein einzelnes Paket mit yum update <package> durchzuführen, und schlossen mit dem Wissen ab, wie ein vollständiges System-Update mit dem Befehl yum update ausgeführt wird, um alle verfügbaren Patches und Software-Upgrades anzuwenden und so die Sicherheit und Aktualität des Systems zu gewährleisten.