4GBより大きいgzipファイルはどのくらい携帯可能ですか?

4GBより大きいgzipファイルはどのくらい携帯可能ですか?

マイタスクのスナップショットをバックアップするためにクラウドtar -czf work.tgz workストレージに保存できる圧縮tarファイルを作成するコマンドを実行します。しかし、ちょうどgzipのサイズ制限が4GBで、私のwork.tgzファイルが4GBを超えることがわかりました。

それにもかかわらず、現在のコンピュータ(Mac OS X 10.15.4を実行している場合、gzipバージョンはApple gzip 287.100.2)からgzip tarファイルを作成すると正常に検索できます。したがって、私の特別なケースでは、gunzipは4 GB以上で動作します。しかし、私はMac OS XやLinux、そして将来は他のシステムでもこれらの大容量のgzipファイルを作成して読むことができるようにしたいと思います。

私の質問は:どこでも大容量ファイルを解凍/総圧縮できますか?つまり、4GBより大きいgzipファイルはどのくらい移植性がありますか? Mac OS、Linux、または他のオペレーティングシステムで作成しても問題になりますか?

オンラインで読んだいくつかの内容によると、gzipは大きなファイルを正常にgzip / gunzipしますが、サイズは32ビット整数で保存されるため、圧縮されていないサイズは正しく記録されません。これがすべてのものの限界ですか?

ベストアンサー1

私はgzipのサイズ制限が4GBであることがわかりました。

より正確には、そのgzip形式は圧縮されていないファイルを正しく保存できません。サイズ4GiB以上の圧縮されていないサイズの下位32ビットを保存し、gzip -lそれを元のデータのサイズとして誤って表示します。その結果、gzip1.11までは、gzip -l元のサイズが4GiBを超える圧縮ファイルに対して正しいサイズが表示されません。

gzipそれ以外にはそれ自体に制限はなく、gzip4GiBより大きいpedファイルは移植可能です。形式は次のように指定されます。RFC 1952そしてこれに対する支持が広く広がっています。

提供された情報に関する混乱gzip -l gzip1.12で修正;gzip -l保存されたサイズを表示するのではなく、データを解凍して元のデータの実際のサイズを確認します。

どこからでも大容量ファイルを解凍/総圧縮できますか?

tar大容量ファイルを処理できる場所であれば、どこでも仕様に準拠した実装を使用できますgunzip

つまり、4GBより大きいgzipファイルはどのくらい移植性がありますか?

形式gzip自体は移植可能であり、gzip含まれるデータサイズに関係なくファイルも移植可能です。

Mac OS、Linux、または他のオペレーティングシステムで作成しても問題になりますか?

いいえ、gzipすべてのプラットフォームで生成されたファイルは、必要な機能(特にこの質問の文脈で大容量ファイルを保存する機能)を使用して他のプラットフォームで解凍できます。

また、見ることができます圧縮ユーティリティの最大ファイルサイズ制限| Unix/Linux

おすすめ記事