Esteja ciente de que /usr/libexec/
(ou algum subdiretório nele, ou em outro lugar, por exemplo, sob /usr/lib
) não se destina (e não deve ser) no usuário $PATH
, que pode ser tão curto quanto /bin:/usr/bin
. Os executáveis nunca devem ser iniciados diretamente pelo usuário, apenas por algum outro programa específico (iniciado pelo usuário) (que não é um shell). Por exemplo, g++
está iniciando /usr/lib/gcc/x86_64-linux-gnu/7/cc1plus
(e o usuário não deve executar esse programa cc1plus
diretamente).
Não há problema em ter um pacote instalando vários executáveis em /usr/bin/
(que está em $PATH
), e esse diretório deve ser bastante grande. Eu tenho mais de 4400 arquivos lá, e o único pacote coreutils
instala mais de 100 arquivos executáveis nele.
Você pode decidir que o usuário do seu pacote sempre use um único programa de direção, um pouco como git .
Você pode compartilhar um prefixo comum para os executáveis do seu pacote. Por exemplo, todos os binários relacionados ao XFCE começam com xfce
, e todos os binários do LXDE começam com lx
. Na verdade, recomendo seguir uma convenção semelhante.
Ou você pode dividir seu pacote em vários, se fizer sentido não instalar alguns executáveis.
Você pode até criar sua embalagem para permitir que várias versões de seu conjunto coexistam (por exemplo, eu tenho gcc-6
e gcc-7
).