複数のパッケージのいずれかがインストールされていないことを確認する方法

複数のパッケージのいずれかがインストールされていないことを確認する方法

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

おすすめ記事