¿Cuál es el propósito de / usr / libexec?


28

Los ejecutables se almacenan en /usr/libexecsistemas similares a Unix. El FHS dice (sección 4.7. /usr/libexec : Binaries run by other programs (optional)":

/usr/libexecincluye binarios internos que no están destinados a ser ejecutados directamente por usuarios o scripts de shell. Las aplicaciones pueden usar un solo subdirectorio en /usr/libexec.

En Mac OS X , se almacena rootless-initun programa llamado launchdinmediatamente después del arranque /usr/libexec. ¿Por qué debería almacenarse /usr/libexeccuando es un ejecutable independiente que podría almacenarse en /usr/bino /usr/sbin? inity otros programas no llamados directamente por los scripts de shell también se almacenan en carpetas como [/usr]/{bin,sbin}.

Respuestas:


14

Es una cuestión de compatibilidad - proveedores de plataformas han aprendido de años de experiencia que si se pone en los binarios PATHde forma predeterminada, las personas van a llegar a depender de ellos estar allí, y serán llegado a depender de los argumentos y opciones que apoyan específicos.

Por el contrario, si se coloca algo, es /usr/libexec/una clara indicación de que se considera un detalle de implementación interna, y llamarlo directamente como usuario final no es oficialmente compatible.

Todavía puede decidir acceder a esos binarios directamente de todos modos, simplemente no obtendrá ningún apoyo o simpatía del proveedor de la plataforma si una futura actualización rompe las interfaces privadas que está utilizando.


7

Creo que es más nuevo que init: la idea es, como se dijo, tener ejecutables (por lo que no deberían estar /usr/lib) que nunca esperarías tener en nadie $PATH.


3

OS X no sigue el estándar FHS. Tiene su propia jerarquía del sistema de archivos (similar a la jerarquía del sistema de archivos de FreeBSD). La página del manual hierdice:

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


3

libexecestá destinado a demonios del sistema y utilidades del sistema ejecutados por otros programas. Es decir, los archivos binarios puestos en este directorio de espacio de nombres están destinados al consumo de otros programas y no están destinados a ser ejecutados directamente por los usuarios.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.