개인 사용자 디렉토리

개인 사용자 디렉토리

최근에 모든 도트 파일을 VCS에 넣기 시작했고 완전한 구성을 위해 기본 폴더의 폴더와 같은 개인 " " 폴더를 생성하여 PATH에서 명령을 검색할 때마다 폴더가 다음과 usr"병합" usr와 매뉴얼 페이지까지요. 이제 질문에 답해 보겠습니다.

  1. 나한테 무슨 이유라도 있는 걸까해서는 안 된다이걸 하는 거야? 내가 보지 못하는 단점이나 더 나은 대안이 있습니까?
  2. 단점 없이 이것을 달성하는 방법은 무엇입니까?

나는 이미 알고 있다이 문제, 그러나 내가 이해하는 바에 따르면 상위 답변은 실제로 파일을 에 저장하는 옵션을 제안하며 /usr폴더를 에 추가하는 것과 유사한 것을 선호하지만 PATH실제로 파일을 이동하지는 않고 다른 위치에서 찾기만 하면 됩니다.

나는 또한 overlayfs를 조사했지만 부팅시 실행되는 것처럼 보입니다. 더 빠를 수도 있지만 로그인 시 파일을 병합하는 것을 선호합니다.

답변1

한 번만 만드세요:

cd
mkdir -p usr/bin usr/man

귀하 ~/.profile또는 다른 쉘 초기화 파일에 추가하십시오:

PATH="$PATH:~/usr/bin"
MANPATH="$MANPATH:~/usr/man"

...그런 다음 해당 디렉토리에 내용을 넣습니다.

노트:

  • PATH는 왼쪽에서 오른쪽으로 검색됩니다. 라는 프로그램을 개발한다면 robot순서는 중요하지 않을 것입니다. 이라는 프로그램을 개발 cat하고 대신 실행하려면 예를 들어 다음과 같이 /bin/cat입력해야 합니다 .~/usr/bin/bin$PATH

    PATH="~/usr/bin:$PATH"
    

    보안상 위험할 수 있으니 주의하시기 바랍니다. 이렇게 해서 공격자가 홈 디렉터리에 대한 쓰기 액세스 권한을 얻게 되면 디렉터리에 트로이 목마를 남겨두고 ~/usr/bin계정을 탈취할 수 있습니다.

  • 좀 더 멋지게 만들고 싶다면 현재 값을 보고 중간 어딘가에 $PATH 배치 할 수 있습니다. ~/usr/bin이는 유지 관리가 더 어려울 수 있습니다.
  • 위의 내용에는 심각한 문제가 없지만 ~/bin대신 사용하는 것이 더 나을 수도 있습니다 ~/usr/bin. 실제로 시스템에 따라 ~/bin(일명 $HOME/bin)이 $PATH기본적으로 이미 존재한다는 것을 알 수 있습니다.

답변2

이것이 전체 /usr/local구조의 목적입니다. 시스템 관리자가 사용자 정의 콘텐츠를 추가할 수 있는 경우를 제외하고 /usr시스템 패키지 관리자가 관리하도록 되어 있습니다 ./usr/local

/usr/local/bin이미 존재할 수도 있습니다 PATH.

관련 정보