Update-alternatives
| Fiche express | |
|---|---|
| Domaine | Gestion des versions concurrentes d'une commande |
| Commande | update-alternatives
|
| Contexte | Debian/Ubuntu — équivalent alternatives sur RHEL/CentOS
|
| Voir aussi | Dpkg (mécanisme Debian sous-jacent) |
update-alternatives gère les liens symboliques permettant à plusieurs versions ou implémentations d'une même commande (éditeur, JVM, interpréteur Python, MTA…) de cohabiter sur un système, tout en désignant laquelle est utilisée par défaut. Sur RHEL/CentOS, l'outil équivalent s'appelle alternatives mais partage la même syntaxe et le même principe.
Choisir l'alternative active
Cas le plus courant : basculer interactivement entre les alternatives déjà enregistrées pour une commande donnée.
update-alternatives --config editor # choisir l'éditeur par défaut (vi, nano, vim...)
update-alternatives --config java # choisir la JVM par défaut
# sur RHEL/CentOS, même usage avec la commande alternatives
alternatives --display mta # afficher les choix disponibles pour le MTA
alternatives --set mta /usr/sbin/sendmail.postfix # imposer un choix sans passer par le menu interactif
--config ouvre un menu interactif listant les alternatives déjà enregistrées pour ce nom ; --set impose directement un choix sans interaction, utile dans un script d'installation.
Enregistrer une nouvelle alternative
Avant de pouvoir choisir entre plusieurs versions, chacune doit être déclarée avec --install :
update-alternatives --install <lien> <nom> <chemin> <priorité>
# exemple : deux versions de python enregistrées, la priorité la plus haute gagne en mode auto
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
<lien> est le chemin générique exposé aux utilisateurs (/usr/bin/python), <nom> l'identifiant interne du groupe d'alternatives, <chemin> le binaire réel visé et <priorité> un entier utilisé en mode automatique (la priorité la plus haute est choisie par défaut tant qu'aucun choix manuel n'a été fait avec --config ou --set).
Lister et consulter
update-alternatives --list python # toutes les alternatives enregistrées pour ce nom
update-alternatives --display python # détail : priorités, lien courant, mode auto/manuel
Voir aussi
- Dpkg — le mécanisme Debian dont
update-alternativesfait partie - Sur RHEL/CentOS, la commande
alternativesreprend la même logique et les mêmes options