Como os executáveis ​​instalados em / opt devem ser adicionados ao caminho?

Respostas:

10

Há uma diferença entre /opte /usr/local/bin. Portanto, apenas associar binários de um para outro seria confuso. Eu não os misturaria.

/opté para a instalação de pacotes de software aplicativos adicionais , enquanto o /usr/localdiretório é para o administrador do sistema ao instalar o software localmente (com makee make install). /usr/local/bindestina-se a binários de software instalado em /usr/local.

De acordo com o padrão de hierarquia de arquivos , a maneira correta seria adicionar /opt/<package>/binao $PATHpara cada pacote individual. Se isso for muito doloroso (quando você tem um número incontável de /opt/<package>/bindiretórios, por exemplo), você (o administrador local) pode criar links simbólicos /opt/<package>/binpara o /opt/bindiretório. Isso pode ser adicionado aos usuários $PATHuma vez.

caos
fonte
Eh porque /usr/local/biné para uso do administrador do sistema. Se o administrador quiser instalar um software /opte criar links para ele /usr/local, isso é perfeitamente cromulento.
Gilles 'SO- stop be evil'
@ Gilles É claro que ele pode, ele pode fazer o que quiser, ele é o administrador do sistema. Mas a melhor prática seria mantê-los separados.
caos
Ok, parece que isso é mais uma questão de convenção padrão do que qualquer outra coisa. Fiquei um pouco desconcertado com a falta de simetria "Há uma diferença entre /opte /usr/local/bin" em oposição a "... entre /opte /usr/local" ou "... entre /opt/bine /usr/local/bin", mas depois de chegar ao fim, suspeito que isso tenha sido feito. como uma maneira de combinar /opt/bine /opt/.../bin. Se assim for, gostaria de saber se o texto poderia ser melhorado.
Kenneth Hanson
1
@chaos Você escreve que, de acordo com a FHS, /opt/package/bin/ou pelo menos /opt/bin/deve ser adicionado a $ PATH. Eu li a referência postada e ela diz muito sobre como estruturar /opte o que ter lá dentro, mas não consegui encontrar uma confirmação de que qualquer um desses diretórios abaixo /optdeva ser adicionado ao $ PATH. Você poderia elaborar como chegou a essa conclusão? Cheers
vic
@vic A mesma razão pela qual você colocaria qualquer outro /whatever/bindiretório em $ PATH - para poder chamar os executáveis ​​sem digitar o caminho completo todas as vezes.
Kenneth Hanson