source: server/bin/registeredsoftware @ 18eb8d6

918-git-images-111dID-1020_logrotateBugID-1037_Mostrar.TipoDisco.WebID-1038_Muestra.el.numero.de.ordenadoresID-1039_Asignar_Disco.Particion.Imagen.AccesoRemotoID-824_Iniciar.Sistema.Restauradodevel-ogadmserver-for-masterdisk-imagemainmaster-1037opengnsys-1.1.1dpreqndtest
Last change on this file since 18eb8d6 was 9e4fa8e, checked in by ramon <ramongomez@…>, 8 years ago

#738: Modificar script de servidor registeredsoftware para incluir también el sistema operativo instalado en la imagen.

git-svn-id: https://opengnsys.es/svn/branches/version1.1@4960 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 2.0 KB
Line 
1#!/bin/bash
2#         registeredsoftware str_image
3#@file    registeredsoftware
4#@brief   Lista el software instalado en una imagen de sistema.
5#@param   str_image     Nombre canónico de la imagen.
6#@return  Líneas con el formato:   programa versión
7#@version 1.0 - Creación del script.
8#@author  Ramón Gómez - Univ. Sevilla
9#@date    2014-02-27
10#@version 1.1.0 - Incluir sistema operativo.
11#@author  Ramón Gómez - Univ. Sevilla
12#@date    2016-06-08
13
14
15# Variables.
16PROG=$(basename $0)
17OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
18SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg
19MYCNF=/tmp/.my.cnf.$$
20
21# Si se solicita, mostrar ayuda.
22if [ "$*" == "help" ]; then
23        echo "$PROG: Lista el software instalado en una imagen de sistema."
24        echo "Formato: $PROG str_image"
25        exit 0
26fi
27
28# Control básico de errores.
29if [ $# -ne 1 ]; then
30        echo "$PROG Error: Formato: $PROG str_image" >&2
31        exit 1
32fi
33if [ ! -r $SERVERCONF ]; then
34        echo "$PROG: Sin acceso a fichero de configuración"
35        exit 2
36fi
37
38# Sustituir caracteres ' por \' para evitar inyección SQL.
39RESOURCE="${1//\'/\'}"
40
41# Obtener datos de acceso a la base de datos.
42source $SERVERCONF
43
44# Componer fichero con credenciales de conexión a la base de datos.
45touch $MYCNF
46chmod 600 $MYCNF
47cat << EOT > $MYCNF
48[client]
49user=$USUARIO
50password=$PASSWORD
51EOT
52
53# Borrar el fichero temporal si termina el proceso.
54trap "rm -f $MYCNF" 0 1 2 3 6 9 15
55
56# Obtener lista de componentes del perfil de software asociado a la imagen.
57mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -s -N -e \
58        "SELECT descr FROM
59               ((SELECT 1 AS orden, nombresos.nombreso AS descr
60                   FROM perfilessoft
61                   JOIN imagenes USING(idperfilsoft)
62                   JOIN nombresos USING(idnombreso)
63                  WHERE imagenes.nombreca='$RESOURCE')
64                UNION
65                (SELECT 2, softwares.descripcion
66                   FROM perfilessoft
67                   JOIN perfilessoft_softwares USING(idperfilsoft)
68                   JOIN softwares USING(idsoftware)
69                   JOIN imagenes USING(idperfilsoft)
70                  WHERE imagenes.nombreca='$RESOURCE')) AS unidas
71          ORDER BY orden ASC, descr ASC;"
72
Note: See TracBrowser for help on using the repository browser.