Yalnızca kurulu kütüphane paketlerinin listesi nasıl alınır?


12

Kurulu kütüphane paketlerinin listesini sadece terminalden almak istiyorum.

Bunun için herhangi bir komut var mı?

Yanıtlar:


17
/sbin/ldconfig -p

-V seçeneği kitaplık sürümünü gösterir.

Sonuç:

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

Bu listeyi bir paket listesine dönüştürmek istiyorsanız, bunun gibi bir şey yapabilirsiniz:

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

Ve ayrıca hataları, gereksiz bileşenleri ve kopyaları kesmek için masaj yapabilirsiniz:

$ 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

Bir paket adından bir paketin "kütüphane" olduğunu bilmenin garantili bir yolu olduğundan emin değilim (eğer kendi başına sağlam bir tanım olsa bile), ancak liboldukça kolay bir şekilde başlayan ve biten yüklü paketleri bulabilirsiniz :

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

Bazı paketler kitaplık olmayan "lib" içerir. Muhtemelen dışlamak gerekir librarianve libreofficeolanlardan:

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

Bu hala python-...kütüphanelerin eksikliğini kaçıracak .


1

Ve yetenek kurtarmaya geldi:

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

Okur: libsiçinde ?sectionve yüklü olan paketleri arar ( ~i).

Bunu yalnızca deponuzdaki tüm kitaplıkları aramak için kullanabilirsiniz:

aptitude search '?section(libs)'

Bu yöntemin açıkça yetenek ihtiyacı var.


Paketlerin Debian ilkelerine uygun olması durumunda bunun işe yarayacağını unutmayın. Bir kütüphane kütüphane bölümünde değilse, kütüphane olsa bile dahil edilmeyecektir.
Braiam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.