Fehlerbehebung für 'sudo: yum: command not found' in Linux

LinuxLinuxBeginner
Jetzt üben

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

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.

YUM Command Not Found

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/exit("Shell Exiting") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/echo -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/exit -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/ls -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/mv -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/rm -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/cat -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/chmod -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/which -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} linux/apt -.-> lab-391859{{"Fehlerbehebung für 'sudo: yum: command not found' in Linux"}} end

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:

  1. Debian-basierte Distributionen (Ubuntu, Debian, Linux Mint):

    • Verwenden den APT-Paketmanager (Advanced Package Tool)
    • Paketformat: .deb
    • Befehle: apt, apt-get, dpkg
  2. 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.

CentOS Container

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.

YUM Error

Verständnis der Fehlerursachen

Der Fehler "sudo: yum: command not found" kann aus mehreren Gründen auftreten:

  1. Das YUM-Paket ist nicht installiert.
  2. Die YUM-ausführbare Datei wurde verschoben, umbenannt oder gelöscht.
  3. Die Umgebungsvariable PATH enthält nicht das Verzeichnis, das die YUM-ausführbare Datei enthält.
  4. 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.

YUM Working

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:

  1. Hauptkonfigurationsdatei: /etc/yum.conf
  2. 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 Name
  • baseurl: Die URL, an der sich die Pakete befinden
  • enabled: Ob das Repository aktiv (1) oder inaktiv (0) ist
  • gpgcheck: 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.

YUM Error

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ählen
  • yum-plugin-security: Updates nach Sicherheitsrelevanz filtern
  • yum-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:

  1. Eine CentOS-Umgebung mit Docker für sichere Experimente eingerichtet
  2. Den Fehler "yum: command not found" simuliert und diagnostiziert
  3. Verschiedene Lösungen implementiert, um die YUM-Funktionalität wiederherzustellen
  4. Häufige YUM-Konfigurationsprobleme und deren Lösungen untersucht
  5. 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.conf und 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.