O tar GNU usa $TMPDIR
para decidir onde gravar informações de cabeçalho estendidas. Você pode tentar definir TMPDIR
para apontar para um local gravável na sua grande unidade.
Em um sistema Ubuntu 14.04 eu tentei extrair um arquivo tar:
/media/ntfs-drive/target-dir$ tar --extract -v --file ../source-dir/data.tar
Depois de extrair alguns dos arquivos, o tar informa que não havia espaço suficiente em disco, enquanto na realidade há muito disso. Aqui está a saída de df -m
para o dispositivo relevante, mostrando que restam cerca de 86 GByte de espaço livre:
/dev/sdb5 226966 139075 87892 62% /media/ntfs-drive
Além disso, apenas 2% dos inodes da unidade são usados como df -i
:
/dev/sdb5 91114956 1086160 90028796 2% /media/ntfs-drive
Mais algumas informações que podem ser relevantes:
data.tar
contém um grande número de arquivos pequenos mount
diz que a unidade relevante foi montada com opções rw,nosuid,nodev,allow_other,default_permissions,blksize=4096
Qual poderia ser o motivo da mensagem de erro do tar e como posso resolver esse problema?
Atualizar
Parece que isso não é realmente um problema de tar, já que o sistema informa que o disco está cheio após a extração de tar com falha. Por exemplo,
touch /media/ntfs-disk/test
falha com o erro de que não há espaço suficiente. No entanto, como descrevi acima, há muito espaço em disco e o Inodes saiu de acordo com df
. Existem arquivos temporários ocultos que não são vistos por df
?
Atualização 2
Percebi que posso alterar e aumentar arquivos no disco, mas não consigo criar novos arquivos. Eu li aqui que o NTFS suporta mais de 4 bilhões de arquivos por volume. Atualmente meu disco contém cerca de 1 milhão de arquivos. Mas há outro limite no número de arquivos?
O tar GNU usa $TMPDIR
para decidir onde gravar informações de cabeçalho estendidas. Você pode tentar definir TMPDIR
para apontar para um local gravável na sua grande unidade.
Tags ntfs disk-usage tar