| update-alternatives(1) | dpkg suite | update-alternatives(1) |
NOM¶
update-alternatives - Maintenance des liens symboliques déterminant les noms par défaut de certaines commandes
SYNOPSIS¶
update-alternatives [option...] commande
DESCRIPTION¶
update-alternatives creates, removes, maintains and displays information about the symbolic links comprising the alternatives system.
Il est possible d'installer, sur un même système et en même temps, des programmes qui remplissent des fonctions identiques ou semblables. Par exemple, beaucoup de systèmes installent plusieurs éditeurs de texte en même temps. Cela permet à chaque utilisateur d'un système de choisir, s'il le désire, un éditeur de texte différent ; mais cela rend les choses difficiles pour le programme qui doit choisir un bon éditeur de texte quand l'utilisateur n'a pas fait de choix précis.
The alternatives system aims to solve this problem. A generic name in the filesystem is shared by all files providing interchangeable functionality. The alternatives system and the system administrator together determine which actual file is referenced by this generic name. For example, if the text editors ed(1) and nvi(1) are both installed on the system, the alternatives system will cause the generic name /usr/bin/editor to refer to /usr/bin/nvi by default. The system administrator can override this and cause it to refer to /usr/bin/ed instead, and the alternatives system will not alter this setting until explicitly requested to do so.
Le nom générique n'est pas un lien symbolique direct vers l'alternative choisie. C'est en fait un lien symbolique vers un nom situé dans le répertoire des « alternatives », lequel nom est à son tour un lien symbolique vers le fichier réellement visé. Les modifications faites par l'administrateur système sont ainsi confinées dans le répertoire /etc ; le FHS (lisez-le) donne de Bonnes Raisons de faire ainsi.
When each package providing a file with a particular functionality is installed, changed or removed, update-alternatives is called to update information about that file in the alternatives system. update-alternatives is usually called from the following Debian package maintainer scripts, postinst (configure) to install the alternative and from prerm and postrm (remove) to remove the alternative. Note: In most (if not all) cases no other maintainer script actions should call update-alternatives, in particular neither of upgrade nor disappear, as any other such action can lose the manual state of an alternative, or make the alternative temporarily flip-flop, or completely switch when several of them have the same priority.
It is often useful for a number of alternatives to be synchronized, so that they are changed as a group; for example, when several versions of the vi(1) editor are installed, the manual page referenced by /usr/share/man/man1/vi.1 should correspond to the executable referenced by /usr/bin/vi. update-alternatives handles this by means of master and slave links; when the master is changed, any associated slaves are changed too. A master link and its associated slaves make up a link group.
À tout moment, un groupe de liens est dans l'un des deux modes suivants : automatique ou manuel. Quand un groupe est dans le mode automatique et que des paquets sont installés ou désinstallés, le système des « alternatives » décide automatiquement s'il doit mettre à jour les liens et comment le faire. Dans le mode manuel, le système des « alternatives » ne change pas les liens et laisse l'administrateur système prendre toutes les décisions (sauf si quelque chose est cassé).
Un groupe de liens est en mode automatique quand il est créé sur un système pour la première fois. Quand l'administrateur système modifie le paramétrage automatique du système, update-alternatives le remarquera la prochaine fois qu'il sera lancé pour ce groupe aux liens modifiés et il fera passer ce groupe en mode manuel.
À chaque alternative est associée une priorité. Quand un groupe de liens est en mode automatique, l'alternative visée par les éléments du groupe est celle qui possède la priorité la plus élevée.
When using the --config option, update-alternatives will list all of the choices for the link group of which given name is the master alternative name. The current choice is marked with a ‘*’. You will then be prompted for your choice regarding this link group. Depending on the choice made, the link group might no longer be in auto mode. You will need to use the --auto option to return to the automatic mode (or you can rerun --config and select the entry marked as automatic).
Si vous voulez configurer de manière non interactive, vous pouvez utiliser l'option --set (voir ci-dessous).
Les différents paquets qui fournissent un même fichier doivent le faire en collaborant. En d'autres termes, l'utilisation de update-alternatives est obligatoire pour tous les paquets qui sont dans ce cas et il n'est pas possible de remplacer un fichier d'un paquet qui n'utilise pas le mécanisme offert par update-alternatives.
TERMINOLOGIE¶
Comme les opérations de update-alternatives sont très compliquées, voici quelques termes qui faciliteront l'explication.
- nom générique (ou lien alternatif)
- C'est un nom, par exemple /usr/bin/editor, qui renvoie, à travers le système des « alternatives », à l'un des fichiers qui remplissent des fonctions similaires.
- nom alternatif
- Nom d'un lien symbolique dans le répertoire des alternatives.
- alternative (ou chemin alternatif)
- C'est le nom d'un fichier particulier dans l'arborescence ; il peut être accessible avec un nom générique grâce au système d'alternatives.
- répertoire des alternatives
- C'est le répertoire qui contient les liens symboliques ; il s'agit par défaut de /etc/alternatives.
- répertoire administratif
- C'est le répertoire qui contient des renseignements sur l'état de update-alternatives. Il s'agit par défaut de /var/lib/dpkg/alternatives.
- groupe de liens
- C'est un ensemble de liens symboliques corrélés, de manière qu'on puisse les mettre à jour en une seule fois.
- lien principal
- Dans un groupe de liens, c'est le lien alternatif qui détermine comment sont configurés les autres liens du groupe.
- lien secondaire (« slave »)
- Dans un groupe de liens, c'est un lien alternatif contrôlé par la configuration du lien principal.
- mode automatique
- Quand un groupe de liens est en mode automatique, le système des « alternatives » assure que les liens dans le groupe pointent vers l'alternative possédant la priorité la plus élevée dans ce groupe.
- mode manuel
- Quand un groupe de liens est en mode manuel, le système des « alternatives » ne modifie pas le paramétrage de l'administrateur système.
COMMANDES¶
- --install lien nom chemin priorité [--slave lien nom chemin]...
- Add a group of alternatives to the system. link is the generic name
for the master link, name is the name of its symlink in the
alternatives directory, and path is the alternative being
introduced for the master link. The arguments after --slave are the
generic name, symlink name in the alternatives directory and the
alternative path for a slave link. Zero or more --slave options,
each followed by three arguments, may be specified. Note that the master
alternative must exist or the call will fail. However if a slave
alternative doesn't exist, the corresponding slave alternative link will
not be installed (a warning will still be displayed). If some real file is
installed where an alternative link has to be installed, it is kept unless
--force is used.
Quand le lien principal spécifié existe déjà dans les enregistrements du système des « alternatives », les renseignements fournis sont ajoutés dans un nouvel ensemble d'alternatives pour le groupe. Sinon, un nouveau groupe contenant ces informations est ajouté et mis en mode automatique. Quand un groupe est en mode automatique, et que la priorité des alternatives nouvellement ajoutées est supérieure à celle de toutes les alternatives installées dans ce groupe, les liens symboliques sont mis à jour et pointent vers les alternatives nouvellement ajoutées.
- --set nom chemin
- Ajoute le programme chemin comme alternative pour nom. C'est équivalent à --config mais ce n'est pas interactif et on peut donc écrire un script.
- --remove nom chemin
- Enlève une alternative et tous les liens secondaires associés. nom est un nom dans le répertoire des « alternatives », et chemin est un nom de fichier auquel nom peut être lié. Quand nom est en effet lié à chemin, nom est mis à jour et pointe vers une autre alternative adéquate ou bien est enlevé s'il n'y en a pas d'autre. De même, les liens secondaires associés sont mis à jour ou enlevés. Quand le lien ne pointe pas déjà sur chemin, aucun lien n'est modifié ; seules les informations sur l'alternative sont supprimées.
- --remove-all nom
- Supprime toutes les alternatives et tous les liens secondaires associés. nom est un nom dans le répertoire des alternatives.
- --all
- Utilise --config sur toutes les alternatives. Cette option peut être combinée avec --skip-auto pour revoir et configurer toutes les alternatives qui ne sont pas en mode automatique. Les alternatives erronées sont aussi affichées. Ainsi, une méthode simple pour corriger les alternatives cassées est d'utiliser yes '' | update-alternatives --force --all.
- --auto nom
- Passe le groupe de liens suivant l'alternative de nom en mode automatique. En même temps, le lien symbolique principal et ses liens secondaires sont mis à jour et pointent vers les alternatives avec les priorités les plus élevées.
- --display nom
- Affiche des renseignements sur le groupe de liens. L'information affichée comprend le mode du groupe (auto ou manuel), les liens principal et secondaires, vers quelle alternative le lien principal pointe actuellement, quelles autres alternatives sont disponibles (et les liens secondaires associés), et l'alternative actuellement installée qui possède la priorité la plus élevée.
- --get-selections
- List all master alternative names (those controlling a link group) and
their status. Each line contains up to 3 fields (separated by one or more
spaces). The first field is the alternative name, the second one is the
status (either auto or manual), and the last one contains
the current choice in the alternative (beware: it's a filename and thus
might contain spaces).
Supported since version 1.15.0.
- --set-selections
- Read configuration of alternatives on standard input in the format
generated by --get-selections and reconfigure them accordingly.
Supported since version 1.15.0.
- --query nom
- Display information about the link group like --display does, but
in a machine parseable way (see section "QUERY FORMAT" below).
Supported since version 1.15.0.
- --list nom
- Affiche toutes les cibles du groupe de liens.
- --config nom
- Affiche les alternatives disponibles pour un groupe de liens et permet de choisir interactivement laquelle doit être utilisée. Le groupe de liens est mis à jour.
- --help
- Afficher un message d'aide puis quitter.
- --version
- Afficher le numéro de version puis quitter.
OPTIONS¶
- --altdir répertoire
- Donne le répertoire des alternatives, quand il est différent de celui par défaut. Il s'agit par défaut de « /etc/alternatives ».
- --admindir répertoire
- Donne le répertoire administratif, quand il est différent de celui par défaut. C'est par défaut « /var/lib/dpkg/alternatives» si DPKG_ADMINDIR n'a pas été défini.
- --instdir répertoire
- Specifies the installation directory where alternatives links will be
created. Defaults to «/» if DPKG_ROOT has not
been set.
Supported since version 1.20.1.
- --root répertoire
- Specifies the root directory. This also sets the alternatives,
installation and administrative directories to match. Defaults to
«/» if DPKG_ROOT has not been set.
Supported since version 1.20.1.
- --log fichier
- Specifies the log file, when this is to be different from the default
(/var/log/alternatives.log).
Supported since version 1.15.0.
- --force
- Autorise le remplacement ou la suppression de tout fichier installé à la place d'un lien d'alternative qui doit être créé ou supprimé.
- --skip-auto
- Passe l'invite de configuration pour les alternatives qui sont correctement configurées en mode automatique. Cette option n'est pertinente qu'avec --config ou --all.
- --quiet
- Ne crée pas de commentaire à moins qu'une erreur ne survienne.
- --verbose
- Produit plus de commentaires sur ce qui est fait.
- --debug
- Generate even more comments, helpful for debugging, about what is being
done.
Supported since version 1.19.3.
CODE DE SORTIE¶
- 0
- L'action demandée s'est correctement déroulée.
- 2
- Des problèmes sont survenus lors de l'analyse de la ligne de commande ou bien pendant l'exécution de l'action.
ENVIRONNEMENT¶
- DPKG_ROOT
- Si cette variable est positionnée et que les options --admindir ou --root ne sont pas précisées, ce répertoire sera utilisé comme répertoire racine du système de fichiers.
- DPKG_ADMINDIR
- Si cette variable est positionnée et que l'option --admindir n'est pas précisée, ce répertoire sera utilisé comme répertoire de base pour l'administration.
FICHIERS¶
- /etc/alternatives/
- Le répertoire des « alternatives » par défaut. Peut être remplacé avec l'option --altdir.
- /var/lib/dpkg/alternatives/
- Le répertoire administratif par défaut. Peut être remplacé avec l'option --admindir
FORMAT DE REQUÊTE¶
Le format de --query est un format à plat de type RFC822. Il est constitué de n + 1 paragraphes où n est le nombre d'alternatives disponibles dans le groupe de liens interrogé. Le premier paragraphe contient les champs suivants :
- Name: nom
- Nom de l'alternative dans le répertoire des alternatives.
- Link: lien
- Nom générique de l'alternative.
- Slaves: liste-des-liens-secondaires
- Lorsque cet en-tête est présent, les lignes suivantes contiennent tous les liens secondaires associés au lien principal de cette alternative, à raison d'un lien secondaire par ligne. Chaque ligne comporte une espace, le nom de l'alternative secondaire, une espace et le chemin vers le lien secondaire.
- Status: état
- État de l'alternative (auto ou manual).
- Best: meilleur-choix
- Chemin de la meilleure alternative pour ce groupe de liens. N'est pas présent si aucune alternative n'est disponible.
- Value: alternative-actuellement-choisie
- Chemin de l'alternative actuellement choisie. Peut aussi prendre la valeur spéciale none, utilisée si le lien n'existe pas.
Les autres paragraphes décrivent les alternatives disponibles dans le groupe de liens interrogé.
- Alternative: chemin-de-cette-alternative
- Chemin vers l'alternative de ce paragraphe.
- Priority: valeur-de-la-priorité
- Valeur de la priorité de cette alternative.
- Slaves: liste-des-liens-secondaires
- Lorsque ce champ est présent, les lignes suivantes contiennent toutes les alternatives secondaires associées au lien principal de cette alternative, à raison d'une alternative secondaire par ligne. Chaque ligne comporte une espace, le nom de l'alternative secondaire, une espace et le chemin vers l'alternative secondaire.
Exemple¶
$ update-alternatives --query editor Name: editor Link: /usr/bin/editor Slaves: editor.1.gz /usr/share/man/man1/editor.1.gz editor.fr.1.gz /usr/share/man/fr/man1/editor.1.gz editor.it.1.gz /usr/share/man/it/man1/editor.1.gz editor.pl.1.gz /usr/share/man/pl/man1/editor.1.gz editor.ru.1.gz /usr/share/man/ru/man1/editor.1.gz Status: auto Best: /usr/bin/vim.basic Value: /usr/bin/vim.basic Alternative: /bin/ed Priority: -100 Slaves: editor.1.gz /usr/share/man/man1/ed.1.gz Alternative: /usr/bin/vim.basic Priority: 50 Slaves: editor.1.gz /usr/share/man/man1/vim.1.gz editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz editor.it.1.gz /usr/share/man/it/man1/vim.1.gz editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz
DIAGNOSTICS¶
Avec l'option --verbose, update-alternatives affiche de très nombreuses informations sur la sortie standard. Quand un problème survient, update-alternatives envoie des messages d'erreur sur la sortie d'erreur standard et retourne un état de sortie égal à 2. Ces diagnostics devraient être simples à comprendre ; si ce n'est pas le cas, veuillez envoyer un rapport de bogue.
EXEMPLES¶
There are several packages which provide a text editor compatible with vi, for example nvi and vim. Which one is used is controlled by the link group vi, which includes links for the program itself and the associated manual page.
Pour afficher les paquets disponibles qui fournissent vi et son paramétrage actuel, on peut utiliser l'action --display :
update-alternatives --display vi
Pour choisir une implémentation particulière de vi, on peut utiliser cette commande en tant que superutilisateur et choisir un nombre dans la liste :
update-alternatives --config vi
Pour retrouver l'implémentation par défaut de vi, on peut utiliser cette commande en tant que superutilisateur :
update-alternatives --auto vi
VOIR AUSSI¶
ln(1), FHS (the Filesystem Hierarchy Standard).
TRADUCTION¶
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.
| 2026-09-09 | 1.23.11 |