Depois de forçar um fsck (com -f
flag) e ele ainda parece limpo ... Os números de usuários / grupos são incomuns, geralmente estão abaixo de 10000, acho que dois bilhões não parecem certos, e eles são zero bytes ... algo é engraçado. Pode haver alguns atributos estendidos para verificar também, se eles não funcionarem.
Talvez tente listar por inode
ls -il
e, em seguida, excluir por inode, com find e rm
find . -inum [inode-number] -exec rm -i {} \;
ou outro exemplo recomendado alguns acham "segurança" e find -delete
find . -maxdepth 1 -type f -inum [inode-number] -delete
para ainda mais "segurança", primeiro verifique qual arquivo encontrar encontrou omitindo o -delete, usando o padrão "print"
find . -inum [inode-number]
Se isso ainda não funcionar, debugfs
tem alguns comandos que devem, e muitos dos seus comandos usam um inode como argumento
rm pathname
Unlink pathname. If this causes the inode pointed to by pathname to have
no other references, deallocate the file. This command functions as the
unlink() system call.
ou talvez
unlink pathname
Remove the link specified by pathname to an inode. Note this does not
adjust the inode reference counts.
E, mesmo que os atributos estendidos estejam causando problemas, você pode tentar getfacl
listá-los & setfacl
para alterar, a opção -b, --remove-all
parece útil. Ou no pacote attr
, também há getfattr
e setfattr
.
Ou o debugfs tem alguns comandos de atributos estendidos também:
ea_get [-f outfile] filespec attr_name
Retrieve the value of the extended attribute attr_name in the file file‐
spec and write it either to stdout or to outfile.
ea_list filespec
List the extended attributes associated with the file filespec to stan‐
dard output.
ea_set [-f infile] filespec attr_name attr_value
Set the value of the extended attribute attr_name in the file filespec to
the string value attr_value or read it from infile.
ea_rm filespec attr_names...
Remove the extended attribute attr_name from the file filespec.