kickstart批量安装linux系统

 (先准备桌面版环境,方便生成kickstart配置文件,也可以从已经安装完成的linux里root目录下的anaconda-ks.cfg)

1.更新yum源

cd /etc/yum.repos.d/
yum install -y wget
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum install -y epel-release
yum clean all
yum makecache

 2.安装dhcp

yum install dhcp* -y

 3.修改dhcp配置文件,pxelinux.O,其实是pxelinux.0,应以为戒

#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
ddns-update-style interim;
ignore client-updates;
next-server 192.168.174.134;
filename "pxelinux.O";
allow booting;
allow bootp;
subnet 192.168.174.0 netmask 255.255.255.0{
option routers  192.168.174.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.174.7 192.168.174.17;
}

4.可以先开一个虚机,如下图所示,先启动时候dhcp搜索,最后找不到文件,找不到系统

5.开启并设置开机自启服务

systemctl enable dhcpd
systemctl start dhcpd

6.dhcp服务起来后,再对之前的虚机查看,可以看到已经被分配了一个IP地址,下一个服务显示tftp打开超时,所以下一步安装tftp

 7.安装tftp,xinetd是用来管理tftp的

yum install -y tftp-server xinetd

8。修改xinetd中tftp的配置文件,加上-u nobody 和改成no    /var/lib/tftpboot就是tftp的工作目录

9.开启服务,关闭selinux和防火墙

systemctl enable tftp
systemctl enable xinetd
systemctl start xinetd
systemctl start tftp
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

10.可以看到到此步的时候,装系统的那个虚机tftp已经进来了,但是没有找到pxe引导文件

11.所以下一步先下载,然后将这个引导文件拷贝到tftp工作目录/var/lib/tftpboot里

yum install syslinux syslinux-devel -y
cd /usr/share/syslinux/
cp pxelinux.0 /var/lib/tftpboot/
mkdir -p /mnt/cdrom

mnt /dev/cdrom /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
cd isolinux/
cp isolinux.cfg /var/lib/tftpboot/
cd /var/lib/tftpboot
mkdir pxelinux.cfg
mv isolinux.cfg pxelinux.cfg/default

 12.根据提示进行文件添加,这个文件表示的是最开始的菜单

cd /var/lib/tftpboot
cp /mnt/cdrom/isolinux/vesamenu.c32 .

13.如下。此处只是一个菜单,实际点不进去,缺少内核文件,没有灵魂,文件清单其实都可以在isolinux.cfg里找到

 12如文件中提到的vmlinuz,这个是内核文件,下面就从iso镜像里面拷过来

13如图


[root@localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/vmlinuz .
[root@localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/initrd.img .
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vesamenu.c32  vmlinuz
[root@localhost tftpboot]#

14.继续修改default中iso镜像地址

 15.现在没有创建http服务,所以还需要创建

yum install httpd httpd-devel -y
systemctl enable httpd
systemctl start httpd
cd /var/www/html/
mkdir centos7
umount /dev/cdrom
mount /dev/cdrom /var/www/html/centos7/

 16.重启一下之前待安装的系统(虚拟机内存需大于1G,实体机需要大于2G,官方说明,本次为4G),然后就到了这里

17,将default文件精简一下,得到

[root@localhost html]# cat /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
timeout 10
display boot.msg
menu clear
menu background splash.png
menu title CentOS Linux 7
label linux
  menu label ^Install CentOS Linux 7
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://192.168.174.134/centos7 quiet

18.把使用的ks.cfg文件拷过来

cp anaconda-ks.cfg /var/www/html/
cd /var/www/html/
ls
rm ks.cfg
mv anaconda-ks.cfg ks.cfg
chmod 777 ks.cfg
ls
cd /var/lib/tftpboot/
ls
cd pxelinux.cfg/

19增加路径

[root@localhost pxelinux.cfg]# cat default
default linux
timeout 10
display boot.msg
menu clear
menu background splash.png
menu title CentOS Linux 7
label linux
  menu label ^Install CentOS Linux 7
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://192.168.174.134/centos7 quiet ks=http://192.168.174.134/ks.cfg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值