Spec-Zone.ru › Ansible

Модуль 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 неизвестна системе.

name

строка / обязательный

Общее имя ссылки.

path

путь

Путь к исполняемому файлу, на который должна указывать ссылка.

priority

целое число

Приоритет альтернативы. Если при создании приоритет не указан, используется значение 50.

state

строка

добавлено в community.general 4.8.0

present — установить альтернативу (если она ещё не установлена), но не выбирать её в качестве текущей альтернативы для группы.

selected — установить альтернативу (если она ещё не установлена) и выбрать её в качестве текущей альтернативы для группы.

auto — установить альтернативу (если она ещё не установлена) и переключить группу в автоматический режим. Добавлено в community.general 5.1.0.

absent — удалить альтернативу. Добавлено в community.general 5.1.0.

Варианты:

  • "present"
  • "selected" ← (по умолчанию)
  • "auto"
  • "absent"

subcommands

псевдонимы: slaves

список / элементы=словарь

добавлено в community.general 5.1.0

Список подкоманд.

Для каждой подкоманды необходимо указать параметры name, link и path.

В зависимости от версии alternatives подкоманды также называются slaves или followers.

link

путь / обязательный

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

name

строка / обязательный

Общее имя подкоманды.

path

путь / обязательный

Путь к исполняемому файлу, на который должна указывать подкоманда.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может выполняться в режиме check_mode и возвращать прогноз изменений, не изменяя целевой узел.

diff_mode

Поддержка: полная

В режиме сравнения возвращает сведения об изменениях (или о том, что, возможно, требуется изменить в check_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

Авторы

  • Marius Rieder (@jiuka)
  • David Wittman (@DavidWittman)
  • Gabe Mulley (@mulby)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую функцию
  • Общение

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API