Archivo de la categoría: Linux

Distinguir una sesión local de una remota en Linux

Me he encontrado con la necesidad de programar un pequeño script en bash para el servidor Linux de un cliente. Dicho script estaba funcionando correctemente en la máquina local pero no así cuando se realizaba una conexión remota.

Ante esto era preciso encontrar alguna manera de discernir entre las conexiones locales y remontas para realizar configuraciones diferentes para cada una.

La solución, sencilla y un tanto ingeniosa, pasó por utilizar variables de entorno para hacer la distinción entre conexión local y remota:

if [[ -z "$REMOTEHOST" &&  -z  "$SSH_CLIENT"  ]]; then
echo "Cliente conectado en local";
else
echo "Cliente conectado en remoto";
fi

Se comprueba que no existan las variables de entorno $REMOTEHOST ni $SSH_CLIENT, la primera está presente en conexiones telnet y la segunda en conexiones SSH. Si no existe ninguna de ellas la conexión es local, si existe alguna de ellas la conexión es remota.

Error al descargar módulo iwl3945 en Ubuntu 9.04

En Ubuntu 9.04 (Jaunty Jackalope) se está sufriendo el bloqueo total del sistema al descargar el módulo iwl3945.

El escenario para reproducir este error es el siguiente:

sudo -s

– tarjeta wifi:

lspci -vnvn | grep Wireless

0c:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)

–  kernel:

uname -a

Linux chewe 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux

– módulo:

lsmod | grep iw

iwl3945

– acción:

modprobe -r iwl3945

Resultado: Bloqueo total del sistema operativo.

Solución:

Aplicar el siguiente parche: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/345710/comments/3

– Otra posible solución más rápida sería desactivar la interfaz antes de descargar el módulo y volver a levantarla después:

ifconfig wlan0 down
modprobe -r iwl3945