md5 хэширует только первые 512 байт файла

Эти настройки GRUB управляют режимом отображения, используемым GRUB, они не определяют режим буфера кадра по умолчанию, используемый ядром. Для настройки последнего вы можете использовать параметр ядра video ; в Debian добавьте это в строку GRUB_CMDLINE_LINUX_DEFAULT в / etc / default / grub :

video=1280x1024

Это должно правильно настроить отображение, как только ядро ​​инициализирует буфер кадра.

Параметр видео подробно описан в fb / modedb.txt в документации ядра.

2
01.03.2016, 00:37
2 ответа

Вы можете использовать dd для перенаправления только первых 512 байтов в md5sum . Однако это приведет к тому, что md5sum не будет обращать внимания на имя файла, поэтому дополнительно замените - именем файла.

find . -type f -exec sh -c "dd if={} bs=512 count=1 2>/dev/null | md5sum | sed s\|-\|{}\|" \; | sort -k 34;
4
27.01.2020, 21:59

Принятый ответ мне не помог. {}внутри execне работал для файлов со специальными символами. Поэтому вместо этого я использовал GNUparallel(для установки его последней версии, чтобы заставить работать следующее решение ).

При использовании parallel{}не работало некорректно для файлов со специальными символами. Кроме того, parallelзначительно ускорил весь процесс, поскольку он распределяет процессы по нескольким ядрам. Вот что у меня сработало при использованииparallel:

find. -type f | parallel 'dd if={} bs=512 count=1 2>/dev/null | md5sum | tr -d "\n"; echo {};' | sort -k34;
1
11.05.2020, 23:04

Теги

Похожие вопросы