![古い /etc を新しいシステム (CentOS) に復元する](https://rvso.com/image/617249/%E5%8F%A4%E3%81%84%20%2Fetc%20%E3%82%92%E6%96%B0%E3%81%97%E3%81%84%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%20(CentOS)%20%E3%81%AB%E5%BE%A9%E5%85%83%E3%81%99%E3%82%8B.png)
スペースを節約するために、/usr
( を除く/usr/local
)、、/bin
および/sbin
をバックアップしません/lib
。代わりに、 をrpm -qa --qf '%{NAME}\n'
実行して、これらのディレクトリの内容を復元するためにインストールする必要があるパッケージのリストを取得します。
ベアメタルリカバリを実行するときは、最小限の CentOS システムをインストールした後、リスト内のパッケージを yum を使用してインストールします。
次のステップは /etc を復元することですが、ここで問題があります。インストールしたパッケージは、バックアップを作成したときに古いシステムに存在していたものよりも新しいバージョンである可能性があります。したがって、古い /etc をコピーすると、その間に構成形式が変更された場合は問題が発生し、その間に重要な構成ディレクティブが追加された場合はインストールのセキュリティが低下する可能性があります。すべての構成ファイルをチェックすることもオプションですが、私はそれを避けたいです。より自動化された方法で実行できますか?
答え1
を実行しますrpm -Vac
。RPMによってインストールされたすべての設定ファイルのリストが表示されます。変更された。
また、/etc
前にパッケージをインストールすると、yum がそれを認識し、拡張子が異なる設定ファイルを配置します.rpmnew
。その後、それらのファイルを個別に確認することができます。
答え2
ぜひご覧になってみてください等キーパー。
etckeeper は、/etc を git、mercurial、bazaar、darcs リポジトリに保存するためのツールのコレクションです。[apt、yum] にフックして、パッケージのアップグレード中に /etc に加えられた変更を自動的にコミットします。git では通常サポートされていないが、/etc にとって重要なファイル メタデータ (
/etc/shadow
.