UNIX® システムでは、 サードパーティ製ソフトウェアの典型的なインストール手順は以下のようになります。
ソースコード、 またはバイナリ形式で配布されているソフトウェアを探し出し、 ダウンロードする。
配布時のフォーマットからソフトウェアを取り出す。 一般的には compress(1), gzip(1), bzip2(1) または、xz(1) といったプログラムで圧縮された tarball です。
INSTALL
または
README
ファイル、あるいは
doc/
サブディレクトのファイルからドキュメントを探しだし、
ソフトウェアのインストール方法を調べる。
ソース形式でソフトウェアが配布されている場合はコンパイルを行う。
ここでは、Makefile
の編集、
または、configure
スクリプトの実行を伴うことがあります。
ソフトウェアの動作を確認し、インストールする。
FreeBSD port は、 アプリケーションをソースコードからコンパイルする際の処理を自動化するように設計されたファイルの集まりです。 port を構成するファイルは、 自動的にアプリケーションをダウンロードし、展開、パッチ作業、 コンパイル、そしてインストールを行うために必要な情報を含んでいます。
ソフトウェアが、すでに FreeBSD に移植され、 FreeBSD 上で試験されていなければ、 適切にインストールが行われ、動作するように、 編集する必要があるかもしれません。
しかしながら、24,000 を越えるサードパーティ製アプリケーションが FreeBSD に移植されています。 可能な場合は、これらのアプリケーションをコンパイル済みの packages としてダウンロードできます。
package は、package 管理コマンドで扱うことができます。
packages と ports は依存関係を理解します。 package または port を用いてアプリケーションをインストールすると、 依存するライブラリがまだインストールされていない場合には、 最初にライブラリが自動的にインストールされます。
FreeBSD の package は、コンパイル済みのアプリケーションの全コマンド、
各種設定ファイルやドキュメントを含んでいます。
pkg
コマンドでは、pkg install
といったコマンドで、
package を扱うことができます。
2 つの技術は類似していますが、 packages と ports にはそれぞれ独自の特徴があります。 それぞれのアプリケーションのインストールに対する必要要件に応じてどちらかを選択してください。
一般的に、あるアプリケーションの package の tarball は、 ソースコードを含む tarball より小さなサイズとなります。
packages はコンパイルの時間を必要としません。 このことは、遅いシステム上で Mozilla, KDE, または GNOME といった大きなアプリケーションを扱う場合に重要となります。
packages を用いれば、 ソフトウェアのコンパイルに関する知識は必要ありません。
packages は、通常最も多くのシステムで実行できるように、 非常に保守的な設定で構築されています。 port からコンパイルすることで、 コンパイルオプションを指定できます。
アプリケーションのなかには、 どの機能をインストールするかをコンパイル時に設定するものがあります。 たとえば、Apache は多種多様な ビルトインオプションを設定できます。
設定を区別するために、同じアプリケーションに対して
複数の packages が存在することがあります。
たとえば、Ghostscript は
Xorg がインストールされているかどうかにより、
ghostscript
package と
ghostscript-nox11
package
が選択可能となっています。
アプリケーションのコンパイルオプションが 1 つもしくは
2 つ以上になると、
複数の packages を用意することは困難になります。
ライセンス条項で、 バイナリでの配布を禁止しているソフトウェアがあります。 このようなソフトウェアはソースコードで配布される必要があり、 エンドユーザがコンパイルしなくてはなりません。
バイナリ配布を信用していない人や、 潜在的な問題点を見つけ出すためにソースコードを読むことを好む人がいます。
カスタマイズしたパッチを適用するためには、 ソースコードが必要になります。
ports の更新状況を把握するために、 FreeBSD ports メーリングリスト や FreeBSD ports bugs メーリングリスト を購読するとよいでしょう。
アプリケーションをインストールする前に、
そのアプリケーションに関連したセキュリティ上の問題がないことを https://vuxml.freebsd.org/
で確認するか、pkg audit -F
と入力して、
インストールされているアプリケーションに既知の脆弱性がないことを確認してください。
この章では、packages と ports を用いた FreeBSD 上での サードパーティ製ソフトウェアのインストール方法や管理方法について説明します。
本文書、および他の文書は https://download.freebsd.org/ftp/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。