나는 /usr 디렉토리 없이 Linux 시스템을 구축하고 있습니다. 툴체인을 작동시키는 것은 놀라울 정도로 쉽지만 많은 자동* 스크립트 때문에 짜증이 납니다. 구성 등이 env
종종 /usr/bin
.
한 가지 해결 방법은 빌드 프로세스 중에 이를 수행하는 것입니다. 그러나 이는 분명히 미학적으로 매력적이지 않으며 ln -sv .. /usr
최종 시스템으로의 경로가 누출될 위험이 있습니다. /usr
(프로덕션 환경에 네트워크가 설치될 예정이며 /usr
기본 시스템이 네트워크가 존재한다는 사실조차 알리고 싶지 않습니다.)
잘못된 자동 도구를 설치한 걸까요, 아니면 이것은 단지 구성이 자주 하는 짜증나는 가정일까요? env
투자하지 않음으로써 FHS를 위반하는 것 입니까 /usr/bin
? (이것은 나에게 큰 문제가 되지 않습니다. 나는 이미 /inc
and 를 가지고 있어서 그것을 망쳤습니다 /share
.)
답변1
보기 흉 하다고 생각할 수도 있지만 /usr
그것이 우주가 작동하는 방식입니다. 거의 모든 Unix에 이 기능이 있습니다 /usr/bin/env
. 제가 아는 한 이 기능이 없는 기존 Unix는 SCO OpenServer뿐이며 기존 규모도 크지 않습니다. 그렇지 않다면 /usr/bin/env
귀하는 FHS를 위반할 뿐만 아니라 매우 일반적인 관행을 위반하는 것입니다. /usr/bin/env
표준이 작성되지 않은 경우에도 표준 위치입니다. 이는 구성 가능한 위치가 아니며 /usr/bin/env
모든 사람이 존재한다고 가정할 수 있는 위치입니다.
좋든 싫든 해결책은 일정을 잡는 것입니다 /usr/bin/env
. 계층 구조를 제거하는 것은 /usr
괜찮지만 이렇게 하려면 에 /usr
대한 심볼릭 링크를 만드십시오 /
.
/usr
네트워크를 통해 설치 하는 경우 :
/usr
심볼릭 링크가 포함된 디렉토리를 만듭니다bin -> ../bin
.- 마운트하는 파일 시스템에서
/usr
해당 파일이bin/env
심볼릭 링크/bin/env
또는 워커 인지 확인하십시오env
.
답변2
/usr/bin
예이것env
거의 모든 Linux 및 일부 UNIX(OpenBSD 포함)의 위치입니다. 많은 스크립트는 사용자가 , , , ... PATH
에 대해 설정한 위치를 존중하기 위해 이 shebang을 사용합니다.bash
sh
python
perl
추가 정보
잘못된 자동화 도구를 설치했나요?
"툴체인"에 대한 더 많은 정보가 필요하다고 생각합니다.