Funcionalitats
El «lliurex-version» proporciona funcionalitats per a la detecció i obtenció d'informació referida al sistema sobre el qual s'executa.
L'ús principal d'aquest executable és facilitar i simplificar la construcció d'scripts que implementen funcionalitats en el sistema i que requerisquen variar el seu funcionament, depenent del tipus de sistema de funcionament, usuari o sabor instal·lats.
D'aquesta manera queda centralitzada en aquest programa la lògica per a obtindre característiques; s'ha d'evitar, sempre que siga possible, la duplicitat de lògica de detecció, així en canvis futurs es limita el nombre de paquets per modificar si canvien les característiques del sistema.
La compatibilitat del programa s'ha pensat per a poder substituir la versió anterior, de manera que siga compatible pel que fa a paràmetres i resultat obtingut.
Ja que aquesta nova implementació està inclosa en el LliureX 16, es prendrà com a base per a desenvolupaments futurs d'aquesta plataforma. No obstant això, la compatibilitat s'ha pensat de manera que es puga utilitzar en el Lliurex15 i encara que no estarà inclòs per defecte, es pot utilitzar a través del paquete lliurex-detect.
Ús
Funcionalitats heretades del lliurex-version versió anterior:
- -n: obté la versió del metapaquet instal·lat, es pot utilitzar per a saber com d'actualitzat està un sistema.
- -v: obté el tipus de meta (sabor) instal·lat en el sistema.
- -t paràmetre: executa un test de comprovació amb el paràmetre proporcionat, per a obtindre si està inclòs en les cadenes d'informació del meta (sabor) instal·lat, el resultat s'obté amb el codi d'eixida del programa, i és útil per a executar condicionals en scripts.
- --history: obtéiene 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.
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