Puppet

為什麼簽名的 deb 包在復製到我的私人 deb 儲存庫時說它們沒有經過身份驗證?

  • November 29, 2012

快速版

我已經建立了一個私人 deb 儲存庫並將一些簽名的 deb 包複製到其中。我已經在本地安裝了簽名密鑰。但是,當我嘗試從 repo 安裝時,我收到以下警告:

WARNING: The following packages cannot be authenticated!

手動安裝時,我可以按y,但我想使用 puppet 自動安裝這些軟體包,但失敗了。

所以有什麼問題?我是否需要使用我控制的密鑰辭職包?有沒有更好的方法來確保我安裝了特定版本的 puppet?

更多細節

我已經從puppet debian 儲存庫中獲得了包- http://apt.puppetlabs.com/我只是從(用於 lucid)這個目錄中複製包

然後使用為每個 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) <info@puppetlabs.com>
...

這樣做的理由是我希望所有 puppet 客戶端都是相同的版本。因此,所有機器都應該使用以下引腳從我的儲存庫中獲取包/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 降級精確客戶端)。

我已經閱讀了有關持有包的資訊,但這並不能幫助我更改包版本。

歡迎所有建議。

你確定包裹是簽名的嗎?我不確定,但我想應該有適當的簽名文件。我們正在對整個儲存庫進行簽名,因此整個樹只有一個簽名,我們讓 reprepro 為我們做這件事。

引用自:https://serverfault.com/questions/453423