前言:由于平时的工作和学习中需要经常的使用linux系统,也就避免不了经常的安装系统了,但是安装过程中重复不断的参数设置着实让人头疼,于是决定配置一台可以自动化安装系统的虚拟机,这样以后就免去了一步步安装系统的麻烦,在这里把配置的过程整理了一下,以方便以后使用,需要的朋友可以拿去,欢迎批评指正。至于kickstart是什么,我在这里就不多说了,不了解的朋友可以去找一下相关的文档。
安装平台:vmware workstation 9
系统:centos 5.9(内核2.6.18-348.el5)
内存:512M
配置过程
一、配置使用本地DVD镜像的yum源用于安装所需的软件
接下来要挂在本机光盘文件,测试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系统为方便用户默认添加的源配置文件,要使用本地镜像做源只需将光盘挂载后启用该配置文件即可。
- # 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
修改/tftpboot/pxelinux.cfg/default文件
- # cp /usr/share/syslinux/pxelinux.0 /tftpboot/
- # mkdir /tftpboot/pxelinux.cfg
- # cp /media/cdrom/isolinux/* /tftpboot/
- # mv /tftpboot/isolinux.cfg /tftpboot/pxelinux.cfg/default
编辑之后的default文件内容如下
- # chmod u+w /tftpboot/pxelinux.cfg/default //文件默认只读
- # vim /tftpboot/pxelinux.cfg/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
在服务都正常的情况下就可以进行下面的测试了。
新建一台虚拟机使用网络启动,就可以实现自动化安装完成了。
安装过程大约需要半个小时,安装完成会提示重启系统,之后便可以使用设定的密码登录系统了。