323.1 ホスト構成管理 [RCS]

2021-06-21

323.1 ホスト構成管理 [RCS]

重要度 2
説明 ホスト構/成管理を行うRCSとPuppetの使用方法に精通していること。
主要な知識範囲
・RCS

重要なファイル、用語、ユーティリティ

  • RCS
  • ci/co
  • rcsdiff

rcs

RCS (Revision Control System)とは、ファイルの更新履歴を管理するシステム
RCSを利用してプログラムや設定ファイルなどのテキストファイルを保存すると、後から任意の保存したファイルに戻したりできます
現在は、CVS, Subversion などのバージョン管理システムがあります。
RCSはLinuxの標準インストールされているため、1人のユーザーが1ファイルを更新履歴を管理するようなシンプルな用途に適しています

rcsコマンド

rcsコマンドは、RCSファイルの属性を変更するコマンドです

書式
rcs オプション ファイル名

主なオプション

-b [リビジョン] 指定したリビジョンをデフォルトの枝とする。
(枝を作成することで、管理しているファイルを分岐させ、
複数の開発を同時に行うことができる)
-i 新たなRCSファイルを作成
-l [リビジョン] 指定したリビジョンをブロック
-L ロックを厳密に行うモードに設定。このオプションを指定すると、
RCSファイルの所有者でも、ロックしているファイルのチェックインが不可能になる
-U ロックを厳密に行わないモードに設定。このオプションを指定すると、
RCSファイルの所有者でも、ロックしなくても新しいリビジョンのチェックインが可能になる

ciコマンド

ciコマンドは、RCSファイルにリビジョンをチェックインする(RCSファイルに書き込む)コマンドです。
書式
ci [オプション] ファイル名
[]は省略可能

主なオプション

-f [リビジョン] 強制的に登録する
-l [リビジョン] 登録さえているリビジョンをロックされ、チェックアウトされる。
リビジョンをチェックインしてさらに編集を続けたい場合に使用される。

(ci -r オプションの実行後、co -l コマンドを実行するのと同じ動作をする)
-r [リビジョン] 指定したリビジョンでチェックインする
-u [リビジョン] -l とほぼ同じ動作をするが、登録されたリビジョンはロックされない

ciコマンドをオプション無しで実行すると、チェックインしてファイルはローカル環境に残りません。
そのために、チェックイン後もファイルの参照するには -uオプションを指定してチェックインします

coコマンド

coコマンドは、RCSファイルにリビジョンをチェックアウトする(RCSファイルに取り出す)コマンドです。

書式
ci [オプション] ファイル名
[]は省略可能

主なオプション

-f [リビジョン] ワークファイルがある場合も、強制的にチェックアウトする
-ko チェックインされる前にワークファイル中のキーワード文字列をそのまま出力する
-l [リビジョン] -r オプションと同様の動作だが、取り出したリビジョンを呼び出したユーザーでロックする
-r [リビジョン] 指定したリビジョン番号以前で最新のリビジョンを取り出す
-u [リビジョン] -r オプションと同様だが、取り出されたリビジョンが呼び出したユーザーによってロックされいた場合は、ロックを解除する

rcsdiffコマンド

rcsdiffコマンドは、RCSで管理されているリビジョンを比較するコマンドです

書式
rcsdiff [オプション] ファイル名
[]は省略可能

主なオプション

-r [リビジョン1] -r [リビジョン2] リビジョン1とリビジョン2が両方とも指定されなかった場合は、
最新のリビジョンとワークファイルを比較する


・リビジョン管理対象に登録

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

・ファイルのロック(他の人は編集不可)

$ co -l index.html
index.html,v  -->  index.html
revision 1.1 (locked)
done

・ファイルのロックを解除

$ ci -u index.html
index.html,v  <--  index.html
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single '.' or end of file:
>> TEST01  コミットメッセージ
>> .
done

・最新版との差分をみる

$ rcsdiff index.html
===================================================================
RCS file: index.html,v
retrieving revision 1.2
diff -r1.2 index.html

・特定のリビジョン(1.1)との差分をみる

$ rcsdiff -r1.1 index.html
===================================================================
RCS file: index.html,v
retrieving revision 1.1
diff -r1.1 index.html
0a1
> test

LPIC 30xLPIC303

Posted by admin