microdnf update 命令安装新软件包,而不仅仅是更新现有软件包

JRo*_*mio 11 redhat dockerfile dnf ubi

registry.access.redhat.com/ubi8/ubi-minimal我的 Dockerfile 使用具有包管理器的基础映像microdnf

当我在 docker 文件中包含以下代码片段以获取现有软件包的最新更新时,

RUN true \
    && microdnf clean all \
    && microdnf update --nodocs \
    && microdnf clean all \
    && true
Run Code Online (Sandbox Code Playgroud)

它不仅升级了 4 个现有软件包,还安装了 33 个新软件包,

Transaction Summary:
 Installing:       33 packages
 Reinstalling:      0 packages
 Upgrading:         4 packages
 Removing:          0 packages
 Downgrading:       0 packages
Run Code Online (Sandbox Code Playgroud)

dnf文档并不建议它应该安装新的软件包。这是一个错误吗microdnf

microdnf update新图像大小也增加了约 75MB

小智 9

我遇到了相同或非常相似的问题。发现一个命令行标志有助于减少额外安装的软件包的数量。如果添加install_weak_deps=0,它应该对这些附加包有所帮助。

microdnf upgrade \
  --refresh \
  --best \
  --nodocs \
  --noplugins \
  --setopt=install_weak_deps=0
Run Code Online (Sandbox Code Playgroud)