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