Linux Ubuntu: Sprawdzenie wersji pakietu

5-cze-2022

Ponieważ na serwerze występowały pewne problemy z pracą sterownika bazy danych, trzeba było sprawdzić jaka wersja biblioteki libpq-dev jest zainstalowana. Oto kilka metod:

apt-cache

apt-cache policy libpq-dev

libpq-dev:
 Installed: 12.11-0ubuntu0.20.04.1
 Candidate: 12.11-0ubuntu0.20.04.1
 Version table:
 *** 12.11-0ubuntu0.20.04.1 500
 500 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
 500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
 100 /var/lib/dpkg/status
 12.2-4 500
 500 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 Packages

apt list

apt list -a libpq-dev

Listing... Done
libpq-dev/focal-updates,focal-security,now 12.11-0ubuntu0.20.04.1 amd64 [installed]
libpq-dev/focal 12.2-4 amd64

aptitude

aptitude versions libpq-dev

p 12.2-4 focal 500 
i 12.11-0ubuntu0.20.04.1 focal-security,focal-updates 500

ldd

Dodatkowo, jeśli trzeba przeprowadzić niewielką „reverse-engineering” i odpowiedzieć na pytanie, jaki inne biblioteki zostały wykorzystane podczas kompilacji tej jednej biblioteki można posłużyć się poleceniem ldd:

ldd ./_psycopg.cpython-38-x86_64-linux-gnu.so 

linux-vdso.so.1 (0x00007fff09ce7000)
libpq.so.5 => /lib/x86_64-linux-gnu/libpq.so.5 (0x00007f71f6dcc000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f71f6da9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f71f6bb7000)
libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f71f6b24000)
[...]

pg_config

A jeśli mowa jest konkretnie o bibliotece dla PostgreSQL, to można też wykorzystać polecenie pgconfig –version

ls /usr/bin/pg_con*
/usr/bin/pg_config /usr/bin/pg_config.libpq-dev /usr/bin/pg_conftool


/usr/bin/pg_config.libpq-dev --version
PostgreSQL 12.11 (Ubuntu 12.11-0ubuntu0.20.04.1)

Python

I na zakończenie jeszcze metoda z Pythona. Jeśli korzystasz z modułu psycopg2, to odwołując się do

psycopg2.__libpq_version__

możesz wyświetlić numer wersji libpq, z jaką został skompilowany moduł psycopg2

The psycopg2 module content — Psycopg 2.9.3 documentation

Komentarze są wyłączone

Autor: Rafał Kraik