![/Library: 루트 사용자로 로그인하면 작업이 허용되지 않습니다.](https://linux55.com/image/91285/%2FLibrary%3A%20%EB%A3%A8%ED%8A%B8%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%95%98%EB%A9%B4%20%EC%9E%91%EC%97%85%EC%9D%B4%20%ED%97%88%EC%9A%A9%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
El Capitan에 Jekyll을 설치하려고 하는데 아래와 같이 권한 오류가 발생합니다. 저는 루트로 로그인했습니다.
Linards:~ Berzins$ sudo gem install jekyll
Password:
Ignoring psych-2.0.15 because its extensions are not built. Try: gem pristine psych --version 2.0.15
Ignoring json-1.8.3 because its extensions are not built. Try: gem pristine json --version 1.8.3
Fetching: jekyll-3.1.6.gem (100%)
ERROR: While exexcuting gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll
Linards:~ Berzins$ gem pristine psych --version 2.0.15
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
Linards:~ Berzins$ ls -l
total 8
drwxr-xr-x 94 Berzins staff 3196 27 Mar 19:08 Applications
drwx------+ 34 Berzins staff 1156 26 Jul 22:41 Desktop
drwx------+ 16 Berzins staff 544 7 Jul 21:58 Documents
drwx------+ 12 Berzins staff 408 23 Jul 20:58 Downloads
drwx------@ 36 Berzins staff 1224 26 Jan 2015 Google Drive
drwx------@ 60 Berzins staff 2040 7 Jul 21:58 Library
-rw-r--r--@ 1 Berzins staff 724 8 Nov 2014 Linards Berzins.downsizelicense
drwx------+ 3 Berzins staff 102 25 Aug 2014 Movies
drwx------+ 7 Berzins staff 238 13 Feb 22:30 Music
drwx------+ 20 Berzins staff 680 16 Jul 21:03 Pictures
drwxr-xr-x+ 6 Berzins staff 204 23 Sep 2015 Public
drwxr-xr-x 5 Berzins staff 170 9 Apr 20:53 WebstormProjects
drwxr-xr-x 2 Berzins staff 68 18 Nov 2015 node_modules
drwxr-xr-x 4 Berzins staff 136 19 May 21:55 sites
drwxr-xr-x 25 Berzins staff 850 30 Sep 2015 veltaberzina.com
drwxr-xr-x 6 Berzins staff 204 18 Nov 2015 version_control
Linards:~ Berzins$ chmod 755 Library
Linards:~ Berzins$ sudo chmod 777 /Library
Password:
chmod: Unable to change file mode on /Library: Operation not permitted
어떤 제안이라도 감사하겠습니다.
업데이트: 제안된 명령 후 - 출력을 얻는 중 sudo chflags -R nouchg /Library
:ls -le /
Linards:~ Berzins$ ls -le /
total 61
drwxrwxr-x+ 108 root admin 3672 26 Jul 22:53 Applications
0: group:everyone deny delete
drwxr-xr-x 62 root wheel 2108 1 May 18:43 Library
drwxr-xr-x@ 2 root wheel 68 1 May 18:34 Network
drwxr-xr-x@ 4 root wheel 136 1 May 18:29 System
0: group:everyone deny delete
lrwxr-xr-x 1 root wheel 49 25 Aug 2014 User Information -> /Library/Documentation/User Information.localized
drwxr-xr-x 6 root admin 204 20 Jun 09:20 Users
drwxrwxrwt@ 5 root admin 170 26 Jul 23:50 Volumes
0: group:everyone deny add_file,add_subdirectory,directory_inherit,only_inherit
drwxr-xr-x@ 39 root wheel 1326 12 Mar 08:08 bin
drwxrwxr-t@ 2 root admin 68 1 May 18:34 cores
dr-xr-xr-x 3 root wheel 4316 29 May 11:59 dev
lrwxr-xr-x@ 1 root wheel 11 1 May 18:32 etc -> private/etc
dr-xr-xr-x 2 root wheel 1 23 Jul 21:03 home
-rw-r--r--@ 1 root wheel 313 2 Aug 2015 installer.failurerequests
dr-xr-xr-x 2 root wheel 1 23 Jul 21:03 net
drwxr-xr-x@ 6 root wheel 204 1 May 18:34 private
drwxr-xr-x@ 59 root wheel 2006 1 May 18:32 sbin
-rw-rw-rw- 1 Berzins wheel 586 25 Jul 21:46 sockets.log
lrwxr-xr-x@ 1 root wheel 11 1 May 18:32 tmp -> private/tmp
drwxr-xr-x@ 12 root wheel 308 1 May 18:43 usr
lrwxr-xr-x@ 1 root wheel 11 1 May 18:32 var -> private/var
답변1
Mac OS X의 최신 버전에는 시스템 무결성 보호("SIP", "루트리스"라고도 함) 기능이 있습니다. 기본적으로 파일 시스템의 특정 부분을 읽기 전용으로 만듭니다.모든 사람, 루트를 포함합니다. 이전에 이런 일이 발생했을 수도 있습니다.
그 목적은 버그와 맬웨어가 기본 운영 체제를 수정하는 것을 방지하는 것입니다. /System/Library/Sandbox/rootless.conf
SIP로 보호되는 디렉터리 목록은 리소스를 참조하세요 .
/usr/local
가능하다면 가장 쉬운 해결책은 Jekyll을 설치하는 것입니다.
답변2
전제 조건
- Xcode(Mac AppStore에서 다운로드)
- Xcode 명령줄 도구(
sudo xcode-select --install
또는 "기본 설정 → 다운로드 → 구성 요소") - Ruby(Jekyll 3의 경우 2 이상)
- Python 2.7(Jekyll 2 및 이전 버전용)
ACL 및 불변 플래그
모든 필수 구성 요소를 설치한 후에도 다운로드할 수 없는 경우지킬, 불변 플래그를 설정 해제하거나 ACL(액세스 제어 목록)을 설정 해제해야 할 수도 있습니다.
파일과 관련된 플래그 및 ACL을 표시하려면 다음을 사용하십시오.
$ ls -lOe
/* -e option is used to print ACL, and -O option to show flags */
플래그를 설정 해제하려면 다음을 수행해야 합니다. (예: 플래그를 설정 해제하려면 uchg
설정을 해제해야 할 수도 있음)
sudo chflags nouchg /yourDirectory
파일과 관련된 ACL을 제거하려면 다음을 사용하십시오.
chmod -RN /yourDirectory
+
이를 사용한 후에는 더 이상 디렉토리 끝에 더하기 기호가 표시되지 않습니다. -R
파일 자체뿐만 아니라 파일에 뿌리를 둔 파일 계층 구조를 변경하는 데 사용되는 모드입니다.
때때로 특정 플래그를 설정 해제하거나 ACL을 지우려면 시스템이 단일 사용자 모드에 있어야 합니다. 단일 사용자 모드로 부팅하려면 Mac을 재시동하고 ⌘+S
화면에 흰색 텍스트가 나타날 때까지 이 키를 누르고 있습니다 . 부팅 프로세스가 완료되고 root#
화면에 표시되면 터미널 사용을 시작할 수 있습니다.
sunlnk
플래그를 설정 해제할 필요는 없습니다 .
또한 운영 체제를 업데이트한 후에는 기본 구성이 재설정됩니다. 그러니 걱정하지 마세요. 하지만 명령을 사용하기 전에 매뉴얼 페이지를 읽어보는 것이 좋습니다.
마지막 단계: Jekyll 설치
Jekyll을 설치하려면 다음을 사용하세요:
sudo gem install jekyll
더 문제가 있으면 확인해 보세요.지킬 문서.