搜索
首页系统教程LINUXLinux内核、初始化文件、安装源、启动菜单、菜单

实验环境

随着某公司业务不断发展,服务器主机的数目也迅速下降,对于功能变更或新采购的服务器,须要重新安装CentOS7操作系统,为了提升服务器装机效率,要求基于PXE网路实现全手动无人值守批量安装。

需求描述

>服务器的IP地址为“192.168.184.101”,所在公网为“192.168.184.0/24”。

>搭建PXE网路装机服务器,为新采购的10台服务器裸机安装CentOS操作系统。

>新装的系统为最小化安装,默认语言为“中文”。

>为新装的系统手动配置好YUM库房,root密码设置为“abc.123”。

11.3.1搭建PXE远程安装服务器

本例的PXE远程安装服务器集成了CentOS7安装源,TFTP服务,DHCP服务,才能向顾客机裸机发送PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件。

1.打算CentOS7安装源

CentOS7的网路安装源通常通过HTTP或FTP合同发布,另外也支持NFS(NetworkFileSystem,网路文件系统)合同,关于NFS的配置请参阅其他资料,这儿不再赘言。

比如,若采用FTP合同发布安装源,可以在服务器上布署一个YUM软件库房。

[root@node01 centos7]# mount /dev/cdrom /mnt/
[root@node01 ~]# mkdir /var/ftp/centos7
[root@node01 ~]# cp -rf /mnt/* /var/ftp/centos7/
[root@node01 ~]# systemctl start vsftpd

批量安装linux_批量安装linux系统_批量安装windows10

批量安装linux_批量安装windows10_批量安装linux系统

2.安装并启用TFTP服务

TFTP服务由tftp一server软件包提供,配置文件坐落/etc/xinetd.d/tftp,配置时只要将“disable=yes”改为“disable=no",之后启动TFTP服务即可。

[root@node01 ~]# yum -y install tftp-server
[root@node01 ~]# vim /etc/xinetd.d/tftp
[root@node01 ~]# systemctl start tftp
[root@node01 ~]# systemctl enable tftp

批量安装linux_批量安装windows10_批量安装linux系统

批量安装linux_批量安装linux系统_批量安装windows10

批量安装linux_批量安装windows10_批量安装linux系统

3.打算Linux内核、初始化镜像文件

用于PXE网路安装的Linux内核,初始化镜像文件可以从CentOS7系统光碟获得,分别为vmlinuz和initrd,img,坐落文件夹images/pxeboot下。找到这两个文件并将其复制到tftp服务的根目录下。

[root@node01 ~]# cd /mnt/images/pxeboot/
[root@node01 pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

4.打算PXE引导程序、启动菜单文件

用于PXE网路安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下。

[root@node01 ~]# yum -y install syslinux
[root@node01 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

批量安装linux系统_批量安装windows10_批量安装linux

启动菜单拿来指导顾客机的引导过程,包括怎样调用内核,怎么加载初始化镜像。默认的启动菜单文件为defaultlinux学习视频,应放置在tftp根目录的pxelinux.ctg子目录下,典型的启动菜单配置可参考以下操作自动构建。

[root@node01 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@node01 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto //指定默认入口名称
prompt 1 //1表示等待用户控制
label auto
 kernel vmlinuz
 append initrd=initrd.img method=ftp://192.168.184.101/centos7
label linux text
 kernel vmlinuz
 append text initrd=initrd.img method=ftp://192.168.184.101/centos7
 
label linux rescue
 kernel vmlinuz
 append rescue initrd=initrd.img method=ftp://192.168.184.101/centos7

批量安装windows10_批量安装linux系统_批量安装linux

上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。其中,prompt拿来设置是否等待用户选择;label拿来定义并分隔启动项;kernel和append拿来定义引导参数。引导入口的个数及内容依照须要自行定义。诸如,实现无人值守安装时只须要一个入口就够了。

5.安装并启用DHCP服务

因为PXE顾客机一般是仍未装系统的裸机,因而为了与服务器取得联系并正确下载相关引导文件,须要预先配置好DHCP服务来手动分配地址并告知引导文件位置。如PXE服务器的IP地址为192.168.184.101,DHCP地址池为192.168.8.150~192.168.8.200.则可以参考以下操作来搭建DHCP服务器。

[root@node01 ~]# yum -y install dhcp
[root@node01 ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.184.0 netmask 255.255.255.0 {
 range 192.168.184.150 192.168.184.200;
 option domain-name-servers 202.96.128.86;
 option domain-name "bdqn.com";
 option routers 192.168.184.2;
 option broadcast-address 192.168.184.255;
 default-lease-time 21600;
 max-lease-time 43200;
 next-server 192.168.184.101;//指定TFTP服务器的地址
 filename "pxelinux.0";//指定PXE引导程序的文件名
}
[root@node01 ~]# systemctl start dhcpd
[root@node01 ~]# systemctl enable dhcpd

批量安装linux系统_批量安装linux_批量安装windows10

批量安装linux_批量安装linux系统_批量安装windows10

从上述过程可以见到,与通常DHCP服务不同的是,配置文件中降低了netx-server和filename这两行记录,分别拿来指定TFTP服务器的地址和PXE引导程序的文件名。

11.3.2验证PXE网路安装

搭建好PXE远程安装服务器之后,就可以使用顾客机进行安装测试了。对于新订购的服务器或PC裸机,通常不须要额外设置:若要为已有系统的主机重装系统,则可能须要更改BIOS设置,将“BootFirst”设为“NETWORK”或“LAN”,之后重启主机;若使用VMware创建的虚拟机进行测试,虚拟机显存起码须要2GB,否则在启动安装时会报错。

假如服务器配置正确,网路联接、PXE支持等都没有问题,则顾客机重启后将手动配置IP地址,之后从TFTP服务器中获取引导程序pxelinux.0,并按照引导菜单配置提示用户指定启动入口,如图中所示。

PXE网路安装的引导菜单

批量安装linux_批量安装windows10_批量安装linux系统

在提示字串“boot:”后直接按Enter键(或执行“auto”命令),将会步入默认的图形安装入口;若执行“linuxtext”命令,则步入文本安装入口;若执行“linuxrescue”命令,则步入搜救模式。

直接按Enter键确认后将手动通过网路下载安装文件,并步入图形安装程序界面,如图中所示。若才能成功抵达这一步批量安装linux,说明PXE网路安装基本成功。后续安装步骤与使用光碟的正常安装类似,这儿不再表述。

步入图形化安装配置程序

批量安装linux_批量安装linux系统_批量安装windows10

11.4实现Kickstart无人值守安装

上一节介绍了通过PXE技术远程安装CentOS7系统的方式,安装介质不再受限于光碟、移动硬碟等设备,大大增强了系统安装的灵活性.但是,安装期间仍须要自动选择语言,按键类型、指定安装源等一系列交互操作,当须要批量安装时十分不便捷。

批量安装linux_批量安装windows10_批量安装linux系统

本节将进一步学习怎样实现无人值守手动安装,通过使用Kickstart工具配置安装应答文件,自动完成安装过程中的各类设置,因而无须自动干预,提升网路装机效率。

11.4.1打算安装应答文件

在CentOS7系统中安装system-config-kickstart工具以后.即可通过图形化向导工具来配置安装应答文件,假如用户对手动应答文件的配置比较熟悉,也可以直接编辑CentOS7安装后手动创建的应答文件(/root/anaconda-ks.cfg),按照须要适当修订后使用。

1.配置安装应答参数

通过桌面菜单“应用程序”→“系统工具"→“Kickstart"即可打开“Kickstart配置程序”窗口。在“Kickstart配置程序”窗口中,可以针对基本配置、安装方式,引导装载程序选项,分区信息、网络配置等各类安装设置进行指定,如图中所示。

[root@node01 ~]# yum -y install system-config-kickstart

批量安装linux系统_批量安装windows10_批量安装linux

批量安装windows10_批量安装linux系统_批量安装linux

“Kickstart配置程序”窗口

批量安装linux_批量安装windows10_批量安装linux系统

1)基本配置及安装方式

“基本配置”可参考图中来指定,比如,将默认语言设为“中文(繁体)”,时区设为“Asia/Shanghai”,根口令设为“abc.123”,中级配置中勾选“安装后重启”。在“安装方式”界面中,应正确指定CentOS7的安装方式,如右图所示。若有用户验证信息也需一并指定。在“引导装载程序选项”界面中,选择安装新引导装载程序。

指定CentOS7的安装方式

批量安装linux_批量安装windows10_批量安装linux系统

2)分区信息

在“分区信息”界面中,需正确规划硬碟分区方案。诸如,可界定一个1024MB的/boot分区、2GB的swap分区,将剩余空间界定给根分区,如图中所示。

指定硬碟分区方案

批量安装windows10_批量安装linux系统_批量安装linux

3)网路配置及防火墙配置

在“网络配置”界面中,添加一个网路设备“ens33”,将网路类型设为“DHCP”。

在“防火墙配置”界面中,可以选择禁用SELinux、禁用防火墙。

批量安装linux_批量安装linux系统_批量安装windows10

4)软件包选择

CentOS7系统开始不再提供软件包的选择,如图中所示,假如须要安装软件包,可以按照需要将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg文件中,只须要复制%packages到%end部份即可,在%packages到%end之间,包含以@开头的软件包列表,将不须要的软件名删掉,剩下的就是系统会手动安装的软件包。诸如,仅保留以下内容即为采用最小化安装。

以下操作将在完成脚本保存后再进行

[root@node01 ~]# vim anaconda-ks.cfg//将以下内容复制到 [root@node01 ~]# vim ks.cfg
%packages
@^gnome-desktop-environment
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
%end

批量安装windows10_批量安装linux_批量安装linux系统

5)安装脚本

在“预安装脚本”界面、“安装后脚本”界面中,可以分别添加在安装前,安装后手动运行的可执行句子。此项设置使服务器的手动化配置显得愈发容易,比如,可以使顾客机在完成安装后手动设置YUM软件库房批量安装linux,如图中所示,须要注意的是,应确保所编撰的代码才能正确执行,以免安装失败。

6)其他信息

若没有特殊需求,在“验证”界面、“显示配置”界面中,保持默认设置就可以了。

rm -f /etc/yum.repos.d/*
echo -e '[base]nname=CentOS7.3nbaseurl=ftp://192.168.184.101/centos7nenabled=1ngpgcheck=1ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>/etc/yum.repos.d/centos7.repo

批量安装linux系统_批量安装linux_批量安装windows10

2.保存手动应答文件

选择“Kickstart配置程序”窗口的“文件“→“保存”命令,指定目标文件夹、文件名,将配置好的应答参数保存为文本文件,如/root/ks.ctg。之后若要更改此应答配置,可以在“Kickstart配置程序”窗口中打开进行调整,或则直接用Vl等文本编辑工具进行更改。

点左上角文件>保存

批量安装linux系统_批量安装windows10_批量安装linux

批量安装linux系统_批量安装linux_批量安装windows10

批量安装windows10_批量安装linux_批量安装linux系统

11.4.2实现批量手动装机

有了手动安装的应答文件以后,只要将其放置PXE安装服务器的FTP目录下,并适当更改引导菜单,就可以实现基于网路的批量手动装机了。

1.启用手动应答文件

在PXE远程安装服务器中,将上一节构建的应答文件复制到/var/ftp/centos7目录下,使顾客机才能通过ftp://192.168.184.101/centos7/ks.cfg访问:之后编辑引导菜单文件default,添加ks引导参数以指定ks.cfg应答文件的URL路径。

[root@node01 ~]# cp /root/ks.cfg /var/ftp/ks.cfg
[root@node01 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0//0表示不等待用户控制
label auto
 kernel vmlinuz
 append initrd=initrd.img method=ftp://192.168.184.101/centos7
ks=ftp://192.168.184.101/ks.cfg//新加入的内容,指定ks.cfg应答文件的URL路径
label linux text
 kernel vmlinuz
 append text initrd=initrd.img method=ftp://192.168.184.101/centos7
label linux rescue
 kernel vmlinuz
 append rescue initrd=initrd.img method=ftp://192.168.184.101/centos7

批量安装linux_批量安装windows10_批量安装linux系统

2.验证无人值守安装

启用手动应答安装以后,当顾客机每次以PXE方法引导时,将手动下载ks.cfg应答配置文件,之后按照其中的设置安装CentOS7系统,而无须手工干预,如图中所示,这样就可以同时为多台顾客机安装系统了。

顾客机安装完成之后,检测其YUM软件库房配置linux操作系统培训,可以发觉早已根据“安装后脚本”的设置手动构建了/etc/yum.repos.d/centos7.repo文件。

批量安装windows10_批量安装linux系统_批量安装linux

批量安装linux_批量安装windows10_批量安装linux系统

以上是Linux内核、初始化文件、安装源、启动菜单、菜单的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Linux和Windows之间的硬件兼容性有何不同?Linux和Windows之间的硬件兼容性有何不同?Apr 23, 2025 am 12:15 AM

Linux和Windows在硬件兼容性上不同:Windows有广泛的驱动程序支持,Linux依赖社区和厂商。解决Linux兼容性问题可通过手动编译驱动,如克隆RTL8188EU驱动仓库、编译和安装;Windows用户需管理驱动程序以优化性能。

Linux和Windows之间虚拟化支持有哪些差异?Linux和Windows之间虚拟化支持有哪些差异?Apr 22, 2025 pm 06:09 PM

Linux和Windows在虚拟化支持上的主要区别在于:1)Linux提供KVM和Xen,性能和灵活性突出,适合高定制环境;2)Windows通过Hyper-V支持虚拟化,界面友好,与Microsoft生态系统紧密集成,适合依赖Microsoft软件的企业。

Linux系统管理员的主要任务是什么?Linux系统管理员的主要任务是什么?Apr 19, 2025 am 12:23 AM

Linux系统管理员的主要任务包括系统监控与性能调优、用户管理、软件包管理、安全管理与备份、故障排查与解决、性能优化与最佳实践。1.使用top、htop等工具监控系统性能,并进行调优。2.通过useradd等命令管理用户账户和权限。3.利用apt、yum管理软件包,确保系统更新和安全。4.配置防火墙、监控日志、进行数据备份以确保系统安全。5.通过日志分析和工具使用进行故障排查和解决。6.优化内核参数和应用配置,遵循最佳实践提升系统性能和稳定性。

很难学习Linux吗?很难学习Linux吗?Apr 18, 2025 am 12:23 AM

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的薪水是多少?Linux管理员的薪水是多少?Apr 17, 2025 am 12:24 AM

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要目的是什么?Linux的主要目的是什么?Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网在Linux上运行吗?互联网在Linux上运行吗?Apr 14, 2025 am 12:03 AM

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

Linux操作是什么?Linux操作是什么?Apr 13, 2025 am 12:20 AM

Linux操作系统的核心是其命令行界面,通过命令行可以执行各种操作。1.文件和目录操作使用ls、cd、mkdir、rm等命令管理文件和目录。2.用户和权限管理通过useradd、passwd、chmod等命令确保系统安全和资源分配。3.进程管理使用ps、kill等命令监控和控制系统进程。4.网络操作包括ping、ifconfig、ssh等命令配置和管理网络连接。5.系统监控和维护通过top、df、du等命令了解系统运行状态和资源使用情况。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),