クリアケース FAQ
クリアケースを使っていると、ぽっと出の問題とか、なんか便利な機能をふっと見つけたりします。ここではそれらを紹介します。これまでのは管理者なら誰でも知っていることっていうか、避けては通れない道だったんだけど、こっからは知ってると便利。あとめったに使わないコマンドで、あれ?どうだったっけ?みたいなのを中心にしたいと思っています(自分のメモだったりします)。ま、なんでもありなんですZE。
いらなくなったVOBを削除する
めったにないことなんだけど、たまにVOBを消さないといけない時があって、さくっとrmvob で消そうとしたらなんかエラーで消せない!なんてことがあります。その時にやる正しいVOBの消し方です。
0. 準備として、Viewをセットしなくちゃいけません。なのでここで作成した管理用Viewに入ります。
cleartool setview vobadm_view
1. VOBを rmvob コマンドを使わないで消すには3段階必要です。順番があって、 unregister → process 削除 → rmtag → データエリア(.vbs)の削除です。↓は /tokyo/clearcase_prj/docs を消す場合。
cleartool -l /tokyo/clearcase_prj/docs
↑結果からUUIDをコピーする。Vob replica uuid: 82744082.243211d9.b882.00:01:80:fa:4b:18
ps -ef | grep -i tokyo_clearcase_prj_docs.vbs
↑結果からProcess IDをコピーする。例えば↓の例でいくと 10571。
vobadm 10571 26187 0 18:01:53 ? 0:00 vobrpc_server /tokyo_data/vobs/tokyo_clearcase_prj_docs.vbs -S13:17,tcp
そしてその情報を使って、実際に以下のように消します。
cleartool unregister -vob -vobuuid 82744082.243211d9.b882.00:01:80:fa:4b:18
kill 10571
cleartool rmtag -vob -all -password japan /tokyo/clearcase_prj/docs
rm -r
/spain_data/vobs/tokyo_clearcase_prj_docs.vbs
最後のrm -r はちょっと緊張しながらやってくださいませ。
いらなくなったVIEWを削除する
VIEWの削除はクリアケース管理者の頭をいつも悩ませる。なぜかって、ユーザは自分で作ったVIEWを作業後に決して消そうとはしないからだ。サーバにはいくつもの不要な使われなくなったVIEWであふれている。Reserved チェックアウトしっぱなしなんて最低のケースも少なくない。しかも厄介なことに、これらの不要なVIEWはコンパネからVIEWを削除する、ってな一般的なやり方ではエラーを返してくる。僕自身、このコマンドたちは管理者になって一番多く使ったコマンドのひとつかもしれない。ここでは一般的なアドミンツールから消せないVIEWの正しいVIEWの削除方法を紹介しよう。
ここでは実践的にtokyoサーバにアクセスするWindowsクライアントで作られた(リージョン JAPN_WIN)VIEW、 test_viewを削除します。
1. まずはVIEWのuuidをチェックして、レジストリから削除します。
cleartool lsview -l-region JAPAN_WIN test_view
View uuid: 1bf38ab1.7c8948c1.8599.41:30:85:42:a1:18
cleratool unregister -view -uuid 1bf38ab1.7c8948c1.8599.41:30:85:42:a1:18
2. 次にViewタグを削除します。
cleartool rmtag -view -region JAPAN_WIN test_view
3. 最後にVOBにのっかったVIEW情報を削除しますします。
cleartool rmview -all -uuid 1bf38ab1.7c8948c1.8599.41:30:85:42:a1:18
これでOKである。でも結構邪魔くさいし、なんしか数が多い!(それだけやりっぱなしVIEWはあるってことなんだ)だから僕はViewの名前からuuidをひっぱり、削除するコマンド3つを実行するスクリプトを作っている。また機会があれば掲載しようと思う。←めっちゃ簡単なスクリプトなんで、誰でも書けると思うけど。
mvfsが起動しない?!
僕も一度だけ体験したトラブルで、原因はなんかよくわからなかったんだけど、クリアケースインストール後になぜかmvfsが起動できないってエラーが出たことがあります。その時は以下をチェックしてみてください。たぶん、これだけじゃないから見つけたら、また更新しようと思うけど、とりあえず試してみてー。ってこれはインストール編かなぁ。。。
1. HOSTNAMEのチェックを行う。以下、違っていたらちゃんと変更する
cat /etc/hostname.hme0
cat /etc/nodename
cat /etc/hosts
2. ルートに /view があるかチェックする。なければただ作る、と。
mkdir /view
コマンドライン上でConfigSpecを変更する
ごめん。これ僕よく忘れるんです。。。あ、ちなみにチェックアウトは[cleartool co]で「コ」。アンドゥチェックアウトは[cleartool unco]で「ウンコ」。言いたかっただけさ。
cleartool edcs
Viewの問題あれこれ
いくつかViewの問題をまとめました。なぜかインストールは上手くいったのにViewを作ろうとすると、Albd_serverにアクセス出来ませんでした。とかは、以外によく見るエラーです。ネットワーク系のアプリとなんか衝突している可能性があります。例えば携帯電話を使えるようにするソフトとか、ネットワークバックアップソフトとか、一度アンインストール→再起動で動作確認して対策を考えればいいと思います。
1)Viewが作れない
そのPCにVPN関連のソフト、Microsoft Personal Firewallが入っていないか調べる。
入っていればアンインストール。DLLレベルでConflictしているらしい。
2)Snapshot ViewがUpdate出来ない
Viewは見れるがUpdateしようとすると、Object Not Foundとでる。
View作成時とエラー時で違うDomain Suffixを使用していないかチェックする。
サーバから
cleartool lsview -region JAPAN_WIN | grep <VIEW_NAME>
で、Viewの保存場所のPC名をチェックする
など
PCから
マイコンピュータのプロパティをだし、Suffixをチェックする。
サーバ側と違うのがあれば、サーバ側にあわせる(要再起動)
で、Updateをもう一度試す。
3)VPN使用時に上手くマウント出来なかったり、Viewが作れなかったり。。。
VPNコネクションより先にALBDが起動するのが原因。一度失敗すると再試行できないらしい。
解決方法
1. サービスのATRIA LOCATION BROKERをオートマチックから、マニュアルに変更する。
2. PCの再起動
3. VPNコネクションを確立する。
4. コンパネのClearcaseの中の、サービススタートをかける。
特定ブランチのLATESTにだけ、ラベルを貼る
複数のVOBにまたがって、自分のブランチで作業するってはよくあることだと思います。その時に自分が作業したブランチのLATESTにだけラベルを貼りたいけど、どうしたらいいのか分からない。なんてこともあると思います。変更したファイルが多いと手作業で打つのも大変だし、かといってApply Label機能を使うと、自分が見ているもの全てにラベルが貼られてしまいます。
今回はブランチ名を japan_int とし、貼るラベルを JAPAN_INT_1 とします。
1. VOBにラベルを作る。これはTypeエクスプローラででもOKです。コマンドラインだと、以下。
cd /tokyo/clearcase_prj/docs
cleartool mklbtype -nc JAPAN_INT_1
2. 次に作成したラベルを特定ブランチのLATESTに貼ります。これをVOB毎にやればいいわけです。
cleartool find . -ver "version(...\japan_int\LATEST)" -exec "cleartool mklabel JAPAN_INT_1 %CLEARCASE_XPN%"
ちなみに、こうやれば変更したファイルの一覧が見れます。VOB単位だけどね。。。
cleartool find . -ver "version(...\japan_int\LATEST)" -print