基于PXE+Kickstart无人值守安装
2019-06-29 10:39
393 查看
准备工作
- 一台服务器(用来提供DHCP,TFTP,HTTP服务)
- 一台客户端(用来测试,注:网卡要支持PXE功能)
- 服务器关闭防火墙和selinux,如果是在虚拟机上还需要关闭虚拟机的DHCP服务,服务器要设置静态IP地址。
- 客户机和服务器一定要在一个网卡模式里
整体架构图
注:由于我们是做实验,用一台服务器提供所需要的服务。
安装步骤
一. 在服务器上安装DHCP ,TFTP,HTTP 服务。
- 安装TFTP服务
- 安装DHCP服务
2.1 修改DHCP的配置文件 /etc/dhcp/dhcpd.conf
- 安装http服务
http的安装就不在这里叙述了可以用yum安装或编译源码安装,我这里使用的是源码编译安装的2.4版本 - 因为tftpboot引导目录下还需要一些必要的文件,我们还要安装一个syslinux包,里面提供了丰富的与系统安装的文件。
4.1 把syslinux里的两个文件复制到 /var/lib/tftpboot/下
二. 先把centos7或6的安装光盘挂载到http的一个目录下,我这里挂载的目录是/apps/httpd24/htdocs/centos/7/os/x86_64/,当然centos6也挂载到相应的目录下。
查看完整的tftpboot下文件
然后再编辑tftpboot/pxelinux.cfg/default文件,可以去光盘下拷贝isolinux.cfg覆盖改改。
三. 准备好kickstart应答文件。
方法一:安装带图形的制作工具 yum -y install system-config-kickstart
方法二:找一台都得安装成功的机器,在他的家目录里有一个anaconda-ks.cfg文件,拿过来改改就可以了。
把应答文件放到http服务的文件夹下 地址要和 tftpboot/pxelinux.cfg/default里的设置匹配
这里提供一个我自己的基于centos7最小化的ks文件供参考。
#platform=x86, AMD64, or Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us' # Root password rootpw --plaintext centos # Use network installation url --url="http://192.168.37.3/centos/7/os/x86_64" #这里要写上安装盘的http地址 # System language lang en_US # System authorization information auth --useshadow --passalgo=sha512 # Use text mode install text firstboot --disable # SELinux configuration selinux --disabled # Firewall configuration firewall --disabled # Network information network --bootproto=dhcp --device=eth0 # Reboot after installation reboot # System timezone timezone Asia/Shanghai # System bootloader configuration bootloader --append="net.ifnames=0" --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all # Disk partitioning information part / --fstype="xfs" --size=100000 part /boot --fstype="xfs" --size=1000 part swap --fstype="swap" --size=2000 %packages @^minimal autofs %end %post mkdir /root/.ssh chmod 700 /root/.ssh #cat > /root/.ssh/authorized_keys <<EOF #ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSi4WucaraQXLsyyrluMBuKjClLscLulnLLzTshTX/L3t7c6Lw+Ap0zMbPuGer0NRuvnkESfsRNtnBXmuTDcuOYeOosMe59zGGmv04BZFipyDi7Acw94IeNF2HaU3pk6WIqkpqYlOnUAvAJg0fN+hEkVBy0S1pghVK7SWA0KFAUKuSrvd8ZNj3NK1Vj+ZPLXGDrnF8JyvfBz8oq+M+70dZRNhSsXCegHUfLY2tRvXOkjYb6tLQlQAgSifzI+FqB0Ix/VmsIspdAep/jwsKNjTf93fngoQ1ovdSu5ybzo95VF+UxAou1+9kNhr9/qJhSGp3StQHAVbERJdgjguhoA7h root@centos7.localdomain #EOF #chmod 600 /root/.ssh/authorized_keys mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak cat > /etc/yum.repos.d/test.repo <<EOF [base] baseurl=http://192.168.37.3/centos/7/os/x86_64 gpgcheck=0 EOF %end
四. 测试效果
- 先测试centos7的最小化安装
- 测试centos6的最小化安装
相关文章推荐
- 基于jquery的轮播图插件
- (转)基于微软平台IIS/ASP.NET开发的大型网站有哪些?
- 【图像配准】基于互信息的图像配准算法:MI、EMI、ECC算法
- Zabbix基于Dell系统管理OMSA监控物理服务器硬件
- 基于VS如何打包qt程序为.exe文件(qt类似)
- 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(3):数据初始化(二)
- 基于JGraphX的通风网络解算---通风网络解算中出现风量为负值的处理
- 深度学习(二十一)基于FCN的图像语义分割-CVPR 2015-未完待续
- 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例
- 在SAE搭建Python+Django+MySQL(基于Windows)
- 算法导论-第23章-最小生成树:Prime算法(基于vector)的C++实现
- C++中基于Crt的内存泄露检测
- 微信小程序实战--基于微信小程序的新闻客户端
- 一种基于annotation的Spring-mvc权限控制方法
- python基于文件操作
- 嵌入式Linux实战篇--交叉编译环境的建立(基于ubuntu 8.10)
- 基于顶点纹理的无限大海水仿真
- 利用Axis实现基于SOAP的Web Service(III)
- 基于Qt/Embedded的物流信息终端导航定位功能设计