Существует форк хорошо -известного dd
с расширенной функциональностью под названием dcfldd
, который я использовал в течение многих лет, или исправленнаяdd
-версия под названиемdc3dd
с несколько схожими функциями.
Оба инструмента могут выполнять хеширование (даже с несколькими типами хеширования -одновременно, если это требуется )во время копирования. Хеши могут быть рассчитаны для фрагментов и/или всего потока данных -.
некоторые дистрибутивы, такие как debian, прямо предлагают пакеты в своих репозиториях, пакеты для Fedora доступны, например, во внешних репозиториях cert -.
Копирование файла фрагментами по 8 МиБ -и вычисление суммы MD5 всех данных, которая выводится в STDERR:
dcfldd if=/path/to/input bs=8M hash=md5 of=/path/to/outputfile
Чтобы скопировать файл фрагментами по 8 МиБ -, вычислите хэш SHA256 -всех данных плюс сумму SHA256 для каждого блока по 64 МиБ -:
.
dcfldd if=/path/to/input bs=8M hash=SHA256 hashwindow=64M of=/path/to/outputfile
Выходной файл -для вычисленного хэша также можно указать, указав файл с помощью параметра hashlog
. При вычислении нескольких хэшей отдельные выходные данные могут быть указаны, например, через. md5log=FILE1.log sha256log=FILE2.log
.
Это больше не требуется или невозможно на виртуальных машинах, так как сторожевой таймер NMI требует доступа к реальному оборудованию.
«Неизвестная ошибка 524» — это код ошибки для ENOTSUPP. :Операция не поддерживается.
Коммит ядра, в котором это реализовано, можно найти здесь :https://lore.kernel.org/lkml/20170831073054.997264122@linutronix.de/