dnf list installed
출력은 사람이 읽을 수 있지만 기계 파서에게는 그다지 친숙하지 않습니다. json, csv 또는 기타 파서 친화적인 형식으로 설치된 패키지를 가져올 수 있는 명령이 있습니까? 더 나은 인터페이스를 제공하는 dnf용 Python 바인딩이 있습니까?
답변1
이 rpm
명령은 결과 인쇄를 위한 좀 더 유연한 옵션을 제공합니다. 설치된 패키지를 나열하려면 rpm --query --all
형식화된 출력을 사용하면 됩니다 --queryformat
.
예를 들어 사용할 수 있는 패키지 이름만 인쇄합니다 rpm -qa --queryformat "%{NAME}\n"
. 유사한 구문을 사용하여 출력을 추가로 지정할 수 printf
있으며 rpm --querytags
사용 가능한 모든 "변수"를 인쇄하여 rpm
패키지에 대한 정보를 인쇄할 수 있습니다. 확인하다rpm 매뉴얼 페이지더 많은 정보를 알고 싶습니다.
예, DNF에는 Python 바인딩도 있으며 문서도 제공됩니다.여기설치된 패키지를 얻으려면 다음을 수행하십시오.
import dnf
base = dnf.Base()
base.fill_sack()
q = base.sack.query()
list(q.installed())
답변2
JSON, CSV 또는 기타 파서 친화적인 형식으로 설치된 패키지를 가져올 수 있는 명령이 있습니까?
이는 예제에서 후처리를 사용하여 달성할 수도 있습니다.
dnf list installed | tail -n +2 | awk -F '[.]' '{ print $1 }'
설치된 모든 패키지의 이름 목록만 제공합니다.
다음을 추가하여 JSON 형식으로 변환할 수 있습니다.
| jq --raw-input . | jq --slurp .
감사해요
기타 질문과 답변