portsでアプリケーションをインストールする

portsは、アプリケーションのソースコードを取得し、FreeBSD用のパッチを当て、コンパイルしてインストールする仕組みです。
Ports Collectionがインストールされていれば、portsとして用意されている全てのアプリケーションをインストールすることができます。
portsでは依存関係も考慮され、必要なアプリケーションはすべてインストールされます。

portsでのインストール

portsが置いてあるディレクトリでコマンドを実行します。
portsは/usr/portsの中にカテゴリごとに分けてあります。

</usr/portsの確認>
> cd /usr/ports
> ls

<アプリケーション名による検索>
> whereis <アプリケーション名>

<インストール例>
ja-lessをインストールします。

インストールするアプリケーション: ja-less
アプリケーションのあるディレクトリ: /usr/ports/less

ja-lessのあるディレクトリに移動します。
> cd /usr/ports/japanese/less

rootになってmake configureとします。
ソールを取得して、コンパイルの準備をします。
> su
# make configure

コンパイルを開始します。
# make

インストールします。
# make install

インストール中に作成された作業ファイルを消去します。
# make clean

インストールしたプログラムを認識させます。
# rehash

jlessを実行します。
> jless

インストール時のその他のコマンド

<インストール後に作業ファイルを消去>
インストール後に作業ファイルを消去します。ソースコードは残ります。
# make install clean

<インストール後にソートコードと作業ファイルを消去>
インストール後にダウンロードされたソースコードと作業ファイルを消去させます。
# make install clean distclean

(注)ソースコードは/usr/ports/distfileにダウンロードされます。

<すべてのportsの作業ファイルを消去>
消し忘れた作業ファイルを一度に消す場合は、/usr/portsでmake cleanを実行します。
# /usr/ports
# make clean

portsからのアンインストール

インストールしたportsのディレクトリで、make deinstallを実行すればそのportsからインストールされたアプリケーションが削除されます。

<アンインストール例>
アンインストールするアプリケーション: ja-less
アプリケーションのあるディレクトリ: /usr/ports/less

# cd /usr/ports/less
# make deinstall

(注)
アンインストールする前に、アプリケーションの確認を行いたいときはpkg_infoを使用します。
> pkg_info

削除したアプリケーションの再インストール

削除したアプリケーションを再インストールすることができます。
# make reinstall

makeオプション

make fetch FTPなどのサイトからソースコードをダウンロード します
make checksum ダウンロードしたファイルが正常かどうか を確かめます
make depands このportsに依存関係があるportsをインストール します
make extract ソースコードを展開 します
make patch 展開したソースコードにFreeBSD用のパッチを当てます
make configure コンパイルのための準備を 行います
make build コンパイルします
make install コンパイルしたバイナリをOSにインストールします

make package コンパイルしたバイナリをpackageにします
make fetch-list 必要なファイルを表示します
make clean インストール中に作成した作業ファイルを削除します
make distclean ダウンロードしたソースコードを削除します
(ソースコードは/usr/ports/distfileにダウンロードされいます)

(注)
インストール時には、fetch、checksum、depends、extract、patch、configure、build、installの順序で実行されます。
あるコマンドを実行するとそれよりも前にやるべきことも自動的に実行されます。
オプション無しでmakeのみを入力したときは、make buildが終わるところまで実行されます。

2008.03.15