설치된 라이브러리 패키지 목록 만 얻는 방법?


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

일부 패키지에는 라이브러리가 아닌 "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)'

이 방법에는 분명히 적성이 필요합니다.


패키지가 데비안 정책을 준수하는 경우 작동합니다. 라이브러리가 라이브러리 섹션에 없으면 라이브러리 인 경우에도 포함되지 않습니다.
Braiam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.