Onde instalar software e executáveis ​​para todos os usuários

15

Por padrão, alguns aplicativos são instalados em / usr / local / bin, mas se eu mudar de usuário, esse usuário poderá acessar esse aplicativo? Eu li em algum lugar aqui (outra pergunta) que eu deveria usar / optar? Mas binários que por padrão vão para / usr / local / bin? Não há / opt / bin?

Jiew Meng
fonte

Respostas:

19

Geralmente, você não precisa instalar nada manualmente. Em quase todos os casos, você encontrará um pacote .deb. Se não houver um google para sugestões (como instalar o Oracle JDK no Ubuntu ). Se esse for o seu próprio software, consulte o Guia de Empacotamento do Ubuntu para obter ajuda sobre como colocar corretamente as coisas no Ubuntu.

Se você precisar fazer isso de qualquer maneira, coloque o binário em / opt / myapp e vincule o executável com ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Se você quiser saber mais sobre o tópico, digite man hierum terminal. A diferença entre / usr / bin e / usr / local / bin é explicada aqui. De qualquer forma, os dois caminhos estão na variável de ambiente $ PATH. Isso significa que qualquer binário que você colocar lá será executável por qualquer um que fornecer o nome do binário (e não o caminho completo). Portanto, usando o exemplo acima, você pode executar seu programa em myappbinaryvez de precisar fornecer o caminho completo /opt/myapp/myappbinary.

mniess
fonte
11
Qual é o objetivo de colocá-lo em / opt, especialmente se você deseja vinculá-lo a / usr / local de qualquer maneira?
Psl #
Se eu quiser que todos os usuários do sistema possam usar o aplicativo, devo ligar em / usr / bin em vez de / usr / local / bin?
Jiew Meng
4
@ jiewmeng Se você olhar man hier, verá tudo explicado lá. Incluindo a diferença entre / usr / bin e / usr / local / bin. Resumindo: não vincule nada a / usr / bin /. @psusi O motivo é manter o sistema de arquivos limpo. se você reinstalar o computador (ou mudar para uma máquina / disco rígido diferente), os únicos diretórios que você precisa procurar devem ser / home, / etc e / opt. E deixe-me repetir mais uma vez: Normalmente você nunca quer fazer nada fora do seu $ HOME, exceto talvez editar arquivos de configuração em / etc.
Mniess
7

/ usr é legível mundialmente, portanto não haverá problemas com outros usuários capazes de executar o programa. / usr / local é para onde vão os aplicativos que você compila a partir do código-fonte. Os programas instalados através do gerenciador de pacotes vão para outro lugar. Eu nunca vi nenhum propósito para / optar, e acredito que é apenas uma transferência dos velhos tempos da AT&T Sys V nos anos 80.

psusi
fonte
qual é a diferença entre / usr / local / bin e / usr / bin? Se eu quiser que todos os usuários possam acessar o aplicativo, eu o coloco em / usr / bin?
Jiew Meng
@jiewmeng, mais uma vez, a versão local é para programas que você mesmo compila a partir da fonte, em vez de instalar através do gerenciador de pacotes. Não tem nada a ver com usuários e acesso.
Psd #
0

Dependendo do sabor do Linux, o local preferido para instalar algo manualmente pode variar. Se você fizer isso manualmente, faça o que o README sugere.

Se você criar um novo usuário e seus usuários antigos não precisarem fazer nada para acessar o novo programa, os novos usuários também não.

No entanto, você é livre para criar / opt / bin e incluí-lo no caminho , mas por que deveria? Ou mesmo / flip / flop / funky / bin . Ou vincule de algum lugar a um diretório, que já está incluído no PATH .

Usuário desconhecido
fonte