Instalando arquivos em ~ / .local

5

Ao instalar software compilado a partir do código-fonte, eu normalmente os coloco em / usr / local /, que é de longe o padrão mais comum em minha experiência, e prática padrão pelo menos no Debian e seus derivados.

Agora, quero instalar algo em meu diretório pessoal e, embora eu pudesse, em teoria, criar qualquer subdiretório e colocá-lo lá, comecei a pensar sobre as diferentes opções e se há uma prática padrão. Eu encontrei essencialmente duas respostas:

  • Subdiretório personalizado, chamado algo como Programas , usr
  • Nenhum subdiretório , com subdiretórios ~ / bin , ~ / lib64

Eu não gosto de nenhum desses e achei que, como já existe um subdiretório ~ / .local , por que não instalar lá? Ele já contém um ~ / .local / share , que passou a significar o / usr / share privado de um usuário local, portanto, seria muito lógico instalar programas, criando todo o ~ / .local / bin , ~ / .local / lib etc.

A minha pergunta é: Está tudo bem instalar software local em ~ / .local?

Por que não encontro referências a isso quando pesquiso no google ou no stackexchange lugares para instalar software por usuário? Para mim, parece um local tão óbvio que a falta de posts que sugiram isso significa que deve haver algum problema em algum lugar.

Talvez alguém que tenha feito isso possa compartilhar sua experiência, seja positiva ou negativa?

    
por pipe 30.01.2016 / 12:26

3 respostas

2

Tudo bem.

Lembre-se, é o seu diretório pessoal; você pode fazer o que quiser lá. GNOME / KDE / qualquer coisa que possa reclamar se você sair apagando o arquivo .config, mas qualquer coisa que você fizer no seu diretório home afetará, por definição, apenas você . Adicionar alguns diretórios em .local é inofensivo.

Colocar algo em um diretório de pontos será levemente inconveniente, dependendo do seu fluxo de trabalho. O quanto isso afetará você depende de como você navega no sistema de arquivos e com que frequência você precisará fazê-lo. Se fosse eu, criaria um diretório regular para atuar como raiz (provavelmente chamá-lo de local ou aplicativos ) e usá-lo dessa maneira, mas essa é uma preferência pessoal.

Onde você vai encontrar problemas é que o sistema não está configurado para ver o seu diretório. Você precisará ajustar PATH, MANPATH, INFOPATH e LD_LIBRARY_PATH em seu .bashrc (ou o que for apropriado para o seu shell). Provavelmente haverá outras pequenas "armadilhas" também.

Estou disposto a dizer que não há muitas postagens aqui porque muitas pessoas não precisam fazer isso. Se for uma máquina pessoal, há algumas razões para não usar / usr / local. Tudo já está configurado para isso na maioria das distribuições. Se você está apenas instalando alguns aplicativos, muitas pessoas criam diretórios em / opt (como / opt / liquidificador). O Solaris faz isso quando você instala um pacote.

O único caso real de uso para o que você está descrevendo é para desenvolvedores ou pessoas que não têm raiz em sua máquina. A maioria das pessoas que não tem root apenas pede ao admin para instalar um programa para eles - eles provavelmente não saberiam como compilar um programa de qualquer maneira.

    
por 30.01.2016 / 18:10
1

As razões óbvias porque não:

    Os diretórios pessoais do usuário
  • geralmente são limitados em tamanho (cotas em sistemas compartilhados)
  • perfis pré-definidos muitas vezes já adicionaram ~/bin ao seu PATH (tornando mais conveniente instalar no esse diretório)
  • se você tiver o controle da máquina, a instalação em um local compartilhável funcionará muito bem, por exemplo, /usr/local/bin . Seu diretório de pontos não é (geralmente) compartilhável com outras contas de usuário.
  • é mais fácil ignorar os diretórios de ponto ao procurar pelo uso anormal de espaço em disco. Por exemplo, o mau recurso do ccache usava 1Gb em minha casa, antes que eu percebesse. Navegadores e lixo de desktop também são infratores freqüentes (e mais de 15 anos no processo nenhum oferece uma ferramenta adequada de gerenciamento de disco).

Do lado positivo: reduziria a desordem - um pouco. Eu tenho 55 diretórios regulares no meu diretório home, bem como 91 diretórios de pontos.

    
por 30.01.2016 / 13:29
1

A convenção comum (usada, por exemplo, com alguns alvos install-home , como o mercurial , conhecido como hg ) é coloque-os diretamente em $HOME , ou seja, em $HOME/bin , $HOME/etc , $HOME/lib e assim por diante. Este é o resultado da dança de configuração do GNUish começando com ./configure --prefix=$HOME .

    
por 30.01.2016 / 15:17