Ne peut pas créer un lien symbolique à l'intérieur de /usr / bin même si sudo

Quand j'essaie de lien symbolique binaire dans mon dossier /usr/bin, j'obtiens une Opération non permise d'erreur:

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

même en tant que sudo, je comprends cette erreur.

27
demandé sur Ren 2016-04-20 01:23:13

3 réponses

la nouvelle fonctionnalité System Integrity Protection d'El Capitan empêche les changements à plusieurs parties centrales de OS X, Y compris la plupart de /usr, même par root. Les personnalisations locales, comme ce que vous faites, appartiennent plutôt à /usr/local. /usr / local / bin n'existe pas par défaut, mais vous pouvez le créer et y mettre des binaires personnalisés (et des liens symboliques):

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

(notez que bien que /usr / local / bin n'existe pas par défaut, il est dans le chemin par défaut, donc dès que vous le Créez, il sera recherché pour les commandes.)

il est également possible de désactiver la Protection de L'intégrité du système, mais il est généralement préférable de la laisser allumée et de la Personnaliser dans des endroits plus appropriés. Voir cette pomme.SE question pour plus de détails .

62
répondu Gordon Davisson 2017-12-07 00:54:48

j'ai créé le lien symbolique pour le texte Sublime 3 dans Mac OS High Sierra comme

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

j'essayais aussi de créer le lien symbolique dans" /usr/bin " et je ne pouvais pas fonctionner.

puis j'ai créé le lien symbolique dans "/usr/local/bin" et il n'y a pas eu d'erreur. Le lien symbolique fonctionne très bien. Assurez-vous simplement que "/usr/local/bin" est dans le chemin.

il semble donc que l'accès à" /usr/bin " soit limité.

3
répondu Vineet Sharma 2017-12-22 13:41:06

redémarrer le système -> pression longue cmd + R .  sélectionnez un terminal dans le menu utilities tapez la commande suivante csrutil désactiver fermer la borne et redémarrer le système.

-1
répondu James 2017-09-05 12:54:45