- Merge the following from the English version:

r42829 -> r42903	head/ja_JP.eucJP/books/handbook/ports/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2014-04-01 10:06:02 +00:00
parent bb698042d3
commit c1ead86e80
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44405

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: r42829
Original revision: r42903
$FreeBSD$
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ports">
@ -909,33 +909,14 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<sect1 xml:id="ports-using">
<title>Ports Collection の利用</title>
<para>このセクションでは、Ports Collection
を利用してプログラムをインストールしたり、
システムから削除したりする基本的な手順について説明します。
利用可能な <command>make</command> のターゲットや環境変数についての詳細は
&man.ports.7; をご覧ください。</para>
<warning>
<para>&os; Ports プロジェクトは、2012 年にバージョン管理システムを
CVS から Subversion へと移行しました。
一般的な ports の利用において推奨される方法は
<application>Portsnap</application> です。
ローカルで ports をカスタマイズしたい
(すなわち、ローカルで追加のパッチをメンテナンスしたい)
と考えているユーザは、直接 Subversion を使うとよいでしょう。
<application>CVSup</application> のサービスは、
2013 年 2 月 28 日に廃止されました。</para>
</warning>
<sect2 xml:id="ports-tree">
<title>Ports Collection の準備</title>
<para>Ports Collection とは、<filename>/usr/ports</filename>
<para>Ports Collection とは、<filename class="directory">/usr/ports</filename>
以下に置かれる <filename>Makefile</filename>, 修正パッチ、
説明文などの一連のファイルのことです。このファイルのセットは、
アプリケーションをコンパイルして &os; にインストールするのに用いられます。
以下では、&os; のセットアップ時に Ports Collection をインストールしなかった場合に、
Ports Collection を準備する方法について示します。</para>
port を用いてアプリケーションをコンパイルできるようにするには、
まず最初に Ports Collection をインストールする必要があります。
&os; のインストール時に Ports Collection をインストールしなかった場合に、
以下の方法のどれかを用いてインストールしてください。</para>
<procedure>
<title>Portsnap を利用する方法</title>
@ -963,8 +944,8 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<para>上で示した <application>Portsnap</application>
を初めて利用する際に行うコマンドを実行した後は、
以下のコマンドで
<filename>/usr/ports</filename>
をアップデートできます</para>
<filename class="directory">/usr/ports</filename>
をアップデートしてください</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
&prompt.root; <userinput>portsnap update</userinput></screen>
@ -974,8 +955,8 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<procedure>
<title>Subversion を用いる方法</title>
<para>たとえば、ローカルで変更点をメンテナンスする状況のように
ports ツリーの管理が必要な場合には、
<para>ports ツリーの管理が必要な場合や
ローカルで変更点をメンテナンスする必要がある場合には、
<application>Subversion</application> を使って
Ports Collection を取得する方法があります。
<application>Subversion</application> のより詳細な説明については、
@ -1008,189 +989,50 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<step>
<para>ports ツリーをチェックアウトしてください。
パフォーマンスを良くするため、以下のコマンドにおいて、
<replaceable>svn0.us-east.FreeBSD.org</replaceable><link xlink:href="&url.books.handbook;/svn-mirrors.html">Subversion
パフォーマンスを良くするため、
<replaceable>svn0.us-east.FreeBSD.org</replaceable>
<link xlink:href="&url.books.handbook;/svn-mirrors.html">Subversion
ミラー</link>
の中から地理的に近い場所にあるミラーに置き換えてください。
コミッタの方々は、最初に <link xlink:href="&url.articles.committers-guide.en;/subversion-primer.html">Subversion
Primer</link> を読んで、適切なプロトコルを選択してください。</para>
の中から地理的に近い場所にあるミラーに置き換えてください。</para>
<screen>&prompt.root; <userinput>svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/ports</userinput></screen>
</step>
<step>
<para><application>Subversion</application>
チェックアウトした後、
<filename>/usr/ports</filename>
をアップデートするには、以下を実行してください。</para>
最初のチェックアウトを行ったら、必要に応じて
<filename class="directory">/usr/ports</filename>
をアップデートしてください。</para>
<screen>&prompt.root; <userinput>svn update /usr/ports</userinput></screen>
</step>
</procedure>
<procedure>
<title>sysinstall を利用する方法</title>
<para>ここでは、<application>sysinstall</application>
を利用してインストールメディアから Ports Collection
をインストールする方法について説明します。
この方法では、リリース時の古い Ports Collection
がインストールされることに注意してください。
もし、インターネットへの接続が可能であれば、
これまでに説明した方法を使ってください。</para>
<step>
<para><systemitem class="username">root</systemitem> ユーザ権限で、以下のように
<command>sysinstall</command> を実行してください。</para>
<screen>&prompt.root; <userinput>sysinstall</userinput></screen>
</step>
<step>
<para>スクロールダウンして <guimenuitem>Configure</guimenuitem> を選び、
<keycap>Enter</keycap> を押してください。</para>
</step>
<step>
<para>スクロールダウンして <guimenuitem>Distributions</guimenuitem> を選び、
<keycap>Enter</keycap> を押してください。</para>
</step>
<step>
<para>スクロールダウンして <guimenuitem>ports</guimenuitem> を選び、
<keycap>Space</keycap> キーを押してください。</para>
</step>
<step>
<para><guimenuitem>Exit</guimenuitem> までスクロールアップして、
<keycap>Enter</keycap> を押してください。</para>
</step>
<step>
<para>CDROM や FTP といったインストールメディアを選択してください。</para>
</step>
<step>
<para><guimenuitem>Exit</guimenuitem> までスクロールアップして、<keycap>Enter</keycap>
を押してください。</para>
</step>
<step>
<para><keycap>X</keycap> を押して、
<application>sysinstall</application> を終了してください。</para>
</step>
</procedure>
</sect2>
<sect2 xml:id="cvsup-migration">
<title><application>CVSup</application>/<application>csup</application>
から <application>portsnap</application> への移行</title>
<warning>
<para>2013 年 2 月 28 日までに
ports ツリーの <application>CVS</application>
へのエクスポートは終了します。
そのため、<application>CVSup</application> および
<application>csup</application> を用いて ports
ツリーをアップデートすることはできなくなります。</para>
</warning>
<procedure>
<title>Portsnap への移行</title>
<para>移行に際しては、
<filename>/usr</filename> に約
1&nbsp;GB のディスク容量と、
さらに <application>Portsnap</application>
は約 150&nbsp;MB のディスク容量を <filename>/var</filename> に必要とします。</para>
<step>
<para>もし &man.cron.8; を使って
<application>CVSup</application>
<application>csup</application> を実行するなど、
自動的な ports のアップデートを行なっているのであれば、
停止してください。</para>
</step>
<step>
<para>現在の ports ツリーを一時的に別の場所に移動します。</para>
<screen>&prompt.root; <userinput>mv /usr/ports /usr/ports.old</userinput></screen>
</step>
<step>
<para>新しい ports ツリーを
<application>Portsnap</application> を使ってダウンロードして、
<filename>/usr/ports</filename>
に展開してください。</para>
<screen>&prompt.root; <userinput>portsnap fetch extract</userinput></screen>
</step>
<step>
<para>distfiles および保存されている packages を新しい
port ツリーに移動してください。</para>
<screen>&prompt.root; <userinput>mv /usr/ports.old/distfiles /usr/ports</userinput>
&prompt.root; <userinput>mv /usr/ports.old/packages /usr/ports</userinput></screen>
</step>
<step>
<para>古い ports ツリーを削除してください。</para>
<screen>&prompt.root; <userinput>rm -rf /usr/ports.old</userinput></screen>
</step>
<step>
<para>もし <application>CVSup</application>
を使用していたのであれば、アンインストールできます。</para>
<screen>&prompt.root; <userinput>pkg_delete -r -v cvsup-without-gui-\*</userinput></screen>
<para><application>pkgng</application> のユーザは、
以下のコマンドを使って削除できます。</para>
<screen>&prompt.root; <userinput>pkg delete cvsup-without-gui</userinput></screen>
</step>
</procedure>
<!-- <para><application>Portsnap</application> の詳細と、
<application>Portsnap</application> を用いた
ports ツリーのアップデート方法については、
<link linkend="updating-upgrading-portsnap">Portsnap
を使う</link> の節を読んでください。</para> -->
</sect2>
<sect2 xml:id="ports-skeleton">
<title>ports のインストール</title>
<indexterm>
<primary>ports</primary>
<secondary>インストール</secondary>
</indexterm>
<para>port スケルトンは、アプリケーションを &os;
上で正しくコンパイルしインストールする方法を提供するファイルのセットのことです。
それぞれの port スケルトンには、次のファイルが含まれています。</para>
<para>Ports Collection
はソフトウェアのカテゴリを表すディレクトリを持ち、
各カテゴリには、各アプリケーションのサブディレクトリがあります。
ports スケルトンとも呼ばれる各サブディレクトリには、
プログラムを &os;
上で正しくコンパイルしてインストールする方法を提供するファイルのセットが含まれています。
それぞれの port スケルトンには、
次のファイルおよびディレクトリが含まれています。</para>
<itemizedlist>
<listitem>
<para><filename>Makefile</filename>
<filename>Makefile</filename>
にはアプリケーションのコンパイル方法やシステムのどこにインストールするかを指定する命令文が含まれています。</para>
<para><filename>Makefile</filename>:
このファイルにはアプリケーションのコンパイル方法やシステムのどこにインストールするかを指定する命令文が含まれています。</para>
</listitem>
<listitem>
<para><filename>distinfo</filename>
<para><filename>distinfo</filename>:
このファイルには、その port
を構築するためにダウンロードする必要があるファイルのファイル名と、
それらのファイルがダウンロードによって壊れていないかを
(&man.sha256.1; を使って)
確認するためのチェックサム情報が含まれています。</para>
チェックサム情報が含まれています。</para>
</listitem>
<listitem>
<para><filename>files</filename>
<para><filename>files</filename>:
このディレクトリには &os; 上でプログラムをコンパイルし、
インストールするための修正パッチが含まれています。
このディレクトリには、その port
@ -1198,12 +1040,12 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
</listitem>
<listitem>
<para><filename>pkg-descr</filename>
<para><filename>pkg-descr</filename>:
このファイルにはプログラムに関する、より詳しい説明文が含まれます。</para>
</listitem>
<listitem>
<para><filename>pkg-plist</filename>
<para><filename>pkg-plist</filename>:
これは、その port によってインストールされる全ファイルのリストです。
これにはプログラムを削除する際に、
どのファイルを削除すれば良いのかを ports
@ -1212,273 +1054,184 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
</itemizedlist>
<para>これらの他に <filename>pkg-message</filename>
といったファイルを含む ports もあります。
ports システムは、
このようなファイルを用いて特殊な状況にも対応しています。
や特殊な状況に対応するためのファイルを含む ports もあります。
これらのファイルについての詳細および
ports の一般的な説明については、<link xlink:href="&url.books.porters-handbook;/index.html">port
ports の一般的な説明については、
<link xlink:href="&url.books.porters-handbook;/index.html">port
作成者のためのハンドブック</link> をご覧下さい。</para>
<para>port は実際のソースコード (<quote>distfile</quote> とも呼ばれます)
<para>port は実際のソースコード
(<filename>distfile</filename> とも呼ばれます)
を含んではいません。
ソースコードはソフトウェアの作者が好む形式で配布されます。
以下では port をインストールする 2 つの方法について説明します。</para>
port の構築の展開部で、ダウンロードされたソースは自動的に
<filename
class="directory">/usr/ports/distfiles</filename>
に保存されます。</para>
<note>
<para>ports をインストールするには、
<systemitem class="username">root</systemitem> としてログインする必要があります。</para>
</note>
<sect2 xml:id="ports-skeleton">
<title>ports のインストール</title>
<indexterm>
<primary>ports</primary>
<secondary>installing</secondary>
</indexterm>
<para>この節では、Ports Collection
を利用してプログラムをインストールしたり、
システムから削除したりする基本的な手順について説明します。
利用可能な <command>make</command> のターゲットや環境変数についての詳細は
&man.ports.7; をご覧ください。</para>
<warning>
<para>port をコンパイルする前に、
Ports Collection が最新であることを確認してください。
また、その port に関連したセキュリティ上の問題がないことを
<uri xlink:href="http://vuxml.freebsd.org/">http://vuxml.freebsd.org/</uri>
で確認してください。<package>ports-mgmt/portaudit</package>
をインストールしているのであれば、
新しく port をインストールする前に、
<command>portaudit -F</command> コマンドを実行して、
最新の脆弱性に関するデータベースをダウンロードしてください。
セキュリティの検査およびデータベースの更新は、
日々のセキュリティチェックで行なわれます。
詳しくは、&man.portaudit.1; および &man.periodic.8;
のマニュアルページを参照してください。</para>
<para>いかなる port でも、構築する前には、
前節に書かれているように、Ports Collection をアップデートしてください。
サードパーティ製のソフトウェアをインストールすると、
セキュリティの脆弱性を引き起こす可能性があります。
その port に関連したセキュリティ上の問題がないことを、まずは
<uri xlink:href="http://vuxml.freebsd.org/">http://vuxml.freebsd.org/</uri>
で確認してください。または、<filename
role="package">ports-mgmt/portaudit</filename>
をインストールしているのであれば、新しい port をインストールする前に、
<command>portaudit -F -a</command> を実行してください。
毎日のシステムのセキュリティ確認時に、
自動的にセキュリティの検査およびデータベースの更新を行うようにこのコマンドを設定できます。
詳しくは、<application>portaudit</application> および &man.periodic.8;
のマニュアルページを参照してください。</para>
</warning>
<para>Ports Collection は、ネットワークに接続できることを想定しています。
もし接続できなければ、distfile のコピーを
<filename>/usr/ports/distfiles</filename>
に手動で置いてください。</para>
また、superuser の権限も必要となります。</para>
<para>まず、インストールしたい port のディレクトリに移動してください。</para>
<para><link xlink:href="http://www.freebsdmall.com/">freebsdmaill.com
</link>&os; Toolkit のようなサードパーティ製の DVD-ROM
製品の中には distfiles を収録しているものがあります。
これらを使うとインターネットへの接続がなくても
ports をインストールするのに使うことができます。
DVD を <filename class="directory">/cdrom</filename>
にマウントしてください。
ほかのマウントポイントを使用したければ、
<varname>CD_MOUNTPTS</varname> 変数を設定してください。
ディスク上に必要な distfiles が存在すると、
自動的に利用されます。port には DVD
への収録を許可しないライセンス条項を持つものがあります。
これにはダウンロード前に登録を必要としたり、
再配布が禁止されているという理由があります。
DVD に含まれていない port をインストールしたい場合には、
ネットワークに接続する必要があります。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>
<para>port をコンパイルしてインストールするには、
インストールしたい port のディレクトリに移動してください。
その後、プロンプトからまたは
<command>make install</command> と入力してください。
すると、次のような出力が現われるはずです。</para>
<para>port をコンパイルまたは
<quote>ビルド (build)</quote> するには、プロンプトから
<command>make</command> と入力してください。
そうすると、次のような出力が現われるはずです。</para>
<screen>&prompt.root; <userinput>make</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput>
&prompt.root; <userinput>make install</userinput>
&gt;&gt; lsof_4.88D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===&gt; Extracting for lsof-4.57
===&gt; Extracting for lsof-4.88
...
[extraction output snipped]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt; Patching for lsof-4.57
===&gt; Applying FreeBSD patches for lsof-4.57
===&gt; Configuring for lsof-4.57
&gt;&gt; Checksum OK for lsof_4.88D.freebsd.tar.gz.
===&gt; Patching for lsof-4.88.d,8
===&gt; Applying FreeBSD patches for lsof-4.88.d,8
===&gt; Configuring for lsof-4.88.d,8
...
[configure output snipped]
...
===&gt; Building for lsof-4.57
===&gt; Building for lsof-4.88.d,8
...
[compilation output snipped]
...
&prompt.root;</screen>
===&gt; Installing for lsof-4.88.d,8
<para>コンパイルが終了すると、プロンプトに戻ります。
次に <command>make install</command>
を使って、port のインストールを行ないます。</para>
<screen>&prompt.root; <userinput>make install</userinput>
===&gt; Installing for lsof-4.57
===&gt; Installing for lsof-4.88.d,8
...
[installation output snipped]
...
===&gt; Generating temporary packing list
===&gt; Compressing manual pages for lsof-4.57
===&gt; Registering installation for lsof-4.57
===&gt; Compressing manual pages for lsof-4.88.d,8
===&gt; Registering installation for lsof-4.88.d,8
===&gt; SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
/usr/local/sbin/lsof
&prompt.root;</screen>
<para>プロンプトに戻ったら、
インストールしたプログラムは実行できるようになっています。
<command>lsof</command> は高い権限で動作するプログラムなので、
セキュリティに関する警告が表示されます。ports
のコンパイルやインストール中に表示されるこれらの警告に注意してください。</para>
<para><command>lsof</command> は高い権限で動作するプログラムなので、
インストールする時にセキュリティに関する警告が表示されます。
インストールが終わったら、プロンプトが戻ります。</para>
<para>コンパイル時に作成される作業用ディレクトリを削除すると良いでしょう。
このディレクトリにはコンパイル時に使用されるすべての一時ファイルが含まれています。
このディレクトリを削除することで、ディスク容量を節約でき、また port
を新しいバージョンへアップデートする際に問題が起こる可能性を小さくします。</para>
<screen>&prompt.root; <userinput>make clean</userinput>
===&gt; Cleaning for lsof-4.57
&prompt.root;</screen>
<note>
<para><command>make</command><command>make install</command>
および <command>make clean</command>
と三つに分けられた手順の代わりに、
最初から <command>make install clean</command> と実行することで、
余分な手順を二つ省くことができます。</para>
</note>
<note>
<para>デフォルトでは、ユーザに port
のオプションを選択させる設定のため、
<command>make install</command>
だけの実行では、ユーザとの対話が起こり長時間待たされることがあります。
依存する port の数が多い場合に、これを避けるには、まず最初に <command>make
config-recursive</command>
を実行して設定を一括で行い、その後
<command>make install
[clean]</command> を実行してください。</para>
</note>
<tip>
<para><buildtarget>config-recursive</buildtarget> を実行する際、
&man.make.1; のターゲットである
<buildtarget>all-depends-list</buildtarget>
を実行すると、設定すべき ports の一覧を得ることができます。
多くの場合は、すべての依存 ports のオプションが定義され、
ports オプションの &man.dialog.1; 画面が表示されなくなり、
すべてのオプションが意図通りに設定されたことを確認できるまで
<command>make
config-recursive</command>
を実行すると良いでしょう。</para>
</tip>
<note>
<para>シェルによってはコマンドの実行ファイルを探す時間を短縮するために、
環境変数 <envar>PATH</envar> に登録されている
ディレクトリのコマンド一覧をキャッシュするものがあります。
<command>tcsh</command> を使っているのであれば、
<command>tcsh</command> シェルを使っているのであれば、
フルパスを指定することなく新しくインストールしたコマンドを利用できるように、
<command>rehash</command> を実行してください。
<command>sh</command> シェルを使っているのであれば
かわりに <command>hash -r</command> を実行してください。
詳細については、
あなたの使っているシェルのドキュメントをご覧ください。</para>
<para>インストールの間に、作業用ディレクトリが作成されます。
このディレクトリにはコンパイル時に使用されるすべての一時ファイルが含まれています。
このディレクトリを削除することで、ディスク容量を節約でき、また port
を新しいバージョンへアップデートする際に問題が起こる可能性を小さくします。</para>
<screen>&prompt.root; <userinput>make clean</userinput>
===&gt; Cleaning for lsof-88.d,8
&prompt.root;</screen>
<note>
<para>port を構築する際に、
<command>make install clean</command>
と実行することで、
これらの余分な手順を省くことができます。</para>
</note>
<sect3>
<title>ports のインストールのカスタマイズ</title>
<para><link xlink:href="http://www.freebsdmall.com/">&os;
Mall</link>&os; Toolkit のようなサードパーティ製の DVD-ROM
製品の中には distfiles を収録しているものがあります。
これらを Ports Collection で使うことができます。
DVD-ROM を <filename>/cdrom</filename> にマウントしてください。
ほかのマウントポイントを使用したければ、
<varname>CD_MOUNTPTS</varname> 変数を設定してください。
ディスク上に必要な distfiles が存在すると、
自動的に利用されます。</para>
<note>
<para>port には DVD
への収録を許可しないライセンス条項を持つものがあります。
これにはダウンロード前に登録を必要としたり、
再配布が禁止されているという理由があります。
DVD に含まれていない port をインストールしたい場合には、
ネットワークに接続する必要があります。</para>
</note>
<para>ports は、<envar>FTP_PASSIVE_MODE</envar>,
<envar>FTP_PROXY</envar>, <envar>FTP_PASSWORD</envar>
といった環境変数を参照する &man.fetch.1;
を用いてファイルをダウンロードします。
ファイアウォールの内側であったり、
FTP/HTTP プロキシを使う場合には、
これらの環境変数を設定することなります。
環境変数の一覧については &man.fetch.3; をご覧ください。</para>
<para>ネットワークに常時接続できないユーザのために
<command>make fetch</command>
コマンドが用意されています。
(ネットワークに接続している時に) このコマンドを
<filename>/usr/ports</filename> で実行してください。
必要なファイルがダウンロードされます。
このコマンドは <filename>/usr/ports/net</filename>
といった、より下の階層のカテゴリにおいても使うことができます。
ある port がライブラリやその他の ports に依存している場合には、
別のカテゴリの ports の distfiles
はダウンロードされ<emphasis>ない</emphasis>ことに注意してください。
port が依存しているすべてをダウンロードしたければ、
<command>make
fetch-recursive</command>
を使ってください。</para>
<note>
<para>トップディレクトリで <command>make</command>
を実行するとすべての port がビルドされます。
しかしながら ports の中には同時に存在できないものがあったり、
異なる ports の別のファイルが同じ名前で
インストールされる場合があることに注意してください。</para>
</note>
<para>めったにないことかもしれませんが、
デフォルトの <varname>MASTER_SITES</varname>
に書かれているサイト以外から tarball
を持ってくることが必要になる場合があります。
そのような場合には以下のように
<varname>MASTER_SITES</varname> を変更してください。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<para>上の例では <varname>MASTER_SITES</varname>
<systemitem class="fqdomainname">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</systemitem>
に変更しています。</para>
<note>
<para>ports の中にはビルドオプションを指定できるものがあります。
このオプションを指定することで、
アプリケーションの機能の一部を有効もしくは無効にできます。
また、セキュリティオプションを設定したり、
その他のカスタマイズを行うことができます。
このようなアプリケーションには
<package>www/firefox</package>,
<package>security/gpgme</package> や
<package>mail/sylpheed-claws</package>
<filename role="package">www/firefox</filename>,
<filename role="package">security/gpgme</filename>
<filename role="package">mail/sylpheed-claws</filename>
などがあります。
利用可能なオプションがある場合には、
port をコンパイルする前にメニューが表示されます。</para>
</note>
port に利用可能なオプションがある場合には、
デフォルトでは、ユーザに port
のオプションをメニューから選択させる設定のため、
何度もユーザとの対話が起こり待たされることがあります。
これを避けるには、まず最初に <command>make
config-recursive</command>
を実行して設定を一括で行い、その後
<command>make
install [clean]</command>
を実行して port を構築してインストールしてください。</para>
<sect3>
<title>ports ディレクトリの変更</title>
<tip>
<para><buildtarget>config-recursive</buildtarget> を実行する際、
<buildtarget>all-depends-list</buildtarget>
を実行すると、設定すべき ports の一覧を得ることができます。
多くの場合は、すべての依存 ports のオプションが定義され、
ports オプションの画面が表示されなくなり、
すべてのオプションが設定されたことを確認できるまで
<command>make
config-recursive</command>
を実行すると良いでしょう。</para>
</tip>
<para><varname>WRKDIRPREFIX</varname> 変数と
<varname>PREFIX</varname> 変数を変更することで、
作業ディレクトリやターゲットディレクトリをデフォルトのものから変更できます。</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen>
<para>とすると、ports は <filename>/usr/home/example/ports</filename>
でコンパイルされ、すべて <filename>/usr/local</filename>
以下にインストールされます。</para>
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
<para>この場合、port のコンパイルは <filename>/usr/ports</filename>
でおこない、
<filename>/usr/home/example/local</filename>
にインストールします。</para>
<para>そして、</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
<para>とすれば両者を組み合わせることが可能です。</para>
<para>あるいは、これらを環境変数に設定する方法もあります。
どのように環境変数を設定するかについては、
あなたの使っているシェルのマニュアルページを参照してください。</para>
</sect3>
<sect3>
<title>ports の再構築</title>
<para>ports をコンパイルする際、ビルドオプションを設定するために
ncurses ベースのメニューが表示されることがあります。
port の構築後、再びこのメニューを表示させてオプションの追加や削除、
<para>port の構築後、再びこのメニューを表示させてオプションの追加や削除、
設定の変更を行う方法はたくさんあります。
一つ目は port のディレクトリに <command>cd</command> で移動し、
<command>make config</command> と入力する方法です。
<command>make config</command>
と入力する方法です。
別の方法は <command>make showconfig</command>
を使う方法です。
他の方法は <command>make rmconfig</command>
@ -1487,6 +1240,67 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
設定をもう一度やり直すことができます。
これらの方法や他の方法についての詳細は、
&man.ports.7; マニュアルで説明されています。</para>
<para>ports は、いくつかの環境変数を参照する &man.fetch.1;
を用いてソースファイルをダウンロードします。
&os; システムがファイアウォールの内側であったり、
FTP/HTTP プロキシを使う場合には、
<envar>FTP_PASSIVE_MODE</envar>,
<envar>FTP_PROXY</envar>, <envar>FTP_PASSWORD</envar>
の環境変数を設定することなります。
対応している環境変数の一覧については
&man.fetch.3; をご覧ください。</para>
<para>インターネットに常時接続できないユーザのために
<command>make fetch</command>
コマンドが用意されています。
このコマンドを
<filename class="directory">/usr/ports</filename>
で実行してすべての distfiles をダウンロードするか、
<filename class="directory">/usr/ports/net</filename>
といったカテゴリや、あるスケルトンにおいても実行できます。
ある port がライブラリやその他の ports に依存している場合には、
別のカテゴリの ports の distfiles
はダウンロードされ<emphasis>ない</emphasis>ことに注意してください。
port が依存しているすべての distfiles をダウンロードしたければ、
<command>make fetch-recursive</command>
を使ってください。</para>
<para>めったにないことかもしれませんが、
ローカルに distfiles のリポジトリがあるような場合に、
<varname>MASTER_SITES</varname> 変数を変更することで
<filename>Makefile</filename> で指定されているダウンロードの場所を
変更することができます。
設定する場合には、変更先を以下のようにして指定してください。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
<replaceable>ftp://ftp.organization.org/pub/FreeBSD/ports/distfiles/</replaceable> fetch</userinput></screen>
<para><varname>WRKDIRPREFIX</varname> 変数と
<varname>PREFIX</varname> 変数を変更することで、
作業ディレクトリやターゲットディレクトリをデフォルトのものから変更できます。</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen>
<para>とすると、ports は <filename class="directory">/usr/home/example/ports</filename>
でコンパイルされ、すべて <filename class="directory">/usr/local</filename>
以下にインストールされます。</para>
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
<para>この場合、port のコンパイルは <filename class="directory">/usr/ports</filename>
でおこない、
<filename class="directory">/usr/home/example/local</filename>
にインストールします。そして</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
<para>とすれば両者を組み合わせることが可能です。</para>
<para>これらを環境変数に設定する方法もあります。
どのように環境変数を設定するかについては、
あなたの使っているシェルのマニュアルページを参照してください。</para>
</sect3>
</sect2>
@ -1498,11 +1312,33 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<secondary>削除</secondary>
</indexterm>
<para>インストールされた ports および packages は、
&man.pkg.delete.1; コマンドで削除できます。</para>
<para>インストールされた ports は、
&man.pkg.delete.1; コマンドで削除できます。
&os; システムが <application>pkg</application>
を使うように設定されているのであれば、
<command>pkg delete</command> を使って port を削除してください。
これらのコマンドの使用例は、<xref
linkend="packages-using"/> および <xref
linkend="pkgng-intro"/> にあります。</para>
<screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>
<para>あるいは、port のディレクトリにて
<command>make deinstall</command> を実行することでも削除できます。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput>
<userinput>make deinstall</userinput>
===> Deinstalling for sysutils/lsof
===> Deinstalling
Deinstallation has been requested for the following 1 packages:
lsof-4.88.d,8
The deinstallation will free 229 kB
[1/1] Deleting lsof-4.88.d,8... done</screen>
<para>port が削除されるときに表示されるメッセージを読むことをお勧めします。
もし削除した port に依存するアプリケーションがあった場合には、
その情報が表示されますが、port の削除は行われます。
そのようなケースでは、依存を直すためにアプリケーションを再インストールするとよいでしょう。</para>
</sect2>
<sect2 xml:id="ports-upgrading">