![システムバック:](https://rvso.com/image/1127593/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%90%E3%83%83%E3%82%AF%3A.png)
私は OS 管理に関しては初心者なので、この質問が無知なものであれば、どうかご容赦ください。
このアイデアは、説明の必要がないほど簡単です。基本的に、パッケージとバージョンのテキスト ファイルを保持し、変更ごとに新しい git コミットを作成します。何かが壊れた場合は、以前の設定に戻すことができ、apt は以前の環境に合わせてパッケージの削除、インストール、バージョン管理を処理します。
これが存在しない場合は、適切な OS 管理に関するアドバイスやアドバイスへのリンクをいただければ幸いです。ありがとうございます!
答え1
スナップショットを使用してこの作業を実行できるツールがいくつかあります (バージョン管理システムとは異なります)。
システムバック:
追加機能を備えたシンプルなシステムバックアップおよび復元アプリケーション
Systemback を使用すると、システムとユーザー構成ファイルのバックアップを簡単に作成できます。問題が発生した場合、システムの以前の状態を簡単に復元できます。システムのコピー、システムのインストール、ライブ システムの作成などの追加機能もあります。
インストール:
sudo add-apt-repository ppa:nemh/systemback sudo apt-get update sudo apt-get install systemback
バックインタイム:
Back In Time は「ユーザー モード」のバックアップ システムとして機能します。つまり、書き込みアクセス権を持つフォルダーのみをバックアップ/復元できます (実際には読み取り専用フォルダーをバックアップすることはできますが、復元することはできません)。
root として実行する場合は、「su」(コマンドライン)、「gksu」(Gnome)、または「kdesudo」(KDE) を使用する必要があります。
インストール:
sudo add-apt-repository ppa:bit-team/stable
sudo apt-get update
sudo apt-get install backintime
タイムシフト:
TimeShift for Linux は、Windows のシステム復元機能や Mac OS の Time Machine ツールと同様の機能を提供するアプリケーションです。TimeShift は、ファイル システムの増分スナップショットを定期的に取得することでシステムを保護します。これらのスナップショットは後で復元でき、スナップショットが取得された時点とまったく同じ状態にシステムを戻すことができます。
TimeShiftはシステムファイルと設定のみを保護するように設計されています。ドキュメント、画像、音楽などのユーザーファイルは除外されます。これにより、システムを以前の日付に復元してもファイルは変更されません。ドキュメントとファイルをバックアップするツールが必要な場合は、優れたツールをご覧ください。バックインタイムより構成可能で、ユーザー ファイルを保存するためのオプションを提供するアプリケーションです。
インストール:
sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift
答え2
フックを使うと適切実行する脚本各呼び出しの後にapt-get/dpkgインストールされているすべてのパッケージをリストし、新しいリストをgitリポジトリにコミットするスクリプト
例えば、/etc/apt/apt.conf.d/99-dpkg-snapshot
DPkg::Post-Invoke {"/usr/bin/dpkg -l > /root/apt.git/dpkg-list.txt; git commit -a -m `date +%Y%m%d%H%H%S` -C /root/apt.git"; };
そして作成するギットレポイン/root/apt.git
しかし、パッケージとそのバージョンのリストがあっても、システムを元の状態に戻すには不十分な場合があります。少なくとも、etckeeper などを使用して /etc を保持する必要があります。
使用する方が良いでしょうスナップショット代わりに@muruが言ったように。問題は、btrfsそしてライトVMファイルシステムのスナップショットを提供します。
device-mapper でも実行できますが、これは簡単ではありません。https://serverfault.com/a/481513/297044