Ocasionalmente, instalo aplicativos manualmente, em vez de usar apt
ou outro gerenciador de pacotes.
Que local ( /usr/
, /usr/local/
, /opt/
, /home/
, etc.) é sugerido por "melhores práticas" para a instalação de aplicativos do usuário?
Ocasionalmente, instalo aplicativos manualmente, em vez de usar apt
ou outro gerenciador de pacotes.
Que local ( /usr/
, /usr/local/
, /opt/
, /home/
, etc.) é sugerido por "melhores práticas" para a instalação de aplicativos do usuário?
Respostas:
Isso depende mesmo. Se o aplicativo possui um makefile ou, por exemplo, para aplicativos python, se ele usa distutils (por exemplo, possui um setup.py
arquivo) ou um sistema de compilação / instalação similar, você deve instalá-lo /usr/local/
. Esse é geralmente o comportamento padrão.
Pelo que entendi, /usr/local/
tem uma hierarquia que é semelhante a /usr/
. No entanto, diretórios como /usr/bin/
e /usr/lib/
geralmente são reservados para instalação de pacotes via apt
. Portanto, um programa que espera ser "instalado" /usr/
deve funcionar bem /usr/local/
.
Se você só precisa extrair um tarball e executar diretamente (por exemplo, Firefox), coloque-o no /opt/
. Um programa que precisa apenas de um diretório e obtenha todos os arquivos / bibliotecas relativos a esse diretório pode obter um diretório para si /opt/
.
opt/
- na minha opinião, você acertou na cabeça como se fosse um propósito.
~/.local/share
? @Marco
~
(seu diretório inicial), mas isso tornará um aplicativo acessível apenas a um usuário. Outros usuários do seu sistema precisarão instalar e manter suas próprias instalações desse software. Quanto às práticas recomendadas para instalar aplicativos, instale seu diretório pessoal, acredito que não haja diretrizes tão fortes, porque você não interferirá nos pacotes do sistema.
É bom lembrar que /usr
isso não significa usuário, mas recursos do sistema unix .
Como tal, costumo concluir que qualquer distribuição tem o direito de atrapalhar todo o conteúdo /usr,
e que minhas adições específicas ao sistema são inseridas /usr/local
, o que preservo antes de fazer uma atualização.
Enquanto isso, aplicativos e outras coisas entram /opt
.
Algumas pessoas se sentem confortáveis colocando coisas /home
, embora eu raramente siga essa convenção.
Tudo isso dito, deixei o gerente do pacote de distribuição fazer as coisas do seu jeito primeiro e depois fazer o que precede ao rolar manualmente.
User
. Isso ocorreu porque os usuários do Linux eram desenvolvedores. Primeiro, quando começou a se transformar em desenvolvedores e usuários, o /home
dir foi introduzido. E então alguém teve a idéia de dizer isso significa Unix System Resources
, o que realmente não faz sentido, porque temos a Unix system Resources
em/dev
Instale programas instáveis como o firefox devel em / home / user / opt / facilita muito a remoção e não há confusão para outros usuários quanto à versão que eles devem usar ... Portanto, se não for um programa para uso global, instale em uma subpasta no seu diretório pessoal.
Nunca instale programas em / usr /, é provável que cause caos, as 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! os arquivos em / usr / local / terão prioridade sobre os arquivos em / usr /
/ opt / deve ser usado para a 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, devem ser colocados no diretório inicial.
Se você deseja executar um programa instalado em um local "estranho" (como / home / user / opt / firefox /) sem digitar todo o caminho, é necessário adicioná-lo à sua variável $ PATH, você pode fazer isso adicionando uma linha como esta 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.
O padrão de hierarquia do sistema de arquivos do Linux indica /usr/local
.
Em http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :
A idéia original por trás de '/ usr / local' era ter um diretório ('local') '/ usr' separado em todas as máquinas, além de '/ usr', que pode ser montado somente para leitura em outro lugar. Ele copia a estrutura de '/ usr'. Atualmente, '/ usr / local' é amplamente considerado um bom lugar para manter programas auto-compilados ou de terceiros. A hierarquia / usr / local é para ser usada 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 / local em vez de / usr, a menos que esteja sendo instalado para substituir ou atualizar o software em / usr.
Normalmente, tenho uma pasta chamada "Programas" em minha casa, onde instalo esses programas; por estranho que pareça (ou não), todos eles são coisas de Java agora.
Ele tem uma grande vantagem para mim: quando eu reinstalo ou troco de computador, eles são movidos pelo resto da minha casa. Ele tem uma clara desvantagem: esses aplicativos estão disponíveis apenas para o meu usuário.
/
diretório de formato apenas e digite o mesmo nome de usuário e senha antigos, mas descobri que o Ubuntu cria outra pasta pessoal.
Use "checkinstall" para converter seu pacote alienígena em um deb para que 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 de pré e pós-instalação às vezes são confusos, embora geralmente avise quando você achar que o O deb terá um script ruim de pré ou pós-instalação.