update-alternatives(1) | dpkg suite | update-alternatives(1) |
update-alternatives - Gestión de enlaces simbólicos que determinan órdenes predefinidas
update-alternatives [opción...] orden
update-alternatives crea, elimina, gestiona y muestra información sobre los enlaces simbólicos que conforman el sistema de alternativas de Debian.
Es posible que tenga en el sistema varios programas instalados a la vez que realizan la misma función. Por ejemplo, muchos sistemas tienen varios editores de texto instalados al mismo tiempo, lo que deja la elección de qué editor de texto utilizar en manos del usuario, si éste lo desea, pero hace difícil que un programa elija la opción correcta si el usuario no ha definido ninguna preferencia.
El objetivo del sistema de alternativas de Debian es resolver este problema. Un nombre genérico en el sistema de ficheros se comparte entre todos los ficheros que tienen una funcionalidad intercambiable. El sistema de alternativas junto con el administrador del sistema determinan a qué fichero hace referencia este nombre genérico. Por ejemplo, si los editores de texto ed(1) y nvi(1) están instalados conjuntamente en el sistema, el sistema de alternativas hará que el nombre genérico /usr/bin/editor se refiera a /usr/bin/nvi por omisión. El administrador del sistema puede modificar esto y hacer que se refiera a /usr/bin/ed, y el sistema de alternativas no modificará esto posteriormente hasta que se solicite explícitamente.
El nombre genérico no es un enlace simbólico directo a la alternativa seleccionada. En vez de esto, es un enlace simbólico a un nombre en el directorio de alternativas («/etc/alternatives»), que a su vez es un enlace simbólico al fichero al que se hace referencia en realidad. El objetivo es que los cambios del administrador se mantengan dentro del directorio /etc: el FHS (q.v.) da razones de por qué esto es bueno.
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.
Habitualmente, es útil que un número de alternativas se sincronicen de tal modo que se puedan cambiar como un grupo. Por ejemplo, cuando varias versiones del editor vi(1) están instaladas la página del manual preferida por /usr/share/man/man1/vi.1 debe corresponder con el ejecutable al que hace referencia /usr/bin/vi. update-alternatives manipula esto en términos de enlaces maestro y esclavo; cuando se cambia el maestro, todos los esclavos relacionados con él también cambian. Un enlace maestro y sus esclavos relacionados forman un grupo de enlaces.
Cada grupo de enlaces está en todo momento en uno de los dos modos posibles: automático o manual. Cuando un grupo está en modo automático el sistema de alternativas decide automáticamente el momento de actualizar los enlaces a medida que se instalan o desinstalan paquetes. En modo manual el sistema de alternativas deja todas estas decisiones en manos del administrador del sistema.
Los grupos de enlaces se establecen en modo automático la primera vez que aparecen en el sistema. Si el administrador del sistema hace cambios en la configuración automática del sistema, update-alternatives se dará cuenta la próxima vez que se ejecute sobre el grupo de enlaces cambiados y el grupo pasará automáticamente a modo manual.
Cada alternativa tiene una prioridad asociada. Cuando un grupo de enlaces se encuentra en modo automático, los miembros del grupo apuntarán a la alternativa con la prioridad más alta.
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 in order to return to the automatic mode (or you can rerun --config and select the entry marked as automatic).
Si quiere realizar la configuración de un modo no interactivo puede utilizar la opción --set en su lugar (véase más abajo).
Los diferentes paquetes que proveen el mismo fichero tienen que hacerlo de forma cooperativa. En otras palabras, el uso de update-alternatives es obligatorio con todos los paquetes relacionados con esa situación. No es posible sobreescribir el fichero de un paquete que no usa el mecanismo de update-alternatives.
Debido a que las actividades que realiza update-alternatives están fuertemente relacionadas entre sí, la definición de algunos términos específicos ayudará a entender su funcionamiento.
Si el nombre de la alternativa definida ya existe en los registros del sistema de alternativas la información suministrada se añadirá como un nuevo conjunto de alternativas para el grupo. De otra forma se creará un grupo nuevo en modo automático, al que se le añadirá la información suministrada. Si el grupo está en modo automático, y la prioridad nueva añadida es mayor que cualquier otra alternativa instalada para ese grupo, los enlaces se actualizarán para apuntar a las nuevas alternativas.
The --query format is using an RFC822-like flat format. It's made of n + 1 blocks where n is the number of alternatives available in the queried link group. The first block contains the following fields:
Los siguientes bloques describen las alternativas disponibles en el grupo de enlaces consultado:
$ 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
Con la opción --verbose, update-alternatives informa detalladamente acerca de sus actividades por la salida estándar. Si ocurre algún problema, update-alternatives envía los mensajes de error por la salida de errores estándar y cierra con el estado 2. Los diagnósticos deberían ser auto-explicativos; si a usted no se lo parecen, le rogamos informe de esto como un fallo.
Hay varios paquetes que proporcionan un editor de texto compatible con vi, por ejemplo nviy vim. El grupo de enlaces vi selecciona cual se usa, incluyendo enlaces para el programa y la página del manual asociada.
Utilice la opción --display para mostrar los paquetes disponibles que proporcionan vi y su configuración actual:
update-alternatives --display vi
Para elegir una implementación de vi en particular use la siguiente orden como el usuario «root» y seleccione un número de la lista:
update-alternatives --config vi
Para que la implementación de vi se vuelva a elegir de forma automática, haga como administrador:
update-alternatives --auto vi
ln(1), FHS (the Filesystem Hierarchy Standard).
Rudy Godoy <rudy@kernel-panik.org>, Rubén Porras <nahoo@inicia.es>, Bruno Barrera C. <bruno.barrera@igloo.cl>, Carlos Izquierdo <gheesh@ertis.net>, Esteban Manchado y NOK. Debian L10n Spanish <debian-l10n-spanish@lists.debian.org>.
Revisiones por Santiago Vila <sanvila@unex.es>, Javier Fernández\-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.
2023-09-13 | 1.20.13 |