使用 dpkg-sig 验证 deb 包签名的步骤如下:1. 安装 dpkg-sig 工具,通过 sudo apt install dpkg-sig;2. 使用 dpkg-sig --verify package.deb 验证签名有效性,若输出 goodsig 则表示签名有效;3. 若出现 badsig 或无签名信息,则可能因未导入公钥、文件被修改或签名损坏导致;4. 通过 gpg 命令导入缺失的公钥以完成验证;5. 使用 dpkg-sig --info package.deb 可查看签名详情而不进行验证,确保来源可信。遇到问题时应检查签名是否存在及密钥是否已正确导入。

安装 DEB 包时,确保其来源可信和内容未被篡改非常重要。dpkg-sig 是一个常用的工具,可以用来验证 DEB 包的签名信息。下面介绍如何使用 dpkg-sig 校验 DEB 包签名。

安装 dpkg-sig 工具
首先,你需要在系统中安装 dpkg-sig。它通常不在默认安装列表中,可以通过以下命令安装:

sudo apt install dpkg-sig
安装完成后,就可以开始对 DEB 包进行签名验证了。
使用 dpkg-sig 验证签名
验证 DEB 包签名的基本命令如下:

dpkg-sig --verify package.deb
执行后,会输出签名信息。如果看到类似下面的内容,说明签名有效且通过校验:
Processing package.deb... GOODSIG _apt-adobedevlinux-keyring-gpg=... (签名者信息)
如果你看到的是 BADSIG 或者没有签名信息,则说明签名有问题或不存在。
签名验证失败可能的原因
-
未导入签名者的 GPG 公钥:系统无法识别签名者身份,导致显示
UNKNOWNSIG。这时需要手动导入签名者的公钥。导入方法示例:
gpg --keyserver keyserver.ubuntu.com --recv-keys
gpg --export --armor | sudo apt-key add - DEB 包被修改过:如果文件内容在签名之后被改动,会出现
BADSIG提示。签名本身不完整或损坏:可能是打包过程出错,也可能是下载过程中文件损坏。
查看 DEB 包中的签名信息
如果你想只查看签名信息而不做验证,可以使用以下命令:
dpkg-sig --info package.deb
这会显示签名者、时间、使用的密钥等信息,有助于判断签名是否来自可信来源。
基本上就这些。只要注意公钥是否已导入、命令是否正确,一般都能顺利验证 DEB 包的签名。遇到问题时,先确认签名是否存在,再检查密钥是否可信。










