Não é possível remover o arquivo: “Estrutura precisa de limpeza”

15

Eu tenho um disco rígido externo que é criptografado via LUKS. Ele contém um ext4 fs.

Acabei de receber um erro do rsync para um arquivo que está localizado nesta unidade:

rsync: readlink_stat("/home/some/dir/items.json") failed: Structure needs cleaning (117)

Se eu tentar excluir o arquivo, recebo o mesmo erro:

rm /home/some/dir/items.json
rm: cannot remove ‘//home/some/dir/items.json’: Structure needs cleaning

Alguém sabe o que posso fazer para remover o arquivo e corrigir problemas relacionados com o drive / fs (se houver algum)?

    
por Rotareti 15.12.2016 / 23:20

5 respostas

17

Isso é altamente indicativo de corrupção do sistema de arquivos. Você deve desmontar, fazer um backup em nível de setor do seu disco e, em seguida, executar o e2fsck para ver o que está acontecendo. Se houver uma grande corrupção, você poderá mais tarde ficar feliz por ter feito um backup em nível de setor antes de permitir que o e2fsck adultere os dados.

    
por 16.12.2016 / 03:17
6

Se ajudar alguém, tive um problema semelhante (backups de rsync / rsnapshot, em um arquivo afetado). Eu postei meu problema / solução, aqui:

link

RESUMO:

erro de backup rsnapshot (rsync) no sistema arch linux x86_64; um arquivo corrompido, profundamente aninhado estava lançando esse erro, também mostrado quando eu tentei apagar esse arquivo:

sudo rm -fR hourly.5/

rm: cannot remove 'hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/[email protected]/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak': Structure needs cleaning

Aqui está o problema:

cd mnt/Vancouver/temp/temp\ -\ old/temp\ -\ 09\ \(Dec\ 07\,\ 2014\ -\ Sep\ 02\,\ 2015\)/a_OLD-gmail/[email protected]/\[Gmail\]/LINUX/rsync\,\ rsnapshot\;\ Other\ backups/

ls -l

ls: cannot access '19.bak': Structure needs cleaning
total 0
-????????? ? ? ? ?  ? 19.bak        ## << THAT IS THE PROBLEM!!

[Veja também: link ]

Minha unidade de backup é / dev / sda1.

sudo umount /dev/sda1

sudo fsck.ext4 /dev/sda1  ## << accepted suggested fixes

Reinicializado: tudo parece bem. Entrou na unidade de backups, excluiu esse arquivo problemático:

/mnt/Backups/rsnapshot_backups/hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/[email protected]/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak

Q.E.D.?!

[Atualização: sim; que funcionou: meus backups estão funcionando normalmente, de novo! :-)]

    
por 30.03.2017 / 23:30
1

Os sistemas de arquivos, às vezes, não estão em ordem e precisam de limpeza. Isso pode ser feito pelo comando fsck . Mas lembre-se, você deve executar o fsck apenas para desmontar partições para evitar o risco de corrupção de arquivos.

Se o seu sistema de arquivos é ext4, tente executar este comando:

fsck -AR -t ext4 -y
    
por 03.04.2017 / 14:41
0

É erro comum quando tentar remover .Trash-0 se você tentar remover o Windows na codificação do sistema de arquivos CP1251 no sistema Linux. Então, o fs é corrupto, mas isso não afeta. Fs do Windows sempre corrompem como vêem do Linux. Mas não é assim. Você pode tentar abrir este arquivo do windows os Tudo ficará bem. E depois remova-o no windows. E só depois desse lixo limpo.

    
por 23.10.2018 / 09:50
-1

tudo !! Eu corrijo este problema com este comando no meu shell proxmox

pct stop 100 ## pare o contêiner

pct fsck 100 ## fsck container, isso conserta o problema, em alguns arquivos de problemas que estão corrompidos no sistema de contêiner

pct start 100 ## inicia o container, ok, agora backup e tudo é bom !!

Obrigado a todos, Chuck

    
por 25.11.2018 / 00:43