无法搜索文件:无法下载存储库“mariadb-main”的 gpg 密钥:Curl 错误 (37)

无法搜索文件:无法下载存储库“mariadb-main”的 gpg 密钥:Curl 错误 (37)

我按照此处给出的说明在装有 CentOS 的计算机上安装了 MariaDB:

MariaDB 包存储库设置和使用 - MariaDB 知识库

我使用的基本命令是:

sudo yum install MariaDB-server MariaDB-client  

我没有安装 Maxscale 或 percona。

MariaDB 安装已成功完成,但现在如果我在 bash shell 中输入尚未卸载的命令,则会收到此错误:

Failed to search for file: Failed to download gpg key for repo 'mariadb-main': Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY [Couldn't open file /etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY]

例如,如果我输入命令 ftp,以前我会收到一条消息,指示未安装 ftp,并且我会得到一些关于我想要下载的命令的建议。然而,现在我明白了:

[username@localhost ~]$ ftp
bash: ftp: command not found...
Failed to search for file: Failed to download gpg key for repo 'mariadb-main': Curl error (37):     Couldn't read a file:// file for file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY [Couldn't open file   /etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY]
[username@localhost ~]$

经过一番搜索后,我发现这是因为文件 etc/yum.repos.d/mariadb.repo 有一个条目:

gpgkey = file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY    

并且 etc/pki/rpm-gpg 中不存在 MariaDB-Server-GPG-KEY 文件

我想这应该是我安装 mariadb 时自动创建的?如何让这个 bash 错误消失?有什么方法可以手动下载或创建此文件吗?

--- 编辑 ---
解决如下:

下载了 RPM-GPG-KEY-MariaDB,如 Philip 的回答中所述(https://unix.stackexchange.com/a/602962/28907

复制到/etc/pki/rpm-gpg/

/etc/yum.repos.d/mariadb.repo行更改gpgkey = file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEYgpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MariaDB

将 mariadb.repo 文件中其他条目的 gpgcheck 设置为 0(我没有安装 maxscale 和 mariadb enterprise)

答案1

电信公司的评论回答了这个问题的根本原因:

显然您已经安装了 PackageKit-command-not-found RPM 软件包。它向 shell 的“未找到命令”错误处理程序添加了特殊的自定义,该处理程序尝试查看该命令是否存在于当前未安装的包中,并针对这种情况生成信息更丰富的错误消息。

但要进行检查,您必须可以访问所有已配置的软件包存储库 - 包括可用的 GPG 密钥。如果出现问题,标准错误消息将被替换为更神秘的消息。

按照劳伦蒂诺的回答这是下载正确的 gpg 密钥以用于存储库mariadb-main并移动到目录的简单问题/etc/pki/rpm-gpg/

wget https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

其他存储库将具有不同的密钥,并且此处无法合理地提供详尽的链接列表。

答案2

对我来说,解决方案是手动执行

sudo wget https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

直接在目录 /etc/pki/rpm-gpg/ 内,并创建文件 RPM-GPG-KEY-MariaDB。

相关内容