Subversionは、ソースをバージョン管理するためにインポートしたあと、チェックアウトをする必要があります。
Subversionがいくら便利でも/etcのファイルをインポートしたあとで、削除してからチェックアウトなんてことはできないので/etcのバージョン管理は、RCSに頼ってきました。
/etc下のファイルを管理するという意味では、Mercurialは有望です。
Mercurialは、管理対象のファイルは、そのままでリポジトリを作成できます。
悩みの種は、/etcにもキャッシュやロックなどの一時ファイルがあるので、これを除外する必要があります。
これを解決するのがetckeeperです。
etckeeperは、除外する必要のあるファイルを.hgignoreに設定してくれます。
etckeeperのインストール
aptでインストールできます。
$ sudo aptitude install etckeeper パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 以下の新規パッケージがインストールされます: etckeeper 0 個のパッケージを更新、 1 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。 25.7kB のアーカイブを取得する必要があります。 展開後に 340kB のディスク領域が新 たに消費されます。 拡張状態情報を書き込んでいます... 完了 取得:1 http://jp.archive.ubuntu.com jaunty/universe etckeeper 0.30ubuntu2 [25.7kB] 25.7kB を 0s 秒でダウンロードしました (74.0kB/s) パッケージを事前設定しています ... 未選択パッケージ etckeeper を選択しています。 (データベースを読み込んでいます ... 現在 52149 個のファイルとディレクトリがイン ストールされています。) (.../etckeeper_0.30ubuntu2_all.deb から) etckeeper を展開しています... man-db のトリガを処理しています ... etckeeper (0.30ubuntu2) を設定しています ... パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 $