make를 실행할 때 gmake를 실행하고 싶어서 심볼릭 링크를 생성하고 있습니다. 내 gmake가 그 안에 있습니다 /usr/local/dist
. 내 브랜드는 inisde 입니다 /usr/ccs/bin
.
이것이 올바른 명령입니까?ln -s /usr/local/dist/gmake /usr/ccs/bin/make
내 혼란은, 내가 신경쓰나요 /usr/ccs/bin/make
? 심볼릭 링크를 만드는 중이므로 아무 곳에나 "make"를 입력하면 /usr/local/dist
오른쪽에서 gmake가 실행되어야 합니까?
그러면 명령은 다음과 같아야 합니다: ln -s /usr/local/dist/gmake make
?
답변1
시스템 바이너리를 기호적으로 연결하는 것은 종종 올바른 접근 방식이 아닙니다. 이로 인해 특정 바이너리 이름이 특정 알려진 동작과 일치할 것으로 예상하는 이후의 다른 소프트웨어가 복잡해집니다. 당신이 원하는 것은 별칭인 것 같습니다. 셸에서 실행합니다.
alias make=gmake
이제 make를 입력할 때마다 gmake가 자동으로 실행됩니다. 영구적으로 만들려면 쉘의 rc 파일(예 ~/.bashrc
: )에 이 줄을 추가하세요.
답변2
mkdir -p ~/bin &&
ln -s /usr/local/dist/gmake ~/bin/make &&
PATH=~/bin:$PATH
이렇게 하면 호출되는 프로세스(사용자의 위치가 있는 프로세스 PATH
) 를 제어할 수 있습니다 .~/bin
/usr/ccs/bin
gmake
make
답변3
예를 들어 에서 이전 gmake
에 링크해야 합니다 . 링크가 현재 어디에 있는지 확인하십시오 (링크가 있는 경우).PATH
make
/usr/bin
make
type make
/usr/bin
PATH의 디렉터리가 발견된 디렉터리보다 오래된 경우 make
다음 명령을 사용하여 해당 디렉터리에 연결할 수 있습니다.
ln -s /usr/local/dist/gmake /usr/bin/make
링크를 생성하려면 기존 링크를 덮어써야 할 수도 있습니다. 이것이 패키지 업데이트에 얼마나 안전한지 잘 모르겠습니다.