问题是这样的
我在 almalinux 中dnf install -y epel-release
。ok ,没问题,装上了。在/etc/pki/rpm-gpg
中有个文件RPM-GPG-KEY-EPEL-9
然后我执行rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
没问题。
但是在dnf update
时,仍然会提示是否信任/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
那我rpm --import
了个寂寞?
strace 了 rpm 命令看操作了/var/lib/rpm/rpmdb.sqlite
一个 sqlite 数据库,这个文件是写入到数据库了吗?
能不能或有没有什么方法像 debian/ubuntu 那样把 key 文件放到 /etc/apt/trusted.d/或者 /usr/share/gpg/key 目录中就表示被接受了的方法呢?
在 rhel/rocky 都复现了
1
julyclyde 2022-11-22 08:55:18 +08:00
你是不是从旧版本升级上来的?
应该还有个提示信息 RPM database read only 吧 |
2
dzdh OP @julyclyde
容器中操作 echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && dnf makecache && dnf upgrade -y && dnf install -y epel-release && dnf makecache && dnf upgrade 就出来了 |
3
julyclyde 2022-11-22 09:17:41 +08:00
旧版本的 rpm 只支持 berkeley db 作为 rpmdb
新的是 sqlite 新版本 rpm 软件支持多种 数据库 backend ,其中 berkeley db 是 readonly 的 前几天我升级的时候也遇到这个问题,需要运行 rebuilddb ,rpm 会把所有认识的数据都读出来,然后写到一个新的可以写的 backend 去 所以我问你,是不是从旧版本升级上来的 按说如果你全新安装,它应该“本来就是”sqlite 的啊,不应该出现写不进去的问题? |
4
dzdh OP @julyclyde 所以就很懵。按照上面的操作。使用 almalinux:9 的镜像就会在 upgrade 时候出来那个提示了
但是确实 install epel-release 是 9-2.el9 。upgrade 的时候就变成了 9-4.el9 |
5
julyclyde 2022-11-22 10:43:58 +08:00
|
6
dzdh OP @julyclyde
也就是说如果执行过 rpm --import /etc/xxx 再执行 rpm --rebuilddb 理论上应该 upgrade/update 是不会再二次提示确认是否信任 gpgkey 对吧 |
7
julyclyde 2022-11-22 11:24:24 +08:00
|
9
dzdh OP echo "install_weak_deps=False" >> /etc/dnf/dnf.conf
dnf makecache dnf upgrade -y dnf install -y epel-release dnf makecache rpm --rebuilddb rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9 dnf upgrade 好了 |
10
julyclyde 2022-11-22 11:46:09 +08:00
@dzdh rebuilddb 只是给 import 提供了前提环境,并没有自动 import 啊
你还是需要 import 才会免提示是否信任的 |
11
dzdh OP |
13
dzdh OP @julyclyde #12
https://bugzilla.redhat.com/show_bug.cgi?id=1768206 remi 装 php 无论如何都会提示。搜到了如上一个 bug (不是 bug 的 bug ) 官方是这么说的: 如果一个 repo 开启了 repo_gpgcheck=1 ,那么 gpgkey 是同一个,但是 rpm 和 dnf(yum)会从两个地方读。 rpm import 以后 dnf 也不认。必须只能强制的交互式的输入个 y 以便录入到 dnf 的数据库中。 以上问题只存在 repo 开启了 repo_gpgcheck 的前提下。 sed -i 's/repo_gpgcheck=1/repo_gpgcheck=0/g' /etc/yum.repos.d/remi* 清净了。。。 以上及本贴问题是在打业务的容器镜像。老是被中断,现在好了。 |
15
dzdh OP |