前言:由于平时的工作和学习中需要经常的使用linux系统,也就避免不了经常的安装系统了,但是安装过程中重复不断的参数设置着实让人头疼,于是决定配置一台可以自动化安装系统的虚拟机,这样以后就免去了一步步安装系统的麻烦,在这里把配置的过程整理了一下,以方便以后使用,需要的朋友可以拿去,欢迎批评指正。至于kickstart是什么,我在这里就不多说了,不了解的朋友可以去找一下相关的文档。
安装平台:vmware workstation 9
系统:centos 5.9(内核2.6.18-348.el5)
内存:512M
www.zhishiwu.com
配置过程
一、配置使用本地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
www.zhishiwu.com
二、复制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 initrdinitrd=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 -
www.zhishiwu.com
三、配置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
www.zhishiwu.com
五、配置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里。
www.zhishiwu.com
格式如
%packages
@base
@core
@dialup
@editors
@gnome-desktop
@games
@graphical-internet
@graphics
@hyperv
@office
@printing
@sound-and-video
@text-internet
@base-x
这部分我就不在另作说明了。
接下来要把光盘挂载到/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
在服务都正常的情况下就可以进行下面的测试了。
新建一台虚拟机使用网络启动,就可以实现自动化安装完成了。
安装过程大约需要半个小时,安装完成会提示重启系统,之后便可以使用设定的密码登录系统了。