Подтвердить что ты не робот

Невозможно создать символическую ссылку внутри /usr/bin, даже если sudo

Когда я пытаюсь символизировать бинарный файл в моей /usr/bin папке, я получаю операцию с недопустимой ошибкой:

 sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted

Даже в случае sudo, я получаю эту ошибку.

4b9b3361

Ответ 1

El Capitan new Функция защиты целостности системы предотвращает изменения нескольких основных частей OS X, включая большинство /usr, даже root. Локальные настройки, например, то, что вы делаете, вместо этого принадлежат /usr/local./usr/local/bin по умолчанию не существует, но вы можете создать его и поместить в него пользовательские двоичные файлы (и символические ссылки):

sudo mkdir -p /usr/local/bin
sudo ln -s /usr/bin/python2.7 /usr/local/bin/python2

(Обратите внимание, что в то время как /usr/local/bin по умолчанию не существует, он находится в PATH по умолчанию, поэтому, как только вы его создадите, он будет искать команды.)

Также можно отключить защиту целостности системы, но обычно лучше оставить ее и настроить в более подходящих местах. См. этот вопрос apple.SE для более подробной информации.

Ответ 2

Я создал символическую ссылку для Sublime Text 3 в Mac OS High Sierra как

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/

Я также пытался создать символическую ссылку в "/usr/bin" и получал операцию "Не разрешено".

Затем я создал символическую ссылку в "/usr/local/bin", и не было ошибки. Символическая ссылка работает нормально. Просто убедитесь, что "/usr/local/bin" находится в пути.

Таким образом, доступ к "/usr/bin" ограничен.

Ответ 3

Перезапустить систему → долгое нажатие cmd + R. выберите терминал из меню утилит введите следующую команду csrutil disable закрыть терминал и перезапустить систему.