Linux 缺失文件找到相关的软件包(rpm, deb)

Linux 缺失文件找到相关的软件包(rpm, deb),第1张

[TOC]

在编译安装软件时候, 经常会遇到某个 .h 文件找不到的报错, 例如:

这种原因, 一般是 系统的 $LD_LIBRARY_PATH 目录下找不到对应的文件, 这里就是找不到 mysql.h , 这时候一般可以通过安装软件包(rpm或deb)解决. 但是我们如何知道哪个软件包, 包含这个文件呢? 这里有一些命令可以帮的上忙.

可以通过 yum provides 命令查找

注意: 根据 yum provides 文档, 我们必须使用在文件前面使用通配符 */ 代表文件前面的路径.

例如 :

结果:

PS: 如果遇到 Command 'apt-file' not found , 先安装apt-file

例如 :

得到:

有时候觉得结果有些文件名根本不对, 可以增加 grep 命令筛选结果:

得到:

经常安装或者编译一些工具的时候会遇到类似 lib .so.* 等文件缺失的提示。一般我们可以通过百度谷歌寻找解决办法,但是除了这些办法,我们还可以自己寻找包名,然后安装。

上面安装了一个软件,用于从仓库索引中找到相关的包信息。

软件安装完成需要使用一下命令索引。

例如我遇到的是 libGL.so.1 文件的缺失,于是搜索:

返回结果:

我猜是 libgl1-mesa-glx 和 primus-libs 这两个软件包没装,于是装上。问题解决。

如果还是不行,试一下安装该包的 i386 版本,例如:

在Linux安装安装软件总没有在Windows系统下安装软件来的那么干净利落,不同的软件包安装的方式也不同,时常在安装包的时候缺少依赖包导致安装过程被打断,这是一件很让人头疼的事,这几天安装软件一直有这些问题,现在把解决的办法记录下,防止遗忘。

使用yum命令安装,熟悉Linux系统的人对这个命令一定不陌生,它可以自动安装依赖包,网上看到一种比较狠的解决依赖包安装的方法:yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel  openldap-clients openldap-servers libxslt-devel libevent-devel ntp  libtool-ltdl bison libtool vim-enhanced


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7454809.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存