Acabo de descubrir que rm -f
no se pueden eliminar archivos de un árbol, incluidos los directorios de solo lectura. ¿Existe algún comando alternativo que pueda hacer esto? La eliminación se activa mediante rnapshot y pensé en proporcionar un valor diferente para "cmd_rm".
El trasfondo: estoy usando rnapshot
el cual emite muchos errores de "permiso denegado" al eliminar la carpeta _delete.XXXXX. Los errores ocurren exactamente en archivos en directorios de solo lectura. Estos directorios fueron creados automáticamente por git-annex, por lo que no puedo simplemente darles permisos de escritura.
Ejemplo:
Configure dos archivos con diferentes permisos de escritura en un directorio de solo lectura:
$ mkdir midir $ toque midir/prueba1 $ toque midir/test2 $ chmod aw midir/prueba1 $ chmod aw midir/
Intenta eliminar las cosas:
$ rm -r midir/ rm: ¿descender al directorio protegido contra escritura 'mydir'? y rm: ¿eliminar el archivo vacío normal protegido contra escritura 'mydir/test1'? y rm: no se puede eliminar 'mydir/test1': permiso denegado rm: no se puede eliminar 'mydir/test2': permiso denegado
Ni siquiera puedo eliminar los archivos directamente:
$ rm -rf midir/prueba2 rm: no se puede eliminar 'mydir/test2': permiso denegado
Buscar directorios de solo lectura y hacerlos escribibles antes de que funcione la eliminación:
(buscar /ruta/a/eliminar -tipo d -no escribible | xargs chmod u+w) && rm -rf /ruta/a/eliminar
Pero el comando parece realmente complicado para una tarea bastante simple. ¿Es esta realmente la única solución? ¿Y cómo puedo decirle a rsnapshot que haga tal cosa?
Respuesta1
No puedo comentar así que escribo aquí.
Hasta donde yo sé, solo lectura significa solo lectura, punto. No leer escribir.
Supongo que tendrías que montar tu directorio de lectura y escritura.