Einführung
In diesem Lab erlernen Sie die grundlegenden Fähigkeiten zur Verwaltung von Softwarepaketen auf RHEL-basierten Linux-Systemen mithilfe des Paketmanagers YUM. Sie beginnen damit, Details und Abhängigkeiten aktuell installierter Pakete mit den Befehlen yum list und yum deplist zu untersuchen. Zudem erkunden Sie die konfigurierten Software-Repositorys Ihres Systems mit yum repolist, um zu verstehen, woher Ihre Software stammt und was verfügbar ist.
Aufbauend auf diesen Grundlagen verlagern Sie Ihren Fokus auf die Systemwartung und -aktualisierung. Sie lernen, wie Sie mit yum check-update Pakete identifizieren, für die neuere Versionen verfügbar sind. Abschließend üben Sie das Einspielen dieser Updates und lernen den Unterschied zwischen der Aktualisierung eines einzelnen, spezifischen Pakets und der Durchführung eines umfassenden System-Updates kennen, um Ihre Umgebung sicher und aktuell zu halten.
Installiertes Paket mit 'yum list' und 'yum deplist' untersuchen
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 Überprüfung des bash-Pakets, das die Shell-Umgebung bereitstellt, die Sie wahrscheinlich gerade verwenden. Diese Befehle helfen Ihnen zu verstehen, was auf Ihrem System installiert ist und von welchen anderen Komponenten ein Paket abhängt, um zu funktionieren.
Verwenden wir zunächst den Befehl yum list, um den Status eines bestimmten Pakets zu überprüfen. Dieser Befehl zeigt Ihnen an, ob ein Paket installiert ist und welche Version sich auf Ihrem System befindet.
Um die Überprüfung des Labs zuverlässig zu gestalten, speichern Sie die Befehlsausgabe in /home/labex/project, während Sie sie untersuchen. Um die Details des bash-Pakets zu prüfen, führen Sie den folgenden Befehl in Ihrem Terminal aus:
sudo yum list bash | tee /home/labex/project/bash-package.txt
Sie sehen eine Ausgabe ähnlich der folgenden, die 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
Lassen Sie uns als Nächstes das Konzept der Abhängigkeiten erkunden. Die meisten Softwarepakete sind nicht in sich geschlossen; sie verlassen sich auf andere Pakete, wie Bibliotheken oder Werkzeuge, um korrekt zu funktionieren. Diese erforderlichen 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 einzusehen.
Um alle Pakete zu sehen, von denen das bash-Paket abhängt, führen Sie diesen Befehl aus:
sudo yum deplist bash | tee /home/labex/project/bash-deplist.txt
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 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, sogenannte Repositorys, erkunden, die yum zum Suchen und Installieren von Paketen verwendet. Sie lernen außerdem, 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 auffordern, ein Paket zu installieren, kontaktiert es die konfigurierten Repositorys, lädt die notwendigen Dateien herunter und installiert sie auf Ihrem System.
Um eine Liste der Repositorys zu sehen, 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 und speichern Sie die Ausgabe zur späteren Überprüfung:
sudo yum repolist | tee /home/labex/project/yum-repolist.txt
Die Ausgabe zeigt eine Liste der Repository-IDs, deren Namen und die Anzahl der darin enthaltenen Pakete. Sie sieht in 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)
Nachdem 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.
Das Ausführen von yum list available allein würde eine sehr lange Liste erzeugen. Es ist praktischer, nach etwas Bestimmtem zu suchen. Lassen Sie uns nach verfügbaren Paketen suchen, die sich auf den Linux-Kernel beziehen. Sie können einen Platzhalter (*) 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*' | tee /home/labex/project/yum-kernel-available.txt
Die einfachen Anführungszeichen um kernel* sind wichtig, um zu verhindern, dass die Shell versucht, den Platzhalter selbst aufzulösen. Die Ausgabe zeigt eine Liste der verfügbaren Kernel-bezogenen Pakete, deren Versionen und das Repository, aus dem 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, da sie Ihnen ermöglichen, Ihre Softwarequellen einzusehen und neue Werkzeuge zur Installation zu entdecken.
Auf 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. Ihr System auf dem neuesten Stand zu halten, ist eine kritische Aufgabe für Sicherheit und Stabilität, da Updates häufig 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 nicht herunter und installiert sie nicht. Dies ermöglicht es Ihnen, potenzielle Änderungen zu überprüfen, bevor Sie sie anwenden.
Um auf alle verfügbaren Updates auf Ihrem System zu prüfen, führen Sie den folgenden Befehl in Ihrem Terminal aus. Der Teil || true verhindert, dass die Shell stoppt, wenn yum check-update den Status 100 zurückgibt, was die Art und Weise ist, wie yum meldet, dass Updates verfügbar sind.
sudo yum check-update | tee /home/labex/project/yum-check-update.txt || true
yum verbindet sich nun mit all Ihren aktivierten Repositorys, aktualisiert seinen lokalen Cache der Paketinformationen und vergleicht die Versionen Ihrer installierten Pakete mit den neuesten verfügbaren Versionen.
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, aus dem es aktualisiert 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 vom Status Ihres Systems, bevor Sie mit dem eigentlichen Update-Prozess in den nächsten Schritten fortfahren.
Einzelpaket-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 zu sehen. Obwohl 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, die Sie zuvor gesehen haben, um es zu aktualisieren. Wir verwenden curl als Beispiel, ein gängiges Werkzeug zur Datenübertragung. Falls curl nicht in Ihrer Liste der verfügbaren Updates enthalten war, 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 zurückstufen, 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 | tee /home/labex/project/curl-update.txt
yum löst nun die Abhängigkeiten für curl auf, bestimmt, was aktualisiert werden muss, und präsentiert Ihnen eine Transaktionszusammenfassung. 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 lädt dann die Updates herunter und installiert sie.
Nachdem der Prozess abgeschlossen ist, sehen Sie eine "Complete!"-Meldung, 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 Sicherheits-Patches oder Funktions-Updates 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 der gesamten 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 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 Prozess kann eine große Datenmenge herunterladen und je nach Anzahl der verfügbaren Updates und Ihrer Netzwerkgeschwindigkeit eine beträchtliche Zeit in Anspruch nehmen.
Um das vollständige System-Update zu beginnen, führen Sie den folgenden Befehl in Ihrem Terminal aus:
sudo yum update | tee /home/labex/project/full-system-update.txt
Ähnlich wie bei der Aktualisierung eines einzelnen Pakets löst yum zuerst alle Abhängigkeiten auf und präsentiert Ihnen dann eine Transaktionszusammenfassung. 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 die Liste der zu aktualisierenden Pakete sorgfältig. Wenn Sie bereit sind fortzufahren, geben Sie n ein, um das Update abzubrechen, da es in dieser Übungsumgebung zu lange dauern würde, alle Pakete zu aktualisieren.
Sie haben nun die Transaktion für das vollständige System-Update überprüft, ohne sie anzuwenden. In einem echten Wartungsfenster würden Sie sudo yum update erneut ausführen und y eingeben, wenn Sie bereit sind, jedes verfügbare Update zu installieren.
Zusammenfassung
In diesem Lab haben Sie die Grundlagen der Verwaltung von Softwarepaketen auf einem RHEL-basierten Linux-System mithilfe des YUM-Paketmanagers erlernt. Sie begannen mit der Untersuchung eines installierten Pakets mit yum list, um dessen Status und Version zu prüfen, und verwendeten dann yum deplist, um dessen Abhängigkeiten zu untersuchen. Sie haben außerdem die konfigurierten Softwarequellen erkundet, indem Sie alle aktiven Repositorys mit dem Befehl yum repolist aufgelistet haben.
Das Lab führte Sie dann durch den Prozess der Paketaktualisierung. Sie haben gelernt, wie Sie mit yum check-update auf verfügbare Updates für das gesamte System prüfen können, ohne diese zu installieren. Sie haben das Anwenden eines spezifischen Updates auf ein einzelnes Paket mit yum update <package> geübt und abschließend die Transaktion für ein vollständiges System-Update mit dem Befehl yum update überprüft, damit Sie erkennen können, was ein vollständiges System-Upgrade bewirken würde, bevor Sie es genehmigen.



