2009年2月28日土曜日

設定ファイルをrcsで管理するための細かい話

個人で使っているFreeBSD機において、/etcや/usr/local/etc などにある設定ファイルの変更履歴をrcsで記録するための、ざっくりとしたメモです。setenv RCSINIT -zLTは忘れないようにしたい。あとemacs。お好みでvim+rcs-menu.vimなど。

新しい設定を書き起こすとき

設定ファイルのパーミッションに厳しいプログラムを使うことがあったのですが、rcsやcvsなどではファイルのパーミッションを保存しておくのが難しいのです。しかもどんな設定にすればいいのか忘れやすい。そこで、rcsでファイルを初めてチェックインするときに、log ではなく、description という、ファイルの説明メッセージを書く部分にメモします。意図が違うとかはまあおいといて、どうすればいいかというと……( /usr/local/etc/target.conf を例にする。)

# cd /usr/local/etc/
# mkdir RCS (ない場合は作るべき。後述。)
# ls -l target.conf | ci -i -l target.conf (これでパーミッション情報をメモする。)
# rcs -U target.conf

わざわざRCSディレクトリを作るのは、 find / -not -path '/usr/home/*' -name RCS -type d で探しやすくするため。

ファイルを変更した際には ci -l でチェックインします。-lを忘れるとチェックインしたときにファイルが消えてしまうので注意。

ls の引数と ci の引数に同じファイル名を二度打ちしないといけないところがいまいちかも。
パイプなど使わなくても、ci -i 時のインタラクティブ入力で、ls -lの結果をターミナル窓でコピペしてもOK。情報を残しておくということが重要なのだろうと思います。

何故cvs, subversion, gitではなく rcs なのか?

  • FreeBSDに標準で入っているから
  • 単に使い慣れているから
  • パスワード系のファイルも取り扱う /etc の下を丸ごとリポジトリにコピーしてしまうのはあまりよくないかなと思ったから(多分対処法はある……んじゃないかな?)

rootのままチェックインだのなんだのすることに対する抵抗感はsudoなどで払拭できるか?(未確認)

バックアップは?

設定ファイルが散逸してしまうことは間違いないので、RCSディレクトリをこまめに探しておいて保存するしかないかも?

複数台の設定を管理するノウハウはまた別にあると思いますが、それはまた別の機会に。



追記:linuxでお使いの場合は rcs を導入すれば同じような対応でOKのはず。例えば debian 系 ( ubuntu など ) であれば apt-get install rcs すればよいです。

2009年2月23日月曜日

続・はてブのはてブの果て

まさかこの記事の続きを書くことになろうとは思わなかったのですが……

数ヶ月前にちょっとした思いつきで『はてブのはてブ』を試してみたことをちょこっと書いたのですが、どうもこれは『メタブックマーク』と呼ばれるテクニックのようです。
そんでもってさらに、これの度を超した使い方というのが……

いったい何事?こんなの初めて見た。

ファンタスティック・はてぶタワー
http://d.hatena.ne.jp/next49/20090223/p1

多層構造っぽく見えることから、はてブ界隈の利用者の一部が上だの下だのと大騒ぎしているようですが、なんだか素朴に、情報が散逸しやすい煩雑な機能になっているなあという感想を抱いたのでした。


このあいだ、URLの正規化に関する記事を読んだのですが、もしかしたらこういう多層化はURLの正規化と搦めれば解消できる問題なんでしょうか。そこまでしていいものなのかどうか、よく分かりませんけど……