32.5. 套件選擇

警告

您可在 %packages 部份中藉由指定 *,以使用 kickstart 檔案來安裝所有可用套件。Red Hat 不支援此類型的安裝。
在 RHEL 的早期版本中,這功能是由 @Everything 選項所提供;但這選項並不包含在 Red Hat Enterprise Linux 6 裡。
使用 %packages 指令來開始一個 kickstart 檔案部份,用來列出您所想要安裝的套件(這只適用於安裝,因為尚不支援在升級過程中進行套件選擇)。
套件能根據「群組」(group)或是套件名稱來指定。安裝程式會定義一些包含了相關套件的多個群組。欲取得群組清單,請參閱 Red Hat Enterprise Linux 6.7 DVD 光碟上的 variant/repodata/comps-*.xml 檔案。如果選定了一組群組之後,套件清單中標示為「必要」(mandatory)的套件一定會被安裝;標示為「預設」(default)的套件會被安裝,除非使用者選擇不裝;標示為「選用」(optional)的套件就必須經過特定選取後才可安裝,儘管該群組已被選取來進行安裝。
指定群組,一行一個,請以 @ 符號開始,接著是空白字元,然後是完整的群組名稱或群組 ID,如 comps.xml 檔案所述。例如:
%packages
@X Window System
@Desktop
@Sound and Video
請注意,就預設值來說,CoreBase 群組總是會被選取,所以並不需要在 %packages 的部份中指定它們。

警告

使用 @Core 群組進行最小安裝時,防火牆(iptables/ip6tables)不會配置在系統上。這會造成安全上的風險。要解決這個問題,請新增 authconfigsystem-config-firewall-base 套件至套件清單中,如下所述。這些套件存在的話,防火牆就會被正常配置。
最小安裝的 %packages 加上防火牆套件的一節看起來會像是:
%packages
@Core
authconfig
system-config-firewall-base
詳情請見 Red Hat 客戶入口網站
用名稱指定個別的套件,每行一組。您可以使用星號(*)來表示多重套件。如:
sqlite
curl
aspell
docbook*
docbook* 一行包括了 docbook-dtdsdocbook-simpledocbook-slides 以及其它符合這萬用字元的套件。
在套件或群組的前面加上減號(-)表示不安裝。例如:
-@ Graphical Internet
-autofs
-ipa*fonts

重要

要在 64 位元系統上安裝 32 位元的套件,使用者需要在套件名稱之後,增加建立該套件的 32 位元架構。例如:
glibc.i686
使用 kickstart 檔案並指定 * 來安裝所有可用套件會讓已安裝的系統之套件與檔案有所衝突。已知會產生這些衝突的套件將會被分配至 @Conflicts (variant)群組中,variant 代表 ClientComputeNodeServerWorkstation。若您在 kickstart 檔案中指定了 *,請確認您排除了 @Conflicts (variant),否則安裝將會失敗:
*
-@Conflicts (Server)
請注意,儘管您排除了 @Conflicts (variant),Red Hat 依然不支援在 kickstart 檔案中使用 *
本節必須以 %end 指令作終。
%packages 選項擁有下列的可用選項:
--nobase
請勿安裝 @Base 群組。請使用此選項來執行一項最小型安裝。比方說,單用途伺服器或是桌面系統。
--resolvedeps
--resolvedeps 選項已不適用。系統會自動解決相依性問題。
--ignoredeps
--ignoredeps 選項已不適用。相依性現在已會每次自動解析。
--ignoremissing
在不暫停安裝以詢問安裝是否該停止或繼續的情況下,忽視遺失的套件與群組。例如:
%packages --ignoremissing