1 | #!/bin/bash |
---|
2 | #/** |
---|
3 | #@file loadenviron.sh |
---|
4 | #@brief Script de carga de la API de funciones de OpenGNSys. |
---|
5 | #@warning License: GNU GPLv3+ |
---|
6 | #@version 0.9 |
---|
7 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
8 | #@date 2009-10-10 |
---|
9 | #@version 1.0.3 - Limpiar código y configuración modo off-line |
---|
10 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
11 | #@date 2012-01-12 |
---|
12 | #*/ |
---|
13 | |
---|
14 | # Idioma por defecto. |
---|
15 | export LANG="${LANG:-es_ES}" |
---|
16 | |
---|
17 | # Directorios del projecto OpenGnSys. |
---|
18 | export OPENGNSYS="${OPENGNSYS:-/opt/opengnsys}" |
---|
19 | if [ -d $OPENGNSYS ]; then |
---|
20 | export OGBIN=$OPENGNSYS/bin |
---|
21 | export OGETC=$OPENGNSYS/etc |
---|
22 | export OGLIB=$OPENGNSYS/lib |
---|
23 | export OGAPI=$OGLIB/engine/bin |
---|
24 | export OGSCRIPTS=$OPENGNSYS/scripts |
---|
25 | export OGIMG=$OPENGNSYS/images |
---|
26 | export OGCAC=$OPENGNSYS/cache |
---|
27 | export OGLOG=$OPENGNSYS/log |
---|
28 | |
---|
29 | export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin:/opt/oglive/rootfs/opt/drbl/sbin |
---|
30 | |
---|
31 | export PATH=$OGSCRIPTS:$PATH:$OGAPI:$OGBIN |
---|
32 | |
---|
33 | # Exportar parámetros del kernel. |
---|
34 | for i in $(cat /proc/cmdline); do |
---|
35 | echo $i | grep -q "=" && export $i |
---|
36 | done |
---|
37 | |
---|
38 | # Cargar fichero de idioma. |
---|
39 | LANGFILE=$OGETC/lang.${LANG%@*}.conf |
---|
40 | if [ -f $LANGFILE ]; then |
---|
41 | source $LANGFILE |
---|
42 | for i in $(awk -F= '{if (NF==2) print $1}' $LANGFILE); do |
---|
43 | export $i |
---|
44 | done |
---|
45 | fi |
---|
46 | # Mensaje de carga del entorno. |
---|
47 | echo "${MSG_LOADAPI:-.}" |
---|
48 | |
---|
49 | # Cargar mapa de teclado. |
---|
50 | loadkeys ${LANG%_*} >/dev/null |
---|
51 | |
---|
52 | # Cargar API de funciones. |
---|
53 | for i in $OGAPI/*.lib; do |
---|
54 | source $i |
---|
55 | done |
---|
56 | |
---|
57 | for i in $(typeset -F | cut -f3 -d" "); do |
---|
58 | export -f $i |
---|
59 | done |
---|
60 | |
---|
61 | # Cargar configuración del engine. |
---|
62 | [ -f ${OGETC}/engine.cfg ] && source ${OGETC}/engine.cfg |
---|
63 | export OGLOGCOMMAND=${OGLOGCOMMAND:-/tmp/command.log} |
---|
64 | export OGLOGSESSION=${OGLOGSESSION:-/tmp/session.log} |
---|
65 | |
---|
66 | # Cargar las APIs según engine. |
---|
67 | if [ -n "$ogengine" ]; then |
---|
68 | for i in $OGAPI/*.$ogengine; do |
---|
69 | [ -f $i ] && source $i |
---|
70 | done |
---|
71 | fi |
---|
72 | |
---|
73 | # Configuración de la red (modo offline). |
---|
74 | eval $(grep "^DEVICECFG=" /tmp/initrd.cfg 2>/dev/null) |
---|
75 | if [ -n "$DEVICECFG" ]; then |
---|
76 | export DEVICECFG |
---|
77 | [ -f $DEVICECFG ] && source $DEVICECFG |
---|
78 | fi |
---|
79 | |
---|
80 | # FIXME Pruebas para grupos de ordenadores |
---|
81 | export OGGROUP="$group" |
---|
82 | |
---|
83 | ROOTREPO=${ROOTREPO:-"$OGSERVERIMAGES"} |
---|
84 | |
---|
85 | # Fichero de registros. |
---|
86 | export OGLOGFILE="$OGLOG/$(ogGetIpAddress).log" |
---|
87 | fi |
---|
88 | |
---|
89 | # Declaración de códigos de error. |
---|
90 | export OG_ERR_FORMAT=1 # Formato de ejecución incorrecto. |
---|
91 | export OG_ERR_NOTFOUND=2 # Fichero o dispositivo no encontrado. |
---|
92 | export OG_ERR_PARTITION=3 # Error en partición de disco. |
---|
93 | export OG_ERR_LOCKED=4 # Partición o fichero bloqueado. |
---|
94 | export OG_ERR_IMAGE=5 # Error al crear o restaurar una imagen. |
---|
95 | export OG_ERR_NOTOS=6 # Sin sistema operativo. |
---|
96 | export OG_ERR_NOTEXEC=7 # Programa o función no ejecutable. |
---|
97 | # Códigos 8-13 reservados por ogAdmClient.h |
---|
98 | export OG_ERR_NOTWRITE=14 # No hay acceso de escritura |
---|
99 | export OG_ERR_NOTCACHE=15 # No hay particion cache en cliente |
---|
100 | export OG_ERR_CACHESIZE=16 # No hay espacio en la cache para almacenar fichero-imagen |
---|
101 | export OG_ERR_REDUCEFS=17 # Error al reducir sistema archivos |
---|
102 | export OG_ERR_EXTENDFS=18 # Error al expandir el sistema de archivos |
---|
103 | export OG_ERR_OUTOFLIMIT=19 # Valor fuera de rango o no válido. |
---|
104 | export OG_ERR_FILESYS=20 # Sistema de archivos desconocido o no se puede montar |
---|
105 | |
---|
106 | export OG_ERR_IMGSIZEPARTITION=30 # Error al restaurar partición más pequeña que la imagen |
---|
107 | |
---|
108 | export OG_ERR_UCASTSYNTAXT=50 # Error en la generación de sintaxis de transferenica UNICAST |
---|
109 | export OG_ERR_UCASTSENDPARTITION=51 # Error en envío UNICAST de partición |
---|
110 | export OG_ERR_UCASTSENDFILE=52 # Error en envío UNICAST de un fichero |
---|
111 | export OG_ERR_UCASTRECEIVERPARTITION=53 # Error en la recepcion UNICAST de una particion |
---|
112 | export OG_ERR_UCASTRECEIVERFILE=54 # Error en la recepcion UNICAST de un fichero |
---|
113 | export OG_ERR_MCASTSYNTAXT=55 # Error en la generacion de sintaxis de transferenica Multicast. |
---|
114 | export OG_ERR_MCASTSENDFILE=56 # Error en envio MULTICAST de un fichero |
---|
115 | export OG_ERR_MCASTRECEIVERFILE=57 # Error en la recepcion MULTICAST de un fichero |
---|
116 | export OG_ERR_MCASTSENDPARTITION=58 # Error en envio MULTICAST de una particion |
---|
117 | export OG_ERR_MCASTRECEIVERPARTITION=59 # Error en la recepcion MULTICAST de una particion |
---|
118 | export OG_ERR_PROTOCOLJOINMASTER=60 # Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER |
---|
119 | |
---|
120 | export OG_ERR_DONTMOUNT_IMAGE=70 # Error al montar una imagen sincronizada. |
---|
121 | export OG_ERR_DONTSYNC_IMAGE=71 # Imagen no sincronizable (es monolitica) |
---|