我们需要从包含 30 多个文件的 tarball 文件中提取 5 个文件,并在解压后扩展至大约 60 GB。不幸的是,我们的机器上只有大约 20 GB 的可用空间。所需的五个文件解压后只需大约 5 GB。
有没有办法在我们的磁盘空间限制内只提取这五个文件?
使用tar xvjf <archive> <file>
似乎不起作用。
谢谢!
GNU tar 具有从 tarball中删除元素的功能。从理论上讲,这将允许您将 tarball 缩减为您需要的 5 个文件。此功能被描述为很慢,并且在这样大小的 tarball 上,可能非常慢。如果您没有 tarball 的备份,这不是您想尝试的。
从 GNU tar 的手册中复制的是这个例子:
要从“practice”目录中的存档“collection.tar”中删除文件“blues”的所有版本,请确保您位于该目录中,然后,
$ tar --list --file=collection.tar blues folk jazz rock $ tar --delete --file=collection.tar blues $ tar --list --file=collection.tar folk jazz rock
在本地服务器上:nc server 9999 | 焦油 -zxvf -
在远程服务器上:nc -l 9999 < yourfile.tar.gz