18
12月
2023
12/14/2023'之后的MySQL 8.0存储库的签名问题
17:10

12/14/2023'之后的MySQL 8.0存储库的签名问题

18 12月 2023 17:10

2023 年 12 月 12 日,repo.mysql.com 存储库的签名已过期,这导致使用 apt update 更新 MySQL 时出现问题。

症状

症状

1) 更新软件包缓存时,apt update 返回错误。

错误:2 http://repo.mysql.com/apt/ubuntu jammy InRelease
由于公钥不可用,无法验证以下签名:NO_PUBKEY B7B3B788A8D3785C

2) 运行命令“sudo dpkg-reconfigure mysql-apt-config”时,apt update 问题再次出现。

W: GPG 错误:http://repo.mysql.com/apt/ubuntu jammy InRelease:由于公钥不可用,无法验证以下签名:NO_PUBKEY B7B3B788A8D3785C
E: 存储库“http://repo.mysql.com/apt/ubuntu jammy InRelease”未签名。

3) 如果您安装或重新安装mysql-apt-config_0.8.28-1_all.deb并尝试更新软件包“apt update” - 会出现相同的错误:NO_PUBKEY B7B3B788A8D3785C

临时决定

在 Linux Mint 中,前往“开始”>“管理”>“软件源”,并在“附加存储库”中禁用与 MySQL 相关的三行。
或者,在 /etc/apt/sources.list.d/mysql.list 文件中注释掉这些行,或者删除 /etc/apt/sources.list.d/mysql.list 文件本身。

此解决方案只是权宜之计。您需要等待 Oracle 所有者将新版本上传到其代码库,并使用有效密钥 B7B3B788A8D3785C 进行签名,该密钥有效期为两年,截止到 2025 年 10 月 22 日。

截至今日,密钥状态如下:

gpg --fingerprint
/home/user/.gnupg/pubring.kbx
-----------------------------
pub rsa4096 2023-10-23 [SC] [有效期至:2025-10-22]
BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C
uid [unknown] MySQL 发布工程 
sub rsa4096 2023-10-23 [E] [有效期至: 2025-10-22]

pub rsa4096 2021-12-14 [SC] [过期时间:2023-12-14]
859B E8D7 C586 F538 430B 19C2 467B 942D 3A79 BD29
uid [已过期] MySQL 发布工程 

常数解决方案 - 消除MySQL签名的问题

1) 从 2022 年开始,我们将删除旧的、无效的密钥。

sudo apt-key del a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
sudo apt-key del 859b e8d7 c586 f538 430b 19c2 467b 942d 3a79 bd29

2)使用GPG,下载新的B7B3B78A8D3785C密钥

gpg --keyserver keyserver.ubuntu.com --recv b7b3b788a8d3785c
gpg --export b7b3b788a8d3785c | sudo tee /etc/apt/trusted.gpg.d/mysql.gpg > /dev/无效的

3)在CD /etc/apt/sources.list.d/ 我们编辑应用程序源(第三方存储库)的文件:mysql.list

sudo nano /etc/apt/sources.list.d/mysql.list

更正行:
而不是~~ [签名by =/usr/share/keyrings/mysql-apt-config.gpg] ~~
指示[签名by =/etc/apt/trusted.gpg.d/mysql.gpg]

值得信赖

文件 /etc/apt/sources.list.d/mysql.list 的内容

deb [signed-by=/etc/apt/trusted.gpg.d/mysql.gpg] http://repo.mysql.com/apt/ubuntu/ jammy mysql-apt-config
deb [signed-by=/etc/apt/trusted.gpg.d/mysql.gpg] http://repo.mysql.com/apt/ubuntu/ jammy mysql-8.0
deb [signed-by=/etc/apt/trusted.gpg.d/mysql.gpg] http://repo.mysql.com/apt/ubuntu/ jammy mysql-tools

我保存了文件。

4)更新了软件包缓存并更新了它们。

sudo apt update
sudo apt upgrade

不再出现 apt 更新错误,mysql 存储库已使用有效签名 B7B3B788A8D3785C 进行签名。

 gpg --list-keys

密钥...785C 到期日期:2025-10-22


来源:
Github问题
mysql签名很差



相关出版物