lpic303 操作のセキュリティ RCS

操作のセキュリティってーといまいちパッとしないけれど、更新履歴の管理の事です。更新履歴ってーと、何があるか、ざーっと上げると RCS CVS SVN GIT などなど。そして本書で取り上げているのはRCSとPuppet。調べてみると一番古いのがRCSのようですね。ってことでRCSを簡単に使ってみようと思います。

RCS

rcs_test.txt というテキストデータを作って色々やってみます。

$ mkdir RCS
$ cd RCS
$ vim rcs_test.txt
$ cat rcs_test.txt
いつまで続ける~?
$ ls -l rcs_test.txt
-rw-rw-r--. 1 take take 28 11月  1 19:26 2014 rcs_test.txt

ci というコマンドでチェックイン(登録)します。. だけの入力でコメント終了らしく sendmail みたい。

$ ci rcs_test.txt
rcs_test.txt,v  <--  rcs_test.txt
enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>> first
>> .
initial revision: 1.1
done

チェックインしたファイルはパーミッションが444となります。

編集したい時はチェックアウトしますが、-l オプションでロック。そうすると他のユーザーは編集ができないようにロックされるようです。

$ co -l rcs_test.txt,v
 rcs_test.txt,v  -->  rcs_test.txt
 revision 1.1 (locked)
 done

では再びチェックイン。変更を加えたのでリビジョンがver 1.2 になっています。

$ ci rcs_test.txt
 rcs_test.txt,v  <--  rcs_test.txt
 new revision: 1.2; previous revision: 1.1
 enter log message, terminated with single '.' or end of file:
 >> 更新
 >> .
 done

ではここでチェックイン時、チェックアウト時の主なオプションを

ciのオプション

-f強制的にチェックインする
-l指定したリビジョンがロックされる
-r指定したリビジョンでチェックインする
-u編集したファイルを残しておきたい時に使う

coのオプション

-f強制的にチェックアウトする
-lロックしてチェックアウトする
-r指定したバージョン > 最新のリビジョンをチェックアウトする
-u同じユーザーに限ってロック解除

 

幾つか試してみましょう

-f 強制チェックアウトすると、444でした。

$ co -f rcs_test.txt,v
rcs_test.txt,v  -->  rcs_test.txt
revision 1.2
done
$ ls -l
合計 8
-r--r--r--. 1 take take  44 11月  1 19:53 2014 rcs_test.txt
-r--r--r--. 1 take take 335 11月  1 19:44 2014 rcs_test.txt,v

-l の場合は644です。

$ co -l rcs_test.txt
rcs_test.txt,v  -->  rcs_test.txt
revision 1.2 (locked)
done
$
$ ls -l
合計 8
-rw-r--r--. 1 take take  44 11月  1 19:55 2014 rcs_test.txt
-r--r--r--. 1 take take 345 11月  1 19:55 2014 rcs_test.txt,v

差分の確認。

$ rcsdiff -r rcs_test.txt
===================================================================
RCS file: rcs_test.txt,v
retrieving revision 1.3
diff -r1.3 rcs_test.txt

$ rcsdiff -r1.2 rcs_test.txt
===================================================================
RCS file: rcs_test.txt,v
retrieving revision 1.2
diff -r1.2 rcs_test.txt
2a3
> いつまでもー

$ rcsdiff -r1.1 rcs_test.txt
===================================================================
RCS file: rcs_test.txt,v
retrieving revision 1.1
diff -r1.1 rcs_test.txt
1a2,3
> 祝3周年。
> いつまでもー

RCSのオプション

-b リビジョン分岐を作ります。指定したリビジョンを分岐の枝とします。b木のbかな。
-i新しくRCSファイルを作成します。
-l リビジョン指定してリビジョンロックします。
-Lファイルの所有者でもチェックインができなくなる。
-URCSファイルの所有者はロックしなくても、チェックイン可能になる。

 

チェックイン、チェックアウトを何度か繰り返しやってると、感じが掴めてきた。
こんなとこでいいかなと思えてくる。
目的は資格ではなくて勉強することなのだ!

このままPuppetに入るとちょっと長くなりそうなので、今回はこれで終了にします。

 

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です