Вычислите контрольную сумму MD5 каталога

Отредактируйте свой .ssh/known_hosts файл и удалите строку, соответствующую Вашему AMI.

Проблема состоит в том, что в первый раз Вы соединились, ssh сохранил удаленный ключ той машины, которую Вы подключили с, и когда Вы включили Эластичного дюйм/с, что удаленный измененный ключ.

http://developer.amazonwebservices.com/connect/thread.jspa;?messageID=104781𙥍

29
задан 22 August 2011 в 15:25
10 ответов

Sure - md5sum directory/*

If you need something a little more flexible (say, for directory recursion or hash comparison), try md5deep.

apt-get install md5deep
md5deep -r directory

To compare a directory structure, you can give it a list of hashes to compare against:

md5deep -r -s /directory1 > dir1hashes
md5deep -r -X dir1hashes /directory2

This will output all of the files in directory2 that do not match to directory1.

This will not show files that have been removed from directory1 or files that have been added to directory2.

36
ответ дан 28 November 2019 в 19:59

Если вы хотите увидеть, чем отличаются (если есть) между двумя каталогами, rsync вам подойдет.

rsync --archive --dry-run --checksum --verbose /source/directory/ /destination/directory

Здесь будут перечислены все файлы, которые отличаются.

27
ответ дан 28 November 2019 в 19:59

The cfv application is quite useful, not only it can check and create MD5 checksums, it can also do CRC32, sha1, torrent, par, par2.

to create a CRC32 checksum file for all files in current directory:

cfv -C

to create a MD5 checksum file for all files in current directory:

cfv -C -t md5 -f "current directory.md5sums"

To create a separate checksum file for each sub directory:

cfv -C -r

To create a "super" checksum file containing files in all sub directories:

cfv -C -rr
5
ответ дан 28 November 2019 в 19:59

Кажется, я уже отвечал на этот вопрос раньше таким ответом:

find . -xtype f -print0 | xargs -0 sha1sum | cut -b-40 | sort | sha1sum

дает: b1a5b654afee985d5daccd42d41e19b2877d66b1

идея состоит в том, что вы хешируете все файлы, вырезаете хэши по одному в строке, отсортируйте их и хеш, который дает один хеш. это не зависит от имен файлов.

11
ответ дан 28 November 2019 в 19:59

You could create MD5 sums of every single files, order these checksums alphabetically and has them (with or without newlines). Since MD5 is cryptographic, it should work just fine with hashes of hashes.

There should be a certain order to things, otherwise you will get different results for equal dirs.

And you should consider that adding some file to one dir will completely change the result, even if it was just a .directory of .DS_Store file.

1
ответ дан 28 November 2019 в 19:59

В качестве конкретного случая допустим, что вы хотите скопировать некоторые файлы из каталога1 в каталог2, а затем хотите проверить успешность копии, используя сравнение md5.

Во-первых. cd в directory1 и введите:

find -type f -exec md5sum "{}" \; > ~/Desktop/md5sum.txt

, который создаст справочный файл, содержащий сумму md5 для каждого файла в directory1. Как только это будет сделано, все, что вам нужно сделать, это перейти в каталог directory2 и ввести:

md5sum -c ~/Desktop/md5sum.txt

Программа md5sum выбирает каждый путь из файла md5sum.txt, вычисляет md5sum этого файла в папке назначения и затем сравнивает его с суммой он хранится в файле.

После завершения процесса вы получите сводку типа «Так и так много файлов не совпадают» или что-то в этом роде.

1
ответ дан 28 November 2019 в 19:59

Мне нужно было проверить целостность резервных копий / зеркал, содержащих большое количество файлов, и в итоге я написал программу командной строки под названием MassHash. Он написан на Python. Также доступна программа запуска GTK +. Вы можете проверить это ...

http://code.google.com/p/masshash/

1
ответ дан 28 November 2019 в 19:59

У меня это сработало: (запустите его, находясь в интересующем вас каталоге)

md5deep -rl . | awk '{print $1}' | sort -n | md5sum
3
ответ дан 28 November 2019 в 19:59

Я использовал hashdeep, поскольку объяснено в этом ответе askubuntu: Проверить правильность скопированных файлов :

Для вычисления контрольных сумм:

 $ cd <directory1>
 $ hashdeep -rlc md5 . > ~/hashOutput.txt

Чтобы проверить и перечислить различия:

 $ cd <directory2>
 $ hashdeep -ravvl -k ~/hashOutput.txt .
 hashdeep: Audit passed
    Input files examined: 0
   Known files expecting: 0
           Files matched: 13770
 Files partially matched: 0
             Files moved: 0
         New files found: 0
   Known files not found: 0

У этого есть преимущество перед md5deep в том, что он будет показывать переименованные (перемещенные), добавлены и удалены файлы, а также устранена проблема с файлами длины 0, указанными в нижней части http://www.meridiandiscovery.com/how-to/validating-copy-results-using-md5deep .

4
ответ дан 28 November 2019 в 19:59

Однострочный:

find directory -exec md5sum {} \; 2>&1 | sort -k 2 | md5sum

Это список всех файлов и каталогов и получает md5sum для каждого. Затем получает md5sum для всего.

Здесь решен хитрый бит, что md5sum не может вычислить сумму для каталога, но он сообщает нам следующее: md5sum: dir / sub_dir: Это каталог . Мы просто перемещаем это сообщение в стандартный вывод.

0
ответ дан 11 March 2020 в 21:24

Теги

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