安装RedHat 7 操作系统后,使用 yum 安装软件时,总会有一句烦人的提示挡住操作进程:
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
提醒用户:"操作系统还没有注册,赶紧使用订阅管理器去注册吧",翻译过来就是:“交钱了么?想用就赶紧去交钱”
这里,就记录一下RedHat 7更换yum源为网易镜像的操作方法
一·检查 yum 的安装包
用 rpm -qa |grep yum 命令来查看 RHEL 是否安装了yum,如果安装了,就会显示系统安装的那些yum包
[root@localhost ~]# rpm -qa | grep yum
# 显示已安装的 yum 包
yum-utils-1.1.31-24.el7.noarch
yum-langpacks-0.4.2-3.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-rhn-plugin-2.0.1-4.el7.noarch
PackageKit-yum-0.8.9-11.el7.x86_64
yum-3.4.3-118.el7.noarch
二·卸载 RedHat 自带的 yum 包
执行一下指令,进行卸载,包名和上一步操作的对应
rpm -e yum-utils-1.1.31-24.el7.noarch --nodeps
rpm -e yum-langpacks-0.4.2-3.el7.noarch --nodeps
rpm -e yum-metadata-parser-1.1.4-10.el7.x86_64 --nodeps
rpm -e yum-rhn-plugin-2.0.1-4.el7.noarch --nodeps
rpm -e PackageKit-yum-0.8.9-11.el7.x86_64 --nodeps
rpm -e yum-3.4.3-118.el7.noarch --nodeps
执行 rpm -qa | grep yum 检查是否卸载干净,没有返回则表示已经卸载干净。
三·下载新的 yum 软件包
可以从网易镜像或者CentOS提供的镜像源地址下载对应的 rpm 包
网易163网络源地址:
http://mirrors.163.com/
CentOS网络源地址:
http://centos.ustc.edu.cn/centos/
这里选择的是网易源,执行一下操作下载安装包
# 下载 yum 的相关安装包
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-167.el7.centos.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-53.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-53.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm
# 下载 yum 安装包相关的依赖包,安装上述的 yum 安装包时会因缺少相关依赖而被迫中止
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-43.el7.x86_64.rpm
四·安装 yum 安装包及其依赖
首先需要将两个依赖包进行安装
rpm -ivh python-urlgrabber-3.10-10.el7.noarch.rpm
# 使用 --force 参数表示强制安装,是因为原系统中已经安装了较低版本的rpm,不使用此参数会导致安装失败
rpm -ivh rpm-4.11.3-43.el7.x86_64.rpm --force
安装 yum 安装包
直接用通配符 * 表示安装所有的 yum 包
rpm -ivh yum*
五·新建配置文件CentOS
在 /etc/yum.repo.d文件夹下新建文件CentOS-Base.repo,复制并粘贴以下文件
#CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
[base]
name=CentOS-$7 - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$7 - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$7 - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$7 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
六·生成缓存
依次运行如下指令
[root@localhost ~]# yum clean all
# 生成缓存
[root@localhost ~]# yum makecache
[root@localhost ~]# yum update
七·安装验证
使用 yum 安装 httpd 软件,出现 complete 即表示 yum 源更换成功
[root@localhost ~]# yum install httpd
Loaded plugins: fastestmirror, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-17.el7 will be updated
---> Package httpd.x86_64 0:2.4.6-93.el7.centos will be an update
--> Processing Dependency: httpd-tools = 2.4.6-93.el7.centos for package: httpd-2.4.6-93.el7.centos.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-17.el7 will be updated
---> Package httpd-tools.x86_64 0:2.4.6-93.el7.centos will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
httpd x86_64 2.4.6-93.el7.centos base 2.7 M
Updating for dependencies:
httpd-tools x86_64 2.4.6-93.el7.centos base 92 k
Transaction Summary
================================================================================
Upgrade 1 Package (+1 Dependent package)
Total download size: 2.8 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for base
warning: /var/cache/yum/x86_64/$releasever/base/packages/httpd-tools-2.4.6-93.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for httpd-tools-2.4.6-93.el7.centos.x86_64.rpm is not installed
(1/2): httpd-tools-2.4.6-93.el7.centos.x86_64.rpm | 92 kB 00:00
(2/2): httpd-2.4.6-93.el7.centos.x86_64.rpm | 2.7 MB 00:01
--------------------------------------------------------------------------------
Total 2.1 MB/s | 2.8 MB 00:01
Retrieving key from http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
From : http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
PackageKit-0.8.9-11.el7.x86_64 has missing requires of PackageKit-backend
python-urlgrabber-3.10-10.el7.noarch is a duplicate with python-urlgrabber-3.10-4.el7.noarch
rhn-check-2.0.2-5.el7.noarch has missing requires of yum-rhn-plugin >= ('0', '1.6.4', '1')
rpm-4.11.3-43.el7.x86_64 is a duplicate with rpm-4.11.1-16.el7.x86_64
Updating : httpd-tools-2.4.6-93.el7.centos.x86_64 1/4
Updating : httpd-2.4.6-93.el7.centos.x86_64 2/4
Cleanup : httpd-2.4.6-17.el7.x86_64 3/4
Cleanup : httpd-tools-2.4.6-17.el7.x86_64 4/4
Verifying : httpd-tools-2.4.6-93.el7.centos.x86_64 1/4
Verifying : httpd-2.4.6-93.el7.centos.x86_64 2/4
Verifying : httpd-tools-2.4.6-17.el7.x86_64 3/4
Verifying : httpd-2.4.6-17.el7.x86_64 4/4
Updated:
httpd.x86_64 0:2.4.6-93.el7.centos
Dependency Updated:
httpd-tools.x86_64 0:2.4.6-93.el7.centos
Complete!