barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

вторник, 18 октября 2011 г.

Проверка целостности данных при передаче из Windows в Linux с помощью md5

Во-первых, необходимо посчитать md5-суммы передаваемых файлов в Windows. Для этого существует утилита fsum (http://www.fastsum.com/). Например, команда
fsum.exe D:\transfer D:\transfer\transfer.md5 /R 
посчитает md5-суммы всех файлов из директории "D:\transfer", включая вложенный папки, и создаст в этой директории файл transfer.md5 со списком этих контрольных сумм.
В Linux (по крайней мере, в Debian) для проверки контрольных сумм существует утилита md5sum, однако формат входного файла для неё несколько иной, поэтому с полученным md5-файлов нужно выполнить некоторые преобразования:

  1. Заменить CR LF окончания строк на просто LF
  2. " *" между контрольной суммой и именем файла заменить на "  ./" (два пробела и обозначение текущей директории)
  3. Удалить 3 строки с комментариями в начале файла (начинающиеся с ";")
Всё, теперь, после передачи файлов директории "D:\transfer" на Linux-машину, необходимо перейти в директорию с переданными файлами и выполнить:
md5sum transfer.md5 -c 
Если же проверять нужно тоже на винде, то проверяется тем же fsum следующим образом (при этом менять ничего в md5-файле, естественно, не надо):
fsum.exe D:\downloads D:\downloads\transfer.md5 /R /V

Комментариев нет:

Отправить комментарий