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)"