3.5.6. Trabajar con unidades instanciadas
Es posible instanciar múltiples unidades desde un único archivo de configuración de plantilla en tiempo de ejecución. El carácter "@" se utiliza para marcar la plantilla y asociar las unidades con ella. Las unidades instanciadas pueden iniciarse desde otro archivo de unidades (utilizando las opciones Requires
o Wants
), o con el comando systemctl start
. Las unidades de servicio instanciadas se nombran de la siguiente manera:
template_name@instance_name.service
Donde template_name representa el nombre del archivo de configuración de la plantilla. Sustituya instance_name por el nombre de la instancia de la unidad. Varias instancias pueden apuntar al mismo archivo de plantilla con opciones de configuración comunes para todas las instancias de la unidad. El nombre de la unidad de plantilla tiene la forma de:
unit_name@.service
Por ejemplo, la siguiente configuración de Wants
en un archivo de unidad:
Wants=getty@ttyA.service getty@ttyB.service
primero hace que systemd busque las unidades de servicio dadas. Si no se encuentran tales unidades, la parte entre "@" y el sufijo de tipo se ignora y systemd busca el archivo getty@.service
, lee la configuración de éste y arranca los servicios.
Por ejemplo, la plantilla getty@.service
contiene las siguientes directivas:
[Unit] Description=Getty on %I … [Service] ExecStart=-/sbin/agetty --noclear %I $TERM …
Cuando se instancian getty@ttyA.service y getty@ttyB.service desde la plantilla anterior, Description
= se resuelve como Getty on ttyA y Getty on ttyB.
3.5.6.1. Especificaciones importantes de las unidades
Los caracteres comodín, denominados unit specifiers, pueden utilizarse en cualquier archivo de configuración de unidades. Los especificadores de unidad sustituyen ciertos parámetros de la unidad y se interpretan en tiempo de ejecución. Tabla 3.13, “Especificaciones importantes de las unidades” enumera los especificadores de unidad que son particularmente útiles para las unidades de plantilla.
Especificador de unidades | Significado | Descripción |
---|---|---|
| Nombre completo de la unidad |
Representa el nombre completo de la unidad, incluido el sufijo de tipo. |
| Nombre del prefijo | Representa un nombre de unidad con el sufijo de tipo eliminado. Para las unidades instanciadas, %p representa la parte del nombre de la unidad antes del carácter "@". |
| Nombre de la instancia |
Es la parte del nombre de la unidad instanciada entre el carácter "@" y el sufijo de tipo. |
| Nombre del anfitrión | Representa el nombre de host del sistema en ejecución en el momento en que se carga la configuración de la unidad. |
| Directorio de tiempo de ejecución |
Representa el directorio de tiempo de ejecución, que es |
Para obtener una lista completa de especificadores de unidades, consulte la página del manual systemd.unit(5)
.