如何检查使用了哪个版本的库以及如何更改?

如何检查使用了哪个版本的库以及如何更改?

我安装了 Ubuntu 12.10,其中安装了 ImageMagick 和libjpeg6libjpeg8

我现在想知道是否有办法确定libjpegImageMagick 使用的是哪个版本。

答案1

列出系统中安装的所有库及其版本,您可以使用

ldconfig -v

&

sudo ldconfig -v

两者都可以工作,但是第二条命令列出了所有需要具有 root 权限才能列出的库。

过滤特定包,使用它的名字作为参数。例如列出所有安装的 jpeg 库

ldconfig -v | grep jpeg

在此处输入图片描述

答案2

要确定程序正在使用哪个库,您可以查看strace

user@host:~$ strace -e open gimp 2>&1 | grep libjpeg
open("/usr/lib/x86_64-linux-gnu/libjpeg.so.8", O_RDONLY|O_CLOEXEC) = 4

答案3

你可以使用 检查任何软件包的当前安装版本apt-cache policy。输出应如下所示:

libjpeg8:
  Installed: 8c-2ubuntu8
  Candidate: 8c-2ubuntu8
  Version table:
 *** 8c-2ubuntu8 0
        500 http://de.archive.ubuntu.com/ubuntu/ saucy/main amd64 Packages
        100 /var/lib/dpkg/status

它显示已安装的版本以及所有其他可用版本 – 这里只有一个。如果有其他版本,您可以使用 安装它apt-get install <package>=<version>(如果该版本确实存在),例如:

apt-get install libjpeg8=8c-ubuntu9

答案4

由于 OP 的最终目标可能是检查/更新 ImageMagic 的版本,因此您可能只需要检查您正在使用的版本。在这种情况下,就这么简单

convert --version

将返回类似以下内容:

Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP 
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib

相关内容