yumを使用して終了コードが0のパッケージをインストールまたはアップグレードする方法は?

yumを使用して終了コードが0のパッケージをインストールまたはアップグレードする方法は?

URLからパッケージをインストールするスクリプトを作成しています。スクリプトは、パッケージがインストールされていない場合はインストールを要求し、インストールされている場合は既存のバージョンを指定されたRPMに強制的に置き換えます。残念ながら、パッケージがすでに正しいバージョンの場合、合計yum installは1を返します。yum updateyumRPMを絶対に積極的にインストールし、終了コードがある場合にのみ終了コードを返すように指示する方法は?実際のエラー?

答え1

スクリプト呼び出しを介してyumダウンロードとインストールを実行する代わりに、スクリプトからファイルをダウンロード(またはcurl使用wget)し、ダウンロードしたファイルを強制インストールします.rpm

rpm --install --force file_name.rpm

OPに示すように、rpmURLは問題なく直接ダウンロードできます。マニュアルページから:

INSTALLING, UPGRADING, AND REMOVING PACKAGES:
   rpm {-i|--install} [install-options] PACKAGE_FILE ...

   rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

   rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

   <snip>

   In  these  options, PACKAGE_FILE can be either rpm binary file or ASCII
   package manifest (see PACKAGE SELECTION OPTIONS), and may be  specified
   as  an  ftp  or  http URL, in which case the package will be downloaded
   before being installed. See FTP/HTTP OPTIONS for information  on  rpm's
   internal ftp and http client support.

関連情報