以下签名无法验证,因为seadrive和nvidia的公钥不可用。

在执行“sudo apt update”命令时,我遇到了错误。
➜  ~ sudo apt-get update
Err:1 https://linux-clients.seafile.com/seadrive-deb/focal stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 2B844307BE7E9E8C
Err:14 http://ppa.launchpad.net/mc3man/xerus-media/ubuntu focal Release
  404  Not Found [IP: 91.189.95.85 80]
Err:15 http://ppa.launchpad.net/pypa/ppa/ubuntu focal Release
  404  Not Found [IP: 91.189.95.85 80]
Err:8 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC

运行通过80端口 - 无数据:

➜  ~ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 2B844307BE7E9E8C
Executing: /tmp/apt-key-gpghome.dThi8vDgCQ/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 2B844307BE7E9E8C
gpg: keyserver receive failed: No data

还有什么其他办法可以解决这个问题?
!!!问题已解决,谢谢!!!

你已经运行了 sudo wget https://linux-clients.seafile.com/seafile.asc -O /usr/share/keyrings/seafile-keyring.asc 命令,并且在你的 /etc/apt/sources.list.d/seafile.list 文件中将存储库列为 deb [arch=amd64 signed-by=/usr/share/keyrings/seafile-keyring.asc] https://linux-clients.seafile.com/seafile-deb/focal/ stable main' 吗? - mchid
另外,你在Nvidia方面是否也遇到了同样的错误? - mchid
sudo wget https://linux-clients.seafile.com/seafile.asc -O /usr/share/keyrings/seafile-keyring.asc 可以解决 NO_PUBKEY 2B844307BE7E9E8C 的问题。 - Yuriy Simonov
看起来没有这一行。我应该添加一个吗?➜ ~ cat /etc/apt/sources.list.d/seafile.list deb http://deb.seadrive.org stretch main - Yuriy Simonov
如果第一个命令修复了问题,你可以跳过第二个命令,保持该行不变。下面提供答案。如果答案对你有用,请别忘了点赞。 - mchid
4个回答

看起来NVIDIA在2022年4月27日更新了它的签名密钥。您可以按照这些说明来更新您的系统。
推荐的方法是使用一个辅助包来自动安装密钥。要安装辅助包(和密钥),请运行以下命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb

或者,您可以通过使用以下命令手动安装密钥(不推荐的方法):
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub

这是关于Nvidia公钥的帮助!谢谢!!! - Yuriy Simonov
我也需要运行这些命令,但最终成功了!sed -i '/developer\.download\.nvidia\.com\/compute\/cuda\/repos/d' /etc/apt/sources.list.d/* && sed -i '/developer\.download\.nvidia\.com\/compute\/machine-learning\/repos/d' /etc/apt/sources.list.d/* - alan.elkin

apt-key现在似乎已经被弃用了,我创建了一个脚本来检测并获取丢失的密钥,你可以在这里获取此处
#!/bin/sh -e
tmp="$(mktemp)"
sudo apt-get update 2>&1 | sed -En 's/.*NO_PUBKEY ([[:xdigit:]]+).*/\1/p' | sort -u > "${tmp}"
cat "${tmp}" | xargs sudo gpg --keyserver "hkps://keyserver.ubuntu.com:443" --recv-keys  # to /usr/share/keyrings/*
cat "${tmp}" | xargs -L 1 sh -c 'sudo gpg --yes --output "/etc/apt/trusted.gpg.d/$1.gpg" --export "$1"' sh  # to /etc/apt/trusted.gpg.d/*
rm "${tmp}"

你的解决方案对我来说更好。谢谢! - Madeyra

除了其他带有Nvidia指令的答案外,运行以下命令来修复您的Seafile存储库。
如果第一个命令解决了问题,您可以跳过第二个命令。
sudo wget https://linux-clients.seafile.com/seafile.asc -O /usr/share/keyrings/seafile-keyring.asc
sudo bash -c "echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/seafile-keyring.asc] https://linux-clients.seafile.com/seafile-deb/focal/ stable main' > /etc/apt/sources.list.d/seafile.list"

官方指南可以在这里找到。


以下签名无法验证,因为公钥不可用:NO_PUBKEY A4B469963BF863CC。 - undefined
1@Bengt,我更新了第二个命令,以反映seafile提供的当前指令。我认为唯一有意义的区别是它使用$(lsb_release -cs)而不是focal,但如果您没有使用20.04,那么您需要将focal更改为您当前的Ubuntu版本,这就是这个更改为您所做的。因此,如果您没有运行focal,这应该可以解决问题。 - undefined

只要跑步就好。
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC

这将从密钥服务器存储库下载丢失的密钥。

1我从一开始就尝试了,但是没有成功。 - Yuriy Simonov
警告:apt-key已被弃用。请改用trusted.gpg.d中的密钥环文件进行管理(请参阅apt-key(8))。 - undefined