summaryrefslogtreecommitdiffstats
path: root/admin/Interface/Configurar
blob: 774192376ce8709b231abf083833712bbd3ed70a (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/bash

#_______________________________________________________________________________________________________________________________
#
# Formato de entrada:
# $1 disco
# $2 par=Número de particion#cod=Código de partición#sfi=Sistema de ficheros#tam=Tamaño de la partición#ope=Operación$
#_______________________________________________________________________________________________________________________________

particiones=$(echo $2 | awk '{n=split($0,sep,"$");print n}')


#___________________________________________________________________
#
# Activa navegador para ver progreso
#___________________________________________________________________

	coproc /opt/opengnsys/bin/browser -qws http://localhost/cgi-bin/httpd-log.sh

#___________________________________________________________________

declare -a TBP
declare -a TBF

for ((par=1;par<$particiones;par++)); 
	do
		TBP[$par]=$(echo $2 | awk -v p=$par '{
							n=split($0,sep,"$");
							split(sep[p],dua,"#");
							split(dua[1],prm,"=");
							par=prm[2];
							split(dua[2],prm,"=");
							cpt=prm[2];
							split(dua[3],prm,"=");
							sfi=prm[2];
							split(dua[4],prm,"=");
							tam=prm[2];																					
							split(dua[5],prm,"=");
							ope=prm[2];									
							printf("%s %x %s %s %s",par,cpt,sfi,tam,ope);
						}')
	done
	
# Prepara cadena de particiones _______________________________________

cP=""
for ((par=1;par<$particiones;par++)); 
	do
		cfg=${TBP[$par]} 	

		cP=$cP$(echo $cfg | awk '{
							n=split($0,prm," ");
							par=prm[1];
							cpt=prm[2];
							sfi=prm[3];
							tam=prm[4];																					
							ope=prm[5];		
							if(ope==1)
								printf("%s:%s ",sfi,tam);
							else{
								if(ope==2)
									printf("H%s:%s ",sfi,tam);
								else
									printf("%s:%s ",sfi,tam);						
							}
						}')
						
		TBF[$par]=$(echo $cfg | awk '{
							n=split($0,prm," ");
							sfi=prm[3];
							ope=prm[5];		
							if(ope==1)
								printf("%s",sfi);
							else
								printf("EMPTY");	
						}')						
						
	done	

# Crea tabla de particiones MSDOS
ogCreatePartitionTable 1 MSDOS 

# Desmonta todas las particiones y la caché
 ogUnmountCache 
 ogUnmountAll 1 

	echo "Creando la tabla de particiones $1 $cP" | tee -a $OGLOGSESSION $OGLOGFILE
	ogCreatePartitions $1 $cP

 #ogDeletePartitionTable 1
 #ogSetPartitionActive 1 1 
 #ogUpdatePartitionTable 1
 #ms-sys /dev/sda | grep unknow && ms-sys /dev/sda 
							
# Formatear _______________________________________
	
for ((par=1;par<$particiones;par++)); 
	do
	sfi=${TBF[$par]}
	if [ $sfi == "EMPTY" ]; then
		TBF[$par]=" "
	else
		echo "Formateando particion: $par con sistema de fichero: $sfi" | tee -a $OGLOGSESSION $OGLOGFILE
		ogFormatFs $1 $par $sfi
	fi
	
	done	
#___________________________________________________________________
#
# Retorno
#___________________________________________________________________

	kill $COPROC_PID
	exit 0