5.4. 使用 FTP 创建安装源
您可以使用安装树为基于网络的安装创建一个安装源,该树是包含提取的 DVD ISO 镜像内容和一个有效的 .treeinfo
文件的目录。通过 FTP 访问该安装源。
先决条件
- 您对 Red Hat Enterprise Linux 9 服务器有管理员级别的访问权限,且这个服务器与要安装的系统位于同一网络中。
- 您已从 Product Downloads 页面下载了完整的安装 DVD ISO。
- 您已使用镜像文件创建了可引导 CD、DVD 或者 USB 设备。
- 您已确认防火墙允许您在安装的系统访问远程安装源。如需更多信息,请参阅 基于网络安装的端口。
-
vsftpd
软件包已安装。
流程
在文本编辑器中打开并编辑
/etc/vsftpd/vsftpd.conf
配置文件。-
将
anonymous_enable=NO
行改为anonymous_enable=YES
-
将
write_enable=YES
行改为write_enable=NO
。 添加行
pasv_min_port=<min_port>
和pasv_max_port=<max_port>
。用被动模式下 FTP 服务器使用的端口范围替换 <min_port> 和 <max_port>,例如10021
和10031
。在具有各种防火墙/NAT 设置的网络环境中,这个步骤可能是必要的。
可选:向您的配置中添加自定义更改。可用选项请查看 vsftpd.conf(5) 手册页。这个步骤假设使用了默认选项。
警告如果在
vsftpd.conf
文件中配置了 SSL/TLS 安全性,请确保只启用 TLSv1 协议,并禁用 SSLv2 和 SSLv3。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请参考 https://access.redhat.com/solutions/1234773。
-
将
配置服务器防火墙。
启用防火墙:
# systemctl enable firewalld
启动防火墙:
# systemctl start firewalld
配置防火墙以允许上一步中的 FTP 端口和端口范围:
# firewall-cmd --add-port min_port-max_port/tcp --permanent # firewall-cmd --add-service ftp --permanent
将 <min_port> 和 <max_port> 替换为您输入到
/etc/vsftpd/vsftpd.conf
配置文件中的端口号。重新载入防火墙以应用新规则:
# firewall-cmd --reload
- 将 DVD ISO 镜像复制到 FTP 服务器。
创建一个挂载 DVD ISO 镜像的合适的目录,例如:
# mkdir /mnt/rhel9-install
将 DVD ISO 镜像挂载到目录:
# mount -o loop,ro -t iso9660 /image-directory/image.iso /mnt/rhel9-install
使用 DVD ISO 镜像的路径替换
/image-directory/image.iso
。将挂载镜像中的文件复制到 FTP 服务器 root 目录中:
# mkdir /var/ftp/rhel9-install # cp -r /mnt/rhel9-install/ /var/ftp/
这个命令创建包含镜像内容的
/var/ftp/rhel9-install/
目录。某些复制方法可以跳过.treeinfo
文件(一个有效的安装源需要这个文体) 。对整个目录输入cp
命令,如此流程中所示,将正确复制.treeinfo
。请确定在复制的内容中设置了正确的 SELinux 上下文和访问模式:
# restorecon -r /var/ftp/rhel9-install # find /var/ftp/rhel9-install -type f -exec chmod 444 {} \; # find /var/ftp/rhel9-install -type d -exec chmod 755 {} \;
启动
vsftpd
服务:# systemctl start vsftpd.service
如果在更改
/etc/vsftpd/vsftpd.conf
文件前运行该服务,重启该服务以载入经过编辑的文件:# systemctl restart vsftpd.service
在引导过程中启用
vsftpd
服务:# systemctl enable vsftpd
安装树现在可以访问并可作为安装源使用。
在配置安装源时,使用
ftp://
作为协议、服务器主机名或 IP 地址,以及保存 ISO 镜像中文件的目录(相对于 FTP 服务器 root)。例如:如果服务器主机名是myserver.example.com
,并且已将镜像中的文件复制到/var/ftp/rhel9-install/
,请指定ftp://myserver.example.com/rhel9-install/
作为安装源。