上海校区切换校区
图片

腾科动态

如何在 RHEL 中使用订阅管理器启用软件仓库

发布时间: 2018-06-13

了解如何在 RHEL 中使用订阅管理器来启用软件仓库。 这篇文章还包括了将系统注册到 Red Hat 的步骤、添加订阅和发生错误时的解决方案。

在本文中,我们将逐步介绍如何在刚安装的 RHEL 服务器中启用 Red Hat 软件仓库。

可以利用 subscription-manager 命令启用软件仓库,如下所示:

  1. root@kerneltalks # subscription-manager repos --enable rhel-6-server-rhv-4-agent-beta-debug-rpms
  2. Error: 'rhel-6-server-rhv-4-agent-beta-debug-rpms' does not match a valid repository ID. Use "subscription-manager repos --list" to see valid repositories.

当您的订阅没有配置好时,您会看到上述错误。让我们一步一步地通过 subscription-manager 来启用软件仓库。

步骤 1:使用 Red Hat 注册您的系统

这里假设您已经安装了新系统并且尚未在 Red Hat 上注册。如果您已经注册了该系统,那么您可以忽略此步骤。

您可以使用下面的命令来检查您的系统是否已在 Red Hat 注册了该订阅:

  1. # subscription-manager version
  2. server type: This system is currently not registered.
  3. subscription management server: Unknown
  4. subscription management rules: Unknown
  5. subscription-manager: 1.18.10-1.el6
  6. python-rhsm: 1.18.6-1.el6

在这里输出的第一行中,您可以看到该系统未注册。那么,让我们开始注册系统。您需要在 subscription-manager 命令中使用 register 选项。在这一步需要使用您的 Red Hat 帐户凭证。

  1. root@kerneltalks # subscription-manager register
  2. Registering to: subscription.rhsm.redhat.com:443/subscription
  3. Username: admin@kerneltalks.com
  4. Password:
  5. Network error, unable to connect to server. Please see /var/log/rhsm/rhsm.log for more information.

如果您遇到上述错误,那么表明您的服务器无法连接到 RedHat。检查您的网络连接,或者您能解决网站名称解析的问题。有时候,即使你能够 ping 通订阅服务器,你也会看到这个错误。这可能是因为您的环境中有代理服务器。在这种情况下,您需要将其详细信息添加到文件 /etc/rhsm/rhsm.conf 中。以下详细的代理信息应根据你的环境填充:

  1. # an http proxy server to use
  2. proxy_hostname =
  3. # port for http proxy server
  4. proxy_port =
  5. # user name for authenticating to an http proxy, if needed
  6. proxy_user =
  7. # password for basic http proxy auth, if needed
  8. proxy_password =

一旦你完成了这些,通过使用下面的命令重新检查 subscription-manager 是否获得了新的代理信息:

  1. root@kerneltalks # subscription-manager config
  2. [server]
  3. hostname = [subscription.rhsm.redhat.com]
  4. insecure = [0]
  5. port = [443]
  6. prefix = [/subscription]
  7. proxy_hostname = [kerneltalksproxy.abc.com]
  8. proxy_password = [asdf]
  9. proxy_port = [3456]
  10. proxy_user = [user2]
  11. server_timeout = [180]
  12. ssl_verify_depth = [3]
  13. [rhsm]
  14. baseurl = [https://cdn.redhat.com]
  15. ca_cert_dir = [/etc/rhsm/ca/]
  16. consumercertdir = [/etc/pki/consumer]
  17. entitlementcertdir = [/etc/pki/entitlement]
  18. full_refresh_on_yum = [0]
  19. manage_repos = [1]
  20. pluginconfdir = [/etc/rhsm/pluginconf.d]
  21. plugindir = [/usr/share/rhsm-plugins]
  22. productcertdir = [/etc/pki/product]
  23. repo_ca_cert = /etc/rhsm/ca/redhat-uep.pem
  24. report_package_profile = [1]
  25. [rhsmcertd]
  26. autoattachinterval = [1440]
  27. certcheckinterval = [240]
  28. [logging]
  29. default_log_level = [INFO]
  30. [] - Default value in use

现在,请尝试重新注册您的系统。

  1. root@kerneltalks # subscription-manager register
  2. Registering to: subscription.rhsm.redhat.com:443/subscription
  3. Username: admin@kerneltalks.com
  4. Password:
  5. You must first accept Red Hat's Terms and conditions. Please visit https://www.redhat.com/wapps/tnc/termsack?event[]=signIn . You may have to log out of and back into the Customer Portal in order to see the terms.

如果您是第一次将服务器添加到 Red Hat 帐户,您将看到上述错误。转到该 URL并接受条款。回到终端,然后再试一次。

  1. oot@kerneltalks # subscription-manager register
  2. Registering to: subscription.rhsm.redhat.com:443/subscription
  3. Username: admin@kerneltalks.com
  4. Password:
  5. The system has been registered with ID: xxxxb2-xxxx-xxxx-xxxx-xx8e199xxx

Bingo!系统现在已在 Red Hat 上注册。你可以再次用 version 选项来验证它。

  1. #subscription-managerversionservertype:RedHatSubscriptionManagementsubscriptionmanagementserver:2.0.43-1subscriptionmanagementrules:5.26subscription-manager:1.18.10-1.el6python-rhsm:1.18.6-1.el6" decode="true" ]root@kerneltalks # subscription-manager version
  2. server type: Red Hat Subscription Management
  3. subscription management server: 2.0.43-1
  4. subscription management rules: 5.26
  5. subscription-manager: 1.18.10-1.el6
  6. python-rhsm: 1.18.6-1.el6

步骤 2:将订阅添加到您的服务器

首先尝试列出软件仓库。您将无法列出任何内容,因为我们尚未在我们的服务器中添加任何订阅。

  1. root@kerneltalks # subscription-manager repos --list
  2. This system has no repositories available through subscriptions.

正如您所看到 subscription-manager 找不到任何软件仓库,您需要将订阅添加到您的服务器上。一旦订阅被添加,subscription-manager 将能够列出下列的软件仓库。

要添加订阅,请先使用以下命令检查服务器的所有可用订阅:

  1. root@kerneltalks # subscription-manager list --available
  2. +-------------------------------------------+
  3. Available Subscriptions
  4. +-------------------------------------------+
  5. Subscription Name: Red Hat Enterprise Linux for Virtual Datacenters, Standard
  6. Provides: Red Hat Beta
  7. Red Hat Software Collections (for RHEL Server)
  8. Red Hat Enterprise Linux Atomic Host Beta
  9. Oracle Java (for RHEL Server)
  10. Red Hat Enterprise Linux Server
  11. dotNET on RHEL (for RHEL Server)
  12. Red Hat Enterprise Linux Atomic Host
  13. Red Hat Software Collections Beta (for RHEL Server)
  14. Red Hat Developer Tools Beta (for RHEL Server)
  15. Red Hat Developer Toolset (for RHEL Server)
  16. Red Hat Developer Tools (for RHEL Server)
  17. SKU: RH00050
  18. Contract: xxxxxxxx
  19. Pool ID: 8a85f98c6011059f0160110a2ae6000f
  20. Provides Management: Yes
  21. Available: Unlimited
  22. Suggested: 0
  23. Service Level: Standard
  24. Service Type: L1-L3
  25. Subscription Type: Stackable (Temporary)
  26. Ends: 12/01/2018
  27. System Type: Virtual

您将获得可用于您的服务器的此类订阅的软件仓库列表。您需要阅读它提供的内容并记下对您有用或需要的订阅的 Pool ID。

现在,使用 pool ID 将订阅添加到您的服务器。

  1. # subscription-manager attach --pool=8a85f98c6011059f0160110a2ae6000f
  2. Successfully attached a subscription for: Red Hat Enterprise Linux for Virtual Datacenters, Standard

如果您不确定选择哪一个,则可以使用下面的命令自动地添加最适合您的服务器的订阅:

  1. root@kerneltalks # subscription-manager attach --auto
  2. Installed Product Current Status:
  3. Product Name: Red Hat Enterprise Linux Server
  4. Status: Subscribed

接下来是最后一步启用软件仓库。

步骤 3:启用软件仓库

现在您将能够启用软件仓库,该软件仓库在您的附加订阅下可用。

  1. root@kerneltalks # subscription-manager repos --enable rhel-6-server-rhv-4-agent-beta-debug-rpms
  2. Repository 'rhel-6-server-rhv-4-agent-beta-debug-rpms' is enabled for this system.

到这里,您已经完成了。您可以用 yum 命令列出软件仓库并确认。

上一篇: MySQL 文档存储介绍

下一篇: Orbital Apps:新一代 Linux 程序

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!