Linux之kickstart无人值守安装系统
作者:互联网
前言:
安装几十或上百台以上的Linux操作系统时,我们不可能一台一台的手动去安装,这样又费力又耗时,这时我们就需要一个批量和无操作的方法来安装系统,而Linux中的kickstart无人值守安装服务就提供了这样的功能,当然也有很多方法可以实现这样的功能,本章只讲解kickstart的方法。
1、kickstart服务器环境
1)服务器IP地址:192.168.26.102
2)操作系统:
[root@vms002 /]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo)
3)kickstart需要安装的服务
服务 | 功能 |
dhcp | 提供给客户端IP信息及tftp服务器信息 |
tftp-server | 存放引导程序,提供给客户端下载 |
ftp或http或nfs | 共享操作系统 |
2、DHCP安装及配置
1)yum安装dhcp服务
[root@vms002 /]# yum -y install dhcp [root@vms002 /]# rpm -qa dhcp dhcp-4.2.5-36.el7.x86_64
2)编辑DHCP配置文件
#查找DHCP配置文件
[root@vms002 /]# rpm -qc dhcp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd6.conf /etc/openldap/schema/dhcp.schema /etc/sysconfig/dhcpd /var/lib/dhcpd/dhcpd.leases /var/lib/dhcpd/dhcpd6.leases
#编辑DHCP配置文件
[root@vms002 /]# cd /etc/dhcp/ [root@vms002 dhcp]# ls dhclient.d dhcpd6.conf dhcpd.conf #备份dhcpd.conf配置文件 [root@vms002 dhcp]# cp dhcpd.conf dhcpd.conf.back [root@vms002 dhcp]# cat dhcpd.conf # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # [root@vms002 dhcp]# cp /usr/share/doc/dhc dhclient-4.2.5/ dhcp-4.2.5/ dhcp-common-4.2.5/ [root@vms002 dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example ./dhcpd.conf cp:是否覆盖"./dhcpd.conf"? y #编辑dhcpd.conf配置文件 [root@vms002 dhcp]# vim dhcpd.conf subnet 192.168.26.0 netmask 255.255.255.0 { #网段 range 192.168.26.10 192.168.26.60; #分配IP地址池 option domain-name-servers 192.168.26.2; #dns地址 option domain-name "example.com"; option routers 192.168.26.2; #网关地址 option broadcast-address 192.168.26.255; #广播地址 next-server 192.168.26.102; #tftp服务器IP地址 filename "/pxelinux.0"; #告知客户端从tftp服务器根目录下下载pxelinux.0引导程序文件 default-lease-time 600; max-lease-time 7200; }
3)启动dhcp服务并设置开机自启动
#启动dhcpd服务 [root@vms002 dhcp]# systemctl start dhcpd [root@vms002 dhcp]# systemctl is-active dhcpd active #设置开机自启动dhcpd服务 [root@vms002 dhcp]# systemctl enable dhcpd ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service' [root@vms002 dhcp]# systemctl is-enabled dhcpd enabled
3、安装tftp-server服务
1)yum安装tftp-server服务
[root@vms002 dhcp]# yum -y install tftp-server
2)编辑tftp配置文件
#查询tftp配置文件 [root@vms002 dhcp]# rpm -qc tftp-server /etc/xinetd.d/tftp [root@vms002 dhcp]# cd /etc/xinetd.d/ [root@vms002 xinetd.d]# ls chargen-dgram daytime-stream echo-dgram tftp chargen-stream discard-dgram echo-stream time-dgram daytime-dgram discard-stream tcpmux-server time-stream #备份tftp配置文件 [root@vms002 xinetd.d]# cp tftp tftp.back #编辑tftp配置文件 [root@vms002 xinetd.d]# vim tftp # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no #默认是yes,改为no per_source = 11 cps = 100 2 flags = IPv4 }
3)启动tftp服务并设置开机自启动
#启动xinetd服务 [root@vms002 xinetd.d]# systemctl start xinetd [root@vms002 xinetd.d]# systemctl is-active xinetd active #设置开机自启动xinetd服务 [root@vms002 xinetd.d]# systemctl enable xinetd [root@vms002 xinetd.d]# systemctl is-enabled xinetd enabled
4、复制引导程序及网络启动的内核文件到tftp服务的根目录下
#tftp根目录路径
[root@vms002 xinetd.d]# ls /var/lib/tftpboot/
1)查询及安装pxelinux.0引导程序,复制pxelinux.0引导程序到tftp根目录下
#查询pxelinux.0引导程序
[root@vms002 xinetd.d]# yum whatprovides */pxelinux.0 已加载插件:langpacks, product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. dvd/filelists_db | 3.1 MB 00:00 syslinux-4.05-12.el7.x86_64 : Simple kernel loader which boots from a FAT : filesystem 源 :dvd 匹配来源: 文件名 :/usr/share/syslinux/pxelinux.0
#安装pxelinux.0引导程序
[root@vms002 xinetd.d]# yum -y install syslinux-4.05-12.el7.x86_64
#复制pxelinux.0引导程序到tftp根目录下
[root@vms002 xinetd.d]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [root@vms002 xinetd.d]# ls /var/lib/tftpboot/ pxelinux.0
2)mount挂载光盘到/rhel-7.1目录下,复制网络启动的内核文件{vmlinuz,initrd.img}到tftp根目录下
#创建/rhel-7.1目录
[root@vms002 xinetd.d]# mkdir /rhel-7.1
#mount挂载
[root@vms002 xinetd.d]# mount /dev/cdrom /rhel-7.1/ mount: /dev/sr0 写保护,将以只读方式挂载 [root@vms002 xinetd.d]# ls /rhel-7.1/ addons images Packages RPM-GPG-KEY-redhat-release EFI isolinux release-notes TRANS.TBL EULA LiveOS repodata GPL media.repo RPM-GPG-KEY-redhat-beta
#复制网络启动的内核文件{vmlinuz,initrd.img}到tftp根目录下
[root@vms002 xinetd.d]# cp /rhel-7.1/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ [root@vms002 xinetd.d]# ls /var/lib/tftpboot/ initrd.img pxelinux.0 vmlinuz
3)根据自己的操作系统重命名tftp目录下的引导程序和内核文件,以便区分
[root@vms002 xinetd.d]# cd /var/lib/tftpboot/ [root@vms002 tftpboot]# ls initrd.img pxelinux.0 vmlinuz [root@vms002 tftpboot]# mv initrd.img initrd_7.1.img [root@vms002 tftpboot]# mv pxelinux.0 pxelinux_7.1.0 [root@vms002 tftpboot]# mv vmlinuz vmlinuz_7.1 [root@vms002 tftpboot]# ls initrd_7.1.img pxelinux_7.1.0 vmlinuz_7.1
5、安装并启动vsftpd服务
1)yum安装vsftpd服务
[root@vms002 /]# yum -y install vsftpd
2)启动并设置开机自启动vsftpd服务
#启动vsftpd服务 [root@vms002 /]# systemctl start vsftpd [root@vms002 /]# systemctl is-active vsftpd active #设置开机自启动vsftpd服务 [root@vms002 /]# systemctl enable vsftpd ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service' [root@vms002 /]# systemctl is-enabled vsftpd enabled
6、安装system-config-kickstart工具包,编辑kickstart配置程序生成rhel-7.1.cfg应答文件
1)修改yum源名称
[root@vms002 /]# vim /etc/yum.repos.d/aa.repo [development] #修改此名称 name=dvd baseurl=ftp://192.168.26.101/dvd enabled=1 gpgcheck=0 [root@vms002 /]# yum clean all
2)yum安装system-config-kickstart工具包
[root@vms002 /]# yum -y install system-config-kickstart
3)编辑kickstart配置程序生成rhel-7.1.cfg应答文件,并保存在vsftpd根目录下(/var/ftp/)
[root@vms002 /]# system-config-kickstart &
#编辑完后保存在/var/ftp目录下
4)检查应答文件是否生成成功
[root@vms002 /]# ls /var/ftp/ pub rhel-7.1.cfg
7、复制并编辑PXE配置文件
1)复制PXE配置文件
#在tftp目录下创建pxelinux.cfg目录
[root@vms002 tftpboot]# pwd /var/lib/tftpboot [root@vms002 tftpboot]# mkdir pxelinux.cfg [root@vms002 tftpboot]# ls initrd_7.1.img pxelinux_7.1.0 pxelinux.cfg vmlinuz_7.1
#复制PXE配置文件到pxelinux.cfg目录下,并命名为default文件
[root@vms002 tftpboot]# cp /rhel-7.1/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@vms002 tftpboot]# ls /var/lib/tftpboot/pxelinux.cfg default
2)编辑PXE配置文件
#备份default文件
[root@vms002 tftpboot]# cd /var/lib/tftpboot/pxelinux.cfg/ [root@vms002 pxelinux.cfg]# cp default default.back [root@vms002 pxelinux.cfg]# ls default default.back
#赋予default文件写入权限
[root@vms002 pxelinux.cfg]# chmod u+w default [root@vms002 pxelinux.cfg]# ls -l default -rw-r--r--. 1 root root 3166 6月 3 15:56 default
#编辑文件
[root@vms002 pxelinux.cfg]# vim default default rhel-7.1 #默认启动的是“label rhel-7.1”中标记的启动内核 timeout 600 #在用户输入之前的超时时间,单位为秒 prompt 0 #显示‘boot’提示符,为0时不提示,启动默认指定的启动内核 ..................省略................... label rhel-7.1 menu label ^Install Red Hat Enterprise Linux 7.1 kernel vmlinuz_7.1 #与tftp目录下的内核文件一样 append initrd=initrd_7.1.img inst.ks=ftp://192.168.26.102/rhel-7.1.cfg quiet ..................省略...................
3)重启tftp服务
[root@vms002 pxelinux.cfg]# systemctl restart xinetd
8、测试
用VMware Workstation虚拟机,创建一个新的虚拟机,不指定使用ISO镜像文件,网络适配器要与kickstart服务器是同一个网段。
标签:kickstart,7.1,xinetd,值守,Linux,dhcp,tftp,root,vms002 来源: https://blog.51cto.com/13716812/2404447