修复"没有启用的存储库"并在RHEL 7和8中创建本地存储库
该系统没有可通过订阅使用的存储库。
解决了没有启用的存储库。
如何配置RHEL以执行无订阅的yum安装。
没有启用的Repooracle linux。
centos 7 yum存储库。
rhel 7的yum存储库。
找不到yum存储库。
yum在redhat 7中不起作用。
如何修复RHEL 7中没有启用的存储库。
yum没有启用的Repo中心。
7. yum repolist未显示Repo。
修复没有启用的仓库。
本文使用yum
创建本地存储库,并修复了在使用RHEL 7
和RHEL 8
时未写入启用的仓库错误,因此可以肯定地说它也全面涵盖了CentOS 7和8 ,Fedora,Oracle Enterprise Linux以及整个Red Hat操作系统家族,可能还有Novell的SLES和OpenSUSE。
不订阅即可进行YUM安装的准备工作
" YUM"(Yellowdog Updater,已修改)用于安装rpm。
我们必须有权访问RHEL 7.X或者RHEL 8.X发行版的原始DVD,通过它们可以安装各自的Linux主机,以创建本地存储库。
如何修复"没有启用的仓库"?
在未订阅卫星订阅网络的Red Hat Linux节点(RHEL 7或者RHEL8或者其他RHEL发行版)上,我们可能会遇到此错误。
Loaded plugins: product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. There are no enabled repos. Run "yum repolist all" to see the repos you have. You can enable repos with yum-config-manager --enable
这意味着我们尚未在Red Hat Satellite Network中注册Linux节点。
这需要一个"非免费"的有效Red Hat订阅,因此在他们的实验室环境中,许多用户倾向于创建本地存储库,他们可以使用它们访问rpm,而不必担心依赖关系。
在本文中,将介绍"创建本地存储库的步骤"(离线意味着可以不通过Internet访问),可以通过yum进行使用而无需订阅。
错误"没有启用的存储库"将在RHEL发行版的所有变体中普遍存在,并且"以下提供的RHEL 7修复将适用于所有较旧的RHEL发行版"。
在RHEL 7上创建本地存储库
创建本地存储库的第一步是将RHEL 7 DVD ISO复制到临时位置的Linux主机上。
提示:
我们也可以使用虚拟iso介质挂载RHEL 7 DVD ISO,而不是将其复制到RHEL 7服务器。
其中我将在RHEL 7 Linux主机上创建本地存储库
rhel-7-node:/etc/yum.repos.d # cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4 (Maipo)
将RHEL 7安装DVD安装在安装点上。
对于本文,我已将RHEL 7 ISO复制到/tmp
下。
我们将这个ISO挂载在/mnt
上,它将作为创建本地yum仓库的临时挂载点。
# mount -o loop /ISS/rhel-server-7.4-x86_64-dvd.iso /mnt mount: /dev/loop0 is write-protected, mounting read-only
或者
如果我们已经虚拟安装了RHEL 7 ISO DVD,则可以在/dev/cdrom
或者/dev/srX
下访问ISO DVD,这里的路径可能取决于发行类型或者可用的循环设备而有所不同,因此我们必须手动检查。
我们可以使用lsblk
或者lssci
命令获取RHEL 7 ISO的挂载点
例如:
[root@rhel-8-node ~]# lsscsi [0:0:0:0] cd/dvd VBOX CD-ROM 1.0 /dev/sr0 [1:0:0:0] cd/dvd VBOX CD-ROM 1.0 /dev/sr1 [2:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sda [3:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sdb [6:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sdc
这里有两张CD-ROM,分别是/dev/sr0和/dev/sr1.
接下来,我将使用此路径并将其安装在另一个安装点上,以便能够访问RHEL 7 DVD的内容,以便创建本地存储库。
# /mount /dev/sr0 /mnt
现在,我们已经将RHEL 7 ISO DVD安装在/mnt
上。
接下来,请检查DVD的内容,因为我们将相应地准备yum repo
文件。
rhel-7-node:~ # cd /mnt rhel-7-node:/mnt # ls -l total 934 dr-xr-xr-x 4 root root 2048 May 11 2016 addons -r--r--r-- 1 root root 56 May 11 2016 .discinfo dr-xr-xr-x 3 root root 2048 May 11 2016 EFI -r--r--r-- 1 root root 8266 Apr 4 2014 EULA -r--r--r-- 1 root root 1455 May 11 2016 extra_files.json -r--r--r-- 1 root root 18092 Mar 6 2012 GPL dr-xr-xr-x 3 root root 2048 May 11 2016 images dr-xr-xr-x 2 root root 2048 May 11 2016 isolinux dr-xr-xr-x 2 root root 2048 May 11 2016 LiveOS -r--r--r-- 1 root root 114 May 11 2016 media.repo dr-xr-xr-x 2 root root 901120 May 11 2016 Packages dr-xr-xr-x 2 root root 4096 May 11 2016 repodata -r--r--r-- 1 root root 3375 Jun 29 2016 RPM-GPG-KEY-redhat-beta -r--r--r-- 1 root root 3211 Jun 29 2016 RPM-GPG-KEY-redhat-release -r--r--r-- 1 root root 1796 May 11 2016 TRANS.TBL -r--r--r-- 1 root root 1900 May 11 2016 .treeinfo
我们需要查找repodata目录,这意味着Packages的yum存储库文件位于/mnt
下,因此这将是我们的baseurl
。
让我告诉你这将意味着什么。
接下来,我们需要在/yum.repos.d
下创建一个repo文件。
创建yum存储库文件
现在要使用没有订阅的yum install,我们需要一个repo文件。
浏览/etc/yum.repos.d
并创建一个以.repo为扩展名的新文件。
我们可以为文件指定任何名称。
对于本文,我将使用rhel-dvd.repo
rhel-7-node:/etc/yum.repos.d # cat rhel-dvd.repo [rhel-7-dvd] name = RHEL 7 ISO DVD baseurl = file:///mnt enabled = 1 gpgcheck = 0
接下来清理所有现有存储库的缓存,因为这将导致在尝试使用无订阅的yum install时导致不必要的失败消息
rhel-7-node:/etc/yum.repos.d # yum clean all Loaded plugins: product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Cleaning repos: rhel-7-dvd Cleaning up everything
接下来,列出RHEL 7 Linux节点上的可用yum存储库:
rhel-7-node:/etc/yum.repos.d # yum repolist Loaded plugins: product-id, search-disabled-repos, subscription-manager rhel-7-dvd | 4.1 kB 00:00:00 (1/2): rhel-7-dvd/group_gz | 137 kB 00:00:00 (2/2): rhel-7-dvd/primary_d | 4.0 MB 00:00:00 repo id repo name status rhel-7-dvd RHEL 7 ISO DVD 4,986 repolist: 4,986
现在,我们的yum存储库已配置完毕,我们将不会出现"没有启用启用的存储库"错误,因此我们可以尝试使用yum install <rpm_name>安装任何rpm(此存储库中可用)。
另请阅读:
如何在RHEL/CentOS 7中使用DVD和HTTP或者Apache服务器通过网络配置脱机yum存储库
在RHEL 8上创建本地存储库
与RHEL 7类似,我们必须在RHEL 8 Linux主机上复制RHEL ISO DVD,以使用yum安装而不需要在临时位置进行订阅。
如果我们有虚拟介质,则还可以将RHEL 8 ISO挂载到虚拟介质,然后再将其挂载到挂载点,例如/mnt
。
这里我有一个RHEL 8 Beta Linux主机
[root@rhel-8-node ~]# cat /etc/redhat-release Red Hat Enterprise Linux release 8.0 Beta (Ootpa)
接下来,我们将RHEL 8 DVD安装在/mnt
上。
因为对于RHEL 7,我们已经将ISO复制到了主机,所以其中我们将执行另一种情况,即,我已经将RHEL 8 ISO挂载到了虚拟介质,并且可以通过/dev/sr0
获得。
因此,让我在/mnt上安装/dev/sr0
才能访问RHEL 8 ISO内容:
[root@rhel-8-node ~]# mount -o loop /dev/sr0 /mnt
验证RHEL 8 ISO是否正确安装:
[root@rhel-8-node ~]# mount | grep mnt /dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
接下来,检查RHEL 8 ISO DVD的内容,因此我们将创建yum存储库。
如我们所见,我们在/mnt
下没有repodata目录。
[root@rhel-8-node mnt]# ls -l total 11 dr-xr-xr-x 4 root root 2048 Nov 13 2016 AppStream dr-xr-xr-x 4 root root 2048 Nov 13 2016 BaseOS dr-xr-xr-x 3 root root 2048 Nov 13 2016 EFI dr-xr-xr-x 3 root root 2048 Nov 13 2016 images dr-xr-xr-x 2 root root 2048 Nov 13 2016 isolinux -r--r--r-- 1 root root 442 Nov 13 2016 TRANS.TBL
但是相反,我们在/mnt/AppStream
下有repodata和Packages。
[root@rhel-8-node mnt]# ls -l AppStream/ total 934 -r--r--r-- 1 root root 8266 Sep 27 2016 EULA -r--r--r-- 1 root root 18092 Sep 27 2016 GPL dr-xr-xr-x 2 root root 915456 Nov 13 2016 Packages dr-xr-xr-x 2 root root 2048 Nov 13 2016 repodata -r--r--r-- 1 root root 3375 Sep 27 2016 RPM-GPG-KEY-redhat-beta -r--r--r-- 1 root root 6636 Sep 27 2016 RPM-GPG-KEY-redhat-release -r--r--r-- 1 root root 904 Nov 13 2016 TRANS.TBL
同样,我们在/mnt/BaseOS
下有另一个repodata和Packages目录。
[root@rhel-8-node mnt]# ls -l BaseOS/ total 336 -r--r--r-- 1 root root 8266 Sep 27 2016 EULA -r--r--r-- 1 root root 18092 Sep 27 2016 GPL dr-xr-xr-x 2 root root 303104 Nov 13 2016 Packages dr-xr-xr-x 2 root root 2048 Nov 13 2016 repodata -r--r--r-- 1 root root 3375 Sep 27 2016 RPM-GPG-KEY-redhat-beta -r--r--r-- 1 root root 6636 Sep 27 2016 RPM-GPG-KEY-redhat-release -r--r--r-- 1 root root 904 Nov 13 2016 TRANS.TBL
与RHEL 7 ISO相比,RHEL 8 DVD的体系结构有所不同。
创建yum存储库文件
接下来,我们将创建一个yum存储库文件,该文件位于RHEL 8 ISO下的Packages位置,以便能够使用yum install而无需订阅。
其中我创建了rhel_dvd.repo
文件,其内容如下:
[root@rhel-8-node ~]# cat /etc/yum.repos.d/rhel_dvd.repo [rhel_dvd_baseos] name=rhel dvd baseos baseurl=file:///mnt/BaseOS enabled=1 gpgcheck=0 [rhel_dvd_appstream] name=rhel dvd appstream baseurl=file:///mnt/AppStream enabled=1 gpgcheck=0
由于我们在RHEL 8 ISO下有两个存储库位置,因此我们提供了两个baseurl和详细信息。
接下来,在开始使用没有订阅的yum安装之前,让我们清除yum存储库缓存
[root@rhel-8-node ~]# yum clean all Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 12 files removed
接下来列出可用的存储库:
[root@rhel-8-node ~]# yum repolist Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Last metadata expiration check: 0:00:30 ago on Sun 23 Jun 2019 05:03:45 PM IST. repo id repo name status rhel_dvd_appstream rhel dvd appstream 4,594 rhel_dvd_baseos rhel dvd baseos 1,686
YUM替代品-DNF
我们也可以使用dnf命令而不是yum命令来执行不带订阅的yum安装。
例如:
列出可用的存储库:
[root@rhel-8-node ~]# dnf repolist Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Last metadata expiration check: 0:01:19 ago on Sun 23 Jun 2019 05:03:45 PM IST. repo id repo name status rhel_dvd_appstream rhel dvd appstream 4,594 rhel_dvd_baseos rhel dvd baseos 1,686
同样,要安装rpm及其依赖项,请使用
# dnf install
说明:
这些与安装有关的更改不是永久性的,在重新启动后将丢失。
要使这些更改在重启后保持不变,我们可以在/etc/fstab
中添加以下行
/dev/sr0 /mnt iso9660 defaults 0 0