source: admin/Interface/getConfiguration @ c8a7dd7

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 c8a7dd7 was 75772e1, checked in by irina <irinagomez@…>, 8 years ago

#773 Se borran las marcas de arranque de Windows en getConfiguration en vez de en bootOs

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

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