dpkg-query -l은 제거된 패키지를 표시하지만 dpkg-query -l "pattern"은 해당 패키지를 찾지 못합니다. 이유는 무엇입니까?

dpkg-query -l은 제거된 패키지를 표시하지만 dpkg-query -l "pattern"은 해당 패키지를 찾지 못합니다. 이유는 무엇입니까?

방금 일부 패키지의 일부 i386 버전을 제거했습니다. 내가 실행하는 경우:

dpkg-query --list | grep ":i386"

나는 그것들이 나열되어 있는 것을 봅니다. 그러나 다음을 실행하면:

dpkg-query ---list "*:i386"

나는 그들을 본 적도 없고 --show도움을 제공한 적도 없습니다 --list.

dpkg-query 자체를 사용하여 모든 패키지를 검색할 수는 없나요?

답변1

dpkg-query --list패키지 이름에 쉘 glob 스타일 패턴인 "package-name-pattern"을 사용하는 것으로 문서화되어 있습니다. 아키텍처( :i386비트)는 패키지 이름의 일부가 아니므로 패키지 이름 패턴이 일치할 수 없습니다.

그러나 이 작업을 수행하려면 (또는 및 grep-dctrl등의 별칭 )을 사용할 수 있습니다 . 아직 설치하지 않았다면 설치해야 합니다.grep-statusgrep-availabledctrl-tools

grep-status -sPackage --not -FStatus installed --and -FArchitecture i386

당신이 찾고 있는 것과 비슷한 것을 할 수도 있습니다. 상태 필드가 "설치됨"과 일치하지 않고 아키텍처 필드가 "i386"과 일치하는 항목을 상태 파일에서 찾습니다.

제거되었지만 지워지지 않은 i386 패키지를 찾고 있는 경우 다음을 시도해 볼 수 있습니다.

grep-status -sPackage -FStatus config-files --and -FArchitecture i386

또는 (지금쯤 짐작하셨겠지만) i386 패키지를 설치하십시오:

grep-status -sPackage -FStatus installed --and -FArchitecture i386

모든 grep-dctrl변형에는 검색할 대상과 이를 출력할 필드를 정확하게 지정하기 위한 다양한 옵션이 있습니다.grep-dctrl 맨페이지세부 사항이 있습니다.

관련 정보