强行安装RPM包导致libc.so.6: version `GLIBC_2.14' not found(required by /usr/lib64/libz.so.1)
闲类无事想研究下nginx代理,但是公司服务器无外网,只能先下载离线包再传到服务器进行离线安装,从网上找了个“linux上离线安装nginx” 帖子下载了里面的rpm离线包,
使用rpm -Uvh *.rpm --nodeps --force 强行安装没有管依赖和版本的问题,结果悲剧了 安装完成后 再执行 rpm 安装后面的包直接报libc.so.6: version ‘GLIBC_2.14’ not found(required by /usr/lib64/libz.so.1)
于是乎就在网上开始了查找解决之路,什么升级glibc 升级 gcc… 什么找个已经是glib2.14版本的机器把so 复制过来然后再重新软连接 libc.so.6 都不行 。。。
折腾了2天发现/usr/lib64/libz.so.1软连接 有问题 找了个环境对比了下 安装前是没有这个软连接的,这个个软连接是zlib-1.2.7-17.el7.x86_64.rpm 安装生成的,于是乎就在http://rpm.pbone.net/网站找了个低版本的zlib包rpm包在一个正常环境rpm -Uvh *.rpm --nodeps --force强制安装了下 然后将 /usr/lib64/libz.so.1.2.0.7 提取上传到 服务器上 重新软连接
ln -s -f /usr/lib64/libz.so.1.2.0.7 /usr/lib64/libz.so.1 然后 然后 好了 一切正常。
总结遇到libc.so.6: version `GLIBC_2.14’ not found(required by XXXX)问题 可以找个 XXXX低版本就是不依赖GLIBC_2.14的 提取so文件 上传重新软连接
最关键是 安装不要rpm * --nodeps --force 不管依赖强行安装