最近想研究下kickstart自动批量安装系统的功能,在网上找了找,发现了一篇不错的文章。

步骤:

  1. mount /dev/sr0 /media/
  2. 安装并配置tftp服务
    yum install tftp tftp-server vsftpd dhcp syslinux nfs-utils
    vim /etc/xinetd.d/tftp
          service tftp
      {
        disable = no
        socket_type       = dgram
        protocol        = udp
        wait          = yes
        user          = root
        server         = /usr/sbin/in.tftpd
        server_args       = -s /var/lib/tftpboot
        per_source       = 11
        cps           = 100 2
        flags          = IPv4
      }
  3. 配置dhcp
    # dhcpd.conf
      #
      # Sample configuration file for ISC dhcpd
      #
      
      allow booting;
      allow bootp;
      
      
      # A slightly different configuration for an internal subnet.
      subnet 192.168.1.0 netmask 255.255.255.0 {
      range 192.168.1.50 192.168.1.60;
      option domain-name-servers KangChangWei;
      option domain-name "KangChangWei";
      option routers 192.168.1.1;
      default-lease-time 600;
      max-lease-time 7200;
      filename "pxelinux.0";
      next-server 192.168.1.101;
      }

    以上IP可以根据自己所在的网络修改

  4. 复制所需要的启动文件
    cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
     cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot
     cp /media/images/pxeboot/initrd.img /var/lib/tftpboot/
     cp /media/images/pxeboot/vmlinuz /var/lib/tftpboot/
     
    mkdir /var/lib/tftpboot/pxelinux.cfg
     cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
  5. 编辑 Vim /var/lib/tftpboot/pxelinux.cfg/default
    default linux
    #default vesamenu.c32
    prompt 1
    timeout 600
      
    display boot.msg
      
    menu background splash.jpg
    menu title Welcome to CentOS 6.5!
    menu color border 0 #ffffffff #00000000
    menu color sel 7 #ffffffff #ff000000
    menu color title 0 #ffffffff #00000000
    menu color tabmsg 0 #ffffffff #00000000
    menu color unsel 0 #ffffffff #00000000
    menu color hotsel 0 #ff000000 #ffffffff
    menu color hotkey 7 #ffffffff #ff000000
    menu color scrollbar 0 #ffffffff #00000000
      
    label linux
     menu label ^Install or upgrade an existing system
     menu default
     kernel vmlinuz
     append initrd=initrd.img ks=ftp://192.168.1.101/pub/ks.cfg
    label vesa
     menu label Install system with ^basic video driver
     kernel vmlinuz
     append initrd=initrd.img xdriver=vesa nomodeset
    label rescue
     menu label ^Rescue installed system
     kernel vmlinuz
     append initrd=initrd.img rescue
    label local
     menu label Boot from ^local drive
     localboot 0xffff
    label memtest86
     menu label ^Memory test
     kernel memtest
     append -
  6. 共享光盘
    vim /etc/export
    /media *(ro,sync)
  7. 启动nfs服务
    [root@kcw ~]# /etc/init.d/rpcbind restart
    停止 rpcbind:                       [确定]
    正在启动 rpcbind:                     [确定]
    [root@kcw ~]# /etc/init.d/nfs restart
    关闭 NFS 守护进程:                    [确定]
    关闭 NFS mountd:                     [确定]
    关闭 NFS 服务:                      [确定]
    Shutting down RPC idmapd:                 [确定]
    启动 NFS 服务:                      [确定]
    启动 NFS mountd:                     [确定]
    启动 NFS 守护进程:                    [确定]
    正在启动 RPC idmapd:                   [确定]
  8. 查看nfs输出
    [root@kcw ~]# showmount -e localhost
    Export list for localhost:
    /media *
  9. 生成ks.cfg文件安装工具
    [root@kcw ~]# yum install system-config-kickstart
  10. 然后运行
    system-config-kickstart

    来修改页面得到自己安装的客户端
    这里有个修改好的ks.cfg,内容如下:

    #platform=x86, AMD64, or Intel EM64T
    #version=DEVEL
    key --skip
    # Firewall configuration
    firewall --disabled
    # Install OS instead of upgrade
    install
    # Use network installation
    nfs --server=192.168.1.101 --dir=/media
    # Root password
    rootpw --iscrypted $1$9ElloIHk$pO.NfjND/6K88z3CiIvPc.
    # Network information
    network --bootproto=dhcp --device=eth0 --onboot=on
    # System authorization information
    auth --useshadow --passalgo=md5
    # Use text mode install
    text
    # System keyboard
    keyboard us
    # System language
    lang zh_CN
    # SELinux configuration
    selinux --disabled
    # Do not configure the X Window System
    skipx
    # Installation logging level
    logging --level=info
    # Reboot after installation
    reboot
    # System timezone
    timezone Asia/Shanghai
    # System bootloader configuration
    bootloader --location=mbr
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all
    # Disk partitioning information
    part swap --size 2048
    part /boot --size 200
    part pv.01 --size 30000
    volgroup vol0 pv.01
    logvol / --vgname=vol0 --size=25000 --name=root
    #logvol /home --vgname=vol0 --size=500 --name=home
      
    %post
    #wget ftp://192.168.1.101/pub/yum.repo -P /etc/yum.repos.d/
    %packages
    @ Desktop
    @ Console internet tools
    @ Desktop Platform
    @ Development Tools
    @ General Purpose Desktop
    @ Graphical Administration Tools
    @ Internet Browser
    @ Network file system client
    @ Printing client
    @ X Window System
    @ Chinese Support
  11. 注意我这块root密码是redhat
    我这里分区时lvm分区根据你的需求也可以修改
    然后把ks.cfg放到你的vsftpd默认可以访问的目录里
    即:

    [root@kcw ~]# cd /var/ftp/pub/
    [root@kcw pub]# ls
    ks.cfg
    [root@kcw pub]# pwd
    /var/ftp/pub

    注意先测试你的这个文件能不能访问打开IE
    输入ftp://192.168.1.101/pub/ks.cfg
    看能否看到内容!
    做完重启dhcp vsftpd xine xinetd nfs
    然后重新开台电脑开机设置从网卡引导看能否启动成功并且自动安装
    我这块等待默认600秒 自动安装
    开机引导到boot:时按回车安装

CentOS6全自动安装 vsftpd+dhcp+nfs+tftp

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注