如何在RHEL 8上创建本地HTTP Yum / DNF存储库

在本文中,我们将解释如何使用安装DVD或ISO文件在RHEL 8 Linux发行版上设置本地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
在RHEL 8上安装Nginx

在RHEL 8上安装Nginx

2.安装Nginx后 ,您可以启动,使服务在引导时自动启动,并使用以下命令验证状态。

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx
在RHEL 8上验证Nginx

在RHEL 8上验证Nginx

3.接下来,您需要在防火墙上打开Nginx端口80443

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload
在RHEL 8防火墙上打开Nginx端口

在RHEL 8防火墙上打开Nginx端口

4.现在,您可以通过在Web浏览器上转到以下URL来验证您的Nginx服务器已启动并运行,将显示默认的Nginx网页。

http://SERVER_DOMAIN_NAME_OR_IP
验证RHEL 8上的Nginx安装

验证RHEL 8上的Nginx安装

第2步:安装RHEL 8安装DVD / ISO文件

5.Nginx文档根目录/var/www/html/下创建本地存储库安装点,并将下载的RHEL 8 DVD ISO映像安装在/mnt目录下。

# 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.接下来,在/var/www/html/local_repo目录下本地复制ISO文件,并使用ls命令验证内容。

# cd /mnt
# tar cvf - . | (cd /var/www/html/local_repo/; tar xvf -)
# ls -l /var/www/html/local_repo/
验证RHEL 8 ISO文件的内容

验证RHEL 8 ISO文件的内容

第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 
在RHEL 8中验证本地存储库

在RHEL 8中验证本地存储库

13.现在尝试从本地存储库安装软件包,例如安装Git命令行工具 ,如下所示:

# dnf install git
从本地Yum存储库安装包

从本地Yum存储库安装包

查看上面命令的输出,从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
在RHEL 8客户端中验证本地存储库

在RHEL 8客户端中验证本地存储库

就这样! 在本文中,我们展示了如何使用安装DVD或ISO文件在RHEL 8中创建本地YUM / DNF存储库。 如果您有任何问题或意见,请不要忘记通过下面的反馈表联系我们。