/ usr / libexec的用途是什么?


28

可执行文件存储在/usr/libexec类Unix系统中。FHS说(第4.7. /usr/libexec : Binaries run by other programs (optional)"

/usr/libexec包括内部二进制文件,这些二进制文件不能直接由用户或Shell脚本执行。应用程序可以在下使用单个子目录/usr/libexec

在Mac OS X上,启动后立即rootless-init调用的程序launchd存储在中/usr/libexec/usr/libexec当它是可以存储在/usr/bin或中的独立可执行文件时,为什么将其存储在其中/usr/sbininitShell脚本未直接调用的其他程序以及其他程序也存储在诸如的文件夹中[/usr]/{bin,sbin}

Answers:


14

这是保障性的问题-平台提供商已经从多年的经验教训,如果你把二进制文件在PATH默认情况下,人们越来越依赖于他们在那里,而且前来取决于具体的参数以及它们所支持的选项。

相比之下,如果放置了某些内容,/usr/libexec/则表明它被视为内部实现细节,并且没有正式支持以最终用户身份直接调用它。

您仍然可能仍然决定直接访问那些二进制文件,如果将来的升级破坏了您正在使用的专用接口,您将不会获得平台提供商的任何支持或同情。


7

我认为这是比它新的init-想法就是像说的那样,拥有/usr/lib您永远不会期望在任何人的可执行文件中拥有的可执行文件(因此它们不应存在于其中)$PATH


3

OS X不符合FHS标准。它具有自己的文件系统层次结构(类似于FreeBSD文件系统层次结构)。手册页hier指出-

libexec/ system daemons & system utilities (executed by other programs)


3

libexec用于其他程序执行的系统守护程序和系统实用程序。也就是说,放在此命名空间目录中的二进制文件供其他程序使用,并且不打算由用户直接执行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.