Qual é o melhor para aplicativos instalados: / usr / bin ou diretório inicial do usuário?

9

Não está totalmente claro para mim se seria melhor instalar um aplicativo GUI no /usr/binmeu diretório inicial. Eu li este artigo e este , mas realmente não fala sobre filosofia de como usar esses diretórios diferentes. Os comandos devem ser tratados de maneira diferente dos aplicativos da GUI?

TheAmpersand
fonte

Respostas:

11

O /usr/biné o diretório principal de comandos executáveis ​​no sistema.

O /usr/local:

  • Usado pelo administrador do sistema ao instalar o software localmente.
  • Ele deve ser protegido contra substituição quando o
    software do sistema for atualizado.
  • Pode ser usado para programas e dados compartilháveis ​​entre um grupo de hosts, mas não encontrados em /usr.

O software instalado localmente deve ser colocado em /usr/localvez de a /usrmenos que esteja sendo instalado para substituir ou atualizar o software em / usr.

Mais aqui .

dastergon
fonte
7

Não há motivo específico para fazer a diferença entre os comandos da GUI e da CLI.

/usr/binpertence ao sistema operacional, portanto, mesmo que nada o impeça, como root, de fazê-lo, você não deve colocar nada aqui. Esse diretório é para pessoas que distribuem software integrado ao sistema operacional e lidam / evitam adequadamente conflitos de nomes.

/usr/local/biné um diretório comum para software construído localmente. Se você pode escrever aqui, você pode apenas usar este diretório.

/opt/<name>/biné para software que não pertence ao sistema operacional. É um bom local para software compartilhado.

Seu diretório pessoal pertence a você, portanto você pode colocar o que quiser em qualquer lugar, mas não é o melhor local se outras pessoas precisarem executar seu programa.

jlliagre
fonte
1
Portanto, existe a única diferença entre / usr / local / bin e / opt / foo / bin onde / como o software foi instalado? Por isso, como regra, qualquer software que eu instale manualmente deve ir no anterior e qualquer coisa instalada a partir de um gerenciador de pacotes terminará no posterior? EDIT: Parece que sim. Link
TheAmpersand 31/12
Sim. Observe que o software construído localmente também pode ir para / opt / local / bin. Isso evita um problema com o / usr / local que pode ser gravado enquanto o / usr pode ser montado como somente leitura.
Jlliagre
3

Não instale nada manualmente no /usr/bin. Todo /usr, bem como /bin, /libe /sbinsão reservados para o software fornecido por sua distribuição. Há uma exceção /usr/local:, destinada a programas instalados pelo administrador do sistema e não é tocada pelos gerenciadores de pacotes (exceto para a criação de alguns diretórios). (No Linux, outras variantes do unix podem ter gerenciadores de pacotes que instalam o software /usr/local.)

Entre /usr/locale um local no diretório inicial, a escolha é sua. Se você deseja que um programa esteja disponível para todos os usuários, insira-o /usr/local. Se você deseja que ele esteja disponível apenas para você, instale-o no diretório inicial.

Se o programa tem uma GUI ou não, é irrelevante.

Gilles 'SO- parar de ser mau'
fonte
1
/optàs vezes também é usado para instalações locais, embora a divisão entre /usr/locale /optnão seja clara.
FaHemem Mitha
2

Se faz sentido (ou é necessário) que o usuário possa substituir os binários do aplicativo, ele deve ser instalado no diretório inicial do usuário. Caso contrário, ele pode ser instalado em um diretório público somente leitura, como /usr/bin.

Ignacio Vazquez-Abrams
fonte
0

Para uso global, você pode instalá-lo em / usr / bin, mas ninguém recomenda isso.

Para usar algum aplicativo como um usuário específico (ele deve ser mais seguro ao executá-lo como 1 usuário), instale-o no diretório inicial de um usuário específico.

MIrra
fonte