5.6. 使用 FTP 创建安装源

您可以使用安装树为基于网络的安装创建一个安装源,该树是包含提取的 DVD ISO 镜像内容和一个有效的 .treeinfo 文件的目录。通过 FTP 访问该安装源。

先决条件

  • 您对 Red Hat Enterprise Linux 8 服务器有管理员级别的访问权限,且这个服务器与要安装的系统位于同一个网络上。
  • 您已下载了 DVD ISO 镜像。如需更多信息,请参阅 下载安装 ISO 镜像
  • 您已使用镜像文件创建了可引导 CD、DVD 或者 USB 设备。如需更多信息,请参阅 创建可引导的 DVD 或者 CD
  • 确认您的防火墙允许安装的系统访问远程安装源。如需更多信息,请参阅 基于网络安装的端口
  • vsftpd 软件包已安装。

流程

  1. 在文本编辑器中打开并编辑 /etc/vsftpd/vsftpd.conf 配置文件。

    1. anonymous_enable=NO 行改为 anonymous_enable=YES
    2. write_enable=YES 行改为 write_enable=NO
    3. 添加行 pasv_min_port=<min_port>pasv_max_port=<max_port>。用被动模式下 FTP 服务器使用的端口范围替换 <min_port> 和 <max_port>,例如 1002110031

      在具有各种防火墙/NAT 设置的网络环境中,这个步骤可能是必要的。

    4. 可选:向您的配置中添加自定义更改。可用选项请查看 vsftpd.conf(5) 手册页。这个步骤假设使用了默认选项。

      警告

      如果在 vsftpd.conf 文件中配置了 SSL/TLS 安全性,请确保只启用 TLSv1 协议,并禁用 SSLv2 和 SSLv3。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请参考 https://access.redhat.com/solutions/1234773

  2. 配置服务器防火墙。

    1. 启用防火墙:

      # systemctl enable firewalld
    2. 启动防火墙:

      # systemctl start firewalld
    3. 配置防火墙以允许上一步中的 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 配置文件中的端口号。

    4. 重新载入防火墙以应用新规则:

      # firewall-cmd --reload
  3. 将 DVD ISO 镜像复制到 FTP 服务器。
  4. 创建一个挂载 DVD ISO 镜像的合适的目录,例如:

    # mkdir /mnt/rhel8-install
  5. 将 DVD ISO 镜像挂载到目录:

    # mount -o loop,ro -t iso9660 /image-directory/image.iso /mnt/rhel8-install

    使用 DVD ISO 镜像的路径替换 /image-directory/image.iso

  6. 将挂载镜像中的文件复制到 FTP 服务器 root 目录中:

    # mkdir /var/ftp/rhel8-install
    # cp -r /mnt/rhel8-install/ /var/ftp/

    这个命令使用镜像内容创建 /var/ftp/rhel8-install/ 目录。请注意,有些复制方法可以跳过有效安装源所需的 .treeinfo 文件。对整个目录输入 cp 命令,如此流程中所示,将正确复制 .treeinfo

  7. 请确定在复制的内容中设置了正确的 SELinux 上下文和访问模式:

    # restorecon -r /var/ftp/rhel8-install
    # find /var/ftp/rhel8-install -type f -exec chmod 444 {} \;
    # find /var/ftp/rhel8-install -type d -exec chmod 755 {} \;
  8. 启动 vsftpd 服务:

    # systemctl start vsftpd.service

    如果在更改 /etc/vsftpd/vsftpd.conf 文件前运行该服务,重启该服务以载入经过编辑的文件:

    # systemctl restart vsftpd.service

    在引导过程中启用 vsftpd 服务:

    # systemctl enable vsftpd

    安装树现在可以访问并可作为安装源使用。

    注意

    在配置安装源时,使用 ftp:// 作为协议,服务器主机名或 IP 地址,以及保存 ISO 镜像中文件的目录(相对于 FTP 服务器的根)。例如:如果服务器主机名是 myserver.example.com,并且已将镜像中的文件复制到 /var/ftp/rhel8-install/,指定 ftp://myserver.example.com/rhel8-install/ 作为安装源。