Merge the following from the English version:

1.387 -> 1.388	handbook/mirrors/chapter.sgml

Submitted by:	Ryusuke Suzuki <ryusuke _at_ jp dot FreeBSD dot org>
References:	[doc-jp-work 1908]
This commit is contained in:
Hiroki Sato 2009-04-07 21:34:42 +00:00
parent ad629ce4a0
commit fa98acabff
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34057

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.387
Original revision: 1.388
$FreeBSD$
-->
@ -2353,6 +2353,164 @@ doc/zh_*</screen>
</sect2>
</sect1>
<sect1 id="portsnap">
<title>portsnap を使う</title>
<sect2 id="portsnap-intro">
<title>はじめに</title>
<para><application>portsnap</application> は &os; port
ツリーを安全に配布するシステムです。
約一時間毎に port ツリーの <quote>スナップショット</quote> が作成され、
圧縮され、電子署名されています。
作成されたファイルは HTTP 経由で配布されています。</para>
<para><application>CVSup</application> 同様、
<application>portsnap</application> は、更新に
<emphasis>pull</emphasis> モデルを採用しています。
圧縮され、電子署名された ports ツリーは web サーバに置かれ、
サーバはクライアントからの更新の要求を受け身の状態で待ちます。
ユーザは、手動で <application>portsnap</application>
を実行して更新をおこなうか、<command>cron</command>
を設定して定期的に自動実行する必要があります。</para>
<para>技術的な理由から、<application>portsnap</application> は
<quote>live</quote> port ツリー (<filename>/usr/ports/</filename>)
を直接更新しません。
そのかわり圧縮された port ツリーのコピーは、デフォルトで
<filename>/var/db/portsnap/</filename> に保存されます。
この圧縮されたコピーは live port ツリーの更新に使われます。</para>
<note>
<para>Ports Collection からインストールした
<application>portsnap</application> では、
圧縮されたスナップショットは <filename>/var/db/portsnap/</filename>
ではなく <filename>/usr/local/portsnap/</filename> に保存されます。</para>
</note>
</sect2>
<sect2 id="portsnap-install">
<title>インストール</title>
<para>&os; 6.0 以降では、
<application>portsnap</application> は、&os; のベースシステムにあります。
古いシステムを使っている場合には、
<filename role="package">sysutils/portsnap</filename>
package をインストールしてください。</para>
</sect2>
<sect2 id="portsnap-config">
<title>portsnap の設定</title>
<para><application>portsnap</application> の動作は、
<filename>/etc/portsnap.conf</filename> で設定できます。
ほとんどのユーザにとっては、デフォルトの設定で十分でしょう。
詳細は &man.portsnap.conf.5; マニュアルページを参照してください。</para>
<note>
<para>Ports Collection からインストールした
<application>portsnap</application> では、設定ファイルは
<filename>/etc/portsnap.conf</filename> ではなく、
<filename>/usr/local/etc/portsnap.conf</filename> となります。
この設定ファイルは、port のインストール時には作成されません。
設定ファイルのサンプルが配布されていますので、
以下のコマンドでコピーしてください。</para>
<screen>&prompt.root; <userinput>cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf</userinput></screen>
</note>
</sect2>
<sect2>
<title>初めて <application>portsnap</application> を使う</title>
<para>初めて <application>portsnap</application> を使う時は、
まず、圧縮された全 ports ツリーのスナップショット (約 36&nbsp;MB) を
<filename>/var/db/portsnap/</filename>
(Ports Collection から <application>portsnap</application>
をインストールした場合は、<filename>/usr/local/portsnap/</filename>)
にダウンロードしてください。</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput></screen>
<para>圧縮されたスナップショットをダウンロードしたら、
ports ツリーのコピーを <filename>/usr/ports/</filename> に展開します。
もし、すでに他の方法 (例えば、<application>CVSup</application> など)
によって ports ツリーがこのディレクトリに作成されていたとしても、
この作業を行なってください。
<application>portsnap</application> が ports
ツリーをアップデートする際に、
どの部分をアップデートすべきかを判断できるようにするためです。</para>
<screen>&prompt.root; <userinput>portsnap extract</userinput></screen>
</sect2>
<sect2>
<title>ports ツリーのアップデート</title>
<para>圧縮された ports ツリーのスナップショットをダウンロードし、
<filename>/usr/ports/</filename> に展開した後は、
二つの作業で ports ツリーをアップデートします。
まず、最新の圧縮されたスナップショットを
<emphasis>ダウンロード</emphasis> します。
その後、ダウンロードしたスナップショットを用いて
ports ツリーを <emphasis>アップデート</emphasis> します。
この二つの作業は、<application>portsnap</application>
の一つのコマンドで実行できます。</para>
<screen>&prompt.root; <userinput>portsnap fetch update</userinput></screen>
<note>
<para>古いバージョンの <application>portsnap</application>
ではこの構文は使えません。
失敗した場合は、以下を試してください。</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
&prompt.root; <userinput>portsnap update</userinput></screen>
</note>
</sect2>
<sect2>
<title>cron で portsnap を動かす</title>
<para><application>portsnap</application> サーバにアクセスが集中する
<quote>flash crowds</quote> を避けるため、
<command>cron</command> ジョブで <userinput>portsnap fetch</userinput>
は動かないでしょう。
その代わり、<userinput>portsnap cron</userinput>
という特別なコマンドがあります。
このコマンドは、3600 秒の間のランダムな時間の後に
スナップショットのダウンロードを開始します。</para>
<para>また、<command>cron</command> ジョブで
<userinput>portsnap update</userinput> を実行しないでください。
port の構築もしくはインストールと同時に実行してしまうと、
重大な問題を引き起こす原因となるからです。
しかし、<option>-I</option> フラグをつけて
<application>portsnap</application> を実行することで、
ports INDEX ファイルを安全にアップデートできます。
(<command>cron</command> ジョブで
<command>portsnap -I update</command> を実行した場合は、
あとでツリーをアップデートするために、
<command>portsnap update</command> を
<option>-I</option> フラグを外して実行する必要があるでしょう。)</para>
<para>以下の行を <filename>/etc/crontab</filename> に加えると、
<application>portsnap</application> は圧縮されたスナップショットや
<filename>/usr/ports/</filename> の INDEX ファイルをアップデートします。
もし、インストールした ports の中で古くなったものがあれば、
メールで知らせてくれます。</para>
<screen>0 3 * * * root portsnap -I cron update && pkg_version -vIL=</screen>
<note>
<para>システムの時刻がローカル時間に設定されていない場合は、
<application>portsnap</application> サーバへの負荷を分散させるため、
上の行の <userinput>3</userinput> を
0 から 23 の間のランダムな値に置きかえてください。</para>
</note>
</sect2>
</sect1>
<sect1 id="cvs-tags">
<title>CVS ¥¿¥°</title>