Não posso comentar, por isso estou escrevendo aqui.
Tanto quanto sei, somente leitura significa somente leitura - ponto final. Não leia gravação.
Eu acho que você teria que montar seu diretório como escrever.
Acabei de descobrir que rm -f
não pode remover arquivos de uma árvore, incluindo diretórios somente leitura. Existe um comando alternativo que pode fazer isso? A remoção é disparada pelo rnapshot e pensei em fornecer um valor diferente para "cmd_rm".
O fundo: Estou usando rnapshot
, que emite muitos erros "permissão negada" ao remover a pasta _delete.XXXXX. Os erros ocorrem exatamente em arquivos em diretórios somente leitura. Esses diretórios foram criados automaticamente pelo git-annex, então eu não posso simplesmente dar a eles permissões de gravação.
Exemplo:
Configure dois arquivos com permissões de gravação diferentes em um diretório somente leitura:
$ mkdir mydir $ touch mydir/test1 $ touch mydir/test2 $ chmod a-w mydir/test1 $ chmod a-w mydir/
Tente remover o material:
$ rm -r mydir/ rm: descend into write-protected directory ‘mydir’? y rm: remove write-protected regular empty file ‘mydir/test1’? y rm: cannot remove ‘mydir/test1’: Permission denied rm: cannot remove ‘mydir/test2’: Permission denied
Eu não consigo nem remover os arquivos diretamente:
$ rm -rf mydir/test2 rm: cannot remove ‘mydir/test2’: Permission denied
Pesquisando diretórios somente leitura e tornando-os graváveis antes que a remoção funcione:
(find /path/to/remove -type d -not -writable | xargs chmod u+w) && rm -rf /path/to/remove
Mas o comando parece realmente envolvido para uma tarefa bastante simples. Essa é realmente a única solução? Como posso dizer ao rsnapshot para fazer uma coisa dessas?
Não posso comentar, por isso estou escrevendo aqui.
Tanto quanto sei, somente leitura significa somente leitura - ponto final. Não leia gravação.
Eu acho que você teria que montar seu diretório como escrever.
Tags permissions rsnapshot unix