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


101

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

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

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


당신의 1.OS 2.Distribution 3. 파일 시스템은 무엇입니까?
Rany Albeg Wein

Mac OSX El Capitan 10.11.4
egidra

1
다음을 시도해 보셨습니까 ? stackoverflow.com/questions/32659348/… ?
Rany Albeg Wein

답변:


156

왜 심볼릭 링크를 할 수 /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 기능은 무엇입니까? .


16

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"에 대한 액세스가 제한되어있는 것 같습니다.


7

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


9
이렇게하면 시스템 무결성 보호가 비활성화됩니다. 대신 더 안전한 다른 솔루션을 찾는 것이 가장 좋습니다.
MattSidor

9
개인적으로 이것이 올바른 해결책이라고 생각합니다. 나는 OS가이 디렉토리 나 어떤 디렉토리에있는 것들을 sudo.
rjhilgefort

0
  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가 비활성화되었다는 메시지를 표시해야합니다.  메뉴에서 다시 시작을 선택합니다.


-3

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


2
이렇게해도 OP 문제가 해결되지 않습니다. 문제는 최신 MacOS 시스템의 시스템 무결성 보호와 관련이 있습니다.
cgseller
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.