Вопрос: dd немедленно завершается, но на самом деле требуется синхронизация


Я использую dd для копирования iso на USB-накопитель. У меня SSD, поэтому он читает его очень быстро, но у меня есть USB 2.0-накопитель, который не более 480 Мбит / с, но он говорит, что он скопирован с 404 МБ / с, что невозможно. мне нужно сделать sync после моего dd, Я использовал флаг синхронизации в dd, но это не помогло, что мне делать?

$dd if=ubuntu-13.10-server-amd64.iso of=/dev/sdb bs=1M conv=sync,noerror
672+0 records in
672+0 records out
704643072 bytes (705 MB) copied, 1,74625 s, 404 MB/s

И это мое ядро:

$ uname -a
Linux C3PO 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

0
2018-03-19 09:14


Источник




Ответы:


conv=sync не активирует синхронный вход или выход:

поместите каждый блок ввода с NUL до размера ibs; при использовании с блоком или разблокировкой, блок с пробелами вместо NUL

Вместо этого вы можете попробовать conv=fdatasync:

физически записывать данные выходных файлов до завершения

Более интуитивно понятно, конечно oflag=sync:

dsync - использовать синхронизированный ввод-вывод для данных

sync - аналогично, но также и для метаданных

Источник: man 1 dd


3
2018-03-19 09:23