FreeBSD 8.4 RELEASE - ports - ports によるアプリケーションインストール

クラウディア 
1. お手軽 pkg_add pkg_delete
2. ports インストール手順
3. 必要なソースを先に取得する方法

1. お手軽 pkg_add pkg_delete

 一番お手軽な方法を示します。ただしこれはお勧めではありません。  ftp コマンドを使って「共通事項 - インストーラディスクの入手方法」に掲載している FTP サイトのホストに接続します

> ftp ftp://ftp.jp.FreeBSD.org
 以下のようなプロンプトが出てきます。

250 CWD command successful.
ftp>
 ここで、cd コマンドを使用して、ディレクトリを pub → FreeBSD → ports → packages  と移動していきます。  その配下に様々なカテゴリ別に別れています。例えば、www から apache-1.3.31_2 のパッケージを取得しようとするならば、www に移動して、

ftp> recv apache-1.3.31_2.tgz
 そうすると、現在自分のいるローカルディレクトリに apache-1.3.31_2.tgz を受信してくることが出来ます。  初めから持って来ようとするターゲットのありかがわかっているなら

> fetch ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ports/packages/www/apache-1.3.31_2.tgz
 とやって一発で、ターゲットファイルを手に入れる方法があります。  さて、手に入れた package をインストールするのは以下のコマンドです。

> pkg_add apache-1.3.31_2.tgz
 これで、一発簡単にアプリケーションのインストールが出来ます。  インストールしたアプリケーションは、/var/db/pkg というディレクトリに、例えば上の例であれば、/apache-1.3.31_2 という形で記録されています。  逆に、アンインストールするときは

> pkg_delete apache-1.3.31_2
 というコマンド一発です。  アンインストールの時は、ファイル名でなくパッケージ名だけなので .tgz をつけないことに注意してください。  とここまで、お手軽な方法を説明してきましたが、実はこれはわたしとしてはあんまりおすすめしません。ports は他のファイルとの依存関係にあることが多く、あるパッケージだけインストールしても動かないことがあります。で、その必要なパッケージを入手しようとしたらそれは、パッケージ化されていなかった。ということになることがあるからです。  では、パッケージでないインストールの仕方とはどういうものか説明します。

2. ports インストール手順

 パッケージ化されていない、「ports」のインストール手順について説明します。  まず、ターゲットのインストール手順が記述された、Makefile などのインストール用ファイルがどこにあるかを探します。  「FreeBSD Ports」をキーワードにネットで検索してみるのもよいでしょうし、例えば、apacheの 1.3 バージョンのありかを探そうと思ったら、

whereis apache13
 と入力します。  すると

apache13: /usr/ports/russian/apache13 /usr/ports/www/apache13
 のように出力されるはずです。  この場合は、ロシア語版と英語版の2つあるようですが、我々の場合、ロシア語版の方は必要ないですね。  ただ、「apache」の「1.3」バージョンを「apache13」で探さなければならないのはちょっとわかりにくいかと思います。  うまく探せない場合は、やはり「FreeBSD Ports」をキーワードにネットで検索するしかないかもしれません。  上記の手順で、インストール用ファイルがどこにあるかわかったら、後は簡単です。

> cd /usr/ports/www/apache13
・・・
> make
・・・
> make install
 この3行を、入力するだけで通常は、インストール完了となります。  たまに欲しいターゲットを探せないときがあります、「ほにゃほにゃ.tar.gz がありませんぜ」などというメッセージが表示されると思います。そのときは、/usr/ports/distfiles に移動して、1.でやったように、ターゲットのファイルを探しにいってそこからダウンロードしてください。  そこで探すときは、ftp でログインして、

pub → FreeBSD → distfiles
 の順にディレクトリを移動してから探してください。そこは、カテゴリ別になっていないので探すのは大変ですが・・・。  やりなおしするときは、もう一度インストール用のファイルのあるディレクトリに移って

make clean
make
make install
 してください。make clean するのは、前回のインストールで失敗したときに、ゴミが残ってうまくインストールできないときがあるからです。

3. 必要なソースを先に取得する方法

 ports インストール時に、依存関係から他の ports が必要になることがあります。そういうとき、そのたびにダウンロードが走るので、結構時間がかかることがあります。  ソースのダウンロードだけ先にやっちゃいたいことがあります。  そういうときは、まず、インストールしたい ports のディレクトリに移動して

make fetch-recursive
 とやってください。そうすると、ダウンロードの必要なソースのダウンロードだけ先に動きますので、make、make install では、コンパイル・リンク・インストールのみが動作するようになります。
earthcar(アースカー)
ネットオークションの相場、統計、価格比較といえばオークファン