/etc配下をバージョン管理をしよう!
ということでetckeeperをインストール、する前にバージョン管理はgitで行いたいので、先にgitのインストールをする。
etckeeperを先にインストールすると一緒にbzrがインスト-ルされることになるので注意。
gitのインストール
sudo aptitude install git
これだけです。簡単ですね。
etckeeperのインストール
sudo aptitude install etckeeper
これだけです。k(ry
etckeeperはデフォルトでbzrで管理するように設定されているので、これをgitに変更する。
etckeeperの設定変更
sudo nano /etc/etckeeper/etckeeper.conf
# The VCS to use. #VCS="hg" VCS="git" #VCS="bzr" #VCS="darcs" # Options passed to git commit when run by etckeeper. GIT_COMMIT_OPTIONS="" # Options passed to hg commit when run by etckeeper. HG_COMMIT_OPTIONS="" # Options passed to bzr commit when run by etckeeper. BZR_COMMIT_OPTIONS="" # Options passed to darcs record when run by etckeeper. DARCS_COMMIT_OPTIONS="-a" # Uncomment to avoid etckeeper committing existing changes # to /etc automatically once per day. #AVOID_DAILY_AUTOCOMMITS=1 # Uncomment the following to avoid special file warning # (the option is enabled automatically by cronjob regardless). #AVOID_SPECIAL_FILE_WARNING=1 # Uncomment to avoid etckeeper committing existing changes to # /etc before installation. It will cancel the installation, # so you can commit the changes by hand. #AVOID_COMMIT_BEFORE_INSTALL=1 # The high-level package manager that's being used. # (apt, pacman-g2, yum etc) HIGHLEVEL_PACKAGE_MANAGER=apt # The low-level package manager that's being used. # (dpkg, rpm, pacman-g2, etc) LOWLEVEL_PACKAGE_MANAGER=dpkg
リポジトリ作成と初回コミット
sudo etckeeper init sudo etckeeper commit "init add"
あとはaptを使った更新時には自動的にコミットされるし、etckeeperインストール時に/etc/cron.daily/配下にetckeeperが作成されるので毎日自動コミットされるし、手動でコミットしたいときは
sudo etckeeper commit "コメント"
でコミットすればいいし楽ちんだね!
サブコマンドの追加
参考URL:etckeeperのつかいかた(インストール、サブコマンド追加) | http://blog.udzura.jp
etckeeperの用意されていないサブコマンドが自作できるみたい。
サブコマンド logのディレクトリ作成
sudo mkdir -p /etc/etckeeper/log.d
サブコマンドのスクリプト作成
sudo nano /etc/etckeeper/log.d/10git-log
#!/bin/sh set -e if [ "$VCS" = git ] && [ -d .git ]; then git --git-dir=/etc/.git log \ --graph \ --all \ --color \ --pretty='%x09%h %cn%x09%C(yellow)(%cr)%Creset%x09%s %Cred%d%Creset' fi
サブコマンドのスクリプトに実行権限付与
sudo chmod +x /etc/etckeeper/log.d/10git-log
実際にコマンドを実行してみる
sudo etckeeper log
* f256560 root (49 minutes ago) init add (HEAD, master)
※実際には(49 minutes ago)の文字は黄色、(HEAD, master)の文字は赤色になってマス。