You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

debsig-verify验证失败,报错gpg: invalid packet (ctb=2d)

解决debsig-verify验证deb包时的gpg无效包错误

问题分析

从报错日志来看,核心异常是gpg: [don't know]: invalid packet (ctb=2d)和keydb_search failed: Invalid packet,最终的“无公钥”提示只是衍生问题——系统此前能正常运行,说明并非真的缺少公钥,而是gpg密钥库损坏或debsig专用密钥环存在异常导致的密钥读取失败。

解决步骤

1. 检查并修复本地gpg密钥库

  • 先确认目标公钥是否在本地密钥库中:
    gpg --list-keys 7F246C702F7DCFF8
    
  • 如果输出异常,尝试修复密钥库:
    gpg --fix-keyring
    
  • 若修复无效,删除旧密钥并重新导入:
    gpg --delete-key 7F246C702F7DCFF8
    # 替换为你的公钥文件路径
    gpg --import /path/to/your-public-key.asc
    

2. 检查debsig专属密钥环状态

debsig默认使用独立的系统密钥环,而非用户个人密钥环,需确认该路径下的密钥是否正常:

  • 查看debsig可信密钥目录:
    ls -l /etc/debsig/trusted/7F246C702F7DCFF8/
    
  • 重新将公钥导入到debsig的密钥环:
    gpg --no-default-keyring --keyring /etc/debsig/trusted/7F246C702F7DCFF8/debsig.gpg --import /path/to/your-public-key.asc
    

3. 排查gpg版本兼容性

如果近期升级过gpg,可能存在EDDSA密钥的兼容性问题:

  • 查看当前gpg版本:
    gpg --version
    
  • 若版本较新,尝试降级到之前能正常运行的版本;若版本过旧,升级到稳定版后再测试。

4. 直接验证deb包签名,排除debsig干扰

绕过debsig,用gpg直接验证deb包的签名,确认包本身无损坏:

# 创建临时目录解压deb包
mkdir tmp_deb && dpkg-deb -x etx8-web-2.2.0-485a0ab-b1644.deb tmp_deb
cd tmp_deb
# 验证签名(debian-binary.gpg是deb包的签名文件)
gpg --verify debian-binary.gpg debian-binary

内容的提问来源于stack exchange,提问作者Avram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:12:16