특정 버전 번호로 설치된 모든 패키지를 어떻게 나열합니까?


27

시스템에 특정 버전 번호와 함께 설치된 모든 패키지를 나열하고 싶습니다. 체크 아웃 dpkg --get-selections( 설치된 모든 패키지를 나열하는 방법 )하지만 필요한 것을 표시하지 않습니다. 예를 들면 다음과 같습니다.

$ dpkg --get-selections apache2
apache2                                         install

버전이 아니라 apache2가 설치되었음을 나타냅니다. 나는 최근에 apt-get upgrade너무 아파치 2.2.22-1 버전을 설치 해야 했지만 ( http://packages.ubuntu.com/precise-updates/apache2.2-common ) 어떻게 표시 할 수 있습니까?

감사!

답변:


35

용도 dpkg -l대신 .

예:

dpkg -l | grep '^ii' | grep skype

이것을 출력합니다 :

alaa @ aa-lu : ~ $ dpkg -l | grep '^ ii'| 그렙 스카이프
ii Skype 4.2.0.11-0ubuntu0.12.04.2 Skype VOIP 용 i386 클라이언트 ...

이름과 버전 만 추출하려면 다음을 수행하십시오.

dpkg -l | grep '^ii' | grep skype | awk '{print $2 "\t" $3}'

위 출력에서 ​​두 번째와 세 번째 열만 인쇄합니다.

alaa @ aa-lu : ~ $ dpkg -l | grep '^ ii'| 그렙 스카이프 | awk '{print $ 2 "\ t"$ 3}'
스카이프 4.2.0.11-0 우분투 0.12.04.2

물론 Skype뿐만 아니라 설치된 모든 패키지를 해당 버전 으로 나열하려면 다음 grep skype과 같이 명령을 내리기 위해 부분을 제거하십시오 .

dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'

dpkg -l 버전 번호가 21자를 초과하면 잘리는 버전 번호를 알았으며 모든 패키지 버전의 길이는 22 자입니다. :(
ThorSummoner

12

용도

dpkg-query --show apache2

패키지의 버전 번호를 얻을 수 apache2

dpkg-query --show 

설치된 모든 패키지의 버전 번호를 가져옵니다.


1
귀하의 솔루션은 ~보다 20 % 더 많은 패키지를 제공했습니다 dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'. 차이점이 무엇인지 아십니까?
Thomas Jensen

3
@Thomas Jensen : 이것을 발견해 주셔서 감사합니다. dpkg-query --show실제로 설치된 패키지 는 표시 되지 않지만 설치되지 않은 패키지 는 표시 되지 않습니다 . 즉, 절반 설치 패키지 또는 나머지 구성 파일이있는 패키지도 표시됩니다.
Florian Diesch 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.