如何仅获取已安装的库软件包的列表?


Answers:


17
/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
...

2

我不确定是否可以通过软件包名称知道某个软件包是“库”(如果它本身甚至是一个完整的定义),但是您可以找到以开头和结尾都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-...图书馆的匮乏。


1

才智得以拯救:

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

它显示为:查找包含libs在其中?section并已安装(~i)的软件包。

您可以使用它来查找存储库中的所有库:

aptitude search '?section(libs)'

此方法显然需要智能。


注意,如果软件包符合Debian策略,这将起作用。如果某个库不在“库”部分中,那么即使它是一个库,也不会包括在内。
Braiam 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.