source: server/bin/installoglive @ 7054daf

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 7054daf was 3f78765, checked in by ramon <ramongomez@…>, 10 years ago

#682: Solucionar problema en copia de seguridad de ogLive.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@4482 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 2.2 KB
Line 
1#!/bin/bash
2# installoglive - descarga e instala cliente ogLive.
3# Nota: El usuario debe elegir el número del ogLive que desea instalar.
4# Uso:  installoglive
5# Autor: Ramón M. Gómez - ETSII Univ. Sevilla
6# Fecha: 2015-01-26
7
8
9# Constantes.
10DOWNLOADURL="http://opengnsys.es/downloads"
11OPENGNSYS=/opt/opengnsys
12OGINITRD=$OPENGNSYS/tftpboot/ogclient/oginitrd.img
13OGVMLINUZ=$OPENGNSYS/tftpboot/ogclient/ogvmlinuz
14
15# Listar todos los ficheros ogLive que pueden ser descargados.
16OGLIVE=( $(wget $DOWNLOADURL -O - 2>/dev/null|grep ogLive.*iso) )
17NISOS=${#OGLIVE[@]}
18echo "Descargas disponibles (+- = instalado):"
19for i in $(seq 1 $NISOS); do
20        [ -e $OPENGNSYS/lib/${OGLIVE[i-1]} ] && OGLIVE[i-1]="+-${OGLIVE[i-1]}"
21done
22select opt in ${OGLIVE[@]}; do
23        [ -n "$opt" ] && OGLIVEFILE=${opt/+-/} && break
24done
25
26# Tamaño del fichero a descargar.
27SOURCELENGTH=$(LANG=C wget --spider $DOWNLOADURL/$OGLIVEFILE 2>&1 | awk '/Length:/ {print $2}')
28[ -n "$SOURCELENGTH" ] || exit
29
30# Descarga de ogLive.
31TARGETFILE=$OPENGNSYS/lib/$OGLIVEFILE
32wget $DOWNLOADURL/$OGLIVEFILE -O $TARGETFILE || exit
33
34# Obtener la clave actual de acceso a Samba para restaurarla tras la descarga.
35if [ -f $OGINITRD ]; then
36        SAMBAPASS=$(gzip -dc $OGINITRD | \
37        cpio -i --to-stdout scripts/ogfunctions 2>&1 | \
38                        grep "^[        ].*OPTIONS=" | \
39                        sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/')
40fi
41
42# Hacer copia de seguridad del ogLive actual.
43rm -fr $OPENGNSYS/tftpboot/ogclient.old
44mv -f $OPENGNSYS/tftpboot/ogclient $OPENGNSYS/tftpboot/ogclient.old
45
46# Montar la imagen ISO del ogclient, actualizar ficheros y desmontar.
47TMPDIR=/tmp/${OGLIVEFILE%.iso}
48mkdir -p $TMPDIR
49mount -o loop,ro $TARGETFILE $TMPDIR
50cp -va $TMPDIR/ogclient $OPENGNSYS/tftpboot/ogclient
51umount $TMPDIR
52rmdir $TMPDIR
53
54# Recuperar la clave de acceso a Samba o solicitar una nueva clave.
55if [ -n "$SAMBAPASS" ]; then
56        echo -ne "$SAMBAPASS\n$SAMBAPASS\n" | $OPENGNSYS/bin/setsmbpass
57else
58        $OPENGNSYS/bin/setsmbpass
59fi
60
61# Establecer los permisos.
62find -L $OPENGNSYS/tftpboot/ogclient -type d -exec chmod 755 {} \;
63find -L $OPENGNSYS/tftpboot/ogclient -type f -exec chmod 644 {} \;
64chown -R :opengnsys $OPENGNSYS/tftpboot/ogclient
65
66# Ofrecer md5 del kernel y vmlinuz para ogupdateinitrd en cache
67cp -av $OPENGNSYS/tftpboot/ogclient/{ogvmlinuz,oginitrd.img}* $OPENGNSYS/tftpboot
68
Note: See TracBrowser for help on using the repository browser.