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