排除 kickstart 文件中的包

排除 kickstart 文件中的包

Redhat kickstart 文档描述如何在包部分取消选择/排除包 - 即可以将其放在-包名称前面以将其排除。

但在本例中(安装 CentOS 7 时)它并不能完全工作:

%packages
@^minimal
@core
-*firmware
-btrfs-progs
-chrony
-iprutils
-kexec-tools
-pinentry
-plymouth
-postfix
-teamd
-tuned
-wpa_supplicant
%end

Anaconda 仍然安装一些排除的软件包,即:

linux-firmware
pinentry
teamd
wpa_supplicant

为什么不全部排除?如何有效地包含更多内容?

请注意,第一次重新启动后,yum remove *firmware会选择删除 linux-firmware,而无需任何依赖项。

删除其他包也会删除一些反向依赖的包 - 例如,对于 teamd,NetworkManager-team 包。唯一引人注目的是 pinentry,这是 yum 所需要的,因此 yum 理所当然地拒绝删除它。

答案1

如果你想完全控制它,有 3 个与此相关的标志 - 它们列在 %packages 后面

  • 无核心
  • 诺贝斯
  • 节点(?)

对你来说,核心群体就是问题所在。但这些都是他们的意思,尤其是第三个。然后系统将仅有的安装您在 %packages 部分中明确列出的内容。我已经为工业风格的系统完成了此操作,该过程包括在每个可执行二进制文件上使用 ldd 来检查缺少的库等。

合理的路径是从已安装系统的完整 rpm 列表开始工作,并允许安装 deps。

相关内容