背景:
最近有一个问题由于用了python的pymilvus但是这个需要依赖。bzip2包但是下载之后需要重新编译一下python文件,于是我选择在另一台服务器上进行实验安装是否可以解决这个问题
但是我一开始用yum安装的方式已经是可以了,但是线上内网,我选择全部卸载之后再进行rpm方式进行安装,也可能手欠没了解明白 会有影响
[root@tZAuUk38978 ~]# rpm -qa | grep bzip2
bzip2-libs-1.0.6-13.el7.x86_64 bzip2-libs-1.0.6-26.el8.x86_64 bzip2-1.0.6-13.el7.x86_64 [root@tZAuUk38978 ~]#
于是我都进行卸载了
# 先卸载主程序包
rpm -e --nodeps bzip2-1.0.6-13.el7.x86_64
# 然后卸载库文件包
rpm -e --nodeps bzip2-libs-1.0.6-13.el7.x86_64
rpm -e --nodeps bzip2-libs-1.0.6-26.el8.x86_64
于是就有了以下的问题
[root@tZAuUk38978 ~]# rpm -e --nodeps bzip2-libs-1.0.6-26.el8.x86_64 rpm: error while loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory [root@tZAuUk38978 ~]# rpm -qa | grep bzip2 rpm: error while loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory [root@tZAuUk38978 ~]#
开发疯狂找原因找办法去解决
首先重新安装
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/bzip2-libs-1.0.6-13.el7.x86_64.rpm
但是并不行
# 下载源码包
cd /tmp
wget https://sourceware.org/pub/bzip2/bzip2-1.0.6.tar.gz
# 解压
tar xzf bzip2-1.0.6.tar.gz
# 进入源码目录
cd bzip2-1.0.6
# 编译安装
make
make install
# 创建必要的软链接
ln -sf /usr/local/lib/libbz2.so.1.0.6 /usr/lib64/libbz2.so.1.0.6
ln -sf /usr/lib64/libbz2.so.1.0.6 /usr/lib64/libbz2.so.1
# 更新库缓存
ldconfig
下载完成并编译完源码之后 还是不行 yum也用不了了于是我重启了一下服务器
# 进入源码目录
cd /tmp/bzip2-1.0.6
# 重新编译安装
make clean
make -f Makefile-libbz2_so
make install
# 复制动态库文件
cp -a libbz2.so.1.0.6 /usr/lib64/
cd /usr/lib64
ln -sf libbz2.so.1.0.6 libbz2.so.1
# 更新库缓存
ldconfig
ldconfig -p | grep libbz2
ls -l /usr/lib64/libbz2*
解决啦!!