PXE网络安装redhat linux系统

本机环境:

VMWARE 12 redhat7.3


第一步:安装dhcpd tftp vsftpd,并配置

#dhcp

yum -y install dhcp

编辑/etc/dhcp/dhcpd.conf 设置好网段,网关(网关为自己), filename 等

2018-12-26_151029.png

然后启动服务,并设置为开机自动启动

systemctl start dhcpd

systemctl enable dhcpd

#tftp

yum -y install tftp

编辑/etc/xinetd.d/tftp 把disabled值改为no就是了

启动服务并加入开机启动

systemctl start xinetd

systemctl enable xinetd

#vsftpd

yum install vsftpd -y

编辑/etc/vsftpd/vsftpd.conf

启动服务并加入开机启动

systemctl start vsftpd

systemctl enable vsftpd


第二步:复制并配置相应文件

#安装syslinux

yum install syslinux -y

#复制/usr/share/syslinux/pxelinux.0 到 /var/lib/tftpboot

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

mkdir /var/lib/tftpboot/pxelinux.cfg

mount /dev/sr0 /var/ftp/pub/

cp -rf /var/ftp/pub/isolinux/* /var/lib/tftpboot

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

然后安装system-config-kickstart 用来生成自动应答文件ks.cfg 类似/root/anaconda-ks.cfg

yum install system-config-kickstart -y

system-config-kicakstart

配置可参考如下

如果新生成的ks.cfg没有定义安装哪些包的话,需手动写

vim /root/ks.cfg @core 表示core包组,由很多包组成

把新生成的/root/ks.kfg 保存到 /var/ftp/

mv /root/ks.cfg /var/ftp

关键的一步来了:

修改 /var/lib/tftpboot/pxelinux.cfg/default

关闭selinux 防火墙,然后测试


shell版本:环境redhat7.3

只需要坝本机IP设置为192.168.43.108,然后关掉firewalld 和selinux;运行以下脚本即可自动生成pxe环境

#!/bin/bash
umount /dev/sr0 2> /dev/null
mount /dev/sr0 /mnt 1> /dev/null
yum install dhcp tftp-server xinetd vsftpd syslinux -y
sed -i '/disable/c\\tdisable\t\t\t=no' /etc/xinetd.d/tftp
sed -i '/local_enable/clocal_enable=NO' /etc/vsftpd/vsftpd.conf
dhcp_config='# dhcp\nsubnet 192.168.43.0 netmask 255.255.255.0 {\n  range 192.168.43.109 192.168.43.200;\n  option routers 192.168.43.108;\n  option broadcast-address 192.168.43.255;\n  default-lease-time 600;\n  max-lease-time 7200;\n  filename "pxelinux.0";\n}\n
'
echo -e $dhcp_config > /etc/dhcp/dhcpd.conf
systemctl start dhcpd 2>/dev/null
[ $? -ne 0 ] && echo "dhcp start FAILED"
systemctl start vsftpd 2>/dev/null
[ $? -ne 0 ] && echo "vsftpd start FAILED"
systemctl start xinetd 2>/dev/null
[ $? -ne 0 ] && echo "xinetd start FAILED"
systemctl enable dhcpd
systemctl enable vsftpd
systemctl enable xinetd
umount /dev/sr0
mount /dev/sr0 /var/ftp/pub
mkdir /var/lib/tftpboot/pxelinux.cfg
cp -rf /var/ftp/pub/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp -rf /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp -rf /var/ftp/pub/isolinux/* /var/lib/tftpboot
ks_value="install\nkeyboard 'us'\nrootpw --plaintext 123456\nlang zh_CN.UTF-8\nfirewall --disabled\nauth  --useshadow  --passalgo=sha512\nurl --url="ftp://192.168.43.108/pub"\ntext\nfirstboot --enable\nselinux --disabled\nnetwork  --bootproto=dhcp --device=eth0\nreboot\ntimezone Asia/Shanghai\nbootloader --location=mbr\nclearpart --all\npart swap --fstype="swap" --size=2048\npart /boot --fstype="ext4" --size=200\npart / --fstype="ext4" --size=1 --grow\n%packages\n@core\n%end"
echo -e ${ks_value} > /var/ftp/ks.cfg
sed -i '/initrd/c\  append initrd=initrd.img ks=ftp://192.168.43.108/ks.cfg quiet' /var/lib/tftpboot/pxelinux.cfg/default
sed -i 's/Red Hat Enterprise Linux 7.3/Auto Install Linux by DDCW/' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '/timeout/ctimeout 30' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '/menu default/d' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '/label linux/a  menu default' /var/lib/tftpboot/pxelinux.cfg/default
echo "successed"

测试:(关闭selinux和防火墙)。新建一个虚拟机,把网络设置为与宿主机同一vmnet。然后点开始即可

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏耕耘实录

Linux(Centos7.4和RHEL7.4)环境下基于chrony的NTP服务器的构建

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

17810
来自专栏IT笔记

Lepus搭建企业级数据库慢查询分析平台

Lepus的慢查询分析平台是独立于监控系统的模块,该功能需要使用percona-toolkit工具来采集和记录慢查询日志,并且需要部署一个我们提供的shell脚...

19420
来自专栏机器之心

资源 | 囊括欧亚非大陆多种语言的25个平行语料库数据集(拿走不谢!)

原文链接:https://gengo.ai/datasets/25-best-parallel-text-datasets-for-machine-transl...

41530
来自专栏轻量级微服务

容器化 TensorFlow GPU 环境搭建

CPU:Intel Xeon E5-2699 v4 显卡:Nvidia Tesla P100 操作系统:CentOS 7.4

18010
来自专栏左瞅瞅,右瞅瞅

Ansible Module 快速入门

Ansible是python 中的一套模块,系统中的一套自动化工具,只需要使用ssh协议连接及可用来系统管理、自动化执行命令等任务。

27210
来自专栏耕耘实录

在Linux系统中使用ntfs、fat32格式的存储设备

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢。

34340
来自专栏Debian社区

bmon:一个强大的网络带宽监视和调试工具

bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 网络监视和调试工具,它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的...

19330
来自专栏pangguoming

使用sshfs挂载远程服务器目录

服务器日志查看,是开发人员和服务器运维人员在工作中经常会遇到的一件事情,只有一台服务器时,比较好办,直接登录服务器使用tail -f file-path 命令就...

25840
来自专栏Java帮帮-微信公众号-技术文章全总结

CentOS安装NodeJS及Express开发框架

本文演示在Linux上安装NodeJS及Express开发框架 nodejs和mongodb的更新速度太快。参考以前的老文章进行安装,但是用最新版本的nodej...

18240
来自专栏清晨我上码

docker-machine 创建swarm集群

1、安装virtualbox 在/etc/yum.repos.d/目录下新建virtualbox.repo 写入:

16730

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励