etckeeper
最近はubuntuもとんとご無沙汰なんですが、いつまでたっても本番運用できない自宅サーバ機で、etckeeperなるものを試してみました。
ubuntu 9.10で試してます。
インストール
# aptitude show etckeeper パッケージ: etckeeper 新規: yes 状態: インストールされていません バージョン: 0.38ubuntu1 優先度: 任意 セクション: universe/admin メンテナ: Ubuntu Developers展開サイズ: 381k 依存: bzr (>= 1.4~) | git-core (>= 1:1.5.4) | mercurial | darcs, debconf (>= 0.5) | debconf-2.0 推奨: cron 競合: bzr (< 1.4~) : :
まだVCSと呼ばれるものは何もインストールしてない環境で、このままetckeeperをインストールすると、bzr(Bazaar)がインストールされちゃいそうなので、ひとまずgitをインストールしました(一緒にインストールすりゃいいんでしょうが)
# aptitude install git-core
この後、etckeeperをインストールしました。
# aptitude install etckeeper
設定
/etc/etckeeper/etckeeper.conf を編集しておく。
bzrを使う設定になっているので、bzrをコメントアウトして、gitを有効にする。
VCS="git" # VCS="bzr"
その後、下記のようにしてリポジトリの初期化と最初のバージョンのコミットをする
# etckeeper init Initialized empty Git repository in /etc/.git/ # etckeeper commit
エディタが起動するのでコメントを書いて、コミット完了
使ってみる
ここで、update-alternatives --config editor コマンドにて、editor を nanoからvim.tinyに変更したので、/etc 配下に変更があった(はず)
root:/etc# git status # On branch master # Changed but not updated: # (use "git add..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: alternatives/editor # modified: alternatives/editor.1.gz # # Untracked files: # (use "git add ..." to include in what will be committed) # # alternatives/editor.fr.1.gz # alternatives/editor.it.1.gz # alternatives/editor.pl.1.gz # alternatives/editor.ru.1.gz no changes added to commit (use "git add" and/or "git commit -a")
上記のように直接gitコマンドで確認しても、変更があったことを確認できたので、etckeeperにてcommitしてみる。
# etckeeper commit
としたところ、下記のような画面でエディタが起動した。
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Author: root# # On branch master # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # modified: alternatives/editor # modified: alternatives/editor.1.gz # new file: alternatives/editor.fr.1.gz # new file: alternatives/editor.it.1.gz # new file: alternatives/editor.pl.1.gz # new file: alternatives/editor.ru.1.gz
コメントを追記してエディタを終了したところ、
[master 37da6ed] update-alternative --config editorを実行して デフォルトのエディタをvim.tinyに変更した 6 files changed, 6 insertions(+), 2 deletions(-) create mode 120000 alternatives/editor.fr.1.gz create mode 120000 alternatives/editor.it.1.gz create mode 120000 alternatives/editor.pl.1.gz create mode 120000 alternatives/editor.ru.1.gz
ってな感じのメッセージが表示されて完了。
(上記の日本語がコメント)
root:/etc# git log commit 37da6ed631c82b056013ed2d099d24d47877be70 Author: rootDate: Sun Jan 3 06:26:48 2010 +0900 update-alternative --config editorを実行して デフォルトのエディタをvim.tinyに変更した : :
という感じで日本語のコミットメッセージも問題ないみたい(このあたりはgitによるものか...)
ここまでの疑問と雑感
- etckeeperを使うと/etc配下のファイル更新管理が簡単にできるような気がしていたが、gitやbzrなどのVCSを直接使わないことには、更新されてるかどうかわからない
- ということで、結局はgitをただ使っている気分になるのではなかろうか。
もう少し使ってみることにします....
2010-01-12 追記
# aptitude safe-upgrade
を実行したところ、所々でetckeeperが実行されているようなメッセージを目撃した。
つまり、aptでパッケージをインストールなんかすると、etckeeperは勝手に動く、ということなのか。
# cd /etc # git log commit 0cbfcbdb457f9b03cf994a49e7bbed5875fe2b4a Author: rootDate: Tue Jan 12 23:50:17 2010 +0900 committing changes in /etc after apt run Package changes: -libc-bin 2.10.1-0ubuntu15 -libc6 2.10.1-0ubuntu15 +libc-bin 2.10.1-0ubuntu16 +libc6 2.10.1-0ubuntu16 -libgssapi-krb5-2 1.7dfsg~beta3-1 +libgssapi-krb5-2 1.7dfsg~beta3-1ubuntu0.1 -libk5crypto3 1.7dfsg~beta3-1 +libk5crypto3 1.7dfsg~beta3-1ubuntu0.1 : :
これなら、パッケージの入れ替えやって/etc配下のファイルが書きかわっても、だいぶ管理が楽かも。