« UTF-8のファイル名を扱う方法(TERATERM、WinSCP)(メモ) | トップページ | VineLinux5がVirtualPCにインストールできない件(未解決) »

2009年11月 6日 (金)

ext2/3の空き領域をゼロクリアするコマンド(メモ)

 VineLinux5を退役機に無事インストールできたので、例によってAcronisTrueImageでディスクイメージのバックアップを取った。ら、やたらバックアップファイルがでかい。40GBのHDDのバックアップファイルが23GBもある。使用している領域は3.5GB程度なのに。Windowsマシン(FAT,NTFS)や他のUNIXマシン(ext2,ext3)だと使用領域の数分の1のファイルサイズに収まっているのに。
 どうやら、WindowsをインストールしていたHDDをフォーマットだけして再利用したので、空き領域に残骸というかランダムな(?)ビットパターンが残っていてそれをデータと誤解しているっぽい。ディスクイメージと言いつつFATやNTFSのパーティションなら空き領域をしっかり識別して不要な領域はバックアップしないようだし、UNIXマシンでもHDDを完全データ消去してからインストールすればバックアップファイルサイズはリーズナブルな大きさになる。Windowsマシンでも、不良セクタがあったりすると、全セクタバックアップモード(仮称)になって、バックアップファイルサイズがやたら大きくなるということだから、UNIXマシンも全セクタバックアップモードになているのかも。因みに件のVineLinux5マシンに不良セクタはない。

 HDDを完全消去してから再インストールすればいいのだろうが、面倒なので、Windowsのcipherみたいに空き領域を0クリアするツールはないかと探したら、あるんだな、これが。

zerofree [-n] [-v] filesystem
-n :実際には何もしない
-v :進捗出力モード
filesystem :マウントしてないか、リードオンリーでマウントされているFSを指定

シングルモードで起動した後、クリアしたいパーティションをリードオンリーで再マウントしてzerofreeする。再起動する前にrwで再マウントした方が吉かも。

# mount -o remount,ro /
# zerofree -v /dev/mapper/VolGroup00-LogVol00

 検索するとzerofreeはDebianだかUbuntu用の.debパッケージしかないようだが、そのままDLしてVineLinux5でWクリックすると解凍(?)できて.tar.gzが出てくるので展開すればok。バイナリはそのまま実行可能だった。

 空き領域を0クリアしてからバックアップを取ると約1.7GBと桁違いに小さくなった。

<参考>
 揮発性のメモさんのext2/3の空き領域をゼロクリアするを参考にさせて頂きました。というか、情報的にはそのままです。m(__)m

|

« UTF-8のファイル名を扱う方法(TERATERM、WinSCP)(メモ) | トップページ | VineLinux5がVirtualPCにインストールできない件(未解決) »

コメント

コメントを書く



(ウェブ上には掲載しません)




« UTF-8のファイル名を扱う方法(TERATERM、WinSCP)(メモ) | トップページ | VineLinux5がVirtualPCにインストールできない件(未解決) »