5

いくつかのファイルを tar して、php passthru コマンドを使用してユーザーに渡しようとしています。

問題は、tar ファイルが 2k 程度であるべきなのに、常に 10240 であることです。おかしな数字ですよね?

だから私はそれを次のように分解しました:

-sh-4.1# tar czf -  test | wc -c
10240

VS:

-sh-4.1# tar czf test.tar.gz test && wc -c test.tar.gz
2052 test.tar.gz

したがって、tar は明らかに NULL でファイルをパディングしています。

では、どうすればtarがそれをやめることができますか。または、末尾の NULL を削除するにはどうすればよいですか。

tar (GNU tar) 1.15.1これは組み込みプロジェクトであるため、アップグレードは私tar (GNU tar) 1.23が探している答えではありません (まだ)。

編集:ファイルシステムへの書き込みが必要な回避策を望んでいます..おそらく、パディングを停止するか、sedまたは何かを介してパイプしてパディングを取り除く方法です。

4

2 に答える 2

1

より小さなブロックサイズを使用することでパディング効果を弱めることができます。-b1 を tar に渡してみてください。

于 2012-07-21T21:22:07.567 に答える