最近更新后,我注意到我的第三方仓库无法更新,因为apt出现了“NO_PUBKEY”错误。我花了几个小时寻找解决方法,但所有的解决方案都建议使用apt-key。然而,由于它已经被弃用,这种方法不再起作用。所以我手动将一个仓库的密钥从“/usr/share/keyrings”复制到“/etc/apt/trusted.gpg.d”进行测试,看起来可以正常工作。现在该应用程序的一切都正常了。
我的问题是:是否有一种新的功能可以从密钥服务器下载密钥,而不是使用apt-key命令?大多数网站还没有意识到这个变化,并且仍然提供apt-key命令来获取他们的仓库密钥,但现在只会返回错误。如何更新我当前的第三方仓库密钥,因为只有它们存在问题?我应该像上面提到的那样手动复制密钥,还是有更高效的解决方案?
编辑:我使用的是20.10版本。Apt-key在20.04版本中有效,但之后就不再有效了。
我的问题是:是否有一种新的功能可以从密钥服务器下载密钥,而不是使用apt-key命令?大多数网站还没有意识到这个变化,并且仍然提供apt-key命令来获取他们的仓库密钥,但现在只会返回错误。如何更新我当前的第三方仓库密钥,因为只有它们存在问题?我应该像上面提到的那样手动复制密钥,还是有更高效的解决方案?
编辑:我使用的是20.10版本。Apt-key在20.04版本中有效,但之后就不再有效了。
$ sudo apt update
Err:9 http://repo.vivaldi.com/stable/deb stable Release.gpg
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9658E8044A3AA3D6
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repo.vivaldi.com/stable/deb stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9658E8044A3AA3D6
W: Failed to fetch http://repo.vivaldi.com/stable/deb/dists/stable/Release.gpg The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9658E8044A3AA3D6
W: Some index files failed to download. They have been ignored, or old ones used instead.
apt-key
被降级,而是你尝试导入的密钥已经过时且被降级。由于md5不再被视为安全,使用md5的任何密钥都已被弃用。你应该提供完整的命令和错误信息以获取具体细节(而不是泛泛地说)。 - guiverc