Wie erstelle und verwende ich Wiederherstellungspunkte in Arch Linux (oder Linux im Allgemeinen)?

7

Ich bin relativ neu in Arch Linux und ich mag das Rolling-Release-Konzept sehr. Jetzt möchte ich wissen, dass ich vor dem Ausführen eines Systemupdates über pacman -Syueinen Wiederherstellungspunkt erstellen möchte, damit ich bei einem fehlgeschlagenen Systemupdate in den letzten guten Zustand zurückkehren kann, in dem sich mein Computer vor dem versuchten Systemupdate befand.

Dies liegt daran, dass bei einer pacman -SyuInstallation auf meinem Arch mein System beschädigt wurde und nicht mehr gestartet werden konnte. Es passierte, als ich noch minimale bis keine wesentlichen Dateien auf meinem Computer hatte, also führte ich eine Neuinstallation durch. Aber jetzt, da ich ein System langsam nach meinen Wünschen aufgebaut habe, möchte ich es nicht mehr von Grund auf neu installieren und all die Dinge tun, die ich bereits wieder getan habe, sollte ein Systemupdate es beschädigen. Mit einem Wiederherstellungspunkt kann ich höchstwahrscheinlich meinen Computer wiederherstellen, ohne alles neu installieren zu müssen.

Wie erstelle und verwende ich Wiederherstellungspunkte in Arch Linux?

Baktin
quelle

Antworten:

8

Arch ist nicht dafür ausgelegt, so zu funktionieren: Es handelt sich um eine fortlaufende Version, daher müssen Sie die Pakete immer weiter aktualisieren, wenn sie auf Ihr Repo übertragen werden. Die einzige Alternative besteht darin, alles einzufrieren.

Das, was Sie fragen, kann jedoch am besten im Rahmen von Arch verwaltet werden, indem Sie zwei Dinge tun:

  1. Regelmäßige Aktualisierung (sodass Sie nur eine kleine Anzahl von Paketen gleichzeitig aktualisieren) und Verwendung der Anmeldungen /var/log/pacman.log, um eine Liste der Pakete bereitzustellen, die zurückgesetzt werden sollen, wenn ein Fehler auftritt.

  2. Leeren Sie den Cache von Paketen nicht vorzeitig oder - wenn Sie Speicherplatz benötigen - bevor Sie ein pacman -Scoder ausgeben pacman -Scc, und sichern Sie dann /var/cache/pacman/pkg/auf einem externen Laufwerk, damit Sie auf ältere Versionen zugreifen können, wenn Sie ein Paket oder Pakete herunterstufen müssen.

Wenn Sie das [Testing]Repo nicht ausführen, besteht in der Realität nur ein sehr geringer Bruch, und wenn dies geschieht, ist dies gut dokumentiert. Wie wojox feststellte , ist das Lesen eine Voraussetzung für die Aufrechterhaltung einer gut laufenden Arch Linux-Installation.

Für Linux im Allgemeinen können Sie ein Tool wie Clonezilla verwenden , um Snapshots Ihrer aktuellen Installation zu erstellen.

Vorsichtsmaßnahme Alle oben genannten Punkte beziehen sich auf Ihr System. Sie sollten natürlich ein System zur Sicherung Ihrer Daten haben.

Jasonwryan
quelle
4

Linux-Distributionen sind im Allgemeinen nicht mit einem Wiederherstellungssystem eingerichtet. Es gibt kleine Ausnahmen. Die von mir verwendete RPM-basierte Distribution speichert ein Archiv aller früheren Versionen von Paketen, wenn diese aktualisiert werden. Es ist möglich, diese Pakete zu installieren und die Software auf den Stand vor einem Upgrade zurückzusetzen. Dies führt jedoch zu einem Chaos in Bezug auf Abhängigkeiten und ist weniger nützlich, als es sich anhört. Normalerweise ist der einzige Ausweg aus Paketproblemen die Weiterleitung.

Wenn Sie jedoch ein systemweites Wiederherstellungssystem implementieren möchten, erfolgt dies eher über das Dateisystem als über die Paketverwaltung . Verwenden Sie ein Dateisystem wie XFS, das ein vollständiges Snapshotting des Dateisystems ermöglicht. Oder noch besser, richten Sie Ihre Laufwerke mit LVM ein und verwenden Sie ein beliebiges Dateisystem. Eine etwas manuellere Methode wäre das rsnapshotTool zum Erstellen inkrementeller Sicherungen.

Machen Sie einen Schnappschuss, bevor Sie größere Systemarbeiten ausführen. Wenn dann etwas schief geht, können Sie genau das zurücksetzen, was es war, und es erneut versuchen.

Caleb
quelle
2

Dies hängt vom verwendeten Dateisystem ab, nicht nur vom Betriebssystem oder Paketmanager.

Wenn Sie /mit btrfs arbeiten, können Sie die Snapshot-Funktion nutzen, um dies zu tun.

Ich habe gerade erst mit Arch angefangen, aber als Beispiel dafür, was getan werden könnte: Ubuntu hat apt-btrfs-snapshot . Es ist ein relativ einfaches Skript, das sich aptdirekt vor der Installation von Paketen in einen btrfs-Snapshot einfügt und Benutzern die Möglichkeit bietet, Snapshots einfach aufzulisten, zu erstellen, zu löschen oder zurückzusetzen. Natürlich funktioniert das alles nur, wenn /es auf btrfs ist. Mit 11,04 ist der Installateur klug genug zu setzen /und /homeauf separaten Subvolumes auch wenn sie auf der gleichen Partition sind, so haben keinen Einfluss auf Snapshot - Rollbacks /home.

afrazier
quelle
1

Manuell

Arch: Sicheres Speichern und Wiederherstellen von Pacman-Datenbanken beschreibt einen manuellen Ansatz zum Speichern eines Snapshots der Pakete in den offiziellen Repositorys. Sie können diesen Ansatz in Kombination mit dem Speichern eines Dateisystem-Snapshots für die Paketdaten verwenden. Nach meinem Verständnis werden nur die neuesten Versionen der Pakete in den Repositorys gespeichert.

Verwenden von aura

aura-binerleichtert das Zurücksetzen / Wiederherstellen eines pacman -SuSystemupdates / -upgrades.

Aktuellen Status speichern

So speichern Sie die Liste der installierten Pakete und Versionen:

aura -B

Stellen Sie den vorherigen Status wieder her

Wählen Sie einen vorherigen Wiederherstellungspunkt aus der Liste mit Datumsstempel aus:

aura -B --restore

Bereinigen Sie alte Wiederherstellungspunkte

So entfernen Sie alle bis auf die letzten 3 Wiederherstellungspunkte:

aura -Bc 3

Manjaro-Benutzer

Wenn Sie Manjaro ausführen, entfernen Sie die PKGBUILDAbhängigkeit von, abswenn Sie ausgeführt werden yaourt -S aura-bin.

Tom Hale
quelle