Para determinar qual biblioteca um programa está usando, você pode procurar com 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
Eu tenho o Ubuntu 12.10 instalado, com as bibliotecas ImageMagick e libjpeg6 e libjpeg8 instaladas.
Agora estou me perguntando se existe uma maneira de determinar qual versão é usada e alterá-la.
Para determinar qual biblioteca um programa está usando, você pode procurar com 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
para listar todas as bibliotecas instaladas em seu sistema e com suas versões você pode usar
ldconfig -v
& amp;
sudo ldconfig -v
ambos funcionarão, mas o segundo comando lista todas as bibliotecas que precisam ter permissões de root para listar.
para Filtrar pacote específico , use seu nome como argumento. por exemplo, para listar todas as bibliotecas jpeg instaladas
ldconfig -v | grep jpeg
Você pode verificar a versão atualmente instalada de qualquer pacote usando apt-cache policy
. A saída deve ficar assim:
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
Ele mostra tanto a versão instalada quanto todas as outras versões disponíveis - apenas uma aqui. Se houver outra versão, você poderá instalá-la usando apt-get install <package>=<version>
, se essa versão existir, por exemplo:
apt-get install libjpeg8=8c-ubuntu9