Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > yum install -y zlib zlib-devel 报错

yum install -y zlib zlib-devel 报错问题及解决

作者:码砖咋说

这篇文章主要介绍了yum install -y zlib zlib-devel 报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

yum install -y zlib zlib-devel 报错

查看zlib包是否重复

$ rpm -qa | grep zlib

例:

[root@VM_0_4_centos ~]# rpm -qa | grep zlib
zlib-1.2.7-15.el7.i686
zlib-1.2.7-15.el7.x86_64

移除一个zlib包

[root@VM_0_4_centos ~]# yum remove zlib-1.2.7-15.el7.i686

发行版中的i386/i686/x86-64的区别:

i386用来处理32位系统,i686是i386的下集;x86-64用来处理64位系统。

linux发行版中的i386/i686/x86-64各自含义:

再次安装

[root@VM_0_4_centos ~]# yum install -y zlib zlib-devel

yum 安装程序找不程序安装包,诸如类似 No package zlib-devel available报错

问题现象

在root权限下安装zlib-devel包,

# yum install -y zlib zlib-devel

出现如下报错,

Loaded plugins: langpacks, product-id, search-disabled-repos  
No package zlib-devel available.  
Nothing to do  

表明yum找不到zlib-devel安装包,这说明yum不能正常访问存贮zlib-devel的安装包的镜像。

不同版本CentOS系统,yum访问http://mirrors.163.com/镜像上不同位置的程序安装包。

这样的访问是由相应的repo配置文件来实现。配置错误的repo文件导致CentOS系统不能正确访问的163镜像,也就安装不了相应的程序包。

问题解决

经网上搜索,解决方案是,相应的CentOS的系统版本,要有正确对应的CentOSn-Base.repo文件(n或为5,或6,或7),同时要修改CentOSn-Base.repo文件中的bug。

具体过程如下:

1、查看系统版本和位数

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)

CentOS系统为7.4版本。因此要下载CentOS7-Base.repo文件。

2、下载正确版本CentOS7-Base.repo文件并修改bug

# cd  /etc/yum.repos.d  

清除系统已有yum缓存内容

# yum clean all

下载CentOS7-Base-163.repo文件,一定要存于 /etc/yum.repos.d文件夹中

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

将文件中的$releasever全部替换成7

# sed -i 's/$releasever/7/g' ./CentOS7-Base-163.repo

本人在排错过程中,下载了repo对应的版本5文件CentOS5-Base-163.repo,也将文件中$releasever改为5,运行yum安装命令出现了如下错误。

图中显示得很清楚,镜像的网址http://mirrors.163.com/centos/5/addons/x86_64/repodata/repomd.xml没有找到,这是CentOS系统版本和repo版本不相匹配的原因。

然后再执行:

# yum makecache

最后成功安装:

# yum install -y zlib zlib-devel

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文