我正在尝试创建一个 RHEL 6 存储库,但由于我有一个 RHEL 7 存储库,所以我在想是否可以在同一台服务器上创建该存储库。
我已经在 RHEL 7 服务器上有一个有效且当前已注册的订阅,但是运行时,# subscription-manager repos --list
我只在列表中看到 RHEL 7 存储库,当我尝试添加rhel-6-server-rpms
存储库(这似乎是我在订阅中可用的内容的一部分)时,我得到:
订阅管理器存储库 --enable=rhel-6-server-rpms
错误:“rhel-6-server-rpms”与有效的存储库 ID 不匹配。使用“subscription-manager repos --list”查看有效的存储库。
对正在发生的事情有什么想法或如何启用该 repo?
答案1
不。
RHEL 6 的 repos 不适用于 RHEL 7,因为这样会导致大量的软件包冲突、依赖性地狱和彻底的混乱。
您能想象yum
尝试安装 RHEL 6 软件包或仅安装与 RHEL 7 中可用的软件包不兼容的软件包(因为前者已被弃用)吗?
正是由于这个原因,它subscription manager
不允许您尝试执行的操作。
答案2
老问题了,但由于我刚刚完成这项工作,所以是的,这是可能的。您需要对 RHEL 6 和 7 进行有效订阅。
subscription-manager register;subscription-manager attach --auto
使用然后运行订阅两个主机yum clean all
。
将授权密钥从 RHEL 6 主机上的 /etc/pki/entitlement 复制到 RHEL 7 主机上的同一文件夹。
将 RHEL 6 主机上的 /etc/yum.repos.d/ 中的 redhat.repo 文件复制到 RHEL 7 主机上的同一文件夹中。笔记:将此文件命名为其他名称,例如 rhel-6.repo,因为运行yum clean all
.
现在运行yum clean all
并确保没有任何密钥或 repo 文件被删除。
如果一切正常,您就可以创建本地仓库了。安装/启动 httpd。创建目录mkdir /var/www/html/rhel6/
。运行reposync --gpgcheck -l --repoid=rhel-6-workstation-rpms --download_path=/var/www/html/rhel6/ --downloadcomps --download-metadata --newest-only
下载完成后,使用以下命令创建仓库:createrepo -v /var/www/html/rhel6/rhel-6-workstation-rpms/ -g comps.xml
现在任何其他 RHEL 6 主机都可以指向http://server-ip/rhel6/rhel-6-workstation-rpms/
我建议设置 HTTPS,但这将帮助您开始。如果您愿意,您还可以对任何其他 RHEL 6 存储库(如可选或额外存储库)重复这些步骤。当您想要托管内部存储库时,这非常有用,可以减少外部带宽。