RedHat yum没有已启用源的解决方法

RedHat yum没有已启用源的解决方法_第1张图片

 一般安装的红帽系统,自带的yum在没有付费的情况下是无使用的,所以我们要进行换源。


1、环境准备


先检查以下我们的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 (查询确认)

 2、下载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

3.安装

下载完后,用winScp传到红帽系统中,mnt文件夹下,然后cd到该目录下,打入命令

cd /mnt
rpm -ivh *.rpm

依赖源错误

RedHat yum没有已启用源的解决方法_第2张图片
如果在进行安装的时候报依赖源的错误,那么请先打入命令

rpm -ivh --force --nodeps yum*

        --force 即使覆盖属于其它包的文件也强迫安装
        --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
之后就能够完成yum的安装。

4、配置源

更改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"

curl: (6) Could not resolve host: mirrors.163.com; Unknown error 服务器上解析不了域名

 解决方法:

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

5、清除原有缓存,使设置生效

yum clean all   #清理yum缓存,使设置生效
yum makecache  #将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度

RedHat yum没有已启用源的解决方法_第3张图片

 

运行yum makecache的时候报找不到镜像源的错误。


这个时候呢,要cd/etc/,然后删除这个yum.repos.d文件夹,之后将yum删除,重来一遍。记住,删除的时候会报找不到yum.repos.d这个文件夹的警告,不过这个是正常的。

运行yum的时候报/var/run/yum.pid 已被锁定,PID 为 XXXXX 的另一个程序正在运行。


这个时候呢,只要在终端打入rm -f /var/run/yum.pid将这个文件删除,再运行的时候就可以了。

你可能感兴趣的:(linux,运维,centos)