在使用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等问题进行了更改,本博客亲测有效。 如有问题,请在评论中指出,共同进步,谢谢!!!