27.3.2. 软件包选择
使用 %packages 命令启动一个 Kickstart 部分,该部分描述了要安装的软件包。
您可以根据 环境、组 或其软件包名称指定软件包。定义了包含相关软件包的几个环境和组。请参阅 Red Hat Enterprise Linuxnbsp 中的
repodata/*-comps-变体.xml
文件;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux 7 安装 DVD 查看一个环境和组列表。
*-comps-变体.architecture.xml
文件包含描述可用环境(使用 <environment>
标签标记)和组( <group>
标签)的结构。每个条目都有一个 ID、用户可见值、名称、描述和软件包列表。如果为安装选择了组,则始终安装在软件包列表中标有 必
填的软件包,如果在其他位置未特别排除,则标记为 默认的
软件包会安装,标记为 可选
的软件包必须专门包含在其他位置,即使选择了该组。
您可以使用其 ID(<
id> 标签)或名称(<name>
;
标签)指定软件包组或环境。
重要
如果您不确定应该安装哪些软件包,红帽建议您选择 Minimal Install 环境。最小安装 只提供运行 Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 7 所需的软件包。这将显著降低系统受某个漏洞影响的机会。如果需要,可以在安装后再添加附加软件包。有关 最小安装 的详情,请参阅《Red Hat Enterprise Linux 7 安全指南》中的 安装最低软件包挂载部分。
重要
要在 64 位系统中安装 32 位软件包,请使用构建该软件包的 32 位构架附加软件包名称,例如 glibc.i686。还必须在 Kickstart 文件中指定
--multilib
选项;请参见以下可用选项。
重要
除非安装桌面环境和 X Window 系统且启用了图形登录,否则 初始设置 不会在从 Kickstart 文件安装系统后运行。这意味着,默认情况下,除了
root
外,不会创建任何用户。在安装其他系统前,您可以在 Kickstart 文件中使用 user
选项创建用户(详情请参阅 第 27.3.1 节 “Kickstart 命令和选项” ),或者以 root
用户身份使用虚拟控制台登录安装的系统,并使用 useradd 命令添加用户。
%packages 部分必须以 %end 命令结尾。
- 指定环境
- 除了组外,您还可以指定要安装的整个环境:
%packages @^Infrastructure Server %end
此命令将安装属于 Infrastracture Server 环境一部分的所有软件包。在 Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 7 安装 DVD 中描述所有可用环境。在 Kickstart 文件中只能指定一个环境。
- 指定组
- 指定组、一个条目到一行,以
@
符号开头,然后指定为*-comps- 变量.architecture . xml
文件中给出的完整组名或组 ID。例如:%packages @X Window System @Desktop @Sound and Video %end
Core
组总是被选择 - 不需要在 %packages 部分指定它。*-comps-variant.xml
文件还为每个 Red Hat Enterprise Linuxnbsp变体定义了名为 Conflicts(变体 )
的组;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux.这个组包含已知导致文件冲突的所有软件包,并应该被排除。 - 指定单个软件包
- 根据名称指定单个软件包,每个条目对应一行。您可以在软件包名称中使用星号字符(
*
)作为 通配符。例如:%packages sqlite curl aspell docbook* %end
docbook*
条目包含软件包 docbook-dtds、docbook-simple、docbook-slides 以及其他与通配符代表的模式匹配的软件包。 - 排除环境、组或软件包
- 使用前导短划线(
-
)指定安装中排除的软件包或组。例如:%packages -@Graphical Internet -autofs -ipa*fonts %end
重要
不支持在 Kickstart 文件中使用
*
安装所有可用软件包,即使您不包括 @Conflicts(变体)
组。
您可以使用多个选项更改 %packages 部分的默认行为。有些选项可以用于整个软件包选择,其它选项只与特定的组一起使用。
常用软件包选择选项
以下选项可用于 %packages :要使用某个选项,请将其附加到软件包选择部分的开头。例如:
%packages --multilib --ignoremissing
-
--default
- 安装默认软件包组。这与在交互式安装过程中的软件包选择页面中没有其他 选择 时要安装的软件包集合对应。
-
--excludedocs
- 不要安装软件包中的任何文档。在大多数情况下,这不包括通常安装在
/usr/share/doc
目录中的任何文件,但要排除的特定文件取决于各个软件包。 -
--ignoremissing
- 忽略安装源中缺少的软件包、组和环境,而不是停止安装询问是否应中止或继续安装。
-
--instLangs=
- 指定要安装的语言列表。请注意,这与软件包组级别选择不同。这个选项没有描述应该安装哪些软件包组,而是设定 RPM 宏控制应该安装单个软件包的转换文件。Red Hat Enterprise Linux 软件包使用 ISO 639 语言代码。运行 locale -a 命令为您提供了适用于 %packages --instLangs= 参数的综合语言代码列表。
例 27.5. 指定要安装的语言列表
- 安装指定区域设置代码的冒号分隔列表:
%packages --instLangs=es:fr:it
- 省略
--instLangs=
选项会安装所有区域设置:%packages
- 省略语言代码不会安装区域设置:
%packages --instLangs=
-
--multilib
- 为多 lib 软件包配置安装的系统,允许在 64 位系统中安装 32 位软件包,并安装在这部分中指定的软件包。通常,在 AMD64 和 Intel 64 系统中,您只能安装
x86_64
和noarch
软件包。但是,使用 --multilib 选项,您可以自动安装 32 位 AMD 和 i686 Intel 系统软件包(若有)可用。这只适用于 %packages 部分明确指定的软件包。那些只作为相依性安装而没有在 Kickstart 文件中指定的软件包只能安装到需要它们的架构版本中,即使它们可用于更多构架。这个选项在安装和运行中的系统上都可以使用"yum"命令。 -
--nocore
- 禁用
@Core
软件包组的安装,否则该安装默认为始终安装。使用--nocore
禁用@Core
软件包组应当仅用于创建轻量级容器;使用--nocore
安装桌面或服务器系统将导致系统不可用。注意- 使用
-@Core
来排除@Core
软件包组中的软件包不起作用。排除@Core
软件包组的唯一方式是使用--nocore
选项。 @Core
软件包组定义为安装工作系统所需的一组最小软件包。它与软件包清单和覆盖范围中定义的核心软件包 无关。
--retries=
- 设置 Yum 尝试下载软件包的次数(重试)。默认值为
10
。这个选项只适用于安装期间,它不会影响安装的系统上的 Yum 配置。 --timeout=
- 以秒为单位设置 Yum 超时。默认值为
30
。这个选项只适用于安装期间,它不会影响安装的系统上的 Yum 配置。
特定软件包组的选项
这个列表中的选项仅适用于单个软件包组。不要在 Kickstart 文件中的 %packages 命令中使用它们,而是将它们附加到组名称中。例如:
%packages @Graphical Internet --optional %end
-
--nodefaults
- 仅安装组的强制软件包,而不是默认选择。
-
--Optional
- 除了安装默认选择外,还要安装在
*-comps-variant. architecture.xml
文件中的组定义中标记为可选的软件包。请注意,某些包组(如科学支持)
没有指定任何强制或默认包 - 仅指定可选包。在这种情况下,必须始终使用--optional
选项,否则不会安装该组中的软件包。