附录 A. 为 Red Hat Virtualization Manager 安装配置本地仓库
要在没有与 Content Delivery Network 直接连接的系统中安装 Red Hat Virtualization Manager,请在有互联网访问的系统中下载所需软件包,然后创建一个可与离线管理器机器共享的软件仓库。托管存储库的系统必须连接到与要安装的软件包的客户端系统相同的网络。
先决条件
- 在可访问 Content Delivery Network 的系统中安装 Red Hat Enterprise Linux 8 服务器。这个系统下载所有必要的软件包,并将其分发到离线系统中。
- 有大量可用磁盘空间。这个过程下载大量软件包,并最多需要 50GB 的可用磁盘空间。
首先,在在线系统中启用 Red Hat Virtualization Manager 软件仓库:
启用 Red Hat Virtualization Manager 存储库
您需要登录并使用 Red Hat Subscription Manager 注册在线机器,附加 Red Hat Virtualization Manager 订阅并启用 Manager 软件仓库。
流程
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
subscription-manager register
# subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您使用 IPv6 网络,请使用 IPv6 转换机制来访问 Content Delivery Network 和 subscription Manager。
查找
Red Hat Virtualization Manager订阅池并记录池 ID:subscription-manager list --available
# subscription-manager list --availableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用池 ID 将订阅附加到系统:
subscription-manager attach --pool=pool_id
# subscription-manager attach --pool=pool_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意查看当前附加的订阅:
subscription-manager list --consumed
# subscription-manager list --consumedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 列出所有启用的软件仓库:
dnf repolist
# dnf repolistCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置存储库:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 RHEL 版本设置为 8.6:
subscription-manager release --set=8.6
# subscription-manager release --set=8.6Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
pki-deps模块。dnf module -y enable pki-deps
# dnf module -y enable pki-depsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
postgresql模块的版本 12。dnf module -y enable postgresql:12
# dnf module -y enable postgresql:12Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
nodejs模块的版本 14:dnf module -y enable nodejs:14
# dnf module -y enable nodejs:14Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同步安装的软件包,将它们更新至最新可用版本。
dnf distro-sync --nobest
# dnf distro-sync --nobestCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其它资源
有关模块和模块流的详情,请参考安装、管理和删除用户空间组件中的以下部分。
配置离线存储库
未连接到互联网的服务器可以使用文件传输协议(FTP)访问其他系统上的软件存储库。要创建 FTP 软件仓库,在预期的管理器机器中安装和配置
vsftpd:安装
vsftpd软件包:dnf install vsftpd
# dnf install vsftpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用匿名用户的 FTP 访问权限,以便从预期管理器计算机访问 rpm 文件,并保证其安全,禁用 ftp 服务器上的写入操作。编辑
/etc/vsftpd/vsftpd.conf文件并更改anonymous_enable和write_enable的值,如下所示:anonymous_enable=YES write_enable=NO
anonymous_enable=YES write_enable=NOCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 vsftpd 服务,并确保该服务在引导时启动:
systemctl start vsftpd.service systemctl enable vsftpd.service
# systemctl start vsftpd.service # systemctl enable vsftpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一条防火墙规则来允许 FTP 服务并重新载入
firewalld服务以应用更改:firewall-cmd --permanent --add-service=ftp firewall-cmd --reload
# firewall-cmd --permanent --add-service=ftp # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8 默认强制 SELinux,因此配置 SELinux 以允许 FTP 访问:
setsebool -P allow_ftpd_full_access=1
# setsebool -P allow_ftpd_full_access=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/var/ftp/pub/目录中创建一个子目录,其中下载的软件包可用:mkdir /var/ftp/pub/rhvrepo
# mkdir /var/ftp/pub/rhvrepoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
从所有配置的软件存储库下载软件包到
rhvrepo目录。这包括附加到系统的所有 Content Delivery Network 订阅池以及任何本地配置的软件仓库:reposync -p /var/ftp/pub/rhvrepo --download-metadata
# reposync -p /var/ftp/pub/rhvrepo --download-metadataCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令会下载大量软件包及其元数据,并且需要很长时间才能完成。
创建库文件,并将其复制到预期管理器计算机上的
/etc/yum.repos.d/目录中。您可以手动或通过脚本创建配置文件。在托管存储库的机器上运行以下脚本,将
baseurl中的 ADDRESS 替换为托管该存储库的机器的 IP 地址或 FQDN:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
返回到配置管理器。软件包是从本地存储库而不是从 Content Delivery Network 中安装的软件包。
故障排除
- 在运行
reposync时,会出现以下出错信息 -
No available modular metadata for modular package "package_name_from_module" it cannot be installed on the system - 解决方案
-
确保已安装
yum-utils-4.0.8-3.el8.noarch或更高版本,以便 reposync 正确下载所有软件包。如需更多信息,请参阅使用 Red Hat Enterprise Linux 8 创建本地仓库。