제거된 rpm 파일을 쿼리하는 방법(패키지 이름과 버전만)은 무엇입니까?

제거된 rpm 파일을 쿼리하는 방법(패키지 이름과 버전만)은 무엇입니까?

두 가지 다른 버전의 rpm 파일(1.1.rpm, 2.1.rpm)이 있으므로 여기서는 rpm을 쿼리하고 출력을 텍스트 파일(1.1.txt, 2.1.txt)에 저장해야 하며 두 버전을 비교해야 합니다. 버전 txt 파일을 작성하고 테이블 열에 차이점을 표시합니다.

예를 들어:

Pkg Name                   |      1.1.txt              | 2.1.txt
-------------------------------+---------------------------+---------------------------
qq                             |         3.4.4.            | 3.5.5
rr                             |         1.18.1            | 1.18.1

이 cmd를 사용하여 쿼리하려고 합니다.

rpm -qplv file* > 1.1.txt

어떻게 해야할지 아시나요?

답변1

패키지에서 및 를 얻으려면 name기본 및 옵션을 사용하여 및 형식 지정자를 지정할 수 있습니다. 필드 너비 수정자를 포함하여(C와 동일한 방식으로) 서식을 제공할 수 있습니다. 또한 rpm 서명 오류를 무시하도록 리디렉션하려고 합니다.versionrpmrpm -qp--queryformat%{NAME}%{VERSION}printfstderr/dev/null

예를 들어, 현재 디렉토리에 있는 모든 rpm 패키지의 이름과 버전을 나열하려면 다음을 수행하십시오.

예시 속도:

$ l1 *.rpm
athena-jot-9.0-4.1.x86_64.rpm
freetype2-devel-32bit-2.6.3-5.1.x86_64.rpm
ft2demos-2.6.3-5.1.x86_64.rpm
gtkwrite-0.1.2-2.1.x86_64.rpm
libfreetype6-32bit-2.6.3-5.1.x86_64.rpm

이러한 느슨한 rpm에서 명령을 실행하면 다음이 제공됩니다.

$ rpm -qp --queryformat "%-24{NAME}%15{VERSION}\n" *.rpm 2>/dev/null
athena-jot                          9.0
freetype2-devel-32bit             2.6.3
ft2demos                          2.6.3
gtkwrite                          0.1.2
libfreetype6-32bit                2.6.3

1.1.txt파일 에 쓰려면 다음과 같이 출력을 리디렉션하십시오.

$ rpm -qp --queryformat "%-24{NAME}%15{VERSION}\n" *.rpm 2>/dev/null > ~/tmp/1.1.txt

$ cat ~/tmp/1.1.txt
athena-jot                          9.0
freetype2-devel-32bit             2.6.3
ft2demos                          2.6.3
gtkwrite                          0.1.2
libfreetype6-32bit                2.6.3

관련 정보