Я пытаюсь использовать dnf-модуль Ansible с module
переключитесь на установку PHP 7.4 из репозитория remi.
Я делаю это как команду, так как не могу заставить ее работать с помощью Ansible dnf.
Вот что я хочу сделать: dnf module -y install php:remi-7.4
Я не могу работать, если могу использовать module
включите модуль Ansible dnf. Кто-нибудь знает, возможно ли это?
Спасибо,
Дэвид
Спасибо за ответ. У меня нет проблем с использованием dnf
модуль в Ansible, у меня проблема с использованием параметра module
используя Ansible dnf
.
Я делаю это:
- name: install php from stream {{ php_module_stream }}
command: dnf module -y install {{ php_module_stream }}
и я хочу сделать что-то вроде этого:
- name: install php from stream {{ php_module_stream }}
dnf:
name: {{ php_module_stream }}
module: true
Я не могу понять, как использовать это слово module
в dnf
.
Вы можете установить модуль (который по сути представляет собой группу пакетов), добавив @
перед названием модуля в name
параметр Ansible dnf
модуль. Его можно использовать так:
- name: install the 'Development tools' package group
dnf:
name: '@Development tools'
state: present
Предупреждение о семантике: Ansible использует термин «модуль» для описания определенного набора команд или функциональности. DNF / Yum4 использует термин «модуль» для описания групп пакетов, функций и поставщиков программного обеспечения. Это может легко запутать этот вопрос.
Согласно официальной документации для Ansible 2.9, нет (документированной) поддержки возможностей "модулей" DNF / Yum4.
Если вам конкретно нужно использовать переключатель «modules» с DNF / Yum4, вы можете сделать это с помощью ansible command
или shell
модулей, в зависимости от того, как вы его используете. Пример кода:
- name: Use dnf command to install postgresql 9.6 client
command: dnf module install postgresql:9.6/client
Эта задача включит модуль postgreql, поток 9.6 и установит пакеты, помеченные как часть профиля «клиент».
В качестве альтернативы вы можете попробовать следующие обозначения с dnf
модуль в Ansible; Я не тестировал его и не могу сказать, будет ли он работать или сможет ли Ansible правильно интерпретировать специальные символы.
- name: Use the ansible dnf_module to install postgresql 9.6 client
dnf:
name: "@postgresql:9.6/client"
state: present
Согласно документации RHEL8, yum4 / dns принимает эту нотацию без явного вызова переключателя «модуль». (Пример внизу раздела 4.6)