최근에 모든 도트 파일을 VCS에 넣기 시작했고 완전한 구성을 위해 기본 폴더의 폴더와 같은 개인 " " 폴더를 생성하여 PATH에서 명령을 검색할 때마다 폴더가 다음과 usr
"병합" usr
와 매뉴얼 페이지까지요. 이제 질문에 답해 보겠습니다.
- 나한테 무슨 이유라도 있는 걸까해서는 안 된다이걸 하는 거야? 내가 보지 못하는 단점이나 더 나은 대안이 있습니까?
- 단점 없이 이것을 달성하는 방법은 무엇입니까?
나는 이미 알고 있다이 문제, 그러나 내가 이해하는 바에 따르면 상위 답변은 실제로 파일을 에 저장하는 옵션을 제안하며 /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
.