diff options
author | ramon <ramongomez@us.es> | 2009-10-20 12:45:37 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2009-10-20 12:45:37 +0000 |
commit | 1c04494225fab6abe8897ed306176c4be95ef3e3 (patch) | |
tree | 41c219bb38bee2ed89b33c6eb6b43e1aca6db597 /client/engine/Inventory.lib | |
parent | c2b03eb3c234218d8984300dc452f08c06275f12 (diff) |
Correcciones en scripts; metafunción ogGetOsType.
git-svn-id: https://opengnsys.es/svn/trunk@394 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/engine/Inventory.lib')
-rwxr-xr-x | client/engine/Inventory.lib | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/client/engine/Inventory.lib b/client/engine/Inventory.lib index 816adf00..30f91f53 100755 --- a/client/engine/Inventory.lib +++ b/client/engine/Inventory.lib @@ -12,15 +12,15 @@ #/** # ogGetOsVersion int_ndisk int_npartition #@brief Devuelve la versión del sistema operativo instalado en un sistema de archivos. -#@arg \c ndisk nº de orden del disco -#@arg \c npartition nº de orden de la partición -#@return TipoSistema:Versión +#@arg \c int_ndisk nº de orden del disco +#@arg \c int_npartition nº de orden de la partición +#@return OSType:OSVersion #@note TipoSistema = { Linux, Windows } #@note Requisitos: awk, head, chroot #@exception OG_ERR_FORMAT Formato incorrecto. #@exception OG_ERR_NOTFOUND Disco o partición no corresponden con un dispositiv #@exception OG_ERR_PARTITION Fallo al montar el sistema de archivos. -#@version 0.1 - Primeras pruebas con OpenGNSys +#@version 0.9 - Primera versión para OpenGNSys #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2009-09-15 #*/ @@ -43,25 +43,25 @@ MNTDIR=$(ogMount $1 $2) || return $? #/// Elección del tipo de sistema operativo. case "$(ogGetFsType $1 $2)" in EXT[234] | REISERFS | REISER4) - TYPE="Linux" - #/// Para Linux: leer descripción. - VERSION=$(chroot $MNTDIR lsb_release -d 2>/dev/null| awk -F: '{gsub (/\t/,""); print $2}') - #/// Si no se puede obtener, buscar en ficheros del sistema. - if [ -z "$VERSION" ]; then - FILE="$MNTDIR/etc/lsb-release" - [ -r $FILE ] && VERSION="$(awk 'BEGIN {FS="="}; $1~/DESCRIPTION/ {gsub(/\"/,"",$2); print $2}' $FILE)" - FILE="$MNTDIR/etc/redhat-release" - [ -r $FILE ] && VERSION="$(head -1 $FILE)" - FILE="$MNTDIR/etc/SuSE-release" - [ -r $FILE ] && VERSION="$(head -1 $FILE)" - fi - [ -e $MNTDIR/lib64 ] && VERSION="$VERSION 64 bits" - ;; + TYPE="Linux" + #/// Para Linux: leer descripción. + VERSION=$(chroot $MNTDIR lsb_release -d 2>/dev/null| awk -F: '{gsub (/\t/,""); print $2}') + #/// Si no se puede obtener, buscar en ficheros del sistema. + if [ -z "$VERSION" ]; then + FILE="$MNTDIR/etc/lsb-release" + [ -r $FILE ] && VERSION="$(awk 'BEGIN {FS="="}; $1~/DESCRIPTION/ {gsub(/\"/,"",$2); print $2}' $FILE)" + FILE="$MNTDIR/etc/redhat-release" + [ -r $FILE ] && VERSION="$(head -1 $FILE)" + FILE="$MNTDIR/etc/SuSE-release" + [ -r $FILE ] && VERSION="$(head -1 $FILE)" + fi + [ -e $MNTDIR/lib64 ] && VERSION="$VERSION 64 bits" + ;; NTFS | HTNFS | FAT32 | HFAT32) - TYPE="Windows" - #/// Para Windows: leer la version del registro. - VERSION=$(ogGetRegistryValue $MNTDIR software '\Microsoft\Windows NT\CurrentVersion\ProductName') - ;; + TYPE="Windows" + #/// Para Windows: leer la version del registro. + VERSION=$(ogGetRegistryValue $MNTDIR software '\Microsoft\Windows NT\CurrentVersion\ProductName') + ;; esac #/// Mostrar resultado y salir sin errores. @@ -71,6 +71,20 @@ return 0 #/** +# ogGetOsType int_ndisk int_npartition +#@brief Devuelve el tipo del sistema operativo instalado. +#@arg \c int_ndisk nº de orden del disco +#@arg \c int_npartition nº de orden de la partición +#@return OSType +#@note OSType = { Linux, Windows } +#@see ogGetOsVersion +#*/ +function ogGetOsType () { +ogGetOsVersion "$@" | cut -sf1 -d: +} + + +#/** # ogListHardwareInfo #@brief Lista el inventario de hardware de la máquina cliente. #@return TipoDispositivo:Modelo (por determinar) |