在 Linux 中,如何检查某个库是否已安装?(当然是通过命令行)。
就我现在的具体情况而言,我想检查 libjpeg 是否已安装。
答案1
要以独立于发行版*的方式执行此操作,您可以使用 ldconfig 和 grep,如下所示:
ldconfig -p | grep libjpeg
如果未安装 libjpeg,则不会有输出。如果已安装,则每个可用版本都会有一行。
用您想要的任何库替换 libjpeg,您就拥有了一种通用的、独立于发行版*的方法来检查库的可用性。
如果由于某种原因未设置 ldconfig 的路径,您可以尝试使用其完整路径来调用它,通常是/sbin/ldconfig
。
**99% 的时间*
答案2
您可以检查您的发行版的包管理器(aptitude、yum 等),但由于您没有提供您的发行版,所以我无法给您正确的命令。
另一种方法是运行gcc -ljpeg
,如果出现“ld: library not found for -ljpeg”,则表示 gcc 没有找到该库(但并不意味着它没有安装),如果出现类似“Undefined symbol: “_main”,referenced from: ...”之类的信息,则表示已经找到了 libjpeg。
locate libjpeg; ls /usr/lib/libjpeg*; ls /lib/libjpeg*
还有其他方法可以查找系统中是否安装了该库
还有许多其他方法可以检查,如果您给我们更多背景信息(为什么您需要检查 libjpeg 是否已安装),我们可以为您的具体情况提供最佳解决方案。
答案3
我用哪里公用事业。
样本:
l1feh4ck3r@xxx:~$ whereis libjpeg
libjpeg: /usr/lib/libjpeg.so /usr/lib/libjpeg.a /usr/lib/libjpeg.la
答案4
对于基于 deb 的发行版,你可以这样做
dpkg -s packagename
或者如果你只知道文件名,请使用
locate filename
文件名通常是 libsomething.so[.version]。