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/foo
dnf repoquery --installed -f /usr/bin/foo
dnf repoquery --installed --whatprovides "pkgconfig(libcurl)"