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

debian logo Applications

Иногда установленный пакет или программное обеспечение может работать не так, как ожидалось. Более того, иногда он может даже не запуститься должным образом. В таких случаях может оказаться, что файл пакета, который вы загрузили, поврежден или неполный. Это может произойти, если при передаче файла возникли проблемы, связанные с сетью. Поэтому важно проверить целостность загруженного файла пакета, прежде чем устанавливать его в систему. Это делается путем подсчета контрольной суммы скачанного файла и сравнения ее с контрольной суммой, предоставленной поставщиком пакета на его сайте. Обычно это контрольная сумма MD5. В этой статье мы узнаем, как проверить контрольную сумму MD5 установленных пакетов в Debian Linux.

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

В системах Ubuntu/Debian вы можете использовать инструмент debsums для проверки контрольной суммы MD5 установленных пакетов. Вы можете выполнить следующую команду, чтобы узнать больше об этом пакете.

apt-cache search debsums

Вот команда для установки debsums на вашу систему.

sudo apt install debsums

После установки debsums вы можете запустить его с помощью следующей команды.

Она прочитает контрольную сумму MD5 каждого пакета в вашей системе и сравнит ее с оригинальной суммой, представленной на сайте каждого пакета. На выходе вышеуказанной команды будет список всех установленных пакетов, а также статус их контрольной суммы, который может иметь любое из трех значений -

  • OK - показывает, что MD5-сумма файла в порядке.
  • FAILED - означает, что MD5-сумма файла не совпадает.
  • REPLACED - означает, что конкретный файл был заменен файлом из другого пакета.

Вот пример вывода вышеприведенной команды.

sudo debsums

Приведенная выше команда проверяет контрольную сумму MD5 всех пакетов. Если вы хотите проверить контрольную сумму MD5 конкретного пакета, например, apache, то укажите его после команды debsum, как показано ниже.

sudo debsums apache2

Если вы хотите проверить только конфигурационные файлы и исключить другие файлы, используйте опцию -config или -e.

sudo debsums --config

Если вы хотите проверить контрольную сумму MD5 всех файлов, присутствующих во всех пакетах, используйте опцию -all.

sudo debsums --all

Если вы хотите отобразить в выводе только измененные файлы, используйте опцию -changed.

Некоторые пакеты и файлы могут не иметь информации о контрольной сумме MD5. Чтобы перечислить все такие файлы и пакеты, используйте опции -l и -list-missing.

Обычно команду debsums нужно запускать от имени пользователя с привилегиями sudo. Если вы хотите запустить эту команду от имени обычного пользователя без прав sudo, то используйте опцию -ignore-permissions.

debsum можно также использовать для генерации контрольных сумм MD5 для пакетов. Для этого вы можете использовать опцию -g или -generate. Эта опция принимает 4 значения

  • missing - указывает debsums генерировать MD5-суммы из deb для пакетов, которые их не предоставляют.
  • all - указывает debsums игнорировать дисковые суммы и использовать ту, что присутствует в deb-файле, или сгенерированную из него, если таковой не существует.
  • keep - указывает debsums записать извлеченные/генерированные суммы в файл /var/lib/dpkg/info/package.md5sums.
  • nocheck - означает, что извлеченные/генерированные суммы не будут сверяться с установленным пакетом.

Вот пример команды для генерации контрольной суммы для пакета apache2.

Если указанный пакет уже имеет контрольную сумму MD5, приведенная выше команда покажет результат, аналогичный выполнению команды

Обычно в папке /var/lib/dpkg/info хранится контрольная сумма MD5 всех пакетов. Вы можете просмотреть список с помощью следующих команд.

/var/lib/dpkg/info/*.md5sums

В этой статье мы научились проверять контрольные суммы MD5 пакетов, установленных в вашей системе, а также генерировать контрольные суммы MD5 для пакетов, в которых отсутствует эта информация.

Avatar for Gnostis
Gnostis
Добавить комментарий