Pet*_*r B 10 tar gzip files portability
为了备份我的工作快照,我运行了一个命令,比如tar -czf work.tgz work创建一个 gzip 压缩的 tar 文件,然后我可以将其放入云存储中。但是,我刚刚注意到 gzip 的大小限制为 4 GB,而我的work.tgz文件超过 4 GB。
尽管如此,如果我在当前计算机(运行 Mac OS X 10.15.4,gzip 版本称为 Apple gzip 287.100.2)上创建一个 gzip tar 文件,我可以成功检索它。所以在我的特殊情况下,gunzip 可以在 >4GB 上工作。但我希望能够在 Mac OS X 或 Linux 以及未来可能的其他系统上创建和读取这些大型 gzip 文件。
我的问题是:我可以在任何地方解压/gunzip 大文件吗?换句话说,大小超过 4 GB 的 gzip 文件的可移植性如何?如果我在 Mac OS、Linux 或其他平台上创建它有关系吗?
一些在线阅读表明 gzip 将成功 gzip/gunzip 一个更大的文件,但不会正确记录未压缩的大小,因为大小存储为 32 位整数。这就是极限吗?
Ste*_*itt 21
我刚刚注意到 gzip 有 4 GB 的大小限制
更准确地说,该gzip格式无法正确存储超过 4GiB 的未压缩文件大小。结果是,gzip -l对于原始大小超过 4GiB 的任何压缩文件,都不会显示正确的大小。
除此之外,gzip本身没有限制,gzip超过4GiB的ped文件是可移植的。该格式由RFC 1952指定,并且对它的支持广泛可用。(严格来说,该gzip格式存储未压缩数据模 2 32的大小;gzip -l出于这个和其他原因,这是一种误导。)
我可以在任何地方解压/gunzip 大文件吗?
任何可以处理大文件的地方,以及符合规范的tar和实现gunzip可用的地方。
换句话说,大小超过 4 GB 的 gzip 文件的可移植性如何?
该gzip格式本身是便携式的,而且gzip文件也便于携带,无论它们所包含的数据的大小。
如果我在 Mac OS、Linux 或其他平台上创建它有关系吗?
不,gzip在任何平台上创建的文件都可以在具有所需功能(特别是在此问题的上下文中存储大文件的能力)的任何其他平台上解压缩。
另请参阅压缩实用程序最大文件大小限制 | Unix/Linux。