Как получить список установленных пакетов библиотеки только?

Я хочу получить список установленных пакетов библиотеки только от терминала.

Есть ли какая-либо команда для этого?

12
задан 14 March 2014 в 15:57

3 ответа

/sbin/ldconfig -p

-v опция покажет версию библиотек.

Результат:

267 libs found in cache `/etc/ld.so.cache'
        libz.so.1 (libc6) => /usr/lib/libz.so.1
        libz.so (libc6) => /usr/lib/libz.so
        libxslt.so.1 (libc6) => /usr/lib/libxslt.so.1
        libxml2.so.2 (libc6) => /usr/lib/libxml2.so.2
        libxcb.so.1 (libc6) => /usr/lib/libxcb.so.1
        libxcb-xlib.so.0 (libc6) => /usr/lib/libxcb-xlib.so.0
        libwrap.so.0 (libc6) => /lib/libwrap.so.0
        libvolume_id.so.0 (libc6) => /lib/libvolume_id.so.0
        libuuid.so.1 (libc6) => /lib/libuuid.so.1
        libutil.so.1 (libc6, hwcap: 0x8008000000008000, OS ABI: Linux 2.6.8) => /lib/tls/i686/cmov/libutil.so.1
        libutil.so.1 (libc6, OS ABI: Linux 2.6.8) => /lib/libutil.so.1
        libutil.so (libc6, OS ABI: Linux 2.6.8) => /usr/lib/libutil.so
        libusb-0.1.so.4 (libc6) => /lib/libusb-0.1.so.4
        libusb-0.1.so.4 (libc6) => /usr/lib/libusb-0.1.so.4
        libulockmgr.so.1 (libc6) => /lib/libulockmgr.so.1
        libt1x.so.5 (libc6) => /usr/lib/libt1x.so.5
        libt1.so.5 (libc6) => /usr/lib/libt1.so.5
        libtiff.so.4 (libc6) => /usr/lib/libtiff.so.4
        libticw.so.5 (libc6) => /lib/libticw.so.5

, Если Вы хотите превратить тот список в список пакеты , можно сделать что-то вроде этого:

dpkg -S $(/sbin/ldconfig -p | awk 'NR>1 { print $NF }')

И можно далее массажировать это для включения ошибок, ненужных компонентов и дубликатов:

$ dpkg -S $(/sbin/ldconfig -p | awk 'NR>1 { print $NF }') 2>/dev/null | sed 's/\: .*$//' | sort -u
akregator
ark
binutils
calligra-libs
comerr-dev
compiz-core
dolphin
e2fslibs:amd64
freeglut3:amd64
gettext
...
17
ответ дан 16 November 2019 в 14:25

Я не уверен, что существует гарантируемый способ знать с имени пакета, что пакет является "библиотекой" (если это - даже основательное определение сам по себе), но можно найти установленные пакеты, которые запускаются и заканчиваются lib довольно легко:

dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) { print $2 }'

Некоторые пакеты содержат "lib", которые не являются библиотеками. Необходимо будет, вероятно, исключить librarian и libreoffice от тех:

dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) && ($2 !~ /^(libreoffice|librarian)/) { print $2 }'

Это все еще собирается пропустить недостаток python-... библиотеки.

2
ответ дан 16 November 2019 в 14:25

И способность пришла на помощь:

aptitude search '?and(?section(libs), ~i)'

Это читает: ищет пакеты, который содержит libs в их ?section и которые установлены (~i).

можно использовать это для поиска просто всех библиотек в репозитории:

aptitude search '?section(libs)'

Этот метод, очевидно, потребность способности.

1
ответ дан 16 November 2019 в 14:25

Другие вопросы по тегам:

Похожие вопросы: