Ich möchte die Liste der installierten Bibliothekspakete nur vom Terminal erhalten.
Gibt es einen Befehl dafür?
quelle
Ich möchte die Liste der installierten Bibliothekspakete nur vom Terminal erhalten.
Gibt es einen Befehl dafür?
/sbin/ldconfig -p
Die Option -v zeigt die Bibliotheksversion an.
Ergebnis:
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
Wenn Sie diese Liste in eine Liste von Paketen umwandeln möchten , können Sie Folgendes tun:
dpkg -S $(/sbin/ldconfig -p | awk 'NR>1 { print $NF }')
Und Sie können das weiter massieren, um Fehler, nicht benötigte Komponenten und Duplikate auszuschneiden:
$ 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
...
Ich bin mir nicht sicher, ob es eine garantierte Möglichkeit gibt, anhand eines Paketnamens zu erkennen, dass ein Paket eine "Bibliothek" ist (wenn dies auch nur eine solide Definition für sich ist), aber Sie können installierte Pakete finden, die lib
ziemlich einfach beginnen und enden :
dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) { print $2 }'
Einige Pakete enthalten "lib", die keine Bibliotheken sind. Sie müssen wahrscheinlich librarian
und libreoffice
von diesen ausschließen:
dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) && ($2 !~ /^(libreoffice|librarian)/) { print $2 }'
Dies wird immer noch einen Mangel an python-...
Bibliotheken verpassen .
Und Eignung kam zur Rettung:
aptitude search '?and(?section(libs), ~i)'
Es lautet: Sucht nach Paketen, die libs
in ihrem enthalten sind ?section
und die installiert sind ( ~i
).
Mit dieser Option können Sie nur nach allen Bibliotheken in Ihrem Repository suchen:
aptitude search '?section(libs)'
Diese Methode braucht natürlich Eignung.