目录
PXE的工作过程:" >PXE的工作过程:
首页 运维 CentOS 教你通过网络安装Centos系统

教你通过网络安装Centos系统

Oct 28, 2020 pm 03:39 PM

下面由centos入门教程栏目给大家介绍通过网络安装Centos系统的方法,希望对需要的朋友有所帮助!

一、基础:

  PXE(Pre-bootExecution Environment),预启动执行环境,运行在Client/Server的工作模式; 

  PXE Client会调用网际协议(IP)、用户数据报协议(UDP)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)等网络协议。

  PXE Client存放在网卡的ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,PXE BootROM(自启动芯片)会发送一个UDP广播请求,向本网络中的DHCP服务器索取IP。

PXE的工作过程:

  PXE协议运行的详细工作流程,请参考以下图文描述:

  1. PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器请求IP;

  2. DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;

  3. PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件(在 PXE Client 的 ROM 中,已经存在 TFTP Client);

  4. PXE Client 取得pxelinux.0 文件后之执行该文件;

  5. 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;

  6. 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;

   

二、涉及软件安装及配置(syslinux、DHCP服务器、TFTP服务器、File server)

  1、syslinux

    通过网络引导Linux的引导文件是pxelinux.0,这个文件由syslinux程序提供。SYSLINUX is a suite of bootloaders。

    通过yum install syslinux安装程序后,使用rpm -ql syslinux查看文件的时候,竟然没有显示pxelinux.0这个文件,以为自己安装程序的问题,后来才发现只是未显示而已,文件还是在/usr/share/syslinux/目录下,使用ls /usr/share/syslinux/就可以看到了。

    将pxelinux.0复制到tftp目录: ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

  2、将安装光盘images/pxeboot/目录下的initrd.img、vmlinuz复制到tftp目录:cp images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot

    复制isolinux目录下的三个文件至tftp目录:mnt]# cp isolinux/{boot.cat,vesamenu.c32,splash.jpg} /var/lib/tftpboot/

    注:经验证boot.cat、splash.jpg可以不用复制;boot.cat不复制不影响启动,splash.jpg不复制显示菜单的时候没有背景图片(如下图)。 

                     

    但是vesamenu.c32文件必须要有,不然会报找不到该文件的错误

          

    在/var/lib/tftpboot/下创建pxelinux.cfg:mnt]# mkdir /var/lib/tftpboot/pxelinux.cfg

    将isolinux/isolinux.cfg复制到 /var/lib/tftpboot/pxelinux.cfg目录下并命令为default:mnt]# cp isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

   3、dhcp   

      subnet 172.16.0.0 netmask 255.255.0.0 {
              range 172.16.100.151 172.16.100.170;
              option routers 172.16.100.67;
              filename "pxelinux.0";
              next-server 172.16.100.67;
      }
登录后复制

  4、然后启动虚拟机,就可以显示熟悉的安装引导菜单了。(连接不是tftp服务器,检查服务是否有开,iptables和selinux)

三、全自动通过http安装Centos

以下内容为我整理的流程图,从图中可以看出pxelinux.0的文件功能相当于bootloader和isolinux.bin的集成版。

1、修改default,增加一项ks;如果想在菜单项时间短一些,可以修改timeout时间。

label ks
  menu label ^Install system based ks
  menu default
  kernel vmlinuz
  append initrd=initrd.img 
text ks=http://172.16.100.67/ks.cfg
label linux
  menu label ^Install or upgrade an existing system
  kernel vmlinuz
  append initrd=initrd.img
登录后复制

2、修改ks.cfg文件,指定从http服务器加载安装程序

# Kickstart file automatically generated by anaconda.
#version=DEVELinstall#cdromurl --url=http://172.16.100.67/centos6.6/lang en_US.UTF-8keyboard usnetwork --onboot no --device eth0 --bootproto dhcp --noipv6rootpw  --iscrypted $6$3.bn6KZ9zigMQq.Z$V/Q8xF2asfM8KCWm6GsjhYBvTTmMM6B50i6A/AFFx38xkg1sP2kL.ECBAda4SLwG6itOZhLXG/41sgRCJBLf11firewall --service=sshauthconfig --enableshadow --passalgo=sha512selinux --enforcingtimezone --utc Asia/Shanghaibootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"# 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 workclearpart --all
part /boot --fstype=ext4 --size=200part / --fstype=ext4 --size=7000part swap --size=2000
#repo --name="CentOS"  --baseurl=cdrom:repodata/ --cost=100reboot%packages --nobase@core%end
登录后复制

3、开启dchpd、tftpd、httpd,关闭iptable、selinux,就可以完成自动安装了。

后续:

在安装的时候出现一个问题,提示this device may need to be reinitialized。

解决方法:

在ks文件中增加zeromb就可以了,#号这一行,可有可无,不影响。

# Clear the Master Boot Record
 zeromb
登录后复制

配置修改为:

url --url=http://172.16.100.67/centos6.6/
lang en_US.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp --noipv6
rootpw  --iscrypted $6$3.bn6KZ9zigMQq.Z$V/Q8xF2asfM8KCWm6GsjhYBvTTmMM6B50i6A/AFFx38xkg1sP2kL.ECBAda4SLwG6itOZhLXG/41sgRCJBLf11
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
zerombr
PEX部分内容来自于:https://www.cnblogs.com/sunhongleibibi/archive/2017/11/17/7851382.html
登录后复制

以上是教你通过网络安装Centos系统的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用Docker的CentOS容器化:部署和管理应用程序 使用Docker的CentOS容器化:部署和管理应用程序 Apr 03, 2025 am 12:08 AM

在CentOS上使用Docker进行应用容器化、部署和管理可以通过以下步骤实现:1.安装Docker,使用yum命令安装并启动Docker服务。2.管理Docker镜像和容器,通过DockerHub获取镜像并使用Dockerfile定制镜像。3.使用DockerCompose管理多容器应用,通过YAML文件定义服务。4.部署应用,使用dockerpull和dockerrun命令从DockerHub拉取并运行容器。5.进行高级管理,使用Docker网络和卷部署复杂应用。通过这些步骤,可以充分利用D

CentOS备份和恢复:确保数据完整性和可用性 CentOS备份和恢复:确保数据完整性和可用性 Apr 04, 2025 am 12:02 AM

在CentOS中进行备份和恢复的步骤包括:1.使用tar命令进行基本备份和恢复,如tar-czvf/backup/home_backup.tar.gz/home备份/home目录;2.使用rsync进行增量备份和恢复,如rsync-avz/home//backup/home_backup/进行首次备份。这些方法确保数据的完整性和可用性,适用于不同场景的需求。

CENTOS面试问题:ACE您的Linux系统管理员面试 CENTOS面试问题:ACE您的Linux系统管理员面试 Apr 09, 2025 am 12:17 AM

CentOS面试常见问题及解答包括:1.使用yum或dnf命令安装软件包,如sudoyuminstallnginx。2.通过useradd和groupadd命令管理用户和组,如sudouseradd-m-s/bin/bashnewuser。3.使用firewalld配置防火墙,如sudofirewall-cmd--permanent--add-service=http。4.设置自动更新使用yum-cron,如sudoyuminstallyum-cron并配置apply_updates=yes。

怎样优化CentOS HDFS配置 怎样优化CentOS HDFS配置 Apr 14, 2025 pm 07:15 PM

提升CentOS上HDFS性能:全方位优化指南优化CentOS上的HDFS(Hadoop分布式文件系统)需要综合考虑硬件、系统配置和网络设置等多个方面。本文提供一系列优化策略,助您提升HDFS性能。一、硬件升级与选型资源扩容:尽可能增加服务器的CPU、内存和存储容量。高性能硬件:采用高性能网卡和交换机,提升网络吞吐量。二、系统配置精调内核参数调整:修改/etc/sysctl.conf文件,优化TCP连接数、文件句柄数和内存管理等内核参数。例如,调整TCP连接状态和缓冲区大小

CentOS服务器管理:用户帐户,权限和服务 CentOS服务器管理:用户帐户,权限和服务 Apr 05, 2025 am 12:01 AM

在CentOS中,如何管理用户账户、权限和服务?1.使用useradd命令创建用户,2.通过usermod和groupmod命令管理用户权限,3.使用systemd管理服务,如systemctlstart/stop/status命令。通过这些步骤,可以高效管理CentOS服务器,确保其安全和高效运行。

CENTOS安全硬化:保护服务器免受入侵者的侵害 CENTOS安全硬化:保护服务器免受入侵者的侵害 Apr 07, 2025 am 12:05 AM

CentOS服务器安全加固可以通过以下步骤实现:1.保持系统软件更新,使用“sudoyumupdate-y”命令;2.禁用不必要的服务,如“sudosystemctldisablecups&&sudosystemctlstopcups”;3.配置SELinux为强制模式,使用“sudosetenforce1&&sudosed-i's/SELINUX=permissive/SELINUX=enforcing/g'/etc/selinux/config”命令;4.定期

centos关机命令行 centos关机命令行 Apr 14, 2025 pm 09:12 PM

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

Centos的中断:讨论 Centos的中断:讨论 Apr 11, 2025 am 12:09 AM

CentOS已停止维护,转向CentOSStream,不再提供适合生产环境的版本。影响包括系统迁移和企业重新评估Linux策略。替代方案有:1.迁移到RHEL,2.转向Ubuntu或Debian,3.考虑CentOSStream作为测试平台,4.使用AlmaLinux或RockyLinux。建议尽早制定迁移计划,评估现有系统和团队需求。

See all articles