jueves, 23 de diciembre de 2010

Feliz navidad y próspero 2011

A todos mis lectores, seáis muchos o pocos, seáis de la parte derecha del atlántico o de la izquierda, habléis español o no, visitéis mi blog cada pocos días o hayáis llegado por una búsqueda en Google, estés mucho tiempo en mi blog o estéis de paso, seáis linuxeros, maqueros o windowseros (o de otras especies ;), utilicés firefox, chrome, internet explorer u opera, naveguéis desde un pc, mac o dispositivo móvil android o iOS, entréis dentro de uno de estos grupos o no os quiero desear a todos...


¡Feliz navidad y próspero 2001!

sábado, 18 de diciembre de 2010

Apache Tapestry 5.2.4 publicado

Apache Tapestry
Después de más de un año de trabajo el 16 de diciembre se votó y publicó la versión 5.2.4 del framework Java para aplicaicones web Apache Tapestry como la versión estable de la rama 5.2. Aparte de las habituales correcciones de errores incorporados en esta versión se han añadido nuevas características al framework manteniendo la compatibilidad con versiones anteriores. Algunas de las nuevas funcionaliades incorporadas en este versión son:

- Recarga en caliente de servicios: al igual que la recarga en caliente de páginas y componentes se incorpora la recarga en caliente para la mayoría de servicios.
- Los objetos de las de páginas ya no se mantienen en un pool: de esta forma solo existirá una instancia de objeto para cada página y locale lo que reducirá la cantidad usada de memoria en proyectos grandes.
- Procesador de plantillas de nuevo SAX: eliminada la de pendencia de Tapestry sobre StAX por un procesador SAX normal lo que facilitará la compatibilidad de Tapestry en el Google App Engine.
- Mejor soporte para hacer pruebas unitarias.
- Soporte de Bean Validation JSR-303.
- Notable mejora de documentación que se publicó con el rediseño de la página web del proyecto.

Acabo con la última frase del anuncio del creador de Apache Tapestry sobre esta nueva versión:

"So, if you are looking for a high-productivity, high-performance web framework that doesn't get in your way, it's a great time to take a closer look at Tapestry!"

Notas de lanzamiento:
5.2.4 – 15 Nov 2010
5.2.3 – 11 Nov 2010
5.2.2 – 24 Oct 2010
5.2.1 – 29 Sep 2010
5.2.0 – 8 Aug 2010

Referencia:
Announcing Tapestry 5.2
Documentación sobre Apache Tapestry

viernes, 10 de diciembre de 2010

Juegos para GNU/Linux

Tux
En GNU/Linux no hay tantos juegos comerciales como en otros sistemas operativos, léase Windows y últimamente en Mac con su App Store, pero eso no quiere decir que no haya buenos juegos para el pingüino. En la siguiente entrada pondré algunos con los que he metido muchas horas y que se salen de los típicos y habituales FPS aunque también los hay para Linux.

Open TTD (Transport Tycoon Deluxe)

Este juego está basado en el original de la compañía Microprose «Transport Tycoon Deluxe» y al que le añade algunas características que no tenía el original. Es un juego de estrategia en tiempo real en el que eres el propietario de una compañia de transportes con el objetivo de amasar una fortuna y no llevar a la compañía a la bancarrota. Para ello dispones de varios medios de transporte como tren, avión, camiones, autobuses y barcos para transportar mercancias o pasajeros (carbón, hierro, acero, petroleo, madera, grano, ...) entre las fábricas que producen las materias primas (bosques, granja , pozos de petróleo, minas de hierro y de carbón, ciudades, ...) y las factorías que las procesan (acerías, central eléctricas, ciudades, serrerias, ...), también tendrás que crear las rutas que harán los vehículos, de ello dependerá que sean rentables y produzcan beneficios para comprar nuevos vehículos y constuir nuevas rutas y no caer en la bancarrota. Según se va avanzando en el tiempo irán apareciendo mejores medios de transporte con más capcidad, más rápidos, que se averien menos o como en el caso de los trenes, en monorail o de levitación. Según del dinero que dispongas podrás modificar el terreno y construir las carreteras para los vehículos, vías para los trenes, túneles para evitar montañas, puentes para atravesar rios, comprar locomotoras, vagones, autobuses, aviones, constuir aeropuertos, .... ¡Ten cuidado con las catástrofes y los OVNIS!

En fin un juego muy entretenido y adictivo en el que además hay posibilidad de jugar en modo multijugador a través de internet.

http://www.openttd.org/

# pacman -S openttd


I have no tomatoes

Otro juego muy entretenido similar al típico Bomber Man en el que deberemos espachurrar los máximos tomates disponibles en diez laberintos con un tiempo de un minuto en cada uno de ellos. Irás dejando bombas en el camino que explotarán al cabo de unos segundos tratando de espachurrar a los demás y que no seas espachurrado por una de tus bombas o te cojan los otros tomates. Cogiendo los diamantes que dejan los tomates espachurrados podrás utilizar habilidades como el Potato Man, el campo de flores, la tormenta electrica, fuego, teletransporte, la hada que recoge diamantes por ti, ... Juego simple pero con un apartado gráfico y de sonido cuidado y muy adictivo. Dispone de la posibilidad de jugar a dos en el mismo ordenador.

¿Cuantos tomates eres capaz de espachurrar en diez minutos?

http://tomatoes.sourceforge.net/

$ yaourt -S tomatoes


Hedgewars

Un juego de estrategia y habilidad por turnos similar al conocido Worms. Dispondrás de un equipo de erizos que tratará de aniquilar al resto de componentes de los otros equipos utilizando diferentes armas, desde la típica granada y bazoka hasta un bombardeo de napalm, el humillante bate de beísbol o los siempre efectivos cartuchos de dinamita. El arsenal de armas del que dispones es muy amplio y hay algunas muy originales como la bomba melón o la granada santa. Según se vayan utilizando las armas de unos erizos contra otros el terreno se irá deformando. Si al cabo de un tiempo los erizos no se han aniquilado mutuamente correran el peligro de ahogarse ya que el nivel del mar irá aumentando con el objetivo de finalizar la partida.

Podrás personalizar los nombres de los erizos y la ropa que llevan asi como el número de miembros de tu equipo. También hay muchos diferentes tipos de terreno. En este juego se puede jugar contra la máquina, varias personas entre ellas o por internet.

http://www.hedgewars.org/

# pacman -S hedgewars


Frozen bubble

Juego de tipo puzzle en el que se trata de eliminar todas las pompas de la pantalla juntando como mínimo tres del mismo color antes de que se acumulen y lleguen hasta el suelo. A medida que avanzas en niveles se incrementará la dificultad y las pompas iran bajando hasta el suelo más rápido. También muy simple pero entretenido para algún rato libre.

http://www.frozen-bubble.org/

# pacman -S frozen-bubble


Neverball/Neverputt

Juego en 3D muy atractivo visualmente y otro juego muy entretenido con toques de puzzle y de plataformas y en el que es necesaria cierta habilidad. Deberás llevar una bola de un punto de un nivel hasta su salida en el menor tiempo posible, salvando los obstáculos que encuentres en el camino y cumpliendo ciertos objetivos como recoger cierto número de monedas de diferente valor: amarillas (1), rojas (5) y azules (10). Dependiendo del tiempo tardado o de las monedas recogidas conseguirás establecer un record del nivel.

Este juego además incluye el juego Neverputt del estilo de minigol en que el objetivo es hacer hoyo en el menor número de golpes posible. En cada hoyo habrá ciertos obtáculos como rampas, desniveles, caidas o barreras. Ten en cuenta que la bola estará sometida a la ley de la gravedad y a leyes físicas al chocar con los obstáculos.

Ambos juegos permiten ser jugados por varias personas simultáneamente.

http://neverball.org/

# pacman -S neverball


Pingus

Juego tipo puzzle similar al mítico Lemmings en que el objetivo será llevar cierto número de pingüinos sanos y salvos a la salida del nivel tratando de encontrar una forma de como conseguirlo con las habilidades que poseen los pingüinos. Estas habilidades son para hacer ciertas tareas como excabar, construir escaleras o redirigir a los otros pingüinos en otra dirección para que el resto llegue a salvo a la salida. Lógicamente en cada nivel la dificultad para encontrar la forma de llevar a los pingüinos a salvo se incrementará. Dispone de de un tutorial en el que podremos aprender como dar órdenes a los pingüinos.

http://pingus.seul.org/

# pacman -S pingus

También hay otros muchos juegos de diferente tipos a estos, simuladores, estrategia en tiempo real etc... aquí solo pondré algunos de ellos: Battle For Wesnoth, Glest, Warzone2100, Nexuiz, Warsow, Foobillard, Torcs, Flightgear, FreeCol, FreecivFrets on fire, Tee Worlds, Nethack, UFO: AI, .... Y aunque los juegos comerciales para GNU/Linux no son tan numerosos hay algunos de buena calidad como Amnesia: The Dark Descent, World of Goo, OsmosBrukkon y otros de http://www.humblebundle.com/.

Referencia:
http://www.linuxjuegos.com/
http://www.juegoslinux.com/
http://www.happypenguin.org/
http://www.humblebundle.com/

¿Tienes algún otro juego para GNU/Linux que te guste? ¡Coméntalo aquí!

lunes, 22 de noviembre de 2010

Nueva página web de Apache Tapestry

Apache Tapestry
La página web del proyecto Apache Tapestry ha sufrido una profunda actualización tratando de darle un aire más actual y en la que se transmita mejor cuales son las principales caracteristicas de este magnifico framework para el desarrollo de aplicaciones web en Java o porque elegir este framework sobre otros.

Las principales secciones como Empezando, Documentación y Descargas ahora están más visibles en la página de inicio, además se ha incluido a esta una sección con las noticias que van surgiendo de este proyecto así como otra sección de proyectos en los que se ha utilizado con éxito.

La sección de documentación (que tiene muy buena pinta) también ha sido mejorada notablemente pudiendo encontrar en ella una introducción, una guía para el primer contacto, un tutorial sobre los principales conceptos, una guía de usuario más completa, la API del las clases del framework y la referencia de componentes de las últimas versiones y algunos enlaces con información sobre Tapestry (blogs, libros, presentaciones, wiki,).

Tal vez si habéis visitado alguna de mis otras entradas sobre Tapestry os habréis dado cuenta del cambio de logo del proyecto. En las siguientes imágenes podéis ver como era la antigua página y como es ahora.


Además aprovechando el estreno de la nueva página web y al mismo tiempo han liberado la versión 5.2.4 aunque todavía es una versión beta de la rama 5.2 no tardará en liberarse la versión final.

Referencia:
Apache Tapestry
Documentación sobre Apache Tapestry

Entorno de desarrollo para Apache Tapestry 5

Apache Tapestry
Los desarrolladores de Apache Tapestry implementaron en la versión 5 una característica que hace del entorno de desarrollo de este framework sea altamente productivo. La característica es similar a la presente en otras tecnologías como en los JSP y otros frameworks como Grails y es treméndamente útil ya que puede suponer un ahorro considerable en el tiempo de desarrollo. En Tapestry la caracteristica se llama «live class and template reloading» y consiste en que los cambios que se realizan en los componentes y páginas son cogidos en caliente por Tapestry sin necesidad de hacer un redespligue o reiniciar el servidor de aplicaciones. Ya que en un desarrollo los cambios son continuos la necesidad de ir viendo frecuentemente como van quedando es imprescindible.

Para ver esta caracteristica en funcionamiento utilizaré el ejemplo Hola Mundo con Tapestry 5 de una entrada anterior. Los cambios a realizar son pocos y nada complicados. Básicamente consisten en tener generada en un directorio la estructura de la aplicación WAR. Partiendo de la estructura de codigo fuente que ya teniamos en el ejemplo nos faltaría generar en el directorio WEB-INF/lib las librerías de la aplicación y en el directorio WEB-INF/classes las clases compiladas. Para el caso de las librerías basta con crear una nueva tarea en Ant que nos copie las librerías del directorio «lib» a «src/main/web/WEB-INF/lib», esto se hace en la nueva tarea «copiar-libs» de Ant del archivo build.xml. Hay algunas librerías que no son necesarias y no las copiamos por eso los excludes de la tarea copiar-libs (son las librerias servlet-*.jar y selenium-*.jar).

Para el caso de las clases compiladas le indicaremos al IDE que usemos que nos las genere en «src/main/web/WEB-INF/classes» en vez del directorio bin en el caso de eclipse. Para ello y en eclipse iremos a las propiedades del proyecto en introduciremos en el campo de texto «Default output folder» «HelloWorldTapestry5/src/main/web/WEB-INF/classes».


Con estas dos cosas ya tenemos la estructura de una aplicación WAR en el sistema de archivos ahora nos queda desplegar la aplicación en el servidor de aplicaciones. Para el caso de Tomcat basta con copiar un archivo xml al directorio de Tomcat «conf/Catalina/localhost» (este archivo xml está en la carpeta misc del código fuente de la aplicación). El nombre del archivo será el nombre de contexto de la aplicación asi que en este caso y habiendo realizado estas tres cosas accederemos a la aplicación con la URL «http://localhost:8080/helloworld-tapestry5» y podremos probar que haciendo un cambio a la página Index (en el archivo Index.tml) y simplemente actualizando la página en el navegador los cambios se aplican de inmediato.

Como digo una caracteristica muy util, que ahorra mucho tiempo y que contribuyen a hacer de Tapestry para mí uno de los mejores frameworks Java con el que he tenido la oportunidad de desarrollar.

Referencia:
Documentación sobre Apache Tapestry
Codigo fuente Hola Mundo Apache Tapestry 5 (con live reloading)

viernes, 5 de noviembre de 2010

Guía instalación Minix


Minix
El proceso de instalación de Minix no es muy complicado, en unos pocos pasos se completa, y se realiza bastante rápido debido a que su tamaño es bastante menor que muchas de las distribuciones GNU/Linux. Lo recomendable es hacerlo en una máquina virtual ya que Minix no va a ser el sistema que usemos para cualquiera de las tareas que hagamos habitualmente, además de esta manera podremos hacer y deshacer a nuestro gusto sin peligro de romper nuestro sistema.

Lo primero que haremos será descargar la imagen de CD de la última versión de Minix (en el momento de escribir esta entrada la 3.1.8).

Una vez descargada configuraremos una nueva máquina virtual. Utilizando virtualbox al crear la máquina virtual configuraremos la opciones típicas como sistema operativo done utilizaremos «Other» y versión «Other\Unknown», le asignaremos una cantidad de memoria aceptable (128 MiB o más), el tamaño de disco duro (2 GiB será más que suficiente) y en orden de arranque pondremos primero CD/DVD-ROM y luego disco duro y en almacenamiento asignaremos a la unidad CD virtual la imagen de instalación de Minix que hemos descargado. Al final en el resumen de la maquina virtual que hemos creado veremos algo como en la siguiente imagen.


Iniciamos ahora la máquina virtual. Primeramente veremos una pantalla con un mensaje de bienvenida y al cabo de un tiempo si no hacemos nada se iniciará la carga de Minix. Al final llegaremos a una pantalla de inicio de sesión donde introduciremos «root» y sin contraseña accederemos a la linea de comandos desde donde procederemos a instalar Minix en el disco duro (de la máquina virtual). Para ello y tal como se nos indica en el mensaje de bienvenida antes de iniciar sesión tecleamos «setup» y un proceso nos guiará en el proceso de instalación. Si todo va correctamente pulsaremos la tecla Retorno (Enter).

El primer paso será seleccionar la distribución de teclado, introduciremos spanish. El segundo paso será establecer las particiones. Para no complicarnos y como estamos utilizando una máquina virtual dejaremos a Minix que realice el particionado de forma automática, pulsamos Retorno. Después de un pequeño momento en el que Minix detecta los discos duros seleccionaremos el que nos ofrece, introducimos 0 o pulsamos Return para utilizar la opción por defecto (0). Después Minix nos pedirá una confirmación antes del copiado de archivos al disco duro, introducimos «yes». A continuación nos preguntará cuanto tamaño queremos reservar para la partición home, dejaremos el valor que nos ofrece Minix, 376 MiB para un disco duro de 2 GiB. Ahora nos pregunta por el tamaño de bloque del disco duro, dejaremos el valor por defecto 4 KiB pulsando la tecla Retorno.

Y ahora empieza el copiado de archivos al disco duro donde veremos los archivos restantes y el progeso de la operación. Una vez finalizado Minix nos pregunta por el modelo de tarjeta de red que poseemos (en la máquina virtual), selecionaremos la opción por defecto AMD LANCE. Ahora seleccionamos que Minix use DHCP para configurar la tarjeta de red. Y ya hemos terminado de instalar Minix. En las siguientes imágenes podéis ver el proceso de instalación de forma gráfica.






Finalmente, tecleamos shutdown y desmontamos la imagen del medio de instalación de Minix. Se nos mostrará la linea de comandos del monitor de Minix y ya podremos cerrar la ventana para volver iniciar Minix ahora desde el disco duro.


Ahora instalaremos algunos paquetes para poder hacer algo con Minix. Los paquetes que instalaremos serán nano, la colección de compiladores GNU (gcc) y el entorno gŕafico básico X. Para ello utilizamos la siguiente linea de comandos.

$ pkgin install nano gcc x11

Otros comandos útiles de pkgin son:
$ pkgin help
(para obtener las opciones disponibles)

$ pkgin update
(para actualizar la lista de paquetes)

$ pgkin available | more
(para ver los paquetes disponibles, que no son muchos)

Una vez se hayan descargado e instalado los paquetes podremos hacer algo dentro de Minix pero eso será cuestión para otra entrada.

Referencia:
El sistema operativo Minix
Guía post instalación Minix
Installation guide

domingo, 31 de octubre de 2010

El sistema operativo Minix

Minix
Si eres lector habitual de blogs sobre GNU/Linux o software libre seguramente habrás leído alguna vez que GNU/Linux es más que Ubuntu. Sin embargo, también se puede decir que Unix es más que solo GNU/Linux. Hay varios sistemas operativos con la filosofía Unix además de GNU/Linux, si bien es cierto no tan extendidos como este último, por mencionar algunos los de la familia BSD (NetBSD, FreeBSD, OpenBSD, ...), el en continuo estado de desarrollo GNU/Hurd (del que Arch tiene una versión con este núcleo, Arch Hurd), Illumos y Solaris, otros menos conocidos como DragonFly y sobre el que trata esta entrada, Minix.

Como muy posiblemente ya conocerás Minix es el sistema desarrollado por Andrew Tanenbaum (y colaboradores) con el objetivo inicialmente de ser un sistema operativo con el que sus alumnos pudiesen aprender de forma práctica los principios teóricos sobre los que se basan los sistemas operativos. Con la versión 3 también tiene como objetivo ser un sistema usable según la propia página del proyecto.

Las diferencias entre los sistemas operativos Unix son varias que van desde la licencia que usan hasta la arquitectura interna. GNU/Linux utiliza una arquitectura monolítica en la que el kernel se compila como un único programa ejecutable y en el que los drivers se ejecutan en modo kernel. Esta arquitectura tiene la ventaja de que el kernel es más rápido pero a costa de que un fallo en un driver pueda tumbar el sistema. Para evitar este último problema surgen los sistemas operativos basados en un microkernel en el que el kernel propiamente es muy pequeño, de tan solo unas 6000 líneas de código, proporcionando las funciones básicas como un entorno en el que se puedan ejecutar varios programas concurrentemente sin que se interfieran entre ellos. El resto de funcionalidades son proporcionadas por los controladores de dispositivos (p. e. el controlador del disco duro) y unas entidades llamadas servidores usadas por los procesos (p. ej. los servidores de sistemas de archivos) que se ejecutan en modo usuario sin que puedan afectar al kernel.

Los debates entre si es mejor una arquitectura monolítica o una basada en microkernel ha originado alguna que otra discusión entre el propio Linus Torvalds y Andrew Tanenbaum (I, II y III) cada uno defendiendo las ventajas de cada implementación según los objetivos de cada sistema operativo.

Si has llegado hasta esta linea quizá te interese conocer un poco más como funcionan los sistemas operativos y Minix es un buen sistema operativo para ello. Un buen libro publicado por Tanenbaum es «Sistemas operativos. Diseño e implementación». La versión 2 de este libro está disponible en castellano y la versión 3 esta disponible en Amazon y otras tiendas en inglés.

Referencia:
Minix
Guía instalación Minix
Guía post instalación Minix
Lista de discusión de Minix
Código fuente Minix (Git)
http://www.osnews.com/story/15960/Introduction-to-MINIX-3
http://eprints.ucm.es/9519/1/Minix@ARM.pdf
http://wiki.minix3.org/en/MinixResources
http://www.freesoftwaremagazine.com/articles/minix
http://wiki.minix3.org/en/MinixFaq
http://wiki.minix3.org/en/Publications
http://sopa.dis.ulpgc.es/ii-dso/lecminix/lecminix.htm

viernes, 22 de octubre de 2010

Virtualbox, Arch Linux y adaptador puente

Virtualbox

Haciendo pruebas del Ubuntu Enterprise Cloud de la entrada anterior en una máquina virtual de Virtuabox he usado el adaptador puente en la configuración de la red en vez de la predeterminada, NAT, para que la máquina virtual parezca que esta en la misma red que el sistema anfitrión. Sin embargo, el módulo del kernel que es necesario para usarlo no se carga por defecto en Arch Linux al arrancar el sistema por lo menos instalando el paquete virtualbox-archlinux-modules. Hay que cargarlo explicitamente para usar el adaptador puente sino ocurre el error de la siguiente captura de pantalla.

Para cargar el módulo explicitamente basta con ejecutar el siguiente comando desde la consola:

sudo modprobe vboxnetflt

Una vez cargado el módulo ya podemos iniciar las máquinas virtuales que hagan uso del adaptador puente.

martes, 12 de octubre de 2010

Ubuntu Enterprise Cloud 10.10

Ubuntu

Muchos han sido los artículos publicados el día 10 junto con la publicación de Ubuntu Maverick Meerkat (10.10) pero también junto con la versión del escritorio tenemos la versión de servidor destinada a empresas aunque para un entorno de producción es más recomendable usar la versión LTS (10.04) por el mayor tiempo de soporte que posee. Además de la tradicional versión para instalar como servidor también se puede instalar para construir una nube (que tan de moda está) privada o en una nube pública utilizando los recursos de la nube de Amazon.

La Ubuntu Enterprise Cloud (UEC) está formado por un controlador de la nube y uno o varios nodos controladores de las instancias. La nube de Ubuntu se basa en el software Eucalyptus.

El proceso de instalación de una nube privada de Ubuntu se inicia como cualquier instalación de otro sistema operativo introduciendo el CD o mediante una memoria USB (para hacer las pruebas lo más recomendables es utilizar una máquina virtual como Vitrtualbox u otras similares).


Una vez iniciamos el sistema seleccionaremos el lenguaje de la instalación y en vez de seleccionar la opción «Instalar Ubuntu Server» seleccionamos «Instalar Ubuntu Enterprise Cloud», los pasos para completar la instalación son similares a los pasos de instalación de un servidor normal, seleccionaremos el particionado de los discos, la distribución del teclado, el usuario y contraseña para el usuario root, se descargan algunos paquetes, etc... Una vez haya finalizado la instalación y se haya reiniciado el sistema podremos acceder a la consola de administración del nodo controlador de la nube. Para ello tendremos que conocer su dirección IP, lo podemos saber iniciado sesión en el servidor y ejecutando el comando:

$ ifconfig | more

Nos fijaremos en el campo «Direc. inet» de la interfaz br0 si como yo lo estáis probando en una máquina virtual de Virtualbox con una red no NAT sino adaptador puente (no la por defecto NAT).


Una vez conocida la dirección IP abriremos el navegador, la introduciremos en la barra de direcciones y accederemos a la consola de administración donde podremos ver algunos de los parámetros de la nube que estamos creando. El usuario y contraseña por defecto para acceder a la consola de administración es «admin» tanto para el usuario como para la contraseña. Estas son algunas capturas de las opciones de la consola de administración.





En la pestaña Store podremos seleccionar las imágenes que queremos instalar y en las que se instalarán los servicios que propocionará nuestra nube. También podremos subir nuevas imágenes a la nube para servicios personalizados.


Una vez hayamos instalado correctamente una imagen procederemos a iniciarla desde el controlador de la nube, iniciamos sesión en el y lo primero que haremos será obtener las credenciales con:

$ mkdir -p ~/.euca
$ chmod 700 ~/.euca
$ cd ~/.euca
$ sudo euca_conf --get-credentials mycreds.zip
$ unzip mycreds.zip
$ ln -s ~/.euca/eucarc ~/.eucarc
$ cd -

Ahora generaremos la clave privada con un pequeño script con el siguiente contenido:

if [ ! -e ~/.euca/mykey.priv ]; then
    mkdir -p -m 700 ~/.euca
    touch ~/.euca/mykey.priv
    chmod 0600 ~/.euca/mykey.priv
    euca-add-keypair mykey > ~/.euca/mykey.priv
fi


Permitimos el acceso mediante SSH a las instancias que es como nos conectaremos a la consola de cada una de ellas:

$ euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

Arrancaremos una instancia con:

euca-run-instances $EMI -k mykey -t m1.small


Donde $EMI lo sustituiremos por el Id de una imagen de la pestaña Images. En mi caso el Id del emi asignado es «emi-DF56106F».

Cuando la instancia este arrancada nos podremos conectar a ella con:

$ EMI=emi-DF56106F
$ IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
$ ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR

Para parar la instancia usamos el comando:

$ EMI=emi-DF56106F
$ INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
$ euca-terminate-instances $INSTANCEID

Si estamos probando Ubuntu Enterprise Cloud en una máquina virtual como Virtualbox y reiniciamos la máquina virtual deberemos modificar el archivo ./.euca/.eucarc y las variables S3_URL y EC2_URL con la nueva IP que se le asigne a la máquina que será la misma que hemos obtenido con el comand if config de unos cuantos pasos antes. Una vez modificado el archivo ejecutamos los siguiente para recargar las variables:

$ . ~/.euca/eucarc


O le cambiamos a la interfaz de red la IP a la que tiene el archivo ./.euca/.eucarc con el comando:

$ ifconfig br0 85.84.32.71

Referencia:
http://www.ubuntu.com/cloud
https://help.ubuntu.com/community/UEC
https://help.ubuntu.com/community/UEC/CDInstall
http://www.eucalyptus.com/
Eucalyptus beginners guide
5 opciones de hosting para aplicaciones Java