Linux 시스템에서는 해당 Linux 시스템용 프로그램을 컴파일해야 할 수도 있습니다.
이제 이 컴퓨터에 대해 많은 프로그램을 컴파일한 다른 사용자(루트가 아닌 일반 사용자)가 이미 있는 경우 이와 같은 작업을 수행할 수 있습니까?
예를 들어, oldGuy 사용자는 자신의 홈 디렉터리에 mpirun, python 및 기타 여러 프로그램이 설치되어 있으며 "./mpirun"을 입력하지 않고도 "mpirun"이나 디렉터리의 다른 바이너리를 호출할 수 있습니다. Bash는 자신이 참조하는 바이너리가 무엇인지 알고 있습니다. 그 밖에도 다양한 설정을 완료했습니다.
이제 newGuy라는 새로운 사용자가 있다고 가정해 보겠습니다. 우리 서버에서 oldGuy가 newGuy가 원하는 모든 바이너리를 컴파일했다면 newGuy가 oldGuy가 이미 가지고 있는 프로그램을 컴파일하고 모든 것을 올바르게 설정하는 데 시간을 낭비하는 대신 newGuy가 oldGuy, 설정 등의 일부 바이너리를 "상속"할 수 있습니까?
예를 들어, oldGuy가 Bash에서 직접 "mpirun"을 호출할 수 있습니까? newGuy는 프로그램을 컴파일하고 다른 설정을 지정하지 않고도 oldGuy와 동일한 페이지(모두 동일한 설정)에 즉시 표시되도록 무엇이든 할 수 있습니까?
답변1
이름을 입력하여(디렉토리 부분 없이, 예를 들어 mpirun
가능한 인수만 사용하여) 프로그램을 실행하면 시스템은 다음을 호출합니다.프로그램 검색 경로, 또는 줄여서 경로입니다. 경로는 find , find , find PATH
와 같이 콜론으로 구분된 디렉터리 목록이 포함된 환경 변수에 의해 결정됩니다 ./usr/local/bin:/usr/bin:/bin
/usr/local/bin
/usr/bin
/bin
검색 경로에 디렉터리를 추가할 수 있습니다. 예를 들어, joe의 홈 디렉터리에 일부 프로그램이 설치되어 있고 /home/joe
실행 파일이 에 있는 경우 기존 검색 경로 끝에 /home/joe/bin
다음 줄이 추가됩니다 ./home/joe/bin
PATH=$PATH:/home/joe/bin
대부분의 환경에서 이 설정을 적용하려면 .profile
홈 디렉터리에 있는 파일에 이 줄을 추가하세요. 파일이 없으면 작성하십시오.
그래픽 환경에서 로그인하는 경우 환경 및 배포판에 따라 읽지 못할 수도 있습니다 .profile
. 이 경우 환경 설명서를 확인하거나 여기에서 실행 중인 운영 체제, 배포판, 데스크톱 환경을 정확하게 지정하도록 요청하세요.
텍스트 모드(예: SSH를 통해)로 로그인했고 .profile
읽혀지지 않지만 이름이 파일인 경우 .bash_profile
해당 줄을 .bash_profile
.
답변2
홈 디렉토리를 복사하고 싶지 않거나 암호화된 경우 한 가지 옵션은 모든 컴파일된 바이너리를 중앙 위치에 설치하여 /usr/local/bin/
모든 사람이 바이너리에 액세스하고 PATH에 자동 액세스할 수 있도록 하는 것입니다. 두 번째 요청은 다음과 같습니다. 만족스럽다.