Descarga Firefox OS Simulator 3

Desde la Fundación Mozilla han anunciado que finalmente ya se encuentra disponible la versión final de Firefox OS Simulator 3.0, una aplicación que nos permite evaluar cómo funciona esta plataforma en PCs y portátiles que utilizan Linux, Windows o Mac OS.

FirefoxOS.2-520x245
En esta nueva versión se incluyen algunas funcionalidades extra como el soporte para la rotación y la geolocalización.

Entre las novedades de Firefox OS Simulator 3.0 destacan la posibilidad de enviar a un teléfono físico la aplicación que estemos desarrollando mediante conexión USB, con la opción “Push to Device”. También incorpora versiones actualizadas del motor de renderizado y las bibliotecas de la interfaz usuario Gaia (la nueva interfaz de Firefox OS) así como atajos para volver a instalar o reiniciar aplicaciones.

El tamaño del simulador es ahora más pequeño, por lo que, tanto descarga como inicio de la aplicación es más rápido.

Por último, cabe mencionar que la documentación de instalación también mejora significativamente.

Para instalar Firefox OS Simulator 3.0 deberemos agregar un complemento al navegador web Firefox, siendo éste un requisito para poder utilizar el simulador. Luego, será cuestión de lanzar el simulador junto con todas las herramientas para desarrolladores que la Fundación Mozilla está ofreciendo actualmente para facilitar el trabajo de los programadores.

Descargar Firefox OS Simulator 3

Quitar la marca de agua AMD Unsupported en Ubuntu 13

La dichosa y jodida marca de agua aparece en la esquina inferior derecha. A mi en particular me ha aparecido por tener una tarjeta gráfica ATI. El script me lo he encontrado en askubuntu.com porque desde la versión beta de Ubuntu 13 aparece dicha marca de agua para varias tarjetas gráficas de la marca AMD (ATI)

Abrimos cualquier gedit o cualquier otro editor de textos y agregamos lo siquiente:

#!/bin/sh
DRIVER=/usr/lib/fglrx/xorg/modules/drivers/fglrx_drv.so
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER
done

Lo guardamos en escritorio (o donde querais) con cualquier nombre y al final con la extensión .sh

chmod +x Desktop/fix_amd.sh

Lo ejecutamos

sudo Desktop./fix_amd.sh

Cerramos sesión e iniciamos nuevamente. La marca de agua habrá desaparecido para siempre. Voilá 😀

Bloquear visitas procedentes de un sitio web (Referrer Block)

Suele pasar a veces que hay links de spammers hacia tu web que no has puesto tu o vienen de sitios webs de sospechosa procedencia y no nos interesan esas visitas. Pueden ser sitios de spam, foros de spammers, sitios porno, o simplemente webs de las que no quieres recibir visitantes.

Para bloquear los visitantes procedentes de estos sitios webs, es necesario agregar unas pocas líneas en tu archivo .Htaccess

# spam_ref variable definida
SetEnvIfNoCase Referer "^ http:// (www.)? Refferer.com Sitio" spam_ref = 1
SetEnvIfNoCase Referer "^ http:// (www.)? Otra-site.com" spam_ref = 1
SetEnvIfNoCase Referer "^ palabra-incluido-en-dirección-url" spam_ref = 1
# bloquear todo el conjunto en spam_ref
<FilesMatch "(.*)">
Orden allow, deny
Dejar de todas las
Deny from env = spam_ref
</ FilesMatch>

“#”Añadido delante de las líneas. Htaccess, cancelar la línea. Digamos que una línea informativa.

SetEnvIfNoCase Referer "^ palabra-incluido-en-dirección-url" spam_ref = 1

Esto bloquea la línea de todos los sitios que contengan la URL, pon tu palabra, por ejemplo:

SetEnvIfNoCase Referer "^ adulto" spam_ref = 1

La línea anterior bloquear todos los sitios que contengan referencia “adulto”En la URL. adult123.com, adult.ro, 210391adult.net.

Esta es otra forma de bloquear SPAM en formularios, foros, comentarios …

Scripts en Bash: Backup Incremental y Full backup

Requisito para una urgencia en una empresa fue crear de urgencia unos full backups y un backup incremental diario de un repositorio. Como siempre estos requerimientos se requieren para ayer y son para salvar cabezas cuando las papas queman.

Debido al gran volumen de datos, como estrategia de backups se decidió realizar un Full backup mensual y un backup incremental diario.

A tal fin, se escribieron dos scripts, el primero de ellos, que dado un directorio crea un archivo tar comprimido del mismo. Y el segundo, el que se ejecuta diariamente, que se encarga de verificar la fecha de modificación del último backup full del directorio y a partir de la misma crea un tar comprimido con los cambios desde entonces.

Nada de otro mundo, dos scripts en bash sencillos, pero que se dejan a vuestra disposición por si las moscas.

Backup incremental:


#!/bin/sh
TAR=$(which tar)
TEE=$(which tee)

&nbsp;

ARGS=2

if [ $# -ne $ARGS ]

then
echo “Usage: “$0” file dir”
echo ” file: backup file name”
echo ” dir: path to backup”
exit
fi

APP=$0 #app name
FILE=$1“_incremental.tgz” #backup file
FILE_FULL=$1“_full.tgz” #backup full
FILE_OLD=$FILE“~” #file backuped before remove
DIR=$2 #path

LOG_DIR=/var/log
LOG_FILE=$LOG_DIR“/”${APP##*\/}“.log” #remuevo de APP lo que este antes de la ultima /

TODAY=`date “+%Y-%m-%d %a”`
echo $TODAY” *** Backup incremental ***” | $TEE -a $LOG_FILE

if [ ! -d $DIR ]
then
echo “ERROR: path “$DIR” not exist” | $TEE -a $LOG_FILE
exit
fi

# Reviso si existe el backup full
if [ ! -f $FILE_FULL ];
then
echo “ERROR: full backup “$FILE_FULL” not exist!” | $TEE -a $LOG_FILE
exit
fi

#Realizo backup del backup

echo “Rotating files…” | $TEE $LOG_FILE

if [ -f $FILE ];

then
#cp -v $FILE $FILE_OLD | $TEE $LOG_FILE
rm -v $FILE | $TEE $LOG_FILE
fi

#Realizo el backup
DATE_FULL=“`date \”+%Y-%m-%d %H:%M\” -r “$FILE_FULL“`”
echo “Full backupe created: “$DATE_FULL | $TEE $LOG_FILE

echo “Making backup…” | $TEE $LOG_FILE
$TAR -chzf $FILE –newer-mtime=“$DATE_FULL” $DIR | $TEE -a $LOG_FILE

if [ $? == 0 ]
then
echo “Backup successfull!”
else
echo “ERROR: error making backup <img alt=":-(" src="http://luauf.com/wp-includes/images/smilies/icon_sad.gif" /> “
fi

Full backup:


#!/bin/bash

&nbsp;

TAR=$(which tar)
TEE=$(which tee)

ARGS=2

if [ $# -ne $ARGS ]
then
echo “Usage: “$0” file dir”
echo ” file: backup file name”
echo ” dir: path to backup”
exit
fi

APP=$0 #app name
FILE=$1“_full.tgz” #backup file
FILE_OLD=$FILE“~” #file backuped before remove
DIR=$2 #path

LOG_DIR=/var/log
LOG_FILE=$LOG_DIR“/”${APP##*\/}“.log” #remuevo de APP lo que este antes de la ultima /

TODAY=`date “+%Y-%m-%d %a”`
echo $TODAY” *** Backup full *** “ | $TEE -a $LOG_FILE

if [ ! -d $DIR ]
then
echo “ERROR: path “$DIR” not exist” | $TEE -a $LOG_FILE
exit
fi

#Realizo backup del backup
echo “Rotating files…” | $TEE -a $LOG_FILE

if [ -f $FILE ];
then
#cp -v $FILE $FILE_OLD | $TEE -a $LOG_FILE
rm -v $FILE | $TEE -a $LOG_FILE
fi

echo “Making backup…” | $TEE -a $LOG_FILE
#Realizo el backup
$TAR -chzf $FILE $DIR | $TEE -a $LOG_FILE

if [ $? == 0 ]
then
echo “Backup successfull!”
else
echo “ERROR: error making backup <img alt=":-(" src="http://luauf.com/wp-includes/images/smilies/icon_sad.gif" /> “
fi

raiola manda y no el panda

Redireccionar emails salientes a la IP que queramos

La necesidad de redireccionar hacia otra IP todos los emails salientes en un servidor puede ser debido a que hallan metido la IP principal de salida SMTP en alguna buena jodida lista negra en la que tarden mucho en des-listar la IP. Para solucionar este problema rápidamente hay que redireccionar todo el tráfico saliente del puerto 25 o 587 (o al puerto que tengamos configurado el SMTP) hacia otra IP que tengamos configurada en nuestro servidor. La regla de IPTables es la siguiente:

Regla para el puerto 25:


iptables -t nat -A POSTROUTING -p tcp --dport 25 -j SNAT --to-source AQUI-LA-NUEVA-IP

raiola manda y no el panda

Monitoriza tu servidor con Glance

glances

Al igual que conocéis Htop, en está ocasión vamos a ver que es y como se instala Glance.

Glance es una herramienta de monitoreo basado en CLI curses para GNU/Linux y BSD OS. Glance es mucho más completo que el ultra conocido HTOP.
Glances utiliza la librería PsUtil para obtener la información del sistema. Está desarrollada en Phyton.

glance-screenshot

Instalación

Pre-requisitos:

  • Python 2.6+ (no probado con Python 3+)
  • build-essential (para instalación vía Pypi y setup.py)
  • python-dev (para instalación vía Pypi)
  • python-setuptools (para instalación vía setup.py)
  • python-psutil 0.4.1+ (reemplaza las librería anteriores libstatgrab’s lib)
  • python-jinja2 2.0+ (opcional para exportar a HTML)
  • pysensors (librería Python para estadísticas de sensores)

Desde administrador de paquetes (la manera mas fácil)

Paquetes existen para Debian (SID), Arch, Fedora, RedHat, FreeBSD

Desde PyPi (forma facil y multiplatforma)

PyPi es una administrador de paquetes no oficial.

Primero necesitas instalar pypi en tu sistema. Por ejemplo en Ubuntu/Xubuntu:


sudo apt-get install python-pip build-essential python-dev

Luego, instalar la ultima version de Glance:


sudo pip install Glances

Esta instalación es básica para servidores y/o equipos con sistemas Debian/Ubuntu. Para instalar Glance en servidores basados en RHEL/Centos hay que instalar repositorios EPEL y después hacer


yum -y install python-pip

Ejecucion de Glance

En modo Standalone

Si quiere monitorear la maquina local, ejecuta:

glance

En modo cliente/servidor

Si quieres monitorear un maquina remotamente (llamado servidor) desde otra (llamada cliente)

Ejecuta este comando en el servidor:


server$ glances -s

Y este en el cliente:


client$ glances -c @server

Donde @server es la IP del servidor o el nombre del servidor

Glance utiliza el esquema de servicio XML/RPC y puede ser usado por otro software cliente

Guía de usuario

Por defecto las estadísticas se actualizan cada segundo, para cambiar esto puede usar la opción -t. Por ejemplo para definir la actualización cada 5 segundos seria:

glances -t 5

Las estadisticas importantes estan coloreadas como:

  • VERDE: conteo de estadísticas es “OK”
  • AZUL: conteo de estadistica es “CAREFUL” (Cuidado)
  • MAGENTA: conteo de estadistica es “WARNING” (Alarma)
  • ROJO: conteo de estadística es “CRITICAL” (Critico)

Cuando Glance esta en ejecucion puedes presionar las siguiente teclas:

‘h’ muestra el mensaje de ayuda en pantalla con las teclas que puedes utilizar

‘a’ definir el método automático. Los procesos son ordenados automaticamente

Si CPU > 70%, ordena los procesos por consumo de CPU

Si MEM > 70%, orden los procesos por consumo de tamaño de memoria

‘b’ intercambia entre bit/s o byte/s para la E/S de red

‘c’ ordena la lista de procesos por consumo de CPU

‘d’ habilita/deshabilita las estadísticas de I/O en disco

‘e’ habilita el modulo de sensores (la librería PySensors es necesaria; Solo Linux)

‘f’ hablita/deshabilita las estadísticas del sistema de archivos

‘l’ habilita/deshabilita el logeo de la aplicación.

‘m’ ordena la lista de procesos por consumo de memoria

‘n’ habilita/deshabilita las estadisticas de la interfaz de red

‘p’ ordena por el nombre del proceso

‘w’ elimina los WARNING finalizados (que ya no estan) del archivo log

’1′ intercambia entre las estadisticas globales del CPU y las estadisticas particulares por cada CORE

‘q’ salir de la aplicacion

En modo servidor, puede definir la IP donde escuchara las peticiones (-B DIRECCION) y el puerto (-p PUERTO)

En el modo cliente, puede definir el puerto del servidor con -p PUERTO

La IP de escucha por defecto es 0.0.0.0, es decir, en todas las que tenga el equipo.

Si teneis alguna pregunta sobre Glance, decirlos en los comentarios!! Be water my friends!!