alternatives – Manages alternative programs for common commands

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
  alternatives:
    name: java
    path: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

- name: Alternatives link created
  alternatives:
    name: hadoop-conf
    link: /etc/hadoop/conf
    path: /etc/hadoop/conf.ansible

- name: Make java 32 bit an alternative with low priority
  alternatives:
    name: java
    path: /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java
    priority: -10

Status

Authors

  • David Wittman (@DavidWittman)
  • Gabe Mulley (@mulby)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.