红联Linux门户
Linux帮助

使用apt-file,根据文件查找所需安装的软件包

发布时间:2015-12-19 10:45:42来源:linux网站作者:lzpdz

ubuntu14.04-64位编译Android4.4时出现问题:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory.


解决方法:很明显就是安装这个库所在包咯,可是我们怎么这知道 libz.so.1在哪个包呢?
我们使用命令:apt-file search 来查找,首先安装,按如下命令:

sudo apt-get install apt-file

安装完以后系统会提示你update,如果没有提示,在终端输入如下命令:
sudo apt-file update


apt-file 是用来查找某个命令或者某一个库所在的包的,具体用法如下:
dell@dell-OptiPlex-7010:~$ apt-file search libz.so.1
lib32z1: /usr/lib32/libz.so.1
lib32z1: /usr/lib32/libz.so.1.2.3.3
lib32z1-dev: /usr/lib32/libz.so
lsb-build-base3: /usr/lib/lsb3/libz.so
zlib1g: /lib/libz.so.1
zlib1g: /lib/libz.so.1.2.3.3
zlib1g-dbg: /usr/lib/debug/lib/libz.so.1.2.3.3
zlib1g-dbg: /usr/lib/debug/usr/lib32/libz.so.1.2.3.3
zlib1g-dev: /usr/lib/libz.so


使用apt-file search 查找你的库所在包就行了,右边的是匹配你的库,左边的是你查的库所在的包,所以最后安装对应的包就行了。
sudo apt-get install lib32z1  
如果只为解决问题,只需上面这一条命令就ok了!