예를 들어 Ubuntu에서는 홈 디렉터리에 항상 다음 줄이 .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 등을 포함해도 됩니다. :)
답변1
이 ~/.local
디렉토리는 다음의 일부입니다.시스템 파일 계층 사양그리고 확장입니다xdg-사용자-디렉토리 사양.
Debian 파생 패키지는 Bash 4.3을 기반으로 리베이스할 때 bash
경로를 잃기 때문에 혼란스러울 수 있습니다. ~/.local
그들은 Bash 4.2에 그것을 가지고 있습니다.
이것은허점, 패치는 한동안 데비안 시스템에 있었습니다.
이것허점~/.local
이것이 Ubuntu 16.04가 경로에 있고 Ubuntu 17.04가 아닌 이유입니다.
사용자로 실행 하면 systemd-path
해당 경로에 있는 것을 볼 수 있습니다.
$ systemd-path user-binaries
/home/foo/.local/bin
이론적으로 귀하의 질문에 대한 답변은 다음과 같습니다.systemd를 사용하거나 systemd와의 호환성을 유지하려는 모든 배포판.
에 더 많은 정보가 있습니다.file-hierarchy(7)
.
답변2
RPM 기반 배포판에서 상황은 다음과 같습니다.
- RHEL 7 -진짜 마지막에 추가해라
PATH
로그인 쉘을 사용하는 경우. 작동sudo su -l johndoe
하지만 스위치를 사용하지 않으면 작동하지 않습니다-l
. - CentOS 7 - RHEL을 참조하세요. 항상 RHEL을 따릅니다.
- Fedora 28(아마도 오래된 버전) - RHEL/CentOS와 동일하며 PATH 끝에 추가됨
다른 배포판의 경우:
- 아치 리눅스 - 현재경로가 설정되지 않았습니다.
이러한 버그의 순위를 확인하려면 해당 버그에 투표/댓글을 달아 문제의 중요성을 강조하는 것을 잊지 마세요.