diff options
-rwxr-xr-x | client/engine/Cache.lib | 22 | ||||
-rwxr-xr-x | client/engine/PostConf.lib | 3 | ||||
-rwxr-xr-x | client/engine/System.lib | 4 |
3 files changed, 17 insertions, 12 deletions
diff --git a/client/engine/Cache.lib b/client/engine/Cache.lib index d1d2e881..118bc65b 100755 --- a/client/engine/Cache.lib +++ b/client/engine/Cache.lib @@ -31,25 +31,26 @@ function ogCreateCache () { # Variables locales. -local FINDCACHE NDSK PART DISK START END ENDPREVPART SIZE MINSIZE MAXSIZE ID +local FINDCACHE NDSK PART DISK START END ENDPREVPART SIZE MINSIZE MAXSIZE PTTYPE ID # Si se solicita, mostrar ayuda. if [ "$*" == "help" ]; then ogHelp "$FUNCNAME" "$FUNCNAME int_partsize" "$FUNCNAME 10000000" return fi -# Error si no se recibe 1 parámetro. +# Error si no se recibe 1 parámetro que sea un número entero. [ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $? +[[ $1 =~ ([0-9]*) ]] || ogRaiseError $OG_ERR_FORMAT "$1" || return $? FINDCACHE="1 4" # Partición de caché (ndisco npart). NDSK=${FINDCACHE% *} PART=${FINDCACHE#* } DISK=$(ogDiskToDev $NDSK) || return $? -END=$(ogGetLastSector $NDSK) # Sector final del disco. -SIZE=$(echo $1|awk '{print $0*2}') # En sectores de 512 B. +END=$[$(ogGetLastSector $NDSK 2>/dev/null)] # Sector final del disco. +SIZE=$[$1*2] # Tamaño en sectores de 512 B. START=$[END-SIZE+1] -ENDPREVPART=$(ogGetLastSector $NDSK $[PART-1]) +ENDPREVPART=$[$(ogGetLastSector $NDSK $[PART-1] 2>/dev/null)] # Error si tamaño no está entre límites permitidos o si se solapa con la partición anterior. -MINSIZE=100000 # Error de formateo si tamaño < 50 MB. +MINSIZE=25000 # Error de formateo si tamaño < 50 MB. MAXSIZE=$[END/2] # No permitir tamaño > mitad del disco. if [ $SIZE -lt $MINSIZE -o $SIZE -gt $MAXSIZE -o $START -le $ENDPREVPART ]; then ogRaiseError $OG_ERR_FORMAT "$1" || return $? @@ -58,8 +59,13 @@ fi # Desmontar todos los sistemas de archivos del disco. ogUnmountAll 1 2>/dev/null # Definir particiones y notificar al kernel. -# En el caso de ser disco GPT, de momento se borra la particion y se vuelve a crear por -# lo que se pierden los datos. +# En el caso de ser disco GPT, de momento se borra la particion y se vuelve a crear, +# por lo que se pierden los datos. +PTTYPE=$(ogGetPartitionTableType $NDSK) +if [ -z "$PTTYPE" ]; then + PTTYPE="MSDOS" # Por defecto para discos vacíos. + ogCreatePartitionTable $NDSK $PTTYPE +fi case "$(ogGetPartitionTableType $NDSK)" in GPT) # Si la tabla de particiones no es valida, volver a generarla. diff --git a/client/engine/PostConf.lib b/client/engine/PostConf.lib index e253d04f..62ba5c9b 100755 --- a/client/engine/PostConf.lib +++ b/client/engine/PostConf.lib @@ -270,8 +270,7 @@ ogSetRegistryValue "$MNTDIR" SYSTEM "\Setup\CmdLine" "cmd.exe /c $2" #@param str_adm_user usuario administrador para hacer autologin y ejecutar el runonce #@param str_adm_password password del usuario administrador #@param bool_autologin si despues de la postconfiguracion queremos que la maquina haga autologin (0 o 1) -#@param str_auto_user Usuario con el que queremos que haga -autologin despues de la postconfiguracion +#@param str_auto_user Usuario con el que queremos que haga autologin despues de la postconfiguracion #@param str_auto_password Password del usuario que hara autologin #@return (nada) #@exception OG_ERR_FORMAT Formato incorrecto. diff --git a/client/engine/System.lib b/client/engine/System.lib index 9f943c5d..ed6f24b6 100755 --- a/client/engine/System.lib +++ b/client/engine/System.lib @@ -24,7 +24,7 @@ function ogEcho () { # Variables locales -local LOGLEVEL LOGFILE DATETIME +local LOGLEVEL DATETIME # Selección del nivel de registro (opcional). case "$1" in @@ -37,7 +37,7 @@ esac DATETIME=$(date +"%F %T") if [ -n "$LOGLEVEL" ]; then - logger -s -t "OpenGnSys $LOGLEVEL" -f $LOGFILE "$DATETIME $*" + logger -s -t "OpenGnSys $LOGLEVEL" -f $OGLOGFILE "$DATETIME $*" logger -t "OpenGnSys $LOGLEVEL" -f $OGLOGCOMMAND "$DATETIME $*" logger -t "OpenGnSys $LOGLEVEL" -f $OGLOGSESSION "$DATETIME $*" else |