默认情况下红帽的yum是需要注册的,据我所知要钱。而CentOS与RedHat几乎是一样的,所以redhat的软件centos也可用,于是上网查资料没想到还真是可以,所以写了一个备忘录。万一以后还要用到呢。
也希望本文可以帮到有需要的人。
1.查看系统预装的yum rpm包:
rpm – qa | grep yum
以下是我的系统预装的软件(我的是redhat7):
[root@localhost ~]# rpm -qa|grep yum
yum-langpacks-0.4.2-4.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-132.el7.centos.0.1.noarch
yum-utils-1.1.31-34.el7.noarch
yum-plugin-fastestmirror-1.1.31-34.el7.noarch
yum-rhn-plugin-2.0.1-5.el7.noarch
PackageKit-yum-1.0.7-5.e17.x86_64
2.卸载上面的rpm包:
rpm -e yum-langpacks-0.4.2-4.el7.noarch –nodeps
后面的卸载方式依照上面。
3.更改yum仓库:
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
下載文件:
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
其他对应即可。
下载centos 的rpm包:
对应你卸载的rpm包下载:(我卸载了这些所以我下载这些)
yum-langpacks-0.4.2-4.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-132.el7.centos.0.1.noarch
yum-utils-1.1.31-34.el7.noarch
yum-plugin-fastestmirror-1.1.31-34.el7.noarch
yum-rhn-plugin-2.0.1-5.el7.noarch
PackageKit-yum-1.0.7-5.e17.x86_64
下载地址:
http://mirrors.163.com/centos/7/os/x86_64/Packages/
4.安装rpm包:
rpm -ivh yum-3.4.3-132.el7.centos.0.1.noarch.rpm yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm
上面两个包要一起安装,不然会有依赖错误
在安装其他的rpm包
5.清除缓存:
yum clean all
6.建立緩存:
yum makecache
如果出現一下報錯:
[root@localhost ~]# yum makecache
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-
: manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Could not retrieve mirrorlist http://mirrorlist.centos.org/7=$releasever&arch=x86_64&repo=os error was
14: HTTP Error 404 – Not Found
http://mirrors.163.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 – Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn’t help to resolve this issue please create a bug on https://bugs.centos.org/
One of the configured repositories failed (CentOS-$releasever – Base – 163.com),
and yum doesn’t have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work “fix” this:
1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is than is supported by the repository (and the
packages for the previous distribution release still work).
3. Disable the repository, so yum won’t use it by default. Yum will then
just ignore the repository until you permanently enable it again or use
–enablerepo for temporary usage:
yum-config-manager –disable base
4. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager –save –setopt=base.skip_if_unavailable=true
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirrors.163.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 – Not Found most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
3. Disable the repository, so yum won’t use it by default. Yum will then
just ignore the repository until you permanently enable it again or use
–enablerepo for temporary usage:
yum-config-manager –disable base
4. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager –save –setopt=base.skip_if_unavailable=true
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirrors.163.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 – Not Found
将/etc/yum.repos.d/CentOS7-Base-163.repo 文件中的$releasever替换成你的系统版本号即可。
到此yum已经替换好了。
可以用yum安装软件了:
[root@localhost ~]# yum install telnet
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, 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 telnet.x86_64 1:0.17-59.el7 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
telnet x86_64 1:0.17-59.el7 base 63 k
Transaction Summary
===============================================================================================
Install 1 Package
Total download size: 63 k
Installed size: 113 k
Is this ok [y/d/N]: y
Downloading packages:
telnet-0.17-59.el7.x86_64.rpm | 63 kB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:telnet-0.17-59.el7.x86_64
Verifying : 1:telnet-0.17-59.el7.x86_64
Installed:
telnet.x86_64 1:0.17-59.el7
Complete!
附上我的yum仓库文件:
# 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/7=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=
#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/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-$releasever – 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-$releasever – 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
欢迎大家指正错误!!
更多YUM相关教程见以下内容:
RedHat 6.2 Linux修改yum源免费使用CentOS源 http://www.linuxidc.com/Linux/2013-07/87383.htm
配置EPEL YUM源 http://www.linuxidc.com/Linux/2012-10/71850.htm
Redhat 本地yum源配置 http://www.linuxidc.com/Linux/2012-11/75127.htm
yum的配置文件说明 http://www.linuxidc.com/Linux/2013-04/83298.htm
RedHat 6.1下安装yum(图文) http://www.linuxidc.com/Linux/2013-06/86535.htm
YUM 安装及清理 http://www.linuxidc.com/Linux/2013-07/87163.htm
CentOS 6.4上搭建yum本地源 http://www.linuxidc.com/Linux/2014-07/104533.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138248.htm