¿Por qué falla silenciosamente `rm -rf``?

¿Por qué falla silenciosamente `rm -rf``?

[EDITAR] No pierda el tiempo leyendo mi pregunta a continuación. Resulta que mi colega es un idiota.. :)

En mi servidor estoy intentando eliminar una carpeta y todas sus subcarpetas con el método habitual rm -rf dirname, pero falla silenciosamente:

kramer65@vps1:~$ ls -l
total 24
drwxrwxr-x  2 kramer65 kramer65 4096 Jul 11 22:00 backups
drwxrwxr-x  2 kramer65 kramer65 4096 Jul 17 17:37 bin
drwxrwxr-x  3 kramer65 kramer65 4096 Sep  1 11:11 cxs
kramer65@vps1:~$ rm -rf cxs/
kramer65@vps1:~$ ls
backups  bin  cxs
kramer65@vps1:~$ sudo rm -rf cxs/
kramer65@vps1:~$ ls
backups  bin  cxs
kramer65@vps1:~$ rmdir cxs/
rmdir: failed to remove ‘cxs/’: Directory not empty

También intenté eliminar todo el contenido del directorio:

kramer65@vps1:~$ cd cxs
kramer65@vps1:~/cxs$ ls
app            README.md
kramer65@vps1:~/cxs$ rm -rf *
kramer65@vps1:~/cxs$ ls
app            README.md
kramer65@vps1:~/cxs$ sudo rm -rf *
kramer65@vps1:~/cxs$ ls
app            README.md

Estoy de acuerdo con los comandos fallidos, si tan solo me dijeran qué está mal. ¿Alguna idea de lo que estoy haciendo mal aquí? ¡Todos los consejos son bienvenidos!

[EDITAR] Intenté lo siguiente (también fue en vano):

kramer65@vps1:~$ sudo rm -vrf cxs/*
removed ‘cxs/app/static/img/face1.jpg’
removed ‘cxs/app/static/img/face2.jpg’
removed ‘cxs/app/static/img/face3.jpg’
[etc.etc.]
removed directory: ‘cxs/app’
removed ‘cxs/README.md’
kramer65@vps1:~$ ls cxs/
app            README.md
kramer65@vps1:~$

[EDITAR2] Resulta que un colega tenía un rsync en ejecución que constantemente reescribía los archivos en esa carpeta. Así que los eliminó, pero también los volvió a crear automáticamente. (¡Aquí me estoy golpeando la cabeza contra la pared!)

Respuesta1

Prueba lo siguiente

rm -rf /the/full/dir

Respuesta2

Verifique los atributos extendidos de los archivos:

lsattr -R /cxs

Si alguno tiene el iatributo establecido, entonces es inmutable, lo que significa que no se puede eliminar.

Elimine el atributo inmutable con:

chattr -i <path to file/directory>

Luego intente eliminar nuevamente.

Tenga en cuenta que un archivo con el atributo inmutable establecido normalmente no falla silenciosamente cuando intenta eliminarlo, sino que se queja de "Operación no permitida".

información relacionada