在EC2 / Amazon Linux AMI(基于CentOS)上,我创build了/etc/yum.repos.d/nginx.repo :
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
然后我成功安装了nginx 1.4.2:
sudo yum --disablerepo="*" --enablerepo="nginx" install nginx
现在,当我运行sudo yum update ,我得到:
---> Package nginx.x86_64 0:1.4.2-1.el6.ngx will be updated ---> Package nginx.x86_64 1:1.2.9-1.11.amzn1 will be an update
没有!
如何永久阻止更新? (这实际上是降级)
第三方软件仓库的维护人员应该以不干扰主仓库的方式命名软件包,否则会发生类似的冲突。 像上述这样的冲突是不专业和质量差的迹象。
一些解决方法是:
您可以使用Yum Priorities,通过将priority=N分配给.repo文件中列出的存储库,将每个repoconfiguration为使用某个优先priority=N 。 一些百胜餐饮开发商批评百胜优先。 阅读底部的“注意事项”。
您也可以从特定存储库中排除软件包 。 所以,添加这样的东西到你的主要回购。 replace你的软件包名称。
[main] exclude=php* kernel*
您可以使用以下命令指定不要更新的软件包:
yum --exclude=nginx* update
你可以使用yum update-minimal
update-minimal像升级一样工作,但进入“最新”软件包匹配,修复影响系统的问题