FreeBSD mergmasterで設定ファイルをなんとかする件

Posted on Posted in 開発Tips

cvsup等でportsやシステムのソースをアップした時
設定ファイルの形式が、新しくなるときがある。
その場合、もちろん差分を新しい設定ファイルに
手動で置き換えて。。。なんとかしないといけない。
結構大変!どれが違うかもわからん!

mergemasterコマンドはそんな貴兄の為に存在します。
/etcにはそのまま上書きしては困るファイルがいっぱい。
/etc/master.passwdや/etc/ppp/ppp.confとかネットワークを
頑張って設定したファイルがあるはず。
しかし新しいバージョンになったら、前の更新ファイルは
あきらめるしかないのか!?mergemasterは差分取り込みを
補助してくれます。

#mergemaster
いくつか指示をくれ!っていう画面が表示されます。以下内容です。
[d]更新を無視して現在の設定ファイルのまま
[i]現在の設定ファイルを無視して新しい設定ファイルで上書き
[m]行単位で新旧設定ファイルの差分を比較し新旧どちらを利用するか選択
[v]もう一度新旧設定ファイルの差分を表示

どれを選ぶの?基本的には以下が参考になるみたい。
1:自分で設定した覚えの無い設定ファイルは[i]で上書き
2:自分で設定した覚え有り!
2−1:/usr/src/UPDATINGに変更記述があるか、簡単に変更できそうなら[m]で
1行ずつ変更。
2−2:変更内容がそれ程重要でないなら[d]で無視

微妙だ。。。
通常/etc/defaultや/etc/rc.dの内容をユーザが設定することはないみたい。
それらのファイルなら[i]で上書きしてもさほど問題ない。
[m]で編集モードに以降すると|で区切られた1行が表示される。
左が旧設定ファイル、右が新設定ファイルの内容。
どちらを選ぶかは[l][r]で選択できる。

ついでにmergemaster -pはmake buildworld以前に必要な更新を行ってくれます。

Linux,Apache,PHP,MySQLでWebシステム開発はシステムインテグレートにご相談下さい。
http://www.system-integrate.com

iPhone開発,iPad開発はシステムインテグレートにご相談下さい。
http://www.system-integrate.com