前言:由于平时的工作和学习中需要经常的使用linux系统,也就避免不了经常的安装系统了,但是安装过程中重复不断的参数设置着实让人头疼,于是决定配置一台可以自动化安装系统
前言:由于平时的工作和学习中需要经常的使用linux系统,也就避免不了经常的安装系统了,但是安装过程中重复不断的参数设置着实让人头疼,于是决定配置一台可以自动化安装系统的虚拟机,这样以后就免去了一步步安装系统的麻烦,在这里把配置的过程整理了一下,以方便以后使用,需要的朋友可以拿去,欢迎批评指正。至于kickstart是什么,我在这里就不多说了,不了解的朋友可以去找一下相关的文档。
安装平台:vmware workstation 9
系统:centos 5.9(内核2.6.18-348.el5)
内存:512M
配置过程
一、配置使用本地DVD镜像的yum源用于安装所需的软件
# cd /etc/yum.repos.d/ # mv CentOS-Base.repo CentOS-Base.repo.bak //将指向网络的源禁用掉,这里推荐改下名字,方便使用的时候改回去 # sed 's/enabled=0/enable=1/g' CentOS-Media.repo //这个是centos系统为方便用户默认添加的源配置文件,要使用本地镜像做源只需将光盘挂载后启用该配置文件即可。 接下来要挂在本机光盘文件,测试yum源。
# mkdir /media/cdrom # mount /dev/cdrom /media/cdrom/ # yum clean all # yum list
可以看到显示的软件包列表测说明本地yum源可以正常使用。
下面就可以安装所需的软件了
# yum -y install vsftpd tftp* *kickstart* dhcp
二、复制PXE启动时需要的文件资料
PXE启动映像文件由syslinux软件包提供,安装光盘中已提供,如果没有此软件包可以到syslinux 主页:http://syslinux.zytor.com/下载rpm来安装。
我们只要安装了syslinux,就会生成一个pxelinux.0,将 pxelinux.0 这个文件复制到 '''/tftpboot''' 目录即可。
# rpm -ql syslinux | grep pxelinux.0
# cp /usr/share/syslinux/pxelinux.0 /tftpboot/ # mkdir /tftpboot/pxelinux.cfg# cp /media/cdrom/isolinux/* /tftpboot/ # mv /tftpboot/isolinux.cfg /tftpboot/pxelinux.cfg/default 修改/tftpboot/pxelinux.cfg/default文件
# chmod u+w /tftpboot/pxelinux.cfg/default //文件默认只读# vim /tftpboot/pxelinux.cfg/default 编辑之后的default文件内容如下
default linux //默认使用label linux 中标记的内核启动 prompt 1 //显示boot提示符,若为0则不提示,直接按defaul中的参数启动 timeout 60 //用户输入之前的超时时间,可以自行设定 display boot.msg //显示该文件的内容 F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg label linux kernel vmlinuz append ks=ftp://192.168.1.110/ks.cfg initrd=initrd.img //设置ks.cfg文件的路径,该文件会在后面提到。 label text kernel vmlinuz append initrd=initrd.img text label ks kernel vmlinuz append ks initrd=initrd.img label local localboot 1 label memtest86 kernel memtest append -
三、配置DHCP服务
# rpm -ql dhcp | grep --color dhcpd.conf.sample
# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
cp: overwrite `/etc/dhcpd.conf'? //是否覆盖原来的配置文件,这里选择是,键入y即可。
修改主配置文件dhcpd.conf
# vim /etc/dhcpd.conf
下面是修改之后的配置文件内容,注释掉的部分均已删除。
ddns-update-style interim; ignore client-updates; allow booting; //定义能够pxe启动 allow bootp; //定义支持bootp subnet 192.168.1.0 netmask 255.255.255.0 {//所属网段及掩码 option routers 192.168.1.1;//路由器IP,可以写网关IP option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.1.200 192.168.1.250; default-lease-time 21600; max-lease-time 43200; next-server 192.168.1.110; //服务器IP地址。 filename "pxelinux.0"; //PXE得到IP以后的引导文件
启动DHCP服务:如果启动错误检查/var/log/message
# service dhcpd restart # chkconfig --level 35 dhcpd on
四、修改tftp参数并启动服务,
#vi /etc/xinetd.d/tftp 将选取的yes改为no
启动tftp
# service xinetd restart
五、配置kickstart来生成ks.cfg文件
在终端打命令
# system-config-kickstart
在打开的图形界面里进行参数设置
安装方法设置,这里我使用的是ftp的方式
Bootloader 安装选项,可以根据需要修改,我这里使用默认的
分区参数设置
网络设置,这里选择DNCP
防火墙和SElinux的设置,可以根据需要设置,我这里使用的默认
单击“file--save file”把配置文件保存在/var/ftp下
修改新生成的ks.cfg文件
.............不用修改的内容已略去...............# Partition clearing information clearpart --all --initlabel key --skip //添加此行用于跳过输入序列号环节 .............不用修改的内容已略去...............
因为我目前所使用的系统没有选择软件包的服务,所以在配置ks.cfg文件时不能选择要按照的软包,如果需要安装额外的软件包可以去安装系统是记录的安装信息文件/root/anaconda-ks.cfg里复制相关的软包名字,复制到新生产的ks.cfg里。
格式如
%packages @base @core @dialup @editors @gnome-desktop @games @graphical-internet @graphics @hyperv @office @printing @sound-and-video @text-internet @base-x
软件包要根据自己的需要选择,一般在批量安装的时候可以先手动安装一台,然后再把安装过程中生成的配置文件拷到kickstart服务端。
接下来要把光盘挂载到/var/ftp/pub目录下
最后要确定一下各个服务的状态
# service iptables stop //关闭防火墙 # setenforce 0 //关闭selinux # chkconfig tftp on //TFTP 服务开启命令 # chkconfig dhcpd on # chkconfig vsftpd on # service xinetd restart //TFTP服务属于他的子服务 # service dhcpd restart # service vsftpd restart
在服务都正常的情况下就可以进行下面的测试了。
新建一台虚拟机使用网络启动,就可以实现自动化安装完成了。
安装过程大约需要半个小时,安装完成会提示重启系统,之后便可以使用设定的密码登录系统了。