使用Cubic制作Ubuntu自定义ISO时APT签名无效问题求助
修复Cubic自定义ISO chroot环境的APT GPG签名错误
我之前在使用Cubic制作自定义Ubuntu ISO时,也碰到过一模一样的chroot环境APT签名错误问题,大概率是Cubic打包squashfs过程中意外损坏了GPG密钥环或者相关配置。下面是几个我亲测有效的修复步骤:
重置系统GPG密钥环
这是最直接的修复方式,彻底清除损坏的密钥文件后重新导入官方密钥:- 删除现有损坏的密钥文件:
rm -rf /etc/apt/trusted.gpg.d/* rm /etc/apt/trusted.gpg - 导入Ubuntu官方核心密钥(适用于20.04/22.04版本,其他版本可替换对应密钥ID):
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 871920D1991BC93C - 更新APT缓存验证修复效果:
apt update
- 删除现有损坏的密钥文件:
检查并修正系统时间
有时候chroot环境的系统时间与主机不一致,会导致GPG认为签名已过期,触发验证错误:date -s "$(date -u +"%Y-%m-%d %H:%M:%S")"执行完这条命令同步主机UTC时间后,再尝试
apt update。清理并重置sources.list源文件
如果第三方源的密钥缺失或源配置本身有问题,也会引发签名错误:- 备份当前源文件:
cp /etc/apt/sources.list /etc/apt/sources.list.bak - 生成Ubuntu官方默认源(以22.04 jammy为例,其他版本替换对应代号):
echo "deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse" > /etc/apt/sources.list - 重新导入官方密钥并更新:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 871920D1991BC93C apt update
- 备份当前源文件:
重启Cubic并重建临时环境
如果以上方法都无效,可能是Cubic的临时工作目录文件损坏:
关闭当前Cubic会话,删除默认路径~/cubic下的临时工作文件,重新打开Cubic加载原始ISO,再进入chroot环境尝试操作。
内容的提问来源于stack exchange,提问作者J. Walker
相关产品推荐
相关产品推荐

