解决Linux安装或执行命令遇到无法加载lib错误
引言
我们在安装或执行某些程序的时候会经常遇到类似于"error while loading shared libraries: xxxx.so: cannot open shared object file: No such file or directory"这样的错误,这是因为系统中没有要安装或运行那个程序调用的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.两种方法,都需要系统能够正常连接上软件仓库,才能实现在线自动安装。