Merge the following from the English version:

1.249 -> 1.256	handbook/ports/chapter.sgml

Submitted by:	Ryusuke Suzuki <ryusuke _at_ jp dot FreeBSD dot org>
Reviewed by:	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
References:	[doc-jp-work 1790, 1811, 1813, 1814]
This commit is contained in:
Hiroki Sato 2009-03-27 01:16:12 +00:00
parent 149e94ae37
commit 0675b9d6da
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34014

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.249
Original revision: 1.256
$FreeBSD$
-->
@ -586,7 +586,9 @@ docbook =
<para>このセクションでは、Ports Collection
を利用してシステムにプログラムをインストールしたり、
システムから削除したりする基本的な手順について説明します。</para>
システムから削除したりする基本的な手順について説明します。
利用可能な <command>make</command> のターゲットや環境変数についての詳細は
&man.ports.7; をご覧ください。</para>
<sect2 id="ports-tree">
<title>Ports Collection の準備</title>
@ -682,12 +684,12 @@ docbook =
<procedure>
<title>Portsnap を利用する方法</title>
<para>&man.portsnap.8; は Ports Collection
<para><application>Portsnap</application> は Ports Collection
を配布するための新しいシステムです。
&os;&nbsp;6.0 から追加されました。
もし、それより古いシステムをお使いでしたら、<filename
role="package">sysutils/portsnap</filename>
port をインストールしてください。</para>
package をインストールしてください。</para>
<screen>&prompt.root; <userinput>pkg_add -r portsnap</userinput></screen>
@ -699,7 +701,12 @@ docbook =
を参照してください。</para>
<step>
<para>もし <filename
<para>&os;&nbsp;6.1-RELEASE 以降のシステム、または最新の
<application>Portsnap</application> port や package では、
&man.portsnap.8; コマンドを初めて実行すると自動的に
<filename role="directory">/usr/ports</filename>
が作成されるので、この手順を飛ばして差し支えありません。
もし、古い <application>Portsnap</application> を使っていて、<filename
role="directory">/usr/ports</filename> ディレクトリが存在しなければ、
以下のように空のディレクトリを作成してください。</para>
@ -978,7 +985,7 @@ docbook =
および <command>make clean</command>
と三つに分けられた手順の代わりに、
最初から <command>make install clean</command> と実行することで、
余分な操作を省くことができます。</para>
余分な手順を二つ省くことができます。</para>
</note>
<note>
@ -1083,15 +1090,15 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<sect3>
<title>ports ディレクトリの変更</title>
<para>distfiles や ports
ィレクトリをデフォルトのものから変更したほうが有用な場合
<para>作業ディレクトリやターゲットディレクトリを
デフォルトのものから変更したほうが有用な場合
(もしくは変更しなければならない場合) があります。
<makevar>PORTSDIR</makevar> 変数と
<makevar>WRKDIRPREFIX</makevar> 変数と
<makevar>PREFIX</makevar> 変数を変更することで、
違うディレクトリを使用することができます。
たとえば、</para>
<screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/example/ports install</userinput></screen>
<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>
@ -1106,7 +1113,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<para>もちろん、</para>
<screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
<para>とすれば両者を組み合わせることが可能です
(省略せずに記述したらこのページに収めるには長すぎるのですが、
@ -1144,78 +1151,29 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<!-- 2000/07/16:hrs - why "decide"? -->
さて、前の例 (例のまま何も変更していない人は
<command>lsof</command>)
を削除してみましょう。ports のインストールと同じように、
まず最初にやらなければならないのは port のディレクトリ
<filename>/usr/ports/sysutils/lsof</filename> に移動することです。
ディレクトリを移動したら、<command>lsof</command>
を削除するのに必要な準備は終わりです。
削除するには、<command>make deinstall</command> コマンド
を実行します。</para>
を削除してみましょう。
packages を削除する時とまったく同じく (<link
linkend="packages-using">packages の章</link> で説明したように)
&man.pkg.delete.1; コマンドで ports を削除できます。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput>
&prompt.root; <userinput>make deinstall</userinput>
===&gt; Deinstalling for lsof-4.57</screen>
<screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>
<para>極めて簡単な作業です。
これでうまく <command>lsof</command>
をシステムから削除できました。
もう一度再インストールしたい場合には、
<filename>/usr/ports/sysutils/lsof</filename> ディレクトリから
<command>make reinstall</command>
を実行することで行なうことができます。
</para>
<para>一度 <command>make clean</command> を実行してしまうと、
<command>make deinstall</command> および <command>make
reinstall</command> の一連の作業はできません。
<command>make clean</command> を実行した後で
インストールした port を削除したいのであれば、
<link linkend="packages-using">ハンドブックの packages
のセクション</link> で説明されているように
&man.pkg.delete.1; を使ってください。</para>
</sect2>
<sect2 id="ports-disk-space">
<title>ports とディスク容量</title>
<indexterm>
<primary>ports</primary>
<secondary>ディスク容量</secondary>
</indexterm>
<para>Ports Collection を使い続けていると、
そのうちディスクを食いつぶしてしまうでしょう。
このように ports ツリーのサイズは大きくなりがちなので、
ports からソフトウェアをビルドしてインストールした後に、
常に、作業用の
<filename class="directory">work</filename> ディレクトリを
<command>make <makevar>clean</makevar></command>
コマンドで削除するようにしましょう。
このコマンドは、ビルドやインストールされた
port の <filename class="directory">work</filename>
ディレクトリを削除します。
また、配布ソースファイルを <filename class="directory">distfiles</filename>
ディレクトリから削除したり、
必要なくなればインストールした ports を削除してもよいでしょう。
</para>
<para><filename>refuse</filename> ファイルを使って、
利用できる port のカテゴリを制限することもできます。
<application>CVSup</application> は、
このファイルにエントリされたカテゴリに属するファイルを更新しません。
<filename>refuse</filename> ファイルに関するより詳しい説明は <xref
linkend="cvsup-refuse-file"> にあります。</para>
</sect2>
<sect2 id="ports-upgrading">
<title>ports のアップグレード</title>
<indexterm>
<primary>portupgrade</primary>
</indexterm>
<indexterm>
<primary>ports</primary>
<secondary>アップグレード</secondary>
</indexterm>
<para>まず最初に &man.pkg.version.1; コマンドを使って、
古くなってしまった ports
の中で新しいバージョンにアップデート可能なものを
Ports Collection からリストアップしてください。</para>
<screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>
<note>
<para>Ports Collection を更新したら、port をアップグレードする前に
<filename>/usr/ports/UPDATING</filename>
@ -1225,47 +1183,50 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
追加で必要な作業などが記述されています。</para>
</note>
<para>ports を最新の状態に維持し続けるのはとても大変です。
たとえば、port をアップグレードする作業は次のようになります。
まず ports のディレクトリへ移動し、port をビルドします。
次に、古い port を削除し、新しい port をインストールします。
最後にビルド後のクリーンアップを行います。
5 つの ports のアップグレードを考えただけでも大変ですよね?
このようにシステム管理者にとってアプリケーションの管理は大きな悩みの種ですが、
この問題を解決してくれるユーティリティがあります。
たとえば <filename role="package">sysutils/portupgrade</filename>
は、あなたの代わりにこれらの作業をすべて行ってくれます!
通常の port をインストールするように
<command>make <makevar>install clean</makevar></command>
コマンドでインストールしてください。</para>
<sect3 id="portupgrade">
<title>portupgrade を用いた ports のアップグレード</title>
<para>まず、<command>pkgdb -F</command> コマンドを使い、
データベースを作成します。
このコマンドはインストールされている ports を調べ、
<filename>/var/db/pkg</filename>
ディレクトリにデータベースファイルを作成します。
そして <command>portupgrade -a</command> を実行すると、
このデータベースファイルと
ports <filename>INDEX</filename> ファイルが調べられ、
更新の必要がある ports
のダウンロード、ビルド、バックアップ、インストール、そしてクリーンアップが行われます。
さまざまな利用状況に対応するため、
<indexterm>
<primary>portupgrade</primary>
</indexterm>
<para><application>portupgrade</application> は、
インストールした ports
のアップグレードを簡単に行なうためのユーティリティです。
<filename role="package">sysutils/portupgrade</filename>
port から利用できます。
他の port と同じように <command>make <makevar>install
clean</makevar></command> コマンドでインストールしてください。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/portupgrade</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para><command>pkgdb -F</command> コマンドを使って、
インストールされている ports を調べてください。
矛盾が検出された場合には修復してください。
アプリケーションをアップデートする前には、
この作業を定期的に行なうとよいでしょう。</para>
<para><command>portupgrade -a</command> を実行すると、
<application>portupgrade</application>
にはたくさんのオプションがあります。
以下では重要なオプションについて紹介します。</para>
はシステムにインストールされている port
の中で古くなったものをすべてアップデートします。
もし、すべての ports
に対して個別にアップグレードするかどうかを確認したいのであれば、
<option>-i</option> オプションを使ってください。</para>
<para>データベース上のすべてのアプリケーションではなく、
<screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>
<para>ports で利用可能なすべてのアプリケーションではなく、
ある特定のアプリケーションだけを更新したいのであれば、
<command>portupgrade <replaceable>pkgname</replaceable></command>
を実行してください。
アップグレードしたいアプリケーションに依存するすべての packages
を同時に更新したい場合には、<option>-r</option>
オプションを付けて <application>portupgrade</application>
を実行してください。
アップグレードしたいアプリケーションが必要とするすべての
アプリケーションを更新したい場合には、
アップグレードするアプリケーションが依存しているすべての
ports をまず先に更新したい場合には、
<option>-R</option> オプションを使ってください。</para>
<screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>
<para>ports ではなく packages を用いてインストールを行ないたい場合には、
<option>-P</option> オプションを使ってください。
このオプションを使うと、<application>portupgrade</application> は
@ -1279,25 +1240,95 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
ports を使用したくなければ、<option>-PP</option>
オプションを指定してください。</para>
<screen>&prompt.root; <userinput>portupgrade -PR gnome2</userinput></screen>
<para>また、ビルドやインストールを行なわず、
distfiles (<option>-P</option> が指定されている場合は packages)
だけをダウンロードしたければ、
<option>-F</option> オプションを指定してください。
詳細は &man.portupgrade.1; を参照してください。</para>
</sect3>
<note>
<para>定期的に、もしくは <application>portupgrade</application>
が要求してきたら、package データベースの整合性を保つために
<command>pkgdb -F</command> を実行してください。
package データベースの更新中に
<application>portupgrade</application> を中止しないでください。
整合性のないデータベースが作成されることがあります。</para>
<sect3 id="portmanager">
<title>Portmanager を用いた ports のアップグレード</title>
<indexterm>
<primary>portmanager</primary>
</indexterm>
<para>インストールした ports
のアップグレードを簡単に行なうためのもうひとつのユーティリティが
<application>Portmanager</application> です。
<filename role="package">sysutils/portmanager</filename> port
から利用できます。</para>
<screen>&prompt.root; <userinput>cd <filename role="directory">/usr/ports/sysutils/portmanager</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>インストールされているすべての ports
を次のような簡単なコマンドでアップグレードできます。</para>
<screen>&prompt.root; <userinput>portmanager -u</userinput></screen>
<para><application>Portmanager</application>
の作業を確認しながら行いたい場合には、
<option>-ui</option> オプションを使ってください。
<application>Portmanager</application> を使って、
システムに新しい ports をインストールすることもできます。
通常の <command>make install clean</command> コマンドと異なり、
選択した port をビルドしインストールする前に、
依存している port をすべてアップグレードします。</para>
<screen>&prompt.root; <userinput>portmanager <replaceable>x11/gnome2</replaceable></userinput></screen>
<para>選択した port の依存関係について問題が発生した場合には、
<application>Portmanager</application>
を使って修復することができます。
修正が終ったら、問題を含んでいた port は再構築されます。</para>
<screen>&prompt.root; <userinput>portmanager <replaceable>graphics/gimp</replaceable> -f</userinput></screen>
<para>詳細は <application>Portmanager</application>
のマニュアルを参照してください。</para>
</sect3>
</sect2>
<sect2 id="ports-disk-space">
<title>ports とディスク容量</title>
<indexterm>
<primary>ports</primary>
<secondary>ディスク容量</secondary>
</indexterm>
<para>Ports Collection を使い続けていると、
そのうちディスクを食いつぶしてしまうでしょう。
ports からソフトウェアをビルドしてインストールした後には、
常に作業用の <filename class="directory">work</filename>
ディレクトリを <command>make <makevar>clean</makevar></command>
コマンドで削除するようにしましょう。
以下のコマンドで Ports Collection を掃除することができます。</para>
<screen>&prompt.root; <userinput>portsclean -C</userinput></screen>
<para><filename class="directory">distfiles</filename>
ディレクトリには、たくさんのソースファイルがたまっていきます。
手動でそれらのファイルを削除してもよいのですが、
どの ports からも使われていない
distfiles を次のコマンドで削除できます。</para>
<screen>&prompt.root; <userinput>portsclean -D</userinput></screen>
<note>
<para><command>portsclean</command> ユーティリティは
<application>portupgrade</application> ツール群の一部です。</para>
</note>
<para>
このようなユーティリティは他にも <filename>ports/sysutils</filename>
ディレクトリにあるので、目的のものを探してください。</para>
<para>インストールした ports のうちで、
必要なくなったものは削除してください。
<filename role="package">sysutils/pkg_cutleaves</filename> port は、
この作業を自動化するツールです。</para>
</sect2>
</sect1>
<sect1 id="ports-nextsteps">