여러 패키지 중 하나가 설치되어 있지 않은지 확인하는 방법

여러 패키지 중 하나가 설치되어 있지 않은지 확인하는 방법

Fedora에 특정 소프트웨어 패키지가 설치되어 있는지 확인하는 방법은 무엇입니까?

설치했다고 가정하면 설치되지 않은 것이 있는지 curl ca-certificates gnupg2 lldb python3-minimal gcc libc6-dev확인하고 싶습니다 .if

지금까지 제가 생각할 수 있는 유일한 것은 dnf list installed출력을 호출하고 수동으로 비교하는 것입니다.

답변1

rpm -q curl

지정된 패키지가 설치되면 curl빈 상태(성공)가 반환되고, 그렇지 않으면 실패 코드가 반환됩니다.

rpm -q curl > /dev/null || printf "curl not installed\n"
rpm -q gnupg2 > /dev/null && printf "gnupg2 installed\n"
if rpm -q gcc > /dev/null ; then
  ;
else
  printf "Missing GCC; will not be able to compile naught from nothing!\n"
fi

좋은 결과.

보다 일반적인 접근 방식은 을 묻는 것입니다 . dnf repoquery --installed예를 들어 어떤 패키지 에 python3이 포함되어 있는지 검색하는 데 사용할 수 있습니다. 그러나 이러한 항목이 어떤 패키지에 있는지 알 필요 없이 dnf repoquery --installed --whatprovides python3항목을 전달해야 합니다와 같은if [ -z "$(dnf repoquery --installed --whatprovides python3)" ]/usr/bin/foodnf repoquery --installed -f /usr/bin/foodnf repoquery --installed --whatprovides "pkgconfig(libcurl)"

관련 정보