HOWTO Debug Windows

I’ve been out xD
Nop, seriously, I’ve been working hard past months (and I’ll continue a bit more).

But I want to share a new doc I’ve just cooked on the wiki.

As I’ve been 3 days working on trying to find an error on Windows (my actual project deadline is near…) and our Windows “Sysadmins” are not able to help me, I decided to go harder and read M$ documentation about how to debug their “Operating System” (they like the “metaforas” saying that this is a real OS).

At the end? I think I will add “Windows Debugging” as a new skill on my CV.
Talking with my linux workmate, We doubt many of windows sysadmins know all this tools (maybe the most famous one, systernals):

  • Systernals
  • Windbg
  • Debug Diagnostics

Have a look at the wiki post:
http://wiki.ciberterminal.net/doku.php?id=debugging_windows

My adventures with Android (I)

The history:

Recently I bough a “Ainol tornados” for testing purposes, and that was the cheapest one (~60€ shipping included!)
When it arrives to me, I tried to install openvpn (is basic for my project) but nothing on the “tun.ko” repo works for me :-(, the “magic string” which makes match a module with the kernel does not match and I tried all the avalaible rom except 4.0.4.
The problem was the insmod itself, not the tun.ko installer.
So I decided to build my own version of the android :-)

Here begins the adventure itself…
I downloaded the source code directly from Ainol forums… That HUGE package contains EVERYTHING for building (android-sdk, android-ndk, crosscompilers in multiple versions, emulator files… ETC), so don’t care about that if you’ll donwnload it.
Starting from the AOSP project wiki, I set up the build environment with java6, make 3.81.
So: Continue reading “My adventures with Android (I)”

Parallel rsync’ing a huge directory tree

Some days ago I was on the chance to transfer a huge directory.

Huge means ~50TB with +10million files and a deep of only 6 folders under the parent one.
As I must do that kind of transfer more than 10 times with the same amount of folders… I decided to implement some kind of parallel function which launch parallel rsync’s at a given deep of my choose.

The ressult was that “pure bash” little script (the only dependency is “screen”)… You’ll notice that the main function “sync_this()” will run alone in your script only changing 2 or 3 variables ;-)
Continue reading “Parallel rsync’ing a huge directory tree”

Script de copia y restauración de un sistema windows

Imagino que todos los sysadm/informaticos de este mundo hemos sufrido alguna vez el caso del “Amigo informatico“.

En mi caso últimamente, después de usar muchas veces ghost, he decidido cambiar… Nada de dar un dvd con la imagen, que para eso tenemos toneladas de gigas de espacio en disco y si el usuario se queja, pues mira, habérselo pedido a otro.

Partiendo de esto, he decidido hacer un script tipo menú de instalación con las opciones mínimas y que sea fácilmente gestionable por el usuario final.

El preparación es simple:

  • Se particiona el disco.
  • Instalamos windows
  • Instalamos un linux “minimal”, y dependencias necesarias para que el script funcione
  • Añadimos nuestro script.
  • Modificamos los parámetros de configuración necesarios en el mismo
  • Creamos un usuario de sistema sin privilegios, modificamos ~/.bashrc para lanzar automáticamente el script cuando se logue el usuario.
  • Deshabilitamos la posibilidad de salir del script (trap) para evitar problemas.
  • Nos guardamos el pass de root ;-)
  • Modificamos grub para que el menú diga algo como Restore or similar y el usuario no se asuste viendo GNU/Linux
  • Informar al usuario de como funciona el entorno, aunque es muy muy sencillo)

Con eso y generar nosotros mismos la primera imagen que será imborrable (desde el script), ya estaría todo.

El funcionamiento es mucho más simple aún:

  1. Restaurar imagen
  2. Generar Imagen
  3. Borrar Imagen
  4. Listar Imágenes
  5. Ayuda
  6. Reboot

No deberían añadirse muchas más opciones, cuanto menos se pueda hacer, mejor.

Las ventajas son bastante óbvias:

  • El propio usuario se gestiona sus imágenes, por lo que cambio de sistema windows (de xp a 7 por ejemplo), no deberían necesitar más ayuda.
  • El script debería funciona en cualquier linux mientras se cumplan las deps.
  • El backup “va contigo”, no hay discos adicionales.

Y las desventajas:

  • Espacio en disco
  • Que se carguen grub
  • Que alguna vez falle el ntfsclone (FAIL!)

Por supuesto puede que el script no esté libre de fallos, por ejemplo, no consigo hacer trap de “CONTROL+Z” aunque haga trap de todas las señales. Aunque probado está ;-)

El script está documentado en la wiki.

Howto: Postfix

He publicado otro howto, en este caso de postfix.
He de decir que ahora me explico por qué la gente usa sistemas como "zimbra" que es un "all-in-one", solo te tienes que descargar la suite, instalar y configurar un par de cosas, el resto va casi todo solo (otra cosa es que después funcione como tú quieres)…
Mi conclusión es que no es para nada trivial el funcionamiento de un sistema de correo "decente", es decir, multiusuario-multidominio, con unas interfaces "amistosas" y que realmente, funcione…
La verdad es que mi intención no es la de hacer un relay de correo y no entro en temas de tunning del servidor, solo en la instalación básica que ya tiene suficiente chicha, la verdad.
Espero que si alguien se encuentra en alguna encrucijada, este howto le ayude, por que yo la verdad me he tenido que empapar de unos cuantos…

Howto – Compilar php

En el siguiente documento trato sobre la compilación de php, con muchas de las opciones disponibles.
Hay que decir que cada php es un mundo a la hora de compilar, todo depende de lo que queramos incluir.
A modo de resumen en el howto trato:

  1. Dependencias típicas
  2. Compilación de extensiones mediante diversos métodos
  3. Compilación con soporte Oci8 (oracle)
  4. Compilación con soporte Imap
  5. Configuración de la extension “Zend Optimizer”
  6. Ejemplos para comprobaciones

Lo que viene siendo un documento de la leche intentando llegar a todos los puntos.
No trato el tema de opciones para rendimiento ni seguridad de php.ini solo la compilación.

https://www.ciberterminal.net/mediawiki/index.php/PHP_full_compile_howto