为什么签名的deb包在复制到我的私人deb repo时没有被authentication?

快速版本

我已经build立了一个私人的deb库,并将一些已经签名的deb包拷贝进去。 我已经在本地安装了签名密钥。 但是,当我尝试从回购安装我得到这个警告:

WARNING: The following packages cannot be authenticated! 

当手动安装时,我可以按y,但我想使用puppet自动安装这些包,并且失败。

所以有什么问题? 我是否需要使用我控制的密钥来退出软件包? 有没有更好的方法来确保我安装了特定版本的puppet?

更多细节

我从傀儡debian仓库获得了软件包 – http://apt.puppetlabs.com/我只是从这个目录 (用于清理)复制软件包

然后使用为每个repo运行这些命令的脚本更新存储库

 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) <[email protected]> ... 

这样做的理由是我希望所有木偶客户都是相同的版本。 所以所有的机器都应该使用/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降级精确的客户端)。

我已阅读关于持有软件包,但这并不能帮助我改变软件包版本。

所有的build议欢迎。

你确定软件包已经签名吗? 我不确定,但我想应该有适当的签名文件。 我们正在签署我们的整个存储库,所以整棵树只有一个签名,我们让代表为我们做这个。