ฉันมีไฟล์เก็บถาวร tar ของดิสก์อิมเมจเดียว ภาพภายในไฟล์ tar นี้มีขนาดประมาณ 4GB ฉันไพพ์เอาท์พุทของtar xf
ไปdd
ยังเพื่อเขียนดิสก์อิมเมจไปยังการ์ด SD diskdump ไม่เคยหยุดจนกว่าการ์ดจะเต็ม นี่คือเซสชันเชลล์ของฉัน:
$ ls -l disk.img.tgz
-rw-r--r-- 1 confus confus 192M Okt 5 00:53
$ tar -tvf disk.img.tgz
-rw-r--r-- root/root 4294968320 2018-10-05 00:52 disk.img
$ lsblk -lb /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 1 16022241280 0 disk
$ tar zxf disk.img.tgz -O | sudo dd status=progress conv=sync bs=1M of=/dev/sdc
[sudo] password for user:
15992881152 bytes (16 GB, 15 GiB) copied, 212 s, 75,4 MB/s
dd: error writing '/dev/sdc': No space left on device
0+15281 records in
15280+0 records out
16022241280 bytes (16 GB, 15 GiB) copied, 217,67 s, 73,6 MB/s
ทำไม? มันควรจะหยุดหลังจากที่ตีได้เขียนภาพ 4GB ลงในรถเข็น 16GB และไม่เหลือพื้นที่ว่าง!
conv=sync
? คุณตั้งใจจะใช้conv=fsync
บางที
dd
และเขียนไปยังไฟล์อื่นหรือไม่?tar zxf disk.img.tgz -O | dd status=progress conv=sync bs=1M of=/path/to/some/file/on/disk
? ถ้าเป็นเช่นนั้นคุณได้รับสำเนาที่แน่นอนของไฟล์ต้นฉบับหรือไม่?