versión 1.0.1: actualizar correctamente enlaces simbólicos (cerrar #400).
git-svn-id: https://opengnsys.es/svn/branches/version1.0@2014 a21b9725-9963-47de-94b9-378ad31fedc9remotes/github/debian-pkg
parent
78b5dfe77e
commit
aa36857ef4
|
@ -507,29 +507,38 @@ function checkNetworkConnection()
|
|||
# Obtener los parámetros de red de la interfaz por defecto.
|
||||
function getNetworkSettings()
|
||||
{
|
||||
# Variables globales definidas:
|
||||
# - SERVERIP: IP local del servidor.
|
||||
# - NETIP: IP de la red.
|
||||
# - NETMASK: máscara de red.
|
||||
# - NETBROAD: IP de difusión de la red.
|
||||
# - ROUTERIP: IP del router.
|
||||
# - DNSIP: IP del servidor DNS.
|
||||
# Arrays globales definidas:
|
||||
# - DEVICE: nombres de dispositivos de red activos.
|
||||
# - DEFAULTDEV: dispositivo de red por defecto.
|
||||
# - SERVERIP: IP local del servidor.
|
||||
# - NETIP: IP de la red.
|
||||
# - NETMASK: máscara de red.
|
||||
# - NETBROAD: IP de difusión de la red.
|
||||
# - ROUTERIP: IP del router.
|
||||
# - DNSIP: IP del servidor DNS.
|
||||
|
||||
local MAINDEV
|
||||
local i=0
|
||||
local dev=""
|
||||
|
||||
echoAndLog "${FUNCNAME}(): Detecting default network parameters."
|
||||
MAINDEV=$(ip -o link show up | awk '!/loopback/ {d=d$2} END {sub(/:.*/,"",d); print d}')
|
||||
if [ -z "$MAINDEV" ]; then
|
||||
errorAndLog "${FUNCNAME}(): Network device not detected."
|
||||
echoAndLog "${FUNCNAME}(): Detecting network parameters."
|
||||
DEVICE=$(ip -o link show up | awk '!/loopback/ {sub(/:.*/,"",$2); print $2}')
|
||||
if [ -z "$DEVICE" ]; then
|
||||
errorAndLog "${FUNCNAME}(): Network devices not detected."
|
||||
exit 1
|
||||
fi
|
||||
SERVERIP=$(ip -o addr show dev $MAINDEV | awk '$3~/inet$/ {sub (/\/.*/, ""); print ($4)}')
|
||||
NETMASK=$(LANG=C ifconfig $MAINDEV | awk '/Mask/ {sub(/.*:/,"",$4); print $4}')
|
||||
NETBROAD=$(ip -o addr show dev $MAINDEV | awk '$3~/inet$/ {print ($6)}')
|
||||
NETIP=$(netstat -nr | grep $MAINDEV | awk '$1!~/0\.0\.0\.0/ {if (n=="") n=$1} END {print n}')
|
||||
ROUTERIP=$(netstat -nr | awk '$1~/0\.0\.0\.0/ {print $2}')
|
||||
for dev in ${DEVICE[*]}; do
|
||||
SERVERIP[i]=$(ip -o addr show dev $dev | awk '$3~/inet$/ {sub (/\/.*/, ""); print ($4)}')
|
||||
if [ -n "${SERVERIP[i]}"; then
|
||||
NETMASK[i]=$(LANG=C ifconfig $dev | awk '/Mask/ {sub(/.*:/,"",$4); print $4}')
|
||||
NETBROAD[i]=$(ip -o addr show dev $dev | awk '$3~/inet$/ {print ($6)}')
|
||||
NETIP[i]=$(netstat -nr | awk -v d="$dev" '$1!~/0\.0\.0\.0/&&$8==d {if (n=="") n=$1} END {print n}')
|
||||
ROUTERIP[i]=$(netstat -nr | awk -v d="$dev" '$1~/0\.0\.0\.0/&&$8==d {print $2}')
|
||||
DEFAULTDEV=${DEFAULTDEV:-"$dev"}
|
||||
let i++
|
||||
fi
|
||||
done
|
||||
DNSIP=$(awk '/nameserver/ {print $2}' /etc/resolv.conf | head -n1)
|
||||
if [ -z "$NETIP" -o -z "$NETMASK" ]; then
|
||||
if [ -z "${NETIP}[*]" -o -z "${NETMASK[*]}" ]; then
|
||||
errorAndLog "${FUNCNAME}(): Network not detected."
|
||||
exit 1
|
||||
fi
|
||||
|
@ -590,108 +599,6 @@ function testPxe ()
|
|||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
## Configuracion servicio NFS
|
||||
########################################################################
|
||||
|
||||
# ADVERTENCIA: usa variables globales NETIP y NETMASK!
|
||||
function nfsConfigure()
|
||||
{
|
||||
echoAndLog "${FUNCNAME}(): Config nfs server."
|
||||
|
||||
backupFile /etc/exports
|
||||
|
||||
nfsAddExport /opt/opengnsys/client ${NETIP}/${NETMASK}:ro,no_subtree_check,no_root_squash,sync
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error while adding nfs client config"
|
||||
return 1
|
||||
fi
|
||||
|
||||
nfsAddExport /opt/opengnsys/images ${NETIP}/${NETMASK}:rw,no_subtree_check,no_root_squash,sync,crossmnt
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error while adding nfs images config"
|
||||
return 1
|
||||
fi
|
||||
|
||||
nfsAddExport /opt/opengnsys/log/clients ${NETIP}/${NETMASK}:rw,no_subtree_check,no_root_squash,sync
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error while adding logging client config"
|
||||
return 1
|
||||
fi
|
||||
|
||||
nfsAddExport /var/lib/tftpboot ${NETIP}/${NETMASK}:ro,no_subtree_check,no_root_squash,sync
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error while adding second filesystem for the pxe ogclient"
|
||||
return 1
|
||||
fi
|
||||
|
||||
/etc/init.d/nfs-kernel-server restart
|
||||
|
||||
exportfs -va
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error while configure exports"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echoAndLog "${FUNCNAME}(): Added NFS configuration to file \"/etc/exports\"."
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
# ejemplos:
|
||||
#nfsAddExport /opt/opengnsys 192.168.0.0/255.255.255.0:ro,no_subtree_check,no_root_squash,sync
|
||||
#nfsAddExport /opt/opengnsys 192.168.0.0/255.255.255.0
|
||||
#nfsAddExport /opt/opengnsys 80.20.2.1:ro 192.123.32.2:rw
|
||||
function nfsAddExport()
|
||||
{
|
||||
if [ $# -lt 2 ]; then
|
||||
errorAndLog "${FUNCNAME}(): invalid number of parameters"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f /etc/exports ]; then
|
||||
errorAndLog "${FUNCNAME}(): /etc/exports don't exists"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local export="${1}"
|
||||
local contador=0
|
||||
local cadenaexport
|
||||
|
||||
grep "^${export}" /etc/exports > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
echoAndLog "${FUNCNAME}(): $export exists in /etc/exports, omiting"
|
||||
return 0
|
||||
fi
|
||||
|
||||
cadenaexport="${export}"
|
||||
for parametro in $*
|
||||
do
|
||||
if [ $contador -gt 0 ]
|
||||
then
|
||||
host=`echo $parametro | awk -F: '{print $1}'`
|
||||
options=`echo $parametro | awk -F: '{print $2}'`
|
||||
if [ "${host}" == "" ]; then
|
||||
errorAndLog "${FUNCNAME}(): host can't be empty"
|
||||
return 1
|
||||
fi
|
||||
cadenaexport="${cadenaexport}\t${host}"
|
||||
|
||||
if [ "${options}" != "" ]; then
|
||||
cadenaexport="${cadenaexport}(${options})"
|
||||
fi
|
||||
fi
|
||||
let contador=contador+1
|
||||
done
|
||||
|
||||
echo -en "$cadenaexport\n" >> /etc/exports
|
||||
|
||||
echoAndLog "${FUNCNAME}(): add $export to /etc/exports"
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
## Configuracion servicio Samba
|
||||
########################################################################
|
||||
|
@ -727,20 +634,27 @@ function dhcpConfigure()
|
|||
{
|
||||
echoAndLog "${FUNCNAME}(): Sample DHCP Configuration."
|
||||
|
||||
backupFile /etc/dhcp3/dhcpd.conf
|
||||
local i=0
|
||||
local dev=""
|
||||
|
||||
sed -e "s/SERVERIP/$SERVERIP/g" \
|
||||
-e "s/NETIP/$NETIP/g" \
|
||||
-e "s/NETMASK/$NETMASK/g" \
|
||||
-e "s/NETBROAD/$NETBROAD/g" \
|
||||
-e "s/ROUTERIP/$ROUTERIP/g" \
|
||||
-e "s/DNSIP/$DNSIP/g" \
|
||||
$WORKDIR/opengnsys/server/etc/dhcpd.conf.tmpl > /etc/dhcp3/dhcpd.conf
|
||||
[ -h /etc/dhcp3/dhcpd.conf ] || backupFile /etc/dhcp3/dhcpd.conf
|
||||
for dev in ${DEVICE[*]}; do
|
||||
if [ -n "${SERVERIP[i]}"; then
|
||||
backupFile /etc/dhcp3/dhcpd-$dev.conf
|
||||
sed -e "s/SERVERIP/${SERVERIP[i]}/g" \
|
||||
-e "s/NETIP/${NETIP[i]}/g" \
|
||||
-e "s/NETMASK/${NETMASK[i]}/g" \
|
||||
-e "s/NETBROAD/${NETBROAD[i]}/g" \
|
||||
-e "s/ROUTERIP/${ROUTERIP[i]}/g" \
|
||||
-e "s/DNSIP/$DNSIP/g" \
|
||||
$WORKDIR/opengnsys/server/etc/dhcpd.conf.tmpl > /etc/dhcp3/dhcpd-$dev.conf
|
||||
fi
|
||||
done
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error while configuring dhcp server"
|
||||
return 1
|
||||
fi
|
||||
|
||||
ln -fs /etc/dhcp3/dhcpd.conf dhcpd-$DEFAULTDEV.conf
|
||||
/etc/init.d/dhcp3-server restart
|
||||
echoAndLog "${FUNCNAME}(): Sample DHCP Configured in file \"/etc/dhcp3/dhcpd.conf\"."
|
||||
return 0
|
||||
|
|
|
@ -453,7 +453,11 @@ function updateServerFiles()
|
|||
pushd $WORKDIR/opengnsys >/dev/null
|
||||
local i
|
||||
for (( i = 0; i < ${#SOURCES[@]}; i++ )); do
|
||||
rsync --exclude .svn -irplt "${SOURCES[$i]}" $(dirname "${INSTALL_TARGET}/${TARGETS[$i]}")
|
||||
if [ -d "$INSTALL_TARGET/${TARGETS[$i]}" ]; then
|
||||
rsync --exclude .svn -irplt "${SOURCES[i]}" $(dirname "$INSTALL_TARGET/${TARGETS[i]}")
|
||||
else
|
||||
rsync --exclude .svn -irplt "${SOURCES[i]}" "$INSTALL_TARGET/${TARGETS[i]}"
|
||||
fi
|
||||
done
|
||||
popd >/dev/null
|
||||
echoAndLog "${FUNCNAME}(): updating cron files"
|
||||
|
|
Loading…
Reference in New Issue