Wie mache ich eine Systemwiederherstellung?

16

Problem, mit dem ich konfrontiert war

  • Ich habe etwas installiert, das meine zuvor kompilierten WLAN-Treiber zum Absturz gebracht hat.
  • Das Deinstallieren des gleichen Pakets hat nicht geholfen.
  • Schließlich habe ich meine WLAN-Treiber neu kompiliert und die Dinge sind gut.

Meine Frage

Aber gibt es irgendetwas wie Systemwiederherstellung oder System-Rollback in Ubuntu / LinuxMint?

  • Gibt es irgendetwas, das undoein apt-get install packageBefehl kann?
Yugal Jindle
quelle
Systembruch ist ein ernstes Problem in Linux, muss es so etwas geben System Wide UNDO?
Yugal Jindle
Denken Sie außerhalb der Windows-Box (und Google Ihre Frage). Sie können einfach ganze Teile Ihres Systems komprimieren, aber zu sagen, dass ein Systemfehler ein ernstes Problem ist, ist einfach nicht wahr. Ich führe Linux auf allen meinen Computern aus (Arch Linux auf dem neuesten Stand, daher sollte die Stabilität darunter leiden), und ich muss noch feststellen, dass mein Computer abstürzt oder nicht funktioniert. Habe ich erwähnt, dass auf den Computern Arch jeweils seit 2 bis 4 Jahren ausgeführt wird?
Blender
Möglicherweise hat es sich gelohnt, das Paket zu löschen, das Ihr System beschädigt hat, da hierdurch alle damit verbundenen Einstellungen entfernt werden sollen.
Col
@Blender Ich bin seit 2 Jahren zu 100% Linux-Benutzer. Ich hasse zwar die Wiederherstellung von Windows-Systemen, aber unter Linux kann es vorkommen, dass X-Updates Ihre Grafiken beschädigen. Es sollte eine Sandbox oder etwas anderes geben, um dies rückgängig zu machen.
Yugal Jindle

Antworten:

7

Die Ergänzung von apt-get install packageist apt-get remove package. Um auch alle zugehörigen Einstellungen zu entfernen, müssen Sie ausführen apt-get purge package.

Beachten Sie, dass diese Befehle von den mit dem Paket gelieferten Deinstallationsskripten abhängen. Alle Pakete im Haupt-Repository, von denen ich weiß, machen ihre Deinstallation sehr gut. Dies ist bei Paketen von Drittanbietern möglicherweise nicht der Fall.

Was Ihr Treiberproblem betrifft, gibt es einige Möglichkeiten, warum die Installation eines Pakets Ihren drahtlosen Treiber beschädigte:

  • Der Treiber verfügt über einen Post-Installation-Hook, der ausgeführt wird, wenn eine Bedingung erfüllt ist, z. B. Kernel-Updates
  • Das Paket hat eine Datei überschrieben, von der der Wireless-Treiber abhängt
  • Bei dem fraglichen Paket handelt es sich um ein Kernel-Update, der Treiber verfügt jedoch nicht über einen Post-Installation-Hook zum erneuten Kompilieren des Treibers (höchstwahrscheinlich).

Was die Funktionen "System Rollback" / "System Restore" anbelangt, erhalten Sie am nächsten ein System-Image mit Software wie Clonezilla . Leider kann dies nicht auf einem laufenden System durchgeführt werden und muss von einer Live-CD ausgeführt werden.

Lekensteyn
quelle
14

Genau dafür gibt es eine Software für Linux namens Timeshift . Mit Timeshift können Sie regelmäßig Snapshots Ihres Linux-Systems erstellen und diese bei Bedarf wiederherstellen.

Diese Software bringt die Systemwiederherstellungsfunktion von Windows in Ihre Linux-Distribution.

Eine kurze Beschreibung von seiner offiziellen Website:

TimeShift für Linux ist eine Anwendung, die ähnliche Funktionen wie die Systemwiederherstellung in Windows und das Time Machine-Tool in Mac OS bietet. TimeShift schützt Ihr System, indem in regelmäßigen Abständen inkrementelle Snapshots des Dateisystems erstellt werden. Diese Snapshots können später wiederhergestellt werden, um Ihr System in den Zustand zu versetzen, in dem es sich zu dem Zeitpunkt befand, als der Snapshot erstellt wurde.

Schnappschüsse werden mit rsync und hard-links aufgenommen. Gemeinsame Dateien werden von Snapshots gemeinsam genutzt, wodurch Speicherplatz gespart wird. Jeder Snapshot ist eine vollständige Systemsicherung, die mit einem Dateimanager durchsucht werden kann.

Teo
quelle
Das hört sich gut an, aber wenn ich noch keine Schnappschüsse gemacht habe, kann ich das nicht ausnutzen. :/ richtig?
gsamaras
9

Tatsächlich gibt es bei Ubuntu et al. Auf diese Weise können Sie Änderungen rückgängig machen. Kurze unten:

  1. /var/backups/dpkg.status.*: In diesem Verzeichnis wird ein Protokoll des letzten Systemstatus vor einer Installation wie folgt gespeichert. /var/backups/dpkg.status.0ist das letzte Protokoll vor einer Statusänderung (z. B. Paketinstallation / -entfernung / -aktualisierung ... usw.); /var/backups/dpkg.status.?.gzsind komprimierte, archivierte Versionen der Protokolle zu verschiedenen Zeitpunkten, die monatlich gewechselt werden.
  2. /var/lib/dpkg/status: Dies ist der aktuelle Status der installierten Pakete. Durch manuelles Sichern oder Bereitstellen eines Logrotate-Skripts /etc/logrotate.dkönnen Sie Snapshots Ihres Systemstatus nach Ihren Wünschen planen.
  3. Rollback: Der Eckpfeiler ist Ihr bisheriger Zustand /var/backups/dpkg.status.0. Hier ist eine kurze schrittweise Anleitung zum Wiederherstellen des vorherigen Paketstatus ( kurz und nicht vollständig ).

    ein. cp /var/backups/dpkg.status /var/lib/dpkg/status(Der Paketstatus wird um eine Version zurückgesetzt).

    b. dpkg -l | grep ii(Sie erhalten eine Liste der angeblich installierten Pakete basierend auf der /var/lib/dpkg/statusin Schritt a. oben erzielten rückgängig gemachten Datei).

    c. dpkg -l | grep ii | awk '{print "apt-get --reinstall -y install", $2}' > /tmp/reinstall && sh /tmp/reinstall(erstellt ein einfaches einzeiliges Shell-Skript und führt dieses aus, um Pakete neu zu installieren, die sich vor einer apt-get-Operation auf dem System befunden haben)

    d. apt-get --reinstall install ucf(kümmert sich um das Desinfizieren von / etc Konfigurationsdateien ua)

    e. Wiederholen Sie Schritt c. wenn / wie nötig


Mit ein wenig Glück sollten Sie in Ordnung sein.

user148919
quelle
4

Es gibt keine solche Funktion in Ubuntu wie "Auf vorherigen Zustand zurücksetzen" in Windows. Sie sollten eine Sicherungskopie erstellt haben, um den Computer in einem früheren Stadium wiederherzustellen. Ernsthaft vermisse ich auch diese Funktion. Es gibt viele Tools, aber keines davon funktioniert wie Windows Restore Point oder Macs Time Machine. Mal sehen, ob sich das Backup unter Linux verbessert.

Abhijeet
quelle
1

btrfs hat / wird einige raffinierte Snapshot-Funktionen haben, die in der Lage sein sollten, mit solchen Dingen umzugehen. Behalten Sie einfach Ihre Daten in einem Dateisystem und Ihr System in einem anderen, und verwenden Sie regelmäßige (tägliche? Wöchentliche?) Snapshots. Führen Sie dann ein Rollback durch, wenn Probleme auftreten.

anon
quelle
2
Das Paket apt-btrfs-snapshot erstellt bei jeder Aktion von apt mit Paketen automatisch einen Snapshot des Root-Subvolumes, sodass ein Rollback problemlos möglich ist.
Psusi
1
Ellaborate .. bitte.
Yugal Jindle
1

Abgesehen von Timeshift und den erwähnten / var-Protokollen können Sie etckeeper auch verwenden, um zu verhindern , dass Konfigurationsdateien in Ihrem / etc-Verzeichnis zerstört werden und keine Backups zum Wiederherstellen vorhanden sind. Es verwendet ein VCS.

pd12
quelle