Linux PXE 自动部署操作系统

简介: 服务器搭建环境:server1:eth0:192.168.10.10/24 RHEL 5.8一、安装必要的软件包mount /dev/hdc /mnt/iso/yum -y install vsftpd tftp tftp-server syslinux dhcp二、配置DHCP服务...


服务器搭建环境:
server1:eth0:192.168.10.10/24 RHEL 5.8

一、安装必要的软件包
mount /dev/hdc /mnt/iso/
yum -y install vsftpd tftp tftp-server syslinux dhcp

二、配置DHCP服务器,注意1
echo 'ddns-update-style interim;
ignore client-updates;

allow booting;
allow bootp;

subnet 192.168.10.0 netmask 255.255.255.0 {

        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;

        option domain-name-servers      8.8.8.8;

        option time-offset              -18000; # Eastern Standard Time

        range dynamic-bootp 192.168.10.128 192.168.10.254;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 192.168.10.10;
        filename "/pxelinux.0";
}' > /etc/dhcpd.conf
service dhcpd start
注2

三、配置tftp服务器
sed -i '/disable/s/=.*/= no/' /etc/xinetd.d/tftp
service xinetd start
service vsftpd start

四、复制和编辑pxe启动的文件(位于tftp服务器目录下)
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

echo '--To boot from local, type local

--To install RHEL 5.8, type rhel5

' > /tftpboot/boot.msg

cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/initrd_rhel5_x86.img
cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/vmlinuz_rhel5_x86
mkdir /tftpboot/pxelinux.cfg

echo 'default local
display boot.msg
prompt 1
timeout 30
label local
localhost 0
label rhel5
kernel vmlinuz_rhel5_x86
append initrd=initrd_rhel5_x86.img devfs=nomount ramdisk=9216 text ks=ftp://192.168.10.10/pxe/rhel5.8/ks.cfg ksdecive=eth0' > /tftpboot/pxelinux.cfg/default

五、复制和编辑pxe的安装源(位于vsftp服务器目录下)
mkdir -p /var/ftp/pxe/rhel5.8
cp -rf /mnt/iso/* /var/ftp/pxe/rhel5.8/

echo '# Kickstart file automatically generated by anaconda.

install
url --url ftp://anonymous:@192.168.10.10/pxe/rhel5.8
key --skip
lang zh_CN.UTF-8
keyboard us
text
network --device eth0 --onboot yes --bootproto dhcp --hostname client.vicp.net
rootpw --iscrypted $1$sGFG3X5A$HoZCgkUnGIqleVD1wan.e1
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux
part /boot --fstype ext3 --size=100
#part swap --size=512
part / --fstype ext3 --size=6005
reboot
%packages
@british-support
@chinese-support
@core
sgpio' > /var/ftp/pxe/rhel5.8/ks.cfg

注3

全篇完



在同一网段中启动一台新主机,只要输入rhel5就可以自动完成系统的安装了。如果硬盘没有初始化,系统会提示,只要按个回车即可。
root的初始密码为123456

注1:
本例是在虚拟机上测试的,在生产环境中我也是调试完机器再接入网络的。
如果是在生产环境中会遇到Windows和Linux并存的环境,Windows域必定会存在自己的DHCP服务器,有可能会和Linux的DHCP产生冲突(到底会不会有影响,有什么影响,笔者也没试过,也不敢试),因此笔者建议将PXE服务器放在调试环境中,以免影响生产环境的网络。

注2:
DHCP服务器配置文件中下面几条是关键:
allow booting;
allow bootp;
next-server 192.168.10.10;  #指定tftp服务器
filename "/pxelinux.0";  #指定启动文件名,虽然是以/开头,但实际上是相对路径,表示“/tftpboot/pxelinux.0”

注3:
/var/ftp/pxe/rhel5.8/ks.cfg文件的内容怎么来的?如何编辑?
这文件是手工安装系统后在root目录下的anaconda-ks.cfg文件拷贝过来进行简单的修改得来的。
要修改哪些内容,读者可以和我的例子对比一下就明白了。文件里包含了root的初始密码(我的初始密码是123456),记得安装完以后要改密码呀!


目录
相关文章
|
2月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
2月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
1月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
2月前
|
Linux 测试技术 数据安全/隐私保护
阿里云Linux os copilot 运维助手初体验
阿里云Linux os copilot 初体验
379 1
阿里云Linux os copilot 运维助手初体验
|
2月前
|
弹性计算 运维 自然语言处理
阿里云OS Copilot测评:重塑Linux运维与开发体验的智能革命
阿里云OS Copilot巧妙地将大语言模型的自然语言处理能力与操作系统团队的深厚经验相结合,支持自然语言问答、辅助命令执行等功能,为Linux用户带来了前所未有的智能运维与开发体验。
|
2月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
141 1
|
2月前
|
缓存 监控 关系型数据库
深入理解Linux操作系统的内存管理机制
【7月更文挑战第11天】在数字时代的浪潮中,Linux操作系统凭借其强大的功能和灵活性,成为了服务器、云计算以及嵌入式系统等领域的首选平台。内存管理作为操作系统的核心组成部分,对于系统的性能和稳定性有着至关重要的影响。本文将深入探讨Linux内存管理的基本原理、关键技术以及性能优化策略,旨在为读者提供一个全面而深入的理解视角,帮助开发者和系统管理员更好地优化和管理Linux系统。
|
2月前
|
弹性计算 运维 Linux
基于在Alibaba Cloud Linux 3 的OS Copilot 产品评测
作为一名技术运维的工作者,每天做的最多一件事就是在Linux下敲各种各样的命令,或完成功能性的部署,或检查系统的稳定性。如果 OS Copilot 作为我的日常工具,我使用场景会更集中于快捷命令或脚本的实现,智能帮我生成各类功能脚本,为我提高运维效率。
基于在Alibaba Cloud Linux 3 的OS Copilot 产品评测
|
2月前
|
人工智能 运维 自然语言处理
当Linux遇上AI:探索操作系统中的智能新纪元
阿里云的OS Copilot是专为Linux打造的智能助手,利用大模型提供自然语言交互、命令辅助及运维优化。它简化编程任务,生成脚本框架,提供代码审查建议,适合开发者和运维人员。
343 0
当Linux遇上AI:探索操作系统中的智能新纪元
|
2月前
|
弹性计算 运维 Linux
阿里云Linux os copilot 运维助手初体验
摘要(Markdown格式): 在阿里云ECS上体验了Linux编程助手OS Copilot,步骤包括申请账户、开通ECS、安装Copilot。Copilot准确解释代码、快速响应问答、辅助编程,尤其在代码生成和注解上表现出色。作为运维人员,认为其简化了工作,给出8分评价,并愿意推荐给他人。期望它能支持更多操作系统,优化代码直接运行功能,并与更多阿里云产品集成。目前只体验了Copilot的基础功能,未与其他类似产品对比。