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

Con el modo rootless activado (también conocido como System Integrity Protection), resulta que puedes eliminar /usr/local pero no puedes recrearlo:

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

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

  • App de notas en El Capitan: Cambiar formatting pnetworkingeterminado
  • Cómo habilitar la split horizontal en modo de pantalla completa en El Capitán
  • Vinculación de python como herramienta de compilation externa en Xcode 7 El Capitan
  • Establecer el peso de la fuente en Terminal.app para El Capitán
  • No se puede cambiar la dirección MAC en El Capitán
  • Vaciar la barra lateral de favoritos de aplicaciones de terceros
  • ¿Las aplicaciones de OS X facilitan la búsqueda y el reemploop en varios files?
  • AppleScript y Finder - Cómo detectar una selección "vacía" al copyr routes al portapapeles (pregunta ampliada)
  • Atajo para saltar entre palabras en Sublime Texto 2 buscado
  • iMessage "No entregado" en mi Macbook Pro a mediados de 2012
  • Instalar la versión X11 de Firefox en OSX 10.8.2
  • Consulte el progreso de la re-indexing de Spotlight en El Capitan
  • 2 Solutions collect form web for “¿Cómo recrear / usr / local con SIP / modo rootless en El Capitan?”

    /usr/local ha sido re-creatable y escribible en El Capitan desde 2015-10-21 cuando Apple lanzó /System/Library/Sandbox/Compatibility.bundle versión 12 en la actualización de software 031-40358 parches 10.11 y 10.11.1, y instalado como parte de la actualización 10.11.2, actualización combinada 10.11.2 y 10.11.2 instalaciones limpias. No necesitas hacer nada especial a less que no hayas actualizado a la última versión puntual de El Capitán.

    Un sistema remendado tendrá un package de compatibilidad mayor 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$ 12,0 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 sistema sin parches tendrá un package de compatibilidad inferior a 12.0 y no tendrá la input /usr/local en /System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths .

    La forma más simple y segura es:

    • reiniciar en recuperación ( CMD + R )
    • iniciar la utilidad de disco
    • en el menu, select Macintosh HD y desbloquear si está encryption
    • una vez que Macintosh HD esté montado, cierre Utilidad de disco
    • iniciar un Terminal desde el menu Disk Utility

    Ahora ejecute los siguientes commands:

      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 

    O, como un simple command:

      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, salga de Terminal y reinicie en OS X.

    Referencias:

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).