blob: e1c18fec6743f0f85a1c49b2b8b3a5f4d185c30f (
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
|
#!/bin/bash
#/**
#@file mountrepo.sh
#@brief Script para montar el repositorio de datos remoto.
#@warning License: GNU GPLv3+
#@version 1.0
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2011-03-17
#*/
OGIMG=${OGIMG:-/opt/opengnsys/images}
ROOTREPO=${ROOTREPO:-"$ROOTSERVER"}
# TODO Revisar proceso de arranque para no montar 2 veces el repositorio.
if [ "$ogactiveadmin" == "true" ]; then
export boot=admin # ATENCIÓN: siempre en modo "admin".
umount $OGIMG 2>/dev/null
protocol=${ogprotocol:-"smb"}
[ "$ogunit" != "" ] && OGUNIT="/$ogunit"
printf "$MSG_MOUNTREPO\n" "$protocol" "$boot"
case "$ogprotocol" in
nfs) mount.nfs ${ROOTREPO}:$OGIMG$OGUNIT $OGIMG -o rw,nolock ;;
smb) PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | \
sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/')
PASS=${PASS:-"og"}
mount.cifs //${ROOTREPO}/ogimages$OGUNIT $OGIMG -o rw,serverino,acl,username=opengnsys,password=$PASS
;;
local) # TODO: hacer funcion dentro de este script que monte smb
# Comprobamos que estatus sea online.
if [ "$ogstatus" == "offline" -o "$SERVER" == "" ]; then
# Si estatus es offline buscamos un dispositivo con etiqueta repo
# y si no existe montamos la cache como repo (si existe).
TYPE=$(blkid | grep REPO | awk -F"TYPE=" '{print $2}' | tr -d \")
if [ "$TYPE" == "" ]; then
[ -d $OGCAC/$OGIMG ] && mount --bind $OGCAC/$OGIMG $OGIMG
else
mount -t $TYPE LABEL=REPO $OGIMG &>/dev/null
fi
else
# Comprobamos que existe un servicio de samba.
smbclient -L $SERVER -N &>/dev/null
if [ $? -eq 0 ]; then
PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | \
sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/')
PASS=${PASS:-"og"}
mount.cifs //${ROOTREPO}/ogimages $OGIMG -o rw,serverino,acl,username=opengnsys,password=$PASS
fi
# TODO: buscar condicion para NFS
fi
;;
esac
fi
|