我无意中踏入了“更新地狱”。
我更新了一些尝试安装 Gerbera 媒体服务器的依赖项。在此过程中,包括 mariadb 在内的多个现有服务停止运行。
然后,当我尝试更新/升级我的 mariadb 安装时,我在我一直使用的 UKFast 镜像上遇到以下错误:
apt-get update
...
Err:4 http://mirrors.ukfast.co.uk/sites/mariadb/repo/10.3/debian jessie InRelease
The following signatures were invalid: 199369E5404BD5FC7D2FE43BCBCB082A1BB943DB
Reading package lists... Done
现在,我已经尝试了几种更新 GPG 密钥的方法,包括安装 debian-archive-keyring 软件包。我也为 mariadb 切换到了不同的镜像,但仍然出现同样的错误:
GPG error: http://mirrors.coreix.net/mariadb/repo/10.2/debian jessie InRelease: The following signatures were invalid: 199369E5404BD5FC7D2FE43BCBCB082A1BB943DB
在网上搜索线索时,我开始认为这实际上是镜像对其内容进行签名的方式存在问题,根据此帖子 -Debian 9、APT 和“GPG 错误:...InRelease:以下签名无效:”
假设这就是问题所在(镜像使用过时的 SHA1 签名),在镜像更新其签名之前,我是否有办法说服 apt 处理该包?
更新
这似乎是由于我选择了不正确/不受支持的版本名称组合造成的。
在尝试了很多组合之后,我最终在 /etc/sources.list.d/mariadb.list 中使用了以下内容:
deb [arch=amd64,i386] http://mirrors.coreix.net/mariadb/repo/10.3/debian stretch main
deb-src http://mirrors.coreix.net/mariadb/repo/10.3/debian stretch main
现在 Stretch 不是我当前的版本(我使用的是 Buster),但我猜测 Stretch 是 MariaDB 支持的最新版本。
我想知道关键错误是转移注意力,但至少它现在可以工作,无需对发布密钥进行任何进一步更新。
感谢那些回复并提出建议的人。
答案1
杰西和斯特莱奇之间的钥匙确实发生了变化。对于拉伸,您可以使用:
sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.coreix.net/mariadb/repo/10.3/debian stretch main'
对于 Jessie,您可以使用:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.coreix.net/mariadb/repo/10.3/debian jessie main'
我们的 Debian“Sid”和 Ubuntu 16.04 及更高版本“Xenial”存储库使用新的 GPG 签名密钥。详见MDEV-9781,APT 1.2.7(及更高版本)更喜欢 SHA2 GPG 密钥,现在当使用 SHA1 密钥(如我们之前的 GPG 密钥)对存储库进行签名时,会打印警告。我们创建了一个新的 SHA2 密钥,用于这些受影响的存储库。
的评论mariadb 发布管理器:
是的,最终会有一个 Stretch 存储库。它将使用我们现在用于 Sid 的相同密钥。
看https://mariadb.com/kb/en/library/gpg/以及 repo 配置工具https://downloads.mariadb.org/mariadb/repositories