Когда я пытаюсь создать символическую ссылку на двоичный файл в моей папке / usr / bin, я получаю сообщение об ошибке Operation not allowed:
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted
Даже как sudo я получаю эту ошибку.
Ответы:
Почему я не могу создать символическую ссылку
/usr/bin
?Новая функция защиты целостности системы El Capitan предотвращает внесение изменений в несколько основных частей OS X, включая большую часть
/usr/
, даже с правами root.Как я могу добавить исполняемые файлы в свой путь?
/usr/local
Вместо этого нужны локальные настройки, например то, что вы делаете . Путь/usr/local/bin
не существует по умолчанию, но вы можете создать его и поместить в него пользовательские двоичные файлы (и символические ссылки):Обратите внимание, что, хотя
/usr/local/bin
по умолчанию он не существует, он находится в PATH по умолчанию, поэтому, как только вы его создадите, он будет искать команды.Отключение SIP
Также можно отключить защиту целостности системы, но обычно лучше оставить ее включенной и выполнить настройку в более подходящих местах. В вопросе Apple Stack Exchange есть более подробная информация об этом: что такое функция Rootless в El-Captain на самом деле? .
источник
Я создал символическую ссылку для Sublime Text 3 в Mac OS High Sierra как
Я также пытался создать символическую ссылку в «/ usr / bin» и получал «Операция не разрешена».
Затем я создал символическую ссылку в «/ usr / local / bin», и ошибки не было. Символьная ссылка работает нормально. Просто убедитесь, что "/ usr / local / bin" находится в пути.
Итак, похоже, что доступ к «/ usr / bin» ограничен.
источник
Перезагрузка системы -> длинное нажатие CMD + R . выберите терминал в меню утилит, введите следующую команду csrutil disable close terminal and restart system.
источник
sudo
.если вы не можете создать символическую ссылку из-за проблем с разрешением, это будет из-за "csrutil". После отключения csrutil вы можете создать символическую ссылку. Чтобы отключить CSRU, выполните следующие действия:
Перезагрузите ваш Mac. Перед запуском OS X нажмите и удерживайте Command-R, пока не увидите значок Apple и индикатор выполнения. Релиз. Это загрузит вас в Recovery. В меню «Утилиты» (на верхней панели) выберите «Терминал». В командной строке введите точно следующее и нажмите Return: csrutil disable Терминал должен отобразить сообщение о том, что SIP отключен. В меню выберите «Перезагрузить».
источник
Попробуйте
sudo su
сначала запустить, а затем выполните команду с корневым уровнем.источник