そんな局面で、スパースファイルに戻す方法です。
# dd if=/dev/zero of=test.dd bs=4096 count=1000 ※実験のためオールゼロファイル作成 1000+0 records in 1000+0 records out 4096000 bytes (4.1 MB) copied, 0.092697 seconds, 44.2 MB/s # du -hs test.dd 4.0M test.dd # cp -p --sparse=always test.dd test.dd.sparsed # du -hs test.dd.sparsed ※確認 0 test.dd.sparsed書くまでもないですが、圧縮形式の vmcore には効果が無いですから、上記の操作でディスク節約を試みる前に、file コマンドで形式を確認したほうがいいです。
# file vmcore vmcore: data ※これだったらダメなお、逆に誰かにダンプやコアファイルを送付する場合は、次のように tar の S オプションをつけてセーブすると親切です。親切かどうかチェック(相手のレベルをチェック)してたりします。(^ー^;>
# tar zcfS vmcore.tgz ./127.0.0.1-2010-08-31-23:27:08/vmcore./127.0.0.1-2010-08-31-23:27:08/ の部分も小さな親切になります。
2011-11-27追記
カーネルのクラッシュダンプや core 以外にも、KVM などの仮想マシンで使う仮想ディスクファイルもスパースなので、上記方法が役に立つ (応用できる) 場合があるかと思います。
次のURLの方のように、仮想マシン上からゼロ書き込み後に cp --sparse=always でスパース化処理すれば、理論上は仮想ディスクファイルが縮小できる場合があるはず。
http://www.syuhitu.org/other/skipspace/skipspace.html
0 件のコメント:
コメントを投稿