yum
1つのコマンドで複数のパッケージをインストールし、それらのいずれかが利用できない場合は失敗したいと思います。ただし、パッケージyum install -y foobar
が存在しないfoobar
ため、失敗している間は、不足しているパッケージがインストールされ、yum install -y mysql foobar
自動的に無視されます。mysql
foobar
要求されたパッケージがすべてインストールされていることを確認する良い方法はありますか?最良のアイデアは、No package .* available
出力で文字列を見つけることです。基本的には次のようになります。
yum install -y mysql foobar | grep 'No package .* available'; [ ! $? = 0 ]
問題は、印刷されたエラーメッセージによってyum
時間の経過とともにメッセージが変更される可能性があることです。grep
出力も飲み込まれyum
、使用できないパッケージに加えて、将来のデバッグの問題が複雑になる可能性があります。
答え1
このパラメーターを使用すると、パッケージが欠落していると--setopt=skip_missing_names_on_install=False
エラーが発生します。yum
yum install -y --setopt=skip_missing_names_on_install=False mysql foobar