当包裹不可用时,yum应该错误

我最近遇到了一个脚本中的错误,我试图做到以下几点:

yum -y install another_package.x86_64 some_package.x86_64 && run_my_script 

该脚本在新的CentOS上运行良好,但是当我尝试在Cent OS 5上执行脚本时, some_package.x86_64不可用。 但是,而不是错误和停止yum只是打印消息:

 No package some_package.x86_64 available. 

如何在这种情况下强制yum发生错误(哪个IMO应该是默认设置)以使我的脚本更健壮?

正如您发现的那样,这种行为在RHEL 5和6之间发生了变化(请参阅https://bugzilla.redhat.com/show_bug.cgi?id=736694进行一些讨论)&#x3002; 从这个链接中,检查yum info <pkg>的返回码应该允许你根据需要放弃你的脚本。 就像是:

 # Set a variable containing the packages to install: pkgs_to_install='another_package.x86_64 some_package.x86_64' # Loop over the packages in the list: for pkg in ${pkgs_to_install}; do # Stop executing if at least one package isn't available: yum info ${pkg} >> /dev/null 2>&1 || exit done # Continue running your original script: yum -y install ${pkgs_to_install} && run_my_script