/usr か /usr/local かの議論

XXX はどこにインストールすべきか? /usr? /usr/local?

この問いに対する答えは、LFS ベースのシステムにおいてはあいまいにはできません。

従来からの Unix システムにおいて、/usr はシステムが提供するファイル類を配置する場所であり、一方 /usr/local は、個別の管理者が自由に取り扱う場所となっています。 現実的な決まりとして /usr/local は Unix システムの配布物を配置する場所ではなく、ただその配下の基本的なディレクトリのみを作るというものです。

Red Hat や Debian のような Linux ディストリビューションにおいて定められているルールとして、/usr はディストリビューションが提供するパッケージシステムにおいて管理される場所としていて、/usr/local は管理外としています。 つまりパッケージ管理のデータベースが把握しているのは /usr 配下のファイルのみとなります。

LFS users build their own system and so deciding where the system ends and local files begin is not straightforward. So the choice should be made in order to make things easier to administer. There are several reasons for dividing files between /usr and /usr/local.

独自のインストールディレクトリにインストールしてはダメなのか、と聞かれることがあります。 つまり /usr/local ではなく /usr/site ではダメなのかと。

そうしてはダメとする理由はありません。 各マシンでは独自のディレクトリツリー構成として構いません。 しかし新たなソフトウェアをインストールする際には少々やっかいなことになります。 自動インストールを行うソフトウェアでは、関連パッケージを /usr/usr/local から探し出そうとします。 もし探し出すべきファイルが /usr/site にあったとすると、インストーラープログラムは見つけ出せないことになります。 この場合にはどのディレクトリを探し出すべきかを別途指示しなければなりません。

BLFS ではどこにインストールするのか?

BLFS でのインストール手順では、ほとんどについて /usr にインストールを行います。 特定のパッケージについては /opt へのインストールを行うものもあります。