自动化安装Linux系统—ftp
2021/11/20 7:13:13
本文主要是介绍自动化安装Linux系统—ftp,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
autoinstall_system—ftp
文章目录
- autoinstall_system—ftp
- 服务介绍
- 工作过程
- 第一步:PXE Client向DHCP服务器发送请求
- 第二步:DHCP服务器提供信息
- 第三步:PXE客户端请求下载启动文件
- 第四步:Boot Server响应客户端请求并传送文件
- 第五步:请求下载自动应答文件
- 第六步:客户端安装操作系统
- 实验环境
- 需要安装的服务
- 操作过程
- 一、 关闭selinux 和 防火墙
- 二、部署 DHCP 服务器
- 1、修改配置
- 2、重启服务
- 3、查看dhcp服务
- 三、部署tftp-server服务流程
- 四、安装提供pxelinux.0的syslinux软件,共享pxe引导程序文件
- 1、创建路径并前往
- 2、安装syslinux软件
- 3、拷贝操作系统必要文件与启动菜单文件
- 4、修改default文件权限
- 5、修改配置
- 五、修改自动应答文件
- 1、拷贝文件
- 2、修改自动应答文件的配置
- 3、修改ks.cfg 文件权限
- 4、创建挂载目录并挂载
- 5、拷贝ldlinux.c32文件到指定路径
- 6、拷贝引导文件
- 六、配置vsftp服务
- 1、安装vsftp服务
- 2、修改ftp服务配置
- 3、修改匿名用户目录的权限
- 4、修改匿名上传布尔值
- 5、修改匿名上传的上下文权限
- 六、检查服务是否启动
- 1、重启vsftp服务
- 2、查看DHCP服务是否启动
- 3、查看TFTP服务是启动
- 七、创建新的虚拟机
服务介绍
Syslinux:
一个功能强大的引导加载程序, 可以装在U盘上来引导系统
PXE简介:
预安装环境 . 是Intel公司推出的一款通过网络来引导操作系统的协议 . 广泛应用于网吧无盘系统 .
anaconda-ks.cfg文件介绍:
anaconda-ks.cfg 这个文件可以修改成自动安装的脚本,用于自动安装同样配置的系统。 inux系统在安装时会自动生成一个anaconda-ks.cfg 配置文件 ,文件位于/root 目录中 . anaconda-ks.cfg 里面记录的就是用户在安装系统时所作的操作 , 像选择语言环境 , 硬盘分区 , 安装的软件包 , 网卡IP设置 , 设置主机名 , root密码 ,新建普通等一系列操作
工作过程
第一步:PXE Client向DHCP服务器发送请求
首先,将支持PXE的网络接口卡(NIC)的客户端BIOS设置为网络启动,通过PXE BootROM(自启动芯片)会以UDP协议发送一个广播请求,向网络中的DHCP服务器申请一个IP地址等信息。
第二步:DHCP服务器提供信息
DHCP服务器收到客户端的请求,验证是否来自合法的PXE Client请求,验证通过后向客户端返回响应信息,包括:客户端IP地址,pxelinux启动程序(TFTP)位置,以及配置文件所在位置等。
第三步:PXE客户端请求下载启动文件
客户端请求传送启动所需文件,包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。
第四步:Boot Server响应客户端请求并传送文件
TFTP服务器收到客户端的请求后,彼此间进行通信应答,确定启动参数。BootROM由TFTP通信协议从Boot Server下载启动安装程序所必须文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
第五步:请求下载自动应答文件
客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。从而进行两次获取IP地址过程。
接着会读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
第六步:客户端安装操作系统
将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。
OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。这个时候注意,在重新引导的过程中一定要将BIOS修改回从硬盘启动,不然的话又会重复的自动安装操作系统。
在上面介绍中PXE client是需要安装Linux的计算机,TFTP Server、DHCP Server和FTP Server(或NFS Server)运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核都放置在Linux Server上TFTP服务器的根目录下。而Linux根文件系统存放于FTP Server(或NFS Server)的共享目录中。
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
实验环境
VMware Workstation 下的一台Redhat8.2版本的Linux系统 Redhat主机的IP地址为:192.168.9.157
需要安装的服务
dnf install dhcp-server -y dnf install tftp-server -y dnf install vsftp -y
操作过程
一、 关闭selinux 和 防火墙
setenforce 0 systemctl stop firewalld
二、部署 DHCP 服务器
1、修改配置
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim; ignore client-updates; filename "pxelinux.0"; next-server 192.168.9.157; subnet 192.168.9.0 netmask 255.255.255.0 { option routers 192.168.9.1; option subnet-mask 255.255.255.0; option domain-name-servers 114.114.114.114; range dynamic-bootp 192.168.9.200 192.168.9.254; default-lease-time 60; max-lease-time 60; }
2、重启服务
systemctl restart dhcpd
3、查看dhcp服务
查看服务是否启动
systemctl status dhcpd
查看服务进程
netstat -lntup | grep dhcp
三、部署tftp-server服务流程
systemctl start tftp.socket
查看服务是否启动
systemctl status tftp
四、安装提供pxelinux.0的syslinux软件,共享pxe引导程序文件
1、创建路径并前往
mkdir /var/lib/tftpboot/pxelinux.cfg cd /var/lib/tftpboot/pxelinux.cfg
2、安装syslinux软件
dnf install syslinux -y
3、拷贝操作系统必要文件与启动菜单文件
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/ cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
4、修改default文件权限
chmod 777 /var/lib/tftpboot/pxelinux.cfg/default
5、修改配置
vim /var/lib/tftpboot/pxelinux.cfg/default
将default文件中的部分内容修改为以下内容
1 default linux 61 label linux 62 menu label ^Install Red Hat Enterprise Linux 8.2 63 kernel vmlinuz 64 append initrd=initrd.img ks=ftp://192.168.9.157/ks.cfg
五、修改自动应答文件
1、拷贝文件
cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
2、修改自动应答文件的配置
vim /var/ftp/ks.cfg
#repo --name="AppStream" --baseurl=file:///run/install/sources/mount-0000-cdrom/AppStream url --url="ftp://192.168.9.157/pub" # System timezone timezone Asia/Shanghai --isUtc --nontp # Use CDROM installation media #cdrom(有的电脑需要注释他,有的不需要) #放到最后一行,注意不要在两个%之间 reboot
3、修改ks.cfg 文件权限
chmod 777 /var/ftp/ks.cfg
4、创建挂载目录并挂载
mkdir /var/ftp/pub mount /dev/sr0 /var/ftp/pub/
5、拷贝ldlinux.c32文件到指定路径
cp /mnt/isolinux/ldlinux.c32 /var/lib/tftpboot/
6、拷贝引导文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
以上三条命令任选其一!
六、配置vsftp服务
1、安装vsftp服务
dnf install vsftpd -y
2、修改ftp服务配置
修改配置文件中匿名上传的相关选项
vim /etc/vsftpd/vsftpd.conf
在末尾添加
anon_umask=022 #anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
找到第12行,将NO改为yes
anonymous_enable=YES
3、修改匿名用户目录的权限
chmod 777 /var/ftp/pub/
4、修改匿名上传布尔值
[root@ldap var]# getsebool -a | grep ftpd_anon_write ftpd_anon_write --> on [root@ldap ftp]# setsebool ftpd_anon_write on
5、修改匿名上传的上下文权限
[root@ldap var]# ll -Z /var/ftp drwxr-xrwx. root root system_u:object_r:public_content_rw_t:s0 pub [root@ldap ftp]# chcon -t public_content_rw_t pub/
六、检查服务是否启动
如果服务没有启动,就启动服务
1、重启vsftp服务
systemctl restart vsftp
2、查看DHCP服务是否启动
systemctl status dhcpd
3、查看TFTP服务是启动
systemctl status tftp
七、创建新的虚拟机
关键部分如同所示:
创建好一个空白虚拟机后,启动该虚拟机,然后等待。
reading…
然后新的Redhat8.2版本的Linux系统就安装好了
这篇关于自动化安装Linux系统—ftp的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法