私はArchLinuxに比較的慣れておらず、そのローリングリリースの概念が本当に気に入っています。ここで知りたいのは、pacman -Syu
を介してシステム更新を行う前に、復元ポイントを作成して、システム更新が失敗した場合に最後に戻ることができるようにすることです。システムをアップデートする前に、コンピュータが良好な状態であった。
これは、Archのインストールでpacman -Syu
を実行すると、システムにエラーが発生し、起動しないためです。これは、コンピューターに必須ファイルがほとんどないかまったくないときに発生したため、新規インストールを実行しました。しかし、今では自分の好みに合わせてゆっくりとシステムを構築しているので、システムを最初から再インストールして、システムの更新によってシステムが壊れた場合に、すでに行ったすべてのことをやり直したくありません。 復元ポイントを使用すると、すべてを再インストールする手間をかけずに、コンピューターを復元できる可能性があります。
では、どのようにしてArch linuxでrestore pointsを作成して使用するのですか?
Archはそのように機能するように設計されていません。それはローリングリリースであるため、リポジトリにプッシュされるときに常にパッケージのアップグレードを継続する必要があります。唯一の代替策は、すべてを凍結することです。
そうは言っても、あなたが求めていることは、2つのことを行うことによってArchフレームワーク内で最もよく管理できます。
定期的に更新し(一度に少数のパッケージのみをアップグレードするため)、/var/log/pacman.log
のログを使用して、問題が発生した場合にロールバックするパッケージのリストを提供します。
パッケージのキャッシュを時期尚早にクリアしない、または(スペースが必要な場合)pacman -Sc
またはpacman -Scc
を発行する前に、外部ドライブに/var/cache/pacman/pkg/
をバックアップしてアクセスできるようにする1つまたは複数のパッケージをダウングレードする必要がある場合は、古いバージョンに。
[Testing]
リポジトリを実行していない場合、破損の方法はほとんどなく、発生した場合は十分に文書化されています。 wojoxに記載 のように、読み取りは、適切に実行されているArchLinuxインストールを維持するための前提条件です。
一般的なLinuxの場合、 Clonezilla のようなツールを使用して、現在のインストールのスナップショットを作成できます。
警告上記はすべて、システムに関するものです。もちろん、データをバックアップする体制を整えておく必要があります。
一般的に、Linuxディストリビューションには、復元システムのようなものがセットアップされていません。小さな例外があります。私が使用しているRPMベースのディストリビューションは、アップグレード時に以前のすべてのバージョンのパッケージのアーカイブを保持します。これらのパッケージをインストールして、ソフトウェアをアップグレード前の状態にロールバックすることは可能ですが、これは依存関係の混乱を引き起こし、思ったほど有用ではありません。通常、パッケージの問題から抜け出す唯一の方法はフォワードです。
ただし、システム全体の復元システムを実装する場合は、これを行う方法は、パッケージマネージャーではなくファイルシステムを使用することです。完全なファイルシステムスナップショットを可能にするXFSなどのファイルシステムを使用します。さらに良いことに、LVMでドライブをセットアップし、好きなファイルシステムを使用します。もう少し手動の方法は、増分バックアップを作成するためのrsnapshot
ツールです。
主要なシステム作業を行う前に、すべてのスナップショットを作成してください。その後、問題が発生した場合は、元の状態にロールバックして再試行できます。
Archで行う2つのことは アップグレードする前に読む
および パッケージのダウングレード 。私は復元ポイントを知りません:)。
OSやパッケージマネージャーだけでなく、使用しているファイルシステムにも依存します。
Btrfsで/
を実行すると、そのスナップショット機能を利用してこれを行うことができます。
私はjustだけをArchで始めましたが、何ができるかの例として:Ubuntuには apt-btrfsがあります-スナップショット 。これは、パッケージをインストールする直前にapt
にフックしてbtrfsスナップショットを作成する比較的単純なスクリプトであり、ユーザーがスナップショットを簡単に一覧表示/作成/削除/ロールバックできるようにします。もちろん、これらすべては/
がbtrfsにある場合にのみ機能します。 11.04では、インストーラーは/
と/home
を同じパーティション上にある場合でも別々のサブボリュームに配置できるほどスマートであるため、スナップショットのロールバックは/home
に影響しません。
Arch:pacmanデータベースを安全に保存および復元する 公式リポジトリにパッケージのスナップショットを保存するための手動のアプローチの概要。このアプローチは、パッケージデータのファイルシステムスナップショットの保存と組み合わせて使用できます。私の理解では、パッケージの最新バージョンのみがリポジトリに保持されます。
aura
の使用aura-bin
は、pacman -Su
システムの更新/アップグレードを簡単にロールバック/復元できます。
インストールされているパッケージとバージョンのリストを保存するには:
aura -B
日付がスタンプされたリストから前の復元ポイントを選択します。
aura -B --restore
最後の3つの復元ポイントを除くすべてを削除するには:
aura -Bc 3
Manjaroを実行している場合は、yaourt -S aura-bin
を実行するときにPKGBUILD
へのabs
依存関係を削除します。