$ PATH에 $ HOME / .local / bin이있는 배포는 무엇입니까?


42

예 : 우분투에는 항상 .local홈 디렉토리에 디렉토리 .profile가 있으며이 줄을 포함합니다 :

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

$HOME/.local/bin기본적으로 존재하지 않지만 이미 작성된 경우 이미 $PATH있고 내부의 실행 파일을 찾을 수 있습니다.

이것은 XDG 디렉토리 스펙 에서 정확하게 언급되지 않았지만 그로부터 파생 된 것 같습니다.

제가 가장 궁금한 점은 이것이 가장 일반적인 최종 사용자 배포에 존재한다고 가정 할 수있을만큼 충분히 일반적인지입니다. 예를 들어, 모든 데비안 파생물이나 적어도 우분투 파생물에 있습니까? Red Hat / Fedora / CentOS 생태계는 어떻습니까? 그리고 Arch, Suse, 요즘 사람들이 사용하는 것들도 마찬가지입니다.

추가 명확하게하기 위해이만을위한 것입니다 $HOME/.local/bin, 하지 $HOME/bin .

궁금한 점이 있으시면 정보가 있으면 BSD, OS / X 등을 자유롭게 포함하십시오. :)


나는이 질문이 전에 요청 된 것을 보았지만 이것을 수행하는 시스템을 발견하지 못했습니다. 질문 이 아닌 의견을 주제로 만들기 위해 "충분히 공통"에 대한 고려를 제거하고 새로운 사용자 계정을 위해이를 수행하는 시스템의 예와 위치를 간단히 물어보십시오. 예를 들어 "최근"Fedora가이를 수행합니다.
토마스 디키

나는 단순히 "어떤 일을"하는지 물어볼 수있다. 내가 쫓아 온 것이 확실한 답이 아니기 때문에 질문을 공식화하는 것은 약간의 어려움이지만, 대부분의 경우 2016 년에 합리적으로 가정 할 수 있는지에 대한 느낌입니다.
Stoffe

1
나는 내 길에 그것을 가지고 있지 않으며 확실히 거기에 넣지 않을 것입니다. (데비안이지만 xdm / fvwm, 그놈이나 KDE는 데스크탑이 아닙니다).
dirkt

1
시스템이 있는지 확인했습니다. 내 개발 계정 중 어느 것도 bash를 사용 하지 않으며, 패키지 관리자는 특별한 확인을하지 않으면 알아 차릴만큼 충분히 철저하지 않습니다 ( newpath 참조 ).
토마스 디키

1
IIRC Ubuntu /etc/skel/.profile는 사용자의 존재 여부에 대해 최소 14.04 개의 테스트를 포함하며, 존재 $HOME/bin하는 PATH경우 추가 합니다. 대조적으로, 16.04 나타납니다 모두 추가 $HOME/bin하고 $HOME/.local/bin무조건입니다. 나는 이전 우분투 스 $HOME/.local/bin를 전혀 추가하는 것을 기억하지 못하지만 bash패키지 변경 로그 (아마도 소유하고 있음 /etc/skel/.profile) 와 관련된 것을 보지 못합니다 .
steeldriver

답변:


41

~/.local디렉토리의 일부입니다 systemd 파일 계층 구조의 스펙 과의 확장 XDG 사용자-DIRS 사양

그들이 bash 4.2에 기반을 두었을 때 경로 를 bash잃어버린 데비안 파생 패키지로 혼란 스러울 수 있습니다 ~/.local.

그것은 버그 이며 패치는 데비안 시스템에 약간 앉아 있습니다.

버그 는 Ubuntu 16.04의 경로에 ~ / .local이 있고 Ubuntu 17.04가없는 이유입니다.

systemd-path사용자로 실행 하면 사용자가 경로에 있음을 알 수 있습니다.

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

이론적으로 쿼리에 대한 답변 은 systemd를 사용하거나 systemd와의 호환성을 유지하려는 모든 배포판입니다.

더 많은 정보가 있습니다 file-hierarchy(7)


1
감사! 순수한 호기심으로 시작 시간에도 마찬가지입니까? 내 기억이 그것이 systemd보다 일찍 있다고 말했기 때문에 묻는 것 뿐이지 만, 나는 그것을 잘못 기억할 것입니다!
Stoffe

나는 그것이 체계화되기 전에 의심의 여지가 있었고, 영원히 협약은 ~ / bin이었습니다.
pfalcon

Arrgh,이 버그는 16.04에 백 포트 된 배쉬 4.3에 의해 도착한 것 같습니다
Adrian

우분투 18.04에서 작동합니다.
Daniel

1

RPM 기반 배포판에서 상황은 다음과 같습니다.

  • RHEL 7-PATH 끝에 추가하면 로그인 쉘을 사용할 때 https://bugzilla.redhat.com/show_bug.cgi?id=1583227을 참조 하십시오 . 스위치 와 함께 작동 sudo su -l johndoe하지만 -l스위치를 사용하지 않으면 작동하지 않습니다 .
  • CentOS 7-RHEL 참조, 항상 RHEL을 따릅니다.
  • Fedora 28 (아마도 나이가 많음)-RHEL / CentOS와 동일하며 PATH 끝에 추가됨

버그를 분류하여보고 싶다면 문제의 중요성을 강조 할 수 있으므로 투표하거나 의견을 남겨주십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.