当我运行时sudo apt-get update出现以下错误:
Err:8 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B53DC80D13EDEF05
Run Code Online (Sandbox Code Playgroud)
无论我如何尝试,都无法消除此错误。
我尝试解决该问题的方法:
1. 手动添加key
我在谷歌上搜索了如何解决该错误,似乎每个人都建议通过以下方式添加丢失的公钥apt-key:
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv B53DC80D13EDEF05
Executing: /tmp/apt-key-gpghome.MRlBtkNXHX/gpg.1.sh --keyserver keyserver.ubuntu.com --recv B53DC80D13EDEF05
gpg: key B53DC80D13EDEF05: 1 duplicate signature removed
gpg: key B53DC80D13EDEF05: "Rapture Automatic Signing Key (cloud-rapture-signing-key-2022-03-07-08_01_01.pub)" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Run Code Online (Sandbox Code Playgroud)
执行上述命令后,NO_PUBKEY错误依然存在。
2. 删除存储库
/etc/apt/sources.list我查看了和中的存储库列表,/etc/apt/sources.list.d发现/etc/apt/sources.list.d/google-cloud-sdk.list:
deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main
Run Code Online (Sandbox Code Playgroud)
我已经通过删除了该文件sudo rm -rf /etc/apt/sources.list.d/google-cloud-sdk.list,但仍然遇到相同的错误。
小智 7
就我而言,直到我在下载更新的密钥时简单地使用 --dearmor 来制作 gpg 二进制文件而不是 ASCII 时,才起作用。
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg| gpg -o /usr/share/keyrings/kubernetes-archive-keyring.gpg --dearmor
Run Code Online (Sandbox Code Playgroud)
之后 apt-get update 就可以正常工作了,没有错误
| 归档时间: |
|
| 查看次数: |
12540 次 |
| 最近记录: |