千家信息网

CentOS定制kickstart文件的方法

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,在上面的实验中,我们没有进行任何的安装配置,全部都是Cobbler帮助我们完成的。可是在实际生产中,我们对每台主机的硬盘分区,安装的软件都有相应的要求,所以我们需要自己来定制KickStart文件,这
千家信息网最后更新 2024年09月30日CentOS定制kickstart文件的方法

在上面的实验中,我们没有进行任何的安装配置,全部都是Cobbler帮助我们完成的。可是在实际生产中,我们对每台主机的硬盘分区,安装的软件都有相应的要求,所以我们需要自己来定制KickStart文件,这样我们就能够定制地批量安装操作系统了。
我们就利用实验环境(CentOS 7)中的KickStart文件来定制我们自己的KickStart文件。

一、配置ks文件

Cobbler的ks文件存放位置

/var/lib/cobbler/kickstarts/

配置ks的方法

方法1、 每安装好一台Centos机器,Centos安装程序都会创建一个kickstart配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位于/root/anaconda-ks.cfg)
方法2、Centos提供了一个图形化的kickstart配置工具。在任何一个安装好的Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。kickstart配置工具命令为redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL5/6/7)
方法3、按照格式自定义一个.cfg文件(方法1不可用的情况下)

ks文件说明

kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别。

firewall(可选)

这个选项对应安装程序里的「防火墙配置」屏幕:firewall -enabled|-disabled [-trust=] [-port=]

graphical(可选)

在图形模式下执行kickstart安装.kickstart安装默认在图形模式下安装.text文本安装。

network(可选)

为系统配置网络信息.如果 kickstart安装不要求联网(换句话说,不从NFS,HTTP或FTP安装),就不需要为系统配置网络.如果安装要求联网而kickstart文件 里没有提供网络信息,安装程序会假定从eth0通过动态IP地址(BOOTP/DHCP)来安装,并配置安装完的系统动态决定IP地址.network选 项为通过网络的kickstart安装以及所安装的系统配置联网信息.    -ip=,要安装的机器的IP地址.    -gateway=,IP地址格式的默认网关.    -nameserver=,主名称服务器,IP地址格式.    -nodns,不要配置任何 DNS 服务器.    -netmask=,安装的系统的子网掩码.    -hostname=,安装的系统的主机名.    -ethtool=,指定传给ethtool程序的网络设备的其他底层设置.    -essid=,无线网络的网络ID.    -wepkey=,无线网络的加密密钥.    -onboot=,是否在引导时启用该设备.    -class=,DHCP类型.    -mtu=,该设备的MTU.    -noipv4=,禁用此设备的IPv4.    -noipv6=,禁用此设备的IPv6

multipath(可选)

multipath -name= -device= -rule=part或partition(对于安装是必需的,升级可忽略). 在系统上创建分区. 如果不同分区里有多个红帽企业Linux系统,安装程序会提示用户升级哪个系统. 注意:作为安装过程的一部分,所有被创建的分区都会被格式化,除非使用了-noformat和-onpart.,如果是分区的挂载点,它必须是下列形式中的一种:/ ,例如,/,/usr,/homeswap,该分区被用作交换空间,要自动决定交换分区的大小,使用-recommended选项.swap -recommended自动生成的交换分区的最小值大于系统内存的数量,但小于系统内存的两倍.raid. ,该分区用于 software RAID(参考 raid).pv. ,该分区用于 LVM(参考 logvol).    -size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB.    -grow,告诉分区使用所有可用空间(若有),或使用设置的最大值.    -maxsize=,当分区被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.    -noformat,用-onpart命令来告诉安装程序不要格式化分区.    -onpart=或-usepart=,把分区放在已存在的设备上.例如:partition /home -onpart=hda1,把/home置于必须已经存在的/dev/hda1上.    -ondisk=或-ondrive=,强迫分区在指定磁盘上创建.例如:-ondisk=sdb把分区置于系统的第二个SCSI磁盘上.    -asprimary,强迫把分区分配为主分区,否则提示分区失败.    -type=(用fstype代替),这个选项不再可用了.应该使用fstype.    -fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat.    -start=,指定分区的起始柱面,它要求用-ondisk=或ondrive=指定驱动器.它也要求用-end=指定结束柱面或用 -size=指定分区大小.    -end=,指定分区的结束柱面.它要求用-start=指定起始柱面.    -bytes-per-inode=,指定此分区上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.    -recommended,自动决定分区的大小.    -onbiosdisk,强迫在 BIOS 找到的特定磁盘上创建分区.注:如果因为某种原因分区失败了,虚拟终端3上会显示诊断信息

定义安装的包:

%packages(xxx)%end

定义安装后执行的命令或脚本:

%post(xxx)%end

ks文件示例

centos7

cat /var/lib/cobbler/kickstarts/centos7.cfg
#platform=x86, AMD64, or Intel EM64T#version=DEVEL# Install OS instead of upgradeinstall# Keyboard layouts# old format: keyboard us# new format:keyboard --vckeymap=us --xlayouts='us'# Root passwordrootpw --iscrypted $1$1qaz!QAZ$L4d6kVwN3toE.0oAS.dQ31# Use network installationurl --url="http://192.168.42.128/cobbler/ks_mirror/CentOS-7-x86_64_new-x86_64/"# System languagelang en_US.UTF-8# Firewall configurationfirewall --disabled# System authorization informationauth  --useshadow  --passalgo=sha512# Use graphical install#graphicalreboottext# Run the Setup Agent on first bootfirstboot --enable# SELinux configurationselinux --disabled# Do not configure the X Window Systemskipx# System servicesservices --disabled="chronyd"ignoredisk --only-use=sda# Network informationnetwork  --bootproto=dhcp --device=eth0 --onboot=on# Reboot after installationreboot# System timezonetimezone Asia/Shanghai# System bootloader configurationbootloader --location=mbr --boot-drive=sda# Clear the Master Boot Recordzerombr# Partition clearing informationclearpart --all --initlabel# Disk partitioning informationpart /boot --asprimary --fstype="xfs" --size=1024part swap --fstype="swap" --size=2048part / --fstype="xfs" --grow --size=1%packages@^minimal@core%end%postcat >/etc/profile</etc/security/limits.conf<

centos6.8

#platform=x86, AMD64, or Intel EM64T#version=DEVEL# Firewall configurationfirewall --disabled# Install OS instead of upgradeinstall# Use network installationurl --url="http://192.168.137.38/cobbler/ks_mirror/CentOS-6.8-x86_64/"#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100# Root passwordrootpw --iscrypted $1$ljohn$yBMDpKkntQ9jfV1ZAWKpU1# System authorization informationauth  --useshadow  --passalgo=sha512# Use graphical installgraphical# System keyboardkeyboard us# System languagelang en_US.UTF-8# SELinux configurationselinux --disabled# Do not configure the X Window Systemskipx# Installation logging level#logging --level=info# Reboot after installationreboot# System timezonetimezone  Asia/Shanghai# Network informationnetwork  --bootproto=dhcp --device=eth0 --onboot=on#network  --bootproto=dhcp --device=eth2 --onboot=on# System bootloader configurationbootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"# Clear the Master Boot Recordzerombr# Partition clearing informationclearpart --all --initlabel# Disk partitioning informationpart /boot --asprimary --fstype="ext4" --size=500part swap --fstype="swap" --size=2048part / --fstype="ext4" --grow --size=1%packages --nobase@core%end

二、 将KickStart文件和yum源做关联

在Cobbler 自动创建了yum源之后,会自动有一个ks文件与该源相对应。现在我们需要将自己制作的KS文件与原有的yum源进行关联。

# --name 我们需要添加的启动菜单的名字# --distro  我们自定制的ks文件关联的yum库# --kickstart 我们自定制的ks文件的路径
[root@localhost kickstarts]#cobbler profile add --name=centos7-x86_64-new --distro=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg

查看Cobbler中现在还有多少个启动项

[root@localhost kickstarts]#cobbler profile list   centos6.9-x86_64   centos7-x86_64   centos7-x86_64-new

三、同步

每次对cobbler更改都要执行同步

#cobbler sync
0