RedHat Linux7.3 使用yum安装时报错,改用CentOS yum源

在使用redhat linux的yum来安装或者更新软件的时候会有如下提示:

[root@node1 home]# yum install package_name
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Nothing to do

经过翻译是没有经过注册的,查阅资料发现redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源

解决办法:

  • 首先到http://mirrors.163.com/centos下载软件包,本次为最新版本 x86_64 地址:http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/ 必要下载的软件包有(以64位系统为例):
  • 1.1.python-iniparse-0.4-9.el7.noarch.rpm
  • 1.2.python-urlgrabber-3.10-8.el7.noarch.rpm
  • 1.3.yum-3.4.3-150.el7.centos.noarch.rpm
  • 1.4.yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
  • 1.5.yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm

下载命令:

wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-3.4.3-150.el7.centos.noarch.rpm
wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm

 卸载RedHat自带的yum

1>   xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题

2>   –nodeps  强制卸载,不管依赖性

rpm -qa | grep yum | xargs rpm -e --nodeps

 卸载RedHat自带的两个python:

rpm -qa | grep python-iniparse| xargs rpm -e --nodeps

 rpm -qa | grep python-urlgrabber| xargs rpm -e --nodeps

安装下载的centos的yum包:

最后2个需要一起安装,否则会出现依赖性错误

rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm
rpm -ivh python-urlgrabber-3.10-8.el7.noarch.rpm rpm -ivh yum-3.4.3-150.el7.centos.noarch.rpm rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm rpm -ivh yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm

http://mirrors.163.com的 centos帮助文档 中下载CentOS6-Base-163.repo文件,存放到/etc/yum.repo.d中:

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

编辑CentOS7-Base-163.repo文件,将其中的$releasever更改为centos的版本号 下面是修改好的,centos的版本号为7,可根据http://mirrors.163.com/centos/$releasever
/os/x86_64/repodata/repomd.xml来测试版本号应该是什么,经测试http://mirrors.163.com/centos/7
/os/x86_64/repodata/repomd.xml
是可以的,而换成7.2、7.3都是不成功的

CentOS7-Base-163.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-$releasever - Base - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

 

#released updates

[updates]

name=CentOS-$releasever - Updates - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

 

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

baseurl=http://mirrors.163.com/centos/$releasever/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-$releasever - Plus - 163.com

baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/

gpgcheck=1

CentOS7-Base-163.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=$releasever&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=$releasever&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=$releasever&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

最后,使用yum命令清除缓存、更新全部安装包: 

yum clean all 清除原有缓存

yum makecache  获取yum列表 出现下面提示,表示yum更改完成: Metadata Cache Created/元数据缓存已建立

yum update 更新全部安装包,看需求,可有可无。

参考文档:http://blog.csdn.net/zhngjan/article/details/20843465 对该博客中的一些目前丢失包报404等问题进行了更改,本博客亲测有效。 如有问题,请在评论中指出,共同进步,谢谢!!!

posted @ 2017-10-10 13:45  sunshine_kaka  阅读(5009)  评论(0编辑  收藏  举报