Почему подписанные пакеты deb говорят, что они не аутентифицированы при копировании в мое личное репо deb?

Быстрая версия

Я создал приватный deb-репозиторий и скопировал в него несколько подписанных deb-пакетов. Я установил ключ подписи локально. Однако, когда я пытаюсь установить из репозитория, я получаю это предупреждение:

WARNING: The following packages cannot be authenticated!

При установке вручную, я могу просто нажать y , но я хочу установить эти пакеты автоматически, используя puppet, и это терпит неудачу.

Так в чем же проблема? Нужно ли повторно отправлять пакеты с ключом, который я контролирую? Есть ли лучший способ убедиться, что у меня установлена ​​конкретная версия puppet?

Подробнее

Я получил пакеты из репозитория debian puppet - http://apt.puppetlabs.com/ Я просто копирую пакет из (для lucid) этого каталога

Затем хранилище обновляется сценарием, который выполняет эти команды для каждый репо:

cd /var/www/html/apt/ubuntu/lucid
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
dpkg-scansources sources /dev/null | gzip -9c > sources/Sources.gz

Я установил подписывающий ключ на клиенте.

$ sudo apt-key list
/etc/apt/trusted.gpg
--------------------
...
pub   4096R/4BD6EC30 2010-07-10 [expires: 2016-07-08]
uid                  Puppet Labs Release Key (Puppet Labs Release Key) <info@puppetlabs.com>
...

Основанием для этого является то, что я хочу, чтобы все марионеточные клиенты имели одинаковую версию. Таким образом, все машины должны получать пакеты из моего репозитория, используя следующий вывод в /etc/apt/preferences.d/puppet:

Package: puppet puppet-common facter
Pin: origin deb.example.org
Pin-Priority: 1001

(В настоящее время мы используем puppet 2.6.x, поэтому мне нужен приоритет 1001 для понижения точности точных клиентов из 2.7.х).

Я читал о хранении пакетов , но это не помогает мне менять версии пакетов.

Все предложения приветствуются.

4
задан 20 November 2012 в 15:40

1 ответ

*.deb пакеты не подписаны напрямую в Debian. Есть способ сделать это, но ничто в Debian не использует его.

Принцип, используемый репозиториями Debian и Ubuntu APT, работает следующим образом:

Все *.deb двоичные пакеты перечислены в файле (например,) binary-i386/Packages.gz с их контрольными суммами. (Все текущие версии Debian и Ubuntu для этого используют все три (!) MD5, SHA-1 и SHA-256. Старые версии использовали только MD5.) Все исходные пакеты *.dsc перечислены в source/Sources.gz.

Все эти файлы binary-*/Packages.* и source/Sources.* затем перечисляются вместе с их контрольными суммами в файле Release, который подписан как Release.gpg или InRelease, с ключом PGP . репозиторий .

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

0
ответ дан 20 November 2012 в 15:40

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

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