it-swarm-pt.tech

Ao instalar aplicativos de usuário, onde as "melhores práticas" sugerem que elas estejam localizadas?

Ocasionalmente, instalo aplicativos manualmente, em vez de usar apt ou outro gerenciador de pacotes.

Qual local (/usr/, /usr/local/, /opt/, /home/, etc.) é sugerido por "melhores práticas" para a instalação de aplicativos de usuário?

203
citadelgrad

Isso depende, realmente. Se o aplicativo tiver um makefile ou, por exemplo, para python apps, se o aplicativo usar distutils (por exemplo, tiver um arquivo setup.py) ou um sistema de compilação/instalação semelhante, você deverá instalá-lo em /usr/local/. Este é frequentemente o comportamento padrão.

Pelo que entendi, /usr/local/ tem uma hierarquia semelhante a /usr/. No entanto, diretórios como /usr/bin/ e /usr/lib/ são geralmente reservados para instalação de pacotes via apt. Portanto, um programa que espera ser "instalado" em /usr/ deve funcionar bem em /usr/local/.

Se você precisar extrair um tarball e executá-lo diretamente (por exemplo, Firefox), coloque-o em /opt/. Um programa que apenas precisa de um diretório e obterá todos os arquivos/bibliotecas relativos a esse diretório pode obter um diretório para si mesmo em /opt/.

180
Umang

É bom lembrar que /usr não significa suário mas sim recursos do sistema unix.

Como tal, tenho a tendência de perceber que qualquer distribuição tem o direito de pular todo o conteúdo de /usr, e que minhas adições específicas ao sistema vão em /usr/local, que eu preservo antes de fazer uma atualização.

Enquanto isso, aplicativos e outras coisas vão em /opt.

Algumas pessoas se sentem confortáveis ​​colocando coisas em /home, embora eu raramente siga essa convenção.

Tudo o que disse, eu deixo o gerenciador de pacotes de distribuição fazer as coisas do seu jeito primeiro, e então faço o acima quando as coisas estão rolando.

113
Walt Stoneburner

Instale programas instáveis ​​como o firefox devel em/home/user/opt/torna muito mais fácil de remover, e não há confusão para outros usuários sobre qual versão eles devem usar ... Então, se não for um programa para uso global, instale em uma subpasta em seu diretório pessoal.

Nunca instale programas em/usr /, é provável que cause caos, coisas instaladas em/usr/devem ser apenas para pacotes de distribuição./usr/local/é para pacotes compilados localmente. E a estrutura funciona exatamente da mesma maneira! arquivos em/usr/local/serão priorizados sobre arquivos em/usr /

/ opt/deve ser usado para instalação de pacotes pré-compilados (binários) (Thunderbird, Eclipse, Netbeans, IBM NetSphere, etc.) e similares. Mas se eles são apenas para um único usuário, eles devem ser colocados em seu diretório pessoal.

Se você quer ser capaz de executar um programa instalado em um local "estranho" (como/home/user/opt/firefox /) sem digitar todo o caminho que você precisa para adicioná-lo à sua variável $ PATH, você pode fazer isso adicionando uma linha como essa em seu /home/user/.profile

export PATH=/home/user/opt/firefox:$PATH

O nome da pasta deve ser aquele em que o arquivo executável que você precisa executar está localizado.

33
LassePoulsen

O Padrão de Hierarquia do Sistema de Arquivos Linux indica /usr/local.

De http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :

A ideia original por trás de '/ usr/local' era ter um diretório separado ('local') '/ usr' em todas as máquinas além de '/ usr', que poderia ser montado apenas para leitura em algum outro lugar. Ele copia a estrutura de '/ usr'. Atualmente, '/ usr/local' é amplamente considerado como um bom local para manter programas auto-compilados ou de terceiros. A hierarquia/usr/local é para uso do administrador do sistema ao instalar o software localmente. Ele precisa estar protegido contra sobregravação quando o software do sistema for atualizado. Pode ser usado para programas e dados que são compartilháveis ​​entre um grupo de hosts, mas não encontrados em/usr. O software instalado localmente deve ser colocado em/usr/local em vez de/usr, a menos que esteja sendo instalado para substituir ou atualizar o software em/usr.

26
popey

Eu normalmente tenho uma pasta chamada "Programas" em minha casa onde eu instalo esses programas, estranho o suficiente (ou não) eles são todos Java coisas agora.

Tem uma grande vantagem para mim, quando eu reinstalo ou troco de computadores eles são movidos com o resto da minha casa. Tem uma clara desvantagem, esses aplicativos só estão disponíveis para o meu usuário.

5
Javier Rivera

Use "checkinstall" para converter seu pacote alienígena em um deb para que ele seja desinstalável usando o gerenciador de pacotes.

Observe que os arquivos de configuração geralmente não serão tratados como arquivos de configuração (talvez ignorados, ou talvez tratados como parte do aplicativo), e que os scripts pré e pós-instalação sejam, às vezes, confundidos, embora geralmente avisem quando eles acham que deb terá um script incorreto de pré ou pós-instalação.

1
A Student at a University