Einführung
Beim Arbeiten mit auf Red Hat basierenden Linux-Distributionen wie CentOS oder RHEL kann der Fehler "sudo: yum: command not found" die Installation von Softwarepaketen oder die Aktualisierung Ihres Systems verhindern. Dieser Fehler tritt normalerweise auf, wenn der YUM-Paketmanager fehlt, fehlerhaft konfiguriert oder beschädigt ist.

In diesem praktischen Lab erfahren Sie, wie Sie dieses häufige Problem diagnostizieren und beheben können, indem Sie praktische Übungen in einer CentOS-Umgebung durchführen. Sie verwenden Docker, um einen CentOS-Container zu erstellen, in dem Sie sicher mit der Paketverwaltung experimentieren, YUM-bezogene Probleme beheben und bewährte Verfahren für die Systemwartung anwenden können.
Dieses Lab erfordert eine Internetverbindung zum Lernen. Daher können nur Pro-Benutzer die VM starten. Upgrade Sie Ihr Konto auf Pro.
Einrichten einer CentOS-Umgebung mit Docker
In diesem Lab verwenden wir Docker, um eine CentOS-Umgebung zu erstellen, in der wir mit dem YUM-Paketmanager arbeiten können. Docker ermöglicht es uns, isolierte Container schnell für Tests und die Fehlerbehebung einzurichten, ohne unser Hostsystem zu beeinträchtigen.
Grundlagen zu Paketmanagern in Linux
Verschiedene Linux-Distributionen verwenden verschiedene Paketverwaltungssysteme:
Debian-basierte Distributionen (Ubuntu, Debian, Linux Mint):
- Verwenden den APT-Paketmanager (Advanced Package Tool)
- Paketformat:
.deb - Befehle:
apt,apt-get,dpkg
Red Hat-basierte Distributionen (RHEL, CentOS, Fedora):
- Verwenden YUM (Yellowdog Updater, Modified) oder DNF (Dandified YUM)
- Paketformat:
.rpm - Befehle:
yum,dnf,rpm
Erstellen eines CentOS-Containers
Beginnen wir damit, einen CentOS-Container mit Docker zu erstellen. Öffnen Sie Ihr Terminal und führen Sie folgenden Befehl aus:
docker run -it --name centos-lab centos:7 /bin/bash
Dieser Befehl:
- Erstellt einen interaktiven Container mit dem Namen
centos-lab - Verwenden das CentOS 7-Image
- Gibt Ihnen eine Bash-Shell innerhalb des Containers
Nachdem Sie diesen Befehl ausgeführt haben, ändert sich die Terminalaufforderung, was darauf hinweist, dass Sie jetzt innerhalb des CentOS-Containers arbeiten. Sie können dies bestätigen, indem Sie die Systeminformationen überprüfen:
cat /etc/os-release
Sie sollten Informationen sehen, die darauf hinweisen, dass Sie CentOS Linux verwenden.

Simulieren und Diagnostizieren des YUM-Fehlers
In diesem Schritt werden wir den Fehler "sudo: yum: command not found" simulieren und lernen, wie man ihn diagnostiziert. Obwohl CentOS normalerweise mit YUM vorinstalliert kommt, werden wir ein Szenario erstellen, in dem YUM fehlt oder beschädigt ist.
Prüfen der YUM-Installation
Zunächst überprüfen wir, ob YUM in Ihrem CentOS-Container installiert ist:
which yum
rpm -q yum
Der Befehl which yum sollte den Pfad zur YUM-ausführbaren Datei anzeigen (typischerweise /usr/bin/yum), und rpm -q yum sollte die installierte YUM-Paketversion anzeigen.
Erstellen eines Test-Szenarios
Um eine Situation zu simulieren, in der YUM fehlt, benennen wir die YUM-ausführbare Datei um:
mv /usr/bin/yum /usr/bin/yum.backup
Versuchen Sie nun, YUM zu verwenden:
yum update
Sie sollten eine Fehlermeldung wie "yum: command not found" sehen. Dies simuliert, was passiert, wenn die YUM-ausführbare Datei vom System fehlt.
Versuchen wir es auch mit sudo:
sudo yum update
Sie werden den Fehler "sudo: yum: command not found" sehen, der Gegenstand unserer Fehlerbehebung ist.

Verständnis der Fehlerursachen
Der Fehler "sudo: yum: command not found" kann aus mehreren Gründen auftreten:
- Das YUM-Paket ist nicht installiert.
- Die YUM-ausführbare Datei wurde verschoben, umbenannt oder gelöscht.
- Die Umgebungsvariable PATH enthält nicht das Verzeichnis, das die YUM-ausführbare Datei enthält.
- Es gibt unzureichende Berechtigungen, um YUM auszuführen.
Lassen Sie uns unsere PATH-Umgebungsvariable überprüfen:
echo $PATH
Dies sollte eine Liste von Verzeichnissen getrennt durch Doppelpunkte anzeigen. Stellen Sie sicher, dass /usr/bin (wo YUM normalerweise liegt) in dieser Liste enthalten ist.
Beheben des fehlenden YUM-Problems
Nachdem wir das Problem diagnostiziert haben, beheben wir nun den Fehler "yum: command not found". Es gibt mehrere Möglichkeiten, dieses Problem zu beheben, je nach seiner Ursache.
Wiederherstellen der YUM-ausführbaren Datei
Da wir die YUM-ausführbare Datei im vorherigen Schritt umbenannt haben, stellen wir sie an ihren ursprünglichen Ort zurück:
mv /usr/bin/yum.backup /usr/bin/yum
Überprüfen Sie nun, ob YUM wieder funktioniert:
yum --version
Sie sollten die YUM-Versionsinformationen sehen, was darauf hinweist, dass YUM jetzt zugänglich ist.

Installieren von YUM (falls fehlend)
In einem realen Szenario, in dem YUM vollständig fehlt, müssten Sie es mit RPM (Red Hat Package Manager) installieren, einem niedrigeren Paketverwaltungstool. So können Sie es tun:
## Dies ist nur zur Demonstration. Führen Sie diesen Befehl nicht aus, da wir YUM bereits wiederhergestellt haben
## rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
Beheben der YUM-Berechtigungen
Wenn YUM existiert, aber die falschen Berechtigungen hat, können Sie diese mit dem chmod-Befehl korrigieren:
## Aktuelle Berechtigungen prüfen
ls -l /usr/bin/yum
## Korrekte Berechtigungen setzen, falls erforderlich
chmod 755 /usr/bin/yum
Die korrekten Berechtigungen für YUM sollten 755 sein (lesbar und ausführbar für alle, beschreibbar nur für den Besitzer).
Aktualisieren des Pfads (falls erforderlich)
Wenn das Verzeichnis, das YUM enthält, nicht in Ihrem Pfad (PATH) ist, können Sie es temporär hinzufügen mit:
export PATH=$PATH:/usr/bin
Für eine dauerhafte Lösung würden Sie diese Zeile in die Konfigurationsdatei Ihrer Shell (z. B. .bashrc) hinzufügen.
Fehlerbehebung bei YUM-Konfigurationsproblemen
Selbst wenn YUM richtig installiert ist, können Sie möglicherweise andere Probleme auftreten, die verhindern, dass es richtig funktioniert. Lassen Sie uns einige häufige YUM-Konfigurationsprobleme untersuchen und erfahren, wie man sie löst.
Grundlagen zu YUM-Konfigurationsdateien
Die YUM-Konfiguration wird hauptsächlich durch diese Dateien und Verzeichnisse gesteuert:
- Hauptkonfigurationsdatei:
/etc/yum.conf - Verzeichnis für Repository-Dateien:
/etc/yum.repos.d/
Lassen Sie uns die Hauptkonfigurationsdatei untersuchen:
cat /etc/yum.conf
Diese Datei enthält globale YUM-Einstellungen wie das Cache-Verzeichnis, den Speicherort der Protokolldatei und Standardoptionen.
Prüfen der YUM-Repositories
YUM-Repositories werden in Dateien mit der Endung .repo im Verzeichnis /etc/yum.repos.d/ definiert. Lassen Sie uns diese Dateien auflisten:
ls -l /etc/yum.repos.d/
Nun untersuchen wir eine der Repository-Dateien:
cat /etc/yum.repos.d/CentOS-Base.repo
Jede Repository-Definition enthält:
- Eine eindeutige Repository-ID in eckigen Klammern (z. B.
[base]) name: Ein beschreibender Namebaseurl: Die URL, an der sich die Pakete befindenenabled: Ob das Repository aktiv (1) oder inaktiv (0) istgpgcheck: Ob die Paketsignaturen überprüft werden sollen (1) oder nicht (0)
Simulieren eines Repository-Problems
Lassen Sie uns ein Repository-Problem simulieren, indem wir das Repository-Verzeichnis umbenennen:
mv /etc/yum.repos.d /etc/yum.repos.d.backup
mkdir /etc/yum.repos.d
Versuchen Sie nun, YUM zu verwenden:
yum update
Sie werden wahrscheinlich eine Fehlermeldung sehen, dass keine aktivierten Repositories gefunden werden können. Dies ist ein häufiges Problem, das verhindern kann, dass YUM funktioniert, auch wenn es richtig installiert ist.

Wiederherstellen der Repository-Konfiguration
Lassen Sie uns die Repository-Konfiguration wiederherstellen:
rm -rf /etc/yum.repos.d
mv /etc/yum.repos.d.backup /etc/yum.repos.d
Überprüfen Sie nun, ob YUM wieder funktioniert:
yum repolist
Dies sollte die aktivierten Repositories auf Ihrem System auflisten.
YUM-Wartung und Best Practices
Nachdem wir verschiedene YUM-Probleme behoben haben, besprechen wir nun die Best Practices für die Wartung eines gesunden Paketverwaltungssystems in CentOS oder anderen Red Hat-basierten Distributionen.
Regelmäßige Systemupdates
Das Aktualisieren Ihres Systems ist für die Sicherheit und Stabilität von entscheidender Bedeutung. Führen Sie diese Befehle regelmäßig aus:
## Aktualisieren der Paketmetadaten
yum check-update
## Installieren aller verfügbaren Updates
yum update -y
Reinigen des YUM-Caches
YUM verwaltet einen Cache von Paketmetadaten und heruntergeladenen Paketen. Das regelmäßige Reinigen dieses Caches kann helfen, Probleme zu beheben und Speicherplatz auf der Festplatte freizugeben:
## Reinigen der Metadaten
yum clean metadata
## Reinigen der Pakete
yum clean packages
## Alles reinigen
yum clean all
## Neuerstellen des Caches
yum makecache
Verwalten von YUM-Plugins
Die Funktionalität von YUM kann mit Plugins erweitert werden. Um die installierten Plugins aufzulisten:
yum list installed "yum-plugin-*"
Häufig verwendete nützliche Plugins sind:
yum-plugin-fastestmirror: Automatisch den schnellsten Repository-Spiegel auswählenyum-plugin-security: Updates nach Sicherheitsrelevanz filternyum-plugin-priorities: Prioritäten für verschiedene Repositories festlegen
Fehlerbehebung bei YUM-Problemen
Wenn Sie auf YUM-Probleme stoßen, können diese Befehle helfen, die Probleme zu diagnostizieren:
## Prüfen, ob die Repositories erreichbar sind
yum repolist
## Anzeigen des YUM-Verlaufs (vergangene Transaktionen)
yum history
## Prüfen auf Paketprobleme
yum check
## YUM mit Debug-Ausgabe ausführen
yum -v update
Verlassen des Containers
Wenn Sie mit dem Lab fertig sind, verlassen Sie den CentOS-Container, indem Sie Folgendes eingeben:
exit
Dadurch gelangen Sie zurück auf Ihr Ubuntu-Hostsystem.
Zusammenfassung
Herzlichen Glückwunsch, dass Sie dieses Lab zur Fehlerbehebung des Fehlers "sudo: yum: command not found" in Linux abgeschlossen haben. In dieser praktischen Übung haben Sie:
- Eine CentOS-Umgebung mit Docker für sichere Experimente eingerichtet
- Den Fehler "yum: command not found" simuliert und diagnostiziert
- Verschiedene Lösungen implementiert, um die YUM-Funktionalität wiederherzustellen
- Häufige YUM-Konfigurationsprobleme und deren Lösungen untersucht
- Best Practices für die YUM-Wartung und -Fehlerbehebung gelernt
Wichtige Erkenntnisse aus diesem Lab:
- Der Fehler "yum: command not found" kann aufgrund fehlender ausführbarer Dateien, falscher Berechtigungen oder PATH-Probleme auftreten
- Die YUM-Konfiguration wird durch
/etc/yum.confund Dateien in/etc/yum.repos.d/gesteuert - Regelmäßige Wartungsaufgaben wie das Reinigen von Caches und das Aktualisieren von Paketen tragen zur Systemgesundheit bei
- Docker bietet eine ausgezeichnete Umgebung für das sichere Lernen und die Fehlerbehebung von Linux-Systemen
Diese Fähigkeiten werden Ihnen helfen, Red Hat-basierte Linux-Systeme zu warten und zu reparieren, um sicherzustellen, dass Ihr Paketverwaltungssystem für die Softwareinstallation und Systemupdates korrekt funktioniert.



