desenv-web-rp.com

Não é possível remover o arquivo: "A estrutura precisa de limpeza"

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 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 ao drive/fs (se houver algum)?

24
Rotareti

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

25
DepressedDaniel

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

https://ubuntuforums.org/showthread.php?t=2348768&p=13627299#post13627299

RESUMO:

erro de backup do rsnapshot (rsync) no sistema Arch Linux x86_64; um arquivo corrompido e profundamente aninhado estava lançando esse erro, também mostrado quando tentei excluir 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: https://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_structure_needs_cleaning/ ]

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 o 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! :-)]

8
Victoria Stuart

Às vezes, os sistemas de arquivos 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 em partições desmontadas para evitar o risco de corrupção de arquivos.

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

fsck -AR -t ext4 -y
2
Ayush Goyal

É um erro comum ao tentar remover .Trash-0 se você tentar remover janelas na codificação do sistema de arquivos CP1251 no sistema Linux. Então fs está corrompido, mas isso não é importante. O FS do Windows sempre está corrompido como no Linux. Mas não é assim. Você pode tentar abrir esse arquivo no Windows. Tudo ficará bem. E depois remova-o nas janelas. E somente depois desse lixo limpo.

0
Fillip