Я создал частный репозиторий deb и скопировал в него несколько подписанных пакетов deb. Я установил ключ подписи локально. Однако, когда я пытаюсь установить из репо, я получаю это предупреждение:
WARNING: The following packages cannot be authenticated!
При установке вручную могу просто нажать y но я хочу установить эти пакеты автоматически с помощью марионетки, и это не удается.
Так в чем проблема? Нужно ли мне отказываться от пакетов с ключом, который я контролирую? Есть ли лучший способ убедиться, что у меня установлена конкретная версия марионетки?
Я получил посылки из марионеточный репозиторий debian - 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.x).
Я читал о пакеты но это не помогает мне менять версии пакетов.
Все предложения приветствуются.
Вы уверены, что пакеты подписаны? Я не уверен, но думаю, должны быть соответствующие файлы подписей. Мы подписываем все наши репозитории, поэтому для всего дерева существует только одна подпись, и мы позволяем репозитарию сделать это за нас.