Коли я намагаюся символізувати бінарне в папці / usr / bin, я отримую помилку "Операція не дозволена":
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted
Навіть як судо, я отримую цю помилку.
Коли я намагаюся символізувати бінарне в папці / usr / bin, я отримую помилку "Операція не дозволена":
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted
Навіть як судо, я отримую цю помилку.
Відповіді:
/usr/bin
?Нова функція захисту системної цілісності El Capitan запобігає змінам у декількох основних частинах OS X, включаючи більшість /usr/
, навіть під коренем.
/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 Stack Exchange має більш детальну інформацію про це: що насправді є безкріпним у El-Captain? .
Я створив символічне посилання для 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" обмежений.
Перезавантаження системи -> довге натискання CMD + R . виберіть у меню утиліт термінал введіть наступну команду csrutil відключити закрити термінал і перезапустити систему.
sudo
.
1. Create a symbolic link to psql in usr/bin (for mac only)
command: sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/psql /usr/bin/psql
якщо ви не зможете створити символічне посилання через видачу дозволу, це буде через "csrutil". Після відключення csrutil ви можете створити символічне посилання. Вимкніть CSRUtill, виконайте наступні дії:
Перезавантажте Mac. Перед запуском OS X утримуйте Command-R і утримуйте його, поки не з’явиться значок Apple і панель прогресу. Відпустіть. Це завантажує вас у Recovery. У меню Утиліти (на верхній панелі) виберіть Термінал. У запиті введіть наступне, а потім натисніть кнопку Return: csrutil disabled Terminal повинен відобразити повідомлення про те, що SIP вимкнено. У меню, виберіть Перезапустити.