From 12999a5cab6787df4c0308e6d9175bd7af796a12 Mon Sep 17 00:00:00 2001 From: ramon Date: Tue, 29 Apr 2014 12:51:00 +0000 Subject: [PATCH] =?UTF-8?q?#616:=20Borrar=20c=C3=B3digo=20antiguo=20para?= =?UTF-8?q?=20generar=20el=20cliente=20ogLive.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://opengnsys.es/svn/branches/version1.0@4258 a21b9725-9963-47de-94b9-378ad31fedc9 --- .../etc/apt/sources.list.debian | 4 - .../etc/apt/sources.list.ubuntu | 56 - old/clientstructure/etc/environment | 4 - old/clientstructure/etc/fstab | 13 - .../etc/initramfs-tools/hooks/oghooks | 62 -- .../etc/initramfs-tools/modules | 14 - .../etc/initramfs-tools/scripts/ogfunctions | 631 ------------ .../etc/initramfs-tools/scripts/oginit | 133 --- old/clientstructure/etc/inittab | 14 - .../etc/modprobe.d/blacklist-framebuffer.conf | 30 - old/clientstructure/etc/mtab | 0 old/clientstructure/etc/network/interfaces | 4 - .../etc/profile.d/loadenviron.sh | 93 -- old/clientstructure/etc/ssh/ssh_config | 56 - old/clientstructure/etc/ssh/sshd_config | 86 -- .../lib/plymouth/themes/opengnsys/box.png | Bin 870 -> 0 bytes .../lib/plymouth/themes/opengnsys/bullet.png | Bin 296 -> 0 bytes .../lib/plymouth/themes/opengnsys/entry.png | Bin 350 -> 0 bytes .../lib/plymouth/themes/opengnsys/lock.png | Bin 1896 -> 0 bytes .../themes/opengnsys/logoopengnsys.png | Bin 13331 -> 0 bytes .../themes/opengnsys/opengnsys.plymouth | 11 - .../plymouth/themes/opengnsys/opengnsys.png | Bin 13331 -> 0 bytes .../themes/opengnsys/opengnsys.script | 203 ---- .../themes/opengnsys/progress_bar.png | Bin 285 -> 0 bytes .../themes/opengnsys/progress_box.png | Bin 285 -> 0 bytes old/clientstructure/root/CompileSoftware.sh | 38 - old/clientstructure/root/ConfFS.sh | 24 - .../root/GenerateGraphicBoot.sh | 17 - .../root/GenerateInitrd.generic.sh | 16 - old/clientstructure/root/InstallSoftware.sh | 79 -- .../root/ReconfigureLocales.sh | 4 - .../root/generateSshKeysClient.sh | 23 - .../root/importSVNboot-tools.sh | 126 --- old/clientstructure/root/importSshKeys.sh | 17 - old/clientstructure/root/qemu.sh | 9 - .../var/lib/locales/supported.d/local | 5 - old/ogClientGeneratorV2.sh | 164 --- old/ogClientManager.lib | 740 -------------- old/ogInstaller.lib | 958 ------------------ 39 files changed, 3634 deletions(-) delete mode 100644 old/clientstructure/etc/apt/sources.list.debian delete mode 100644 old/clientstructure/etc/apt/sources.list.ubuntu delete mode 100644 old/clientstructure/etc/environment delete mode 100644 old/clientstructure/etc/fstab delete mode 100755 old/clientstructure/etc/initramfs-tools/hooks/oghooks delete mode 100644 old/clientstructure/etc/initramfs-tools/modules delete mode 100644 old/clientstructure/etc/initramfs-tools/scripts/ogfunctions delete mode 100755 old/clientstructure/etc/initramfs-tools/scripts/oginit delete mode 100644 old/clientstructure/etc/inittab delete mode 100644 old/clientstructure/etc/modprobe.d/blacklist-framebuffer.conf delete mode 100644 old/clientstructure/etc/mtab delete mode 100644 old/clientstructure/etc/network/interfaces delete mode 100755 old/clientstructure/etc/profile.d/loadenviron.sh delete mode 100644 old/clientstructure/etc/ssh/ssh_config delete mode 100644 old/clientstructure/etc/ssh/sshd_config delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/box.png delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/bullet.png delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/entry.png delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/lock.png delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/logoopengnsys.png delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.plymouth delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.png delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.script delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/progress_bar.png delete mode 100644 old/clientstructure/lib/plymouth/themes/opengnsys/progress_box.png delete mode 100755 old/clientstructure/root/CompileSoftware.sh delete mode 100755 old/clientstructure/root/ConfFS.sh delete mode 100644 old/clientstructure/root/GenerateGraphicBoot.sh delete mode 100755 old/clientstructure/root/GenerateInitrd.generic.sh delete mode 100755 old/clientstructure/root/InstallSoftware.sh delete mode 100755 old/clientstructure/root/ReconfigureLocales.sh delete mode 100755 old/clientstructure/root/generateSshKeysClient.sh delete mode 100644 old/clientstructure/root/importSVNboot-tools.sh delete mode 100755 old/clientstructure/root/importSshKeys.sh delete mode 100755 old/clientstructure/root/qemu.sh delete mode 100644 old/clientstructure/var/lib/locales/supported.d/local delete mode 100755 old/ogClientGeneratorV2.sh delete mode 100644 old/ogClientManager.lib delete mode 100644 old/ogInstaller.lib diff --git a/old/clientstructure/etc/apt/sources.list.debian b/old/clientstructure/etc/apt/sources.list.debian deleted file mode 100644 index 495e48d..0000000 --- a/old/clientstructure/etc/apt/sources.list.debian +++ /dev/null @@ -1,4 +0,0 @@ -deb http://ftp.us.debian.org/debian lenny main contrib non-free - -deb http://security.debian.org/ lenny/updates main contrib non-free -deb-src http://security.debian.org/ lenny/updates main contrib non-free diff --git a/old/clientstructure/etc/apt/sources.list.ubuntu b/old/clientstructure/etc/apt/sources.list.ubuntu deleted file mode 100644 index 29348cc..0000000 --- a/old/clientstructure/etc/apt/sources.list.ubuntu +++ /dev/null @@ -1,56 +0,0 @@ -deb http://es.archive.ubuntu.com/ubuntu/ OSCODENAME main restricted -deb-src http://es.archive.ubuntu.com/ubuntu/ OSCODENAME main restricted -## Major bug fix updates produced after the final release of the -## distribution. -deb http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-updates main restricted -deb-src http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-updates main restricted -## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu -## team. Also, please note that software in universe WILL NOT receive any -## review or updates from the Ubuntu security team. -deb http://es.archive.ubuntu.com/ubuntu/ OSCODENAME universe -deb-src http://es.archive.ubuntu.com/ubuntu/ OSCODENAME universe -deb http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-updates universe -deb-src http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-updates universe - -## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu -## team, and may not be under a free licence. Please satisfy yourself as to -## your rights to use the software. Also, please note that software in -## multiverse WILL NOT receive any review or updates from the Ubuntu -## security team. -deb http://es.archive.ubuntu.com/ubuntu/ OSCODENAME multiverse -deb-src http://es.archive.ubuntu.com/ubuntu/ OSCODENAME multiverse -deb http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-updates multiverse -deb-src http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-updates multiverse - -## Uncomment the following two lines to add software from the 'backports' -## repository. -## N.B. software from this repository may not have been tested as -## extensively as that contained in the main release, although it includes -## newer versions of some applications which may provide useful features. -## Also, please note that software in backports WILL NOT receive any review -## or updates from the Ubuntu security team. -# deb http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-backports main restricted universe multiverse -# deb-src http://es.archive.ubuntu.com/ubuntu/ OSCODENAME-backports main restricted universe multiverse - -## Uncomment the following two lines to add software from Canonical's -## 'partner' repository. -## This software is not part of Ubuntu, but is offered by Canonical and the -## respective vendors as a service to Ubuntu users. -# deb http://archive.canonical.com/ubuntu OSCODENAME partner -# deb-src http://archive.canonical.com/ubuntu OSCODENAME partner - - -deb http://security.ubuntu.com/ubuntu OSCODENAME-security main restricted -deb-src http://security.ubuntu.com/ubuntu OSCODENAME-security main restricted -deb http://security.ubuntu.com/ubuntu OSCODENAME-security universe -deb-src http://security.ubuntu.com/ubuntu OSCODENAME-security universe -deb http://security.ubuntu.com/ubuntu OSCODENAME-security multiverse -deb-src http://security.ubuntu.com/ubuntu OSCODENAME-security multiverse - - -deb http://archive.ubuntu.com/ubuntu OSCODENAME main -deb http://free.nchc.org.tw/drbl-core drbl stable -deb http://free.nchc.org.tw/ubuntu OSCODENAME-security main restricted universe multiverse -deb http://ppa.launchpad.net/freenx-team/ubuntu/ OSCODENAME main -deb http://ppa.launchpad.net/randomaction/ppa/ubuntu OSCODENAME main -deb-src http://ppa.launchpad.net/randomaction/ppa/ubuntu OSCODENAME main diff --git a/old/clientstructure/etc/environment b/old/clientstructure/etc/environment deleted file mode 100644 index bb529d9..0000000 --- a/old/clientstructure/etc/environment +++ /dev/null @@ -1,4 +0,0 @@ -LC_TYPE=es_ES@euro -LC_ALL=es_ES@euro -LANG=es_ES@euro -LANGUAGE=es_ES@euro \ No newline at end of file diff --git a/old/clientstructure/etc/fstab b/old/clientstructure/etc/fstab deleted file mode 100644 index d7473df..0000000 --- a/old/clientstructure/etc/fstab +++ /dev/null @@ -1,13 +0,0 @@ -# /etc/fstab: static file system information. -# -# Use 'blkid -o value -s UUID' to print the universally unique identifier -# for a device; this may be used with UUID= as a more robust way to name -# devices that works even if disks are added and removed. See fstab(5). -# -# -proc /proc proc 0 0 -/dev/sda1 ext3 errors=remount-ro 0 1 - - - - diff --git a/old/clientstructure/etc/initramfs-tools/hooks/oghooks b/old/clientstructure/etc/initramfs-tools/hooks/oghooks deleted file mode 100755 index 67f807a..0000000 --- a/old/clientstructure/etc/initramfs-tools/hooks/oghooks +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -e -# initramfs hook for OpenGnsys - -#@file oghooks -#@brief configuración initrd para OpenGnSys -#@warning -#@version 0.9 - estrucura opengnsys, bash-static, unionfs, atheros -#@author Antonio J. Doblas Viso. -#@date 2010/05/24 -#*/ - -PREREQ="og" - -# Output pre-requisites -prereqs() -{ - echo "$PREREQ" -} - -case "$1" in - prereqs) - prereqs - exit 0 - ;; -esac - - -. /usr/share/initramfs-tools/hook-functions - -mkdir -p ${DESTDIR}/scripts/og-top -mkdir -p ${DESTDIR}/scripts/og-premount -mkdir -p ${DESTDIR}/scripts/og-bottom -mkdir -p ${DESTDIR}/mnt/ -mkdir -p ${DESTDIR}/net/ -mkdir -p ${DESTDIR}/usr -mkdir -p ${DESTDIR}/var/lock -mkdir -p ${DESTDIR}/var/log -mkdir -p ${DESTDIR}/opt/opengnsys; -mkdir -p ${DESTDIR}/ogboot; -mkdir -p ${DESTDIR}/boot; - -# Insert basic binaries -copy_exec /bin/bash-static /bin/bash -copy_exec /usr/bin/unionfs-fuse -copy_exec /sbin/mount.cifs -copy_exec /sbin/mount.smbfs -copy_exec /bin/lsmod - - -# Insert OpenGnsys Engine -#mkdir -p ${DESTDIR}/opt/opengnsys/lib/engine -#cp -prv /opt/opengnsys/client/lib/engine ${DESTDIR}/opt/opengnsys/lib/engine - -#rm -fr ${DESTDIR}/lib/modules/2.6.32-21-generic-pae/kernel/drivers/net/atl* -manual_add_modules cifs -manual_add_modules smbfs -manual_add_modules atl1e -manual_add_modules squashfs -manual_add_modules md4 - - - diff --git a/old/clientstructure/etc/initramfs-tools/modules b/old/clientstructure/etc/initramfs-tools/modules deleted file mode 100644 index 8bac1d4..0000000 --- a/old/clientstructure/etc/initramfs-tools/modules +++ /dev/null @@ -1,14 +0,0 @@ -# List of modules that you want to include in your initramfs. -# -# Syntax: module_name [args ...] -# -# You must run update-initramfs(8) to effect this change. -# -# Examples: -# -# raid1 -# sd_mod -vga16b -vesafb -fbcon - diff --git a/old/clientstructure/etc/initramfs-tools/scripts/ogfunctions b/old/clientstructure/etc/initramfs-tools/scripts/ogfunctions deleted file mode 100644 index ae76bf2..0000000 --- a/old/clientstructure/etc/initramfs-tools/scripts/ogfunctions +++ /dev/null @@ -1,631 +0,0 @@ -#@file ogfunctions.lib -#@brief Librería o clase para la generación del 1erFS -#@class client -#@brief Funciones para la generación del primers sistema (initrd) -#@version 0.91 -#@warning License: GNU GPLv3+ - - -ogExportKernelParameters () -{ - GLOBAL="cat /proc/cmdline" - for i in `${GLOBAL}` - do - echo $i | grep "=" > /dev/null && export $i - done -return 0 -} - -ogExportVarEnvironment () -{ - export CFGINITRD="/tmp/initrd.cfg" - OGPROTOCOL="${ogprotocol:-smb}" - case "$OGPROTOCOL" in - nfs|NFS) - #export NFSROOTBOOT="/var/lib/tftpboot" - export SRCOGLIVE="/var/lib/tftpboot" && echo "SRCOGLIVE=$SRCOGLIVE" >> $CFGINITRD - #export NFSCLIENTDIR="/opt/opengnsys/client" - export SRCOGSHARE="/opt/opengnsys/client" && echo "SRCOGSHARE=$SRCOGSHARE" >> $CFGINITRD - #export NFSLOGDIR="/opt/opengnsys/log/clients" - export SRCOGLOG="/opt/opengnsys/log/clients" && echo "SRCOGLOG=$SRCOGLOG" >> $CFGINITRD - #export NFSIMGDIR="/opt/opengnsys/images" - export SRCOGIMAGES="/opt/opengnsys/images" && echo "SRCOGIMAGES=$SRCOGIMAGES" >> $CFGINITRD - ;; - smb|SMB|cifs|CIFS|samba|SAMBA) - export OPTIONS=" -o user=opengnsys,pass=og" - #export SMBROOTBOOT="tftpboot" && echo "SMBROOTBOOT=$SMBROOTBOOT" >> $CFGINITRD - export SRCOGLIVE="tftpboot" && echo "SRCOGLIVE=$SRCOGLIVE" >> $CFGINITRD - #export SMBCLIENTDIR="ogclient" && echo "SMBCLIENTDIR=$SMBCLIENTDIR" >> $CFGINITRD - export SRCOGSHARE="ogclient" && echo "SRCOGSHARE=$SRCOGSHARE" >> $CFGINITRD - #export SMBLOGDIR="oglog" && echo "SMBLOGDIR=$SMBLOGDIR" >> $CFGINITRD - export SRCOGLOG="oglog" && echo "SRCOGLOG=$SRCOGLOG" >> $CFGINITRD - #export SMBIMGDIR="ogimages" && echo "SMBIMGDIR=$SMBIMGDIR" >> $CFGINITRD - export SRCOGIMAGES="ogimages" && echo "SRCOGIMAGES=$SRCOGIMAGES" >> $CFGINITRD - ;; - local|LOCAL) - export SRCOGLIVE="local" - ;; - esac - #punto de acceso al boot-tools live - #export LOCALROOTBOOT="/opt/og2fs/tftpboot" && echo "LOCALROOTBOOT=$LOCALROOTBOOT" >> $CFGINITRD - export DSTOGLIVE="/opt/oglive/tftpboot" - #punto de montaje para unionfs - #export LOCALROOTRAM="/opt/og2fs/1stfs" && echo "LOCALROOTRAM=$LOCALROOTRAM" >> $CFGINITRD - export OGLIVERAMFS="/opt/oglive/ramfs" && echo "OGLIVERAMFS=$OGLIVERAMFS" >> $CFGINITRD - #punto de montaje donde se accede al 2nd FS mediante loop - #export LOCALROOTIMG="/opt/og2fs/2ndfs" && echo "LOCALROOTIMG=$LOCALROOTIMG" >> $CFGINITRD - export OGLIVEROOTFS="/opt/oglive/rootfs" && echo "OGLIVEROOTFS=$OGLIVEROOTFS" >> $CFGINITRD - #punto de union entre LOCALROOTIMG y LOCALROOTRAM - #export LOCALROOTUNION="/opt/og2fs/unionfs" && echo "LOCALROOTUNION=$LOCALROOTUNION" >> $CFGINITRD - export OGLIVEUNIONFS="/opt/oglive/unionfs" && echo "OGLIVEUNIONFS=$OGLIVEUNIONFS" >> $CFGINITRD - #etiquta para los dispositivos offline - export OGLIVELABEL="ogClient" - - #echo "puntos de montajes para los demas accesos" - #echo "acceso al client, engine, scritps, interfaz" - #export LOCALCLIENTDIR="/opt/opengnsys" && echo "LOCALCLIENTDIR=$LOCALCLIENTDIR" >> $CFGINITRD - export DSTOGSHARE="/opt/opengnsys" && echo "DSTOGSHARE=$DSTOGSHARE" >> $CFGINITRD - #export LOCALLOGDIR="/opt/opengnsys/log" && echo "LOCALLOGDIR=$LOCALLOGDIR" >> $CFGINITRD - export DSTOGLOG="/opt/opengnsys/log" && echo "DSTOGLOG=$DSTOGLOG" >> $CFGINITRD - #export LOCALIMGDIR="/opt/opengnsys/images" && echo "LOCALIMGDIR=$LOCALIMGDIR" >> $CFGINITRD - export DSTOGIMAGES="/opt/opengnsys/images" && echo "DSTOGIMAGES=$DSTOGIMAGES" >> $CFGINITRD - - ##INFORMACION DE OTRAS VARIABLES OBTENDIAS EN OTRAS FUNCIONES ogConfigureNetwork. - #DEVICE - #IPV4DDR - #IPV4BROADCAST - #IPV4NETMASK - #IPV4GATEWAY - #HOSTNAME - #INFORMACION de otras variasbles obteneidas desde ogGetROOTSERVER - #ROOTSERVER si ip=dhcp -> ROOTSERVER=NEXT-SERVER; si ip=host:rootserver:gw:mask:hostname:interfaz -> ROOTSERVER=rootserver - #BOOTIF -> si el gestor remoto es pxelinux.0 y se añade una linea más tipo "IPAPPEND 2" esta variable tendrá la mac de la interfaz. - #$OGSERVERLIVE - #$OGSERVERSHARE - #$OGSERVERLOG - #$OGSERVERIMAGES - return 0 -} - -ogConfigureRamfs () -{ - #mkdir -p $LOCALROOTBOOT - mkdir -p $DSTOGLIVE - #mkdir -p $LOCALROOTRAM - mkdir -p $OGLIVERAMFS - #mkdir -p $LOCALROOTIMG - mkdir -p $OGLIVEROOTFS - #mkdir -p $LOCALROOTUNION - mkdir -p $OGLIVEUNIONFS -} - -ogLoadNetModule () -{ - if [ -n "$ognetmodule" ] - then - echo "Cargando modulo de red $netmodule" - insmod `find /lib/modules/ -name ${netmodule}*` - fi -} - - -ogPostConfigureFS() -{ - # configuramos el /etc/hostname. - echo $HOSTNAME > /etc/hostname - - #configuramos el /etc/hosts - echo "127.0.0.1 localhost" > /etc/hosts - echo "$IPV4ADDR $HOSTNAME" >> /etc/hosts - - #configuramos el host.conf - echo "order hosts,bind" > /etc/host.conf - echo "multi on" >> /etc/host.conf - - #configuramos el dns - echo "nameserver $ogdns" > /etc/resolv.conf - - - # configuramos el /etc/networks - #read -e NETIP NETDEFAULT <<<$(route -n | grep eth0 | awk -F" " '{print $1}') - NETIP=$(route -n | grep eth0 | awk -F" " '{print $1}') && NETIP=$(echo $NETIP | cut -f1 -d" ") - echo "default 0.0.0.0" > /etc/networks - echo "loopback 127.0.0.0" >> /etc/networks - echo "link-local 169.254.0.0" >> /etc/networks - echo "localnet $NETIP" >> /etc/networks - #route - - echo "ogLive1.0.2" > /etc/debian_chroot - - #enlace si iniciamos desde ogprotocolo=local { cdrom, usb, cache } . - # monta el raiz del dispositivo local en /opt/og2fs/tftpboot - acceso al fichero .sqfs - # y monta el sistema root sqfs en /opt/og2fs/2ndfs - #[ "$LOCALMEDIA" == "CACHE" ] && ln -s /opt/oglive/tftpboot /opt/opengnsys/cache - #[ "$ogprotocol" == "local" ] && ln -s /opt/oglive/2ndfs/opt/opengnsys/* /opt/opengnsys/ - [ "$LOCALMEDIA" == "CACHE" ] && ln -s $DSTOGLIVE /opt/opengnsys/cache - [ "$ogprotocol" == "local" ] && ln -s ${OGLIVEROOTFS}/opt/opengnsys/* /opt/opengnsys/ - - -} - - - -#Requiere ogConfigureNetworking. -#Exporta ROOTSERVER -# si la red ha sido configurada con dhcp el valor de ROOTSERVER será el valor de next-server del dhcp -# si la red ha sido configurada con el parametro de kernel ip, será el segundo valor. - ## ip=iphost:ipnext-server:ipgateway:netmask:hostname:iface:none - ## ip=172.17.36.21:62.36.225.150:172.17.36.254:255.255.255.0:prueba1:eth0:none -ogGetROOTSERVER () -{ - # get nfs root from dhcp - if [ "x${NFSROOT}" = "xauto" ]; then - # check if server ip is part of dhcp root-path - if [ "${ROOTPATH#*:}" = "${ROOTPATH}" ]; then - NFSROOT=${ROOTSERVER}:${ROOTPATH} - else - NFSROOT=${ROOTPATH} - fi - - # nfsroot=[:][,] - elif [ -n "${NFSROOT}" ]; then - # nfs options are an optional arg - if [ "${NFSROOT#*,}" != "${NFSROOT}" ]; then - NFSOPTS="-o ${NFSROOT#*,}" - fi - NFSROOT=${NFSROOT%%,*} - if [ "${NFSROOT#*:}" = "$NFSROOT" ]; then - NFSROOT=${ROOTSERVER}:${NFSROOT} - fi - fi - export ROOTSERVER - echo "ROOTSERVER=$ROOTSERVER" >> $CFGINITRD - - #si oglive no oglive=R - export OGSERVERIMAGES="${ogrepo:-$ROOTSERVER}" - export OGSERVERSHARE="${ogshare:-$ROOTSERVER}" - export OGSERVERLOG="${oglog:-$ROOTSERVER}" - export OGSERVERLIVE="${oglive:-$OGSERVERIMAGES}" - - return 0 -} - -#ogConnect -# parm 1 ip servidor TODO:dns -# parm 2 protocolo -# parm 3 punto de acceso remoto -# parm 4 punto de montaje local -# parm 5 acceso de lectura tipo ",ro" -ogConnect () -{ - SERVER=$1 - PROTOCOL=$2 - SRC=$3 - DST=$4 - READONLY=$5 - - case "$PROTOCOL" in - nfs) - nfsmount -o nolock${READONLY} ${SERVER}:${SRC} ${DST} - ;; - smb) - mount.cifs //${SERVER}/${SRC} ${DST} ${OPTIONS}${READONLY} - ;; - esac -} - -ogConnectOgLive () -{ -# Si ogprotocol=local, la funcion ogExportVar => SRCOGLIVE=local - if [ "$SRCOGLIVE" == "local" ] - then - echo "Montar imagen del sistema root desde dispositivo local" - for i in $(blkid /dev/s* | grep $OGLIVELABEL | awk -F: '{print $2}' | tr -d \"); do export $i; done - mount -t $TYPE LABEL=$LABEL $DSTOGLIVE - if [ $? != 0 ] - then - mount -t reiserfs LABEL=CACHE $DSTOGLIVE - export LOCALMEDIA=CACHE - fi - else -# Si ogprotocol es remoto. TODO en smb rw y en nfs ro?? - ogConnect $OGSERVERLIVE $OGPROTOCOL $SRCOGLIVE $DSTOGLIVE - fi -# Si el montaje ha sido correcto, tanto en local como en remoto. Procedemos con la union - ogMergeLive -} - - - -ogMergeLive() -{ -#Si existe en el punto de acceso del del oglive el fichero ogclient.sqfs -if [ -f $DSTOGLIVE/ogclient/ogclient.sqfs ] -then - cat /proc/mounts > /tmp/mtab.preunion - if [ "$og2nd" == "img" ] - then - #Montamos el ROOTFS tipo img, para desarrolladores - losetup /dev/loop0 $DSTOGLIVE/ogclient/ogclient.img -o 32256 - mount /dev/loop0 $OGLIVEROOTFS - else - ## Montamos el ROOTFS tipo squashfs - mount $DSTOGLIVE/ogclient/ogclient.sqfs $OGLIVEROOTFS -t squashfs -o loop - fi -# Realizamos la union entre el ogliveram(initrd) y el ogliverootfs(ogclient.sqfs) - for i in etc var lib bin sbin usr root boot; do - ogUnionLiveDir $i - done - cat /tmp/mtab.preunion > /etc/mtab -else - echo "Fichero imagen del cliente no encontrado" - return 1 -fi -} - - - - -#ogUnionLiveDir -#par 1 el directorio a unir. -# para el parmetro 1 (directorio), -ogUnionLiveDir() -{ - TMPDIR=/$1 #dir - FUSE_OPT="-o default_permissions -o allow_other -o use_ino -o nonempty -o suid" - UNION_OPT="-o cow -o noinitgroups" - UBIN="unionfs-fuse" - - mkdir -p $OGLIVERAMFS$TMPDIR - U1STDIR="${OGLIVERAMFS}${TMPDIR}=RW" - U2NDDIR="${OGLIVEROOTFS}${TMPDIR}=RO" - UNIONDIR=${OGLIVEUNIONFS}${TMPDIR} - mkdir -p $UNIONDIR - $UBIN $FUSE_OPT $UNION_OPT ${U1STDIR}:${U2NDDIR} $UNIONDIR - mount --bind $UNIONDIR $TMPDIR -} - - - - -ogConfigureLoopback() -{ -# for the portmapper we need localhost -ifconfig lo 127.0.0.1 -#/etc/init.d/portmap start -} - -ogConfigureNetworking() -{ -#echo "ogConfigureNetworking: Buscando interfaz a configurar DEVICE" -if [ -n "${BOOTIF}" ] -then - #echo " variable BOOTIF exportada con pxelinux.0 con valor $BOOTIF" - IP=$IPOPTS - temp_mac=${BOOTIF#*-} - # convert to typical mac address format by replacing "-" with ":" - bootif_mac="" - IFS='-' - for x in $temp_mac ; do - if [ -z "$bootif_mac" ]; then - bootif_mac="$x" - else - bootif_mac="$x:$bootif_mac" - fi - done - unset IFS - # look for devices with matching mac address, and set DEVICE to - # appropriate value if match is found. - for device in /sys/class/net/* ; do - if [ -f "$device/address" ]; then - current_mac=$(cat "$device/address") - if [ "$bootif_mac" = "$current_mac" ]; then - DEVICE=${device##*/} - break - fi - fi - done -else - #echo "variable BOOTIF no exportada, intentamos detectar que interfaz se ha iniciado" - IP=$ip - #TODO Detectar que interfaz se ha iniciado - case ${IP} in - none|off) - return 0 - ;; - ""|on|any) - # Bring up device - DEVICE=eth0 - ;; - dhcp|bootp|rarp|both) - DEVICE=eth0 - ;; - *) - DEVICE=`echo $IP | cut -f6 -d:` - ;; - esac -fi -if [ -z "${DEVICE}" ]; then - echo "variable DEVICE con valor $DEVICE no encontrada, llamamos de nuevo a ogconfigure_networking" - ogConfigureNetworking -fi - -[ -n "${DEVICE}" ] && [ -e /tmp/net-"${DEVICE}".conf ] && return 0 -#if [ -n "${DEVICE}" ] && [ -e /tmp/net-"${DEVICE}".conf ]; then -# echo "variable DEVICE con valor $DEVICE y fichero /tmp/net-$DEVICE encontrados" -# return 0 -#else -# echo "variable DEVICE con valor $DEVICE encontrada, procedemos a configurala y a crear el fichero /tmp/net-$DEVICE" -#fi - -# Activamos la interfaz antes de configurar. -ip address flush $DEVICE -ip link set dev $DEVICE up -# Si no se detecta señal portadora volver a configurar. -sleep 1 -CARRIER=$(cat /sys/class/net/${DEVICE}/carrier) -if [ "$CARRIER" != "1" ] -then - ogConfigureNetworking -fi - -# support ip options see linux sources -# Documentation/filesystems/nfsroot.txt -# Documentation/frv/booting.txt -for ROUNDTTT in 2 3 4 6 9 16 25 36 64 100; do - # The NIC is to be configured if this file does not exist. - # Ip-Config tries to create this file and when it succeds - # creating the file, ipconfig is not run again. - if [ -e /tmp/net-"${DEVICE}".conf ]; then - break; - fi - case ${IP} in - none|off) - return 0 - ;; - ""|on|any) - # Bring up device - echo "Setting $DEVICE with option:on|any and Variable IP= $IP: ipconfig -t ${ROUNDTTT} ${DEVICE} " - ipconfig -t ${ROUNDTTT} ${DEVICE} - ;; - dhcp|bootp|rarp|both) - echo "Setting $DEVICE with option:dhcp|bootp|rarp|both and Variable IP= $IP: ipconfig -t ${ROUNDTTT} -c ${IP} -d ${DEVICE} " - ipconfig -t ${ROUNDTTT} -c ${IP} -d ${DEVICE} - ;; - *) - echo "Setting $DEVICE with option * and Variable IP= $IP: ipconfig -t ${ROUNDTTT} -d $IP " - ipconfig -t ${ROUNDTTT} -d $IP - # grab device entry from ip option - NEW_DEVICE=${IP#*:*:*:*:*:*} - if [ "${NEW_DEVICE}" != "${IP}" ]; then - NEW_DEVICE=${NEW_DEVICE%:*} - else - # wrong parse, possibly only a partial string - NEW_DEVICE= - fi - if [ -n "${NEW_DEVICE}" ]; then - DEVICE="${NEW_DEVICE}" - fi - ;; - esac -done - -# source ipconfig output -if [ -n "${DEVICE}" ]; then - . /tmp/net-${DEVICE}.conf - DEVICECFG="/tmp/net-${DEVICE}.conf" - export DEVICECFG - export DEVICE - echo "DEVICE=$DEVICE" >> $CFGINITRD - echo "DEVICECFG=$DEVICECFG" >> $CFGINITRD - echo "exportando variable DEVICE con valor = $DEVICE y el DEVICECFG con valor $DEVICECFG" -else - # source any interface as not exaclty specified - . /tmp/net-*.conf -fi -} - - ##################################################################### -# Ask yesno question. -# -# Usage: yesno OPTIONS QUESTION -# -# Options: -# --timeout N Timeout if no input seen in N seconds. -# --default ANS Use ANS as the default answer on timeout or -# if an empty answer is provided. -# -# Exit status is the answer. 0=yes 1=no - -ogYesNo() -{ - local ans - local ok=0 - local timeout=0 - local default - local t - - while [[ "$1" ]] - do - case "$1" in - --default) - shift - default=$1 - if [[ ! "$default" ]]; then error "Missing default value"; fi - t=$(echo $default | tr '[:upper:]' '[:lower:]') - - if [[ "$t" != 'y' && "$t" != 'yes' && "$t" != 'n' && "$t" != 'no' ]]; then - error "Illegal default answer: $default" - fi - default=$t - shift - ;; - - --timeout) - shift - timeout=$1 - if [[ ! "$timeout" ]]; then error "Missing timeout value"; fi - #if [[ ! "$timeout" =~ ^[0-9][0-9]*$ ]]; then error "Illegal timeout value: $timeout"; fi - shift - ;; - - -*) - error "Unrecognized option: $1" - ;; - - *) - break - ;; - esac - done - - if [[ $timeout -ne 0 && ! "$default" ]]; then - error "Non-zero timeout requires a default answer" - fi - - if [[ ! "$*" ]]; then error "Missing question"; fi - - while [[ $ok -eq 0 ]] - do - if [[ $timeout -ne 0 ]]; then - if ! read -t $timeout -p "$*" ans; then - ans=$default - else - # Turn off timeout if answer entered. - timeout=0 - if [[ ! "$ans" ]]; then ans=$default; fi - fi - else - read -p "$*" ans - if [[ ! "$ans" ]]; then - ans=$default - else - ans=$(echo $ans | tr '[:upper:]' '[:lower:]') - fi - fi - - if [[ "$ans" == 'y' || "$ans" == 'yes' || "$ans" == 'n' || "$ans" == 'no' ]]; then - ok=1 - fi - - if [[ $ok -eq 0 ]]; then warning "Valid answers are: yes y no n"; fi - done - [[ "$ans" = "y" || "$ans" == "yes" ]] -} - - -### # borrar - -ogConectROOTSERVER () -{ -local OPTIONS -#params a detectar -if [ $ogrepo ] -then - # Validar si la ip es correcta - ROOTREPO=$ogrepo -else - ROOTREPO=$ROOTSERVER -fi - -case "$ogprotocol" in - local) - echo "Montar imagen del sistema root desde dispositivo local" - for i in $(blkid /dev/s* | grep ogClient | awk -F: '{print $2}' | tr -d \"); do export $i; done - mount -t $TYPE LABEL=$LABEL $LOCALROOTBOOT - if [ $? != 0 ] - then - mount -t reiserfs LABEL=CACHE $LOCALROOTBOOT - export LOCALMEDIA=CACHE - fi - ;; - httfs) - echo "protocolo httfs aun no soportado" - ;; - sshfs) - echo "protocolo sshfs aun no soportado" - ;; - smb) - echo "Preparando conexión con el Repositorio $ROOTSERVER por $ogprotocol" - OPTIONS=" -o user=opengnsys,pass=og" - mount.cifs //${ROOTSERVER}/${SMBROOTBOOT} $LOCALROOTBOOT $OPTIONS - mount.cifs //${ROOTSERVER}/${SMBCLIENTDIR} $LOCALCLIENTDIR $OPTIONS - mount.cifs //${ROOTSERVER}/${SMBLOGDIR} $LOCALLOGDIR $OPTIONS - - mount.cifs //${ROOTREPO}/${SMBIMGDIR} $LOCALIMGDIR ${OPTIONS},ro - ;; - nfs) - echo "Preparando conexión con el Repositorio $ROOTSERVER por $ogprotocol" - nfsmount -o nolock $ROOTSERVER:$NFSROOTBOOT $LOCALROOTBOOT - nfsmount -o nolock,ro $ROOTSERVER:$NFSCLIENTDIR $LOCALCLIENTDIR - nfsmount -o nolock $ROOTSERVER:$NFSLOGDIR $LOCALLOGDIR - - nfsmount -o nolock,ro $ROOTREPO:$NFSIMGDIR $LOCALIMGDIR - ;; -esac -} - - ogMerge2ndFile() -{ -if [ -f $LOCALROOTBOOT/ogclient/ogclient.sqfs ] -then - cat /proc/mounts > /tmp/mtab.preunion - if [ "$og2nd" == "img" ] - then - #para acceder al img - losetup /dev/loop0 $LOCALROOTBOOT/ogclient/ogclient.img -o 32256 - mount /dev/loop0 $LOCALROOTIMG - else - ## para acceder al squashfs - mount $LOCALROOTBOOT/ogclient/ogclient.sqfs $LOCALROOTIMG -t squashfs -o loop - fi - for i in etc var lib bin sbin usr root boot; do - unionmount $i - done - cat /tmp/mtab.preunion > /etc/mtab -else - echo "Fichero imagen del cliente no encontrado" - return 1 -fi -} - -unionmount() -{ - tmpdir=/$1 #dir - FUSE_OPT="-o default_permissions -o allow_other -o use_ino -o nonempty -o suid" - UNION_OPT="-o cow -o noinitgroups" - UBIN="unionfs-fuse" - #UPATH="/unionfs" - #LOCALROOTIMG="/opt/og2fs/2ndfs" - #LOCALROOTRAM="/opt/og2fs/1stfs" #/unionfs/host #punto de montaje para unionfs - #LOCALROOTUNION=/opt/og2fs/unionfs/" #/unionfs/union #punto de union entreo LOCALROOTIMG y LOCALROOTRAM - #mkdir -p $LOCALROOTRAM #/unionfs/host - #mkdir -p $LOCALROOTUNION #/unionfs/union - mkdir -p $LOCALROOTRAM$tmpdir - #mount --bind /$tmpdir $LOCALROOTRAM$tmpdir - U1STDIR="${LOCALROOTRAM}${tmpdir}=RW" - U2NDDIR="${LOCALROOTIMG}${tmpdir}=RO" - UNIONDIR=$LOCALROOTUNION$tmpdir - mkdir -p $UNIONDIR - $UBIN $FUSE_OPT $UNION_OPT ${U1STDIR}:${U2NDDIR} $UNIONDIR - mount --bind $UNIONDIR $tmpdir -} - - -unionmountOLD() -{ - FUSE_OPT="-o default_permissions -o allow_other -o use_ino -o nonempty -o suid" - UNION_OPT="-o cow -o noinitgroups" - UPATH="/unionfs" - UBIN="unionfs-fuse" - mkdir -p /unionfs/host - mkdir -p /unionfs/union - dir=$1 - mkdir -p /unionfs/host/$dir - #mount --bind /$dir /unionfs/host/$dir - mkdir -p /unionfs/union/$dir - host="/unionfs/host/${dir}=RW" - common="/opt/og2fs/${dir}=RO" - $UBIN $FUSE_OPT $UNION_OPT ${host}:${common} /unionfs/union/$dir - mount --bind /unionfs/union/$dir /$dir -} diff --git a/old/clientstructure/etc/initramfs-tools/scripts/oginit b/old/clientstructure/etc/initramfs-tools/scripts/oginit deleted file mode 100755 index 94226a1..0000000 --- a/old/clientstructure/etc/initramfs-tools/scripts/oginit +++ /dev/null @@ -1,133 +0,0 @@ -# OpenGnsys oginit -*- shell-script -*- - -#@file oginit -#@brief Guion modificador inicio initrd para OpenGnSys -#@warning -#@version 0.1 - basado en ROOTfs -#@author Antonio J. Doblas Viso. Universidad de Málaga -#@date 2009/00/00 -#@version 0.2 - basado en el instalador de ubunto -#@author Alejandro Castillo -#@author Ramón Gómez -#@author Irina -#@author Antonio Doblas -#@date 2010/00/00 -#@version 0.7 - Generación limpia con mkinitrd, busybox -#@author Antonio J. Doblas Viso. Universidad de Málaga. EVLT. -#@date 2010/05/24 -#@version 0.8 - Integración con FileSystem externo -#@author Antonio J. Doblas Viso. Universidad de Málaga. EVLT. -#@date 2010/06/24 -#@version 0.8.1 - UnionFS + squasfs -#@author Antonio J. Doblas Viso. Universidad de Málaga. EVLT. -#@date 2010/06/29 -#@version 1.0. - Adaptacion variables. Corrección enlace red -#@author Antonio J. Doblas Viso. Universidad de Málaga. EVLT. -#@date 2011/06/16 -#*/ - - - - - -# Parameter: Where to mount the filesystem -mountroot () -{ - [ "$quiet" != "y" ] && log_begin_msg "Running OpenGnsys /scripts/og-top" - run_scripts /scripts/og-top - [ "$quiet" != "y" ] && log_end_msg - - # If the root device hasn't shown up yet, give it a little while - # to deal with removable devices - - . /scripts/functions - . /scripts/ogfunctions - - sleep 2 - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before get OG variables: y/N " - [ $? == 0 ] && sh || echo " " - set -a - log_success_msg "Checking kernel parameters" - ogExportKernelParameters - log_success_msg "Checking Opengnys Environmnet" - ogExportVarEnvironment - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before configure ramfs structure for OG: y/N " - [ $? == 0 ] && sh || echo " " - ogConfigureRamfs - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before configure netmoule specified in kernel parameters: y/N " - [ $? == 0 ] && sh || echo " " - ogLoadNetModule - - #[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/og-premount" - #run_scripts /scripts/og-premount - #[ "$quiet" != "y" ] && log_end_msg - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before configure networking: y/N " - [ $? == 0 ] && sh || echo " " - ogConfigureNetworking - log_success_msg "config networking" - ogConfigureLoopback - log_success_msg "config loopback" - - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before detect rootserver: y/N " - [ $? == 0 ] && sh || echo " " - ogGetROOTSERVER && log_success_msg "Get Info from pxe server and ckeck distribuited OG services " - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect and merging the rootfs -ogLive- : y/N " - [ $? == 0 ] && sh || echo " " - ogConnectOgLive && log_success_msg "Merge the initrd with the remote rootfs -ogLive-" || sh - # si es necesario realiza ogConnect $OGSERVERLIVE $OGPROTOCOL $SRCOGLIVE $DSTOGLIVE - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect with client dir SHARE -engine,scripts,interface, -share- : y/N " - [ $? == 0 ] && sh || echo " " - ogConnect $OGSERVERSHARE $OGPROTOCOL $SRCOGSHARE $DSTOGSHARE - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect with client dir LOG STORAGE : y/N " - [ $? == 0 ] && sh || echo " " - ogConnect $OGSERVERLOG $OGPROTOCOL $SRCOGLOG $DSTOGLOG - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect with REPOSITORY STORAGE : y/N " - [ $? == 0 ] && sh || echo " " - ogConnect $OGSERVERIMAGES $OGPROTOCOL $SRCOGIMAGES $DSTOGIMAGES - - - - #[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before conect with og Services : y/N " - #[ $? == 0 ] && sh || echo " " - #ogConectROOTSERVER && log_success_msg "Conecting with og services" || sh - - - #[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before merge the Second File System with initrd (First File System) : y/N " - #[ $? == 0 ] && sh || echo " " - #ogMerge2ndFile && log_success_msg "Merge onto Second File System" - - - ####[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/og-bottom" - ####run_scripts /scripts/og-bottom - ####[ "$quiet" != "y" ] && log_end_msg - - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before doing the postconfiguration: y/N " - [ $? == 0 ] && sh || echo " " - ogPostConfigureFS - setupcon -k - - [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before calling oginit with /etc/inittab: y/N " - [ $? == 0 ] && sh || echo " " - -if [ "$oginit" ] -then - exec $oginit -else - exec init -fi - - - - - -} diff --git a/old/clientstructure/etc/inittab b/old/clientstructure/etc/inittab deleted file mode 100644 index 6d3277f..0000000 --- a/old/clientstructure/etc/inittab +++ /dev/null @@ -1,14 +0,0 @@ -# This is run first except when booting in single-user mode -# -#::sysinit:/opt/opengnsys/etc/preinit/defaultTESTING.sh -# /bin/sh invocations on selected ttys -# -# Start an "askfirst" shell on the console (whatever that may be) -#::askfirst:/bin/sh -# Start an "askfirst" shell on /dev/tty2-4 -#tty1::respawn:/sbin/getty 38400 tty1 -tty1::respawn:/opt/opengnsys/etc/preinit/default.sh -tty2::respawn:/sbin/getty 38400 tty2 -tty3::respawn:/sbin/getty 38400 tty3 -tty4::respawn:/sbin/getty 38400 tty4 -tty5::respawn:/sbin/getty 38400 tty5 diff --git a/old/clientstructure/etc/modprobe.d/blacklist-framebuffer.conf b/old/clientstructure/etc/modprobe.d/blacklist-framebuffer.conf deleted file mode 100644 index 8b047e4..0000000 --- a/old/clientstructure/etc/modprobe.d/blacklist-framebuffer.conf +++ /dev/null @@ -1,30 +0,0 @@ -# Framebuffer drivers are generally buggy and poorly-supported, and cause -# suspend failures, kernel panics and general mayhem. For this reason we -# never load them automatically. -blacklist aty128fb -blacklist atyfb -#blacklist radeonfb -blacklist cirrusfb -blacklist cyber2000fb -blacklist cyblafb -blacklist gx1fb -blacklist hgafb -blacklist i810fb -blacklist intelfb -blacklist kyrofb -blacklist lxfb -blacklist matroxfb_base -blacklist neofb -blacklist nvidiafb -blacklist pm2fb -blacklist rivafb -blacklist s1d13xxxfb -blacklist savagefb -blacklist sisfb -blacklist sstfb -blacklist tdfxfb -blacklist tridentfb -#blacklist vesafb -blacklist vfb -blacklist viafb -blacklist vt8623fb diff --git a/old/clientstructure/etc/mtab b/old/clientstructure/etc/mtab deleted file mode 100644 index e69de29..0000000 diff --git a/old/clientstructure/etc/network/interfaces b/old/clientstructure/etc/network/interfaces deleted file mode 100644 index dbe4358..0000000 --- a/old/clientstructure/etc/network/interfaces +++ /dev/null @@ -1,4 +0,0 @@ -auto lo -iface lo inet loopback -auto eth0 -iface eth0 inet dhcp \ No newline at end of file diff --git a/old/clientstructure/etc/profile.d/loadenviron.sh b/old/clientstructure/etc/profile.d/loadenviron.sh deleted file mode 100755 index f7dc8dd..0000000 --- a/old/clientstructure/etc/profile.d/loadenviron.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash - -### NOTA este archivo se sobreescribe al conectarse con el ogSHARE - - - - -#/** -#@file loadenviron.sh -#@brief Script de carga de la API de funciones de OpenGNSys. -#@warning License: GNU GPLv3+ -#@version 0.9 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2009-10-10 -#*/ - - GLOBAL="cat /proc/cmdline" - for i in `${GLOBAL}` - do - echo $i | grep "=" > /dev/null && export $i - done - - -# FIXME Temporal -export LANG="${LANG:-es_ES}" - -#/// Directorios del projecto OpenGNSys. -export OPENGNSYS="${OPENGNSYS:-/opt/opengnsys}" -if [ -d $OPENGNSYS ]; then - export OGBIN=$OPENGNSYS/bin - export OGETC=$OPENGNSYS/etc - export OGLIB=$OPENGNSYS/lib - export OGAPI=$OGLIB/engine/bin - export OGSCRIPTS=$OPENGNSYS/scripts - export OGIMG=$OPENGNSYS/images - export OGCAC=$OPENGNSYS/cache - export OGLOG=$OPENGNSYS/log - -# export PATH=$OGBIN:$OGAPI:$OGSCRIPTS:$PATH - # export LD_LIBRARY_PATH=$OGLIB:$LD_LIBRARY_PATH - - #/// Cargar fichero de idioma. - LANGFILE=$OGETC/lang.$LANG.conf - if [ -f $LANGFILE ]; then - source $LANGFILE - #for i in $(grep "^[a-zA-Z].*=" $LANGFILE | cut -f1 -d=); do - for i in $(awk -F= '{if (NF==2) print $1}' $LANGFILE); do - export $i - done - fi - #/// Cargar API de funciones. - echo "$MSG_LOADAPI" - for i in $OGAPI/*.lib; do - source $i - done - for i in $(typeset -F | cut -f3 -d" "); do - export -f $i - done - # Carga de las API testing - if [ "$engine" = "testing" ] - then - for i in $OGAPI/*.testing; do - source $i - done - fi - - source /tmp/net-eth* 2>/dev/null - - # Añadir dependencia de arquitectura - ARCH=$(ogGetArch) - if [ -n "$ARCH" ]; then - # export PATH=$OGBIN/$ARCH:$PATH - # export LD_LIBRARY_PATH=$OGLIB/$ARCH:$LD_LIBRARY_PATH - export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin:/opt/oglive/rootfs/opt/drbl/sbin - export PATH=$OGSCRIPTS:$PATH:$OGAPI:$OGBIN:$OGBIN/$ARCH - fi - # Fichero de registros. - export OGLOGFILE="$OGLOG/$(ogGetIpAddress).log" - # FIXME Pruebas para grupos de ordenadores - #export OGGROUP=$(ogGetGroup) - export OGGROUP=aula3 -fi - -#/// Declaración de códigos de error. -export OG_ERR_FORMAT=1 # Formato de ejecución incorrecto. -export OG_ERR_NOTFOUND=2 # Fichero o dispositivo no encontrado. -export OG_ERR_PARTITION=3 # Error en partición de disco. -export OG_ERR_LOCKED=4 # Partición o fichero bloqueado. -export OG_ERR_IMAGE=5 # Error al crear o restaurar una imagen. -export OG_ERR_NOTOS=6 # Sin sistema operativo. -export OG_ERR_NOTEXEC=7 # Programa o función no ejecutable. - - diff --git a/old/clientstructure/etc/ssh/ssh_config b/old/clientstructure/etc/ssh/ssh_config deleted file mode 100644 index 7f9319d..0000000 --- a/old/clientstructure/etc/ssh/ssh_config +++ /dev/null @@ -1,56 +0,0 @@ - -# This is the ssh client system-wide configuration file. See -# ssh_config(5) for more information. This file provides defaults for -# users, and the values can be changed in per-user configuration files -# or on the command line. - -# Configuration data is parsed as follows: -# 1. command line options -# 2. user-specific file -# 3. system-wide file -# Any configuration value is only changed the first time it is set. -# Thus, host-specific definitions should be at the beginning of the -# configuration file, and defaults at the end. - -# Site-wide defaults for some commonly used options. For a comprehensive -# list of available options, their meanings and defaults, please see the -# ssh_config(5) man page. - -Host * -# ForwardAgent no -# ForwardX11 no -# ForwardX11Trusted yes -# RhostsRSAAuthentication no -# RSAAuthentication yes -# PasswordAuthentication yes - HostbasedAuthentication no -# GSSAPIAuthentication no -# GSSAPIDelegateCredentials no -# GSSAPIKeyExchange no -# GSSAPITrustDNS no -# BatchMode no -# CheckHostIP yes -# AddressFamily any -# ConnectTimeout 0 -# StrictHostKeyChecking ask -# IdentityFile ~/.ssh/identity -# IdentityFile ~/.ssh/id_rsa -# IdentityFile ~/.ssh/id_dsa -# Port 22 -# Protocol 2,1 -# Cipher 3des -# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc -# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160 -# EscapeChar ~ -# Tunnel no -# TunnelDevice any:any -# PermitLocalCommand no -# VisualHostKey no - SendEnv LANG LC_* -# HashKnownHosts yes - GSSAPIAuthentication yes - GSSAPIDelegateCredentials no - - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - diff --git a/old/clientstructure/etc/ssh/sshd_config b/old/clientstructure/etc/ssh/sshd_config deleted file mode 100644 index 8090068..0000000 --- a/old/clientstructure/etc/ssh/sshd_config +++ /dev/null @@ -1,86 +0,0 @@ -# Package generated configuration file -# See the sshd_config(5) manpage for details - -# What ports, IPs and protocols we listen for -Port 22 -# Use these options to restrict which interfaces/protocols sshd will bind to -#ListenAddress :: -#ListenAddress 0.0.0.0 -Protocol 2 -# HostKeys for protocol version 2 -HostKey /etc/ssh/ssh_host_rsa_key -HostKey /etc/ssh/ssh_host_dsa_key -#Privilege Separation is turned on for security -UsePrivilegeSeparation no - -# Lifetime and size of ephemeral version 1 server key -KeyRegenerationInterval 3600 -ServerKeyBits 768 - -# Logging -SyslogFacility AUTH -LogLevel INFO - -# Authentication: -LoginGraceTime 120 -PermitRootLogin yes -StrictModes yes - -RSAAuthentication yes -PubkeyAuthentication yes -#AuthorizedKeysFile %h/.ssh/authorized_keys - -# Don't read the user's ~/.rhosts and ~/.shosts files -IgnoreRhosts yes -# For this to work you will also need host keys in /etc/ssh_known_hosts -RhostsRSAAuthentication no -# similar for protocol version 2 -HostbasedAuthentication no -# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication -#IgnoreUserKnownHosts yes - -# To enable empty passwords, change to yes (NOT RECOMMENDED) -PermitEmptyPasswords no - -# Change to yes to enable challenge-response passwords (beware issues with -# some PAM modules and threads) -ChallengeResponseAuthentication no - -# Change to no to disable tunnelled clear text passwords -#PasswordAuthentication yes - -# Kerberos options -#KerberosAuthentication no -#KerberosGetAFSToken no -#KerberosOrLocalPasswd yes -#KerberosTicketCleanup yes - -# GSSAPI options -#GSSAPIAuthentication no -#GSSAPICleanupCredentials yes - -X11Forwarding yes -X11DisplayOffset 10 -PrintMotd no -PrintLastLog yes -TCPKeepAlive yes -#UseLogin no - -#MaxStartups 10:30:60 -#Banner /etc/issue.net - -# Allow client to pass locale environment variables -AcceptEnv LANG LC_* - -Subsystem sftp /usr/lib/openssh/sftp-server - -# Set this to 'yes' to enable PAM authentication, account processing, -# and session processing. If this is enabled, PAM authentication will -# be allowed through the ChallengeResponseAuthentication and -# PasswordAuthentication. Depending on your PAM configuration, -# PAM authentication via ChallengeResponseAuthentication may bypass -# the setting of "PermitRootLogin without-password". -# If you just want the PAM account and session checks to run without -# PAM authentication, then enable this but set PasswordAuthentication -# and ChallengeResponseAuthentication to 'no'. -UsePAM yes diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/box.png b/old/clientstructure/lib/plymouth/themes/opengnsys/box.png deleted file mode 100644 index 54876e68097e45b215f6f4c4ab2f1c06c5bd1e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 870 zcmeAS@N?(olHy`uVBq!ia0y~yU{nIK{W#cwWXpePWgsP4;u=vBoS#-wo>-L1;Fyx1 zl&avFo0y&&l$w}QS$HzlhJk^Z!_&nvq~g|_Tl@W`(W@UmTf#;@V6`wU#Lhm4Z}sF0SlKS+*^aA-R3`>*{yeueW-)S*X4G@YAFJoyCWu z!{O)Wo_xLQ+`LKbFZ(4ABrTh`(q3?m&E9!O)NP+RvD74Xyi)P_S~F#t;;ilfL3MHE z1W&=NWnIR?iwip@ariP_*|lfSpSt|~_sjj3f8KO8Ywhm&2b4~2+9S``ULO}9zu(%z z;>Y5hQ&=)(7Mr-7-7@Rt_uuQw%gS~={Np^M{fA?Nt4VAm@8-(l;>)-1-mMj$9dwNE zs;kh#k7^}_g&z-p`}S>h!9D(Bb*BT<^;|cq{#~Z~{Q2|yM=gBg{-4?NKQi;#zkmOx zZ{4~z@lFfFw9H%si9HeV@&8Td*dJTj{p0k@#gWS|-{d(y@i(hYb7IDsusa>g;+xL4 zYv^}9authLV$_Kgm7aXQU1M*+4*vt;2AAiV*!&CU_z{&>mCVfaPyDrDg8-uwi-HS~ z;t*7DVQ^yMpuf;Xm%BcZ)8tvXD%2`NL!T}&&+K@Wvg%+$fplN)ckT+d)#c^o^`>h* zZwD{A9bmkC`SSeNyZ$ZHoL~R;T$Q`K`}^lgA+5SAv%;3@@F(>|6^2dHd{hy_Y>$j+1|*LJgQL70(Y)*K0-AbW|YuPgfvR&ibisYAN^<^qKzOI#yLobz*Y zQ}ap~oQqNuOHxx5$}>wc6x=<11Hv2m#DR*MJzX3_IIgFjR^&V6AmV!Q_wRJ6LmW34 znHsgWak)B$AJ!7^5Nk?e+#tro#B%V0Ns5)canps#F`p+b*D-JWUhMeijlpfFiwjbh zMBQ(>SmO5GilH(7+*?s^-fP$Yc%QU>aa@7NQ$s^NorP`XevOTJ4}URe9e945Gg_AQ hf(=Uo-<{$bMlnJ8;KFCe<^i3<;OXk;vd$@?2>{z1VZs0a diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/entry.png b/old/clientstructure/lib/plymouth/themes/opengnsys/entry.png deleted file mode 100644 index a9f4157bae425326464c7130dfb85e437359443e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^CxBRvgAGV#+6S%yQjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sf4R$$E35nfDSDpe2-Sc#D45_&F z_Kq*tAp?Pii!(1tb2NS5Kb!j_Ut!?Z$+zSSRDaxC#C@05PL1}J5zR6}cr;r44xR9FkL qFflPUHaI+RU-JJMt1!#HPYhL8_&yvFF4F`0l)=;0&t;ucLK6T-)Pey3 diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/lock.png b/old/clientstructure/lib/plymouth/themes/opengnsys/lock.png deleted file mode 100644 index a0f8c12fb820f24da66b7f9c5fcbbd44b0d3514b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1896 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 diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.plymouth b/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.plymouth deleted file mode 100644 index a974b70..0000000 --- a/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.plymouth +++ /dev/null @@ -1,11 +0,0 @@ -[Plymouth Theme] -Name=Script -Description=Script example plugin. -ModuleName=script - -[script] -ImageDir=/lib/plymouth/themes/opengnsys -ScriptFile=/lib/plymouth/themes/opengnsys/opengnsys.script - -[script-env-vars] -example_env_var=example env var value diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.png b/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.png deleted file mode 100644 index c87ca25e9f17ea8e017ccb360d4a31265b4e616b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13331 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 diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.script b/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.script deleted file mode 100644 index dc0c854..0000000 --- a/old/clientstructure/lib/plymouth/themes/opengnsys/opengnsys.script +++ /dev/null @@ -1,203 +0,0 @@ -# This is an example plymouth plugin script - -Window.SetBackgroundTopColor(0, 0, 0); -Window.SetBackgroundBottomColor(0, 0, 0); - -#logo.image = Image("special://logo"); -logo.image = Image ("opengnsys.png"); -logo.sprite = Sprite(logo.image); -logo.opacity_angle = 0; - -fun refresh_callback () - { - if (status == "normal") - { - logo.opacity_angle += ((2 * 3.14) / 50) * 0.5; # 0.5 HZ - min_opacity = 0.3; - opacity = (Math.Cos(logo.opacity_angle) + 1) / 2; - opacity *= 1 - min_opacity; - opacity += min_opacity; - logo.sprite.SetX (Window.GetX() + Window.GetWidth() / 2 - logo.image.GetWidth() / 2); - logo.sprite.SetY (Window.GetY() + Window.GetHeight() / 2 - logo.image.GetHeight() / 2); - logo.sprite.SetOpacity (opacity); - } - else - { - logo.sprite.SetX (0); - logo.sprite.SetY (0); - logo.sprite.SetOpacity (1); - } - } - -Plymouth.SetRefreshFunction (refresh_callback); - -#----------------------------------------- Dialogue -------------------------------- - -status = "normal"; - -fun dialog_setup() - { - local.box; - local.lock; - local.entry; - - box.image = Image("box.png"); - lock.image = Image("lock.png"); - entry.image = Image("entry.png"); - - box.sprite = Sprite(box.image); - box.x = Window.GetX() + Window.GetWidth() / 2 - box.image.GetWidth ()/2; - box.y = Window.GetY() + Window.GetHeight() / 2 - box.image.GetHeight()/2; - box.z = 10000; - box.sprite.SetPosition(box.x, box.y, box.z); - - lock.sprite = Sprite(lock.image); - lock.x = box.x + box.image.GetWidth()/2 - (lock.image.GetWidth() + entry.image.GetWidth()) / 2; - lock.y = box.y + box.image.GetHeight()/2 - lock.image.GetHeight()/2; - lock.z = box.z + 1; - lock.sprite.SetPosition(lock.x, lock.y, lock.z); - - entry.sprite = Sprite(entry.image); - entry.x = lock.x + lock.image.GetWidth(); - entry.y = box.y + box.image.GetHeight()/2 - entry.image.GetHeight()/2; - entry.z = box.z + 1; - entry.sprite.SetPosition(entry.x, entry.y, entry.z); - - global.dialog.box = box; - global.dialog.lock = lock; - global.dialog.entry = entry; - global.dialog.bullet_image = Image("bullet.png"); - dialog_opacity (1); - } - -fun dialog_opacity(opacity) - { - dialog.box.sprite.SetOpacity (opacity); - dialog.lock.sprite.SetOpacity (opacity); - dialog.entry.sprite.SetOpacity (opacity); - for (index = 0; dialog.bullet[index]; index++) - { - dialog.bullet[index].sprite.SetOpacity(opacity); - } - } - -fun display_normal_callback () - { - global.status = "normal"; - if (global.dialog) - dialog_opacity (0); - } - -fun display_password_callback (prompt, bullets) - { - global.status = "password"; - if (!global.dialog) - dialog_setup(); - else - dialog_opacity(1); - for (index = 0; dialog.bullet[index] || index < bullets; index++) - { - if (!dialog.bullet[index]) - { - dialog.bullet[index].sprite = Sprite(dialog.bullet_image); - dialog.bullet[index].x = dialog.entry.x + index * dialog.bullet_image.GetWidth(); - dialog.bullet[index].y = dialog.entry.y + dialog.entry.image.GetHeight() / 2 - dialog.bullet_image.GetHeight() / 2; - dialog.bullet[index].z = dialog.entry.z + 1; - dialog.bullet[index].sprite.SetPosition(dialog.bullet[index].x, dialog.bullet[index].y, dialog.bullet[index].z); - } - if (index < bullets) - dialog.bullet[index].sprite.SetOpacity(1); - else - dialog.bullet[index].sprite.SetOpacity(0); - } - } - -Plymouth.SetDisplayNormalFunction(display_normal_callback); -Plymouth.SetDisplayPasswordFunction(display_password_callback); - -#----------------------------------------- Progress Bar -------------------------------- - -progress_box.original_image = Image("progress_box.png"); -progress_box.image = progress_box.original_image.Scale(Window.GetWidth (), progress_box.original_image.GetHeight()); -progress_box.sprite = Sprite(progress_box.image); - -progress_box.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2; -progress_box.y = Window.GetY() + Window.GetHeight() - progress_box.image.GetHeight(); -progress_box.sprite.SetPosition(progress_box.x, progress_box.y, 0); - -progress_bar.original_image = Image("progress_bar.png"); -progress_bar.image = progress_bar.original_image.Scale(0, progress_box.image.GetHeight()); -progress_bar.sprite = Sprite(); - -progress_bar.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2; -progress_bar.y = Window.GetY() + Window.GetHeight() - progress_box.image.GetHeight(); -progress_bar.sprite.SetPosition(progress_bar.x, progress_bar.y, 1); - -fun progress_callback (duration, progress) - { - if (progress_bar.image.GetWidth () != Math.Int (progress_bar.original_image.GetWidth () * progress)) - { - progress_bar.image = progress_bar.original_image.Scale(progress_box.image.GetWidth(progress_box.image) * progress, progress_box.image.GetHeight()); - progress_bar.sprite.SetImage (progress_bar.image); - } - } - -Plymouth.SetBootProgressFunction(progress_callback); - -#----------------------------------------- Quit -------------------------------- - -fun quit_callback () -{ - logo.sprite.SetOpacity (1); -} - -Plymouth.SetQuitFunction(quit_callback); - -#----------------------------------------- Message -------------------------------- - -message_sprite = Sprite(); -message_sprite.SetPosition(10, 10, 10000); - -fun message_callback (text) -{ - my_image = Image.Text(text, 0.6, 0.6, 0.6); - message_sprite.SetImage(my_image); - message_sprite.SetX(Window.GetWidth () / 2 - my_image.GetWidth() / 2); - message_sprite.SetY((Window.GetHeight () * 0.7) - (2 * my_image.GetHeight())); - message.sprite.SetZ(11); -} - -Plymouth.SetMessageFunction(message_callback); - - -#----------------------------------------- Status Update -------------------------------- - -statusupdate_sprite = Sprite(); - -fun StringLength(string) { - - index = 0; - str = String(string); - while(str.CharAt(index)) index++; - return index; -} - -fun status_callback (text) -{ - // Truncate the message if too long - if (StringLength(text) > (Window.GetHeight () / 4 )) { - text = text.SubString(0, (Window.GetHeight () / 4 ) - 3); - text += "..."; - } - - my_image = Image.Text(text, 0.4, 0.4, 0.4); - statusupdate_sprite.SetPosition(10, 10 + (i * 20), 10000); - statusupdate_sprite.SetImage(my_image); - statusupdate_sprite.SetX(Window.GetWidth () / 2 - my_image.GetWidth() / 2); - statusupdate_sprite.SetY((Window.GetHeight () * 0.7) - my_image.GetHeight()); - statusupdate.sprite.SetZ(11); -} - -Plymouth.SetUpdateStatusFunction(status_callback); - - diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/progress_bar.png b/old/clientstructure/lib/plymouth/themes/opengnsys/progress_bar.png deleted file mode 100644 index fad2e3f9f1d375ea8c65d5e54625e2b18e5e2065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0y~yV2S{;B{$-P%iKyl z!jP==aC!f!H|z`tX6iFCG#q4NFaSD}jhlg?nUx`70|Nt(7?^t?fssK%2h1f&(Hh34 XHB5`H1-wcHx`Dyd)z4*}Q$iB}v)D%Y diff --git a/old/clientstructure/lib/plymouth/themes/opengnsys/progress_box.png b/old/clientstructure/lib/plymouth/themes/opengnsys/progress_box.png deleted file mode 100644 index bdc029e155fa167d57d40a7afce532b3b5947714..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0y~yV2S{;B{zopr09n~bRR910 diff --git a/old/clientstructure/root/CompileSoftware.sh b/old/clientstructure/root/CompileSoftware.sh deleted file mode 100755 index 40d9e8a..0000000 --- a/old/clientstructure/root/CompileSoftware.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -################################################################ -##################### SOFTWARE ##################### -################################################################ -export LANGUAGE=C -export LC_ALL=C -export LANG=C - -#dpkg-divert --local --rename --add /sbin/initctl -#ln -s /bin/true /sbin/initctl - -apt-get -y update -# software to compile code -apt-get -y --force-yes install build-essential libattr* attr make m4 gettext libmhash-dev gdebi-core gawk - -source /opt/opengnsys/lib/engine/bin/ToolsGNU.c - -#TODO: comprobar si esta instalado. -ctorrent install - -#TODO: comprobar si esta instalado. -udpcast install - -#ntfs-3g install - -#TODO: comprobar si esta instalado. -ms-sys install - -#TODO: comprobar si esta instalado. -wget -O partclone_0.2.16_i386.deb http://downloads.sourceforge.net/project/partclone/stable/0.2.16/partclone_0.2.16_i386.deb?use_mirror=ovh -gdebi -n partclone_0.2.16_i386.deb - -#TODO: comprobar si esta instalado. -cd /tmp -wget http://damien.guibouret.free.fr/savepart.zip -unzip savepart.zip -d /sbin/ - - diff --git a/old/clientstructure/root/ConfFS.sh b/old/clientstructure/root/ConfFS.sh deleted file mode 100755 index 3e0f4b5..0000000 --- a/old/clientstructure/root/ConfFS.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -dpkg-divert --local --rename --add /sbin/initctl -ln -s /bin/true /sbin/initctl -#mv /etc/fstab /etc/fstab.original 2>/dev/null -#mv /etc/mtab /etc/mtab.original 2>/dev/null - -#TODO: fichero etc/hosts -#TODO: fichero etc/resolv.conf -echo "ogClient" > /etc/hostname - -#export PASSROOT=og -#dpkg-reconfigure passwd -#echo "root:$PASSROOT" | chpasswd - - -#for i in pts/0 pts/1 pts/2 pts/3 do -# -# -#done -#TODO: introducir mas consoluas para el acceso como root. -echo "pts/0" >> /etc/securetty -echo "pts/1" >> /etc/securetty -echo "pts/2" >> /etc/securetty -echo "pts/3" >> /etc/securetty \ No newline at end of file diff --git a/old/clientstructure/root/GenerateGraphicBoot.sh b/old/clientstructure/root/GenerateGraphicBoot.sh deleted file mode 100644 index b12eeb2..0000000 --- a/old/clientstructure/root/GenerateGraphicBoot.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -#TODO Comprobar si esta los source. - -#svn checkout http://www.opengnsys.es/svn/branches/version1.0/client /tmp/opengnsys_installer/opengnsys/client/; -#svn checkout http://www.opengnsys.es/svn/branches/version2/ /tmp/opengnsys_installer/opengnsys2 -find /tmp/opengnsys_installer/ -name .svn -type d -exec rm -fr {} \; 2>/dev/null; - -#plymouth -apt-get install plymouth plymouth-theme-script - - -#plymoutyh -update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/opengnsys/opengnsys.plymouth 100 -update-alternatives --set default.plymouth /lib/plymouth/themes/opengnsys/opengnsys.plymouth - -mkdir -p /etc/initramfs-tools/conf.d -echo "FRAMEBUFFER=y" > /etc/initramfs-tools/conf.d/splash \ No newline at end of file diff --git a/old/clientstructure/root/GenerateInitrd.generic.sh b/old/clientstructure/root/GenerateInitrd.generic.sh deleted file mode 100755 index eaeb475..0000000 --- a/old/clientstructure/root/GenerateInitrd.generic.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -export OSDISTRIB=$(lsb_release -i | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null -#OSCODENAME=$(lsb_release -c | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null -export OSCODENAME=$(cat /etc/lsb-release | grep CODENAME | awk -F= '{print $NF}') -export OSRELEASE=$(uname -a | awk '{print $3}') -uname -a | grep x86_64 > /dev/null && export OSARCH=amd64 || export OSARCH=i386 -export OSHTTP="http://es.archive.ubuntu.com/ubuntu/" - - - -cd /usr/lib/initramfs-tools/bin/ -rm * -cp /bin/busybox ./ -cd /tmp/ -mkinitramfs -o /tmp/initrd.img-$OSRELEASE -v $OSRELEASE -cp /boot/vmlinuz-$OSRELEASE /tmp \ No newline at end of file diff --git a/old/clientstructure/root/InstallSoftware.sh b/old/clientstructure/root/InstallSoftware.sh deleted file mode 100755 index 9472fef..0000000 --- a/old/clientstructure/root/InstallSoftware.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -################################################################ -##################### SOFTWARE ##################### -################################################################ -export LANGUAGE=C -export LC_ALL=C -export LANG=C - -export OSDISTRIB=$(lsb_release -i | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null -#OSCODENAME=$(lsb_release -c | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null -export OSCODENAME=$(cat /etc/lsb-release | grep CODENAME | awk -F= '{print $NF}') -export OSRELEASE=$(uname -a | awk '{print $3}') -uname -a | grep x86_64 > /dev/null && export OSARCH=amd64 || export OSARCH=i386 -export OSHTTP="http://es.archive.ubuntu.com/ubuntu/" - - - -dpkg-divert --local --rename --add /sbin/initctl -ln -s /bin/true /sbin/initctl - -apt-get clean -apt-get -y update - - -# software system -apt-get -y --force-yes install linux-image-${OSRELEASE} linux-headers-${OSRELEASE} linux-image-$RELEASE wget dialog man-db htop fbset gdebi-core busybox-static - -apt-get -y --force-yes install console-data locales - -# sofware networking -apt-get -y --force-yes install netpipes nfs-common sshfs smbfs smbclient davfs2 unionfs-fuse open-iscsi nmap tcpdump arping dnsutils - -apt-get clean -# software services -apt-get -y --force-yes install openssh-server bittornado trickle iptraf screen schroot grub lighttpd - -# software disk and filesystem -apt-get -y --force-yes install drbl-ntfsprogs ntfsprogs parted ntfs-3g dosfstools -apt-get -y --force-yes install dmraid dmsetup lvm2 e2fsprogs jfsutils reiserfsprogs xfsprogs unionfs-fuse mhddfs squashfs-tools -apt-get -y --force-yes install hfsplus hfsprogs hfsutils nilfs-tools reiser4progs ufsutils - -#btrfs-tools - -# software cloning -apt-get -y --force-yes install drbl-partimage fsarchiver pv kexec-tools -apt-get -y --force-yes install mbuffer - -#monitor -apt-get install bwbar bmon iftop ifstat dstat hdparm sdparm blktool testdisk ssmping mii-diag - -## software postconf -apt-get -y --force-yes install drbl-chntpw chntpw ethtool lshw gawk subversion - -# software compressor -apt-get -y --force-yes install lzma zip unzip gzip lzop drbl-lzop pigz pbzip2 lbzip2 rzip p7zip-full unzip - - -#compatibilidad og2 -apt-get install python-openssl python - - - -apt-get -y --force-yes remove busybox -apt-get -y --force-yes install busybox-static bash-static -apt-get clean -#apt-get -y --force-yes xorg-dev xorg lxde roxterm -# -#################################################################### -###################### Reconfigurando paquetes ###################### -################################################################### - - -#dpkg-reconfigure console-data -#dpkg-reconfigure console-setup -#dpkg-reconfigure locales -apt-get clean -##TODO################# Borrar algunos binarios del mkinitramfs - - diff --git a/old/clientstructure/root/ReconfigureLocales.sh b/old/clientstructure/root/ReconfigureLocales.sh deleted file mode 100755 index 5480d14..0000000 --- a/old/clientstructure/root/ReconfigureLocales.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -dpkg-reconfigure console-data -dpkg-reconfigure console-setup -dpkg-reconfigure locales \ No newline at end of file diff --git a/old/clientstructure/root/generateSshKeysClient.sh b/old/clientstructure/root/generateSshKeysClient.sh deleted file mode 100755 index 9857ad4..0000000 --- a/old/clientstructure/root/generateSshKeysClient.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -echo "comprobando directorio .ssh del root" -if [ ! -d /root/.ssh ] -then - echo "creando directorio .ssh 600" - mkdir -p /root/.ssh - chmod 700 /root/.ssh -fi - - -echo "comprobando el fichero authorized_keys .ssh del root" -if [ ! -f /root/.ssh/authorized_keys ] -then - echo "creando el fichero authorized_keys" - touch /root/.ssh/authorized_keys - chmod 600 /root/.ssh/authorized_keys -fi - -ssh-keygen -q -f /root/.ssh/id_rsa -N "" -cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys - -## TODO: exportamos la publica a los repos -cp /root/.ssh/id_rsa.pub /tmp/rsa.ogclient.pub \ No newline at end of file diff --git a/old/clientstructure/root/importSVNboot-tools.sh b/old/clientstructure/root/importSVNboot-tools.sh deleted file mode 100644 index 9321c9f..0000000 --- a/old/clientstructure/root/importSVNboot-tools.sh +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/bash -#TODO Comprobar si esta los source. - -#svn checkout http://www.opengnsys.es/svn/branches/version1.0/client /tmp/opengnsys_installer/opengnsys/client/; -#svn checkout http://www.opengnsys.es/svn/branches/version2/ /tmp/opengnsys_installer/opengnsys2 -find /tmp/opengnsys_installer/ -name .svn -type d -exec rm -fr {} \; 2>/dev/null; - - -SVNCLIENTDIR=/tmp/opengnsys_installer/opengnsys/client/boot-tools -SVNCLIENTSTRUCTURE=/tmp/opengnsys_installer/opengnsys/client/shared -SVNCLIENTENGINE=/tmp/opengnsys_installer/opengnsys/client/engine -SVNOG2=/tmp/opengnsys_installer/opengnsys2 - -OGCLIENTMOUNT="" - -#ogClientOsInfo host -#ogClientOsInfo $1 -#1 la salida de ogClientOsInfo -OSDISTRIB=$(lsb_release -i | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null -#OSCODENAME=$(lsb_release -c | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null -OSCODENAME=$(cat /etc/lsb-release | grep CODENAME | awk -F= '{print $NF}') -OSRELEASE=$(uname -a | awk '{print $3}') -uname -a | grep x86_64 > /dev/null && export OSARCH=amd64 || export OSARCH=i386 -OSHTTP="http://es.archive.ubuntu.com/ubuntu/" -echo $OSDISTRIB:$OSCODENAME:$OSRELEASE:$OSARCH:$OSHTTP - -LERROR=TRUE - -echo "$FUNCNAME: Iniciando la personalización con datos del SVN " -# comprobar que está montado $OGCLIENTMOUNT -#mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 - -# parseamos del apt.source -sed -e "s/OSCODENAME/$OSCODENAME/g" ${SVNCLIENTDIR}/clientstructure/etc/apt/sources.list.ubuntu > ${SVNCLIENTDIR}/clientstructure/etc/apt/sources.list -if [ $? -ne 0 ] -then - echo "$FUNCNAME(): Parsing apt.sources : ERROR" - exit 1 -fi - -#parseamos el script de generación del initrd. -sed -e "s/OSRELEASE/$OSRELEASE/g" ${SVNCLIENTDIR}/clientstructure/root/GenerateInitrd.generic.sh > ${SVNCLIENTDIR}/clientstructure/root/GenerateInitrd.sh -if [ $? -ne 0 ] -then - echo "$FUNCNAME(): Parsing GenerateInitrd.sh : ERROR" - exit 1 -fi - -#damos permiso al directorio de scripts -chmod 775 ${SVNCLIENTDIR}/clientstructure/root/* - -# los copiamos -cp -prv ${SVNCLIENTDIR}/clientstructure/* / -mkdir -p ${OGCLIENTMOUNT}/opt/opengnsys/ -cp -prv ${SVNCLIENTSTRUCTURE}/* ${OGCLIENTMOUNT}/opt/opengnsys/ -cp -prv ${SVNCLIENTENGINE}/* ${OGCLIENTMOUNT}/opt/opengnsys/lib/engine/bin/ - -if [ $? -ne 0 ] -then - echo "$FUNCNAME(): Copying client data : ERROR" - exit 1 -fi - -# copiamos algunas cosas del nfsexport - -#### Tipos de letra para el Browser. -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/lib/fonts -#### Crear enlaces para compatibilidad con las distintas versiones del Browser. -mkdir -p $OGCLIENTMOUNT/usr/local/Trolltech/QtEmbedded-4.5.1/lib/ -mkdir -p $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.2/lib/ -mkdir -p $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.3/lib/ -#ln -fs $OGCLIENTMOUNT/usr/local/lib/fonts /usr/local/Trolltech/QtEmbedded-4.5.1/lib/fonts -#ln -fs $OGCLIENTMOUNT/usr/local/lib/fonts /usr/local/QtEmbedded-4.6.2/lib/fonts -#ln -fs $OGCLIENTMOUNT/usr/local/lib/fonts /usr/local/QtEmbedded-4.6.3/lib/fonts -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/Trolltech/QtEmbedded-4.5.1/lib/fonts -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.2/lib/fonts -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.3/lib/fonts - - - - -if [ $? -ne 0 ] -then - echo "$FUNCNAME(): Linking Browser fonts : ERROR" - exit 1 -fi - -# B ######################################################## -cp -pr ${SVNCLIENTSTRUCTURE}/lib/pci.ids $OGCLIENTMOUNT/etc -if [ $? -ne 0 ] -then - echo "$FUNCNAME(): Copying pci.ids : ERROR" - exit 1 -fi - -cp ${SVNCLIENTSTRUCTURE}/bin/browser $OGCLIENTMOUNT/bin -if [ $? -ne 0 ] -then - echo "$FUNCNAME(): Copying Browser : ERROR" - exit 1 -fi - - - -#Compatiblidad con og2 -echo "mkdir -p /opt/opengnsys/lib/engine/2.0/" -mkdir -p /opt/opengnsys/lib/engine/2.0/ -echo "cp -prv ${SVNOG2}/engine/2.0 $OGCLIENTMOUNT/opt/opengnsys/lib/engine/2.0" -cp -prv ${SVNOG2}/engine/2.0/ $OGCLIENTMOUNT/opt/opengnsys/lib/engine/ -cp -prv ${SVNOG2}/ogr/ogr $OGCLIENTMOUNT/opt/opengnsys/bin/ -cp -prv ${SVNOG2}/job_executer $OGCLIENTMOUNT/opt/opengnsys/bin/ -cp -prv ${SVNOG2}/ogr/libogr.py $OGCLIENTMOUNT/usr/lib/python2.7/ - -cp ${SVNCLIENTSTRUCTURE}/bin/ogAdmClient $OGCLIENTMOUNT/bin - - -if [ $? -ne 0 ] -then - echo "$FUNCNAME(): Copying ogAdmClient : ERROR" - exit 1 -else - echo "$FUNCNAME: Finalizado: OK " - exit 0 -fi - - diff --git a/old/clientstructure/root/importSshKeys.sh b/old/clientstructure/root/importSshKeys.sh deleted file mode 100755 index 17a797f..0000000 --- a/old/clientstructure/root/importSshKeys.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -echo "comprobando directorio .ssh del root" -if [ ! -d /root/.ssh ] -then - echo "creando directorio .ssh 600" - mkdir -p /root/.ssh - chmod 700 /root/.ssh -fi -echo "creando el fichero authorized_keys" -touch /root/.ssh/authorized_keys -chmod 600 /root/.ssh/authorized_keys - -echo "importando la clave publica del servidor OG" -cat /tmp/id_rsa.pub - -[ -f /tmp/id_rsa.pub ] && cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys || echo "no key publica og" - \ No newline at end of file diff --git a/old/clientstructure/root/qemu.sh b/old/clientstructure/root/qemu.sh deleted file mode 100755 index c5a93cd..0000000 --- a/old/clientstructure/root/qemu.sh +++ /dev/null @@ -1,9 +0,0 @@ -#/bin/bash - -mount -o rw,remount / -mount proc /proc -t proc -export PATH=$PATH dpkg -i *.deb -modprobe 8139too -modprobe 8139cp -dhclient -/etc/init.d/ssh restart \ No newline at end of file diff --git a/old/clientstructure/var/lib/locales/supported.d/local b/old/clientstructure/var/lib/locales/supported.d/local deleted file mode 100644 index be3f2a4..0000000 --- a/old/clientstructure/var/lib/locales/supported.d/local +++ /dev/null @@ -1,5 +0,0 @@ -es_ES ISO-8859-1 -es_ES@euro ISO-8859-15 -es_ES.UTF-8 UTF-8 -es_ES.UTF-8@euro UTF-8 -en_US.UTF-8 UTF-8 \ No newline at end of file diff --git a/old/ogClientGeneratorV2.sh b/old/ogClientGeneratorV2.sh deleted file mode 100755 index 3beac31..0000000 --- a/old/ogClientGeneratorV2.sh +++ /dev/null @@ -1,164 +0,0 @@ -#!/bin/bash -#@file ogClientGenerator.sh -#@brief Script generación del cliente OpenGnSys -#@warning -#@version 0.9 - -#@author Antonio J. Doblas Viso. -#@date 2010/05/24 -#*/ - - -#$1 OSCONENAME lucid karmic -#if [ $# -ne 1 ]; then -# echo ": invalid number of parameters" -# echo " host | lucid | karmic | jaunty | lenny | squeeze " -# exit 1 -#fi -TYPECLIENT=host - -# Solo ejecutable por usuario root -if [ "$(whoami)" != 'root' ] -then - echo "ERROR: this program must run under root privileges!!" - exit 1 -fi - - - -#FIXME: variables del instalador oficial. -WORKDIR=/tmp/opengnsys_installer -INSTALL_TARGET=/opt/opengnsys -LOG_FILE=/tmp/opengnsys_installation.log -PROGRAMDIR=$(readlink -e $(dirname "$0")) - - -#funciones especificas del cliente. -source $PROGRAMDIR/ogClientManager.lib -#funciones incluidas dentro del scritps general de instalacion. -source $PROGRAMDIR/ogInstaller.lib - -echoAndLog "OpenGnSys CLIENT installation begins at $(date)" - -########################################################################## -## FASE 1 - Instalación de software adicional. -##TO DO Integrar en el instaldor. Actualizar repositorios -# Datos para la generación del cliente. -DEPENDENCIES=( debootstrap subversion schroot squashfs-tools) -apt-get update -# Instalación de dependencias (paquetes de sistema operativo). -declare -a notinstalled -checkDependencies DEPENDENCIES notinstalled -if [ $? -ne 0 ]; then - installDependencies notinstalled - if [ $? -ne 0 ]; then - echoAndLog "Error while installing some dependeces, please verify your server installation before continue" - exit 1 - fi -fi -############## FIN DEL TO DO -############################################## FIN FASE 1 - - - -############## FASE 2 - Asignación de variables -#obtenemos las variables necesarias. -ogClientVar -#obtenemos la información del host. -ogClientOsInfo -######################## FIN fase 2 - -############# FASE 3: Segundo Sistema archivos (img) Creación. -#TODO comprobacion de que el fichero esta creado. -file $OGCLIENTFILE | grep "partition 1: ID=0x83" -if [ $? == 1 ] -then - ##3.1 creación y formateo del disco virtual. generamos el dispositivo loop. - ogClient2ndFile || exit 1 -fi - - -#3.2 generamos el Sistema de archivos con debootstrap -# Comprobamos que ya tenemos alguno. -schroot -p -c IMGogclient -- touch /tmp/ogclientOK -if [ -f /tmp/ogclientOK ] -then - rm /tmp/ogclientOK -else - ogClient2ndFs $TYPECLIENT || exit -fi - - -############### FASE 4: Configuración el acceso al Segundo Sistema de archivos (img), para schroot -cat /etc/schroot/schroot.conf | grep ogclient || ogClientSchrootConf - - -############### FASE 5: Configuración del Segundo Sistema de archivos (img) con la estructura especial de OpenGnsys -#ogClient2ndSVN $TYPECLIENT || exit -cp ${SVNCLIENTDIR}/clientstructure/root/* /tmp/ -chmod 777 /tmp/*.sh -schroot -p -c IMGogclient -- /tmp/importSVNboot-tools.sh - - - - -############# FASE6: Ejecutamos los scripts de personalización del 2º sistema de archivos (img) desde la jaula schroot -### 6.1 instalacion de software con apt-get -schroot -p -c IMGogclient -- /root/InstallSoftware.sh -echo "saltando" - if [ $? -ne 0 ]; then - errorAndLog "Instalando sofware adicional OG : ERROR" - exit -else - echoAndLog "Instalando sofware adicional OG: OK" -fi -#### 6.2 compilación de software. -cd / -schroot -p -c IMGogclient -- /root/CompileSoftware.sh -cd - - -### 6.3 configuracion hostname passroot securety -cd / -schroot -c IMGogclient -- /root/ConfFS.sh -cd - -#schroot -c IMGogclient -- echo -ne "og1\nog1\n" | passwd root -# schroot -c IMGogclient -- passwd root | echo "root" - - -### 6.4 incorporamos la clave publica del servidor -cd / -ssh-keygen -q -f /root/.ssh/id_rsa -N "" -cp /root/.ssh/id_rsa.pub /tmp -schroot -p -c IMGogclient -- /root/importSshKeys.sh -cd - -############ y la del propio cliente. -schroot -c IMGogclient -- /root/generateSshKeysClient.sh - -## configuramos los locales. -schroot -c IMGogclient -- /root/ReconfigureLocales.sh - - -################## FIN fase 6. Fin de comfiguración del segundo sistema de archivos (img) - -################## FASE 7. Generamos el 1er sistema de archivos. INITRD -#nota el parametro es el "tipo" de linux generado en debootstrap. usar solo "host", es decir version,kernel ... del propio host -#nota: hace un schroot, al 2fs (img), ejecuta el fichero generateinitrd. -#nota: deja en el directorio tmp del host el nuevo initrd, y lo copia al tftpboot -ogClientInitrd $TYPECLIENT - - -################## FASE 8. convertimos el 2ºFS(img) en 2ºFS(sqfs) -# generamos el 2sistema de archivos en squashfs -ogClient2ndSqfs -################## FIN FASE 8. convertimos el 2ºFS(img) en 2ºFS(sqfs) - - -##################### FASE 9. algunos detallas del pxe -#dejamos ficheros de ejemplo para el pxe y el nfs -#ogClientConfpxe -##################### FIN FASE 9. algunos detallas del pxe - - -# Mostrar sumario de la instalación e instrucciones de post-instalación. -installationSummary - -echoAndLog "OpenGnSys installation finished at $(date)" diff --git a/old/ogClientManager.lib b/old/ogClientManager.lib deleted file mode 100644 index 3dda09e..0000000 --- a/old/ogClientManager.lib +++ /dev/null @@ -1,740 +0,0 @@ - -ogClientVar() -{ -export SVNCLIENTDIR=/tmp/opengnsys_installer/opengnsys/client/boot-tools -export SVNCLIENTSTRUCTURE=/tmp/opengnsys_installer/opengnsys/client/shared -export SVNCLIENTENGINE=/tmp/opengnsys_installer/opengnsys/client/engine - -export SVNOG2=/tmp/opengnsys_installer/opengnsys2 - -export OGCLIENTBASEDIR=/var/lib/tftpboot/ogclient/ -export OGCLIENTFILE=${OGCLIENTBASEDIR}ogclient.img -export OGCLIENTMOUNT=${OGCLIENTBASEDIR}ogclientmount -# tamaño maximo limitado por schroot 2GB -export OGCLIENTSIZEMB=1900 -#export OGCLIENTSIZEMB=1000 -# export OGCLIENTSIZEKB=500 -export OGCLIENTLABEL=ogClient -#export OGLIB=/opt/opengnsys/client/lib -} - - - -function ogClientOsInfo () -{ -#TODO según host, un OSHHTP u otro OSARCH - #1 OSCODENAME jaunty|karmic|lucid - #devuelve OSDISTRIB(ubuntu,debian),OSCODENAME(lucid,karmic,squeeze):OGRELEASE:httpAPT - case $1 in - host | HOST) - export OSDISTRIB=$(lsb_release -i | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null - #OSCODENAME=$(lsb_release -c | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null - export OSCODENAME=$(cat /etc/lsb-release | grep CODENAME | awk -F= '{print $NF}') - export OSRELEASE=$(uname -a | awk '{print $3}') - uname -a | grep x86_64 > /dev/null && export OSARCH=amd64 || export OSARCH=i386 - export OSHTTP="http://es.archive.ubuntu.com/ubuntu/" - ;; - jaunty|JAUNTY) - export OSDISTRIB=ubuntu - export OSCODENAME=jaunty - export OSRELEASE="2.6.28-11-generic" - export OSARCH=i386 - export OSHTTP="http://es.archive.ubuntu.com/ubuntu/" - ;; - lenny|LENNY) - export OSDISTRIB=debian - export OSCODENAME=lenny - export OSRELEASE="2.6.28-11-generic" - export OSARCH=i386 - export OSHTTP="http://es.archive.ubuntu.com/ubuntu/ " - ;; - squeeze|SQUEEZE) - export OSDISTRIB=debian - export OSCODENAME=squeeze - export OSRELEASE="2.6.28-11-generic" - export OSARCH=i386 - export OSHTTP="http://es.archive.ubuntu.com/ubuntu/ " - ;; - karmic|KARMIC) - export OSDISTRIB=ubuntu - export OSCODENAME=karmic - export OSRELEASE="2.6.31-14-generic" - export OSARCH=i386 - export OSHTTP="http://es.archive.ubuntu.com/ubuntu/ " - ;; - lucid|LUCID) - export OSDISTRIB=ubuntu - export OSCODENAME=lucid - export OSRELEASE="2.6.32-21-generic-pae" - export OSARCH=i386 - export OSHTTP="http://es.archive.ubuntu.com/ubuntu/ " - ;; - *) - return 1 - ;; - esac - echo $OSDISTRIB:$OSCODENAME:$OSRELEASE:$OSARCH:$OSHTTP -} - -#creación y formateo del disco virtual. -ogClient2ndFile () -{ -local RERROR DISKLOOP PARTLOOP #return code error -echoAndLog "$FUNCNAME(): Creación y formateo del disco virtual $OGCLIENTSIZEMB MB " -#Desmontamos por si acaso el dispositivo virtual -mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT -mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT -echo "$FUNCNAME(): Creando el directorio donde se montará el disco virtual $OGCLIENTMOUNT" -mkdir -p $OGCLIENTMOUNT -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Creando directorio $OGCLIENTMOUNT : ERROR" - return 1 -fi -chown -R root:opengnsys $OGCLIENTBASEDIR -echo "$FUNCNAME(): Creando el disco virtual que almacenará el FS del cliente $OGCLIENTSIZEMB MB de datos físicos" -dd if=/dev/zero of=$OGCLIENTFILE bs=1048576 count=$OGCLIENTSIZEMB -#qemu-img create $OGCLIENTFILE 3G -#dd if=/dev/zero of=$OGCLIENTFILE bs=1k count=$OGCLIENTSIZEKB # necesita 500MB -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Creando el disco virtual: ERROR" - return 1 -fi - -DISKLOOP=$(losetup -f) -losetup $DISKLOOP $OGCLIENTFILE -echo "$FUNCNAME(): particiondo el disco virtual - $DISKLOOP - con una particion primaria" -echo -e "n\np\n1\n\n\nt\n83\nw" | fdisk $DISKLOOP -#echo $? -# da error, porque no puede actualizar el kernel. -#if [ $? -ne 0 ] -#then -# errorAndLog "$FUNCNAME(): Particionando el disco virutal: ERROR" -# return 1 -#fi - -echoAndLog "$FUNCNAME(): Desmontando $DISKLOOP despues del particionado " -losetup -d $DISKLOOP - -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Liberando disco virtual despues del particionado: ERROR" - return 1 -fi - - -#mkfs.ext3 -L $OGCLIENTLABEL /dev/loop1 -#mkfs.ext3 -L $OGCLIENTLABEL /dev/loop1 -PARTLOOP=$(losetup -f) -echo "$FUNCNAME(): Formateando la particion principal $PARTLOOP" -losetup -o 32256 $PARTLOOP $OGCLIENTFILE && mkfs.ext3 -b 4096 -L $OGCLIENTLABEL $PARTLOOP -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Formateando la particion principal del disco virtual: ERROR" - return 1 -fi -echoAndLog "$FUNCNAME(): Desmontando $PARTLOOP despues del formateo " -losetup -d $PARTLOOP -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Liberando la particion virtual despues del formateo: ERROR" - return 1 -else - echoAndLog "$FUNCNAME(): $OGCLIENTFILE $OGCLIENTSIZEMB MB : OK" -fi -} - - - - - -ogClient2ndFs () -{ -ogClientOsInfo $1 -echoAndLog "$FUNCNAME: Iniciando la generación del sistema de archivos " -#Montamos el dispositivo virtual en su punto de montaje. -mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 - -mount | grep $OGCLIENTMOUNT && echoAndLog "$FUNCNAME: mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 OK " || errorAndLog "$FUNCNAME: mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 : FAILURE " - -#debootstrap --include=linux-image-${OSRELEASE},linux-headers-${OSRELEASE} --arch=$OSARCH --components=main,universe ${OSCODENAME} ${OGCLIENTMOUNT} ${OSHTTP} -debootstrap --arch=$OSARCH --components=main,universe ${OSCODENAME} ${OGCLIENTMOUNT} ${OSHTTP} - - -if [ $? -ne 0 ]; then - errorAndLog "$FUNCNAME: debootstrap --include=linux-image-${OSRELEASE},linux-headers-${OSRELEASE} --arch=$OSARCH --components=main,universe $OSCODENAME $OGCLIENTMOUNT $OSHTTP - : ha fallado!" - mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT - return 1 -else - echoAndLog "$FUNCNAME: debootstrap --include=linux-image-${OSRELEASE},linux-headers-${OSRELEASE} --arch=$OSARCH --components=main,universe $OSCODENAME $OGCLIENTMOUNT $OSHTTP - : ok" - mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT - return 0 -fi - sleep 5 - -##preubas revisar OSRELEASE -#debootstrap --include=linux-image-${OSRELEASE} --arch=i386 --variant=minbase $OSVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/ -#debootstrap --variant=minbase --include=linux-image-${OGRELEASE} --arch=i386 $OGVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/ -#echo debootstrap --include=linux-image-${OGRELEASE},dbus --arch=i386 --components=main,universe $OGVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/ -} - - - - -########## configura el segundo sistema de archivos -########### parametro: "host" -function ogClient2ndSVN() -{ -ogClientOsInfo host -#ogClientOsInfo $1 -#1 la salida de ogClientOsInfo -local LERROR -LERROR=TRUE -echoAndLog "$FUNCNAME: Iniciando la personalización con datos del SVN " -# comprobar que está montado $OGCLIENTMOUNT -mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 - -# parseamos del apt.source -sed -e "s/OSCODENAME/$OSCODENAME/g" ${SVNCLIENTDIR}/clientstructure/etc/apt/sources.list.ubuntu > ${SVNCLIENTDIR}/clientstructure/etc/apt/sources.list -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Parsing apt.sources : ERROR" - return 1 -fi - -#parseamos el script de generación del initrd. -sed -e "s/OSRELEASE/$OSRELEASE/g" ${SVNCLIENTDIR}/clientstructure/root/GenerateInitrd.generic.sh > ${SVNCLIENTDIR}/clientstructure/root/GenerateInitrd.sh -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Parsing GenerateInitrd.sh : ERROR" - return 1 -fi - -#damos permiso al directorio de scripts -chmod 775 ${SVNCLIENTDIR}/clientstructure/root/* - -# los copiamos -cp -prv ${SVNCLIENTDIR}/clientstructure/* $OGCLIENTMOUNT -mkdir -p ${OGCLIENTMOUNT}/opt/opengnsys/ -cp -prv ${SVNCLIENTSTRUCTURE}/* ${OGCLIENTMOUNT}/opt/opengnsys/ -cp -prv ${SVNCLIENTENGINE}/* ${OGCLIENTMOUNT}/opt/opengnsys/lib/engine/bin/ - -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Copying client data : ERROR" - return 1 -fi - -# copiamos algunas cosas del nfsexport - -#### Tipos de letra para el Browser. -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/lib/fonts -#### Crear enlaces para compatibilidad con las distintas versiones del Browser. -mkdir -p $OGCLIENTMOUNT/usr/local/Trolltech/QtEmbedded-4.5.1/lib/ -mkdir -p $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.2/lib/ -mkdir -p $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.3/lib/ -#ln -fs $OGCLIENTMOUNT/usr/local/lib/fonts /usr/local/Trolltech/QtEmbedded-4.5.1/lib/fonts -#ln -fs $OGCLIENTMOUNT/usr/local/lib/fonts /usr/local/QtEmbedded-4.6.2/lib/fonts -#ln -fs $OGCLIENTMOUNT/usr/local/lib/fonts /usr/local/QtEmbedded-4.6.3/lib/fonts -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/Trolltech/QtEmbedded-4.5.1/lib/fonts -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.2/lib/fonts -cp -pr ${SVNCLIENTSTRUCTURE}/lib/fonts $OGCLIENTMOUNT/usr/local/QtEmbedded-4.6.3/lib/fonts - - - - -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Linking Browser fonts : ERROR" - return 1 -fi - -# B ######################################################## -cp -pr ${SVNCLIENTSTRUCTURE}/lib/pci.ids $OGCLIENTMOUNT/etc -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Copying pci.ids : ERROR" - return 1 -fi - -cp ${SVNCLIENTSTRUCTURE}/bin/browser $OGCLIENTMOUNT/bin -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Copying Browser : ERROR" - return 1 -fi - -#Compatiblidad con og2 -cp -prv ${SVNOG2}/engine/2.0 en /opt/opengnsys/lib/engine/2.0 -cp -prv ${SVNOG2}/ogr/ogr /opt/opengnsys/bin/ -cp -prv ${SVNOG2}/ogr/libogr.py /opt/opengnsys/bin/ -cp -prv ${SVNOG2}/job_executer /opt/opengnsys/bin/ - - -cp ${SVNCLIENTSTRUCTURE}/bin/ogAdmClient $OGCLIENTMOUNT/bin -if [ $? -ne 0 ] -then - errorAndLog "$FUNCNAME(): Copying ogAdmClient : ERROR" - return 1 -else - mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT - mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT - mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT - mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT - echoAndLog "$FUNCNAME: Finalizado: OK " - return 0 -fi - - -} - - -ogClientSchrootConf() -{ -echoAndLog "$FUNCNAME: Iniciando la configuración del schroot " -cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.`getDateTime` -cat << EOF > /etc/schroot/schroot.conf -[IMGogclient] -type=loopback -file=/var/lib/tftpboot/ogclient/ogclient.img -description=ogclient ubuntu luc IMGi -#priority=1 -users=root -groups=root -root-groups=root -mount-options=-o offset=32256 -root-users=root -#[DIRogclient] -#type=directory -#directory=/var/lib/tftpboot/ogclient/ogclientmount -#description=ogclient ubuntu lucid DIR -#priority=2 -#users=root -#groups=root -#root-groups=root -#root-users=root -EOF -cp /etc/schroot/mount-defaults /etc/schroot/mount-defaults.`getDateTime` -cat << EOF > /etc/schroot/mount-defaults -# mount.defaults: static file system information for chroots. -# Note that the mount point will be prefixed by the chroot path -# (CHROOT_PATH) -# -# -proc /proc proc defaults 0 0 -#procbususb /proc/bus/usb usbfs defaults 0 0 -#/dev /dev none rw,bind 0 0 -/dev/pts /dev/pts none rw,bind 0 0 -/dev/shm /dev/shm none rw,bind 0 0 -#/home /home none rw,bind 0 0 -/tmp /tmp none rw,bind 0 0 -EOF - -echoAndLog "$FUNCNAME: Finalizado: OK " -return 0 -} - - - -########### param1 "host" -ogClientInitrd() -{ -ogClientVar -cd / -ogClientOsInfo $1 -schroot -c IMGogclient -- /root/GenerateInitrd.generic.sh -echo "cp /tmp/*-${OSRELEASE} $OGCLIENTBASEDIR" -cp /tmp/*-${OSRELEASE} $OGCLIENTBASEDIR -cp /tmp/initrd.img-${OSRELEASE} ${OGCLIENTBASEDIR}/oginitrd.img -cp /tmp/vmlinuz-${OSRELEASE} ${OGCLIENTBASEDIR}/ogvmlinuz -cd - -chmod -R 755 $OGCLIENTBASEDIR - -} - - -ogClient2ndSqfs() -{ -ogClientVar -echoAndLog "$FUNCNAME: Iniciando la creación del sistema de archivos en sqfs " -# si ya existe un sqfs lo renombramos -[ -f $OGCLIENTBASEDIR/ogclient.sqfs ] && mv $OGCLIENTBASEDIR/ogclient.sqfs $OGCLIENTBASEDIR/ogclient.sqfs.`date +%Y%m%d-%H%M%S` -mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 -mksquashfs $OGCLIENTMOUNT $OGCLIENTBASEDIR/ogclient.sqfs -chmod 744 $OGCLIENTBASEDIR/ogclient.sqfs -mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT -} - - - - -ogClientSshkeys() -{ -echo comprobamos clave rsa en el host REPO OG. -if [ ! -f /root/.ssh/id_rsa.pub ] -then - echo "creando claves rsa" - ssh-keygen -q -f /root/.ssh/id_dsa -t dsa -N "opengnsys" -else - echo "la claves ya estan creadas" -fi -echo "copiamos la clave publica a /tmp" -cp /root/.ssh/id_dsa.pub /tmp - -cat /tmp/id_dsa.pub - -echo "schroot con instrucciones." -schroot -c IMGogclient -- /root/importSshKeys.sh - -echo "limpiando" -rm /tmp/id_dsa.pub - -## copiamos ssh rsa del host al guest como authorized-key2 -##rm ${OGCLIENTMOUNT}/root/.ssh/authorized-key2 -##cat /root/.ssh/id_rsa.pub >> ${OGCLIENTMOUNT}/root/.ssh/authorized-key2 -#cat ${OGCLIENTMOUNT}/root/.ssh/id_rsa.pub >> ${OGCLIENTMOUNT}/root/.ssh/authorized-key2 -##mount | grep $OGCLIENTMOUNT || umount $OGCLIENTMOUNT -} - - - -function ogCrearISO { -apt-get install syslinux genisoimage -#TODO: deb http://free.nchc.org.tw/drbl-core drbl stable -#apt-get install gpxe -mkdir -p /tmp/iso/isolinux -#cd tmp/iso/ -cp -prv /usr/lib/syslinux/* /tmp/iso/isolinux/ -cp -prv /usr/share/gpxe/* /tmp/iso/isolinux/ -mkdir -p /tmp/iso/ogclient -#el ogclienteToISO debe tener una copia del ogvmlinuz como linuxISO -cp -prv /var/lib/tftpboot/ogclientToIso/* /tmp/iso/ogclient - - -cat << FIN > /tmp/iso/isolinux/isolinux.cfg -DEFAULT menu.c32 -PROMPT 0 -ALLOWOPTIONS 1 - -MENU TITLE OpenGnsys 1.0.1 v00 - -LABEL gpxe -MENU LABEL gpxe -KERNEL /clonezilla/live/vmlinuz1 -APPEND initrd=/clonezilla/live/initrd1.img boot=live union=aufs noswap vga=788 ip=frommedia - - -#default 0 -#prompt 1 -#timeout 100 - -#display mensaje.txt - - - - -LABEL 0 -MENU LABEL ogClient vga irqpool acpi ogdebug ip:none -KERNEL /ogclient/linuxISO -APPEND initrd=/ogclient/oginitrd.img ro vga=788 irqpoll acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=true ip=none - -LABEL 1 -MENU LABEL ogClient irqpoll acpi ip:none -KERNEL /ogclient/linuxISO -APPEND initrd=/ogclient/oginitrd.img ro irqpoll acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=false ip=none - -LABEL 2 -MENU LABEL ogClient acpi debug ip=dhcp -KERNEL /ogclient/linuxISO -APPEND initrd=/ogclient/oginitrd.img ro acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=true ip=dhcp - -LABEL 3 -MENU LABEL ogClient ip=dhcp -KERNEL /ogclient/linuxISO -APPEND initrd=/ogclient/oginitrd.img ro acpi=off boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=false ip=dhcp - - -#LABEL ogclient -#KERNEL /ogclient/linuxISO -#APPEND initrd=/ogclient/initrdISO.img - -#KERNEL linuxISO -#APPEND initrd=initrdISO.img - -LABEL 4 -MENU LABEL local -localboot 0x80 -append - - - -label 5 -MENU LABEL Network boot via gPXE lkrn -KERNEL gpxe.lkrn - -label 5 -MENU LABEL Network boot via gPXE usb -KERNEL gpxe.usb - -label 5 -MENU LABEL Network boot via gPXE pxe -KERNEL gpxe.pxe - -label 5 -MENU LABEL Network boot via gPXE iso -KERNEL gpxe.iso -FIN -#### /tmp/iso# -mkisofs -V ogClient -o ogClient.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -J -no-emul-boot -boot-load-size 4 -boot-info-table tmp/iso - -### vi /etc/grub.d/40_custom -## -#menuentry "og cache " { -#set root=(hd0,4) -#linux /ogvmlinuz ro vga=788 irqpoll acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=true ip=none -#initrd /oginitrd.img -#} - - -} - -function ogprobarISO { -#/tmp/iso -qemu -m 256 -boot d -cdrom ogClient.iso -} - - - - - - - -ogClientConfpxe() -{ -################## DEJAMOS FICHERO DE EJEMPLOS PARA: -#default -cat << FIN >> /var/lib/tftpboot/pxelinux.cfg/defaultNEWClient -LABEL pxe-${OGRELEASE} -KERNEL ogclient/vmlinuz-$OGRELEASE -APPEND initrd=ogclient/initrd.img-$OGRELEASE ip=dhcp ro boot=og vga=788 irqpoll acpi=on reposerver= -LABEL pxe-2.6.32-21-generic-pae -KERNEL ogclient/vmlinuz-2.6.32-21-generic-pae -APPEND initrd=ogclient/initrd.img-2.6.32-21-generic-pae ip=dhcp ro boot=oginit vga=788 irqpoll acpi=on ogrepo=172.17.36.11 ogprotocol=nfs og2nd=sqfs -LABEL cache -KERNEL grub.exe -APPEND --config-file="find --set-root /vmlinuz; kernel /vmlinuz ip=dhcp ro boot=og vga=788 irqpoll acpi=on engine=testing reposerver=172.17.32.242; initrd /initrd.img" -LABEL net -KERNEL grub.exe -APPEND keeppxe --config-file="pxe detect; kernel (pd)/ogclient/vmlinuz-2.6.32-21-generic-pae ip=dhcp ro boot=og vga=788 irqpoll acpi=on engine=testing reposerver=172.17.32.242; initrd (pd)/ogclient/initrd.img-2.6.32-21-generic-pae" -LABEL IfNOTcacheGOnet -KERNEL grub.exe -APPEND keeppxe --config-file="pxe detect; default 0; timeout 0; hiddenmenu; title cache; fallback 1; find --set-root /vmlinuz; kernel /vmlinuz ip=dhcp ro boot=og vga=788 irqpoll acpi=on engine=testing reposerver=172.17.32.242; initrd /initrd.img; boot; title net; kernel (pd)/ogclient/vmlinuz-2.6.32-21-generic-pae ip=dhcp ro boot=og vga=788 irqpoll acpi=on engine=testing reposerver=172.17.32.242; initrd (pd)/ogclient/initrd.img-2.6.32-21-generic-pae; boot" -#LABEL pxe-2.6.32-21-generic-pae -#KERNEL ogclient/vmlinuz-2.6.32-21-generic-pae -#APPEND initrd=ogclient/initrd.img-2.6.32-21-generic-pae ip=dhcp ro boot=og vga=788 irqpoll acpi=on reposerver=172.17.32.242 -#LABEL grub -#KERNEL grub.exe -#APPEND keeppxe -FIN -#/etc/hosts -echo "/var/lib/tftpboot *(ro,no_subtree_check,no_root_squash,sync)" > /etc/exportsNEWClient -/etc/init.d/nfs-kernel-server restart -##################################################################### -} - - - -############### No usados en el instalador, solo en actualizaciones. -#/** -# ogClientMount [str_program] -#@brief Acceso al 2nd FS del cliente desde el Servidor Opengnsys -#@param 1 Opciona: scripts o programa a ejecutar para automatizaciones -#@return Si no hay parametros: login de acceso. -#@return con un parametro: La salida del programa ejecutado -#@exception -#@note -#@todo -#@version 0.9 - Primera versión para OpenGnSys -#@author Antonio J. Doblas Viso, Universidad de Málaga -#@date 2010/02/15 -#*/ ## -function ogClientMount () -{ - #TODO comprobar que OGFILE y OGFILEMOUNT existe. - mount | grep $OGCLIENTFILE > /dev/null || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 - mount | grep $OGCLIENTMOUNT/proc > /dev/null || mount --bind /proc $OGCLIENTMOUNT/proc - mount | grep $OGCLIENTMOUNT/sys > /dev/null || mount --bind /sys $OGCLIENTMOUNT/sys - mount | grep $OGCLIENTMOUNT/tmp > /dev/null || mount --bind /tmp $OGCLIENTMOUNT/tmp - mount | grep $OGCLIENTMOUNT/dev > /dev/null || mount --bind /dev $OGCLIENTMOUNT/dev - mount | grep $OGCLIENTMOUNT/dev/pts > /dev/null || mount --bind /dev/pts $OGCLIENTMOUNT/dev/pts - - - [ $# = 0 ] && $(chroot $OGCLIENTMOUNT /sbin/getty 38400 `tty`) - [ $# = 1 ] && chroot $OGCLIENTMOUNT $1 - -} - -#/** -# ogClientUnmount -#@brief Desmonta el 2nd FS del cliente desde el Servidor Opengnsys -#@param -#@return -#@exception -#@note -#@todo -#@version 0.9 - Primera versión para OpenGnSys -#@author Antonio J. Doblas Viso, Universidad de Málaga -#@date 2010/02/15 -#*/ ## - -function ogClientUnmount () -{ - cd /tmp - echo "desmontando cliente espere" - sleep 5 - mount | grep $OGCLIENTMOUNT/dev > /dev/null && umount $OGCLIENTMOUNT/dev || ogClientUnmount - mount | grep $OGCLIENTMOUNT/dev/pts > /dev/null && umount $OGCLIENTMOUNT/dev/pts || ogClientUnmount - mount | grep $OGCLIENTMOUNT/proc > /dev/null && umount $OGCLIENTMOUNT/proc || ogClientUnmount - mount | grep $OGCLIENTMOUNT/sys > /dev/null && umount $OGCLIENTMOUNT/sys || ogClientUnmount - mount | grep $OGCLIENTMOUNT/tmp > /dev/null && umount $OGCLIENTMOUNT/tmp || ogClientUnmount - mount | grep $OGCLIENTMOUNT > /dev/null && umount $OGCLIENTMOUNT || ogClientUnmount - #-d -f -l - -} - - -############################ hasta el final del archivo antiguos -############################# ANTIGUOS -function ogClientGetRelease () -{ - #1 OSCODENAME jaunty|karmic|lucid - case $1 in - jaunty|JAUNTY) - OSCODENAME=jaunty - OGRELEASE="2.6.28-11-generic" - echo $OGRELEASE - ;; - lenny|LENNY) - OSCODENAME=lenny - OGRELEASE="2.6.28-11-generic" - echo $OGRELEASE - ;; - squeeze|SQUEEZE) - OSCODENAME=squeeze - OGRELEASE="2.6.28-11-generic" - echo $OGRELEASE - ;; - karmic|KARMIC) - OSCODENAME=karmic - OGRELEASE="2.6.31-14-generic" - echo $OGRELEASE - ;; - lucid|LUCID) - OSCODENAME=lucid - OGRELEASE="2.6.32-21-generic-pae" - echo $OGRELEASE - ;; - *) - return 1 - ;; - esac - -} - - -#/** -# ogClientGenerator str_versionUbuntu str_release -#@brief Crea el 2nd FS del cliente desde el Servidor Opengnsys -#@param 1 Versión de ubuntu a generar, jaunty karmic -#@return -#@exception -#@note -#@todo -#@version 0.9 - Primera versión para OpenGnSys -#@author Antonio J. Doblas Viso, Universidad de Málaga -#@date 2010/02/15 -#*/ ## - -function ogClientGeneratorDebootstrap () -{ - if [ $# != 2 ] - then - echo Debes introducir como argumento1: jaunty karmic lucid - echo Debes introducir como argumento2: la release - echo utiliza como entrada ogClientCheckVersion - return - fi - OSCODENAME=$1 - OGRELEASE=$2 - - # instalamos el ultimo debotstrap para permitir instalar versiones superiores a nuestro sistema - #apt-get install gdebi-core - #wget $LASTDEBOOTSTRAP - #gdebi -n debootstrap_1.0.20_all.deb - - #Desmontamos por si acaso el dispositivo virtual - mount | grep $OGCLIENTMOUNT && umount $OGCLIENTMOUNT - - #Creamos el directorio donde montaremos el disco virtual - mkdir -p $OGCLIENTMOUNT - - #Creamos el disco virtual con el filesystem del cliente. - dd if=/dev/zero of=$OGCLIENTFILE bs=1048576 count=$OGCLIENTSIZEMB - #qemu-img create $OGCLIENTFILE 3G - #dd if=/dev/zero of=$OGCLIENTFILE bs=1k count=$OGCLIENTSIZEKB # necesita 500MB - - - #particionamos el disco virtual - losetup /dev/loop0 $OGCLIENTFILE - echo -e "n\np\n1\n\n\nt\n83\nw" | fdisk /dev/loop0 - losetup -d /dev/loop0 - - - #formateamos la particion principal. - losetup -o 32256 /dev/loop1 $OGCLIENTFILE - mkfs.ext3 -b 4096 -L $OGCLIENTLABEL /dev/loop1 - #mkfs.ext3 -L $OGCLIENTLABEL /dev/loop1 - #mkfs.ext3 -L $OGCLIENTLABEL /dev/loop1 - losetup -d /dev/loop1 - - #Montamos el dispositivo virtual en su punto de montaje. - mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256 - - #TODO Comprobar arquitectura - #Iniciamos la creación del sistema en el directorio de clientes. - #echo debootstrap --include=linux-image-${OGRELEASE},dbus --arch=i386 --components=main,universe $OGVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/ - debootstrap --include=linux-image-${OGRELEASE},linux-headers-${OGRELEASE} --arch=i386 --components=main,universe $OSCODENAME $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/ - ##preubas - #debootstrap --include=linux-image-${OGRELEASE} --arch=i386 --variant=minbase $OGVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/ - #debootstrap --variant=minbase --include=linux-image-${OGRELEASE} --arch=i386 $OGVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/ - - if [ $? -ne 0 ]; then - errorAndLog "ogClientGeneratorDebootstrap(): ha fallado!" - return 1 - else - echoAndLog "ogClientGeneratorDebootstrap(): ok" - return 0 - fi - sleep 5 - -mount | grep $OGCLIENTMOUNT && umount $OGCLIENTFILE - -cat << EOF > /etc/schroot/schroot.conf -[DIRogclient] -type=directory -directory=/var/lib/tftpboot/ogclient/ogclientmount -description=ogclient ubuntu lucid DIR -priority=2 -users=root -groups=root -root-groups=root -root-users=root -EOF -} - - - - - diff --git a/old/ogInstaller.lib b/old/ogInstaller.lib deleted file mode 100644 index af0f18d..0000000 --- a/old/ogInstaller.lib +++ /dev/null @@ -1,958 +0,0 @@ -#!/bin/bash - - -##################################################################### -####### Algunas funciones útiles de propósito general: -##################################################################### -function getDateTime() -{ - echo `date +%Y%m%d-%H%M%S` -} - -# Escribe a fichero y muestra por pantalla -function echoAndLog() -{ - echo $1 - FECHAHORA=`getDateTime` - echo "$FECHAHORA;$SSH_CLIENT;$1" >> $LOG_FILE -} - -function errorAndLog() -{ - echo "ERROR: $1" - FECHAHORA=`getDateTime` - echo "$FECHAHORA;$SSH_CLIENT;ERROR: $1" >> $LOG_FILE -} - -# comprueba si el elemento pasado en $2 esta en el array $1 -function isInArray() -{ - if [ $# -ne 2 ]; then - errorAndLog "${FUNCNAME}(): invalid number of parameters" - exit 1 - fi - - echoAndLog "${FUNCNAME}(): checking if $2 is in $1" - local deps - eval "deps=( \"\${$1[@]}\" )" - elemento=$2 - - local is_in_array=1 - # copia local del array del parametro 1 - for (( i = 0 ; i < ${#deps[@]} ; i++ )) - do - if [ "${deps[$i]}" = "${elemento}" ]; then - echoAndLog "isInArray(): $elemento found in array" - is_in_array=0 - fi - done - - if [ $is_in_array -ne 0 ]; then - echoAndLog "${FUNCNAME}(): $elemento NOT found in array" - fi - - return $is_in_array - -} - -##################################################################### -####### Funciones de manejo de paquetes Debian -##################################################################### - -function checkPackage() -{ - package=$1 - if [ -z $package ]; then - errorAndLog "checkPackage(): parameter required" - exit 1 - fi - echoAndLog "checkPackage(): checking if package $package exists" - dpkg -s $package | grep Status | grep -qw install &>/dev/null - if [ $? -eq 0 ]; then - echoAndLog "checkPackage(): package $package exists" - return 0 - else - echoAndLog "checkPackage(): package $package doesn't exists" - return 1 - fi -} - -# recibe array con dependencias -# por referencia deja un array con las dependencias no resueltas -# devuelve 1 si hay alguna dependencia no resuelta -function checkDependencies() -{ - if [ $# -ne 2 ]; then - errorAndLog "checkDependencies(): invalid number of parameters" - exit 1 - fi - - echoAndLog "checkDependencies(): checking dependences" - uncompletedeps=0 - - # copia local del array del parametro 1 - local deps - eval "deps=( \"\${$1[@]}\" )" - - declare -a local_notinstalled - - for (( i = 0 ; i < ${#deps[@]} ; i++ )) - do - checkPackage ${deps[$i]} - if [ $? -ne 0 ]; then - local_notinstalled[$uncompletedeps]=$package - let uncompletedeps=uncompletedeps+1 - fi - done - - # relleno el array especificado en $2 por referencia - for (( i = 0 ; i < ${#local_notinstalled[@]} ; i++ )) - do - eval "${2}[$i]=${local_notinstalled[$i]}" - done - - # retorna el numero de paquetes no resueltos - echoAndLog "checkDependencies(): dependencies uncompleted: $uncompletedeps" - return $uncompletedeps -} - -# Recibe un array con las dependencias y lo instala -function installDependencies() -{ - if [ $# -ne 1 ]; then - errorAndLog "installDependencies(): invalid number of parameters" - exit 1 - fi - echoAndLog "installDependencies(): installing uncompleted dependencies" - - # copia local del array del parametro 1 - local deps - eval "deps=( \"\${$1[@]}\" )" - - local string_deps="" - for (( i = 0 ; i < ${#deps[@]} ; i++ )) - do - string_deps="$string_deps ${deps[$i]}" - done - - if [ -z "${string_deps}" ]; then - errorAndLog "installDependencies(): array of dependeces is empty" - exit 1 - fi - - OLD_DEBIAN_FRONTEND=$DEBIAN_FRONTEND - export DEBIAN_FRONTEND=noninteractive - - echoAndLog "installDependencies(): now ${string_deps} will be installed" - apt-get -y install --force-yes ${string_deps} - if [ $? -ne 0 ]; then - errorAndLog "installDependencies(): error installing dependencies" - return 1 - fi - - DEBIAN_FRONTEND=$OLD_DEBIAN_FRONTEND - echoAndLog "installDependencies(): dependencies installed" -} - -# Hace un backup del fichero pasado por parámetro -# deja un -last y uno para el día -function backupFile() -{ - if [ $# -ne 1 ]; then - errorAndLog "${FUNCNAME}(): invalid number of parameters" - exit 1 - fi - - local fichero=$1 - local fecha=`date +%Y%m%d` - - if [ ! -f $fichero ]; then - errorAndLog "${FUNCNAME}(): file $fichero doesn't exists" - return 1 - fi - - echoAndLog "${FUNCNAME}(): realizando backup de $fichero" - - # realiza una copia de la última configuración como last - cp -p $fichero "${fichero}-LAST" - - # si para el día no hay backup lo hace, sino no - if [ ! -f "${fichero}-${fecha}" ]; then - cp -p $fichero "${fichero}-${fecha}" - fi - - echoAndLog "${FUNCNAME}(): backup realizado" -} - -##################################################################### -####### Funciones para el manejo de bases de datos -##################################################################### - -# This function set password to root -function mysqlSetRootPassword() -{ - if [ $# -ne 1 ]; then - errorAndLog "mysqlSetRootPassword(): invalid number of parameters" - exit 1 - fi - - local root_mysql=$1 - echoAndLog "mysqlSetRootPassword(): setting root password in MySQL server" - /usr/bin/mysqladmin -u root password ${root_mysql} - if [ $? -ne 0 ]; then - errorAndLog "mysqlSetRootPassword(): error while setting root password in MySQL server" - return 1 - fi - echoAndLog "mysqlSetRootPassword(): root password saved!" - return 0 -} - -# Si el servicio mysql esta ya instalado cambia la variable de la clave del root por la ya existente -function mysqlGetRootPassword(){ - local pass_mysql - local pass_mysql2 - # Comprobar si MySQL está instalado con la clave de root por defecto. - if mysql -u root -p"$MYSQL_ROOT_PASSWORD" <<<"quit" 2>/dev/null; then - echoAndLog "${FUNCNAME}(): Using default mysql root password." - else - stty -echo - echo "Existe un servicio mysql ya instalado" - read -p "Insertar clave de root de Mysql: " pass_mysql - echo "" - read -p "Confirmar clave:" pass_mysql2 - echo "" - stty echo - if [ "$pass_mysql" == "$pass_mysql2" ] ;then - MYSQL_ROOT_PASSWORD=$pass_mysql - echo "La clave es: ${MYSQL_ROOT_PASSWORD}" - return 0 - else - echo "Las claves no coinciden no se configura la clave del servidor de base de datos." - echo "las operaciones con la base de datos daran error" - return 1 - fi - fi -} - -# comprueba si puede conectar con mysql con el usuario root -function mysqlTestConnection() -{ - if [ $# -ne 1 ]; then - errorAndLog "mysqlTestConnection(): invalid number of parameters" - exit 1 - fi - - local root_password="${1}" - echoAndLog "mysqlTestConnection(): checking connection to mysql..." - echo "" | mysql -uroot -p"${root_password}" - if [ $? -ne 0 ]; then - errorAndLog "mysqlTestConnection(): connection to mysql failed, check root password and if daemon is running!" - return 1 - else - echoAndLog "mysqlTestConnection(): connection success" - return 0 - fi -} - -# comprueba si la base de datos existe -function mysqlDbExists() -{ - if [ $# -ne 2 ]; then - errorAndLog "mysqlDbExists(): invalid number of parameters" - exit 1 - fi - - local root_password="${1}" - local database=$2 - echoAndLog "mysqlDbExists(): checking if $database exists..." - echo "show databases" | mysql -uroot -p"${root_password}" | grep "^${database}$" - if [ $? -ne 0 ]; then - echoAndLog "mysqlDbExists():database $database doesn't exists" - return 1 - else - echoAndLog "mysqlDbExists():database $database exists" - return 0 - fi -} - -function mysqlCheckDbIsEmpty() -{ - if [ $# -ne 2 ]; then - errorAndLog "mysqlCheckDbIsEmpty(): invalid number of parameters" - exit 1 - fi - - local root_password="${1}" - local database=$2 - echoAndLog "mysqlCheckDbIsEmpty(): checking if $database is empty..." - num_tablas=`echo "show tables" | mysql -uroot -p"${root_password}" "${database}" | wc -l` - if [ $? -ne 0 ]; then - errorAndLog "mysqlCheckDbIsEmpty(): error executing query, check database and root password" - exit 1 - fi - - if [ $num_tablas -eq 0 ]; then - echoAndLog "mysqlCheckDbIsEmpty():database $database is empty" - return 0 - else - echoAndLog "mysqlCheckDbIsEmpty():database $database has tables" - return 1 - fi - -} - - -function mysqlImportSqlFileToDb() -{ - if [ $# -ne 3 ]; then - errorAndLog "${FNCNAME}(): invalid number of parameters" - exit 1 - fi - - local root_password="${1}" - local database=$2 - local sqlfile=$3 - - if [ ! -f $sqlfile ]; then - errorAndLog "${FUNCNAME}(): Unable to locate $sqlfile!!" - return 1 - fi - - echoAndLog "${FUNCNAME}(): importing sql file to ${database}..." - perl -pi -e "s/SERVERIP/$SERVERIP/g; s/DEFAULTUSER/$OPENGNSYS_DB_DEFAULTUSER/g; s/DEFAULTPASSWD/$OPENGNSYS_DB_DEFAULTPASSWD/g" $sqlfile - mysql -uroot -p"${root_password}" --default-character-set=utf8 "${database}" < $sqlfile - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while importing $sqlfile in database $database" - return 1 - fi - echoAndLog "${FUNCNAME}(): file imported to database $database" - return 0 -} - -# Crea la base de datos -function mysqlCreateDb() -{ - if [ $# -ne 2 ]; then - errorAndLog "${FUNCNAME}(): invalid number of parameters" - exit 1 - fi - - local root_password="${1}" - local database=$2 - - echoAndLog "${FUNCNAME}(): creating database..." - mysqladmin -u root --password="${root_password}" create $database - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while creating database $database" - return 1 - fi - echoAndLog "${FUNCNAME}(): database $database created" - return 0 -} - - -function mysqlCheckUserExists() -{ - if [ $# -ne 2 ]; then - errorAndLog "mysqlCheckUserExists(): invalid number of parameters" - exit 1 - fi - - local root_password="${1}" - local userdb=$2 - - echoAndLog "mysqlCheckUserExists(): checking if $userdb exists..." - echo "select user from user where user='${userdb}'\\G" |mysql -uroot -p"${root_password}" mysql | grep user - if [ $? -ne 0 ]; then - echoAndLog "mysqlCheckUserExists(): user doesn't exists" - return 1 - else - echoAndLog "mysqlCheckUserExists(): user already exists" - return 0 - fi - -} - -# Crea un usuario administrativo para la base de datos -function mysqlCreateAdminUserToDb() -{ - if [ $# -ne 4 ]; then - errorAndLog "mysqlCreateAdminUserToDb(): invalid number of parameters" - exit 1 - fi - - local root_password=$1 - local database=$2 - local userdb=$3 - local passdb=$4 - - echoAndLog "mysqlCreateAdminUserToDb(): creating admin user ${userdb} to database ${database}" - - cat > $WORKDIR/create_${database}.sql < ${basetftp}/pxelinux.cfg/default < /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 DHCP -######################################################################## - -function dhcpConfigure() -{ - echoAndLog "${FUNCNAME}(): Sample DHCP Configuration." - - backupFile /etc/dhcp3/dhcpd.conf - - 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/DHCP/dhcpd.conf > /etc/dhcp3/dhcpd.conf - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while configuring dhcp server" - return 1 - fi - - /etc/init.d/dhcp3-server restart - echoAndLog "${FUNCNAME}(): Sample DHCP Configured in file \"/etc/dhcp3/dhcpd.conf\"." - return 0 -} - - -##################################################################### -####### Funciones específicas de la instalación de Opengnsys -##################################################################### - -# Copiar ficheros del OpenGnSys Web Console. -function installWebFiles() -{ - echoAndLog "${FUNCNAME}(): Installing web files..." - cp -ar $WORKDIR/opengnsys/admin/WebConsole/* $INSTALL_TARGET/www #*/ comentario para doxigen - if [ $? != 0 ]; then - errorAndLog "${FUNCNAME}(): Error copying web files." - exit 1 - fi - find $INSTALL_TARGET/www -name .svn -type d -exec rm -fr {} \; 2>/dev/null - # Cambiar permisos para ficheros especiales. - chown -R $APACHE_RUN_USER:$APACHE_RUN_GROUP \ - $INSTALL_TARGET/www/includes \ - $INSTALL_TARGET/www/comandos/gestores/filescripts \ - $INSTALL_TARGET/www/images/iconos - echoAndLog "${FUNCNAME}(): Web files installed successfully." -} - -# Configuración específica de Apache. -function openGnsysInstallWebConsoleApacheConf() -{ - if [ $# -ne 2 ]; then - errorAndLog "${FUNCNAME}(): invalid number of parameters" - exit 1 - fi - - local path_opengnsys_base=$1 - local path_apache2_confd=$2 - local path_web_console=${path_opengnsys_base}/www - - if [ ! -d $path_apache2_confd ]; then - errorAndLog "${FUNCNAME}(): path to apache2 conf.d can not found, verify your server installation" - return 1 - fi - - mkdir -p $path_apache2_confd/{sites-available,sites-enabled} - - echoAndLog "${FUNCNAME}(): creating apache2 config file.." - - - # genera configuración - cat > $path_opengnsys_base/etc/apache.conf < - Options -Indexes FollowSymLinks - DirectoryIndex acceso.php - -EOF - - ln -fs $path_opengnsys_base/etc/apache.conf $path_apache2_confd/sites-available/opengnsys.conf - ln -fs $path_apache2_confd/sites-available/opengnsys.conf $path_apache2_confd/sites-enabled/opengnsys.conf - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): config file can't be linked to apache conf, verify your server installation" - return 1 - else - echoAndLog "${FUNCNAME}(): config file created and linked, restarting apache daemon" - /etc/init.d/apache2 restart - return 0 - fi -} - -# Crear documentación Doxygen para la consola web. -function makeDoxygenFiles() -{ - echoAndLog "${FUNCNAME}(): Making Doxygen web files..." - $WORKDIR/opengnsys/installer/ogGenerateDoc.sh \ - $WORKDIR/opengnsys/client/engine $INSTALL_TARGET/www - if [ ! -d "$INSTALL_TARGET/www/html" ]; then - errorAndLog "${FUNCNAME}(): unable to create Doxygen web files." - return 1 - fi - mv "$INSTALL_TARGET/www/html" "$INSTALL_TARGET/www/api" - chown -R $APACHE_RUN_USER:$APACHE_RUN_GROUP $INSTALL_TARGET/www/api - echoAndLog "${FUNCNAME}(): Doxygen web files created successfully." -} - - -# Crea la estructura base de la instalación de opengnsys -function openGnsysInstallCreateDirs() -{ - if [ $# -ne 1 ]; then - errorAndLog "${FUNCNAME}(): invalid number of parameters" - exit 1 - fi - - local path_opengnsys_base=$1 - - echoAndLog "${FUNCNAME}(): creating directory paths in $path_opengnsys_base" - - mkdir -p $path_opengnsys_base - mkdir -p $path_opengnsys_base/admin/{autoexec,comandos,menus,usuarios} - mkdir -p $path_opengnsys_base/bin - mkdir -p $path_opengnsys_base/client - mkdir -p $path_opengnsys_base/doc - mkdir -p $path_opengnsys_base/etc - mkdir -p $path_opengnsys_base/lib - mkdir -p $path_opengnsys_base/log/clients - mkdir -p $path_opengnsys_base/sbin - mkdir -p $path_opengnsys_base/www - mkdir -p $path_opengnsys_base/images - ln -fs /var/lib/tftpboot $path_opengnsys_base - ln -fs $path_opengnsys_base/log /var/log/opengnsys - - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while creating dirs. Do you have write permissions?" - return 1 - fi - - echoAndLog "${FUNCNAME}(): directory paths created" - return 0 -} - -# Copia ficheros de configuración y ejecutables genéricos del servidor. -function openGnsysCopyServerFiles () { - if [ $# -ne 1 ]; then - errorAndLog "${FUNCNAME}(): invalid number of parameters" - exit 1 - fi - - local path_opengnsys_base=$1 - - local SOURCES=( client/boot/initrd-generator \ - client/boot/upgrade-clients-udeb.sh \ - client/boot/udeblist.conf \ - client/boot/udeblist-jaunty.conf \ - client/boot/udeblist-karmic.conf \ - client/boot/udeblist-lucid.conf \ - server/PXE/pxelinux.cfg/default \ - doc ) - local TARGETS=( bin/initrd-generator \ - bin/upgrade-clients-udeb.sh \ - etc/udeblist.conf \ - etc/udeblist-jaunty.conf \ - etc/udeblist-karmic.conf \ - etc/udeblist-lucid.conf \ - tftpboot/pxelinux.cfg/default \ - doc ) - - if [ ${#SOURCES[@]} != ${#TARGETS[@]} ]; then - errorAndLog "${FUNCNAME}(): inconsistent number of array items" - exit 1 - fi - - echoAndLog "${FUNCNAME}(): copying files to server directories" - - pushd $WORKDIR/opengnsys - local i - for (( i = 0; i < ${#SOURCES[@]}; i++ )); do - if [ -f "${SOURCES[$i]}" ]; then - echoAndLog "Copying ${SOURCES[$i]} to $path_opengnsys_base/${TARGETS[$i]}" - cp -p "${SOURCES[$i]}" "${path_opengnsys_base}/${TARGETS[$i]}" - elif [ -d "${SOURCES[$i]}" ]; then - echoAndLog "Copying content of ${SOURCES[$i]} to $path_opengnsys_base/${TARGETS[$i]}" - cp -a "${SOURCES[$i]}"/* "${path_opengnsys_base}/${TARGETS[$i]}" - else - echoAndLog "Warning: Unable to copy ${SOURCES[$i]} to $path_opengnsys_base/${TARGETS[$i]}" - fi - done - popd -} - -#################################################################### -### Funciones de compilación de códifo fuente de servicios -#################################################################### - -# Compilar los servicios de OpenGNsys -function servicesCompilation () -{ - local hayErrores=0 - - # Compilar OpenGnSys Server - echoAndLog "${FUNCNAME}(): Compiling OpenGnSys Admin Server" - pushd $WORKDIR/opengnsys/admin/Services/ogAdmServer - make && make install - if [ $? -ne 0 ]; then - echoAndLog "${FUNCNAME}(): error while compiling OpenGnSys Admin Server" - hayErrores=1 - fi - popd - # Compilar OpenGnSys Repository Manager - echoAndLog "${FUNCNAME}(): Compiling OpenGnSys Repository Manager" - pushd $WORKDIR/opengnsys/admin/Services/ogAdmRepo - make && make install - if [ $? -ne 0 ]; then - echoAndLog "${FUNCNAME}(): error while compiling OpenGnSys Repository Manager" - hayErrores=1 - fi - popd - # Compilar OpenGnSys Client - echoAndLog "${FUNCNAME}(): Compiling OpenGnSys Admin Client" - pushd $WORKDIR/opengnsys/admin/Services/ogAdmClient - make && mv ogAdmClient ../../../client/nfsexport/bin - if [ $? -ne 0 ]; then - echoAndLog "${FUNCNAME}(): error while compiling OpenGnSys Admin Client" - hayErrores=1 - fi - popd - - return $hayErrores -} - - -#################################################################### -### Funciones instalacion cliente opengnsys -#################################################################### - -function openGnsysClientCreate() -{ - local OSDISTRIB OSCODENAME - - local hayErrores=0 - - echoAndLog "${FUNCNAME}(): Copying OpenGnSys Client files." - cp -ar $WORKDIR/opengnsys/client/nfsexport/* $INSTALL_TARGET/client - find $INSTALL_TARGET/client -name .svn -type d -exec rm -fr {} \; 2>/dev/null - echoAndLog "${FUNCNAME}(): Copying OpenGnSys Cloning Engine files." - mkdir -p $INSTALL_TARGET/client/lib/engine/bin - cp -ar $WORKDIR/opengnsys/client/engine/*.lib $INSTALL_TARGET/client/lib/engine/bin - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while copying engine files" - hayErrores=1 - fi - - # Cargar Kernel, Initrd y paquetes udeb para la distribución del servidor (o por defecto). - OSDISTRIB=$(lsb_release -i | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null - OSCODENAME=$(lsb_release -c | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null - if [ "$OSDISTRIB" = "Ubuntu" -a -n "$OSCODENAME" ]; then - echoAndLog "${FUNCNAME}(): Loading Kernel and Initrd files for $OSDISTRIB $OSCODENAME." - $INSTALL_TARGET/bin/initrd-generator -t $INSTALL_TARGET/tftpboot -v "$OSCODENAME" - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while generating initrd OpenGnSys Admin Client" - hayErrores=1 - fi - echoAndLog "${FUNCNAME}(): Loading udeb files for $OSDISTRIB $OSCODENAME." - $INSTALL_TARGET/bin/upgrade-clients-udeb.sh "$OSCODENAME" - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while upgrading udeb files OpenGnSys Admin Client" - hayErrores=1 - fi - else - echoAndLog "${FUNCNAME}(): Loading default Kernel and Initrd files." - $INSTALL_TARGET/bin/initrd-generator -t $INSTALL_TARGET/tftpboot/ - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while generating initrd OpenGnSys Admin Client" - hayErrores=1 - fi - echoAndLog "${FUNCNAME}(): Loading default udeb files." - $INSTALL_TARGET/bin/upgrade-clients-udeb.sh - if [ $? -ne 0 ]; then - errorAndLog "${FUNCNAME}(): error while upgrading udeb files OpenGnSys Admin Client" - hayErrores=1 - fi - fi - - if [ $hayErrores -eq 0 ]; then - echoAndLog "${FUNCNAME}(): Client generation success." - else - errorAndLog "${FUNCNAME}(): Client generation with errors" - fi - - return $hayErrores -} - - -# Configuración básica de servicios de OpenGnSys -function openGnsysConfigure() -{ - echoAndLog "openGnsysConfigure(): Copying init files." - cp -p $WORKDIR/opengnsys/admin/Services/opengnsys.init /etc/init.d/opengnsys - cp -p $WORKDIR/opengnsys/admin/Services/opengnsys.default /etc/default/opengnsys - update-rc.d opengnsys defaults - echoAndLog "openGnsysConfigure(): Creating OpenGnSys config file in \"$INSTALL_TARGET/etc\"." - perl -pi -e "s/SERVERIP/$SERVERIP/g" $INSTALL_TARGET/etc/ogAdmServer.cfg - perl -pi -e "s/SERVERIP/$SERVERIP/g" $INSTALL_TARGET/etc/ogAdmRepo.cfg - echoAndLog "${FUNCNAME}(): Creating Web Console config file" - OPENGNSYS_CONSOLEURL="http://$SERVERIP/opengnsys" - perl -pi -e "s/SERVERIP/$SERVERIP/g; s/OPENGNSYSURL/${OPENGNSYS_CONSOLEURL//\//\\/}/g" $INSTALL_TARGET/www/controlacceso.php - sed -e "s/SERVERIP/$SERVERIP/g" -e "s/OPENGNSYSURL/${OPENGNSYS_CONSOLEURL//\//\\/}/g" $WORKDIR/opengnsys/admin/Services/ogAdmClient/ogAdmClient.cfg > $INSTALL_TARGET/client/etc/ogAdmClient.cfg - echoAndLog "openGnsysConfiguration(): Starting OpenGnSys services." - /etc/init.d/opengnsys start -} - - -##################################################################### -####### Función de resumen informativo de la instalación -##################################################################### - -function installationSummary(){ - echo - echoAndLog "OpenGnSys Installation Summary" - echo "==============================" - echoAndLog "Project version: $(cat $INSTALL_TARGET/doc/VERSION.txt 2>/dev/null)" - echoAndLog "Installation directory: $INSTALL_TARGET" - echoAndLog "Repository directory: $INSTALL_TARGET/images" - echoAndLog "TFTP configuracion directory: /var/lib/tftpboot" - echoAndLog "DHCP configuracion file: /etc/dhcp3/dhcpd.conf" - echoAndLog "NFS configuracion file: /etc/exports" - echoAndLog "Web Console URL: $OPENGNSYS_CONSOLEURL" - echoAndLog "Web Console admin user: $OPENGNSYS_DB_USER" - echoAndLog "Web Console admin password: $OPENGNSYS_DB_PASSWD" - echoAndLog "Web Console default user: $OPENGNSYS_DB_DEFAULTUSER" - echoAndLog "Web Console default password: $OPENGNSYS_DB_DEFAULTPASSWD" - echo - echoAndLog "Post-Installation Instructions:" - echo "===============================" - echoAndLog "Review or edit all configuration files." - echoAndLog "Insert DHCP configuration data and restart service." - echoAndLog "Log-in as Web Console admin user." - echoAndLog " - Review default Organization data and default user." - echoAndLog "Log-in as Web Console organization user." - echoAndLog " - Insert OpenGnSys data (rooms, computers, etc)." -echo -} -