chmod로 인해 zsh가 손상되었습니다. compaudit로 고치려고 노력 중

chmod로 인해 zsh가 손상되었습니다. compaudit로 고치려고 노력 중

내 쉘에는 Homebrew zsh가 있습니다. 내 컴퓨터에 루트가 없지만 높은 권한을 가진 추가 계정이 있습니다. 이것은 내 작업에 의해 설정된 방법일 뿐이며 이에 대해 아무것도 할 수 없습니다. 여기서 몇 가지 작업을 sudo할 수 있습니다. Homebrew 등으로 설치합니다.

어쨌든 이러한 충돌하는 계정 때문에 권한 문제로 인해 다른 Homebrew의 작업을 실행하는 데 어려움을 겪고 있었습니다. 그래서 나는 이렇게 했습니다:

sudo chmod -R a+rw /usr/local

이제 즉각적인 문제가 해결되었지만 결과적으로 내 껍질이 깨졌습니다. 새 세션을 시작할 때마다 다음 내용이 표시됩니다( source $ZSH/oh-my-zsh.shmy 의 줄 에서 가져옴 .zshrc).

compdef: unknown command or service: git
compdef: unknown command or service: git

...다음에 프롬프트가 표시됩니다. 또한 탭 완성이 더 이상 작동하지 않습니다. 그러나 다른 플러그인은 작동합니다.

chmod나는 무모한 행동을 취소 하고 사용 지침을 따르려고 노력했습니다 compaudit(예:여기), 그러나 문제가 해결되지는 않는 것 같습니다.

필사적으로 Homebrew에서 zsh를 완전히 제거하고 다시 설치해 보았습니다. 이로 인해 의 출력이 변경되어 compaudit이제 의 내용도 많이 포함된 것 같습니다 /usr/local/Cellar/zsh/5.2/share/zsh/functions. 그러나 내가 볼 수 있는 한 여기에 있는 모든 것(해당 디렉토리 포함)에는 올바른 소유권( my_admin:admin)과 권한( 0744)이 있습니다. 마찬가지로, compaudit불평하는 다른 것들도 괜찮은 것 같습니다.

그래서 좀 막혔어요! 다음에 무엇을 시도해야 합니까?


업데이트그래서 나는 이것을 시도했습니다 :

sudo chmod -R MODE /usr/local/share/zsh /usr/local/Cellar/zsh/5.2/share/zsh

...내가 시도한 곳 MODE0777, 및 0744입니다 .07540550

첫 번째는 일부 플러그인으로 인해 모든 키보드 입력이 실패한다는 경고와 함께 원래의 문제를 제공합니다. 나머지(예: 비소유자에 대한 제한된 액세스)로 인해 여러 zsh/Oh My Zsh 정의가 로드되지 않고 그런 다음 Oh My Zsh가 플러그인을 로드하려고 하면 후속 오류가 발생합니다. 특히, 에 대해 불평 colors하고 더 이상 정의되지 않습니다(마찬가지로 시도하면 실패합니다).compinitcompdefcompaudit

나는 무슨 일이 일어나고 있는지/왜 권한 설정이 그렇게 많은 혼란을 야기해야 하는지에 대해 완전히 잃어버렸습니다. 나 자신을 완전히 폐쇄하기 전에 실험을 중단할 예정입니다. 하지만 누구든지 이 문제를 해결하는 방법에 대한 제안을 갖고 있다면 매우 환영할 것입니다!

관련 정보