Cuando trato de vincular simbólicamente un binario en mi carpeta / usr / bin, aparece un error de Operación no permitida:
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted
Incluso como sudo, obtengo este error.
Respuestas:
¿Por qué no puedo crear un enlace simbólico
/usr/bin
?La nueva función de Protección de Integridad del Sistema de El Capitan evita cambios en varias partes centrales de OS X, incluida la mayoría
/usr/
, incluso por raíz.¿Cómo puedo agregar archivos ejecutables a mi ruta?
Las personalizaciones locales, como lo que está haciendo, pertenecen en su
/usr/local
lugar. La ruta/usr/local/bin
no existe de forma predeterminada, pero puede crearla y poner binarios personalizados (y enlaces simbólicos) en ella:Tenga en cuenta que si bien
/usr/local/bin
no existe de forma predeterminada, está en la RUTA predeterminada, por lo que tan pronto como lo cree, se buscarán comandos.Deshabilitar SIP
También es posible deshabilitar la Protección de integridad del sistema, pero generalmente es mejor dejarla activada y personalizar en ubicaciones más apropiadas. Una pregunta de Apple Stack Exchange tiene más detalles sobre esto: ¿Qué es realmente la función Rootless en El-Captain? .
fuente
Creé el enlace simbólico para Sublime Text 3 en Mac OS High Sierra como
También estaba tratando de crear el enlace simbólico en "/ usr / bin" y obtenía Operación no permitida.
Luego creé el enlace simbólico en "/ usr / local / bin" y no hubo error. El enlace simbólico funciona bien. Solo asegúrese de que "/ usr / local / bin" esté en la ruta.
Entonces, parece que el acceso a "/ usr / bin" está restringido.
fuente
Reiniciar el sistema -> pulsación larga Cmd + R . seleccione un terminal en el menú de utilidades, escriba el siguiente comando csrutil: deshabilite, cierre el terminal y reinicie el sistema.
fuente
sudo
.Si no puede crear un enlace simbólico debido a un problema de permiso, será debido a "csrutil". Después de deshabilitar csrutil, puede crear un enlace simbólico. Siga estos pasos para deshabilitar CSRUtill:
Reinicia tu Mac. Antes de que OS X se inicie, mantenga presionada la tecla Comando-R y manténgala presionada hasta que vea un ícono de Apple y una barra de progreso. Lanzamiento. Esto te inicia en la recuperación. En el menú Utilidades (en la barra superior), seleccione Terminal. Cuando se le solicite, escriba exactamente lo siguiente y luego presione Retorno: csrutil disable La terminal debería mostrar un mensaje de que SIP fue deshabilitado. En el menú , seleccione Reiniciar.
fuente
Intente ejecutar
sudo su
primero y luego ejecute el comando w / root level.fuente