/usr/libexec
実行可能ファイルはUnixシリーズシステムに保存されます。FHSとは次のことを意味します。(部分4.7. /usr/libexec : Binaries run by other programs (optional)"
:
/usr/libexec
ユーザーまたはシェルスクリプトによって直接実行されない内部バイナリが含まれます。アプリケーションは以下の単一のサブディレクトリを使用できます/usr/libexec
。
macOSでは、実行直後に呼び出されるrootless-init
プログラムが 。launchd
/usr/libexec
/usr/libexec
または に保存できるスタンドアロン/usr/bin
実行ファイルの場合、または に保存されるのはなぜですか/usr/sbin
。init
シェルスクリプトによって直接呼び出されない他のプログラムも[/usr]/{bin,sbin}
。
答え1
これはサポート可能性の問題です。プラットフォームプロバイダは、長年の経験を通じてPATH
基本的にバイナリを入れると、〜する彼らの存在に頼ることになり、〜するサポートする特定の引数とオプションによって異なります。
逆に、何かを入れると/usr/libexec/
内部実装の詳細と見なされ、エンドユーザーとして直接呼び出すことが正式にサポートされていないことが明らかになります。
それにもかかわらず、これらのバイナリに直接アクセスすることを決定することができ、将来のアップグレードによって使用中のプライベートインターフェイスがクラッシュした場合、プラットフォームプロバイダからのサポートや同定は受けられません。
答え2
答え3
libexec
他のプログラムで実行されるシステムデーモンおよびシステムユーティリティに適用されます。つまり、この名前空間のディレクトリに配置されたバイナリは、ユーザーが直接実行するのではなく、他のプログラムで使用するためのものです。
答え4
私の考えでは、他の人からは決して期待できないinit
ものがあるというアイデアよりも新しいようです。/usr/lib
$PATH