Monday 24 April 2006, 00:56
Utiliser le système d'alternatives de Debian
By Geoffrey - Geekeries - Permalink
Ce billet est la traduction de l'article intitulé Using the Debian alternatives system écrit par Steve Kemp et publié sur le site Debian Administration. Cela fait un bon bout de temps que je n'ai pas vraiment pratiqué l'anglais ou traduit quelque chose, donc si vous avez des corrections à apporter, n'hésitez pas.
Debian est la plus grosse distribution GNU/Linux disponible, avec plus de développeurs, plus de plate-formes et plus de paquets disponibles que n'importe quelle autre. Avec autant de choix, il est courant que les gens aient des idées différentes sur les outils à utiliser - tels que les éditeurs de texte. Le système d'alternatives de Debian essaye de résoudre ce problème.
Il y a beaucoup d'exemples de programmes ayant besoin d'en executer un autre - par exemple beaucoup de programmes doivent pouvoir autoriser l'utilisateur a faire des modifications dans un fichier. Ils doivent alors executer un éditeur de texte, mais lequel ? Il n'est pas approprié pour Debian de forcer l'utilisation d'un outil particulier pour une tâche particulière, si il y a plusieurs alternatives disponibles.
Par exemple, quand vous planifiez une tache via Cron, on vous présentera un éditeur de texte pour modifier le fichier crontab.
Plutôt que de forcer l'utilisation d'un éditeur particulier, le paquet cron va vous autoriser à spécifier l'éditeur à utiliser via la variable d'environnement EDITOR. L'utilisation de variables d'environnement est assez répandue dans le monde Unix pour ce genre de besoin, puisqu'elle permet à chaque programme à offrir un choix à l'utilisateur.
Cependant, Debian a une solution différente à ce problème.
Pour quelques types spéciaux d'applications pour lesquels plusieurs programmes peuvent être utilisés, Debian vous permet de choisir quelle alternative vous souhaiter utiliser globalement. Cela couvre des programmes tels que:
- Éditeurs de texte
- Navigateurs web
- Gestionnaires de fenêtres
Cela fonctionne avec un jeu de commandes standards telles que editor, www-browser et view. Chacune de ces commandes n'est qu'un lien symbolique vers la vraie commande.
Par exemple, imaginons que vous avez les paquets vim et emacs21 installés. Pour gérer cela, un programme qui souhaite vous permettre de modifier un fichier executera:
/usr/bin/editor
Qui est un lien symbolique qui pointe vers:
/etc/alternatives/editor
Qui a sont tour pointe vers le vrai éditeur de texte, soit vim ou emacs dans notre exemple.
Ce niveau supplémentaire de redirection permet de mettre à jour facilement le système pour lancer l'éditeur que vous preferrez. Vous pourriez mettre à jour les liens symboliques à la main, mais la manière privilégiée est la suivante:
update-alternatives --set editor /usr/bin/emacs21
Cela va créer un lien symbolique dans le repertoire /etc/alternatives qui pointera vers le binaire emacs - désormais quand on executera editor, emacs sera lancé.
Si vous changez d'avis et souhaitez utiliser vim in the future, vous n'avez qu'a taper:
update-alternatives --set editor /usr/bin/vim
Cela fera que vim sera executé quand vous lancerez editor
La commande update-alternatives possède de nombreuses options utiles expliquées dans la page de manuel, que vous pouvez lire en tapant la commande:
man update-alternatives
Par exemple, vous pouvez voir quel programme sera executé pour un nom donné:
skx@lappy:~$ update-alternatives --list x-www-browser /usr/bin/mozilla-firefox
Cela nous montre qu'executer la commande x-www-browser finira par executer mozilla-firefox. Sur votre machine quelque chose de complètement différent peut être executé !
one comment
Mmmh ok mais je vois pas ce que ça rajoute par rapport aux variables d'environnement. Au contraire, les preferences ne peuvent pas être ajustées selon l'utilisateur.
This post's comments feed