与 Heroku CLI 相关的 Apt 更新返回和错误 NO_PUBKEY

与 Heroku CLI 相关的 Apt 更新返回和错误 NO_PUBKEY

当我执行时,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

相关内容