a modo de introducción Invitación a la cooperación
Invitación a la cooperación
L
inux+DVD en su versión española ya tiene su propia vida. En este número la mayoría de los artículos está escrita por los autores hispanohablantes y sólo para la edición española. La revista es patrocinador de diferentes eventos, jornadas y conferencias relacionados con el mundo de Software Libre, sobre los que podéis leer en nuestra página web (sección Eventos). En la sección de Noticias en la revista publicaremos los relatos de los acontecimientos más interesantes que tuvieron lugar en cada uno de estos eventos. Otra novedad, seguramente muy positiva para todos, es el cambio del precio de la suscripción que ha bajado del 86 a 69 euros. Hemos hecho un gran esfuerzo para poder conseguirlo y esperamos que gracias a este cambio más personas podrán disfrutar de nuestra revista. Os invitamos a aprovechar esta oportunidad: Linux+DVD en la suscripción sale mucho más barato (5,75 euro), además al suscribiros podéis elegir entre varios regalos. También hemos creado una opción especial para las empresas: la suscripción PRO. Todas las empresas que se suscriban, pertenece-
Os invitamos a aprovechar esta oportunidad: Linux+DVD en la suscripción sale mucho más barato (5,75 euro), además al suscribiros podéis elegir entre varios regalos... rán a nuestro Club PRO, lo que trae muchas ventajas. Esta opción es especialmente provechosa para las pequeñas y medianas empresas que quieren llegar con su mensaje a mucha gente sin tener que invertir mucho dinero en esto. El hecho de que al suscribirse a nuestro Club PRO podrán publicar una pequeña publicidad de su empresa en la revista les posibilitará conseguirlo. A partir de enero vamos a publicar los tests de consumidores. Testaremos diferentes aplicaciones y programas así como el equipamiento informático. Esperamos que este tipo de tests os ayudará a la hora de elegir tanto software como hardware o por lo menos os dará una idea de lo que se puede esperar de los productos de empresas diferentes. Aquí contamos con vuestra ayuda, invitamos a todas las personas que estén interesadas en cooperar con la revista expresando su opinión acerca de los productos concretos a participar en este proyecto. En nuestra página web podéis leer qué tipo de productos vamos a testar cada mes. Por último queremos invitar a la cooperación con Linux+ diferentes empresas que se ocupan de prestar servicios en este campo. Si queréis escribir sobre las tecnologías usadas en vuestra empresa, los sistemas de seguridad mejores, o sabéis cómo ahorrar dinero con Linux, estamos abiertos a vuestras ideas. Espero que todos estos cambios y novedades convertirán a Linux+ en una revista publicada no sólo para los lectores, sino con, y sólo gracias a los lectores. Espero vuestros comentarios acerca del nuevo perfil de la revista, los necesito y cuento con vosotros...
Paulina Pyrowicz Redactora Jefe de Linux+
www.lpmagazine.org
3
Mensual Linux+ está publicado por Software-Wydawnictwo Sp. z o. o. Producción: Marta Kurpiewska, marta@software.com.pl Redactora jefe: Paulina Pyrowicz, paulina.pyrowicz@software.com.pl Redactor adjunto: Anna Marcinkiewicz, anna.marcinkiewicz@software.com.pl Preparación de DVDs: Jakub Wojnowski, jwojnowski@aurox.org Diseño portada: Agnieszka Marchocka Gráfico: Łukasz Pabian – "insane" Publicidad: adv@software.com.pl Suscripción: suscripcion@software.com.pl Maquetación y composición: Marcin Ziółkowski, marcin@software.com.pl Traducción: Osiris Pimentel Cobas, Pablo Dopico, Małgorzata Janerka, Agnieszka Romero Latouche, José A. Romero, Paulina Stosik, Carlos Troetsch, Mariusz Muszak Correctores: Pablo Cardozo, Agripino Petit Miguel, Minton Arley, Hector Colina Distribución: Coedis, S. L. Avd. Barcelona, 225 08750 Molins de Rei (Barcelona), España Dirección: Software–Wydawnictwo Sp. z o.o., ul. Bokserska 1, 02-682 Varsovia, Polonia La Redacción se ha esforzado para que el material publicado en la revista y en los DVDs que la acompañan funcionen correctamente. Sin embargo, no se responsabiliza de los posibles problemas que puedan surgir. Todas las marcas comerciales mencionadas en la revista son propiedad de las empresas correspondientes y han sido usadas únicamente con fines informativos.
En este número descripción de DVDs
6
Descripción de DVDs
Jakub Wojnowski En este número de Linux+ os ofrecemos los DVD's con: Mandriva 2007 Versión completa de la distribución; Linux+ Live Games Edition con los mejores juegos para Linux
novedades
10
Noticias
12
Kernel
14
Debian
Alex Sandoval
Tomasz Torcz
Samuel Pizarro Silva
15
Suse
16
Ubuntu
17
Mandriva
Esteban Negri
Carlos Velázquez
Juan Gamez
diversión
18
Vídeo Juegos en Linux
26
BpmDj – Herramientas de DJ gratuitas
Leonardo Andrés Gallego Una de las principales preguntas de las personas (en general, adolescentes) a la hora de utilizar Linux es: “¿Puedo correr mis juegos?”. Esta no solo es una de las principales preguntas, sino que además, es una de las más difíciles de responder. Sí, van a poder correr juegos, variados y una buena cantidad de ellos, pero no todos a los que están acostumbrados. Aquí veremos una variedad de esos que sí pueden correr, de qué forma y sus ventajas y desventajas.
Werner Van Belle Si es que quieres dar una fiesta u otro evento social que lleve música y estás pensando cómo usar tu PC que tiene Linux instalado con semejante propósito, gracias a las herramientas BpmDj, que se han fabricado utilizando las librerías QT, manipularás, mezclarás y/o reproducirás fácilmente las canciones en OGG y/o MP3.
La Redacción usa el sistema de composición automática Los DVDs incluidos en la revista han sido comprobados con el programa AntiVirenKit, producto de la empresa G Data Software Sp. z o.o. ¡Advertencia! Queda prohibida la reproducción total o parcial de esta publicación periódica, por cualquier medio o procedimiento, sin para ello contar con la autorización previa, expresa y por escrito del editor. Linux ® es una marca comercial registrada de Linus Torvalds.
4
práctica
32
SNMP: Monitorización de sistemas
José B. Alós Alquézar El protocolo SNMP (Simple Network Management Protocol), descrito originalmente por la RFC1157, fue concebido a principios de la década de los noventa para permitir tanto la gestión como la recolección de datos de diferentes dispositivos. Linux+ 12/2006
Índice
Tema del número
Diversión
linux en la empresa
para programadores
44
66
SAP en entornos GNU/Linux
Joan Ribas Lequerica En ocasiones podemos pensar que los sistemas GNU/Linux pueden estar poco implantados en los entornos empresariales, o que si se utilizan son más bien en entornos de pruebas o como simples servidores Web. Nada más lejos de la realidad, GNU/Linux se ha ido haciendo un hueco en entornos productivos y para tareas tan críticas como la planificación de recursos de una empresa. Aquí se presentará el caso de SAP, la empresa que actualmente es la número uno en ventas de software de gestión empresarial.
Creación de páginas web dinámicas
Julio Garvía Honrado En los tiempos que corren son muchos los sitios en Internet que basan su razón de ser en la generación de contenidos dinámicos e interactivos. No obstante, no todos ellos son fáciles de mantener y actualizar dado que no siempre cumplen una de las principales máximas en el diseño de software: Separar el diseño de la aplicación de la gestión o procesamiento de la información.
software
50
Juegos
Francisco I. García Millán Este mes os presatamos tales juegos como Cold War, Wormux, Savage, The Mana World, Vendetta Online, Super - Tirititran.
54
Un grupo de programas para tu panel GNOME
Claus Schwarm Estamos en diciembre. La navidad llama a la puerta. La gente está ocupada comprando regalos para sus amigos y familia. Sólo quedan unos días para que finalice el año. Es el mejor momento para hacerte uno o dos regalos a ti mismo. También es el mejor momento para pensar qué te gustaría cambiar para el nuevo año, para encontrar nuevas maneras de ser más productivo o de divertirte más con tu ordenador.
57
KDE 4 sobre Windows y Mac
Luis Méndez Alejo No es nuevo ver aplicaciones que operan bajo licencias GPL o CC correr sobre plataformas privadas como Windows o MacOS X, pero ver un escritorio de calidad como KDE en su versión 4 es algo que hace pensar hacia donde se mueve el software libre y núnca mejor dicho que camina hacia la conquista de los escritorios aunque estos sean los de plataformas privadas.
hardware
58
Virtualización de Servidores
seguridad
74
Certificado digital a buen precio
Jordi Espasa Clofent Desde hace años Internet ha pasado a ser una tecnología básica en el quehacer diario de las personas: podemos hacer casi todo a través de la red. El problema principal es que cuando la pila de protocolos TCP/ IP que vertebran Internet fueron diseñados, no se tuvo en cuenta a lo que llegaría esa tecnología y, por consiguiente, las implementaciones de seguridad fueron pocas.
entrevista
78
Women's Summer Outreach Program 2006
Paulina Pyrowicz Women's Summer Outreach Program 2006 es un proyecto que ha sido realizado este verano y que consistía en que seis mujeres trabajaran en diferentes proyectos relacionados con GNOME. Cada proyecto duró dos meses y cada participante recibió una beca de 3000 $. Hoy entrevistamos a Vincent Untz – coordinador del proyecto Women's Summer Outreach Program 2006 y a dos chicas españolas que participaron en él – María Soler y Cecilia González.
para principiantes
Matías Barletta En el artículo anterior exploramos los principios básicos de la virtualización de Hardware e iniciamos nuestro camino al mundo de la virtualización. Esta vez vamos un paso más lejos y nos adentramos en el mundo de Xen, una de las aplicaciones de software libre más exitosas de los últimos tiempos.
80
Trucos y truquillos
Leonardo Ibarra Existen diversos trucos y consejos que pueden sernos útiles en nuestro trabajo con Linux. Su conocimiento es uno de los detalles que permiten distinguir a un veterano de un principiante.
www.lpmagazine.org
5
descripción de DVDs Disco A
Mandriva Linux 2007
E
6
última vez los paquetes. Gracias a tal información somos capaces de deshacernos de los paquetes innecesarios y fijarnos en los críticos. Los desarrolladores de Mandriva tienen muchas esperanzas relacionadas con esta herramienta, puesto que se pueden enviar estadísticas anónimas de uso de paquetes. Gracias a ello los desarrolladores podrán quitar de la distribución los paquetes raras veces usados y hacer más lugar para los nuevos.
y Xgl), la herramienta de configuración drak3d y la nueva herramienta de configuración VPN (drakvpn). La librería Glibc se ha incluido en la versión 2.4, mientras que el conjunto de compiladores GCC, que más popularidad tiene entre los programadores, lleva el número 4.1.1. Mandrake (hoy se llama Mandriva) siempre ha intentado proporcionar las mejores herramientas de detección del equipo. Hoy la distribución ofrece el soporte completo de los controladores Adaptec Host RAID (RAID, SCSI, SATA). Se ha perfeccionado la detección de los dispositivos portátiles, tipo cámaras digitales, unidades CD, y llaves USB. Se ha mejorado también el soporte de los monitores LCD más populares, incluido el soporte de la resolución de pantalla ancha (1280x768). Se soportan también los teclados multimedia. Gracias al programa ndiswrapper se puede utilizar con facilidad los drivers creados para Windows que soportan los dispositivos de la red inalámbrica. La nueva versión de los drivers de las tarjetas de sonido ALSA proporciona mezclas de sonido por software. Ahora será posible reproducir el sonido de varios programas independientemente de si la tarjeta de sonido proporciona tal funcionalidad. Ha cambiado también el sistema de montaje automático de volúmenes: Magidev ha sido sustituido por gnome-volumemanager y HAL. La herramienta nueva drakstats forma un complemento interesante. Drakstat permite investigar cuándo se utilizaron por
bios en los documentos más importantes que definen el modo de creación del sistema. Los usuarios que tienen alguna idea para elaborar herramientas nuevas de gestión de la distro deben dirigirse allí. MandrivaClub (http://www.mandrivaclub.com/) sigue conquistando miembros nuevos. Aunque cuesta no poco hacerse socio, a lo mejor merece la pena pensarlo: una vez dentro, el usuario obtiene acceso a varias aplicaciones comerciales y descuentos para las versiones comerciales en caja de los programas.
ma presente en las versiones más antiguas de la distribución Red Hat), hace la configuración del sistema muchísimo más fácil, sobre todo para los usuarios principiantes. Mandriva Linux cuenta con el soporte de cuatro sistemas de archivos con journaling: ext3, ReiserFS, XFS y JFS y del sistema de archivos cifrado. Además, está disponible el soporte de los sistemas de archivos de red, tales como SMB, NFS y WebDAV.
Elementos específicos
Entre los programas interesantes y útiles disponibles en la distribución pueden distinguirse:
Apoyo a la distribución
La web de los desarrolladores de Mandriva, basada en el mecanismo Wiki, crece dinámicamente (http://qa.mandriva.com/wiki). Allí se puede seguir directamente el desarrollo de la distribución así como los cam-
Mandriva Linux 2007 cuenta con una serie de soluciones que facilitan el manejo del sistema, tales como, por ejemplo, los programas gráficos de configuración. El sitio más importante es el Centro de Control, desde cuyo nivel podemos efectuar muchos cambios en nuestro sistema. El centro se basa en gran medida en módulos independientes, entre los que merece la pena destacar: • • • • • •
DrakInst – permite crear un disquete de instalación automática, HardDrake – administrador de equipo; funciona también de forma modular, DiskDrake – administrador de discos y particiones, PrinterDrake – administrador de impresoras, LogDrake – administrador de los registros de eventos, DrakVPN – configuración de la conexión segura VPN,
Linux+ 12/2006
• • •
DrakConnect – administrador de la red, MenuDrake – administrador del menú, Software Manager – administrador de los paquetes.
n el disco A encontraréis la versión completa de Mandriva Linux 2007. Allí aparecerán unos cambios importantes respecto a la versión anterior. Esta edición cuenta con el núcleo en versión 2.6.17, el entorno gráfico KDE en versión 3.5.4, y GNOME 2.16. Incluye además OpenOffice.org un poco cambiado en versión 2.0.3. Ya en su edición 10.1 Mandrakelinux se juntó a las distribuciones que abandonaron el servidor XFree86 por motivos de licencia y apostaron por el proyecto nuevo, X.org, que esta vez aparece en versión 7.1.1. KDE va a ser un 10 % más veloz gracias a su compilación con la flag fvisibility. Las novedades abarcan también: el soporte de sobremesa en 3D (AIGLX
Además, disponemos de dos configuradores gráficos, disponibles desde la versión 10.1 – DrakRoam, destinado a las cada vez más populares redes inalámbricas, y DrakBt para descargar archivos a través de BitTorrent. Además, tenemos un applet para monitorizar, encender y apagar la conexión de red. Los configuradores en cuestión forman unas herramientas muy prácticas y cumplen muy bien su papel. Reunir todos los permisos en un solo lugar, como sucede en LinuxConf (el configurador de siste-
Herramientas
• •
• • • • •
• •
OpenOffice.org 2.0.3, Mozilla Firefox 1.5.0.7 (navegador web, cliente de correo y grupos de distribución), GIMP 2.3.10 (programa para crear y tratar los gráficos bitmap), Samba 3.0.23 (controlador del dominio, el servidor de archivos e impresoras), CUPS2 1.2.3 (sistema de impresión), Scribus 1.3.3.3 (sistema de composición de texto), GCC 4.1.1 (conjunto de los compiladores de los lenguajes C, C++, Fortran 77, Objective C, Java y Ada95), Apache 2.2.3 (servidor web), PostgreSQL 8.1.4 (servidor de bases de datos).
DVD
A
Si no puedes leer el disco DVD y no notas ningún tipo de deterioro mecánico, por favor, pruébalo en al menos dos unidades de disco diferentes.
12/2006
En caso de problemas, escribir a: dvd@lpmagazine.org
DVD
B
descripción de DVDs Disco B
Linux+ Live DVD
L
inux va llevando una gran ventaja sobre otros sistemas operativos gracias a la llamada versión live. Es el sistema preparado para arrancarse directamente desde el DVD. Gracias a tal solución el usuario puede conocer primero el sistema y los programas que lo componen, y después decidir si lo que acaba de ver merece una instalación en su disco duro. El DVD que adjuntamos a la revista contiene un sistema live basado en la última versión de la distribución Aurox 12.0, enriquecido con un conjunto de empaquetados preparados ya después del cierre oficial de trabajo sobre la versión estable. Se trata, entre otras cosas, de los nuevos drivers de las tarjetas gráficas nVidia, las mejoras de seguridad y una versión ampliada del empaquetado Aurox Extras Ins-
Live están en el directorio /mnt. Ahora basta seleccionar, en una ventana, el disco al que queremos copiar el juego, y en la otra, la carpeta que corresponde al juego, pulsando luego F5 para copiar la carpeta. Además, Linux+ Live DVD contiene un directorio especialmente preparado que contiene los empaquetados de todos los programas que están en los discos, listos para instalarse en la distribución Aurox. La edición presente de Linux+ Live DVD está equipada con la versión estable del sistema virtual de archivos UnionFS, que permite grabar datos en los directorios de sólo lectura. Gracias a esto es posible instalar software adicional directamente en el DVD. De hecho todos los recursos se copian al lugar adecuado de la memoria volátil, pero el sistema trata
taller. Los nuevos drivers de las tarjetas nVidia permiten arrancar de todos los programas de gráficos tridimensionales (sobre todo, los juegos). Aurox Extras Installer hace que los programas descritos en la revista se instalen con agilidad. Puesto que el DVD está completamente lleno de juegos, ya no nos dio lugar para publicar todas las versiones de instalación, listas para instalarse mediante la aplicación Aurox Extras Installer. La mayoría de los juegos se encuentran en el directorio /opt, de donde uno puede trasladarlos a su sistema, copiando el directorio adecuado. El método más sencillo de copiar consiste en iniciar Linux+ Live, abrir la consola (por ejemplo, dando a Alt+F2 y tecleando konsole) e iniciar allí el programa Midnight Commander (lo hacemos tecleando mc). Todos los discos localizados por Linux+
estos datos como si realmente estuvieran directamente en el disco. Cuatro palabras sobre la distribución como tal: el sistema está controlado por el núcleo 2.6.17. Su entorno gráfico por defecto es KDE, como ya es tradición, esta vez la versión 3.5.4. Linux+ Live incluye unas decenas de juegos interesantes que os divertirán durante las largas noches de invierno. La novedad del Linux+ Live DVD es el instalador, gracias al cual el sistema se puede instalar en el disco duro de forma fácil y agradable. Para probar los programas comentados en este número de Linux+ hay que introducir en la unidad el respectivo DVD de los que se adjuntan a la revista y reiniciar el ordenador. Durante el reinicio el sistema nos pedirá el idioma preferido (para el castellano tecleamos
es y le damos a la tecla [Enter]). Pasados unos segundos deberá aparecer el entorno gráfico KDE y la aplicación Aurox Extras Installer ya arrancada. Esta aplicación nos ayudará a probar los programas. Algunos programas requieren la conexión del sistema a Internet. Si nuestra red incluye un servidor DHCP, Linux+ Live se las arreglará por su cuenta configurando la tarjeta de red. Sin embargo, si nuestro proveedor requiere otra configuración, hay que iniciar el programa de configuración adecuado del menú Red. Los juegos del DVD se ordenan por categorías en un menú separado, que está en el panel inferior. Los aficionados a los juegos de disparar se alegrarán seguramente por el True Combat Elite todavía caliente en su versión 0.49; un mod para Wolfenstein Enemy Territory que se distingue del combate básico por el tiempo y lugar de acción totalmente cambiados. Disponemos de un arsenal contemporáneo y hemos de luchar en mapas densos, sobre todo de carácter urbano. En True Combat Elite te conviertes en el personaje de un mercenario de élite quien participa en un conflicto militar internacional entre dos ejércitos. Los que prefieren los juegos RPG sin duda estarán contentos con la presencia de PlaneShift y A Tale in the desert. Son los juegos míticos que permiten un combate por la red. Ofrecen bellos gráficos de tres dimensiones y un mundo muy interesante y desarrollado. En el mundo de PlaneShift uno es la encarnación de un luchador fuerte, un mago poderoso, o cualquier personaje creado. A Tale in the desert os mudará al antiguo Egipto. Si ya os aburrirá la aventura, podéis poneros tras los mandos de un caza en el juego GL-117 o llevarse por la locura de conducir uno de los coches de TORCS. ¿Más ambición? Vega Strike os lanzará al cosmos, donde lucharéis con hordas de naves enemigas. Todo esto, por cierto, entre bellos gráficos tridimensionales. A los que prefieren los juegos de estrategia seguro les va a gustar Lincity. Cread vuestra propia urbe, gestionad sus finanzas y hacedla una espléndida metrópoli. Claro, todo en 3D. Además de los títulos que se acaban de mencionar, el disco contiene muchos juegos no menos interesantes, de estrategia, de economía, de destreza y de tabla. Éstos sin duda harán vuestro tiempo más ameno y os dejarán confirmar que contrario a lo que se suele repetir, lo que se llama un juego Linux muy majo es realidad.
Linux+ Live justo después del arranque
8
Linux+ 12/2006
¡Pide suscripción! LiNUX+ por suscripción es más barata:
69 €
TRES REGALOS PARA ELEGIR
¡En cada número 2 DVDs! Ahora un regalo especial para nuestros suscriptores – 12 números anteriores de Linux+ en la versión electrónica
Si tienes preguntas, problemas o dudas, escribe a:
suscripcion@software.com.pl
En nuestra tienda virtual podrás adquirir todos los productos de la editorial Software-Wydawnictwo: www.buyitpress.com
Pedido Por favor, rellena este cupón y mándalo por fax: 0048 22 887 10 11 o por correo: Software-Wydawnictwo Sp. z o. o., Bokserska 1, 02-682 Varsovia, Polonia; e-mail: suscripcion@software.com.pl Nombre(s) ......................................................................................... Apellido(s)........................................................................................ Dirección ......................................................................................................................................................................................................... C. P. ...................................................................................................
Población, provincia ........................................................................
Teléfono ............................................................................................
Fax ....................................................................................................
E-mail ................................................................................................ Suscripción a partir del N° ..............................................................
Precio de suscripción anual Absender-Daten de Linux+: 69 € Realizo el pago con: □ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) nO
Válida hasta □ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO Número de la cuenta bancaria: 0049-1555-11-221-0160876 IBAN: ES33 0049 1555 1122 1016 0876 código SWIFT del banco (BIC): BSCHESMM Fecha y firma obligatorias:
CVC Code
NE WS
novedades Noticias sección llevada por Alex Sandoval news@lpmagazine.org
Cambios en el envío de CDs Ubuntu Al parecer se acabará el envío gratuito de las futuras versiones de Ubuntu a los hogares de los usuarios. El servicio de distribución gratuito e internacional tendrá algunos cambios una vez lanzada la versión Ubuntu 6.10 Edgy Eft. El sistema continuará enviando CDs a los usuarios, pero únicamente de la versión 6.06. Los usuarios que quieran la nueva versión 6.10 podrán obtenerla pero descargándola desde Internet. Los grupos Ubuntu Local Community y otros distribuidores que sigan la filosofía de Ubuntu podrán solicitar los CDs gratuitos de Ubuntu 6.10. https://wiki.ubuntu.com/ UbuntuWeeklyNewsletter/Issue14#head-1e3 555bea7bd06018bbadcf89ed23281e09d78f1 IBM está interesada en Red Flag Para los que no estén familiarizados con Red Flag Linux, éste es un sistema operativo de la creciente comunidad china de usuarios de Linux. Ésta es lo suficientemente interesante para que IBM mire con buenos ojos dar soporte a esta distribución en un mercado con mucho potencial. IBM actualmente da soporte a Red Hat y Suse, pero la idea es dar la mayor cantidad de opciones en sistemas Linux. Esta es una excelente noticia para Red Flag y los usuarios de fuente abierta de China. http://www.computerworld.com/action/ article.do?command=printArticleBasic&arti cleId=9003552 Dos Pcs con Linux potencian a 12 estaciones en un cyber HP, Blueloop y Omni se unieron para entregar un cyber compuesto de 12 estaciones utilizando solamente 2 pcs de escritorio en una conferencia internacional de GroupWise en Telford, Reino Unido. Cada computador de escritorio de HP estaba ejecutando el sistema operativo Suse Linux Enterprise 10 de Novell y un software adicional llamado Linux Desktop Multiplier (Multiplicador de Escritorio Linux). El LDM permite hasta 10 estaciones independientes -consistentes de un monitor, teclado y mousetrabajar al mismo tiempo en un solo computador. La conexión física de los monitores se realiza a través de tarjetas de vídeo de doble salida, y los teclados y ratones se conectan a través de concentradores USB. El sistema multi-estación supera a los clientes delgados en una fracción del costo. Este sistema permite ahorros significativos de hardware, software y de administración a las organizaciones que están considerando Linux para sus computadores de acceso público, laboratorios de computación, quioscos de Internet y centros de llamados. http://linux.sys-con.com/read/ 247419.htm
¿Qué es la GPL?
E
n este último tiempo la GPL está dando mucho que hablar. Primero fue el rechazo de algunos desarrolladores del núcleo de Linux al borrador de la tercera versión de esta licencia. Y luego fue el reconocimiento de la validez de la GPL en asuntos de copyright. Debido a estos dos sucesos que andan circulando por Internet, es posible que muchos se estén preguntando qué es la GPL. Pero primero veamos qué son las licencias de software. Las licencias, para buena parte de los programas informáticos, están diseñadas para limitar su libertad de compartirlos y modificarlos, como la EULA (end user license agreement) que generalmente acompaña a los productos de Microsoft. En contraste, la intención de la Licencia Pública General GNU (GNU General Public License o GNU GPL) es garantizar la libertad de compartir y alterar los programas libres. La GNU GPL es una licencia creada por la Free Software Foundation (FSF) a mediados de los 80, y está orientada principalmente a proteger la libre distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios.
Controversias legales
Dentro de varios marcos regulatorios y legislaciones de países alrededor del mundo, la inserción y utilización de la GPL puede encontrar dificultades desde el punto de vista de la aplicación y validez, debido a la rigidez o contravención de leyes y normas en defensa de los derechos de los consumidores (ciudadanos). Estos casos generan propuestas de cambios y modificaciones en estos
Free Software Foundation
10
Linux+ 12/2006
Wiki Ubuntu
marcos legales que por lo general ceden en favor de la GPL, no obstante son procesos de mediano o largo plazo y muchas veces lo que debiera tratarse desde un punto de vista técnico se deriva en conflictos políticoempresariales y viceversa.
GPL versión 3
Después de 15 años de ser usada sin cambios, la licencia GNU GPL vuelve a la mesa de diseño. La FSF está actualmente abocada a actualizarla en varios sentidos: •
•
• • •
Resolver formas en que a pesar de todo alguien podía quitar libertades a los usuarios. Como un caso especial de lo anterior: Prohibir el uso de software cubierto por la licencia en sistemas diseñados para quitar libertades (DRM). Resolver ambigüedades y aumentar su compatiblidad con otras licencias. Facilitar su adaptación a otros países. Incluir cláusulas que defiendan a la comunidad de software libre del uso indebido de patentes de software.
La mayor parte de la discusión en relación a la nueva versión de la GPLv3 está en su intento por evitar el uso de Software Libre en cualquier esquema de DRM. Ellos piden a la Fundación para el Software Libre (FSF) que vuelva a examinar las consecuencias de sus acciones y que abandonen el actual proceso de la GPLv3, antes que sea demasiado tarde. Por su parte, la FSF informa que no tiene ningún poder para forzar a alguien a cambiar de la GPLv2 a la GPLv3, y los desarrolladores de software tendrán el derecho de utilizar la GPLv2 después de ser publicada la GPLv3, y que siempre será respetada su decisión.
novedades sección llevada por Alex Sandoval news@lpmagazine.org Noticias
Munich por fin se cambia a Linux l gobierno local ha comenzado la primera fase de su migración hacia el software de fuente abierta después de un año de retraso. La ciudad de Munich finalmente ha comenzado a migrar hacia Linux en el escritorio, un año después de lo planeado. El gobierno local en la ciudad alemana ha transferido a 100 usuarios en el departamento del Alcalde a una configuración de Debian, y se propone migrar el 80 % de sus PC para mediados de 2009. No ha sido una transición fácil para el gobierno local, que primero anunció su intención de cambiarse a Linux en 2003 y que anunciaron el primer paso para el año 2005. Pero el proyecto de €30 millones, LiMux,
Se eligió Debian por recomendación de los consultores externos del gobierno local, que hicieron una propuesta basada en la configuración particular. Microsoft intentó duramente conservar el negocio con el gobierno, ofreciendo envíos y descuentos realizados por el propio Steve Ballmer. Munich fue tentada por el software de fuente abierta después de una evaluación realizada por IBM y SUSE. Pero los costos del proyecto parecen elevarse. Se espera que los costos internos y externos totales lleguen a €35 millones, muy por encima del costo estimado hace 3 años atrás. Pero la meta del gobierno es migrar de todas formas, ya que Microsoft detuvo el soporte para NT 4.0. Suse está establecida en Alemania, y mu-
Supercomputador Roadrunner usará Linux El Departamento Nacional de Seguridad en Energía Nuclear de Estados Unidos (NNSA) ha seleccionado a IBM para diseñar y construir el primer supercomputador híbrido del mundo que unirá el inmenso poder de 16 000 procesadores AMD Opteron y otros 16 000 procesadores CELL (procesador originalmente diseñado para plataformas de vídeojuegos) y deberá estar listo en el 2008. La superficie que ocupará será de 3 canchas de básquetbol y tendrá una velocidad sostenida de 1000 billones de cálculos por segundo, lo que equivale a un petaflop. La máquina estará basada en el sistema operativo Linux y contará con servidores System x 3755 basados en AMD Opteron y sistemas IBM Blade H, basados en tecnología Cell Broadband Engine. http://linux.sys-con.com/read/269360.htm
tuvo numerosas demoras debido a disputas por patentes de software, negociaciones contractuales y una extensión de 12 meses a la fase del proyecto piloto. Se ha indicado que sería imposible migrar a todos los usuarios a software de fuente abierta, pero que el 80% se moverá entre finales de 2008 y mediados de 2009. Otros 200 pcs serán migrados antes de fin de año. Aunque no creen lograr la migración en un 100% debido a interdependencias, ya que hay aplicaciones comerciales que se ejecutan en Windows. La migración se completará en una o dos etapas, con algunos de los 14 000 pcs que ejecutarán OpenOffice.org sobre Windows como etapa intermedia. Cada departamento deberá decidir si pasa por la etapa intermedia.
chas organizaciones alemanas han visto con entusiasmo el cambio hacia el software de fuente abierta. El gobierno de la ciudad de Mannheim esta desplegando Linux en los escritorios y en los servidores. En el Reino Unido, el Consejo de la ciudad de Birmingham está probando Linux en los equipos de escritorios, mientras que el Consejo de Bristol está desplegando StarOffice en sus oficinas. Pero los ejecutivos de la autoridad local en Bergen, Noruega, han retrasado recientemente sus planes de colocar Linux en los equipos de escritorio por dos años más.
Desarrolladores se oponen a la tercera versión de la GPL Un grupo de 29 desarrolladores del núcleo de Linux se ha reunido recientemente y han producido una declaración de posición sobre la GPLv3 explicando por qué, esencialmente, a ellos no les gusta. Las tres objeciones dominantes anotadas en la sección 5 del texto son individualmente y colectivamente suficiente razón para que rechacemos la propuesta actual de la licencia... predecimos que el lanzamiento de GPLv3 terminará en una división del universo de Código Abierto entero en el cual confiamos. Ellos también están realizando una encuesta sobre la GPLv3. http://lwn.net/Articles/200422/
E
http://news.zdnet.co.uk/0,39020330 ,39283603,00.htm
NE WS
Un bolso muy original
Si te quedaste con un montón de disquetes guardados en algún rincón del armario, y necesitas una idea para volver a darles un nuevo uso, puedes intentar fabricarte un bolso muy original. Un chico se le ocurrió hacer un bolso de disquetes después que encontró un montón de ellos en un basurero. Si quieres ser un geek y quieres construirlo, las instrucciones con detalles e imágenes puedes encontrarlas en la siguiente página: http://www.instructables.com/id/ E86165FIENERIE2PV6/?ALLSTEPS
Ciudad de Munich
www.lpmagazine.org
11
novedades Kernel sección llevada por Tomasz Torcz kernel@lpmagazine.org
EtherIP Realizando la petición de un usuario de BSD, Joerg Roedel creó un driver sencillo de EtherIP, que permite enviar los marcos de Ethernet directamente en los paquetes IP, lo que ofrece una conexión fácil entre las redes locales en lugares lejanos a través de un puente. El protocolo EtherIP está definido por RFC 3378, y lo implementan tres sistemas populares de la familia BSD. Desde luego, su implementación contiene un error relacionado con la secuencia de los bits, de modo que la versión Linux, por razones de compatibilidad, también tiene que funcionar con este error. Hasta que el soporte de etherip no se integre en la herramienta iproute hay que ayudarse de un programa externo de configuración. Sin embargo, puede resultar que etherip esté rechazado en total, porque ya los túneles GRE proporcionan una funcionalidad similar. http://www-user.tu-chemnitz.de/~roej/projects/ Soporte de gcc4 en los núcleos 2.4.x Una de las primeras decisiones tomadas por Willy Tarreau, el nuevo responsable de los núcleos 2.4.x fue el cambio de opinión acerca de los parches que permiten la compilación con el uso de gcc 4.x. La decisión anterior estipulaba que aquellos parches eran demasiado invasores y el código resultante de tal compilación no había sido suficientemente probado. No obstante, Willy decidió integrarlos en la línea vieja estable. Como es responsable, tiene derecho de tomar las decisiones así sin dar explicaciones, pero él presentó su punto de vista: los parches llevan mucho tiempo como disponibles y muchos usuarios ya los han probado. Además, las personas que tienen que utilizar los núcleos más viejos pueden encontrar cada vez más dificultades preparándolos en sus estaciones de trabajo, ya que las distribuciones de Linux nuevas han dejado de suministrar el compilador gcc en versión 2.x, y pronto abandonarán también la 3.x. Haciendo caso a estos usuarios, se introducirán unos cambios radicales en los núcleos muy estables. http://lwn.net/Articles/196444/ Prueba tu BIOS La empresa Intel preparó un kit, en forma de un CD bootable, para realizar pruebas de compatibilidad del BIOS con Linux. El equipo prueba varias interfaces ofrecidas por el firmware del ordenador, notificando los errores y detectando los defectos frecuentes. Esto aumenta la posibilidad de que aparezcan ordenadores que funcionen en Linux sin problema alguno. Es que Intel es capaz de presionar a los autores de los BIOS para que proporcionen la compatibilidad con Linux. En este momento para la mayoría de los fabricantes de las placas madre la única prueba de que su BIOS sea correcto consiste en arrancar en éste los sistemas de Microsoft, y no en comprobar si es compatible con los estándares e indicaciones. http://www.linuxfirmwarekit.org/
12
RAID por hardware y software
L
a implementación del software RAID en Linux es tan buena que aparecen fabricantes que intentan aprovecharlo en sus controladores dedicados. Les facilitan la tarea los parches de Dan Williams, quien añadió el soporte de los aceleradores de hardware al soft-raid de Linux. Dan, empleado de Intel, elaboró sus parches para obtener mejor compatibilidad con el procesador Xscale de la empresa. Sin embargo, antes de que sus parches se incluyan en el núcleo, el autor tiene que trabajar un poco y ampliar la interfaz para que puedan utilizarlo también los chipsets que ofrecen servicios algo distintos. La función que se acelera con más frecuencia por hardware es la operación xor, que se emplea en el caso de
sata_promise. En su caso el límite del software RAID es el ancho de banda del bus PCI, cuya versión básica del ancho de 133 MB/s apenas llega a ser suficiente para grabar simultáneamente dos copias de datos (en dos discos) y eso si no se produce ninguna otra actividad. Los parches de Williams permiten una grabación única en la memoria del controlador RAID, el cual se ocupará de transmitir los datos a todos los discos ya sin el uso de PCI. Las primeras pruebas de la aceleración hardware del software RAID indican un beneficio notable. La velocidad de recuperación de matrix por RAID5 resulta más del doble de la que se obtiene con la solución puramente por software. También los cambios que
RAID5. Desde luego, se puede realizar la aceleración incluso en RAID1, a condición de que todos los discos sean controlados por un solo controlador. Estas tareas las cumplen perfectamente los chipsets soportados por los drivers sata_sx4 y algunos compatibles con
ofrecerán la compatibilidad con otros aceleradores no parecen del futuro muy lejano. Lo más probable es que los parches de Williams ya formen parte del núcleo 2.6.20. http://lkml.org/lkml/2006/9/11/304
IDE paralelo en libata
E
l núcleo 2.6.19 será el primero en ofrecer ampliamente los drivers del IDE paralelo que utilizan libata, o sea, una librería creada por Jens Axboe para Serial-ATA. La librería proporciona un modo de soporte de hardware que es muy moderno para los estándares de Linux. Su atractivo es tan grande que hace algún tiempo Alan Cox decidió realizar la migración de los drivers del ATA viejo paralelo precisamente para que sean controlados por libata. Esto permitió romper las convenciones vigentes desde hacía más de una década, que no se compaginaba bien con el equipo moderno. Se solucionaron los problemas de implementación de los bloqueos, gracias a lo que el hot-swap de los discos funciona ahora sin problemas. Además, se brinda la oportunidad de una mejor compatibilidad de Linux y las nuevas placas madre. Los últimos chipsets ya no contienen el driver PATA, porque un controlador adicional fabricado por Jmicron suele proporcionar sus funciones. Y el driver de éste existe sólo dentro de libata_pata, no figura entre los drivers viejos de IDE. Puesto que libata utiliza (por ahora) el subsistema SCSI, también de allí provienen los nombres de los dispositivos. Las personas que compilan el nuevo núcleo pueden
Linux+ 12/2006
llevarse una sorpresa cuando su disco actual /dev/hda empiece a estar disponible como /dev/sda. Los problemas del contenido del fichero /etc/fstab ocasionados por esta situación deben arreglarse o bien dándoles nombres adecuados a los sistemas de archivos (y montándolos con la palabra clave LABEL= en vez del nombre del dispositivo), o bien a través de otro sistema de identificación de discos (en las distribuciones más o menos nuevas basta realizar el comando tree /dev/disk para verlo). De todas formas, el plan de nombrar los dispositivos del disco a largo plazo abarca la migración de los nombres de /dev/diskX que no depende de la interfaz con la que se conecte la unidad de la memoria masiva. http://lwn.net/Articles/198168/
novedades sección llevada por Tomasz Torcz kernel@lpmagazine.org Kernel
Listas de acceso de NFS4 para EXT3
P
ara los archivos en Linux, además de los permisos tradicionales tipo Unix en forma de rwx, se implementan también las listas de control de acceso ampliadas (ingl. Access Control List). Son compatibles con el esbozo del estándar POSIX ACL y permiten asignar los permisos a los archivos o directorios a base del identificador del usuario. De este modo el usuario A puede contar con el derecho de lectura de cierto fichero, el usuario B puede además practicar la escritura, mientras todos los demás quedan sin permisos. Por cierto, seguimos dentro del círculo de los tres permisos básicos: read, write, execute/access. pleado de Novell. La solución presentada Las listas de acceso más avanzadas están permite aprovechar la totalidad de las lisen uso común. En el sistema MS Windows tas en el formato POSIX y NFSv4. Aunque las listas de acceso permiten controlar más meticulosamente lo que hacen los usuarios con los ficheros. Esto constituye un problema para los programadores de Samba, quienes se estiran para hacer que los permisos de Windows encajen dentro de los márgenes de Unix. El problema, con más probabilidad, se verá solucionado con el tercer tipo de las listas de acceso que fueron elaboradas al crear la versión 4 del sistema de archivos de red NFS (ing. Network File System). Las listas de NFS4ACL son lo suficientemente amplias para contener ambos tipos. De los sistemas de archivos más conocidos, las implementa ZFS, por desgracia, inaccesible para Linux. El ext3 popularmente también se hizo con las listas de acceso avanzadas. Los parches los presentó Andreas Gruenbacher, em-
las aplicaciones que recurren directamente a ACL tendrán que tener cuidado por el formato con el que sean compatibles, Linux se convertirá en un servidor de archivos mucho mejor en un entorno heterogéneo. Es una paradoja que la implementación de NFS disponible en el núcleo todavía no cuente con el soporte de las listas de acceso de NFSv4. Tampoco sabe utilizarlas Samba, pero sus autores llevaban mucho tiempo esperando algo parecido a la implementación en cuestión. En la actualidad los parches sólo añaden el soporte de NFSv4 al sistema de archivos ext3, pero si se acepta la forma de implementarlos, el soporte será introducido, conforme con las posibilidades, en otros sistemas de archivos. http://www.suse.de/~agruen/nfs4acl/
PCI en el espacio del usuario
L
a tendencia de sacar la mayor cantidad de funcionalidades posible fuera del núcleo afecta también a los drivers. Ya es posible dar soporte de los dispositivos USB desde el espacio del usuario, y lo mismo empieza a pasar con los dispositivos PCI. Thomas Gleixner es el autor de los primeros fragmentos del código al respecto, y le apoya en su labor Greg Kroah-Hartman. Por el lado del núcleo el soporte no es complicado, sólo se necesita un modo para dar soporte de las interrupciones. Lo demás del acceso a los registros de gestión puede realizarse a través de la llamada mmap() en el pseudo dispositivo que mapea la memoria.
Un soporte que se produce fuera del núcleo permite crear los drivers binarios que no están estigmatizados con el riesgo de ser ilegales, porque de hecho funcionan como programas independientes, que utilizan la interfaz facilitada por el núcleo. No se enlazan los fragmentos del núcleo con los del driver. El soporte de los dispositivos PCI en el espacio del usuario es muy rápido, no difiere mucho de una implementación dentro del núcleo. Nadie polemizó con el autor del parche, lo más controvertido era... el nombre del driver. Todavía no se ha tomado la decisión definitiva acerca de su forma. whttp://lkml.org/lkml/2006/8/30/22
www.lpmagazine.org
¿Informes de retraso? Muchos de los cambios recientes del núcleo están relacionados con la hibernación del procesador y varios dispositivos. El objetivo principal consiste en disminuir el consumo de energía, lo que se traduce directamente en el tiempo que son capaces de funcionar los portátiles alimentados por sus baterías. Esto influye también en el calor emitido por el ordenador y, por consiguiente, las facturas de la electricidad consumida por los ordenadores y el aire acondicionado en la sala de servidores. Desafortunadamente, el apago frecuente, o los pasos frecuentes de los componentes al modo de carga energética reducida tienen también sus desventajas. Cuánto más profundo el estado de hibernación, más tiempo cuesta volver a rendimiento completo. Unas centenas de milisegundos de retraso en algunas situaciones pueden tener efectos nefastos. Esto animó a Arjan van de Ven a preparar la infraestructura que permite que los dispositivos compongan informes al núcleo sobre el margen de tiempo dentro del cual tienen que volver a manejarse. Luego el subsistema de gestión de energía utiliza esta información para determinar la hibernación máxima en el que puede entrar el sistema. Los informes de los retrasos serán también muy útiles a la hora de implementar los ciclos dinámicos del reloj. Conociendo los márgenes de retraso permitido, Linux será capaz de despertar el procesador de la hibernación lo más tarde posible con un ciclo de reloj. http://lwn.net/Articles/197299/ ¿Cómo seguirá cpufreq? Nos sorprendió en septiembre un correo de Pavel Machek, que indicó una discusión que tenía lugar en otra lista y se refería al cpufreq, o sea un subsistema de cambio de la frecuencia de la operación y del voltaje que alimenta el procesador. La interfaz que sirve para su comunicación con el núcleo se consideró como completamente incompatible con la realidad y, por lo tanto, exigiendo cambios. La actitud nueva que se propuso se basa en definir los puntos de trabajo, de los que cada uno contiene información de la frecuencia, el voltaje, y unos parámetros más. Para dar un paso entre ellos sólo se necesita la indicación del punto siguiente en vez de, como sucede en cpufreq, sólo el valor del ciclo del reloj en kHz. Inmediatamente aparecieron dos implementaciones, llamadas OPpoint y PowerOP. ¿Cuál de ellas formará parte del núcleo? Todavía no se sabe, ya que ninguna les había gustado a la mayoría de los desarrolladores del núcleo. Probablemente se elaborará alguna actitud híbrida. http://lkml.org/lkml/2006/9/14/56
13
novedades Debian sección llevada por Samuel Pizarro Sliva debian@lpmagazine.org
Distribución de CSS para DVD desde ftp.skolelinux.org CSS o Content Scambling System son las siglas para decodificar DVD, como muchos saben el que descubrió como decodificar DVD lo hizo sin consentimiento y sin patentes, así que la librería libdvdcss2 en Debian no se incluye como oficial debido a problemas legales, por tal razón Petter Reinholdtsen ha preguntado si pueden subir ese paquete a ftp.skolelinux.org ya que no hay ley DMCA en Noruega , pero en otros países esto podría suponer problemas legales así que se ha solicitado a SPI que brinde asesoría legal para este caso. Hurd con soporte Wireless y PCMCIA Hurd el kernel de la FSF, que ha recibido bastante apoyo por parte de Debian, ahora tiene soporte para Wireless y tarjetas PCMCIA, con esto vemos como Hurd va avanzando aunque aun queda mucho camino por recorrer sobre todo porque ya Apple se ha adelantado en esto de tener servidores corriendo sobre un microkernel (Mach), que se supone anda más rápido y es mucho mejor que el actual modelo de Kernel usado en Linux y otros Sistemas Operativos. Gnome 2.16 Junto con crear una página con el estado de los paquetes de Gnome 2.16 en Debian, se informó que próximamente Gnome 2.16 entrará a experimental, por lo que los usuarios de Debian Sid estamos invitados a reportar fallos para seguir haciendo de Debian la mejor distribución de todas. Debian vs. Pimientos Últimamente el español Hector Blanco de Frutos ha anunciado la versión 1.1.0 de su juego arcade basado en las las librerías SDL. El juego se llama: Debian vs. Pimientos y su concepto es muy simple: el logo de Debian tiene que destruir pimientos voladores disparándoles cabezas de gnúes. Es el primer juego de NEOPONTEC Game y el primero que usa NNG Engine (New Neopontec Gaming Engine). Apt seguro en Debian Etch A muchos les ha pasado que al pasar de Sarge a Etch, apt-get muestra un aviso acerca de que la fuente de paquetes no es confiable, debido a que no se puede verificar la firma. Recordemos que a partir de Etch se utilizará apt seguro, este sistema utiliza criptografía fuerte para validar los paquetes descargados y por lo tanto, es necesario tener las llaves de los repositorios APT de donde descarguemos los paquetes. Por tal razón Ingo Jürgensmann, ha reportado un fallo crítico pidiendo que se añada como dependencia a debian-archivekeyring.
14
Dunc-Tank
E
n este último tiempo Debian ha sabido dar que hablar, y este mes no es la excepción, comienzo primero por contarles que se ha armado todo un lío dentro de Debian debido a que Anthony Towns, el Debian Project Leader, decidió de manera unilateralformar http://www.dunc-tank.org/ que básicamente es una forma de pedir donaciones para pagarles a los Debian Release Managers para que hicieran únicamente el trabajo solicitado por Debian y no otro, esto significa tener todo el día sentado a algunos desarrolladores trabajando en la liberación de Debian Etch y pagarles por hacerlo. Hasta ahí todo bien, ya que esto ayudaría a Etch a ver la luz en la fecha prometida, salvo que la decisión fue tomada sin consultar y ade-
crado con Dunc-Tank. También hubo reacciones de parte de otros desarrolladores quienes sienten que al pagarle a algunos Releases Managers, se está devaluando el trabajo de otros y esto le causa mucho daño al proyecto, por lo tanto ellos quieren dejar en claro que los planes de Towns no tienen el respaldo del proyecto Debian y no se ha autorizado el solicitar donaciones para DuncTank. Además, el proyecto les dijo a los Releases Managers que no aceptarán ninguna donación sin el consentimiento de Debian y que los potenciales donantes no hagan donaciones. Pero por otro lado también están quienes apoyan la decisión de Towns, quienes dicen que el experimento debe ser evaluado
más, Dunc-Tank nada tiene que ver con Debian. Esto ha traído como consecuencia diversas reacciones y opiniones, como por ejemplo la de Denis Barbie, quien propuso una resolución general para la destitución de Anthony Towns como líder del proyecto para que se aclarara si Towns está involu-
por la comunidad y por el proyecto, y que si todo resulta bien, este experimento debería de forma natural establecerse como una actividad más del proyecto Debian y que además los auspiciantes están invitados a colaborar de manera razonable y apropiada con el experimento.
Freefox en Debian
E
n otro ámbito la fundación Debian ha tenido varios problemas últimamente con la fundación Mozilla, específicamente con el navegador Firefox, esto debido a que, a pesar que Firefox es de código abierto, no es del todo libre, y no es legalmente compatible con Debian. Los usuarios de Debian y sus derivadas, se habrán dado cuenta que el logo de Firefox no es el típico zorro estilizado, sino que es un mundo de color azul, esto porque el logo de Firefox está registrado y Debian no lo puede incluir como parte de su distribución, pero algo aun peor, es que Mozilla, a través de emails a los Releases Managers de Debian, ha dicho que no se puede utilizar el nombre Firefox sin utilizar el logo que todo el mundo conoce. ¿El resultado? Pues bien, Debian ha reaccionado de tal forma que ha dicho que a partir de la última semana de septiembre o comienzos de octubre, Firefox cambiará de nombre en Debian, un nombre que se ha escuchado por ahí sería Freefox, y según Mozilla, este problema debe resolverse antes que Debian libere Etch. Todo lo anterior nos hace reflexionar acerca de la importancia que tiene para el mundo opensource el que el proyecto Debian
Linux+ 12/2006
Firefox-logo exista, ya que este tipo de decisiones (sin consultar) en otro tipo de distribuciones, sólo tienen que ser acatadas por su comunidad, en cambio en Debian todos los integrantes de la comunidad tienen derecho a expresar su opinión y ninguna persona u organización puede obligar a Debian a tomar un determinado camino sin que antes el proyecto completo (comunidad incluida) haya evaluado una propuesta, por lo tanto se garantiza que Debian es y será siempre libre, siendo siempre un aporte a la sociedad y no un aporte a una determinada empresa o individuo.
novedades sección llevada por Esteban Negri linux@lpmagazine.org SUSE
Cómo será OpenSuse 10.2
Kickoff: el nuevo menú de inicio para KDE Fue desarrollado por colaboradores de OpenSuse y KDE en conjunto y es muy posible que llegue a ser el nuevo menú de inicio standard de su interfaz gráfica. Se han tomado bastante en serio el proyecto, ya que hicieron varios estudios con usuarios de ordenadores y así saber qué elementos necesita un menú de inicio para que se puedan realizar las tareas de manera más rápida. Posee características muy interesantes que, según los diseñadores, integra lo mejor del actual KMenu, y también se fijaron en los menús de Windows Vista, Mac OS y Gnome. Como podemos ver en la imagen de al lado, Kickoff (llamado así porque se empezó a desarrollar mientras transcurría el campeonato mundial de fútbol) presenta un paradigma a lo que es KMenu, y más allá de ser muy bello visualmente, hay que probarlo para ver si es realmente útil y se adapta a nuestras necesidades. Página oficial de KDE: www.kde.org
S
use Linux es una de las distribuciones de Linux más conocidas en el mundo del software libre y se caracteriza por su facilidad de instalación y uso gracias al administrador de configuración YaST que integra, en una sola interfaz, la instalación, la configuración del sistema y las actualizaciones de software como también la instalación de nuevos programas. Suse fue comprada en el año 2004 por la compañía estadounidense Novell, pero en 2005 fue liberada y así la comunidad de software libre siguió su desarrollo de una versión libre del sistema. Así que por un lado tenemos la versión libre (Suse Linux) y la versión privativa (Suse Linux Enterprise). Recientemente la gente de Novell decidió llamar directamente OpenSuse a la versión libre y a la versión empresarial dejarle el nombre Suse Linux Enterprise, y así diferenciar bien las dos distribuciones. Por lo tanto en las próximas versiones de OpenSuse ya no verán más la marca Suse Linux. El mes pasado Andreas Jaeger (uno de los colaboradores más importantes del proyecto OpenSuse) anunció el lanzamiento de una nueva versión de OpenSuse 10.2: la Alpha 4. Particularmente en la versión Alpha 4 de OpenSuse 10.2 se incluyen varios cambios que nos dan una pista de lo que será la versión definitiva: • • • • •
Cambiaron a la versión 2.6.18rc5 del Kernel, Cambiaron a la versión 2.16 beta de Gnome, Terminaron de integrar la versión 7.1 X11 al sistema, Optimización de los scripts de SuSEconfig, Variedad en suites de oficina: se puede elegir entre OpenOffice.org, KOffice y GNOME Office,
OpenSuse
Kickoff • •
KDE utiliza Kickoff como nuevo menú de inicio, Además de Gnome y Kde se incluyó la interfaz gráfica Xfce.
Corrigieron varios bugs de la versión Alpha 3: • • •
El navegador Firefox inicia bien, Se puede iniciar X Server normalmente, Corregido el problema de kdesu que no aceptaba el password real del usuario,
Y todavía queda por corregir entre otros: • •
No reconoce los mouse USB, Zen-updater muestra actualizaciones inexistentes,
Estos bugs estarán corregidos para cuando salga la versión estable. Generalmente las versiones beta son utilizadas por los Beta Testers, personas que utilizan versiones no-estables de software y reportan bugs a sus creadores a cambio de ciertos beneficios monetarios o la oportunidad de recibir gratuitamente versiones estables del software probado. Por lo tanto sólo los más osados y curiosos deberían instalar esta versión, ya que se van a encontrar con varios problemas como los mencionados arriba. Página oficial de OpenSuse en español: es.opensuse.org
www.lpmagazine.org
Xfce: un entorno de escritorio liviano y bello Xfce es un entorno de escritorio liviano, ideal para pc's con bajos recursos y que respeta la filosofía UNIX de reusabilidad y modularidad adaptándose a los standards de freedesktop.org. No por esto deja de ser vistoso, agradable a la vista y altamente funcional. Es que Xfce últimamente ha avanzado mucho y se convirtió en un entorno gráfico muy popular dentro del mundo Linux (no es casualidad que OpenSuse haya decidido incluirlo en la próxima versión). Solía llamarse XFce (por las siglas XForms Common Enviroment), pero hubo muchos cambios en el código y, al no utilizar más XForms, ahora se llama Xfce. La versión 4.4 Beta 1 de Xfce incorpora a Thunar como explorador, es básicamente un clon de Nautilus, pero mucho más liviano. Era algo que le hacía falta a esta interfaz, ya que su antiguo navegador Xfe resultaba un poco incómodo, sobre todo para aquellos que están acostumbrados al Nautilus, por ejemplo. Además, gracias a Thunar, ahora Xfce tiene la posibilidad de utilizar iconos en el escritorio. Por lo tanto si antes temían en pasarse a Xfce por la falta de iconos y un buen explorador, sepan que a partir de la versión 4.4 ya no tendrán esos problemas. Muchos eligen Xfce porque ocupa pocos recursos y el sistema se siente más liviano, otros lo eligen por su estilo minimalista, no muy cargado, pero con los elementos necesarios para realizar las tareas de manera rápida y fácil. Es una buena opción para los que quieren que su pc ande más rápido, pero también para los que quieren probar algo nuevo, sobrio… pero elegante. Página oficial de Xfce: www.xfce.org
15
novedades Ubuntu sección llevada por Calros Velázquez ubuntu@lpmagazine.org
Ubuntu y su nuevo Beta (Edgy Eft) Edgy Eft es la primera versión beta de Ubuntu 6.10 y viene acompanada a todo un compendio de excelentes ventajas. Tiene mejoras considerables en la interaface del usuario, se ha mejorado el sistema de arranque haciéndolo más rápido, se ha incluido la nueva versión de GNOME 2.16 y muchas más innovaciones prácticas. Clientes delgados (Thin-clientes) Hay ya una pre-versión de LTSP 5.0 (Linux Terminal Server Project ), que tiene soporte para dispositivos locales e impresoras conectadas localmente, además puedes seleccionar el lenguaje y el tipo de sesión al momento de logear. Cuenta con EtherBoot y el nuevo soporte de intercambio de red (network swapping) lo cual reduce al mínimo los requerimientos para clientes delgados (thin clients) que cuenten solo con 32 Mb. de R.A.M. Ubuntu Debs Project La política de actualizaciones para los paquetes de software oficiales de la versión actual 6.06 LTS de Ubuntu abarca sólo actualizaciones de seguridad por los próximos 3 años (para el escritorio); pero ésto no incluye la incorporación de nuevos paquetes a los originalmente distribuidos. Para disfrutar de lo último y más reciente, existe ahora el nuevo y no-oficial proyecto Ubuntu Debs (http://www.getdeb.net/) que quiere producir paquetes .DEB de las últimas versiones disponibles del mejor software, estén o no planeados para la próxima versión de Ubuntu. Ubuntu Desktop Effects Mark Shuttleworth, el mecenas de Ubuntu, anunció en su blog (http://www. markshuttleworth.com/archives/57) la creación del equipo desktop-effects, encargado de integrar en el escritorio de esa distribución tecnologías 3D como XGL, Compiz y AIGLX. El anuncio oficial puede leerse en las listas de Ubuntu y el sitio de desktop-effects (https://launchpad.net/ people/ubuntu-desktop-effects) ya está en el Launchpad de Canonical Ltd.
¿Qué distribución prefieres?
H
ace algunos días se llevó a cabo una encuesta para la comunidad de linux, realizada por http://www.desktoplinux.com, cuyos resultados son claves para la propia comunidad Linux. En total fueron encuestados 15,000 usuarios. Antes de adentrarnos en los resultados de la encuesta, debemos tomar en cuenta que dicha encuesta no fue restrictiva, lo que significa que cualquiera que quiso votar lo hizo, sin importar si en realidad era parte de la comunidad Linux o no. De lo que sí estamos seguros es que una persona no podía votar dos veces. Tampoco se incluyeron inicialmente versiones medianamente populares como ArchLinux, Epiphany, el navegador por defecto de GNOME ni el escritorio FluxBox. Una vez ini-
Si se trata de los escritorios gráficos más usados por la comunidad Linux, KDE fue el más votado con un altísimo 37.7%, y GNOME muy de cerca con 35.1% ( el resto no es significativo ), aquí estoy de acuerdo en los números aunque me parece que hay cosas muy importantes que destacan en ambos escritorios en estilos diferentes. ( tema muy amplio que trataremos en otra ocasión más a fondo ). Navegar con FireFox es hoy por hoy lo mejor, de acuerdo con los números obtenidos en la encuesta. FireFox con un devastador 58.8% está solo en la cima, Konqueror se defiende con n 16.3% y Opera se mantiene vivo con un 12%, los demás no pintan. Totalmente de acuerdo, FireFox tiene muchas cosas por las cuales se ha ganado el primer lugar en la comunidad
ciada la encuesta algunos usuarios pidieron que fuesen añadidas estas opciones y así se hizo. Ubuntu fue la versión más aceptada, con casi un 30% ( 29.2% ), demostró ser por mucho la distribución preferida por la comunidad Linux ( incluyendo Kubuntu y Edubuntu ), sus tres perseguidores más cercanos son: Debian con 12.2%, openSUSE con 10.1% y Gentoo con 9.6%. Personalmente me parece que estos números están muy cercanos a la realidad y a mi percepción personal. Así mismo se evaluaron de igual manera los escritorios gráficos, los navegadores de Internet, los clientes de correo, y por último los métodos más usados para ejecutar aplicaciones Windows dentro de escritorios Linux.
Linux, además, dicho sea de paso, que cuenta con una versión bastante competitiva para la plataforma Windows. Los correos están siendo recibidos por la comunidad Linux en un 36.4% por el cliente de correo Thunderbird, Evolution con un 18.8% y KMail con un 16.3%, aquí parece que la lucha está más pareja y teniendo Thunderbird como mi cliente de correo actual, soy también parte de la estadística. Hablando de las aplicaciones Windows que se pueden ejecutar bajo los escritorios Linux, resulta que el 38.9% de los usuarios NO EJECUTA aplicaciones Windows, 33.5% las ejecuta bajo Wine, 16.7% bajo VMWare y 7% lo hace usando Crossover. Definitivamente estoy con la mayoría y prefiero no ejecutar aplicaciones Windows.
Se acaba ShipIt para las masas con Ubuntu 6.10 Últimamente se anunciaron los nuevos planes para ShipIt, el servicio de distribución gratuito y mundial de CDs de Ubuntu, que comenzarán a tener lugar una vez lanzada su próxima versión Edgy Eft. El plan es que ShipIt continúe distribuyendo gratuitamente esta distribución de Linux, pero sólo la versión Ubuntu 6.06 LTS, por ser ésta la que tiene un soporte extendido, dejando que Ubuntu 6.10 Edgy Eft esté disponible sólo para descargarse.
16
Linux+ 12/2006
novedades sección llevada por Juan Gamez mandriva@lpmagazine.org Mandriva
Linux Mandriva 2007 en la calle
XDG
M
andrila Linux 2007 está disponible, tan- • gcc 4.1 y glibc 2.4 to en arquitectura x86 como 64 bits, • Xen 3.0.2 con soporte de aceleración de en las siguientes modalidades: hardware • CUPS 1.2 • One. La versión live-Cd de Mandriva, instalable orientado a principiantes o perso- Así mismo se nos ofrecen cambios en las henas que quieren probar Linux sin instalar rramientas propias de Mandriva, así XFrake, la nada en su disco duro. herramienta de configuración de X-Window, • Discovery, para los principiantes en Linux soporta muchas opciones y configuraciones • Powerpack, para el usuario avanzado. nuevas, como es el soporte para la nueva rue• Powerpack+, para usuarios de pequeñas da horizontal del ratón, detección de monitor y medianas empresas. mejorada entre otros. A nivel de red se incluyen muchas caracUna de las innovaciones más importantes terísticas nuevas como el nuevo soporte VPN y donde Mandriva está haciendo más hinca- con una nueva herramienta de configurapié, es el escritorio con aceleración 3D me- ción, DrakVPN, soporte para redes con accediante AIGLX y Xgl. Linux Mandriva 2007 es so 3G/EDGE/GRPS, soporte para redes Bluela única distribución que ofrece las dos tecno- tooth. logías. Así mismo en la versión Powerpack+ se Así mismo Mandriva Linux 2007 presenta incluye Invictus Firewall, que nos permite un muchas novedades en el soporte de hardware, cluster de cortafuegos. así tenemos: Respecto a las aplicaciones de escritorio Mandriva Linux nos ofrece la versión de • Soporte para las CPU Intel Core/Core2 Duo. KDE 3.5.4, esta nueva versión de KDE tiene • Soporte ACPI avanzado para suspender/ ahora un nuevo esquema de configuración restaurar. basado en capas en cascada, además KDE • Soporte para las principales tarjetas gráfi- ya soporta XDG, el nuevo sistema de menús cas con X.Org 7.1 entandar. • Soporte para las principales tarjetas de Respecto a GNOME, Mandriva Linux 2007 sonido mediante ALSA 1.0.12 nos ofrece su versión 2.16, en esta versión los ingenieros de GNOME han tratado de mejorar Debemos indicar en este punto que Mandri- muchas partes de Gnome para que sean tan va Linux 2007 incluye controladores propie- rápidas como sea posible. tarios incluso en las versiones de descarga Entre las aplicaciones de escritorios más gratuita (Mandriva One). Dada la polémica destacadas tenemos: generada por esta decisión, Mandriva ofrece una edición conteniendo sólo software libre • Mozilla Firefox y Thunderbird 1.5 (versión Free). • OpenOffice 2.0.3. Esta versión soporta el forOtra novedad de esta distribución es el somato de documentos según el entandar porte dual del instalador, esto es, durante el ISO, así como los formatos de documenproceso de instalación se detecta de forma autos de formato propietario de Microsoft tomática el tipo de procesador, 32 o 64 bits, y formatos .sx* utilizados por la versión 1.x cargándose la versión correspondiente al tipo de OpenOffice de procesador. • Xpdf 3.01. Visor de documentos pdf Quizás el aspecto más esperado de esta • K3b 0-12.17. Grabador de CD y DVD nueva versión de Mandriva sea el relacionado • Gimp 2.3.10 con los paquetes de software dado que la ver- • Koffice 1.2.95 sión 2006 se había quedado un poco obsoleta. • Gaim 2.0 En este sentido Mandriva Linux 2007 no ha defraudado, ofreciendo al usuario componen- En resumen, Mandriva Linux 2007 ha cubierto tes actualizados entre los que podemos des- las expectativas previstas, presentándose como tacar: una distribución muy completa, competitiva y muy bien acabada. Esta distribución vuelve • Kernel 2.6.17 con soporte RSBAC actualiza- a colocar a Mandriva en primera linea dentro do del mundo Linux.
www.lpmagazine.org
XDG es el entandar de menú de Freedesktop. Freedesktop surgió, impulsado por Gnome, como un proyecto para la estandarización, integración y conseguir la interoperatividad de los distintos escritorios de Linux, con el fin de conseguir una mayor integración entre las tecnologías utilizadas por los distintos escritorios. Entre los escritorios más comprometidos con freedesktop están KDE, GNOME y XFCE entre otros, aunque cualquier escritorio puede integrarse dentro del proyecto. Pueden obtener más información en: http://freedesktop.org/wiki/ Migrar de Mandriva 2006 a Mandriva 2007 Tal y como ocurría en otras versiones de Mandriva, el instalador soporta la actualización de una versión anterior. En este proceso se reemplaza en antiguo sistema, instalando los paquetes actualizados, incluyendo Kernel y satisfaciendo las dependencias que se presenten. evidentemente se conservan los datos de usuario, así como sus preferencias de configuración. Sin embargo, dado los cambios en esta versión de una serie de programas clave como Xorg o KDE, se han detectado y reportado en los foros de usuarios ciertos problemas al realizar la migración. Si aparecen errores durante este proceso, se recomienda realizar las siguientes operaciones: • Compruebe que todas las actualizaciones se han instalado, para ello ejecute en una terminal lo siguiente: urpmi –autoselect • Ejecute de nuevo las herramientas de configuración para asegurarse que las preferencias se aplican, para ello abra el Centro de Control, entre en cada sección de configuración, revise las selecciones y luego acepte estas • Ejecute la herramienta de configuración de KDE, revise sus preferencias y guardelas • Haga lo mismo con Gnome • Si tiene problemas con la configuración de la pantalla ejecute Xfdrake en modo failsafe. si sigue con problemas borre el archivo xorg.conf situado en /etc/X11/. Quizás necesite ejecutar mousedrake y keyboarddrake.
17
diversión Jugar con Linux
Vídeo Juegos en Linux Leonardo Andrés Gallego
linux@software.com.pl
Una de las principales preguntas de las personas (en general, adolescentes) a la hora de utilizar Linux es: ¿Puedo correr mis juegos?. Esta no solo es una de las principales preguntas, sino que además, es una de las más difíciles de responder. Sí, van a poder correr juegos, variados y una buena cantidad de ellos, pero no todos a los que están acostumbrados. Aquí veremos una variedad de esos que sí pueden correr, de qué forma y sus ventajas y desventajas.
L
a idea de este artículo no es ser muy técnico, no se va a entrar en detalles de como compilar un juego, pero sí se intentará mostrar cómo correr uno con Cedega/Wine, para esto se utilizarán los repositorios de nuestras distribuciones, en mi caso es < >, por lo que si ven referencias a “pacman”, deberán reemplazarla por su equivalente de apt-get, yum, urpmi o el administrador de paquetes de su propia distribución. En principio, tenemos dos tipos de juegos en Linux, y dentro de ellos, distintas categorías que definen cómo obtenerlos:
de nuestro sistema y el juego. Los emulados, son justamente lo contrario, son juegos que corren sobre otra plataforma, una especie de “traductor” que se encarga de ejecutar dichos juegos en un sistema operativo para el cual no fueron desarrollados. En principio, ningún juego dependerá de otro para funcionar, si así fuera, se aclararía en el mismo y sólo afectaría a ese juego.
Juegos Nativos en Linux
Dentro de los juegos nativos vamos a encontrar una variedad bastante importante, ya que son la principal fuente de • Nativos juegos libres que hay, ahora vamos a nombrar algunos de • Libres los que más han atraído la atención los últimos tiempos y • Cerrados (Comerciales) que están dentro de mis favoritos, en lo posible, siempre • Emulados que pueda, preferiré nombrar un juego libre [1] (licencia • WINE y Cedega (plataforma PC / Windows) GPL o similar) a uno comercial cerrado, sin embargo, haré • Emuladores de consola (plataforma arcade y otras: mención especial de algunos de estos últimos. PlayStation, NeoGeo, etc.) Algo a destacar de todos los juegos Libres, es que se puede colaborar de distintas maneras, así sea programanLos juegos nativos son los que corren directamente en Linux, do, documentando o aportando ideas para mejorar el jueesos que instalamos y ejecutamos sin programas entremedio go, ya que son realizados por una comunidad de usuarios
18
Linux+ 12/2006
diversión Jugar con Linux Tremulous: http://www.tremulous.net/
Figura 1. Cedega
Basado en el motor de ioQuake3 (derivado del Quake3 GPL), posee grandes mejoras sobre éste y texturas completamente libres. La idea/guión del juego nos hará recordar a “Alien vs Predator”; tenemos dos equipos, los Aliens y los Humanos que tienen características y apariencia completamente distintas. Por otro lado posee algunos rasgos de estrategia en tiempo real, ya que podremos construir diversos tipos de edificios e ir mutando (o armando) nuestro personaje hacia uno mas avanzado y complejo. Especial para partidas multiplayer con un servidor gratuito provisto por los desarrolladores.
de mapas, armas y personajes. El juego por el momento no tiene bots[7], con lo cual sólo se lo puede jugar en multiplayer (o utilizando los bots de Q3A).
Estrategia en tiempo real (RTS – Real Time Strategy)
Todas las categorías tienen grandes juegos que marcaron épocas, pero pocas tienen tantos como los de estrategia. Dentro de los juegos que han hecho historia nos encontramos con Civilization 2, Warcraft 2, Starcraft, Command & Conquer, HomeWorld o Total Anihilation. Todos ellos fueron revolucionarios por algo y nos dieron horas y horas de entretenimiento. El Software Libre ha sabido seguir su ejemplo, deleitándonos con los siguientes ejemplares:
y este tipo de cosas siempre vienen bien. Otro aporte muy valorado suele ser la traducción de distintas partes del proyecto, pueden ser las páginas del sitio de éste, como la documentación o el juego en si mismo. El que sea libre también nos permitirá reutilizar el código o las texturas[2], modificar- Warsow: http://www.warsow.net/ las y crear nuestros propios juegos si así lo de- Inicialmente basado en el motor Qfusion Glest: http://www.glest.org/ seamos. A diferencia de como funciona en las (nacido del Quake2 cuando fue liberado), ha Este juego tipo Warcraft 3, nos permitirá tomar empresas (que una vez que el juego ha salido sido modificado para adaptarlo al estilo de este una de dos razas disponibles, ambientado en sólo se escucha a los usuarios para la siguiente versión –paga– del juego o por algún que otro error –bug–) aquí los comentarios, críticas y sugerencias son bienvenidos y tenidos en cuenta para el contínuo desarrollo y mejora constante del juego. Todos los cambios que se le vayan aplicando, los podremos obtener prácticamente en el momento (o en la siguiente versión) y en general, sin coste alguno.
Juegos de acción 3D (FPS – First Person Shooters)
Los juegos del estilo Quake, UT, Doom o HalfLife, son de los más populares. En particular los que tienen capacidades multijugador vía Internet (y LAN), los disponibles para Linux no son pocos, además de esto, tienen muy buena calidad y poseen algunas características únicas y muy interesantes.
juego en particular. Tanto el motor como las texturas son libres. Las últimas son originales del juego. A más de uno que tenga algo de historia en esto de los juegos le hará recordar al clásico Shogo: Mobile Armor Division, ya que está basado en el concepto de movimientos rápidos y saltos evasivos. También sus gráficos son muy similares sólo que no poseen ese toque de manga[6], y son bastante más avanzados, con tecnologías 3D actuales.
un mundo de fantasía podremos seleccionar entre la raza Mágica o la Tecnológica. Cada una con sus propias estructuras y unidades. Posee gráficos 3D (rotación de cámara y zoom) utilizando OpenGL[8], efectos de luces y unidades tanto terrestres como aéreas. Permite el juego multiplayer y singleplayer (posee IA). Es completamente libre y ha ganado algunos premios por su desarrollo.
OpenArena: http://cheapy.deathmask.net/
Juego de guerra 3D basado en el celebre Total Anihilation, posee una variedad de unidades muy grande, con muchas modificaciones para aplicarle gracias a diversos grupos de usuarios que desarrollan extensiones para él. Tenemos los 2 bandos (ARM y CORE) con sus diferentes
Este juego es prácticamente lo mismo que el Quake3, salvo que todas las texturas son libres y originales, además, la calidad y tamaño de estas fue llevado al doble. Lo mismo que los sonidos de las armas. Hay muchísima variedad
TA Spring: http://taspring.clan-sy.com/
Sauerbraten: http://sauerbraten.org/ Este juego se inició con la idea de proveer un motor[3] que permitiera la adaptación y modificación del mapa dinámicamente[4]. Para demostrar esto se terminó creando este FPS que hace uso de dichos mapas. El motor también se está utilizando actualmente para la creación de un RPG, pero este todavía está en una fase temprana de desarrollo y se puede observar dentro del propio Sauerbraten. Es principalmente multiplayer y posee servidores gratuitos para jugar vía Internet. 100% original y libre tanto en texturas y mapas como de motor, lo que permite grandes posibilidades de extensión y mejoras. Excelentes efectos visuales, utilizando varias de las nuevas tecnologías de iluminado y Figura 2. FlightGear sombras mediante OpenGL[5].
www.lpmagazine.org
19
diversión Jugar con Linux FreeCiv: http://www.freeciv.org/ Basado en el Civilization 2, uno de los clásicos más clásicos de los juegos de estrategia por turnos. La interfaz y jugabilidad fueron ampliamente mejoradas, posee muchas de las características de los últimos Civilization en cuanto a diplomacia y tecnologías se refiere, e incluso me atrevería a decir que lo han hecho mejor que el propio Sid en la última versión de su aclamado juego. Lo único que tal vez le esté faltando son gráficos. Excelentes capacidades multiplayer. Es un juego obligatorio para cualquier estratega.
UFO: Alien Invasion: http://ufo.myexp.de/ Estrategia y combates tácticos por turnos, debemos salvar a la tierra del clásico ataque alienigena mediante el comando de un pequeño grupo elite. Podremos utilizar cualquiera de los integrantes de nuestro equipo, mejorar su armamento y habilidades a medida que Figura 3. FreeCiv unidades y estructuras. También posee una interfaz 3D con rotación de cámara y zoom. Casi para uso exclusivo multiplayer (ya que su versión singleplayer –la IA-- continua en desarrollo) conectándose al servidor gratuito de los desarroladores. Gran comunidad de usuarios.
das (soporte multiplayer siendo la principal tal vez), sin embargo no se ha visto progreso en su desarrollo en los últimos años, muy probablemente debido a la licencia restrictiva bajo la que se publicó el código. Requiere del juego original para funcionar.
Warzone 2100: http://wz2100.net/
Una de las categorías más antiguas dentro de los videojuegos, hogar de clásicos como Civilization, Panzer General o Heroes of Might & Magic que han sido de inspiración para varios proyectos libres, en varios casos, éstos logran superar a sus originales, debido al continuo desarrollo y el modelo de Software Libre.
Juego de guerra futurista que gira en torno al no-tan-futurista conflicto por el petroleo. Poseeremos dos bandos, ficticios y sin referencias a paises actuales. Algunas de las características más destacadas serían las unidades de artillería y radares, junto con las cinemáticas dentro del juego. Posee motor 3D OpenGL que permite rotación y zoom con la cámara. Era un juego comercial que fue liberado por su distribuidora (Eidos-Interactive), para el cual se creó un proyecto que lo sigue desarrollando y mejorando.
Estrategia por turnos
HomeWorld SDL: http://www. thereisnospork.com/projects/homeworld/ HomeWorld (1999), es un juego de guerra espacial revolucionario si los hay, fue el que cambió el concepto de los juegos de estrategia 3D, permitiendo una rotación de 360 grados de cámara, con escenarios y gráficos alucinantes para su época. Fue semi-liberado en el 2003 y hasta el 2004 fue portado, desarrollado y mejorado por un proyecto que se creó en torno a la liberación de su código, llamado HomeWorld SDL. Todavía está en temprano desarrollo, y hay características que no están implementa- Figura 4. Glest
20
Linux+ 12/2006
avanza el juego. Está inspirado en la serie X-COM, posee gráficos 3D vía OpenGL, la clásica vista isométrica y funciones multiplayer vía Internet o LAN que permiten jugar en modo cooperativo o versus.
LGeneral: http://lgames.sourceforge.net/ Inspirado en otro grande de los juegos de estrategia por turnos (Panzer General), tomaremos el rol de los ejercitos Aliados o del Eje, en un tablero que nos hará recordar al Risk (o T.E.G), y haciendo uso de una cantidad de tropas limitadas, deberemos destruir a nuestro oponente. Posee varias mejoras respecto al original en cuanto a táctica, acciones e inteligencia artificial. Se puede jugar en modo multiplayer local,
diversión Jugar con Linux cual permite modificaciones y es mucho más atento a los pedidos de los usuarios por nuevas características o correcciones de errores, está en constante desarrollo y siempre le agregan nuevas características. Dentro de las cosas que podremos hacer, es tomar el rol de hombre o mujer, utilizar distintas vestimentas, una variedad de armas y otros elementos. Posee graficos 2D.
Stendhal: http://sourceforge.net/projects/ arianne También se podría decir que está inspirado en Ragnarok, pero es más bien similar a Ultima Online, tienen algunas diferencias con The Mana World en el tipo de ambientación y sus personajes, pero al que le interesen este tipo de juegos le recomiendo probar ambos antes de dedicarse a uno. Figura 5. Glest
Ultima Iris: http://iris.berlios.de/
o sea, no posee la capacidad de partidas por see hasta 12 razas para elegir, sistema de skills, red o internet, pero sí el modo hot-seat. Otra cientos de hechizos junto a un sistema de polítigran ventaja es la variedad de campañas, y la ca y economía dentro del mundo persistente. posibilidad de crear o descargar otras. Sus texturas no son libres, pero a cambio nos permite utilizar un cliente propio para coBattle for Wesnoth: http://www. nectarnos, con lo cual, se permite la creación de wesnoth.org/ texturas completamente alternativas para hacer Ambientado en un entorno medieval de mundos virtuales diferentes. Todavía está en fantasía, donde tendremos humanos, orcos, fase de desarrollo y ahí algunas características elfos, enanos y muertos-vivientes con diver- que no funcionan, pero su avance es constante sos tipos de unidades cada uno, lucharemos y permite actualizarlo sin tener que volver por el control del trono de Wesnoth. a bajarlo completo, con lo cual las mejoras son La idea del juego es seguir la campaña aplicadas directamente cuando salen. principal, aunque permite la creación de propias y utilización de mapas para juegos The Mana World: http://themanaworld.org/ independientes. También se puede jugar a la Muy similar al famoso Ragnarok, pero comcampaña en el servidor online, contra otros pletamente libre además de gratuito, con lo jugadores. Los gráficos son bastante básicos, pero funcionales.
Cliente 3D para los servidores de Ultima Online, con este cliente nos podremos conectar a cualquier servidor estándar y jugar con gráficos mucho más avanzados, sin la necesidad de jugar sólo con otros clientes Iris, ya que soporta comunicarse con cualquier otro, tanto 2D como 3D. Esto le da nueva vida a un juego clásico como Ultima y a la vez, nos permite seguir disfrutando de esas características que solo él tiene.
Eternal Lands: http://www.eternallands.com/ Otro MMORPG 3D que utiliza OpenGL para crear un mundo de fantasía del estilo del Señor de los Anillos, en este poseemos 6 razas, de las cuales 3 son gratuitas de usar, entre ellas te-
Multiplayer Masivos de Rol Online (MMORPG)
Hoy por hoy, la categoría de moda; los mundos virtuales persistentes se han convertido en la categoría con mayor crecimiento en los últimos tiempos, dueña de exponentes como Sims Online, Lineage II, World of Warcraft y Ragnarok, en Linux poseemos algunas versiones propias, que si bien son un tanto nuevas y no poseen todas las características que tienen sus contra-partes comerciales, se están desarrollando activamente y mejoran constantemente.
PlaneShift: http://www.planeshift.it/ El juego de MMORPG para Linux por excelencia, libre en su motor y gratuito, nos permite recorrer un mundo virtual 3D en OpenGL, po- Figura 6. PlaneShift
www.lpmagazine.org
21
diversión Jugar con Linux Trigger: http://www.positro.net/trigger/ Simulador de Rally, muy realista en cuanto a su control, dejando de lado la parte de arcade para meterse más de lleno en la simulación mediante un motor de físicas realista. Permite crear niveles y nuevos modelos de autos. Utiliza OpenGL para los gráficos 3D.
Wing Commander – Privateer Gemini Gold: http://priv.solsector.net/ Simulador espacial, en el que recorreremos el espacio en una nave que utilizaremos para llevar adelante distintas misiones, entre ellas, defendernos de piratas espaciales y transportar materiales con el fin de mejorar nuestra nave y armamento. Es un remake del juego Star Wars - Wing Commander Privateer de 1993, en 3D vía OpenGL. Cualquier fan de la saga Star Wars sabrá apreciarlo. Figura 7. PlaneShift nemos los enanos, los humanos y los elfos. El sistema de skills difiere respecto de otros juegos en que podremos ir aprendiendo distintas habilidades, sin tomar un rol específico, con lo cual podremos cambiar completamente el enfoque de nuestro personaje, sin tener que crear otra cuenta. Sin embargo, tiene un punto bastante negativo y es que no es libre, sólo gratuito, con lo cual no se permiten modificaciones del código, ni utilizar otros clientes para conectarse a sus servidores. Por esta razón no lo recomiendo con tanto énfasis, sin embargo es una opción más, y el que sea gratuito y funcione en Linux le da buen crédito.
Simuladores
relativamente buenos. Está en estado Alpha (en desarrollo), pero es jugable y necesita de gente que lo pruebe y reporte errores o solicite características para ayudarlo a crecer,
Estos son algunos de los juegos que pueden comprar en cualquier tienda informática, y que podrán instalar directamente en Linux (tal vez alguno requiera descargar un instalador desde la página oficial del juego). FlightGear: http://www.flightgear.org/ Sobre un par daré una breve descripción, Simulador de vuelo 3D hecho en OpenGL, per- el resto son archi-conocidos. mite la descarga y el diseño de nuevos modelos de aviones y escenarios, es libre y gratuito, po- Neverwinter Nights see 3 modelos de dinámicas de vuelo. Permite Este juego es uno de Rol que nos ubicará en un conectarse a GPS por coordenadas. Tiene un es- mundo de fantasía del estilo Calabozos y Dracenario mundial con más de 20.000 aeropuertos, gones, con unas posibilidades de extensión y mocompuesto por 3 DVDs. Soporte multiplayer dificación pocas veces vistas en un juego cerracon mapas reales basados en Google Maps para do comercial, posee muchos mundos persisla navegación y ubicación de otros aviones, tentes online (convirtiéndolo de esta manera en
Dentro de esta categoría vamos a encontrar distintos tipos de simuladores, tanto de construcción, como de navegación, aviación o automovilismo. Dentro de los clásicos de la simulación podemos encontrar a SimCity, Transport Tycoon, Theme Park, Flight Simular y otros. Algunos que se destacan en Linux, son los siguientes:
Lincity-NG: http://lincity-ng.berlios.de/ Inspirado en SimCity, posee unos gráficos similares a los de SimCity 2000 y 3000, es completamente libre y compatible con los mapas y partidas de Lincity (versión 2D, similar al SimCity original),
Danger from the Deep: http://dangerdeep. sourceforge.net/ Juego de simulación de submarinos de la Segunda Guerra Mundial, en particular, de los famosos submarinos alemanes. Gráficos 3D Figura 8. The Mana World
22
Juegos Comerciales Nativos para Linux
Linux+ 12/2006
diversi贸n Jugar con Linux
www.lpmagazine.org
23
diversión Jugar con Linux embargo, no haría falta tener Windows para utilizarlos, solo el emulador WINE o Cedega. Algunos juegos correrán en ambos, otros en Cedega, y algunos de ellos correrán con WINE. En el caso de Half Life (en practicamente todas sus versiones y mods) funciona en ambos. Para conseguir Cedega, consulten en el foro de su distribución favorita, siempre hay alguien que se tomo el trabajo de compilarlo y podrá explicarles como hacerlo. De todas formas, tengan en cuenta que no es una tarea sencilla ni trivial, ya que implica bajar fuentes por métodos no muy comunes, compilarlo y por último instalarlo. Por otro lado WINE ya viene en la mayoría de los repositorios oficiales de las distribuciones, con lo cual, instalarlo y probar con él es bastante más simple. Utilizando la aplicación de instalación de paquetes de su distribución (apt-get, pacman, yum, urpmi, etc.), seleccionen WINE y si existe, Winetools. Esto les simplifi-
Figura 9. UFO: Alien Invasion
cará la instalación de algunos programas. Para los curiosos, WINE (Wine Is Not an Emulator), es una re-implementación de la API de Windows, más específicamente de la Win32, y permite ejecutar programas creados para ella. Por otro lado, Cedega está basado en el código de hace algún tiempo de WINE, • Quake 4 pero se le ha cambiado la licencia (por una • Doom 3 no libre) y agregado soporte para DirectX, • Unreal Tournament 2004 haciéndola soportar juegos que antes no ha• America's Army (gratuito) bía posibilidad de ejecutar. La contra de esto • Return to Castle Wolfenstein: último es que la licencia de Cedega no es una Enemy Territory (gratuito) Wine y Cedega: licencia libre, lo que no permite trabajos deri• Tribes 2 Juegos Comerciales vados de este ni que se forme una comunidad de PC Emulados para Linux de contribuidores como con WINE. Poco a poJuego muy interesante del estilo ciencia fic- Estos juegos correrán con un emulador, ya co, WINE ha ido incorporando funciones de ción, que mezcla toques de RTS dentro del que son para plataforma PC / Windows, sin Direct3D que tienen un rendimiento similar concepto de FPS. Principalmente orientado al juego multiplayer, posee características que un MMORPG) de distintos tipos que permiten tener experiencias completamente distintas. Algo también muy interesante es que incluye herramientas para crear tus propios mundos persistentes y/o modificar otros.
permiten jugarlo independientemente. Se pueden llevar a cabo diversas acciones, como poner bombas, utilizar armas o pilotear vehículos. Fue uno de los primeros en plantear la posibilidad de utilizar un personaje con características particulares, lo que generalmente se le llama clase. Al igual que NWN, posee grandes posibilidades de modificación, mediante un lenguaje de scripting propio y el reemplazo de texturas.
Glosario/Referencias •
•
•
•
Figura 10. WineTools 0.9
24
[1] Libre: Hace referencia a la licencia que posee el programa, textura u objeto del que se esté hablando. Se considera una licencia Libre la GPL o similares, que permiten la obtención, modificación, y re-publicación del código fuente de un programa, texturas o textos. [2] Texturas: Son los gráficos de los juegos, todos los personajes, mapas y objetos están hechos con texturas. [3] Motor: Motor (o engine), es el encargado de controlar la física del juego, los movimientos de los personajes, armas y el resto de los objetos de un escenario. [4] Mapa dinámico: Un mapa que permite ser modificado en el momento, o con
Linux+ 12/2006
•
• •
el que se puede interactuar de alguna forma. [5] OpenGL: Librería 3D (API) desarrollada por Silicon Graphics Incorporated (SGI), es el equivalente de Direct3D (componente de DirectX), con la ventaja sobre esta última de que es multiplataforma y libre. [6] Manga: Estilo de dibujo animado japones. [7] Bots: Se le llama de esta manera a los enemigos controlados por computadora en un juego de FPS, al estilo de Quake3, Counter Strike o Tremulous.
diversión Jugar con Linux y a veces superior a Cedega, es por esto que se recomienda probar los juegos que ustedes usen con WINE antes de intentar compilar Cedega y/o adquirir una suscripción. Dentro de los soportados por Cedega (estos puntajes pueden variar para WINE, pero son un buen indicativo), podemos encontrar los siguientes (el correcto funcionamiento se califica de 1 a 5 estrellas, siendo 5 el mejor y están extraídos de la base de datos oficial de Cedega):
World of Warcraft Posee soporte oficial de parte de la empresa, esto significa que su funcionamiento está garantizado por Transgaming. Su puntaje promedio es de 4 estrellas.
Command & Conquer: Generals Soporte oficial, 4 estrellas. Funciona correctamente y es uno bastante popular dentro de los juegos de Cedega.
Civilization 4
Cedega funciona mediante una interfaz (fig. cedega-menu-01.png) que permite instalar y correr los distintos juegos que queramos. Cuando vamos a instalar un juego, lanzará el mismo instalador que utilizan en Windows, y nos permitirá seleccionar las opciones igual que siempre, con la particularidad de que la instalación se realizará sobre nuestra partición de Linux. Una vez instalado, figurará en la lista de juegos disponibles y lo podremos lanzar desde ella. Si poseemos una suscripción con Transgaming (costo de 5 dolares mensuales), ésta se irá actualizando con nuevos motores que corrigen fallos o amplían el soporte para nuevos juegos. WINE por otro lado es un poco más rustico, pero también muy eficiente. Una vez instalado tiene una aplicación gráfica que permite su configuración, y luego para ejecutar cualquier aplicación, podremos hacerlo desde la linea de comando en un terminal/
Todos conocemos a los jueguitos de MAME (los típicos juegos de las salas de arcades) o los de las consolas como Sega, Nintendo y PlayStation, También NeoGeo y por que no, Gameboy. Bueno, todos ellos están accesibles desde Linux mediante el uso de emuladores que harán de traductores para nuestro sistema, estos emuladores son libres y gratuitos de descargar, no siendo así los ROMS (los jueguitos en si mismos), que deben conseguir por algún medio como páginas de abandonware o de backups, esto es para las personas que poseen los cartuchos/cds originales pero ya no el sistema para utilizarlos, o simplemente quieren utilizarlos en la PC. Antes de intentar instalarlos desde los paquetes de la pagina, intenten hacerlo desde los repositorios de su distribución, ya que la
consola, ejecutando las aplicaciones median- gran mayoría estarán allí. te:
Soportado oficialmente por Transgaming, su ]$ wine aplicacion.exe funcionamiento tiene un promedio de 4 estrellas y no debería traer problemas. Esto lanzará la aplicación deseada, ya sea un juego, un programa, o el instalador de uno de Fifa '06 Soccer estos, para los casos en los que no esté incluiSoportado oficialmente, 4 estrellas. Funcio- do en winetools. na correctamente desde la versión 5.x de Nuevamente, lo más recomendable es Cedega. que instalen WINE y Winetools para probar los juegos que usan habitualmente, de esta Battlefield 1 y 2 manera si les funciona, no deberán preocuSoportado oficialmente por Transgaming, po- parse por compilar Cedega desde el CVS o see entre 3 y 4 estrellas, dependiendo de la ver- adquirir una suscripción mensual. Además, sión de Cedega utilizada. Es uno de los más WINE se actualiza directamente con el resto populares de la lista de soportados. de los programas de nuestra distribución, con lo cual no debemos preocuparnos de hacerlo Half Life (1 y 2), Counter Strike Source, manualmente. Day of Defeat (las versiones Source Un ultimo detalle, si ya poseen un Wintambién) dows y los juegos instalados en una partición, De estos juegos se ha reportado (y yo mismo podrán lanzarlos con los comandos correscomprobé) que funcionan inclusive con Wine pondientes (wine o cedega) dentro de sus (sin Cedega), con lo cual los que quieran utili- respectivos directorios. Por ej.: zar únicamente estos, podrán hacerlo sin invertir tiempo en hacer funcionar Cedega. 4 estrellas. ]$ wine /mnt/win/Juegos/Starcraft/
Guild Wars
Juegos sobre Emuladores de arcade o Consolas
starcraft.exe
Este popular juego MMORPG funciona en Li- Siendo /mnt/win donde tenemos montada nux gracias a Cedega, está soportado oficial- la partición de Windows. mente y posee 3 estrellas de promedio, con lo Tengan en cuenta que luego pueden crear que debería funcionar relativamente bien. accesos directos en sus escritorios de KDE o Gnome, que ya ejecuten este comando comHomeWorld 2 pleto y no necesitarían ingresarlos por consola También posee soporte oficial. Es la continua- cada vez que quieran jugarlos. ción de HomeWorld, se consigue relativaAlgunos recursos para correr juegos/ mente barato en las tiendas y es un juego que programas de Windows sobre Linux enconrealmente vale la pena. 4 estrellas. trarán en el recuadro al final del artículo.
www.lpmagazine.org
En la red • •
• •
•
• •
• • •
•
•
Sitio oficial de WINE: http://www.winehq.org/ Sitio de aportes para WINE, con varios detalles interesantes: http://frankscorner.org/ Sitio oficial de Cedega: http://transgaming.org/ Base de datos de los juegos soportados por Cedega: http://transgaming.org/gamesdb/ Sega Genesis / Megadrive: Generator <http://www.squish.net/ generator/> Arcades: X.MAME <http://x.mame.net/> Playstation: Epsxe <http://www.epsxe.com/> Playstation 2: PCSX2 <http://www.pcsx2.net/> NeoGeo: GnGeo <http://gngeo.berlios.de/> Super Nintendo: Snes9x <http://www.snes9x.com/> Lucas Arts: ScummVM <http:// www.scummvm.org/> Nintendo 64: Mupen64 <http:// mupen64.emulation64.com/> Gameboy / Gameboy Advanced: VisualBoy Advance <http:// vba.ngemu.com/>
25
diversión Mezclar música con Linux
BpmDj: Herramientas de DJ gratuitas Werner Van Belle
linux@software.com.pl
Si es que quieres dar una fiesta u otro evento social que lleve música y estás pensando cómo usar tu PC que tiene Linux instalado con semejante propósito, gracias a las herramientas BpmDj, que se han fabricado utilizando las librerías QT, manipularás, mezclarás y/o reproducirás fácilmente las canciones en OGG y/o MP3.
L
a BpmDJ toma nota de todas las canciones con Entonces puedes escoger si instalar los binarios en /usr/ propiedades psicoacústicas, incluyendo el tiem- local/bin o en /usr/bin/ utilizando: po, el color del sonido, la información sobre la reverberacíon/retraso, sobre el ritmo y la com- cd bpmdj-3.0 ; cp * /usr/bin/ posición. El programa depende de que el mplayer, el ogg123 y/o el mpg123 decodifiquen las canciones, mientras se envía la salida a través de los controladores de sonido alsa u oss. Sobre el autor Este artículo demuestra como se realiza la mezcla de tiemEl Dr. Werner Van Belle, de origen Belga, ha estado inpos (cómo puede un DJ superponer dos canciones en mayor vestigando sobre los sistemas móviles de multi-agentes cantidad de tiempo) y la automezcla (cómo la BpmDj puede y los sistemas abiertos distribuidos. Actualmente vive en mezclar la música por ti). Además, arroja un poco de luz soNoruega, donde trabaja como investigador en Norut IT, bre las propiedades psicoacústicas utilizadas y una función que es un grupo especializado en el procesamiento de llamada beatgraphs (gráficos de tiempo). señales para la observación de la Tierra y las ciencias naturales. En su tiempo libre es un apasionado del proceLa Instalación y Configuración de BpmDj samiento de señales digitales para aplicaciones de audio. BpmDj necesita Qt3.1, alsalib (libasound), FFTW 3.0 (libfftw) Le gusta describirse como un investigador multifacético y algunos reproductores externos que pueden ser el mplayer y siempre está interesado en ofertas de trabajo y/o pro(1.0pre6-3.3.5 o 1.0pre7-3.3.5), el mpg123 o el ogg123. Estos deyectos interesantes en los que trabajar. Se puede contacben descargarse y ser instalados de forma separada. Después tar con el autor por email: werner@onlinux.be, werner.v de descargar BpmDj descomprime el archivo: an.belle@gmail.com or werner@itek.norut.no. Su página web es http://werner.onlinux.be/. tar -xvzf ../Desktop/bpmdj-3.1.bin.tgz
26
Linux+ 12/2006
diversión Mezclar música con Linux De manera alternativa, puedes ejecutarlos desde el directorio local mediante la ampliación de la variable PATH antes de iniciar el programa:
Glosario •
export PATH=.:~/bpmdj-3.1/:$PATH
Después de instalar la BpmDj, deberías crear dos directorios: índice y música. El directorio música debe contener los archivos .mp3 y .ogg, mientras que el directorio índice contendrá toda la meta-información sobre estas canciones. Copia algunas de tus canciones favoritas en el directorio música y luego inicia kbpm-dj: mkdir music mkdir index cp <myfavoritesongs> music kbpm-dj
•
•
•
mezcla de tiempos o beatmixing – el arte de sincronizar dos canciones al superponer los tiempos en un largo período. Especialmente con los platos esto se convierte en un arte. marca de aviso o cue – una posición a la que debe volver una canción cuando se detiene el reproductor. ecualizador – un ecualizador nos permite modificar el volumen de una banda de frecuencias específica. ganancia – se refiere con frecuencia a la proporción de la salida de señal de un sistema con respecto a la entrada de señal del mismo. La ganancia modifica la fuerza de llegada de la señal antes de que esta se envíe a los ecua-
•
•
•
•
lizadores o a los controles de volumen deslizantes. canción principal – La canción que se está enviando a los canales principales. mesa de mezclas – es un trozo de hardware que toma su entrada de varias fuentes de audio y la envía a varios canales de salida. Es esencialmente un enrutador de audio. canción de prueba – la canción que el DJ está escuchando pero que no se envía a las salidas principales. PFL – pre-fader listen o pre-escucha – se utiliza para enrutar la señal hacia los auriculares, sin enviarla a los canales principales.
Te guiarán varias ventanas de diálogo. Para resumir el proceso de configuración, primero debes importar las canciones a la base de datos (Administrar|Importar Canciones), configurar un analizador (elegir uno estándar, no olvides configurarlo pulsando el botón Configure) y pon las canciones importadas en cola para el análisis. Para que sea útil BpmDj necesita tener acceso al menos a dos tarjetas de sonido en uno o más ordenadores, que ambos deberían estar asignados en Program-> Preferences->Player.
audio generadas por los reproductores. Esto hace posible que se utilicen efectos especializados de audio que son externos. Ahora analizaremos brevemente la mesa de mezclas para proporcionar una idea de las herramientas más comunes disponibles para un DJ. Las mesas de mezclas normales tienen un número de canales, lo que en nuestra situación, necesitará que las tarjetas de sonido tengan entrada. Cada canal tiene una ganancia para cambiar la pre-amplificación de la señal antes de que salga por el control de volumen. La Mesa de Mezclas La ganancia debe tener el mayor valor posibBpmDj requiere una mesa de mezclas externa le sin que clipe ni distorsione. Cada canal tiepara combinar las múltiples trasmisiones de ne también una cantidad de ecualizadores pa-
ra cambiar la intensidad de las frecuencias bajas, medias y agudas. Muchos DJ's tienen la tendencia de dejar los ecualizadores completamente abiertos (en +15dB), lo que le da al sonido una marcada atmósfera tecno pero, por lo general, no es necesario. Para ser fieles a la canción original puedes poner los ecualizadores en un neutral: 0 dB. Debajo de los ecualizadores, uno generalmente puede encontrar el volumen deslizante que cambia el volumen que fluye hacia la mezcla principal. Además, la mesa de mezclas debe tener unos botones de control de pre-escucha (PFL). Pulsar este botón dirige la señal de ese canal (después de ecualizar, pero antes de los cambios de volumen) hacia los auriculares/monitores. Esto permite que el DJ sintonice y posicione una canción sin interferir en el flujo de salida principal que disfruta el público. El indicador de volumen puede mostrar la señal actual de los PFL o la principal. Con estas herramientas básicas uno puede comenzar a mezclar.
Reproducir la primera canción
Después de iniciar kbpm-dj, el programa presenta una lista de canciones disponibles, enmarcadas en varias imágenes de vivos colores. Al hacer doble click en una canción esta se reproduce. La primera canción se considerará como la principal. De otro modo, se tomará como una canción de monitoreo. Cuando una de estas canciones comienza, se reproducirá el tiempo de la canción principal. Para comenzar nuestra primera mezcla haremos lo siguiente: • Figura 1. El selector de canciones y el reproductor de la BpmDj
www.lpmagazine.org
Poner en cero la ganancia y el volumen del primer canal.
27
diversión Mezclar música con Linux • •
•
Hacer doble click en tu primera canción. Cambiar la ganancia hasta que tenga el máximo de señal de PFL sin que clipe. No utilices el volumen deslizante en este proceso. Si se necesita ecualizar también, debe hacerse en el mismo momento. Cuando ecualices, no te olvides de modificar convenientemente la ganancia. Ahora puedes darle rienda suelta al volumen principal (para asustar a tus vecinos) o dejarlo a un nivel civilizado (y utilizar auriculares).
Figura 3. Análisis de la reverb/delay y acentuación de Kittens por Underworld
Seleccionar la próxima canción
Para ayudarte a elegir la próxima canción BpmDj te proporciona una distancia métrica • entre las canciones. Cuando la canción principal está disponible, la columna dColor muestra la distancia entre las que aparecen en la lista y la canción primaria. La distancia métrica tiene en cuenta toda la información re- • copilada durante la fase de análisis, incluyendo el tiempo, el color del sonido, la reverberación, el ritmo y las propiedades de la composición. Ahora el DJ puede decidir aferrarse al mismo tipo de música y seleccionar la mejor correspondencia (la distancia más pequeña), o elegir un cambio de rumbo de su selección y seleccionar una canción más cercana (dentro del rango dColor) aunque lo suficientemente distante como para ser diferente (la unión perfecta). Si has elegido tu segunda canción: •
•
Coloca en cero el volumen deslizante del segundo canal (el público no debe escuchar lo que intentas hacer). Pon a cero la ganancia del segundo canal (no tenemos por qué quedarnos sordos por
Figura 2. La onda del gráfico de tiempos de la canción Summer98 de California Sunshine
28
un desajuste de ganancia entre la canción actual y la anterior). Desactiva el PFL de la primera canción y activa el de la segunda (sólo queremos escuchar la nueva señal de modo que podamos asignarle una ganancia adecuada). Haz doble click en tu segunda canción.
puede ser mezclada con la primera, naturalmente, sin tener que cuidar su tiempo. Sin embargo, para lograr una mezcla apropiada necesitamos esperar a que llegue el momento preciso para disparar la nueva canción. Una mezcla de compases superpone los compases de dos canciones en un largo período, durante el cual se puede realizar un crossfade lento.
Cambia la ganancia hasta que logres un De manera práctica: máximo de señal PFL sin que clipe. • Activa el PFL en ambos canales. Colocar una marca de aviso • Encuentra el inicio de una frase de la prien la segunda canción mera canción. Cuando empiece la siguienAhora que se reproduce la segunda canción te frase, presiona la barra espaciadora panecesitamos determinar qué sección de la misra comenzar la canción. ma querríamos utilizar. El inicio de este frag- • Probablemente, la canción no comenzará mento será nuestra posición-de-aviso. Para asia sonar sincronizada con exactitud. Si esgnar una marca de aviso es importante escuta se retrasa mucho o va demasiado adechar la música y sincronizarla al inicio de calantada, se le da un empujón hacia adeda compás de 4 u 8 (8 compases = 32 tiemlante/atrás con las teclas [-]/[+]. pos). Cuando empiece esta frase, presiona la • Cuando las dos canciones están correctatecla /. BpmDj detendrá la canción y recordará mente superpuestas, hacemos un crossesta posición. Al pulsar la barra espaciadora fade y cerramos el reproductor de la privolverá a esa marca de aviso y reiniciará la mera canción. Durante el crossfading, no olcanción. Hay 4 marcas continuas. Se les llama vides desconectar ambos PFLs. las marca-Z, marca-X, la marca-C y la marca-V. • Mientras se realiza el crossfade las dos canSi pulsas las Z, X, C o V mayúscula se guarda ciones permanecen sincronizadas duranla marca actual en esa posición de la memote algún tiempo, pero no para siempre. ria. Se salta hacia una marca presionando la z, Si una canción comienza a fundirse muy x, c, o, v minúscula. pronto, utiliza las teclas de impulso ([-] Brevemente, deberías: y [+]) para reposicionarla, así vigila los charles (estos son fáciles de detectar • Escuchar la segunda canción y encontrar y tienden a proporcionar una mayor preel inicio de una frase. Luego pulsar /. cisión que los amplios sonidos tempora• Para colocar con precisión la marca, utiles de los bombos). liza la tecla [y]. Esto hará que la marca se • Ahora nuestra segunda canción se ha conmueva hacia el inicio o hacia el final con la vertido en la principal. Por tanto debenota 1/64. (Uno puede mover también la mos devolverla a su tiempo normal premarca de los 8 compases completos utilisionando el botón de fundido en el segunzando la tecla [y]). do reproductor. Cuando el botón se pone verde, es que ha llegado a su tiempo norMezclar los compases mal. de la segunda canción • Sal de la primera canción presionando esBpmDj se ha preocupado en reproducir la nuecape en la ventana del reproductor. Cuanva canción con el tiempo de la primera. Esto do se cierra la canción principal, la de significa que nuestra segunda canción ahora prueba se convierte en la primaria. •
Linux+ 12/2006
diversi贸n Mezclar m煤sica con Linux
www.lpmagazine.org
29
diversión Mezclar música con Linux
Los trucos de Bpm
Ya que BpmDj tiene información exacta del tiempo y puede acceder indistintamente a la trasmisión de audio, se puede hacer entonces un poco de “magia”. Por ejemplo, es posible saltar hacia adelante o atrás por compases, o saltar hacia una marca mientras conserva el posicionamiento relativo dentro de un compás. Al presionar el 1,2,4,5 o el 7,8 el reproductor salta hacia adelante o atrás respectivamente a los compases1,4 u 8 (intenta hacer esto con los platos, o con CD's !). Esto se puede utilizar con los redobles bien-planificados. Si uno escucha la primera canción e inicia la segunda en fase con la primera, entonces puede retroceder a la segunda antes del golpe de caja y mezclarla muy bien en la trasmisión final. Sin la capacidad de retroceder compases, esto sería bastante complicado. BpmDj también proporciona un conjunto de Osciladores de Baja Frecuencia (LFO's) que se sincronizan con el tiempo de la canción. Esos LFOs son: la panorámica, el saw-up, el sawdown y el redoble. El saw-down LFO constituye una herramienta excelente para colocar las marcas de aviso apropiadamente. Si has puesto una marca de aviso, puedes detener la música y pulsar r. Entonces esta será fragmentada en segmentos del tamaño de un compás. Si la marca se ha colocado muy pronto, percibimos un poco de ruido, un compás y luego los otros (teclea ) en ese caso). Si la marca está retrasada, por lo general se pierde la fuerza del ritmo (presiona [']. Se puede desconectar un LFO pulsando la n.
Los Tiempos Gráficos
BpmDj contiene una función, la de tiempos gráficos, que pueden ayudar a detectar los redobles y los cambios de tiempo. El tiempo gráfico visualiza horizontalmente los diferentes
Figura 5. La lista de reproducción generada automáticamente. Las canciones en rojo son 'ankers'. Las amarillas se sustituyen de manera automática
compases, mientras que verticalmente se visualiza el contenido de uno de esos compases. La intensidad de un píxel refleja la energía RMS en esa posición. Si el tiempo medido es correcto, el tiempo gráfico muestra bandas visuales diferentes. Cuando el tiempo está mal
barras señalan a las que contienen altas frecuencias. La barra amarilla cubre un área sin bombo, mientras que la naranja representa una sin dobles bombos (cada 1/8 de una nota en lugar de cada 1/4to). Cuando estas pinchando, los tiempos gráficos reflejan por ade-
o hay varios tiempos presentes (o el baterísta del grupo no cuida su precisión), entonces el tiempo gráfico se mostrará disperso en particular. Se puede acceder en todos los reproductores al tiempo gráfico como se accede a un cifrado. Cuando se utilizan ondas para visualizar el tiempo gráfico, los colores rojos son las frecuencias bajas y los azules son las altas. Todos los demás colores se encuentran en medio. Un gráfico de tiempo debería leerse desde la parte superior hacia abajo y de izquierda a derecha: la canción comienza a reproducirse en la esquina superior izquierda desciende un compás y luego continúa en la columna siguiente hasta que termina en la parte inferior derecha. La Figura 2 muestra 4 bombos en cada compás (las casillas rojas). Cada golpe tiene varias frecuencias al inicio (amarillo) que luego se funden con las frecuencias del bajo (la cola roja). Las ventanas púrpuras muestran la posición de los charles y de las palmas. Las dos
lantado los redobles y los cambios bruscos en el tiempo.
Los Analizadores de BpmDj
Ahora dirigiremos brevemente nuestra atención a las múltiples propiedades que son analizadas por BpmDj: •
•
•
Figura 4. Mapa del ritmo y la composición
30
Linux+ 12/2006
El Tiempo o velocidad– Se puede acceder al contador BPM de BpmDj a través del botón BPM-counter de la ventana del reproductor. Hay cinco técnicas diferentes para medir el tiempo, de las cuales la autocorrelación y la ray-shooting son las más apropiadas. Ambas determinan el tiempo colocando al ritmo gráfico de manera horizontal. Hay un contador Bpm por toques disponible si el automático no coge bien el armónico. El Color del Sonido – se mide a través de un análisis de espectro, que detecta la presencia de frecuencias específicas en una canción. Para respetar la sensibilidad del oído humano, la salida del análisis de espectro está dividida en 24 franjas críticas de la escala psicoacústica de Bark. En esta escala los tonos con el pitch en la misma franja se ocultarán los unos a los otros. El Análisis de Gráfico de Barras – mide la distribución de la intensidad del sonido por cada franja de Bark en la canción, y por tanto refleja de alguna manera el tipo de reverberación, delays y las acentuaciones presentes. La Figura 3 tiene 24 franjas de bark (0 son las bajas, 24 son las altas frecuencias). La primera franja muestra cómo el sonido de bajo más grave se produce de manera uniforme (el bajo del
diversión Mezclar música con Linux
Figura 6. El diálogo de la automezcla juntará la lista de reproducción actual de acuerdo con los esquemas presentados
•
•
bombo disminuye lentamente y por tanto tiene un espectro más amplio de intensidades). La segunda franja de bark (que abarca el cuerpo del bombo) refleja que hay grandes probabilidades de que siempre se produzca con la misma intensidad. De la franja 12 en adelante se divide el diagrama, lo que indica que los charles tiene una acentuación (pueden producirse a -6 dB o a -48 dB). El Análisis del Ritmo (Figura 4) – al pulsar el botón Ritmo en la ventana principal del reproductor se accede al analizador del ritmo. La ventana contiene tres paneles distintos, todos con una escala vertical de Bark. El Panel A muestra el contenido general de un compás. Se visualiza un compás con 4 tiempos de forma horizontal (la posición G es el 3er tiempo). Los charles están espaciados dentro de los tiempos (E), y hay una referencia monotonal de 1/16 (H). Cada dos tiempos hay un golpe de platos (la pista verde más larga después de E). El Análisis de Composición – El Panel B muestra la intensidad bark para todos los compases. Aparece toda la canción de izquierda a derecha. En este caso en particular hay algunas curvas ascendentes del filtro. La información se calcula en B luego va a las propiedades de la composición en el siguiente panel. El Panel C refleja las probabilidades de que la intensidad cambie en una franja específica de bark después de una cantidad de compases. La Posición D muestra mayor
probabilidad de que las bajas frecuencias cambien después de 4 compases, lo que puede significar que el ritmo se detiene o comienza. Después de 7 compases (F) las frecuencias más altas cambian a menudo, para luego volver a cambiar en el compás siguiente. Este es un redoble típico que corta el charles (compás 7) antes de producirse (compás 8).
Automatización de la Lista de Reproducción
Ya que BpmDj tiene estas propiedades bien definidas, además de la métrica de la distancia, es posible encontrar automáticamente una canción que debe estar entre otras dos, y por tanto crear listas de reproducción de forma automática. Para crear dicha lista, selecciona una cantidad de canciones en la pestaña Songs y añádelas a la cola (pulsa el botón derecho del mouse y clicka en Añadir a la Cola (Add To Queue)). Ver la Figura 5. Después de seleccionar todas las canciones en la pestaña Queue, pulsa el botón derecho y elige introducir las canciones al azar. Esta función se utiliza con frecuencia para crear listas de reproducción para practicar aerobics (Esas clases parecen depender de los cambios de velocidad maniobrados científicamente).
tores MP3 portátiles. El proceso mismo funciona offline y tiene un acierto de un 80% aproximado (el 20% de las mezclas automatizadas no son buenas, lo que demuestra que los Djs pueden ser realmente útiles aún). Cuando las canciones tienen ritmos y color de sonido compatibles se pueden esperar buenos resultados. Para utilizar el automezclador, debes primero crear una lista de reproducción. Luego, al pulsar el botón Fully Automatic Mix (Mezcla Completamente Automática) en la pestaña Queue (Cola) aparecerá el automezclador. El programa puede producir una gran emisión o dividir esa emisión en pequeños submódulos. Normalmente, se crea un gran archivo en bruto (little endian, 16 bits, 2 canales) adjuntando gradualmente nuevas canciones al final de un archivo ya existente. De manera opcional, este archivo puede dividirse en fragmentos y volverse a codificar. Después de cumplimentar todas las opciones, puedes pulsar OK y ejecutar el script process_mix.sh en el disco.
Conclusión
Te hemos obsequiado con una guía paso-a-paso sobre la utilización de BpmDj para mezclar música. Aunque parece fácil, requiere de una práctica continua. Para que puedas comenzar rápidamente a Pinchar debe bastar con que profundices en algunas otras funciones experimentales, tales como el automezclado y la automatización de las listas de reproducción.
En el Internet • •
•
www.lpmagazine.org
Configuración de la BpmDj http://werner.onlinux.be/BpmDj/ setup.html Cambios de tempo adyacentes http://werner.onlinux.be/Papers/ tempochange06/index.html
•
Análisis de espectro/reverberación http://bio6.itek.Norut.no/werner/ Papers/spectrum05/index.html
•
Análisis del tempo http://werner.onlinux.be/Papers/
•
bpm04/index.html Extracción de los meta-datos http://werner.onlinux.be/Papers/ bpm05q1/BpmDjQ1.html 7.
La Mezcla Automática
BpmDj contiene un submódulo experimental, el automezclador (ver Figura 6), que puede pegar automáticamente un grupo de canciones. Esto puede ser útil para las estaciones de radio online, o para crear mezclas para reproduc-
La página de inicio de la BpmDj http://bpmdj.sourceforge.net/
•
Técnicas de procesamiento de seña en la BpmDj http://werner.onlinux.be/Papers/ insomnia05/siframes.html
31
práctica Monitorización de sistemas mediante software OpenSource
SNMP: Monitorización de sistemas José B. Alós Alquézar
linux@software.com.pl
El protocolo SNMP (Simple Network Management Protocol), descrito originalmente por la RFC1157, fue concebido a principios de la década de los noventa para permitir tanto la gestión como la recolección de datos de diferentes dispositivos.
32
E
n 1990, aparece el protocolo SNMP en su primera versión y no es hasta 1994 cuando aparece SNMP versión 2 que fue rápidamente sustituido por SNMP versión 2c o abreviadamente SNMPv2c o protocolo SNMP orientado a comunidades, descrito en RFC 1901-1908. A pesar de que son precisamente las versiones 1, 2 y 2c las más difundidas en el campo empresarial, el reconocimiento de la versión 3 se hace esperar hasta 2004 para que el IETF reconozca como estándar el protocolo SNMP versión 3, descrito en RFC 3411 y RFC 3488; tal es así que en la práctica siguen coexistiendo las diferentes versiones de dicho protocolo, según se recoge en RFC 3584. Debido a las grandes innovaciones que la última versión de SNMP introduce en materia de seguridad, así como un cambio en el marco de definición de las componentes lógicas que lo integran, se va a centrar el contenido del presente artículo en versiones anteriores de este protocolo, en razón a su difusión, dejando para ulteriores trabajos la descripción de las posibilidades más avanzadas de este, como proxies SNMP, RMON, capacidades de multiplexación y extensiones de agentes y utilidades como las proporcionadas por SMUX y los protocolos ActiveX, respectivamente.
Linux+ 12/2006
Estructura del protocolo SNMP
La comprensión del funcionamiento del protocolo SNMP requiere del conocimiento de tres aspectos bien diferenciados: • •
El protocolo SNMP en sí mismo y las operaciones y mensajes, La interfaz de gestión de estructura, o SMI (Simple Management Structure) que es el conjunto de reglas estable-
Sobre el autor José B. Alós es administrador de sistemas especializado en SunOS 5.x/HP-UX/AIX desde 1999 de la mano de EDS, desarrollando 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. Ha sido profesor de la Universidad de Zaragoza. Está especializado en sistemas de Alta Disponibilidad y posee un doctorado en Ingeniería Nuclear.
práctica Monitorización de sistemas mediante software OpenSource
��������
Sobre el artículo En este artículo aprenderás
���������
�������������
�����
�����
�������
������
������
������
•
����������� �������������� ������������ ������������� ���������� ��������������
Figura 1. Estructura de gestión de información (SMI) del MIB-II cidas para especificar la información de mina Object Identifier o abreviadamente OID los diferentes objetos, y se suelen representar mediante un subconjun• Management Information Base (MIB). to del lenguaje ASN.1. Así, por ejemplo, el OID correspondiente al tiempo que un servidor lleEl protocolo SNMP es no confiable al estar ba- va arrancado, se referencia como: sado en UDP. Para minimizar los efectos de esta falta de fiabilidad en las aplicaciones que iso.org.dod.internet.mgmt.mib.system.
•
Los fundamentos y entresijos de los protocolos SNMP y más concretamente, de SNMPv2c en aplicaciones de monitorización de elementos de red, servidores y aplicaciones de forma similar a como operan sistemas propietarios como CA Unicenter, BMC PatrolAgent o HP OpenView, todo ello, empleando software OpenSource. Los conocimientos básicos para implementar un sistema de monitorización general de dispositivos o aplicaciones que ofrezcan agentes SNMPv2c basado en software OpenSource.
Lo que deberías saber
• Utilización del entorno de desarrollo usan este protocolo, es posible definir paráme- sysDescr = .1.3.6.1.2.1.1.1 GNU C/C++ y las utilidades de configutros de timeout así como el número de reintentos ración automática GNU Autoconf / GNU para obtener una respuesta válida. de acuerdo con la jerarquía representada en la Make para la generación de prograFigura 1, correspondiente a la especificación de mas, Management Information Base MIB-II. • Protocolos de comunicación TCP/IP e in(MIB) La fortaleza de los protocolos SNMP en terpretación de los documentos RFC del La Base de Gestión de Información o MIB es una sistemas de monitorización y auditoría estriba Internet Task Engineering Force, colección estructurada de los objetos a gestio- en que cada dispositivo puede tener su propio • Administración de sistemas GNU/Linux nar mediante el protocolo SNMP correspon- MIB definido por el fabricante y gestionado o Unix en cualquiera de sus variantes dientes a un dispositivo concreto; colección por un agente SNMP que puede ser utilizado BSD/AT&T System V Release 4, que puede estructurarse en forma de árbol y para obtener datos de este dispositivo de forma • Administración de bases de datos Oradescrita en RFC 1156. remota. cle para el seguimiento del caso prácDichos objetos SNMP correspondientes a tico propuesto para su monitorización un dispositivo como un adaptador de red, un Estructura de Gestion mediante protocolos SNMP. switch, un servidor o cualquier otro son refe- de la Información (SMI) renciados mediante una colección de números La selección de los OIDs para diferentes disque lo distinguen frente a los demás objetos de positivos, puede provocar varios problemas mentales como son el hecho que que dos disdicho dispositivo. Dicho identificador se deno- debido principalmente a dos factores funda- positivos diferentes puedan tener OIDs idénticos y que podemos tener varios dispositivos ������� idénticos a gestionar mediante SNMP v. gr. varias tarjetas de red del mismo modelo. Para solucionar esta ambigüedad y facilitar la utili������ �������� ������������ zación de los protocolos SNMP en la gestión de múltiples dispositivos, es necesario estan������ darizar la información proporcionada por los diferentes MIBs, que es el objetivo a cubrir por ������ la Estructura de Gestión de Información o Structure Management Information (SMI). ����������� La estructura de gestión de la información especifica un conjunto de reglas para la nomenclatura de los diferentes objetos gestionados. ������������ ������� ��������������� ���������� Los objetos a gestionar mediante el protocolo SNMP están ordenados en una jerarquía �������������� arborescente en una forma muy similar a la �������� jerarquía DNS y que permiten asignar a cada �������� �������� objeto un identificador único u Object Identifier (OID) que no es más que una secuencia de números que forman parte de ese árbol de Figura 2. Estructura de gestión de información (SMI) general según RFC 1155
www.lpmagazine.org
33
práctica Monitorización de sistemas mediante software OpenSource Los agentes SNMP pueden además, enviar mensajes de alerta o traps a una estación de monitorización concreta, que son colectados por $ snmpwalk -c public -v 2c localhost system un demonio denominado SNMP trap demon, SNMPv2-MIB::sysDescr.0 = STRING: Linux telemaco 2.6.16.13-4-default #2 Tue que está escuchando la recepción de estos por Sep 5 el puerto 161/UDP aunque, evidentemente, los 13:36:08 CEST 2006 i686 valores asignados para los puertos de agente SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 SNMP y el demonio colector de traps pueden DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (65650) 0:10:56.50 modificarse a conveniencia del usuario. SNMPv2-MIB::sysContact.0 = STRING: Sysadmin (root@localhost) Evidentemente, el acceso a los datos colecSNMPv2-MIB::sysName.0 = STRING: telemaco tados por los agentes SNMP requiere una auSNMPv2-MIB::sysLocation.0 = STRING: Server Room tentificación que es el aspecto que marca la SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01 mayor diferencia entre las diferentes versiones ... de este protocolo. Así, SNMPv2c suportan auSNMPv2-MIB::sysORUpTime.8 = Timeticks: (1) 0:00:00.01 tentificación muy básica mediante una palabra profundidad arbitraria en el que el nodo raíz Traps e informes SNMP clave denominada community name. De tal forestá sin etiquetar y posee al menos tres nodos Además, tenemos dos elementos adicionales ma según el nivel de acceso a los datos u operahijo administrador por entidades suprana- que permiten realizar una monitorización con- ciones SNMP permitidas, existen dos communicionales como el International Telegraph and ducida por eventos o event-driven. En primer lu- ty names diferentes: Telephone Consultative Committee (CCITT), la gar, las alertas o traps SNMP, que son enviadas International Standards Organization (ISO) y el por un agente SNMP en respuesta a una acción • Read community name. Es una palabra Listado 1. Utilización del comando snmpwalk(1)
último, de administración conjunta entre ambos organismos según RFC 1155 y RFC1902. En la Figura 2 se puede apreciar la ubicación dentro de la SMI global del MIB-II, descrito en la Figura 1 y definido en la RFC 1213. Los OIDs son asignados por el IANA de forma similar a como se hace para las delegación de dominios en Internet, de tal forma que se acostumbra a delegar para cada fabricante una rama de OIDs a partir del nodo enterprise(4). Dentro de la estructura definida por SMI, se desarrolló el MIB-II recogido en RFC1213 y que estaba integrado por nueve grupos: system, interfaces, at, ip, icmp, tcp, udp, egp y snmp.
concreta y que son colectadas por un demonio denominado snmptrapd(8). La PDU asociada a una trap se muestra a continuación: Dentro del último cambio variable de la PDU asociada a una trap SNMPv2c aparecen siempre los valores de sysUpTime. Y snmpTrapOID.0, que indica el tipo de trap. La fiabilidad en la recepción de las traps SNMP está condicionada por el protocolo UDP. Por este motivo, en el protocolo SNMPv2c aparece un último tipo de elemento que son los informes SNMP o SNMP informs, que son la forma en que un agente SNMP puede decidir por sí mismo qué acción realizar si no recibe una trap SNMP.
Operaciones SNMP
Funcionamiento básico
Los protocolos SNMP únicamente definen cua- y arquitecturas SNMP tro operaciones sobre los objetos gestionados A fin de ilustrar el funcionamiento de los protopor un agente SNMP, de las cuales, solo la últi- colos SNMP y su aplicación a la monitorización ma permite la modificación de objetos. de sistemas y dispositivos activos se presenta en la Figura 3 un esquema simplificado en el • GET, que permite obtener el valor concre- que se muestra la monitorización de un servito de un objeto SNMP seleccionado a par- dor, un enrutador y un switch mediante operatir de su OID, ciones SNMP y recolección de traps e informes. • GET-BULK, permite la recuperación de Cada uno de estos dispositivos posee un parte de una tabla de un MIB pertenecien- agente SNMP en ejecución permanente que te a un objeto gestionado mediante SNMP. escucha por defecto mensajes SNMP por el Esta operación a diferencia de las restantes puerto 161/UDP. Cada mensaje SNMP contiees propia del protocolo SNMPv2c, ne una lista de objetos a gestionar o modificar. • GET-NEXT, permite recuperar de forma Tabla 1. PDU para una trap SNMPv2c secuencial los elementos de una fila de 0x47 RequestID 0 0 Variable bindings una tabla MIB, SysUpTime • SET, que modifica o crea objetos a gestionar mediante el protocolo SNMP. Tabla 2. PDU para un informe SNMPv2c Cada una de estas operaciones poseen una Portable Data Unit (PDU) característica.
34
0xA6
RequestID
0
0
Precisamente, a fin de proporcionar mecanismos de autentificación más segura, aparece SNMPv3, que tal y como se ha comentado, introduce significativos cambios incluso a nivel de terminología, sustituyéndose los conceptos de agentes y gestores SNMP por un única entidad lógica denominada SNMP entity, compuesta de un motor o SNMP engine y varias aplicaciones. El protocolo SNMPv3 proporciona autentificación mediante un modelo orientado a usuario o User-based Security Model (USM) que utiliza algoritmos HMAC-MD5-96 y HMAC-SHA-96 para autentificación y garantiza además la privacidad de las comunicaciones mediante CBC-DES.
Implementación de la solución SNMP. Net-SNMP
La solución para la la implementación completa del protocolo SNMP cuya utilización se propone es Net-SNMP, que tiene su origen en 1992 en la universidad de Carnegie-Mellon y más concretamente en Steve Waldbusser, que
SnmpTrapOID.0
Variable bindings SysUpTime
Linux+ 12/2006
•
clave que sirve para acceder a objetos SNMP usando operaciones GET o GETNEXT. Read-write community name. Admite la modificación de valores asociados a OID mediante la operación SET.
SnmpTrapOID.0
…
…
práctica Monitorización de sistemas mediante software OpenSource
syscontact System Administrator
������������ �������������
���������
����������
(bernardo.alos@yahoo.es) ��������
rocommunity public 127.0.0.1
En este caso se ha definido la comunidad SNMPv2c de solo lectura como public
�����
# /usr/bin/snmpd �����
����������������
Ahora podemos comprobar la funcionalidad del agente SNMP consultando los valores del OID system mediante el uso de la operación �������� ����� GET-NEXT, que implementa el comando snmpwalk(1). ������������������������������� Mediante el comando snmptranslate(1) poFigura 3. Sistema de monitorización mediante protocolos SNMP demos pasar de los mnemónicos para la idenelaboró una implementación que incluía una versión hacen que este proyecto sea un firme tificación de los OIDs a la notación numérica librería, una colección de comandos para ope- candidato a perdurar. característica de la estructura SMI. raciones SNMP y un agente SNMP. Esta idea pasó sucesivamente por las manos de Wes Instalación y operaciones básicas $ snmptranslate -On -IR ipForwarding Hardaker, de la Universidad de California, En estos momentos, está disponible Net-SNMP .1.3.6.1.2.1.4.1 Davis que dio origen al proyecto UCD-SNMP en 1995, que a partir del año 2000 mudó su denominación, pasando a ser conocido como Net-SNMP y que implementa los protocolos SNMPv2c y SNMPv3 incluso para IPv6. Net-SNMP proporciona un entorno completo que implementa tanto las versiones 1, 2, 2c y 3 del protocolo, así como extensiones AgentX y SMUX amén de un entorno de programación que puede ser utilizado para el desarrollo de aplicaciones SNMP. La importancia de Net-SNMP se ve resaltada por la disponibilidad existente para un amplio abanico de plataformas que abarcan desde los sistemas Unix hasta dispositivos empotrados; además, el cambio supuesto por Net-SNMP v5 con la introducción de una capa de abstracción del modelo de red y el inicio de un proceso de modularización de las bibliotecas del API que debe culminar en la próxima
5.3.1 en http://www.net-snmp.org para su descarga. Esta es la versión distribuida con OpenSu- o a completar los mnemónicos identificativos SE 10.1. aunque también es posible realizar la de un OID en su forma absoluta: instalación a partir del código fuente, con el soporte GNU Autoconf. $ snmptranslate -Onf -IR ipForwarding .iso.org.dod.internet.mgmt.mib# rpm –i net-snmp-5.3.0.1-21.rpm
2.ip.ipForwarding
Este paquete instala tanto un agente SNMP snmpd(8), como el demonio de alertas o traps snmptrapd(8), las descripciones de MIBs utilizados y las librerías y aplicaciones básicas para la realización de las operaciones SNMP descritas anteriormente, todas ellas compatibles con las versiones 1, 2c y 3 del protocolo. La configuración del agente snmpd(8) se efectúa mediante el fichero /etc/snmp/snmpd.conf:
e incluso, obtener la descripción completa de un determinado OID mediante la sintaxis de ASN.1 tal y como se muestra a continuación: Para la operación GET para obtener el valor de un objeto SNMP podemos utilizar el comando snmpget(1), proporcionado por el software Net-SNMP: $ snmpget -c public -v 2c localhost
syslocation Centro de Proceso de Datos
sysDescr.0
M2/P3
SNMPv2-MIB::sysDescr.0 = STRING: Linux
Listado 2. Utilización del comando snmpwalk(1)
Listado 3. Utilización del comando snmpwalk(1)
$ snmptranslate -Td -OS .1.3.6.1.2.1.1.1
$ snmpwalk –Os –c public –v 1
SNMPv2-MIB::sysDescr
10.144.1.15 system
sysDescr OBJECT-TYPE -- FROM
sysDescr.0 = STRING: "SunOS
SNMPv2-MIB, RFC1213-MIB
zeus.net.cmu.edu 4.1.3_U1 1
-- TEXTUAL CONVENTION DisplayString SYNTAX
DISPLAY-HINT MAX-ACCESS STATUS
sun4m"
OCTET STRING (0..255)
sysObjectID.0 = OID: enterprises
"255a"
.hp.nm.hpsystem.10.1.1
read-only
sysUpTime.0 = Timeticks:
current
DESCRIPTION
(155274552) 17 days, 23:19:05
"A textual description of the entity. This value should
include the full name and version identification of the system's hardware type, software operating-system, and networking software."
sysContact.0 = STRING: "" sysName.0 = STRING: "zeus.net.cmu.edu" sysLocation.0 = STRING: ""
::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) 1 }
www.lpmagazine.org
sysServices.0 = INTEGER: 72
35
práctica Monitorización de sistemas mediante software OpenSource
Listado 4. Utilización del comando snmpdelta(1) en monitorización incremental # snmpdelta -c public -v 2c -Cs localhost IF-MIB::ifInUcastPkts.1 IF-MIB::ifOutUcastPkts.1 [20:15:43 6/14] ifInUcastPkts.1 /1 sec: 158 [20:15:43 6/14] ifOutUcastPkts.1 /1 sec: 158 [20:15:44 6/14] ifInUcastPkts.1 /1 sec: 184 [20:15:44 6/14] ifOutUcastPkts.1 /1 sec: 184
posee un agente SNMP v2c escuchando en el puerto 161/UDP y con una comunidad pública o de solo lectura denominada public, una posible forma de indagar sobre las características de este servidor sería según el Listado 1 la siguiente: Para la operación GET-BULK sirve snmpbulkwalk(1). Como colofón, Net-SNMP proporciona una interesante utilidad, denominada snmpdelta(1), que nos permite monitorizar valores incrementales enteros o INTEGER de objetos SNMP. Así, para determinar el tráfico a través de uno del adaptador de red por defecto:
Listado 6. Configuración automática del agente SNMP del proyecto Net-SNMP # snmpconf -g basic_setup The following installed configuration files were found: 1: /etc/snmp/snmpd.conf Would you like me to read them in? Their content will be merged with the output files created by this session. Valid answer examples: "all", "none","3","1,2,5" Read in which (default = all):
[20:15:45 6/14] ifInUcastPkts.1 /1 sec: 184 [20:15:45 6/14] ifOutUcastPkts.1 /1 sec: 184 /1 sec: 158 telemaco 2.6.16.13-4-default #2 Tue Sep 5 13:36:08 CEST 2006 i686
Realmente, la potencia de los protocolos SNMP estriba en que es posible construir agentes SNMP para un dispositivo activo o servidor y efectuar consultas desde un computador ajeno a este, a fin de recabar información para su monitorización. Suponiendo que el servidor ZEUS con dirección IP 10.144.1.15 Listado 5. Directivas admitidas por el agente SNMP del proyecto Net-BSD
Configuration directives understood: No log handling enabled - turning on stderr logging snmpd.local.conf: 1 | 2
pdelta(1) la realización de las diferencias entre valores consecutivos de los OIDs asociados al número de paquetes IP de entrada y salida durante el periodo de un segundo tal y como se indica en el Listado 4. herramienta que puede servir para la monitorización de las tasas de transferencia de paquetes a través de un interfaz de red. Finalmente, para efectuar una modificación sobre el valor de un objeto SNMP característico de la operación SET, existe el comando snmpset(1). En SNMP v2c exige el uso de la comunidad de lectura-escritura o privada : $ snmpset -c hub
private
-v
system.sysContact.0
1
test-
\
jbaa@mydomain.org ip.ipforwarding.0 = 2
In snmpd.conf and (1 =
enable, 2 = disable) trapsink host [community] [port] trap2sink host [community] [port] informsink host [community] [port] trapsess [snmpcmdargs] host trapcommunity community-string agentuser userid agentgroup groupid agentaddress SNMP bind address defPrivLocalizedKey string defVersion 1|2c|3 defAuthType MD5|SHA defPrivType DES|AES defSecurityLevel noAuthNoPriv|auth
36
fichero snmpd.conf(8) basado en el script Perl snmpconf(1) que admite como argumento 148 directivas, como se indica en el Listado 5. es posible dejar en manos del comando snmDe este modo, una forma de alternativa de Counter32: 7912
proceder a la configuración del agente SNMP sin necesidad de editar manualmente el fichero snmpd.conf la proporciona el comando snmpconf(1) en la forma ilustrada en el Listado 4. El agente Net-SNMP incorpora además un MIB denominado UCD-SNMP-MIB, que incorpora cuatro tablas y dos valores escalares, que implementan la rama de OIDs enterprises. ucdavis: • •
# snmpd -H 2>&1 | more
NoPriv|authPriv
localhost IF-MIB::ifInUcastPkts
IF-MIB::ifInUcastPkts.1 =
[20:15:46 6/14] ifInUcastPkts.1
authtrapenable
........................
$ snmpwalk -c public -v 2c
que establecerá los valores de los OIDs sysContact.0 e ipForwarding.0 a: system.sysContact.0 = STRING: "jbaa@mydomain.edu" ip.ipForwarding.0 = INTEGER: notforwarding(2)
de tal modo que se modifican online los valores de los objetos SNMP asociados. Los fallos en estas operaciones producen la recepción de un paquete de error que hace que se muestre un mensaje útil para poder aislar el problema.
Opciones adicionales del agente SNMP Net-SNMP
El agente SNMP proporcionado por NetSNMP ofrece además un soporte de configuración automatizado para la generación del
Linux+ 12/2006
Tablas: procTable, execTable, diskTable, loadTable Escalares: memory, snmperrs
Así como dos ramas adicionales ucdInternal y ucdExperimental para registrar submódulos MIB. Consideremos a continuación la configuración definida en el Listado 5 para el agente SNMP en el fichero snmpd.conf(5), que incorpora alguna de las capacidades adicionales de monitorización del MIB Net-SNMP. Estos valores permiten la monitorización de procesos Unix, ejecución de acciones en respuesta a un evento SNMP así como la monitorización de sistemas de ficheros y la carga del sistema medida como el número medio de procesos en cola de ejecución en 1, 5 y 15 minutos. Si uno de estos valores se sitúa fuera del rango o umbral permitido, el agente SNMP realizará una operación SET contra los nodos laTable.laEntry.laErrorFlag para la carga promedio, dskTable.dskEntry.dskErrorFlag para sistemas de ficheros y prTable.prEntry.prErr orFlag para los procesos Unix, lo que permite gracias al agente SNMP la monitorización mediante encuesta de estos valores de la
práctica Monitorización de sistemas mediante software OpenSource Tabla 3. Traps SNMP genéricas definidas para el protocolo SNMP Trap SNMP
Descripción
coldStart(0)
El agente SNMP se ha parado/arrancado
warmStart(1)
El agente SNMP se reinicia a sí mismo
linkDown(2)
Un adaptador de red está inactivo (DOWN)
linkUp(3)
Un adaptador de red está activo
authenticationFailure(4)
Fallo de autentificación de un mensaje SNMP
egpNeigborLoss(5)
Un vecino EGP ha pasado a un estado inactivo. En este caso el campo variable de la PDU trap contiene en primer lugar su dirección IP
Por este motivo, vamos a visualizar cada trap SNMP en dos líneas; la primera de ella muestra el momento en el que se origina, su tipo, descripción y el nodo que la genera, mientras que en la segunda línea, que se inicia con un carácter tabulador, se muestran las variables presentes en la PDU asociada. Para ello debemos ejecutar los siguientes pasos: •
carga del sistema, ocupación de sistemas de ficheros y procesos definidos en el fichero de configuración snmpd.conf(8) tal y como muestra la consulta de Listado 8 a la tabla de procesos en un servidor en el que el proceso sendmail no está arrancado: Estas actividades no generan traps SNMP, luego no es posible la monitorización conducida por eventos.
Cerrando el círculo. Traps e informs SNMPv2c
Con independencia de las actividades que hemos visto hasta ahora, y relacionadas con las cuatro operaciones definidas para el protocolo SNMPv2c, que permiten la monitorización de cualquier objeto recogido en un MIB y gestionado por un agente SNMP, las traps SNMP permiten la realización de monitorizaciones conducidas por eventos, en lugar del tradicional enfoque por encuesta o polling, según la cual, un evento concreto, como puede ser la superación de un umbral en la ocupación de un sistema de ficheros, dispara una alerta encapsulada en una trap SNMP y que es colectada por el demonio snmptrapd(8). Por defecto, se definen seis traps genéricas SNMP recogidas en la Tabla 1. A fin de preparar un nuevo escenario, es preciso modificar tanto la configuración del agente SNMP en la forma indicada en el Listado 9. Las tres últimas líneas del listado adjunto permiten al agente SNMP el envío de traps e informs SNMPv2c a un demonio snmptrapd(8) presente en el computador donde se está ejecutando el agente. Ello permite, por ejemplo que el demonio en modo principal capture las traps que envía el agente SNMP cuando se para, como vamos a comprobar a continuación. La aplicación snmptrap(1) permite la emisión de traps SNMP que pueden ser colectadas por dicho demonio. Conviene tener en cuenta que la sintaxis varía según se utilice la versión 1, 2c o 3 del protocolo SNMP. Para SNMPv2c, objeto del presente artículo, la configuración del demonio snmptrapd(8) se
realiza mediante la incorporación del fichero /etc/snmp/snmptrapd.conf con el siguiente contenido:
Lanzar el demonio colector de traps SNMPv2c con la siguiente configuración en el fichero /etc/snmp/snmptrapd.conf: #
snmptrapd
-f
-Le
-F
"%02.2h:
%02.2j %02.2l/%02.2m/%y\tSNMP trap snmpTrapAddr udp:0.0.0.0:162 # escucha
type %w description %W desde %B\
SNMPv2c traps en 162/udp
nt%v\n"
doNotRetainNotificationLogs yes #
hijo
A continuación, arrancar el agente SNMPv2c con la configuración establecida previamente.
authCommunity stderr public # autoriza
# /usr/sbin/snmpd; sleep 5; pkill
traps SNMPv2c
snmpd
desactiva NOTIFICATION-LOG-MIB
•
doNotFork yes # no crear un proceso
Por defecto, y a no ser que en el fichero de configuración snmptrapd.conf(5) se especifique lo contrario mediante el parámetro doNotRetainNotificationLogs, las traps SNMP se almacenan en el MIB NOTIFICATIONLOG-MIB a partir de Net-SNMP 5.0 y pueden ser recuperadas mediante operaciones GETNEXT a las tablas nlmLogTable y nlmLogvariableTable. En este caso, resulta interesante que las traps SNMP se visualicen inmediatamente en la salida estándar y con un formato que recuerda al utilizado en las funciones printf(3).
El resultado de estas operaciones se puede apreciar en la Figura 4, utilizando dos terminales X para lanzar cada uno de estos comandos. Las traps SNMP pueden generarse de forma manual mediante el comando snmptrap(1). A título de ejemplo, una trap que referencie al un cambio de estado LinkDown/LinkUp del segundo interface de red de un sistema: # snmptrap -v2c -c public localhost '' .1.3.6.1.6.3.1.1.5.3 \
Figura 4 Generación y captura de traps SNMP con formato
www.lpmagazine.org
37
práctica Monitorización de sistemas mediante software OpenSource gestión de dispositivos activos de red, consideramos de interés ofrecer un par de situaciones en las cuales, los protocolos SNMP pueden ser utilizados para la monitorización tanto de servidores como de aplicaciones propietarias.
Listado 7. Fichero de configuración snmpd.conf(5) syslocation Centro de Proceso de Datos M2/P3 syscontact Administrador UNIX (jbaa@mydomain.org) rocommunity public 127.0.0.1 rwcommunity private 127.0.0.1
Caso I. Dispositivos con agentes SNMP propietarios
trapcommunity public
Comcprd Communications, Inc. es una compañía islandesa que proporciona una amplia gama de productos destinados a la gestión de servicios empresariales como Concord eHealt que es un sistema de gestión integral que incluye un agente SNMP disponible para una gran variedad de plataformas Unix como HP-UX, SunOS 5.x, IBM AIX y MS Windows. Resulta por tanto interesante poder utilizar
trap2sink localhost informsink localhost load 3.0 5.0 7.0 # Carga promedio superior a 3, 5 o 7 procesos disk / 5% # Sistema de ficheros / ocupado en más de 95 % proc cron 1 1 # Un demonio cron(8) en ejecución proc sendmail # Uno o mas MTA sendmail(8) en ejecución
ifIndex i 2 ifAdminStatus i 1
Listado 8. Consulta de la tabla de procesos Unix
ifOperStatus i 1
quedaría reflejada por el demonio snmptrapd(8) como se muestra en el Listado 8, en modo principal. Alternativamente, estos mensajes se pueden enviar al demonio syslogd(8) definiendo esto en la configuración del demonio de traps, o bien ejecutando este con las opciones:
# snmpwalk -c public -v2c localhost enterprises.ucdavis.prTable UCD-SNMP-MIB::prIndex.1 = INTEGER: 1 UCD-SNMP-MIB::prIndex.2 = INTEGER: 2 UCD-SNMP-MIB::prNames.1 = STRING: cron UCD-SNMP-MIB::prNames.2 = STRING: sendmail UCD-SNMP-MIB::prMin.1 = INTEGER: 1 UCD-SNMP-MIB::prMin.2 = INTEGER: 0 UCD-SNMP-MIB::prMax.1 = INTEGER: 1
# snmptrapd -Lsd
También es posible hacer que snmptrapd(8) efectúe acciones programadas en respuesta a un evento, mediante la adición de entradas en el fichero snmptrapd.conf de la forma:
UCD-SNMP-MIB::prMax.2 = INTEGER: 0 UCD-SNMP-MIB::prCount.1 = INTEGER: 1 UCD-SNMP-MIB::prCount.2 = INTEGER: 0 UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: 0 UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: 1 UCD-SNMP-MIB::prErrMessage.1 = STRING: UCD-SNMP-MIB::prErrMessage.2 = STRING: No sendmail process running.
traphangle OID | default programa
UCD-SNMP-MIB::prErrFix.1 = INTEGER: 0
[args]
UCD-SNMP-MIB::prErrFix.2 = INTEGER: 0
donde el segundo campo es o el OID asociado a la trap SNMP que debe ser gestionada o la palabra clave default, que gestiona cualquier trap. Los restantes campos corresponden al programa a ejecutar seguido de los argumentos necesarios. Como ya hemos apuntado anteriormente la falta de fiabilidad de las traps SNMP es solucionada por el protocolo SNMPv2 con la introducción de los informes SNMP o SNMP informs en las PDU. Un informe SNMP no es más que una trap SNMP aceptada El envío de informes SNMP es posible mediante la adición de la opción '-Ci' en la herramienta snmptrap(1).
Casos prácticos y aplicaciones
Si bien la utilización de los protocolos SNMP ha estado tradicionalmente vinculada a la
38
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: UCD-SNMP-MIB::prErrFixCmd.2 = STRING:
Listado 9. Configuración del fichero snmpd.conf(5) syslocation Centro de Proceso de Datos syscontact Administrador UNIX (jbaa@mydomain.com) # These really aren't meant for production use. They include all MIBS # and can use considerable resources. See snmpd.conf(5) for information # on setting up groups and limiting MIBS. ws rocommunity public 127.0.0.1 rwcommunity private 127.0.0.1 trapcommunity public trap2sink localhost informsink localhost
Linux+ 12/2006
pr谩ctica Monitorizaci贸n de sistemas mediante software OpenSource
www.lpmagazine.org
39
práctica Monitorización de sistemas mediante software OpenSource
Listado 10. Captura de traps SNMP mediante snmptrapd(8) # snmptrapd -f -Le NET-SNMP version 5.3.0.1 2006-10-01 23:45:14 localhost [UDP: [127.0.0.1]:1033]: DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (437090) 1:12:50.90 SNMPv2-MIB::snmpTrapOID.0 = OID: IF-MIB::linkDown IF-MIB::ifIndex = INTEGER: 2 IF-MIB::ifAdminStatus = INTEGER: up(1) IF-MIB::ifOperStatus = INTEGER: up(1)
el juego de aplicaciones proporcionadas por el proyecto Net-SNMP de cara a la monitorización del MIB implementado por dicho agente. Supongamos que disponemos de un agente SNMP Concord instalado en el servidor hp00 que ejecuta el sistema operativo HP-UX 10.20 configurado con la comunidad pública publicmon para escuchar peticiones recibidas en el puerto 1691/UDP. Desde nuestra estación de
De este modo, cualquiera de las aplicaciones SNMP descritas como snmpwalk(1), snmpget(1), snmpgetnext(1) o snmpset(1) no requerirán de la introducción de especificaciones de protocolo y lo que es más importante, será posible trabajar con los mnemónicos asignados por el MIB EMPIRE descrito en la Figura 5. Teniendo en cuenta todo lo explicado anteriormente, el comando snmpwalk(1) ejecutado
red, es posible obtener los resultados del subárbol system, perteneciente a MIB-II como aparece en el Listado 11. Aprovechando la coyuntura, se va a proceder a detallar cómo simplificar el uso las aplicaciones SNMP mediante el uso de las opciones snmpcmd(1) y la introducción del MIB EMPIRE utilizado por el agente SNMP Concord SysEdge a partir de la edición del fichero $HOME/ .snmp/snmp.conf de acuerdo con el Listado 10. Para ello, debemos seguir los siguientes pasos:
con antelación quedaría reducido lo indicado en el Listado 11. De este modo, en un parque de servidores de entornos corporativos, dotados de sendos agentes SNMP Concord configurados con los mismos parámetros de comunidades, versión y puerto, se puede automatizar de una forma intuitiva la monitorización y recolección de • datos de cada uno de ellos.
•
•
Descargar la descripción del MIB EMPIRE desde Internet, aprovechando el repositorio http://www.mibdepot.com entre otros. Copiar el fichero en el directorio $HOME/ .snmp/mibs como Empire.txt Listado 11. Consulta SNMP al MIB Empire de Concord Communications, Inc $ snmpwalk -c publicmon -v2c hp00: 1691 system EMPIRE::nodename.0 = STRING: "hp00" EMPIRE::cpu.0 = STRING: "9000/893" EMPIRE::memory.0 = INTEGER: 2096128 EMPIRE::hostid.0 = STRING: "152b29e7" .......... EMPIRE::system.20.0 = STRING: "hp00.mydomain.osi" EMPIRE::system.21.0 = "" EMPIRE::system.22.0 = STRING: "/" EMPIRE::system.23.0 = STRING: "topprocs"
40
Figura 5. Descripción ASN 1.1 del MIB público Concord SysEdge mación a un agente SNMP que escucha en el puerto 161/UDP y que será nuestro agente Net-SNMP. Oracle Intelligent Agent posee dos ficheros de configuración con propósitos bien diferenciados: CONFIG.master es un fichero ubicado en el directorio $ORACLE_HOME/network/
•
snmp/peer que especifica una comuni-
dad SNMPv2c para permitir el acceso al subagente Oracle Intelligent Agent. Por defecto, únicamente es necesario modificar la dirección IP en este fichero para consignar dónde deben ser enviadas las traps SNMP. CONFIG.encap es también un fichero localizado en el directorio $ORACLE_HOME/ network/snmp/peer. De este modo, Oracle toma el control sobre el socket BSD utilizado por el protocolo SNMP de cara a acceder a los MIBs proporcionados por nuestro agente Net-SNMP.
Caso II. Aplicaciones con agentes SNMP propietarios. Oracle RDBMS A continuación, se va a ilustrar el uso de las aplicaciones SNMP proporcionadas por NetSNMP de forma que, mediante la configuración adecuada del agente propietario del servidor RDBMS Oracle, conocido como Oracle Intelligent Agent, pueda interactuar con nuestro agente SNMP. Oracle Intelligent Agent es un componente estándar de Oracle RDBMS 8/8i Enterprise Edition y puede ser adaptado como subagente SNMP para poder monitorizar las diferentes instancias de bases de datos ejecutadas sin el coste adicional que suponen sistemas de monitorización propietarios como BMC Patrol Agent. Las consideraciones recogidas aquí son válidas para una plataforma UNIX genérica, y no son exclusivas por tanto, de sistemas GNU/Linux.
Conceptos básicos y requisitos
El subagente SNMP Oracle Intelligent Agent es compatible con el protocolo SNMPv2c que escucha por defecto en el puerto 1161/ UDP y que implementa un MIB propietario de Oracle. Su actividad principal consiste en encapsular y enviar posteriormente la infor-
Linux+ 12/2006
A fin de posibilitar la interacción del subagente SNMP Oracle, necesitaremos un computador con los siguientes requisitos: •
Sistema operativo Unix-like; en este caso GNU/Linux, Oracle RDBMS 8.0.4 o 8i, Agente SNMP compatible con SNMPv2c, proporcionado por Net-SNMP.
• •
Listado 12. Configuración de las aplicaciones SNMP en fichero snmp.conf(5) # # Sysedge Concord SNMP Agent settings # mibs +DiagnosticsMonitor mibs +EMPIRE mibdirs +/home/u0f5cfs/.snmp/mibs defCommunity publicmon defVersion 1
práctica Monitorización de sistemas mediante software OpenSource •
Listado 13. Consulta del MIB Empire con resolución de OIDs $ snmpwalk hp00:1691 system EMPIRE::nodename.0 = STRING: "hp00" EMPIRE::cpu.0 = STRING: "9000/893" EMPIRE::memory.0 = INTEGER: 2096128
Verificar la existencia de un listener Oracle que opere como servidor TCP en el puerto 1521 por defecto. Ello puede ser realizado de dos formas distintas, bien sea utilizando el software Oracle Net*8 $ lsnrctl status
EMPIRE::hostid.0 = STRING: "152b29e7"
o bien con el comando netstat(1):
EMPIRE::osver.0 = STRING: "A"
$ netstat -a | grep 1521
EMPIRE::osrel.0 = STRING: "B.10.20"
*.1521 *.* 0 0 0 0 LISTEN
EMPIRE::devIndex.1 = INTEGER: 1
sun22.49553 sun22.1521 32768
EMPIRE::devIndex.2 = INTEGER: 2
0 32768
EMPIRE::devIndex.3 = INTEGER: 3
sun22.1521 sun22.49553 32768
EMPIRE::devIndex.4 = INTEGER: 4
0 32768
..........
•
EMPIRE::systemType.0 = INTEGER: hpux10Parisc(7) EMPIRE::system.13.0 = Timeticks: (11758128) 1 day, 8:39:41.28 EMPIRE::system.14.0 = STRING: "sysedge hp00 HP-UX B.10.20 152b29e7152b29e7 4.1 Patchlevel 3" EMPIRE::system.16.0 = ""
•
EMPIRE::system.17.0 = INTEGER: 1 EMPIRE::system.18.0 = STRING: "MET" EMPIRE::system.19.0 = STRING: "10.15.192.11" EMPIRE::system.20.0 = STRING: "hp00.mydomain.osi" EMPIRE::system.21.0 = ""
•
EMPIRE::system.22.0 = STRING: "/" EMPIRE::system.23.0 = STRING: "topprocs"
La configuración de un subagente SNMP para interactuar con un agente genérico requiere la realización de dos tareas básicas; la primera, adaptar el subagente SNMP que en el caso de Oracle Intelligent Agent debe ser ejecutado por un usuario con rol de DBA y la segunda, gestionar el agente SNMP, lo que requiere privilegios de superusuario.
subagente SNMP en el nodo SUN22, que ejecuta Oracle RDBMS bajo el sistema operativo Solaris y que se vinculará con nuestro agente Net-SNMP según el siguiente procedimiento: •
Proceso de configuración
En primer lugar, vamos a centrarnos en la configuración de Oracle Intelligent Agent como • Listado 14. Extracto del fichero CONFIG.encap AGENT AT PORT 1161 WITH COMMUNITY public SUBTREES 1.3.6.1.2.1.1, 1.3.6.1.2.1.2, 1.3.6.1.2.1.3, 1.3.6.1.2.1.4, 1.3.6.1.2.1.5, 1.3.6.1.2.1.6, 1.3.6.1.2.1.7, 1.3.6.1.2.1.25, 1.3.6.1.2.1.39, 1.3.6.1.2.1.2021, 1.3.6.1.2.1.8, 1.3.6.1.4.1.11.2 FORWARD ALL TRAPS;
Identificar el fichero de configuración del agente SNMP proporcionado por Net-SNMP, ubicado en este caso en /etc/ snmp/snmpd.conf con soporte para el protocolo SNMPv2c. Con un usuario con rol OSDBA modificar el fichero CONFIG.encap ubicado en el subdirectorio network/snmp insertando dos nuevas líneas entre las lineas correspondientes a los OIDs 1.3.6.1.2.1.7 y 1.3.6.1.2. 1.8 de forma que el fichero resultante quede como se muestra en el Listado 14.
0 ESTABLISHED
A continuación, verificar la existencia de un rol SNMP para usuarios DBA utilizando el cliente SQL*Plus de Oracle realizando una búsqueda en la tabla dba_roles según el Listado 16. Adaptar el script start_peer estableciendo las variables de entorno SNMPD y SNMPD_CONF a nuestro agente SNMP y su correspondiente fichero de configuración. Cambiar los permisos a los ficheros encap_peer, master_peer y start_peer, ubicados en el subdirectorio network/snmp/peer bajo la variable de entorno ORACLE_ HOME. $ chmod +x encap_peer master_peer start_peer
Es posible utilizar también Oracle Intelligent Agent como agente SNMP principal estableciendo en el script start_peer la variable de entorno SNMPD a /dev/null. Una vez configurado el subagente SNMP Oracle, es el momento de pasar a la configuración del agente SNMP principal. Para ello, deben seguirse los siguientes pasos: •
Estas líneas añaden una información sumamente útil para el manejo con los OIDs referi- • dos. •
0 ESTABLISHED
Configurar un script de parada/arranque del agente SNMP como el que figura en el Listado 17 conjuntamente con el subagente Oracle, lo que requiere hacer que el superusuario tenga conocimiento del entorno utilizado por Oracle RDBMS. Opcionalmente, automatizar el procedimiento de parada/arranque proporcionado por este script de acuerdo con las especificaciones BSD o AT&T System V Release 4, según la distribución GNU/Linux utilizada.
Editar el fichero CONFIG.master, ubicado también en el subdirectorio network/snmp y cambiar la dirección IP por la correspondiente al nodo que debe recibir las traps SNMP. Es posible, aunque no recomen- Pruebas y resultados. Gestión dable para la autentificación, modificar el pública del MIB Oracle nombre de la comunidad empleada. El re- La comprobación de resultados es muy sencisultado es en este caso recogido en el Lis- lla mediante la utilización de un computador tado 13. como estación de red que contenga las herra-
www.lpmagazine.org
41
práctica Monitorización de sistemas mediante software OpenSource
Listado 15. Extracto del fichero CONFIG.master COMMUNITY public
-IR oraListenerMIB .1.3.6.1.4.1.111.5 así como recuperar un conjunto de variables SNMP adscritas a estos MIBS
ALLOW ALL OPERATIONS
utilizando snmpwalk(1).
USE NO ENCRYPTION
$ snmpwalk -m +ORADB-MIB -m
MANAGER 192.168.1.2 SEND ALL TRAPS
Listado 17. Script de parada y arranque del agente SNMP Oracle/Net-SNMP #!/bin/sh killproc() {
+ORALISTENER-MIB \ remote_hostname public enterprises
pid=`/usr/bin/ps -e |
.oracle.oraDbMIB
/usr/bin/grep -w $1 |
mientas de usuario Net-SNMP para realizar Gestión de traps SNMP Oracle operaciones SNMP. La captura de los traps emitidos por el subagente SNMP Oracle requiere el conoci$ snmpwalk hostname public miento de la dirección IP de nuestra estación .1.3.6.1.4.1.111 de red, que debe ser incluida en el fichero CONFIG.master como se ha visto con antelaLa salida de este comando, produce un con- ción, así como arrancar en la estación de red el junto de líneas. Sería deseable poder operar demonio snmptrapd(8) para escuchar el tráfico con mnemónicos en sustitución de los OID UDP en el puerto 162 de la siguiente forma: numéricos.
Gestión del MIB público Oracle De cara a lograr una funcionalidad completa, sería deseable operar con los mnemónicos asociados a los OID numéricos de Oracle Intelligent Agent. Afortunadamente, las especificaciones ASN.1 de los MIB públicos de la mayoría de proveedores software y hardware está disponibles en Internet en sitios como http://smurflan d.cit.buffalo.edu/ftp/pub/mibs. En este caso, necesitamos disponer de las especificaciones de los MIB ORADB-MIB y ORALISTENER-MIB, que controlan la casi totalidad de variables y entidades lógicas manejadas por el servidor Oracle. A fin de poder utilizarlos de forma plena, es necesario ubicarlos en el directorio $HOME/.snmp/mibs de nuestra estación de red, con lo cual, ya es posible verificar la resolución de los OIDs asociados con snmptranslate(1): $ snmptranslate -m +ORADB-MIB -IR oraDbMIB .1.3.6.1.4.1.111.4 $ snmptranslate -m +ORALISTENER-MIB
Listado 16. Comprobación SQL*Plus del rol SNMP
# snmptrapd -Lsd
traphandle .1.3.6.1.6.3.1.5.1
*//' -e
[ "$pid" != "" ] && kill $pid } ORACLE_HOME=/ora00/app/oracle/ product/8.1.6 ORA_OWNER=oracle export ORACLE_HOME ORA_OWNER case "$1" in ${ORACLE_HOME}/network/snmp/ peer/start_peer -a sleep 2 su - $ORA_OWNER -c "${ORACLE_ HOME}/bin/lsnrctl dbsnmp_start" ;; 'stop') killproc snmpd
page_
killproc encap_peer
me up
killproc master_peer
traphandle .1.3.6.1.4.1.2021.251.1 page_me up traphandle .1.3.6.1.4.1.2021.251.2 page_me down log_it
y una vez que estas entradas han sido guardadas, y el demonio snmptrapd(8) reiniciado, se pueden utilizar como comandos externos scripts como el indicado en el Listado 18. Con ello, es posible comprobar el funcionamiento de las traps SNMP proporcionadas de forma indirecta por el subagente SNMP Oracle Intelligen Agent. Probemos con un hipotético fallo en la autentificación SNMPv2c: $ snmpwalk -m +ORADB-MIB m +ORALISTENER-MIB sun22
$ sqlplus sys
enterprises.oracle
SQL> select role from dba_roles
que produce el siguiente resultado:
where role='SNMPAGENT'; 2005-10-17 19:54:03 sun22 ROLE
[10.15.192.13] TRAP, SNMP v1, \
------------------------------
Community public enterprises.442.1.1
SNMPAGENT
.105.3 \
SQL> exit
Authentication Failure Trap (0) Uptime: 1:24:24.66
42
/usr/bin/sed -e 's/^ 's/ .*//'`
'start')
para visualizar las traps SNMP mediante el demonio syslogd(8). La asociación de una trap SNMP con un comando externo mediante la directiva traphandle en el fichero de configuración snmptrapd.conf(5) puede realizarse en la forma indicada a continuación:
traphandle default
# kill the named
process(es)
Linux+ 12/2006
;; *) echo "error: usage $0 (start | stop | restart)" ;; esac
cada vez que repetimos el comando snmpwalk(1) fallido. De este modo concluimos nuestro estudio sobre el uso de los protocolos SNMP para la monitorización de bases de datos Oracle. Las consideraciones recogidas pueden extrapolarse para la monitorización de cualquier aplicación o servicio que incorpore soporte de los protocolos SNMP.
Más allá de SNMPv2c. El protocolo SNMP versión 3
Quizá el mayor problema planteado por las actuales implementaciones de protocolo SNMP estriba en la utilización de las comunidades SNMPv2c sin encriptación de ningún tipo, lo que las hace vulnerables a ataques de sniffing. También, un gran número de implementaciones son vulnerables a los desbordamientos de buffer como el descrito en http://www.cert.org/ advisories/CA-2002-03.html, lo que no es del
práctica Monitorización de sistemas mediante software OpenSource
Terminología y acrónimos • • •
• • • • • • • •
AgentX - Extensible SNMP Agent descrito en RFC 2741, API - Application Program Interface, ASN.1 - Abstract Syntax Notation One es un lenguaje concebido para la descripción de mensajes para su intercambio y empleado en la descripción de MIB, IANA - Internet Assigned Numbers Authority http://www.iana.org, IETF - Internet Engineering Task Force, MIB - Management Information Base, PDU - Portable Data Unit, RDBMS - Relational Database Management Server, RFC - Request For Comments, SMI - Strucutre of Management Information, SMUX - SNMP Multiplexing Protocol, recogido en RFC 1227, SNMP - Simple Network Management Protocol.
o engine SNMP y la aplicación SNMP tal y como se muestra en la figura adjunta: El motor o engine SNMP consta de cuatro componentes lógicas, descritas a continuación: • •
• •
Dispatcher. Envía y recibe mensajes Message Processing Subsystem, prepara mensajes y extrae datos de mensajes recibidos. Security Subsystem, integrado por USM, community-based security model y otros. Access Control Subsystem, determina si el acceso a un objeto debe o no ser permitido. El único modelo definido es View Access Control Model (VACM).
Las aplicaciones SNMP por otra parte, generan comandos, proporcionan acceso a los datos gestionados, inician o reciben traps o informes SNMP y redirigen mensajes (SNMP proxy
forwarding) entre diferentes entidades SNMP. SNMP versión 3 proporciona un modelo • de seguridad basado en usuario que garantiza la privacidad, a pesar de los continuos procesos de revisión a los que ha estado socaso con Net-SNMP, de ahí que la utilización metido y muchos dispositivos ni siquiera lo de los protocolos SNMP requiere una solución soportan. En cualquier caso, si no es posibde compromiso entre seguridad y monitoriza- le migrar a SNMP versión 3, se recomiención. da: El protocolo SNMP versión 3 no es más que una instanciación del marco de ges- • Desactivar los agentes SNMP en dispositión SNMP definido en RFC 2271 que mejotivos no monitorizados. ra las versiones precedentes en dos aspec- • Elegir nombres de comunidad no triviatos fundamentales: administración y segules. ridad. • Bloquear el acceso externo a los puertos Hasta SNMPv2c, se hablaba de agentes SNMP usuales: 161 y 162 así como los y gestores o managers SNMP; conceptos que utilizados por dispositivos externos, coen la nueva versión se sustituyen por el genémo 1983 para enrutadores y switches Cisrico entidad SNMP, integrada por un motor co. • Montar conexiones encriptadas VNP Listado 18. Ejemplo de comando externo para el o túneles SSL en operaciones SNMP podemonio snmptrapd(8) tencialmente peligrosas. • Configurar el acceso a los agentes SN#!/bin/sh MP únicamente para los servidores que participen en el proceso de monitorizaread host ción.
a la monitorización y auditoría de equipos y dispositivos de comunicaciones. Debido a la escasa difusión que encuentra entre ellos la versión SNMPv3, se ha optado por centrar el artículo en las versiones anteriores y más concretamente en SNMPv2c; todo ello, desde el punto de vista de administración de sistemas y cubriendo un tratamiento más amplio que el tradicionalmente asignado a estos protocolos para la gestión de redes TCP-IP, que incorpore el tratamiento de aplicaciones y servicios. Por ello, el lector que desee completar sus conocimientos desde un enfoque de desarrollo de aplicaciones, puede encontrar abundante documentación sobre el API y los módulos Perl proporcionados por el proyecto Net-SNMP en las referencias indicadas al término.
En la red •
•
•
•
•
•
read ip vars=
while read oid val; do if [ "$vars" = "" ]; then vars="$oid = $val" else vars="$vars, $oid = $val" fi done echo trap: $1 $host $ip $vars
Téngase en cuenta que el protocolo SNMP puede proporcionar una ingente cantidad de información sobre un servidor o dispositivo sin necesidad de acceso directo, lo que puede ser utilizado con propósitos dañinos.
Resumen
En el presente artículo se han descrito los fundamentos y operaciones básicas ofertadas por los protocolos SNMP y su aplicación
www.lpmagazine.org
•
•
•
Site del proyecto Net-SNMP de la Universidad de California Davis: http://www.net-snmp.org Implementación multihebra del motor SNMPv3 de acuerdo con RFC 3410 a 3415: http://www.sourceforge.net/projects/ opensnmp http://netsnmpj.sourceforge.net – Implementación Java de agentes SNMP con soporte ActiveX, http://www.mibdepot.com – Motor de búsqueda de especificaciones de MIB públicos de una gran cantidad de proveedores como Cisco, Oracle, Empire y otros, Site del proyecto Multirouter Traffic Grapher, dedicado a la monitorización de dispositivos de red mediante el protocolo SNMP: http://oss.oetiker.ch/mrtg Site de Cheops Network User Interface, que proporciona una visión de la red similar a un gestor de ficheros con soporte SNMP: http://www.marko.net/cheops RFC1155 An Architecture for Describing SNMP Management Frameworks: http://www.faqs.org/rfcs/rfc2271.html Herramienta para la monitorización de dispositivos con soporte SNMP: http://snmpmon.sourceforge.net Site de la compañía Concord Communications, Inc: http://www.concord.com
43
linux en la empresa SAP en entornos GNU/Linux
SAP en entornos GNU/Linux Joan Ribas Lequerica
linux@software.com.pl
En ocasiones podemos pensar que los sistemas GNU/Linux pueden estar poco implantados en los entornos empresariales, o que si se utilizan son más bien en entornos de pruebas o como simples servidores Web. Nada más lejos de la realidad, GNU/Linux se ha ido haciendo un hueco en entornos productivos y para tareas tan críticas como la planificación de recursos de una empresa. Aquí se presentará el caso de SAP, la empresa que actualmente es la número uno en ventas de software de gestión empresarial.
44
E
n este primer artículo se realizará la presentación de la empresa, de alguno de sus productos y se hará una reseña de su relación con el mundo GNU/Linux, en un segundo artículo más técnico, se explicará cómo instalar y el funcionamiento de parte de su software. Todas las empresas necesitan gestionar sus procesos de negocio, sean del sector y tamaño que sean. A lo largo de la historia han surgido distintas herramientas para poder realizar una gestión ágil y fiable: desde los ya desaparecidos contables con sus lápices y libretas, pasando por las primeras máquinas sumadoras, las primeras hojas de cálculo hasta llegar a los sistemas de gestión integral que existen en la actualidad. Un sistema de gestión integral cubre todos los procesos empresariales de la compañía habitualmente mediante una solución modular integrada (módulo de finanzas, ventas, compras, producción, almacenes, recursos humanos, calidad, etc.). Cuanto mayor sea el tamaño de la empresa, y en consecuencia el volumen de información a gestionar, más necesario es disponer de una solución de estas características
Linux+ 12/2006
pues implícitamente nos resuelve problemáticas como la disponibilidad y consistencia de la información.
Desarrollos a medida versus Software estándar
Hace un par de décadas en el mercado tan sólo existían herramientas de desarrollo que permitían a las empresas construirse sus propias aplicaciones a medida. Conforme estos desarrollos propietarios iban creciendo se transformaban en un “ente” de difícil trato pues los cambios/correcciones eran costosos de aplicar (sólo una o dos personas conocían realmente cómo funcionaba y estaba hecha la aplicación, no se disponía de herramientas de control de versiones ni bugs y tampoco existían los recursos de in-
Sobre el Autor El autor trabaja desde hace varios años en la empresa Realtech como consultor senior centrándose en las áreas de movilidad e integración Netweaver. Para contactar con el autor, escribid a la dirección: joan.ribas@realtech.com
linux en la empresa SAP en entornos GNU/Linux
Sobre el artículo Este artículo explica... •
Aplicaciones empresariales SAP y su relación con el mundo Linux
Lo que hay que saber... •
Arquitectura de tres capas
formación que actualmente existen en Internet). Hay que tener presente que todas las organizaciones se encontraban más o menos en esta tesitura cuando a una serie de empresas de software se les ocurrió la siguiente idea: reutilizar y configurar. Es decir, que la misma aplicación de gestión financiera podría servir Figura 2. Consola de trabajo de SAP en 1997 a todas las empresas con ligeros cambios de configuración. Día a día, SAP genera nuevos programas
SAP A.G. – líder mundial entre los fabricantes de software de gestión empresarial
SAP (Sistemas Aplicaciones y Productos) es la tercera empresa de software del mundo, por detrás de Microsoft y Oracle, y la número uno en software de gestión empresarial.
Historia SAP A.G. fue fundada en 1972 en Walldorf (Alemania), y actualmente cuenta con más de 36 000 empleados en todo el mundo. En el año 2000 se crea la llamada SAP University donde se enseñaba el funcionamiento de sus programas, el proyecto fue de tal éxito que actualmente existe la SAP University Alliance que aglutina a más de 600 universidades y 160 000 alumnos con programas que integran cursos específicos sobre SAP.
y funcionalidades para los existentes, además de dar soporte mundial, para ello cuenta con varios centros de desarrollo y mejora de aplicaciones a lo largo de todo el mundo, entre los que se pueden destacar los de EE.UU., Canadá, India, Japón y por supuesto Alemania. SAP lanzó al mercado su primer producto llamado RM/1 (Real time Material management), al que sucedió SAP R/2 (Real time /2-tier), primer producto del mercado que ofrecía una solución en tiempo real sobre mainframe para la gestión integrada de finanzas, producción, logística y recursos humanos. En 1992 SAP lanzó al mercado SAP R/3 (Real time / 3-tier), que fue la primera solución de gestión empresarial integrada (ERP, Enterprise Resource Planning) construida sobre una arquitectura cliente/servidor a tres niveles: Base de Datos, Servidor de Aplicaciones y Capa de Presentación. (ver Figura 2)
Figura 1. Capas de arquitectura
www.lpmagazine.org
El Servidor de Aplicaciones SAP se llamaba SAP BASIS en sus primeras versiones y es a este nivel donde se ejecuta toda la lógica de proceso, actuando la base de datos como mero gestor de almacenamiento. El software cliente recibió el nombre de SAPGUI (Graphical User Interface). SAP creó también su propio lenguaje de desarrollo llamado ABAP (Advanced Business Application Programming Language, anteriormente Allgemeiner Berichtsaufbereitungsprozessor, procesador genérico para la preparación de informes en alemán) y con el que construyó todos sus módulos de gestión, creando así una forma de extender la funcionalidad del entorno independiente de la plataforma. Posteriormente y durante la burbuja .com SAP lanzó al mercado una suite de soluciones, mySAP.com, compuesta por su producto estrella SAP R/3 y una serie de soluciones especializadas como mySAP CRM (Customer Relationship Manager), mySAP APO (Advanced Planner and Optimizer), mySAP BIW (Business Information Warehouse) y sus primeros productos de carácter tecnológico con el mySAP Workplace (la primera solución de portal empresarial de SAP) y mySAP Marketplace (solución de marketplaces para escenarios B2B, subastas, licitaciones, etc...). En la actualidad el portafolio de soluciones SAP se divide en dos grandes áreas: tecnología y procesos de negocio. Como solución de tecnología ofrece su plataforma SAP Netweaver y como soluciones de gestión empresarial ofrece mySAP Business Suite compuesta por un total de 5 soluciones y disponible para más de 25 sectores.
45
linux en la empresa SAP en entornos GNU/Linux un Servicio de Soporte con centros a lo largo de todas las zonas horarias, que incluye Hot Line, base de datos de notas técnicas y Servicios preventivos (safeguarding) y de optimización. Fidelizar a los clientes mediante la creación de Asociaciones de usuarios SAP (AUSAPE en España) por país a los que se habilita una línea directa de peticiones de nuevos desarrollos a incluir en futuras versiones –
•
Es por esto que cuando los sistemas GNU/ Linux, comenzaban a despuntar como futuro tecnológico en las empresas, no dejó escapar la posibilidad de portar sus aplicaciones a esFigura 3. Ingresos de SAP en los últimos años tos sistemas y actualmente podemos enconCuota de mercado tener la plataforma certificada que mejor ben- trar entornos productivos sobre las distribuUn reciente estudio de Gartner Group sitúa a chmarking ha obtenido. Ejemplos de estos ciones Linux más comunes en las empresas. SAP como la número 1 del mercado de CRM, benchmarks pueden encontrarse en la propia Además, gracias a la estrategia y política ERP and Supply Chain (SC) con una cuota de mercado mundial del 26% de CRM, 29% de ERP y 19% de SCM. La cifra de negocio que se mueve en proyectos alrededor de soluciones SAP es, lógicamente, muy superior, lo que nos da una idea del peso específico que tiene en el sector tecnológico. Otro dato remarcable que refleja el poder de SAP es que los fabricantes de hardware más importantes han creado sus propios departamentos de Soporte y Consultoría para clientes que utilizan sus servidores en la explotación de sistemas SAP. Y es que para garantizar la perfecta interoperabilidad entre los productos de SAP y las distintas máquinas y arquitecturas existentes, SAP ha creado un proceso de Certificación y Benchmarking de plataformas (hardware + Sistema Operativo + Base de Datos), por lo cual, ya podemos irnos haciendo a la idea, que no podremos instalar un servidor SAP en cualquier distribución Linux. Para la realización de los Benchmarkings (tests de rendimiento) se ha creado una unidad de medida propia, llamada SAPS, que permite medir la capacidad de ejecución de transacciones SAP por hora de un servidor. De esta forma las empresas clientes de SAP tienen a su disposición una información tan valiosa como qué máquinas están certificadas con SAP y qué rendimiento ofrecen (en términos SAP) bajo las plataformas en que se han realizado los test, para poder realizar una elección óptima del fabricante, del modelo y su configuración. Ni que decir tiene que todos los fabricantes, tanto de hardware como de Base de datos están muy interesados en
46
web de SAP (ver referencias).
Apuesta de futuro
SAP se ha caracterizado siempre por mantener una línea evolutiva marcada por las siguientes directrices: •
•
•
Ampliar el número de sus soluciones y la funcionalidad de las ya existentes mediante la liberación de nuevas versiones (aproximadamente con carácter anual) Innovar mediante la adopción de las tecnologías y estándares de mercado aplicables a los procesos de negocio en las nuevas versiones y soluciones Garantizar la calidad mediante: – la liberación continuada de correcciones de los errores reportados
de Upgrades de versión de SAP, sus clientes, tras actualizarse a las últimas versiones existentes, dispondrán de un sistema totalmente actualizado en cuanto al soporte de estándares y tecnologías (p.e.: soporte de la última versión de la base de datos, del sistema operativo, kernels, soporte de UNICODE, SOA, etc...). Para que nos hagamos una idea del tipo de proyecto que se está hablando cuando hablamos de proyecto de Upgrade de un sistema SAP, pueden tener una duración de al menos un par o tres meses y requiere de un equipo de proyecto de al menos 5 personas dependiendo de la funcionalidad implantada y es que los escenarios que se pueden encontrar en estos sistemas, están compuestos de varias máquinas y varias funcionalidades distribuidas.
Figura 4. Evolución de los servidores SAP hasta Netweaver
Linux+ 12/2006
linux en la empresa SAP en entornos GNU/Linux En la figura 4 puede verse la evolución de las principales tecnologías y protocolos soportados por el Servidor de Aplicaciones SAP, actualmente llamado SAP Netweaver Web Application Server (SAP WAS). De esta forma una empresa que comprara e implantara SAP R/3 en el año 98 dispondrá de un ERP con soporte de Web Services tras realizar un cambio de versión del mismo a la versión actual.
Solución tecnológica
aplicaciones usan ambas pilas, y es que la comunicación entre ellas mediante JCo es muy sencilla, ofreciendo así una flexibilidad única para su integración. Para trabajar con Linux nuevamente no tenemos ningún tipo de problemas, ya que SAP ofrece los servidores de sus soluciones (SCM, Portal, Mobile, Xi...) para este sistema operativo más aún, sus desarrollos se realizan en primera instancia sobre Linux y luego son portados al resto de sistemas operativos.
Como ya se ha comentado anteriormente, Capa de presentación SAP se basa en una arquitectura de tres ca- Anteriormente, SAP daba acceso a sus funpas, con funcionalidades perfectamente de- cionalidades, principalmente mediante un finidas. entorno gráfico llamado SAPGUI. Actualmente existen varias formas de comunicaBase de datos ción con los servidores, dependiendo de las Se utilizan para mantener todos los datos ne- aplicaciones o funcionalidades a las que se cesarios por el servidor de aplicaciones, des- quiere acceder, se utilizarán unas u otras. de los datos de un producto, hasta el código Además del conocido SAPGUI, ahora es
están en varios sistemas operativos distintos (se da sobre todo en empresas que se acaban de fusionar/comprar y aún no han unificado sus sistemas informáticos) operando perfectamente entre ellos.
SAP NetWeaver TM
...
People Integration Multi-Channel Access Portal
Collaboration
Information Integration
Business Knowledge Principalmente es donde se ejecutan los proIntelligence Management cesos de negocio, aunque estos servidores ofrecen más funcionalidad, como por ejemMaster Data Management plo ayudas a administración de los sistemas, backup, migraciones, etc. Una cualidad de estos servidores es que tienen que tener alta Process Integration escalabilidad, para lo que Linux se hace un Business Integration sistema idóneo. Actualmente, la plataforma Process Broker Netweaver (ya se verá en el siguiente punManagement to) de SAP comprende dos pilas de trabajo, la pila ABAP, que como su propio nombre Application Plattform indica, se encarga de procesar todos los programas realizados en este lenguaje, mantieABAP J2EE ne las autorizaciones del sistema, gestiona el sistema de transportes entre sistemas, el DB and OS Abstraction repositorio central ABAP..... y la pila J2EE en la que descansan aplicaciones como por ejemplo el portal. El hecho de tener dos pilas de trabajo no implica que trabajen de forma independiente, sino que muchas Figura 5. Esquema de integraciones Netweaver
www.lpmagazine.org
Solution Life Cycle Management
Servidor de aplicaciones
posible utilizar un navegador web, para acceder al portal, usar una PDA mediante SAP Mobile o incluso una Blackberry. En esta capa es donde SAP más peca de falta de funcionalidad hacia Linux. Aunque
Composite Application Framework
fuente a ejecutar para actualizar este producto. El número de bases de datos certificadas disponibles para trabajar con SAP es muy extenso, por ejemplo, para las instalaciones sobre Linux, es posible utilizar Oracle, DB2 o MaxDB (antigua SAPDB , anteriormente ADABAS y actualmente disponible desde la web de MySQL como open source). El cambio hacia una una base de datos MaxDB, produce un ahorro en el tamaño de la base de datos de entre un 30 y un 40%, mientras que el ahorro en costes se cifra en un 40%. En esta capa no existe ninguna limitación propiamente dicha para trabajar con sistemas GNU/Linux, siempre y cuando se trate de alguna de las distribuciones certificadas.
existe un SAPGUI realizado en Java, éste no proporciona todas las funcionalidades que proporciona el nativo de Windows, al igual que éste último ofrece una integración con Microsoft Office con macros especiales que sólo funcionan bajo esta suite de Microsoft. Otro ejemplo podría ser la movilidad. SAP ofrece herramientas de desarrollo y un runtime para hacer funcionar programas sobre PDA, este runtime está disponible para las Sharp Zaurus, pero no el entorno de desarrollo de estas aplicaciones, ni el emulador, por lo que se hace indispensable el uso de Windows. Debido a la arquitectura de tres capas utilizada, es posible encontrarse instalaciones en las que las bases de datos están sobre un sistema operativo, los servidores de aplicación en otro distinto y las presentaciones en otro. Incluso es posible encontrarse escenarios en los que los servidores de aplicación
WebSphere
NET
...
47
linux en la empresa SAP en entornos GNU/Linux parte de aplicaciones (sobre todo en la parte servidor), se desarrollan sobre Linux, y más tarde se portan hacia otros sistemas. En abril de 1999, SAP funda el LinuxLab, y su carrera ha sido fulgurante: en agosto de 1999, se realizan las primeras entregas a clientes, en octubre se obtiene el primer sistema productivo y en diciembre se libera totalmente el producto. Debido a que SAP necesita asegurar su funcionamiento sobre ciertas plataformas para entornos de producción, no es posible usar cualquier distribución (concretamente, sí es posible usar cualquier distribución, haFigura 6. Disponibilidad de los productos dependiendo de sistema operativo y base de datos ciendo algunos retoques, pero SAP NO da SAP Netweaver Plataformas soportadas soporte si no es una de las distribuciones cer– plataforma tecnológica Las plataformas soportadas son diversas, pe- tificadas), sino que deberemos utilizar una de de todas las soluciones SAP ro teniendo en cuenta que los servidores SAP las siguientes: Actualmente la solución de SAP a las nece- dependen activamente de las bases de datos, sidades empresariales, se denomina Net- no es posible montar sistemas con cualquier • Suse Linux EnterpriseServer weaver. Más que una solución de software, configuración, dependiendo del sistema ope(SLES 8 y SLES 9) es una filosofía que incluye software. La plataforma Netweaver está orientada a la integración de los procesos, de la información y de las personas, y envuelve una serie de software, servicios y tecnología perfectamente relacionados formando un todo. Mediante esta integración se reduce la complejidad de los escenarios empresariales más comunes. Una empresa no suele tener un sólo producto o una sola marca de software y si aún así fuera, con las fusiones y compras de otras empresas, esta homogeneidad se pierde. Lo más normal es encontrar escenarios en los que el sistema CRM es de un proveedor de software, el ERP de otro, el portal de otro..., el caos creado es considerable. Es posible que una persona necesite un dato de un programa y otro de otro, procesos entre los distintos productos, información compartida o duplicada... y lo peor es cuando hay que hacer cambios. Netweaver soluciona esto mediante un conjunto de piezas de software, basadas en estándares (como WebServices, XML...) de modo que su integración con otros softwares sea posible de forma sencilla. Además, existen dos piezas importantes para esta unificación, el Master Data Management (MDM), capaz de mantener datos unificados de distintas bases de datos (por ejemplo un usuario puede tener el número 33 para RRHH pero el 56 para otro sistema, MDM unifica estas bases) y el SAP XI, que es el EAI (enterprise application integration) de SAP, capaz de comunicarse mediante distintos protocolos con las aplicaciones ya existentes y enrutar mensajes entre ellas.
48
rativo, las bases de datos disponibles varían por lo que hay que tener en cuenta la disponibilidad de ellas. En la figura 7 es posible ver la tabla de disponibilidades actual. El hecho de comenzar en una plataforma concreta, no implica que se tenga que seguir en ella para siempre, ya que SAP ofrece herramientas para poder migrar de una plataforma a otra. El hecho que existan herramientas, no quiere decir que sea tarea sencilla, ya que pasar por ejemplo de una plataforma Windows SQLServer a Suse Linux con MaxDB, exige tener en cuenta cosas como que la codificación de los sistemas son distintos, posibilidad de uso de sistemas unicode..., son proyectos complejos que sólo pueden ser realizados por personal cualificado y certificado, ya que un error puede suponer pérdidas de datos.
• •
Red Hat Enterprise Linux (RHEL 3 y RHEL 4) Red Flag (versión 4.1) (Distribución de origen chino)
Lo mismo ocurre con las bases de datos, no es posible trabajar con cualquier base de datos en entornos productivos, sino que SAP indica qué bases de datos (y qué versiones) se pueden utilizar con cada sistema operativo. En el caso que nos ocupa, las bases de datos disponibles son IBM DB2, MaxDB (algunas instalaciones se puede encontrar como SAPDB) y Oracle. En cuanto al hardware certificado para su uso, nos encontramos con una amplia gama de fabricantes, y esto es algo que buscan muchos de los que realizan sus migraciones de sistemas Unix hacia Linux, y es la indeLinux pendencia entre el hardware y el sistema Linux ha ido ganándose un puesto de honor operativo. Entre los fabricantes certificados dentro de SAP, hasta el punto que la mayor encontramos:
Figura 7. Uptime de uno de los sistemas de formación SAP de la empresa Realtech
Linux+ 12/2006
linux en la empresa SAP en entornos GNU/Linux mas de formación de Realtech, sobre los que se realizan varios cursos todas las semanas. Como ejemplo de todo lo que hemos contado, algunas empresas para las que hemos realizado migraciones a plataformas Linux son: Groth gruppe: SAPDB sobre Red Hat Enterprise Linux, Oxford University Press: MaxDB sobre Suse Linux Enterprise Linux (150 Gb de base de datos), Miró: Oracle sobre Red Hat Enterprise Linux.
• •
•
Conclusiones
Como hemos podido ver a lo largo del artículo, Linux está más que preparado para su uso para tareas críticas en entornos empresariales, más concretamente en el caso de
Figura 8. Asociación de usuarios de SAP España • • • • • • •
SGI HP UNISYS IBM Sun DELL Fujitsu Siemens
A la hora de realizar una migración a entornos Linux/MaxDB, la dirección se enfrenta a las siguientes preguntas:
la mayoría de clientes no comienzan con una instalación desde cero, sino que se producen migraciones de una plataforma (bien sea Windows o Unix) hacia Linux, por lo que existirán unos gastos adicionales por la migración en sí de los datos. A partir de esto, para las estimaciones de una migración hacia un sistema Linux con MaxDB, se debe tener en cuenta la compra de hardware nuevo (acorde también con la base de datos que se tenga pensado utilizar, ya que no es lo mismo usar un Oracle que una MaxDB), los costes propiamente dichos del proyecto de migración entre plataformas y la formación tanto en Linux como la de administración de MaxDB. Para este caso, se calculó:
¿Tenemos disponibles las aplicaciones que necesitamos? • ¿Pueden adaptarse completamente a nuestras necesidades? • Estas soluciones, ¿están dentro de nuestro presupuesto? • Servidor nuevo: 45 560, • ¿Puede nuestro personal de IT asumir la • Costes de migración: 25 200, administración de los nuevos sistemas? • Formación Linux + MaxDB: 3000. • ¿Quién da soporte a las aplicaciones? Si en lugar de esto hubieran mantenido la Como hemos dicho anteriormente, SAP en plataforma con la que contaban, y hubieran cuanto a servidores tiene disponible toda su realizado un upgrade de la misma, los cálcugama para plataforma Linux, es escalable, los eran de: barato, es semejante en la administración a otros Unix y el propio SAP da soporte a es- • Licencias de bases de datos 120 480, tas distribuciones, por lo que no existe nin- • Upgrade de servidor + sistema operativo : gún tipo de problema. ¿Qué más se puede 91 050. pedir? Para ver como puede encajar un pro- Lo que suponía un ahorro de 140 470 euros! yecto de migración en el presupuesto de Aparte de los ahorros que se puedan una empresa, vamos a utilizar datos de un obtener, hay otra cosa a tener en cuenta caso real (está claro que cada caso conforma y es el uptime del sistema, es decir, el tiemun escenario único con precios únicos, pero po que hace que no se reinicia la máquina, este ejemplo puede servir como patrón). Lo el cual suele incrementarse. En la figura 7 primero que hay que tener en cuenta es que puede verse el uptime de uno de los siste•
www.lpmagazine.org
SAP, su uso se puede decir que está hasta recomendado. Nos encontramos eso sí, nuevamente con problemas en la capa de presentación, en el escritorio del usuario final, en el que existe falta de funcionalidad o de opciones al compararse con las aplicaciones disponibles para entornos Windows. Aún así, día a día se van añadiendo nuevos programas realizados en Java para poder dar la misma funcionalidad en distintos sistemas operativos. En un próximo artículo más técnico, veremos alguna de estas aplicaciones y su posibilidad de uso desde Linux.
En la Red • •
•
• • • •
Web oficial de SAP: http://www.sap.com/ BenchMarks de SAP: http://www.sap.com/solutions/ benchmark/index.epx Web de SUSE Linux Enterprise Server: http://www.novell.com/linux/ Web de Red Hat Enterprise Linux: http://www.redhat.es/software/rhel/ Web en inglés de Red Flag Linux: http://redflag-linux.com/eindex.html Web oficial de Realtech: http://www.realtech.com/ Web de la Asociación de usuarios de SAP España: http://www.ausape.es
49
software Juegos sección llevada por Francisco I. García Millán
Vendetta Online
Wormux
S
W
y todo cuanto imaginemos para sumergirnos en la piel de un
ormux es la versión libre del clásico juego Worm, donde unos gusanos se dedican a matarse los unos a los otros con toda clase de armas y a cada cual más surrealista que la anterior. Es un juego dividido en turnos por tiempo, donde hay dos o más equipos que tienen como objetivo eliminar a todos los miembros del otro equipo. Cada vez que le toca el turno a uno de nuestros soldados podremos movernos por el escenario con el objetivo de tener el mejor punto de mira para acabar con nuestro rival, para esto disponemos de todo tipo de armas desde pistolas, lanzamisiles... hasta un Super Tux que volará y explotará al impactar contra el enemigo. Para disparar deberemos calcular
Vendetta online: Hazte un contrabandista espacial
Wormux: La guerra reducida a la locura
piloto espacial. La jugabilidad por su parte es otro de sus puntos fuertes, ya que en un par de horas podemos dominar todos los entresijos de nuestra nave, siendo muy recomendable la utilización
la distancia, el ángulo de inclinación, la potencia de disparo y la resistencia del viento.
de un joystick. El punto más flojo del juego es el sonido, donde los efectos sonoros son correctos pero la música resulta un tanto
miembros del equipo rival, cada miembro posee una barra de vida que irá disminuyendo con los impactos o muriendo directamente si
pobre. En este MMORPG nos encontraremos con combates espaciales contra otros jugadores y NPCs, la posibilidad de comerciar
caemos fuera del escenario. La jugabilidad es buena siendo muy similar a la del juego
y transportar productos de una punta de la galaxia a otra, recibiendo mayores retribuciones económicas dependiendo de la es-
gráficos son muy coloridos y generalmente detallados habiendo un
casez del producto en la zona. Con los recursos que obtengamos de nuestros negocios podremos mejorar nuestra nave o comprar otros modelos más potentes, la variedad de éstos es bastante am-
generan automáticamente. El sonido es correcto pero no destaca en
plia. Al empezar tenemos un tutorial, eso si en inglés, que nos irá guiando a través de los distintos entresijos del juego, que a simple
versión final, ya que los desarrolladores sacan nuevas versiones de este juego cada poco tiempo.
eguro que a más de un fan de Star War le encantaría poder emular a Han Solo y ser capitán de su propia nave espacial. Vendetta
Online combina todos estos elementos y más. Este juego combina elementos de shooter, MMORPG y simuladores espaciales, en este aspecto recuerda al clásico de PC: X-Wing. El juego nos plantea un Universo en el que existen tres grandes facciones y cada una compite por controlar el espacio y tener más poder. Podemos escoger entre ser un rico capitán de industria, un héroe militar o un fugitivo de la ley. Los gráficos son impresionantes, en nuestro camino nos encontraremos auténticas fortalezas espaciales, asteroides, planetas
vista puede parecer simple, engloba en realidad muchísimas posibilidades. El echo de poder añadir y quitar a placer componentes a nuestra nave será del agrado de todos aquellos amantes del tuning.
original, aunque es uno de los temas que aún están por pulir. Los buen número de paisajes en los que jugar, mientras que los mapas se ningún aspecto, siendo la música su punto más débil. Todo esto es normal ya que a pesar de estar muy avanzado el juego aún no es la
Se echa en falta un modo multijugador online, el cual probablemente sea añadido en las futuras versiones de éste. Este juego es recomendable para todos los nostálgicos y a quienes les guste pasar un buen rato en compañía: en este juego las risas y la diversión está asegurada.
En la página oficial podremos encontrar para la descarga una
Este juego puede ser descargado de forma gratuita es su página
versión trial del juego, disponible para las plataformas Linux, Mac OS X y Windows.
oficial, también podemos encontrarlo en los repositorios de nuestras
http://www.vendetta-online.com/
http://www.wormux.org/wiki/es/index.php
NOTE
jugabilidad gráficos sonido
50
Un jugador ganará la ronda cuando consiga eliminar a todos los
«««« ««««« «««
distribuciones.
NOTE
jugabilidad gráficos sonido
Linux+ 12/2006
««« «««« ««
software Juegos
sección llevada por Francisco I. García Millán
Savage: The Battle For Newerth
The Mana World
Savage: Entra en la lucha con la naturaleza
The Mana World: MMORPG con gráficos clásicos.
E
ste pasado mes de septiembre S2Games sorprendió publicando Savage: The Battle For Newerth como freeware. Este juego multijugador tiene una capacidad de hasta 64 jugadores dentro del mismo servidor, cantidad nada despreciable. Dicho juego tiene un concepto innovador en su planteamiento, ya que mezcla a la perfección los elementos de un clásico shooter con los de un juego de estrategia en tiempo real. En cada partida hay dos bandos: los Humanos y las Bestias. Los Humanos serán la raza civilizada, que tiene como principales bazas para la lucha el control de las ciencias y tecnologías, mientras que las Bestias contarán con el apoyo de la naturaleza y de la magia.
T
he Mana World es un MMORPG libre, para los que no estén familiarizados es necesario aclararles que es un juego de rol, donde tu creas un personaje y éste evoluciona a gusto del jugador. Todo esto se ha hecho común en los últimos años en la mayoría de los juegos, aunque lo que más destaca de este juego es que nos permite jugar online con millones de personas de todo el mundo. Muchos juegos siguen esta línea en los últimas años gracias al mayor crecimiento de las conexiones ADSL o de cable, lo que más atrae de estos juegos es la posibilidad de jugar con amigos o conocer a gente jugando, es normal que dentro de estos juegos se formen clanes, alianzas de varios jugadores que cooperan por un objetivo común; incluso hay juegos en los que se celebran bodas y entierros virtuales,
Al comenzar la ronda se designa un comandante por cada equi-
juegos como Ultima Online llevan años haciendo las delicias de mi-
po, éste tomará el control del ejército siendo el planteamiento del juego similar al de cualquier juego de estrategia en tiempo real, su misión será administrar los recursos disponibles, mejorar la base de
llones de jugadores en todo el mundo. La estética de este juego recuerdo a juegos de rol de la época de Super Nintendo, los gráficos son algo secundarios, y no encontrareis
su equipo para dar ventajas a sus tropas y dirigirlas en la batalla. Mientras que si juegas como unidad del ejército, el planteamien-
nada en 3D, simplemente sprites muy coloristas y muy detallados. En cuanto a la jugabilidad es muy simple como el resto del
to será similar al de cualquier shooter, con la perspectiva en tercera persona controlaremos a nuestro soldado que deberá defender su propia base, atacar la base enemiga y enfrentarse a las tropas ene-
juego, de niños a mayores podrán jugar a este juego sin apenas dificultades para su manejo, el sonido es muy simplista al igual que los efectos sonoros, aunque cumplen su misión de forma correcta.
migas. Para ello cuenta con armas cuerpo a cuerpo y a distancia, como espadas y arcos, también contarás con la ayuda de vehículos. Lo más destacable es que nuestra unidad puede mejorar obteniendo
Para jugar tan sólo debemos registrar un nombre de usuario que previamente no exista y una contraseña, elegir el servidor, el cual dispone de una estupenda conexión y por último generar nu-
experiencia en el campo de batalla, pudiendo evolucionar nuestro personaje, aumentando así su capacidad y potencia de ataque, defensa e incluso su tamaño.
estro personaje con el nombre y la apariencia que deseemos y a jugar. El objetivo de este juego es descubrir todo los rincones del am-
Los gráficos tienen buena calidad, siendo mapas amplios, donde predomina la vegetación. La jugabilidad es buena y una vez que nos acostumbremos al control podremos disfrutar de combates
plio mundo que se nos presenta para recorrer e investigar, así como mejorar las características de nuestro personaje, donde no hay un final, siempre podremos avanzar.
con armas blancas en campo abierto, así como de arcos o incluso hechizos de magia. Se espera en breve que salga a la luz la segunda
Este juego forma parte del proyecto GNU y a pesar de aun estar en una fase muy temprana de su desarrollo nos brinda la
parte de este gran juego, la cual contará también con soporte para el sistema operativo Linux, aunque de momento será una versión de pago.
posibilidad de descubrir todo un mundo virtual, además es multiplataforma podremos encontrarlo disponible tanto para Linux, Mac OS X o Windows.
http://www.s2games.com/savage/index.php
http://themanaworld.org/
NOTE
jugabilidad gráficos sonido
«««« «««« «««
NOTE
jugabilidad gráficos sonido
www.lpmagazine.org
««« «« ««
51
software Juegos sección llevada por Francisco I. García Millán
Cold War
Super-Tirititran
M
T
indware Studios decidió recientemente poner a disposición
la aparente paz que se ha establecido entre estas dos naciones. La historia será narrada mediante vídeos con una estética similar a la de los cómics. El desarrollo del juego es en tercera persona combinando la acción y la infiltración, teniendo que abrirnos camino a través de
res jóvenes gaditanos bajo el nombre de CaninoStudio han creado Super-Tirititran, un juego de naves espaciales similar al clásico Asteroids, pero con un planteamiento muy original. La ciudad de Cádiz ha sido atacada por el Profesor Bizcone, ha atemorizado a sus habitantes y ha alejado al turismo de esta milenaria ciudad, para acabar con esta injusticia la ciudad de Cádiz contará con la inestimable ayuda de un atípico héroe: Super Tirititran, quién luchará contra las hordas enemigas. Los lugares más conocidos y típicos de la ciudad de Cádiz, están presentes a lo largo del juego, como son la Catedral o la zona de la Galeta. El desarrollo del juego será similar al de cualquier juego de naves, en los que tendremos que eliminar todas las naves enemigas
Cold War: Investiga las intrigas del telón de acero
Super-Tirititran: La defensa de la ciudad de Cádiz
escenarios cerrados repletos de soldados armados y donde las
que se crucen en nuestro camino, así como sus proyectiles y algunos jefes finales, todo esto plagado de humor gaditano que no dejará
de los usuarios de Linux este juego que lleva paseándose por otras plataformas desde hace un año, y como se suele decir más vale tarde que nunca. Como su propio nombre indica, la historia retomará el enfrentamiento entre Estados Unidos y Rusia. En esta ocasión deberemos asumir el papel de un periodista que se ve envuelto en una oscura trama relacionada con la KGB y que intenta acabar con
sombras serán nuestra principal aliada. A nuestra disposición tendremos todo un arsenal y unas gafas de rayos X que nos ayudarán en nuestra aventura permitiendo conocer los recovecos del mapa y a los enemigos armados. Los gráficos tienen un buen nivel, los juegos de luces y sombras dan una estética lúgubre a los escenarios, dando mayor fuerza a la ambientación del juego ya que crean una atmósfera de tensión. La inteligencia artificial es uno de los puntos que podría haber sido pulido un poco más, ya que los enemigos permanecerán ajenos a nuestra presencia a pesar del ruido que hagamos, siempre
los sonidos, están cargados del arte gaditano, siendo muy divertido seguir la trama de éste.
y cuando nos mantengamos ocultos en las sombras, a pesar de todo el combate directo contra ellos es un suicidio, siendo reco-
Se echa de menos los tiempos en los que cualquiera podía crear su propio juego con un amigo y distribuirlo, muchas grandes compañías como Codemaster, que en sus orígenes eran un par
mendable el subterfugio. El sonido es uno de los puntos más flojos ya que muchas veces los eventos que se producen en el juego no se
de hermanos pequeños haciendo juegos, empezaron de esta forma.
verán representados, aún así contribuirán a generar un ambiente de tensión.
Cabe elogiar el trabajo de los creadores del juego: Javier Pérez Pacheco, Jesús Carrasco Carrasco y Shano Lores, programador, grafista y músico respectivamente. Demostrando lo que se puede hacer
Aunque el juego es de pago en su página oficial tenemos una demo jugable disponible para su descarga, donde podemos probarlo. Esta demo está en inglés, aunque la versión final está totalmente traducida al castellano. http://www.coldwar-game.com/
NOTE
jugabilidad gráficos sonido
52
a nadie indiferente. Los gráficos están muy cuidados, así como el diseño de los personajes y las representaciones de los lugares típicos de Cádiz, todos ellos en 2D. La jugabilidad es muy buena y nos brinda una gran comodidad en el manejo de nuestro héroe. Mientras que la música acompaña muy bien al desarrollo del juego. Los diálogos del juego y
con un poco de esfuerzo y trabajo. El juego ha salido bajo licencia Creative Commons y está disponible en su página oficial para descargar para Linux y Windows. http://supertirititran.sourceforge.net/
NOTE
jugabilidad gráficos sonido
«««« ««««« «««
Linux+ 12/2006
«««« «««« ««««
software Juegos
sección llevada por Francisco I. García Millán
www.lpmagazine.org
53
software GNOME
Un grupo de programas para tu panel GNOME Claus Schwarm
linux@software.com.pl
Estamos en diciembre. La navidad llama a la puerta. La gente está ocupada comprando regalos para sus amigos y familia. Sólo quedan unos días para que finalice el año. Es el mejor momento para hacerte uno o dos regalos a ti mismo. También es el mejor momento para pensar qué te gustaría cambiar para el nuevo año, para encontrar nuevas maneras de ser más productivo o de divertirte más con tu ordenador.
U
na forma de hacerlo es tenienY no sólo eso: puedes asignarle cualquier do en cuenta la cantidad de aplicación de ventanas a un grupo determina-
programas disponibles para tu panel GNOME – no aquellos predeterminados tales como el Deskbar o el nuevo Tomboy, pues esos ya son populares –, sino aquellos hechos por otros desarrolladores, conocidos como terceras personas. La siguiente lista de programas de panel es sólo una pequeña selección y de ninguna manera es exhaustiva o completa. Sin embargo, puede servir como pequeña inspiración de fin de año, sobre todo cuando esperas que llegue este momento.
Administración más inteligente de las ventanas
Los recién llegados a Linux tienen problemas para adaptarse a The GIMP: que es una de las aplicaciones de fuente abierta disponibles, aunque su diseño de ventanas no es el más apropiado, según la opinión de muchos. Por otro lado este tipo de diseño lo utilizan muchos profesionales que ejecutan más de un seguimiento. Y no sólo es The GIMP: las aplicaciones como Dia o Glade utilizan el mismo diseño. Si tampoco te encuentras lo bastante contento con esta aplicación, no lo dudes: hay una solución alternativa. Se llama Windowgrouper. Windowgrouper está disponible en la sección de diálogo del panel Desktop & Windows; sólo necesitas instalarla para empezar. Por tanto, Windowgrouper ofrece la función que su nombre anuncia: te permite agrupar las ventanas. Haz clic en su icono del panel y te pedirá que selecciones una ventana. Si lo haces puedes asignar la ventana a un grupo, llamado Grupo 1. Repite el proceso para asignar una segunda ventana al mismo grupo o a un segundo. De esta forma puedes designarle todas las ventanas de The GIMP a un sólo grupo.
54
do. Así que si quisieras añadir un editor a las ventanas de The GIMP, también lo puedes hacer. Si minimizas ahora una de las ventanas del grupo, se minimizarán todas. Claro, también funciona a la inversa: todas se maximizan si maximizas una de ellas. Además, si mueves una de las ventanas de un espacio de trabajo a otro –quizás las abriste accidentalmente en el espacio 2 aunque por lo general las tienes en el espacio 4 –, todas se mueven. Por desgracia, Windowgrouper no recuerda la aplicación de ventanas que pertenece a un grupo específico: debes cerrar la aplicación y reasignar las ventanas al grupo. Cierra todas las ventanas en un grupo, y Windowgrouper olvidará a todo el grupo. Eso es todo. No hay diálogos de configuración sofisticados. Puede que no sea una solución perfecta, pero es de gran ayuda.
Más launchers en tu panel
La ubicación habitual para los programas es el panel superior predeterminado de GNOME. Sin embargo, mucha gente no se puede adaptar al panel superior, y por tanto lo eliminan por completo. Es así que el panel que queda al fondo a menudo se configura para utilizar la doble altura de 48 píxeles. El único problema lo causan los launchers de la aplicación en el panel. Adaptan su tamaño al panel y luego ocupan un espacio cuatro veces mayor que el de antes. A muchos les gustaría que existiese una mejor manera. La solución es Quick Launch (Inicio Rápido). Instálalo y añádelo a tu panel: a primera vista se parece a los launchers de aplicación más comunes que están disponibles por de-
Linux+ 12/2006
Figura 1. Amplía tu panel GNOME con programas: hay muchos para diferentes necesidades fecto. La ventaja es perceptible después de un pequeño cambio en la configuración. Pulsa el menú de contexto en el pequeño botón a la izquierda del icono de Inicio Rápido y selecciona Propiedades: debes ver un diálogo con el nombre de Propiedades de la Lista del Launcher. En éste, puedes añadirle al programa de Inicio Rápido los launchers existentes, los espacios de diseño, y los nuevos launchers. También puedes cambiar el orden en que aparecen los launchers en el panel, eliminarlos y cambiar su configuración. También puedes cambiar el tamaño mínimo del icono de Inicio Rápido, su tamaño máximo, y , por último, los números o las filas que debe utilizar. Cámbialo para que utilice dos filas, y tu problema casi habrá desaparecido: ahora todos los launchers de la aplicación pueden utilizarse en su tamaño más pequeño desde el icono de Inicio Rápido. Sólo hay un inconveniente: el icono de Inicio Rápido no es capaz de incluir otros programas. En la mayoría de los casos esto apenas es un problema. Pero en algunas ocasiones sería práctico, por ejemplo, si quisieras reducir el tamaño de la papelera. También, si te gustaría utilizar varios de los programas mencionados
software GNOME en este artículo, el espacio del panel pronto será insuficiente o necesitarás encontrar otra solución para tu lista de ventanas. Una solución alternativa es utilizar un archivador que viene predeterminado con el panel de GNOME: en este puedes añadir todos los programas disponibles en el panel estándar, también es bastante fácil acceder desde el mismo a muchas aplicaciones. El archivador se puede encontrar en la categoría de Escritorio & Ventanas de los programas. Otra solución, claro está, es adaptarse al panel superior.
Control del tiempo
Cuando tienes tu propio piso, prepararte la comida es uno de los inconvenientes. Mucha gente – los estudiantes sobre todo – ha descubierto que la pasta es una manera muy conveniente de lidiar con el problema de la comida. Por desgracia la pasta tiene que cocerse en el tiempo justo, algo que mucha gente olvida cuando se sienta delante de un ordenador. De hecho, es aquí donde se demuestra la utilidad del programa timer (temporizador). El mismo está disponible en la sección Accesorios bajo el nombre de Timer. Después que lo hayas añadido a tu panel, con un simple clic se abre un diálogo. Te permite establecer una cuenta atrás del tiempo en segundos, minutos, y horas. También puedes darle un nombre, aunque su utilidad es cuestionable. También puedes cargar los llamados presets. Para hacerlo primero necesitas añadir un preset, no hay predeterminados. Es fácil: sólo pulsa en Añadir y otro diálogo te permitirá introducir un nombre para el preset y una duración. Los presets pueden ser eliminados y editados. Los estudiantes que cocinan pasta todo el tiempo pueden entrar en el preset de Pasta, o en diferentes presets para diferentes tipos de pasta. Para cargar el preset haz doble clic en la entrada que le corresponde de la lista. Por último, pulsa en Start Timer para iniciar el temporizador. Éste contará atrás hacia cero mostrándote el progreso cerca del icono del panel, y cuando haya acabado abrirá una ventana notificándote que se ha acabado el tiempo. Puedes configurarlo para utilizar un sonido WAV en su lugar, dependiendo de la tarea más inmediata, incluso puedes dejar de ver una nueva ventana. En general, el programa de tiempos no es nada sofisticado, pero es práctico y fácil de usar; especialmente si tiendes a centrarte tanto en tu ordenador que te olvidas de cocinar pasta, o de hervir la leche, o de la cita con tu novia en 10 minutos, o de cualquier otra cosa. Mas si eres un bebedor de té apasionado, hay otro programa que podría ser una alter-
nativa mejor al de tiempo, llamémosle el programa temporizador del té (teatimer). Su mayor ventaja es la cantidad de presets existentes para los diferentes tipos de té: el Assam, el Darjeling, el té de frutas, el verde, el de hierbas, y el té de menta. El tiempo de cada preset se puede cambiar, en el supuesto caso que pienses que el té de Assam no debe prepararse exactamente en 260 segundos. Desgraciadamente no hay forma de añadir otros presets. La utilización es, sin embargo, directa: sólo pulsa el icono del temporizador de té para iniciarlo y éste cuenta atrás silenciosamente. Puedes configurarlo para que abra una ventana, y reproduzca un sonido cuando acabe. La configuración se realiza desde el diálogo de Propiedades, al que se puede acceder desde el menú contextual. Claro, si no te apasiona tanto el té, será suficiente con uno o dos presets para el programa temporizador común.
Ojos eléctricos
Si quisieras montar tu propio ordenador probablemente agradecerías el monitoreo constante del hardware, para picarlo y llevarlo hasta sus propios límites (de calor). GNOME trae varios programas de monitoreo por defecto, pero no hay ninguno que controle la temperatura de tu CPU. Hay muy pocos programas externos que llenen este agujero: el Computer Temperature Monitor es uno de ellos. Conocido anteriormente como Laptop Temperature Monitor, también es capaz de registrar las temperaturas en un archivo, y dispara una alarma si se alcanza una temperatura específica. El Computer Temperature Monitor utiliza básicamente el soporte ACPI Thermal para controlar la temperaura de la CPU: por lo tanto, necesitas tener un núcleo que admita al ACPI, y éste necesita ser capaz de darle soporte a tu hardware, lo que por desgracia no suele suceder con frecuencia. Sin embargo, éste debe funcionar si existe un directorio /proc/acpi/thermal_zone que no esté vacío. Tiene que haber otro directorio llamado THRM o de manera similar. Dentro del directorio se utiliza un archivo llamado temperatura para registrar la temperatura de la CPU. En otras palabras: si el soporte de hardware funciona puedes incluso monitorear la temperatura de tu CPU utilizando cat. Por supuesto, la manera más conveniente sería realizarlo a través de un programa ubicado en tu panel. El Computer Temperature Monitor también puede utilizar otros monitores como el acpi_ ibm, el adt746x, el windfarm, el omnibook, el i8k, y los sensores del núcleo i2c. Éstos po-
www.lpmagazine.org
12 500 institutos en la India utilizarán GNOME
Con tal de seguir una política establecida para el uso único de software libre en la educación IT, el estado sureño de Kerela, en la India, está llevando a sus 12 500 institutos hacia una distribución personalizada de Debian GNU/Linux, llamada IT@School GNU/Linux. La distribución viene con un único CD e incluye aplicaciones que suelen necesitar los estudiantes o profesores del instituto. GNOME se utiliza como escritorio predeterminado. http://gnomedesktop.org/node/2772 http://www.desktoplinux.com/news/ NS8687173118.html Anjuta inicia programa de recompensa Para fomentar el aumento de las contribuciones, y el desarrollo más acelerado, el proyecto Anjuta ofrece recompensas para algunas de sus tareas de desarrollo. Anjuta es un entorno integrado de desarrollo (IDE) para C y C++, escrito para GTK+/ GNOME. Sus funciones incluyen administración de proyectos, asistentes de las aplicaciones, depurador interactivo integrado, y un poderoso editor de fuente con un navegador para las mismas y subrayado de sintaxis. http://anjuta.org/tasks Se buscan opiniones sobre el módulo de Juegos GNOME Para intentar aumentar la popularidad del módulo de juegos GNOME, quienes lo mantienen van a eliminar uno de sus juegos e incluir uno nuevo en el programa de desarrollo de GNOME 2.18. La decisión final se basará en la reacciones de los usuarios recopiladas por una encuesta online. http://live.gnome.org/GnomeGames/ NewGamesPlan http://www.gnome.org/projects/gnome-games/ survey.html Sudoku GNOME inicia su edición de serie 0.6 El componente central del juego ahora se integra a la librería gráfica Cairo 2D, esto hace que la modificación del tamaño sea más fluida. Además, ahora se puede seleccionar un número pulsándolo, no solamente tecleándolo, y también el tomar notas se hace más atractivo. http://gnome-sudoku.sourceforge.net/
55
software GNOME drían resultar interesantes si estás ejecutando un hardware específico que necesita de estos módulos especiales. Aunque para los fans de la sintonización, la temperatura de la CPU es el valor más importante, el programa Computer Temperature Monitor también te permite explorar la temperatura de tu disco duro. Éste necesita del soporte S.M.A.R.T – el Self-Monitoring, Analysis and Reporting Technology (la Tecnología de Auto-Monitoreo, Análisis e Información) para los discos duros de los ordenadores, y se necesita instalar la aplicación hddtemp. Después de la configuración se ejecutará como un proceso de fondo que es leído por el Computer Temperature Monitor.
La Instalación
logra que tu panel tenga un comportamiento similar al de la barra de direcciones de un navegador. Sin embargo, para algunos la Deskbar proporciona demasiadas funciones. Ellos quieren algo más sencillo. Si eres uno de ellos, puedes encontrar una alternativa interesante en GSpot. Éste propone una forma fácil de consultar en los motores de búsqueda: simplemente haz doble clic en una expresión – en un documento PDF, por ejemplo – y luego pulsa la entrada de GSpot en tu panel: obtendrás una lista de las aplicaciones potenciales basadas en la web tales como Google o la Wikipedia. Selecciona una entrada y se abrirá una nueva ventana del navegador mostrándote los resultados. Apenas existe otro modo más apropiado. GSpot es todavía un proyecto muy joven, por lo que tiene algunas desventajas. Probablemente el problema central es la falta de medios para configurar el programa: la lista de entradas es fija. Su uso se hace menos interesante si tu lengua nativa no es el inglés. Por ejemplo, ¿por qué debes buscar en las páginas en inglés de la Wikipedia si también hay artículos en tu idioma? O, ¿por qué todos deben acudir al diccionario Merriam-Webster, si no hablan inglés? GSpot te permite también buscar en la base de datos de fallos de Debian, aunque probablemente esto carezca de interés para los usuarios de Fedora. De modo que, puedes decir que GSpot aún está un poco limitado con respecto al usuario base. Sin embargo, eso es predescible si tu última versión es la 0.1.3; los desarrolladores ya han anunciado un diálogo de preferencias para la versión 2.0 que con un poco de suerte pronto será editada.
clase <searchpath>, introduce una nueva lí- Resumen nea Los programas son un medio bastante flexible de ampliar tu escritorio GNOME y hacerlo <item>/usr/local/lib/bonobo/ más productivo o más divertido. Se instalan servers</item> en el panel superior, se pulsan sin apenas necesidad de invertir tiempo alguno, y un La línea probablemente ya se encuentre ahí; montón de programas diferentes estarán dissólo estará comentada. Si ese es el caso, para ponibles. Quizás no tenga una visión general que no esté comentada simplemente elimina como la que proporciona Mozilla para los plulos símbolos de comentario <!--” y “-->, que gins de Firefox, pero la sección de Programas de puedes reconocer como a sus semejantes uti- panel de gnomefiles.org se le asemeja. lizados en el (X)HTML. Sin embargo, el problema principal es la Si las rutas de búsqueda funcionan, con un instalación: muchos programas no vienen en ./configure && make && sudo make install común los paquetes de las distribuciones, y la instaal último paso como usuario root se deben lación desde la fuente todavía no es directa, a instalar la mayoría de los programas. Claro, causa de la diversidad de los sistemas. Algunos los requerimientos habituales se aplican aquí utilizan un enfoque de Makefile, otros el guión también: necesitas instalar primero un entorno de instalación Python, y otros utilizan guiones integrado y los paquetes de desarrollo de las personalizados. No obstante, la cantidad de dependencias. opciones que proporcionan los programas son Si no quieres meterte con el archivo de suficientes como para pasar por alto algunos de configuración de GNOME, hay una alternati- los defectos que todavía poseen. va: sólo cambia el prefijo cuando configures el paquete utilizando
Todos los programas presentados son de fuente abierta, así que siempre puedes instalarlos utilizando el paquete del código fuente. A diferencia de las aplicaciones normales necesitas tener cuidado con un pequeño paso adicional: habitualmente, los paquetes del código fuente se instalan en /usr/local cuando se compilan, y lo mismo pasa con los programas. Sin embargo, en contraste con los paquetes comunes del código fuente, el panel GNOME necesita conocer todos los programas instalados, de otro modo no podrá encontrarlos después de la instalación. Por desgracia, muchas distribuciones Linux no incluyen la ruta /usr/local/ en la ruta de búsqueda de GNOME. Luego, tendrás Búsqueda en la web que hacerlo manualmente. Para llevarlo a caDe por sí GNOME ofrece el programa de desk- bo abre el archivo /etc/bonobo-activation/bonobar predeterminado que te permite consultar bo-activation-config.xml como usuario root. en los motores de búsqueda como Google, así Éste es un archivo XML-formateado. En la
56
utilizando una distribución basada en Debian, puedes sencillamente ejecutar apt-cache rdepends libpanel-applet2-0
para obtener una lista de los programas GNOME que trae consigo tu distribución. También existe la opción de buscar una palabra clave para un programa, pero a menudo aparecen demasiadas coincidencias. Después de una instalación exitosa deberías acceder a un nuevo programa desde el panel GNOME. Sólo haz clic en el menú de contexto en cualquier espacio libre del escritorio, y selecciona Add to panel...(Añadir al panel). El nuevo programa debe aparecer en algún sitio de la lista. Por desgracia, en este caso a menudo los nombres difieren de aquellos en el paquete, así que es fácil que los pasemos por alto a la primera.
En la Red
./configure --prefix=/usr
Observa que muchos programas se escriben en Python y luego utilizan un guión Python, y no Makefiles, para instalar el paquete. Comprueba primero la página web y los archivos INSTALL y README del proyecto. Debido a que la instalación es ligeramente compleja, la forma más fácil de obtener uno de estos programas es a través de tu distribución Linux. Si ésta no trae el paquete de un programa deseado, busca una alternativa: si estás
Linux+ 12/2006
• • • • • •
Window grouper: http://windowgrouper.sourceforge.net/ Quick Launcher: http://quick-lounge.sourceforge.net/ Timer Applet: http://timerapplet.sourceforge.net/ Teatime: http://det.cable.nu/teatime/index.rbx Computer Temperatur Monitor: http://computertemp.berlios.de/ Gspot: http://mfa.ath.cx/wiki/index.php/Gspot
software KDE
KDE 4 sobre Windows y Mac Luis Méndez Alejo
K
DE que opera en nuestros escri- más utilizados del mercado del software No podemos dejar de lado proyectos torios GNU/Linux desde hace libre. que se integrarán en plataformas Windoya largo tiempo, a pesar de no Krask, como así se denomina actualmen- ws, y uno de ellos es Kexi (www.koffice.org/ ser inicialmente muy aceptado te la versión de KDE 4, que aún está en desa- kexi) que opera bajo licencia LGPL (GNU
por gran parte de la comunidad Open Source que era más partidaria de entornos GNOME, ha captado numerosos adeptos desde sus últimas versiones y gracias -entre otras- a distribuciones como Knoppix, por citar una de las primeras en promoverlo en formato live-CD. Destaca su funcionalidad y lo similar de su entorno gráfico a lo acostumbrado de las plataformas Windows o Mac. No en vano llevo a compañías como Canonical LTD. a sacar despues de Ubuntu (que opera con GNOME como escritorio) a poner a disposición de cada vez más numeroso público la distribución Kubuntu, basandola en KDE y que le ha permitido a esta compañía poder ofrecer un producto serio, estable y que consolida los dos escritorios
rrollo (de ahí su nombre alusivo a lo inestable de la misma) puede instalarse en casi cualquier distribución GNU/Linux, Kubuntu, Knoppix, OpenSUSE u otras. Aunque próximamente podrá ser instalada también de forma nativa en plataformas como Microsoft Windows, Mac y BSD (Free-Open), incluyendo por ende numerosas aplicaciones, dejando claro que KDE no se limita a ser un escritorio servidor de aplicaciones sino que contendrá suites ofimáticas (Koffice), clientes de correo electrónico (Kmail), reproductores multimedia (Amarok), navegadores (Konqueror) y muchas más aplicaciones que lo convertiran en todo un entorno de trabajo a la altura de los usuarios más exigentes, y sin necesidad de migrar de sistema operativo.
KDE logo
www.lpmagazine.org
Lesser General Public License) y que vendrá a este sistema operativo de la mano de Koffice en su versión 1.5.2, incluyendo los ya habituales Kword, Kspread, Kpresenter, Kivio, Krita, Karbon14 y Kplato y que en su próxima versión incluirá objetos embebidos muy potentes como Kugar, Kchart y KFormula, pudiendo ser considerado un competidor fuerte frente a Microsoft Access, por citar el más conocido. Es una aplicación destinada a la creación de bases de datos, al más puro estilo wysiwyg, disponiendo para ello de todo tipo de herramientas para la creación de tablas, bases de datos, formularios, informes, scripts, etc. y para ello lo hace de forma nativa con MySQL y CQL++ y dispone de soporte ODBC soportando también PostgreSQL. Actualmente se encuentra disponible la versión 1.0 y podemos descargarla para Windows en la web http://www.kexi.pl/wiki/index.php/Kexi_for_MS_ Windows. Cabe decir que el reducido grupo de desarrolladores de Kexi -apenas cinco en la actualidad- está necesitando la ayuda de la comunidad internacional de desarrolladores de software libre que quieran participar de este proyecto, bien sean desarrolladores, empaquetadores, traductores o personas con ganas de escribir la documentación, y claro está betatesters que lo prueben y reporten los fallos que encuentren para conseguir un producto estable y fuerte que desmarque a otros productos privados como MSAccess que obligan a muchas empresas a mantener sus equipaciones informáticas bajo plataformas privadas con sus consabidos costes de mantenimiento.
linux@software.com.pl
No es nuevo ver aplicaciones que operan bajo licencias GPL o CC correr sobre plataformas privadas como Windows o MacOS X, pero ver un escritorio de calidad como KDE en su versión 4 es algo que hace pensar hacia donde se mueve el software libre y núnca mejor dicho que camina hacia la conquista de los escritorios aunque estos sean los de plataformas privadas.
57
hardware Xen
Virtualización de Servidores
Matías Barletta
linux@software.com.pl
En el artículo anterior exploramos los principios básicos de la virtualización de Hardware e iniciamos nuestro camino al mundo de la virtualización. Esta vez vamos un paso más lejos y nos adentramos en el mundo de Xen, una de las aplicaciones de software libre más exitosas de los últimos tiempos.
X
en es utilizado en la virtualización de servidores e incluso recientemente Amazon comenzó a brindar servicios de Computadores bajo demanda utilizando a Xen como el núcleo del servicio. Para los que recién llegan les aconsejo revisar la última publicación donde damos un breve recorrido sobre los principios y conceptos de la virtualización.
Señores y Señoras, con ustedes, XEN
Xen nació el ambiente académico de la universidad de Cambridge, Inglaterra, bajo el proyecto conocido como Xenoservers. El proyecto inicialmente buscaba la forma de ofrecer infraestructura pública para realizar cómputo distribuido. Uno de los componentes esenciales del proyecto era Xen HyperVisor, la aplicación que permitía alojar varios sistemas operativos en un mismo Hardware de plataformas x86. Como se imaginarán el proyecto creció y Xen HyperVisor se convirtió en un proyecto por sí mismo a tal punto que hoy es la alternativa número uno de la comunidad linuxera. Vale la pena rescatar que aunque Xen ha conseguido mucho éxito y posee una comunidad muy activa, no es la única opción disponible en el mundo del software libre, pero dado
58
Linux+ 12/2006
que ha conseguido que las distribuciones más importantes lo respalden junto con una reciente alianza con Microsoft, hoy se considera a Xen la mejor manera de adentrarse en el mundo de la virtualización de software libre.
Virtualización Completa o Paravirtualización
Debido a su técnica de virtualización, Xen siempre ha tenido mucho éxito dentro de sistemas operativos de código libre. La paravirtualización es una técnica que se desarrolla mediante la modificación del código fuente del SO invitado, por eso su popularidad en este ámbito. Xen comenzó a utilizar la técnica de virtualización completa, conocida también como virtualización de SO invitados No modificados, a partir de que Intel y AMD comenzaran a desarrollar CPUs con soporte para virtualización. Esta tecnología denominada Intel VT/AMD Pacífica se encuentran en los CPUs más modernos (aproximadamente desde el inicio del 2006) y permite al hypervisor de Xen ejecutar SO invitados tales como Microsoft Windows. Como mencionamos anteriormente, el HyperVisor es el encargado de permitir la ejecución de varios sistemas operativos al mismo tiempo. Más específicamente está en-
hardware Xen cargado de recibir las peticiones de los SO no privilegiadas y redirigirlas al dom0. Cuando el hypervisor se ejecuta en CPUs con soporte para virtualización, Xen no precisa de modificar el código del SO invitado para que este pueda ejecutarse en un anillo de seguridad de menor privilegios, o anillo 1 (ver artículo anterior), puesto que el CPU está preparado para determinar cuando se necesita la intervención del HyperVisor. La técnica es básicamente simple, en vez de modificar el código en el SO invitado para que todas las instrucciones privilegiadas sean redirigidas hacía Xen, se espera que el CPU detecte las instrucciones privilegiadas que ejecuta el SO invitado y le avise al HyperVisor para que este tome las medidas necesarias. De esta manera el SO invitado no debe ser modificado para ejecutarse con Xen y el CPU se hace cargo de avisarle al HyperVisor cuando su ayuda es requerida.
Las técnicas de virtualización deben contemplar la virtualización de todo el Hardware, más específicamente la virtualización del CPU, Memoria y Dispositivos de E/S. Actualmente los CPUs solo brindan soporte de Hardware para la virtualización de CPU, lo que significa que la virtualización de memoria y de dispositivos es puramente por software. Esto es importante recordarlo dado que por más que nuestro procesador tenga soporte de virtualización, no significa que tendremos un supercomputador capaz de ejecutar 100 máquinas virtuales sin ningún deterioro. De hecho, el cuello de botella en las máquinas virtuales no siempre es el CPU. Muchas aplicaciones son muy exigentes en cuanto al acceso a los dispositivos de E/S (discos, red, etc), por lo cual varias aplicaciones haciendo un uso intensivo del almacenamiento en el disco puede deteriorar la performance de la virtualización. Veremos que en un futuro el Hardware
Más en detalle, el soporte de virtualización en los chips de Intel y AMD fueron diseñados para que las instrucciones privilegiadas ejecutadas por los SO invitados fueran eficazmente redirigidas al HyperVisor. Sin la presencia de este tipo de Hardware, la ejecución de un SO invitado (no modificado) en el anillo 1, daría errores del General Protection Error o Error de Protección General. Como se puede notar, el error es bastante lógico, una aplicación en el anillo 1 no tiene los privilegios necesarios para ejecutar un kernel de forma transparente. Una nota que debemos aclarar debido a que confunde a muchos, es acerca del soporte de Hardware para la virtualización.
tendrá mayor soporte para la virtualización de crédito por parte de la mayoría de las distridispositivos como el acceso a memoria, a los buciones y se pueden descargar kernels ya discos o la red. compilados para Xen. En el caso que decidan descargar un kernel para su distribución, les Instalando Xen aconsejo que lean alguna documentación al La instalación de Xen puede variar desde muy respecto para abarcar la instalación y el booteo sencilla y transparente a una más compleja con con el nuevo kernel. También pueden compilar muchos pasos. A diferencia de las aplicaciones su propio kernel bajando el kernel y los parches como VMWare, Xen consta básicamente de un desde la página de Xen. parche para el kernel de Linux y un servicio Para los que prefieren tener un placentero que administra las máquinas virtuales. viaje al mundo de la virtualización con Xen, les Por lo tanto si quisiéramos instalar Xen en aconsejo utilizar la distribución OpenSuse 10.1. nuestro equipo puede ser necesario recompilar Yo sé que el mundo de los linuxeros es a nuestro kernel con el parche que Xen provee. veces bastante apasionado acerca de que distriUn parche es generalmente un conjuntos bución utilizar, y personalmente también tengo de archivos y modificaciones para ser apli- mis inclinaciones, pero a fin de hacer algo que simplemente funcione sin tener que ser experto se ha elegido OpenSuse por su sencillez y facilidad con Xen. Un comentario a favor de la elección de esta distro es Suse Enterprise Server 10, que es la primera distribución enterprise en traer soporte para virtualización en Linux utilizando Xen. Para los que leen las noticias del mundo informático esto no es novedad, sin embargo el paso que dio Novell al distribuir Xen en su producto orientado al exigente mercado corporativo, fue muy importante y el desarrollo de esta versión fue basado en OpenSuse 10.1. Dicho esto vamos a comenzar a Instalar nuestro OpenSuse 10.1 con Xen incluido.
Nomenclatura En la jerga de Xen los Sistemas Operativos Anfitriones se conocen como Dom0 y los SO invitados se conocen como DomU. Por lo tanto si cuando leen un foro o lista de correo y los participantes hablan de Dom0, se están refiriendo al SO que se encarga de virtualizar la máquina. Dom0 sería el SO que tiene más privilegios de Hardware, el que tiene drivers para los dispositivos y es el primer dominio que arranca con el equipo real. cados al código fuente de alguna aplicación. Generalmente los parches traen modificaciones que brindan nuevas funcionalidades, reparan las existentes y también resuelven problemas de seguridad. A no asustarse, Xen ha ganado suficiente
Particionamiento
Explicar particionamiento en un artículo avanzado de virtualización puede parecer repetitivo, pero créanme tiene su porqué. Generalmente cuando instalamos un equipo, ya sea servidor o estación de trabajo,
Figura 1. Eligiendo los Componentes
www.lpmagazine.org
59
hardware Xen • ����
�����
�������������
������������
Figura 2. Asignación de placas reales a virtuales seleccionamos el tipo de sistema de archivos y realizamos el particionamiento del disco de acuerdo al uso que le daremos al sistema. Pero cuando estamos hablando de equipos que van a tener máquinas virtuales dentro, debemos tener un par de cosas más en mente a la hora de particionar. Las opciones de particionamiento ya las debemos conocer, pero dentro del mundo de Xen se agregan otras opciones: •
•
60
NFS/iSCSI/AoE: – Estas opciones permiten tener unidades de red como unidades de discos. Este uso es más avanzado y no vamos a tomar esto en cuenta para desarrollar el artículo. Sin embargo es importante conocer que Xen puede utilizar unidades remotas (NAS/SAN) o utilizando iSCSI y AoE.
DVD de Instalación
Para quienes ya tienen el DVD de instalación de OpenSuse 10.1 que vino en la publicación Linux+DVD Extra Pack no 5, vamos a utilizarlo para instalar nuestro equipo. Si no lo tienen pueden bajarse el DVD de www.opensuse.org Durante la parte de instalación solo deben seleccionar correctamente el paquete de Xen, Archivos como unidad de disco: esto les permitirá bootear con el kernel de Xen – Xen permite utilizar archivos como uni- que viene en esta distribución. dades de disco. Esto significa que podEn esta última imagen se puede ver al kerríamos crear un archivo de 4gb, formatear el archivo como ext3 o reiser y luego dejar que Xen le presente al SO invitado el archivo como una unidad de disco, – Si este es el caso, debemos tener en cuenta de dejar suficiente espacio para poder almacenar los archivos que serán unidades de disco y prever el crecimiento, – Utilizar archivos es fácil y práctico, permite copiar el archivo a otro lado y tener toda la información de la máquina virtual, tal cual haríamos si nos lleváramos el disco a otra máquina. Sin embargo la performance de esta solución para ambientes exigentes, no es la mejor, y tiene algunos inconvenientes cuando las máquinas virtuales son apagadas bruscamente. LVM2: – Logical Volume Manager versión 2 es una forma de administrar el almacenamiento de manera clara y sencilla. LVM crea una capa de abstracción entre las unidades de disco físicas y el espacio de almacenamiento que se le presenta al sistema operativo. LVM es muy utilizado en servidores y es muy práctico, – Si elegimos LVM debemos tener un poco de experiencia con la administración de LVM, les recomiendo leer los conceptos desde http://www.gentoo.org/ doc/es/articles/lvm-p1.xml. No se preocupen por la instalación de LVM, eso mejor lo hacen con la ayuda de la distribución que ustedes eligieron.
• •
• •
•
Booteamos el DVD de instalación. Particionamos nuestro disco de forma simple: – Partición SWAP con YYGB de espacio. – Partición/con XXGB de espacio. Elegimos los paquetes a instalar (Open Office, Librerías, Compiladores etc). Esperamos que termine de instalar, configuramos algunos parámetros del sistema (usuarios, IP, etc). Reiniciamos la máquina.
Para cuando termine la instalación nuestra disco tendrá todos los archivos necesarios para arrancar Linux en ese Hardware. Más específicamente tendremos: • •
Una carpeta /boot donde se almacenará el Kernel para ese Hardware. Carpetas /usr /var /lib /sbin /etc /dev /proc
nel de Xen arrancando dentro de una máquina donde estará la información del SO. virtual de VMWare sobre Linux. Se puede ins- • El arrancador (boot loader) Grub instalado talar Xen sobre VMWare pero no al revés (por en el MBR que se encargará de bootear el lo menos no haciendo paravirtualización). Esto Kernel de Linux. es interesante por si desean testear Xen sobre Windows. Como podemos ver, excepto por Grub que se encuentra en un sector especial del disco (MBR Creando Máquinas Virtuales Master Boot Record) el resultado de nuestra Terminada la instalación de OpenSuse reinicia- instalación son solo archivos en el disco, que mos nuestro ordenador y tendremos Grub con pueden ser copiados, borrados o movidos de 2 opciones de booteo. Una de las opciones es lugar. Los archivos en el disco reflejan un SO bootear con el Kernel de Xen, de esta manera recién instalado. podemos comenzar a instalar y configurar las La parte más característica de esta instamáquinas virtuales. El proceso de creación de lación sería el directorio /boot que contiene el una máquina virtual es en sí bastante sencillo Kernel adecuado para nuestro Hardware y tampero diferente a la vez, vamos a ver el con- bién la carpeta /etc que contiene datos de nuescepto: tro equipo y configuración del sistema. La instalación de un SO en una máquina Si analizamos la anterior instalación povirtual Xen (paravirtualizada) se desarrolla de demos decir que tanto el Kernel (/boot) y la manera diferente a lo que acostumbramos. configuración del sistema en /etc son las partes El mecanismo es simplemente la copia de que dependen del Hardware, puesto que son los archivos del SO dentro de la partición que diferentes para cada ordenador. El resto de los decidimos darle a Xen y ¡listo! ¿Cómo? Parece archivos son exactamente los mismos para una muy MS-DOS cierto? Lo explico de nuevo. máquina (Los archivos son los mismos siempre Si queremos instalar una máquina Xen solo y cuando sea la misma plataforma, por ejemplo debemos copiar los archivos del SO al nuevo AMD de 32 bits y un Intel de 64 bits utilizan disco y luego arrancar la máquina con ese dis- diferentes archivos, de hecho el DVD de Openco. La magia de las máquinas virtuales es su Suse es diferente para 64 bits que para 32bits.) transparencia para mover cosas de un equipo AMD o Intel o para un disco Seagate o Westera otro sin importar el Hardware, lo que signi- Digital o incluso diferentes motherboards. fica en el mundo de las máquinas reales que La siguiente lista muestra los archivos podríamos traer un disco de otra máquina que son diferentes para cada ordenador. enchufarlo en la nuestra y que funcione de manera transparente, sin importar la placa • /boot - Contiene el kernel específico para el madre, la tarjeta de video o la de red. Hardware. Para comprender mejor este mecanismo • /etc - Contiene la configuración de nuestro veamos el siguiente ejemplo (no práctico) de ordenador. instalación de OpenSuse en un ordenador real:
Linux+ 12/2006
hardware Xen
Instalación en modo paravirtualizado Vamos a usar este método dado que la virtualización completa requiere de un procesador que soporte esas características y no siempre tenemos a mano uno. Quizás en un futuro artículo hagamos una pequeña guía de instalación de SO no modificados como Microsoft Windows. Por lo tanto si hacemos 2 instalaciones de OpenSuse en 2 ordenadores físicamente diferentes, vamos a encontrar que los discos rígidos contendrán la misma información exceptuando los directorios de la lista. Si copiáramos el contenido del disco de un ordenador al otro exceptuando los directorios de la lista, ambos SO funcionarían correctamente.
Paso a Paso
Una vez que nuestro SO anfitrión ha terminado de arrancar en modo Xen, vamos a ver como se configuran las máquinas virtuales de Xen. Como la gran mayoría de las cosas en Linux, una máquina virtual en Xen se define por un archivo de texto plano. (en el futuro quizás sea un archivo con formato XML).
Dentro de este archivo se definen las características de la máquina, la memoria, los discos, placas de red etc. A continuación mostramos el archivo de configuración de una máquina virtual.
El parámetro siguiente se explica por sí mismo, Xen utiliza este parámetro para asignar la memoria inicial que tendrá la máquina virtual. Una vez iniciada la máquina virtual Xen permite incrementar/disminuir la memoria que está utilizando. kernel = "/boot/vmlinuz-xen" VCPUS es el apócope de Virtual CPUs ramdisk = "/boot/initrd-xen" y es una opción de Xen para emular más de memory = 64 un procesador en la máquina virtual. Suname = "LP_XEN" pongamos que tenemos un ordenador con 2 vcpus=1 procesadores, podríamos instalar 2 máquivif = [ 'mac=00:16:3e:00:00:11, nas virtuales con 2 procesadores cada una. bridge=xenbr0' ] No importa que nuestro ordenador real disk =['file:/vdisks/root.img,sda1,w', tenga menos CPUs que las máquinas vir'file:/vdisks/swap.img,sda2,w'] tuales, Xen permite emular una mayor canroot = "/dev/sda1 ro" tidad de procesadores. Esto es útil si quieren probar el comportamiento de una apExisten más opciones dentro del archivo de licación en equipos con varios procesadoconfiguración pero con estas opciones po- res. dremos crear nuestra primera máquina virLos siguientes parámetro son muy imtual. portantes y son los que más cambiarán entre Las primeras 2 líneas definen el kernel a utilizar para arrancar la máquina virtual. Aunque les parezca raro, la ubicación del kernel y de la ramdisk están relacionadas con el dom0 y no con el domU. Esto significa que Xen busca estos archivos en el directorio de nuestro dom0 y no en el domU. (Cuando hacemos paravirtualización el directorio /boot del domU queda en desuso.)
�������������� ����
����
�����
������
�����
������
����
�����
������
�����
������
�����
������
�����
������
�����
������
�����
������
una máquina virtual y la otra. El primero de ellos habla de las interfaces de red disponibles en los domU. Podemos definir más de una placa virtual para cada máquina virtual y también se puede definir si cada placa virtual estará asociada con una placa real o si bien varias placas virtuales usarán la misma placa real. Esta parte de networking con Xen merece un anexo aparte, más adelante vamos a explicar en detalle. El parámetro disk permite asociar las unidades reales a los discos virtuales. Aquí le indicaremos a Xen si vamos a utilizar una partición real para emular un disco (/dev/hda3), podríamos indicarle el uso de una LVM (/dev/ system/LVM_UNIDAD_1 o bien un archivo (file://archivo.img) Por último viene el parámetro que le indica al kernel del SO invitado cual será su partición root. Por lo general en el parámetro disk se especifica un mínimo de 2 particiones, una swap y otra root, y con este parámetro le decimos cual de ellas es root.
Creando nuestras unidades virtuales
La creación de los discos virtuales utilizando un archivo es muy sencilla. En esta técnica lo que se hace es crear un archivo del tamaño total del disco y luego se le da el formato de sistema de archivos. Por ejemplo reiser. Vamos a crear 2 discos virtuales usando archivos. mkdir /vdisks
Figura 3. Placas reales vinculadas con veth0 y veth1
dd if=/dev/zero of=/vdisks/root.img
www.lpmagazine.org
61
hardware Xen De esta forma tenemos la replicación de to- • Nuestro Dom0 tiene que bootear con el dos nuestros archivos del SO anfitrión al Kernel modificado para Xen. bs=1024k count=500 disco del SO invitado. En el comando vi- • Nuestro equipo termina de bootear y nos chmod 640 /vdisks/* mos que estamos excluyendo el directorio deja Dom0 listo para usar. mkfs.reiserfs /vdisks/root.img /mnt y es para evitar que sincronice el • Si nos logueamos en la consola de nuestro mkswap /vdisks/swap.img directorio donde tenemos montado el disco Dom0 podremos utilizar el administrador mount -o loop /vdisks/root.img /mnt virtual. de máquinas virtuales de Xen. Este admiAhora solo nos queda editar el archivo nistrador es un comando de consola, no Con esos comandos acabamos de crear 2 ar- /etc/fstab para que refleje esta configuratiene interfaz gráfica pero es muy sencillo chivos formateados con reiser y swap. ción: de usar. La primer línea crea un directorio don• Mediante el administrador de Xen creade vamos a almacenar nuestros discos vir- /dev/sda1 / reiserfs defaults 1 2 mos la máquina virtual. tuales. /dev/sda2 swap swap defaults 0 0 Las siguientes 2 líneas es la creación de proc /proc proc defaults 0 0 Los pasos que Xen toma para arrancar la málos archivos. El comando ejecuta una copia sysfs /sys sysfs noauto 0 0 quina virtual son los siguientes: del dispositivo /dev/zero al archivo root.img debugfs /sys/kernel/debug o swap.img. El parámetro bs=1024k significa debugfs noauto 0 0 • Lee el archivo de configuración de esa máel tamaño de cada bloque a copiar, mientras usbfs /proc/bus/usb usbfs quina virtual. Por lo general se encuentra el parámetro count=4000 especifica que se noauto 0 0 en el directorio /etc/xen. copien 4000 bloques. Si hacemos la cuenta ve- devpts /dev/pts devpts • Según diga el archivo de configuraremos que el archivo root.img terminará con mode=0620,gid=5 0 0 ción, Xen irá a buscar la unidad de disbs=1024k count=4000
dd if=/dev/zero of=/vdisks/swap.img
un tamaño de 4gb mientras el swap terminará con un tamaño de 500MB. Luego de cambiar los permisos a los archivos les damos un formato a los archivos utilizando mkfs y mkswap. De esta manera podremos luego montar el disco en nuestra máquina. (mount). Una vez montado el disco virtual en /mnt podremos hacer la copia de los archivos del SO. Para ello vamos a hacer lo siguiente: rsync -av –exclude='/mnt' /
/mnt/
Utilizando estas dos configuraciones podemos ya dar inicio a nuestra máquina virtual. • Recordemos que en el caso de paravirtualización por lo general utilizamos un mismo Kernel para todas las máquinas virtuales y los mismos archivos base del SO. Por eso si quisiéramos instalar más máquinas virtuales utilizaríamos el mismo kernel. Antes de dar inicio a la máquina virtual vamos a ver un poco cual es el procedimiento de inicio: •
��������������
����
����
����
������
������
����
�����
������
������
����
���� ������
����
•
Administrando Máquinas Virtuales
Ya está todo listo para comenzar a jugar con nuestras máquinas virtuales. Lo primero que vamos a conocer es la aplicación que Xen provee para administrar las máquinas virtuales. Esta aplicación es para la consola y se la invoca con el comando xm. Esta aplicación solo puede ser ejecutada desde el dom0. •
Figura 4. La asignación de placas vif 1.0, vif 1.1, vif 2.1
62
co que elegimos para la máquina virtual. Esta puede ser un archivo o bien LVM2. Xen buscará el Kernel que nosotros le hayamos indicado en el archivo de configuración y luego tratará de arrancarlo dentro de una máquina virtual. Este paso es similar al que hace grub cuando arrancamos nuestro ordenador, primero lee el archivo /boot/grub.conf y según eso carga el Kernel en memoria para que se inicie Linux. Cuando el Kernel arranca, este mismo está viendo un mundo virtual donde tiene una memoria (que es una porción de nuestra memoria real), un disco (que puede ser un archivo en nuestro disco real) y varios periféricos (placas de red, video, serie) que son periféricos virtuales que ha creado la máquina anfitriona. Finalizado el arranque tendremos una funcional máquina virtual, con sus dispositivos y su Hardware adecuado.
Crear una máquina virtual xm -c create Nombre_VM
Linux+ 12/2006
hardware Xen
Trucos •
•
•
Para salir de una consola de Xen tienen que apretar CTRL + ALT + [ y para volver a entrar xm console Nombre_VM (o el ID). La paravirtualización ofrece mayor performance y estabilidad que la virtualización completa por HW. Por lo menos en este momento!. Xen puede tener domU de 64 bits siempre y cuando el dom0 también sea de 64bits. Por el momento no puede mezclar ambos.
Debemos recordar que el archivo ya tiene que estar creado y con los parámetros bien definidos, si no es así el comando nos reportará un error. Cuando este comando se ejecuta satisfactoriamente, lo primero que veremos será que la consola empezará a mostrar mensajes del kernel de la misma manera como cuando una máquina bootea. De hecho está booteando nuestra máquina virtual. Notemos que el comando tiene el parámetro -c lo cual indica que no solo cree la MV sino también que nos muestre su consola. Terminado este comando, la MV estará booteada y lista para funcionar, de hecho estaremos ya dentro de la consola y podremos loguearnos de manera normal. Cada vez que creamos una MV, Xen le asigna un número de ID único y con ese número de identificación podremos administrar su funcionamiento. Por ejemplo, •
Apagar o reiniciar una máquina virtual xm shutdown ID /// xm reboot ID xm shutdown Nombre_VM /// xm reboot Nombre_VM
El siguiente comando nos da un listado de las máquinas virtuales ejecutándose en el dom0. xm list
Si conocen el comando top de linux, aquí tienen su análogo en Xen: xm top
Existen otros comandos para administrar el comportamiento de Xen, pero con estos básicos podrán comenzar a navegar en estas
aguas. Les aconsejo hacer xm help para cono- rá redireccionada a la placa de red y vicecer todas las opciones. versa. Utilizando este mismo concepto (les reMáquinas Virtuales comiendo que amplíen este tema buscando y Networking en wikipedia) Xen hace puentes entre las Como dijimos anteriormente, el tema del placas virtuales y las reales de tal manera Networking en las máquinas virtuales mere- que una sola placa de red (real) puede esce un capítulo extra. Quizás mucho más que tar puenteada a varias placas de red virtuaeso, pero vamos a tratar de dar una breve les. reseña del funcionamiento del networking Esto es lo que se veía en el archivo de en Xen. configuración como bridge=xenbr0 y signiXen por defecto crea 7 interfaces de red ficaba que esa placa de red virtual iba a espara ser usadas por el dom0. Estas inter- tar conectada al puente xenbr0. No os quiero faces tienen nombres que comienzan con marear, pero aquí les dejo mucho que medivethX.0, por ejemplo veth0.0 es la interfaz tar en cuanto a redes!. conectada a la placa eth0. Si tuviéramos otra interfaz que en nuestro dom0 aparece Administradores de MV como eth1, la misma estaría conectada a la A medida que utilicemos más y más máquiinterfaz veth1.0, y así sucesivamente. La Fi- nas virtuales, vamos a encontrarnos con el gura 2 nos muestra la asignación de placas problema de la administración. Para eso lo reales a virtuales. mejor es tener algún sistema de monitorizaEn la Figura 3 se puede ver que el ordenador tiene 2 placas reales, las cuales están vinculadas con veth0 y veth1. El dom0 tendrá entonces 2 placas activas vif0.1 y vif0.2. Luego se crean una interfaz vif#.X por domU que se crea. Por ejemplo, cuando creamos la primer máquina virtual, esta va a tener el ID =1, entonces la placa creada será vif1.N donde N es el número de interfaz en el domU. Un ejemplo, la placa vif1.0 sería la correspondiente al domU con ID = 1 y el N=0 significa eth0. La placa vif1.1 sería del mismo domU con ID=1 pero eth1. La placa vif2.1 sería otra MV que tiene ID=2 y dentro de la MV sería eth1. Figura 4 nos ayuda a interpretar la asignación. Lo importante es no marearse con tantas interfaces y números, si no poder comprender como Xen numera las interfaces. Por último tenemos lo que se conoce como puente o bridging. El bridging es una técnica por la cual 2 interfaces pueden unirse lógicamente y compartir un mismo medio. El ejemplo más claro es cuando tenemos una laptop con WiFi y con cable de red conectados a Internet. Si por ejemplo nos conectamos mediante la red (cable) a internet y quisiéramos compartir esta conexión, podríamos hacer 2 cosas: Un router o un bridge. Hacer un router es algo más complejo, pero hacer un bridge es relativamente simple. Un par de comandos y la tarjeta WiFi y la placa de red estarán ligadas una a otra de tal manera que cualquier información que llegue a la WiFi se-
www.lpmagazine.org
ción y administración. Por el momento existen varias alternativas, entre ellas: •
•
•
XenEnterprise: Es la consola de administración oficial de Xen. Está hecha en Java y permite la creación, clonación y des instalación de máquinas virtuales, también ofrece un manejo de consolas, estadísticas del uso del CPU, Memoria y Red. Sin embargo este producto solo está disponible con la compra de licencias y a un costo aproximado de 750 US$. Enomalism: Una aplicación realizada en Python (Turbogears) que permite hacer una administración de las máquinas virtuales. Aún está en beta y requiere de un tiempo para que se la considere una solución estable y corporativa, pero les sugiero darle una prueba. XenMan: Esta es una herramienta en beta que está desarrollada en python y GTK que promete mucho. Pueden bajarla de sourceforge.
En la red • • •
Los fuentes o los Kernels de Xen www.xensource.com OpenSuse 10.1 www.opensuse.org Administrador de Máquinas Virtuales. www.enomalism.com
63
www.buyitpress.com ¡Suscríbete a tus revistas favoritas y pide los números atrasados!
¡Regalos para nuevos suscriptores!
Ahora te puedes suscribir a tus revistas preferidas en tan sólo un momento y de manera segura. Te garantizamos: • precios preferibles, • pago en línea, • rapidez en atender tu pedido. ¡Suscripción segura a todas las revistas de Software-Wydawnictwo!
Pedido de suscripción Por favor, rellena este cupón y mándalo por fax: 0048 22 887 10 11 o por correo: Software-Wydawnictwo Sp. z o. o., Bokserska 1, 02-682 Varsovia, Polonia; e-mail: suscripcion@software.com.pl 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
Título
número de ejemplares al año
Sofware Developer’s Journal Extra! (1 CD-ROM) – el antiguo Software 2.0 Bimestral para programadores profesionales
número de suscripciones
a partir del número
Precio
6
38 €
Linux+DVD (2 DVDs) Mensual con dos DVDs dedicado a Linux
12
69 €
Hakin9 – ¿cómo defenderse? (2 CD-ROM) Mensual para las personas que se interesan por la seguridad de sistemas informáticos
12
69 €
Linux+ExtraPack (7 CD-ROMs) Las distribuciones de Linux más populares
6
50 €
MSCoder (2 CD-ROM) Independent magazine for developers using Microsoft platforms
6
38 € En total
Realizo el pago con:
□ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) nO Válida hasta
□ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO Número de la cuenta bancaria: 0049-1555-11-221-0160876 IBAN: ES33 0049 1555 1122 1016 0876 código SWIFT del banco (BIC): BSCHESMM
Fecha y firma obligatorias:
CVC Code
para programadores HTML/Perl/Plantillas/Apache/mod_perl
Creación de páginas web dinámicas
Julio Garvía Honrado
linux@software.com.pl
En los tiempos que corren son muchos los sitios en Internet que basan su razón de ser en la generación de contenidos dinámicos e interactivos. No obstante, no todos ellos son fáciles de mantener y actualizar dado que no siempre cumplen una de las principales máximas en el diseño de software: Separar el diseño de la aplicación de la gestión o procesamiento de la información.
A
través de un sencillo ejemplo, fácil de extrapolar a desarrollos mucho más complejos, veremos cómo crear una página web de contenidos dinámicos muy sencilla de mantener y actualizar mediante el uso del estándar HTML, el lenguaje de programación Perl y la aplicación de plantillas. De forma adicional, se proporcionará una sucinta descripción de los pasos necesarios para poder visualizar los resultados de este sencillo ejemplo en nuestro propio ordenador mediante la configuración del servidor Web Apache y del componente mod_perl. ¿Qué necesito para probar el ejemplo? Para poder probar el ejemplo, o incluso desarrollarlo por tu cuenta, sólo te hará falta un editor de texto, como por ejemplo gvim, un navegador Web, el intérprete Perl 5 y su módulo HTML::Template, el servidor Web Apache 2.X y su módulo mod_perl. (ver Tabla 1).
de usuario y una contraseña que podrán ser utilizados a posteriori por otro sistema más complejo, por ejemplo, en tareas de autenticación. Para la consecución del ejemplo nos bastará con utilizar el estándar HTML, Perl 5 y la construcción de una plantilla para mostrar al usuario su nombre (login) y clave (password) asociada.
Antes de empezar
Perl es el acrónimo de Practical Extraction and Report Language, aunque también es conocido como Pathologically Eclectic Rubbish Lister, ambas definiciones son correctas, puesto que fueron dadas por su creador, arquitecto, desarrollador y encargado de su mantenimiento a principios de los noventa, Larry Wall. El propósito en que se fundamentó la creación de este lenguaje fue el facilitar la realización de tareas genéricas en UNIX. Tal ha sido, y sigue siendo, su aceptación dentro de la comunidad de programadoLa página web res y usuarios que, debido a su constante evolución, a día El ejemplo que desarrollaremos consistirá en un sencillo de hoy, ya no es Larry Wall la única persona encargada formulario Web donde el navegante, de forma interactiva, de su mantenimiento, así como tampoco es UNIX la única proporcionará una serie de datos para obtener un nombre plataforma para la que este lenguaje se encuentra dispo-
66
Linux+ 12/2006
para programadores HTML/Perl/Plantillas/Apache/mod_perl Tabla 1. Recursors necesarios para desarrollar el ejemplo
Recursos necesarios
URL
Sabías que...
gvim
www.vim.org
Navegador Web Mozilla Firefox
www.mozilla.org
La implementación de Perl se basa en un intérprete, escrito en C, complementado por
Intérprete Perl 5
search.cpan.org
Módulo HTML::Template
search.cpan.org
Servidor Web Apache 2.X
www.apache.org
Módulo mod_perl
perl.apache.org
una serie de módulos escritos en C y en el propio Perl. Así, Perl es un intérprete de C, es decir, un programa que analiza y ejecuta pro-
nible (véanse como ejemplos de otras plataformas a Windows, Macintosh, VMS y Linux). Dada su sencillez, resulta bastante fácil y cómodo de aprender para aquellos programadores iniciados y más aún para aquellos con algo de experiencia, sobre todo en C, pues no en vano la creación de Larry Wall guarda numerosas similitudes con la de Dennis Ritchie, de hecho la estructura completa de Perl se deriva del lenguaje C. Perl es a la vez que sencillo, un rico y po-
El movimiento se demuestra andando
tente lenguaje de programación que debido a su facilidad de aprendizaje y a la gran variedad de módulos disponibles, se ha convertido en muchos casos en herramienta indispensable para el desarrollo de simples y complejos scripts, para el desarrollo de prototipos de aplicaciones software y para la generación de CGIs ampliamente utilizados por los desarrolladores Web, entre los que a partir de ahora podemos incluirnos a nosotros mismos. En nuestro sencillo ejemplo, utilizaremos parte de la potencia de Perl para la generación de un script CGI encargado de realizar la gestión de la información, delegando la parte del diseño a una plantilla HTML. Una vez más, volveremos a emplear Perl, pero esta vez en conjunción con el estándar HTML, para utilizar su módulo HTML::Template que permite la utilización de plantillas HTML desde scripts CGI y que como ya se ha mencionado con anterioridad nos permitirá separar el diseño de nuestra página web de sus datos.
nacimiento para posteriormente ser procesados por un script CGI escrito en Perl que será capaz de generar un nombre de usuario o login y una clave o password conforme a los datos indicados en el formulario Web inicial. Finalmente, este script CGI escrito en Perl notificará el nombre completo del usuario, su login y password a una plantilla HTML encargada de visualizar tales datos. A lo largo de las siguientes líneas veremos paso a paso cómo implementar un desarrollo de estas características, si bien no nos pararemos en analizar detalles de implementación irrelevantes para el tema que ahora nos ocupa.
Tal y como se mencionó con anterioridad la idea es crear un ejemplo sencillo, que podrá ser utilizado como campamento base para la implementación de desarrollos más complejos. El ejemplo propuesto consiste en la elaboración de un sencillo formulario Web en el cual el navegante deberá especificar de forma interactiva su nombre completo y fecha de
Paso 1. Diseño de la aplicación Antes de dar algún paso es preciso tener muy claro como queremos implementar nuestra sencilla aplicación, es decir, cómo debe comportarse, y para ello nada mejor que una imagen que muestre en un diagrama de flujo las acciones a realizar.
gramas en C. En contraposición a los intérpretes, existen los compiladores (como los de C o C++) que traducen programas de un lenguaje de programación determinado al código máquina del sistema destino pudiendo ser ejecutados cuantas veces se desee, mientras que los intérpretes realizan la traducción según va siendo necesaria para la ejecución del programa. Esto es, en los lenguajes compilados la traducción se realiza una única vez generando un programa ejecutable, mientras que en los lenguajes interpretados, la traducción se realiza cada vez que es ejecutado el programa. Es importante mencionar que en el momento de escribir este artículo ya existen compiladores de Perl capaces de generar ficheros ejecutables propiamente dichos y para un determinado sistema destino.
El procedimiento empleado para la generación del login consistirá en tomar la primera parte del nombre completo proporcionado por el usuario a través del formulario Web. Por ejemplo, si el usuario introdujo como nombre completo Pedro Picapiedra, entonces su login será Pedro. En el supuesto caso en que el usuario no introduzca su nombre completo, entonces su login será Desconocido. El procedimiento empleado para la generación de la password consistirá en tomar todos los datos de la fecha de nacimiento y encadenarlos utilizando un guión bajo. Por ejemplo, si el usuario introdujo como fecha de nacimiento 20 Enero 1990, entonces su password será 20_Enero_1990.
Perl no sirve para todo Perl es un lenguaje de programación sencillo y potente y así como está especialmente orientado para el desarrollo de un cierto tipo de tareas, también tiene sus limitaciones que hacen inviable su uso en otras actividades, como pudiera ser su utilización en sistemas críticos con un exhaustivo procesamiento de datos y restricciones temporales críticas en cuanto a desempeño del sistema se refiere.
Figura 1. Formulario Web inicial para la entrada de datos
www.lpmagazine.org
67
para programadores HTML/Perl/Plantillas/Apache/mod_perl
Figura 2. Página web para mostrar el resultado de los datos procesados En el supuesto caso en que el usuario no introdujera alguno de los datos referentes a su fecha de nacimiento, se establecerá una variable a “1” indicando que se ha producido un error cuya descripción será ubicada en otra variable independiente.
Paso 2. Generación del formulario Web inicial La entrada de datos a nuestra sencilla aplicación Web será facilitada a través de un formulario Web que a su vez será la página principal de la aplicación y cuyo nombre deberá de ser forzosamente index.html. El motivo que el nombre del fichero deba ser index.html radica en la posterior configuración del servidor Web Apache, que será configurado para que si un cliente solicita la URL en la cual se aloja nuestra pequeña aplicación Web, se analice y despliegue de forma automática el fichero index.html.
El aspecto gráfico de este formulario puede ser visualizado en la Figura 1. Una vez el usuario haya insertado sus datos en el formulario Web, deberá de enviarlos para su procesamiento al servidor Web Apache y más concretamente al correspondiente script CGI encargado de procesarlos. Para ello, se ofrece al usuario la posibilidad de pulsar el botón de nombre Aceptar de tipo SUBMIT y que no hará sino enviar los datos del formulario al script CGI encargado de procesarlos y cuya ruta se especifica en el atributo ACTION de la sentencia <FORM NAME="Datos Usuario" METHOD="GET" ACTION="/perl-bin/
GenerarUsuarioClave.pl"> residente en este
mismo fichero index.html.
Paso 3. Generación de la plantilla HTML Lo siguiente una vez diseñada la entrada de datos es definir como queremos que sea la salida, es decir, como queremos que los datos Figura 3. Diagrama de flujo para la aplicación Web de ejemplo
Listado 1. Plantilla HTML <HTML> <BODY> <TMPL_IF NAME="CodigoError"> <BR> Error durante la generación de tu nombre de usuario y contraseña</I> <BR> <TMPL_VAR NAME="MensajeError"> <TMPL_ELSE> <BR> Nombre completo: <B><TMPL_VAR NAME="NombreCompleto"></B> <BR> Nombre de usuario: <B><TMPL_VAR NAME="NombreUsuario"></B> <BR> Contraseña: <B><TMPL_VAR NAME="ClaveUsuario"></B> </TMPL_IF> <BR> </BODY> </HTML>
68
Linux+ 12/2006
procesados sean mostrados al usuario. Para ello, haremos uso de una plantilla HTML que tendrá el aspecto gráfico mostrado en la Figura 2 y cuyo código fuente resumido se muestra y analiza a continuación. Usando esta plantilla HTML, que guardaremos en un fichero de nombre UsuarioClave. tmpl, mostraremos los datos satisfactoriamente procesados para el usuario de nuestra pequeña aplicación o un mensaje de error si ocurrió algún tipo de error durante su procesamiento. Para el correcto funcionamiento de esta plantilla se hace necesario que el script CGI que la invoque defina las variables por ella utilizadas. La forma de indicar a la plantilla HTML si se debe mostrar una información u otra en función del valor (0/1) de una variable concreta es mediante la etiqueta <TMPL_IF NAME>. Por otra parte, para mostrar el valor de una
para programadores HTML/Perl/Plantillas/Apache/mod_perl Tabla 2. Variable plantilla HTML Variable plantilla HTML
Descripción
CodigoError
Indica si se ha producido algún error durante el procesamiento de los datos de entrada. Sus posibles valores son 0 (sin error) 1 (error)
MensajeError
Descripción del error producido. El contenido de esta variable está ligado a la variable CodigoError
NombreCompleto
Nombre completo proporcionado por el usuario en el formulario Web inicial
NombreUsuario
Nombre de usuario o login generado por nuestro script CGI
ClaveUsuario
Clave de usuario o password generada por nuestro script CGI
determinada variable, emplearemos la etiqueta <TMPL_VAR NAME>. No obstante, el módulo HTML::Template no tiene únicamente estas etiquetas, sino que dispone de muchas otras que acompañadas por una serie de métodos hacen de este módulo una herramienta suficiente como para trabajar con plantillas. Las etiquetas que este módulo pone a nuestra disposición y disfrute son <TMPL_VAR>, <TMPL_LOOP>, <TMPL_INCLUDE>, <TMPL_IF>, <TMPL_ELSE> y <TMPL_UNLESS>. Más información acerca del uso de estas etiquetas y del módulo HTML: :Template puede ser encontrada en el sitio Web de CPAN o consultando la página man de este mismo módulo una vez lo hayamos
Sabías que... Las siglas CGI son el acrónimo de Common Gateway Interface y que no es sino una importante tecnología de la WWW que permite solicitar datos a un servidor Web a través de un explorador Web tradicional. Es decir, es un mecanismo utilizado para establecer un diálogo entre una aplicación Web externa y un servidor.
• instalado en nuestro sistema (man HTML:: • Template). • •
Paso 4. Generación del script CGI
Capturar datos del formulario Web, Generar un nombre de usuario y clave, Cargar la plantilla HTML ya creada, Configurar los valores de las variables a utilizar por la plantilla HTML, Mostrar la plantilla HTML para enviar los datos procesados al usuario de la aplicación.
Definido el formato de la entrada y salida de • datos, únicamente resta implementar el script CGI encargado de procesar tal información que como ya fuimos indicando, será escrito utilizando el lenguaje interpretado Perl y que Para realizar el análisis del formulario Web será almacenado con el nombre GenerarUsuarioClave.pl. Acorde con el diagrama de flujo que establecimos en la fase inicial de nuestro mini-proyecto, el script CGI debe llevar a cabo las siguientes acciones que iremos analizando paulatinamente:
Listado 2. Captura de los datos del formulario Web inicial sub RecopilarDatosFormulario { my (@AmpersandSplit) = (); my (%FormularioHtml)= (); my ($Elemento)= (); my ($Nombre)= (); my ($Valor)= ();
if ($ENV{'REQUEST_METHOD'} eq "GET") {
@AmpersandSplit = split(/&/, $ENV{'QUERY_STRING'}); foreach $Elemento (@AmpersandSplit) {
($Nombre, $Valor) = split(/=/, $Elemento); $Nombre =~ tr/+/ /; $Nombre =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $Valor =~ tr/+/ /; $Valor =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $Valor =~ s/<!-(.|\n)*->//g; $FormularioHtml{$Nombre} = $Valor; } }
else{
$CodigoError = 1; $MensajeError = "<BR>Error durante la recopilación de datos del formulario HTML [Método inválido o desconocido]<BR>";
inicial así como la captura de sus datos, se utilizará la rutina RecopilarDatosFormulario que almacena en un array hash los datos insertados en el formulario Web. Es importante remarcar que esta rutina se ha realizado para trabajar únicamente con el método GET y que para nuestro pequeño ejemplo es suficiente. En caso de error durante la ejecución de esta rutina, el script CGI será el único encargado de establecer las variables adecuadas (CodigoError y MensajeError) a ser utilizadas posteriormente por la plantilla HTML para informar al usuario final de tan inesperada situación. Cabe mencionar que si bien hemos desarrollado esta función desde cero, existe un módulo en Perl conocido como CGI.pm que entre otras, incluye esta funcionalidad, con lo que nos evitaríamos su programación. La funcionalidad asociada a la generación del login y password del usuario final ya fue descrita en el Paso 1, no obstante, es conveniente hacer mención a su código para analizar cómo son establecidas las variables NombreUsuario, ClaveUsuario, CodigoError y MensajeError que serán utilizadas con posterioridad para cargar sus valores en la plantilla HTML ya diseñada. Una vez procesados los datos de entrada, lo siguiente será cargar la plantilla HTML a utilizar para mostrar tal información al usuario final:
}
return %FormularioHtml;
$PlantillaHtml = HTML::Template ->new (filename => "$TEMPLATE_PATH/
}
UsuarioClave.tmpl");
www.lpmagazine.org
69
para programadores HTML/Perl/Plantillas/Apache/mod_perl
Listado 3. Generación del login y password con los datos del formulario Web inicial sub GenerarNombreUsuarioClave {
Ubica en este directorio tu fichero index.html $prompt>mkdir perl-bin
# Generar nombre de usuario if (defined($NombreCompleto) && length($NombreCompleto)) { $NombreUsuario = (split (/ /, $NombreCompleto))[0];
}
$prompt>cd perl-bin Ubica en este directorio tu fichero GenerarUsuarioClave.pl $prompt>cd .. $prompt>mkdir plantillas
else {
$prompt>cd plantillas
$NombreUsuario = "Desconocido";
Ubica en este directorio tu fichero
}
UsuarioClave.tmpl
# Generar clave asociada if (defined ($DiaNac) && defined ($MesNac) && defined ($AnyoNac)) { if (length($DiaNac) && length($MesNac) && length($AnyoNac)) { $ClaveUsuario = $DiaNac . "_" .
Puesta en marcha
$MesNac . "_" .
Veremos como configurar nuestro servidor Web Apache 2 para poder comprobar el correcto funcionamiento de nuestra pequeña aplicación como paso previo a la posterior
$AnyoNac; }
else {
$CodigoError = 1; $MensajeError = "<BR>No hay datos suficientes para
generar la clave<BR>";
else {
$CodigoError = 1; $MensajeError = "<BR>No hay datos definidos para generar la clave<BR>";
} }
La referencia TEMPLATE_PATH es una variable de entorno que indica la ruta donde se ubican las plantillas HTML para nuestro proyecto y que será definida por el servidor Web Apache. El fichero UsuarioClave.tmpl es la plantilla HTML que diseñamos en el paso 3. Para la carga de la plantilla HTML, nuestro script debe hacer uso del método new() proporcionado por el módulo HTML: :Template. Cargada la plantilla HTML, deberemos cargar el valor de las variables a utilizar por la misma, para lo cual haremos uso del método param() del módulo HTML::Template. Realizada la carga de datos en la plantilla HTML imprimiremos el resultado final de nuestra plantilla con el método output() del módulo HTML::Template, para lo cual antes deberemos especificar el tipo de documento tal y como se indica en el siguiente fragmento de código.
Una vez terminada la edición de nuestro script CGI, no deberemos olvidar dotarle de permisos de ejecución, pues no debemos olvidar que será la parte del servidor que se ejecutará para procesar la información enviada por el cliente.
print "Content-Type: text/html\nn",
$prompt>cd AplicacionWeb
Paso 5. Estructura del proyecto Una vez creados todos los ficheros, ya sólo nos quedará definir una estructura para los mismos. Esta estructura será importante porque la posterior configuración del servidor Web Apache se realizará en función de la misma. Hagamos un pequeño sumario de los ficheros creados ahora. (ver Tabla 3). Ubicaremos estos ficheros en una estructura de directorios como se indica a continuación: $prompt>cd $HOME
Si aún no sabes muy bien en qué lugar de la red se ubica tu script CGI o cómo son enviadas las peticiones a éste o incluso cuál es la relación entre cliente-servidor-script CGI, este es el momento de echar una ojeada a lo que viene a continuación. Cuando el usuario especifica una dirección URL en su explorador Web, éste se comunica con un determinado servidor realizando una petición por tal recurso, que en nuestro ejemplo no será otro sino el formulario Web inicial. Una vez que el cliente o usuario ha completado el formulario y pulsa el botón Aceptar del mismo, el explorador Web accede a la URL del script CGI. En esta URL, se especifican los parámetros que se harán llegar al script CGI y que no son otros que los valores insertados en el formulario Web inicial y que como se puede apreciar en el siguiente ejemplo, siguen el formato NombreElementoFormulario_1=Valor_1&
NombreElementoFormulario_2=Va-
lor_2&
NombreElementoFormulario_n=Va-
lor_n.
Por ejemplo, si el usuario de nuestra aplicación insertara como nombre completo Pedro Picapiedra y fecha de nacimiento 20 Enero 1990, la petición URL generada sería de la forma http://localhost:8080/perl-bin/ GenerarUsuarioClave.pl?
$prompt>mkdir AplicacionWeb LinuxPlus
70
publicación en Internet.
Cada uno en su sitio
} }
$PlantillaHtml->output;
Hecho esto ya estamos listos para probar nuestro ejemplo, pero antes deberemos configurar nuestro servidor Web Apache.
LinuxPlus
Linux+ 12/2006
NombreCompleto=Pedro+ Picapiedra&DiaNac= 20&MesNac=Enero&AnyoNac=1990
Pรกginas recomendadas
www.diariolinux.com
www.elguille.info
www.gatolinux.blogspot.com
www.opensourcespot.org
www.hispabyte.net
www.linuxdata.com.ar
www.linuxhispano.net
www.linuxsantafe.com
www.usla.org.ar
Pรกginas recomendadas www.mundopc.net
para programadores HTML/Perl/Plantillas/Apache/mod_perl remos a cabo una serie de operaciones acompañadas con la especificación de las líneas que se indican a continuación:
Listado 4. Registro de las variables a ser utilizadas por la plantilla HTML # Actualizar el nombre del usuario a fin de ser mostrados en la # plantilla HTML. if (defined ($NombreCompleto)) {
•
# Actualizar la clave del usuario a fin de ser mostrados en la
Establecemos como puerto de escucha y dirección IP de Apache nuestra propia máquina. Listen localhost:8080, Establecemos la ruta raíz de nuestro proyecto como aquella a partir de la cual se servirán las peticiones realizadas al servidor Web Apache DocumentRoot Ruta absoluta de $HOME/AplicacionWebLinuxPlus/”, Algunas características especiales de acceso a directorios:
# plantilla HTML.
<Directory "Ruta absoluta de
$PlantillaHtml->param (NombreCompleto => $NombreCompleto);
}
• •
# Actualizar el nombre del usuario a fin de ser mostrados en la # plantilla HTML. if (defined ($NombreUsuario)) {
$PlantillaHtml->param (NombreUsuario => $NombreUsuario);
}
•
if (defined ($ClaveUsuario)) {
$HOME/AplicacionWebLinuxPlus/">
$PlantillaHtml->param (ClaveUsuario => $ClaveUsuario);
Options +Includes -FollowSymlinks
}
-Indexes AllowOverride None
# Actualizar el código y mensaje de error a mostrar en la plantilla
Order deny,allow
# HTML en el supuesto caso de que hubiera habido alguno.
Allow from all
#
# Deny from all
# Nota: La existencia del mensaje de error va ligada a un valor
•
# 1 en el código de error. $PlantillaHtml->param (CodigoError => $CodigoError);
absoluta
de
$HOME/
Options
-FollowSymLinks
+Includes
+MultiViews
}
•
Probablemente ahora se comprenda mucho sino que incluye muchos otros beneficios mejor el código empleado en la rutina Reco- que precisarían de otro artículo o incluso pilarDatosFormulario, vista con anteriori- de un libro para comentarlos. • dad.
72
"Ruta
AplicacionWebLinuxPlus/">
$PlantillaHtml->param (MensajeError => $MensajeError);
Una de las críticas más extendidas del uso de CGI es que se precisa crear un proceso hijo cada vez que un script es ejecutado. Y esto puede ser un gran problema sobre todo para aquellos servidores con una elevada tasa de peticiones. La solución a este problema pasa por la utilización del módulo escrito por Doug MacEachern, mod_perl, y de cuya distribución se encarga CPAN, aunque lejos de ser un módulo de Perl, es un módulo del propio servidor Web Apache. Básicamente, este módulo se caracteriza porque los scripts CGI son precompilados por el servidor y ejecutados sin levantar las costosas instancias de procesos hijo, con lo que se procura una notable mejoría en cuanto al desempeño del servidor Web se refiere. Sin embargo, este módulo no está diseñado únicamente para mejorar la eficiencia (aunque sea por este motivo lo que lo haya hecho tan popularmente utilizado),
Algunas otras para ficheros:
<Files
if (defined ($MensajeError)) {
Buscando la eficiencia
</Directory>,
Y por fin, la configuración de Apache
• Una vez instalada la versión 2 de Apache, lo siguiente será proceder a su configuración para poder comprobar el correcto funcionamiento de nuestra aplicación Web. Vamos a crear una configuración básica para probar nuestro ejemplo y que podrás ampliar en el futuro alguna de las múltiples propiedades que nos ofrece este conocido servidor Web. • Comencemos (y terminemos) la configuración de Apache con la edición (en modo root) del fichero httpd.conf, sobre el que lleva-
</Files>,
Carga del módulo mod_perl:
LoadModule perl_module modules/mod_ perl.so,
Y finalmente la configuración de mod_ perl, a la que dedicaremos un poco más de tiempo, El módulo ModPerl::Registry, también localizado como Apache::Registry, es el encargado de emular el entorno CGI. Con este módulo, cada script CGI es compilado y cargado únicamente la primera vez que es llamado, permaneciendo disponible para las sucesivas llamadas a ese script CGI: PerlModule ModPerl::Registry,
Al contrario que muchos scripts CGI, los scripts que utilizan ModPerl::Registry se localizan en un directorio diferente a /cgi -bin/, como por ejemplo /perl-bin/. Por
Tabla 3. Sumario de ficheros Fichero
Descripción
index.html
Página inicial del proyecto con el formulario Web utilizado para la inserción de los datos del usuario o cliente.
UsuarioClave.tmpl
Plantilla HTML para mostrar los datos procesados por el script CGI del servidor.
GenerarUsuarioClave.pl
Script CGI que procesa los datos del usuario cliente y muestra el resultado del procesamiento en la plantilla HTML.
Linux+ 12/2006
para programadores HTML/Perl/Plantillas/Apache/mod_perl
������� ���������������
�������� ���
���
����������������������������� ����������� ����������������������� ���������� ��������������������� ��������������
����������������������� �������������� ���������������� ������������
������������ ����������������
������������ ����������������
Figura 4. Relación entre cliente-servidor-script CGI
•
este motivo debemos definir un alias que Finalizada la configuración del servidor con algunas soluciones de segunda generaapunte a este directorio: Web Apache, sólo nos quedará: ción, permitiendo la generación de conteniAlias /perl-bin/ dos dinámicos y haciendo más sencilla la Ruta absoluta de $HOME/ • Iniciarlo (como root): $prompt>apachectl construcción de aplicaciones Web que traAplicacionWebLinuxPlus/perl-bin/ start, bajan con múltiples tecnologías como serviDefinimos un manejador para la localiza- • Abrir nuestro explorador web preferido dores Web, navegadores, servidores de apción definida por /perl-bin/: y solicitar la URL: http://localhost:8080/, licaciones y otras herramientas de desarro<Location /perl-bin> • Probar que nuestra pequeña aplicación llo. SetHandler perl-script Web funciona como esperábamos. PerlHandler ModPerl::Registry PerlSendHeader On
Tu turno ...
Si ya tienes esta pequeña aplicación disponi</Location>. ble en tu propio servidor Web, y sobre todo, si has podido comprobar la potencia combinaSe utiliza el manejador perl-script para dar el da de todas estas tecnologías, no te conformes control al módulo mod_perl. con esto, ¡sigue avanzando!. Algunos de los La directiva PerlHandler es empleada puntos con los que podrías continuar son: para indicar a mod_perl que el módulo ModPerl::Registry deberá ser usado para servir • Elaboración de plantillas HTML más coma todos los ficheros del directorio definido plejas, por /perl-bin/. • Generar nombres de usuario y claves meLa directiva PerlSendHeader es empleadiante mecanismos más complejos y seda para indicar a mod_perl que envíe líneas guros, de respuesta y cabeceras comunes. ExecCGI • Diseñar tus propios ejemplos o desarroes una cabecera estándar de Apache que inllos, así como configurar tu propio servidica al propio servidor Web que trate a los dor Web acorde a tus necesidades. scripts bajo /perl-bin/ como scripts CGI: Options +ExecCGI
•
este mecanismo fue muy criticado debido al problema de escalabilidad que presenta (actualmente solventado con mod_perl), ya que se crea un nuevo proceso por cada petición. Más tarde surgieron las soluciones de segunda generación, proporcionadas por los vendedores de servidores Web en forma de plugins y APIs para sus propios servidores. El principal problema que presentaban estas soluciones es que eran específicas para cada producto. Un claro ejemplo de este tipo de soluciones son las páginas ASP (Active Server Pages) o los Servlets, que facilitaban la tarea de escribir aplicaciones residentes en un servidor Web empleando la tecnología Java. Y como no hay dos sin tres, surgieron las soluciones de tercera generación que no son sino las páginas JSP (Java Server Pages), que permiten combinarse de forma sencilla
De forma adicional, establecemos una variable de entorno que será transferida al manejador del módulo mod_perl y que podremos utilizar en nuestros scripts CGI para obtener la ruta en la cual se ubica la plantilla HTML que para nuestro ejemplo hemos definido.
Pero, ¿hay algo más aparte de la programacióncon CGI?
Por supuesto que hay algo más. Hasta hace unos años, la programación con CGI era el único medio de proporcionar interacción entre el cliente y el servidor llegando a consolidarse como soluciones de primera generación en lo que a materia de creación de siPerlSetEnv TEMPLATE_PATH Ruta absoluta tios Web dinámicos se refiere. No obstante, de $HOME/AplicacionWebLinuxPlus/plantillas. como ya comentábamos con anterioridad,
www.lpmagazine.org
Para terminar
Como hemos visto a lo largo de estas líneas, Perl y Apache constituyen una de las opciones más interesantes y económicas para la generación de sitios Web de contenidos dinámicos. Si qiueres profundizar más el tema, en el recuadro encontrarás direcciones que te serán muy útiles en tu futura investigación. ¡Te deseamos buena suerte!
En la Red •
• • •
•
Especificación HTML: www.w3.org/TR/REC-html40 www.w3.org/pub/WWW/MarkUp/ HTML::Template search.cpan.org/ Especificación CGI www.w3.org/CGI/ FAQ de CGI: www.webthing.com/tutorials/ cgifaq.html Apache: www.apache.org/ mod_perl perl.apache.org/
73
seguridad Conseguir un certificado a buen precio
Certificado digital a buen precio Jordi Espasa Clofent
linux@software.com.pl
Desde hace años Internet ha pasado a ser una tecnología básica en el quehacer diario de las personas: podemos hacer casi todo a través de la red. El problema principal es que cuando la pila de protocolos TCP/IP que vertebran Internet fueron diseñados, no se tuvo en cuenta a lo que llegaría esa tecnología y, por consiguiente, las implementaciones de seguridad fueron pocas. Para resolver esta problemática actual de la pila TCP/IP (en su actual versión 4) existen varios métodos para asegurar las comunicaciones entre las partes. El más extendido es el uso del cifrado.
E
n este artículo nos centraremos en el uso de los certificados digitales, los cuales están basados en el cifrado. Y además intentaremos que salga • económico para nuestros bolsillos.
Cuestiones previas
Para poder hablar de certificados digitales debemos tener claros, al menos, 3 puntos: los principios básicos, tecnología SSL y el cifrado de llaves asimétricas.
Los principios básicos
•
Para que las comunicaciones entre dos partes mediante Internet sean seguras, se deben cumplir cuatro requisitos. •
74
ticidad: se hace pasar por otro engañando así a la otra parte de la comunicación, Confidencialidad: Los datos deben viajar de manera segura, es decir, de forma confidencial. Esto no significa que físicamente la línea de comunicación se aisle (cosa imposible) sino que los datos deben estar cifrados, por si alguien los llegara a interceptar no le fueran de utilidad alguna. Evidentemente, el emisor y el receptor de la comunicación cifrada tienen los medios necesarios para descifrar esos datos y hacerlos útiles, Integridad: La integridad de los datos tiene que ser completa. Los datos deben llegar a su destinatario tal y como fueron generados por parte del emisor. Este concepto está muy relacionado con el de confidencialidad, No repudio: Una vez las comunicaciones seguras se han efectuado, ninguna de las partes implicadas puede repudiar la otra. Este concepto es especialmente importante al hacer gestiones de carácter económico.
• Autenticidad: Las partes deben ser quienes realmente dicen ser. Además esta identificación debe ser comprobable por medios más allá de la Red. Si una parte se comunica con otra sin saber si realmente es o no quien cree, la comunicación segura no puede existir. SSL De hecho existe una técnica de hacking llamada phis- Una de las tecnologías que se usarán para poder conseguir hing y que, precisamente, ataca el principio de auten- los cuatro principios antes expuestos será SSL. SSL signi-
Linux+ 12/2006
seguridad Conseguir un certificado a buen precio fica Secure Sockets Layer y es una tecnología originalmente desarrollada por la compañía Netscape, que en 1996 liberó la versión 3. SSL hace uso del cifrado y dentro del modelo de capas TCP/IP se situaría entre la 3 (capa de transporte) y la 4 (capa de aplicación). Esto provoca que muchísimas aplicaciones puedan implementar fácilmente a SSL, asegurando así la integridad de los datos. El Internet Engineering Task Force (IETF) desarrolló años después su propia versión de SSL, la TLS (Transport Secure Layer). TLS 1.0 mejora a SSL en varios aspectos pero las diferencias son pequeñas y la compatibilidad entre ambas tecnologías es completa. Recientemente se ha aprobado la versión 1.1 de TLS. En relación a la tecnología SSL, mención especial debe hacerse al proyecto OpenSSL que es un proyecto de software libre que implementa SSL/TLS en un pack de herra-
ventajas por encima del cifrado con llaves • simétricas.
mientas muy versátiles y potentes.
X.509v3 de la UIT-T (Sector de Normalización de Telecomunicaciones, dentro de Unión Internacional de Comunicaciones). Siendo incluso más detallistas tenemos que comentar que el propio formato X.509v3 tiene varios formatos de codificación, los más comunes: DER (Distinguish Encoding Rules) o PEM (Privacy Enhanced Mail). Analicemos con más detalles los componentes nombrados arriba.
Cifrado de llaves asimétricas
¿Qué es un certificado digital y para qué sirve?
Técnicamente un certificado digital es un docu- • mento electrónico que cumple con los cuatro principios antes expuestos mediante el uso de tecnología SSL/TLS. Luego entonces, un certificado digital será un método fiable para asegurar las comunicaciones entre las partes a través de Internet.
¿Qué contiene?
Datos del titular. Al ser una cuestión de saber quién es quién, evidentemente los datos del titular son una información esencial. Estos datos aparecen en el certificado digital. Firma de la autoridad de certificación. La autoridad de certificación (CA, Certification Authority en inglés) es una entidad de confianza responsable de emitir, revocar o firmar los certificados digitales. Es básicamente un tercero que firma el documento en constancia de que, efectivamente, el titular de ese certificado digital realmente es quien dice ser.
Un certificado digital contiene la clave pública del titular, los datos del titular y la firma Un certificado digital forma parte de todo por parte de la autoridad certificadora. un conjunto llamado PKI (Public Key Infraestructure). PKI es una combinación de ¿Qué formato tiene? hardware y software cuyo objetivo es la Existen varios formatos para los certificados di- identificación correcta de las partes que gitales aunque el estándar de facto es el modelo participan en una comunicación electróni-
El cifrado de llaves asimétricas se basa en el uso de 2 llaves distintas. Una de las llaves, la pública, será de público acceso mientras que la otra, la privada, nunca se facilitará a nadie. La gran ventaja del cifrado de llaves asimétricas es que los datos cifrados con determinada llave pública, sólo son descifrables por la llave privada que le corresponde. Así pues nos aseguramos que la in- • formación sólo será usable por el real destinatario. Vamos a tomar un ejemplo: Alice genera un par de llaves asimétricas y las llama alice.pub y alice.key. Evidentemente alice.pub es la llave pública y alice.key es la llave privada. Por su parte, Bob hace lo mismo. Entonces Bob quiere enviar datos de manera segura a Alice, así que toma su llave pública (que, al ser pública, Alice tiene colgada en su sitio web o disponible de cualquier otra manera) y mediante su llave privada, genera los datos cifrados.Esdecir: alice.pub+bob.key+datos=
Clave pública del titular. Si pone en el certificado su llave pública, facilitando así por parte del emisor el envío seguro de datos tal y como antes hemos expuesto en la explicación del cifrado de llaves asimétricas.
ca. Para que entendamos mejor las cosas (el PKI suele ser un concepto abstracto para muchos): dentro de la PKI cabe tanto un certificado digital como una autoridad de certificación. Esto ya nos da una idea de para qué sirve el certificado digital: para identificar sin posibilidad de error (de manera confiable) a las partes que toman acción en una comunicación electrónica. O dicho más llanamente: saber que el que dice ser alguien, efectivamente y realmente, es ese “alguien”. Está claro que el elemento de la correcta y confiable identificación de las partes es absolutamente esencial para determinados trámites que, a día de hoy, son muy comunes
datos cifrados.
La gracia está en que como se ha utilizado alice.pub para generar los datos cifrados, estos sólo son descifrables mediante alice.key. No hay otra manera. Así pues, sólo mediante alice.key se podrán hacer útiles los datos. El cifrado de llaves asimétricas apareció como respuesta a limitaciones técnicas del método de llaves simétricas. También tiene algún inconveniente (llaves de mayor tamaño, los datos cifrados ocupan más que los propios datos...) pero básicamente presenta Figura 1. Conexión asegurada con SSL
www.lpmagazine.org
75
Para obtener un certificado digital necesitamos que una CA (recordemos, Certification Authority, Autoridad Certificadora) compruebe y avale nuestros datos. Es decir, que la CA comprobará todos los datos que le
recido otras empresas en el mercado que diversifican la oferta y, por lo tanto, abaratan los precios del producto. ComodoGroup (empresa que empezó y sigue con productos como antivirus y cortafuegos, pero ha hecho su gran salto con la certificación) aparece como tercero en el mercado con más de un 15% del mercado; otros son GeoTrust, Entrust o GoDaddy. Lo primero que tenemos que tener en cuenta acerca del precio es que, por norma general, cuanto más pagas mejor es el certificado. Entrecomillamos mejor porque no siempre es así. Las CA lo que hacen es comprobar la veracidad de los datos aportados por el candidato a obtener el certificado, asíque, cuanto más pagues más extensa y fiable es esa comprobación. Hay casos determinados (como la Administración o entidades de similar categoría) que la única opción es obtener un certificado de la máxima confi-
nos ofrecen es menos fiable también. En última instancia es una decisión a tomar por parte del candidato a obtener un certificado digital: pagar más y disfrutar de más prestigio y que los clientes/usuarios del certificado se sientan más seguros o pagar menos y tener un certificado menos prestigioso. Un caso habitual con el que nos encontraremos (como ocurrió en nuestra empresa) es que nuestro proveedor de hosting sólo trabaje con determinada compañía de certificación digital. Puede darse el caso que el certificado digital que nos facilita el proveedor de hosting supere con creces nuestro límite económico. En ese caso los proveedores suelen dar la posibilidad de que les facilitemos nosotros los certificados, con lo cual deberemos hacer nosotros la gestión. En nuestro caso en particular nuestro
facilitemos y dará fe de la veracidad de los mismos firmando con su signatura digital nuestro certificado. Y esa faena de comprobación es un servicio que se va a tener que pagar, claro. El problema real es que hasta hace muy poco el mercado de los certificado digitales estaba casi monopolizado por la famosa empresa Verisign; además, en 1999 Verisign compró las acciones de su principal competidora mundial: Thawte Consulting. A día de hoy entre esas dos empresas (que están muy estrechamente relacionadas), copan más del 70% del mercado. Y aunque ambas empresas a día de hoy están ofreciendo productos más o menos asequibles, tradicionalmente sus servicios han sido (y son) caros. Pero el mundo no acaba en esas dos empresas y desde hace un tiempo han apa-
abilidad y, por lo tanto, siempre irán a los productos de más precio. Esto es debido a que las CA están dispuestas mediante una jerarquía de árbol. Es decir, no es lo mismo (dicho en otros términos: no es igualmente confiable) la comprobación que hará una CA de alta jerarquía que una CA de más baja jerarquía. El último peldaño de la jerarquía está ocupado por las Root CA (Autoridades de Certificación Raíz), que cómo su propio nombre indica, son la raíz de la jerarquía y, por tanto se firman a ellas mismas. Las PYMES tendrán que pagar entre 500 a 1000 o más euros por un certificado (que además son de duración anual); y eso a veces puede significar un gasto a tener en cuenta. Es ahí donde entran proveedores de certificados digitales que ofrecen precios más asequibles. Ahora bien, desengañémonos: son más baratos, pero el servicio que
proveedor sólo trabaja con Verisign y el precio del certificado superaba los 600 euros, así que no lo consideramos viable. Pero el proveedor nos informó que podía instalar en los servidores cualquier otro certificado (incluso un certificado autofirmado) que le enviáramos por un pequeño precio (poco menos de 50 euros) así que procedimos a la obtención de otro certificado que se ajustara más en precio.
en el uso de Internet: gestión bancaria, pagos online, comercio electrónico, consultas especializadas, trámites administrativos y, en general, cualquier servicio que traspase el puro ocio y entretenimiento. Ahora bien, obtener un certificado digital es un trámite que puede llegar a ser complejo. Señalar que decimos obtener y no generar. Como explicaremos más adelante, la generación de un certificado digital autofirmado puede ser cuestión de minutos. Pero la obtención de un certificado (con la firma de una autoridad de certificación reconocida) es todo un proceso.
El dilema del precio
Figura 2. Recuarda rellenar el formulario correctamente
76
Linux+ 12/2006
Alternativas
Llegados a este punto explicaremos tres alternativas distintas para poder obtener un certificado digital a bajo coste (o sin él): certificados autofirmados con OpenSSL, Cacert.org y certificados asequibles.
Certificados autofirmados Mediante la herramienta OpenSSL podemos generar un certificado digital y, además, firmarlo nosotros mismos. Es decir, nosotros mismos estamos actuando de CA. Dichos certificados tienen la ventaja del coste cero y la desventaja que nadie tiene porqué creer en nosotros (que no somos ni mucho menos una CA). Ahora bien, los certificados digitales autofirmados son seguros a nivel de cifrado, así que aunque no tengan la confiabilidad por lo que a identidad respecta, sí la misma confiabilidad en lo que a cifrado respecta. Este tipos de certificados suelen ser más o menos habituales en las listas de correos, donde puede interesar que las comunicaciones sean seguras mediante cifrado y no importa tanto si el usuario cree o no que somos quien decimos ser.
seguridad Conseguir un certificado a buen precio Evidentemente los certificados autofirmados no son demasiado aconsejables en sitios donde haya dinero de por medio (gestión bancaria, e-commerce y cualquier otro servicio que implique pagos online), pues en esos entornos el cliente necesita, y muchas veces exige, conocer bien la identidad de la otra parte. Para generar un certificado autofirmado mediante OpenSSL, haríamos los siguiente: openssl req -newkey rsa:1024 x509 -nodes -out server.pem -keyout server.pem -days 365
Seguidamente nos aparecerá un pequeño formulario a rellenar con nuestros datos. Es importantísimo hacerlo correctamente, pues estos mismos datos son los que nos identifican. Por lo que respecta al comando, estamos generando un par de llaves nuevas de cifrado rsa de 1024 bytes, un certificado con formato x509 y válida durante un año. De todas maneras es muy importante tener en cuenta que OpenSSL es tremendamente potente con lo cual es obligatorio repasar la documentación del paquete para poder emplear (y entender) todas sus posibilidades.
CAcert.org Cacert.org es una organización que emite certificados de manera gratuita. Es un proyecto que pretende ser una poderosa herramienta en el mundo del Software Libre. Desde ahí se nos facilitan todas las herramientas para que nosotros podamos gestionar la obtención de nuestro certificado digital. Aunque Cacert.org tiene un gran inconveniente: no comprueba realmente los datos del emisor. Al fin y al cabo, simplificando mucho, es como un certificado autofirmado que en lugar de ser firmado por nosotros mismos, lo firma Cacert.org o mejor dicho, nos deja que nosotros utilicemos su llave pública para firmarlo.
Certificados asequibles Antes hemos mencionado que existen certificados a precio asequible. El sitio www.whichssl.com es un recurso excelente donde se comparan los diferentes proveedores, sus precios y sus características. Desde ahí podemos decidir rápidamente que proveedor está ofreciendo el producto que más se adapta a nuestras necesidades económicas y de seguridad. El sitio ofrece además información muy valiosa acerca de qué es un certificado digital, para qué lo queremos, cómo se obtiene. Además tiene secciones informativas acerca de cada producto. Lo más inte-
resante de todo es que no pretende que la gente obtenga un certificado barato, sino que obtenga el certificado que necesita. Ya hemos comentado anteriormente que no siempre nos va a interesar el más bajo precio, sino que al final acaba siendo una decisión que contempla varios aspectos, no sólo el económico. Un aspecto que nos interesará especialmente será el de la compatibilidad con los navegadores. Los navegadores disponen de una lista con las diferentes CA y sus llaves públicas; de esta manera pueden identificar los certificado digitales y establecer las pertinentes conexiones seguras. Tenemos que ser conscientes de que el certificado elegido figure como compatible con los navegadores para que el cliente no obtenga molestos mensajes diciéndole que el certificado no es seguro. Precisamente este tipo de avisos son generados por los navegadores al encontrarse con certificados autofirmados, que como tales no
antes de escribir. Especialmente crítica es la línea que contiene la entrada Common Name (ej., YOUR name) []: ya que no es lo mismo decir que el certificado será para mail. multivia.com, que para www.multivia.com que para secure.multivia.com. •
• •
Acabar de rellenar el formulario según las precisas instrucciones facilitadas. Se debe prestar atención a todos los puntos, porque todos serán relevantes en la obtención de nuestro certificado. Proceder al pago mediante un medio seguro. El proveedor se pone en contacto con el cliente que le ha enviado la petición y le informa que se procede a la comprobación de los datos facilitados.
Si los datos facilitados son los reales, al cabo de un tiempo se nos facilitará el certificado
corresponden a ninguna CA reconocida. En avalado por la CA. La CA firmará el certificado este caso el navegador nos avisa y nos suele mediante su llave pública. ofrecer la posibilidad de aceptar o rechazar la En nuestro caso facilitamos todo correctaconexión. mente, pero nos encontramos que el dominio de la empresa estaba a nombre del gerente (a su Obtener un certificado persona) y no como propiedad de la empresa. de precio asequible El proveedor del certificado se puso en contacNuestra empresa tomó la ultima opción como to con nosotros, nos informó; procedimos a los la más óptima, así que a partir de las compa- cambios pertinentes y no hubo más inconverativas expuestas en www.whichssl.com decidi- niente. En sólo 3 días (contando además este mos cuál era el certificado digital que más se “problema” con el dominio) y poco más de 100 adaptaba a nuestras necesidades económicas euros habíamos obtenido nuestro certificado y de seguridad. Al final nos decidimos por un digital. certificado emitido por www.instantssl.com, A favor de esa empresa tenemos que decir que pertenece a Comodo Group. que el soporte fue excelente y rápido y no hubo El proceso de obtención fue el siguiente: ningún tipo de problemas. Evidentemente, la lengua usada fue el inglés y eso se tiene que • Dirigirnos a la página del proveedor y ac- tener en cuenta también, aunque normalmente ceder a la compra del producto deseado. en entornos empresariales no significa ningún • Proveer la CSR. La autoridad certificado- tipo de problema. ra necesitará una CSR (Certificate Signing Request), es decir, la petición a validar. Conclusión Dicha petición la generaremos con la Los certificados digitales se han convertido herramienta que dispongamos. En todo en esenciales para un uso seguro y confiable caso el proveedor da detallada informa- de las comunicaciones por Internet. Tenemos ción de cómo hacerlo en cada caso. En varias opciones para la obtención de un cerel nuestro en particular, al disponer de tificado digital: desde gratuitas hasta muy máquina GNU/Linux con OpenSSL, el caras. Todo dependerá de nuestras necesidacomando fue el siguiente: des y del uso concreto que vayamos a darle openssl req -new -nodes -keyout al certificado. myserver.key -out server.csr
Insistimos en el hecho de que se tiene que ser muy cuidadoso al rellenar los datos de la petición, pues estos serán los que la CA comprobará. Si nos equivocamos, la petición acabará siendo un proceso inútil. Vale la pena pararse a pensar que e-mail o que dirección poner
www.lpmagazine.org
En la Red • • • •
http://www.whichssl.com/ http://www.cacert.org/ http://www.openssl.org/ http://www.pki-page.org/
77
entrevista Women's Summer Outreach Program 2006
Women's Summer Outreach Program 2006 Esperamos, que este programa haya ayudado a las mujeres a entender que tienen todas las habilidades necesarias para colaborar con estos proyectos y que pueden colaborar con ellos...
W
omen's Summer Outreach Program 2006 es un proyecto que ha sido realizado este verano que consistía en que seis mujeres trabajaran en diferentes proyectos relacionados con GNOME. Cada proyecto duró dos meses y cada participante recibió una beca de 3000 $. Hoy entrevistamos a Vincent Untz – coordinador del proyecto Women's Summer Outreach Program 2006 y a dos chicas españolas que participaron en él – María Soler y Cecilia González. Primero hablamos con Vincent. Linux+: ¿Cómo surgió la idea? Vincent Untz: Cuando estábamos examinando las solicitudes recibidas para Google's Summer of Code, algunos nos dimos cuenta de que ninguna de ellas correspondía a ninguna mujer. La Fundación GNOME quería financiar proyectos con el dinero obtenido a través del Summer of Code, y Chris Ball sugirió que usáramos este dinero para financiar un programa dirigido a la mujer, con una meta: conseguir que más mujeres participen en nuestra comunidad. Todos recibieron la noticia con mucho agrado, naciendo así el programa Women's Summer Outreach Program. Es importante darnos cuenta de que no les hemos esperado menos resultados por el hecho de que los participantes en estos programas sean mujeres, al contrario: los proyectos han sido proyectos de programación, igual de duros, si no más, que los proyectos del Summer
78
María Soler
Cecilia Gonzáles
of Code. Una de nuestras metas es mostrar que las mujeres pueden ser tan buenas como los hombres a la hora de hacer este tipo de cosas. L+: El abismo existente entre mujeres y hombres en el mundo de la informática es inmenso. Las cifras muestran que los hombres llevan ventaja en este campo. ¿Qué piensas? ¿Cuales son los motivos de esta situación, y cómo pueden cambiar las cosas? VU: El estudio FLOSSPOLS muestra que, en el 2002, el 25% de los desarrolladores de software propietario eran mujeres, mientras que en cuanto al software libre sólo el 1.5%. Aunque no soy un experto en este área, esta cifra del 25% puede probablemente explicarse por las diferentes formas que se utilizan para educar a niños o niñas. Sin embargo, lo más interesante de estas cifras es que podríamos esperar que el 25% de los desarrolladores de software libre sean mujeres. No es porque los proyectos de software libre sean hostiles hacia las mujeres. Pero hay algunos comportamientos en las comunidades del software libre que no son atractivos para ellas, y no hay suficientes modelos femeninos en el software libre. Es una especie de círculo vicioso, porque para conseguir más mujeres que quieran incorporarse necesitamos que se incorporen más mujeres, y que sean activas. Estamos tratando de romper este círculo. L+: ¿Cuál es el futuro de vuestra iniciativa? ¿Pensáis en repetirla o en desarrollar otros proyectos para mujeres?
Linux+ 12/2006
Vincent Untz
VU: Esperamos que no tengamos que hacer este programa nunca más, porque ello querrá decir que ya no lo necesitamos más, y que las mujeres se sienten cómodas en nuestra comunidad. También tenemos el Grupo de Mujeres de GNOME, en activo desde hace unos cuantos años (http://live.gnome.org/GnomeWomen). L+: Ahora que el proyecto ya está casi terminado, ¿Cómo lo valoráis? ¿Qué éxitos y fracasos habéis conseguido? VU: Creo sinceramente que ha sido todo un éxito, por muchas razones: •
•
•
•
Mucha gente se ha dado cuenta del problema de la integración de las mujeres en nuestras comunidades, gracias a WSOP. Esta era una de las metas específicas que queríamos conseguir, queríamos hacer público el problema, que la gente pensara sobre ello, y que trabajaran para solucionarlo. Muchas mujeres han comprendido que pueden contribuir en GNOME, y eso es estupendo. Nuestras seis participantes han producido código útil. Personalmente, estoy especialmente orgulloso del trabajo que han hecho en la edición de expresiones MathML y en la integración con la pantalla en gnometerminal.
Además, desde el punto de vista del proyecto GNOME, esperamos que los estudiantes sigan
entrevista Women's Summer Outreach Program 2006 contribuyendo a largo plazo. Esperamos, también, que este programa haya ayudado a las mujeres a entender que tienen todas las habilidades necesarias para colaborar con estos proyectos y que pueden colaborar con ellos. Además, las mujeres que han participado serán capaces de convertirse en modelos para otras mujeres, y eso es muy importante para seguir atrayendo a más gente. L+: ¿Cuántas mujeres enviaron las solicitudes de participación, y cómo fue el proceso de selección? VU: Recibimos más de 100 solicitudes, lo que representó mucho más de lo que esperábamos. Muchas de las solicitudes fueron de muy alto nivel, y nos entristece no haber podido aceptarlas a todas. Para el proceso de selección, miramos a los proyectos presentados y evaluamos cuales serían más útiles para la comunidad GNOME, y su dificultad. No fue una decisión sencilla, puesto que había muchos buenos proyectos
L+: ¿Cómo evaluáis los resultados conseguidos por las mujeres? ¿Estáis satisfechos? VU: Como ya he dicho en la cuarta pregunta, estamos satisfechos con los resultados. Esperamos que Cecilia, Clare, Fernanda, Maria, Monia y Umran continúen trabajando en la comunidad. Definitivamente, podrían hacer un excelente trabajo en ella. Y ahora María y Cecilia nos hablarán de sus experiencias relacionadas con el proyecto y con Software Libre en general. L+: Por lo general a las mujeres no les llama la atención esto de la informática o simplemente no les gusta. ¿Qué les llamó la atención o les gusto a ustedes en la informática? María: Hace tiempo que me gusta... te ayuda a entender cómo funcionan muchas cosas. Cecilia: Me atraen mucho las ciencias, y en especial el mundo científico y de investigación. La informática es la gran herramienta de la
L+: ¿Que les pareció más difícil en este trabajo? M: Trabajar con una aplicación no demasiado documentada y entender exactamente cómo funciona para poder trabajar sobre ella. C: La familiarización con Bonobo y GTK+, ya que no los conocía. Por suerte hay bastante documentación y además mi mentor (Federico Mena Quintero) siempre me ayudó en las dudas que le consultaba. L+: ¿Y lo más divertido, satisfactorio? M: Trabajar con la comunidad de software libre... que significa trabajar con gente de todo el mundo. (con el inconveniente de las diferencias horarias, claro!) C: Trabajar en la comunidad de GNOME, con gente que da mucho amor al software libre. L+: ¿Que han mejorado en Evolution? C: Se ha conseguido reducir el tiempo de cambio entre componentes y mantenerlo constante. L+: ¿Creen que se discrimina a las mujeres en
L+: Se han escuchado opiniones diciendo que vuestra iniciativa discriminaba a los hombres. ¿Qué piensas de esto? VU: Francamente, nos han sorprendido mucho las opiniones que ha habido sobre este programa: la mayoría fueron positivas, y esperábamos que hubiera muchas más opiniones negativas. El último informe FLOSSPOLS describe muchas oportunidades que las mujeres pierden a la hora de involucrarse con los ordenadores y el software libre, desde empezar a utilizar el ordenador a edades más tardías, estar menos dispuestas a especializarse en informática, tener pocos modelos de éxito femeninos, tener menos tiempo libre para programar que el que tienen los hombres, y sufrir discriminación sexista cuando intentan participar. Creemos que las cosas están desequilibradas, y queremos ayudar a arreglarlas. L+: ¿Quienes son los principales impulsores y patrocinadores de este proyecto? VU: Hanna Wallach y Chris Ball trabajaron muy duro para que este proyecto tuviera lugar. Mairín Duffy diseñó nuestro poster, y Raphael Slinckx ayudó con muchas otras cosas, especialmente con el sitio web. La Fundación GNOME dió su total apoyo a WSOP en todas las tareas administrativas y, por supuesto, en la financiación. Google también nos ayudó con su dinero, para poder financiar tres proyectos más, y estamos muy agradecidos por ello. Yo he tratado de ayudar cuando he podido. Además, hemos tenido a varias personas responsables de los estudiantes, como Federico Mena-Quintero, Alex Graveley, Behdad Esfahbod y Luca Padovani.
ciencia actualmente, por ese motivo me animé a estudiar la ingeniería informática y la verdad es que no me arrepiento. L+ ¿Cómo se les ocurrió la idea de participar en el proyecto para mejorar Gnome? M: Empecé a colaborar con Gnome hace un poco más de medio año, participando con el equipo de traducción de las aplicaciones de Gnome al catalán. Me puse con las traducciones porque llevaba un tiempo usando Gnome, quería colaborar de algún modo y pensé que era la forma más sencilla de empezar. C: Hacía ya unos meses que le daba vueltas a cómo poder colaborar en un proyecto de software libre, pero no veía por dónde podría empezar. Cuando se presentó el Women Summer Outreach Program vi la oportunidad que estaba esperando. L+: ¿Cómo llegaron al programa de verano para mujeres? M: A través de las listas de correo de Ubuntu Women y Debian Women, me parece. Me animé y al final presenté una propuesta. Una cosa buena es que pude hablar con alguno de los organizadores y desarrolladores en la GUADEC, que este año se hizo en Vilanova y yo estuve allí de voluntaria. C: Creo que vi un anuncio en Slashdot o Barrapunto. L+: ¿En qué consistía su trabajo? M: En desarrollar la sincronización de las notas de la aplicación Tomboy, una aplicación para tomar notas. C: En Evolution, el cambio entre componentes (correo, agenda, calendario, tareas) resultaba muy lento. Mi trabajo consistió en optimizar el tiempo de ese cambio.
el sector de SL/informática? M: No creo que de una manera directa, aunque es verdad que en este sector predominan los hombres y eso hace más difícil la entrada a las mujeres. C: Según mi experiencia, en ningún momento se nos discrimina. L+: ¿El hecho de tomar parte en el proyecto ha cambiado de alguna manera sus vidas? M: Me han entrado más ganas de colaborar con Gnome aportando código además de las traducciones. C: Mi vida profesional, sí, ya que he aprendido mucho realizando este proyecto. L+: ¿Qué piensan del proyecto Gnome, frente a la competencia KDE, FMW, Fluxbox, Vista, Leopard? M: Respecto a KDE, encuentro a Gnome más ligero y estéticamente menos cargado. El resto de proyectos no los conozco. C: No creo que pueda opinar objetivamente ya que suelo ser utilizar sólo GNOME. KDE lo conozco y, aunque no me gusta tanto como GNOME, creo que también es un gran escritorio con muy buenas aplicaciones. Cada usuario de Linux debe elegir la opción que mejor se ajuste a lo que necesita, por suerte tenemos un amplio abanico de posibilidades. Por otra parte, Vista y Leopard no los contemplo como competencia de GNOME puesto que ya no hablamos de Linux. L+: ¿Qué planes tienen para el futuro? M: Me gustaría trabajar en el mundo del sofware libre, colaborando en proyectos como Gnome. C: Me gustaría seguir colaborando con GNOME en temas relacionados con performance, en especial de Evolution.
www.lpmagazine.org
79
para principiantes Trucos y truquillos
Trucos y truquillos Leonardo Ibarra R.
Como respaldar nuestro correo en Evolution
En estos días en los que tenemos a nuestro
alcance cantidad de distribuciones Linux, tales como Ubuntu, Open Suse, CentOS, por mencionar algunas, es muy posible que se nos antoje o nos sea necesario cambiar de una distribución a otra, o tal vez tengamos que reinstalar nuestra distribución favorita por cualquier otra razón. El hecho es, que nos es necesario respaldar varios directorios y uno de ellos es el de nuestro cliente de correo electrónico Evolution, pero ¿cómo haremos esto? Antes de contestar esta pregunta cabe destacar que nuestros correos entrantes y salientes, al igual que nuestra libreta de direcciones, contactos personales, tareas y firmas se han guardado en nuestro directorio personal en el directorio .evolution, sin embargo, no basta con copiar éste a nuestro nuevo directorio personal. Para que podamos utilizar un respaldo de Evolution en nuestra nueva instalación tenemos que recurrir a la línea de comandos, haremos uso de tar, lo cual no debería representar ningún problema ya que prácticamenFigura 1. Evolution: el popular gestor de correo, con múltiples opciones te viene por default en cualquier distribución, en caso contrario lo tendremos que instalar Con esto hemos respaldado la carpeta .evo- $evolution --force-shutdown con el gestor de paquetes de nuestra distribu- lution de nuestro directorio personal, así $gconftool-2 --shutdown ción, y proceder como sigue. como las configuraciones personales, tales $tar -xvzf evolution.tar.gz Desde nuestra línea de comandos posi- como firmas y contactos, y lo hemos pasado cionados en nuestro directorio personal:
a un archivo comprimido, ahora solo bastará Ahora abrimos Evolution y nos pedirá los
pasar dicho archivo a nuestro nuevo directo- datos de costumbre, llenamos los campos rerio personal, y con la línea de comandos ya queridos, y listo, toda nuestra información es$tar -cvzf evolution.tar.gz .evolution posicionados en nuestro directorio de trabajo tará ahí. $evolution --force-shutdown .gconf/apps/evolution
procederemos como sigue:
Ánimo.
Del poder de la línea de comandos
Pues ampliando un poco más la información apropos viene muy bien en este caso, supon-
acerca de las muchas opciones que tiene la lí- gamos que el comando que estamos buscando nea de comandos, deseo compartir con ustedes tiene que ver con el reloj de nuestro sistema algunos atajos, comandos curiosos, y demás bastaría hacer: tips que me han sido muy útiles a la hora de trabajar con ésta. $ apropos clock
En primer lugar, el comando apropos, Figura 2. Resultado de apropos cuantas veces nos ha pasado que sabemos que Lo cual nos arrojaría el siguiente resultado: hay un comando para efectuar alguna tarea en hwclock (8) - query and set the especial pero no recordamos ni el principio clock (8) - query and set the hardware hardware clock (RTC) del nombre para poderlo buscar tecleando clock (RTC)
las primeras letras y después dar 2 tabs, pues FcAtomicLock (3) - lock a file
80
Linux+ 12/2006
kclock.kss (1) - Clock screen saver for KDE
para principiantes Trucos y truquillos
kworldclock (1)
- earth watcher for
KDE oclock (1x)
- round X clock
xclock (1x)
- analog / digital
clock for X
Que no es más que el nombre del comando, la página del manual y una breve descripción de lo que hace, y si, también nos da el comando que estamos buscando que en este caso es hwclock. También es sabido que los comandos que hemos usado recientemente se van almacenando de tal manera que posteriormente podamos acceder a ellos con los cursores flecha arriba o flecha abajo, pero si hemos tecleado un gran número de comandos, ¿cómo podemos acceder a uno en específico? Pues con: Ctrl + R
Lo cual nos desplegará:
cuando trabajamos con la línea de comandos es el uso de la tecla Tab para termi(reverse-i-search)`': nar de completar la ruta del directorio al cual deseamos dirigirnos, es decir, si queEn el cual solo bastará ingresar los primeros remos llegar al directorio /var/cache/apt/arcaracteres del comando que hemos usado con chives no es necesario escribir toda la ruta, anterioridad para que nos despliegue éste. bastará que en la línea de comandos esBueno hasta ahora con lo que hemos cribamos: realizado es muy posible que nuestra línea de comandos se nos haya saturado para lo $cd /v cual nos viene muy bien el comando: Más la tecla Tab para que nos de /var, y así $clear sucesivamente las barras y la o las primeras letras del nombre del directorio al cual nos O mejor aun la combinación: queremos dirigir más Tab, con un poco de práctica verán que es el modo más rápido de Ctrl + L trabajar. Ánimo. Lo cual tiene el mismo fin: limpiar nuesHasta la próxima. tra Gnome-terminal. Otro atajo interesante
Opciones de Gnome-Terminal Poco Documentadas
De muchos de nosotros es sabido el poder de una línea de comandos y más siendo root en nuestra distribución Linux, además sabemos que podemos personalizar los colores con los que deseamos se despliegue la información que solicitamos, trabajar con pestañas y una multitud de opciones que son muy intuitivas, sin embargo en el caso de Gnome-Terminal hay algunas opciones que no han sido muy documentadas de las cuales quiero comentarles su aplicación práctica. En primera instancia geometry, este es un parámetro que podemos añadir a nuestro lan-
zador a fin de determinar el tamaño del cual queremos se abra Gnome-terminal cuando lo lancemos, si en las propiedades de nuestro lanzador añadimos: gnome-terminal --geometry=100x20
Esto hará que se despliegue una terminal de 100 columnas por 20 filas lo cual puede resultar práctico a fin de no tener que redimensionar nuestra terminal manualmente, pero por Figura 4. Propiedades del lanzador de Gnomedefault la terminal se desplegará al centro de Terminal nuestra pantalla, así es que podemos añadir las coordenadas de manera que ésta se despliegue donde la necesitemos, la manera de hacerlo es así: gnome-terminal
--
geometry=110x15+200+700
El primer valor después de + nos indica la posición de izquierda a derecha, y el segundo la posición de arriba hacia abajo, probando distintos valores quedará conforme a sus necesidades. Otro parámetro es command el cual nos permitirá ejecutar la aplicación que deseemos, cabe destacar que en el lanzador podemos utilizar varios parámetros a nuestra conveniencia, por ejemplo: gnome-terminal --geometry=100x15 --command elinks
Lo que nos da por resultado una terminal de 100 columnas por 15 filas la cual ejecuta elinks, sin lugar a duda le encontrarán una aplicación práctica. Ánimo
Figura 3. Gnome-Terminal desplegado con coordenadas específicas
www.lpmagazine.org
81
El tema principal del siguiente número de Linux+ será:
Seguridad
es decir, qué hacer para garantizar la mejor protección de tu sistema
El próximo número incluirá los siguientes artículos: • Conceptos Generales de seguridad en Unix, o sea Qué herramientas de seguridad existen y para qué sirven, a qué ataques estamos expuestos y cómo evitarlos
• SAP en entornos GNU/Linux Comtinuamos con el tema de Linux en entornos empresariales
• Cómo montar una red casera Una guía práctica para construir una red local
• Montaje de un servidor en Ruby on Rails
Para princ
Peripecias ipiantes: del linuxero principiante
Entrevista
:
Hablamos con Luis M . Vázquez de Miguel, Consejero de Infraestruc turas y De sarr Tecnológic o, Junta de ollo Extremadu ra
Seguiremos los pasos necesarios desde el principio
¡El número a la venta a partir del 1 de enero!
DVD1 : Fedora 6 y Ubuntu 6.01 DVD2 : Linux+ Live
(distribución Linux Live, que incluye aplicaciones descritas en la revista)
Fedora Core 6 La Redacción se reserva derecho a modificar sus planes
Ubuntu 6.01