Tengo un archivo tar de una sola imagen de disco. La imagen dentro de este archivo tar es de aproximadamente 4 GB de tamaño. Tubería que la salida de tar xf
al dd
escribir la imagen de disco en una tarjeta SD. El diskdump nunca se detiene hasta que la tarjeta está llena. Aquí está mi sesión de shell:
$ 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
¿Por qué? ¡Debería detenerse después de que Hit haya escrito la imagen de 4GB en el carrito de 16GB y nunca quedarse sin espacio!
conv=sync
? ¿Quisiste usar conv=fsync
tal vez?
dd
y escribirlo en otro archivo?tar zxf disk.img.tgz -O | dd status=progress conv=sync bs=1M of=/path/to/some/file/on/disk
? Si es así, ¿te da una copia exacta del archivo original?