Ao instalar aplicativos locais, existem várias opções, dependendo de como você deseja acessar e atualizar. Também deve ser observado que alguns métodos se parecem mais com o sistema que você já possui e outros são mais ad-hoc. Eu sugeriria que as "melhores" soluções são as que facilitam o gerenciamento das coisas.
Dividi esta resposta com base no número de pacotes para fazer instalações personalizadas. A divisão é baseada em minhas próprias experiências. Essas experiências pesam o tempo necessário para gerenciar os pacotes e os riscos de estragar alguma coisa. Não quero dizer que tenho o conhecimento de padrões comuns, mas quero dizer isso como um ponto de referência a ser observado ao tomar a decisão.
Para apenas alguns pacotes , eu colocaria pacotes adicionais /opt
, onde eles estão fora do caminho de tudo o mais, para que nada possa atrapalhá-los e eles podem atrapalhar outra coisa. Este é o método que eu uso no meu NAS. Este método, no entanto, mantém os binários fora do PATH, portanto você precisará adicioná-los manualmente. Isso funciona bem se houver apenas alguns pacotes para instalar, mas se torna uma bagunça se houver muitos.
A atualização aqui é bastante fácil, pois você simplesmente sobrescreve o diretório.
Prós:
- simples
- rápido para configurar
- sem chance de afetar outras partes do sistema
- desinstalar é tão fácil quanto instalar
Contras:
- Torna-se bastante tedioso se o número de pacotes a instalar for grande
- Faz
PATH
parecer bagunçado
Para mais de alguns pacotes , eu recomendaria o uso do /usr/local/<your package>
e sym-linking do executável de /usr/local/bin
ou /usr/local/sbin
dependendo se você precisar de privilégios de root. Isso evita que você altere seu CAMINHO toda vez que algo novo for adicionado, para que o CAMINHO fique limpo. Este é o método que eu uso no meu laptop Arch para todos os pacotes não pacman e AUR.
A atualização é feita substituindo o diretório do pacote e verificando se o link simbólico ainda é válido e corrigindo se não for.
Prós
- Não faz
PATH
bagunça
- Não afeta o sistema básico
- Ainda é muito simples remover todos os complementos e retornar a um sistema básico limpo
Contras:
- Mais trabalho para configurar
- A remoção de apenas um pacote tem alguma pesquisa a fazer
Para muitos pacotes . Como esse não é o caso que você deseja, vou ser breve. Eu recomendaria dividindo o pacote em bin
, lib
, share
, etc. e instalá-los /usr/local
. Isso é para manter a estrutura limpa. Você também pode especificar quem pode escrever onde e mais. Por exemplo, você não deseja que outras pessoas que não sejam root modifiquem o executável.
Aqui, a atualização fica um pouco mais complicada, pois você precisa gravar em mais de um diretório. Eu recomendaria empacotar a coisa toda e deixar o gerenciador de pacotes lidar com o resto.
A parte
O share
diretório em si é para arquivos independentes de arquitetura como observado no de Faheem ligação e os arquivos dependentes de arquitetura deve ir para lib
, lib32
, lib64
, etc.