当我执行时,apt update
我收到以下警告:
sudo apt update
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
...
Err:8 https://cli-assets.heroku.com/apt ./ InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 536F8F1DE80F6A35
...
Get:1 http://dl.google.com/linux/chrome/deb stable InRelease [1,811 B]
其他软件包的升级确实会继续,但如何解决这个警告?
答案1
该命令apt-key
在 Ubuntu 22.04 中已弃用。
警告:apt-key 已弃用。请改为在 trust.gpg.d 中管理密钥环文件(请参阅 apt-key(8))。
必须亲爱的下载后,输入密钥。正确的命令是:
curl -fsSL https://cli-assets.heroku.com/apt/release.key | sudo gpg --dearmor -o /usr/share/keyrings/heroku-archive-keyring.gpg
这必须与在 apt 源代码行中设置密钥文件路径一起完成:
$ cat /etc/apt/sources.list.d/heroku.list
deb [arch=amd64 signed-by=/usr/share/keyrings/heroku-archive-keyring.gpg] https://cli-assets.heroku.com/apt ./
现在可以在几个技术博客上找到更详细的信息。例如https://techviewleo.com/apt-key-is-deprecated-manage-keyring-files-in-trusted-gpg-dot-d/
答案2
编辑:密钥似乎将于 2024 年 4 月 22 日再次过期,先前 URL 中的密钥仍未更新,但他们有一个似乎有效的新链接:
https://cli-assets.heroku.com/channels/stable/apt/release.key
上一个链接:
https://cli-assets.heroku.com/apt/release.key
出现此错误的原因是 Heroku 的验证密钥已过期。在 Heroku 发布更新的密钥之前,我们无能为力,而这可能需要几天时间。
编辑:目前,他们似乎已经发布了更新的密钥,剩下的就是:
curl https://cli-assets.heroku.com/channels/stable/apt/release.key | sudo apt-key add -
答案3
这对我有用:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 536F8F1DE80F6A35