複数のプロジェクトのシステムを構成する方法は? [閉鎖]

複数のプロジェクトのシステムを構成する方法は? [閉鎖]

複数のシステム設定を管理する方法を探しています。たとえば、プロジェクトの作業を開始すると、一部のソフトウェアとその依存関係をインストールする必要があります。このプロジェクトが完了したら、システムを以前の状態に復元できることを願っています。

私の理想的な状況はgitがありますが、システム全体を分岐し、実験し、任意の時点に戻すことができるようです。

これを達成する方法はありますか? LVMスナップショットの使用を考えてみましたが、これは良い考えですか?

ベストアンサー1

TL、DRの使用仮想ボックススナップ写真。

仮想マシンのスナップショットは、これらのニーズに最も一般的に使用されます。主な理由は単純さです。最悪の場合、データルートが書き込むことができるすべてのデータがゼロになります。 12GB以上のRAMと8TBのディスク容量を備えた最新の開発ボックスがある場合は、5〜10個のテスト環境を同時に実行し、800個のスナップショットを保存できます。

一方、テストが比較的穏やかな場合は、アクションログのみを維持し(apt install x y z && mkdir project0)元に戻す(apt purge x y z && rm -r project0)、他のプロジェクトに干渉しない場合は維持するのが一般的なオプションです。

brtfsはバックアップサーバーにスナップショットの違いを効果的に提供できるので、興味深い選択です。欠点は、少し複雑で安定性がはるかに低下することです。

他にも多くのオプションがあります(git/lvm/rsync/rdiffbackup/zfs/コンテナ/etc )、欠点もあります(例:余分な時間/スペース、またはそれほど堅牢ではありません)。最終的には、質の高い開発者の時間が最も多い商品なので、計画や環境設定に費やす時間が短くなるほど、生産性を高めるために多くの時間を費やすことができます。したがって、2つの簡単なオプションのうちの1つから始めて、時間の無駄がある場合にのみ、より複雑なソリューションを探索してください。

おすすめ記事