有的时候编译或者安装软件包,会提示缺少某个文件,如xxx.so文件等,虽然我们知道这是因为没有安装某个必须的软件包所致,却不知道具体是哪个软件包。
解决这样的问题,在fedora/RHEL 上,使用yum whatprovides 可以很轻松的查到。相应的,在ubuntu下面有什么解决方案?可使用apt-file工具。
apt-file 是一个命令行界面的 APT 包搜索工具。当我们在编译源代码时,时有缺少文件的情况发生。此时,通过 apt-file 就可以找出该缺失文件所在的包,然后将缺失的包安装后即可让编译顺利进行了。
1、首先安装apt-file管理器
复制代码代码如下:
apt-get install apt-file
2、接着更新apt-file的缓存
复制代码代码如下:
apt-file update
此过程将持续一会儿,以后如果修改了 sources.list,仍需执行该操作。
3、现在你可以使用apt-file搜索缺失的文件了
例如:
在安装WPS时,提示缺少libgthread-2.0.so.0
此时,输入
复制代码代码如下:apt-file search libgthread-2.0.so.0
输出:
libglib2.0-0: /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0
说明需要安装libglib2.0-0
复制代码代码如下:apt-get install libglib2.0-0:i386 就可以了(:i386表示安装的是32位的)
4、列出包中的文件
使用以下命令:
复制代码代码如下:
apt-file list 包名称
可以列出包中所含的文件。