Практическое задание

Эта задача — шаг 10 курса «Кодировки и контрольные суммы»

Двойники по sha256

сложно~12 мин

В /srv/images лежат образы прошивок. Ровно у двух из них одинаковое содержимое, хотя имена разные (а у некоторых других совпадает размер). Найди эту пару по контрольным суммам SHA-256 и запиши их имена (без пути), по одному на строку, в алфавитном порядке в /root/twins.txt.

Что потренируешь:
  • sha256sum
  • контрольные суммы
  • поиск дубликатов
  • uniq -d
  • сравнение содержимого

Разбор темы

Контрольная сумма — короткий «отпечаток» содержимого: у одинаковых данных SHA-256 совпадает всегда, у разных — практически никогда. Поэтому дубликаты ищут не по имени и не по размеру (одинаковый размер у разных файлов — обычное дело), а по хешу. Посчитав sha256sum для всех файлов, строки сортируют, чтобы равные хеши оказались рядом, и оставляют только повторяющиеся (uniq -d, сравнивая лишь первые 64 символа — сам хеш). Остаётся отобрать файлы с этим хешем и отрезать путь. Тот же приём используют для дедупликации бэкапов и проверки скачанных образов.

Что проверяется

  1. двойники найдены по хешу

Как это выглядит