Bei aktiviertem Rootless-Modus (auch als Systemintegritätsschutz bezeichnet) stellt sich heraus, dass Sie ihn entfernen /usr/local
, aber nicht neu erstellen können:
$ sudo rm -rf /usr/local
$ sudo mkdir /usr/local
mkdir: /usr/local: Operation not permitted
Wie kann man einen solchen Ordner (neu) erstellen /usr/local
?
/usr/local
ist auf El Capitan seit dem 21.10.2015 sowohl neu erstellbar als auch beschreibbar, als Apple /System/Library/Sandbox/Compatibility.bundle
Version 12 im Software-Update 031-40358 mit Patches für 10.11 und 10.11.1 veröffentlichte und als Teil des 10.11.2-Updates, 10.11.2-Combo, installierte Update und 10.11.2 saubere Installationen. Sie müssen nichts Besonderes tun, es sei denn, Sie haben nicht auf die neueste Point-Release von El Capitan aktualisiert.
Ein gepatchtes System hat ein Kompatibilitätspaket größer oder gleich 12 und wird angezeigt
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$
Ein ungepatchtes System hat ein Kompatibilitätspaket kleiner als 12.0 und keinen /usr/local
Eintrag in /System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths
.
Der einfachste und sicherste Weg ist:
CMD
+ R
)Macintosh HD
und entweder Entsperren , wenn verschlüsselt, andernfalls MountenMacintosh HD
es gemountet ist, schließen Sie das FestplattendienstprogrammFühren Sie nun die folgenden Befehle aus:
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
Oder als ein einfacher Befehl:
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
Beenden Sie schließlich Terminal und starten Sie OS X neu .
Verweise: