This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

FreeBSD ports コレクションの入手

4.3. FreeBSD ports コレクションの入手

あるプログラムの FreeBSD port を入手するには二つの方法があります. ひとつは FreeBSD CD-ROM を使う方法で, もうひとつは インターネット接続 を使う方法です.

4.3.1. CD-ROM からコンパイルする

FreeBSD CD-ROM がドライブに入っており, /cdrom にマウントされていると仮定すると (マウントポイントが /cdrom である必要があります), ただ普通に実行するだけで ports を構築できるようになり, tarball をネットワーク経由でダウンロードするのではなく /cdrom/ports/distfiles/ からさがすようになります (そこにあればの話ですが).

CD-ROM にある port スケルトンを使いたければ, 他に /etc/make.conf の 変数を以下のようにセットする方法があります:

    PORTSDIR=       /cdrom/ports
    DISTDIR=        /tmp/distfiles
    WRKDIRPREFIX=   /tmp

(任意の十分な空きスペースの場所を /tmp とおいています). 次に, /cdrom/ports 下の適宜のサブディレクトリに cd して, 例のごとく make install とタイプします. WRKDIRPREFIX は port に /tmp/cdrom/ports の下でビルドさせようとします; 例えば, games/oneko/tmp/cdrom/ports/games/oneko の下で ビルドされるでしょう.

ライセンスの制限により, いくつかの ports でオリジナルのソースコードを CD-ROM に入れることができなかったものがあることに注意してください. この場合, インターネット経由で ports をコンパイルする の 節を参照してください.

4.3.2. インターネット経由で ports をコンパイルする

CD-ROM を持っていなかったり, その ports の最新バージョンを確実に入手したい 場合は, その ports の スケルトン を ダウンロードする必要があります. ところで, これは落し穴が たくさんある作業に見えるかもしれませんが, 実際には非常に簡単です.

初めに, あなたの動かしている FreeBSD がリリースバージョンなら ports ページ でその FreeBSD 用の ``アップグレードキット'' を手にいれてください. このパッケージには, 最新の ports をコンパイルするのに必要な, リリース以降に更新されたファイルが含まれています.

FreeBSD の FTP サーバーがその場で tarball を作成できることを利用してスケルトンを入手すると 非常に便利です. ここでは例として databases ディレクトリにある gnats プログラムを使って説明します. (角型かっこの中の文はコメントなので, 実際に実行する場合には, これをタイプしないでください!):

    # cd /usr/ports
    # mkdir databases
    # cd databases
    # ftp ftp.FreeBSD.org
    [ユーザ名 `ftp' でログインし, パスワードを要求されたら, あなたの電子メール
    アドレスを入力してください. バイナリモードを (イメージモードと呼ばれることも
    あります) 使うのをお忘れなく!]
    ftp> cd /pub/FreeBSD/ports/ports/databases
    ftp> get gnats.tar
    [gnats スケルトンの tarballs を取得]
    ftp> quit
    # tar xf gnats.tar
    [gnats スケルトンの展開]
    # cd gnats
    # make install
    [gnats の構築とインストール]

さて何が起きるでしょうか? FTP サイトにいつも通りに接続して, データベースの サブディレクトリに移動します. get gnats.tar とコマンドを入力すると, FTP サイトでは gnats ディレクトリを tarred にしてくれるのです.

gnats スケルトンを展開したら, gnats ディレクトリへ移動して ports を構築します. すでに 説明したように, make の過程で 手元にソースコードがないことを検出すると, ソースコードを取得してから 展開し, パッチ当てと構築をおこないます.

それでは, 少し冒険をしてみましょう. 一つの ports スケルトンを 取得するかわりに, たとえば ports コレクションの中のデータベースの スケルトンをすべて, サブディレクトリ全体を取得してみましょう. やり方はほとんど同じです:

    # cd /usr/ports
    # ftp ftp.FreeBSD.org
    [ユーザ名 `ftp' でログインし, パスワードを要求されたら, あなたの電子メール
    アドレスを入力してください. バイナリモードを (イメージモードと呼ばれることも
    あります) 使うのをお忘れなく!]
    ftp> cd /pub/FreeBSD/ports/ports
    ftp> get databases.tar
    [データベースディレクトリの tarballs を取得]
    ftp> quit
    # tar xf databases.tar
    [すべてのスケルトンを展開]
    # cd databases
    # make install
    [データベース ports 全部の構築とインストール]

わずかばかりの簡単なコマンドで, この FreeBSD マシン上にデータベース プログラムを一揃い手に入れてしまいました! 一つの ports スケルトンを取ってきて それを構築する場合との違いは, すべてのディレクトリを一度に取得して, 全部を一度にコンパイルしたということだけです. かなり感動的だと思いませんか?

たくさんの ports をインストールする つもりなら, おそらくすべての ports ディレクトリをダウンロードしておく 価値があるでしょう.