Ответ: Обновите все пакеты до последней версии, КРОМЕ foo, bar - PullRequest
1 голос
/ 05 ноября 2019

Как написать Ansible playbook для обновления всех пакетов Ubuntu, кроме Java и PostgreSQL?

со следующей задачей я могу обновить все пакеты до последней версии:

- name: Upgrade all packages to the latest version
  apt:
    name: "*"
    state: latest

Isесть ли способ добавить список пакетов, которые нужно игнорировать для обновления / обновления?

ОБНОВЛЕНИЕ:

Благодаря ответу Владимира я обновил Ansible Playbook:

---
- 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

Неуверен, что этот playbook правильный. Кто-нибудь может подтвердить?

1 Ответ

1 голос
/ 05 ноября 2019

Установить выбор: удерживайте для определенных пакетов. Например

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

FWIW. См. пример .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...