Reemplazo de disco en Software RAID


Cuando tenemos armado un RAID por soft y tenemos algún problema con un disco, la primer pregunta que se nos viene a la cabeza es: cuál es el disco quie está fallando ???

Este no es un dato que salte a la vista y debemos determinarlo bien, ya que si comenzamos a cambiar discos desordenadamente seguramente terminemos destruyendo el RAID.

La manera de determinar que disco está fallando es consultar en el sistema los números de serie de los discos activos y luego, verificar estos números con las etiquetas de los discos.

Como consultamos los números de serie de los discos ?

# smartctl -i /dev/sdb1

ó

# hdparm -i /dev/sda1

ó

# ls -l /dev/disk/by-id/

Como añadimos un disco fisico nuevo a un raid donde se removio el disco ?

# mdadm --manage -a /dev/md1 /dev/sdb

Como consultamos el estado de un RAID o el avance de su reconstrucción ?

# mdadm --detail /dev/md1

ó

# cat /proc/mdstat

 

 

Hola Mundo en Android


1) Instalamos las herramientas de desarrollo:
Descargamos Eclipse desde http://www.eclipse.org/downloads/
Yo elegí la versión “Eclipse IDE for Java Developers”.
Extraemos:

 $ tar -zxvf eclipse-java-indigo-SR2-linux-gtk-x86_64.tar.gz
 instalamos:
 $ sudo mv eclipse /opt/Eclipse

2) Descargamos e instalamos el plugin para Eclipse ADT.
Abrimos Eclipse (podemos poner esta llamada en el menú de aplicaciones):

 $ /opt/Eclipse/eclipse

Luego en el menú “Help –> Install New Software” agregamos la siguiente dirección en el cuadro de dialogo:

 https://dl-ssl.google.com/android/eclipse/

Marcamos “Developer Tools” y le damos “Siguiente”

Aceptamos las licencias y le damos “Finalizar” para completar la instalación.
Nos pedirá reiniciar Eclipse.
3) Después de reiniciar, automaticamente nos consultará por la instalación de los Android SDK.
Seleccionamos las versiones que necesitemos y el programa descargará e instalará el SDK.

4) Configuramos el plugin ADT:
En Eclipse vamos a Window –> Preferences, seleccionamos Android y le damos Aceptar.
5) Configuramos una nueva maquina virtual donde correremos nuestras aplicaciones:
Vamos a Window–>ADV Manager, presionamos New y ponemos los datos de la nueva máquina virtual.

6) Ya estamos en condiciones de escribir nuestra primer linea de código:

Vamos a File–>New –> Android Project

Definimos nombre del proyecto, nombre del paquete y versión de android con que se ejecutará.

Luego podremos desplegar en el arbol del proyecto las partes mas importantes de una aplicación Android:

AndroidManifest: Es un archivo de tipo XML, en este archivo definimos la versión de nuestra aplicación, los activities de los que consta y los permisos que debe de tomar la aplicación (conexión a internet, mensajeria, contactos, etc).

Res/Layout/Main.Xml: Define toda la interfaz gráfica de la aplicación, por defecto crea la inicial con un layout simple.

Res/Values/Strings.Xml: Define un cadena de caracteres a ser llamada desde nuestra aplicación Java.Resulta mas útil que estar escribiendo variables en la propia aplicación. Por defecto nos crea un string que resuelve el nombre de la aplicación.

Res/Drawable: Aquí encontramos todos los iconos e imágenes que vamos a usar en nuestra aplicación.

Src/Package/Aplicación.java: Todo el código en Java de nuestra aplicación.

Ahora bien, para escribir nuestra linea “Hola Mundo”, definimos en el archivo strings.xml:

<string name=”hello”> HolaMundo!</string>

Ahora mostramos el valor de esta variable llamandola desde el archivo de interfaz “main.xml”:

<TextView
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:text=”@string/hello”
/>

con fill_parent le estamos diciendo que ocupe todo el espacio disponible a lo ancho y a lo alto.

Ahora ya podemos ejecutar nuestra aplicación con “Run”. Arrancará la máquina virtual y mostrará el resultado.

7) Para instalar esta aplicación en nuestro dispositivo Android, copiamos el /bin/holamundo.apk a nuestro dispositivo e instalamos.

 

RBL (Real Time Block List) con qmail


La implementación de RBL en qmail es bastante simple en la instalación estandard. Solo debemos modificar el script qmail-smtpd agregando las lineas “-r algun_rbl”.

Este es un ejemplo de la parte del exec del script:

exec /usr/local/bin/softlimit -m 30000000 
 /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" 
 -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp 
 /usr/local/bin/rblsmtpd -b -r list.dsbl.org 
 -r cbl.abuseat.org 
 -r combined.njabl.org 
 -r relays.ordb.org 

Verificar servicios SMTP y POP con telnet por consola


Muchas veces necesitamos verificar o probar si los servicios POP o SMTP están levantados y en dicho caso establecer diálogo con el servidor de mail para verificar que no hay errores en sus instalación.

Para estos casos, estas son las pruebas básicas:

Leemos los mails disponibles para descarga por POP3:

# telnet localhost 110
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
+OK <16658.1054485137@yourserver.com>
user postmaster@mydomain.com (ingresar direccion de mail completa)
+OK
pass your_password
+OK
list
+OK
1 1349     (aqui muestra la lista de e-mails disponibles en la casilla)
.
quit
+OK
Connection closed by foreign host.
This is the sign of a successfull POP

Verificamos servicio SMTP con TLS (Transport Layer Security):

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 somewhere.anywhere.com ESMTP
ehlo localhost
250-somewhere.anywhere.com
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
starttls
220 ready for tls
quit
quit
Connection closed by foreign host.

 

Obtener IP externa o pública desde consola / Determining public IP from command line


Para obtener la IP que externa que tenemos en un determinado momento, usualmente debemos consultar el router o facilmente entrando a algún sitio como www.cualesmiip.com.

Para hacerlo directamente por linea de comandos o consola, bastara ejecutar la utilidad cURL para lograrlo.

Si no tenemos instalado el paquete curl:

$ sudo yum install curl

Luego, para consultar la IP externa o pública que estamos usando:

$ curl ifconfig.me

Actualizar Mapas Garmin con Radares Argentina


Los radares, bancos, hoteles, comercios, entre otros, están definidos en “Puntos de Interes”  o POI’s. Para instalar los radares de las rutas Argentinas en un GPS Garmin  debemos seguir los siguientes pasos. (El proceso es similar para otros GPS’s).

1) Descargamos el POI Loader de Garmin y lo instalamos en la PC.

2) Descargamos el ultimo Archivo “POI´s Garmin Argentina” más reciente de www.pois-gps.com.ar (solapa Descargas > Garmin > Argentina)

3) Descargamos e instalamos el POI’s selector de la solapa Descargas > Garmin > Herramientas.

4) Descomprimir el archivo “POI’s-Garmin Argentina” (descargado en paso 2), en una carpeta temporaria “C:tempgarmin”

5)Crear una carpeta vacía para guardar la seleccion de POIs que vamos a instalar. “C:tempgarminPOIS”

6) Copiar el sox.exe de la carpeta “C:tempgarmin” a la carpeta donde se instaló el POI Loader ej. “C:Archivos de ProgramaGarmin”. Este archivo es necesario para convertir los sonidos en un formato compatible con el GPS, permitiendo así recibir las alertas por voz.

7) Ejecutar el programa POI Selector y seleccionar la carpeta donde descomprimimos todos los POI’s (“C:tempgarmin”)

8) En el mismo programa seleccionar la carpeta destino para carga con POI Loader (“C:tempgarminPOIS”).

9) Seleccionar la opción “Incluir archivos de audio en la copia” y a continuación los puntos de interés que queramos instalar. En este ejemplo los radares. Hacemos click en “Procesar” y luego en “Generar Archivos”.

10) Conectar el GPS a la computadora.

11) Ejecutar el POI Loader de Garmin e indicar la carpeta donde seleccionamos guardar los POI’s a instalar (“C:tempgarminPOIS”)

Listo. Tenemos los POI’s instalados en nuestro GPS.

script para backup de directorios de usuarios / users home backup script


Acá va un pequeño y simple script que recorre todos los directorios home de los usuarios, comprime su contenido y luego hace un scp hacia otro servidor.

La idea es comprimir y copiar a otro servidor que realizará otra acción en función de donde se encuentre o las necesidades que tengamos.

Dejo comentada una línea que nos serviría para copiar a un servidor remoto con Windows.

#!/bin/bash
#hvivani. 20110218
#realiza backups de directorios de usuario y userdata y copia a srvremoto

dd=`date +%d`
mm=`date +%m`
YY=`date +%Y`
HH=`date +%H`
MM=`date +%M`

cd /home/
for i in $(ls)
do
   tar -zcvf $i$YY$mm$dd$HH$MM.tar.gz $i"/"
#   smbclient \\srvremotoWin\back002 password -U userwin -c "put $i$YY$mm$dd$HH$MM.tar.gz;quit"
   scp $i$YY$mm$dd$HH$MM.tar.gz root@srvremoto:/backup/userdata/
   rm $i$YY$mm$dd$HH$MM.tar.gz
done

Reconstruir las carpetas del Evolution


Si estamos teniendo problemas en el Evolution para enviar mail o está dando errores de almacenamiento en las carpetas de almacenamiento, lo mas probable es que alguna de estas carpetas esté dañada.

La solución es realizar la reconstrucción (rebuild) de los índices y la base de datos de carpetas.

Esto puede realizarse facilmente de la siguiente manera:

1) cerramos el evolution

2) abrimos una terminal, apuntamos a la carpeta

$ cd /home/usuario/.local/share/evolution/mail/local

3) Eliminamos los archivos indice y la base de datos de carpetas

$ find . -name “*.ibex*” -exec rm -f {}  ;
$ find . -name “*.cmeta*” -exec rm -f {}  ;
$ rm folders.db

4) abrimos nuevamente el Evolution y esperamos a que reconstruya estos indices y la base de carpetas.

Listo.