如何在 RHEL 8 上创建本地 HTTP Yum/DNF 存储库
软件存储库或“repo”是保存和维护 Redhat Linux 发行版的 RPM 软件包的中心位置,用户可以从中下载软件包并将其安装到其 Linux 服务器上。
存储库通常存储在公共网络上,可供互联网上的多个用户访问。但是,您可以在服务器上创建自己的本地存储库并以单个用户身份访问它,或者允许使用 HTTP Web 服务器访问本地 LAN(局域网)上的其他计算机。
创建本地存储库的优点是您不需要 Internet 连接来安装软件包或更新。
YUM (Yellowdog Updater Modified) 或 DNF (Dandified YUM) 是一种广泛用于基于 RPM (RedHat Package Manager) 的 Linux 系统的软件包管理实用程序,它使 Red Hat/CentOS Linux 上的软件安装变得容易。
在本文中,我们将解释如何使用安装 DVD 或 ISO 文件在 RHEL 8 上设置本地 YUM/DNF 存储库。我们还将向您展示如何使用 Nginx HTTP 服务器在客户端 RHEL 8 计算机上查找和安装软件包。
我们的测试环境
Local Repository Server: RHEL 8 [192.168.0.106]
Local Client Machine: RHEL 8 [192.168.0.200]
第 1 步:安装 Nginx Web 服务器
1. 首先,使用 DNF 包管理器安装 Nginx HTTP 服务器,如下所示。
dnf install nginx
2.安装Nginx后,您可以启动该服务,使该服务在启动时自动启动,并使用以下命令验证状态。
systemctl start nginx
systemctl enable nginx
systemctl status nginx
3.接下来,您需要在防火墙上打开Nginx端口80和443。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
4. 现在,您可以通过在网络浏览器上访问以下 URL 来验证您的 Nginx 服务器是否已启动并正在运行,将显示默认的 Nginx 网页。
http://SERVER_DOMAIN_NAME_OR_IP
步骤 2:挂载 RHEL 8 安装 DVD/ISO 文件
5.在Nginx文档根目录/var/www/html/
下创建本地仓库挂载点,并挂载下载的RHEL 8 /mnt
目录下的 DVD ISO 映像。
mkdir /var/www/html/local_repo
mount -o loop rhel-8.0-x86_64-dvd.iso /mnt [Mount Download ISO File]
mount /dev/cdrom /mnt [Mount DVD ISO File from DVD ROM]
6. 接下来,将 ISO 文件复制到本地 /var/www/html/local_repo
目录下,并使用 ls 命令验证内容。
cd /mnt
tar cvf - . | (cd /var/www/html/local_repo/; tar xvf -)
ls -l /var/www/html/local_repo/
步骤3:配置本地存储库
7. 现在是时候配置本地存储库了。您需要在 /etc/yum.repos.d/
目录中创建本地存储库配置文件,并对该文件设置适当的权限,如图所示。
touch /etc/yum.repos.d/local-rhel8.repo
chmod u+rw,g+r,o+r /etc/yum.repos.d/local-rhel8.
8. 然后使用您最喜欢的命令行文本编辑器打开文件进行编辑。
vim /etc/yum.repos.d/local.repo
9.将以下内容复制并粘贴到文件中。
[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[LocalRepo_AppStream]
name=LocalRepo_AppStream
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
保存更改并退出文件。
10. 现在您需要通过运行以下命令来安装创建、配置和管理本地存储库所需的软件包。
yum install createrepo yum-utils
createrepo /var/www/html/local_repo/
第 4 步:测试本地存储库
11. 在此步骤中,您应该使用以下命令来清理为存储库保留的临时文件。
yum clean all
OR
dnf clean all
12. 然后验证创建的存储库是否出现在已启用的存储库列表中。
dnf repolist
OR
dnf repolist -v #shows more detailed information
13. 现在尝试从本地存储库安装软件包,例如安装 Git 命令行工具,如下所示:
dnf install git
查看上述命令的输出,正在从 LocalRepo_AppStream 存储库安装 git 软件包,如屏幕截图所示。这证明本地存储库已启用并且工作正常。
第 5 步:在客户端计算机上设置本地 Yum 存储库
14. 现在,在您的 RHEL 8 客户端计算机上,将本地存储库添加到 YUM 配置中。
vi /etc/yum.repos.d/local-rhel8.repo
将以下配置复制并粘贴到文件中。确保将 baseurl
替换为您的服务器 IP 地址或域。
[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106
[LocalRepo_AppStream]
name=LocalRepo_AppStream
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106
保存文件并开始使用本地 YUM 镜像。
15. 接下来,运行以下命令以在客户端计算机上的可用 YUM 存储库列表中查看您的本地存储库。
dnf repolist
就这样!在本文中,我们展示了如何使用安装 DVD 或 ISO 文件在 RHEL 8 中创建本地 YUM/DNF 存储库。如有任何问题或意见,请不要忘记通过下面的反馈表与我们联系。