Модуль community.general.alternatives — управление альтернативными программами для распространённых команд
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля могут потребоваться дополнительные условия; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.alternatives.
Краткое описание
- Управляет символическими ссылками с помощью инструмента
update-alternatives. - Полезен, если установлено несколько программ с одинаковыми функциями (например, разные текстовые редакторы).
Требования
Следующие требования должны быть выполнены на узле, на котором выполняется этот модуль.
- update-alternatives
Параметры
Параметр | Комментарии |
|---|---|
family строка добавлено в community.general 10.1.0 | Семейство объединяет похожие альтернативы. Этот параметр доступен только в дистрибутивах на основе RHEL. |
link путь | Путь к символической ссылке, которая должна указывать на исполняемый файл. Этот параметр всегда обязателен в дистрибутивах на основе RHEL. В дистрибутивах на основе Debian он обязателен, если альтернатива |
name строка / обязательный | Общее имя ссылки. |
path путь | Путь к исполняемому файлу, на который должна указывать ссылка. |
priority целое число | Приоритет альтернативы. Если при создании приоритет не указан, используется значение |
state строка добавлено в community.general 4.8.0 |
Варианты:
|
subcommands псевдонимы: slaves список / элементы=словарь добавлено в community.general 5.1.0 | Список подкоманд. Для каждой подкоманды необходимо указать параметры name, link и path. В зависимости от версии |
|
link путь / обязательный |
Путь к символической ссылке, которая должна указывать на исполняемый файл подкоманды. |
|
name строка / обязательный |
Общее имя подкоманды. |
|
path путь / обязательный |
Путь к исполняемому файлу, на который должна указывать подкоманда. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может выполняться в режиме |
diff_mode | Поддержка: полная | В режиме сравнения возвращает сведения об изменениях (или о том, что, возможно, требуется изменить в |
Примеры
- name: Correct java version selected
community.general.alternatives:
name: java
path: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
- name: Select java-11-openjdk.x86_64 family
community.general.alternatives:
name: java
family: java-11-openjdk.x86_64
when: ansible_os_family == 'RedHat'
- name: Alternatives link created
community.general.alternatives:
name: hadoop-conf
link: /etc/hadoop/conf
path: /etc/hadoop/conf.ansible
- name: Make java 32 bit an alternative with low priority
community.general.alternatives:
name: java
path: /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java
priority: -10
- name: Install Python 3.5 but do not select it
community.general.alternatives:
name: python
path: /usr/bin/python3.5
link: /usr/bin/python
state: present
- name: Install Python 3.5 and reset selection to auto
community.general.alternatives:
name: python
path: /usr/bin/python3.5
link: /usr/bin/python
state: auto
- name: keytool is a subcommand of java
community.general.alternatives:
name: java
link: /usr/bin/java
path: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
subcommands:
- name: keytool
link: /usr/bin/keytool
path: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/keytool
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/alternatives_module.html