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 では、コンパイル・リンク・インストールのみが動作するようになります。
|
|