[macos] sudo로도 / usr / bin 내부에 심볼릭 링크를 만들 수 없습니다.

/ usr / bin 폴더에서 바이너리를 심볼릭 링크하려고하면 Operation not allowed 오류가 발생합니다.

 sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted

sudo로도이 오류가 발생합니다.



답변

왜 심볼릭 링크를 할 수 /usr/bin없습니까?

El Capitan의 새로운 System Integrity Protection 기능은 대부분의를 포함하여 OS X의 여러 핵심 부분에 대한 변경을 /usr/루트로도 방지합니다.

내 경로에 실행 파일을 추가하려면 어떻게해야합니까?

수행중인 작업과 같은 로컬 사용자 지정이 /usr/local대신 속합니다 . 경로 /usr/local/bin는 기본적으로 존재하지 않지만 경로 를 만들고 여기에 사용자 지정 바이너리 (및 심볼릭 링크)를 넣을 수 있습니다.

sudo mkdir -p /usr/local/bin
sudo ln -s /usr/bin/python2.7 /usr/local/bin/python2

반면 것을 참고 /usr/local/bin기본적으로 존재하지 않습니다, 그것은 이다 기본 PATH에는 너무 빨리 당신이 그것을 만들 때, 그것은 명령을 검색 할 수 있습니다.

SIP 비활성화

시스템 무결성 보호를 비활성화 할 수도 있지만 일반적으로 활성화 된 상태로두고보다 적절한 위치에서 사용자 지정하는 것이 가장 좋습니다. Apple Stack Exchange 질문에는 이에 대한 자세한 내용이 있습니다. El-Captain의 Rootless 기능은 무엇입니까? .


답변

Mac OS High Sierra에서 Sublime Text 3에 대한 심볼릭 링크를 다음과 같이 만들었습니다.

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/

또한 “/ usr / bin”에 심볼릭 링크를 만들려고했는데 작업이 허용되지 않았습니다.

그런 다음 “/ usr / local / bin”에 심볼릭 링크를 만들었는데 오류가 없었습니다. 심볼릭 링크가 제대로 작동합니다. “/ usr / local / bin”이 경로에 있는지 확인하십시오.

따라서 “/ usr / bin”에 대한 액세스가 제한되어있는 것 같습니다.


답변

시스템을 다시 시작하고 cmd + R을 길게 누릅니다 . 유틸리티 메뉴에서 터미널을 선택하려면 다음 명령을 입력하십시오. csrutil disable
close terminal and restart system.


답변

  1. Create a symbolic link to psql in usr/bin (for mac only)
         command: sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/psql /usr/bin/psql

권한 문제로 인해 심볼릭 링크를 만들 수없는 경우 “csrutil”로 인한 것입니다. csrutil을 비활성화 한 후 심볼릭 링크를 만들 수 있습니다. CSRUtill을 비활성화하려면 다음 단계를 따르십시오.

Mac을 재시동하십시오. OS X이 시작되기 전에 Command-R을 누른 상태에서 Apple 아이콘과 진행률 표시 줄이 표시 될 때까지 계속 누르고 있습니다. 해제. 그러면 복구로 부팅됩니다. 유틸리티 (상단 표시 줄) 메뉴에서 터미널을 선택합니다. 프롬프트에서 정확히 다음을 입력 한 다음 Return을 누릅니다. csrutil disable Terminal은 SIP가 비활성화되었다는 메시지를 표시해야합니다.  메뉴에서 다시 시작을 선택합니다.


답변

sudo su먼저 실행 한 다음 루트 수준으로 명령을 실행하십시오.


답변