RubyZip での大きな zip ファイルの処理: 65535 ファイルの制限
概要
現在、数十万のファイルを含む大きな zip ファイルを処理しているときに、RubyZip ライブラリで問題が発生しています。 RubyZip には、zip アーカイブごとに 65535 ファイルという制限があるようです。
Ruby を使用して多数のファイルを含む大きな zip ファイルを効率的に処理するための推奨されるアプローチまたは代替ソリューションはありますか?洞察やコード例をいただければ幸いです。
よろしくお願いいたします。
解決策
それは使用されている形式によって異なります。 1989 年に作成されたオリジナルの Zip 形式には、アーカイブごとに 65,535 ファイルという制限がありました。 「Zip64」と呼ばれる 64 ビットのバリアントは、2001 年のバージョン 4.5 で導入され、最大 264 (マイナス 1) 個のファイルをサポートします。
RubyZip では、次の方法で Zip64 サポートを有効にできます。
Zip.write_zip64_support = true
ただし、ドキュメントによると、デフォルトで有効になっています。 (誤って?) 明示的に無効にしてしまった可能性があります。