这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。