Проверка контрольной суммы — это способ убедиться, что скачанный образ диска не повреждён и не подменён. Ошибка на этом этапе опаснее, чем кажется: повреждённый образ просто не запишется или сломает установку, а подменённый может содержать вредоносный код, который попадёт в вашу систему ещё до первого входа в неё. Ниже разобраны ошибки, которые чаще всего допускают при проверке контрольных сумм Linux-образов, и то, как делать эту проверку правильно.
Главный ориентир такой: совпадение суммы из файла SHA256SUMS само по себе ничего не гарантирует. Оно защищает от случайного повреждения при загрузке, но не от подмены файла на сервере-зеркале. Для полноценной проверки нужна ещё и цифровая подпись этого файла ключом разработчиков дистрибутива. Большинство ошибок связано именно с тем, что один из этих двух уровней пропускают или выполняют неправильно.
- Зачем вообще нужны два уровня проверки
- Ошибка 1: использование устаревших алгоритмов MD5 и SHA-1
- Ошибка 2: подсчёт суммы не того файла или не той версии
- Ошибка 3: неправильные команды и их вывод
- Linux и macOS
- Windows
- Ошибка 4: сравнение «на глаз» длинных строк
- Ошибка 5: пропуск проверки GPG-подписи
- Ошибка 6: доверие сомнительным источникам сумм
- Ошибка 7: путаница с форматами конца строки и кодировкой
- Ошибка 8: проверка до завершения загрузки или запись поверх образа
- Ошибка 9: игнорирование размера файла
- Что делать, если сумма не совпала
- Краткая шпаргалка по командам
- Частые вопросы
- Можно ли ограничиться только проверкой суммы без подписи?
- Почему сумма совпадает, а образ всё равно не загружается?
- Нужно ли перепроверять сумму, если загрузчик показал успешное завершение?
- Где взять официальный ключ подписи?
- С чего начать прямо сейчас
Зачем вообще нужны два уровня проверки
Контрольная сумма (например, SHA-256) — это «отпечаток» файла фиксированной длины. Если изменится хотя бы один байт образа, отпечаток станет совершенно другим. Разработчики дистрибутива публикуют файл вроде SHA256SUMS, где перечислены отпечатки всех образов релиза.
Но у этой схемы есть слабое место: если злоумышленник подменяет сам образ, он может подменить и файл с суммами. Поэтому файл с суммами подписывают электронной подписью (обычно GPG). Подпись подтверждает, что список сумм действительно создан командой проекта и не менялся после этого. Отсюда правильный порядок действий:
- Скачать образ, файл SHA256SUMS и его подпись (SHA256SUMS.sign или аналогичную).
- Импортировать публичный ключ разработчиков и проверить подпись файла с суммами.
- Только после этого сверить контрольную сумму образа со значением из проверенного файла.
Если пропустить второй шаг, вы защищены от битой загрузки, но не от атакующего, контролирующего канал доставки — например, злонамеренного зеркала или точки доступа в сети.
Ошибка 1: использование устаревших алгоритмов MD5 и SHA-1
MD5 давно считается криптографически скомпрометированным: для него возможна генерация двух разных файлов с одинаковой суммой. SHA-1 тоже ослаблен. Некоторые старые инструкции и страницы зеркал до сих пор предлагают файлы MD5SUMS — ориентироваться только на них не стоит.
На практике это означает следующее:
- Для защиты от случайного повреждения MD5 формально работает, но смысла использовать его отдельно нет.
- Для защиты от намеренной подмены нужен SHA-256 или SHA-512.
- Если проект публикует несколько вариантов сумм, сверяйте именно SHA-256/SHA-512, а MD5 рассматривайте как вспомогательный.
Отдельный нюанс: некоторые проекты публикуют так называемые B2SUMS (алгоритм BLAKE2) или SHA3. Это нормальные современные альтернативы; главное — чтобы алгоритм совпадал с тем, которым реально считаете сумму.
Ошибка 2: подсчёт суммы не того файла или не той версии
Классическая ситуация: человек скачивает образ, затем по привычке копирует сумму из старой инструкции или со страницы предыдущего релиза. Суммы, разумеется, не сходятся, и начинается поиск «проблемы», которой нет.
Признаки того, что вы сравниваете не с тем эталоном:
- файл с суммами относится к другому релизу или другой архитектуре (amd64 вместо arm64);
- вы скачали образ с суффиксом вроде -netinst, а сравниваете с суммой полного DVD-образа;
- в списке сумм есть несколько похожих строк, и скопирована не та.
Правильное решение простое: всегда брать суммы из файла SHA256SUMS, лежащего рядом с вашим образом в том же каталоге зеркала, и следить, чтобы имя файла в строке совпадало с именем вашего образа символ в символ.
Ошибка 3: неправильные команды и их вывод
Вторая по частоте группа проблем — техническая. Команды различаются между системами, и результат легко интерпретировать неверно.
Linux и macOS
На Linux сумма считается так:
sha256sum ubuntu-24.04-desktop-amd64.iso
Если рядом лежит файл SHA256SUMS, удобнее проверить всё сразу одной командой из каталога с образом:
sha256sum -c SHA256SUMS 2>/dev/null | grep OK
или без фильтрации, если хотите видеть все строки. Команда сообщит «OK» для совпадающих файлов и «FAILED» для несовпадающих. Частая ошибка — запускать её не из того каталога: тогда вы получите «no such file or directory» для каждого образа и решите, что файлы битые, хотя проблема лишь в рабочей директории.
На macOS утилита называется иначе: shasum -a 256 file.iso или shasum -a 512 file.iso. Попытка вызвать там sha256sum -c приводит к ошибке «command not found», которую иногда принимают за признак повреждения файла.
Windows
В современных версиях Windows есть встроенная утилита PowerShell:
Get-FileHash .\image.iso -Algorithm SHA256
Она выводит сумму прописными буквами. Файлы с суммами обычно содержат строчные значения — это нормально, сравнение регистронезависимо, если вы сравниваете глазами или через корректное сравнение строк. Типичная ошибка новичка — объявить несоответствие из-за регистра символов.
Ещё одна особенность Windows: PowerShell по умолчанию блокирует запуск сценариев, поэтому готовые скрипты проверки с сайтов сообществ могут не работать; встроенной команды Get-FileHash для базовой проверки достаточно.
Ошибка 4: сравнение «на глаз» длинных строк
SHA-256 состоит из 64 символов. Визуально сопоставить две такие строки надёжно невозможно: глаз легко пропускает различие в одном символе посередине. Правильные способы сравнения:
- использовать автоматическую проверку (sha256sum -c), которая сама сравнит строки;
- скопировать ожидаемую сумму и вставить в команду сравнения, а не перепечатывать вручную;
- если сравниваете вручную, разбейте обе строки на группы по 8–16 символов и проходите их попарно — но это запасной вариант, а не основной.
Обратная крайность — паника из-за одного «не совпавшего» символа, который на деле оказался опечаткой при ручном наборе команды. Автоматизация снимает оба риска.
Ошибка 5: пропуск проверки GPG-подписи
Как уже сказано, совпадение суммы защищает от повреждений, но не от подмены. Проверка подписи выглядит сложнее, чем есть на самом деле, и именно поэтому её часто пропускают. Общий порядок для большинства дистрибутивов:
- Импортировать публичный ключ проекта: gpg —keyserver hkps://keyserver.ubuntu.com —recv-keys КОД_КЛЮЧА. Код ключа берите с официальной страницы проекта о верификации, а не из случайной статьи.
- Желательно сверить отпечаток ключа с опубликованным на сайте проекта — это защита от поддельного ключа на сервере ключей.
- Проверить подпись: gpg —verify SHA256SUMS.sign SHA256SUMS.
- Убедиться, что в выводе есть «Good signature» и что предупреждение о недоверенном ключе вас устраивает (оно означает лишь, что вы явно не пометили ключ доверенным в своём связке ключей).
Распространённые подводные камни здесь:
- предупреждение «not certified with a trusted signature» — это не ошибка проверки, а напоминание о вебе доверия GPG;
- «BAD signature» — серьёзный сигнал: файл с суммами изменён или подписан чужим ключом, дальше продолжать нельзя;
- попытка проверить подписью сам ISO-файл — у большинства дистрибутивов подписан именно файл с суммами, а не образ напрямую (хотя бывают исключения, например отдельные проекты подписывают каждый образ).
Уточните в документации конкретного дистрибутива, что именно подписано: у одних это общий файл сумм, у других — отдельные файлы вида SHA256SUMS для каждого образа, у третьих — сами ISO.
Ошибка 6: доверие сомнительным источникам сумм
Смысл проверки теряется, если эталонную сумму вы берёте с той же страницы, откуда скачали образ, особенно если это сторонний сайт, форум или репост. Логика простая: если источник скомпрометирован, подменены будут и образ, и сумма рядом с ним.
Надёжные места для эталонных сумм:
- основной сервер проекта и его официальные зеркала по HTTPS;
- страница загрузки, доступная через HTTPS, с указанием отпечатков ключей подписи;
- для крупных проектов — дополнительные независимые каналы: анонсы в рассылках, публикации в официальных блогах, торренты, где сумма часто дублируется в описании раздачи.
Если вы качаете образ через торрент, проверка суммы особенно важна: торрент-сеть децентрализована, и хотя протокол проверяет целостность кусков по хешам внутри раздачи, соответствие вашей раздачи официальному образу лучше подтвердить суммой с сайта проекта.
Ошибка 7: путаница с форматами конца строки и кодировкой
Реже встречающаяся, но сбивающая с толку проблема: файл SHA256SUMS, сохранённый из браузера или редактора в Windows, может получить окончания строк CRLF вместо LF. Тогда sha256sum -c ругается на «improperly formatted» строки или сообщает о несуществующем файле с именем, оканчивающимся на символ возврата каретки.
Решение — скачать файл как есть, без открытия и пересохранения в текстовом редакторе, либо конвертировать окончания строк перед проверкой. Аналогичная ловушка: некоторые сайты оборачивают список сумм в HTML-страницу, и при сохранении в файл попадает разметка. Признак — команда проверки жалуется на формат первой же строки. В этом случае откройте файл и убедитесь, что каждая строка имеет вид «хеш, пробел(ы), звёздочка или пробел, имя файла» и ничего больше.
Ошибка 8: проверка до завершения загрузки или запись поверх образа
Две бытовые, но реальные ситуации. Первая: сумму считают, пока загрузчик ещё докачивает файл, получают несоответствие и начинают перезапускать загрузку впустую. Вторая: образ уже записан на флешку, и человек пытается проверить сумму самой флешки — она никогда не совпадёт с суммой ISO, потому что при записи добавляется загрузочный сектор, меняется структура разделов, а часть данных записывается иначе.
Правило: контрольную сумму сверяют только с исходным файлом образа на диске, целиком скачанным, до записи на носитель. Если хотите проверить результат записи, используйте специальные режимы инструментов записи (например, функцию верификации после записи) или отдельные процедуры, предусмотренные дистрибутивом, — но не прямое сравнение хешей устройства и ISO.
Ошибка 9: игнорирование размера файла
Простая, но эффективная предварительная проверка, которую часто забывают: сравнить размер скачанного файла с указанным на странице загрузки. Если размер отличается хоть на байт, образ точно повреждён, и считать сумму бессмысленно — сразу перекачивайте. Совпадение размера, впрочем, ничего не доказывает: оно лишь отсекает очевидно битые загрузки и экономит время.
Что делать, если сумма не совпала
Несовпадение — не повод для паники, а сигнал действовать по порядку:
- Убедитесь, что загрузка полностью завершилась и вы считаете сумму нужного файла нужной командой.
- Перепроверьте, что эталон взят из актуального файла SHA256SUMS для вашего релиза и архитектуры.
- Перекачайте образ, желательно с другого официального зеркала или через торрент, и сверьте снова.
- Если сумма не совпадает повторно с разных источников — проверьте подпись файла сумм и состояние носителя, на который сохраняете образ (сбойный диск или оперативная память тоже дают нестабильные хеши).
Совпадение суммы, но «BAD signature» у файла сумм — более тревожный сценарий: он указывает на возможную подмену на уровне источника. Такой образ использовать не стоит, пока причина не выяснена через официальный канал проекта.
Краткая шпаргалка по командам
| Задача | Linux | macOS | Windows (PowerShell) |
|---|---|---|---|
| Посчитать SHA-256 файла | sha256sum file.iso | shasum -a 256 file.iso | Get-FileHash file.iso -Algorithm SHA256 |
| Автопроверка по списку | sha256sum -c SHA256SUMS | shasum -a 256 -c SHA256SUMS | сравнить вывод Get-FileHash со строкой списка вручную или скриптом |
| Проверить подпись списка | gpg —verify SHA256SUMS.sign SHA256SUMS (GnuPG доступен на всех трёх платформах) |
Частые вопросы
Можно ли ограничиться только проверкой суммы без подписи?
Для домашней проверки целостности после обычной загрузки с официального сайта по HTTPS — приемлемый компромисс, риск подмены невелик. Но если образ получен через зеркало, торрент или корпоративный прокси, проверка подписи перестаёт быть необязательной: она единственная связывает файл с авторством разработчиков.
Почему сумма совпадает, а образ всё равно не загружается?
Значит, дело не в самом файле. Типичные причины: ошибки при записи на носитель, неправильно выбранная архитектура образа, отключённый Secure Boot или неподдерживаемый режим загрузки в BIOS/UEFI, а также дефектная флешка. Контрольная сумма подтверждает только целостность файла, а не работоспособность всей цепочки установки.
Нужно ли перепроверять сумму, если загрузчик показал успешное завершение?
Да, желательно. Индикатор прогресса говорит о том, что данные получены, но не о том, что они идентичны оригиналу: обрыв связи, ошибки прокси или диска могут исказить файл без явных сообщений.
Где взять официальный ключ подписи?
Только на официальном сайте дистрибутива — обычно на странице о верификации образов или в документации по безопасности. Там же публикуют отпечаток ключа, который стоит сверить после импорта. Ключи, найденные в случайных статьях или на форумах, использовать не следует.
С чего начать прямо сейчас
Минимальный надёжный порядок действий занимает пару минут: скачайте образ и файл SHA256SUMS с официального источника по HTTPS, выполните sha256sum -c SHA256SUMS (или аналог для вашей системы) в каталоге с образом, дождитесь «OK». Если планируете ставить систему на важную машину или работаете в среде с повышенными требованиями к безопасности, добавьте шаг с импортом ключа и проверкой GPG-подписи файла сумм. И запомните главное правило: сумму сверяют только с исходным ISO-файлом, целиком скачанным, до записи на флешку, а эталонные значения берут исключительно из официальных источников проекта.
Материал носит информационный характер. Конкретные имена файлов, расположение ключей подписи и порядок верификации зависят от дистрибутива и версии — сверяйтесь с официальной документацией используемого проекта на дату загрузки образа.
