Dieses kurze Tutorial beschreibt, wie man defektes Arch Linux und seine Varianten wie EndeavourOS, Manjaro Linux in den vorherigen Betriebszustand zurückversetzt.
Neulich habe ich ein vollständiges System-Upgrade mit dem Befehl "sudo pacman -Syu"
durchgeführt , und endete mit einem kaputten Arch-Linux-System.
Mein Arch Linux weigerte sich, in den Grafikmodus zu booten, und zeigte weiterhin die Fehlermeldungen an:"dependency failed multi-user system"
und "dependency failed for graphical interface"
.
Die einzige Option, die ich hatte, war, mich im Einzelbenutzermodus anzumelden und zu versuchen, die aktualisierten Pakete auf ihre vorherigen Versionen zurückzusetzen.
Im Einzelbenutzermodus habe ich Folgendes versucht:
- Ich habe versucht, Pakete aus offiziellen Repositories zu installieren, aber ich konnte nicht. Da meine Netzwerkkarte im Einzelbenutzermodus nicht erkannt wird, funktionierte das Internet nicht.
- Die "Herabstufung" Befehl funktioniert nicht. Ich habe keine Idee warum. Daher konnte ich keine Pakete auf ihre vorherigen Versionen herunterstufen. Es wurde einfach eine Fehlermeldung
"sudo pacman command is not found"
angezeigt . - Also erneut versucht, alle Pakete auf ein bestimmtes Datum herunterzustufen . Es hat auch nicht geholfen. Ich habe den gleichen Fehler wie oben, dh
"sudo pacman command is not found"
.
Ich war hilflos. Alles, was ich habe, ist ein Tablet-PC mit Internetverbindung. Nach ausgiebiger Suche im Wiki und in den Foren von Arch Linux dachte ich mir, es noch einmal zu versuchen.
Ich habe mich entschieden, alle zuvor aktualisierten Pakete einzeln herunterzustufen. Denn der "pacman -Syu"
Der Befehl hat viele Pakete aktualisiert, daher konnte ich nicht genau bestätigen, welches Paket das Problem verursacht.
Wenn Sie sich in einer ähnlichen Situation befinden, hilft Ihnen diese Anleitung möglicherweise dabei, Ihr defektes Arch Linux in den vorherigen Betriebszustand zurückzusetzen.
Stellen Sie defektes Arch Linux auf den vorherigen Arbeitszustand wieder her
1. Melden Sie sich zunächst im Einzelbenutzermodus an. Geben Sie dazu "e"
ein wenn Sie das Grub-Menü sehen.
2. Suchen Sie dann die Zeile, die mit dem Wort linux
beginnt :
linux /boot/vmlinuz-linux root-UUID=d474f2-e6a2-4cc3-9899-aa98af13 rw quiet
Geben Sie am Ende der obigen Zeile die folgende Zeile ein:
init=/bin/bash
Sehen Sie sich den folgenden Screenshot als Referenz an.
3. Drücken Sie dann F10
oder CTRL+X
weitermachen. Nach ein paar Sekunden landen Sie im Einzelbenutzermodus.
4. Geben Sie den folgenden Befehl ein, um Ihr root (/)
zu mounten Dateisystem im Lese-/Schreibmodus.
mount -n -o remount,rw /
5. Jetzt müssen Sie herausfinden, wann Sie das vollständige Systemupgrade durchgeführt haben. Sie können dies leicht finden, indem Sie sich Ihre pacman.log
ansehen Datei. Diese Datei speichert alle bisherigen Pacman-Einträge.
tail -n 200 /var/log/pacman.log | less
Hier, -n 200
zeigt die letzten 200
an Zeilen in Ihrem pacman.log
Datei. Denn meine pacman.log
Datei hat so viele Einträge.
Wie Sie vielleicht wissen, zeigt der Befehl tail nur die letzten 10 Einträge an. Ersetzen Sie also 200
mit Ihrer eigenen Nummer, um die pacman.log
durchzugehen Datei. Und ich habe die Ausgabe von "tail"
weitergeleitet Befehl zu "less"
Befehl, um die Ergebnisse Seite für Seite anzuzeigen.
6. Nachdem ich die Datei pacman.log durchgesehen hatte, fand ich den genauen Zeitpunkt des vollständigen System-Upgrades. Überprüfen Sie den Zeitstempel im folgenden Screenshot (Entschuldigung für die schlechte Bildqualität).
Ich hatte "sudo pacman -Syu"
ausgeführt Befehl um 12:06 Uhr .
Wie Sie sehen können, "pacman -Syu"
Befehl hat 40+
aktualisiert Pakete.
7. Da kann ich "downgrade"
nicht verwenden Befehl ausführen und alle Pakete auf ein bestimmtes Datum downgraden, hatte ich keine andere Wahl, als alle aktualisierten Pakete einzeln mit "pacman -U"
herunterzustufen Befehl aus dem Cache. Wie Sie bereits wissen, pacman
speichert alle heruntergeladenen Pakete in /var/cache/pacman/pkgs/
Ordner.
8. Ich habe alle aktualisierten Pakete aus dem Screenshot notiert und sie nacheinander auf eine frühere Version aus dem Cache wie unten heruntergestuft.
pacman -U /var/cache/pacman/pkg/qt5-base-5.9.1-3-x86_64.pkg.tar.xz
Der obige Befehl installiert qt5-base
Paket aus dem Cache-Ordner. Ich habe fast eine halbe Stunde gebraucht, um alle Pakete herunterzustufen.
9. Wenn Sie den Cache-Ordner bereits geleert haben, haben Sie keine Wahl. Eine Neuinstallation ist möglicherweise die einzige Option. Daher empfehle ich Ihnen, mindestens zwei alte Versionen im Cache zu behalten, damit Sie sie wiederherstellen können, wenn es Probleme in den neuen Paketen gibt.
10. Geben Sie nach dem Downgrade aller Pakete den folgenden Befehl ein, um die Änderungen zu übernehmen und Arch Linux im normalen Modus zu starten.
exec /sbin/init
11. Jetzt kann ich mich problemlos bei meinem Arch Linux-Desktop anmelden. Ich denke, ich sollte ein paar Tage warten und dann versuchen, erneut zu aktualisieren, wenn dies behoben ist.
Wenn Sie Zeit und Geduld haben, stufen Sie ein Paket herunter und führen Sie "exec /sbin/init"
aus um Ihr System in den normalen Modus zu booten und zu prüfen, ob es das Problem löst.
Wenn nicht, versuchen Sie es mit einem anderen Paket. Wiederholen Sie dies, bis Sie das problematische Paket gefunden haben. Lassen Sie dann einfach das problematische Paket und aktualisieren Sie alle anderen Pakete.
Einige von Ihnen finden diese Methode vielleicht nicht so effizient und kompliziert. Aber so habe ich mein kaputtes Arch-Linux-System wiederhergestellt.
Vielleicht kennen Sie noch andere einfache Möglichkeiten als diese Methode. Wenn Sie solche einfachen Methoden kennen, lassen Sie es mich bitte im Kommentarbereich unten wissen. Ich werde die Anleitung entsprechend prüfen und aktualisieren.
Weitere nützliche Tutorials zu Arch Linux in diesem Blog:
- Paralleles Herunterladen in Pacman in Arch Linux aktivieren
- Neueste Mirror-Liste mit Reflector in Arch Linux abrufen
- Die empfohlene Methode zum Bereinigen des Paketcaches in Arch Linux
- Wie man verhindert, dass ein Paket in Arch Linux aktualisiert wird
- So beheben Sie den Fehler „pacman:Fehler beim Laden gemeinsam genutzter Bibliotheken“ in Arch Linux
Verwandte Lektüre:
- So reparieren Sie ein defektes Ubuntu-Betriebssystem, ohne es neu zu installieren