Portsを利用したソフトウェアの導入

portsとpackageの違いはなんでしょうか。packageはコンパイル済みの 実行形式のバイナリファイルやその他の必要なファイルがパッケージ内に 含められています。それとは異なりportsにはソースパッケージからコンパイル するために必要な情報を含んでいるのです。ソースはいろんなOSに対応するために 各種の設定を行えるようになっていますが、このOS依存部分に関する情報などが portsには含まれているのです。

portsを展開してmakeを実行すると、まずソースパッケージを入手し、 必要な設定を施したあとでコンパイルを実行します。それをインストールして 使うための設定ファイルも含まれていますので、自分で設定して コンパイルしてインストールするよりもかなり楽な場合が多いとおもいます。

portsのファイルを入手

まず、導入するファイルを jp.freebsd.org の ports コレクション などから入手してください。

今回は samba-2.03 のパッケージを入手してみましょう。 Net(ネットワーキングユーティリティー)の中の samba-2.03.tar を ftp などで 入手してください。

展開

以下のようにこのパッケージを展開し、Makefileがあるディレクトリに移動します。
$ tar xf samba-2.03.tar
$ cd pub/FreeBSD/FreeBSD-current/ports/net

make

ここで
$ make
とすると、ネットワークからパッケージを自動的にとってきて、 それからコンパイルを実行します。

しかし、既にsambaのパッケージ samba-2.03.tar.gzをもっている場合、 わざわざftpサイトからとってくるのは無駄です。このような場合は そのパッケージを/cdrom/ports/distfilesにいれてmakeを実行して ください。すると、ローカルのパッケージを使ってコンパイルします。 (これはcdromからインストールすることを想定してこのディレクトリ を探すようにportsが作られているから可能なのです)

install,設定ファイルの作成

makeがうまくいったら、次に
$ make install
を実行します。それから、以下のように設定ファイルも導入します。
$ cd files
$ cp smb.conf.defaull /usr/local/etc/smb.conf
$ cp samba.sh.sample /usr/local/etc/rc.d/samba.sh
この指示については、同じディレクトリのREADME.FreeBSDに説明されています。 コピーした後で、/usr/local/etc/smb.confを編集して、必要な設定を行って ください。
pkg_add パッケージファイル名
を実行する
参照 http://www.jp.freebsd.org/www.freebsd.org/ja/handbook/ports.html