Desde que actualize a Xcode 4.3 mac ports no funciona mostrando el siguiente mensaje de error.

Error: Couldn’t determine your Xcode version (from ‘/usr/bin/xcodebuild -version’).
Error:
Error: If you have not installed Xcode, install it now; see:
Error: http://guide.macports.org/chunked/installing.xcode.html

Checkeando la web de MacPorts, encontre que hay una sección “Problem Hotlist”, y el problema aparece primero en la lista.

El soporte para Xcode 4.3 fue agregado en la version 2.0.4 de MacPorts.

port -v
MacPorts 2.0.4
Entering interactive mode… (“help” for help, “quit” to quit)
[Users/Jsanchez]

si tienen una version anterior, actualizar. Si aún no funciona, correr lo siguiente:

sudo xcode-select -switch /Applications/Xcode.app

Esto lo hizo funcionar, si siguen con problemas, leer el articulo entero en “Problem Hotlist

 

En Xcode 4.3 las herramientas de unix como gcc, make, etc.. no se instalan en el sistema si no que vienen embedidas dentro de Xcode.app. Esto presenta un problema para aquellos que usamos la terminal, MacPorts, etc… . Sin embargo apple nos ha dejado colgado en su web el instalador de las herramientas. Debemos ir ACA y poner en el buscador “Unix” e instalar “Command Line Tools for Xcode”.

La otra Manera es abrir Xcode, ir a preferencias, Downloads… y desde ahi instalar “Command Line Tools”.

Xcode Command Line Tools

Xcode Command Line Tools

 

Hace ya algún tiempo compre una PC Mini-ITX para tenerla de servidor personal, en este momento esta guardando todos mis archivos, corriendo unos cuantos servicios y haciéndome la vida mas fácil, pero hoy siento que la pereza recorre mis venas de una manera potente y he decidido que haga los backups automaticamente con rsync mediante ssh, y para la suerte de aquel que esté leyendo le voy a explicar como hacerlo paso a paso =P, para el que no este leyendo, estoy seguro que se le va a quedar en la mente y algún día le va a servir de algo estos minutos que gastó en leerme.

Yo voy a estar sincronizando mis archivos multimedia mas que nada, pero esto sirve para poder hacer todo tipo de backups, configuraciones de sistema (/etc), logs, etc… . Para poder lograrlo vamos a precisar 3 cosas.

  • rsync
  • OpenSSH
  • cron

Primero antes de empezar a configurar, lo mejor es probar que el backup mediante rsync funciona, asegurarse de usar los usuarios correctos en cada una de las maquinas, el usuario correcto en la estacion en la que va a quedar el backup y en la maquina remota. Para mi caso, voy a estar creando un directorio “hola” en la maquina remota con otro archivo llamado hola, solo para comprobar que el rsync funciona.

jsanchez@backup:~$ rsync -avz -e ssh Jsanchez@10.0.0.3:/directorio/remoto /directorio/local/

Si, todo salio bien, un par de lineas fueron mostradas en la consola con los nombres de los directorios que usamos, y si son como yo, fueron directamente a fijarse que los directorios fueron copiados satifactoriamente. ¡Bien!, a seguir entonces. Si no lo lograron, el error puede estar que usaron el usuario incorrecto al hacer el ssh yo use “Jsanchez”, o es un sistema de permisos en cualquiera de los dos sistemas… O … no tienen el daemon sshd levantado en la maquina remota. Ouch! .

¡Perfecto!, lo siguiente es crear una clave para que la conección ssh no pida password cada vez que quiera hacer el backup, despues de todo no queremos estar a las 5:00 AM para poner el password cada vez que se corra el cron. Es un poco peligroso, lo se, pero considerando el password en texto plano en el script o esta opción, elijo esto (Se puede hacer que la conección, solo sea aceptada por esa maquina y nada mas).

Bien, entonces pasemos a generar la key para la maquina en la cual se va a guardar el backup. con el siguiente comando.

$ ssh-keygen -t rsa -b 2048 -f /donde/quieran/guardar/la/key/<Nombre de la llave>

Esta key tenemos que pasarla a la maquina remota para que la pueda usar, para eso, unicamente tenemos que pasar el archivo que termina en “.pub”, yo voy a usar scp. ATENCION: asegurarse que dentro de home de la maquina remota exista un directorio llamado “.ssh” , porque ahi es donde debemos dejar la llave que recien creamos, dentro de un archivo llamado “authorized_keys”. Hagamos lo siguiente:

$scp /donde/este/la/llave/<llave>.pub usuarioremoto@ip:/home/usuario/
$cat <llave.pub> >> /home/usuario/.ssh/authorized_keys

Una vez que hicimos esto,  tenemos el entorno listo para correr nuestro rsync, antes debemos probarlo para verificar que todo funciona correctamente, con el siguiente comando.

$ rsync -avnz -e “ssh -i /maquina/backup/donde/hicimos/laLlave/<Llave sin el .pub>” usuarioremoto@hostremoto:/directorio/remoto/ /directorio/local/

En los argumentos del comando anterior, hay una -n, que significa que no haga la transferencia sino que unicamente nos muestre que es lo que hubiera transferido, sacarla para completar la transferencia.

ATENCION: Si ya tienen un directorio con archivos(como yo) no tienen porque volver a copiar todo de nuevo, si no que pueden poner –size-only en los argumentos para que no copie aquellos archivos que ya tenemos, unicamente los diferentes.

Si tienen alguna otra duda y saben ingles, aca les dejo la fuente vieja la cual use para esto.  http://troy.jdmz.net/rsync/index.html

 

 

 

Hace ya varios años desde que compre mi primera Mac, una Macbook Pro de 13″, el modelo 5,5 para ser exacto, debo admitir que me enamore de la maquina perfectamente diseñada, desde el primer momento quise una iMac para mi escritorio y me enorgullece anunciar que hoy estoy escribiendo desde ella… su nombre… Sarah Connor . **Leer Mente: Online**, yo se lo que estan pensando… que son demasiado caras y una exquisites que no vale la pena, en parte concuerdo mayormente con sus pensamientos, son muy caras y es una exquisites que por suerte hoy en dia me puedo dar, ojalá llegue el dia que se puedan dar el mismo lujo y verlo por ustedes mismos. Si me preguntan es lo mejor de los mundos, Tengo un GUI diseñado hasta el mas minimo detalle y tengo la potencia de BSD por detras, “hence the repeat”, Lo mejor de los dos mundos. En fin, estoy contento de haberme librado de los malditos cables, mi escritorio se siente limpio nuevamente.

 

 

Finalmente despues de todo este tiempo de estar mirando Perl por arriba, me acerque a la caja diciendo: “¿Me das un combo Perl por favor?”, la cajera ni me miro a los ojos mostrandome que procesaba demasiadas ordenes por dia como para pensar en cada una, sin siquiera gesticular me dijo el precio que debia pagar por el combo, timidamente saque una tarjeta de mi bolsillo y abruptamente la tomo de mi mano y la paso por la caja, mientras la cajera extendia el brazo para devolverme la tarjeta el ambiente fue perdiendo luz, todo se fue tornando oscuro aunque su cara permanecia aun brillando sobre esta espontanea oscuridad, momentos antes de la oscuridad eterna me esbozo una sonrisa diabolica y me dijo…

“Ahora no te queda otra que leer”

Me llegaron dos libros que forman el combo de principiante de Perl(Adjunto Foto),  este va a ser un verano entretenido, estos libros son unas de las cosas que tengo planeadas para el verano.

The Llama

Octubre 2011,

He comenzado mi mudanza hacia FreeBSD. Como entusiasta de Sistemas Operativos que soy, BSD siempre lo mire de reojo pensando… “Algún día”, hace ya unos meses que probe  varias veces instalaciones con FreeBSD y OpenBSD. Hace unos años en mis visitas a la web de FreeBSD leyendo el manual recuerdo que lei algo parecido a lo siguiente “Si ya usas un S.O. libre, creemos que no hay razon por la cual cambiar a otro”. En ese momento eso me detuvo de la aventura. Entonces…  ¿Porqué Cambiar? Hay otra frase en algún lugar que dice algo así “Una vez que usas BSD te das cuenta que Linux es programado por unos cuantos Cowboys” y con mi poco uso de BSD ya me di cuenta de eso, asi que imagino que mi nivel de aceptación crecera en cuanto mas aprenda del sistema. Voy a dar unos cortos ejemplos de el codigo Cowboy al que se refieren.

  • Cuando un driver es publicado en BSD se publica porque el driver esta 100% completo, un ejemplo practico seria las tarjetas wireless, si se publica en BSD es porque funciona en modo monitor y la inyección de paquetes.
  • BSD no solo mantiene el kernel, tambien su sistema base completo.
  • Menos herramientas, mejor diseño, el ejemplo con el cual me encontre es la configuracion de tarjetas inalambricas, en Linux hay 3 programas aparte para configurarlas(wireless-tools, wpa_supplicant, ifconfig) cuando en BSD se hizo muy prolijo. Todo se encuentra en ifconfig que es donde deberia estar.
  • Compilar Kernel en FreeBSD es divertido  y me acorde mucho del principio KISS(Keep It Simple Stupid), no tuve ningun problema en compilar y correrlo siendo la primera vez que usaba el sistema. En Linux compilar el kernel es un caos y una llenada de huevos cada vez que lo hago. Eso que estoy acostumbrado a hacerlo.

Entonces OpenBSD me llamó mucho la atención por su enfoque en seguridad, pero decidi volcarme hacia FreeBSD por la aceleración grafica que es algo que como gamer empedernido voy a necesitar, y tiene mas variedad de software el cual voy a necesitar para sentirme como en casa. (OpenBSD, ¡te estoy mirando!).

He aprendido mucho con Linux, y lo mas seguro es que lo siga usando, pero al ver toda esta prolijidad, debo decir que casi no tiene chance de volver a ser mi elección principal. Como final de este corto cuento, voy a darle gracias a varias distribuciones de Linux que me hicieron la vida delante del monitor mas interesante.

  • Crux
  • Arch Linux
  • Slackware

Arch es una muy buena distro, pero si realmente deseas el poder y el enamoramiento con tu S.O. recomiendo Crux, el padre de Arch Linux. y Slackware me parece la distro mas solida y estable, realmente se siente bien sabiendo que todo el combo es version estable y todo funciona como debe. Aunque te dejas de sentir bien cuando tenes que instalar cosas que no se encuentran dentro de su DVD.

Estare contando mis experiencias con BSD, dense una vuelta cada tanto.

La historia de estos pensamientos comenzaron con un amigo y su intento de crackear un Handshake de WPA para poder acceder a internet a travez de la red de su vecino(Hoy en día tiene internet … pobre vecino). Se ve que despues de varios intentos fallidos con los pocos diccionarios que hay en español se le ocurrio la idea de crear un diccionario con todas las combinaciones alfanumericas posibles. Usando rcracki si mal no recuerdo comenzo a hacer ese diccionario, un rato despues el archivo pesaba mas de 400 MB y aun estaba en la “a” , entre los dos no logramos sacar la cuenta correcta de cuanto pesaria el archivo. Luego me toco a mi probar la fortaleza de un Handshake en el cual falle y aún hoy en dia me espera en mi escritorio, sucedido esto decidí hacer la cuenta. Tome en cuenta el alfabeto español y los 10 numeros posibles, esto me daba 37 y elevado a la cantidad de caracteres en la contraseña = 37**15 (tomando 1 byte por caracter, a lo muy oldschool).

***Espacio Precisado para Tabla Alfanumerica completa de 15 caracteres***

En Bytes: 3.33446267951815e+23
En Kbytes: 3.25631121046695e+20
En Mbytes: 3.17999141647163e+17
En Gbytes: 310546036764807
En Tbytes: 303267614028.132

***Cantidas de PC’s en Cluster (8TB por PC) necesitadas***

PC’s en Cluster(8TB c/u): 37019972.4155435

 

Aún sigo pensando que esto esta mal, que de alguna manera me equivoque, pero la logica me sigue pareciendo correcta.
¿Alguno leyo “La Fortaleza Digital” de Dan Brown? En pocas palabras en el libro habla de un super cluster de la NSA (National Security Agency) de Estados Unidos utilizada para crackear passwords, y estos numeros me hacen pensar que perfectamente puede existir un cluster de tal tipo… ¿Scary uh?, quien mas tendria esa cantidad de dinero y las razones para tener un clustersito de esos.

Espero alguna corrección en mis calculos. Acá esta el calculo.

Hasta la próxima.