Migrar

Hace muy poquito pude completar una idea que tenía hace mucho tiempo: migrar una máquina virtual de un servidor a otro sin siquiera suspenderla. Se llama migración en vivo, y no pude hacerlo con XEN por más que traté, desde Debian.

Lo pude hacer usando KVM sin mayores complicaciones. Nada especial, ninguna instrucción que contarles aparte de una instalación normal de kvm y una máquina virtual como cualquier otra. Usé Debian Squeezy, que es una versión estable y reciente, lo mejor de Debian.

Antes traté de hacelo con Ubuntu, pero por diferentes motivos y falta de pericia no pude hacerlo. Definitivamente aprendí mucho migrando desde Ubunto hacia otras distribuciones. Debian es la madre de Ubuntu, así que no me fui tan lejos, pero el hecho de cambiar de una distribución a otra me abrió los ojos.

Cambiar de distribución debería ser un ejercicio obligatorio para todos los que usamos Linux. Sobre todo porque la experiencia que podamos tener de Linux va a estar mucho más ligada a la forma de empaquetarlo y organizarlo que tiene cada distribución.

Linux es sólamente un kernel, la organización, el arranque, la disposición de los archivos que conforman un sistema, la selección de programas que pueden ser accedidos dependen de cómo el organizador de la distribución entiende que debe funcionar un sistema.

WordPress 2.0 para Android

Muy interesante la aplicación de WordPress 2.0 para Android que estoy usando para escribir esta entrada.

Aunque no es lo más cómodo del mundo, uso bastante este sistema para escribir algo que me interesa y que puedo pensar en los ratos en los que estoy esperando para hacer otra cosa.

image

En esta foto que saqué en los baños de un shopping mall de Buenos Aires pueden ver cómo los carteles indicadores de damas/caballeros desaparecen cuando las puertas se abren, siempre que los baños estén operativos.

Sigo haciendo pruebas. No pude insertar una foto de la cámara directamente porque la applicación se cuelga estrepitósamente después de aceptar la foto o el vídeo. Para matarse.

Por lo demás el editor es muy bueno, con las opciones básicas de formato y la opción de agregar un vínculo.

[:es]IQ Carrier es una aplicación para espiar en tu teléfono[:en]IQ Carrier is an app to spy on your phone

Estoy viendo en las noticias, blogs y en Youtube que existe una aplicación que se llama IQ Carrier para espiar todo lo que hacemos en el teléfono. Esta aplicación, según explica la gente de IQ Carrier es para medir el uso del teléfono para poder mejorar la experiencia del usuarioIt’s already in the news, blogs youtube videos: IQ Carrier is an application to spy on you, using your phone to register your phone usage. Allegedly this application is to mesure your phone performance, but the detail level reported is obscene.

Por lo menos es lo que dicen los encargados de IQCarrier sin que las compañías de teléfono hayan dado ninguna explicación todavía.At least this is the explanation that the people working for IQCarrier is telling us, the telcos haven spoken a word about this, and they are the ones who payed for this software and the ones who are installing it to us.

El nivel de detalle sobre las actividades de los usuarios es tan grande que los responsables tendrán que enfrentar cargos penales por espiar indebidamente, desde mensajes de texto, o SMS hasta la actividad que desarrollamos en la web, incluídos los sitios protegidos por SSL, cuando entramos a nuestro correo de mail en la web.The detail recorded is so incredibly high the responsibles for doing this should face criminal charges, specially when they are recording your SMS

La aplicación es capaz de registrar cada tecla que apretamos, cada aplicación que lanzamos, la posición en la que estamos, ubicación de las antenas a las que conectamos y no sabemos todavía qué información es reportada a la compañía.The app is capable to record every key we touch, every app we run, our location, the antennae we connect to and we don’t know yet what information is reported back to your cellphone company.

Tampoco sabemos si esa aplicación puede ser activada por alguien para reportar en vivo todas estas actividades. No sería de extrañar que alguna agencia de espionaje se haya colado en los requerimientos de esta aplicación.We don’t know if this app can be activated by someone to report live every move you make, but it’s pretty obvious that a secret service of a big nation could set hands on the app specs to include this option.

Los teléfonos en los que ha sido encontrado esta aplicación no tienen distintivo de marca ni de sistema operativo. Pueden ser un iPhone, o un HTC con Android. Hasta la fecha, en los teléfonos con Windows7 no se ha encontrado esta aplicación.You can find this app in a wide range of phones in the market: iPhones and Androids, from Samsung to HTC. This app was not found on phones running Windows, until now.

Esta aplicación es muy difícil de sacar en muchos teléfonos, y la opción para deshabilitar el envío de los reportes no figura abiertamente. En el caso de los iPhones se puede encontrar esta opción enterrada en la profundidad de los menúes de configuración, pero en ningún lado se puede leer qué clase de información será reportada.This app, labeled as a rootkit is really hard to stop on many handsets, and you have to root your phone to uninstall it. The iPhones are reported to have an option to stop sending reports but you have to navigate through obscured menu options in the phone setup

Estoy de acuerdo en que las compañías de telefonía pueden incluir una herramienta de monitoreo para mejorar su servicio, pero me queda clarísimo que esta es la pantalla que quiero ver cuando hay algún problema que requiera un reporte: I really like our telcos being so kind to watch on us for our own good, but if they want to include a tool to monitor any proble we should encounter this is what the app should look like:

Les paso los links de las noticias que leí hasta el momento:Here you have some links on what I’ve been reading until now

Esta es la compañía responsable del software This is the company responsible for developing the app http://www.carrieriq.com/

De los primeros en reportar, y los que demuestran mejor información A good an early report on this matter http://www.xda-developers.com/android/the-rootkit-of-all-evil-ciq/

Una disculpa que tuvieron que hacer los de carrireiq al que descrubrió este programa IQCarrier sends an apology to the developer that discover the issue http://www.wired.com/threatlevel/2011/11/rootkit-brouhaha-apology/

Nota en ZDNet The news in ZDNet http://www.zdnet.com/blog/hardware/so-theres-a-rootkit-hidden-in-millions-of-cellphones/16708?tag=nl.e539

Instalar Wine 32 bits en Debian Wheezy 64bits

Bien. Entiendo. Debian es genial, es lo más pero tiene algunas cosas. El Wine por ejemplo no está disponible. Genial, alguien se peleó con alguien. Razones políticas. Entiendo. Estoy compilando Wine mientras escribo. Hasta ahora hice esto:

Voy a instalar Wine en 32bits porque no quiero ejecutar Windows en 64 bits sino en 32. Sigamos.

Bajé el wine de esta página:

http://sourceforge.net/projects/wine/files/Source/

Yo bajé la versión 3.1.14
Descomprimí el archivo en un directorio y me cambié a ese directorio

echo "deb-src http://ftp.ca.debian.org/debian sid main contrib non-free" >> /etc/apt/sources.list.d/wine.list
apt-get update
apt-get build-dep wine
aptitude install lib32asound2-plugins 
aptitude install lib32v4l-dev
CC="gcc-4.4 -m32" LDFLAGS="-m32 -L/lib32 -L/usr/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32" ./configure -v
checkinstall make install

Sigue compilando… andará esto??? Sigo esperando… es un rato, no? Cada tanto tira unos errores… pero anduvo. Bien!Ahora instalamos manualmente las librerías de Gecko.

Me bajé todos los archivos que están acá http://wiki.winehq.org/Gecko y los puse en /usr/local/share/wine/gecko. Nuevamente me confundí y primero puse los archivos de 64bits. Estoy ejecutando Windows a 32bits, y no a 64bits.

Ahora instalo el winetricks de los repositorios

aptitude install winetricks

A continuación me puse a instalar el Google Sketchup a través de winetricks y todo anduvo perfectamente!

 

Cambiarle la ROM al Milestone en Argentina

 

Empecé este tutorial sin saber si podría tener mi teléfono andando otra vez, pensando que en el peor de los casos tendría que comprarme un aparato nuevo. Mi Milestone tiene más de un año de vida y cuando lo compré no era un modelo nuevo, así que tenía cierta idea de renovarme si algo salía mal.

Pero ya han pasado 9 días y tengo que decirles que ha sido todo un éxito, mi teléfono funciona en todo a la perfección sin ningún problema a la vista con la versión de Android 2.3.7 y siento que me han regalado un nuevo teléfono. Realmente vale la pena hacer esta prueba. El teléfono además pasó a funcionar a 1Ghz de los 600Mhz a los que andaba de fábrica. No veo un gran impacto en la batería que me sigue durando un día de trabajo.

Necesitamos:

  • cable USB
  • el teléfono totalmente cargado
  • una terminal de Linux preferentemente o una de Windows. Hice todo con Linux
  • Alguna forma de copiar archivos en la SDCARD, sea con un lector en la compu, via WIFI con alguna app de android, via USB con la compu, lo que sea. El OpenRecovery tiene un modo Storage que es muy útil.

Seguí las instrucciones que están aquí:  pero si estoy escribiendo mi propia guía es porque yo quería instalar el Cyanogen 7.1 y además porque quería poner un poco más de detalle en mi “paso a paso”. Honestamente cuando uno está cambiando la ROM de un teléfono, sobre todo la primera vez, lo mejor es tener todo muy explicado.

Lo primero que hice fue actualizar el bootloader que segúnh parece está bloqueado para el Milestone, no así para el Droid. El modelo Droid de Motorola ES DISTINTO!!

La versión que tenía era la 90.78, a pesar de haber actualizado a la versión 2.1 del sistema operativo hace unos meses. Me bajé la versión del bootloader y usé el sbf_flash para cambiarlo. El sbf_flash es un binario para linux que ejecuté en mi Ubuntu con Natty. No tiene librerías dinámicas así que no creo que ninguno tenga problemas con otro linux. Para Windows sé que hay otro programa, pero no lo probé, ni sé muy bien dónde está. Cuando pueda actualizo la info acá.

Empecemos! BootLoader

Apagamos el teléfono. Desplegamos el teclado y apretamos la flecha que va para arriba en el pad que está a la derecha, ese cuadrado dorado. Con esa tecla apretada encendemos el teléfono y casi inmediatamente aparecemos en el bootloader. Allí podremos ver la versión que está instalada actualmente.

Bootloader
90.78

Battery OK
OK to Program
Connect USB
Data Cable

Conectamos el cable USB, ahora debería decir

Bootloader
90.78

Battery OK
OK to Program
Transfer Mode:
USB

Con el cable USB conectado, abrimos una terminal en Linux y hacemos un lsusb

# $ tristan@nexus:/install/Android/Milestone$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...
Bus 002 Device 012: ID 22b8:41d0 Motorola PCS
...

 

Si nos bajamos el archivo sbf_flash y no es ejecutable primero tenemos que darle los permisos (gracias Guille!).

# $ tritan@nexus:/install/Android/Milestone$ chmod +x sbf_flash

Bien, nos aparece el teléfono. Ahora ejecutamos sudo ./sbf_flash bugeada90_78.sbf:

# $ tritan@nexus:/install/Android/Milestone$ sudo ./sbf_flash bugeada90_78.sbf
SBF FLASH 1.23 (mbm)
http://opticaldelusion.org

=== bugeada90_78.sbf ===
00: RDL03 0x82000000-0x8204CFFF F125 AP
01:  CG47 0xB0EE0000-0xB12A07FF 679E AP

>> waiting for phone: Connected.
>> uploading RDL03: 100.0%
-- OK
>> verifying ramloader
-- OK
>> executing ramloader
-- OK
>> waiting for phone: Connected.
>> sending erase
-- OK
>> uploading CG47: 100.0%
-- OK
>> verifying CG47
-- OK
>> rebooting

El teléfono se reinició normalmente, con el bootloader nuevo. El teléfono seguía funcionando normalmente, tal y como estaba. Repasé las aplicaciones, el tel: todo como antes. Reinicié el teléfono con el bootloader para ver si se había modificado el texto en algo, pero estaba exactamente igual.

El próximo paso debería ser entonces usar el OpenRecovery para hacer un backup de la rom actual y después instalar la nueva. Ahora me voy a preparar unos huevos fritos.

Preparando el OpenRecovery

  1. bajamos el OpenRecovery, yo lo bajé de acá
  2. extraemos el contenido del zip y nos queda un directorio OpenRecovery
  3. Dentro de esa carpeta crear otra con el nombre nandroid, para guardar allí el backup
  4. en la carpeta updates hay que meter todos los archivos que uno quiere ejecutar en el tel, en su zips. Yo tengo 3 archivos:
    update-cm-7.1.0.2-Milestone-KANG-signed.zip
    Radio_3G-brazil236-update-nosign.zip <- lo saqué de acá al fondo de la página
    gapps-gb-20110828-signed.zip lo saqué de acá, uno puede bajarse el que quiera
    ACTUALIZACION!!!
    acá hay una mucho mejor con CHAT DE VIDEO!! <- lo voy a probar!!
    gapps-gb-20111029-signed.zip
  5. copiar la carpeta OpenRecovery y el arhivo updates.zip en el directorio raíz de la tarjeta SD del teléfono

El OpenRecovery tiene un modo Storage que nos permite acceder a la tarjeta mientras estamos en modo recuperación es genial para arreglar cosas que no hicimos bien, o para cambiar versiones de archivos.

Instalación

Reiniciar el teléfono en modo recovery iniciando el teléfono con la X (la equis) del teclado físico apretado. Ahí vamos. Debería ejecutar el openrecovery y desde ahí tendría que hacer el backup de la rom actual… no? Bien, veamos:

  • iniciamos el tel con la x
  • aparece un triangulo
  • Apretamos vol up y el botón de la cámara
  • apply update.zip

Ahora se ejecuta el openrecovery

Nandroid -> backup -> backup all

Ahí estamos haciendo el backup

Ahora tengo que limpiar todo y para eso hago un

Wipe Dalvik Cache, Wipe Data / Factory Reset and Wipe Cache Partition

Aquí me mandé una metida de pata que explico más tarde

Buscamos la opción Apply Updates y ejecutamos la instalación en este orden:

  1. update-cm-7.1.0.2-Milestone-KANG-signed.zip <- Esta es la rom misma
  2. Radio_3G-brazil236-update-nosign.zip <- Esto es para que podamos atender el teléfono, sin esto no tenemos señal
  3. gapps-gb-20110828-signed.zip <- las aplicaciones de Google más importantes, fundamentalmente el Market.

Reiniciamos el teléfono con la opción Reboot System del Open Recovery y ya deberíamos tener el teléfono andando.

Ajustes

Qué genial! Ya tenemos el teléfono andando! Aunque tenemos ciertos problemas que se pueden arreglar.

  1. Está en inglés
  2. el market se cuelga espantósamente
  3. El 3G no me funcionaba así que fuí a mirar los APNS y me encontré que no tenía ninguno. El archivo que dice Brasil tiene info de Brasil, de Uruguay, pero de Argentina no.

Lo primero es fácil, se acomoda en Settings, Language y ahí aparece el español

Es increíblemente fácil arreglar el market, hay que ir al teclado en settings y configurar el teclado de Android en inglés de USA

El 3G no anda porque no ha quedado definido ningún APN:

Ajustes / Conexiones inalámbricas / Redes móviles APN

Allí agregué 3 distintos:

Apretamos la opción APN Nuevo y llenamos estos datos:
Nombre
Argentina:Movistar:Emocion
APN
internet.gprs.unifon.com.ar
Proxy
200.5.68.10
Puerto
8080
Nombre de usuario
Internet
Contraseña
Internet
Servidor
<No establecido>
MMSC
<No establecido>
Proxy MMS
<No establecido>
Puerto de MMS
<No establecido>
MCC
722
MNC
07
Tipo de autenticación
PAP
Tipo de APN
default
Protocolo APN
IPv4

Otro más, el DUN

Nombre
Argentina:Movistar:DUN
APN
internet.gprs.unifon.com.ar
Proxy
<No establecido>
Puerto
<No establecido>
Nombre de usuario
Internet
Contraseña
Internet
Servidor
<No establecido>
MMSC
<No establecido>
Proxy MMS
<No establecido>
Puerto de MMS
<No establecido>
MCC
722
MNC
07
Tipo de autenticación
PAP
Tipo de APN
dun
Protocolo APN
IPv4

 

Uno más, el MMS!

 

Nombre
Argentina:Movistar:MMS
APN
mms.gprs.unifon.com.ar
Proxy
<No establecido>
Puerto
<No establecido>
Nombre de usuario
mms
Contraseña
mms
Servidor
<No establecido>
MMSC
http://mms.movistar.com.ar
Proxy MMS
200.68.32.239
Puerto de MMS
8080
MCC
722
MNC
07
Tipo de autenticación
PAP
Tipo de APN
mms
Protocolo APN
IPv4

Estos datos están en la página de los foros de Movistar. Muy útil.

Otras cositas que me encontré:

Instalé youtube del market

El flash ya está instalado

Tuve que definir el número de teléfono del voice mail. En Movistar es el 555.

Antes de terminar les cuento que si uno sabe cómo son las cosas, toda la actualización lleva unos minutos nada más. Me llevó más tiempo porque me mandé algunas macanas y se los cuento:

Lo primero que hice mal fue copiar los updates des-zipeados en la sdcard. La segunda macana fue utilizar una ROM que no correspondía y el teléfono se me colgaba apenas arrancaba. Muy feo! gracias al cielo me encontré con este mensaje que me aclaraba todo

To answer this question, the most likely problem is that you did the same thing I did. Instead of downloading this .zip file: ‘update-cm-7.0.0-RC3-0.07-11.03.12-Milestone-signed.zip’, you downloaded this one: ‘update-cm-7.0.0-RC3-0.07-11.03.12-Droid-signed.zip’.

The subtle different is the hardware between the Droid and the Milestone. Download the Milestone one because it seems like people are going straight to Cyanogenmod’s site and not realizing that the Milestone isn’t officially supported there.

Claro, lo bajé de acá http://download.cyanogenmod.com/?type=stable&device=sholes

Y tenía que bajarlo de acá

https://github.com/nadlabak/android/downloads

Les paso una página con más datos de esto:

http://android.doshaska.net/cm7

llegué a todo esto entrando a la página de teléfonos no soportados de cyanogen

http://forum.cyanogenmod.com/forum/23-unofficial-ports/page__prune_day__100__sort_by__Z-A__sort_key__last_post__topicfilter__all__st__150

 

Acá hay uno que no probé

http://web.cs.dal.ca/~darndt/other/moto-milestone-flash/

 

De las cosas geniales que tiene el teléfono:

  • La interfaz es muy configurable y funcional
  • viene con una terminal
  • viene con el dropbear que es un servidor ssh, sólo hay que configurarlo. El autostart no me anduvo así que hice lo que dice acá
  • viene con el openvpn, y hay que instalarle los certificados por el navegador web: el ca.crt y el archivo pc12 para la firma digital, el resto se configura en settings
  • viene con una linterna que usa el led
  • soporta temas
  • dice que viene con un modo icógnito para el navegador pero nunca lo probé
  • tiene una cosa que se llama Phone Goggles para filtrar a los indeseables… muy interesante
  • podés hacer un dibujo secreto para desbloquear el teléfono
  • Viene con un DSP Manager para el sonido del teléfono

 

Por qué me opongo tan rotundamente al aborto

.

Quiero dejar de lado cualquier tema religioso. No pasa por allí. El divorcio, el casamiento entre homosexuales y el uso del profiláctico deberían conversarse en otra mesa aparte. Hablemos de matar.

La lista de argumentos que tengo en la mente que respaldan al aborto me resulta muy floja. Vamos al principal de todos:

La de niñas que mueren porque se practican el aborto en clínicas clandestinas

Con ese mismo razonamiento se podría decir con bastante razón: “De las muertes por sicarios es muy posible que la mitad o más sean inocentes que vieron el crimen involuntariamente: se los mata para tapar el crimen real. Son víctimas de un sistema de asesinos que no tiene legislación, ni matrículado, ni paga impuestos. Si se pudiera contratar a un asesino profesional, con entrenamiento provisto y verificado por el Estado, la cantidad de muertes innecesarias bajaría en un 40% el primer mes. “

Cuando se habla de planificación familiar y se propone la muerte, me resulta absolutamente ridículo que se le ponga una fecha límite. Claro, están tratando de protegerse de que sus madres traten de abortarlos ahora que proponen licencias para matar, pero lo más ridículo de todo es que para trazar esa línea en realidad se tratan de elegir diversas excusas para decir esto:

“Será legal matar a tu hijo hasta los tres meses, porque si no te diste cuenta antes eres tan estúpida que te merecés el niño”

Entonces empiezan los debates nominalista sobre la vida y la conciencia, cuando en realidad lo que se pretende es habilitar a la mujer a que mate a su hijo para que siga siendo la responsable de cuidarse: “Tomá nena, acá te doy el permiso para matar porque si se te escapa vos tenés que tirar del gatillo. Ojo! te doy tres meses, tendría que alcanzarte

El debate sobre el aborto esconde también el pedido de un macho egoista que pretende que siga siendo la mujer la que tenga la responsabilidad final de cuidarse.

Por eso los argumentos son tan primitivos, por eso los defensores se preocupan tan poco por las campañas de educación sexual, por concientizar acerca de que cierto nivel de promiscuidad no es bueno para el cuerpo humano, que se debe respetar el propio cuerpo. No se habla de concientizar a las personas de que hoy en día, no importa cómo te cuides, existe la posibilidad de que tu método falle y suceda lo que no querías. Y creo que es malo enseñar que matar arregla las cosas.

No entiendo el límite para matar

El límite sobre la edad a la que se puede matar a un niño no está dado por la viabilidad de esa vida, sino porque es inconveniente a su madre o a su familia. Se intenta definir desde cuándo está mal matar a alguien porque se reconoce que matar está mal. Y se pretende decir que el niño no sufre porque no se da cuenta, o porque no tiene conciencia, sin preocuparse por definir con precisión cuándo se adquiere la conciencia ni el sufrimiento. Sin entender si estamos capacitados para poder entender lo que es la conciencia, o la vida. Y así cualquier anestesista podría matarnos, o no sería delito matar a alguien dormido.

La mujer tiene derecho sobre su cuerpo y sobre su vida

Es más ridículo ponerle un límite de tiempo a una aseveración tan importante, sobre todo porque una madre puede no darse cuenta la carga que significa tener un hijo hasta que tiene un año. Y lo que tendrá que pagar por su educación estos días?

Ahora, hablemos de las violaciones

“Si una mujer es violada, tiene derecho a terminar la vida de ese niño, fruto de una situación violenta. Vos permitirías que tu hija lleve en el vientre el fruto de semejante monstruosidad?”

Esta es la más difícil de todos los argumentos, no porque sea de alguna solidez si no porque se cruzan emociones muy complejas. La primera de todas es la idea fútil de que después de una situación tan aberrante se puede reparar el daño. Y ese niño es la consecuencia menos nefasta de todas.

Si yo soy padre de un niño, y resulta que me entero de que es fruto de una infidelidad que tuvo mi esposa con un tipo de lo más ruin, (y cuando digo esto se me frunce todo) qué hago con todo el amor que he puesto en él? Le digo: “Vete, no eres más mi hijo”. O tengo derecho a matarlo porque ser malo es genético?

Los argumentos que escucho para defender el derecho al aborto son tan primitivos y rastreros que se pueden utilizar para defender las prácticas más ruinosas y viles que ha tenido la humanidad en su historia:  “A los indios/judíos/negros está bien que se los mate y esclavice porque no tienen alma” y después tendrán que salir a defender y probar ellos mismos que tienen alma, que son seres humanos y que tienen derecho a vivir.

Y el debate imbécil sobre si los negros y los indios tenían alma era fruto de personas que no querían perder la comodidad de tener mano de obra barata. Y el debate criminal sobre si los judíos eran malvados era fruto de la necesidad de subvencionar la falta de competitividad de ciertos comerciantes y burgueses.

Disfrazar de modernidad –de derechos humanos– a este debate infanticida es un insulto a todos los logros y victorias de las que podemos estar orgullosos como seres humanos.

Hacerse el imbécil, olvidar toda la moralina y coimear a un policía porque nos pasamos la luz, barrer la basura debajo de la alfombra,  a la larga no funciona. Ahora, pedir legislación para que eso sea legal es de cretino, y querer permiso para matar es de criminal.

Si alguien me puede ayudar con argumentos mejores que estos estoy totalmente dispuesto, porque dicho todo esto les cuento que la única verdad absoluta e indiscutible que conservo es la de que puedo estar equivocado.

 

Comando para obtener la IP desde una MAC Address

Me ha pasado un montón de veces: resulta que tengo un aparato que se conecta a la red y no sé cuál es su dirección IP. En el pasado me dediqué a disparates como hacer un nmap muy amplio, explorar todos los  rangos de IP’s privadas. Por suerte encontré un sistema bastante fructífero y se los paso para que lo puedan anotar:

tcpdump -ennqti [INTERFACE] \( arp or icmp \) -xX | grep [MAC-ADDRESS]

La idea es hacer un dump de tcp, filtrando arp o icmp para que cuando el aparato pregunte por alguna dirección de destino al stack ARP nos enteremos a qué dirección quiere llegar –un gateway o un servidor de conexión generalmente– y desde qué dirección lo pide.

Un ejemplo de un teléfono IP Grandstream que me había quedado por ahí:

root@nexus:~# tcpdump -ennqti eth0 \( arp or icmp \) -xX | grep 00:0b:82:0d:32:90
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
00:0b:82:0d:32:90 > ff:ff:ff:ff:ff:ff, ARP, length 60: Request who-has 10.1.1.1 tell 10.1.1.160, length 46
00:0b:82:0d:32:90 > ff:ff:ff:ff:ff:ff, ARP, length 60: Request who-has 10.1.1.1 tell 10.1.1.160, length 46
00:0b:82:0d:32:90 > ff:ff:ff:ff:ff:ff, ARP, length 60: Request who-has 10.1.1.1 tell 10.1.1.160, length 46

Aquí podemos ver que la dirección MAC que buscamos está haciendo un pedido broadcast para encontrar a un gateway en la dirección 10.10.1.1 y que la dirección que tiene es la 10.1.1.160. Muy lindo, lo tenemos.

Un detalle muy importante: si el aparato encuentra la dirección con la que quiere comunicarse y no estamos en el ruteo no vamos a ver ninguna comunicación.

 

Google compra Motorola

Breaking News!

Me acabo de enterar por Larry Page y por Martin Linares que Google compró la división móviles de Motorola. Google quiere tener un portafolio de patentes para poder defenderse, y por eso pagó la friolera de 12500 millones de dólares.

Pero Motorola no es sólamente una linda colección de patentes y honestamente espero que comprar esta compañía sirva para hacer buenos teléfonos y no pelearse con sus socios en Android, que ahora son sus competidores en el mercado de aparatos celulares. Es esto así o estoy entendiendo todo mal.

Voy a ir corrigiendo en la nota en el blog a medida que vaya entendiendo lo que pasa, así que vuelvan a entrar para ver si pifio en mi primer análisis o no.

ACTUALIZACIÓN

Google se reunió con sus socios en Android antes de hacer la compra y les consultó acerca de esta idea. El compromiso de Google es el de mantener Android como plataforma abierta y Open Source y tener a Motorola como negocio separado. Muy posiblemente esto signifique que no exista una marca Google Motorola, para no irritar a sus socios, y le da una relevancia mucho más importante al Open Source que permite mantener reglas claras a pesar de que esta clase de compras.

Sería muy interesante ver que clase de política tiene Motorola sobre algunos de los controladores que incluye en su hardware y que hasta el momento no tienen publicado su código.

 

ACTUALIZACION II

Aparentemente, la división de Motorola en Sistemas Móviles y Conectividad y Negocios se hizo para facilitarle a Google la compra de la división de móviles. También parece ser parte de un plan que han organizado en conjunto los productores de harware que ven a Apple como un contendiente a derrivar. De alguna manera se explica el odio porque Apple aterriza en el negocio de hacer teléfonos y en muy poco tiempo se transforma en el principal vendedor, y se alía con proveedore de software –con los que se siente más a gusto para negociar– para trabar a vendedores de hardware en temas de patentes. Toda una afrenta.

La idea fue desde el principio involucrar a Google en la compra de uno de los vendedores más significativos para que la defensa legal estuviera a cargo de una de las billeteras más abultadas de la industria en estas batallas en las que ganar el juicio en última instancia no es lo más importante sino desgastar económicamente al contrincante, y hacerle perder el momentum retrasando las fechas de lanzamiento. Digamos, las patentes se usan para embarrar la cancha, algo totalmente opuesto al espíritu original de la ley.

No sé por qué me imagino una escena en la que todos los socios de Google le gritan Cómprame! Cómprame!

 

Recomendaciones de backup

 

Acabo de escribirle a un amigo acerca de las opciones que tenía para hacer backups y resulta que me pareció que podía compartir esto con más personas, parece útil.

Le escribo esto

Lo primero y más importante: espero que tengas una máquina dedicada para todos esos archivos, porque son muchos y parecen importantes. ¿Por qué es crucial que sea dedicada? Por una infinidad de motivos, quizás uno de los más fáciles de explicar es que de esa manera alejás a la computadora de su depredador más letal: el ser humano.

Lo más prudente sería tener los archivos de datos en un segundo disco, alejado de los archivos temporales, de los archivos del sistema y de los programas. Como te darás cuenta, la idea es tener los archivos ubicados de tal manera que la única actividad del disco sea relativa a: justamente esos archivos. Si tenés que recuperar algo siempre va a ser más fácil y preciso.

Un buen punto a tomar en cuenta para evitar que los posibles fallos te cuesten caro es tener los discos puestos en espejo. Para el gran amarrete que puede ser uno, pareciera que se desperdicia un disco, pero tengo muchísimos desastres recuperados sin que el cliente se entere gracias a que la info está copiada en dos discos. Funciona y es una maravilla.

Otra cosa a tomar en cuenta es que cuánto más alejes el backup de la máquina original mejor. Para eso un buen backup en línea es la mejor solución. Si vas a hacer la copia en otro disco, o en otra computadora de tu elección, ese recurso debe estar monitoreado de alguna manera para que si se produce un error en algún disco de backup tengas un aviso.

Mi receta personal:

Ingredientes:

2 computadoras medio pelo pero muy confiables
2 fuentes de 600Watts o más
2 discos de booteo
4 discos de datos (o más, confiables y que pueden ser de distintos tamaños si se organizan en un raid5)

Puede que se necesite algunas placas de red extra, o algún router para internet

Con esta receta se preparan 2 computadoras iguales, que necesitan una conexión de internet hogareña (dependiendo del volumen de trabajo realizado entre copia y copia, pero en general alcanza) y que en intervalos programados hará sus actualizaciones.

Todas estas herramientas se pueden organizar con una gran solidez y confiabilidad en Linux, sobre todo lo que hace a la parte de monitorear e informar correctamente que existe un problema. También se puede hacer un tipo de backup que permite tener varias copias distintas, como fotografías de distintos momentos, sin ocupar más que la suma de los archivos totales más su diferencial.

El cocinero, a tu disposición

 

Les paso una pavada, pero que me ayuda mucho

o

En la vida de un administrador de sistemas hay muchas veces algunas cosas que son bastante tediosas y largas. Una de ellas es calcular el tamaño de un recurso muy grande. Me ha pasado unas cuántas veces que cuando vuelvo ni me acuerdo dónde estaba, ni me acuerdo de mirar el comando que ejecuté, o la sesión con el servidor remoto está desconectada y el resultado se ha perdido.

Por eso, me fuí armando algunas ayuditas, como la que les copio acá: con el comando calculo el tamaño de un recurso y me envío el resultado por mail.

usr/bin/du -sh /data/install/apt-mirror/ | sendmail mimail@miserver.com

Para el caso de que esté haciendo cualquier operación compleja en una terminal remota lo que hago es usar el comando screen para que se genere una instancia que se ejecuta en el servidor independientemente de la conexión. Si la conexión se corta el comando sigue ejecutándose. De hecho, puedo reconectarme a esa pantalla desde cualquier otra terminal y continuar con la ejecución de lo que estaba haciendo desde otro lado. Amo esas cosas de Linux. Ahí va el comando:

screen -dmSfa calcsize bash -c "/usr/bin/du -sh /data/install/apt-mirror/ | sendmail tristan@tristangrimaux.com"

Fíjense que estoy usando el comando bash para ejecutar el comando porque usando la opción -c se puede pasar un comando encomillado, con la redirección a sendmail. La idea no es enviar el mail desde la terminal actual sino desde el mismo servidor que ejecuta el comando.

Cosas lindas que tiene el linux… no es genial?