Linux基础教程学习笔记17——KickStart安装系统
一、自动化安装系统工具
1、Cobbler
另一个自动化安装工具;
2、Kickstart
二、使用kickstart自动化安装系统
服务器安装的软件:
1、dhcp服务
[root@linuxidc ~]# yum install dhcp -y
dhcpd的配置文件:
1 subnet 192.168.10.0 netmask 255.255.255.0 {
2 range 192.168.10.100 192.168.10.120;
3 option domain-name-servers 8.8.8.8;
4 option domain-name "linuxidc.seagate.com";
5 option routers 192.168.10.10;
6 option broadcast-address 192.168.10.255;
7 next-server 192.168.10.10;设置tftpd服务器的地址
8 filename "pxelinux.0";Tftpd服务器的文件名
9 default-lease-time 600;
10 max-lease-time 7200;
11 }
2、tftpd服务
[root@linuxidc dhcp]# yum install tftp-server
tftpd服务的文件目录:
[root@linuxidc tftpboot]# pwd
/var/lib/tftpboot
修改/etc/xinetd.d/tftp启用tftpd服务:
6 service tftp
7 {
8 socket_type = dgram
9 protocol = udp
10 wait = yes
11 user = root
12 server = /usr/sbin/in.tftpd
13 server_args = -s /var/lib/tftpboot
14 disable = no
15 per_source = 11
16 cps = 100 2
17 flags = IPv4
18 }
3、安装syslinux服务,提取引导文件pxelinux.0文件到tftpd文件目录:
[root@linuxidc tftpboot]# yum provides */pxelinux.0
syslinux-4.05-8.el7.x86_64 : Simple kernel loader which boots from a FAT filesystem
Repo : mine
Matched from:
Filename : /usr/share/syslinux/pxelinux.0
[root@linuxidc tftpboot]# yum install syslinux-4.05-8.el7.x86_64 -y
[root@linuxidc syslinux]# cp pxelinux.0 /var/lib/tftpboot/
4、从安装光盘镜像的/images/pxeboot目录下拷贝initrd.img,vmlinuz 文件到 tftpd的文件目录
[root@linuxidc pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
5、在tftpd文件目录下面创建pxelinux目录
[root@linuxidc tftpboot]# mkdir pxelinux.cfg
6、拷贝安装光盘镜像/isolinux/目录下面的isolinux.cfg,boot.msg到tftpd文件目录下,并命名为default,给用户写权限
[root@linuxidc isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@linuxidc isolinux]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
[root@linuxidc isolinux]# cp boot.msg /var/lib/tftpboot/
7、安装http服务,配置http安装源
[root@linuxidc pxelinux.cfg]# yum install httpd -y
在http的根目录/var/www/html创建iso目录,将安装光盘镜像iso的所有文件拷贝到iso目录下面,配置/var/www/html/iso目录:
130
131 AllowOverride None
132 # Allow open access:
133 Require all granted
134
8、创建kickstart自动安装脚本
可以从一台已装好系统的机器上面的root家目录下面的anaconda-ks.cfg作为参考,脚本里面有以下一些必须要写的命令:
bootloader:
keyboard:
lang:
part or partition:
rootpw:
timezone:
安装包选择:
以%package开始,以%end结束,中间的软件包以@开始,软件包的定义在iso安装镜像的repodata目录下面的*comps-Server.x86_64.xml定义
31 %packages
32 @base
33 @core
34 @desktop-debugging
35 @dial-up
36 @fonts
37 @gnome-desktop
38 @guest-agents
39 @guest-desktop-agents
40 @input-methods
41 @internet-browser
42 @multimedia
43 @print-client
44 @x11
45
46 %end
安装前脚本:以%pre开始,以%end结束;
安装后脚本:以%post开始,以%end/结束;
9、生成kickstart脚本并放到http根目录/var/www/html下面:
auth --enableshadow --passalgo=sha512
install
url --url http://192.168.10.10/iso
firstboot --enable
ignoredisk --only-use=sda
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto
network --hostname=localhost.localdomain
rootpw --plaintext RedHat
timezone Asia/Chongqing --isUtc --nontp
xconfig --startxonboot
bootloader --location=mbr --boot-drive=sda
part / --fstype=xfs --size=5000
part swap --fstype=swap --size=512
clearpart --none --initlabel
%packages
@base
@core
1234567891011121314151617181920212223 @desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@multimedia
@print-client
@x11
%end
%post
useradd redhat
echo redhat |passwd --stdin redhat
cat >/etc/yum.repos.d/test.repo<
[test]
name=test
baseurl=file:///iso
gpgcheck=0
<
%end
reboot
10、在/var/lib/tftpboot/pxelinux.0/default文件里面修改ks安装源
append initrd=initrd.img inst.ks=http://192.168.10.10/ks.cfg
11、新建虚拟机,启动虚拟机,从pxe network 启动,系统将会自动安装
-----------------------------分割线-----------------------------
Linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解决办法 http://www.linuxidc.com/Linux/2014-03/98986.htm
RHCE认证之无人值守安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE) http://www.linuxidc.com/Linux/2013-10/91013.htm
-----------------------------分割线-----------------------------