Modified installation scripts
[aula.git] / workstation / usr / share / educastur / ws-scripts / mount_filesystems
blob006842623a676e4b90106003a7e3b4a057786d8b
1 #/bin/sh
3 set -e
5 CMDLINE="$(cat /proc/cmdline)"
6 DESTDIR="$(dirname "$0")"
7 CFG_PLACE="none"
9 test -e /usr/share/educastur/config.sh || exit 1
10 . /usr/share/educastur/config.sh
12 [ -r /etc/default/educastur_parameters ] && . /etc/default/educastur_parameters
14 if [ -z "${SERVER_IP}" ]; then
15         SERVER_IP=server;
19 is_mounted()
21         mount | grep -E "^[^ ]*:[^ ].* on $1 " 2>&1 >/dev/null || return 1
22         return 0
25 aufs_mounted()
27         mount | grep -E "^$1 on $2 " 2>&1 >/dev/null || return 1
28         return 0
31 test -z "${SERVER_IP}" && exit 1
33 echo "Mounting aditional filesystems:"
35 for x in $CMDLINE
37         case $x in
38         place=*)
39                 PARAM="`echo $x | sed -e 's|^place=||g'`"
41                 if [ "$PARAM" = "aula" ]; then
42                         echo "- Network filesystems from ${SERVER_IP}"
43                         CFG_PLACE="aula"
44                         if ! is_mounted /home; then
45                                 echo "  · Mounting /home"
46                                 mkdir -p /home
47                                 mount ${SERVER_IP}:/data/home /home -t nfs -o auto,defaults,tcp &
48                                 sleep 2
49                                 while ! is_mounted /home; do
50                                         echo "  · Mounting /home"
51                                         mount ${SERVER_IP}:/data/home /home -t nfs -o auto,defaults,tcp &
52                                         sleep 2
53                                 done
54                         fi
55                         if ! is_mounted /compartido; then
56                                 echo "  · Mounting /compartido"
57                                 mkdir -p /compartido
58                                 mount ${SERVER_IP}:/data/shared /compartido -t nfs -o auto,defaults,tcp &
59                                 sleep 2
60                                 while ! is_mounted /compartido; do
61                                         echo "  · Mounting /compartido"
62                                         mount ${SERVER_IP}:/data/shared /compartido -t nfs -o auto,defaults,tcp &
63                                         sleep 2
64                                 done
65                         fi
66                         if ! is_mounted /compartido/publico; then
67                                 echo "  · Mounting /compartido/publico"
68                                 mkdir -p /compartido/publico
69                                 mount ${SERVER_IP}:/data/shared.open /compartido/publico -t nfs -o auto,defaults,tcp &
70                                 sleep 2
71                                 while ! is_mounted /compartido/publico; do
72                                         echo "  · Mounting /compartido/publico"
73                                         mount ${SERVER_IP}:/data/shared.open /compartido/publico -t nfs -o auto,defaults,tcp &
74                                         sleep 2
75                                 done
76                                 if [ ! -e /compartido/publica ]; then
77                                         ln -s /compartido/publico /compartido/publica
78                                 fi
79                         fi
80                         echo "  · Creating aufs overlay in /home/guest"
81                         MAC=`ifconfig | grep eth | head -n 1 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' | sed -e 's/://g'`
82                         if [ -n "${MAC}" ]; then
83                                 if [ -e "/home/guest.aufs/${MAC}" ]; then
84                                         rm -rf "/home/guest.aufs/${MAC}"
85                                 fi
86                                 mkdir -p "/home/guest.aufs/${MAC}"
87                                 mount -t aufs -o "xino=/tmp/.guest.xino,dirs=/home/guest.aufs/${MAC}=rw:/home/guest.base=ro" guest.union "/home/guest"
88                                 while ! aufs_mounted guest.union "/home/guest"; do
89                                         echo "  · Mounting aufs overlay in /home/guest"
90                                         mount -t aufs -o "xino=/tmp/.guest.xino,dirs=/home/guest.aufs/${MAC}=rw:/home/guest.base=ro" guest.union "/home/guest"
91                                         sleep 2
92                                 done
93                                 chown guest:guest -R /home/guest
94                         fi
95                         echo "  · done"
96                 fi
98                 ;;
99         esac
100 done
102 #for x in $CMDLINE
104 #        case $x in
105 #        aufs=*)
106 #                PARAM="`echo $x | sed -e 's|^aufs=||g'`"
107 #                if [ "$PARAM" = "nfs" ]; then
108 #                    if [ -d "/.nas" -a -d "/.ro/var" ]; then
109 #                        if [ -e "/.nas/var" ]; then
110 #                            rm -rf "/.nas/var" 
111 #                        fi
112 #                        mkdir -p "/.nas/var"
113 #                        mount -t aufs -o "xino=/tmp/.var.xino,dirs=/.nas/var=rw:/.ro/var=ro" var.union "/var"
114 #                    fi
115 #                fi
116 #                ;;
117 #       esac
118 #done