tar - 大容量tar.gzから単一(小さい)ファイルを抽出し、メモリ/ディスク使用量を確認しますか?

tar - 大容量tar.gzから単一(小さい)ファイルを抽出し、メモリ/ディスク使用量を確認しますか?

で始めることができることを知っていますtar

tar -xf file.tar.gz /small/single/file

ディスク/メモリが制限されている組み込みシステムでこれを実行する予定です。このコマンドが大きなタールボールをどのように処理するかを知りたいです。

単一のファイルを抽出すると、タールボール全体がメモリに解凍されますか?バッファが小さい場合は、すべて解凍してもかまいません。

100MBの空きRAMと5MBの空きディスク容量があるとしましょう。また、/small/single/file5MB未満です。また、ソースターボールサイズは500MBです。撤回しても安全ですか/small/single/file

ベストアンサー1

答えはおそらくtar使用している実装によって異なりますが、現実的には、ほとんどの実装は比較的小さなバッファを使用してタールボールを処理すると予想されます。tar2GiB圧縮タールボールからGNUを使用してbzip2単一のファイルを抽出すると、次のような結果が得られます。

64.07user 4.84system 2:53.45elapsed 97%CPU (0avgtext+0avgdata 4664maxresident)k
4046976inputs+8outputs (0major+1194minor)pagefaults 0swaps

(GNUを使用time)。ご覧のとおり、最大常駐サイズは5MiB未満です。

おすすめ記事