> 此操作的目的就是为了实现企业中一台有网卡主机给多个有网卡但没有系统的主机进行自动安装系统的功能 最重要的几个模块必须做好
1.共享yum源, 开启Apache服务(http)这样别人才能访问你的主机里固定文件里的东西
2.dhcp服务 这样才可以给其他主机分配ip
3.system-config-kickstart 的安装开启会填写图形界面的信息,为了让系统自动装虚拟机等
4.syslinux 的安装
5.pxe 这个程序就是为了引导对方主机自主安装脚本
1.共享yum源,开启Apache服务(http)
此处的细节在我上一个博客 《linux软件管理》下有详细的说明
请参考,谢谢!!!
> 注意: > 必须关闭防火墙,这样别的主机才可以访问本机的ip。
2.dhcp服务 这样才可以给其他主机分配ip
配置dhcp
cd /etc/dhcp/ 切换到此目录下
ls 查看会出现三个文件,用的是dhcpd.conf
vim dhcpd.conf
此文件打开没有现成的文件,但会让你访问另一个文件,因为之后需要一直在这个文件里做东西,所以干脆就把另一个文件里的内容复制到这个文件里
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
再对dhcpd.conf 进行编辑
vim dhcpd.conf
删除36行以后和27,28的内容,再改动,改动的地方如下图所示
编辑完之后再重启
systemctl restart dhcpd
systemctl start httpd
systemctl enable httpd
3.system-config-kickstart 的安装开启
可以先用yum命令寻找生成自动安装脚本的安装包
yum search system-config-kickstart
找到之后再安装
yum install system-config-kickstart-noarch (***这个上一个博客里有细节,供大家查看***)
system-config-kickstart 开启这个工具,会出来一个图形界面
填好每一个图形里面的信息
最后一步可以填写系统安装好之后自己要做的事情
将该东西保存到/var/www/html/下面即可
在目录里查看
ls 会出现 anaconda-ks.cfg 此文件为说明文件
cd /var/www/html 切换到此目录
ls 会有ks.cfg生成
ksvalidator ks.cfg 检查是否有语法错误
vim ks.cfg 在里编辑如下内容
4.syslinux 的安装
yum install syslinux -y
5.pxe 这个程序就是为了引导对方主机自主安装脚本
但是这个程序需要开启tftp服务,所以以下操作均是tftp服务的开启
yum install tftp-server.x86_64 -y 安装这个软件
systemctl status tftp 查看tftp的状态
若系统是7.0版本的,可以直接开启tftp服务
若是7.3版本的,还得借助xinetd开启tftp服务
(7.3是disable)
`
我的虚拟机是7.3版本,所以要安装xinetd,借助它开启tftp服务
`
vim /etc/xinetd.d/tftp 将tdtp的disable改为no
重启xinetd,查看tftp服务状态
systemctl restart xinetd
chkconfig --list
netstat -antlupe | gerp 69 查看端口是否为69
最后一步啦,马上就好了
mkdir /var/lib/tftpboot/pxelinux.cfg
rpm -ql syslinux | grep pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cd /var/lib/tftpboot 会出现pxelinux.0 和 pxelinux.cfg
cp /var/www/html/westos/isolinux/* /var/lib/tftpboot
cd /var/lib/tftpboot 会出现isolinux.cfg 和 pxelinux.cfg 以及许多文件
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg /default
vim etc/dhcp/dhcpd.conf 在里边加东西
步骤到这就差不多完了,然后我测试了一下。
打开另一台虚拟机它就会实现自动安装。
注意 我的这些操作都是在我的虚拟机里进行的,但是由于我的虚拟机没有install虚拟化管理,所以我的脚本的在真机里写好,然后通过共享yum源,调用我虚拟机里已经开启好的服务, 我的理解是这样的,若是直接在真机进行,只需要这一个主机就行了。 要是我给其他电脑装系统,直接在我的真机里写这些东西就行了,不用写脚本,我操作加脚本只是为了验证我的实验。