Onde devo instalar pacotes criados a partir do código-fonte como um usuário não-root?

0

Estou criando vários pacotes (> 10) como um usuário não raiz a partir do código-fonte e quero instalá-los (para essa pergunta, escolha o valor --prefix= ). Duas opções óbvias são:

  1. Use meu diretório pessoal , o que significa que eu terei etc/ , usr/ , var/ e subdiretórios semelhantes, e dentro de cada um deles estarão os arquivos de pacotes diferentes. Mas a maioria dos pacotes não interagem, então não há muito sentido em ter seus arquivos nos mesmos subdiretórios, e isso tornará a desinstalação um tipo de dor que eu acho
  2. Use um diretório separado para cada pacote , por exemplo --prefix=$HOME/myfooapp , --prefix=$HOME/mybarlib e assim por diante. Isso manterá tudo separado, mas agora meu diretório pessoal irá preencher com vários subdiretórios que não quero ver. Além disso, alguns dos pacotes do interagem, então eu não me importo de eles estarem juntos no mesmo lugar (não há necessidade de tornar o PATH super longo).

Existe alguma outra alternativa que está faltando? Quer dizer, eu poderia fazer

  1. Como a opção 2. mas em um subdiretório do meu diretório inicial , por exemplo --prefix=$HOME/opt/myfooapp , --prefix=$HOME/opt/mybarlib

isso é o melhor que posso fazer?

    
por einpoklum 02.10.2015 / 21:24

3 respostas

0

Por fim, decidi por $HOME/opt/myfooapp . As razões são:

  • As opções 2 e 3 me permitem separar as hierarquias de arquivos dos diferentes pacotes; isso é menos importante quando você está trabalhando em / como usuário root - já que você tem um gerenciador de pacotes para ajudá-lo. Eu não ...
  • Apenas a opção 3 evita confundir meu diretório inicial com vários diretórios relacionados a instalações de pacotes de software.
por 22.11.2015 / 20:25
2

Eu acho que isso geralmente é um tipo de convenção de sites. Para instalações de longa duração, estou relutante em confiar na árvore $ HOME e estou mais inclinado a usar / opt mesmo que isso signifique configurar / opt // com as permissões apropriadas e possivelmente diretórios relacionados para usar como seu local padrão para dados etc. que se alinha com alguma interpretação razoável de algo que você pode apontar como link

Para mim, a maior influência em seu uso da estrutura, além de tentar não agir diretamente contra as convenções, é o uso do servidor. Você pretende substituir a imagem do servidor em diferentes ambientes ou no software / dados? Você usa sistemas de arquivos compartilhados ou exige partições específicas para otimizar o software? Você deseja incluir esses diretórios em qualquer backup, etc? Você deseja compartilhar as permissões ou dados de execução com outras contas de usuário? Você também pode querer considerar a configuração de certas variáveis de ambiente em seus logins de perfis de shell compartilhados para estender os caminhos padrão e os sinalizadores de construção comumente usados.

Espero que isso dê algum alimento para o pensamento. É claro que, se estiver na máquina local, faça o que parecer certo, mas não descarte o uso de / opt, pois essa é a árvore de diretórios negligenciada; ^)

    
por 03.10.2015 / 08:58
0

Eu instalo pacotes compilados localmente com --prefix=$HOME . Menos PATH (e outras, como MANPATH ou até mesmo localização do arquivo de informações), e os pacotes escritos decentemente não pisam em seus respectivos dedos de qualquer maneira.

    
por 22.11.2015 / 21:01