Если я введу следующую команду для полной очистки диска, остановится ли она автоматически, когда диск заполнится, или мне нужно указать эту count
опцию?:
sudo dd if=/dev/zero of=/dev/disk7 bs=64m
Я должен упомянуть эту ОС OS X 10.9.
решение1
полностью стереть диск
Если ваша цель — сделать механический диск (HDD)надежностерты так, что даже в принципе невозможно, чтобы кто-то заполучил их и восстановил данные, вы не должны использовать их /dev/zero
в качестве источника, и вы должны переписывать их более одного раза. Смотритевикипедияиabout.com.
Если вас не волнует безопасность, /dev/zero
это нормально, но тогда не менее важно просто добавить новую таблицу разделов на устройство.
Я действительно не вижу обоснованного варианта использования записи /dev/zero
на физический носитель, потому что:
- Это слишком небезопасно, если вы заботитесь о безопасности;
- Если этого не сделать, это займет слишком много времени и приведет к потере времени и циклов записи (потому что вы можете просто перезаписать любые структуры данных на диске новыми, а это значит, что только программа восстановления данных сможет восстановить фрагменты старых данных, и это нормально, потому что вы только что сказали, что вас не волнует безопасность, или, если вас это волнует, вам не следует это читать).
автоматически останавливается
Конечно. Что, по-вашему, он будет делать, продолжать писать в следующий файл?
Вы специально указываете of
опцию, которая означает "выходной файл". Он откроет это блочное устройство и будет записывать, пока не достигнет конца блочного устройства, а затем выйдет. Это нормальное поведение для dd
.
Нужно ли мне указывать
count
опцию?
Это можно сделать только в том случае, если вы хотите, чтобы запись прекратилась в какой-то момент до того, как будет достигнут конец блочного устройства, или если вы записываете в обычный файл (т. е. не на блочное устройство) и хотите, чтобы запись прекратилась до того, как она заполнит файловую систему, в которой находится файл.
Некоторые заключительные замечания:
- Такое поведение не является специфичным для (какой-либо конкретной версии) OS X или даже для OS X. Оно работает одинаково в Linux, Android, BSD и, возможно, других системах, реализующих стандарты POSIX.
- Вы могли бы ответить на свой вопрос, создав небольшой (2 МБ) файл образа и использовав
dd
его после монтирования на петлевом устройстве, а затем запустивdd
его. - Следует отметить, что если не
count
указано иное,dd
остановится, когдапервыйпроисходит одно из следующих условий: либоif
(входной файл) выдаетEOF
(конец файла), либо операционная система выдает сигнал, указывающий на то, чтоof
достигнут последний блок (выходного файла).
решение2
Он остановится, когда диск заполнится.