Полный гайд: проверка контрольных сумм в ALT Linux p11
Инструменты командной строки
Утилиты командной строки — это основа для проверки контрольных сумм. Большинство из них уже предустановлены в системе.
Основные команды:
md5sum: Вычисляет и проверяет контрольные суммы MD5. Сейчас этот алгоритм считается устаревшим и небезопасным для критически важных данных, но всё ещё встречается.sha256sum,sha512sumи другие (sha1sum,sha384sum): Используют более надёжные алгоритмы семейства SHA-2.sha256sum— текущий стандарт де-факто.b2sum: Реализует современный и быстрый алгоритм BLAKE2.cksum: Вычисляет контрольную сумму CRC (Cyclic Redundancy Check), которая в основном используется для обнаружения случайных ошибок при передаче данных.
Многофункциональные утилиты:
rhash: Это одна из самых мощных консольных утилит. Она поддерживает огромное количество алгоритмов хеширования: от классических MD4, MD5, SHA1, SHA256 до более экзотических, таких как GOST R 34.11-* (российский стандарт), Tiger, Whirlpool и многие другие. Также умеет создавать magnet-ссылки и проверять файлы по списку.alt-checksums: Специализированная утилита, разработанная для ALT Linux. Её задача — подсчёт и проверка контрольных сумм для бинарных файлов, установленных из RPM-пакетов. Это полезно для аудита целостности уже установленной системы.
Графические утилиты (GUI)
Для тех, кто предпочитает графический интерфейс, в ALT Linux p11 доступен GtkHash.
Эта программа позволяет легко вычислять и сверять контрольные суммы. GtkHash поддерживает множество алгоритмов, включая MD5, семейства SHA (1, 256, 512), а также российский стандарт GOST R 34.11-2012 (Stribog).
Установить её можно стандартным способом через терминал:
# Установка GtkHash от имени root
su -c 'apt-get update && apt-get install gtkhash'
Проверка контрольной суммы скачанного файла
Рассмотрим общий случай на примере скачанного ISO-образа.
- Получите эталонную сумму: Обычно на странице загрузки, рядом со ссылкой на сам ISO-образ, находятся файлы с контрольными суммами, например,
SHA256SUMS. Скачайте и этот текстовый файл. - Запустите проверку: Откройте терминал в папке со скачанными файлами и выполните команду. Утилита
sha256sumсама прочитает список сумм из файла, вычислит сумму для вашего ISO-образа и сравнит их.
sha256sum -c SHA256SUMS 2>/dev/null | grep OK
Если сумма совпадает, вы увидите в выводе имя вашего файла и статус OK.
Проверка целостности и подлинности ISO-образа с помощью GPG
Проверка контрольной суммы гарантирует, что файл не был повреждён. Но она не может подтвердить, что файл действительно был создан разработчиками. Для этого используется проверка цифровой подписи GPG. Процесс состоит из двух шагов и требует предварительно скачанных файлов SHA256SUMS и SHA256SUMS.sign (или .gpg).
Шаг 1. Проверка файла контрольных сумм
Убедитесь, что сам файл SHA256SUMS настоящий и подписан разработчиком.
gpg --verify SHA256SUMS.sign SHA256SUMS
Успешным результатом будет строка Good signature from ... («Хорошая подпись от ...»).
Шаг 2. Проверка ISO-образа
Если подпись верна, можно доверять содержимому файла SHA256SUMS.
Теперь проверьте по нему образ:
sha256sum -c SHA256SUMS 2>/dev/null | grep OK
Сочетание успешных результатов обоих шагов гарантирует и целостность, и подлинность файла.
Проверка целостности пакетов и установленных файлов
Иногда требуется убедиться в целостности не скачанных файлов, а уже установленных в системе программ.
* Для RPM-пакетов:
Основной инструмент — rpm -V. Эта команда сверяет атрибуты установленных файлов (размер, права доступа, контрольные суммы) с информацией в базе данных RPM.
rpm -V <имя_пакета>
Если пакет цел, команда не выведет ничего. Любое изменение в файлах пакета будет отмечено специальным кодом.
Для APT-репозиториев:
Если вы работаете с локальным репозиторием, для массовой проверки RPM-пакетов на соответствие контрольным суммам из индекса APT можно использовать следующий подход:
1. Сгенерируйте файл с ожидаемыми MD5-суммами:
xzcat base/pkglist.classic.xz | pkglist-query '%{aptindexlegacymd5} %{name}-%{version}-%{release}.%{arch}.rpm\n' - > MD5
2. Перейдите в каталог с пакетами и запустите проверку:
cd ../RPMS.classic/ && md5sum -c ../base/MD5 > md5sumcheck.log
Диагностика и решение проблем
Данные проблемы, как правило, возникают при работе с APT.
- Причина: APT не всегда проверяет контрольные суммы пакетов, особенно при установке из локальных или неподписанных репозиториев.
- Что происходит: Вы можете увидеть ошибку о несовпадении контрольных сумм при попытке установки или обновления пакетов.
- Решение: Убедитесь, что репозиторий, из которого вы устанавливаете пакет, корректно настроен и подписан. Для этого в файле
/etc/apt/sources.listдолжна быть указана директива проверки подписи для используемого репозитория.