doc/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml
Jun Kuriyama 254d83072a MFen:
1.17 -> 1.18	bibliography/chapter.sgml
	1.29 -> 1.30	cutting-edge/chapter.sgml
	1.35 -> 1.36	mirrors/chapter.sgml
1999-09-24 14:48:23 +00:00

2624 lines
84 KiB
Text

<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.30
$FreeBSD: doc/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml,v 1.6 1999/09/23 12:01:37 kuriyama Exp $
-->
<chapter id="cutting-edge">
<title>開発の最前線: FreeBSD-current と FreeBSD-stable</title>
<para>あるリリースから次のリリースまでの期間にも, FreeBSD の開発は
休みなく続けられています.
この開発の最前線に興味を持っている人のために,
手元のシステムを最新の開発ツリーに同期させておくための,
とても使いやすい仕掛けが何種類も用意されています. 注意:
開発の最前線は, 誰でもが扱えるという性質のものではありません!
もしもあなたが, 開発途中のシステムを追いかけようか,
それともリリース
バージョンのどれかを使い続けようかと迷っているのなら,
きっとこの章が参考になるでしょう.</para>
<sect1 id="current">
<title>最新のFreeBSDを追いかける</title>
<para><emphasis>原作: &a.jkh;.</emphasis></para>
<para><emphasis>訳: &a.hanai;<!-- <br> -->
6 November 1996.</emphasis></para>
<sect2>
<title>FreeBSD-current ってなに?</title>
<para>FreeBSD-current とは,文字通りに,日々変更されている
FreeBSD のソース
のスナップショット以外の何ものでもありません.
中には現在開発途上の ソフトウェア, 実験的な変更,
あるいは過渡的な機能などが含まれています. また,
この中に入っている機能がすべて次の公式リリースに
入るとはかぎりません. FreeBSD-current
をソースからほとんど毎日コンパイルしている人はたくさん
いますが, 時期によっては FreeBSD-current
はコンパイルさえできない状態に なっていることもあります.
これらの問題は一般的には可能な限り素早く解決 されますが,
FreeBSD-current のソースが不幸をもたらすか, それとも非常に
素晴らしい機能をもたらすかというのは文字通り,
ある与えられた24時間の間
のどの部分であなたがソースを手に入れたか,
による場合もあります.</para>
</sect2>
<sect2>
<title>誰が FreeBSD-current を必要としてるの?</title>
<para>FreeBSD-current は,
主に次の三つの重要なグループを対象としています.</para>
<orderedlist>
<listitem>
<para>ソースツリーのある部分に関して活発に作業している
FreeBSD グループのメンバー. 彼らにとっては
&ldquo;最新のもの&rdquo; にしておくのが
絶対に必要なことなのです.</para>
</listitem>
<listitem>
<para>活発にテストをする FreeBSD グループのメンバー. 彼らは,
FreeBSD-current を &ldquo;健全である&rdquo;
ことを出来るだけ確認するために種々の問題と戦うのに
時間を費やすのを厭わない人々です. 彼らはまた,
様々な変更に関する提案や FreeBSD
の大まかな方向付けを行ないたいと思っている
人々でもあります.</para>
</listitem>
<listitem>
<para>単に, 様々な事に目を向け, 参考のために
(例えば,動かすためではなく <emphasis>読むため
</emphasis>に) 最新のソースを使いたいと思って いる FreeBSD
(または他の) グループのまわりにいるメンバー.
これらの人々はまた,
時々コメントやコードを寄稿してくれます.</para>
</listitem>
</orderedlist>
</sect2>
<sect2>
<title>FreeBSD-current
に期待しては<emphasis>いけない</emphasis>ことは?</title>
<orderedlist>
<listitem>
<para>なにか新しくカッコイイモノがあると聞き, 自分の周囲では
一番にそれを持ちたいがためにリリース前のコードの断片を
追いかけること.</para>
</listitem>
<listitem>
<para>バグを修正するための素早い方法.</para>
</listitem>
<listitem>
<para>我々によって &ldquo;公式にサポートされている&rdquo;
こと. 私たちは 3 つの &ldquo;公式な&rdquo; FreeBSD-current
のグループの一つに実際に属する
人々を助けるのにベストを尽くしますが,
技術的なサポートを行なうには 単に「時間が足りない」のです.
これは我々が外の人を助けるの好まない,
ケチで意地悪い人間だと いうことではなく (もしそうなら
FreeBSD なんかやっていません), 文字通り 我々は一日に 400
ものメッセージに答え <emphasis>かつ</emphasis> FreeBSD
の作業をする ことなど出来ない! ということなのです. もし,
たくさんの質問に答えるか, それとも FreeBSD
を良くする作業を続けるかという選択が与えられた場合,
あなた方のほとんどは後者を支持する,
と私は確信しています.</para>
</listitem>
</orderedlist>
</sect2>
<sect2>
<title>FreeBSD-current を使う</title>
<orderedlist>
<listitem>
<para>&a.current;と&a.cvsall;に加わって下さい.
これは単に良い考えであるというだけでなく,
<emphasis>必須の</emphasis>ことなのです. もし
<emphasis>FreeBSD-current</emphasis>
メーリングリストに入っていなければ,
様々な人がシステムの現在の状態について
述べているコメントを決して見ることは ありませんし,
従って他の人が既に見つけて解決している多くの問題に 戸惑っ
てあきらめてしまうでしょう. さらに言うと,
システムを正常に保つための
重要な情報を見逃してしまう可能性もあります.</para>
<para>&a.cvsall; メーリングリストでは,
それぞれの変更についての commit
ログを見ることができますし,
それに関して起こり得る副作用の情報を得ることができ,
もう一つの加わるに値するメーリングリストです.</para>
<para>これらのメーリングリストに入るには, &a.majordomo;
へ</para>
<programlisting>
subscribe freebsd-current
subscribe cvs-all</programlisting>
<para>と書いたメールを送って下さい. オプションとして本文に
<literal>help</literal> と書けば, Majordomo
はあなたへ我々がサポ ートする様々なメーリングリストに参加
/ 脱退する方法に関する詳しい ヘルプを送ります.</para>
</listitem>
<listitem>
<para><hostid role="fqdn">ftp.FreeBSD.org</hostid>
からのソースの入手. 以下の3つの方法で行なうこと
が出来ます.</para>
<orderedlist>
<listitem>
<para>下に述べられている<application><link
linkend="ctm">CTM</link></application>を用いる.
均一なレートの, 良質の TCP/IP
接続を持っていない人には,
これが一番いい方法でしょう.</para>
</listitem>
<listitem>
<para><link linkend="cvsup">cvsup</link> を <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/standard-supfile"> この supfile</ulink>
を用いて使用する. これは 2 番目に推薦される方法です.
なぜなら, cvsup によって一度全体 を入手し,
後は変更されたところだけを入手することが
出来るからです.
たくさんの人が自動的にソースを最新のもに保つために
cvsup を cron から起動しています.
これを行なうための非常に簡単な 方法は, 単に</para>
<blockquote><screen>&prompt.root; <userinput>pkg_add -f \
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></screen></blockquote>
<para>とタイプすることです.</para>
</listitem>
<listitem>
<para><command>ftp</command> を使う. FreeBSD-current
のソースツリーは常に <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/">
ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/</ulink>
に &ldquo;公開&rdquo; されています.
我々はまた全体を compress/tar して入手できる
<command>wu-ftpd</command> を使ってい ます. 例えば,</para>
<screen>usr.bin/lex</screen>
<para>があったとすると,</para>
<screen><prompt>ftp&gt;</prompt> <userinput>cd usr.bin</userinput>
<prompt>ftp&gt;</prompt> <userinput>get lex.tar.Z</userinput></screen>
<para>とすることにより, ディレクトリ全体(この場合,
usr.bin/lex以下全体) を compress された tar
ファイルとして入手することができます.</para>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>以上のことをまとめると,
必要に応じて迅速なアクセスをする必要があり,
接続のバンド幅が問題ではなければ <command>cvsup</command>
か <command>ftp</command> を使いましょう. そうではなければ
<application>CTM</application> を使いましょう.</para>
</listitem>
<listitem>
<para>もしソースを,
眺めるだけでなく走らせるために入手しているので あれば,
一部だけ選ぶのではなく, current
の<emphasis>全体</emphasis>を手に入れてください. なぜなら,
ソースの様々な部分が他の部分の更新に依存しており,
一部のみを コンパイルしようとすると,
ほぼ間違いなくトラブルを起こすからです.</para>
</listitem>
<listitem>
<para>current をコンパイルする前に
<filename>/usr/src</filename> にある Makefile
をよく読んでください. アップグレードの処理の一部として,
少なくとも一回は最初に <link linkend="makeworld">make
world</link> を行なうべきでしょう. &a.current; を読めば,
次のリリースへ向けて, 時々必要になる
他のブートストラップの方法に関して
常に最新情報を得ることが出来ます.</para>
</listitem>
<listitem>
<para>アクティブになって下さい! もし FreeBSD-current
を走らせているなら 我々はそれに関するコメント,
特に拡張やバグ潰しに関する提案, を欲して います.
コードを伴う提案はもっとも歓迎されるものです!</para>
</listitem>
</orderedlist>
</sect2>
</sect1>
<sect1 id="stable">
<title>FreeBSD の安定状態の持続</title>
<para><emphasis>原作: &a.jkh;.</emphasis></para>
<para><emphasis>訳: &a.jp.iwasaki;.</emphasis></para>
<sect2>
<title>FreeBSD-stable ってなに?</title>
<para>FreeBSD-stable は,
次の本流のリリースを目指した新機能をあまり採り入
れない保守的な変更のための開発の支流です.
実験的またはテスト未完の変更 はこの支流には取り入れられません
(<link linkend="current">最新の FreeBSD を追いかける</link>
参照).</para>
</sect2>
<sect2>
<title>誰が FreeBSD-stable を必要としているの?</title>
<para>もしあなたが仕事で使用しているとか, なによりも FreeBSD
システムの安 定性を最重要視するなら,
<emphasis>stable</emphasis> を追いかけることを考えるべきで
しょう. <emphasis>stable</emphasis>
の支流は前のリリースに関して効果的にバグフィッ
クスされた流れであるため, 最新のリリース (<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/&rel.current;-RELEASE/">
&rel.current;-RELEASE</ulink> 執筆時点)
をインストールしているのであれば, 特に そうです.</para>
<warning>
<para><emphasis>stable</emphasis>
ツリーが常に完全に互換性があり安定するように努力し
ていますが, たまに間違いがあることに注意してください (結局,
内容が吟味
されずに素早く送られた変更を含むソースがまだあるのです).
また, <emphasis>current</emphasis> を
<emphasis>stable</emphasis>
へ移行する前に完璧なテストフィック スに最善を尽くしますが,
私たちのテストはすべてのケースを十分に網羅して
いるとは限りません. もし何か <emphasis>stable</emphasis>
で不具合があるようでした ら,
私たちに<emphasis>すぐに</emphasis>教えてください
(次の節参照).</para>
</warning>
</sect2>
<sect2>
<title>FreeBSD-stable を使う</title>
<orderedlist>
<listitem>
<para>&a.stable; へ加わってください. このメーリングリスト
では, <emphasis>stable</emphasis> の構築に関連する事柄や,
その他の注意すべき点 に関する情報が流れています.
また開発者は議論の余地がある修正や変更 を考えている場合に,
このメーリングリストで公表し, 提案された変更に
関して問題が生じるかどうかを返答する機会を
ユーザに与えます. </para>
<para>また, &a.cvsall; メーリングリストでは,
それぞれの変更がなされると
起こりうる副作用に関するすべての適切な情報と一緒に commit
log を 読むことができます. subscribe
しておきたいもう一つのメーリングリストです. </para>
<para>メーリングリストに参加するには, &a.majordomo
へメッセージの本文に
次のように書いたメールを送ってください:</para>
<programlisting>
subscribe freebsd-stable
subscribe cvs-all</programlisting>
<para>オプションとして本文に `help' と書けば, Majordomo
は私たちがサポー トする様々なメーリングリストに参加 /
脱退する方法に関する詳しいヘ ルプを送付します.</para>
</listitem>
<listitem>
<para>もし, あなたが新しいシステムを可能な限り -stable
に近いものにインストールしようとする場合には,
最新のブランチの snapshot を <ulink
url="ftp://releng3.freebsd.org/pub/FreeBSD">
ftp://releng3.freebsd.org/pub/FreeBSD</ulink>
から取得し, これを一般のリリースのものと同様に
インストールしてください.</para>
<para>もし, 既に FreeBSD の以前のリリースが動いている場合で,
これをソースからアップグレードしようとするならば, <hostid
role="fqdn">ftp.FreeBSD.org</hostid> より簡単に
これを行う事が出来ます. これには次の 3つの方法があります.
</para>
<orderedlist>
<listitem>
<para><application><link
linkend="ctm">CTM</link></application>
機能を使用する. 転送レートが 安定している TCP/IP
接続でない場合は, この方法が適して います.</para>
</listitem>
<listitem>
<para><link linkend="cvsup">cvsup</link> を <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/stable-supfile">
この supfile</ulink> を用いて使用する.
一度コレクション全体を入手してしまえば,
前回からの変更部分だけですむので, 2
番目に推奨される方法です.
多くの人が cron から cvsup を実行し,
自動的にソースコー ドを最新の状態に保っています.
これを簡単に扱うには次のようにタイプしてください.</para>
<blockquote><screen>&prompt.root; <userinput>pkg_add -f \
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></screen></blockquote>
</listitem>
<listitem>
<para><command>ftp</command> を使用する. FreeBSD-stable
用のソースツリーは
常に次のところで&ldquo;公開&rdquo;されています :
<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/</ulink></para>
<para>私たちはまた, tar/compress
でツリー全体を入手できる <command>wu-ftpd</command>
を使用しています. 例えば :</para>
<screen>usr.bin/lex</screen>
<para>に対して:</para>
<screen><prompt>ftp&gt;</prompt> <userinput>cd usr.bin</userinput>
<prompt>ftp&gt;</prompt> <userinput>get lex.tar.Z</userinput></screen>
<para>とすることにより, ディレクトリ全体を compress
された tar
ファイルとして入手することができます.</para>
</listitem>
<!-- kuriyama - duplicated above? -->
</orderedlist>
</listitem>
<listitem>
<para>基本的には,
ソースに迅速でオンデマンドなアクセスが必要で,
接続のバンド幅が問題でなければ, <command>cvsup</command>
か <command>ftp</command> を使いましょう. そうで
ない場合は <application>CTM</application>
を使いましょう.</para>
</listitem>
<listitem>
<para>stable をコンパイルする前に,
<filename>/usr/src</filename> にある Makefile をよ
く読んでください.
少なくとも一回はアップグレードの処理の一部として 最初に
<link linkend="makeworld">make world</link>
を実行するべきでしょう. &a.stable; を読めば,
次のリリースに移行する
に当たって時々必要となる既存システムからの
新システムの構築手順に
ついての最新情報が得られるでしょう.</para>
</listitem>
</orderedlist>
</sect2>
</sect1>
<sect1 id="synching">
<title>インターネットを通じたソースツリーの同期</title>
<para><emphasis>原作: &a.jkh;.</emphasis></para>
<para><emphasis>訳: &a.jp.iwasaki;.<!-- <br> -->
13 September 1997.</emphasis></para>
<para>インターネット接続 (または電子メール) を使用して,
あなたの興味の対 象によって FreeBSD
プロジェクトのソースのある一部分または全体の最新を
追いかける方法は色々あります.
私たちが提供している基本的なサービスは <link
linkend="anoncvs">Anonymous CVS</link>, <link
linkend="cvsup">CVSup</link> と <link linkend="ctm">CTM</link>
です:</para>
<para><application>Anonymous CVS</application> と
<application>CVSup</application> は <emphasis>pull</emphasis>
同期モデルを採用しています.
<application>CVSup</application> の場合, ユーザ
(または cron スクリプト) が <command>cvsup</command>
起動し, どこかにある <command>cvsupd</command>
サーバとやりとりしてファイルを
最新状態にします.
届けられる更新情報はその時点の最新のものであり,
また必要な時にだけ取り寄せられます.
興味のある特定のファイルやディレクトリに
限定して更新することも簡単にできます.
クライアント側のソースツリーの状態・
設定ファイルの指定に従い, サーバによって更新情報が
素早く生成されます.
<application>Anonymous CVS</application> は,
このプログラムがリモートの CVS リポジトリから直接変更点を
pull できるようにした &man.cvs.1; への拡張であるという点で,
<application>CVSup</application> よりもずっと単純です.
<application>CVSup</application>
は効率の点ではるかにまさっていますが,
<application>Anonymous CVS</application> の方が簡単に利用できます.
</para>
<para>一方, <application>CTM</application>
はあなたが持っているソースとマスタアーカイブ上に
あるそれとの対話的な比較をおこないませんし,
あるいは向こう側から変更点を pull したりもしません.
そのかわりに, 前回の実行時からの変更を認識するスクリプトが
マスタ CTM マシン上で一日に数回実行され,
すべての変更を compress して通し番号を振り,
さらに電子メールで転送できるようにエンコードします
(印字可能な ASCII
キャラクタのみです). 受信した後は,
これらの &ldquo;CTM のデルタ&rdquo; は自動
的にデコード, 検査してユーザのソースのコピーに変更を適用する
&man.ctm.rmail.1; によって処理可能となります.
この処理は <application>CVSup</application> や
<application>Anonymous CVS</application> よりずっと効率
的であり, <emphasis>pull</emphasis> モデルというよりむしろ
<emphasis>push</emphasis> モデルで
あるため, 私たちのサーバ資源の負荷は軽くなります.</para>
<para>もちろん他のトレードオフもあります. うっかりアーカイブ
の一部を消してしまっても, <application>CVSup</application>
は壊れた部分を検出して再構築してくれます.
<application>CTM</application> はこれをやってくれませんし,
<application>Anonymous CVS</application>
はおそらく他の何よりも深く混乱してしまうことが多いでしょう.
もしソースツリーの一部を消してしまったら, (最新の CVS
&ldquo;ベースデルタ&rdquo;から) 一からやり直し, CTM か anoncvs
を使って悪い部分を消去し, 再同期させることによって
すべてを再構築しなければなりません.</para>
<para><application>Anonymous CVS</application>,
<application>CTM</application>, <application>CVSup</application>
についての 詳しい情報については,
以下の節を参照してください:</para>
<sect2 id="anoncvs">
<title>Anonymous CVS</title>
<para><emphasis>原作: &a.jkh;</emphasis></para>
<para><emphasis>訳: &a.jp.sugimura;</emphasis>.<!-- <br> -->
19 July 1998.</para>
<sect3>
<title><anchor id="anoncvs-intro">導入</title>
<para>Anonymous CVS (もしくは, <emphasis>anoncvs</emphasis>
として知られています) は離れたところにある CVS
リポジトリと同期を取るために FreeBSD に付属している CVS
ユーティリティに含まれている機能です. 他にもありますが,
それは FreeBSD のユーザが, 特別な権限なしに FreeBSD
プロジェクトの公式な anoncvs サーバに読み取り専用で CVS
の操作をすることができるようにするためのものです.
それを使うには, 単に <envar>CVSROOT</envar>
環境変数を設定して適切な anoncvs サーバを指定し, そして
&man.cvs.1;
コマンドを使って手元にある
リポジトリのようにアクセスするだけです.</para>
<para><link linkend="cvsup">CVSup</link> と
<emphasis>anoncvs</emphasis>
のサービスは本質的に同じ機能ではないか
ということも言われていますが,
ユーザが同期を取る方法を選ぶときに影響を与えるような
さまざまなトレードオフが存在します. 要約して言えば,
<application>CVSup</application>
はネットワーク資源の使い方においては非常に効率がよく,
またはるかに技術的に洗練されたものですが,
相当な手間がかかります. <application>CVSup</application>
を使うには,
特別なクライアントをまずインストールして設定しなくては 1bit
も取ってくることができず, またそのとき
<application>CVSup</application> では
<emphasis>collections</emphasis>
と呼んでいるかなり大きなかたまりだけからしか
取ってこれません.</para>
<para>それに対して <application>anoncvs</application> では,
CVS モジュールの名前を指定することで特定のプログラムの
(<command>ls</command> や <command>grep</command> のような)
個々のファイルから調べることができます. もちろん,
<application>anoncvs</application> は CVS
リポジトリの読み取り専用の操作に対してのみ適しているので,
もしあなたが FreeBSD プロジェクトのものと共有されたなにか
ローカルなリポジトリを作ってそこでの開発を
行おうというときには, <application>CVSup</application>
だけが唯一の手段となってしまいます.</para>
</sect3>
<sect3>
<title><anchor id="anoncvs-usage">Anonymous CVS を使う</title>
<para>&man.cvs.1; を設定して Anonymous CVS
リポジトリを使うには単に <envar>CVSROOT</envar>
環境変数を設定して FreeBSD プロジェクトの
<emphasis>anoncvs</emphasis> サーバを指定するだけのことです.
この文書を書いているときには,
次のサーバが利用できるようになっています.</para>
<itemizedlist>
<listitem>
<para><emphasis>USA</emphasis>:
anoncvs@anoncvs.FreeBSD.org:/cvs</para>
</listitem>
</itemizedlist>
<para>CVS はかつて存在した (もしくは,
時にはこれから存在するものも <!-- smiley -->:)
ほとんどどんなバージョンの FreeBSD のソースを &ldquo;check
out&rdquo; することができますが, あなたは &man.cvs.1; の
リビジョン (<option>-r</option>) のオプションや FreeBSD
プロジェクトのリポジトリの中で
それをどのように指定したらいいものかということを
よく知っておく必要があります.</para>
<para>タグには 2 種類あって,
リビジョンタグとブランチタグがあります.
リビジョンタグは特定の改訂版を指しており,
それはいつも同じものを意味しています. 一方ブランチタグは,
指定されたときの指定された開発の流れにおける
最も新しい改訂版を示しています.
ブランチタグは特定の改訂版を指していないために,
その意味はきょうと明日では違うものになっているでしょう.
</para>
<para>ユーザが興味を持つであろうブランチタグの一覧です.</para>
<variablelist>
<varlistentry>
<term>HEAD</term>
<listitem>
<para>主要部をなす流れ, すなわち FreeBSD-current
のための名前です. また,
どのリビジョンも
指定されなかったときにはこれになります.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_3</term>
<listitem>
<para>FreeBSD-3.x の開発のための流れです.
FreeBSD-stable としても知られています. ports
コレクションには無効です.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2</term>
<listitem>
<para>FreeBSD-2.2.x の開発のための流れです. 2.2-stable
としても知られています. このブランチは大部分が
すたれています. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_1_0</term>
<listitem>
<para>FreeBSD-2.1.x の開発のための流れです -
このブランチは大部分がすたれています. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
</variablelist>
<para>ユーザが興味を持つであろうリビジョンタグの一覧です.</para>
<variablelist>
<varlistentry>
<term>RELENG_3_3_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.3. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_3_2_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.2. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_3_1_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.1. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_3_0_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.0. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2_8_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.8. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2_7_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.7. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2_6_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.6. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2_5_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.5. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2_2_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.2. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2_1_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.1. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_2_0_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.0. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_1_7_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.7. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_1_6_1_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.6.1. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_1_6_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.6. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_1_5_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.5. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_2_1_0_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.0. ports
コレクションにはふさわしくありません.</para>
</listitem>
</varlistentry>
</variablelist>
<para>ブランチタグを指定したときには,
普通はその開発の流れにおける
最も新しいバージョンのファイルを受け取ることができます.
もし以前のバージョンのものが欲しいときには, 日付を
<option>-D date</option>
オプションを使って指定すればよいです.<!-- kuriyama - ?
cvs(1) --></para>
</sect3>
<sect3>
<title>例</title>
<para>本当はなにかする前には &man.cvs.1;
のマニュアルページの全体を
ちゃんと読んでからのほうがいいのですが, Anonymous CVS
の使い方の本質的なところを簡単に例を挙げて説明します.</para>
<example>
<title>-current (ls(1))
をちょっと確認してから消してみます.</title>
<screen>
&prompt.user; <userinput>setenv CVSROOT
anoncvs@anoncvs.FreeBSD.org:/cvs</userinput>
&prompt.user; <userinput>cvs co ls</userinput>
&prompt.user; <userinput>cvs release -d
ls</userinput></screen>
</example>
<example>
<title>ls(1) のバージョンを 2.2-stable
ブランチから調べてみます.</title>
<!-- kuriyama - ls should man.ls.1 -->
<screen>
&prompt.user; <userinput>setenv CVSROOT
anoncvs@anoncvs.FreeBSD.org:/cvs</userinput>
&prompt.user; <userinput>cvs co -rRELENG_2_2
ls</userinput> &prompt.user; <userinput>cvs release -d
ls</userinput></screen>
</example>
<example>
<title>ls(1) の変更点のリストを (unidiff で) 作ってみます.</title>
<screen>
&prompt.user; <userinput>setenv CVSROOT
anoncvs@anoncvs.FreeBSD.org:/cvs</userinput>
&prompt.user; <userinput>cvs rdiff -u
-rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE
ls</userinput></screen>
</example>
<example>
<title>他のどんなモジュールの名前が
使われているか検索してみます.</title>
<screen>
&prompt.user; <userinput>setenv CVSROOT
anoncvs@anoncvs.FreeBSD.org:/cvs</userinput>
&prompt.user; <userinput>cvs co modules</userinput>
&prompt.user; <userinput>more
modules/modules</userinput> &prompt.user; <userinput>cvs
release -d modules</userinput></screen>
</example>
</sect3>
<sect3>
<title>他の資料</title>
<para>次の資料は CVS を学ぶのに役に立つでしょう.</para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">CVS チュートリアル</ulink>. Cal Poly によります.</para>
</listitem>
<listitem>
<para><ulink url="http://www.cyclic.com/">Cyclic
Software</ulink>, 商用として CVS を維持しています.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.freebsd.org/cgi/cvsweb.cgi">CVSWeb</ulink>
は FreeBSD Project の CVS のための web
インターフェースです.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="ctm">
<title><application>CTM</application></title>
<para><emphasis>原作: &a.phk;. 更新: 19-October-1997.</emphasis></para>
<para><emphasis>訳: &a.hanai;<!-- <br> -->
13 September 1997.</emphasis></para>
<para><application>CTM</application>
はリモートのディレクトリツリーを中央のツリーに同期させるための
手段です.
これはFreeBSDのソースツリーの配布を行なうために開発されまし
たが, 時が経つにつれて別の目的にも有用であることがわかるかも
しれません.
デルタを作り出す処理に関するドキュメントは現在ほとんど
ありません. 従って, もしあなたが<application>CTM</application>
を他のことに使いたいなら
&a.phk;にさらなる情報を問い合わせてください.</para>
<sect3>
<title>なぜ<application>CTM</application>を使うの?</title>
<para><application>CTM</application> を使うことにより FreeBSD
ソースツリーのローカルコピー を手にいれることができます.
ソースツリーが使えることの魅力は数多くあります. 完全な cvs
ツリーを追いかけるにしても, ひとつのブランチを追いかける
にしても <application>CTM</application>
は必要な情報を与えてくれます.
もしあなたがFreeBSDのアクティブな開発者であるにもかかわらず
お粗末なTCP/IP接続しか持っていなかったり, またはTCP/IP接続が
行なえないとしたら, あるいは単に変更が自動的に送られてきて
ほしいというのであれば <application>CTM</application>
はそんなあなたのために 作られたのです.
アクティブなブランチでは 1
日に最大三つまでのデルタを受け取る必 要があります.
これが自動的に e-mail で送られてくるという方法を
ぜひ検討してみてください.
デルタのサイズは常にできるだけ小さく保たれています.
大抵の場合5KBよりも小さく,
たまに(10回に1回程度)10-50KBになり,
ときおり100KBかもっと大きくなる でしょう.</para>
<para>開発ソースから直接に得られたものを使うことについては,
あらかじめ パッケージにされたリリースとは違い,
いろいろと注意することが あります. これは特に
&ldquo;current&rdquo; のソースを選んでいるときは 重要です.
<link linkend="current">最新の FreeBSD
を追いかける</link>を読むことを お勧めします.</para>
</sect3>
<sect3>
<title><application>CTM</application>を使うには何が必要?</title>
<para>二つのものが必要でしょう: <application>CTM</application>
プログラムとそれに与える (&ldquo;current&rdquo;
レベルを得るための)最初のデルタです.</para>
<para><application>CTM</application>
プログラムはバージョン2.0のリリース以来FreeBSDの一部にな
りました. もしソースのコピーを持っているなら
<filename>/usr/src/usr.sbin/CTM</filename>にあります.</para>
<para>もしFreeBSDの2.0以前のバージョンなら,
最新の<application>CTM</application>のソースを直接</para>
<para><ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm/</ulink></para>
<para>から入手できます. <application>CTM</application>
に与える &ldquo;デルタ&rdquo; は二つの方法, FTPまたはe-mail,
で得ること ができます.
もしインターネットにFTPアクセスできるなら,
次のFTPサイト:</para>
<para><ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/">ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/</ulink></para>
<para>または, その <link
linkend="mirrors-ctm">ミラーサイト</link> が
<application>CTM</application> へのアクセスをサポートします.
適切なディレクトリに FTP して <filename>README</filename>
ファイルを入手し, そこから スタートしてください.</para>
<para>e-mail によってデルタを得たいという場合は:</para>
<para><application>CTM</application>
配布メーリングリストのいずれかに参加するために &a.majordomo;
へ subscribe のメールを送ってください.
&ldquo;ctm-cvs-cur&rdquo; は完全な cvs ツリー
をサポートします. &ldquo;ctm-src-cur&rdquo;
は開発先端ブランチをサポートします &ldquo;ctm-src-2_2&rdquo;
は 2.2 リリースのブランチのサポートです.
(もしmajordomoを使って参加する方法を知らない のであれば,
最初に<literal>help</literal>
という語を含むメッセージを送ってください. &mdash;
使い方の説明が送られてくるでしょう.)</para>
<para>メールで <application>CTM</application>
による更新ファイルを受け取り始めると, 中身を取り出して使用
するために <command>ctm_rmail</command>
プログラムを使うかもしれません. それを完全
に自動で行ないたいなら, <filename>/etc/aliases</filename>
から <command>ctm_rmail</command>プロ
グラムを直接使うこともできます.
さらに詳しいことは<command>ctm_rmail</command>
manページを御覧ください.</para>
<note>
<para><application>CTM</application>
デルタを得るためにどの方法を使うのであっても,
<email>ctm-announce@FreeBSD.org</email>
メーリングリストに参加するべきです.
このメーリングリストは将来的には
<application>CTM</application>システムの操作に関する
アナウンスがポストされる唯一の場になるでしょう.
メーリングリストに加わるためには<literal>subscribe
ctm-announce</literal> と書いた一行だけのメールを
&a.majordomo; へ送ってください.</para>
</note>
</sect3>
<sect3>
<title>はじめて<application>CTM</application>を使い始める</title>
<para><application>CTM</application>
デルタを使い始めるためには, これは以降作られる全ての
デルタの出発点を手にいれる必要があります.
最初にあなたが何をすでに持っているかをはっきりさせましょう.
すべての人は
&ldquo;空&rdquo;のディレクトリから始めなければなりません.
ツリーをサポートしてるあなたの
<application>CTM</application> を稼働するためには
指定した&ldquo;空&rdquo;
のデルタを使う必要があります. いくつかの分岐点
では, あなたの都合により CD
内に分配されている&ldquo;スタータ&rdquo;
デルタを使用できるようになっています. しかしながら, これは
頻繁に行われることではありません.
</para>
<para>適切な出発点が決まれば, その出発点を
<application>CTM</application> が
維持するツリーへ変換するための &ldquo;スタータ&rdquo;
初期デルタを使う必要が あります.</para>
<para>移行デルタは番号の後ろに <literal>X</literal>
をつけたものがそうです
(たとえば<filename>src-cur.3210XEmpty.gz</filename>).
<filename>X</filename>
の後ろは最初の開始ポイントに対応します.
<filename>Empty</filename> は 空のディレクトリです.
ルールとして <filename>Empty</filename> からの移行デルタは
100 デルタごとに 作られます. ところで,
これらは非常に大きいです!
<filename>XEmpty</filename>のデルタは 数十MBの
<command>gzip</command>
で圧縮されたデータというのが普通です.</para>
<para>一度スタートするためのベースデルタを得ると,
それに続く多数の 全てのデルタも必要になるでしょう.</para>
</sect3>
<sect3>
<title><application>CTM</application>を日常で使う</title>
<para>デルタを適用するためには, 単に</para>
<screen>&prompt.root; <userinput>cd /where/ever/you/want/the/stuff</userinput>
&prompt.root; <userinput>ctm -v -v /where/you/store/your/deltas/src-xxx.*</userinput></screen>
<para>とします.</para>
<para><application>CTM</application>
はどれが<command>gzip</command>されているか理解します.
従って最初に gunzipしておく必要はありません.
ディスクの節約にもなります.</para>
<para>全体の処理に関して確信するまでは
<application>CTM</application> は(ソース)ツリーに対して
何もしません. また, デルタを確かめるためには
<option>-c</option> フラグを使うことができます.
このフラグがあると <application>CTM</application>
はツリーに対して実際には何も行ないません.
単にデルタの完全性を確認し,
現在のツリーに問題なく使用できるかを確認
するだけです.</para>
<para><application>CTM</application>
には他にもオプションがあります. 詳細に関しては
マニュアルページを参照するかソースを見てください.</para>
<para>もし誰かが &ldquo;ユーザ インターフェース&rdquo;
の部分に関して助けてくれるなら 私はとても嬉しいです.
なぜならどういうオプションが何を, どのよう に,
いつ行なうようにするべきか決めかねているからです.</para>
<para>以上でやることは本当に全部です.
新しいデルタを入手した時には,
ソースを最新のものにするためにそれを
<application>CTM</application>に通すだけです.</para>
<para>もしデルタを再ダウンロードするのが
骨の折れる作業であれば, デルタを 消さないでおいてください.
なにかおかしなことが起こった場合には置いておけば良かった
と思うかもしれません.
もしフロッピーディスクしか持っていない状況
であってもコピーを取るのに
<command>fdwrite</command>を使うことを考えてください.</para>
</sect3>
<sect3>
<title>ローカルの変更を保存する</title>
<para>開発者としてはソースツリー中のファイルを
使って実験したり変更したく なるものです.
<application>CTM</application>
はローカルの変更を制限つきでサポートします: ファイル
<filename>foo</filename> の存在をチェックする前に,
<filename>foo.ctm</filename> を参照しにいきます.
このファイルが存在する場合, CTM は <filename>foo</filename>
の代りにこれを処理します.</para>
<para>この動作はローカルの変更を保持する簡単な手段を
提供します: 単に変更したいファイルを拡張子
<filename>.ctm</filename> 付きのファイル名で
コピーするだけです. あとは自由にコードをハックでき,
<filename>.ctm</filename> ファイルの方は CTM
が最新状態に保ってくれます.</para>
</sect3>
<sect3>
<title><application>CTM</application>
のその他の面白いオプション</title>
<sect4>
<title>更新で変更されるファイルを正確に知る</title>
<para><application>CTM</application>
のソースリポジトリに対する変更のリストを
<option>-l</option>
オプションを使って決定することができます.</para>
<para>これは, 変更のログを保存したい,
変更されたファイルをなんらかの方法で 前・後処理したい,
または単にこだわりたい<!-- smiley --> :-) 場合には,
役に立つでしょう.</para>
</sect4>
<sect4>
<title>更新前にバックアップを取る</title>
<para><application>CTM</application>
の更新によって変更されるファイルすべてのバックアップを
取りたくなることがあります.</para>
<para><option>-B backup-file</option> オプションを指定すると
<application>CTM</application> は
デルタで変更されるファイルすべてを
<filename>backup-file</filename>
としてバックアップするようになります.</para>
</sect4>
<sect4>
<title>更新で変更されるファイルを制限する</title>
<para><application>CTM</application>
の更新の範囲を制限したり一連のデルタのから
ほんの数ファイルを 抽出したくなることがあります.</para>
<para><option>-e</option> と <option>-x</option>
オプションを用い正規表現を 指定することで,
<application>CTM</application>
が処理するファイルのリストを制御することが
できます.</para>
<para>例えば, <filename>lib/libc/Makefile</filename>
の最新のコピーを保存してある CTM
デルタのコレクションから抽出するには,
以下のコマンドを実行します. </para>
<screen>&prompt.root; <userinput>cd /where/ever/you/want/to/extract/it/</userinput>
&prompt.root; <userinput>ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*</userinput></screen>
<para><application>CTM</application>
デルタで指定されたファイルごとに, <option>-e</option>
そして <option>-x</option>
オプションがコマンドラインで指定された順序で 適用されます.
すべての<option>-e</option> そして <option>-x</option>
オプションが適用された後に更新対象と選択された場合に限り,
<application>CTM</application>
はそのファイルを処理します.</para>
</sect4>
</sect3>
<sect3>
<title><application>CTM</application>の将来計画</title>
<para>重要なもの</para>
<itemizedlist>
<listitem>
<para>なんらかの CTM システムへの認証機構を用い, 不正な
CTM の更新の 検出を可能とする.</para>
</listitem>
<listitem>
<para><application>CTM</application>
へのオプションを整理する. さもないと混乱し,
直観に反したもの になります.</para>
</listitem>
</itemizedlist>
<para>残念なことに私は非常に忙しいです.
従ってこれを行なうどんな手助け でも歓迎します. その際,
自分が何をやりたいかを私に 言うのを忘れずに.</para>
</sect3>
<sect3>
<title>その他</title>
<para>&ldquo;DESに染まった&rdquo; (例えば,
国外への持ち出しが規制された)ソースは まったく含まれません.
手に入るのは&ldquo;国際&rdquo;バージョンだけです.
もし興味のある人が多いようであれば,
我々は<literal>sec-cur</literal>シーケンスも
セットアップするつもりです. <literal>ports</literal>
コレクションに対するデルタのシーケンスもあります. しかし,
まだあまり興味は持たれていないようです.
もしこれに対するメーリング
リストが欲しい時も私に言ってください.
我々はセットアップすることを 考えます.</para>
</sect3>
<sect3>
<title>ありがとう!</title>
<variablelist>
<varlistentry><term>&a.bde;</term>
<listitem>
<para>鋭い記述とすばらしいコメントに対して.</para>
</listitem>
</varlistentry>
<varlistentry><term>&a.sos;</term>
<listitem>
<para>よく辛抱してくれました.</para>
</listitem>
</varlistentry>
<varlistentry><term>Stephen McKay</term>
<listitem>
<para><command>ctm_[rs]mail</command>を書いてくれました.
とても感謝して います.</para>
</listitem>
</varlistentry>
<varlistentry><term>&a.jkh;</term>
<listitem>
<para>彼が頑固として譲らなかったため, 私もこの
<acronym>CTM</acronym> をもっと良いものに
しないわけにはいきませんでした.
彼の頑固さに感謝します.</para>
</listitem>
</varlistentry>
<varlistentry><term>ユーザの人みんな</term>
<listitem>
<para>気に入ってくれることを願っています...</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="cvsup">
<title><application>CVSup</application></title>
<para><emphasis>原作: &a.jdp;</emphasis>.</para>
<para><emphasis>訳: &a.jp.iwasaki;.<!-- <br> -->
27 February 1997.</emphasis></para>
<sect3 id="cvsup-intro">
<title><application>CVSup</application> の紹介</title>
<para><application>CVSup</application> は,
リモートのサーバホストにあるマスタ CVS リポジトリから
ソースツリーを配布し更新するための
ソフトウェアパッケージです. FreeBSD のソースは,
カリフォルニアにある中心的な開発マシンの CVS リポジトリの
中でメンテナンスしています. <application>CVSup</application>
を使用することで, FreeBSD ユーザは
簡単に自分のソースツリーを最新の状態に
しておくことができます.</para>
<para><application>CVSup</application> は
<emphasis>pull</emphasis>
モデルとよばれる更新のモデルを採用しています. pull
モデルでは,
各クライアントが更新したい場合に更新したい時点で,
サーバに更新の問い合わせをおこないます.
サーバはクライアントからの
更新の要求を受け身の状態で待ちます. したがって,
すべての更新は クライアント主導でおこなわれます.
サーバは頼まれもしない更新情報を 送るようなことはしません.
ユーザは <application>CVSup</application>
クライアントを手動で実行して 更新をおこなうか,
<command>cron</command>
ジョブを設定して定期的に自動実行する必要があります.</para>
<para>用語 <application>CVSup</application>
のように大文字で表記しているものは, ソフトウェアパッケージ
全体を指します. 主な構成物は,
各ユーザマシンで実行するクライアントである
<command>cvsup</command>, FreeBSD
の各ミラーサイトで実行するサーバ <command>cvsupd</command>
です.</para>
<para>FreeBSD の文書やメーリングリストを読んだ際に,
<application>sup</application> についての言及を
見かけたかもしれません. <application>sup</application> は
<application>CVSup</application> の前に存在していたもので,
同様の 目的で使われていました.
<application>CVSup</application> は sup
と同じように使用されており, 実際, <command>sup</command>
と互換性のあるコンフィグレーションファイルを使用します.
<application>CVSup</application>
の方がより高速で柔軟性もあるので, もはや
<application>sup</application> は FreeBSD
プロジェクトでは使用されていません.</para>
</sect3>
<sect3 id="cvsup-install">
<title><application>CVSup</application> のインストール</title>
<para>FreeBSD 2.2 以降を使用している場合,
<application>CVSup</application> をインストールするもっとも
簡単な方法は, FreeBSD <link linkend="ports">ports
コレクション</link> の <ulink
url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports-current/net/cvsup.tar">port</ulink>
または対応する <ulink
url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-16.0.tgz">
バイナリ package</ulink> を使うことです.
どちらを使うかは,
CVSupを自分で作りたいかどうかによります.</para>
<para>FreeBSD-2.1.6 または 2.1.7 を使用している場合は,
残念ながら FreeBSD-2.1.{6,7} には存在しないバージョンの C
ライブラリが必要となるため バイナリ package
は使用できません. しかし, <ulink
url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports-current/net/cvsup.tar">
port</ulink> は FreeBSD 2.2 とまったく同じように
簡単に使うことができます.
単に tar ファイルを展開し, cvsup ディレクトリへ cd して
<command>make install</command> とタイプするだけです.</para>
<para><application>CVSup</application> は <ulink
url="http://www.research.digital.com/SRC/modula-3/html/home.html">
Modula-3</ulink> で書かれているため, package と port
両方とも Modula-3 ランタイムライブラリが
インストールされていることが必要です.
これらは port の <ulink
url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports-current/lang/modula-3-lib.tar">
lang/modula-3-lib</ulink>
および package の <ulink
url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/lang/modula-3-lib-3.6.tgz">
lang/modula-3-lib-3.6</ulink> にあります.
これらのライブラリの port や package に対して
<command>cvsup</command> と同じ管理方法を取っていれば,
<application>CVSup</application> の port や package
をインストールする際に, これらのライブラリも自動的に
コンパイルそして/またはインストールされます.</para>
<para>Modula-3 ライブラリはかなり大きく,
これらの転送やコンパイルはすぐに 終わるものではありません.
この理由から, 三つめの選択肢が提供されています.
以下のアメリカ合衆国にある配布サイトから,
FreeBSD 用の <emphasis>スタティックリンクされた</emphasis>
<application>CVSup</application>
実行形式が入手可能です:</para>
<itemizedlist>
<listitem>
<para><ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/cvsup-bin-16.0.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/cvsup-bin-16.0.tar.gz</ulink>
(GUI 込みのクライアント).</para>
</listitem>
<listitem>
<para><ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/cvsup.nogui-bin-16.0.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/cvsup.nogui-bin-16.0.tar.gz</ulink>
(GUI なしのクライアント).</para>
</listitem>
<listitem>
<para><ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/cvsupd-bin-16.0.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/cvsupd-bin-16.0.tar.gz</ulink>
(サーバ).</para>
</listitem>
</itemizedlist>
<para>また, 世界中にあるたくさんの FreeBSD <link
linkend="mirrors-ftp">FTP ミラーサイト</link>
からも入手可能です.</para>
<para>ほとんどのユーザはクライアントのみが必要になるでしょう.
これらの 実行形式は完全に自己完結しており, FreeBSD-2.1.0
から FreeBSD-current までの,
どのバージョンでも動作します.</para>
<para>まとめると, CVSup
をインストールするための選択肢は以下の通りです:</para>
<itemizedlist>
<listitem>
<para>FreeBSD-2.2以降: スタティックバイナリ, port, package</para>
</listitem>
<listitem>
<para>FreeBSD-2.1.6, 2.1.7: スタティックバイナリ, port</para>
</listitem>
<listitem>
<para>FreeBSD-2.1.5 以前: スタティックバイナリ</para>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="cvsup-config">
<title>CVSup のコンフィグレーション</title>
<para><application>CVSup</application> の動作は, <filename>supfile</filename>
と呼ばれるコンフィグレーションファイルで 制御します.
FreeBSD-2.2 からは, <filename>supfile</filename>
のサンプルがディレクトリ <ulink
url="file:/usr/share/examples/cvsup/">/usr/share/examples/cvsup/
</ulink> の下にあります. 2.2 以前のシステムを
使用している場合は, これらの サンプルを
<ulink
url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/">
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/
</ulink> から入手することができます.</para>
<para><filename>supfile</filename> には以下の cvsup
に関する質問への答えを記述します:</para>
<itemizedlist>
<listitem>
<para><link linkend="cvsup-config-files">
どのファイルを受け取りたいのか?</link></para>
</listitem>
<listitem>
<para><link linkend="cvsup-config-vers">
どのバージョンのものが欲しいのか?</link></para>
</listitem>
<listitem>
<para><link linkend="cvsup-config-where">
どこから入手したいのか?</link></para>
</listitem>
<listitem>
<para><link linkend="cvsup-config-dest">
自分のマシンのどこに置きたいのか?</link></para>
</listitem>
<listitem>
<para><link linkend="cvsup-config-status">
どこに status ファイルを置きたいのか?</link></para>
</listitem>
</itemizedlist>
<para>次のセクションで, これらの質問に順番に答えながら典型的な
<filename>supfile</filename> を組み立てていきます. 最初に
<filename>supfile</filename> の全体構造を説明します.</para>
<para><filename>supfile</filename> はテキストファイルです.
コメントは <literal>#</literal> から行末までです.
空行とコメントだけの行は無視します.</para>
<para>残りの各行には,
ユーザが受け取りたいファイル群について記述します.
行の始めは,
サーバ側で定義した論理的なファイルのグループである
&ldquo;コレクション&rdquo;の名称です.
コレクションの名称を指定して, 欲しいファイル群を
サーバに伝えます. コレクション名の後には,
ホワイトスペースで区切られた 0個以上のフィールドが続きます.
これらのフィールドが上記の質問に対する 答えになります.
フィールドには 2種類あります: flag フィールドと value
フィールドです. flag フィールドは <literal>delete</literal>
や <literal>compress</literal> のような
単独のキーワードから成ります. また, value
フィールドもキーワードで 始まりますが,
キーワードの後にはホワイトスペースは入らず,
<literal>=</literal> と 二つめの単語が続きます. 例えば,
<literal>release=cvs</literal> は value
フィールドです.</para>
<para>通常, <filename>supfile</filename>
には受け取りたいコレクションを一つ以上指定します.
<filename>supfile</filename> を組み立てる一つの方法として,
コレクション毎にすべての関係の
あるフィールドを明示的に指定する方法があります. しかし,
これでは <filename>supfile</filename>
のすべてのコレクションに対して
ほとんどのフィールドが同じになるため,
行が非常に長くなってしまい不便になります.
これらの問題を避けるため, <application>CVSup</application>
ではデフォルトを指定することのできる
メカニズムが提供されています. 特殊な擬似コレクション名
<literal>*default</literal> で始まる行は,
<filename>supfile</filename> 中の後続の
コレクションに対して使用する flag フィールドと value
フィールドの デフォルトを設定するために利用できます.
個々のコレクションで固有の値を 指定すると,
デフォルト値を無効にできます. また <option>*default</option>
行を追加すると, <filename>supfile</filename>
の途中からデフォルト値の変更や追加が可能になります.</para>
<para>これまでの予備知識を基に, <link
linkend="current">FreeBSD-current</link>
のメインのソースツリーを受け取って更新するための
<filename>supfile</filename> を 組み立ててみましょう.</para>
<itemizedlist>
<listitem>
<para>どのファイルを受け取りたいのか?<anchor
id="cvsup-config-files"></para>
<para><application>CVSup</application>
を通して入手できるファイルは &ldquo;コレクション&rdquo;
と呼ばれる名前の付けられたグループにまとめられています.
利用可能なコレクションについては <link
linkend="cvsup-collec">ここ</link> で説明しています.
ここでは, FreeBSD システムのメインのソースツリー全体
を受け取るための設定例を紹介します.
輸出規制されている暗号化サポートの
コード以外のすべてを含む <literal>src-all</literal>
という 単一の大きなコレクションがあります.
この例では私たちがアメリカ合衆国か
カナダにいるものと仮定します. その場合,
<literal>cvs-crypto</literal> という一つの付化的な
コレクションで暗号化コードを入手することができます.
<filename>supfile</filename>
を組み立てる最初のステップとして,
これらのコレクションを一行に一つづつ 記述します:</para>
<programlisting>
src-all
cvs-crypto</programlisting>
</listitem>
<listitem>
<para>どのバージョンのものが欲しいのか?<anchor
id="cvsup-config-vers"></para>
<para><application>CVSup</application> を使用すると,
かつて存在していたことのある, 事実上どのバージョンの
ソースでも受け取ることができます. これは cvsupd
サーバがすべてのバージョンを含む CVS
リポジトリに基づいて動作することにより,
実現されています. <!-- kuriyama - date should be
literal --> <literal>tag=</literal> および
<option>date=</option> の value フィールドを使用して,
欲しいバージョンの 一つを指定します.</para>
<warning>
<para><literal>tag=</literal>
のフィールドの指定は正確に行うように十分注意
してください. いくつかのタグは特定のコレクションに
対してのみ有効です.
タグの綴りが違っていたり不適切なタグを指定すると,
CVSupはユーザが消し
たくないファイルまで削除してしまいます. 特に
<literal>ports-*</literal> のコレクション に対しては
<literal>tag=.</literal> <emphasis>だけ</emphasis>
を指定するようにしてください.</para>
</warning>
<para><literal>tag=</literal>
フィールドはリポジトリ中のシンボリックタグを指定します.
tag には revision tag と branch tag の二種類があります.
revision tag は特定のリビジョンを指します. これは,
毎日同じ状態に保つことになります. 一方 branch tag は,
ある時点での開発分流の最新のリビジョンを指します.
branch tag
は特定のリビジョンを指定している訳ではないので,
今日と明日では
異なるリビジョンを参照することになるかもしれません.</para>
<para>以下はユーザが興味を持っていると思われる branch tag
です:</para>
<variablelist>
<varlistentry><term>tag=.</term>
<listitem>
<para>メインの開発分流であり, FreeBSD-current
として知られています.</para>
<note>
<para>
注意: <literal>.</literal>
は句読点ではありません. tag の名称です.
このタグの指定は総ての
コレクションに対して有効です.</para>
</note>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_3</term>
<listitem>
<para>FreeBSD-3.x 用の開発分流であり, FreeBSD-stable
として知られています. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2</term>
<listitem>
<para>FreeBSD-2.2.x 用の開発分流であり, 2.2-stable
として知られています. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_1_0</term>
<listitem>
<para>FreeBSD-2.1.x 用の開発分流です.
この分流はほとんど利用されていません.
このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
</variablelist>
<para>以下はユーザが興味を持っていると思われる revision
tag です:</para>
<variablelist>
<varlistentry>
<term>tag=RELENG_3_3_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.3. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>tag=RELENG_3_2_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.2. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_3_1_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.1. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_3_0_0_RELEASE</term>
<listitem>
<para>FreeBSD-3.0. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2_8_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.8. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2_7_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.7. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2_6_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.6. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2_5_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.5. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2_2_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.2. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2_1_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.1. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_2_0_RELEASE</term>
<listitem>
<para>FreeBSD-2.2.0. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_1_7_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.7. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_1_6_1_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.6.1. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_1_6_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.6. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_1_5_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.5. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
<varlistentry><term>tag=RELENG_2_1_0_RELEASE</term>
<listitem>
<para>FreeBSD-2.1.0. このタグの指定は ports-*
のコレクションに対しては無効です.</para>
</listitem>
</varlistentry>
</variablelist>
<warning>
<para> tag
名を示した通りにタイプされているか十分注意してく
ださい. <application>CVSup</application> は tag
名が正しいかどうかを見分けることはできません. tag
が間違っていた場合,
たまたまファイルがまったく存在しない正しい tag が
指定されたものとして<application>CVSup</application>
は動作します. その場合は, 現在あるソースが削
除されるでしょう.</para>
</warning>
<para>branch tag を指定した際には,
通常はその開発分流の最新バージョンの
ファイルを受け取ります.
いくらか前のバージョンを受け取りたい場合は,
<option>date=</option> の value
フィールドを使って日付を指定することで,
これを実現することが できます. &man.cvsup.1;
のマニュアルページで,
その方法を説明しています.</para>
<para>例として, FreeBSD-current を受け取りたいとします.
次の行を <filename>supfile</filename>
の始めに追加します:</para>
<programlisting>
*default tag=.</programlisting>
<para><literal>tag=</literal> フィールドも
<literal>date=</literal>
フィールドも指定しなかった場合に
動き出す重要な特殊なケースがあります. そのケースでは,
特定のバージョンの ファイルを受け取るのではなく,
サーバの CVS リポジトリから実際の RCS
ファイルを直接受け取ります.
一般的に開発者はこの処理のモードが 好きなようです.
彼らのシステム上にリポジトリそのものの
コピーを維持することで,
リビジョン履歴を閲覧し過去のバージョンの
ファイルを検査できるようになります. しかし,
これには大きなディスクスペースが必要になります.</para>
</listitem>
<listitem>
<para>どこから入手したいのか?<anchor
id="cvsup-config-where"></para>
<para>更新情報をどこから入手するかを
<command>cvsup</command> に伝えるために
<literal>host=</literal> フィールドを使用します.<link
linkend="mirrors-cvsup">CVSup ミラーサイト</link>
のどこからでも入手できますが,
ネット上での最寄りのサイトを選ぶべきでしょう.
この例では, 仮想上の FreeBSD 配布サイト <hostid
role="fqdn">cvsup666.FreeBSD.org</hostid>
を使用します:</para>
<programlisting>
*default host=cvsup666.FreeBSD.org</programlisting>
<para>CVSup を実行する前にホスト名を
実在のものに変更する必要があります. どのように
<command>cvsup</command> を実行しても, この設定は
<option>-h <replaceable> hostname</replaceable></option>
使用してコマンドラインで変更することができます.</para>
</listitem>
<listitem>
<para>自分のマシンのどこに置きたいのか?<anchor
id="cvsup-config-dest"></para>
<para><literal>prefix=</literal> フィールドは,
<command>cvsup</command>
に受け取ったファイルをどこに置くかを 伝えます.
この例では, ソースファイルを直接メインのソースツリー
<filename>/usr/src</filename> に置きます.
<filename>src</filename>
ディレクトリはすでにファイルを受け取るために
選択したコレクションで暗黙に指定しているので,
これは正しい仕様となります:</para>
<programlisting>
*default prefix=/usr</programlisting>
</listitem>
<listitem>
<para>どこに status ファイルを置きたいのか?<anchor
id="cvsup-config-status"></para>
<para>cvsup クライアントは &ldquo;base&rdquo;
ディレクトリと呼ばれる場所に, ある status
ファイルを維持しています.
すでに受け取った更新情報を追従し続け ることで,
これらのファイルは <application>CVSup</application>
がより効果的に動作することを支援し ます. 標準の base
ディレクトリ <filename>/usr/local/etc/cvsup</filename>
を使用します:</para>
<programlisting>
*default base=/usr/local/etc/cvsup</programlisting>
<para><filename>supfile</filename> に指定がない場合は,
この設定をデフォルトで使用しますので,
実際には上の行は必要ありません.</para>
<para>base
ディレクトリが存在しない場合は作成しておきましょう. base
ディレクトリが存在しない場合, <command>cvsup</command>
クライアントは実行を拒否します.</para>
</listitem>
<listitem>
<para>その他もろもろの <filename>supfile</filename>
の設定:</para>
<para>通常 <filename>supfile</filename>
に入れておくべき行がもう一つあります:</para>
<programlisting>
*default release=cvs delete use-rel-suffix compress</programlisting>
<para><literal>release=cvs</literal> は, サーバがメインの
FreeBSD CVS リポジトリから
その情報を取得するように指示します.
ほとんどの場合はこのようにしておきますが,
ここでの説明の範疇をこえるような
状況では他の指定をすることも可能です.</para>
<para><literal>delete</literal> は
<application>CVSup</application>
にファイルを削除することを許可します.
<application>CVSup</application> が
ソースツリーを完全に最新の状態に
保てるようにするためには, これは常に
指定しておくべきでしょう.
<application>CVSup</application> は,
これらの責任範囲のファイルだけを 慎重に削除します.
たまたま存在する他の余分なファイルについては,
まったく手をつけずに残しておきます.</para>
<para><literal>use-rel-suffix</literal> は ...
神秘的なものです. これについて本当に 知りたい人は,
&man.cvsup.1; のマニュアルページをご覧ください.
でなければ, 何も考えずに指定してみてください.</para>
<para><literal>compress</literal> は通信チャネルで gzip
形式の圧縮の使用を有効にします.
ご使用のネットワーク接続が T1 speed 以上である場合,
この圧縮を 使用しない方がよいかもしれません.
そうでない場合は十分に役に立ちます.</para>
</listitem>
<listitem>
<para><filename>supfile</filename> の例のまとめ:</para>
<para>以下は <filename>supfile</filename> の例の全体です:</para>
<programlisting>
*default tag=.
*default host=cvsup666.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
*default release=cvs delete use-rel-suffix compress
src-all
cvs-crypto</programlisting>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title><application>CVSup</application> の実行</title>
<para>さて, 更新の準備ができました.
これを実行するコマンドラインは 実に簡単です:</para>
<screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen>
<para>もちろん, ここでの
<filename><replaceable>supfile</replaceable></filename>
は作成したばかりの supfile のファイル名です. X11
環境で実行するものと仮定して, <command>cvsup</command> は
通常の操作に必要なボタンを持つ GUI ウィンドウを表示します.
&ldquo;go&rdquo; ボタンを押して,
実行を監視してください.</para>
<para>この例では実際の <filename>/usr/src</filename>
ツリーを更新しているので, <command>cvsup </command>
にファイルを更新するのに必要なパーミッションを与えるために,
ユーザ <username>root</username> で実行する必要があります.
コンフィグレーションファイルを作ったばかりで,
しかも以前にこのプログラムを実行したことがないので,
神経質になるのは 無理もない話だと思います.
大切なファイルに触らずに試しに実行する簡単な 方法があります.
どこか適当な場所に空のディレクトリを作成して,
コマンドラインの引数で指定するだけです:</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/dest</userinput>
&prompt.root; <userinput>cvsup supfile /var/tmp/dest</userinput></screen>
<para>指定したディレクトリは, すべての更新されるファイルの
更新先ディレクトリとして使用します.
<application>CVSup</application> は
<filename>/usr/src</filename> の下の ファイルを検査しますが,
変更や削除はまったくおこないません. かわりに
<filename>/var/tmp/dest/usr/src</filename>
に更新されたすべてのファイルが 置かれるようになります.
この方法で実行した場合は, <application>CVSup</application>
は base ディレクトリの status
ファイルを更新せずにそのままにします.
これらのファイルの新しいバージョンは指定されたディレクトリ
に書き込まれます. <filename>/usr/src</filename>
の読み取り許可がある限り, このような 試し実行のためにユーザ
root になる必要はありません.</para>
<para>X11 を利用していないとか単に GUI が気に入らない場合は,
cvsup 起動時にコマンドラインに
二つほどオプションを追加する必要があります:</para>
<screen>&prompt.root; <userinput>cvsup -g -L 2 supfile</userinput></screen>
<para><option>-g</option> オプションは cvsup に GUI
を使用しないように伝えます. X11
を利用していない場合には自動的に指定されますが,
そうでない場合は 明示的に指定します.</para>
<para><option>-L 2</option> オプションは cvsup
にファイル更新中の詳細情報をプリントアウト
するように伝えます. 冗長性には <option>-L 0</option> から
<option>-L 2</option> までの三つのレベル があります.
デフォルトは 0 であり, エラーメッセージ以外はまったく出力
しません.</para>
<para>たくさんの他のオプション変数があります.
それらの簡単な一覧は <command>cvsup -H</command>
で表示されます.
より詳しい説明はマニュアルページをご覧ください.</para>
<para>動作している更新の方法に満足したら, &man.cron.8;
を使って cvsup を定期的に
実行させる準備をすることができます. cron から起動する際には,
明示的に cvsup が GUI
を使わないようにする必要があります.</para>
</sect3>
<sect3 id="cvsup-collec">
<title><application>CVSup</application> ファイルコレクション</title>
<para><application>CVSup</application>
経由で入手できるファイルコレクションは
階層的に組織化されています.
いくつか大きなコレクションがあり,
それらは小さなサブコレクションに 分割されています.
大きなコレクションは, そのサブコレクション毎に
受信することと同じことになります.
下の一覧ではコレクション間の階層関係を
字下げして表現します.</para>
<para>最も一般的に使用するコレクションは
<literal>src-all</literal>, <literal>cvs-crypto</literal>,
そして <literal>ports-all</literal> です.
他のコレクションは特別な目的を持つ人達だけが 使用しており,
ミラーサイトはそれらのすべてを
持っていないかもしれません.</para>
<variablelist>
<varlistentry><term><literal>cvs-all release=cvs</literal></term>
<listitem>
<para>メインの FreeBSD CVS リポジトリであり,
輸出規制された暗号化コードは含まれていません.</para>
<variablelist>
<varlistentry>
<term><literal>distrib release=cvs</literal></term>
<listitem>
<para>FreeBSD
の配布とミラーに関連するファイルです.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>doc-all release=cvs</literal></term>
<listitem>
<para>FreeBSD
ハンドブックおよびその他のドキュメントの
ソースです.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-all release=cvs</literal></term>
<listitem>
<para>FreeBSD の ports コレクションです.</para>
<variablelist>
<varlistentry>
<term><literal>ports-archivers release=cvs
</literal></term>
<listitem>
<para>アーカイビングのツール.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-astro release=cvs</literal></term>
<listitem>
<para>天文学関連の ports.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-audio release=cvs</literal></term>
<listitem>
<para>サウンドサポート.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-base release=cvs</literal></term>
<listitem>
<para><filename>/usr/ports</filename>
のトップにあるその他のファイル.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-benchmarks release=cvs
</literal></term>
<listitem>
<para>ベンチマークプログラム.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-biology release=cvs
</literal></term>
<listitem>
<para>植物学関連のプログラム.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-cad release=cvs</literal></term>
<listitem>
<para>CAD ツール.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-chinese release=cvs
</literal></term>
<listitem>
<para>中国語サポート.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-comms release=cvs</literal></term>
<listitem>
<para>通信ソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-converters release=cvs
</literal></term>
<listitem>
<para>文字コードコンバータ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-databases release=cvs
</literal></term>
<listitem>
<para>データベース.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-deskutils release=cvs
</literal></term>
<listitem>
<para>コンピュータが発明される前に
卓上で使われていたものたち.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-devel release=cvs</literal></term>
<listitem>
<para>開発ユーティリティ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-editors release=cvs
</literal></term>
<listitem>
<para>エディタ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-emulators release=cvs
</literal></term>
<listitem>
<para>他の OS のエミュレータ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-ftp release=cvs
</literal></term>
<listitem>
<para>FTP クライアントとサーバ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-games release=cvs</literal></term>
<listitem>
<para>ゲーム.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-german release=cvs
</literal></term>
<listitem>
<para>ドイツ語サポート.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-graphics release=cvs
</literal></term>
<listitem>
<para>グラフィックユーティリティ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-japanese release=cvs
</literal></term>
<listitem>
<para>日本語サポート.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-korean release=cvs
</literal></term>
<listitem>
<para>韓国語サポート.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-lang release=cvs</literal></term>
<listitem>
<para>プログラミング言語.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-mail release=cvs</literal></term>
<listitem>
<para>メールソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-math release=cvs</literal></term>
<listitem>
<para>数値計算ソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-mbone release=cvs</literal></term>
<listitem>
<para>MBone アプリケーション.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-misc release=cvs</literal></term>
<listitem>
<para>色々なユーティリティ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-net release=cvs</literal></term>
<listitem>
<para>ネットワーキングソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-news release=cvs</literal></term>
<listitem>
<para>USENET ニュースのソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-palm
release=cvs</literal></term>
<listitem>
<para>3Com Palm(tm) シリーズ用ソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-plan9 release=cvs</literal></term>
<listitem>
<para>Plan9 からの色々なプログラム.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-print release=cvs</literal></term>
<listitem>
<para>印刷ソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-russian release=cvs
</literal></term>
<listitem>
<para>ロシア語サポート.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-security release=cvs
</literal></term>
<listitem>
<para>セキュリティユーティリティ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-shells release=cvs
</literal></term>
<listitem>
<para>コマンドラインシェル.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-sysutils release=cvs
</literal></term>
<listitem>
<para>システムユーティリティ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-textproc release=cvs
</literal></term>
<listitem>
<para>文書処理ユーティリティ
(デスクトップパブリッシングは含まない).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-vietnamese release=cvs
</literal></term>
<listitem>
<para>ベトナム語サポート.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-www release=cvs</literal></term>
<listitem>
<para>World Wide Web 関連のソフトウェア.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-x11 release=cvs</literal></term>
<listitem>
<para>X window システムをサポートする ports.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-x11-clocks release=cvs
</literal></term>
<listitem>
<para>X11 上で動作する時計の数々.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-x11-fm release=cvs
</literal></term>
<listitem>
<para>X11 上で動作するファイラ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-x11-fonts release=cvs
</literal></term>
<listitem>
<para>X11 のフォントとフォントユーティリティ.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-x11-toolkits release=cvs
</literal></term>
<listitem>
<para>X11 のツールキット.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ports-x11-wm release=cvs
</literal></term>
<listitem>
<para>X11 のウィンドウマネージャ.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-all release=cvs</literal></term>
<listitem>
<para>メインの FreeBSD ソース群であり,
輸出規制された暗号化コードは
含まれていません.</para>
<variablelist>
<varlistentry>
<term><literal>src-base release=cvs</literal></term>
<listitem>
<para><filename>/usr/src</filename>
のトップにあるその他のファイル.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-bin release=cvs</literal></term>
<listitem>
<para>シングルユーザモードで必要な
ユーザユーティリティ
(<filename>/usr/src/bin</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-contrib release=cvs</literal></term>
<listitem>
<para>FreeBSD プロジェクト外部からの
ユーティリティおよびライブラリ,
比較的無修正
(<filename>/usr/src/contrib</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-etc release=cvs</literal></term>
<listitem>
<para>システムコンフィグレーションファイル
(<filename>/usr/src/etc</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-games release=cvs</literal></term>
<listitem>
<para>ゲーム
(<filename>/usr/src/games</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-gnu release=cvs</literal></term>
<listitem>
<para>GNU Public License
下にあるユーティリティ
(<filename>/usr/src/gnu</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-include release=cvs</literal></term>
<listitem>
<para>ヘッダファイル
(<filename>/usr/src/include</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-kerberosIV release=cvs
</literal></term>
<listitem>
<para>KerberosIV セキュリティパッケージ
(<filename>/usr/src/kerberosIV</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-lib release=cvs</literal></term>
<listitem>
<para>ライブラリ
(<filename>/usr/src/lib</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-libexec release=cvs</literal></term>
<listitem>
<para>システムプログラムであり,
通常は他のプログラムから実行される
(<filename>/usr/src/libexec</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-release release=cvs</literal></term>
<listitem>
<para>FreeBSD の release
を構築するために必要なファイル
(<filename>/usr/src/release</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-sbin release=cvs</literal></term>
<listitem>
<para>シングルユーザモード用の
システムユーティリティ
(<filename>/usr/src/sbin</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-share release=cvs</literal></term>
<listitem>
<para>多様なシステム間で共有可能なファイル
(<filename>/usr/src/share</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-sys release=cvs</literal></term>
<listitem>
<para>カーネル
(<filename>/usr/src/sys</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-tools release=cvs</literal></term>
<listitem>
<para>FreeBSD の保守用の色々なツール
(<filename>/usr/src/tools</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-usrbin release=cvs</literal></term>
<listitem>
<para>ユーザユーティリティ
(<filename>/usr/src/usr.bin</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-usrsbin release=cvs</literal></term>
<listitem>
<para>システムユーティリティ
(<filename>/usr/src/usr.sbin</filename>).</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>www release=cvs</literal></term>
<listitem>
<para>World Wide Web のデータ用のソースです.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry><term><literal>cvs-crypto release=cvs</literal></term>
<listitem>
<para>輸出規制された暗号化コードです.</para>
<variablelist>
<varlistentry>
<term><literal>src-crypto release=cvs</literal></term>
<listitem>
<para>輸出規制された FreeBSD
プロジェクト外部からのユーティリティおよび
ライブラリ, 比較的無修正
(<filename>/usr/src/crypto</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-eBones release=cvs</literal></term>
<listitem>
<para>Kerberos および DES
(<filename>/usr/src/eBones</filename>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-secure release=cvs</literal></term>
<listitem>
<para>DES (<filename>/usr/src/secure</filename>).</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry><term><literal>distrib release=self</literal></term>
<listitem>
<para>CVSup
サーバ自身のコンフィグレーションファイルです. CVSup
ミラーサイトが使用します.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>gnats release=current</literal></term>
<listitem>
<para>GNATS バグトラッキングデータベースです.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>mail-archive release=current</literal></term>
<listitem>
<para>FreeBSD 関連メーリングリストのアーカイブ.</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>www release=current</literal></term>
<listitem>
<para>インストールされた World Wide Web のデータです.
WWW ミラーサイトが使用します.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3>
<title>詳細について</title>
<para>CVSup の FAQ や CVSup に関するその他の情報については
<ulink url="http://www.polstra.com/projects/freeware/CVSup/">
The CVSup Home Page</ulink> をご覧ください.</para>
<para><application>CVSup</application> のほとんどの FreeBSD
関連の議論は &a.hackers; で おこなわれています.
ソフトウェアの新しいバージョンは &a.announce; で
アナウンスされます.</para>
<para>質問とバグ報告はプログラムの作者,
<email>cvsup-bugs@polstra.com</email> へ
送ってください.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="makeworld">
<title><command>make world</command> でシステムを再構築する</title>
<para><emphasis>Contributed by &a.nik;.</emphasis></para>
<para><emphasis>訳: &a.jp.y-koga;.<!-- <br> -->
16 March 1998.</emphasis></para>
<para>FreeBSD のどれか特定のバージョン (<literal>stable</literal>,
<literal>current</literal> など)
について, ローカルのソースツリーを同期させたら,
そのソースツリーを使ってシステムを
再構築しなければなりません.</para>
<para>その方法については, <ulink
url="http://www.nothing-going-on.demon.co.uk/FreeBSD/make-world/make-world.html">http://www.nothing-going-on.demon.co.uk/FreeBSD/make-world/make-world.html</ulink> が今のところ一番よいチュートリアル資料です.</para>
<para>このチュートリアルの次のバージョンは, ハンドブックに統合される予定です.</para>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->