Qual è lo scopo di / usr / libexec?


28

Gli eseguibili sono archiviati /usr/libexecsu sistemi simili a Unix. La FHS dice (sezione 4.7. /usr/libexec : Binaries run by other programs (optional)":

/usr/libexecinclude i binari interni che non sono destinati ad essere eseguiti direttamente dagli utenti o dagli script di shell. Le applicazioni possono utilizzare una singola sottodirectory in /usr/libexec.

Su Mac OS X , viene memorizzato rootless-initun programma chiamato launchdimmediatamente dopo l'avvio /usr/libexec. Perché dovrebbe essere archiviato /usr/libexecquando è un eseguibile autonomo che potrebbe essere archiviato in /usr/bino /usr/sbin? inite altri programmi non richiamati direttamente dagli script di shell sono anche memorizzati in cartelle come [/usr]/{bin,sbin}.

Risposte:


14

È una questione di sostenibilità - fornitori di piattaforme hanno imparato da anni di esperienza che se metti i binari in PATHdefault, la gente sarà venuto a dipendere da loro di essere lì, e saranno venuti a dipendere gli argomenti e le opzioni che supportano specifiche.

Al contrario, se qualcosa viene inserito /usr/libexec/è una chiara indicazione che è considerato un dettaglio di implementazione interno e chiamarlo direttamente come utente finale non è ufficialmente supportato.

Puoi comunque decidere di accedere direttamente a questi file binari, ma non otterrai alcun supporto o simpatia dal fornitore della piattaforma se un futuro aggiornamento rompe le interfacce private che stai utilizzando.


7

Penso che sia più recente di init- l'idea è, come si diceva, di avere eseguibili (quindi non dovrebbero essere presenti /usr/lib) che non ti aspetteresti mai di avere in nessuno $PATH.


3

OS X non segue lo standard FHS. Ha una propria gerarchia di filesystem (simile alla gerarchia di filesystem di FreeBSD). La pagina man hierafferma-

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


3

libexecè pensato per demoni di sistema e utilità di sistema eseguiti da altri programmi. Cioè, i binari inseriti in questa directory con spazio dei nomi sono pensati per il consumo di altri programmi e non sono destinati ad essere eseguiti direttamente dagli utenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.