source: admin/Interface/getConfiguration @ 8d3a9e0

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 8d3a9e0 was aaf78bd, checked in by ramon <ramongomez@…>, 12 years ago

Configuración por defecto para clientes sin disco, evitando errores en el servidor.

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

  • Property mode set to 100755
File size: 2.1 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
[d8d86ff]10cfg=""
11disks=$(ogDiskToDev | wc -w)
12for ((dsk=1; dsk<=$disks; dsk++)); do
13    particiones=$(ogGetPartitionsNumber $dsk)
[7aed2cc]14    particiones=${particiones:-0}
[d8d86ff]15    # Tipo de tabla de particiones: 1=MSDOS, 2=GPT
16    ptt=$(ogGetPartitionTableType $dsk)
17    case "$ptt" in
18        MSDOS)  ptt=1 ;;
19        GPT)    ptt=2 ;;
20        *)      ptt=0 ;;
21    esac
22    # Información de disco (partición 0)
23    cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk);"
24    for ((par=1;par<=$particiones;par++)); do
[5804229]25        # Código del identificador de tipo de partición
[d8d86ff]26        cod=$(ogGetPartitionId $dsk $par 2>/dev/null)
[0ae62f1]27        # Tipo del sistema de ficheros
[d8d86ff]28        fsi=$(getFsType $dsk $par 2>/dev/null)
[3998421]29        fsi=${fsi:-"EMPTY"}
30        # Tamaño de la particón
[d8d86ff]31        tam=$(ogGetPartitionSize $dsk $par 2>/dev/null)
[3998421]32        tam=${tam:-"0"}
[0ae62f1]33        # Sistema operativo instalado
[8baebd4]34        case "$cod" in
[f2c8049]35                ""|82|8200|A502|BF02|EE|EF0[012])
[d8d86ff]36                        soi="" ;;
[0ae62f1]37                *)      soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:)
38                        # Sistema de archivos para datos (sistema operativo "DATA")
[c2ee4a7]39                        [ -z "$soi" -a "$fsi" != "EMPTY" -a "$fsi" != "CACHE" ] && soi="DATA"
[0ae62f1]40                        ;;
[8baebd4]41        esac
[d8d86ff]42        cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam;"
43    done
[3ec149c]44done
45
[aaf78bd]46# Crear configuración por defecto para cliente sin disco.
47[ -z "$cfg" ] && cfg="1:0:0:::0;"
48
[d8d86ff]49# Guardar salida en fichero temporal.
50cfgfile=/tmp/getconfig
51echo $cfg > $cfgfile
52
[0ae62f1]53# Crear el menú por defecto a partir del fichero generado (no dar ninguna salida).
[670d639]54generateMenuDefault &>/dev/null
55
[d8d86ff]56# Componer salida formateada.
57awk '{  n=split($0,sep,";");
58        for (i=1; i<n; i++){
59            split (sep[i],dua,":");
60            printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n",
61                    dua[1],dua[2],dua[3],dua[4],dua[5],dua[6]);
62            }
63     }' $cfgfile
[3ec149c]64
Note: See TracBrowser for help on using the repository browser.