Wie man defekte Pakete unter Linux repariert


Linux
2024-05-05T14:00:14Z

Wichtigste Erkenntnisse

  • Führen Sie "sudo apt install -f" aus, um defekte Pakete unter Ubuntu und Debian-basierten Distributionen neu zu installieren und zu reparieren.
  • Unter Fedora, CentOS und RHEL können Sie defekte Pakete mit dem Befehl "sudo dnf --refresh reinstall " reparieren.
  • Unter Arch Linux führen Sie den Befehl "sudo pacman -S --force " aus, um die Neuinstallation eines defekten Pakets zu erzwingen.

Defekte Pakete in Linux sind Softwarepakete, die beschädigt wurden oder nicht mehr funktionieren. Mit Hilfe von Paketmanagern können Sie defekte Pakete identifizieren und reparieren und so Probleme wie Fehlfunktionen von Programmen, Systeminstabilität und Datenverlust verhindern.

Im Folgenden erfahren Sie, wie Sie Fehler bei defekten Paketen unter Linux finden und beheben können.

Wie geht ein Linux-Paket kaputt?

Linux-Pakete sind Dateien, die installierbaren Softwarecode enthalten. Diese Pakete enthalten alle wichtigen Dateien, Abhängigkeiten und Anweisungen, damit die Software wie vorgesehen funktioniert. Wenn ein Paket kaputt geht, bedeutet das, dass bei der Installation oder Konfiguration etwas schief gelaufen ist und es nicht mehr funktioniert oder nicht mehr aktuell ist.

Wenn zum Beispiel ein Prozess unterbrochen wird, kann ein Paket in einem halb installierten oder halb entfernten Zustand zurückbleiben. Darüber hinaus können Abhängigkeitsprobleme auftreten, wenn ein Paket auf andere Pakete (Abhängigkeiten) angewiesen ist, um korrekt zu funktionieren, und wenn eine Abhängigkeit fehlt oder defekt ist, kann dies das Hauptpaket unbrauchbar machen.

Darüber hinaus können auch Repository-Probleme zu fehlerhaften Paketen führen. Repositories sind Sammlungen von Softwarepaketen, und wenn sie falsch konfiguriert sind oder fehlerhafte Pakete enthalten, kann dies zu Problemen mit den von ihnen installierten Paketen führen.

Wie man kaputte Pakete unter Linux repariert

Der Prozess zur Behebung defekter Pakete variiert je nach verwendeter Linux-Distribution. Hier besprechen wir die Methoden für Ubuntu/Debian, Fedora/CentOS/RHEL und Arch Linux.

Das Entfernen defekter Pakete kann riskant sein, wenn es falsch gemacht wird. Es wird im Allgemeinen empfohlen, zuerst zu versuchen, das defekte Paket zu reparieren. Wenn das Paket jedoch nicht mehr benötigt wird und Sie sicher sind, dass es keine Konflikte verursacht, können Sie es mit dem entsprechenden Befehl der Paketverwaltung entfernen.

Aktualisieren defekter Pakete unter Ubuntu und Debian

Wenn Sie ein Ubuntu/Debian-Benutzer sind, können Sie die defekten Pakete entweder mit APT oder dem Befehl dpkg reparieren. Beginnen wir damit, die Pakete mit APT zu aktualisieren.

APT ist der Standard-Paketmanager von Ubuntu, Debian und verwandten Distributionen. Mit ihm können Sie Pakete installieren, aktualisieren und entfernen.

Führen Sie den folgenden Befehl aus, um den Paketindex zu aktualisieren und gleichzeitig beschädigte Pakete zu reparieren:

sudo apt update --fix-missing

Verwenden Sie die Option -f oder --fix-broken, um defekte Pakete zu identifizieren und zu reparieren, indem Sie sie aus den offiziellen Repositories neu installieren.

sudo apt install -f

Nachdem Sie die defekten Pakete installiert haben, aktualisieren Sie Ihre Paketliste, indem Sie dies ausführen:

sudo apt update

Wenn die Ausgabe keine Fehler enthält, haben Sie die defekten Pakete repariert.

Sie können auch den Befehl dpkg verwenden, um defekte Pakete zu erkennen und zu reparieren. Um teilweise installierte Pakete mit dpkg zu rekonfigurieren, verwenden Sie:

sudo dpkg --configure -a

Hier weist die Option --configure dpkg an, ein Paket zu konfigurieren. Wenn eine Paketinstallation fehlschlägt, kann sie das Paket in einem unkonfigurierten Zustand zurücklassen. Diese Option hilft, solche Probleme zu beheben. Außerdem steht die Option -a für all und wird verwendet, um alle Pakete auszuwählen, die sich in einem unkonfigurierten Zustand befinden, anstatt ein einzelnes Paket anzugeben.

Lassen Sie uns grep mit dpkg verbinden, um eine Liste der defekten Pakete zu erhalten, die neu installiert werden müssen:

sudo dpkg -l | grep ^..r

Sobald Sie die Liste der defekten Programme haben, können Sie sie mit dem folgenden Befehl einzeln entfernen:

sudo dpkg --purge

Hier weist die Option --purge dpkg an, das Paket einschließlich seiner Konfigurationsdateien vollständig zu entfernen.

Nachdem Sie alle defekten Pakete entfernt haben, müssen Sie den Paket-Cache mit folgendem Befehl bereinigen:

sudo apt clean

Um die Paketliste zu aktualisieren, führen Sie abschließend Folgendes aus:

sudo apt update

Wenn die Ausgabe keine Fehler enthält, haben Sie alle defekten Pakete erfolgreich repariert.

Manchmal, wenn Sie defekte Pakete reparieren, erhalten Sie den dpkg lock Fehler. Dieser Fehler tritt auf, wenn Sie versuchen, ein Paket zu installieren, aber das System denkt, dass bereits eine andere Installation stattfindet. Manchmal taucht er auch auf, wenn keine anderen Installationen laufen.

Um den Fehler zu beheben, können Sie warten, bis laufende Installationen beendet sind, nach automatischen Aktualisierungen suchen oder, falls nötig, die Sperrdatei selbst vorsichtig entfernen.

Um die Sperrdatei zu entfernen, führen Sie diesen Befehl aus:

sudo rm /var/lib/apt/lists/lock

Sie können auch die Cache-Sperre wie folgt entfernen:

sudo rm /var/cache/apt/archives/lock

Wenn Sie diese Sperrdateien löschen, können Sie die Befehle zur Paketverwaltung wieder ohne Probleme verwenden.

Neuinstallation beschädigter Pakete unter Fedora und RHEL

YUM und DNF sind nützlich für den Umgang mit beschädigten Paketen, aber angesichts der großen Anzahl von Paketen auf einem Linux-System können dennoch Probleme auftreten. Sie können jedoch Probleme mit defekten Paketen unter Fedora, CentOS und RHEL beheben, indem Sie den RPM-Paketmanager verwenden.

Um mögliche Probleme zu erkennen, überprüfen Sie alle Pakete auf Ihrem System mit der Option -V:

sudo rpm -Va

Dieser Befehl überprüft die in der RPM-Datenbank gespeicherten Paket-Metadaten, um Probleme mit Ihren Paketen zu erkennen.

Sie können Probleme mit defekten Paketen auch beheben, indem Sie installierte Pakete auf die neueste verfügbare Version aktualisieren.

sudo dnf upgrade -b

Die Option -b zwingt DNF, nur die neueste Version von Paketen zu berücksichtigen.

Ein defektes Paket unter vielen zu finden, kann frustrierend sein.

Wenn Sie jedoch ein bestimmtes Paket gefunden haben, das nicht mehr funktioniert, können Sie es mit diesem dnf-Befehl neu installieren:

sudo

dnf --refresh reinstall

Stellen Sie

sicher, dass Sie den Namen des defekten Pakets durch den tatsächlichen Namen ersetzen .

Wenn Sie YUM verwenden und ein Fehler bei einem defekten Paket auftritt, versuchen Sie, alle Pakete neu zu installieren.

sudo yum reinstall /*

Wenn die Neuinstallation aller Pakete Ihr Problem nicht löst, können Sie leider versuchen, die defekten Pakete zu überspringen.

sudo yum update --skip-broken

Wenn das Problem nach all den oben genannten Schritten nicht behoben ist, müssen Sie möglicherweise das defekte Paket und seine Abhängigkeiten entfernen:

sudo dnf remove packagename Behebung

defekter Pakete unter Arch Linux

Unter Arch Linux können Sie defekte Pakete mit Pacman leicht erkennen und beheben. Pacman hat ein -Qk Flag, um das System auf Paketprobleme zu überprüfen.

So erhalten Sie eine Liste aller derzeit installierten Pakete auf Ihrem System:

sudo pacman -Qk

Sie können diese Liste verwenden, um nach installierter Software zu suchen, veraltete Pakete zu identifizieren und Ihre Systemkonfiguration im Auge zu behalten. Um jedoch eine Liste aller Pakete mit fehlenden Dateien zu erhalten, führen Sie Folgendes aus:

>sudo pacman -Qk 2/dev/null | grep -v ' 0 missing files'

Sobald Sie die Liste der fehlerhaften Pakete haben, können Sie diese neu installieren.

Sie können dies einzeln mit dem folgenden Befehl tun:

sudo

pacman -S --force

Sie können die Option --force verwenden, um bestehende Pakete zu überschreiben. Pacman wird die Paketliste aktualisieren und das angegebene Paket neu installieren und dabei alle defekten Abhängigkeiten beheben.

Sie können kaputte Pakete auch reparieren, indem Sie die Paketliste Ihres Systems aktualisieren.

sudo pacman -Syu

Sichern Sie immer Ihr System

Nur als Vorwarnung: Das Reparieren kaputter Pakete sollte die Stabilität Ihres Systems nicht beeinträchtigen, aber es ist immer eine gute Idee, Ihr System

zu sichern

, bevor Sie Änderungen vornehmen. Um defekte Pakete von vornherein zu vermeiden, halten Sie einfach Ihre Paketliste auf dem neuesten Stand, seien Sie vorsichtig beim Installieren oder Entfernen von Paketen und nutzen Sie die Sicherheitsfunktionen des Paketmanagers.