20

Rubyでgzipされたtarアーカイブを作成する最良の方法は何ですか?

ユーザー アクションに応じて圧縮アーカイブを作成する必要がある Rails アプリがあります。理想的には、最初に中間一時ファイルを生成する必要なく、圧縮ファイルに直接書き込むことができます。Ruby Zlibライブラリは直接 gzip 圧縮をサポートしているようです。これを tar 出力と組み合わせるにはどうすればよいですか?

多くの準解決策が提案されているようで、多くの情報が古くなっているようです。

たとえば、「ruby tar」の Google 検索結果のトップには、このスレッドが表示されます。このスレッドは、2007 年に開始されたようですが、明らかに解決策はありません。

別の上位の検索結果は、この ruby​​ tar を説明するものです。それは 2002 年にさかのぼります。

また、unix tar などへの攻撃に関するさまざまな報告も見てきました。

ですから、これを行うには多くの方法があることは知っていますが、いくつかの代替手段を試した人から、最も信頼性が高く便利な方法への推奨を本当に探しています.

何か案は?

4

3 に答える 3

11

unix で実行している場合は、ファイルをディスクに書き込んでから、それらを tar/gzip するシステム コールを実行できます。

`tar -czf #{file_name}.tar.gz #{file_name}`
于 2009-07-11T13:55:03.080 に答える
6

このRuby Minitarプロジェクトは 2009 年に更新され、問題を解決するようです

于 2009-07-11T06:43:30.643 に答える