为什么 tar 报告磁盘空间不足,而磁盘空间尚有充足空间?

为什么 tar 报告磁盘空间不足,而磁盘空间尚有充足空间?

在 Ubuntu 14.04 系统上,我尝试提取 tar 存档:

/media/ntfs-drive/target-dir$ tar --extract -v --file ../source-dir/data.tar

提取一些文件后,tar 报告剩余磁盘空间不足,而实际上有足够的空间。以下是相关设备的输出,df -m显示剩余大约 86 GB 的可用空间:

/dev/sdb5         226966  139075     87892   62% /media/ntfs-drive

此外,只有 2% 的驱动器 Inode 被使用,如下df -i所示:

/dev/sdb5      91114956  1086160 90028796    2% /media/ntfs-drive

更多可能相关的信息:

  • 源目录和目标目录位于同一 NTFS 驱动器上
  • 存档中data.tar包含大量小文件
  • 我的根分区几乎已满(1.4 GB 可用空间)
  • mount表示相关驱动器已安装选项rw,nosuid,nodev,allow_other,default_permissions,blksize=4096

tar 的错误消息可能是什么原因以及如何解决这个问题?

更新

看起来这并不是真正的 tar 问题,因为 tar 提取失败后系统报告磁盘已满。例如

touch /media/ntfs-disk/test

失败并出现没有足够空间的错误。然而,正如我上面所描述的,根据df.是否有任何隐藏的临时文件看不到df

更新2

我意识到我可以更改和增加磁盘上的文件,但无法创建新文件。我读过这里NTFS 每卷支持超过 40 亿个文件。目前我的磁盘包含大约 100 万个文件。但是文件数量还有其他限制吗?

答案1

GNU tar 用于$TMPDIR决定在哪里写入扩展头信息。您可以尝试设置TMPDIR为指向大驱动器上的可写位置。

相关内容