7
ฉันจะแปลงอิมเมจดิสก์ Linux เป็นไฟล์แบบกระจายได้อย่างไร
ฉันมีดิสก์อิมเมจมากมายที่สร้างด้วย ddrescue บนพาร์ติชัน EXT และฉันต้องการลดขนาดโดยไม่สูญเสียข้อมูลในขณะที่ยังคงสามารถเมานต์ได้ ฉันจะเติมพื้นที่ว่างในระบบไฟล์ของภาพด้วยค่าศูนย์จากนั้นแปลงไฟล์เป็นไฟล์แบบกระจัดกระจายเพื่อให้พื้นที่ว่างนี้ไม่ได้ถูกจัดเก็บจริงบนดิสก์ ตัวอย่างเช่น: > du -s --si --apparent-size Jimage.image 120G Jimage.image > du -s --si Jimage.image 121G Jimage.image นี่เป็นเพียงข้อมูลจริง 50G เท่านั้นดังนั้นการวัดครั้งที่สองควรน้อยกว่ามาก นี้ควรจะเติมเต็มพื้นที่ว่างด้วยศูนย์: cat /dev/zero > zero.file rm zero.file แต่ถ้าไฟล์ sparse ได้รับการจัดการอย่างโปร่งใสมันอาจสร้างไฟล์ sparse โดยไม่ต้องเขียนอะไรไปยังดิสก์เสมือนทำให้ฉันไม่สามารถเปลี่ยนอิมเมจดิสก์เสมือนเป็นไฟล์ sparse ได้ :) ทำมัน? หมายเหตุ: ด้วยเหตุผลบางอย่างsudo dd if=/dev/zero of=./zero.fileทำงานเมื่อcatไม่ได้อยู่ในดิสก์อิมเมจที่เมาท์