使用更新管理器升级时“没有可用的公钥”

Raj*_*mon 26 apt gnupg

我决定升级

sudo update-manager -d
Run Code Online (Sandbox Code Playgroud)

然后它打开更新管理器 GUI。单击升级按钮后,返回以下错误列表:

W:There is no public key available for the following key IDs: 3B4FE6ACC0B21F32,
W:There is no public key available for the following key IDs: 3B4FE6ACC0B21F32,
E:Some index files failed to download. They have been ignored, or old ones used instead.
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

Bra*_*iam 46

此警告意味着您没有这些存储库的相应公钥。

W:There is no public key available for the following key IDs: 3B4FE6ACC0B21F32,
W:There is no public key available for the following key IDs: 3B4FE6ACC0B21F32,
Run Code Online (Sandbox Code Playgroud)

验证这些密钥确实是您需要的。在这种情况下:

?  ~ gpg --keyserver hkp://keyserver.ubuntu.com --search-key 3B4FE6ACC0B21F32
gpg: searching for "3B4FE6ACC0B21F32" from hkp server keyserver.ubuntu.com
(1) Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>
      4096 bit RSA key C0B21F32, created: 2012-05-11
Keys 1-1 of 1 for "3B4FE6ACC0B21F32".  Enter number(s), N)ext, or Q)uit > 
Run Code Online (Sandbox Code Playgroud)

ID 对应于 Ubuntu Archive。奇怪的是,您缺少这些键。这通常通过以下方式修复:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32
Run Code Online (Sandbox Code Playgroud)

在此之后,运行sudo apt-get update并确保没有其他警告/错误出现。