Qual é o propósito de / usr / libexec?

19

Os executáveis são armazenados em /usr/libexec em sistemas semelhantes ao Unix. O FHS diz (seção 4.7. /usr/libexec : Binaries run by other programs (optional)" :

/usr/libexec includes internal binaries that are not intended to be executed directly by users or shell scripts. Applications may use a single subdirectory under /usr/libexec.

No Mac OS X, rootless-init um programa chamado por launchd imediatamente após a inicialização, é armazenado em /usr/libexec . Por que seria armazenado em /usr/libexec quando é um executável autônomo que pode ser armazenado em /usr/bin ou /usr/sbin ? init e outros programas não chamados diretamente por scripts de shell também são armazenados em pastas como [/usr]/{bin,sbin} .

    
por Melab 25.09.2016 / 00:33

4 respostas

6

Eu acho que é mais recente que init - a ideia é, como se disse, ter executáveis (então eles não deveriam estar em /usr/lib ) que você nunca esperaria ter em $PATH de ninguém.

    
por 25.09.2016 / 02:11
3

É uma questão de suporte - provedores de plataforma aprenderam com anos de experiência que se você colocar binários em PATH por padrão, as pessoas irão depender de eles estarem lá, e will depende dos argumentos e opções específicos que eles suportam.

Por outro lado, se algo for colocado em /usr/libexec/ , é uma indicação clara de que é considerado um detalhe de implementação interna, e chamá-lo diretamente como usuário final não é oficialmente suportado.

Você ainda pode decidir acessar esses binários diretamente, de qualquer forma, você não receberá apoio ou simpatia do provedor da plataforma se uma atualização futura quebrar as interfaces privadas que você está usando.

    
por 14.08.2017 / 13:11
2

OS X não segue o padrão FHS. Ele tem sua própria hierarquia de sistemas de arquivos (semelhante à hierarquia do sistema de arquivos FreeBSD). A página man hier states -

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

    
por 25.09.2016 / 14:05
0

libexec é destinado a daemons do sistema e utilitários do sistema executados por outros programas. Ou seja, os binários colocados nesse diretório com namespaces destinam-se ao consumo de outros programas e não se destinam a serem executados diretamente pelos usuários.

    
por 15.09.2017 / 13:41

Tags