Excluindo um Arquivo Impossível

2

Uma imagem vale mais que mil palavras, então eu quero começar com isso:

Da imagem você pode ver que eu tenho um disco rígido de ~ 500GB. O sistema de arquivos é ext4. Neste disco rígido de 500 GB, tenho um arquivo com mais de 74 TB.

Adoraria saber como isso é possível (obviamente algum tipo de corrupção de disco), mas o mais importante é que gostaria de saber se o arquivo é seguro para ser excluído, digamos, rm .npmignore ou se há outro maneira de se livrar dele que seria igualmente eficaz.

Estou preocupado principalmente em destruir os dados no meu disco que acompanham o início do arquivo impossível.

Para os curiosos, este arquivo foi enterrado em um repositório sob o caminho node_modules/bower/node_modules/request/node_modules/qs/.npmignore . Depois de mover o arquivo para fora do diretório e executar um git checkout .npmignore , descobri que o arquivo realmente era um arquivo de texto (duh) e, na verdade, tinha menos de 700 bytes.

    
por JoBu1324 16.04.2015 / 00:17

3 respostas

2

É muito improvável que seu sistema de arquivos seja corrompido. Ext4fs, como a maioria dos Unix sistemas de arquivos suporta arquivos esparsos, ou seja, arquivos que têm alguns de seus blocos não suportados por qualquer mídia física e quais blocos por convenção são retornados como contendo apenas valores nulos (zeros) quando lidos.

A remoção de um arquivo esparso não representa nenhum risco específico, fora do fato de poder conter dados que algum processo ou pessoas não querem perder.

Você pode usar o comando strings para ter uma ideia da carga real que um arquivo esparso contém.

Se você realmente suspeitar que seu sistema de arquivos está corrompido, a melhor maneira de descobrir isso seria desmontar e fsck.

Editar : de acordo com seus últimos comentários para sua própria pergunta, parece que seu sistema de arquivos está corrompido, afinal. Remover um arquivo ou fazer qualquer coisa em um sistema de arquivos que mostre sinais de corrupção é arriscado e pode corrompê-lo ainda mais. Recomendamos enfaticamente desmontá-lo o mais rápido possível e executar um fsck para garantir que nenhum outro metadado seja corrompido.

    
por 16.04.2015 / 01:03
0

Deve ser "seguro" excluir o arquivo; é um arquivo de configuração do tipo, dizendo ao npm quais arquivos e padrões ignorar quando você estiver fazendo o que estiver fazendo com o npm.

Se você deseja excluí-lo ou não, depende de você. Pode estar servindo a um propósito útil. Talvez cat-lo e ver o que ele contém e, em seguida, fazer um julgamento de lá.

Como aponta o @jordanm, o arquivo não é de fato 47TB.

    
por 16.04.2015 / 00:47
0

Como Wumpus Q. Wumbley apontou, havia um byte corrompido ou um whopper de co-incidência. Eu decidi morder a bala e excluir o arquivo, que correu bem sem danos aparentes aos arquivos ao redor.

    
por 16.04.2015 / 23:04