Saya memiliki arsip tar dari gambar disk tunggal. Gambar di dalam file tar ini berukuran sekitar 4GB. Saya menyalurkan output tar xf
ke dd
untuk menulis gambar disk ke kartu SD. Diskdump tidak pernah berhenti sampai kartu penuh. Inilah sesi shell saya:
$ 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
Mengapa? Seharusnya berhenti setelah hit telah menulis gambar 4GB ke keranjang 16GB dan tidak pernah kehabisan ruang!
conv=sync
? Apakah Anda bermaksud menggunakan conv=fsync
mungkin?
dd
dan menulisnya ke file lain?tar zxf disk.img.tgz -O | dd status=progress conv=sync bs=1M of=/path/to/some/file/on/disk
? Jika demikian, apakah itu memberi Anda salinan yang tepat dari file asli?