This pessoa teve o mesmo problema e corrigiu-a executando uma verificação de disco no Windows.
Existe um ficheiro estranho no meu lixo que não desaparece quando esvazio o lixo. O nome do arquivo se parece com:
␀␀␀õ␀␀.õ␀
Aparentemente, o arquivo está em / Volumes / NO NAME / .Trashes / 501 / ("NO NAME" é o volume do meu boot camp, portanto, não sei ao certo por que ele tem um diretório .Trashes. "ls" esse arquivo, ou mesmo esse diretório, eu recebo:
ls: ␀␀␀õ␀␀.õ␀
4␀␀␀õls: %pre%4␀␀␀õ%pre%1␀␀.õ%pre%1␀: File name too long
1␀␀.õ%pre%1␀: File name too long
O mesmo acontece se eu tentar "sudo ls -le", "sudo ls -la" ou "sudo ls -i".
E resultados semelhantes quando tento rm ou até mesmo "encontrar. -tipo f -print0 | sudo xargs -0 rm"
Como posso me livrar disso?
This pessoa teve o mesmo problema e corrigiu-a executando uma verificação de disco no Windows.
uma coisa para tentar seria usar chamadas de nível mais baixo do que ls para listar o diretório
python -c 'import os; print repr(os.listdir("/Volumes/NO NAME/.Trashes/501/"))'
e se isso funcionar, talvez tente usar a função unlink()
edit: para desassociar o tente
python -c 'import os; os.unlink("/Volumes/NO NAME/.Trashes/501/\x04\xe2\x90\x80\xe2\x90\x80\xe2\x90\x80o\xcc\x83\x01\xe2\x90\x80\xe2\x90\x80.o\xcc\x83\x01\xe2\x90\x80")'
Você já tentou excluir por inode?
ls -i
mostrará os arquivos e seus números de inode
$ ls -i *.log
694197 alf.log 694719 mb.log
694181 fsck_hfs.log 24190 secure.log
802696 hdiejectd.log 694195 system.log
1094966 install.log 694396 windowserver.log
24189 ipfw.log
Em seguida, use find para remover por inode (digamos que eu queria excluir mb.log de cima):
find . -inum 694719 -exec rm {} \;
Você pode tentar iniciar no Windows e ver se ele pode excluir o arquivo (supondo que ele possa realmente vê-lo).