source: admin/Interface/getConfiguration @ 0a735488

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 0a735488 was fd1846f, checked in by ramon <ramongomez@…>, 11 years ago

#51: Integrar código del ticket:51 para detectar metadispositivos (LVM, RAID hardware y Multipath).

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

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