From db17d80b90b1bb4dbca6f2e234d5ca28ba432f90 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 10 Nov 2016 13:22:01 +0100 Subject: [PATCH 1/4] Posibilidad de proporcionar un nombre de imagen de antemano MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se puede especificar la variable de entorno ``IMAGE_NAME``, en cuyo caso se seleccionará automáticamente dicha imagen sin preguntar. Por ejemplo: # env IMAGE_NAME=lubuntu-i386-es instalar El nombre no debe incluir ninguna extensión. No se comprueba si la imagen no existe. --- instalar | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/instalar b/instalar index af1d211..bb957f3 100644 --- a/instalar +++ b/instalar @@ -17,6 +17,7 @@ HD_ROOT=20480 LOCAL_MP='/tmp/pxe' REMOTE_MP='/pxe' IMAGE_DIR="$LOCAL_MP/img" +IMAGE_NAME=${IMAGE_NAME:-} # "lubuntu-i386-es", no "lubuntu-i386-es.fsa" NFSMOUNT=`/etc/init.d/nfsmount status | awk -F: '{print $2}' | sed 's/ //g'` START_TIME=0 END_TIME=0 @@ -81,31 +82,35 @@ fi mkdir $LOCAL_MP mount -o nolock $SERVER:$REMOTE_MP $LOCAL_MP &> /dev/null -cd $IMAGE_DIR -IMAGES=($(ls -f ./*.fsa)) -cd - &> /dev/null -IMAGE_NUM=${#IMAGES[@]} -((LAST_POS=$IMAGE_NUM-1)) -SELECTED=100 - -while ! [[ "${SELECTED}" =~ ^[0-9]+$ ]] || [ $SELECTED -lt 0 ] || [ $SELECTED -ge $IMAGE_NUM ]; do - echo - echo "Imagenes disponibles para su instalación:" - for i in `seq 0 $LAST_POS`; do - IMAGES[$i]=`echo ${IMAGES[$i]} | sed 's,./,,g'` - echo "$i) ${IMAGES[$i]}" + +if [ ! "$IMAGE_NAME" ]; then + cd $IMAGE_DIR + IMAGES=($(ls -f ./*.fsa)) + cd - &> /dev/null + IMAGE_NUM=${#IMAGES[@]} + ((LAST_POS=$IMAGE_NUM-1)) + SELECTED=100 + + while ! [[ "${SELECTED}" =~ ^[0-9]+$ ]] || [ $SELECTED -lt 0 ] || [ $SELECTED -ge $IMAGE_NUM ]; do + echo + echo "Imagenes disponibles para su instalación:" + for i in `seq 0 $LAST_POS`; do + IMAGES[$i]=`echo ${IMAGES[$i]} | sed 's,./,,g'` + echo "$i) ${IMAGES[$i]}" + done + echo "Introduce el número de la imagen que deseas instalar:" + read SELECTED + echo done - echo "Introduce el número de la imagen que deseas instalar:" - read SELECTED - echo -done + IMAGE_NAME=${IMAGES[$SELECTED]%.fsa} +fi -echo "Has seleccionado la imagen ${IMAGES[$SELECTED]}" +echo "Has seleccionado la imagen $IMAGE_NAME" echo "Comenzando la instalación de la imagen. La operación puede durar aproximadamente 5 minutos." -fsarchiver restfs $IMAGE_DIR/${IMAGES[$SELECTED]} id=0,dest="$HD"1 &> /dev/null -fsarchiver restfs $IMAGE_DIR/${IMAGES[$SELECTED]} id=1,dest="$HD"3 &> /dev/null +fsarchiver restfs "$IMAGE_DIR/$IMAGE_NAME.fsa" id=0,dest="$HD"1 &> /dev/null +fsarchiver restfs "$IMAGE_DIR/$IMAGE_NAME.fsa" id=1,dest="$HD"3 &> /dev/null umount $IMAGE_DIR &> /dev/null if [ $NFSMOUNT = 'started' ]; then From 500239810227acda2cec6d507099594a959198cd Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 10 Nov 2016 13:25:55 +0100 Subject: [PATCH 2/4] Posibilidad de inhabilitar la pregunta Usando la variable de entorno ``ASK=no``. --- instalar | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/instalar b/instalar index bb957f3..db0cd85 100644 --- a/instalar +++ b/instalar @@ -10,6 +10,7 @@ #A copy of the GNU General Public License is available as /usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or on the World Wide Web at the GNU website You can also obtain it by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA +ASK=${ASK:-yes} # "yes" o "no" SERVER=10.10.20.3 HD='/dev/sda' HD_SWAP=4096 @@ -28,7 +29,7 @@ function pause(){ function init_msg(){ START_TIME=`date +%s` -pause "** INSTALACIÓN AUTOMÁTICA DE SSOO ** +test "$ASK" = yes && pause "** INSTALACIÓN AUTOMÁTICA DE SSOO ** EL CONTENIDO DEL DISCO DURO SE BORRARÁ POR COMPLETO. Pulse CONTROL+C para detener la instalación. From 120c5d2da73cce3414d30aa3d789da369399e91d Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 10 Nov 2016 13:29:34 +0100 Subject: [PATCH 3/4] Se renombra la variable ``ASK`` a ``CONFIRM`` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Para no confundirla con la pregunta de qué imagen instalar. --- instalar | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/instalar b/instalar index db0cd85..15ae3da 100644 --- a/instalar +++ b/instalar @@ -10,7 +10,7 @@ #A copy of the GNU General Public License is available as /usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or on the World Wide Web at the GNU website You can also obtain it by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -ASK=${ASK:-yes} # "yes" o "no" +CONFIRM=${CONFIRM:-yes} # "yes" o "no" SERVER=10.10.20.3 HD='/dev/sda' HD_SWAP=4096 @@ -29,7 +29,7 @@ function pause(){ function init_msg(){ START_TIME=`date +%s` -test "$ASK" = yes && pause "** INSTALACIÓN AUTOMÁTICA DE SSOO ** +test "$CONFIRM" = yes && pause "** INSTALACIÓN AUTOMÁTICA DE SSOO ** EL CONTENIDO DEL DISCO DURO SE BORRARÁ POR COMPLETO. Pulse CONTROL+C para detener la instalación. From 18b573673c43fb08262796e3f2d3cc83e710aca4 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 10 Nov 2016 13:40:50 +0100 Subject: [PATCH 4/4] =?UTF-8?q?Comprobaci=C3=B3n=20m=C3=A1s=20segura=20de?= =?UTF-8?q?=20variable=20de=20confirmaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Así cualquier valor diferente de "CONFIRM=no" escoge la función más segura, preguntar. --- instalar | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instalar b/instalar index 15ae3da..a0875e7 100644 --- a/instalar +++ b/instalar @@ -29,7 +29,7 @@ function pause(){ function init_msg(){ START_TIME=`date +%s` -test "$CONFIRM" = yes && pause "** INSTALACIÓN AUTOMÁTICA DE SSOO ** +test "$CONFIRM" = no || pause "** INSTALACIÓN AUTOMÁTICA DE SSOO ** EL CONTENIDO DEL DISCO DURO SE BORRARÁ POR COMPLETO. Pulse CONTROL+C para detener la instalación.