CentOS Kickstart及引导镜像文件制作

1. 什么是kickstart安装?

kickstart是RedHat/CentOS/Fedora等系统实现无人值守自动化安装的一种安装方式,系统管理员可将安装过程中需要配置的所有参数集成于一个kickstart文件中,而后在系统安装时,安装程序通过读取事先给定的这个kickstart文件自动化地完成配置并安装完成。

anaconda的配置方式有以下两种:

(1)交互式配置;

(2)通过读取事先给定的配置文件事先自动完成配置,这个配置文件就是kickstart文件,它遵循特定的语法格式。

在前面一篇文章--《图形/文本界面安装CentOS 6.8系统详解已经介绍了使用anaconda应用程序来实现交互式安装CentOS系统,接下来要介绍的是通过kickstart这个配置文件来实现无人值守安装系统。在介绍之前需要先了解一下anaconda程序的安装引导选项。

2. anaconda安装引导选项

anaconda的安装引导选项可在boot界面(即bootloader引导时的菜单界面)由用户给定,由bootloader传递把参数传递给内核,再由内核把参数传递给anaconda应用程序;也可以直接在bootloader的配置文件中写入参数直接传递给内核,以光盘引导为例,可以在isolinux/isolinux.cfg配置文件中通过"append"的方式把参数追加给label中定义的内核。

anaconda的安装引导选项有:

text:文本安装方式;

method:手动指定使用的安装方法;

与网络相关的引导选项:安装时的网络属性配置;

ip=IPADDR:安装时的ip地址;

netmask=MASK:子网掩码;

gateway=GW:默认网关;

dns=DNS_SERVER_IP:安装过程需要解析主机名时会用到;

ifname=NAME:MAC_ADDR:指定以上网络属性配置应用于哪个网络接口之上;

远程访问功能相关的引导选项:

vnc:可以让远程用户帮助配置各个安装选项;

vncpassword:设置vnc密码;

指明kickstart文件的位置:

ks=

需要注意的是,kickstart文件可以来自光盘(镜像)、硬盘或网络,因此其指定方式各有不同。

光盘:

ks=cdrom:/PATH/TO/KICKSTART_FILE

硬盘:

ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE

网络:

HTTP服务器:ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE

HTTPS服务器:ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE

FTP服务器:ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE

3. kickstart文件的格式

kickstart文件包括三个部分:

(1)命令段

(2)程序包段

(3)脚本段

(1)命令段:

作用:指定各种安装前的配置选项,如键盘类型等。

选项类型:必备命令+可选命令

必备命令:

authconfig:认证方式配置

示例:

authconfig --enableshadow --passalgo=sha512

bootloader:定义bootloader的安装位置及相关配置

示例:

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

keyboard:设置键盘类型

示例:

keyboard us

lang:设置语言类型

示例:

lang en_US.UTF-8

part:分区布局

示例:

part /boot --fstype=ext4 --size=500

part pv.008002 --grow --size=1

分区相关的其他命令:

clearpart:清除分区

示例:

clearpart --none --drives=sda

volgroup:创建卷组

示例:

volgroup VolGroup --pesize=4096 pv.008002

logvol:创建逻辑卷

示例:

logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size=1024 --maxsize=5120

0

rootpw:设置管理员密码

示例:

rootpw  --iscrypted $6$2V70fZkSFMrqldev$Qf950j2Ip5vxhEoOmlZgKHnySkBBMA6T5tBQz5jPiAurItpei

663xVkRfrdWZPESgQu33q3E.CShfkY4MCtjK.

生成加密密码的方式:

~]# openssl  passwd  -1  -salt  `openssl  rand  -hex  4`

timezone:时区

示例:

timezone Asia/Shanghai

可选命令:

install或upgrade:安装或升级

text:安装界面类型,text为TUI,默认为GUI

network:配置网络接口

示例:

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

firewall:防火墙

示例:

firewall --disabled

selinux:SELinux

示例:

selinux --disabled

halt、poweroff或reboot:定义安装完成之后的行为,如关机、重启

user:安装完成后为系统创建新用户

repo:指明安装时使用的repository(安装源)

示例:

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

url:指明安装时使用的repository(安装源),但为url格式

示例:

url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.7-x86_64/

注意:要配置好相关网络属性,例如局域网通信需要ip和netmask,如果要访问互联网还需要gateway

和dns。

(2)程序包段

作用:指定要安装的程序包、包组以及不安装的程序包。

表示方式:

%packages:程序包段的开始;

@group_name:要安装的包组;

package:要安装的程序包;

-package:不安装的程序包;

%end:程序包段的结束;

需要注意的是,如果一个程序包被其他指定要安装的程序包所依赖,那么就算指明该程序不安装,系统也会自动安装这个程序包。

(3)脚本段

包括安装前要执行的脚本和安装后要执行的脚本。

①安装前要执行的脚本:%pre

脚本格式:

%pre

...

%end

运行环境:运行于安装介质上的微型Linux系统环境。

②安装后要执行的脚本:%post

脚本格式:

%post

...

%end

4. 制作kickstart文件的方式

(1)直接手动编辑,可以依据某个模板来进行修改;

(2)使用kickstart文件创建工具:system-config-kickstart进行配置,同样可以导入某个模板并修改之。

这里介绍使用kickstart文件创建工具:system-config-kickstart来定制kickstart:

首选确保system-config-kickstart已经安装,如果没有安装可以使用yum安装:

[root@localhost ~]# rpm -q system-config-kickstart

system-config-kickstart-2.8.6.6-1.el6.noarch    //显示已安装;

在命令行上运行system-config-kickstart命令即可启动窗口界面:


[root@localhost ~]# system-config-kickstart &

打开窗口如图:

CentOS Kickstart及引导镜像文件制作

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13950.html