rm: não é possível remover o 'arquivo': Nenhum arquivo ou diretório

0

Eu preciso excluir alguns arquivos no Linux, mas quando tento fazer isso, sempre recebo o mesmo erro: %código%. O problema é que os arquivos mencionados são visíveis em todos os gerenciadores de arquivos e com rm: cannot remove 'file': No such file or directory , e posso até abri-los com seus respectivos aplicativos (ou seja, posso abrir e ler arquivos de texto com o Kate, imagens com o Gwenview e assim por diante); então não consigo entender por que quando tento excluí-los, eles são marcados como inexistentes.

Se for útil, esses são arquivos de backup, eles estão em um disco rígido NTFS removível e estão todos dentro da pasta de uma tarefa de backup com falha; eles foram criados pelo Back in Time: este programa funciona comparando backups subseqüentes e hardlinking quando arquivos não são alterados para economizar espaço; Suponho que isso tenha algo a ver com o problema atual.

Como posso excluir esses arquivos? Eu tentei usar ls sem sucesso (mesmo com rm -f ). Eles ainda estão lá e ainda são inexistentes; mesmo no Windows, não consegui excluí-los; o que mais eu posso tentar fazer?

P.S. Eu já pedi conselhos para o gato de Schrodinger, sem sucesso.

Aqui está uma amostra dos nomes desses arquivos:

rcb-ScrollBarH_bar_focus.png  rcb-separator_vertical.png  ScrollBarNib.png  thumbborder-thin-black.png
rcb-ScrollBarV_bar_focus.png  scrollbarh_bar_focus.png    scrollbarv.png    thumbborder-thin.png
    
por Sekhemty 04.01.2016 / 12:16

2 respostas

1

Antes de mais nada, verifique se o seu sistema de arquivos é consistente. Como você usa o NTFS, é melhor fazer isso no Windows.

BackInTime altera a permissão de todos os arquivos e pastas para que você não possa alterar ou remover o backup acidentalmente. Use a GUI do BackInTimes para remover o instantâneo inteiro ou partes dele ou altere as permissões primeiro:

find /path/to/backintime/HOST/USER/PROFILE/SNAPSHOTID/backup -type d -exec chmod u+wx {} +
rm /path/to/backintime/HOST/USER/PROFILE/SNAPSHOTID/backup/file/to/remove

Editar

De acordo com o seu comentário, sua unidade já estava inconsistente. Isso significa que outros arquivos também podem estar corrompidos. rsync normalmente compara apenas o tamanho dos arquivos e o tempo de modificação para decidir se um arquivo precisa ser sincronizado. Isso não detectará arquivos corrompidos.

Então, por favor, tire um novo instantâneo com

backintime --profile-id 1 --checksum --backup

para todos os perfis. Isso vai demorar, mas no final seu backup estará seguro novamente.

Disclaimer: Eu sou o principal dev atual de BackInTime

    
por 05.01.2016 / 04:57
0

Isso é mais provável porque o arquivo tem alguns caracteres não-imprimíveis ou caracteres que parecem iguais ou devido à limitação do ls.

Tente usar a opção --escape de ls ou a ferramenta cat ( cat -v ) para encontrar o nome de arquivo correto e, em seguida, faça

rm -i --* Espero que isso ajude

    
por 04.01.2016 / 16:27