Alternatives

De Astillas.net

Introducción

Debian dispone de un mecanismo de roles de programas de manera que es posible crear uno y mantener un conjunto de alternativas para desempeñarlo. Esta disposición es cómoda porque sabes que siempre tienes definido un editor de textos o un navegador web, un emisor de correo electrónico e incluso un juego de iconos o un fondo de escritorio.

Para que esto llegue a funcionar Debian crea un directorio especial dentro de la configuración llamado /etc/alternatives en el que va creando enlaces simbólicos a los programas reales que desempeñan la función final. Cada rol, además, está presente en los directorios de ejecutables del sistema en forma de enlace a este directorio a su vez.

Cuando se quiere acceder a uno de los roles, como el del editor de textos llamado precisamente editor, se debe llamar al programa /usr/bin/editor en lugar de -por ejemplo- /usr/bin/vim. El primero es un enlace simbólico al directorio de alternativas que a su vez lo es al programa real.

/usr/bin/editor -> /etc/alternatives/editor -> /usr/bin/vim

Esto permite cambiar el eslabón central de la cadena sin alterar ninguno de los extremos.

Los roles alcanzan otros aspectos de un programa como podemos ver en el caso del navegador web

$ ls -la /etc/alternatives/x-www-browser*
lrwxrwxrwx 1 root root 18 jun 29 16:59 /etc/alternatives/x-www-browser -> /usr/bin/iceweasel
lrwxrwxrwx 1 root root 34 jun 29 16:59 /etc/alternatives/x-www-browser.1.gz -> /usr/share/man/man1/iceweasel.1.gz
$ 

que tiene enlace tanto al programa como a su página de manual en las alternativas.

Enlaces y referencias

Herramientas

El programa update-alternatives, incluído en el paquete base dpkg, es el encargado de mantener los enlaces simbólicos con los que está construído este sistema.