Как проверить контрольные суммы в Linux

Контрольная сумма — это строка текста, полученная из программного обеспечения с использованием хэш-функции. Ни одна из контрольных сумм не должна быть одинаковой. При загрузке программного обеспечения из Интернета одним из способов проверки его целостности является сравнение его контрольной суммы с той, которая предоставлена веб-сайтом. Если они совпадают, то программное обеспечение подлинное и не было изменено. Здесь мы покажем вам, как проверить и подтвердить контрольные суммы в Linux.
Хотя это можно легко сделать в терминале, вы научитесь здесь, как проверять и подтверждать контрольные суммы с помощью графического инструмента: ультрасупер простого GtkHash.
Также читайте: Хеширование против шифрования: как ваш пароль хранится на сервере
Установка
Для большинства дистрибутивов Linux вы можете найти GtkHash в диспетчере пакетов или Центре программного обеспечения. Если вы на Ubuntu или совместимом дистрибутиве и устанавливаете из терминала, вы можете установить GtkHash с помощью:
sudo apt install gtkhash
Для openSUSE вам нужно будет добавить его репозиторий перед установкой. Смотрите более подробную информацию здесь.
На Arch и Manjaro:
sudo pacman -S gtkhash
После установки найдите его среди других установленных приложений и запустите.
Создание хешей
Интерфейс GtkHash довольно прост. Чтобы вычислить хеши для одного или нескольких файлов, нажмите на дружелюбную кнопку «Добавить» в верхнем левом углу.

Укажите расположение ваших файлов и выберите их. Вы можете выбрать несколько файлов, удерживая клавишу Ctrl во время щелчка по ним. Затем нажмите кнопку «Открыть» в правом верхнем углу, чтобы завершить команду.

Список GtkHash будет заполнен выбранными вами файлами. Если хотите, вы можете добавить больше файлов, повторив предыдущий шаг.

Нажмите на кнопку «Хеш» в правом нижнем углу окна GtkHash, чтобы вычислить хеши для всех файлов в списке.
GtkHash по умолчанию вычисляет несколько типов хешей и представит их в столбцах рядом с каждым файлом.

Чтобы скопировать хеш файла в буфер обмена, щелкните правой кнопкой мыши по файлу и выберите желаемый тип хеша из подпункта «Копировать дайджест». Затем вставьте скопированный хеш где-нибудь для будущей справки.

Кроме того, вы можете сохранить хеш в файл через «Файл -> Сохранить как».

Проверка хешей
Чтобы проверить целостность данных файла с помощью GtkHash, выберите «Файл -> Открыть» и выберите файл хеша, который прилагался к вашему основному файлу. Файл хеша обычно имеет расширение «sha1», «md5» или «sfv», и GtkHash поддерживает все популярные из них.

Когда файл загружен, нажмите кнопку «Хеш» в правом нижнем углу. GtkHash вычислит и сравнит хеш файла с заявленным и предоставит вам результаты. Как видно на нашем скриншоте, у нас было два совпадения и два неудачи.

Дополнительные хеши
GtkHash включает в себя самые популярные хеширующие алгоритмы, но это не единственные, которые он поддерживает. Для большего количества посетите «Правка -> Настройки».

Вы можете выбрать из более чем двух десятков различных хеш-функций, среди которых вы, вероятно, найдете ту, которая вам нравится.

Сравнение контрольной суммы из терминала
Если вы находитесь в серверной среде, единственный способ сравнить контрольную сумму — это терминал. К счастью, проверка и создание хешей файлов в терминале так же просты, как и использование графического интерфейса. Большинство дистрибутивов поставляются с набором инструментов для этой задачи. Некоторые из самых популярных:
- md5sum
- shasum
- sha256sum
- sha384sum
- sha512sum
Их использование простое, так как они работают совершенно одинаково: вы вводите их имя, затем имя файла, для которого хотите вычислить хеш. Например, чтобы вычислить SHA-512 хеш для ISO-образа установки Arch Linux, который мы загрузили, мы использовали:
sha512sum archlinux-2020.05.01-x86_64.iso
В приведенном примере sha512sum была командой для выбранного алгоритма хеширования. После небольшой паузы мы увидели SHA-512 хеш на нашем экране.
В будущем мы можем захотеть повторно проверить наш файл, поэтому решили вывести результаты в файл вместо нашего экрана. Команды хеширования не предлагают такую функциональность, так как это только перенаправление на Linux. Используя символ > после команды и имя файла, вывод команды сохраняется в файл, а не выводится на экран. Вы также можете использовать sha256sum:
sha256sum archlinux-2020.05.01-x86_64.iso > archlinux-2020.05.01-x86_64.iso.sha256
Это выведет результаты в обычный текстовый файл, который вы сможете просмотреть. В нем вы найдете хеш файла, за которым следует его имя.

Проверка файла по его хешу требует всего лишь добавить переключатель -c к команде и использовать файл хеша вместо самого файла. Другими словами, что-то вроде этого:
sha256sum -c archlinux-2020.05.01-x86_64.iso.sha256
Хотя проверка контрольных сумм в Linux проста, не реалистично проверять хеши для каждого отдельного файла. Это то, что вы должны делать для чувствительных данных или ISO-образа Linux, который вы загрузили из Интернета. Если вы используете Mac, тот же метод применим.