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
.
On a network of several machines all running LFS, or mixed LFS
and other Linux distributions, /usr/local
could be used to hold packages
that are common between all the computers in the network. It
can be NFS mounted or mirrored from a single server. Here local
indicates local to the site.
On a network of several computers all running an identical LFS
system, /usr/local
could hold
packages that are different between the machines. In this case
local refers to the individual computers.
Even on a single computer, /usr/local
can be useful if you have several
distributions installed simultaneously, and want a place to put
packages that will be the same on all of them.
Or you might regularly rebuild your LFS, but want a place to put files that you don't want to rebuild each time. This way you can wipe the LFS file system and start from a clean partition every time without losing everything.
独自のインストールディレクトリにインストールしてはダメなのか、と聞かれることがあります。 つまり /usr/local
ではなく /usr/site
ではダメなのかと。
そうしてはダメとする理由はありません。 各マシンでは独自のディレクトリツリー構成として構いません。
しかし新たなソフトウェアをインストールする際には少々やっかいなことになります。 自動インストールを行うソフトウェアでは、関連パッケージを
/usr
や /usr/local
から探し出そうとします。 もし探し出すべきファイルが /usr/site
にあったとすると、インストーラープログラムは見つけ出せないことになります。
この場合にはどのディレクトリを探し出すべきかを別途指示しなければなりません。
BLFS ではどこにインストールするのか?
BLFS でのインストール手順では、ほとんどについて /usr
にインストールを行います。 特定のパッケージについては /opt
へのインストールを行うものもあります。