Repository navigation
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·80 lines (70 loc) · 1.66 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·80 lines (70 loc) · 1.66 KB
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
#!/bin/bash
# Script para automatizar la creacion de contenedores lxc para diferentes propósitos
DESTROY=""
DIRNAME="lxc"
if [ -z $1 ]; then
echo "No se ha indicado directorio"
exit 1
else
set -x
DISTRO=${1:-debian}
RELEASE=${2:-stretch}
ARMDISTRO=${3:-DISTRO}
ARMRELEASE=${4:-RELEASE}
. lxc/vars_inc.sh $@
fi
if [ -z $LXCNAME ];then
LXCNAME="tablex-$RELEASE"
fi
echo "DISTRO $DISTRO RELEASE $RELEASE LXCNAME $LXCNAME"
export DISTRO RELEASE LXCNAME
if [ $SUDO ];then
if [ $USER != "root" ];then
echo "Tiene que ser el usuario root. Saliendo"
exit 1
fi
fi
if [ $DESTROY ];then
lxc-stop -n $LXCNAME
lxc-destroy -n $LXCNAME
fi
LXCBASE="/var/lib/lxc"
export LXCHOME="$LXCBASE/$LXCNAME"
export LXCROOT="$LXCHOME/rootfs"
lxc-info -n $LXCNAME 2>/dev/null
if [ $? = 1 ];then
lxc-create -n $LXCNAME -t $DISTRO -- -r $RELEASE
if [ $? = 1 ];then
echo "No se puede crear $LXCNAME"
exit 1
fi
fi
if [[ $LXCEXTRA ]];then
echo "$LXCEXTRA" >> $LXCHOME/config
fi
lxc-start -n $LXCNAME
echo "Iniciando contenedor $LXCNAME ..."
sleep 5
if [ -z $USERNAME ];then
USERNAME="$LXCNAME"
fi
export USERNAME
sed "s/@@NAME@@/$LXCNAME/" lxc_vars_inc.sh |
sed "s/@@USERNAME@@/$USERNAME/" > $DIRNAME/_vars_inc.sh
if [[ $EXPORT ]];then
echo "$EXPORT" >> $DIRNAME/_vars_inc.sh
fi
mv $DIRNAME/_vars_inc.sh $LXCROOT/vars_inc.sh
cd $DIRNAME
cp [0-9]*.sh $LXCROOT/tmp
chmod a+x $LXCROOT/tmp/[0-9]*.sh
echo "$LXCNAME.lxc.localnet" > $LXCROOT/etc/hostname
if [[ $COPY ]];then
cp $COPY $LXCROOT/tmp
fi
#exit 0
if [ -f 'install.sh' ];then
time ./install.sh $DISTRO $RELEASE
else
time ./install_${LXCNAME}.sh $@
fi