[e0f3634] | 1 | #!/bin/bash |
---|
| 2 | #/** |
---|
| 3 | #@file Net.lib |
---|
| 4 | #@brief Librería o clase Net |
---|
| 5 | #@class Net |
---|
| 6 | #@brief Funciones básicas de red. |
---|
[fb8c54b] | 7 | #@version 0.10 |
---|
[e0f3634] | 8 | #@warning License: GNU GPLv3+ |
---|
| 9 | #*/ |
---|
| 10 | |
---|
| 11 | |
---|
| 12 | #/** |
---|
| 13 | # ogGetHostname |
---|
| 14 | #@brief Muestra el nombre del cliente. |
---|
| 15 | #@return str_host - nombre de máquina |
---|
[fb8c54b] | 16 | #@version 0.10 - Integración en OpenGnSys 0.10 |
---|
[e0f3634] | 17 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
| 18 | #@date 2010-02-11 |
---|
| 19 | #*/ ## |
---|
| 20 | function ogGetHostname () |
---|
| 21 | { |
---|
| 22 | local HOST |
---|
[0bfbbe1] | 23 | # Tomar nombre de la variable HOSTNAME |
---|
[e0f3634] | 24 | HOST="$HOSTNAME" |
---|
[0bfbbe1] | 25 | # Si no, tomar del DHCP, opción host-name /* (comentario para Doxygen) |
---|
[e0f3634] | 26 | [ -z "$HOST" ] && HOST=$(awk -F\" '/option host-name/ {gsub(/;/,""); host=$2} |
---|
| 27 | END {print host} |
---|
| 28 | ' /var/lib/dhcp3/dhclient.leases) |
---|
[0bfbbe1] | 29 | # Si no, leer el parámetro del kernel hostname (comentario para Doxygen) */ |
---|
[e0f3634] | 30 | [ -z "$HOST" ] && HOST=$(awk 'BEGIN {RS=""; FS="="} |
---|
| 31 | $1~/hostname/ {print $2}' /proc/cmdline) |
---|
| 32 | [ "$HOSTNAME" != "$HOST" ] && export HOSTNAME="$HOST" |
---|
| 33 | echo $HOST |
---|
| 34 | } |
---|
| 35 | |
---|
| 36 | |
---|
| 37 | #/** |
---|
[bd27de2] | 38 | # ogGetNetInterface |
---|
| 39 | #@brief Muestra la interfaz de red del sistema |
---|
| 40 | #@return str_interfaz - interfaz de red |
---|
| 41 | #@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing |
---|
| 42 | #@note Usa las variables utilizadas por el initrd "/etc/net-ethX.conf |
---|
| 43 | #@author Antonio J. Doblas Viso. Universidad de Malaga. |
---|
| 44 | #@date 2011-02-24 |
---|
| 45 | #*/ ## |
---|
| 46 | function ogGetNetInterface () |
---|
| 47 | { |
---|
| 48 | echo $DEVICE |
---|
| 49 | |
---|
| 50 | } |
---|
| 51 | |
---|
| 52 | |
---|
| 53 | |
---|
| 54 | |
---|
| 55 | #/** |
---|
[e0f3634] | 56 | # ogGetIpAddress |
---|
| 57 | #@brief Muestra la dirección IP del sistema |
---|
| 58 | #@return str_ip - Dirección IP |
---|
[fb8c54b] | 59 | #@version 0.10 - Integración en OpenGnSys 0.10 |
---|
[e0f3634] | 60 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
| 61 | #@date 2010-02-11 |
---|
[8368c0d] | 62 | #@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing |
---|
[bd27de2] | 63 | #@note Usa las variables utilizadas por el initrd "/etc/net-ethX.conf |
---|
[8368c0d] | 64 | #@author Antonio J. Doblas Viso. Universidad de Malaga. |
---|
| 65 | #@date 2011-02-24 |
---|
[e0f3634] | 66 | #*/ ## |
---|
| 67 | function ogGetIpAddress () |
---|
| 68 | { |
---|
| 69 | local IP |
---|
[8368c0d] | 70 | if [ -n $IPV4ADDR ] |
---|
| 71 | then |
---|
| 72 | echo $IPV4ADDR |
---|
| 73 | else |
---|
| 74 | # Obtener direcciones IP. /* (comentario para Doxygen) |
---|
| 75 | IP=$(ip address show | awk '$2!~/lo/ { readline; if ($1~/inet$/) {sub (/\/.*/, ""); printf ("%s ", $2)}}') |
---|
| 76 | # Mostrar sólo la primera. (comentario para Doxygen) */ |
---|
| 77 | echo ${IP%% *} |
---|
| 78 | fi |
---|
[e0f3634] | 79 | } |
---|
| 80 | |
---|
| 81 | |
---|
| 82 | #/** |
---|
| 83 | # ogGetMacAddress |
---|
| 84 | #@brief Muestra la dirección Ethernet del cliente. |
---|
| 85 | #@return str_ether - Dirección Ethernet |
---|
[fb8c54b] | 86 | #@version 0.10 - Integración en OpenGnSys 0.10 |
---|
[e0f3634] | 87 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
| 88 | #@date 2010-02-11 |
---|
| 89 | #*/ ## |
---|
| 90 | function ogGetMacAddress () |
---|
| 91 | { |
---|
| 92 | local MAC |
---|
| 93 | # Obtener direcciones Ethernet. |
---|
[61c14c3] | 94 | MAC=$(ip address show | awk '$2!~/lo/ {readline; if ($1~/ether/) printf ("%s ", toupper($2));}') |
---|
[e0f3634] | 95 | # Mostrar sólo la primera. |
---|
| 96 | echo ${MAC%% *} |
---|
| 97 | } |
---|
| 98 | |
---|
[fb8c54b] | 99 | |
---|
| 100 | #/** |
---|
| 101 | # ogGetRepoIp |
---|
| 102 | #@brief Muestra la dirección IP del repositorio de datos. |
---|
| 103 | #@return str_ip - Dirección IP |
---|
| 104 | #@version 0.10 - Integración en OpenGnSys 0.10 |
---|
| 105 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
| 106 | #@date 2011-01-13 |
---|
[bd27de2] | 107 | #@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing |
---|
| 108 | #@note Comprobacion segun protocolo de conexion al Repo |
---|
| 109 | #@author Antonio J. Doblas Viso. Universidad de Malaga. |
---|
| 110 | #@date 2011-02-24 |
---|
[fb8c54b] | 111 | #*/ ## |
---|
| 112 | function ogGetRepoIp () |
---|
| 113 | { |
---|
[bd27de2] | 114 | # Obtener direcciones IP, segun el protocolo de montaje |
---|
[16919ef] | 115 | if [ -n "$OGIMG" ]; then |
---|
| 116 | case "$ogprotocol" in |
---|
| 117 | nfs) mount | grep " on $OGIMG " | cut -f1 -d: ;; |
---|
| 118 | smb) mount | grep " on $OGIMG " | cut -f3 -d/ ;; |
---|
| 119 | esac |
---|
| 120 | fi |
---|
[fb8c54b] | 121 | } |
---|
| 122 | |
---|
| 123 | |
---|
| 124 | #/** |
---|
| 125 | # ogGetServerIp |
---|
| 126 | #@brief Muestra la dirección IP del Servidor de OpenGnSys. |
---|
| 127 | #@return str_ip - Dirección IP |
---|
| 128 | #@version 0.10 - Integración en OpenGnSys 0.10 |
---|
| 129 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
| 130 | #@date 2011-01-13 |
---|
[bd27de2] | 131 | #@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing |
---|
| 132 | #@note Comprobacion segun protocolo de conexion al Repo |
---|
| 133 | #@author Antonio J. Doblas Viso. Universidad de Malaga. |
---|
| 134 | #@date 2011-02-24 |
---|
[fb8c54b] | 135 | #*/ ## |
---|
| 136 | function ogGetServerIp () |
---|
| 137 | { |
---|
| 138 | # Obtener direcciones IP. |
---|
[16919ef] | 139 | if [ -n "$PENGNSYS" ]; then |
---|
| 140 | case "$ogprotocol" in |
---|
| 141 | nfs) mount | grep " on $OPENGNSYS " | cut -f1 -d: ;; |
---|
| 142 | smb) mount | grep " on $OPENGNSYS " | cut -f3 -d/ ;; |
---|
| 143 | esac |
---|
| 144 | fi |
---|
[fb8c54b] | 145 | } |
---|
| 146 | |
---|