我正在尝试使用Ansible升级我们的Centos 6.5和7.0服务器,但不包括某些更新。例如...
一台服务器有两个我们不希望更新的软件包,因为它们会与我们的开发人员混淆:
我们想更新的所有其他内容。我将这些用作仅在运行7.0的那2台服务器上不进行更新的示例。但是,在其他情况下,我们可能希望更新所有内容,除了上面的少数应用程序或模块。
这就是我用于yum更新游戏的内容。它工作正常,但会更新所有可用于更新的内容。
---
- hosts: all
remote_user: root
tasks:
- name: update OS
yum: name=* state=latest
remote_user: root
任何帮助表示赞赏。
答案 0 :(得分:0)
yum模块确实具有使用exclude属性排除软件包的功能。
但是,根据您的情况,最好从yum存储库中排除软件包。有关详细信息,请参见How long is the "JobService execution time limit" mentioned in Android's JobIntentService docs?模块。
答案 1 :(得分:0)
yum
模块具有一个exclude
参数。将其添加到您的代码中:
---
- hosts: all
remote_user: root
tasks:
- name: update OS
yum:
name: "*"
exclude:
- elasticsearch
- kibana
state: latest
答案 2 :(得分:0)
您可以在yum模块https://docs.ansible.com/ansible/latest/modules/yum_module.html上使用exclude
,但是,像@ aaron-walker一样,我将禁用所有存储库,因为您不想更新这些rpm以获得更多保证不会使用disablerepo
更新它们。