community.general.alternatives – Manages alternative programs for common commands

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.alternatives.

Synopsis

  • Manages symbolic links using the ‘update-alternatives’ tool.

  • Useful when multiple programs are installed but provide similar functionality (e.g. different editors).

Requirements

The below requirements are needed on the host that executes this module.

  • update-alternatives

Parameters

Parameter Choices/Defaults Comments
link
path
The path to the symbolic link that should point to the real executable.
This option is always required on RHEL-based distributions. On Debian-based distributions this option is required when the alternative name is unknown to the system.
name
string / required
The generic name of the link.
path
path / required
The path to the real executable that the link should point to.
priority
integer
Default:
50
The priority of the alternative.

Examples

- name: Correct java version selected
  community.general.alternatives:
    name: java
    path: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

- 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

Authors

  • David Wittman (@DavidWittman)

  • Gabe Mulley (@mulby)