
저는 Mac OS의 두 번째 "관리자" 사용자입니다. 저는 그룹에 속해 있으며 첫 번째 사용자가 설치한 을(를) admin
사용하려고 합니다 .homebrew
/usr/local/*
나는 의 모든 내용 이 admin
, 즉 에서 쓸 수 있는지 확인했습니다 sudo chmod -R g+w /usr/local/*
.
brew install
몇 가지 다른 패키지를 실행하려고 하면 다음과 같은 오류가 발생합니다.
cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted
Error: Failure while executing; `cp -pR /private/tmp/d20210523-60782-14t7vu8/[email protected]/. /usr/local/Cellar/[email protected]` exited with 1. Here's the output:
cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted
하지만 검사해 보니 폴더에 내가 예상한 권한이 있습니다.
:; ls -al /usr/local/Cellar/icu4c/
total 0
drwxrwxr-x 3 user1 admin 96 May 23 14:06 .
drwxrwxr-x 73 user1 admin 2336 May 23 14:05 ..
drwxrwxr-x 12 user1 admin 384 May 23 14:06 67.1
내가 여기서 무엇을 놓치고 있는지 아는 사람 있나요?
답변1
실제로 답변은 없지만 동일한 문제에 직면하고 있지만 근본 원인을 찾는 데 도움이 되는 단서가 될 수 있으며 문제를 해결할 수도 있습니다. 내 입장에서는 두 개의 관리자 계정이 있으므로 Brew 설치 시 ACL을 사용하고 있지만 ACL을 사용하지 않기 때문에 이는 내가 생각한 ACL 문제가 아닐 가능성이 있음을 의미합니다.
모든 관리자가 Brew를 사용할 수 있도록 관리자용 ACL을 설정하는 설치 후 스크립트가 있습니다. Brew를 사용하여 설치할 때마다 이 스크립트를 사용하여 소유자를 복원하고 ACL을 설정합니다.
내가 아는 것은 setattrlist와 fsetattrlist가 메타데이터에 관한 것이므로 finder/spotlight 정보에 관한 것입니다. ACL을 사용하여 이 오류를 완전히 제거할 수 있는 방법을 찾지 못했습니다.
homebrew가 복사를 수행하는 것과 동일한 방식을 사용하면 homebrew 설치 외부에서 재현할 수 있습니다.
예를 들어 $ cp -pR /usr/local/Cellar/webp ~/webp $ cp -pR ~/webp/. /usr/local/Cellar/webp # ⇒ 권한 오류 또는 setattrlist 오류 생성 $ cp -pR ~/webp /usr/local/Cellar/webp # ⇒ 작동하므로 홈브류에서 / . cp의 소스를 형성합니다.
지금까지 이 오류가 발생하면 Cellar에서 디렉토리를 제거하고 Brew Install 명령을 다시 시작했습니다.
Brew가 많은 것을 업데이트할 때 지루한 작업이지만 이것이 현재로서는 제가 찾은 유일한 해결 방법입니다.