Ansible:将所有软件包升级至除foo、bar之外的最新版本

Ansible:将所有软件包升级至除foo、bar之外的最新版本,ansible,Ansible,如何编写Ansible playbook来升级除Java和PostgreSQL之外的所有Ubuntu软件包 通过以下任务,我可以将所有软件包升级到最新版本: - name: Upgrade all packages to the latest version apt: name: "*" state: latest 是否有方法添加要忽略更新/升级的包列表 更新: 由于弗拉基米尔的回答,我更新了Ansible剧本: --- - hosts: DEP-GEOSRV1 bec

如何编写Ansible playbook来升级除Java和PostgreSQL之外的所有Ubuntu软件包

通过以下任务,我可以将所有软件包升级到最新版本:

- name: Upgrade all packages to the latest version
  apt:
    name: "*"
    state: latest
是否有方法添加要忽略更新/升级的包列表

更新:

由于弗拉基米尔的回答,我更新了Ansible剧本:

---
- hosts: DEP-GEOSRV1
  become: yes
  tasks: 

  - name: disable upgrade of java & postgresql
    dpkg_selections:
      name: openjdk-8-jre
      selection: hold
    dpkg_selections:
      name: postgresql-9.3
      selection: hold
    dpkg_selections:
      name: postgresql-server-dev-9.3
      selection: hold

  - name: Upgrade all packages to the latest version except java & postgresql
    apt:
      name: "*"
      force_apt_get: true
      state: latest
不确定这个剧本是否正确。有人能确认吗?

为特定的包设置。比如说

- dpkg_selections:
    name: openjdk-8-jre
    selection: hold

FWIW。看。

@ValidmirBotka,我更新了我的问题,你能看一下吗?我正在努力为dpkg_选择块找到正确的位置。谢谢很可能缺少存储库的密钥。在继续Ansible之前,您必须能够在remote上运行“apt get update”。