|
今後、さらに内容を追加していきます。
CVS(Concurrent Versions System) というものを知っていますかね? 主にソフトウェア開発の場面で利用されるツールです。私は一応プログラマなので必須なんですが(でもウチの会社では使ってないなー)、そうでない場合はどうなのかちょっと分かりません。どーですか?これは版(バージョン)の管理に使うのですね。プログラマでない人もこんな場面が想像できるでしょう。 ※場面1 「おいおいXX君、なんだかこのプログラム動きがおかしいぞ!」 「えーマジっすか??この1年ナニゴトもなく動いてたのにぃ」 「うぉあ!この実行ファイル、タイムスタンプが昨日だぞ、だれがリビルドしたんだ!!」 「さあー??私じゃないすよ。」 「前のに戻せ!」 「上書きされてますー、バックアップも見つかりませんー」 CVS で管理していれば、誰が変更したかも、また、前のバージョン(何世代でも遡れる)を呼び出すこともできたのに.....。 ※場面2 「おいおい○○君、なんだかこのプログラム動きがおかしいぞ!」 「えーマジっすか??こないだ元に戻したじゃないすか」 「元からバグがあったらしい、直してくれ」 「はあ、あれ?パーミッションがないっす。」 「は?」 「あ、そういえば、XXさんが「このソースは誰にも触らせん」」と言ってました。」 「あー?管理者は!」 「連絡がつきませんー」 CVS は複数の人間で開発をするための必需品です。 さて、実は CVS は開発者だけでなく、一般ユーザーにも必須となっている場合もあります。また、ちょっとした工夫でとても幸せになれる重宝なツールでもあるのですね。それらを紹介していこうと、ま、そういうわけです。とりあえず、インストールとか詳しい使い方は省略します。残念ながら私は CVS ハッカーではないのですねー。クライアントになるだけならたぶんインストールするだけでよいでしょう。もともと BSD のツールですが、最近の Linux は標準で入っていたりします。 ■ 最新のツール等を入手する ■ この手法は重要です。開発者もユーザーも同じ管理下で活動できるため好まれています。「CVS リポジトリより入手してください」なんつー言い方をしているのがコレです。UNIX 系の開発モノでは超一般的なのです。また、たとえば、当サイトでも紹介している snort という IDS ツールまわりもそうです。 ※最新の snort を入手する sourceforgeというところがありますので、とりあえず行ってみて下さい。能書きが書いてありますのでなんとなく雰囲気が分かるでしょう。で、snort の cvs リポジトリももそこにあるのです。ちなみに BO2 とかもあるのですね。さて、sourceforge の snort のとこへ行くと、CVSリポジトリというリンクがあるので、入りましょう、ぐだぐだと説明があります(CVS Browse に入っていくと閲覧できて、ダウンロードも出来ますが一括ではできません。こちらはあくまでも閲覧用と考えた方がよいでしょう、これは cvsweb という cgi で実現されていて、それも楽しいのでいつか書きます)。snort に限らず、一般的な内容なので、よく読んで憶えてしまいましょう。単なるユーザーですから Anonymous CVS Access のところだけ読めばかまいませんね。 This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key. cvs -d:pserver:anonymous@cvs.snort.sourceforge.net:/cvsroot/snort login cvs -z3 -d:pserver:anonymous@cvs.snort.sourceforge.net:/cvsroot/snort co modulename Updates from within the module's directory do not need the -d parameter.・補足
$ cvs -d:pserver:anonymous@cvs.snort.sourceforge.net:/cvsroot/snort loginと打つと、パスワードを聞くプロンプトが出るので、ただ Enter を押す。 で、ログインできるので(フツーのプロンプトに戻る)、モジュール名は snort なので $ cvs -z3 -d:pserver:anonymous@cvs.snort.sourceforge.net:/cvsroot/snort co snortと打つと、カレントディレクトリに「どばーっ」と展開されてきます。いまんとこ 6MB くらいかな。 で、終わったら、書いてはありませんが(必要ないのですね)、作法を覚えるため $ cvs -d:pserver:anonymous@cvs.snort.sourceforge.net:/cvsroot/snort logoutと打ちましょう。ま、とにかく最新のブツは入手できたはずです。rule だけ欲しいとか、あるでしょうけど、それは各自工夫してくださいね。 ファイアウォールがある場合はパケットがブロックされて失敗することがあります。管理者に聞いてみましょう。pserver はフツー、2401/tcp を使います。 ■ 各種設定を管理する ■ プログラムソースもそうだけど、管理者の場合はいろんな設定ファイルの管理に使うと便利。フツーだと、知らないうちに設定そのものよりも、コメントの方が多くなっちゃう(うち、そーいうのばっか(^^;)。CVS ならすぐに好きな状態に戻せるので便利。アプリケーションの設定ファイルの場合は「戻す」というより、いろんなブランチを作っておいて、好みの挙動を切り替えるという使い方が楽しい。 こないだ BSD マガジンを読んでいたら、 /etc 配下まるごと管理というのを紹介していた、なるほど確かに。でもウチのはみんな /etc にシンボリックリンク多いからなあ(^^; ■ cvsweb で気軽に閲覧 ■ リポジトリを作ったら sourceforge とかでもやってるように、web から簡単に閲覧できると便利。それには cvsweb という cgi プログラム(perl で記述)があるです。 Hen's cvsweb CVS Repositoryから樽玉をダウンロードできる。もしくはこれも cvs で管理されてるので、もちろん cvs コマンドでもチェックアウトできる。適当なところに持ってきて展開。 $ tar zxvf cvsweb-X.X $ cd cvswebcgi はこの中にある。まずは準備だ。例の如く README で作者の人となりを掴んだら、INSTALL は一生懸命読もう。ざっとこんなことが書いてある(あくまでも自分でちゃんと読んでね)。
あとは WinNT 上での注意とかトラブルシューティングとか。 では、 cvsweb.conf の内容。さしあたっては1箇所だけ。CVSROOT が /home/fuga/rep 閲覧したいモジュールを hoge とすると %CVSROOT = ( 'Configuration' => '/home/fuga/rep/hoge',%CVSROOT = ( 'Configuration' => '/home/kero/cvs/', ); );というカンジ。できたら、 http://localhost/~fuga/cvsweb.cgi てなカンジで、cgi にアクセスしてみてくださいな。必要なら各パーミッションやら、Apache の調整、再起動なんかもしてね。 |