KICKSTART关键字

时间:2019-04-29 03:17:25  来源:igfitidea点击:

KICKSTART关键字和参数

尽管Kickstart配置文件是自动生成的,并反映了安装期间选择的选项。为了充分利用kickstart,您需要手工创建这些文件,也可以使用称为Kickstart Configurator的特殊工具来创建这些文件。必须注意,必须按顺序指定kickstart配置部分。这些主要部分中的项目不必按指定顺序排列。这些部分的主要顺序如下:

命令部分

注意:在此指定了主要必需的选项。不需要的项目可以省略。

如果创建的kickstart文件缺少必需的关键字之一,则在安装过程中将提示您输入所需的信息,就像在典型安装过程中会提示您一样。回答了丢失的信息后,安装将继续进行,而无需注意。必需的关键字以及一些常用的可选关键字已包含在下面。

注意:以井号(#)开头的行将被忽略,并被视为注释。

注:对于kickstart升级,需要以下项目:

  1. 语言
  2. 语言支持
  3. 安装方法
  4. 设备规范(如果需要设备来执行安装)
  5. 键盘设置
  6. upgrade关键字
  7. Boot loader配置

如果为升级指定了其他任何项目,则将忽略这些项目(请注意,这包括软件包选择)。

KICKSTART:必填关键字

auth或authconfig

设置系统的身份验证选项。默认情况下,密码通常是加密的,不会被屏蔽。下面的示例指定阴影密码与sha512哈希算法一起使用。

authconfig --enableshadow --passalgo=sha512

bootloader

bootloader关键字指定应如何安装引导加载程序。此选项是安装和升级所必需的。以下示例表明,引导加载程序已安装到驱动器sda上的主引导记录中。

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

keyboard

设置系统的默认键盘类型。

keyboard en_us

lang

设置在安装过程中使用的语言以及在已安装系统上使用的默认语言。
lang en_US.UTF-8

network(可选)

尽管未将网络选件归类为必需选件。对这个关键字有基本的了解很重要。如果您需要在kickstart安装期间手动指定网络设置,则可以使用asknetwork选项引导系统 。这将提示anaconda询问您您的网络设置,而不是使用默认设置(通常为DHCP)。Anaconda安装程序将在获取kickstart文件之前要求提供此信息。但是,您可以按照以下示例指定选项。

网络设置为DHCP示例:

network --onboot no --device eth0 --bootproto dhcp --noipv6

网络设置为静态ip示例:

network --device eth0 --bootproto static --ip 192.168.0.44 --netmask 255.255.255.0 --gateway 192.168.0.1 --nameserver 192.168.0.1 --hostname kicks01

上面指定了将网络接口称为eth0`,bootproto指定我们将使用静态IP地址。其他参数不言自明。

part 或者 partition(安装必需,升级时忽略)

在系统上创建一个分区。有关此选项的更多信息,请参见: 使用Kickstart进行分区

repo(可选)

repo命令可用于指定其他自定义存储库。如果未指定repo,则仍应从安装介质中找到基本存储库。

repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100

rootpw

将系统的根密码设置为password参数。

--iscrypted—如果存在,则假定password参数已被加密。

timezone

将系统时区设置为timezone,它可以是timeconfig列出的任何时区。

timezone --utc Europe/London

zerombr(可选)

如果指定了zerombr,则会初始化磁盘上找到的所有无效分区表。这会破坏具有无效分区表的磁盘的所有内容。在具有先前初始化的磁盘的系统上执行无人参与的安装时,需要此命令。尽管这是可选的,但如果未指定它并且以前已使用过磁盘,则无人参与的安装可能会停止,并要求您手动选择重新初始化选项。只需在kickstart文件中添加zerombr即可指定此命令。(以前,您必须指定zerombr yes,但是现在已弃用了该选项)。

%packages部分

使用%packages命令选择您要安装的软件包(这仅用于安装,因为不支持在升级过程中选择软件包)。通过给每个软件包指定其RPM名称(不包括版本和平台信息)来指定它们。组软件包由@符号,空格和完整的组名指定。

您可以按组或它们的包名称指定包。(以下示例取自CentOS 6.5系统)

%packages
@base
@console-internet
@core
@debugging
@basic-desktop
@directory-client
@general-desktop
@graphical-admin-tools
@hardware-monitoring
@internet-browser
@java-platform
@large-systems
@network-file-system-client
@performance
@perl-runtime
@server-platform
@server-policy
@workstation-policy
@x11
mtools
pax
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
samba-winbind
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end

注意,默认情况下始终选择核心基本组,因此没有必要在%packages部分中指定它们。通过名称(一行的一个条目)指定单个软件包。您可以使用星号*作为通配符,以使条目中的包名称通用化。例如:

nfs*

nfs *包括软件包nfs-utils,nfs-utils-lib以及与指定模式匹配的任何其他软件包。您也可以执行命令yum grouplist以显示可用的组。(这是在现有服务器上完成的)。

前导破折号用于指定要从安装中排除的软件包或组。例如:

-@ Graphical Internet 
-autofs

--nobase
不要安装@Base组。使用此选项可以执行最小化安装,例如针对单一用途的服务器或台式机设备。

%pre部分

可以添加命令以在ks.cfg被解析后立即运行。本节放在kickstart配置文件的末尾。本节必须以%pre命令开头,以%end命令结尾。如果kickstart文件中还包含%post部分,则%pre和%post部分的顺序无关紧要。

可以在%pre部分中访问网络。但是,由于此时尚未配置名称服务,因此只能接受IP地址。

%post部分

使用%post部分,您可以添加安装完成后可以在系统上运行的命令。此部分必须放在kickstart文件的末尾。本节必须以%post命令开头,以%end命令结尾。本节对于诸如安装其他软件,配置其他名称服务器甚至添加帐户之类的功能很有用。

Kickstart文档

Red Hat官方文档

https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/