Quais distribuições têm $ HOME / .local / bin em $ PATH?

42

Exemplo: no Ubuntu, sempre há um .localdiretório no diretório inicial e .profileinclui esta linha:

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

$HOME/.local/binnão existe por padrão, mas se ele foi criado, ele já está dentro $PATHe os executáveis ​​dentro podem ser encontrados.

Isso não é exatamente mencionado na especificação do diretório XDG, mas parece derivado dela.

O que me pergunto é se isso é comum o suficiente para que se possa supor que exista nas distribuições mais comuns de usuários finais. É, por exemplo, em todos os derivados do Debian, ou pelo menos os derivados do Ubuntu? E o ecossistema Red Hat / Fedora / CentOS? E assim por diante com Arch, Suse e o que as pessoas estão usando hoje em dia.

Para ser mais claro, isso é apenas para $HOME/.local/bin, não $HOME/bin .

Por curiosidade, sinta-se à vontade para incluir BSDs, OS / X e outros se você tiver as informações. :)

Stoffe
fonte
Já vi essa pergunta antes, mas não encontrei um sistema que faça isso. Para tornar a questão mais atual do que parecer , você pode eliminar considerações de "bastante comum" e simplesmente perguntar de onde veio e exemplos de sistemas que fazem isso para novas contas de usuário. "Recente" O Fedora faz isso, por exemplo.
Thomas Dickey
Posso reformular para perguntar simplesmente "qual" fazê-lo, com certeza. É um pouco de uma luta para formular a questão desde que eu estou atrás não é qualquer resposta definitiva, mas principalmente uma sensação para se isso pode ser razoavelmente assumido na maioria dos casos 2016.
Stoffe
1
Eu não tenho no meu caminho, e certamente não vou colocá-lo lá. (Debian, mas xdm / fvwm, nem o Gnome nem o KDE como área de trabalho).
dirkt 16/10
1
Eu procurei por um sistema que possa ter. Nenhuma das minhas contas de desenvolvimento usa bash , e os empacotadores simplesmente não são suficientemente detalhados para serem notados, a menos que eu faça uma verificação especial (consulte o novo caminho ).
Thomas Dickey 16/10
1
IIRC O Ubuntu /etc/skel/.profileinclui e inclui pelo menos 14.04 testes para a presença de um usuário $HOME/bine o adiciona ao PATHse houver; em contraste, 16.04 parece adicionar ambos $HOME/bine $HOME/.local/binincondicionalmente. Não me lembro de ter adicionado $HOME/.local/bina Ubuntus anteriormente - mas não vejo nada de relevante no bashlog de alterações do pacote (que supostamente é o proprietário /etc/skel/.profile).
steeldriver 16/10

Respostas:

41

Os ~/.localdiretórios fazem parte da especificação da hierarquia de arquivos systemd e são uma extensão da especificação xdg user-dirs

Pode ser confuso, pois os pacotes derivados do Debian bashperderam o ~/.localcaminho quando eles foram redefinidos para o bash 4.3 e o tinham no bash 4.2.

É um bug , e um patch está no sistema Debian há um tempo.

Esse bug é a razão pela qual o Ubuntu 16.04 tinha ~ / .local no caminho e o Ubuntu 17.04 não.

Se você executar systemd-pathcomo usuário e verá que ele deve estar no caminho.

$ systemd-path user-binaries
/home/foo/.local/bin

Em teoria, a resposta para sua consulta é qualquer distro que use systemd ou queira manter a compatibilidade com o systemd.

Há mais informações em file-hierarchy(7)

gdahlm
fonte
1
Obrigado! Por pura curiosidade, esse também foi o caso durante o período inicial? Só perguntei porque minha memória diz que ela estava lá mais cedo que o systemd, mas é igualmente provável que eu não a lembre!
Stoffe
Duvidaria que fosse antes do systemd, para sempre a convenção era ~ / bin.
Pfalcon
Arrgh, este bug parece ter também chegou a 16,04 cortesia de uma festança backported 4.3
Adrian
Funciona no Ubuntu 18.04.
Daniel
1

Nas distribuições baseadas em RPM, a situação parece com esta

  • RHEL 7 - o adiciona ao final do PATH, consulte https://bugzilla.redhat.com/show_bug.cgi?id=1583227 quando você usa um shell de login. Ele funcionará, sudo su -l johndoemas não funcionará se você não usar o -lcomutador.
  • CentOS 7 - veja RHEL, está sempre seguindo o RHEL.
  • Fedora 28 (provavelmente também mais antigo) - o mesmo que o RHEL / CentOS, adicionado ao final do PATH

Se você deseja ver esses bugs classificados, não se esqueça de votar / comentar sobre eles, pois isso destacaria a importância do problema.

sorin
fonte