我们正在尝试更新一些 yum 软件包,但需要确保排除需要重新启动的软件包。示例:有接近 500-1000 个软件包,我需要排除内核软件包,因为未经安全批准我们无法更新。 yum 有什么选项可以处理这种情况吗?
答案1
RHEL 和衍生品已经needs-restarting
在yum-utils
软件包中,但这只能给你一个事后评估。然而,它是一个 python 脚本,因此我们可以查看内部以找到以下硬编码的软件包列表,这将使其建议重新启动:
# For which package updates we should recommend a reboot
# Taken from https://access.redhat.com/solutions/27943
REBOOTPKGS = ['kernel', 'glibc', 'linux-firmware', 'systemd', 'udev',
'openssl-libs', 'gnutls', 'dbus']
请注意,此列表可能并不详尽。在进行无人值守更新时,我需要仔细检查 RedHat 是否建议其付费和支持客户根据此启发式重新启动,这会给我更多信心。
答案2
从更新中排除软件包:编辑/etc/yum.conf
→ 添加一个或多个“排除”行。https://tecadmin.net/exclude-packages-from-yum-update/
exclude=kernel*
注意:通配符 (*) 很重要。