Я обновился до El Capitan вчера, и все было хорошо до недавнего времени, когда я заметил, что ничего не могу написать (с sudo ofc) в /usr /bin, когда пытался установить phpbrew.
Что может быть причиной этого и как его устранить?
Я обновился до El Capitan вчера, и все было хорошо до недавнего времени, когда я заметил, что ничего не могу написать (с sudo ofc) в /usr /bin, когда пытался установить phpbrew.
Что может быть причиной этого и как его устранить?
Начиная с OSX 10.11, Apple усиливает систему безопасности. Вызывается защита целостности системы, Apple блокирует:
/System
/sbin
/usr (with the exception of /usr/local subdirectory)
Чтобы отключить эту функцию безопасности, вы должны перезагрузить компьютер и удерживать CMD+R
при запуске, чтобы загрузиться в режиме восстановления OS X.
Тогда OS X Utilities > Terminal
Введите команду csrutil disable; reboot
Ваш компьютер перезагрузится. Вы увидите подтверждающее сообщение о деактивации.
Для проверки статуса CRS введите csrutil status
Можно проверить, ограничен ли конкретный файл или каталог Системной защитой целостности OSX (SIP)/Rootless, перечислив флаги файлов с помощью параметра -O
в ls (например, чтобы увидеть, какие каталоги в / ограничены):
ls -Ol /
Каталоги или файлы, которыми управляет SIP, отображаются как «ограниченные».
Там есть полная информация в ответах на этот вопрос о SIP/ без root.
Как упоминал Рагнар, каталог /usr
заблокирован системой, за исключением /usr/local
. Затем, если ваш сценарий позволяет, я бы рекомендовал добавить символическую ссылку в /usr/local/bin
. Если у вас нет строгих требований по использованию /usr/bin
, это один из способов обойти ошибку "Операция не разрешена".