解压后删除原始 tar?空间不足,无法解压

解压后删除原始 tar?空间不足,无法解压

我有一个 130GB 的 tar 文件需要解压到 /storage。

问题是,我没有足够的磁盘空间让两者同时存在。我该如何解压 tar 文件,并确保有足够的磁盘空间,并在解压后立即删除该文件?

谢谢。

答案1

这个很难。这实际上取决于你有多少可用空间。

其他的据说要提取部分文件并将其从 tar 中删除。这是我现在唯一能看到的选项。

更新 tar 需要重建 tar,但不能在同一驱动器上重建已删除的文件。这就是为什么您必须有 2 倍 tar 大小 + 更多内容才能提取文件。

高血压

答案2

如果它只是一个 tar 文件(即未压缩),并且磁盘上有足够的剩余空间来存储压缩版本的 tarball,您可以尝试压缩它,然后构建管道unzip | tar。不过,我会事先测试一下。

更简单的解决方案:获取更大的磁盘。

答案3

你能把 tar 文件放在不同的服务器上吗?因为这样你就可以通过 ssh 解压而不用担心原始文件占用的空间。

答案4

while read p; do
  echo "$p"
  tar -xf archive.tar $p
  tar --delete -f archive.tar $p
done < tar -tf archive.tar

相关内容