一般安装的红帽系统,自带的yum在没有付费的情况下是无使用的,所以我们要进行换源。
先检查以下我们的linux系统环境,看看是不是Redhat7的版本 ,出现如下图所示的界面
cat /etc/redhat-release
检查系统中是否安装了yum以及安装了哪些包。
rpm -qa |grep yum
删除redhat系统中自带的yum包
rpm -qa|grep yum|xargs rpm -e --nodeps(不检查依赖,直接删除rpm包)
rpm -qa |grep yum (查询确认)
这个时候呢,我们必须到原网站去下载,不要嫌麻烦,一定要一个一个对照着下载。
下载网址:
http://mirrors.163.com/centos/7/os/x86_64/Packages/
python-iniparse-0.4-9.el7.noarch.rpm
python-urlgrabber-3.10-9.el7.noarch.rpm
yum-3.4.3-163.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
yum-utils-1.1.31-52.el7.noarch.rpm
下载完后,用winScp传到红帽系统中,mnt文件夹下,然后cd到该目录下,打入命令
cd /mnt
rpm -ivh *.rpm
rpm -ivh --force --nodeps yum*
--force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
之后就能够完成yum的安装。
更改yum库的地址,可以使用网易的开源软件镜像站点下载地址(http://mirrors.163.com/.help/CentOS6-Base-163.repo),也可以使用阿里云的(http://mirrors.aliyun.com/repo/Centos-7.repo)或者其他的站点。这里以163的站点为例:
yum-config-manager --add-repo="http://mirrors.163.com/.help/CentOS6-Base-163.repo"
解决方法:
echo nameserver 8.8.8.8 > /etc/resolv.conf
echo nameserver 8.8.4.4 > /etc/resolv.conf
然后切换到/etc/yum.repos.d/目录下,修改文件内容,将文件中的“$releasever”改为“7”,“RPM-GPG-KEY-CentOS-6”改为“RPM-GPG-KEY-CentOS-7”,使用一下命令进行全局替换。
cd /etc/yum.repos.d/
vi CentOS6-Base-163.repo
:%s/$releasever/7/ge
:%s/RPM-GPG-KEY-CentOS-6/RPM-GPG-KEY-CentOS-7/ge
:wq (保存并退出)
更改后的文件内容如下(仅作参照):
#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
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-7 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-7 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/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/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-7 - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/7/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
yum clean all #清理yum缓存,使设置生效
yum makecache #将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度
这个时候呢,要cd/etc/,然后删除这个yum.repos.d文件夹,之后将yum删除,重来一遍。记住,删除的时候会报找不到yum.repos.d这个文件夹的警告,不过这个是正常的。
这个时候呢,只要在终端打入rm -f /var/run/yum.pid将这个文件删除,再运行的时候就可以了。