apt-get install quiet和--assume-yes但是检查包是否已签名

时间:2015-12-10 09:36:52

标签: authentication debian signature apt-get deb

大家好! 我有debian设备,我希望它从我的存储库自动升级。 要做到这一点,我只需从cron调用apt-get: apt-get --assume-yes --force-yes安装mypackage 但在这种情况下,如果无法检查签名,它将安装包事件。如何在安装之前检查签名?

1 个答案:

答案 0 :(得分:4)

有两种类型的GPG签名:

  1. APT存储库元数据上的GPG签名,以及
  2. Debian软件包上的GPG签名。
  3. 为了验证APT存储库元数据,您需要导入签名者的公共GPG密钥,如下所示:

    sudo bash -c 'wget -O - https://url/key' | apt-key add -

    为了验证Debian软件包签名,它要复杂得多,大多数软件包提供商(如Ubuntu和Debian)都不签署软件包。最有可能的是,您尝试安装的软件包未签名。

    但是,如果软件包已签名并且您要对其进行验证,则您需要:

    1. 确保您已安装debsig-verify
    2. 创建用于验证包签名的XML策略文档。
    3. 修改/etc/dpkg/dpkg.cfg以启用包签名验证。小心您应确保启用此选项不会破坏未签名包的包安装(如Ubuntu和Debian提供的包)。
    4. apt-get一起安装时,将验证包裹签名。
    5. 查看我写的名为GPG sign and verify deb packages and APT repositories的博客文章,其中介绍了验证debian软件包和APT存储库所需了解的所有内容,并包含debsig-verify的一些示例配置。