我在连接到网络的办公室计算机(运行 RHEL 6)上拥有管理员权限。我尝试使用以下命令安装开发工具:sudo yum groupinstall "Development Tools"
但收到一条错误消息:
Updating certificate-based repositories.
There was an error communicating with RHN.
RHN Satellite or RHN Classic support will be disabled.
Error Message:
Please run rhn_register as root on this client
Error Class Code: 9
Error Class Info: Invalid System Credentials.
我尝试运行 rhn_register,它说"It appears this system has already been registered for software updates"
。
向下滚动,我发现以下几行:
Setting up Group Process
Warning: Group development does not have any packages.
No packages in any requested group available to install or update
这两件事有联系吗?或者开发工具的安装流程发生了变化?
答案1
所以,有两件事...
一:基于证书的存储库是“subscription_manager”的功能,而“RHN Classic”是传统的 RHN。首先您需要知道您的系统使用的是哪种类型。如果它是“基于证书的存储库”(又名 subscription_manager),那么您将看到文件 /etc/yum.repos.d/redhat.repo ,其内容如下:
[rhel-6-server-rpms]
name = Red Hat Enterprise Linux 6 Server (RPMs)
baseurl = https://cdn.redhat.com/content/rhel/server/6/$releasever/$basearch/os
enabled = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/1111111111111111111-key.pem
sslclientcert = /etc/pki/entitlement/1111111111111111111.pem
metadata_expire = 86400
如果是这种情况,你是可能使用 subscription_manager,另一方面,如果您有一个位于 /etc/sysconfig/rhn/systemid 的文件,则系统已通过“RHN Classic”注册。无论如何,无论您使用哪种方法,都应该关闭另一种方法。这可以通过配置位于以下位置的相应插件的配置来完成:/etc/yum/pluginconf.d/
对于“RHN Classic”,这将是文件“rhnplugin.conf”,对于“subscription_manager”,这将是“subscription-manager.conf”。通过在相应的配置文件中设置布尔值“enabled=[0|1]”来启用/禁用这些功能。如果您没有这些配置,那么您的系统未通过 RHN/subscription_manager 注册,尽管您拥有本地管理权限,但您应该联系控制您的 RHN 权利的系统管理员。如果你是已注册,我们继续。
禁用您选择不使用的插件后,请验证您是否可以通过以下命令看到可用的组并且没有错误消息:
yum grouplist
或者,甚至更好:
yum grouplist | grep -i development
这应该产生类似于以下内容的输出:
redbeard@yum01 [~]# yum grouplist | grep -i development
Additional Development
Desktop Platform Development
Development tools
Server Platform Development
您会注意到名称“开发工具”的第二个单词中有一个小写首字符。我做过验证无论情况如何,这都应该有效。
redbeard@yum01 [~]# sudo yum groupinstall "Development Tools"
Loaded plugins: product-id, security, subscription-manager
This system is receiving updates from Red Hat Subscription Management.
Setting up Group Process
Package 1:pkgconfig-0.23-9.1.el6.x86_64 already installed and latest version
Package binutils-2.20.51.0.2-5.36.el6.x86_64 already installed and latest version
Package elfutils-0.152-1.el6.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch 0:2.63-5.1.el6 will be installed
---> Package automake.noarch 0:1.11.1-4.el6 will be installed
---> Package bison.x86_64 0:2.4.1-5.el6 will be installed
---> Package byacc.x86_64 0:1.9.20070509-7.el6 will be installed
---> Package cscope.x86_64 0:15.6-6.el6 will be installed
---> Package ctags.x86_64 0:5.8-2.el6 will be installed
....
答案2
现在仅仅注册系统是不够的,还需要“服务级别偏好”至少“自营“。存储库可用性取决于服务级别首选项。因此,请使用以下步骤来获取正确的服务级别。
此外,在命令行上使用“订阅管理器”注册系统后,可以在订阅管理门户网站上管理其他功能。
01.检查您已启用的订阅
subscription-manager list
02. 将您的系统注册到客户门户订阅管理
subscription-manager register --username your_username --password your_password
03.列出可用的服务级别
subscription-manager service-level --list
04. 使用开关设置您想要的级别
subscription-manager service-level --set=self-support
subscription-manager list
05.通过某个订阅提供的所有存储库的列表
subscription-manager repos --list
yum repolist all
笔记:如果订阅不起作用可以使用自动选项,如下所示。
subscription-manager attach --auto
删除所有订阅
subscription-manager remove --all
要安装开发工具,请使用以下步骤。
01. 要找出该组中的内容,请使用命令
yum groupinfo "Development Tools"
或者
yum grouplist | grep -i development
02.安装开发工具
yum groupinstall "Development Tools"
03.检查并验证一些工具的安装版本
gcc --version
make --version