Какова цель / usr / libexec?


28

Исполняемые файлы хранятся в /usr/libexecUnix-подобных системах. FHS говорит (раздел 4.7. /usr/libexec : Binaries run by other programs (optional)":

/usr/libexecвключает в себя внутренние двоичные файлы, которые не предназначены для непосредственного выполнения пользователями или сценариями оболочки. Приложения могут использовать один подкаталог в разделе /usr/libexec.

В Mac OS X rootless-initпрограмма, вызываемая launchdсразу после загрузки, хранится в /usr/libexec. Зачем его хранить в /usr/libexecавтономном исполняемом файле, который можно хранить в /usr/binили /usr/sbin? initи другие программы, не вызываемые непосредственно сценариями оболочки, также хранятся в таких папках, как [/usr]/{bin,sbin}.

Ответы:


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предназначен для системных демонов и системных утилит, выполняемых другими программами. Таким образом, двоичные файлы, помещенные в этот каталог пространств имен, предназначены для использования другими программами и не предназначены для непосредственного выполнения пользователями.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.