我遇到了一台 Debian 机器,当尝试更新软件包时,抛出了广泛讨论的“GPG 错误:http://security.debian.orgwheezy/updates 发布:由于公钥不可用,无法验证以下签名:NO_PUBKEY 8B48AD6246925553”。为了导入当前密钥,需要安装软件包 debian-keyring。
但由于机器上的密钥不再有效,我如何确定数据包的内容没有被篡改?
答案1
如果您排除添加密钥并使用它,您仍然可以手动验证 MD5。
Print the md5sum of the Packages file which is listed in the Release file.
sed -n "s,main/binary-i386/Packages$,,p" ftp.us.debian.org_debian_dists_sid_Release
# Print the md5sum of the Packages file itself.
md5sum ftp.us.debian.org_debian_dists_sid_main_binary-i386_Packages
最后,检查包本身的 MD5 或 SHA 校验和:
apt-cache show <package_name> | sed -n "s/MD5sum: //p" # Grab the checksum from the APT cache.
md5sum <binary_package_name>.deb # Compare it against the binary package's checksum.