有没有办法使用 microdnf 将 git 安装到 RedHat ubi 8 最小图像中并解决安装 shadow-utils 的错误?

问题描述

尝试使用 microdnf 将 git 安装到 Redhat UBI 8 最小映像中失败。我已经将我认为的问题追溯到了 git 需要的 shadow-utils 的安装。尝试单独安装 shadow-utils 也会失败。在我将 git 添加到列表之前,我在安装其他常见构建环境工具时没有遇到任何问题,但它开始在 shadow-utils 上失败。

我可以通过使用非最小图像并使用 yum 而不是 microdnf 进行安装来解决这个问题。不过,这似乎应该有效。除了使用更大的图像之外,还有其他人有解决方法吗?

~$ docker run --rm -it registry.access.redhat.com/ubi8/ubi-minimal /bin/bash
[root@965febf561a2 /]# microdnf install shadow-utils

(microdnf:10): librhsm-WARNING **: 06:29:14.389: Found 0 entitlement certificates

(microdnf:10): librhsm-WARNING **: 06:29:14.390: Found 0 entitlement certificates
Downloading Metadata...
Downloading Metadata...
Downloading Metadata...
Package                                                                                                                                                                                                         Repository                                                                           Size
Installing:
 libsemanage-2.9-3.el8.x86_64                                                                                                                                                                                   ubi-8-baSEOs                                                                     168.6 kB
 shadow-utils-2:4.6-11.el8.x86_64                                                                                                                                                                               ubi-8-baSEOs                                                                       1.3 MB
Transaction Summary:
 Installing:        2 packages
 Reinstalling:      0 packages
 Upgrading:         0 packages
 Removing:          0 packages
 Downgrading:       0 packages
Downloading packages...
Running transaction test...
Installing: libsemanage;2.9-3.el8;x86_64;ubi-8-baSEOs
Installing: shadow-utils;2:4.6-11.el8;x86_64;ubi-8-baSEOs
error: Error -1 running transaction

解决方法

我不确定,但我相信这是因为您的内核太旧了。我在运行 Docker 18.06-1 的内核为 3.13.0-151 的 Ubuntu 14.04 机器上构建映像时遇到了完全相同的问题。相同的 Dockerfile 在内核 4.4.0-101 运行相同版本的 Docker 的 Ubuntu 16.04 机器上构建良好。我找不到这些主机之间的任何其他配置差异。