केवल स्थापित लाइब्रेरी पैकेज की सूची कैसे प्राप्त करें?


12

मैं केवल टर्मिनल से स्थापित लाइब्रेरी पैकेजों की सूची प्राप्त करना चाहता हूं।

क्या उसके लिए कोई आज्ञा है?

जवाबों:


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 }'

कुछ पैकेजों में "लिब" होता है जो लाइब्रेरी नहीं हैं। आपको शायद 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)'

इस पद्धति को स्पष्ट रूप से योग्यता की आवश्यकता है।


ध्यान दें, यह काम करेगा यदि पैकेज डेबियन नीतियों का अनुपालन करते हैं। यदि कोई लाइब्रेरी लाइब्रेरी सेक्शन में नहीं है, तो उसे लाइब्रेरी में शामिल नहीं किया जाएगा।
ब्रिअम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.