Как в Ansible указать разные package managers для разных ОС (Debian/apt и RedHat/yum)?

В Ansible можно использовать условные конструкции (when) для выбора нужного package manager в зависимости от ОС. Например, в задаче можно указать разные модули или параметры для Debian (apt) и RedHat (yum):

Короткий ответ

Что ответить на собеседовании

В Ansible можно использовать условные конструкции (when) для выбора нужного package manager в зависимости от ОС. Например, в задаче можно указать разные модули или параметры для Debian (apt) и RedHat (yum):

Подробный разбор

Ответ с пояснениями

В Ansible можно использовать условные конструкции (when) для выбора нужного package manager в зависимости от ОС. Например, в задаче можно указать разные модули или параметры для Debian (apt) и RedHat (yum):

- name: Install package on Debian
  apt:
    name: nginx
    state: present
  when: ansible_facts['os_family'] == 'Debian'

- name: Install package on RedHat
  yum:
    name: nginx
    state: present
  when: ansible_facts['os_family'] == 'RedHat'

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее