如果已安装,则使用 yum update,否则安装

如果已安装,则使用 yum update,否则安装

是否有命令可以做到这一点:如果软件包已安装,则更新它,否则安装最新版本

现在我正在执行两个命令:

yum install mypackage
yum update mypackage

也许有更有效的方法?

答案1

至少对我来说,yum它足够聪明,如果我告诉它安装已经安装的东西,并且有可用的更新,它就会直接应用更新。例如:

[root@risby ~]# rpm -qa|grep openvpn
openvpn-2.2.2-7.fc17.x86_64

openvpn 已安装。

[root@risby ~]# yum update
[...]
--> Running transaction check
---> Package openvpn.x86_64 0:2.2.2-7.fc17 will be updated
---> Package openvpn.x86_64 0:2.3.1-2.fc17 will be an update

有可用的更新。

[root@risby ~]# yum install openvpn
[...]
--> Running transaction check
---> Package openvpn.x86_64 0:2.2.2-7.fc17 will be updated
---> Package openvpn.x86_64 0:2.3.1-2.fc17 will be an update

yum install无论如何都做了正确的事情。顺便说一下,yum 版本是 3.4.3。

相关内容