EXTパーティションにddrescueで作成された多数のディスクイメージがあり、マウント可能な状態でデータを失うことなくサイズを縮小したいと考えています。
画像のファイルシステムの空きスペースをゼロで埋めてから、ファイルをスパースファイルに変換して、この空きスペースが実際にディスクに保存されないようにするにはどうすればよいですか?
例えば:
> du -s --si --apparent-size Jimage.image
120G Jimage.image
> du -s --si Jimage.image
121G Jimage.image
ただし、実際には50Gの実際のデータしかありませんので、2番目の測定はもっと小さくする必要があります。
これはおそらく空のスペースをゼロで埋めます:
cat /dev/zero > zero.file
rm zero.file
しかし、スパースファイルが透過的に処理されると、仮想ディスクに何も書き込まずに実際にスパースファイルが作成され、皮肉なことに仮想ディスクイメージをスパースファイルに変換できなくなります。:)それは?
注:何らかの理由で、マウントされたディスクイメージ上ではsudo dd if=/dev/zero of=./zero.file
機能しcat
ません。
sudo cat /dev/zero > zero.file
実行する前に、bash(rootではなくユーザーとして実行)がリダイレクトを行うため、機能しませんsudo
。unix.stackexchange.com/questions/1416/を