无人值守批量安装系统

http://www.linuxidc.com/Linux/2015-09/123312.htm

参数上述文章加上自己实际操作后总结

总共需要4个服务来完成dhcp、tftp、vsftp 、syslinux个服务都采用yum 安装

yum install dhcp tftp-server vsftp syslinux -y

DHCP 1.分配ip 2.指定pxelinux的位置(既tftp服务的ip)

vim /etc/dhcp/dhcpd.conf 

subnet 192.168.1.1 netmask 255.255.255.0 {           #所属网段及掩码; 

range 192.168.1.2 192.168.1.100;                          #IP地址池范围; 

option routers 192.168.1.1;                                  #路由器IP,可以写网关IP,交换机可以不填; 

option broadcast-address 192.168.1.255;               #可不填

next-server 192.168.1.100;                                  #TFTP Server 的IP地址;

filename "pxelinux.0";                                        #pxelinux 启动文件位置;

default-lease-time 600;

max-lease-time 7200;

}

TFTP  2.用来放置initrd.img vmlinuz 此文件需要从需安装的iso镜像中拷贝  vesamenu.c32  boot.msg pxelinux.0


上诉几个文件中 initrd.img vmlinuz 为重要文件 不可缺少 

vesamenu.c32  boot.msg 为非重要文件 不一定要从对应的iso中取得(多版本安装时不一定要对应的此文件)

pxelinux.0 从/usr/share/syslinux/取得

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

mkdir /var/lib/tftpboot/pxelinux.cfg #此文件夹放置iso中isolinux.cfg文件并改名default

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

vim /etc/xinetd.d/tftp

{

      socket_type            = dgram

      protocol                = udp

      wait                    = yes

      user                    = root

      server                  = /usr/sbin/in.tftpd

      server_args            = -s /var/lib/tftpboot  #此行为目录

      disable  = no      #把这行改成no即可;

      per_source    = 11

      cps = 100 2

      flags                  = IPv4

}

vsftp   1.用来放置iso文件 ks.cfg文件

默认安装的配置文件不需改动即可使用

下面附上一键安装脚本

#!/bin/bash
#by yzy
#2018-1-12

ping -c1 www.baidu.com > /dev/null 2>&1
[ $? != 0 ]&&echo “没有网络,无法安装所需服务”&&exit
#在你使用此脚本前请先确认已经插入光盘挂载到/mnt/iso
read -p "已将iso镜像挂载到/mnt/iso下y/n:" i
[ $i != 'yes' -a $i != 'y' ]&&echo "请先挂载镜像到/mnt/iso/下"&&exit 
[ -d /mnt/iso ]||echo '未检测到/mnt/iso'&&exit

#关闭防火墙
setenfore 0
service iptables stop

#安装所需服务 dhcp vsftp tftp syslinux system-config-kickstart
yum install dhcp vsftp tftp-server syslinux system-config-kickstart-y

#配置dhcp服务
cat>/etc/dhcp/dhcpd.conf< subnet 192.168.1.1 netmask 255.255.255.0 {  #所属网段及掩码;
range 192.168.1.2 192.168.1.100;   #IP地址池范围;
option routers 192.168.1.1;   #路由器IP,可以写网关IP,交换机可以不填;
option broadcast-address 192.168.1.255;     #可不填
next-server 192.168.1.100;  #TFTPServer的IP地址;
filename "pxelinux.0";   #pxelinux启动文件位置;
default-lease-time 600;
max-lease-time 7200;
}
EOF


#配置tftp服务
cat>/etc/xinetd.d/tftp< {
socket_type=dgram
protocol=udp
wait=yes
user=root
server = /usr/sbin/in.tftpd
server_args = -s/var/lib/tftpboot   #此行为目录
disable = no                          #把这行改成no即可;
per_source = 11
cps = 1002
flags = IPv4
}
EOF

###拷贝所有所需到文件
#将iso文件拷贝到ftp目录中
[ -d /var/ftp/iso ]||mkdir -p /var/ftp/iso
cp -r /mnt/iso/* /var/ftp/iso/
#/var/lib/tftpboot/所需文件共6个 initrd.img,vmlinuz,vesamenu.32,boot.msg pxelinux.0
#initrd.img,vmlinuz,vesamenu.32,boot.msg  此处会有坑   initrd0.img vmlinuz0
#这里可以加检测 vmlinuz initrd.img 名字的步骤有的iso版本名字会有小出入
cp -rf /var/ftp/iso/iso/isolinux/{initrd.img,vmlinuz,vesamenu.32,boot.msg} /var/lib/tftpboot/
#pxelinux.0
cp -rf /use/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#default
[ -d /var/lib/tftpboot/pxelinux.cfg ]||mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/ftp/iso/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #dedault需修改地址

你可能感兴趣的:(无人值守批量安装系统)