Software installieren in Red Hat Enterprise Linux

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

Einführung

In diesem Labor erhalten Sie praktische Erfahrung in der Verwaltung von Softwarepaketen auf Red Hat Enterprise Linux (RHEL)-Systemen mithilfe von DNF. Sie beginnen mit dem Verständnis des Befehls subscription-manager zur Registrierung der Red Hat-Supportdienste, sogar in einer simulierten Umgebung. Anschließend erkunden Sie, wie Sie Informationen zu RPM-Paketen abrufen und interpretieren, und beherrschen die Installation und Deinstallation von Softwarepaketen mit DNF.

Darüber hinaus führt Sie dieses Labor durch die Verwaltung von DNF-Software-Repositories, einschließlich des Hinzufügens, Aktivieren und Deaktivieren von Repositories. Schließlich lernen Sie, wie Sie den DNF-Transaktionsverlauf anzeigen und verstehen, um einen umfassenden Überblick über die Paketverwaltungsoperationen zu erhalten.

Hinweis: Dieses Labor erfordert eine Netzwerkverbindung zum Herunterladen von Paketen und zum Zugriff auf Repositories. Es ist nur für LabEx Pro Benutzer verfügbar.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 92% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Registrieren Sie Ihr System für Red Hat Support

In diesem Schritt lernen Sie, wie Sie Ihr System für den Red Hat Support mithilfe des Befehls subscription-manager registrieren. Obwohl ein vollständiger Red Hat-Abonnement in dieser simulierten Umgebung nicht verfügbar ist, ist das Verständnis des Befehls subscription-manager entscheidend für die Verwaltung von Software auf Red Hat Enterprise Linux-Systemen. Dieser Befehl ermöglicht es Ihnen, Ihr System bei Red Hat zu registrieren, Abonnements anzuhängen und auf das Content Delivery Network von Red Hat für Softwarepakete und Updates zuzugreifen.

Zunächst versuchen wir, das System mit einem Platzhalter-Benutzernamen zu registrieren. Dies demonstriert die Verwendung des Befehls, auch wenn die tatsächliche Registrierung gültige Red Hat-Anmeldeinformationen erfordert.

sudo subscription-manager register --username labex

Sie werden nach einem Passwort gefragt. Da dies eine simulierte Umgebung ist, können Sie jedes Passwort eingeben oder einfach die Eingabetaste drücken, falls das System dies zulässt. Der Befehl wird wahrscheinlich keine Verbindung zum Red Hat-Abonnementdienst herstellen, was in dieser Laborumgebung erwartet wird. Der wichtige Teil ist das Verständnis der Syntax des Befehls und seiner beabsichtigten Verwendung.

Registering to: subscription.rhsm.redhat.com:443/subscription
Password:
Ungültiger Benutzername oder Passwort. Um ein Konto zu erstellen, besuchen Sie bitte https://www.redhat.com/wapps/ugc/register.html (HTTP-Fehlercode 401: Nicht autorisiert)

Schließlich sehen wir uns an, wie man verbrauchte Abonnements anzeigt. Dieser Befehl zeigt, welche Abonnements derzeit an Ihrem System angebracht sind.

sudo subscription-manager list --consumed

Da das System nicht registriert ist, wird eine Meldung angezeigt, die angibt, dass keine verbrauchten Abonnements gefunden wurden.

Es wurden keine verbrauchten Abonnementpools gefunden.

Als Nächstes untersuchen wir, wie Sie typischerweise verfügbare Abonnements für Ihr Red Hat-Konto auflisten würden. Dieser Befehl würde Ihnen die verschiedenen Abonnementpools anzeigen, die mit Ihrem Red Hat-Konto verknüpft sind.

sudo subscription-manager list --available

Da das System noch nicht registriert ist, wird eine Fehlermeldung angezeigt, die darauf hinweist, dass zuerst eine Registrierung erforderlich ist.

Dieses System ist noch nicht registriert. Verwenden Sie 'subscription-manager register --help', um weitere Informationen zu erhalten.

Diese Übung demonstriert die grundlegende Verwendung von subscription-manager für die Registrierung und die Anzeige von Abonnementinformationen. Obwohl die volle Funktionalität in dieser simulierten Umgebung begrenzt ist, sind diese Befehle grundlegend für die Verwaltung des Softwarezugriffs auf RHEL-Systemen.

RPM-Paketinformationen untersuchen

In diesem Schritt lernen Sie, wie Sie den Befehl rpm verwenden, um Softwarepakete zu untersuchen. RPM (Red Hat Package Manager) ist das zentrale Paketverwaltungssystem von Red Hat Enterprise Linux. Während dnf (das Sie später erkunden werden) ein Werkzeug auf höherer Ebene zur Verwaltung von Paketen aus Repositories ist, ermöglicht Ihnen rpm, einzelne .rpm-Dateien abzufragen, zu verifizieren, zu installieren und zu deinstallieren.

Zuerst listen wir alle installierten RPM-Pakete auf Ihrem System auf. Dies kann eine sehr lange Liste erzeugen, daher leiten wir die Ausgabe an head weiter, um nur den Anfang zu sehen.

rpm -qa | head

Sie sehen eine Liste von Paketnamen, Versionen und Architekturen. Beispielsweise:

libgcc-11.4.1-3.el9.x86_64
crypto-policies-20240202-1.git283706d.el9.noarch
tzdata-2024a-1.el9.noarch
subscription-manager-rhsm-certificates-20220623-1.el9.noarch
redhat-release-9.4-0.4.el9.x86_64
setup-2.13.7-10.el9.noarch
filesystem-3.16-2.el9.x86_64
basesystem-11-13.el9.noarch
pcre2-syntax-10.40-5.el9.noarch
ncurses-base-6.2-10.20210508.el9.noarch

Als Nächstes finden wir heraus, welches Paket eine bestimmte Datei bereitstellt. Wir verwenden /etc/yum.repos.d als Beispiel, ein Verzeichnis, das DNF-Repositorykonfigurationsdateien enthält.

rpm -qf /etc/yum.repos.d

Die Ausgabe zeigt Ihnen das Paket, dem dieses Verzeichnis gehört.

redhat-release-9.4-0.4.el9.x86_64

Nun wollen wir detaillierte Informationen zu einem installierten Paket erhalten. Wir verwenden das Paket dnf selbst als Beispiel.

rpm -qi dnf

Dieser Befehl liefert eine Fülle von Informationen, einschließlich Paketname, Version, Release, Architektur, Größe, Zusammenfassung, URL, Lizenz und eine detaillierte Beschreibung.

## Ausgabe des Befehls

Sie können auch alle Dateien auflisten, die von einem Paket installiert wurden. Dies kann hilfreich sein, um zu verstehen, was ein Paket auf Ihrem System platziert.

rpm -ql dnf | head -n 10

Dies zeigt die ersten 10 Dateien an, die vom Paket dnf installiert wurden.

## Ausgabe des Befehls

Um nur die Konfigurationsdateien eines Pakets anzuzeigen, verwenden Sie die Option -qc. Lassen Sie uns das Paket openssh-clients überprüfen.

rpm -qc openssh-clients

Dies listet Konfigurationsdateien im Zusammenhang mit SSH-Clients auf.

## Ausgabe des Befehls

Schließlich, um die Änderungsprotokollinformationen für ein Paket anzuzeigen, verwenden Sie --changelog. Dies kann Einblicke in die Historie von Updates und Korrekturen für ein Paket geben. Schauen wir uns das Paket audit an.

rpm -q --changelog audit | head -n 5

Wenn das Paket nicht installiert ist, erhalten Sie eine Fehlermeldung:

package audit is not installed

Sie können es mit einem installierten Paket versuchen. Zum Beispiel mit dem Paket setup:

rpm -q --changelog setup | head -n 5

Diese rpm-Befehle sind leistungsstarke Werkzeuge, um die auf Ihrem System installierten Pakete und die darin enthaltenen Dateien zu verstehen.

Softwarepakete mit DNF installieren und entfernen

In diesem Schritt lernen Sie, wie Sie dnf (Dandified YUM) zur Verwaltung von Softwarepaketen verwenden. dnf ist der Standard-Paketmanager in Red Hat Enterprise Linux 9 und dient zum Installieren, Aktualisieren und Entfernen von Softwarepaketen sowie zur Verwaltung von Software-Repositories. Es verwaltet automatisch Abhängigkeiten, was die Softwareverwaltung deutlich vereinfacht im Vergleich zur Verwendung von rpm allein.

Zuerst listen wir alle verfügbaren und installierten Pakete auf, die "http" in ihrem Namen enthalten. Dies gibt Ihnen einen Überblick über Pakete, die mit HTTP-Diensten zusammenhängen.

dnf list 'http*'

Sie sehen eine Liste der Pakete, die angeben, ob sie installiert sind oder zur Installation verfügbar sind.

## Ausgabe des Befehls

Nun suchen wir nach Paketen, die "Webserver" in ihrem Namen, ihrer Zusammenfassung oder Beschreibung enthalten. Die Option search all ist nützlich für eine umfassendere Suche.

dnf search all 'web server'

Dieser Befehl gibt eine Liste der passenden Pakete zurück.

## Ausgabe des Befehls

Lassen Sie uns detaillierte Informationen zum Paket httpd, dem Apache HTTP Server, erhalten.

dnf info httpd

Dies zeigt umfassende Details zum Paket, einschließlich Größe, Lizenz und Beschreibung.

## Ausgabe des Befehls

Installieren wir nun das Paket httpd. Sie benötigen dafür sudo-Rechte.

sudo dnf install httpd -y

Die Option -y beantwortet alle Eingabeaufforderungen automatisch mit "ja", was für Skripte nützlich ist, aber in Produktionsumgebungen mit Vorsicht zu verwenden ist.

## Ausgabe des Befehls

Sie können überprüfen, ob httpd installiert ist, indem Sie rpm abfragen:

rpm -q httpd
## Ausgabe des Befehls

Nun entfernen wir das Paket httpd.

sudo dnf remove httpd -y

Dies entfernt das Paket httpd und alle Abhängigkeiten, die von anderen installierten Paketen nicht mehr benötigt werden.

## Ausgabe des Befehls

Sie können die Entfernung bestätigen:

rpm -q httpd
## Ausgabe des Befehls

Dies demonstriert die grundlegenden dnf-Befehle zum Installieren und Entfernen von Softwarepaketen.

DNF-Software-Repositories verwalten

In diesem Schritt lernen Sie, wie Sie DNF-Software-Repositories verwalten. Repositories sind Speicherorte für Softwarepakete, von denen dnf diese abruft. Das Wissen, wie man Repositories auflistet, aktiviert, deaktiviert und hinzufügt, ist entscheidend, um die verfügbare Software auf Ihrem System zu steuern.

Zuerst listen wir alle konfigurierten DNF-Repositories und ihren Status (aktiviert oder deaktiviert) auf.

dnf repolist all

Sie erhalten eine Liste der Repository-IDs, Namen und deren aktuellen Status.

## Ausgabe des Befehls

Der Befehl dnf config-manager ist ein leistungsstarkes Werkzeug zur Verwaltung von Repository-Konfigurationen. Sie können damit Repositories aktivieren oder deaktivieren. Versuchen wir beispielsweise, ein hypothetisches Debug-Repository zu aktivieren. Obwohl dieses Repository in dieser Laboumgebung möglicherweise nicht existiert oder zugänglich ist, zeigt der Befehl die Syntax.

sudo dnf config-manager --enable rhel-9-server-debug-rpms

Sie erhalten Nachrichten über die Abonnementverwaltung und einen Fehler, der darauf hinweist, dass das Repository nicht gefunden wurde. Dies ist in dieser Umgebung zu erwarten.

## Ausgabe des Befehls

Versuchen wir nun, ein Repository zu deaktivieren. Wir verwenden rhel-9-for-x86_64-appstream-rpms als Beispiel. Hinweis: Dieser Repository-Name existiert in dieser UBI-Umgebung nicht, aber der Befehl demonstriert die Syntax.

sudo dnf config-manager --disable rhel-9-for-x86_64-appstream-rpms

Sie erhalten Nachrichten über die Abonnementverwaltung und einen Fehler, der darauf hinweist, dass das Repository in dieser Umgebung nicht existiert.

## Ausgabe des Befehls

Überprüfen wir, ob dieser Repository-Name im aktuellen System existiert:

dnf repolist all | grep rhel-9-for-x86_64-appstream-rpms

Wie erwartet gibt es keine Ausgabe, da dieses Repository in der UBI-Umgebung nicht existiert.

(keine Ausgabe)

Versuchen wir den gleichen Befehl zum Aktivieren, um die Nicht-Existenz des Repositorys zu bestätigen:

sudo dnf config-manager --enable rhel-9-for-x86_64-appstream-rpms

Wieder erhalten Sie dieselbe Fehlermeldung:

## Ausgabe des Befehls

Der Befehl dnf config-manager --add-repo kann auch verwendet werden, um neue Repositories hinzuzufügen, indem eine URL angegeben wird. Zu Demonstrationszwecken versuchen wir, eine gängige EPEL (Extra Packages for Enterprise Linux)-Repository-URL hinzuzufügen. Obwohl dies möglicherweise das Repository nicht vollständig konfiguriert (da oft ein GPG-Schlüssel und eine spezifische .repo-Datei erforderlich sind), zeigt es die Fähigkeit des Befehls.

sudo dnf config-manager --add-repo="https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/"

Sie erhalten eine Ausgabe, die anzeigt, dass eine neue .repo-Datei erstellt wurde.

## Ausgabe des Befehls

Sie können die neu erstellte .repo-Datei in /etc/yum.repos.d/ überprüfen. Der Name der Datei wird aus der URL abgeleitet.

ls /etc/yum.repos.d/

Sie sollten eine Datei wie dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo zusammen mit den bestehenden Repository-Dateien sehen.

## Ausgabe des Befehls

Schließlich entfernen wir die gerade hinzugefügte Repository-Konfigurationsdatei, um die Umgebung sauber zu halten.

sudo rm /etc/yum.repos.d/dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo

Dieser Schritt hat Ihnen gezeigt, wie man DNF-Repositories auflistet, aktiviert, deaktiviert und hinzugefügt. Dies sind wichtige Fähigkeiten zur Verwaltung von Softwarequellen auf RHEL.

DNF-Transaktionsverlauf anzeigen

In diesem Schritt lernen Sie, wie Sie den Transaktionsverlauf von DNF-Operationen anzeigen. dnf speichert ein detailliertes Protokoll aller Paketinstallationen, -entfernungen und -aktualisierungen. Dieser Verlauf ist unerlässlich zur Fehlerbehebung, für die Prüfung und sogar zum Rückgängigmachen von Änderungen, falls erforderlich.

Zuerst zeigen wir die Zusammenfassung aller DNF-Transaktionen an, die auf Ihrem System stattgefunden haben.

sudo dnf history

Sie erhalten eine Tabelle, die jede Transaktion mit einer ID, der verwendeten Befehlszeile, dem Datum und der Uhrzeit, der ausgeführten Aktion(en) und der Anzahl der geänderten Pakete auflistet.

ID     | Befehlszeile              | Datum und Uhrzeit    | Aktion(en)      | Geändert
--------------------------------------------------------------------------------
     3 | install httpd             | 2024-04-22 08:00 | Installieren        |   10
     2 | remove httpd              | 2024-04-22 08:01 | Entfernen         |    6
     1 |                           | 2024-04-22 07:50 | Installieren        |  767 EE

Die Spalte "ID" ist besonders wichtig, da sie es Ihnen ermöglicht, auf bestimmte Transaktionen zu verweisen. Wenn Sie beispielsweise detaillierte Informationen zu einer bestimmten Transaktion anzeigen möchten, können Sie dnf history info <ID> verwenden. Sehen wir uns die Details der letzten Transaktion an (die die Entfernung von httpd aus dem vorherigen Schritt sein sollte). Sie finden die ID in der Ausgabe von dnf history. Im obigen Beispiel ist es 2.

sudo dnf history info 2

Dieser Befehl bietet eine umfassende Aufschlüsselung der ausgewählten Transaktion, einschließlich der entfernten Pakete, ihrer Versionen und des Grundes für die Aktion.

## Ausgabe des Befehls

Eine der leistungsstärksten Funktionen des DNF-Verlaufs ist die Möglichkeit, Transaktionen rückgängig zu machen oder zu wiederholen. Um beispielsweise die Entfernung von httpd rückgängig zu machen, verwenden Sie dnf history undo <ID>. Lassen Sie uns die Transaktion zum Entfernen von httpd rückgängig machen (verwenden Sie die ID aus Ihrer dnf history-Ausgabe, z. B. 2).

sudo dnf history undo 2 -y

Dieser Befehl installiert das Paket httpd und seine Abhängigkeiten, die in dieser spezifischen Transaktion entfernt wurden, erneut.

## Ausgabe des Befehls

Sie können überprüfen, ob httpd nun wieder installiert ist:

rpm -q httpd
## Ausgabe des Befehls

Schließlich entfernen wir httpd erneut, um das System für zukünftige Labore sauber zu hinterlassen.

sudo dnf remove httpd -y
## Ausgabe des Befehls

Dieser Schritt hat gezeigt, wie man dnf history verwendet, um DNF-Transaktionen anzuzeigen, zu untersuchen und sogar rückgängig zu machen, was leistungsstarke Funktionen für die Systemverwaltung bietet.

Zusammenfassung

In diesem Labor haben wir grundlegende Fähigkeiten zur Verwaltung von Softwarepaketen unter Red Hat Enterprise Linux mithilfe von DNF erlernt. Wir begannen mit dem Verständnis des Befehls subscription-manager, der entscheidend für die Registrierung von Systemen bei Red Hat und den Zugriff auf deren Content Delivery Network ist, auch wenn eine vollständige Registrierung in der simulierten Umgebung nicht möglich war.

Anschließend haben wir untersucht, wie man Informationen zu RPM-Paketen abfragt, Software mithilfe von DNF installiert und entfernt, DNF-Software-Repositories verwaltet und den DNF-Transaktionsverlauf angezeigt hat. Diese Schritte boten einen umfassenden Überblick über die Fähigkeiten von DNF für eine effiziente Softwareverwaltung.