首页 > 代码库 > 手把手CentOS6 + DNSMasq + apache + kickstart 网络安装 CentOS7

手把手CentOS6 + DNSMasq + apache + kickstart 网络安装 CentOS7

下载了CentOS 7 的ISO镜像 ,笔记本的光驱坏掉了,U盘也不好用,还是用网络安装比较方便。

之前都是用dhcpd来配DNS,xinetd来启tftp服务,不过太麻烦了,这次直接用dnsmasq取代了上面的两个软件。

说一下环境,apache和dnsmasq都是用系统自带的,安装服务器的IP地址是192.168.0.254

下面说一下步骤:

  1. 挂载ISO镜像

    mkdir /var/www/html/centos7

    mount -o loop CentOS-7.0-1406-x86_64-DVD.iso   /var/www/html/centos7

  2. 通过rpm包获取pxelinux.0文件

    cd /var/www/html/centos7/Packages/

    rpm -ivh syslinux-4.05-8.el7.x86_64.rpm

    经试验,CentOS6是可以安装CentOS7上的syslinux包的

    这个时候,pxelinux.0这个文件就会安装在/usr/share/syslinux目录下,待会儿用的到

  3. 拷贝tftp所需的其他文件

    mkdir -p /tftpboot/pxelinux.cfg/

    cp -r /var/www/html/centos7/isolinux/*   /tftpboot/

    cp /usr/share/syslinux/pxelinux.0 /tftpboot/

    cp /tftpboot/isolinux.cfg  /tftpboot/pxelinux.cfg/default 

  4. 修改安装界面配置文件

    vim  /tftpboot/pxelinux.cfg/default 

    找到如下行:


    label linux

      menu label ^Install CentOS 7

      kernel vmlinuz

      append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

    将inst.stage2=hd:LABEL=CentOS\x207\x20x86_64  修改为

    inst.stage2=http://192.168.0.254/centos7 inst.repo=http://192.168.0.254/centos7

    意思是指定安装第二步所需要的文件和安装源在http服务器上取。 

    如果想用kickstart进行安装,还可以再加点内容inst.ks=http://192.168.0.254/ks/xiaosu.cfg

  5. 这部分的内容是,指定ks文件的网络路径,当然,你需要提前生成ks文件,并放到/var/www/html/ks目录下,并改名为xiaosu.cfg。 关于kickstart文件,可以通过工具生成,不过手动安装CentOS7完成之后,会自动在/root/目录下自动生成文件initial-setup-ks.cfg,你可以先通过网络手动装一个,也就是不用inst.ks参数,只用inst.stage2=http://192.168.0.254/centos7 inst.repo=
http://192.168.0.254/centos7参数,安装完成之后,根据自己的需求修改一下/root/initial-setup-ks.cfg就行了。 修改dnsmasq的配置文件修改dnsmasq只要四行就行,比之前的dhcpd简单的多。dhcp-range=192.168.0.50,192.168.0.150,12hdhcp-boot=pxelinux.0  enable-tftptftp-root=/tftpboot启动服务service dnsmasq restartservice httpd start

这个时候,把另外开机,BIOS里面选PXE启动,就能看到安装界面了,不过注意的是,不要选择Test this media & install CentOS 7 ,而是选择Install CentOS 7这个选项。

然后就可以安装了! 

手把手CentOS6 + DNSMasq + apache + kickstart 网络安装 CentOS7