This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
このセクションでは、Ports Collection を利用してシステムにプログラムをインストールしたり、 システムから削除したりする基本的な手順について説明します。
一番最初に知らなければならないのは、 Ports Collection は "スケルトン" と呼ばれるもので構成されているという事実です。 port スケルトンは簡単に言うと、アプリケーションを FreeBSD 上でコンパイルしインストールするために必要となる最小限のファイルのセットのことです。 それぞれの port スケルトンには、次のファイルが含まれています。
Makefile。 Makefile にはアプリケーションのコンパイル方法やシステムのどこにインストールするかを指定する、 さまざまな命令文が含まれています。
distinfo ファイル。 このファイルには、その port を構築するために ダウンロードする必要があるファイルのファイル名と、 そのファイルがダウンロードによって壊れていないか チェックするためのチェックサム情報が含まれています。
files ディレクトリ。 このディレクトリには FreeBSD システム上でプログラムをコンパイルし、 インストールするための修正パッチが含まれています。 修正パッチ (patch) とは基本的に、 個々のファイルに対する変更点を表した小さなファイル群のことです。 ファイルはプレインテキスト形式で、 "10 行目を削除" や "26 行目を ... に変更" などと書かれています。 修正パッチは、"diff (差分)" とも呼ばれます。 これは、修正パッチが diff プログラムで作成されるからです。
このディレクトリには、その port の構築に必要な その他のファイルが入る場合もあります。
pkg-comment ファイル。 これにはプログラムの一行説明文が含まれています。
pkg-descr ファイル。 これにはプログラムの、複数行にわたる詳しい説明文が含まれます。
pkg-plist ファイル。 これは、その port によってインストールされる全ファイルのリストです。 これにはプログラムを削除する際に、 どのファイルを削除すれば良いのかを ports システムに伝える役割もあります。
さて、Ports Collection が何を目的として使われるものなのか、 それ理解するための基礎的な知識はこれで十分です。 最初の port をインストールする準備ができました。 port のインストールには二つの方法があります。
実際の作業に入る前に、 インストールする port を選ぶ必要があります。 選ぶ方法はいくつかありますが、最も簡単なのは FreeBSD ウェブサイトの ports リストを利用することでしょう。 そこにリストされている ports や、 サイトの検索機能を使って閲覧することができます。 各々の port には説明文が含まれていますので、 インストールを決める前にその port に関する説明を読むこともできます。
もう一つの方法は、whereis コマンドを使うことです。 whereis コマンドを使うには、 プロンプトから単に "whereis <インストールしたいプログラム名>" と入力します。 もし、あなたのシステム上でプログラムが見つかれば、 それがどこにあるのかが次のように表示されます。
# whereis xchat
xchat: /usr/ports/irc/xchat
#
この表示は、xchat (irc クライアントの一つ) が /usr/ports/irc/xchat というディレクトリに見つかったことを示しています。
また、Ports Collection の持つ検索機能を利用して port を検索する方法もあります。 この検索機能を利用するには、カレントディレクトリが /usr/ports である必要があります。 そのディレクトリに移動したら、 make search key=プログラム名 と入力してください。 "プログラム名" の部分には検索したいプログラム名を入れます。 たとえば、xchat を探したい場合には次のようにします。
# cd /usr/ports
# make search key=xchat
Port: xchat-1.3.8
Path: /usr/ports/irc/xchat
Info: An X11 IRC client using the GTK+ toolkit, and optionally, GNOME
Maint: jim@FreeBSD.org
Index: irc
B-deps: XFree86-3.3.5 bzip2-0.9.5d gettext-0.10.35 giflib-4.1.0 glib-1.2.6 gmake-3.77 gtk-1.2.6
imlib-1.9.8 jpeg-6b png-1.0.3 tiff-3.5.1
R-deps: XFree86-3.3.5 gettext-0.10.35 giflib-4.1.0 glib-1.2.6 gtk-1.2.6 imlib-1.9.8 jpeg-6b
png-1.0.3 tiff-3.5.1
出力のうち特に注意して見なければならないのは "Path" という行です。 この行は xchat がどこにあるかを示しています。 出力される他の情報は port をインストールする際には直接必要となるものではありませんので、 ここでは触れないでおきます。
Note: ports をインストールするには、 root ユーザにならなければなりません。
インストールしたい port が見つかったら、 実際のインストールに移ることができます。
タイトルから想像できると思いますが、 このセクションで説明する内容は、FreeBSD の CDROM セットを持っていることを前提としています。 もし CDROM セットを持っていなければ、 FreeBSD Mall で注文することができます。
FreeBSD CDROM がドライブに挿入されていて、 /cdrom (マウントポイントは必ず /cdrom でないといけません) にマウントされていれば、port をインストールすることができます。 まず、カレントディレクトリをインストールしたい port のあるディレクトリに変更してください。
# cd /usr/ports/irc/xchat
xchat ディレクトリに移動すると、 port スケルトンがあるのが確認できると思います。 次に行なうのは、port のコンパイル (構築、ビルド (build) とも呼ばれます) です。 これは、プロンプトから単に make と入力するだけで行なえます。 そうすると、次のような出力が現われるはずです。
# make
>> xchat-1.3.8.tar.bz2 doesn't seem to exist on this system.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> Extracting for xchat-1.3.8
>> Checksum OK for xchat-1.3.8.tar.bz2.
===> xchat-1.3.8 depends on executable: bzip2 - found
===> xchat-1.3.8 depends on executable: gmake - found
===> xchat-1.3.8 depends on shared library: gtk12.2 - found
===> xchat-1.3.8 depends on shared library: Imlib.5 - found
===> xchat-1.3.8 depends on shared library: X11.6 - found
===> Patching for xchat-1.3.8
===> Applying FreeBSD patches for xchat-1.3.8
===> Configuring for xchat-1.3.8
...
[configure output snipped]
...
===> Building for xchat-1.3.8
...
[compilation snipped]
...
#
コンパイルが終了してプロンプトに戻ることを確認してください。 次に port をインストールを行ないます。 port をインストールするのに必要なのは、 make コマンドに一つの単語、 install を指定することだけです。
# make install
===> Installing for xchat-1.3.8
===> xchat-1.3.8 depends on shared library: gtk12.2 - found
===> xchat-1.3.8 depends on shared library: Imlib.5 - found
===> xchat-1.3.8 depends on shared library: X11.6 - found
...
[install routines snipped]
...
===> Generating temporary packing list
===> Installing xchat docs in /usr/X11R6/share/doc/xchat
===> Registering installation for xchat-1.3.8
#
プロンプトに戻ったら、 インストールしたプログラムは実行できるようになっています。
Note: make、make install と二つに分けられた手順の代わりに、 最初から make install と実行することで、 手順の二番目の操作を省くことができます。
Note: port には CDROM への収録を許可しないライセンス条項を持つものがあることに 注意してください。 これにはダウンロード前に登録を必要としたり、 再配布が禁止されているなどというさまざまな理由があります。 CDROM に含まれていない port をインストールしたい場合には、 ネットワークに接続する必要があります (次のセクションをご覧ください)。
前セクションと同じように、このセクションでは、 インターネットへの接続が可能であることを前提としています。 もしインターネット接続が不可能な場合は、 CDROM からのインストールが必要になるでしょう。
インターネット経由で port をインストールする方法は、 CDROM からインストールする場合と完全に同じです。 唯一異なる部分はプログラムのソースコードを CDROM からではなく、 インターネット経由でダウンロードするということです。
次のように、必要な手順は同じです。
# make install
>> xchat-1.3.8.tar.bz2 doesn't seem to exist on this system.
>> Attempting to fetch from http://xchat.org/files/v1.3/.
Receiving xchat-1.3.8.tar.bz2 (305543 bytes): 100%
305543 bytes transferred in 2.9 seconds (102.81 Kbytes/s)
===> Extracting for xchat-1.3.8
>> Checksum OK for xchat-1.3.8.tar.bz2.
===> xchat-1.3.8 depends on executable: bzip2 - found
===> xchat-1.3.8 depends on executable: gmake - found
===> xchat-1.3.8 depends on shared library: gtk12.2 - found
===> xchat-1.3.8 depends on shared library: Imlib.5 - found
===> xchat-1.3.8 depends on shared library: X11.6 - found
===> Patching for xchat-1.3.8
===> Applying FreeBSD patches for xchat-1.3.8
===> Configuring for xchat-1.3.8
...
[configure output snipped]
...
===> Building for xchat-1.3.8
...
[compilation snipped]
...
===> Installing for xchat-1.3.8
===> xchat-1.3.8 depends on shared library: gtk12.2 - found
===> xchat-1.3.8 depends on shared library: Imlib.5 - found
===> xchat-1.3.8 depends on shared library: X11.6 - found
...
[install routines snipped]
...
===> Generating temporary packing list
===> Installing xchat docs in /usr/X11R6/share/doc/xchat
===> Registering installation for xchat-1.3.8
#
ご覧のとおり、 出力の違いはシステムがどこから port を入手したか示す行だけです。
以上が、システムに ports をインストールするために必要な操作です。 次のセクションでは、システムにインストールされている port を削除する方法について学びます。
ports のインストール方法について知ればおそらく、 インストールの後になって、それが間違っていたことに気付いた時などに備えて それらを削除する方法はどうすれば良いのか疑問に感じることでしょう。 ここでは、その削除の方法について扱います。
さて、前の例 (例のまま何も変更していない人は xchat) を削除してみましょう。ports のインストールと同じように、 まず最初にやらなければならないのは port のディレクトリに移動することです。 port のディレクトリは /usr/ports/irc/xchat でしたね。 ディレクトリを移動したら、xchat を削除するのに必要な準備は終わりです。 削除するには、make deinstall コマンド (わかりやすいですよね?) を実行します。
# cd /usr/ports/irc/xchat
# make deinstall
===> Deinstalling for xchat-1.3.8
#
極めて簡単な作業です。 これでうまく xchat をシステムから削除することができました。 もう一度再インストールしたい場合には、 /usr/ports/irc/xchat から make reinstall を実行することで行なうことができます。