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?


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.


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.


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 .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.