Encontré el mismo problema esta noche que esta pregunta de SO que no fue respondida completamente.
Estoy tratando de desinstalar una instalación anterior de MacPorts y ejecutar SIP:
mybox:~ me$ sudo rm -rf /opt/local
rm: /opt/local/var/macports/home/Library/Preferences: Operation not permitted
rm: /opt/local/var/macports/home/Library: Operation not permitted
rm: /opt/local/var/macports/home: Operation not permitted
rm: /opt/local/var/macports: Directory not empty
rm: /opt/local/var: Directory not empty
rm: /opt/local: Directory not empty
Según la pregunta original, la respuesta parece involucrar a SIP ... pero ¿por qué SIP decidió proteger este directorio (vacío)?
EDITAR: Aquí están los resultados ls -a
en el directorio:
./ ../
Y aquí están los resultados de ls -leOd /opt/local/var/macports/home/Library/Preferences
:
drwxrwxrwx 2 root wheel - 64 Nov 8 19:45 /opt/local/var/macports/home/Library/Preferences/
.
EDITAR 2018-11-12:
Aquí están los resultados de ls -laeO@ /opt/local/var/macports/home
drwxr-xr-x 3 root wheel - 96 Nov 8 19:42 ./
drwxr-xr-x@ 3 root wheel - 96 Nov 8 19:45 ../
com.apple.FinderInfo 32
drwxr-xr-x 3 root wheel - 96 Nov 8 19:42 Library/
EDITAR 2018-11-13:
Aquí están los resultados de xattr -l /opt/local/var/macports
com.apple.FinderInfo:
00000000 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020
ls -leOd /opt/local/var/macports/home/Library/Preferences
. Si eso enumera una bandera "restringida", el directorio de protegido por SIP. Hay una serie de otras banderas que pueden prohibir la eliminación; verman chflags
para una lista parcial de ellos. No creo que un ACL pueda tener este efecto, pero tampoco está de más comprobarlo. Puede agregar los resultados a su pregunta editándola (nota: utilice el formato de código, como lo hizo para los errores originales).dscacheutil -q user
y encontré un usuario llamado "macports"/opt/local/var/macports/home
como su directorio de inicio. Extraño. ¡Gracias!Respuestas:
El directorio está protegido por SIP porque es el directorio de inicio de un
macports
usuario, presumiblemente creado como parte del proceso de instalación de MacPorts.La mejor solución es eliminar primero esa cuenta de usuario, siguiendo las instrucciones de esta respuesta aceptada a otra pregunta de AppleSE. También es posible que desee eliminar el
macports
grupo correspondiente que también existe (vea los comentarios sobre esa respuesta aceptada).Una vez que haya hecho eso, debería poder hacerlo con
sudo rm -rf /opt/local
éxito.Se agradece significativamente esta respuesta a @GordonDavisson por proporcionar el 90% de la solución en los comentarios, hace algunos meses.
fuente
Pruebe uno de los siguientes
o No eres el propietario del directorio
ls -ld / ruta / al directorio /
o No tiene permisos para eliminar el nombre del directorio del directorio principal
o El directorio o su padre tiene una ACL que le impide eliminar el directorio
ls -ldeO @ / ruta / al directorio /
ls -ldeO @ / ruta / al / directorio / ..
chmod para meterse con ACL
o El directorio o su padre tiene la bandera 'uchg' o 'schg'
ls -ldeO @ / ruta / al directorio /
ls -ldeO @ / ruta / al / directorio / ..
chflags para meterse con banderas.
y finalmente esto
sudo chflags -R nouchg <parent>
fuente