前言:由于平时的工作和学习中需要经常的使用linux系统,也就避免不了经常的安装系统了,但是安装过程中重复不断的参数设置着实让人头疼,于是决定配置一台可以自动化安装系统的虚拟机,这样以后就免去了一步步安装系统的麻烦,在这里把配置的过程整理了一下,以方便以后使用,需要的朋友可以拿去,欢迎批评指正。至于kickstart是什么,我在这里就不多说了,不了解的朋友可以去找一下相关的文档。

安装平台:vmware workstation 9

系统:centos 5.9(内核2.6.18-348.el5)

内存:512M

配置过程

一、配置使用本地DVD镜像的yum源用于安装所需的软件

   
   
   
   
  1. # cd /etc/yum.repos.d/ 
  2. # mv CentOS-Base.repo CentOS-Base.repo.bak   
  3. //将指向网络的源禁用掉,这里推荐改下名字,方便使用的时候改回去 
  4. # sed 's/enabled=0/enable=1/g' CentOS-Media.repo     
  5. //这个是centos系统为方便用户默认添加的源配置文件,要使用本地镜像做源只需将光盘挂载后启用该配置文件即可。 
接下来要挂在本机光盘文件,测试yum源。
   
   
   
   
  1. # mkdir /media/cdrom 
  2. # mount /dev/cdrom /media/cdrom/ 
  3. # yum clean all 
  4. # 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

   
   
   
   
  1. # cp /usr/share/syslinux/pxelinux.0 /tftpboot/ 
  2. # mkdir /tftpboot/pxelinux.cfg
  3. # cp /media/cdrom/isolinux/* /tftpboot/ 
  4. # mv /tftpboot/isolinux.cfg /tftpboot/pxelinux.cfg/default 
修改/tftpboot/pxelinux.cfg/default文件
   
   
   
   
  1. # chmod u+w /tftpboot/pxelinux.cfg/default //文件默认只读
  2. # vim /tftpboot/pxelinux.cfg/default 
编辑之后的default文件内容如下 
   
   
   
   
  1. default linux   //默认使用label linux 中标记的内核启动 
  2. prompt 1        //显示boot提示符,若为0则不提示,直接按defaul中的参数启动 
  3. timeout 60      //用户输入之前的超时时间,可以自行设定 
  4. display boot.msg    //显示该文件的内容 
  5. F1 boot.msg 
  6. F2 options.msg 
  7. F3 general.msg 
  8. F4 param.msg 
  9. F5 rescue.msg 
  10. label linux 
  11.   kernel vmlinuz 
  12.   append ks=ftp://192.168.1.110/ks.cfg initrd=initrd.img //设置ks.cfg文件的路径,该文件会在后面提到。 
  13. label text 
  14.   kernel vmlinuz 
  15.   append initrd=initrd.img text 
  16. label ks 
  17.   kernel vmlinuz 
  18.   append ks initrd=initrd.img 
  19. label local 
  20.   localboot 1 
  21. label memtest86 
  22.   kernel memtest 
  23.   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

下面是修改之后的配置文件内容,注释掉的部分均已删除。

   
   
   
   
  1. ddns-update-style interim; 
  2. ignore client-updates; 
  3. allow booting;  //定义能够pxe启动 
  4. allow bootp;    //定义支持bootp 
  5. subnet 192.168.1.0 netmask 255.255.255.0 {//所属网段及掩码 
  6.         option routers                  192.168.1.1;//路由器IP,可以写网关IP 
  7.         option subnet-mask              255.255.255.0; 
  8.         range dynamic-bootp 192.168.1.200 192.168.1.250; 
  9.         default-lease-time 21600; 
  10.         max-lease-time 43200; 
  11.         next-server 192.168.1.110; //服务器IP地址。 
  12. filename "pxelinux.0"; //PXE得到IP以后的引导文件 

启动DHCP服务:如果启动错误检查/var/log/message

   
   
   
   
  1. # service dhcpd restart 
  2. # chkconfig --level 35 dhcpd on 

四、修改tftp参数并启动服务,

#vi /etc/xinetd.d/tftp  将选取的yes改为no

配置Kickstart无人值守安装centos5.9_第1张图片

启动tftp

# service xinetd restart

 

五、配置kickstart来生成ks.cfg文件

在终端打命令

system-config-kickstart

在打开的图形界面里进行参数设置

配置Kickstart无人值守安装centos5.9_第2张图片

安装方法设置,这里我使用的是ftp的方式

配置Kickstart无人值守安装centos5.9_第3张图片

Bootloader 安装选项,可以根据需要修改,我这里使用默认的

配置Kickstart无人值守安装centos5.9_第4张图片

分区参数设置

配置Kickstart无人值守安装centos5.9_第5张图片

网络设置,这里选择DNCP

配置Kickstart无人值守安装centos5.9_第6张图片

防火墙和SElinux的设置,可以根据需要设置,我这里使用的默认

配置Kickstart无人值守安装centos5.9_第7张图片

单击“file--save file”把配置文件保存在/var/ftp下

配置Kickstart无人值守安装centos5.9_第8张图片

修改新生成的ks.cfg文件

   
   
   
   
  1. .............不用修改的内容已略去...............
  2. # Partition clearing information 
  3. clearpart --all --initlabel 
  4. key --skip    //添加此行用于跳过输入序列号环节 
  5. .............不用修改的内容已略去...............

因为我目前所使用的系统没有选择软件包的服务,所以在配置ks.cfg文件时不能选择要按照的软包,如果需要安装额外的软件包可以去安装系统是记录的安装信息文件/root/anaconda-ks.cfg里复制相关的软包名字,复制到新生产的ks.cfg里。

格式如

   
   
   
   
  1. %packages 
  2. @base 
  3. @core 
  4. @dialup 
  5. @editors 
  6. @gnome-desktop 
  7. @games 
  8. @graphical-internet 
  9. @graphics 
  10. @hyperv 
  11. @office 
  12. @printing 
  13. @sound-and-video 
  14. @text-internet 
  15. @base-x 

软件包要根据自己的需要选择,一般在批量安装的时候可以先手动安装一台,然后再把安装过程中生成的配置文件拷到kickstart服务端。

接下来要把光盘挂载到/var/ftp/pub目录下

最后要确定一下各个服务的状态

   
   
   
   
  1. # service iptables stop //关闭防火墙 
  2. # setenforce 0 //关闭selinux 
  3. # chkconfig tftp on //TFTP 服务开启命令 
  4. # chkconfig dhcpd on 
  5. # chkconfig vsftpd on 
  6. # service xinetd restart //TFTP服务属于他的子服务 
  7. # service dhcpd restart 
  8. # service vsftpd restart 

在服务都正常的情况下就可以进行下面的测试了。

新建一台虚拟机使用网络启动,就可以实现自动化安装完成了。

配置Kickstart无人值守安装centos5.9_第9张图片

配置Kickstart无人值守安装centos5.9_第10张图片

安装过程大约需要半个小时,安装完成会提示重启系统,之后便可以使用设定的密码登录系统了。