一、问题

给一台Redhat 6.3系统的服务器安装zabbix_agent。执行安装命令后提示缺少依赖关系:

[root@rhel_6.3 install]# yum install zabbix-agent-4.0.10-1.el6.x86_64.rpm

Error:Package:zabbix-agent-4.0.10-1.el6.x86_64 (/zabbix-agent-4.0.10-1.el6.x86_64) Requires: libz.so.1(ZLIB_1.2.0)(64bit)

二:查找原因

查询机器上的zlib版本

[root@rhel_6.3 install]# rpm -qa zlib

zlib-1.2.3-27.el6.x86_64

对照能正常安装zabbix_agent机器上的zlib

[root@rhel_6.8 install]# rpm -qa zlib

zlib-1.2.3-29.el6.x86_64.rpm

看来是zlib的版本低了,那么要想办法更新zlib。

三、解决办法

zlib是linux系统的基础库,许多系统基础服务就要依赖于此,rpm就是其中一个。

我这台机器位于内网,无法直接使用yum升级,为了防止系统基础服务奔溃,我们先手动编译一个zlib。

1、下载zlib源码包及即将升级的zlib-1.2.3-29.el6.x86_64.rpm包

2、编译安装zlib-1.2.4

[root@rhel_6.3 install]# mkdir /tmp/zlib

[root@rhel_6.3 install]# cd /workplace/install/zlib-1.2.4

[root@rhel_6.3 zlib-1.2.4]# ./configure --prefix=/tmp/zlib ##该地址为刚刚创建的目录

[root@rhel_6.3 zlib-1.2.4]# make

[root@rhel_6.3 zlib-1.2.4]# make install

完成编译后,还要配置动态链接库

[root@rhel_6.3 zlib-1.2.4]# vim /etc/ld.so.conf.d/zlib-x86_64.conf

/tmp/zlib/lib ##在文件里添加这一句

[root@rhel_6.3 zlib-1.2.4]# ldconfig

至此,zlib-1.2.4就配置完成了,下面开始卸载旧版本的zlib

3、卸载zlib旧版本

[root@rhel_6.3 zlib-1.2.4]# rpm -e --nodeps zlib-1.2.3-27.el6.x86_64

##因为zlib有众多依赖,所以要加上--nodeps参数

4、安装新版本zlib

[root@rhel_6.3 zlib-1.2.4]# yum install zlib-1.2.3-29.el6.x86_64.rpm

至此,zlib就升级完成,回到起点,安装zabbix-agent-4.0.10-1.el6.x86_64.rpm

[root@rhel_6.3 zlib-1.2.4]# yum install zabbix-agent-4.0.10-1.el6.x86_64.rpm

完成。

Logo

更多推荐