Однозначно определите debian пакет

Я вижу три контрольных суммы в .deb пакете:

  1. md5sum
  2. sha1
  3. sha256

Почему нам нужны 3 контрольных суммы? Мы можем использовать кого-либо из них для однозначного определения пакета Debian?

1
задан 13 August 2019 в 00:46

2 ответа

Да, можно использовать любую из тех сумм для идентификации пакета.

Назад в первые годы Debian, перед Кв., перед Ubuntu, назад когда dpkg переместился Земля свободно как диспетчер пакетов вершины, пользователи Debian вручную загрузили пакеты и затем вручную выполнили md5sum для проверки неповрежденной загрузки. md5sum вышел из стиля приблизительно 20 лет назад, так же ранние повторения Кв. начали автоматически проверять загрузки как часть новой системы репозитория.

Debian, смещенные от md5sum до более - защищают sha1 и позже к much-more-secure-sha256, поскольку гуру безопасности проекта решили, что большая и большая вычислительная мощность за десятилетия сделала их пакеты уязвимыми для сложных нападений.

Однако упаковочные методы многого наследия (как debhelper) и инфраструктура (как alioth) бросили ошибки, если более старые хеши не были также сгенерированы. Вычищение устаревшей инфраструктуры является сложной проблемой. Это не код; это - люди, которые настроили рабочие процессы, которые полагаются на их любимые инструменты и действительно не хотят изменяться. Они - волонтеры, так принуждение изменения редко является реалистической опцией. Таким образом, очистка инфраструктуры является медленной. Однако обратите внимание, что готовность этого сообщества открыто обсудить изменение и признать, что изменение могло бы быть медленным, является возможно одними из больших преимуществ Debian.

Когда-нибудь md5 и sha1 закончатся. Но Debian еще не вполне там.

2
ответ дан 7 December 2019 в 13:15

Это действительно не отвечает на вопрос, но некоторый дополнительный контекст может, тем не менее, цениться, с тех пор "определяют, что пакет" может означать столько разных вещей. Суммы хеша говорят Вам, что содержание пакета соответствует описанию (.dsc) файлу. И да, любой из этих хешей скажет Вам, если то содержание было изменено.

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

Можно также подписать пакеты сами и доверять собственной подписи. Таким образом, можно изменить пакеты. .changes файл связывает двоичные файлы с исходным деревом. Это может затем помочь "определить" функционально эквивалентные пакеты через другую аппаратную платформу, для которой Вы (или дистрибутивы создают демонов), восстановил их. Но через платформы, двоичные файлы будут иметь различные хеши.

Для большей части пакета, управляющего вариантами использования, знание пакета name+version плюс подпись достаточно. Это также дает Вам "более новый, чем" полупорядок, который не могут обеспечить хеши.

0
ответ дан 7 December 2019 в 13:15

Другие вопросы по тегам:

Похожие вопросы: