执行sudo apt update后出现多个签名验证及仓库错误求助
解决sudo apt update时的GPG公钥与仓库错误
执行sudo apt update时出现以下错误:
Err:2 https://brave-browser-apt-release.s3.brave.com stable InRelease 因缺少公钥无法验证签名:NO_PUBKEY 0686B78420038257 Err:8 http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_23.10 InRelease 签名无效:EXPKEYSIG 1488EB46E192A257 home:manuelschneid3r OBS Project home:manuelschneid3r@build.opensuse.org Err:9 http://download.opensuse.org/repositories/home:/pzz/xUbuntu_20.04 InRelease 签名无效:EXPKEYSIG 23E07629B9E3C9E4 home:pzz OBS Project home:pzz@build.opensuse.org Err:13 https://apt.packages.shiftkey.dev/ubuntu any InRelease 因缺少公钥无法验证签名:NO_PUBKEY 7FC979028B1997C1 W: 签名验证出错,仓库未更新,将使用旧索引文件。GPG错误:https://brave-browser-apt-release.s3.brave.com stable InRelease:因缺少公钥无法验证签名:NO_PUBKEY 0686B78420038257 E: 仓库'https://ppa.launchpadcontent.net/nilarimogard/webupd8/ubuntu mantic'没有Release文件。 N: 从此类仓库更新存在安全风险,默认已禁用。 N: 详情请查看apt-secure(8)手册页。
已尝试以下方法但无效:
sudo apt-key adv --keyserver.ubuntu.com --recv-keys 0686B784200382/tmp/apt-key-gpghome.b8cdJNAbsB/gpg.1.sh --keyserver.ubuntu.com --recv-keys 0686B784200382/tmp/apt-key-gpghome.b8cdJNAbsB/gpg.1.sh --keyserver.ubuntu.com:80 --recv-keys 0686B784200382
分步解决方案
1. 处理缺失的GPG公钥(Brave和Shiftkey仓库)
Ubuntu 22.04+推荐将公钥存储在/usr/share/keyrings/目录(apt-key已废弃),执行以下命令添加公钥:
- 添加Brave仓库公钥:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0686B78420038257 | gpg --dearmor | sudo tee /usr/share/keyrings/brave-browser-archive-keyring.gpg > /dev/null
确保Brave的源文件(通常在/etc/apt/sources.list.d/brave-browser-release.list)中包含signed-by参数,内容应为:
deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main
- 添加Shiftkey仓库公钥:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7FC979028B1997C1 | gpg --dearmor | sudo tee /usr/share/keyrings/shiftkey-packages-archive-keyring.gpg > /dev/null
检查Shiftkey的源文件,确保包含signed-by指向上述keyring文件。
2. 更新过期的OpenSUSE仓库公钥
针对两个过期公钥,执行以下命令更新:
- 更新home:manuelschneid3r的公钥:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1488EB46E192A257 | gpg --dearmor | sudo tee /usr/share/keyrings/manuelschneid3r-archive-keyring.gpg > /dev/null
修改对应源文件(如/etc/apt/sources.list.d/home:manuelschneid3r.list),添加signed-by参数:
deb [signed-by=/usr/share/keyrings/manuelschneid3r-archive-keyring.gpg] http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_23.10/ /
- 更新home:pzz的公钥:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 23E07629B9E3C9E4 | gpg --dearmor | sudo tee /usr/share/keyrings/home-pzz-archive-keyring.gpg > /dev/null
修改对应源文件,添加signed-by参数指向上述keyring文件。
3. 移除无Release文件的PPA
nilarimogard/webupd8 PPA已停止维护,且不支持Ubuntu 23.10(mantic),执行以下命令移除该PPA:
sudo add-apt-repository --remove ppa:nilarimogard/webupd8 sudo apt update
内容的提问来源于stack exchange,提问作者StealStreet
相关产品推荐
相关产品推荐

