22.3. kickstart 命令进行系统配置
这个列表中的 Kickstart 命令配置结果系统的更多详情,比如用户、库或服务。
22.3.1. authselect 复制链接链接已复制到粘贴板!
authselect Kickstart 命令是可选的。它使用 authselect 命令为系统设置身份验证选项,也可以在安装完成后在命令行中运行该命令。仅使用此命令一次。
- 语法
authselect [OPTIONS]
authselect [OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 备注
-
这个命令会将所有选项传递给
authselect命令。详情请查看 authselect(8) 手册页和authselect --help命令。 - 默认使用影子密码。
-
当使用带有用于安全的
SSL协议的 OpenLDAP 时,请确保在服务器配置中禁用了SSLv2和SSLv3协议。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。如需更多信息,请参阅红帽知识库解决方案 解决 POODLE SSLv3.0 漏洞。
-
这个命令会将所有选项传递给
22.3.2. firewall 复制链接链接已复制到粘贴板!
firewall Kickstart 命令是可选的。它为安装的系统指定防火墙配置。
- 语法
firewall --enabled|--disabled [incoming] [OPTIONS]
firewall --enabled|--disabled [incoming] [OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
--enabled或--enable- 拒绝那些不是响应出站请求(如 DNS 回复或 DHCP 请求)的传入连接。如果需要访问在这个机器中运行的服务,您可以选择允许指定的服务通过防火墙。 -
--disabled或--disable- 不配置任何 iptables 规则。
-
- 可选选项
-
--trust- 在此处列出设备,如em1,允许进出该设备的所有流量通过防火墙。要列出多个设备,请多次使用这个选项,如--trust em1 --trust em2。不要使用逗号分隔的格式,如--trust em1、em2。 -
--remove-service- 关闭逗号分隔的服务列表的端口。 incoming - 使用以下服务中的一个或多个来替换,从而允许特定的服务穿过防火墙。
-
--ssh -
--smtp -
--http -
--ftp
-
-
--port=- 您可以使用 port:protocol 格式指定允许通过防火墙的端口。例如,要允许 IMAP 通过您的防火墙,可指定imap:tcp。数字端口也可以明确指定;例如,要允许 UDP 数据包在端口 1234 到,请指定1234:udp。要指定多个端口,用逗号将它们隔开。 --service=- 此选项提供允许服务穿过防火墙的更高级别方法。有些服务(如cups、vahi 等等)需要打开多个端口或其他特殊配置才能使服务正常工作。您可以使用--port选项指定各个端口,或者指定--service=并一次性全部打开它们。有效选项是 firewalld 软件包中
firewall-offline-cmd程序可识别的任何内容。如果firewalld服务正在运行,firewall-cmd --get-services会提供已知服务名称的列表。-
--use-system-defaults- 完全不配置防火墙。这个选项告诉 anaconda 不做任何工作,并允许系统依赖软件包或者 ostree 提供的默认值。如果将这个选项与其它选项一同使用,则将忽略所有其他选项。
-
22.3.3. group 复制链接链接已复制到粘贴板!
group Kickstart 命令是可选的。它在系统中创建新用户组。
- 语法
group --name=name [--gid=gid]
group --name=name [--gid=gid]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
--name=- 提供组的名称。
-
- 可选选项
-
--gid=- 组的 GID。如果没有提供,则默认使用下一个可用的非系统 GID。
-
- 备注
- 如果具有指定名称或 GID 的组群已经存在,这个命令会失败。
-
user命令可用于为新创建的用户创建新组。
22.3.4. 键盘 复制链接链接已复制到粘贴板!
keyboard Kickstart 命令是必需的。它为系统设置一个或多个可用的键盘布局。仅使用此命令一次。
- 语法
keyboard --vckeymap|--xlayouts OPTIONS
keyboard --vckeymap|--xlayouts OPTIONSCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 选项
-
--vckeymap=- 指定应使用的VConsole键映射。有效名称与/usr/lib/kbd/keymaps/xkb/目录中的文件列表对应,没有.map.gz扩展名。 --xlayouts=- 指定 X 布局列表,该列表应当用作逗号分隔的列表,没有空格。接受与setxkbmap(1)相同格式的值,可以是布局格式(如 ascz),也可以是布局 (变体)格式(如cz (qwerty))。可以在下方的
xkeyboard-config(7)man page 中查看所有可用布局。--switch=- 指定布局切换选项列表(在多个键盘布局之间切换的快捷方式)。必须使用逗号分开多个选项,没有空格。接受与setxkbmap(1)相同格式的值。您可以在
xkeyboard-config(7)man page 上的Options下查看可用的切换选项。
-
- 示例
以下示例使用
--xlayouts=选项设置两种键盘布局 (English (US)和Czech (qwerty)),并允许使用 Alt+Shift 在它们之间进行切换:keyboard --xlayouts=us,'cz (qwerty)' --switch=grp:alt_shift_toggle
keyboard --xlayouts=us,'cz (qwerty)' --switch=grp:alt_shift_toggleCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 备注
-
必须使用
--vckeymap=或--xlayouts=选项。
-
必须使用
22.3.5. lang 复制链接链接已复制到粘贴板!
lang Kickstart 命令是必需的。它设置了在安装过程中使用的语言以及系统的默认语言。仅使用此命令一次。
- 语法
lang language [--addsupport=language,...]
lang language [--addsupport=language,...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
language- 安装对此语言的支持并将其设置为系统默认。
-
- 可选选项
-
--addsupport=- 添加对其他语言的支持。格式为使用逗号分开的列表,无空格。例如:
lang en_US --addsupport=cs_CZ,de_DE,en_UK
lang en_US --addsupport=cs_CZ,de_DE,en_UKCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
- 备注
-
locale -a | grep _或localectl list-locales | grep _命令返回支持的区域列表。 -
文本模式安装中不支持某些语言(比如中文、日语、韩文和印度的语言)。如果您使用
lang命令指定这些语言中的一种,安装过程将继续使用英语,但安装的系统会使用您选择的语言作为其默认语言。
-
- 示例
要将语言设置为英语,Kickstart 文件应包含以下行:
lang en_US
lang en_USCopy to Clipboard Copied! Toggle word wrap Toggle overflow
22.3.6. module 复制链接链接已复制到粘贴板!
module Kickstart 命令是可选的。使用此命令在 kickstart 脚本中启用软件包模块流。
- 语法
module --name=NAME [--stream=STREAM]
module --name=NAME [--stream=STREAM]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
--name=: 指定要启用的模块名称。使用实际名称替换 NAME。
-
- 可选选项
-
--stream=:指定要启用的模块流的名称。将 STREAM 替换为实际名称。
您不需要为定义的默认流的模块指定此选项。对于没有默认流的模块,这个选项是强制的,省略它将导致错误。无法多次启用带有不同流的模块。
-
- 备注
-
通过这个命令和
%packages部分的组合,您可以安装由启用的模块和流组合提供的软件包,而无需明确指定模块和流。安装软件包前必须启用模块。使用module命令启用模块后,您可以通过在%packages部分列出此模块启用的软件包来安装它们。 -
单个
module命令只能启用单个模块和流组合。要启用多个模块,请使用多个module命令。无法多次启用带有不同流的模块。 -
在 Red Hat Enterprise Linux 10 中,模块仅存在于 AppStream 存储库中。要列出可用的模块,请在已安装的带有有效订阅的 Red Hat Enterprise Linux 系统上使用
dnf module list命令。
-
通过这个命令和
22.3.7. repo 复制链接链接已复制到粘贴板!
repo Kickstart 命令是可选的。它配置额外的 dnf 存储库,可用作软件包安装的来源。您可以添加多个 repo 行。
- 语法
repo --name=repoid [--baseurl=url|--mirrorlist=url|--metalink=url] [OPTIONS]
repo --name=repoid [--baseurl=url|--mirrorlist=url|--metalink=url] [OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
--name=- 存储库 ID。这个选项是必需的。如果库的名称与另一个之前添加的库冲突,则会忽略它。因为安装程序使用预设置程序库列表,这意味着您无法添加名称与预先设置的库的名称相同的库。
-
- URL options
这些选项是互斥的,也是可选的。此处不支持 dnf 存储库配置文件中可以使用的变量。您可以使用字符串
$releasever和$basearch,它们由 URL 中的对应值替换。-
--baseurl=- 存储库的 URL。 -
--mirrorlist=- 指向存储库镜像列表的 URL。 -
--metalink=- 存储库的 metalink 的 URL。
-
- 可选选项
-
--install- 将已安装系统上的仓库配置保存在/etc/yum.repos.d/目录中。如果不使用这个选项,在 Kickstart 文件中配置的程序库将只在安装过程中使用,而无法在安装的系统中使用。 -
--cost=- 为这个存储库分配成本的整数值。如果多个库提供同样的软件包,这个数字就会被用来决定优先使用哪个库。成本低的软件仓库优先于成本高的软件仓库。 -
--excludepkgs=- 不能从此存储库拉取的软件包名称,是一个以逗号分隔的列表。如果多个存储库提供同样的软件包,您希望这个软件包来自特定的仓库,可以使用它。可接受完整软件包名称(如publican)和 globs(如gnome-*)。 -
--includepkgs=- 允许从此存储库拉取的软件包名称和 glob 的逗号分隔列表。该程序仓库提供的其他软件包将被忽略。如果您只想从库中安装单个软件包或软件包组而不包括该程序库提供的所有其他软件包,这个选项就很有用了。 -
--proxy=[protocol://][username[:password]@]host[:port] - 指定仅用于此存储库的 HTTP/HTTPS/FTP 代理。此设置不会影响任何其他存储库,也不会影响在 HTTP 安装中如何获取install.img。 -
--noverifyssl- 连接到HTTPS服务器时禁用 SSL 验证。
-
- 备注
- 用于安装的软件仓库必须是稳定版本。如果在安装完成前修改库,则安装会失败。
22.3.8. rootpw 复制链接链接已复制到粘贴板!
需要 rootpw Kickstart 命令。它将系统的根密码设置为 password 参数的值。仅使用此命令一次。
- 语法
rootpw [--iscrypted|--plaintext] [--lock] password
rootpw [--iscrypted|--plaintext] [--lock] passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
password - 密码规格。纯文本或者加密字符串。请参阅以下
--iscrypted和--plaintext。
-
password - 密码规格。纯文本或者加密字符串。请参阅以下
- 可选选项
-
--iscrypted- 如果给出这个选项,则假设 password 参数已被加密。这个选项与--plaintext相互排斥。要创建一个加密的密码,您可以使用 python:
python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'$ python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会使用随机 salt 为您的密码生成一个 sha512 兼容哈希。
-
--plaintext- 如果给出这个选项,则假设 password 参数为纯文本。这个选项与--iscrypted相互排斥。 -
--lock- 如果给出这个选项,则默认锁定 root 帐户。这意味着 root 用户无法从控制台登录。这个选项还在图形和文本手动安装中禁用 Root 密码 页面。 -
--allow-ssh- 如果此选项存在,root 用户可以使用带有密码的 SSH 登录系统。
-
22.3.9. selinux 复制链接链接已复制到粘贴板!
selinux Kickstart 命令是可选的。它在安装的系统中设定 SELinux 状态。默认 SELinux 策略为 enforcing。仅使用此命令一次。
- 语法
selinux [--disabled|--enforcing|--permissive]
selinux [--disabled|--enforcing|--permissive]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 选项
-
--- 启用 SELinux,默认目标策略被强制使用。enforcing -
--permissive- 基于 SELinux 策略输出警告,但并不强制执行该策略。 -
--disabled- 在系统上完全禁用 SELinux。
-
22.3.10. services 复制链接链接已复制到粘贴板!
services Kickstart 命令是可选的。它修改在默认 systemd 目标下运行的默认服务集合。禁用的服务列表会在启用的服务列表前进行处理。因此,如果服务出现在这两个列表中,它将被启用。
- 语法
services [--disabled=list] [--enabled=list]
services [--disabled=list] [--enabled=list]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 选项
-
--disabled=- 禁用在逗号分隔列表中给出的服务。 -
--enabled=- 启用逗号分隔列表中给出的服务。
-
- 注
-
当使用
services元素启用systemd服务时,请确保在%packages部分中包含指定服务文件的软件包。 使用逗号分开多个服务,没有空格。例如,要禁用四个服务,请输入:
services --disabled=auditd,cups,smartd,nfslock
services --disabled=auditd,cups,smartd,nfslockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您包含任何空格,Kickstart 只启用或禁用第一个空格前的服务。例如:
services --disabled=auditd, cups, smartd, nfslock
services --disabled=auditd, cups, smartd, nfslockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这仅禁用
auditd服务。要禁用所有四个服务,此条目不得包含空格。
-
当使用
22.3.11. skipx 复制链接链接已复制到粘贴板!
skipx Kickstart 命令是可选的。如果存在,系统被配置为在文本模式下引导。仅使用此命令一次。这个命令没有选项。
- 语法
skipx
skipxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
22.3.12. sshkey 复制链接链接已复制到粘贴板!
sshkey Kickstart 命令是可选的。它将 SSH 公钥添加到已安装系统上指定用户的 authorized_keys 文件中。
- 语法
sshkey --username=user "ssh_key"
sshkey --username=user "ssh_key"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
--username=- 要安装密钥的用户。 -
ssh_key- 完整的 SSH 公钥。它必须用引号括起。
-
22.3.13. syspurpose 复制链接链接已复制到粘贴板!
syspurpose Kickstart 命令是可选的。使用它来设置系统在安装后的系统目的。这些信息有助于在系统中应用正确的订阅授权。仅使用此命令一次。
Red Hat Enterprise Linux 9.0 及更新的版本使您能够通过使 role、service-level、usage,以及 addons 子命令在一个 subscription-manager syspurpose 模块下可用来管理并显示系统目的属性。之前,系统管理员使用四个独立的 syspurpose 命令之一来管理每个属性。从 RHEL 9.0 开始,这个独立的 syspurpose 命令已弃用,并计划在 RHEL 9 后删除。红帽将在当前发行生命周期中将提供对这个功能的 bug 修复和支持,但此功能将不再获得改进。从 RHEL 9 开始,单个 subscription-manager syspurpose 命令及其相关的子命令是使用系统用途的唯一方法。请注意,这些更改仅适用于已安装系统上用于系统目的配置的命令行工具,且不会影响 syspurpose kickstart 命令的功能。
- 语法
syspurpose [OPTIONS]
syspurpose [OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 选项
--role=- 设置预期的系统角色。可用值有:- Red Hat Enterprise Linux Server
- Red Hat Enterprise Linux Workstation
- Red Hat Enterprise Linux Compute 节点
--SLA=- 设置服务级别协议。可用值有:- Premium(高级)
- Standard(标准)
- Self-Support(自助)
--usage=- 系统预定用途。可用值有:- Production
- Disaster Recovery
- 开发/测试
- 注
- 输入有空格的值,并使用双引号包括它们:
syspurpose --role="Red Hat Enterprise Linux Server"
syspurpose --role="Red Hat Enterprise Linux Server"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 虽然强烈建议您配置系统目的,但它是 Red Hat Enterprise Linux 安装程序的可选功能。
- 根据为给定帐户配置订阅的方式,可能会使用其他值
22.3.14. timezone 复制链接链接已复制到粘贴板!
timezone Kickstart 命令是必需的。它设置系统时区。仅使用此命令一次。
- 语法
timezone timezone [OPTIONS]
timezone timezone [OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
- timezone - 为系统设定的时区。
- 可选选项
-
--UTC -如果存在,系统假定硬件时钟被设置为 UTC(格林威治 Mean)时间。
-
- 备注
-
在 Red Hat Enterprise Linux 10 中,时区名称是使用
pytz.all_timezones列表进行验证的,后者由 pytz 软件包提供。在以前的版本中,这些名称会根据pytz.common_timezones进行验证,它是当前使用列表的子集。请注意,图形和文本模式界面仍然使用更受限制的pytz.common_timezones列表;您必须使用 Kickstart 文件来使用额外的时区定义。
22.3.15. timesource 复制链接链接已复制到粘贴板!
timesource kickstart 命令是可选的。使用它来设置提供时间数据的 NTP、NTS 服务器和池,以及控制系统上是否启用或禁用 NTP 服务。
- 语法
timesource [--ntp-server NTP_SERVER | --ntp-pool NTP_POOL | --ntp-disable] [--nts]
timesource [--ntp-server NTP_SERVER | --ntp-pool NTP_POOL | --ntp-disable] [--nts]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
在使用
timesource命令时,必须指定以下选项之一:-
--ntp-server- 添加一个 NTP 服务器作为时间源.这个选项只能添加到单个命令中,以添加一个 NTP 时间源服务器。要添加多个源,每次都使用单个 --ntp-server 或 --ntp-pool 选项添加多个 timesource 命令。例如,为 Europe 时区添加多个源
timezone Europe timesource --ntp-server 0.rhel.pool.ntp.org timesource --ntp-server 1.rhel.pool.ntp.org timesource --ntp-server 2.rhel.pool.ntp.org
timezone Europe timesource --ntp-server 0.rhel.pool.ntp.org timesource --ntp-server 1.rhel.pool.ntp.org timesource --ntp-server 2.rhel.pool.ntp.orgCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
--ntp-pool- 添加 NTP 服务器池作为时间源.这个选项只能添加一次,以添加单个 NTP 时间源池。重复 timesource 命令,以添加多个源。 -
--ntp-disable- 禁用已安装系统的 NTP 时间源。
-
- 可选选项
-
--ntp-disable此命令添加的服务器或池使用 NTS 协议。请注意,即使使用 --ntp-disable,也可以添加这个选项,但它无效。
-
22.3.16. user 复制链接链接已复制到粘贴板!
user Kickstart 命令是可选的。它在系统上创建新用户。
- 语法
user --name=username [OPTIONS]
user --name=username [OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填选项
-
--name=- 提供用户名称。这个选项是必需的。
-
- 可选选项
-
--GECOS=- 为用户提供 GECOS 信息。这个字符串包括使用逗号分开的各种具体系统字段。它通常用来指定用户全名、办公室号码等等。详情请查看passwd(5)手册页。 -
--groups=- 除默认组外,还有以逗号分隔的用户应属于的组名列表。组群必须在创建该用户帐户前就已经存在。请参阅group命令。 -
--homedir=- 用户的主目录。如果没有提供,则默认为/home/username。 -
--lock- 如果给出这个选项,则默认锁定这个帐户。这意味着用户无法从控制台登录。这个选项还在图形和文本手动安装中禁用创建用户 页面。 -
--password=- 新用户的密码。如果没有提供,则默认锁定该帐户。 --iscrypted- 如果给出这个选项,则假设 password 参数已被加密。这个选项与--plaintext相互排斥。要创建一个加密的密码,您可以使用 python:python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'$ python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会使用随机 salt 为您的密码生成一个 sha512 兼容哈希。
-
--plaintext- 如果给出这个选项,则假设 password 参数为纯文本。这个选项与--iscrypted相互排斥 -
--shell=- 用户的登录 shell.如果没有提供,则使用系统默认。 -
--uid=- 用户的 UID(用户 ID)。如果没有提供,则默认使用下一个可用的非系统 UID。 -
--gid=- 用于用户组的 GID(组 ID)。如果没有提供,则默认使用下一个可用的非系统组群 ID。
-
- 备注
-
请考虑使用
--uid和--gid选项设置常规用户及其默认组的 ID,范围从5000开始,而不是1000。这是因为为系统用户和组保留的范围(0到999)将来可能会增加,因此与常规用户的 ID 重叠。 使用不同权限创建的文件和目录,由用来创建文件或目录的应用程序指定。例如,
mkdir命令创建启用了所有权限的目录。但是,应用无法为新创建的文件授予某些权限,如user file-creation mask设置所指定。user file-creation mask可通过umask命令控制。新用户的user file-creation mask默认设置由安装系统上的/etc/login.defs配置文件中的UMASK变量定义。如果未设置,则默认为022。这意味着,默认情况下,当应用程序创建一个文件时,会防止为该文件所有者以外的用户授予写入权限。不过,这可以被其他设置或脚本覆盖。
-
请考虑使用
22.3.17. xconfig 复制链接链接已复制到粘贴板!
xconfig Kickstart 命令是可选的。如果与 --startxonboot 选项一同使用,它将安装的系统配置为在图形模式下启动。仅使用此命令一次。
- 语法
xconfig [--startxonboot]
xconfig [--startxonboot]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 选项
-
--startxonboot- 在安装的系统上使用图形登录。
-
- 备注
-
因为 Red Hat Enterprise Linux 10 不包含 KDE 桌面环境,因此请不要使用上游记录的
--defaultdesktop=。
-
因为 Red Hat Enterprise Linux 10 不包含 KDE 桌面环境,因此请不要使用上游记录的