1. Introducción
"lliurex-version" proporciona funcionalidades para la detección y obtención de información acerca del sistema sobre el que es ejecutado.
El uso principal de este ejecutable está destinado a facilitar y simplificar la construcción de scripts que implementen funcionalides en el sistema y que requieran variar su funcionamiento dependiendo del tipo de sistema de funcionamiento, usuario o sabor instalado.
Como tál, queda centralizada en este programa la lógica para obtener características, se debe evitar en la medida de lo posible la duplicidad de lógica de detección, así en futuros cambios se limita el número de paquetes a modificar si cambian las características del sistema.
La compatibilidad del programa ha sido pensada para poder sustituir la anterior versión, siendo compatible a nivel de parametros y resultado obtenido.
Dado que esta nueva implementación está incluida en Lliurex 16 se tomará como base para futuros desarrollos en esta plataforma, no obstante, la compatibilidad ha sido pensada de forma que pueda ser posible su uso en Lliurex15 y aunque no estará incluido por defecto, puede ser utilizado a través del paquete lliurex-detect.
2. Uso
2.1. Funcionalidades heredadas de lliurex-version versión anterior:
- -n: obtiene la versión del metapaquete instalado, puede ser utilizada para saber lo actualizado que está un sistema.
- -v: obtiene el tipo de meta (sabor) instalado en el sistema
- -t parametro: ejecuta un test de comprobación con el parametro proporcionado, para obtener si está incluido en las cadenas de información del meta (sabor) instalado, el resultado se obtiene con el código de salida del programa, siendo útil para ejecutar condicionales en scripts.
- --history: Obtiene un histórico de las instalaciones o cambios de metapaquete que ha sufrido el sistema.
- (sin parametros): obtiene una cadena que incluye las operaciones -n y -v conjuntamente.
2.2. Nuevas características (lliurex-base-files >= 16.06.8)
- -f: Obtiene el meta (sabor) instalado en el sistema, esta versión ofrece información simplificada con respecto la opcion -v eliminando opciones innecesarias, con esta opción se puede obtener una única cadena que define el meta instalado.
- -s: Obtiene el tipo de sesión sobre el que está siendo ejecutado lliurex-version, ejemplos de salida podrian ser "fat", "semi".... "ltsp"; opcionalmente se pueden obtener dos cadenas si se esta ejecutando un sistema en modo livecd siendo la última opcion "live". Ejemplo mas habitual: 'fat,live'
- -u usuario: Ejecuta una comprobación del usuario que esta ejecutando el programa, obteniendo el nombre de usuario, si esta promocionado (pertenencia a grupo admins) o si es un usuario local o autenticado contra el sistema ldap.
- El formato de salida es el siguente: *nombre_usuario/(local|ldap): dicho formato especifica con un asterisco como primera letra si el usuario está promocionado, posteriormente seguido del nombre de usuario actual y finalizando con un caracter "/" y uno de los dos tipos: ldap para usuarios de red o local para usuarios propios del sistema local.
- Opcionalmente puede pasarse un parametro con el nombre de un usuario, y ejecuta la comprobación utilizando dicho nombre de usuario, útil para distinguir otros usuarios.
- -a: Obtiene todas las informaciones del sistema juntas, en una cadena separada por comas, se obtiene el equivalente a las opciones -s -f -u (sin parametro) juntas.
- -e: (necesario utilizarlo con alguna de las opciones -f -s -u -a)! ; modo para utilizar el metodo eval, este modo prepara una salida para un formato VARIABLE=valor en el cual puede ser pasada al metodo eval en el inicio de un script y tener disponible la informacion consultando las variables, de este modo se evita tener que realizar múltiples llamadas al programa.
- Ejemplo:> eval export $(lliurex-version -e -a)
- Algunas de las variables que son utilizadas son:
- SERVER,DESKTOP,CLIENT,INFANTIL,MUSIC,PIME.... con valor yes | no
- LIVE,LTSP,THIN,SEMI,FAT.... con valor yes | no
- USERNAME con valor del nombre de usuario
- LOGIN_TYPE con valor de local | ldap
- PROMOTED_USER con valor yes | no
- -x [live|ltsp|fat|semi|thin|desktop|server|client|infantil|pime|music|local|ldap|promoted]: modo para realizar comparaciones rápidas con algún valor de los posibles (case sensible), devolviendo un código de salida para ser utilizado en comparaciones. Es una extension mas generalizada de la opción -t.
- Ejemplo:> lliurex-version -x thin && echo es un cliente ligero || echo no es un cliente ligero
- if lliurex-version -x ltsp; then echo si ; else no; fi
- lliurex-version -u netadmin -x ldap && echo si