помогите! dd
- это страшно!
вы не одиноки. От советы для Linux:
команда ' dd ' является одной из оригинальных утилит Unix и должна быть в окне инструментов каждого... Некоторые люди считают, что dd означает "уничтожить диск" или "удалить данные", потому что, если он используется неправильно, раздел или выходной файл может быть уничтожен очень быстро. Поскольку DD является инструментом, используемым для записи заголовков дисков, загрузочных записей и аналогичных областей системных данных, неправильное использование dd имеет наверное, разгромили много жестких дисков и файловых систем.
но не беспокойтесь. Как только вы узнаете о его тонкостях вы будете запускать dd
со спокойной грацией ковбоя.
сломается? Что это такое count
ing bs
?
давайте сначала разберемся с первым вопросом.
как мы теперь можем тонко ломать вещи, выбирая плохую комбинацию bs
и count
? Как бы мы знаешь?
если вы имеете в виду "непредвиденные последствия" под "перерывом", то просто указав их теоретически. Что я под этим подразумеваю? Ну, допустим, вы хотите скопировать image.img
на SD-карту, расположенную в /dev/sdc
. Таким образом, вы соответствуете параметрам в вашем примере:
# dd if=/home/someone/image.img of=/dev/sdc bs=64M count=16
должно быть хорошо, чтобы повторно использовать эти настройки правильно? Давайте просто подождем dd
до конца... Итак, что там говорится?
16+0 records in
16+0 records out
1073741824 bytes (1.1 GB) copied, 34.1303 s, 31.5 MB/s
скопировано только 1,1 ГБ! Но image.img
это 2GB или около того, я хочу, чтобы все это скопировали! Рассказав dd
чтобы скопировать 16 лотов 64M (где m=1024*1024, кстати), вы указали размер. Вы бы знали по выходу состояния. Если вы хотите скопировать весь файл, либо соответствовать размеру с bs
и count
; или просто опустить их полностью:
# dd if=/home/someone/image.img of=/dev/sdc
4364864+0 records in
4364864+0 records out
2234810368 bytes (2.2 GB) copied, 45.9502 s, 48.6 MB/s
что произойдет, если мы действительно шалить и сказать dd
скопировать больше данных, чем доступно?
# dd if=/home/someone/image.img of=/dev/sdc bs=1M count=4096
2131+1 records in
2131+1 records out
2234810368 bytes (2.2 GB) copied, 77.9768 s, 28.7 MB/s
а, dd
только копии, как многие байты, как он получает. Это удобно.
мониторинг dd
говоря о статусе вывода,dd
(вариант GNU) уважает и реагирует на информационный сигнал SIGUSR1
:
# echo "In another terminal or TTY"
# pkill -USR1 -n -x dd
# echo "Printed to stdout on the terminal/tty running dd:"
534+0 records in
534+0 records out
559939584 bytes (560 MB) copied, 1.68414 s, 332 MB/s
Handy для держать глаз на переходе который медленн или вы рассчитываете повиснуть для некоторой причины. Прекрасно сочетается с watch
, но обязательно дайте watch
достаточно длинный интервал времени.
тут dd
есть другие варианты, которые я должен знать о чем?
dd
действительно, есть и другие варианты, но в большинстве случаев, если вы должны использовать их, вы будете знать, что они делают. Тем не менее, несколько примеров могут дать вам представление:
conv=CONVS
: преобразование входного сигнала в один или более параметров преобразования
seek=N
и skip=N
: пропустить N блоков [obs|ibs] размера в начале [output / input]
status=X
: (подавить вывод) либо noxfer
или none
я чувствую себя намного лучше о dd
сейчас!
великолепно! В кратчайшие сроки вы будете отправлять загрузочный образ через интернет, чтобы быть записаны прямо на карту microSD с помощью комбинации dd
и ssh
.
но что значит dd
аббревиатура на самом деле означает?
хороший последний вопрос. Для этого вопроса и любых других подобных ему, я направлю вас к запись жаргон файл для dd
.
чувствуете, рекомендуется задать для уточнения, если что-то более непрозрачным, чем это должно быть!