次のrpmsをインストールしようとしています(実際にはすでにインストールされています)。
rpm -qa | grep sshpass
sshpass-1.06-2.el7.x86_64
yum install sshpass-1.06-1.el7.x86_64.rpm
Loaded plugins: langpacks
Examining sshpass-1.06-1.el7.x86_64.rpm: sshpass-1.06-1.el7.x86_64
sshpass-1.06-1.el7.x86_64.rpm: does not update installed package.
Error: Nothing to do
echo $?
1
しかしそれは戻ってくるexit code 1
yumがインストールされているrpmを無視してエラーを返さないのはなぜですか?
他の例
rpm -qa | grep figlet
figlet-2.2.5-9.el7.x86_64
yum install figlet-2.2.5-9.el7.x86_64.rpm
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
configuration
Examining figlet-2.2.5-9.el7.x86_64.rpm: figlet-2.2.5-9.el7.x86_64
figlet-2.2.5-9.el7.x86_64.rpm: does not update installed package.
Error: Nothing to do
echo $?
1
注 - 私たちも試してくださいyum clean all
。
そして削除されました/var/cache/yum/*
しかし、役に立たなかった
ベストアンサー1
私の印象はあなたがyumの基本的な動作について文句を言っているということです。
yumは、パッケージのインストール/削除またはアップグレードのためのパッケージマネージャとして機能します。
存在する場合、Error: Nothing to do
パッケージのインストール/削除またはアップグレード操作は実際に失敗するため、戻りコード== 1です。
パッケージがインストールされていることを確認するには、以下を試してください。
rpm -qa | grep wget || yum -y install wget
これはあなたに$? == 0標準シナリオでは。