引言
我们在安装或执行某些程序的时候会经常遇到类似于"error while loading shared libraries: xxxx.so: cannot open shared object file: No such file or directory"这样的错误,这是因为系统中没有要安装或运行那个程序调用的lib文件导致的,只需要查找出对应的组件包安装即可。
文章目录
- 0×1.Ubuntu安装或执行软件出现无法加载lib文件解决方法
- 0×2.CentOS安装或执行软件出现无法加载lib文件解决方法
0×1.Ubuntu安装或执行软件出现无法加载lib文件解决方法
问题复现:
笔者安装的ubuntu版本是Ubuntu18.04,在使用下面的命令安装vCenter时出现了报错"./installer: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory",提示缺少"libgconf-2.so.4"这个lib组件:
#执行安装程序,然后报错了
qing@qingsword:~/vcsa-ui-installer/lin64$ sudo ./installer
./installer: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory
#首先安装apt-file程序,用来查找"libgconf-2.so.4"属于哪个名
qing@qingsword:~/vcsa-ui-installer/lin64$ sudo apt install apt-file
#更新缓存
qing@qingsword:~/vcsa-ui-installer/lin64$ sudo apt update
#"libgconf-2.so.4"文件属于哪个包,在冒号前面的"libgconf-2-4"就是包名称
qing@qingsword:~/vcsa-ui-installer/lin64$ apt-file search libgconf-2.so.4
libgconf-2-4: /usr/lib/x86_64-linux-gnu/libgconf-2.so.4
libgconf-2-4: /usr/lib/x86_64-linux-gnu/libgconf-2.so.4.1.5
#安装对应包
qing@qingsword:~/vcsa-ui-installer/lin64$ sudo apt install libgconf2-4
#将程序提示的所有组件包都安装上后,再次执行程序,就不会报错了
0×2.CentOS安装或执行软件出现无法加载lib文件解决方法
问题复现:
在使用CentOS(或Redhat)安装软件时出现"./installer: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory"这样的报错信息,提示找不到"libXss.so.1"这个文件,下面是CentOS下查找"libXss.so.1"文件对应包名称的方法:
#安装程序报错,缺少"libXss.so.1"
[root@qingsword.com lin64]# ./installer
./installer: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
#更新包缓存
[root@qingsword.com lin64]# yum makecache
#查找"libXss.so.1"属于哪个包
[root@qingsword.com lin64]# repoquery --nvr --whatprovides libXss.so.1
libXScrnSaver-1.2.2-6.1.el7
#安装对应包
[root@qingsword.com lin64]# yum install -y libXScrnSaver-1.2.2-6.1.el7
#程序所有提示没有的lib文件,都可以使用上面方法查找到,然后逐个安装上,程序就不会报错了
PS.两种方法,都需要系统能够正常连接上软件仓库,才能实现在线自动安装。
网友评论