私は最近、ファイルシステム階層の標準を見てきましたが、ディレクトリについて話すとき、「ローカルにインストールされたパッケージ」という用語に何度も触れ/usr/local
ました。この文脈で「ローカル」が正確に何を意味するのかを説明できる人はいますか?
答え1
/usr/local
FHS規格に従ってローカルにインストールされたパッケージは、デフォルトのディストリビューションとしてインストールされず、/opt
そのシステム用に特別にインストールされたパッケージを意味します。
/opt/bin
、、、、および/ opt / manディレクトリは、ローカルシステム管理者が使用するように予約されています/opt/doc
。パッケージは、ローカルシステム管理者がこれらの予約ディレクトリを配置(リンクまたはコピー)するように設計された「フロントエンド」ファイルを提供できますが、予約ディレクトリなしで正常に動作する必要があります。/opt/include
/opt/info
/opt/lib
ユーザーが呼び出すプログラムは、このディレクトリーまたは
/opt/<package>/bin
/opt/階層に配置する必要があります。パッケージにUNIXのマニュアルページが含まれている場合、そのページは/ opt /階層またはその下にある必要があり、/opt/<package>/share/man
同じサブ構造を使用する必要があります。/usr/share/man
詳細については、変更可能なパッケージファイル(通常動作中に変更されたもの)をインストールする必要があります
/var/opt
。/var/opt
ホスト固有の構成ファイルは/ etc / optにインストールする必要があります。詳細については/ etcセクションを参照してください。
正しく機能するには、ファイルシステムツリーの特定の場所にある必要があるファイルを除いて、/ etc / opt階層の外側に
/opt
パッケージファイルを含めないでください。/var/opt
たとえば、デバイスロックファイルはにある必要があり、/var/lock
デバイスはにある必要があります/dev
。
問題のパッケージは、システム管理者または適切なインストール権限を付与された他のユーザーがインストールできます。
通常、これらのアプリケーションはローカルにコンパイルまたはスクリプトとして実行されますが、プリコンパイルされたバイナリやパッケージを定義されたサーバーセットにデプロイするなどの代替デプロイ方法があります。システム管理者がインストールを担当している場合は、Debianの.debパッケージ形式を使用するなど、デプロイメント標準に従ってアプリケーションをコンパイルしてパッケージ化できます。また、この目的のためにローカルストレージを維持します。
答え2
それは異なるUnicesによって異なることを意味します。
FBI「パッケージ」への言及はなく、/usr/local
代わりに「そのホストに固有のローカルデータの3段階階層」と説明します。
ほとんどのLinuxでは、ローカル管理者は、使用しているLinuxディストリビューション以外のソースからローカルにコンパイルされたソフトウェアをインストールできます
/usr/local
。そのディストリビューションのパッケージマネージャは使用されません/usr/local
。apt
、などを使用してapk
パッケージリポジトリからインストールされたパッケージyum
、いいえ「このホストのみ」と見なされます。BSDシステムには、システムを実行するために必要なユーティリティとサービスで構成される「基本システム」があります。したがって、オペレーティングシステムのパッケージマネージャを介してインストールされたソフトウェアは、(NetBSD)、(非Intel macOSのHomebrew)、
/usr/local
またはデフォルトのシステムディレクトリ階層から離れた/usr/pkg
他の場所(BSDシステムを参照)にインストールされます。/opt/homebrew
/usr
man hier
BSDシステムは、システムのパッケージマネージャを使用してインストールした場合でも、ローカル管理者がインストールしたサードパーティパッケージを含むようにローカルにインストールされたソフトウェアを考慮します。ローカルにコンパイルされたソフトウェア(Linuxの意味では)は、Pythonで管理されているソフトウェアと誤ってクラッシュするのを防ぐために、他の場所(例えば、下
/srv
または下)をインストールする必要があります(BSDのバージョンによって異なる、上記を参照)。/opt
/usr/local
パッケージリポジトリからインストールされたパッケージはい「このホストのみ」と見なされます。