source: admin/Interface/getConfiguration @ 82e5b6c

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 82e5b6c was cad73ba, checked in by ramon <ramongomez@…>, 8 years ago

#711: Script de interfaz {{{getConfiguration: corregir error al guardar porcentaje de uso cuando el SF es inconsistente y hacer 2º intento de obtener versión de SO para algunos casos especiales.

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

  • Property mode set to 100755
File size: 2.8 KB
RevLine 
[3ec149c]1#!/bin/bash
2
3#_______________________________________________________________________________________________________________________________
4#
5# Formato de salida:
[d8d86ff]6# disk=Número de disco\tpar=Número de particion\tcod=Código de partición\tsfi=Sistema de ficheros\tsoi=Sistema instalado\ttam=Tamaño de la partición\n
[3ec149c]7#_______________________________________________________________________________________________________________________________
8
9
[1ccd273]10# No registrar los errores.
11export DEBUG="no"
12
[db4d467]13ser=$(ogGetSerialNumber)
[d8d86ff]14cfg=""
15disks=$(ogDiskToDev | wc -w)
16for ((dsk=1; dsk<=$disks; dsk++)); do
17    particiones=$(ogGetPartitionsNumber $dsk)
[7aed2cc]18    particiones=${particiones:-0}
[d8d86ff]19    # Tipo de tabla de particiones: 1=MSDOS, 2=GPT
20    ptt=$(ogGetPartitionTableType $dsk)
21    case "$ptt" in
22        MSDOS)  ptt=1 ;;
23        GPT)    ptt=2 ;;
[fd1846f]24        LVM)    ptt=3 ;;
[9ca55ab]25        ZPOOL)  ptt=4 ;;
[d8d86ff]26        *)      ptt=0 ;;
27    esac
28    # Información de disco (partición 0)
[b0c9683]29    cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk):0;"
[d8d86ff]30    for ((par=1;par<=$particiones;par++)); do
[5804229]31        # Código del identificador de tipo de partición
[d8d86ff]32        cod=$(ogGetPartitionId $dsk $par 2>/dev/null)
[0ae62f1]33        # Tipo del sistema de ficheros
[d8d86ff]34        fsi=$(getFsType $dsk $par 2>/dev/null)
[3998421]35        fsi=${fsi:-"EMPTY"}
36        # Tamaño de la particón
[d8d86ff]37        tam=$(ogGetPartitionSize $dsk $par 2>/dev/null)
[3998421]38        tam=${tam:-"0"}
[0ae62f1]39        # Sistema operativo instalado
[fd1846f]40        case "$fsi" in
[09f41db4]41                ""|EMPTY|LINUX-SWAP|LINUX-LVM|ZVOL)
[b0c9683]42                        soi=""; uso=0 ;;
[cad73ba]43                *)      if [ -n "$(ogMount $dsk $par 2>/dev/null)" ]; then
44                                soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:)
45                                # Hacer un 2º intento para algunos casos especiales.
46                                [ -z "$soi" ] && soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:)
47                                # Sistema de archivos para datos (sistema operativo "DATA")
48                                [ -z "$soi" -a "$fsi" != "EMPTY" -a "$fsi" != "CACHE" ] && soi="DATA"
49                                # Obtener porcentaje de uso.
50                                uso=$(df $(ogGetMountPoint $dsk $par) | awk '{getline; printf "%d",$5}')
51                                uso=${uso:0}
52                        else
53                                soi=""; uso=0
54                        fi
[0ae62f1]55                        ;;
[8baebd4]56        esac
[b0c9683]57        cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam:$uso;"
[d8d86ff]58    done
[3ec149c]59done
60
[aaf78bd]61# Crear configuración por defecto para cliente sin disco.
62[ -z "$cfg" ] && cfg="1:0:0:::0;"
63
[d8d86ff]64# Guardar salida en fichero temporal.
65cfgfile=/tmp/getconfig
[db4d467]66echo "${ser:+$ser;}$cfg" > $cfgfile
[d8d86ff]67
[0ae62f1]68# Crear el menú por defecto a partir del fichero generado (no dar ninguna salida).
[670d639]69generateMenuDefault &>/dev/null
70
[d8d86ff]71# Componer salida formateada.
72awk '{  n=split($0,sep,";");
73        for (i=1; i<n; i++){
[db4d467]74            c=split (sep[i],dua,":");
75            if (i==1 && c==1)
76                printf ("ser=%s\n", dua[1]);
77            else
78                printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\tuso=%s\n",
79                        dua[1],dua[2],dua[3],dua[4],dua[5],dua[6],dua[7]);
[d8d86ff]80            }
81     }' $cfgfile
[3ec149c]82
[75772e1]83# Borramos marcas de arranque de Windows
84rm -f /mnt/*/ogboot.* /mnt/*/*/ogboot.*
85
[1ccd273]86# Volver a registrar los errores.
87unset DEBUG
88
Note: See TracBrowser for help on using the repository browser.