/Library: 루트 사용자로 로그인하면 작업이 허용되지 않습니다.

/Library: 루트 사용자로 로그인하면 작업이 허용되지 않습니다.

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.confSIP로 보호되는 디렉터리 목록은 리소스를 참조하세요 .

/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

더 문제가 있으면 확인해 보세요.지킬 문서.

관련 정보