blob: 38475abd261e14a2584cbb74c31653f4a1ea6741 (
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
#!/bin/bash
TFTPBOOT=/var/lib/tftpboot
OGROOT=/opt/opengnsys
INITRD=0
UPDATE=0
function arguments_parser
{
while [ $# -gt 0 ];do
case $1 in
("-t")
shift
if [ $# -eq 0 ];then
echo "Error parseando argumentos"
exit -1
else
OGROOT=$1
shift
fi
;;
("-s")
shift
if [ $# -eq 0 ]; then
echo "Error parseando argumentos"
exit -1
else
SVNROOT=$1
shift
fi
;;
("-u")
shift
UPDATE=1
;;
("-i")
shift
INITRD=1
;;
esac
done
}
function checking
{
if [ $UID != 0 ]; then
echo "No tiene permisos suficientes para ejecutar este script"
exit -1
fi
if [ -z $SVNROOT ]; then
echo "Necesito saber la ruta de las fuentes del proyecto."
echo "$0 -s /ruta/hacia/las/fuentes"
echo "Tambien puedes editar el script y anyadirlo manualmente."
exit -1
else
if [ ! -d $SVNROOT/admin ] ||
[ ! -d $SVNROOT/client ] ||
[ ! -d $SVNROOT/doc ] ||
[ ! -d $SVNROOT/repoman ] ||
[ ! -d $SVNROOT/installer ] ||
[ ! -d $SVNROOT/server ] ; then
echo "La ruta dada para las fuentes del proyecto son incorrectas"
exit -1;
fi
fi
}
function install_necesary_packages
{
apt-get install pxe dhcp3-server tftpd-hpa nfs-kernel-server
}
function create_file_system
{
mkdir -p $TFTPBOOT
mkdir -p $OGROOT
mkdir -p $OGROOT/bin
mkdir -p $OGROOT/lib
mkdir -p $OGROOT/images
mkdir -p $OGROOT/client
mkdir -p $OGROOT/client/lib/engine/bin
mkdir -p /etc/opengnsys
mkdir -p /var/log/opengnsys/clients
ln -fs $TFTPBOOT $OGROOT/tftpboot
ln -fs /etc/opengnsys $OGROOT/etc
ln -fs /var/log/opengnsys $OGROOT/log
cp -ar $SVNROOT/client/nfsexport/* $OGROOT/client
cp -ar $SVNROOT/client/engine/*.lib $OGROOT/client/lib/engine/bin
cp -ar $SVNROOT/client/engine/*.sh $OGROOT/client/lib/engine/bin
}
function install_dhcpd
{
cat $SVNROOT/server/DHCP/dhcpd.conf >> /etc/dhcp3/dhcpd.conf
/etc/init.d/dhcp3-server restart
echo "Revise el archivo /etc/dhcp3/dhcpd.conf para configurarlo para su red"
}
function install_tftpboot
{
mkdir -p $OGROOT/tftpboot/pxelinux.cfg/
cat $SVNROOT/server/PXE/pxelinux.cfg/default >> $OGROOT/tftpboot/pxelinux.cfg/default
}
function install_initrd
{
$SVNROOT/client/boot/initrd-generator -t $OGROOT/tftpboot/
}
function install_nfsexport
{
cat $SVNROOT/server/NFS/exports >> /etc/exports
/etc/init.d/nfs-kernel-server restart
echo "Revise el archivo /etc/exports para configurarlo para su red"
}
arguments_parser $@
checking
if [ $INITRD -eq 1 ]; then
install_initrd
fi
if [ $UPDATE -eq 1 ]; then
create_file_system
else
install_necesary_packages
create_file_system
install_dhcpd
install_tftpboot
install_initrd
install_nfsexport
fi
|