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