9 votos

No se puede eliminar el archivo de la papelera

Tengo problemas para vaciar la basura en Catalina. FileVault está activado. Intentando vaciar desde el Finder advierte X11R6 no puede ser modificado o eliminado porque es requerido por MacOS. Es un enlace a /opt/X11 que es un directorio normal. enter image description here Bien, probemos en la Terminal:

fifteen:.Trash elliott$ pwd; ls -al
/Users/elliott/.Trash
total 272
drwx------    4 elliott  staff     128 Nov 11 21:44 .
drwxr-xr-x@ 125 elliott  staff    4000 Nov 10 22:23 ..
-rw-r--r--@   1 elliott  staff  135172 Nov 11 21:44 .DS_Store
drwxr-xr-x    3 root     wheel      96 Nov 11 21:42 Security

fifteen:.Trash elliott$ sudo rm -rf Security/
Password:
rm: Security//usr/X11R6: Operation not permitted
rm: Security//usr: Directory not empty
rm: Security/: Directory not empty

fifteen:.Trash elliott$ ls -l Security/usr/
total 0
lrwxr-xr-x  1 root  wheel  8 May 19 11:37 X11R6 -> /opt/X11

Ya le he dado a Terminal acceso total al disco en las Preferencias del Sistema.

Comprobación de la rm comando con dtruss Veo que falla aquí:

unlink(".Trash/Security/usr/X11R6\0", 0x0, 0x0)      = -1 Err#1
write_nocancel(0x2, "rm: \0", 0x4)       = 4 0
getrlimit(0x1008, 0x7FFEED8FA680, 0x0)       = 0 0
write_nocancel(0x2, ".Trash/Security/usr/X11R6\0", 0x19)         = 25 0
write_nocancel(0x2, ": \0", 0x2)         = 2 0
write_nocancel(0x2, "Operation not permitted\n\0", 0x18)         = 24 0

También he verificado que este archivo está en la partición de datos de lectura-escritura:

sh-3.2# ls -l /System/Volumes/Data/Users/elliott/.Trash/Security/usr/
total 0
lrwxr-xr-x  1 root  wheel  8 May 19 11:37 X11R6 -> /opt/X11

14voto

Monomeeth Puntos 139

Se trata de un problema conocido que ha afectado a varios usuarios tras la actualización de Catalina 1 .

La mejor manera de resolverlo es desactivar la Protección de Integridad del Sistema (SIP), borrar los archivos/vaciar la papelera, y luego volver a activar la SIP.

A continuación se ofrecen instrucciones completas para los usuarios que no estén familiarizados con el proceso de desactivación/activación del SIP:

  1. Inicie (o reinicie) su Mac
  2. Mantenga inmediatamente pulsada la tecla commandR teclas para arrancar en la recuperación
  3. Haga clic en el menú Utilidades y seleccione Terminal
  4. Tipo csrutil disable y pulse return
  5. Cerrar la aplicación Terminal
  6. Reinicie su Mac
  7. Eliminar los archivos y/o vaciar la papelera
  8. Reinicie su Mac
  9. Mantenga inmediatamente pulsada la tecla commandR teclas para arrancar en la recuperación
  10. Haga clic en el menú Utilidades y seleccione Terminal
  11. Tipo csrutil enable y pulse return
  12. Cerrar la aplicación Terminal
  13. Reinicie su Mac

1. En la mayoría de los casos, los usuarios afectados tenían XQuartz instalado antes de la actualización de Catalina y durante el proceso de actualización XQuartz no se desinstala correctamente.

0 votos

Gracias. Esto me llevó a encontrar el comando ls -lO que muestra que efectivamente este archivo está restringido por SIP. Probaré esto cuando pueda reiniciar. Me pregunto si hay alguna manera de añadir o eliminar esta bandera "restringida".

0 votos

He añadido una manera de hacer esto sin necesidad de los pasos 4-11 pero necesitas construir la ruta completa a tu carpeta de la Papelera de usuario. Vea mi respuesta - siéntase libre de editarlo en su respuesta si lo desea.

2 votos

Tuve que desactivar y volver a activar el SIP en Big Sur. No pude omitir ese paso. Cuando abrí el terminal desde el modo de recuperación sin él no pude ver ninguna de las carpetas de Usuarios. Sólo pude ver la carpeta /Users/Shared.

4voto

Ne An Derthal Puntos 39789

Como se ha mencionado, se puede arreglar en el propio modo de recuperación. Sin embargo, primero debes montar el disco de tu Macintosh (al menos en Catalina) para poder acceder a la Papelera mientras estás en modo Recuperación. Estos son los pasos que me funcionaron en Mac OS 10.15.4:

  1. Averigüe la ruta de su papelera ejecutando este comando en el Terminal

    echo /Users/$(whoami)/.Trash/?*

    Debería ser algo así como /Users/bob/.Trash/?* . Anótalo en un papel o en tu teléfono.

  2. Reinicie su Mac

  3. Mantenga inmediatamente pulsado commandR para arrancar en modo de recuperación

  4. En el modo de recuperación, abra las Utilidades de Disco

  5. Monte su volumen "Macintosh HD" (el principal)

  6. Salir de la Utilidad de Disco

  7. Haga clic en el menú Utilidades y seleccione Terminal

  8. El "Macintosh HD" estará disponible en /Volumes/Macintosh\ HD . Ponerle un prefijo a la ruta que has anotado. La ruta completa a su basura será algo así:

    /Volumes/Macintosh\ HD/Users/bob/.Trash/?*

    Recuerde que debe reemplazar bob allí con el nombre de usuario correcto.

    Verifíquelo ejecutando esto en el Terminal:

    ls /Volumes/Macintosh\ HD/Users/bob/.Trash/?*

    y comprueba que contiene los archivos que quieres eliminar.

  9. Borra los archivos:

    rm -rf /Volumes/Macintosh\ HD/Users/bob/.Trash/?*
  10. Salir de la Terminal

  11. Reinicie su Mac

Nota: En realidad, he ejecutado csrutil disable antes del paso 8 y luego csrutil enable después del paso 9, para desactivar temporalmente la protección de la integridad del sistema. No sé si eso era realmente necesario o no. Parece que no debería ser necesario mientras que en el modo de recuperación, pero no lo he probado. Háganos saber en los comentarios a continuación.

1voto

Oskar Puntos 1242

También puede simplemente arrancar a la recuperación y eliminar la carpeta / archivos de la utilidad de Terminal mientras se arranca a la imagen de recuperación. La protección de la integridad del sistema no protege su sistema normal de las modificaciones mientras se arranca en otro sistema operativo.

Si quieres obtener la ruta completa de tu carpeta de basura de usuario antes de reiniciar, este comando te dará el nombre corto para que puedas copiarlo / imprimirlo y tener una "hoja de trucos" de lo que debes escribir cuando estés en recuperación:

echo rm /Users/$(whoami)/.Trash/?*

El comando echo no borra, cuando escribas el rm y presiones enter, eso intentará borrar los archivos y no pedirá permiso ni tendrá un paso de deshacer, así que asegúrate de tener una copia de seguridad si crees que no vas a conseguir la ruta perfecta. Esto borrará todo lo que pongas en la papelera de tu carpeta de inicio.

1 votos

Como comenté arriba también, tuve que desactivar y volver a activar el SIP en el Big Sur. No pude saltarme ese paso. Cuando abrí el terminal desde el modo recovery sin él no pude ver ninguna de las carpetas Users. Sólo pude ver la carpeta /Users/Shared

0 votos

@bmike: Esto no funciona en caso de que los archivos estén marcados como restringido (consultar con ls -alO ), que es exactamente el caso de la investigación inicial.

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