У меня установлена Ubuntu 12.10 с установленными библиотеками ImageMagick, libjpeg6 и libjpeg8.
Теперь мне интересно, есть ли способ определить, какая версия используется, и изменить ее.
Чтобы определить, какую библиотеку использует программа, вы можете посмотреть с помощью 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
для просмотра списка всех библиотек, установленных в вашей системе, и их версий вы можете использовать
ldconfig -v
& amp;
sudo ldconfig -v
оба будут работать, но во 2-й команде перечисляются все библиотеки, которые должны иметь права суперпользователя для отображения.
- Фильтровать определенный пакет , использовать его имя в качестве аргумента. например, чтобы вывести список всех установленных библиотек jpeg
ldconfig -v | grep jpeg
Вы можете проверить установленную на данный момент версию любого пакета, используя 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