대부분의 사람들과 마찬가지로 저는 때때로 배포 저장소 외부에서 항목을 설치하거나 "수작업으로 작성"하거나 스크립트를 작성/사용하므로 시스템 기본 경로에 없거나 경로에 추가되어서는 안 됩니다.
이제 진행하는 방법은 다양합니다.
가끔씩만 실행하고 싶거나 특정 디렉터리에서만 실행해야 하는 작업은 그대로 유지하면 cd ~/stuff/fancyapp
충분 ./fancyexecutable
합니다.
하지만 때로는 내가 어디에 있든 간단히 뭔가를 할 수 있기를 원할 수도 있고 backup.sh
, 다른 프로그램이 특정 실행 파일에 대해 알아야 할 수도 있습니다. 그렇게 하려면 내 $PATH를 그런 것으로 업데이트한 다음 회의를 다시 시작할 수 있습니다 PATH=$PATH:~/bin/backup/
. export PATH
. 그러나 이로 인해 문제가 발생합니다. 각 실행 파일을 이동/심볼릭 링크하는 "홈 저장소"가 있거나 ~/bin/
정렬된 홈 저장소를 갖고 싶을 때 각 하위 디렉터리를 내 경로에 추가해야 합니다. (아니면 그럴 수도 있지경로를 재귀적으로 만들기 위해 무언가를 결합)
bin
그렇다면 여러 실행 파일과 하위 디렉터리를 직접 처리하는 정확하고 권장되며 안전한 방법은 무엇입니까?
답변1
/home/user/.local
로컬로 구축된 모든 소프트웨어를 디렉토리 에 설치했습니다 . 이 디렉터리는 기본적으로 /usr
표시되는 디렉터리 구조를 복제합니다.
> ls ~/.local
bin etc include jars lib lib64 libexec man share
빌드 도구에서 이 디렉터리를 지정하여 이 디렉터리를 설치 접두사로 설정할 수 있습니다. 일부 도구는 환경 변수 값을 사용하여 PREFIX
설치 위치를 결정하므로 환경 변수 값도 설정하는 것이 좋지만 이에 의존하지는 마십시오.
이에 따라 여러 환경 값을 설정해야 합니다(예 PATH
: LD_LIBRARY_PATH
, PKG_CONFIG_PATH
, ) CLASSPATH
.