Яка мета / 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

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