Kickstart

Kickstart:您能否確定 %pre 中的 %package 選擇

  • February 7, 2018

我一直在環顧四周,還沒有看到任何人使用邏輯來確定以下選項的包/包組選擇的範例%packages。我正在嘗試根據 中發現的標準讓 kickstart 安裝包%pre,例如:

%pre
   if [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = 'Dell Inc.' ]; then
       echo 'srvadmin-all'
   elif [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = 'VMware, Inc.' ]; then
       echo 'open-vm-tools'
   fi
%end

我從未在該%packages部分中看到條件邏輯的範例,但我正在考慮將所有輸出列印到一個由語句引用的文件中,但自 RHEL7 以來%include我遇到了%includeunder的問題。%packages

我很想知道是否有人在這些方面成功使用了其他方法。

您可以使用 kickstart 的包含文件功能來完成此操作。使用您的%pre部分編寫包含所需軟體包的文件,然後將該文件包含在該%packages部分中。

例如:

%pre --interpreter=/bin/bash
touch /tmp/packages
if [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = "Dell Inc." ]; then
   echo 'srvadmin-all' >> /tmp/packages
elif [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = "VMware, Inc." ]; then
   echo 'open-vm-tools' >> /tmp/packages
fi
%end

%packages
@core
@base
chrony
%include /tmp/packages
%end

引用自:https://serverfault.com/questions/896157