Мне нужны конкретные (исходные или бинарные) пакеты из Debian.
Могу ли я скачать пакет, используя apt-get?
Как я могу добавить репозиторий Debian в мой sources.list, чтобы он использовался только в каждом конкретном случае? Не портите мою систему, используя весь репозиторий Debian?
Как получить ключ gpg для репозитория Debian, чтобы убедиться, что пакет подписан архивом Debian?
(Пожалуйста, не говорите мне, что система может сломаться. Я знаю об этом и мне наплевать, потому что я могу легко восстановить снимок виртуальной машины.)
apt
software-sources
debian
gnupg
Джеймс Митч
источник
источник
Ответы:
Есть несколько вопросов, на которые я отвечу индивидуально:
Как скачать (а не установить) отдельный двоичный пакет?
apt-get
имеет возможность загрузить только пакет:Вы найдете загруженный пакет в
/var/cache/apt/archives/
. В этом случае вам нужно будет добавить новую конфигурацию списка источников в apt.Как скачать отдельный пакет с исходным кодом?
или когда вы знаете местоположение файла .dsc:
Оба подхода проверяют подпись на файлах
Как закрепить sources.list, иначе, как не испортить мою установку?
Вы уже указали на страницу базового описания APT Pinning , и я хотел бы только добавить, что вы, вероятно, хотите прочитать справочную страницу apt_preferences, на которой также есть хорошие примеры для выполнения необходимых задач . Особенно смотрите раздел «Отслеживание стабильности» в ПРИМЕРАХ, поскольку он описывает что-то очень близкое к вашим потребностям:
При игре с несколькими источниками и APT Pinning есть полезная команда:
Это показывает, что установлена версия 1.1.3-1 ~ bpo60 + 1, а кандидат - 1.2.0 ~ rc3-1 ~ bpo60 + 1, которая будет установлена в следующем
apt-get upgrade
. Также есть более старая версия, доступная из еще одного хранилища.Как скачать ключ архива Debian?
Ключ архива Debian опубликован на ftp-master . Вам нужно будет импортировать ключ в ваш брелок gpg:
Тогда вам придется проверить его подписи:
И отслеживайте отдельные ключи GPG для разработчиков Debian, отслеживая их вручную или проверяя в проекте PGP Key Statistics . И если нет цепочки от вашего ключа PGP / GPG до архива ключей Debian, вам придется совершить прыжок веры в какой-то момент времени.
Как скачать и проверить отдельные пакеты вручную
Таким образом, другой подход более сложный, потому что пакеты deb подписываются не индивидуально, а подписывается только
Release
файл. Таким образом вам нужно будет скачать и проверить подписьRelease
иPackages
файлы вместе с отдельным пакетом.Я добавлю пример, который будет понятнее.
Представьте, что вы хотите загрузить пакет Debian для Knot DNS с его официального PPA для Ubuntu, точнее для архитектуры amd64.
Вам нужно будет просмотреть каталоги и найти эти файлы:
Следующим шагом будет проверка подписи в
Release
файле:Конечно, вам необходимо проверить ключ другими способами (например, ключом сопровождения Debian / Ubuntu, проверкой его с панели запуска и т. Д. И т. Д.)
Когда вы проверили правильную подпись в
Release
файле, вы можете перейти к следующему шагу - проверке файла пакетов.Как видите, подпись находится в подписанном
Release
файле, поэтому мы проверили целостностьPackages
файла, вычислив и сравнив его отпечаток SHA-256.Последний шаг похож. Вам необходимо вычислить и сравнить отпечаток индивидуальной упаковки:
На данный момент мы надежно приковали пакет к подписанному
Release
файлу. Так что, если вы уверены, что подпись наRelease
файле, вы можете быть уверены, что пакет был загружен в целости и сохранности.Вы можете прочитать больше в статье Secure APT на вики Debian.
источник
gpg
команде не нужны права root? Это должен быть административный инструмент.