Bir EXT bölümünde ddrescue ile yapılmış bir sürü disk görüntüsü var ve hala monte edilebilirken veri kaybetmeden boyutlarını küçültmek istiyorum.
Görüntünün dosya sistemindeki boş alanı sıfırlarla nasıl doldurabilirim ve sonra bu boş alanın gerçekten diskte depolanmaması için dosyayı seyrek bir dosyaya nasıl dönüştürebilirim ?
Örneğin:
> du -s --si --apparent-size Jimage.image
120G Jimage.image
> du -s --si Jimage.image
121G Jimage.image
Bu aslında üzerinde sadece 50G gerçek veri var, bu yüzden ikinci ölçüm çok daha küçük olmalı.
Bu sözde boş alanı sıfırlarla dolduracaktır:
cat /dev/zero > zero.file
rm zero.file
Ancak seyrek dosyalar şeffaf bir şekilde işlenirse, sanal diske hiçbir şey yazmadan aslında seyrek bir dosya oluşturabilir, bu da ironik bir şekilde sanal disk görüntüsünü seyrek bir dosyaya dönüştürmemi engelleyebilir. :) Yapar?
Not: Bazı nedenlerden dolayı, takılı bir disk görüntüsünde çalışmadığında sudo dd if=/dev/zero of=./zero.file
çalışır cat
.
sudo cat /dev/zero > zero.file
yürütülmeden önce bash (sizin gibi çalışıyor, kök değil) yeniden yönlendirme yaptığı için çalışmaz sudo
. Bkz. Unix.stackexchange.com/questions/1416/…