6 votos

¿Cómo recrear/usr/local con modo SIP/rootless en El Capitan?

Con modo rootless habilitado (también conocido como sistema de protección de integridad) resulta que se puede quitar /usr/local pero no puede crearla:

$ sudo rm -rf /usr/local
$ sudo mkdir /usr/local
mkdir: /usr/local: Operation not permitted

¿Cómo (re) crear /usr/local o cualquier dicha carpeta?

10voto

Chad Palmer Puntos 19

/usr/local ha sido re-crear y escribir en El Capitán ya 2015-10-21 cuando Apple lanzó /System/Library/Sandbox/Compatibility.bundle versión 12 en actualización de software 031-40358 parches 10.11 y 10.11.1, y se instala como parte de la 10.11.2 actualización, 10.11.2 combo update, y 10.11.2 instalaciones limpias. Usted no necesita hacer nada especial, a menos que usted no ha actualizado a la última versión de El Capitán.

Un parche para el sistema tendrá compatibilidad paquete mayor que o igual a 12 y mostrar

iMac-TMP:~ joe$ grep /usr/local /System/Library/Sandbox/rootless.conf 
*               /usr/local
iMac-TMP:~ joe$ grep /usr/local /System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths
/usr/local
iMac-TMP:~ joe$ defaults read /System/Library/Sandbox/Compatibility.bundle/Contents/Info.plist CFBundleVersion
12.0
iMac-TMP:~ joe$

Un sin parches del sistema tendrá compatibilidad paquete de menos de 12.0 y no tienen el /usr/local entrada en /System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths.

5voto

Pontus Puntos 730

La más simple y la manera más segura es:

  • reiniciar en recovery (CMD+R)
  • inicio de la Utilidad de Disco
  • desde el menú, seleccione Macintosh HD y, o bien Desbloquear si cifrado de otra manera Monte
  • una vez Macintosh HD está montado, cerca de la Utilidad de Disco
  • iniciar un Terminal de la Utilidad de Disco de menú

Ahora ejecute los siguientes comandos:

  $ mkdir "/Volumes/Macintosh HD/usr/local"
  $ chflags norestricted "/Volumes/Macintosh HD/usr/local"
  $ ls -lOd "/Volumes/Macintosh HD/usr/local"
  drwxr-xr-x  2 root  wheel  - 68 17 Mar 09:24 /Volumes/Macintosh HD/usr/local
  $ exit

Finalmente, salir de la Terminal y reiniciar en OS X.

Referencias:

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X