community.general.alternatives module – Manages alternative programs for common commands
Note
This module is part of the community.general collection (version 9.4.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
You need further requirements to be able to use this module,
see Requirements for details.
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 |
Comments |
---|---|
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 |
|
The generic name of the link. |
|
The path to the real executable that the link should point to. |
|
The priority of the alternative. If no priority is given for creation |
|
Choices:
|
|
A list of subcommands. Each subcommand needs a name, a link and a path parameter. Subcommands are also named ‘slaves’ or ‘followers’, depending on the version of alternatives. |
|
The path to the symbolic link that should point to the real subcommand executable. |
|
The generic name of the subcommand. |
|
The path to the real executable that the subcommand should point to. |
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: full |
Will return details on what has changed (or possibly needs changing in |
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
- 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