运行
sudo apt update
时,出现以下错误:
Err:4 https://apt.releases.hashicorp.com focal InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AA16FCBCA621E701
我该如何解决这个问题?
删除
/etc/apt/sources.list.d/
下现有的Hashicorp文件,然后按照官方指南:
sudo -s
wget -O- https://apt.releases.hashicorp.com/gpg |
gpg --dearmor > /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" > /etc/apt/sources.list.d/hashicorp.list
apt update
GPG 密钥已过时或丢失。
运行此代码以删除过时的密钥
sudo rm /usr/share/keyrings/hashicorp-archive-keyring.gpg
这是获取当前密钥:
curl https://apt.releases.hashicorp.com/gpg | gpg --dearmor > /usr/share/keyrings/hashicorp-archive-keyring.gpg
我在 root 下运行了最后一个(
sudo -s
),因为我无法让 sudo 与管道角色一起玩。不太清楚为什么
所以问题出在使用的sources.list 文件上。 最终它链接到一个密钥环,该密钥环不包含密钥
AA16FCBCA621E701
。
就我而言,这是文件
/etc/apt/sources.list.d/hashicorp.list
deb [arch=amd64 signed-by=/usr/share/keyrings/terraform-archive-keyring.gpg] https://apt.releases.hashicorp.com jammy main
上面的注释(谢谢MacroMan),引导我到了这个(这创建了一个新的、有效的hashicorp-archive-keyring.gpg,他原来的指令不起作用,除非你以
su - root
运行,我从来没有这样做过) )
curl https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
使用新的密钥环,编辑上述文件以将
terraform-archive-keyring.gpg
替换为 hashicorp-archive-keyring.gpg
,并且 sudo apt-get update
应该可以正常运行。
或者(我没有运行这个,但有人可能会发现它很有用,因为它使用
sudo tee
重新创建了sources.list,所以不需要像>
那样以root身份运行)
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee etc/apt/sources.list.d/hashicorp.list
警告表明 GPG 密钥文件 /etc/apt/trusted.gpg.d/mysql.gpg 的格式不受支持。当以 APT 密钥环不支持的格式添加密钥时,通常会发生这种情况。要解决此问题,我们可以以正确的格式重新导入密钥。
删除有问题的 GPG 密钥 删除不支持的 GPG 密钥文件:
sudo rm /etc/apt/trusted.gpg.d/mysql.gpg
以正确的格式添加 GPG 密钥 正确添加 MySQL GPG 密钥:
使用以下命令下载并添加密钥:
wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 -O - | sudo apt-key add -
验证并更新 验证密钥是否已正确添加:
apt-key list
更新包裹清单:
sudo apt update
附加配置 如果仍然无法识别密钥,您可以手动将其添加到 trust.gpg 密钥环中:
下载 GPG 密钥:
wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 -O /tmp/RPM-GPG-KEY-mysql-2022
将密钥转换为支持的格式并将其移动到受信任的密钥环:
gpg --no-default-keyring --keyring /tmp/mysql-keyring.gpg --import /tmp/RPM-GPG-KEY-mysql-2022
gpg --no-default-keyring --keyring /tmp/mysql-keyring.gpg --export > /tmp/mysql-keyring.asc
sudo mv /tmp/mysql-keyring.asc /etc/apt/trusted.gpg.d/mysql.gpg
再次更新包裹清单:
sudo apt update
通过执行这些步骤,您应该能够解决 GPG 密钥问题并正确配置 MySQL 存储库。如果您遇到任何其他问题,请提供确切的错误消息,以获得更有针对性的帮助。