Debian

從 debian 的其他版本檢查源包簽名的簡單方法

  • June 9, 2015

我正在嘗試nanomsgjessieto向後移植squeeze。但是當我執行時:

dget http://http.debian.net/debian/pool/main/n/nanomsg/nanomsg_0.4~beta+dfsg-3.dsc

它說:

dscverify: nanomsg_0.4~beta+dfsg-3.dsc failed signature check:
gpg: Signature made Fri 29 Aug 2014 09:49:58 PM EEST using RSA key ID 864CC8BF
gpg: Can't check signature: public key not found
Validation FAILED!!

我看到有人建議通過在和todebian-keyring中添加相應的行來從該特定版本進行安裝。但我擔心它會用其他版本的軟體包污染我的系統。sources.listAPT::Default-Release "stable";``apt.conf

如果我們在這裡談論squeeze。我裝不stable進去apt.conf可以嗎?既然stablejessie現在。如果我放在squeeze那裡,升級時不要忘記另一件事debian

如果我可以安全地下載並添加到(或設置?)以使其工作,debian-keyring我會喜歡它。是否可以?我應該如何處理這個問題?jessie``keyring /path/to/debian-keyring.gpg``~/.gnupg/gpg.confDSCVERIFY_KEYRINGS

您可以從 jessie 輕鬆下載 debian-keyring 軟體包,並使用dpkg -i debian-keyring*deb. 但是,該方法的缺點:

  • 沒有自動更新
  • 沒有gpg驗證

如果你想要這些,你需要使用 apt 來安裝這些包。使用APT::Default-Release確實是一種選擇;另一個是易於固定。/etc/apt/preferences.d/99-keyring使用以下內容創建文件:

Package: debian-keyring
Pin: release n=jessie
Pin-Priority: 600

Package: *
Pin: release n=jessie
Pin-Priority: 50

這將告訴您的系統您想debian-keyring從 jessie 中提取軟體包,但其他所有內容都來自您的正常發行版。如果您不想使用程式碼名稱但想使用符號名稱,請更改Pin: release n=jessiePin: release a=stable.

查看man apt_preferences完整的故事,包括如何APT::Default-Release與這一切聯繫在一起。

警告:如果使用不當,apt pinning 可能會導致系統在兩個版本之間升級一半。上面的例子應該是安全的,但不要將它用於特定於架構的包。

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