#!/bin/bash #/** #@file registeredsoftware #@brief Lista el software instalado en una imagen de sistema. #@usage registeredsoftware Image #@param Image Nombre canónico de la imagen. #@return Líneas con el formato: programa versión #@version 1.0 - Creación del script. #@author Ramón Gómez - Univ. Sevilla #@date 2014-02-27 #@version 1.1.0 - Incluir sistema operativo. #@author Ramón Gómez - Univ. Sevilla #@date 2016-06-08 #**/ # Variables. OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg source $OPENGNSYS/lib/ogfunctions.sh || exit 1 # Mostrar ayuda o número de versión. [ "$*" == "help" ] && help [ "$*" == "version" ] && version # Control básico de errores. [ $# -eq 1 ] || raiseError usage [ "$USER" != "root" ] && raiseError access "Need to be root" source $SERVERCONF 2>/dev/null || raiseError access "Sin acceso a fichero de configuración" # Sustituir caracteres ' por \' para evitar inyección SQL. RESOURCE="${1//\'/\\\'}" # Obtener lista de componentes del perfil de software asociado a la imagen. dbexec "SELECT descr FROM ((SELECT 1 AS orden, nombresos.nombreso AS descr FROM perfilessoft JOIN imagenes USING(idperfilsoft) JOIN nombresos USING(idnombreso) WHERE imagenes.nombreca='$RESOURCE') UNION (SELECT 2, softwares.descripcion FROM perfilessoft JOIN perfilessoft_softwares USING(idperfilsoft) JOIN softwares USING(idsoftware) JOIN imagenes USING(idperfilsoft) WHERE imagenes.nombreca='$RESOURCE')) AS unidas ORDER BY orden ASC, descr ASC;"