índiceindex-of.co.uk/magazines/computaci%f3n_h%edbrida_co-dise...índice 2 linux+ 8/2010 índice 3...

50

Upload: others

Post on 21-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

índice

2 LiNUX+ 8/2010

índice

3www.lpmagazine.org

En este número

novedades

NoticiasJosé Alex Sandoval Morales

UbuntuRaúl Sanchez Martinez

MandrivaJuan Gamez

FedoraDiego Rivero Montes

FreeBSDOsvaldo R. Salazar S.

hardware

Computación Híbrida: Co-diseño Hardware-SoftwareLino García Morales

El término computación híbrida no es demasiado afortunado. En el ámbito del diseño hardware-software (HW/SW) parece una obviedad. Está claro que los sistemas son una combinación de ambos componen-tes HW/SW donde el primero actúa como un soporte material progra-mable o reconfigurable y el segundo define los procesos intangibles que gestionarán determinada información o datos para conseguir equis resultados.

4

6

7

8

9

soluciones para empresas

Ejercicio de Creación de Oferta y Demanda del Software LibreJosías Galván Reyes

Este artículo busca convertirse en una guía práctica para llevar el Software Libre a los diversos sectores económicos, sociales y educativos, partiendo desde cero. De ahí que se presenta una breve definición de Software Libre y su importancia, además de pasos concretos para introducirlo en el mer-cado PYME, a través del involucramiento del sector educativo, gobierno y empresas.

linux en la educación

Descubriendo Linux: ¿Qué debes saber si no sabes nada?Mª Dolores Nogueras, Antonio Gómez

Es curioso cómo damos por sentado, cuando hablamos de Linux, que todos los que nos oyen o leen tienen la formación mínima para entender todo aquello que estamos diciendo. Uno de los principales escollos, a nuestro entender, para realizar el salto mortal sin red que el usuario cree que supone descubrir Linux es la falta de información general sobre sus características y posibilidades. Este artículo pretende ofrecer una introducción a tan mara-villoso mundo, desde la perspectiva de la práctica educativa. ¿Qué debemos saber de Linux para presentárselo a nuestros alumnos?

10

16

22

Page 3: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

índice

2 LiNUX+ 8/2010

índice

3www.lpmagazine.org

práctica

Virtualización con OpenVzCarlos Eduardo Virgen Londoño

En la actualidad, los grandes avances en la ciencia de la computación han ido con el paso del tiempo, haciendo real el significado de la pala-bra virtual. En varias definiciones la palabra virtual da a entender que es algo que no existe físicamente pero que de cierta forma se puede percibir. Por diversos motivos (económicos, ecológicos, etc.), la ten-dencia actual, es poder reutilizar lo que se tiene.

gPXE: Arranque de Sistemas Operativos en Red con Software LibreMilton Labanda

El paso del tiempo no ha podido evitar percibir los grandes benefi-cios que ha otorgado el uso y desarrollo del FLOSS (Free Software and Open Source Software) o Software Libre y Software de Código Abierto, principalmente en cuanto a innovación y accesibilidad de las tecnologías de la información se refiere. Uno de los campos en donde ha calado fuertemente este movimiento filosófico-tecnológico es en el de los Sistemas Operativos.

software

Introducción al software multimedia en LinuxGabriel García

Hay muchas aplicaciones disponibles en Linux para todas nuestras necesidades de multimedia sin necesidad de usar productos propieta-rios ni perder funcionalidades.los mismo. Trataremos de mostrar las más populares o completas tratando de ser imparciales en las opinio-nes. Por supuesto que quedarán muchas afuera ya que hay cientos de ellas y cada uno tiene sus preferidas, pero el propósito de este artículo es mostrar a quien desea acercarse al mundo Linux que puede inten-tarlo sin ningún problema.

para principiantes

Grupos, usuariosy permisos en LinuxSebastián Pignataro

Hoy trataremos un tema de interés para muchos principiantes y para otros no tan principiantes: los permisos y la administración de grupos y usuarios. GNU/Linux es un sistema multiusuario por lo cual es necesaria la administración de los permisos que le otorgamos a los archivos y directorios de nuestro equipo.

proyectos linux

LocuLinux 2.0Eduardo Arana

LocuLinux es una distribución de Linux basada en Ubuntu 10.4 TLS que ha sido desarrollada para cubrir un mercado poco explotado por las distribuciones Linux, los locutorios o también conocidos como Cibercafés. Su nombre deriva de juntar Locutorio y Linux que en el conjunto forman LocuLinux.

opinión

Si quieres ser un experto… enseña sin presumirFernando de la Cuadra, director de Educación de Ontinet.com

De vez en cuando, uno se puede encontrar con algunos visos de cor-dura en este mundo que rodea a la seguridad informática. Cuidado, no digo que puedas encontrarte con gente cuerda, pero sí que tengan episodios en los que sorprendan con actitudes realmente positivas, ingeniosas y coherentes.

32

37

40

44

48

50

Page 4: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

Noticias sección llevada por Alex Sandoval

novedadesNEWS

4 LiNUX+ 8/2010

novedadesNoticiassección llevada por Alex Sandoval

NEWS

5www.lpmagazine.org

Jolicloud 1.0 comienza a distribuírse a sus usuariosFinalmente después más de un año de desa-rrollo los creadores del sistema operativo es-pecialmente diseñado para netbooks Jolicloud confirmaron que su versión 1.0 definitiva comenzó a ser distribuída entre sus usuarios esta misma semana. De acuerdo a su blog, los usuarios que hayan estado corriendo Joliclo-ud desde sus versiones preliminares serán los primeros en recibir la muy anticipada actuali-zación. Y uno de esos privilegiados usuarios es la gente del sitio alemán NetbookNews que ya publicaron un video de sus primeras impresiones corriéndolo en una Acer Aspire One 533, calificándolo como "uno de los OS más rápidos que probamos en una netbook hasta ahora". Jolicloud 1.0 incluye una nue-va interface y un lanzador de aplicaciones personalizable construído completamente en HTML5, además de soporte para algunas netbooks con pantallas táctiles.http://www.jolicloud.com/blog/2010/07/09/its-coming-we-will-start-upgrading-exis-ting-users-to-jolicloud-10-next-week/

Rackspace presenta OpenStack.orgEl gigante proveedor de hosting Rackspace liberó hoy como Open Source el software detrás su servicio y plataforma para la nube computacional de Rackspace Cloud. El lar-go anuncio en Rackspace Cloud dice que:"Dado que no han emergido herramientas estándares para construir nubes (compu-tacionales) masivamente escalables, no-sotros también debimos construir software personalizado para crear un tipo de pared alrededor de nuestras ofertas (de servicios). Por meses debatimos cómo conducir mejo-res estándares e incrementar la velocidad de las tecnologías de la nube. Finalmente llegamos a la respuesta obvia: hacer Open Source nuestra tecnología".Más información en el enlace:http://www.vivalinux.com.ar/negocios/rackspace-openstack.org

Open@Adobe en Sourceforge 2.0Adobe es la primer gran empresa en su-marse a los nuevos servicios de Sourceforge 2.0, a pesar de que todavía están en Beta, con su nuevo sitio Open@Adobe, donde ofrecerá acceso público a una cantidad de repositorios con sus proyectos Open Sour-ce, entre ellos:• Adobe Open Source Data Sets• Extensible Metadata Platform (XMP)• Flash-Ajax Video Component• Flex SDK• Open Source Media Framework• Text Layout FrameworkLa compañía de Flash quiere este nuevo sitio sea la "visión definitiva dentro de las actividades abiertas en Adobe", aunque todavía está por verse cuánto puede llegar a favorecer su reciente alicaída imágen.http://www.vivalinux.com.ar/negocios/open-adobe-en-sourceforge-2.0

La Comisión Europea, en boca de su responsable de Agenda Digital,

la Comisaria Neelie Kroes, apuesta firmemente en esta ponencia por el uso de software libre y estándares abiertos en las Administraciones Públicas del continente.

Se dispone de la transcripción al es-pañol, la cual nos muestra la importan-cia que se le está dando a la interopera-bilidad en la administración pública, y la visión que se tiene acerca del software libre:

“Software libre ya no es una expre-sión malsonante. Antes lo era, una que asustaba. Por ejemplo, en aplicaciones de gobierno electrónico y administracio-nes públicas, software libre era algo pa-ra usar en casa, como un hobby. Nadie se habría atrevido a usar una solución software libre en una organización públi-ca. ¿Quién nos ofrecerá soporte técnico, y qué pasa si somos denunciados por in-fringir la propiedad intelectual de alguien si usamos esto?

Éstos eran los tipos de problemas que desalentaban a los dirigentes a se-leccionar software por su mérito. Toda-vía no tenemos un campo de juego legal completo, pero por suerte las actitudes están cambiando.

Un ejemplo es el proyecto de la Co-misión Europea OSOR. Este proyecto conciencia y estimula la reutilización de soluciones de software libre exitosas, entre las administraciones públicas euro-peas. Otro ejemplo es EUPL, la licencia de software libre de la Unión Europea, que bajo un marco de trabajo legal de la UE, permite licenciar fácilmente soft-ware libre.

Hoy muchas grandes organizaciones de toda Europa, como el Ayuntamiento de Munich, usan soluciones como Linux. Y el gobierno del Reino Unido ha estado apoyando soluciones de software libre desde el 2009, con muchos departamen-tos de gobierno usándolo ahora comocomponente. Y por lo que oigo, esos equi-pos están encantados con los resultados.

La razón no es sólo una alta relación calidad precio, algo que es crítico en la situación financiera actual, sino también

Comisión Europea respalda la adopción de software libre

más elección. Hay menos dependencia de ciertos vendedores y menos costes de migración. Las cosas están cambiando, también en el sector privado. Ahora gran-des compañías declaran, orgullosas, que no sólo están usando software software libre, sino contribuyendo a él. Y eso signi-fica que muchos proyectos software libre importantes están de hecho apoyados por empresas que están invirtiendo en él. Estas empresas obtienen beneficios importantes. Y eso va a continuar como un apoyo importante al movimiento de software libre.

Según datos de proveedores software libre, como Red Hat, los tres países de la UE con más actividad en software libre son Francia, España y Alemania. Y con esos grandes países a la cabeza, el tiem-po del software libre va a seguir crecien-do. Es más, el software libre está apare-ciendo en todas partes: en productos de consumo, en bases de datos, en software de negocio, en juegos y como compo-nente de servicios ofrecidos por Internet. Y grandes iniciativas como NOiV de Ho-landa, "Nederland Open in Verbinding" [Holanda Abiertamente en Conexión], están ayudando a hacerlo mayoritario también en la administración pública.

La Comisión Europea ha hecho mu-cho para alentar esta tendencia. Un ejem-plo es el Marco Europeo de Interopera-

“La Comisión Europea ha hecho mucho para alentar esta tendencia. Un ejemplo es el Marco Europeo de Interoperabilidad, que pretende la interoperabilidad dentro de y entre las adminis-traciones públicas. Y ahora la agenda digital para Europa, está aumentando su apuesta.” Discurso de Neelie Kroes, comisaria europea de Agenda Digital, en la GUADEC 2010, 17 de julio de 2010.

Page 5: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

Noticias sección llevada por Alex Sandoval

novedadesNEWS

4 LiNUX+ 8/2010

novedadesNoticiassección llevada por Alex Sandoval

NEWS

5www.lpmagazine.org

Wine 1.2: llega el soporte para aplicaciones de 64 bitsHace más de dos años se publicó Wine 1.0, ahora recientemente ha sido liberado Wine 1.2, que llega un mes tarde según el programa y la planificación inicial pero que lo hace con una mejora significativa: el soporte para aplicaciones y binarios de 64 bits, lo que aumenta considerablemente las prestaciones de esta implementación de la API de Windows.Según el líder del proyecto, Alexandre Julliard, en Wine 1.2 ha habido nada menos que 23.000 cambios, con unas 3.000 correcciones de errores y nuevas características y mejoras entre las que destaca el citado soporte de software de ocho octetos.Además se ofrecen mejores diálogos por defecto para todos los apartados de este desarrollo -que no es un emulador, ya sabéis- y que también llega con mejores gráficos gracias al estándar Tango.Las mejoras a Direct3D, la implementa-ción del estándar XDG para las notifica-ciones del inicio de aplicaciones, el so-porte de enlaces simbólicos en el registro y el renderizado de fuentes sub-píxel son mejoras igualmente destacables.http://www.muylinux.com/2010/07/19/wine-1-2-llega-el-soporte-para-aplicaciones-de-64-bits

Google apuesta por las búsquedas semánticasSi bien en Google saben que son líderes en búsquedas en la web, siguen buscando nuevas tecnologías que los ayuden a mejorar su buscador. Es así como se toparon con la compañía Me-taweb, una compañía que en tan sólo 5 años de vida ha logrado importantes avances en lo que se denomina como “búsquedas semánticas”.Metaweb administra una base de datos abierta (denominada como Freebase) que cruza información y la estructura, alimentándose de información de todo el mundo. Gracias a esto ha logrado acumular 12 millones de entradas de datos que van desde la informaciónde un libro hasta lugares específicos.La idea de Google es aprovechar la tecnología desarrollada por Metaweb para utilizarla en su propio navegador, de manera que a futuro este tenga la capacidad de responder a consultas del tipo: “camionetas de color verde con un precio inferior a los 100.000 dólares”. El compromiso de Google es que Freebase se mantenga como una base de datos abierta, de manera que no sólo sea alimentada por Google sino quepor cualquier empresa que desee hacer uso de ella.http://www.fayerwayer.com/2010/07/google-apuesta-por-las-busquedas-semanticas/

bilidad, que pretende la interoperabilidad dentro de y entre las administraciones públicas. Y ahora la agenda digital para Europa, está aumentando su apuesta. Pretendemos un enfoque estratégico pa-ra la interoperabilidad y los estándares, y enfatizar el importante vínculo con laresponsabilidad pública. Eso puede cam-biar realmente la forma en que el software libre es visto en las administraciones pú-blicas y ofrecer mucho potencial para pequeños y medianos proveedores.

Tenéis un rol importante en dar forma al futuro digital de Europa. Los gobiernos

no pueden tan sólo anunciar y entregar el futuro digital. Debe venir de una respon-sabilidad orgánica y compartida. Y quiero construir un amplio movimiento para la acción digital. En la Unión Europea pode-mos unir a la gente, ayudarles a superar obstáculos, y ocasionalmente dar finan-ciación para ayudar en investigación y de-sarrollo. Pero la diferencia real está he-cha por la gente y las comunidades, co-mo el movimiento de software libre.”http://www.cdsl.cl/portal/content/comisi%C3%B3n-europea-respalda-la-adopci%C3%B3n-de-software-libre

Siempre que citamos a la Wikipedia en alguna de nuestras conversacio-

nes (y discusiones) diarias no falta la per-sona que tiende a desacreditar esa fuen-te argumentando que los artículos ahí publicados pueden ser modificados por cualquier persona y eso le resta credibili-dad a lo que encontramos en el sitio.

En algunas ocasiones gente ha modificado en la Wikipedia "biografías de personas vivas" con rumores o in-cluso con desinformación maliciosa. La gente del proyecto ha estado buscando arduamente la manera de limitar este y otros tipos de vandalismo.

Pues bien, al parecer han encon-trado una forma de terminar con las modificaciones maliciosas, gracias a la incorporación de una nueva función que está en pruebas denominada “Cambios Pendientes” la cual pretende traer aún mayor seriedad a la enciclopedia.

Esta nueva característica está sien-do probada en tan sólo algunos artícu-los en Inglés y funciona haciendo que los cambios que alguien produzca en una entrada no sean visibles para todo el mundo de manera inmediata sino que hasta que un editor de confianza en la comunidad de Wikipedia sea el encar-gado de verlo, editarlo y/o aprobarlo. Normalmente los cambios en la pági-nas se reflejaban inmediatamente paratodo el mundo.

La nueva función no se aplicaría en todos los artículos, o por lo menos no de momento. Wikipedia únicamente

Wikipedia, mejorando la calidad con “Cambios Pendientes”

seleccionaría algunos como “Artículos Protegidos” ante cambios y éstos son losque se tornarían más difíciles de alterar injustificadamente.

Esta es una explicación bastante simplificada del proceso:

1. Designan un artículo como "protegi-do" para los posibles cambios

2. Cualquier modificación realizada por alguien deberá ser revisada por uno de los miles de usuarios de confian-za que han solicitado y obtenido este permiso.

3. Cualquier edición realizada por unode los usuarios de confianza se mar-ca automáticamente como revisado.

4. Hasta que el cambio está marcado como 'revisado', no aparece en el artículo.

5. Si bien no impide que se introduzcan errores, se previene que no sean vi-sibles hasta que alguien los haya re-visado y -esperamos – se percate de que es incorrecta o inapropiada.

Esta función nueva de “cambios pen-dientes” viene a ser la evolución natural a nivel de protección de lo que ya vimos en años pasados llamado “control edito-rial de los contenidos”.

http://www.cnewmark.com/2010/07/wikipedia-pending-changes-a-new-quality-improvement.html

Page 6: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

Ubuntu sección llevada por Raúl Sanchez Martinez

novedades

6 LiNUX+ 8/2010

Instalar Spotify en UbuntuHace poco me enteré en genbeta que spotify ya tiene cliente para linux. Antes de ver cómo instalarlo en linux veamos antes algunas cuestiones que tal vez os interesen:Qué es spotify? Es una manera legal y gratuita de escuchar música a través de Internet. No te descargas las canciones, sino que las escuchas en streaming a través de una aplicación que has de instalar en tu ordenador. Tiene una versión de pago y una versión gratuita. La versión gratuita incluye algunos anuncios sonoros y publicidad gráfica.Sólo sirve para usuarios premium. El cliente de spotify para linux no sirve para todo el mundo, si no tienes una versión de pago no podrás escuchar música. Sólo sirve para Ubuntu. Bueno en realidad para Ubuntu, Debian y sus derivados. Esto es porque solo existen los archivos de instalacion .deb. No hay un .tar.gz o un .rpm para otras distros como Fedora o Arch. No es libre. El código del cliente no es open source, es un cliente de descarga gratuito y nada más.Veamos cómo instalar en Ubuntu el cliente de spotify. En la consola escribimos:sudo gedit /etc/apt/sources.list. Al final de archivo escribimos: deb http://repository.spotify.com stable non-free. Guardamos y cerramos.Actualizamos los repositorios: sudp apt-get update. Añadimos una llave publica escribiendo en la consola lo siguiente:gpg --keyserver wwkeys.de.pgp.net --recv-keys 4E9CFF4Egpg --export 4E9CFF4E |sudo apt-key add -Instalamos los paquetes necesarios:sudo apt-get install spotify-client-qt spotify-client-gnome-supportSi os aparece algún error gconf2 sólo no instaléis el paquete spotify-client-gnome-su-pport y ya.

Instalar JDownloader en UbuntuJDownloader es uno de los mejores gestores de descargas que podemos encontrar e incluye por defecto soporte para varios sitios de des-carga online como son Rapidshare o MegaUpload. Para facilitar su instalación en Karmic/Lucid podemos hacer uso del siguiente PPA:sudo add-apt-repository ppa:jd-team/jdownloadersudo apt-get updatesudo apt-get install jdownloader

Linux Mint 9 LXDE EditionHa sido liberada la versión final de Linux Mint 9 LXDE Edition basado en Lubuntu 10.04, Linux 2.6.32, Openbox 3.4.10, LXSes-sion 0.4.3, y Xorg 1.7.5Podéis ver todas las novedades de la versión en este enlace: http://linuxmint.com/rel_isado-ra_lxde_whatsnew.php y descargar la imágen del Live CD de Linux Mint 9 LXDE desde aquí: http://www.linuxmint.com/edition.php?id=60

Una de las cosas que me traen de cabeza desde hace un par de ver-

siones de Ubuntu, es que ya no se podían eliminar los antiguos Kernels editando el archivo menu.list, con lo bién que lo hacía yo así. Desde que lo cambiaron por el archivo grub.cfg, que es sólo de lectura, y aunque algunos amigos me habían di-cho como hacerlo, nunca me animé. Pués hoy encontré como hacerlo de una forma supersencilla en Jaypeeonline y es a tra-vés del gestor de paquetes Synaptic.

Primero tenemos que mirar cuál es el kernel que tenemos en ese momento. Te-cleamos en consola: uname -r Fijate que no tengas actualizaciones pendientes, cómo me ha pasado a mi, que resulta que habia uno más nuevo en synaptic que el que me aparecía con uname.

Imagina que la consola te devuelve este resultado: 2.6.32-23-generic, pués te lo anotas y abres Synaptic.(Sistema/Administración/Gestor de paquetes Sy-naptic). En la caja de búsqueda rápida escribes linux-image. Te aparecerán los distintos Kernels que tienes aún, entre ellos él que estás usando, por eso a la hora de eliminar hay que tener mucho cuidado no te cargues el actuál.

Verás que están marcados en verde, como “instalados”, pués tan sólo tienes

Eliminar viejos Kernels en Ubuntu 10.04que picar con el derecho y seleccionar, marcar para desinstalar y verás que quedan marcados en rojo. Pués ya tan sólo tienes que dar en Aplicar. Cuándo reinicies verás que ya sólo te aparece el kernel actuál, él que estás usando.

En los comentarios, el compañero Ir-ving Prog, de “Hablemos de Linux y Más” nos cuenta cómo hacerlo desde con-sola:

“Abrimos terminal, y tecleamos: dpkg –get-selections | grep linux-image

Con el comando anterior apare-cerán todos los kernels que se tienen instalados. Ahora solo es cuestión de desinstalar los más antiguos(se orde-nan numéricamente), para eliminarlos usamos el siguiente comando:

$ sudo aptitude purge

linux-image-”version

del kernel”-generic

Y listo, con la linea anterior tendremos borrado el kernel (según la versión que hayamos puesto).”

En los comentarios siguen llegando más opciones para eliminar kernels, asi que las agrego.Una de ellas viene de Automatizador:“Lo mismo, pero en un cómodo script:

#!/bin/bashOLDCONF=$(dpkg -l|grep “^rc”|awk ‘{print $2}’)CURKERNEL=$(uname -r|sed ‘s/-*[a-z]//g’|sed ‘s/-386//g’)LINUXPKG=”linux-(image|headers|ubuntu-modules|restricted-modules)”METALINUXPKG=”linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)”OLDKERNELS=$(dpkg -l|awk ‘{print $2}’|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)YELLOW=”\e[1;33m"RED="\e[0;31m"ENDCOLOR="\e[0m"if [ $USER != root ]; thenecho -e $RED”Error: must be root”echo -e $YELLOW”Exiting…”$ENDCOLORexit 0fiecho -e $YELLOW”Cleaning apt cache…”$ENDCOLORaptitude cleanecho -e $YELLOW”Removing old config files…”$ENDCOLORsudo aptitude purge $OLDCONFecho -e $YELLOW”Removing old kernels…”$ENDCOLORsudo aptitude purge $OLDKERNELSecho -e $YELLOW”Emptying every trashes…”$ENDCOLORrm -rf /home/*/.local/share/Trash/*/** &> /dev/nullrm -rf /root/.local/share/Trash/*/** &> /dev/nullecho -e $YELLOW”Emptying thumbnails…”$ENDCOLORrm -rf /home/jdiez/.thumbnails/normal/* &> /dev/nullecho -e $YELLOW”Script Finished!”$ENDCOLOR

Page 7: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

Mandrivasección llevada por Juan Gamez

novedades

7www.lpmagazine.org

Mandriva se reestructuraMandriva ha publicado una nota de prensa donde se mantiene el compromiso con el Open Source pero ante una situación eco-nómica delicada ha optado por la siguiente estrategia: Mandriva Linux será distribuida exclusivamente mediante ventas por red in-tegrada IT, así como a través de asociaciones OEM (Original Equipment Manufacturer) en la región EMEA (Europa y Oriente Medio) y del BRIC (Brasil, Rusia, India, China).Así mismo Mandriva ha puesto en marcha un programa drástico de reducción de costes estructurales, así como recaudación de fon-dos para restablecer el equilibrio financiero y asegurar el futuro a largo plazo de la empresa. También se han incorporado al consejo Jean-Noël de Galzain, Presidente de Investigación y SI Wallix, Vice-Presidente PME de la región Pôle System@tic de París, Bertrand y Glineur, anteriormente DSI de Crédit Foncier Francia, y miembro de la jun-ta de negocios de GCE que ayudarán al CEO de Mandriva Arnaud Laprévote a completar la reestructuración.Podéis leer el comunicado completo aquí: http://www.mandriva.com/enterprise/en/company/press/mandriva-restructures-to-establish-european-leadership

Dinero ruso para MandrivaHemos leído en varios foros de internet que la revista económica rusa Kommersant asegura que el fondo de inversión NGI Fund habría comprado una partición del capital de Mandriva. Según varios expertos, esta entrada en el capital de Mandriva es parte de un plan de Rusia para crear un sistema operativo. Los términos de esta adquisición no se conocen aún.

El portatil más barato del mundoEl Gobierno de India presentó el ordenador portátil más barato del mundo, cuyo coste ronda los 27 euros. El portátil llegará en 2011 a las universidades y se negocia su producción masiva para que pueda costar 10 euros. El nuevo aparato es un híbrido en-tre ordenador portátil y PDA (computadora de mano). De bajo coste, está diseñado para estudiantes y es en realidad un tablet con pantalla táctil, lector de archivos en formato PDF, soporte informático para videoconfe-rencias y conexión wifi. Además, su hard-ware fue creado con la suficiente flexibilidad como para incorporar nuevos componentes de acuerdo con las necesidades del usuario. El equipo utiliza el software libre de Linux y tiene unas dimensiones de 5x7x9 pulgadas. Consta de open office, reproductor multime-dia y capacidad multitarea, aunque carece de disco duro. También tiene un puerto USB y una batería de dos vatios, idónea para las zonas indias que apenas cuentan con conexión eléctrica. India gasta casi un 3 por ciento de su presupuesto anual en educación. Sin embargo, hay informes que muestran las dificultades que tienen muchos de sus estu-diantes para leer o escribir.

Después de algunos retrasos y de dos Releases Candidates por fin el pasa-

do 8 de julio Mandriva publicó su esperada Mandriva 2010.1. Por cierto, el nombre de esta edición es Farman, me imagino que por Henri Farman, el pionero de la aviación. (http://es.wikipedia.org/wiki/Henri_Farman).

Como siempre Mandriva nos ofrece esta nueva distribución en tres ediciones:

• One: Es un CD live conteniendo los últimos drivers propietarios. Hay seis versiones disponibles dos con GNO-ME y cuatro con KDE, cada una so-portando diferentes idiomas.

Como novedad en 2010.1 Spring es la posibilidad de instalar la distribución directamente sin necesidad de iniciar una sesión en el live CD. Esto permite instalar la distribución en maquinas con 128 MB:

• Powerpack. Como siempre esta edi-ción incluye soporte, y aplicaciones de terceros.

• Version Free. Software libre u Open Source, sin ningún tipo de paquete propietario, aunque estos están dis-ponibles en los repositorios.

Entre las novedades de la distribución tenemos mejoras en la cuenta de invita-do como es un shell restringido, también restricciones para el acceso de archivos de usuarios y no acceso a la mayoría delas herramientas de configuración de Man-driva.

Además tenemos la opción de utilizar un password encriptado en GRUB y blo-quear aplicaciones para ciertos usuarios via drakguard.

Mandriva 2010.1 Spring

En cuanto al entorno de escritorio nos encontramos con GNOME 2.30.1 con el tema la-Ora. Además Evolution, el gestor de correo, abre los adjuntos en modo so-lo lectura. Vintagre (cliente VNC) soporta conexiones VNC sobre SSH. Tracker sus-tituye a Beagle como buscador de do-cumentos. También tenemos a nuestra disposición una GNOME-Shell, la cual es parte de GNOME-3.

Respecto a KDE nos encontramos con la versión 4.4.3 (release final) de este popular escritorio. En esta versión se han solucionado varios problemas de las versiones 4.3.x. Además nos en-contramos con Qt 4.6.2, Amarok 2.3.1, KTorrent 4.0.

Las aplicaciones de escritorio dis-ponibles en Mandriva 2010.1, son comosiempre muy abundantes, solamentepor destacar algunas, nos podemos en-contrar con los navegadores web Fire-fox 3.6.6, Chromium, Opera (en los repositorios Non-free), la suite ofimáti-ca OpenOffice 3.2 y el editor web Blue-fish 2.0.0. Además tenemos un buen nú-mero de aplicaciones científicas y edu-cacionales como Salome que permite simulaciones numéricas, InVesalius que genera imágenes 3D a partir de imágenes adquiridas por CT o MRI.

En cuanto al sistema base y gráficonos encontramos con un kernel 2.6.33.4,Glibc 2.11.1, Ruby 1.9.1 y Phyton 2.6.5. En cuanto a los graficos. X.org 7.5, Mesa 7.8

En resumen, la espera ha merecidola pena. Nos encontramos con una de las mejores versiones de Mandriva encuanto a su rapidez y estabilidad. Ade-más de una cantidad de software cadavez más variada y abundante. ¡¡¡A actu-alizarse tocan!!!

Page 8: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

Fedora sección llevada por Diego Rivero Montes

novedades

8 LiNUX+ 8/2010

Shotwell 0.6.1Ha sido liberada la versión 0.6.1 de Shot-well. Shotwell es un organizador de fotos digitales, el cual ha sido diseñado para el entorno de escritorio GNOME. Permite importar fotos desde un disco o una cámara, organizarlas de diferentes maneras, visuali-zarlas en una ventana o en modo de pantalla completa, y exportarlos para compartir. Se trata de un administrador de imágenes digitales de los más populares que tenemos la suerte de que se encuentre incorporado por defecto en Fedora 13.Esta versión viene muy mejorada y de entre todas las mejoras podemos destacar:• Soporte básico para imágenes de tipo

RAW, que también incluye soporte para los formatos CR2 y DNG.

• El soporte para imágenes PNG ha sido mejorado y completado.

• Ahora tenemos la posibilidad de hacer Zoom sobre las imágenes.

• Nuevo menú de preferencias.• Las imágenes ahora pueden ser abiertas

desde editores externos como puede ser GIMP.

• Etiquetas y títulos se importan directa-mente desde los metadatos tipo XMP e IPTC.

• Muchos de los bugs de las versiones anteriores han sido solucionados y corre-gidos.

• El soporte de idiomas ha sido mejorado.

Red Hat Enterprise Linux 6.0 Beta2Red Hat como casa líder en el mundo de Linux, dando soluciones de código abierto tanto a nivel de gerencia, desarrollo, infraes-tructura de internet, etc. siempre se encuentra dando pasos en pro de mejoras, prueba de ello es la salida a la luz de la segunda versión de test de Red Hat Enterprise Linux, de la cual vamos a disponer en este caso de seis imágenes para la instalación de servidores y estaciones de trabajo además de una actualización del kernel de Linux y que ya están disponibles para descarga.Esta Beta 2 nos llega con un sistema de instalación actualizado así como es habitual en Red Hat, soporta las nuevas tecnologías habiéndose solucionado muchos de los pro-blemas que se habían registrado en la anterior versión Beta. Entre las mejoras que los testeadores han tenido ocasión observar en esta ocasión tenemos un núcleo que ha sido completamente renovado, herramientas de gestión asociadas en el espacio de usuario, se actualizan aplicaciones básicas como httpd, Samba y NFS. La virtualización ha sido completamente integrada y basada en el hipervisor KVM y muchas otras mejoras.Las opciones de descarga de las que vamos a disponer son: RHEL6.0-Workstation-i386-DVD1.iso (3,500MB, SHA256, torrent), RHEL6.0-Workstation-x86_64-DVD1.iso (3,997MB, SHA256, torrent), RHEL6.0-Ser-ver-i386-DVD1.iso (3,507MB, SHA256, torrent), RHEL6.0-Server-x86_64-DVD1.iso (4,005MB, SHA256, torrent).

A todos se nos ha pasado por la ca-beza ver la televisión en nuestro or-

denador alguna vez. Ahora hablamos de TvTime, una opción muy recomendable para los que su máquina anda un poco escasa de recursos ya que se trata de un software muy ligero y además permite usar una tarjeta sintonizadora de tv o bien via satélite mediante DVB-S2. No se trata de una aplicación diseñada para un entor-no de escritorio concreto, además la tec-nología de entrelazado es con diferencia mejor que el que ofrecen los fabricantes de las tarjetas de televisión. Los sistemas de codificación de televisión soportados por TvTime son NTSC, Secam y PAL y los sintonizadores que podemos utilizar con este sóftware Saa y Bttv.

Tiene muchas características que lo hacen ideal para sistemas Linux y entre ellas podemos destacar:

Televisión en Fedora • Imagen de alta calidad.• Capacidad de pantalla 16:9, sobre

todo útil con reproductores DVD y se-ñal digital.

• Administrador de canales, frecuencia y escaneo, desactivación.

• Modo cine, usando la técnica 3:2 pu-lldown para disminuir los frames por segundo así como el sonido.

• Soporte para control remoto.• Overscan configurable. • Smooth motion que da una mayor

sensación de nitidez.• Subtítulos.

TvTime es una aplicación con la que po-dremos deleitarnos con la “mejor televi-sión” y con nuestra Fedora sin necesidad de tener un receptor u otro dispositivo más al lado del ordenador y aún más recomendable si nuestra máquina no es la más rápida del mercado.

Se trata de una fusión. Es la unión de los sistemas operativos Maemo y Mo-

blin de Nokia e Intel respectivamente y con el que pretenden competir con el An-droid de Google y además auspiciado por la Linux Foundation. En un primer momen-to estuvo disponible en sus repositorios públicos la imagen para descarga libre sininterfaz gráfica, pero en la actualidad el sistema operativo está al completo para su descarga. Con la idea en mente de dirigirlo al mercado de las pantallas pe-queñas en las que las barras de tareas permanentes pueden ser molestas en un momento dado, se aprovecha todo el espacio disponible para las aplicaciones con las que estemos trabajando.

MEEGOPensado para ser accesible, en un

momento es posible acceder a cualquiera de las aplicaciones, navegación por inter-net, media player, etc. todo esto gracias a que la pantalla de inicio contiene toda la información necesaria. Se compone de una interfaz basada en pestañas que con-tienen toda la funcionalidad del sistema.

Por supuesto MeeGo Netbook UX 1.0 estará disponible en la próxima versión de Fedora, la número 14 o también deno-minada Laughlin, pero para aquellos que no puedan esperar también es posible si habilitamos los repositorios rawhide y lue-go tecleamos en una consola después de logearnos como root “yum install meego-netbook”, por supuesto sin las comillas.

El significado de este acrónimo esFedora Users and Developers Confe-

rence, o sea, la Conferencia de Usuarios y Desarrolladores de Fedora, en la que se realizan talleres, ponencias, hackfests, etc. siendo de libre acceso para todos aquellos que tengan interés por el evento. El FUDcon de este año que se celebró en Santiago de Chile, ha contado con la pre-sencia de Jared Smith Líder mundial de Fedora el cual se hizo cargo del proyecto después de Paul Frields.

FUDcon 2010La facultad de Ciencias Físicas y Ma-

temáticas de la Universidad Central aco-ge del 15 al 17 de julio FUDcon 2010, que este año reúne a expertos a nivel mundial en el apartado de sistemas de código abierto. Miembro activo de la comunidad desde 2007, Smith ha centrado su trabajo durante este tiempo en la infraestructura y equipos de documentación. Ha trabajado en “Fedora Talk” el sistema de telefonía-IP basada en Asterisk para los contribuyen-tes de Fedora.

Page 9: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

novedadesBSDsección llevada por Osvaldo R. Salazar S.

9www.lpmagazine.org

FreeBSD está en GriegoLa comunidad FreeBSD de Grecia pone a disposición de la comunidad la traducción al griego del sistema FreeBSD. Podemos obtener la descarga en griego en www.freebsdgr.org en donde podemos descargar los repositorios Mercurial y ob-servar el buen trabajo que han realizado.El trabajo en la documentación progresa muy bien gracias a la colaboración de la comunidad quienes lo han, entre otras co-sas, “... escrito, reescrito, corregido, desen-samblado, reconstruido, castigado, revigo-rizado...” por los miembros del equipo de FreeBSD Grecia y todos los colaboradores.Quien guste colaborar con la traducción, puede apoyar y unirse al grupo y apoyar en la mejora del FAQ, lo único que se necesita (aunque no necesariamente) tener conocimiento del idioma inglés, algo de tiempo libre y el deseo de ayudar.Para todos aquellos que quieran participar, solo deben de contactar a Giorgos Kerami-das o bien mandando un e-mail a la lista. La lista de correo la encontraremos en grie-go, pero lo podemos recibir también en inglés.

BSD Fund VisaCada vez que usted utiliza la tarjeta visa de Fund BSD, una pequeña donación se realiza a Fund BSD para apoyar sus programas. Los residentes de Estados Unidos pueden obtenerla en línea, ingresando el código de la promoción que podemos encontrar en www.bsdfund.org/card y seleccionando la personalización de Beastie en nuestra futura tarjeta. Si todo resultó bien, estaremos reci-biendo la notificación de aprobación en una o dos semanas. Solo dos recomendaciones:• Manejar inteligentemente la tarjeta.• ¡No hacer caso y no prestar ninguna aten-ción a los pingüinos durante el proceso!

Nuevo core team para FreeBSDEl pasado 14 de Julio, el proyecto FreeBSD anuncio la elección del core team para el año 2010 . El core team es responsable de aprobar nuevos src committers, resolver conflictos entre los desarrolladores, desig-nar a subcomités para propósitos específi-cos (seguridad, ingeniería del lanzamiento, encargado de ports, webmaster, etcétera), y tomar decisiones administrativas o políti-cas, según se necesite. El core team es elegido por desarrolladores de FreeBSD cada dos años desde el 2000. El nuevo core team tiene como miembros a John Baldwin, Konstantin Belousov, Wilko Bulte, Brooks Davis, Warner Losh, Pav Lucistnik, Colin Percival, Hiroki Sato, Robert Watson y Philip Paeps. ¡Enhorabuena a los nuevos miembros del core team de FreeBSD!

La segunda y más esperada Release Candidate para FreeBSD 8.1 ya está

disponible para las arquitecturas amd64, i386, ia64, powerpc y sparc64. Sistemas ejecutando 8.0-RELEASE, 8.1-BETA1, o 8.1-RC1 pueden actualizarse de la siguiente manera:

# freebsd-update

upgrade -r 8.1-RC2

Durante este proceso, FreeBSD Update puede preguntar al usuario sobre com-binar algunos archivos de configuración o preguntar que se realice de manera auto-mática ejecutando combinaciones que serían ejecutadas correctamente.

# freebsd-update install

El sistema debe de reiniciarse con e nue-vo kernel antes de continuar.

# shutdown -r now

Después de reiniciar, freebsd-update ne-cesita ejecutar nuevamente install y de-spués de eso, el sistema debe de ser re-iniciado nuevamente.

Disponible FreeBSD 8.1-RC2

# freebsd-update install

# shutdown -r now

Si alguién es usuario de versiones recien-tes (FreeBSD 7.x) puede usar freebsd-update para actualizar a FreeBSD 8.1-RC2, pero se deben de reconstruir las aplicaciones de terceros.

Aquí teníamos una reparación re-lacionada con Atheros AR9280 siendo detectada incorrectamente, haciendo que no trabajara. Si alguno de los lec-tores tiene problemas con la tarjeta de vídeo que antes trabajaba, ahora tene-mos una mayor razón para usar Free-BSD 8.1-RC2.

La notificación FreeBSD-SA-10:07.mbuf afecta a FreeBSD en sus versio-

nes 7.x y anteriores a mbuf. mbuf es una unidad básica de memoria administrada en el kernel de FreeBSD, en el subsiste-ma de comunicación inter-procesos y red. Los paquetes de red y sockets de buffer dependen de mbufs para el almacenaje.

Los datos pueden ser directamente embebidos en mbufs o pueden ser referi-dos de manera externa. La llamada de sis-tema, sendfile, usa almacenaje en mbuf para mapear directamente el contenido a un archivo dentro de una cadena de mbu-fs para propósitos de transmisión. Los objetos mbuf usan flags de solo lectura que ayudan a prevenir modificaciones o escrituras al buffer de datos.

Si el flag de solo lectura no es copiado de manera correcta cuando una referen-

Avisos de seguridadcia del buffer mbuf es duplicada. Cuando la llamada de sistema sendfile es usada para transmitir datos a través de la inter-face loopback, esto puede resultar en la transmisión de archivos modificados, cau-sando de esta manera la corrupción.

Para solucionarlo se debe de actuali-zar a una de las siguientes versiones: 7-STABLE, 8-STABLE, RELENG_8_1, RE-LENG_8_0, RELENG_7_3 o RELENG_7_1. También se puede solucionar apli-cando el parche correspondiente: http://security.FreeBSD.org/patches/SA-10:07/mbuf.patch y http://security.FreeBSD.org/patches/SA-10:07/mbuf.patch.asc.

Información completa (en inglés) puede ser encntrada en: http://security.freebsd.org/advisories/FreeBSD-SA-10:07.mbuf.asc.

Page 10: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

10 LiNUX+ 8/2010

hardwareComputación Híbrida

11www.lpmagazine.org

hardwareComputación Híbrida

En este caso damos por hecho que la hibri-dación se produce siempre en el dominio digital; sin embargo, las computadoras híbridas son una combinación entre las

computadoras analógicas y las digitales; se desa-rrollaron para complementar la flexibilidad de las computadoras digitales con la velocidad de las com-putadoras analógicas y se utilizan sobre todo para el control de procesos y robótica, muy rara vez fuera del entorno universitario o de investigación.

El mundo real es analógico, pero la interacción y control sobre esta realidad, desde hace ya mucho y por ahora, es digital (quizá en un futuro haya un retorno a la computación analógica pero eso está por ver). Los sistemas son cada vez más complejos porque el mundo real, en “realidad”, siempre ha sido y será mucho más complejo de lo que considera-mos. Se requieren muy diversas interfaces para cap-turar y gestionar esta riqueza y una gran potencia de cálculo para procesarlas.

Cuando se plantea el diseño de un sistema de este tipo la primera pregunta que surge es: qué pue-do y debo hacer por hardware y qué por software. Esta interrogación es válida incluso cuando toda la información es digital por naturaleza. La respuesta claramente dependerá de qué se quiera y habitual-mente estará en función de un conjunto de variables en relación de compromiso como coste, rendimien-to, prestaciones, velocidad, tamaño, etc.

Un ejemplo que pone de manifiesto una contra-dicción de la computación híbrida es la actual guerra de Apple y Adobe en torno al desarrollo de aplica-ciones para iPhone y iPad. Resumiendo, porque el tema es muy complejo, Adobe ataca a Apple porque ni el iPhone ni el nuevo iPad soportan Flash, y lanza una campaña virulenta contra los productos de la

manzana. Apple contraataca con una carta abierta en la que critica duramente a Adobe y asegura que sus productos no necesitan esta tecnología, que considera obsoleta. El propio Steve Jobs asegura que Flash se queda corto tanto en tecnología como en seguridad y anima a los desarrolladores a crear al-ternativas para el ecosistema de Apple: "La era móvil va de dispositivos de baja potencia, pantallas táctilesy estándares abiertos para la web, todas ellas áreas donde Flash se queda corto". Y es que Flash, el pro-ducto de Adobe, utiliza el códec de vídeo H.264 por software en lugar de por hardware lo que acaba con la batería de estos dispositivos portátiles en mucho menos tiempo de lo esperable, ya no de lo deseable. Lo que hay detrás de esta guerra no es simplemente un problema de diseño técnico. La solución de Jobs para esta “era móvil” pasa por el diseño de un co-procesador que garantice bajo consumo, fiabilidad y paralelismo simultáneamente.

Un diseño híbrido adecuado de Flash debería utilizar su códec, pero no existe estándar ni voluntad entre las grandes industrias para solucionarlo en aras de mejores prestaciones para el consumidor. Lo que hay en juego es mucho más que esto: más del 75% de los vídeos en Internet se ven a través de Flash (software instalado en el 98% de los ordena-dores a nivel mundial y presente en más de 800 mi-llones de dispositivos móviles fabricados por 19 de los 20 primeros fabricantes donde, por supuesto, el vigésimo es Apple). Prueba de esto es que Uni-versal y Time Warner se posicionan a favor de Adobe

Computación Híbrida: Co-diseño Hardware-SoftwareEl término computación híbrida no es demasiado afortunado. En el ámbito del diseño hardware-software (HW/SW) parece una obviedad. Está claro que los sistemas son una combinación de ambos componentes HW/SW donde el primero actúa como un soporte material programable o reconfigurable y el segundo define los procesos intangibles que gestionarán determinada información o datos para conseguir equis resultados.

Lino García Morales

es@

lpm

agaz

ine.o

rg

Toda verdad pasa por tres etapas. Primero, es ridiculizada. Segun-do, es violentamente rechazada. Tercero, es aceptada como evidente.

Arthur Schopenhauer

Page 11: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

10 LiNUX+ 8/2010

hardwareComputación Híbrida

11www.lpmagazine.org

hardwareComputación Híbrida

y comunican que no tienen intención de convertir sus coleccio-nes a H.264 porque no es económicamente viable con Flash dominando la web.

Esto es precisamente lo que se considera en este artículo computación híbrida; aquella relacionada con el diseño de sis-temas eficientes, con la toma de decisiones acerca de compu-tación HW/SW, con los criterios que condicionan las respues-tas. Un sistema híbrido consiste de hardware (ya sea analógi-co, digital o mixto) no sólo para interactuar con el mundo real, sino también para satisfacer determinados requerimientos de tiempo real, y de software, a distintos niveles de virtualidad y paralelismo. Un sistema de computación híbrido es un siste-ma complejo a medida que combina todos los recursos que necesita para obtener el mejor rendimiento, prestaciones, se-guridad, robustez, etc. En este sentido se puede pensar en un sistema integrado, multiprocesador (que involucra microcon-troladores, microprocesadores y procesadores digitales de se-ñal), que combina hardware general con especializado y, mucho más allá, en sistemas reconfigurables que se adaptan o “prog-raman” para realizar determinadas funciones.

Ingeniería de SistemasSegún la Wikipedia (http://es.wikipedia.org/wiki/Ingeniería_de_sistemas) “Ingeniería de sistemas es un modo de enfoque inter-disciplinario que permite estudiar y comprender la realidad, con el propósito de implementar u optimizar sistemas comple-jos. Puede verse como la aplicación tecnológica de la teoría de sistemas a los esfuerzos de la ingeniería, adoptando en todo este trabajo el paradigma sistémico”; definición que po-dría valer perfectamente para el objetivo de este artículo. Sin embargo “una de las principales diferencias de la ingeniería de sistemas respecto a otras disciplinas de ingeniería tradicio-nales, consiste en que la ingeniería de sistemas no construye productos tangibles. Mientras que los ingenieros civiles po-drían diseñar edificios o puentes, los ingenieros electrónicos podrían diseñar circuitos, los ingenieros de sistemas tratan con sistemas abstractos con ayuda de las metodologías de la ciencia de sistemas, y confían además en otras disciplinas para diseñar y entregar los productos tangibles que son la realización de esos sistemas”.

En este ámbito compartimentado, aunque con una inte-rrelación transdisciplinaria, la ingeniería del hardware (término poco consolidado) agrupa un conjunto de áreas del conoci-miento como electrónica, circuitos (analógicos y digitales), arquitecturas de procesamiento, etc., mientras que la inge-

niería del software ofrece métodos y técnicas para desarrollar y mantener software de calidad.

Sin embargo, desde el paradigma de la complejidad la ingeniería de sistemas debería superar su capacidad de abs-tracción y constituirse como una disciplina que ofrezca, como cualquier otra ingeniería, soluciones tangibles. Este enfoque moderno de diseño de sistemas se relaciona directamente con los sistemas integrados y presenta el diseño HW/SW de ma-nera unificada, por lo que se utiliza el término co-diseño. El libro Embedded System Design: A Unified Hardware/Software Introduction, de Frank Vahid y Tony D. Givargis, por ejemplo, introduce el diseño y uso de procesadores de propósito-es-pecífico (“hardware”), coprocesadores o aceleradores; de pro-cesadores de propósito general (“software”); de procesadores de conjunto de instrucciones específicos a aplicación (ASIP, Application-Specific Instruction-Set Processor) y diserta acer-ca de modelos de computación avanzada, sistemas de con-trol, tecnologías de dispositivos electrónicos y herramientas de diseño modernas. Hardware y Software, simplemente, ya no pueden ser considerados independientemente sino de mane-ra híbrida y unificada. La ingeniería de sistemas, como para-digma de la computación híbrida ni siquiera se estudia como tal en las universidades salvo contadas excepciones (como en el Grado en Arte Electrónico y Digital de la UEM, http://www.uem.es/titulacion/grado-en-arte-electronico-y-digital).

La tecnología de los semiconductores facilita la integración de millones de puertas lógicas (gates) en un solo dispositivo (chip) y ha dado lugar a la integración de sistemas en un dispo-sitivo (SoC, Systems on Chip). Entre muchas otras, los SoCs son los reyes híbridos del dominio multimedia, los sistemas de transporte inteligentes y en general en cualquier aplicación queprocese, en paralelo, cantidades enormes de datos. El rendi-miento de estos sistemas es eficaz sólo en determinados casos específicos con todo el procesamiento por software, incluso sobre un procesador de alto-rendimiento, o sólo por hardware.Es mucho más deseable una combinación óptima HW/SW y unsistema, también óptimo, de repartimiento (partitioning).

El diseño de sistemas requiere los siguientes pasos:

• Captura de Especificación. Descomposición funcional en piezas para crear un modelo conceptual del sistema. El resultado es una especificación funcional carente de cual-quier detalle de implementación.

• Exploración. Exploración de alternativas de diseño y esti-mación de su calidad hasta encontrar la más adecuada.

Figura 1.La guerra Apple-Adobe no ha hecho más que comenzar Figura 2. Proceso de co-diseño típico

Page 12: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

12 LiNUX+ 8/2010

hardwareComputación Híbrida

13www.lpmagazine.org

hardwareComputación Híbrida

• Especificación. Definición de la especificación en una nueva descripción que refleje las decisiones hechas duran-te la exploración.

• Software y Hardware. Implementación de cada uno de loscomponentes utilizando técnicas de diseño software y hard-ware o híbridas.

• Diseño físico. Generación de los datos de fabricación para cada componente.

Esta metodología de modelado jerárquico permite alta produc-tividad, preservación de la consistencia a través de todos los ni-veles y por lo tanto la eliminación de iteraciones innecesariaslo que se traduce a procesos más eficientes y rápidos.

Para describir la funcionalidad de un sistema es necesario describir las relaciones entre las diferentes piezas funcionales del modelo conceptual. Algunos de los modelos que describen esta funcionalidad de los sistemas son:

• Gráfica de flujo de datos. Una gráfica de flujo de datos des-compone la funcionalidad en actividades y los flujos de datos entre estas actividades.

• Máquina de estado finito (FSM, Finite-State Machine). Este modelo representa al sistema como un conjunto de esta-dos y un conjunto de arcos que indican transición del sis-tema de un estado a otro como resultado de determinado evento.

• Procesos secuencialmente comunicados (CSP, Communi-cating Sequencel Processes). Este modelo descompone el sistema en un conjunto de procesos concurrentes que corren instrucciones de programa secuencialmente.

• Máquina de estado programa (PSM, Program-State Machi-ne). Este modelo combina FSM y CSP; permite que cada estado de un FSM concurrente contenga acciones descri-tas por instrucciones de programa.

Cada modelo tiene sus ventajas y desventajas. Ninguno es perfecto para todos los tipos de sistemas, así que se debe seleccionar aquel que mejor se ajuste a las características específicas del sistema.

Programación, Algoritmos, LenguajesEs obvio que, independientemente de si se trata de hardware o software, es posible describir los procesos, datos y flujos

que intervienen mediante algoritmos. Por lo tanto, es natural pensar que estos algoritmos se implementen en determinado lenguaje. Si observa detenidamente el ejemplo de la Figura 4,cuesta pensar que no representa un fragmento de código programado en Pascal o algún tipo de pseudocódigo y que, simplemente, implementa funcionalidades hardware.

Existen diferentes tipos de hardware, configware, que per-miten esta “programación”. Los ASICs (ya sean de arreglo de puertas o celdas estándar) permiten interconectar diferentes módulos pre-integrados (por ejemplo puertas AND o combi-naciones AND-OR-INVERTER) para conseguir determinada funcionalidad. Los dispositivos de lógica programable (PLD, Programmable Logic Device) contienen determinadas capas de circuitos programables que son interconectados (queman-do fusibles o mediante conmutadores programables) median-te software. La FPGA (Field Programmable Gate Array) es un tipo de PLD complejo mientras que la PLA (Programmable Logic Array), es un tipo de PLD simple.

Los lenguajes de descripción del hardware, como VHDL o Verilog, difieren de los lenguajes de programación software en detalles como las formas de describir la propagación del tiempo y las dependencias de señal (sensibilidad). Existen dos operadores de asignación, uno de bloqueo (=) y otro de no-bloqueo (<=); este último permite describir la actualización de máquinas de estado sin necesidad de declarar y usar variables adicionales. Desde su introducción, en 1984, Verilog represen-tó un aumento tremendo en la productividad. Los diseñadores de circuitos utilizaban un programa de captura esquemático gráfico y los programas software escritos especialmente para documentar y simular los circuitos electrónicos.

Los diseñadores hardware desean lenguajes de espe-cificación con características similares a los lenguajes de programación ampliamente usados en el desarrollo de siste-mas. Verilog tiene una sintaxis similar a la de C: es sensible

Figura 3. Procesadores y solución del problema. a. problema, funcionalidad deseada, b. procesador de propósito general, c. procesador específico a la aplicación, d. procesador de propósito específico. Un desplazamiento hacia la izquierda en la línea inferior aumenta en flexibilidad, coste (a pequeña escala), tiempo, etc., mientras que hacia la derecha en eficiencia, rendimien-to, tamaño y coste (a gran escala), etc.

Figura 4. Fuente de sumador con signo en VHDL. El VHDL se diseñó para documentar el comportamiento de los circuitos integrados de aplicaciones específicas (ASIC, Application Specific IC) del Departamento de Defensa del gobierno americano

Page 13: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

12 LiNUX+ 8/2010

hardwareComputación Híbrida

13www.lpmagazine.org

hardwareComputación Híbrida��������

����������

v6RUNNING

IPv

Page 14: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

14 LiNUX+ 8/2010

hardwareComputación Híbrida

15www.lpmagazine.org

hardwareComputación Híbrida

a mayúsculas-minúsculas, tiene un preprocesador básico (aunque menos sofisticado que el de ANSI C/C++), etiquetas de control de flujo equivalentes (if/else, for, while, case, etc.), y operadores de precedencia compatibles. Las diferencias sintácticas incluyen la declaración de variables (Verilog re-quiere bit-widths sobre tipos net/reg por ejemplo), bloques procedimentales o de demarcación (begin/end en lugar de las llaves {}), y otras pequeñas diferencias.

Otro lenguaje de descripción similar a VHDL y Verilog es el lenguaje de descripción de sistemas SystemC (http://es.wikipedia.org/wiki/SystemC), realmente útil para modelar sis-temas a nivel de comportamiento. “SystemC es un conjunto de librerías y macros implementadas en C++ que hacen po-sible una simulación de procesos concurrentes con la sintaxis del lenguaje C++ ordinario. Así los objetos descritos pueden comunicarse durante una simulación de tiempo real usando señales de cualquier tipo ofrecido por C++, además algunas otras ofrecidas por las librerías de SystemC y también otras definidas por el usuario”.

La metodología de diseño comienza con un modelo de alto nivel escrito en C++ y aplica un proceso iterativo que consiste en transformar el código para usar sólo los elementos que tengan su equivalente en un lenguaje de descripción de hardware.

La representación unificada de un sistema híbrido debe describir su funcionalidad independientemente de su imple-mentación hardware o software lo que permite la repartición HW/SW según un compromiso óptimo, provee un entorno de simulación y facilita una fertilización cruzada entre los domi-nios HW/SW.

ParticiónLa partición es el proceso que decide, para cada subsistema, cómo es más ventajoso implementar la funcionalidad requeri-da: por hardware o por software. Este es un problema de op-timización multi-variable que debe satisfacer las prestaciones exigidas dentro de determinados requerimientos del sistema: tamaño, peso, potencia, coste, etc., que, en el contexto del co-diseño, se denomina frecuentemente partición funcional.

Existen dos enfoques básicos de división. O bien comen-zar con todas las operaciones en el software y mover algunas a hardware (por ejemplo, cuando la velocidad es fundamental) o empezar con todas las operaciones en hardware y mover al-gunas a software. Un programa de división funcional identifica los cuellos de botella de cómputo y migra las funciones co-rrespondientes a un hardware específico de la aplicación. Por otra parte la migración de componentes hardware a rutinas software pasa por la identificación de las tareas no críticas susceptibles de migrar. Esto conlleva una reducción de tama-ño y costes significativos sin reducir el rendimiento (especifi-cado en términos de latencia y restricciones en la velocidad de los datos).

La compartimentación funcional permite que el sistema se divida en componentes hardware y software; es análogo a las particiones estructurales en que la estructura de un sistema se refina en un menor nivel de componentes hardware. Sin embar-go, en las particiones estructurales, la funcionalidad no se puede mover desde el hardware hacia el software. El particionado de

objetos funcionales entre los componentes del sistema se rea-liza: mediante una descripción de la funcionalidad del sistema (descrita como una colección de objetos funcionales indivisibles) y a continuación cada componente de la funcionalidad del siste-ma se implementa en hardware o software.

El proceso de partición es guiado por la métrica y el tipo de métrica a utilizar depende en gran medida del nivel de descrip-ción del sistema. La métrica se define para determinar el coste relativo de una partición frente a otras particiones potenciales. Obviamente, algunos indicadores, como el tiempo de ejecu-ción de una determinada tarea en un procesador específico, son imposibles de medir con precisión hasta alcanzar la apli-cación definitiva. Algunas de estas técnicas son: de estimación determinística (sólo útil cuando se parte de un modelo comple-tamente especificado), de estimación estadística (en modelos incompletos; se basa en el análisis de sistemas similares y ciertos parámetros de diseño) o de perfiles (examina flujos de datos y control en una arquitectura para determinar qué partes, más caras computacionalmente, son mejores imple-mentadas por hardware). El proceso de seleccionar los com-ponentes se denomina asignación (allocation).

Los sistemas híbridos no sólo deben tener en cuenta qué implementar por hardware o por software sino también cómo comunicar ambos dominios y es que esta comunicación intro-duce determinada sobrecarga que debe ser considerada.

Cuando es posible una implementación de todos los com-ponentes del sistema sólo con procesadores de propósitos generales (ya sean microcontroladores, microprocesadoreso procesadores digitales de señal) el diseño de un sistema complejo se convierte en un problema de integración (este concepto excluye la elaboración y uso de procesadores es-pecíficos). Este es, sin embargo, un escenario frecuente no menos complejo donde se puede considerar los componentes como piezas de un rompecabezas que deben encajar perfec-tamente (en términos de métrica) para conseguir el objetivo deseado. Este “encaje” pasa por unas interfaces de comuni-cación bien definidas y por el uso de terminales de interacción universales o estándares.

Listado 1. Fuente de sumador en SystemC

#include "systemc.h"

SC_MODULE(adder) // módulo, declaración de la clase

{

sc_in<int> a, b; // puertos

sc_out<int> sum;

void do_add() // proceso

{

sum = a + b;

}

SC_CTOR(adder) // constructor

{

SC_METHOD(do_add); // registro do_add al kernel sensitive << a << b; // lista de sensibilidad

//de do_add

}

};

Page 15: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

14 LiNUX+ 8/2010

hardwareComputación Híbrida

15www.lpmagazine.org

hardwareComputación Híbrida

ConclusionesEl co-diseño HW/SW es muy útil en la búsqueda de soluciones a medida, prototipado rápido, simulación, sistemas con deter-minados procesos críticos (ya sea en velocidad, memoria, etc.), sistemas adaptables o reconfigurables, concurrentes (desarrollo simultáneo HW/SW), integrables (la interacción del desarrollo HW/SW produce diseños que satisfacen los criterios de rendimiento y especificaciones funcionales), etc., y permite el desarrollo de sistemas complejos que sacan lo mejor de cada tecnología.

Imagine el siguiente escenario: necesita desarrollar un sistema muy complejo que debe interactuar con el mundo real. Para ello primeramente crea un modelo conceptual del sistema: una especificación funcional ajena e independiente de cualquier detalle de implementación y, por lo tanto, de la tecnología. Este diseño le permitirá implementar el sistema con la tecnología disponible en el momento que lo requiera. Ahora suponga que es capaz de describir todos los algoritmos, procesos, datos e interrelaciones de su modelo en una suerte de meta-lenguaje de programación (pseudocódigo o de muy alto nivel como muestra la Figura 5), ajeno igualmente a cual-quier implementación.

Por último suponga que combinando estrategias automá-ticas y manuales (en la Figura 5, por ejemplo, sólo se consi-dera la división HW/SW automática) pueda decir qué y cómo hacer por hardware o por software y cómo comunicarlas en-tre sí. Finalmente obtendrá un sistema híbrido óptimo, sus-ceptible de futuras implementaciones, definido en términos no perecederos, en definitiva: un sistema eficaz resistente a la obsolescencia tecnológica capaz de absorber la tecno-logía del futuro.

La computación híbrida, hoy día, parece aceptada como evidente pero aún queda mucho por hacer y no existe, ni existirá, solución ideal ni genérica. La resistencia llega de to-das partes. El uso de meta-lenguajes no es casi nunca bien recibido por la comunidad de programadores que lo conside-ra un intrusismo automatizado y prefieren seguir escribiendo sus líneas de código en el lenguaje que les apetezca. Para los desarrolladores de hardware este enfoque es una quime-

ra basada en patrones susceptibles de mejoras. Pero para la industria simplemente significa ganar o perder dinero. Aquí la hibridación es lo de menos y lo de más la imposición de tec-nologías y estrategias propietarias. Jobs reclama “baja po-tencia, pantallas táctiles y estándares abiertos para la web” para el entorno de las aplicaciones hoy día mientras Apple, la compañía que dirige, supera a Microsoft en el mercado mundial y es el cuarto en ventas de ordenadores en Estados Unidos; es difícil desvincular ambos hechos y su capacidad de expansión a otros mercados como el de los móviles y la reproducción multimedia.

Linux cuenta con el procesador Leon 2 (una implementa-ción en VHDL de un procesador de 32 bits compatible con el juego de instrucciones Sparc V8, desarrollado para la Agen-cia Espacial Europea y mantenido en la actualidad por Gais-ler Research; http://www.gaisler.com/cms/), de código abier-to, acompañado de las herramientas necesarias, que también son de código abierto: compiladores C, versión de Newlib, y versiones de eCos y Linux. El procesador Leon no sólo es de código abierto, sino que además no está ligado a ninguna tecnología de FPGA concreta. PeaCE, por otra parte, permite realizar un particionado HW/SW automático.

La computación híbrida no es tan nueva como parece y ya cuenta con algunas décadas. Sin embargo el co-diseño no lo es tanto y cada vez ejerce mayor atracción. ¿Habrá que esperar por una comunidad HW/SW libre para impulsarlo? El tiempo dirá. Mientras… el mundo sigue siendo analógico y complejo y el hombre ridiculizando, rechazando violenta-mente y aceptando como evidente toda verdad.

Figura 5. Co-compilador Software-Configware. Configware significa progra-mación reconfigurable. Configware versus software significa programación estructural versus programación procedimental. Configware considera ASICs, PLDs, etc.

• VHDL: http://en.wikipedia.org/wiki/VHDL • Verilog: http://www.verilog.com/ • SystemC: http://www.systemc.org/home/

En la red

Lino García Morales es Graduado en Ingeniería en Control Automático, Máster en Sistemas y Redes de Comunicaciones y Doctor por la Universidad Politécnica de Madrid. Ha sido pro-fesor en el Instituto Superior de Arte de La Habana, la Universi-dad Pontificia “Comillas” y la Universidad Meléndez Pelayo.

Actualmente es profesor titular de la Facultad de Artes y Comunicación y de la Escuela Superior Politécnica de la Universidad Europea de Madrid y Coordinador del Grado en Arte Electrónico y Digital. Artista y científico, lidera un grupo de investigación transdisciplinar en la intersección Arte, Cien-cia, Tecnología y Sociedad. Ha disfrutado de Becas por la Agencia Española de Cooperación Internacional, FUNDES-CO, el Consejo Superior de Investigaciones Científicas (CSIC) y la Universidad Politécnica de Madrid.

Sobre el autor

Page 16: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

16 LiNUX+ 8/2010

soluciones para empresasSoftware Libre en la PYME

17www.lpmagazine.org

soluciones para empresasSoftware Libre en la PYME

linux

@so

ftwar

e.com

.pl Para la realización de este ejercicio de creación de mercados, hemos detectado tres importantes sectores involucrados: Sector Educativo, el Gobierno y el Sector

Privado. Cada uno motivado por diversas necesida-des y retos como son:

• Sector Educativo: el proveer de más elementos teóricos, prácticos, tecnológicos y laborales a sus Profesionales TI.

• El Gobierno: el reducir los costos de la adminis-tración pública asociados a la infraestructura TI, y egresos que normalmente se pagan a corpo-rativos extranjeros.

• Sector Privado: utilizar plataformas tecnológicas sustentables y económicas que brinden a las empresas el apoyo tecnológico para fomentar el crecimiento.

En general, perseguimos conformar una sociedad más consciente de la importancia de cuidar el gasto interno, y sobre todo de desarrollar las capacidades técnicas y científicas de nuestros profesionales y un compromiso por la mejora continua e independencia tecnológica.

¿Qué es el Software Libre?Se le llama Software Libre a los programas para computadora, que además de proveer de una utilidad(que nos permiten usar la computadora para una ac-tividad, como por ejemplo llevar la agenda, la conta-bilidad, escribir correos, etc.) ofrecen las siguientes facultades a los usuarios (Tabla 1).

Una confusión muy común al hablar del Software Libre es considerarlo “simplemente gratuito”, mismo hecho que en algunos casos causa escepticismo

para su adaptación, parte de la realidad a considerar es al igual que otros productos de consumo, tiene costos asociados, sobre todo en términos de capa-citación, soporte técnico, aceptación y proceso del cambio, etc.

Sin embargo, estos costos siempre son menores en el tiempo, comparados contra los productos tra-dicionales del llamado Software Privativo (software que no es Software Libre, conocido también como Software Comercial). Queda fuera del alcance de es-te texto el desarrollar un análisis de “Costo Total de Propiedad” que confirme al Software Libre como una alternativa muy económica para las micro, peque-ñas y medianas empresas, y con más razón para los nuevos negocios y emprendedores.

Para más detalles acerca de la definición de Software Libre, puede consultar:

• "El Software Libre" de Las TIC en un CLIC http://www.youtube.com/watch?v=9NrPGDtzv50

• Qué es el Software Libre y 25 años de GNU http://www.youtube.com/watch?v=L3X9CGxuQBI• “Entrega del Premio a la Trayectoria Personal

a Juan Carlos Rodríguez Ibarra expresidente de la Junta de Extremadura; en el Senado en el acto conmemorativo del día mundial de Internet el 17 de mayo de 2010 (II Parte)”

http://www.youtube.com/watch?v=wzu7KvGBlZ0

¿Por qué es Importante el Software Libre?Porque hoy en día, el Software Libre ha alcanzado niveles de madurez, que lo colocan como candida-to viable para ser el soporte tecnológico de las em-presas en crecimiento. Veamos la siguiente gráfi-ca (Figura 1).

Ejercicio de Creación de Oferta y Demanda del Software LibreEste artículo busca convertirse en una guía práctica para llevar el Software Libre a los diversos sectores económicos, sociales y educativos, partiendo desde cero. De ahí que se presenta una breve definición de Software Libre y su importancia, además de pasos concretos para introducirlo en el mercado PYME, a través del involucramiento del sector educativo, gobierno y empresas.

Josías Galván Reyes

Page 17: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

16 LiNUX+ 8/2010

soluciones para empresasSoftware Libre en la PYME

17www.lpmagazine.org

soluciones para empresasSoftware Libre en la PYME

Empresa sin tecnologíaEn un primer escenario, o en un caso grave, hay empresas que no cuentan con la tecnología necesaria para realizar de manera eficiente sus operaciones, y/o que aún realizan traba-jos de manera manual.

Empresa con software ilegalMuchas empresas del escenario anterior, en un esfuerzo por modernizarse a “bajo costo”, optan por adquirir software de fuentes dudosas, que puede llegar a ser software pirata o ilegal, y que al mediano-largo plazo genera más problemas que beneficios.

Sin embargo por “costumbre” o “ignorancia” muchas em-presas permanecen en este modelo.

Ver “Seis de cada 10 computadoras en México tienen soft-ware pirata” (La Jornada http://www.jornada.unam.mx/2010/05/12/index.php?section=economia&article=030n2eco)

Empresa con software legalOtras empresas, conscientes de las desventajas del software ilegal, optan por regularizar su situación haciendo el pago de las licencias correspondientes, sin embargo, en muchos ca-sos, estos costos son prohibitivos para las nuevas empresas y/o empresas en crecimiento.

Además, el pago de una u otra licencia no garantiza el uso adecuado de la tecnología para la necesidad del negocio.

Empresa con software libreEste es el escenario ideal, al que se pretende llevar a las em-presas. Se utiliza Software Libre para apoyar la operación. El Software Libre es Software Legal, y que a través de un buen proceso de implantación y capacitación, puede ayudar a las

empresas a enfocarse en sus procesos de negocio, haciendo un uso eficiente de la tecnología para el contexto dado.

Hablar de la importancia del Software Libre, como alter-nativa al software pirata o ilegal, nos hace reflexionar en el impacto que el uso de software ilegal tiene para nuestra socie-dad, nuestro país y nuestra economía, tal y como se muestra en múltiples artículos en importantes periódicos del país:

• 2010-05-11, El Economista, “México pierde US1,056 millonespor software pirata”, http://eleconomista.com.mx/industrias/2010/05/11/mexico-pierde-us1056-millones-pirateria-software.

• 2010-05-11, El Universal, “Seis de cada 10 software son pirata en el país”, http://www.eluniversal.com.mx/articulos/58558.html.

Finalmente, el Software Libre es importante, porque cualquier inversión económica o educacional que se haga en esta mate-ria, beneficiará directamente al mercado y la comunidad local. Un análisis más detallado del Costo Total de Propiedad del Software Libre, nos llevará a concluir que las inversiones eco-nómicas, se aplican mayormente al recurso humano de nues-tras empresas, en especial a los Profesionales TI, es decir a profesionales que viven en nuestras comunidades, egresan de nuestras universidades y que usarán sus ingresos en nuestra economía, y porque no, tal vez para utilizar productos y servicios de nuestras mismas empresas.

Concretamente, ¿en qué me puede ayudar el Software Libre en mi empresa?

• Navegar en Internet de manera segura.• Leer y Escribir Correo Electrónico.

P U B L I C I D A D

Page 18: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

18 LiNUX+ 8/2010

soluciones para empresasSoftware Libre en la PYME

19www.lpmagazine.org

soluciones para empresasSoftware Libre en la PYME

• Recibir Noticias Regionales y Globales.• Manejar mi agenda y la agenda de un equipo de trabajo

(Groupware).• Generar documentos, presentaciones, hojas de cálculo,

dibujos, bases de datos, etc.• Controlar y proteger el acceso a archivos confidenciales.• Mantener respaldos de la información personal.• Crear imágenes, digitalizar documentos, retocar fotos.• Crear música y vídeos.• Darle seguimiento a clientes (CRM), proveedores, pro-

yectos (PMIS), etc.• Llevar la contabilidad de la empresa y la personal.• Integrar los procesos de control de materiales y/o empre-

sariales (MRP/ERP).• Colaborar con equipos de trabajo (Groupware).• Mensajería Instantánea y/o Vídeo Conferencia.• Hacer nuevos programas a la medida de mis necesida-

des (IDE's, RDBMS, etc.).• Proteger a mi empresa de ataques de Internet (Firewalls).• Controlar el uso apropiado de Internet en mi empresa

(Proxy, Firewalls, etc.).• Interconectar oficinas a través de Internet (Redes Amplias,

VPN, Túneles, etc.).• Y un largo etcétera.

Y entonces, ¿por qué no se ha extendido el uso del Software Libre?Contrario a lo que se podría suponer, el Software Libre ya tiene muchos años en el mercado. En la última década ha tomado un gran impulso gracias a la aparición de Linux, pero a pesar de la madurez de estos sistemas, hay otros factores, más del tipo social que del tipo técnico, que ha faltado activar para que el Software Libre sea adoptado de manera amplia por las em-presas, y sus beneficios se muestren en las economías regio-nales. Entre los factores en contra podemos mencionar:

• Ignorancia de las empresas y de los Profesionales TI, acerca de las posibilidades del Software Libre.

• Falta de Profesionales TI capacitados y comprometidos, para implantar y operar estas tecnologías.

• Costumbre y Falsos Paradigmas del Concepto “Tecnología”• Resistencia al Cambio.• Detractores del Software Libre.

Este documento surge para apoyar, en términos sociales y es-tratégicos, la evolución del Software Libre en nuestra región, a través de pasos concretos para activar un mercado empresa-rial, en donde se construya demanda y oferta.

Objetivo del Ejercicio de ActivaciónEstablecer los mecanismos, para la definición y arranque de operaciones, de una red de contactos orientada a la creación de un mercado de clientes y proveedores de Software Libre, a través del involucramiento de catalizadores culturales, eco-nómicos y sociales.

Generación de OfertaCada vez somos más, los que estamos convencidos de que la educación y la formación de profesionales con conciencia hu-mana, es la llave para el desarrollo de nuestras comunidades, de ahí que para este ejercicio, el sector educativo es el princi-pal catalizador de la generación de nuevos mercados.

Más allá de buscar formar Profesionales TI que cumplan con las necesidades presentes del mercado actual, se busca concienciar a las Universidades en la importancia de ampliar las capacidades de los Profesionales TI, hacia las posibilida-des del Software Libre.

En la generación de oferta se busca que las instituciones educativas sean las incubadoras de nuevos Profesionales TI, con conocimientos teóricos y prácticos, aplicados al campo del Software Libre. Los trabajos comienzan en la difusión dentro del sector educativo, donde se invitará a las universi-dades a participar en este ejercicio. De la formación de estos Profesionales TI, gradualmente aparecerán nuevas empresas especializadas en Software Libre, que ofertarán productos y servicios relacionados, a las PYMES y a la sociedad en gene-ral de la región. La Generación de la Oferta, se lleva a través de las siguientes fases:

Fase 1. FormaciónLa fase de formación consiste en la atracción del talento humano, dentro de las poblaciones universitarias, donde se buscará crear Grupos de Usuarios o Comunidades Especiali-zadas en donde se fortalecerán sus habilidades técnicas, en los temas de una agenda que sirva como guía para iniciar el interés en el Software Libre.

Posteriormente estos Grupos de Usuarios y/o Comunida-des Especializadas se enfrentarán al reto de complementar su formación con auto capacitación y proyectos aplicados realizados en empresas reales.

Estas son algunas actividades recomendadas para las universidades participantes:

• Asignar un Asesor Académico que auxiliará a la formación del Grupo de Usuarios y/o Comunidades Especializadas. Este rol también participa en:– La creación de Temarios Guía o Agendas de Forma-

ción para iniciar al Grupo de Usuarios y/o Comunida-des Especializadas.

– Como vínculo entre los Profesionales TI y la Universi-dad, así como representante ante otras universidades y/o sector empresarial.

Tabla 1. Las libertades que ofrece el Software Libre

Libertad Descripción0 La libertad de usar el programa, con cualquier propósito.

1 La libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a las necesidades del usuario.

2 La libertad de distribuir copias del programa, con lo cual puedes ayudar a otras personas.

3 La libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.

Las libertades 1 y 3 requieren acceso al código fuente porque estudiar y modificar software sin su código fuente es muy poco viable. Fuente Wikipedia. http://es.wikipedia.org/wiki/Software_libre

Page 19: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

18 LiNUX+ 8/2010

soluciones para empresasSoftware Libre en la PYME

19www.lpmagazine.org

soluciones para empresasSoftware Libre en la PYME

��������������������������������������

�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������

�������������������������������������������������������

���������������������������������������������������������������������������

Page 20: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

20 LiNUX+ 8/2010

soluciones para empresasSoftware Libre en la PYME

21www.lpmagazine.org

soluciones para empresasSoftware Libre en la PYME

– Dar seguimiento al Grupo de Usuarios y/o Comunidad Especializada, como organización estudiantil, apoyan-do en la democratización del conjunto, normatividad, el establecimiento y cumplimiento de objetivos, etc.

• Crear la convocatoria entre la población estudiantil y/o egresados, además de proveer el espacio físico y técnico para permitir que los Profesionales TI puedan reunirse para recibir la capacitación y/o práctica de los temas en formación.

Fase 2. DifusiónLa fase de difusión inicia cuando el Grupo de Usuarios y/o Comunidades Especializadas alcancen un grado de madu-rez (previamente definido en los Temarios Guía o Agendas de Formación) aplicativo en escenarios reales. A partir de dicho momento, será labor de la universidad y sus depar-tamentos de vinculación, el buscar espacios, en el sector empresarial, para reafirmar los conocimientos adquiridos y/o crear los espacios laborales para sus futuros egresados, a través de:

• Atraer al Sector Empresarial para generar interés en los productos y servicios del Software Libre, a través de pláticas, conferencias, demostraciones, talleres, laborato-rios, clínicas y/o proyectos, desarrolladas por el Grupo de Usuarios y/o Comunidades Especializadas.

• Las instituciones educativas podrán también crear planes de “Actualización Educativa” o “Cursos de Capacitación” y/o “Educación Continúa” para los usuarios finales de las tecnologías de Software Libre (por ejemplo: Emprendedo-res, Secretarías, Contadores, Administradores, Oficinis-tas, etc.)

• Se busca que la aplicación de los conocimientos adquiri-dos se lleve a cabo a través de “Clínicas Empresariales” o “Laboratorios” donde se realicen proyectos TI, previa-mente definidos y ofertados a las empresa, y dirigidos por la universidad.

• Vincular a los participantes con proyectos en el sector empresarial donde se apliquen los conocimientos teóricos adquiridos:– Se recomienda la aplicación de metodologías forma-

les (PMBOK/PMI, ITIL, RUP, etc.) para la realización formal de los proyectos.

– Se recomienda que sean proyectos “vendidos” por la comunidad, donde “vendidos” nos referimos a que sea el sector educación el que ofrezca los proyectos específicos al sector empresarial, en donde se desa-rrollen y fortalezcan habilidades específicas de los Profesionales TI.

• Colaborar entre universidades en para la creación de proyectos de impacto regional, así como intercambio de conocimiento, participación en proyectos de Software Libre, etc.

• Generar competencia entre las universidades, para la obtención de proyectos en empresas del sector privado (generación de planes de proyecto, cotizaciones, etc.) así como competencias en términos de capacidad y conoci-mientos (Ej. Concursos de Programación), etc.

Fase 3. CertificaciónActualmente, el conocimiento de muchas herramientas y tec-nologías son evaluados a través de procesos de certificación, donde se busca garantizar que el Profesional TI cuente con un nivel de conocimientos y experiencia que garantice el óptimo uso de las tecnologías.En este proceso también pueden parti-cipar las Instituciones Educativas, que podrían incluir planes, programas de formación y/o exámenes, para la obtención de certificados oficiales, previamente coordinados con las en-tidades reguladoras correspondientes, siendo esto un valor agregado para sus Profesionales TI.

• Obtener las credenciales necesarias ante las entidades correspondientes y ofrecer servicios de capacitación, eva-luación y certificación de las capacidades de los Profesio-nales TI de la región.

• Certificar a la población de Grupos de Usuarios y/o Co-munidades Especializadas

Generación de DemandaPara balancear la ecuación, y gestar los escenarios para que la oferta generada por las instituciones educativas, sea consu-mida por el sector empresarial, hay que generar demanda de los productos y servicios ofertados por los Profesionales TI en Software Libre. Este es un proceso en el cual las Instituciones Educativas tendrán un papel estratégico y catalizador para la promoción e introducción del Software Libre en los mercados regionales.

Generación de Demanda es ampliar la visión de los direc-tores, dueños de empresas y tomadores de decisiones, acerca del cómo el uso de las tecnologías de información basadas en Software Libre, pueden potenciar el desarrollo de las empre-sas, en la región. Normalmente las instituciones educativas cuentan con una serie de contactos y/o convenios con el sector empresarial, cámaras de comercio y/o asociaciones empresariales regionales, y a través de esta red de contactos, podrán crear las campañas de promoción del Software Libre, para crear conciencia y los espacios requeridos para los Pro-fesionales TI.

El Sector Gobierno también es en un eje focal, y de gran influencia en el uso y promoción del Software Libre.

Figura 1. Iniciamos una “Empresa Sin Tecnología” y buscamos llevar a las empresas a un grado de madurez “Empresa Con Software Libre”

Page 21: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

20 LiNUX+ 8/2010

soluciones para empresasSoftware Libre en la PYME

21www.lpmagazine.org

soluciones para empresasSoftware Libre en la PYME

Promoción del Uso de la Tecnología en las PYMESLos nuevos negocios y las pequeñas empresas se pueden apoyar en tecnología de Software Libre para potenciar sus procesos de negocio. Sin embargo, el sector empresarial re-presenta un gran reto, debido a los “paradigmas y las costum-bres comerciales” que rodean el concepto del Software y la Computación.

La tarea de sensibilizar y crear conciencia a los tomadores de decisiones, se puede llevar a cabo a través de conferen-cias, pláticas o talleres, en las que se presente las herramien-tas de tecnología de Software Libre, que ayuden a fortalecer las operaciones de las empresas, en temas:

• Herramientas de Software para PYMES (Tecnología en General),

• Conciencia del Uso del Software Legal,• ¿Qué es el Software Libre?,• Análisis de Costo Total de Propiedad del Software Libre

vs. Software Privativo,• Seguridad de los Sistemas.

Para complementar estas conversaciones, se busca presentar estrategias para apoyar al sector empresarial, en las áreas de oportunidad que se generen a partir de los temas tratados. Las instituciones podrán presentar su oferta de soluciones y servi-cios para el sector empresarial a través de “Clínicas Empresa-riales” y/o “Proyectos Dirigidos”, ejecutados por los Grupos de Usuarios y/o Comunidades Especializadas gestadas, algunos de los servicios podrían ser:

• Auditorías de Sistemas,• Planes de Regularización de Software Legal,• Proyectos de Migración a Plataformas de Software Libre,• Capacitación para Usuarios Finales para Diferentes He-

rramientas.

Acciones Principales para el Sector Empresarial

• Solicitar Auditorías o Análisis de Competencias y Mejoras, a las Instituciones Educativas,

• Participar en los proyectos ofertados por las Instituciones Educativas,

• Contratar Profesionales TI para el soporte y operación del Software Libre (Generación de Empleos).

Promoción del Uso de Software Libre en el GobiernoUn actor fundamental en la utilización del Software Libre es el Gobierno, ya que su aprobación o desaprobación moral, será de-terminante en la viabilidad que como conjunto social, los empre-sarios de la región decidan sobre este tema para sus empresas.

No es una cuestión de “venderle al gobierno”, es una cues-tión de que el gobierno reconozca las bondades del Software Libre y las utilice en beneficio de la sociedad, como:

• Medida de Reducción de Costos en el Gasto Guberna-mental de TI en Licenciamiento de Software.

• Medida de Independencia Tecnológica (No Dependencia de Corporativos Extranjeros).

• Medida de Promoción del Desarrollo de los Profesionales Locales (Nuevas Empresas, Nuevos Centros de Capaci-tación, Nuevos Programas de Educación Continua, etc.).

Acciones Principales para el Sector Gobierno

• Usar Software Libre en la Administración Pública:– Establecer mesas de trabajo con el Personal TI de Go-

bierno, para determinar la factibilidad operativa, téc-nica y económica de la utilización del Software Libre en la función pública.

– Establecer los acuerdos políticos, con las instituciones de educación y los funcionarios de gobierno corres-pondientes para la generación de un Plan Maestro de Integración, que contemple todas las tareas nece-sarias para que el Gobierno utilice Software Libre en todas sus oficinas.

• Crear campañas de asistencia a PYMES para actualiza-ción tecnológica en herramientas de Software Libre:– El gobierno puede crear un fondo/subsidio para capa-

citación en nuevas herramientas, tanto para los usua-rios finales como para Profesionales TI.

Finalmente, el ejercicio de generación de la demanda com-plementa y fortalece las actividades de generación de la oferta. Las Instituciones Educativas son el catalizador de una nueva conciencia social y empresarial, acerca del im-pacto de las Tecnologías de Información y Comunicaciones, en el desarrollo de los mercados internos y de las economías regionales. A través de nuevos Profesionales TI, las Institu-ciones Educativas tienen un gran reto y oportunidad en el mercado.

Siguientes PasosEl siguiente paso es el primer gran reto a enfrentar, y recaerá en la responsabilidad social del lector del presente documen-to. Aquí algunas preguntas de reflexión:

• ¿Realmente crearía un impacto positivo el Software Libre en mi comunidad?,

• ¿Qué puedo hacer yo para empezar a realizar las accio-nes propuestas?,

• ¿Tengo conocidos en el sector educación, gobierno o em-presas, que puedan interesarse y empezar a construir el cambio?,

• ¿Puedo financiar la realización de estos trabajos en tér-minos de promoción, capacitación, publicaciones, mate-riales, infraestructura, etc.?,

• ¿Puedo ser yo un promotor que se acerque a las univer-sidades para promover estos trabajos?,

• ¿Tengo ideas que puedan complementar este proyecto?

El Software Libre tiene un gran reto social, requiere de perso-nas que se atrevan a pensar diferente y que se comprometan con el desarrollo de sus regiones.

Page 22: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

22 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

23www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

Cuando empecé a interesarme por Linux como alternativa de trabajo desde mi PC, era (eso creía) un usuario experimentado en informática. Sin tener una formación

específica ortodoxa, una mezcla de intuición e incons-ciencia me guiaban a través de los problemas que me iba encontrando con la generación y administración de documentos, realización de prácticas de todo tipo con el alumnado (desde la consabida realización del primer trabajo en procesador de textos, a la programación de tarjetas controladoras desde los primeros Windows 3.0), webquests, etc... Intuición porque la llegada de los en-tornos gráficos de escritorio a principios de los 90 daban más facilidad para orientar al usuario sobre qué estaba pasando en cada momento. Inconsciencia porque, en el fondo (era joven y aventurero), me importaba un pito qué pasaría a continuación. Si sucedía lo que yo esperaba, genial. Si había algún error, con suerte, habría guardado el archivo correspondiente. Si no había suerte, todo se había perdido, y tocaba empezar de cero. Y normalmente no me importaba. Era genial. Pensar que una máquina como mi ordenador (un Pentium a ¡100! MHz), normal-mente, exigiría como medida extrema un simple for-mateo y reinstalación del software, y sólo como último recurso, era hipnóticamente atrayente para un legendario “manazas” como el que suscribe, que sólo pulsando un interruptor podía averiar el sistema eléctrico y dejar sin suministro a la casa de sus padres (y les puedo asegurar que no miento).

Pero ya estoy divagando, y sólo estamos en la intro-ducción. El caso es que cuando me empecé a interesar por Linux, hará ya unos cinco o seis años, me encontré

con miríadas de información. Ése es uno de sus princi-pales atractivos, al tiempo que, en ocasiones, un obstá-culo: la libertad para difundir, compartir y modificar la información. Sumémosle el hecho de que la mayoría de

Descubriendo Linux: ¿Qué debes saber si no sabes nada?Es curioso cómo damos por sentado, cuando hablamos de Linux, que todos los que nos oyen o leen tienen la formación mínima para entender todo aquello que estamos diciendo. Uno de los principales escollos, a nuestro entender, para realizar el salto mortal sin red que el usuario cree que supone descubrir Linux es la falta de información general sobre sus características y posibilidades. Este artículo pretende ofrecer una introducción a tan maravilloso mundo, desde la perspectiva de la práctica educativa. ¿Qué debemos saber de Linux para presentárselo a nuestros alumnos?

Mª Dolores Nogueras y Antonio Gómez

es@

lpm

agaz

ine.o

rg

Figura 1. Un sistema operativo opera en una capa intermedia entre las aplicaciones controladas por el usuario (software) y el equipo (hardware). Fuente: Wikipedia

Page 23: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

22 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

23www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

la información está generada por expertos, y orientada al consumo por parte de expertos. En mi caso particular, superé ese primer pro-blema mezclando a partes iguales dos de los más enternecedores aspectos de mi personalidad: cabezonería e ilusión.

Hoy en día, sin atreverme a considerarme un “gurú”, ni mucho menos (ya puedo oír las carcajadas de fondo de algunos lectores que ya han visto nuestro trabajo en anteriores números), sí po-dríamos decir que sabemos, al menos, por donde empezar en este mundillo, así como ayudar a introducirse en él a compañeros pro-fesores y maestros, así como a alumnos, que nunca hayan tomado contacto con el software libre. A lo largo de este artículo, que sólo pretende ser un primer paso en un viaje tan adictivo como largo, trataremos de orientar al profesor medio sobre el uso de Linux, así como el modo en que creemos que debería presentarse a un alumnado estándar entre los doce y los dieciocho años, que nor-malmente tiene ya nociones básicas e incluso medias sobre el uso de un ordenador. Hablaremos de lo que es un sistema operativo, la organización de archivos en Linux, el concepto de multiusuario, los escritorios Gnome y Kde, el sistema de instalación de nuevo software y repositorios, e incluso haremos una breve mención al sistema de consola BASH.

Clarificando conceptos: El sistema operativoEmpecemos por el principio. ¿Qué es un sistema operativo? ¿Lo te-nemos claro? ¿Estamos transmitiendo a los alumnos este concepto de forma correcta?

En un principio, un sistema operativo es software. Es el primer programa que se carga en el ordenador, y su misión es actuar como intermediario (interfaz) entre el software que utiliza el usuario y el hardware que compone el equipo. Explicado así, el sistema ope-rativo no abarca todas las herramientas que esperamos encontrar cuando lo instalamos en nuestro PC. Estamos acostumbrados a esperar que un sistema operativo (como los denostados WINDOWS de Microsoft) incluya otras herramientas: un procesador de textos sencillo, un visualizador de imágenes, un explorador de archivos, etc., integrados, además, en una aplicación gráfica (lo que denomi-namos comúnmente un escritorio) que permite la interacción del usuario con el ordenador de manera sencilla, ratón mediante. Sin

embargo, dichas herramientas son complementarias. El sistema operativo como tal se denominaría NÚCLEO.

Una buena (reconozcámoslo, muy buena, genial) estrategia de marketing y publicidad por parte de Microsoft, hizo que en los años 90, a ojos del usuario inexperto, Windows fuera, no un sistema operativo, sino el sistema operativo. La ecuación era sencilla: me he comprado un ordenador, tengo que instalar unos programas para trabajar o jugar, y para que esos programas funcionen, el ordena-dor debe tener instalado el sistema operativo Windows (el 3.1 al principio, el 95 de infausto recuerdo después, algo mejorado por el 98, hasta llegar a XP; a partir de ahí, los redactores de este artículo hemos perdido la pista a las hazañas de Microsoft, porque descubri-mos el mundo del software libre; eso sí, aún nos estamos riendo del fiasco Windows Vista). Hoy en día, aunque de un modo desesperan-temente lento, el usuario medio va asimilando que en realidad, no estamos hablando de una elección obligada, y que existen múltiples opciones alternativas.

Volviendo un poco a la perspectiva del usuario inexperto, de todos modos, es normal esperar que aparte de dicho núcleo, se instalen de modo complementario otras herramientas, juzgadas imprescindibles por el aficionado novato. Por ello, en el mundo de GNU/Linux, se habla de DISTRIBUCIONES o SABORES: conjun-to de programas complementarios al núcleo de Linux, que suelen incluir, como mínimo, un sistema de escritorio que suponga una interfaz gráfica; un procesador de textos, un explorador de archivos, y un programa navegador de Internet. También suele ser común in-cluir una consola o terminal, que permita al usuario más experto un trabajo a más bajo nivel con el ordenador, así como algún sistema de ayuda y/o documentación con toda la información relativa al software incluido.

Algo de historia. ¿De dónde proviene GNU/Linux?Efectivamente. Una duda común a todos los aficionados que se inician en este mundo da vueltas al origen de esta forma de soft-ware. ¿Software libre siempre quiere decir gratis? ¿Puede haber profesionales que se dediquen a esto sin retribución alguna? ¿De qué viven entonces? ¿O quizás estamos hablando del nada confiable trabajo de simples aficionados que juegan a emular las hazañas de

Figura 2. Richard Stallman, padre del proyecto GNU, tiene fama de ser notablemente excéntrico. No utiliza normalmente un entorno gráfico en su ordenador, no utiliza Internet salvo para enviar correos...

Figura 3. Linus Torvalds completa el tándem formado por todas las herra-mientas GNU al concebir un núcleo compatible con ellas y licenciarlo como software libre

Page 24: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

24 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

25www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

sus idolatrados programadores, hordas de freaks con acné, gafas de pasta arregladas con esparadrapo, y poseedores de títulos como mago elfo de nivel 15?

Vale. Vale. Respiremos. Empecemos por el principio. Y eso implica hablar forzosamente de Unix, por un lado, y de Richard Stallman, por el otro.

En los años sesenta, setenta y ochenta, los primeros ordenado-res no estaban, desde luego, diseñados para su uso por parte de gen-te que no fuera un programador experto. Eran prototipos carísimos, enmarcados en experimentos de Universidades y proyectos de I+D de grandes multinacionales, que si bien representan un porcentaje infinitesimal de la potencia de computación de nuestros equipos actuales, suponían un paso de gigante en el progreso de las Tec-nologías de la Información (concepto que ni siquiera existía como tal). Había un mismo equipo para decenas de programadores y tra-bajadores, cada uno de los cuales trabajaba con su propia cuenta de usuario, introducía su contraseña, trabajaba con sus datos, y cerraba su sesión, cediéndole su turno al siguiente investigador. Faltaban aún muchos años para concebir siquiera que pudiera haber un or-denador doméstico a disposición de un usuario con pocos conoci-mientos informáticos en su propio hogar.

En este marco brilló con luz propia el sistema operativo Unix, que cobró rápidamente prestigio de ser un sistema estable. Naci-do originariamente en el seno de los Laboratorios Bell de AT&T y General Electric, se define como un sistema operativo portable (se puede ejecutar en múltiples plataformas), multiusuario y multitarea. Es de base comercial, es decir, se considera como software de pago. Sin embargo, los sistemas operativos con base GNU/Linux, base de este artículo, imitan (clonan) el comportamiento de este sistema, y en un principio, no se exige remuneración económica. ¿Cómo he-mos llegado a esta situación?. Sigamos nuestro repaso histórico...

Stallman trabajaba en el MIT (Masachussets Institute Technolo-gy) como programador en el Laboratorio de Inteligencia Artificial, ya en el primer año de sus estudios de Físicas. En aquellos tiempos, el software era libre de origen, es decir, se compartía por sistema to-da la información. La constante presión de la cultura comercial, sin embargo, erosionó esta concepción hasta el punto de que algunos compañeros de Stallman fundaron su propia compañía, Symbolics, al objeto de ir sustituyendo el software libre utilizado por el Labo-ratorio por sus propios productos comerciales (esto es, de pago).

Stallman se opuso todo lo que pudo, pero acabó quedándose solo. Como reacción, en 1983, inició el movimiento GNU.

GNU es el acróstico de GNU is Not Unix, en un juego de pa-labras, todavía no sabríamos decir si intraducible, o simplemente un sinsentido que trata de ser humorístico. El objetivo básico de dicho proyecto consiste en conseguir un sistema operativo total-mente libre. Para ello, en un alarde de energía y mostrando una voluntad de trabajo titánica, se dedicó, con ayuda de quien quiso colaborar, a reescribir en lenguaje C varias herramientas que repi-ten las funciones del sistema operativo UNIX. Actualmente desta-can, entre dichas herramientas, el compilador para lenguaje C gcc, el terminal de consola BASH, el procesador de textos Emacs o elfamoso GIMP.

Pero con todo ello, entre todas estas herramientas que puede incluir el sistema operativo libre con el que soñaba Stallman, seguía faltando un núcleo, un kernel que se encargara de la comunicación entre software y hardware del ordenador. Ahí es donde entra Linus Torvalds.

Estudiante finlandés de 22 años, Torvalds estaba muy interesa-do en el por entonces reciente sistema operativo Minix, de Andrew Tannenbaum, de tipo comercial y con propósitos didácticos. Como parte de sus estudios, se inspiró en dichas ideas para desarrollar un núcleo desarrollado en lenguaje C, que en su primera versión, en 1991, podía ejecutar el terminal de consola BASH y el compilador GCC.

Sólo faltaba el paso definitivo, dado en 1992. Torvalds adop-taba para su trabajo una licencia GPL (General Public License), encuadrada en el movimiento GNU, por la que se otorgan derechos de libre modificación, redistribución, copia y uso ilimitados para todos los usuarios.

No hace falta extenderse mucho más para que el lector deduz-ca por su cuenta que ambos proyectos se complementaban en un sistema operativo acorde con la filosofía del software libre. Había nacido GNU/Linux.

¿Todo es gratis?Bueno, no. A veces lo parece, máxime cuando dentro del concepto Free Software hacemos la traducción del inglés, free, que es un vocablo polisémico entre los anglosajones. Puede significar gratis, pero también libre, este último significado es el que realmente de-beríamos tomar.

Concretamente, el objetivo último del software libre es el de poner a disposición de cualquier interesado toda la información, el

Figura 4. Gparted nos ayuda a organizar nuestros discos duros en particio-nes con distintos formatos. En la imagen, en el disco duro calificado como sdb, hay cuatro particiones, en este caso, todas para Windows

Figura 5. Podemos modificar de modo sencillo los permisos de un archivo desde la pestaña Propiedades del escritorio

Page 25: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

24 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

25www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

código fuente, si se prefiere, más la documentación complementaria relacionada, de la utilidad informática de la que estemos hablando en ese momento. De ahí el término Open Source. Pero eso no con-lleva una obligada relación software libre-gratuidad de la aplica-ción, si bien suele ser lo más normal.

Cuando surge esta duda al introducir en el mundo GNU/Linux a nuestros alumnos, muchas veces presentamos esta metáfora: el funcionamiento de una lavadora o de un frigorífico puede o no interesarnos, pero si queremos saber cómo funciona, nadie nos lo oculta. Si una persona con suficiente interés quiere construir su propio electrodoméstico, sólo tendría que comprar los materiales y la herramienta necesaria para ello. No es un secreto de estado el conjunto de principios físicos, eléctricos y mecánicos en los que se basa el funcionamiento de estos aparatos, aunque otra cosa será el que nos compense más pagar a una empresa especializada por adquirir un producto fabricado por profesionales, con todas las garantías.

Precisamente, una concepción equivocada de este mundo suele llevar al profano a una conclusión errónea: de acuerdo, la colabora-ción desinteresada de la comunidad hacker implica el desarrollo de múltiples herramientas muy interesantes, pero en el mundo real, no creo que puedan compararse con aquellas desarrolladas por una empresa que trabaja por un beneficio económico, y que por lo tanto invertirá dinero y recursos en el desarrollo de dichas aplicaciones.

¿Por qué decimos que es una concepción equivocada? Porque es falso que no pueda haber un beneficio económico detrás del soft-ware libre. Hay varias compañías multinacionales que impulsan y desarrollan proyectos Open Source de distintos calados y caracterís-ticas. Sin ir más lejos, tenemos a Mark Shuttleworth, propietario de Canonical Ltd, empresa madre de Ubuntu, o el caso de la empresa Sun, desarrolladora de la suite ofimática OpenOffice.org.

En un artículo calificado por varios profesionales como impres-cindible, Setting Up Shop: The Business of Open-Source Software, Frank Hecker distingue varios modelos de negocio alrededor del software libre. No es objeto de nuestro texto extendernos sobre este tema, pero sí que podemos mencionar un par de ejemplos bastante ilustrativos al respecto:

• Support Seller: en este caso, el beneficio económico se obtie-ne, no de la venta de la aplicación informática, sino de servi-cios de soporte y mantenimiento relacionados con el producto.

• Loss Leader: el producto de software libre es una versión operativa que permite al público conocer las posibilidades de

la aplicación. Sin embargo, se ofrecen como privativas otras versiones mejoradas que añaden múltiples mejoras atractivas para nuestros potenciales clientes.

• Sell it, free it: la empresa vende un producto como privativo, a cambio de un beneficio económico. Cuando amortiza el programa, desarrolla una versión mejorada de dicho producto privativo a partir de los beneficios obtenidos. A continuación, libera (convierte en Open Source) la versión amortizada de la aplicación.

Funcionamiento y característicasde un sistema operativo GNU/LinuxHemos presentado, hasta aquí, la filosofía de base del movimiento en torno al software libre. Pero lo que realmente interesa al afi-cionado que no ha trabajado nunca con GNU/Linux es saber cómo funciona un sistema operativo de este tipo y cómo funcionan los elementos que constituyen su base, sea la distribución que sea: Debian, Ubuntu, Mandriva, Fedora, Slackware, y decenas (cien-tos) más.

Como ya se ha mencionado antes, una distribución o sabor es el conjunto del núcleo o kernel Linux con varias herramientas com-plementarias GNU. Por lo tanto, y aunque muchos lectores expertos pueden no estar de acuerdo con esta idea, nos atrevemos a afirmar que para el usuario medio o incluso experto, acabaría siendo indi-ferente la distribución con la que se empezara a trabajar: al final, seguirá utilizando como base el mismo kernel, y reunirá, entre las herramientas con las que viene la propia distribución, y las que con-siga a través de los repositorios o de la red, el conjunto de aplica-ciones informáticas con las que realmente necesite trabajar. Así, por ejemplo, podemos empezar con una distro (distribución) Ubuntu, que popularmente se concibe como una de las más amigables para el no iniciado, y que incorpora por defecto un escritorio Gnome, y cambiarlo por el más espectacular y agradable a la vista KDE. Si no nos gusta el navegador Firefox que incorpore, podemos cambiar-lo por Opera, Chrome,... las posibilidades son infinitas.

En los próximos apartados, trataremos de hacer un repaso de las características comunes a todas las distribuciones con base GNU/Linux, a efectos de proporcionar una base teórica con la que el nuevo aficionado pueda sentirse más seguro en su viaje por nuestro

Figura 6. Compiz en Gnome proporciona efectos de escritorio espectacula-res que nada tienen que envidiar a otras aplicaciones similares

Figura 7. KDE, con el software explorador tanto de archivos como para Internet, Konqueror, es considerado tradicionalmente como más atractivo gráficamente y con más opciones de configuración

Page 26: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

26 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

27www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

mundo. Empezaremos con la preparación del disco duro, su forma de organizar los archivos, los tipos de usuario y los correspondien-tes permisos de lectura/escritura, y a continuación pasaremos a ana-lizar los dos escritorios más populares (al menos para nosotros): KDE y GNOME. Analizaremos el sistema de instalación de aplica-ciones en el S.O. en base a los repositorios, para terminar echando una ojeada sobre el terminal BASH (uno de los más populares), que suele ser la bestia negra que distinguirá al usuario noob (novato) del que realmente empieza a avanzar como linuxero. Pasen y vean.

Particiones y formatos lógicos en GNU/Linux. Instalación del sistema operativoHablaremos en estas líneas del modo que tiene GNU/Linux de organizar y localizar la información en los distintos archivos en sus sistemas de almacenamiento, sean discos duros, lápices USB, disquetes (¿alguien los utiliza todavía?), etc.

En primer lugar, hay que aclarar que el no iniciado debe olvidarse por completo de lo que estaba acostumbrado a ver en Windows. El mítico Mi PC nos ofrecía en una ventana una imagen rápida de los distintos sistemas de almacenamiento antes mencio-nados, nombrados alfabéticamente: C:/, D:/, etc., para discos duros, A:/ para disquetes, y así sucesivamente.

En Linux, por sistema, se ignoran los discos que no se utilicen. Los que se utilizan, se dice que están montados (es decir, se destina parte de los recursos del ordenador a acceder a su contenido). El resto, simplemente se ignoran, logrando una mayor eficiencia en la gestión de la memoria. Pero volveremos más tarde sobre ello.

El caso es que los discos duros, sobre los que normalmente se asentarán los sistemas operativos, se organizan según un formato lógico que asignará unos sectores del disco a unos tipos de archivo en particular. Cuando queremos utilizar más de un sistema de archi-vos en un mismo disco duro (separar software de datos, o instalar más de un sistema operativo), debemos dividir previamente el disco duro en más de una partición (división dentro del disco duro).

Windows utiliza los formatos lógicos FAT, FAT16, FAT32 y NTFS. Linux, en cambio, utiliza los formatos EXT2, EXT3 y EXT4, entre otros.

La instalación de cualquier sistema operativo GNU/Linux pasará por la división del disco que la va a alojar, al menos en dos particiones distintas: la partición raíz (/), y la partición swap o me-

moria de intercambio. En el siguiente apartado nos ocuparemos de la primera. En cuanto a la memoria de intercambio, baste decir que es un apartado dentro del disco duro que se reserva para procesos poco activos, pero presentes, dentro de la memoria, de modo que estén disponibles para cuando se necesiten, pero al mismo tiempo no ocupen espacio dentro de la memoria RAM con la que trabaja directamente el microprocesador.

En GNU/Linux, herramientas como Gparted nos ayudan a organizar y administrar particiones y formatos lógicos dentro del disco.

Sistema de archivos en GNU/Linux, Superusuario y usuarios, PermisosComo se decía en el anterior apartado, asignábamos a los formatos lógicos la responsabilidad de organizar la información dentro de la partición en un determinado sistema de archivos y carpetas. En concreto, los formatos EXT* disponen de un árbol de directorios estandarizado e inamovible en la partición raíz (/):

• /bin: para guardar comandos de usuario,• /boot: información sobre el arranque del sistema,• /dev: dispositivos presentes en la máquina (montados y no

montados),• /etc: archivos de configuración de las aplicaciones,• /home: carpeta reservada para alojar los distintos documentos

de cada usuario. Hay una carpeta por usuario, que es el único con permisos de escritura en dicha carpeta,

• /lib: para alojar librerías necesarias en distintas aplicaciones,• /media: a través de esta carpeta, se puede acceder a la infor-

mación de los dispositivos presentes en /dev que hayan sido previamente montados,

• /mnt: actualmente no tiene mucha utilidad. Es el predecesor de /media,

• /proc: aloja información sobre el estado de los procesos y el kernel,

• /root: reservado para el administrador del sistema.• /sbin: aloja comandos disponibles sólo para el administrador

(root),• /tmp: carpeta disponible para archivos temporales,• /usr:en esta carpeta se alojan todos los archivos que se juzgan

Figura 8. En todos los sistemas operativos GNU/Linux podemos añadir nuevas direcciones de repositorios

Figura 9. Los gestores gráficos de paquetes como Synaptic dan cumplida información de los paquetes instalables, instalados, rotos,... así como de las dependencias cumplidas y por cumplir

Page 27: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

26 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

27www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

relativos a aplicaciones del usuario, documentación, etc. En fin, todo lo que no es encuadrable en el resto de carpetas,

• /var: en esta carpeta se aloja información de tipo variable: dia-rios o logs de sistema, cuentas de correo, sitios web alojados en un servidor dentro del ordenador, etc.

El sentido de esta organización es el de tener asignado un lugar específico para cada tipo de archivo. En consecuencia, aunque un usuario, sea gráficamente o a través de consola, pueda acceder a otras carpetas aparte de la que corresponde realmente a su cuenta (/home/nombredeusuario/), no podrá estropear nada accidental-mente o a propósito, puesto que sólo el usuario con permisos de superusuario o administrador (el consabido root) tendrá atribucio-nes para modificar archivos en las carpetas. Además, siempre se le solicitará la introducción de su contraseña de superusuario, lo que añade un grado más de seguridad a dicho sistema de archivos. En otro orden de cosas, el avispado lector puede empezar a ima-ginar ya la dificultad de intentar introducir malware o software malicioso en un ordenador organizado de este modo. Aquí, un virus tiene mucho más difícil el instalarse por su cuenta oculto en el seno de otro programa, entre otras razones, que luego se verán, porque se vería obligado a denunciarse a sí mismo al pedir al usuario la contraseña de administrador para obtener permiso de instalación. De todos modos, y como se verá después, la filoso-fía de trabajo a la hora de instalar nuevo software también varía bastante. Eso sí, ¡cuidado!. No pretendemos decir con esto que GNU/Linux sea invulnerable a ataques malintencionados, porque la vulnerabilidad siempre está sujeta a las reacciones del propio usuario. Sí podemos afirmar que será un sistema estable, que bien utilizado, dificultará muchísimo el acceso externo por parte de personas no autorizadas a nuestro equipo.

Hablemos ahora de los permisos de usuario. En GNU/Linux, sólo un usuario tiene atribuciones de lectura y escritura sobre las carpetas y archivos fuera de la carpeta de su propia cuenta en /ho-me: el administrador o superusuario, denominado root. Cualquier intento de creación, modificación o borrado de un archivo, así como de instalación de nuevo software, exigirá la introducción previa de la contraseña de superusuario. A nivel de consola, cualquier comando que suponga trabajar a este nivel, deberá ser precedido del término sudo, que indica que la orden tecleada corresponde a un superusuario que espera se le pida el password para identificarse.

Fuera del root, en GNU/Linux se consideran tres tipos de iden-tificación de usuario:

• Propietario del archivo o carpeta,• Grupo de usuarios al que pertenece el propietario,• Otros usuarios no enmarcados en los grupos anteriores.

Cada uno de los cuales puede tener, o no, permiso para:

• Leer el archivo,• Escribir o borrar el archivo,• Ejecutar el archivo.

Cada archivo tiene asignado un permiso de lectura/escritura/ejecución para cada uno de los tipos de usuario antes mencionado, según esta terminología numérica: 0 para ningún tipo de permiso, 1 para lectura, 2 para escritura, y 4 para ejecución. Según los per-misos que se asignen a cada tipo de usuario, que se suman entre sí, tendremos una tríada que oscilará entre 000 y 777.

Comprendemos que es un concepto algo difícil al principio; por eso queremos ilustrarlo con un ejemplo. Supongamos que tene-mos dos grupos de usuarios asignados en un PC con kernel Linux: profesores y alumnos. En el primer grupo, tenemos los usuarios profesor1 y profesor2. En el segundo grupo, tenemos los usuarios alumno1 y alumno2. Imaginemos que el usuario profesor1 es poseedor del archivo examenhistoria.txt, en su carpeta de cuenta /home/profesor1. Por otro lado, el usuario alumno1 es el propie-tario del archivo ejecutable chuletasparaexamen.sh, en su carpeta /home/alumno1.

En un principio, el archivo examenhistoria.txt tiene los per-misos 710. ¿Qué permisos tendrán los otros usuarios sobre dicho archivo? Analicémoslo. Según lo expuesto, el sistema numérico indica los permisos, por orden, para el propietario, para el grupo, y para otros usuarios. Por lo tanto:

• El propietario, profesor1, tiene asignado el número 7, que co-rresponde a los permisos sumados 1+2+4. Esto es, profesor1 tiene permisos de lectura, escritura y ejecución (aunque el archivo es de texto, no es un ejecutable en este ejemplo) sobre examenhistoria.txt

Figura 10. La mayoría de las distribuciones suelen incorporar alguna utilidad sencilla de instalación de nuevo software mediante paquetes

Figura 11. Aunque algo incómodo de utilizar al principio, el terminal de consola demuestra ser mucho más potente que su homólogo gráfico. En la ilustración, el comando man proporciona toda la información sobre el gestor de paquetes dpkg

Page 28: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

28 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

29www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

• Los otros usuarios del grupo de profesor1, profesores, tienen el permiso 1 sobre ese mismo archivo. Es decir, como no se puede dividir este permiso como suma de otros números, el otro usuario del mismo grupo (profesor2) tiene permisos de lectura sobre examenhistoria.txt. El usuario profesor2 podrá leer, aunque no modificar, dicho archivo.

• Los usuarios alumno1 y alumno2, que no pertenecen al grupo antes mencionado, tienen permiso 0 (ningún permiso) sobre el archivo. No podrán leer, ni mucho menos modificar o ejecutar, un archivo con ese número de permiso.

Siguiendo con el ejemplo, el archivo chuletasparaexamen.sh, un ejecutable que (por ejemplo) generara “apuntes de apoyo” para el próximo examen del alumno, tiene asignado el número de permiso 541. En base a eso:

• El propietario, alumno1, tiene el permiso 5, como resultado de sumar 4+1. Esto es, alumno1 puede ejecutar este archivo, así como leerlo para poder analizar su estructura de progra-mación.

• Los otros usuarios del mismo grupo alumnos, alumno2 en este caso, tendrán el permiso 4. Esto es, alumno2 también podrá generar “apuntes de apoyo”, si bien no podrá leer ni mucho menos modificar dicho archivo.

• Curiosamente (y a efectos ilustrativos de nuestro ejemplo), el permiso asignado a otros usuarios es 1, que correspondería a la lectura del archivo para un posible análisis, aunque no parezca lógico darle un permiso que no tienen los usuarios del mismo grupo que el propietario.

Gráficamente, (usando escritorios como Gnome o Kde), podemos ver y, si somos propietarios, modificar estos permisos mediante el ya familiar proceso de hacer clic derecho–>Propiedades–>Hacer clic en la pestaña Permisos. Si trabajamos a través de ter-minal, el comando utilizado es chmod (ejemplo: chmod 777 chuleta-sparaexamen.sh dará todos los permisos a todos los usuarios, si nos hemos identificado como alumno1. Si no somos tal usuario, se nos dará un mensaje de error).

Entornos de escritorioLas distribuciones GNU/Linux actuales cuentan con un sistema gráfico que permite al usuario un manejo amigable, fácil e intui-tivo del ordenador. Con base en el software gráfico X Window System, orientado a Unix, y que va en la actualidad por la ver-sión X11, los entornos de escritorio cuentan con un sistema de ventanas de idéntico (prácticamente) funcionamiento a los S.O. Windows y MAC OS (minimizado, maximizado, cierre de ven-tanas, menús desplegables, teclas de atajo de teclado, fondos de escritorio, colores, etc.).

Muy interesante resulta recalcar que, a diferencia de los otros sistemas operativos no libres, queda en manos del usuario elegir qué entorno de escritorio desea utilizar. Si no queda satisfecho con el que viene por defecto con la distribución elegida (por ejemplo, Gnome para Ubuntu, o KDE para Mandriva), puede utilizar el siste-ma de repositorios (en próximos apartados se explica) para instalar otro u otros de su agrado. Puede incluso mantener en convivencia más de un entorno, eligiendo cuál le apetece usar en cada inicio de sesión de usuario.

El sistema de trabajo por menús de todos los escritorios, sal-vando las lógicas distancias, es altamente intuitivo, incluso para el usuario no iniciado. Normalmente, se hará una división de menús por tipo de posibilidad (separando aplicaciones, explorador de archivos y utilidades de configuración del sistema). Algunos ejem-plos de entornos de escritorio son:

• KDE y GNOME (ampliamente mencionados desde el princi-pio del artículo),

• Window Maker,• Ice Wm,• Blackbox,• Flushbox.

Tradicionalmente, se ha sostenido que KDE es gráficamente más rico y vistoso que Gnome, además de otorgar muchas más posibi-lidades de configuración al usuario, si bien exige más recursos al sistema, y Gnome es mucho más estable. En la actualidad, aplica-ciones como Compiz añadidas al software original, mejora la apa-riencia gráfica y acerca visualmente ambos escritorios.

Instalación de nuevo software, Filosofía de los repositorios, Gestión de paquetes, Synaptic y RpmdrakeLa instalación de nuevo software en un S.O. GNU/Linux centra su base en la utilización de los repositorios. Un repositorio viene a ser un sitio con una dirección web determinada donde se almacena y mantiene información digital, normalmente en forma de archivos informáticos.

Cuando nuestro ordenador está equipado con un sistema ope-rativo libre, dispone de una lista de direcciones de repositorios, normalmente en el archivo /etc/apt/sources.list (el lector puede consultarlo, si bien no modificarlo directamente, a causa del es-tablecimiento de permisos de archivo mencionado en anteriores apartados).

El sistema de repositorios utilizado en GNU/Linux permite la instalación de nuevo software mediante la gestión de paquetes. Se-gún esta definición, un paquete consistiría en un conjunto de soft-ware, normalmente encapsulado en un único fichero, que incluiría información adicional como el nombre completo, la identificación del distribuidor, una descripción de sus funciones, y sobre todo, la relación de otros paquetes que se requieren para el correcto funcio-namiento del software en cuestión. Lo que nos lleva al concepto de dependencia. En GNU/Linux, como en cualquier otro sistema operativo, si nos hace falta un software determinado para conse-guir que otro funcione, y no lo tenemos instalado, lógicamente no funcionará. Pero si en el paquete que estamos instalando se hace una referencia a dicho software del que dependemos, es posible que el propio proceso de instalación localice, descargue (cuando hablamos de Internet, un 90% de las veces) e instale esos paquetes complementarios.

De este modo, el usuario no necesita saber nada sobre métodos de instalación, localizar el archivo dentro del conjunto que inicia el proceso, decidir la carpeta donde se guardará el programa... El propio sistema operativo, una vez se le ha indicado el software que se desea, buscará en su base de datos el nombre del paquete, localizará el repositorio donde se localiza dicho paquete, lo descar-

Page 29: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

28 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

29www.lpmagazine.org

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

gará a memoria, leerá la información contenida en él y realizará la instalación, resolviendo las dependencias que dicho paquete señale (esto es, descargando e instalando los programas complementarios que dicho paquete declare necesitar).

Aunque uno de los repositorios normalmente suele ser el propio CD de instalación que hemos utilizado para instalar el sistema ope-rativo que estemos utilizando, lo más normal es que la instalación de nuevos programas mediante paquetes requiera la utilización de Internet.

Los paquetes en Linux suelen tener la extensión *.deb, para sis-temas operativos provenientes del sistema Debian (Debian, Ubuntu, Molinux, y varios más) y *.rpm, para los derivados del originario Red Hat (Fedora, Mandriva, Suse,...).

En ocasiones, el usuario que empieza a adquirir algo de experiencia requiere la instalación de un software que no está incluido en los paquetes universales que por defecto incorpora su distribución. En esos casos, una breve investigación en la red le permitirá conocer la dirección del repositorio que necesita utilizar, sea mediante consola, identificándose como root y modi-ficando el archivo /etc/apt/sources.list, sea utilizando el menú de configuración de opciones del sistema donde se haga referencia a tal posibilidad. Por ejemplo, en los sistemas operativos derivados de la distribución Debian, como Ubuntu o Molinux, dicha posi-bilidad se encuentra en Sistema->Administración->Orígenes delsoftware.

Todos los entornos de escritorio incorporan una utilidad directa de instalación de nuevo software de manera gráfica, utilizando los repositorios. Sin embargo, el software, diríamos, básico en que se apoyan todas estas utilidades sigue siendo el elemento gestor de pa-quetes; por ejemplo, Synaptic en Gnome, Rpmdrake para Mandriva o Yast en OpenSuse.

Naturalmente, estas aplicaciones gráficas son implementacio-nes desde el escritorio de aplicaciones a más bajo nivel, escritas normalmente en C, que pueden correrse directamente bajo consola. El ejemplo con el que los redactores de este artículo nos sentimos más cómodos es con dpkg, el gestor de paquetes deb, que pueden utilizar las aplicaciones apt-get o aptitude, con la opción install, (otros son yum o urpmi). Veamos un ejemplo de consola (de la que hablaremos a continuación); supongamos que deseamos instalar un videojuego llamado crafty:

antonio@antonioelmalo:

~$ sudo aptitude install crafty

El comando sudo indica que nos deseamos identificar como usuario root, con permisos de administración:

[sudo]password for antonio:******

Introducimos nuestra contraseña; a continuación, se nos va infor-mando del progreso de la instalación:

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias

Leyendo la información de estado... Hecho

Leyendo la información de estado extendido

Inicializando el estado de los paquetes... Hecho

Se nos comunica la relación de paquetes que se procederán a insta-lar, para resolver todas las dependencias:

Se instalarán los siguiente paquetes NUEVOS:

crafty crafty-books-medtosmall{a} gnuchess{a}

gnuchess-book{a} xaw3dg{a}

xboard{a}

0 paquetes actualizados, 6 nuevos instalados, 0 para

eliminar y 0 sin actualizar.

Necesito descargar 5829kB de ficheros. Después de

desempaquetar se usarán 13,5MB.

¿Quiere continuar? [Y/n/?] y

A partir de aquí, la consola devuelve la relación de direcciones de repositorios desde donde se va descargando cada paquete, así como el progreso de la instalación. Si al finalizar el proceso, hubiera cual-quier problema, el terminal nos lo comunicaría.

El usuario no iniciado, de todos modos, siempre contará con alguna herramienta de corte gráfico más simple que no propor-ciona tanta información, posiblemente densa y excesiva para el principiante, y que cumplirá igualmente con su objetivo. Una de nuestras preferidas, en las últimas versiones de Ubuntu, se en-cuentra en el menú de Gnome Aplicaciones->Centro de software de Ubuntu.

El terminal de consola BASHComo decíamos anteriormente, la consola suele ser la “bestia ne-gra” que evita a toda costa el principiante. No es que no se sienta cómodo con ella, es que simplemente no sabe utilizarla. Es lógico que sea así. El terminal de consola es un intérprete de comandos que realiza, a bajo nivel, todo lo que el usuario puede conseguir mediante el interfaz gráfico a base de ventanas. Eso sí, puede rea-lizar aún más funciones, con decenas, cientos de posibilidades de configuración adicionales.

BASH es el acrónimo de Bourne Again SHell, un juego de palabras que combina el apellido Bourne (el escritor original del terminal de consola para Unix que BASH emula) y el término “renacido”. Este programa fue escrito en el seno del proyecto GNU, y suele ser el terminal de consola que viene por defecto con la mayoría de las distribuciones. (Recordamos, no obstante, al lector, que siempre puede prescindir de este programa, e ins-talar otro de su preferencia con iguales o parecidas atribuciones; en todo este texto estamos remarcando las casi infinitas posibi-lidades de configuración de un sistema operativo con base en el software libre).

Cuando se pone en marcha el terminal de consola, aparece una pantalla de texto, con un cursor parpadeante, precedido de dos tér-minos separados entre sí por el símbolo @:

antonio@antonioelmalo:~$

El primer término hace referencia al usuario que ha puesto en mar-cha la terminal (antonio), y el segundo hace referencia al nombre del equipo (antonioelmalo). Donde está situado el cursor, el usuario irá tecleando diversos comandos con las opciones que correspon-dan. El terminal irá obedeciendo cada orden, ofreciendo la infor-mación correspondiente de vuelta. Algunos comandos básicos en consola son:

Page 30: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

30 LiNUX+ 8/2010

linux en la educaciónDescubriendo Linux: ¿Qué debes saber si no sabes nada?

• ls: devuelve la relación de archivos en la carpeta en la que esta-mos.

• cd ruta: cambia a la carpeta especificada en ruta.• mkdir nombrecarpeta: crea una carpeta en la ruta en la que

nos encontramos con el nombre especificado. Si el nombre espe-cificado es precedido de una ruta, se creará en la ruta señalada.

• rmdir nombrecarpeta: borra la carpeta especificada.• rm nombrearchivo: borra el archivo especificado.• ./nombrearchivo.sh: ejecuta el archivo ejecutable especifica-

do con extensión .sh.• su nombreusuario: indica al terminal que vamos a conmutar

a otro usuario con el nombre indicado. Se nos pedirá, en con-secuencia, que introduzcamos la contraseña correspondiente. Veamos un ejemplo:antonio@antonioelmalo:~$su alumno01

Contraseña: ******

alumno01@antonioelmalo:/home/antonio

Como puede verse, el terminal indica ahora que estamos en el equipo antonioelmalo como el usuario alumno01. Además, se nos dice que continuamos en la ruta /home/antonio, donde no tenemos atribucio-nes de escritura en un principio. Para ir a nuestra carpeta de cuenta, deberíamos teclear cd /home/alumno01.

No es objeto de este texto abundar mucho más en las posibili-dades de la consola, aunque podemos asegurar que la sensación de libertad y de total dominio de lo que está pasando en el equipo irá animando al núbil no iniciado a explorar esta herramienta, que poco a poco le irá demostrando su potencia.

Para terminar, mencionar otras posibilidades que dan un mayor dominio de la consola al usuario: la tecla Tabulador suele completar el texto a medias que el usuario está tecleando, cuando se refiere a una ruta o comando contenidos en el ordenador. Por ejemplo, si tecleamos cd /home/antonio/Doc, y a continuación la tecla Tabula-dor, BASH completará el texto de modo que obtendremos cd /home/antonio/Documentos. El comando man, de manual, proporciona al interesado toda la información al respecto de un comando sobre el

que quiera investigar. De hecho, se suele abrir una mini enciclopedia explorando todas las opciones y posibilidades que dicho comando ofrezca. Una vez abierta esta posibilidad (por ejemplo, en man ls), el espaciador va cambiando de página. También podemos movernos por el manual correspondiente con las teclas de cursor, Avanzar página y Retroceder página. La tecla q finalizará el proceso.

ConclusionesEstá claro que es imposible condensar en un solo artículo de revista todo lo que el usuario interesado debería saber sobre lo que común-mente se llama el Mundo Linux. Pero está claro que por algún sitio hay que empezar, y nosotros hemos hecho un repaso de aquellos con-ceptos que consideramos constituyen la base de este mundo, y que en su día echamos de menos que se nos explicara. Desde la pers-pectiva de la práctica educativa, es particularmente delicado iniciar en un universo tan versátil, y por lo mismo, tan ambiguo, a nuestros jóvenes. No hay que olvidar que, si bien su contacto con la Informá-tica es mucho más intenso y con pulso más firme que en el caso de sus padres, también se suele iniciar, tanto en el entorno escolar como en el doméstico, en el seno del software privativo, que hace de una marca específica y de sus derivados su bandera. Si, con estas humil-des líneas, logramos ampliar los horizontes del lector aficionado, y le hacemos comprender que no tiene que aceptar el uso obligado y ne-cesario de un producto determinado de una marca concreta, sino que siempre puede buscar software alternativo; si logramos que entienda que aprender no quiere decir conocer los entresijos de un producto determinado, sino saber qué se desea conseguir, y tener autonomía para investigar y obtener de manera independiente el software nece-sario para ello; si conseguimos, simplemente, darle una base que le permita progresar en su conocimiento del Free Software, entonces... entonces habremos logrado nuestro objetivo. Muchas gracias por leernos hasta el final. ¡Hasta otra!.

María Dolores Nogueras Atance, licenciada en Ciencias Quími-cas, es profesora de Tecnologías en la actualidad, pero también ha pasado algunos años como profesora de Formación Profe-sional en Laboratorio. Su irrupción en el mundo informático ha sido algo tardío, y debido sobre todo a la estrecha relación de dicho mundo con la materia que actualmente imparte. Sin em-bargo, ha sabido retomar el ritmo y pone a prueba y se esfuerza por aprender toda nueva herramienta informática que caiga en sus manos y que pueda tener algo que ver con la educación.

Antonio Gómez García es Ingeniero Técnico Industrial de Formación, y lleva más de diez años dedicando su actividad profesional a la Educación Secundaria y Bachillerato en insti-tutos. Profesor de Tecnologías y de Tecnologías de la Informa-ción, ha trabajado como asesor TIC en el Centro de Profesores de Puertollano, y dedica gran parte de su tiempo al software libre y su introducción en el sistema educativo. Desde esa fi-losofía, ha colaborado ya en varias actividades de formación de padres, profesores y alumnos sobre seguridad en Internet. En la actualidad, es Responsable de Medios Informáticos en el IES Eduardo Valencia, de Calzada de Calatrava (Ciudad Real). Agradecerá cualquier aporte que queráis realizar en [email protected]

Sobre los autores

• Movimiento por el software libre GNU http://www.gnu.org/home.es.html• Centro de Excelencia por el Software Libre de Castilla la

Mancha http://www.ceslcam.com/• Modelos de negocio basados en el software libre, según

Franck Hecker http://hecker.org/writings/setting-up-shop• Sitio web de Debian http://www.debian.org/index.es.html• Sitio web de Ubuntu http://www.ubuntu.com• Sitio web de Molinux http://www.molinux.info• Sitio web de Mandriva http://www2.mandriva.com/es/• Sitio web de OpenSUSE http://es.opensuse.org

En la red

Page 31: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

Páginas recomendadas

www.diariolinux.com www.elguille.info www.gatolinux.blogspot.com

www.hispabyte.net www.linuxdata.com.ar

www.linuxhispano.net www.pillateunlinux.wordpress.com www.usla.org.ar

www.opensourcespot.org

www.mundopc.net www.picandocodigo.net www.linuxuruguay.org

Page 32: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

32 LiNUX+ 7/2010

prácticaVirtualización con OpenVz

33www.lpmagazine.org

prácticaVirtualización con OpenVz

Pero, ¿a qué vamos con esto de reutilizar? El mantener un equipo de cómputo es un desgaste económico si lo vemos desde ese punto de vista, puesto que el consu-

mo energético del mismo hace que se incremente el cobro en la factura, pero una máquina encendida las veinticuatro horas no implica nada de sobrecostos, podría concluir el usuario común, pero para otros, los cuales viven de mantener no solamente una, si no varias máquinas funcionando, verán como el mantenerlas encendidas, incluso refrigeradas, hace que las cifras aumenten al momento de pagar las facturas.

Por esta y otras razones entonces la tendencia ha ido tomando forma en un concepto nuevo lla-mado virtualización y que aplicado en el ámbito de los servidores coge aun más poder ya que permite grandes ahorros, obteniendo novedosas ventajas.

Pero, ¿qué es virtualizar? Básicamente es poder abstraer las propiedades de la capa física de un equipo de cómputo, de tal manera que estos recur-sos puedan ser usados por un sistema operativo paralelo al sistema que administra el hardware real.

Si deseas encontrar más información sobre lo que es la virtualización puedes buscar en la edición Nº. 9 de Linux+, en el artículo “La Maquinaria de la Virtualidad”, ya que aquí vamos a mostrar las carac-terísticas de OpenVz que es una manera de virtuali-zar por sistema operativo.

¿Qué es OpenVz?Antes de dar una definición de lo que es OpenVz, vamos aclarar un concepto que encontraremos de aquí en adelante. El Entorno Virtual o VE (Virtual Enviroment), también conocido como VPS (Servidor Privado Virtual) es un programa aislado de entorno

de ejecución, que se ve y se siente como un servidor físico separado.

Cada VE tiene su propio conjunto de procesos, sistema de archivos, interfaces de red, tablas de enrutamiento, y un sinnúmero de características que le permiten ejecutarse como si fuera una máquina física.

OpenVz es un núcleo de Linux el cual ha sido modificado añadiéndole unas características adicio-nales: virtualización y aislamiento, administración de los recursos, puntos de comprobación. Estas carac-terísticas permiten al servidor físico o anfitrión poder instalar VE dentro de él.

La virtualización y el aislamiento, le permiten a cada VE tener sus propios procesos, ser dueño de sus propios recursos, entre otros.

La administración de los recursos, permite que los VE se ejecuten evitando que uno consuma más recursos de máquina física de lo indicado, con esto se evita un colapso del sistema en sí. Aunque la limitante es la máquina física esta propiedad que in-cluso es configurable para cada VE, permite indicar por ejemplo el número de procesos por cada VE o el consumo de disco duro.

Para hacer la instalación de un sistema opera-tivo dentro del anfitrión, OpenVz hace uso de unas plantillas, éstas no son más que una distribución de Linux preparada de tal forma que la dejan en su más básica expresión para su más rápida portabilidad, de una plantilla se pueden generar varios VE, incluso de un VE ya configurado se puede sacar una planti-lla para luego reusarla en posteriores instalaciones.

¿Para qué Sirve Openvz?Openvz es una gran alternativa para la virtualización de servidores en las compañías, aprovecha al máxi-

Virtualización con OpenVzEn la actualidad, los grandes avances en la ciencia de la computación han ido con el paso del tiempo, haciendo real el significado de la palabra virtual. En varias definiciones la palabra virtual da a entender que es algo que no existe físicamente pero que de cierta forma se puede percibir. Por diversos motivos (económicos, ecológicos, etc.), la tendencia actual, es poder reutilizar lo que se tiene.

Carlos Eduardo Virgen Londoño

es@

lpm

agaz

ine.o

rg

Page 33: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

32 LiNUX+ 7/2010

prácticaVirtualización con OpenVz

33www.lpmagazine.org

prácticaVirtualización con OpenVz

mo el tiempo real de las necesidades y proyectos a futuro, economizando recursos y gestión en las tecnologías de la información.

Compartir los recursos de un servidor como el mismo dis-co duro, memoria, tarjeta de red, procesador, entre diferentes distribuciones de GNU/Linux donde todos trabajan indepen-dientemente, si un entorno virtual falla los demás entornos virtuales seguirán trabajando, aprovechando los recursos de memoria que deja disponible el entorno virtual que falló.

Una de las características más importantes de la virtualiza-ción de servidores es la optimización de recursos, para poder realizar tareas de manera totalmente independiente.

¿Cómo se instala?Existen muchas distribuciones de Linux y para cada una de ellas su muy particular forma de instalarla, en este caso vamos a trabajar con Linux Debian y vamos hacer la instalación de la forma más practica y sencilla posible.

Debian tiene una forma para instalar software adicional, se hace por medio de paquetes, los que son administrados por diversos gestores de paquetes, entre los que existen hay uno por consola de comandos llamado “apt-get”, pero antes de adentrarnos en el uso del “apt-get”, debemos de preparar nuestro listado de paquetes disponibles para instalar, para ello abrimos una consola de comandos y nos vamos a la ruta “/etc/apt”.

Como vemos entonces en dicha ruta encontramos un ar-chivo de nombre “sources.list”, este archivo contiene la infor-mación del listado de paquetes disponibles para la instalación, ahora debemos de añadirle un par de direcciones o confirmar si lo que vamos añadir ya está en dicho archivo. Para hacer esto vamos a hacer uso de nuestro editor favorito, por ejem-plo desde la consola podemos hacer esta sentencia “nano sources.list” o “vi sources.list”, bueno en cualquiera de los casos debemos de estar como el usuario root o con un usua-rio con privilegios sobre estos archivos o también hacer uso del comando “sudo”, esto último sería algo así: “sudo vi sources.list”, así pediría la contraseña del root y después de confirma-da ejecuta la edición del archivo.

En el archivo debemos ingresar las líneas:

deb http://ftp.de.debian.org/debian lenny main

deb http://security.debian.org/debian-security lenny/

updates main

Después de salvarlo, debemos de ejecutar el comando “apt-get update”, esto con el fin de que el listado de paquetes dis-ponibles se actualice.

Hecho ya lo del “apt-get update” procedemos entonces a instalar el núcleo que incorpora el OpenVz, esto lo hacemos con el siguiente comando:

apt-get install linux-image-openvz-686

Después de ejecutada esta línea de comando se inicia el proceso de instalación, éste consiste en la descarga de un núcleo ampliado con las herramientas y recursos para ejecu-tar OpenVz, durante el proceso de instalación, se modifica el

gestor de arranque GRUB, de tal forma que añade la entrada adicional en el menú de selección de núcleos instalados en la máquina.

Cuando ha finiquitado la instalación, reiniciamos la má-quina y vemos que en el menú de selección del GRUB sale un núcleo adicional el cual indica que trae la funcionalidad del OpenVz, lo seleccionamos y proseguimos con el inicio de la máquina.

Bueno, pero yo no veo nada-, podrías decir cuando veas que la máquina sigue tal cual como estaba antes, pero no es así, resulta que si ingresas a una consola de comando, te convier-tes en super usuario y lanzas por ejemplo el comando “uname -r” verás una salida como ésta: “2.6.26-1-openvz-686”; o si ha-ces un “ifconfig” entre las interfaces de red te saldrá una más o menos así: “venet0 Link encap:UNSPEC”. -¿Y qué gano con eso?- Buena pregunta, esto nos da indicio de que la instala-ción del OpenVz está bien, ahora sigue el paso de montar un entorno virtual o VE como se le suele llamar.

Hasta aquí ya instalamos la máquina que nos permite virtualizar, para instalar una distribución de Linux,debemos ahora comprender otro término dentro del uso de OpenVz, éste es el Template o plantilla en español, una plantilla para OpenVz es una imagen reducida de una distribución de Linux la cual viene en su forma básica para ser inclui-da dentro de un con tenedor, éstas se pueden descar-gar de la página http://wiki.openvz.org/Download/template/precreated.

Una vez hemos determinado cual de todas las plantillas es la que vamos a descargar, procedemos a bajarla en un di-rectorio que se creó al momento de instalar el OpenVz, éste queda en la ruta “/vz/template/cache”, toda plantilla que se des-cargue debe de ir en esta ruta con el propósito de que cuando se usen los comandos de instalación de VE éstas queden disponibles.

¿Cómo se administra?Hasta ahora con esto de la instalación y las descargas de las plantillas, ya tenemos el sistema preparado para instalar un entorno virtual dentro de nuestra máquina física, empezare-mos entonces identificando el comando “vzctl”, este comando permite varias cosas como la creación, configuración de la red, el nombre de la máquina virtual entre otros.

Supongamos que descargamos el archivo de plantilla de un Debian 5.0, éste debería tener más o menos, dependien-

Figura 1. Directorio para configurar el listado de paquetes disponibles

Page 34: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

34 LiNUX+ 7/2010

prácticaVirtualización con OpenVz

35www.lpmagazine.org

prácticaVirtualización con OpenVz

do de cómo lo nombraron, una forma similar a “debian-5.0-x86.tar.gz”, recordemos que debe colocarse en “/vz/template/cache”, tal cual como lo descargaron.

Para crear entonces el contenedor virtual hacemos lo si-guiente (debemos estar en una consola de comando con un usuario con privilegios de root o en su defecto con el root):

vzctl create 101 --ostemplate debian-5.0-x86

Al presionar la tecla Enter se da inicio al proceso de creación, al finalizar indicará con un mensaje que el VE ha sido creado con éxito. Comprendamos algo de la línea de comando indi-cada anteriormente, la parte que dice “vzctl create”, indica la operación de creación de un entorno virtual, “101” es el identifi-cador del contenedor virtual, en el ejemplo pudo colocarse 1 o 2 o 100, en fin un valor entero el cual nos identifique el entorno virtual, este valor no puede ser repetido, en caso tal de querer crear una máquina virtual con un identificador existente el co-mando retornará su respectivo error.

La parte que dice “--ostemplate debian-5.0-x86”, indica al comando que debe tomar la plantilla de nombre “debian-5.0-x86”.

Ahora después de creado vamos a definirle una dirección IP al entorno virtual que se creó y que tiene como ID 101, para esto ejecutamos la siguiente línea de comando:

vzctl set 101 --ipadd 192.168.1.2 -–save

Ahora vemos que el comando “vzctl” está acompañado de la opción “set”, esto indica que es para definir algo dentro del contenedor de identificador 101, en el ejemplo es la IP de la máquina por ende se usa el parámetro “--ipadd” seguido del valor de la IP que le queremos dar y al final seguido del pará-metro “--save” este último para que nos guarde la información que queremos definir.

Ahora definiremos un servidor DNS para la configuración de red de nuestro VE:

vzctl set 101 --nameserver 200.10.11.1 --save

Como vemos el parámetro cambió, ya no fue “--ipadd” si no “--nameserver”.

Podemos iniciar los entornos virtuales o detenerlos con los siguientes comandos:

• vzctl start 101, para iniciar.• vzctl stop 101, para detenerlo.

Digamos ahora que ya no necesitamos más el entorno virtual de identificador 101 y necesitamos eliminarlo, para eso enton-ces lanzamos el comando: vzctl destroy 101.

Existen gran diversidad de comandos, por ejemplo des-pués de creada una VE y si se necesita ingresar a ella por algún motivo podemos lanzar el comando: vzctl enter 101.

Esto nos ingresa a la consola de la máquina virtual como usuario root.

Puntos de control y migración en calienteComo en toda tarea de administración siempre están presen-te los archivos de respaldo, migración de plataformas, entre otras tareas afines, pues no se podía dejar de tocar este tema con respecto a OpenVz, fuera de poder sacar los respaldos de los entornos virtuales también es posible hacer un paso de un entorno virtual desde un servidor a otro sin que los servicios contenidos en el entorno virtual se vean afectados, a esto comúnmente se le conoce como migración en caliente o migración en vivo.

Para hacer un punto de control se hace uso del comando “vzctl” más la opción “chkpnt” de la siguiente forma: vzctl chkpnt VEID --dumpfile <path>.

Donde VEID es el identificador del entorno virtual y la opción “--dumpfile <path>” indica la ruta donde va a generarse el archi-vo de respaldo. En el caso que no se indique la opción “--dum-pfile <path>”, el comando asumirá una ruta por defecto para la generación del archivo, esta ruta es “/vz/dump/dump.VEID”.

Una vez obtenido el archivo de respaldo se puede recu-perar el entorno virtual, el cual devolverá la máquina virtual al estado en que se ejecutó el punto de control. Para hacer una res-tauración desde un archivo de respaldo ejecutamos el comando de la siguiente forma: vzctl restore VEID --dumpfile <path>.

Migración en línea o migración en calienteEn muchas labores de mantenimiento, se requiere detener los equipos, esta operación es traumática, ya que produce la incon-formidad de las personas que hacen uso del servidor.

La migración en caliente consiste en que el VE pasa de un servidor a otro sin necesidad de ser detenido. Esta operación

Tabla 1. Comparación de OpenVz y Xen

Sistema de virtualización Xen OpenVz

Tipo virtualización Paravirtualización Nativa

Límite de memoria Por Software Por Hardware (no maneja Swap)

Consumo de memoria Uso moderado Poco uso derecursos

Arquitecturas soportadas i686, x86-64, IA64, PPC

i686, x86-64, IA64, PPC, SPARC

Licencia GPL GPL

S.O. Soportados Windows, Linux, Solaris, y varias versiones de BSD

Linux

Manejo de entornos gráficos Si NoFigura 2. Interfaz de administración WebVz, listado de contenedores virtuales

Page 35: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

34 LiNUX+ 7/2010

prácticaVirtualización con OpenVz

35www.lpmagazine.org

prácticaVirtualización con OpenVz

se hace con el comando “vzmigrate” de la siguiente manera:vzmigrate --online <host> VEID.

La opción ”--online” , indica que se va hacer el paso del en-torno virtual en caliente, “<host>” es donde debe especificarse la dirección IP del servidor OpenVz destino, y pues como ya lo hemos visto “VEID” es el identificador de la máquina virtual que se va a migrar. El comando “vzmigrate” hace uso de una conexión ssh para el traslado del VE, por ende el usuario debe tener privilegios de conexión en el servidor OpenVz destino.

Ventajas de Openvz

• Cada entorno virtual trabaja independientemente, esto nos hace creer que estamos trabajando con varios servi-dores físicamente.

• La administración de los recursos del servidor físico en los entornos virtuales de openvz se pueden modificar sin necesidad de reiniciar la máquina.

• Poder migrar entornos virtuales en caliente sin necesidad de apagar el servidor.

• La escalabilidad en Openvz es una habilidad para poder manejar el crecimiento continuo del servidor físico sin perder calidad en los entornos virtuales.

• Openvz puede trabajar con cientos de entornos virtuales en el servidor físico pero teniendo en cuenta las especifi-caciones del hardware.

• Administración masiva de todos los entornos virtuales.• El ahorro de tiempo a la hora de hacer los procesamien-

tos de instalación de la virtualización.• Se puede trabajar en diferentes escenarios: seguridad,

consolidación de servidores, hosting, educativo, desarro-llo y prueba.

• Se pueden crear plantillas con base a los entornos virtua-les previamente creados.

Desventajas

• Solamente puede trabajar con el sistema operativo Linux, pero se pueden instalar diferentes distribuciones de GNU/Linux.

• No sé si esto sea una desventaja pero los entornos virtua-les no tienen entorno gráfico, tal vez para algunos que no están muy familiarizados con la consola esto puede ser una desventaja muy notoria.

• OpenVz no hace manejo de Swap, existen ya que todo esto es controlado por el servidor que los contiene, esta particularidad a veces hace la vida un poco problemática. Existen instaladores de programas que validan la existen-cia de éste.

¿Cuál sistema de virtualización escoger?En cada situación que se debe afrontar, siempre nos hacemos esta pregunta, ¿cuál de todos elegir? Pero siempre he mane-jado una premisa para esto, uso lo que realmente necesito. Xen es otro entorno de virtualización realmente bueno, por ende vale la pena compararlo con OpenVz.

WebVzA estas alturas de todo lo narrado sobre OpenVz, algunos estarán pensando sobre la cantidad de comandos que deben aprender para hacer la administración de los servidores virtua-les. Afortunadamente Shuaib Zahda se tomó la tarea de crear una consola de administración, construida en Ruby, WebVz es una alternativa de código abierto que permite una fácil ad-

P U B L I C I D A D

Page 36: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

36 LiNUX+ 7/2010

prácticaVirtualización con OpenVz

ministración de los VE. Ésta se puede acceder desde la Web y es muy fácil de instalar.

Primero debemos instalar los prerrequisitos:

apt-get install ruby rubygems libsqlite3-ruby sqlite3

irb1.8

apt-get install libopenssl-ruby1.8 libreadline-ruby1.8

rdoc1.8

Instalamos el framework de Ruby:

gem install -v=2.1.0 rails

Como usuario root hacemos los siguientes pasos:

• Ingresamos a la ruta “/usr/local” cd /usr/local/• Descargamos la fuentes del WebVz: wget http://dfn.dl.sourceforge.net/sourceforge/

webvz/webvz.2.0.tar.gz

• Descomprimimos el archivo descargado: tar xvfz webvz.2.0.tar.gz

• Renombramos el directorio que generó la descompresión del archivo “gz”:

mv webvz.2.0 webvz

• Ingresamos a la carpeta generada: cd webvz

• Creamos unos links simbólicos para acceder a los archi-vos de configuración del OpenVz:

ln -s /var/lib/vz /vz

ln -s /usr/bin/irb1.8 /usr/bin/irb

mkdir /etc/sysconfig

ln -s /etc/vz/conf /etc/sysconfig/vz-scripts

Vamos hacer que el servicio del WebVz arranque al inicio de la máquina, para esto ingresamos por consola al directorio “/etc/init.d ” estando ahí creamos un archivo con el comando “vi nombre_archivo.sh”, para el ejemplo “vi webvz.sh”, luego ingresamos las líneas de código siguientes:

#Ingresamos a la ruta donde se encuentra el WebVz

cd /usr/local/webvz/

#Se inicializa el servidor

/usr/bin/ruby script/server &> /dev/null &

Después de escrito lo anterior salvamos el archivo y procedemos a darle permisos de ejecución al mismo de la siguiente forma:

chmod +x webvz.sh

Luego de esto lo involucramos en el arranque con el siguiente comando:

update-rc.d webvz.sh defaults

Iniciamos el servidor “,/webvz.sh”, hecho esto, abrimos nuestro navegador y accedemos a la consola de administración con la siguiente URL “http://localhost:3000”, bueno ahí les va a pedir el usuario y la clave, pero lo resolvemos con esta información:

Username: admin

Passwort: admin123

Sobra decir que después de haber ingresado debemos cam-biar la clave para que no hagan destrozos estos usuarios con iniciativa.

Esta consola de administración es bastante intuitiva por ende sólo basta navegar por ella y ver las opciones para aprender a manejarla, ver Figuras 2 y 3.

Conclusiones El hacer uso de plataformas de virtualización permite reducir costos, debido a que implica que no se va a tener un número de máquinas físicas encendidas consumiendo energía eléctrica. Las máquinas virtuales permiten crear ambientes de pruebas sin necesidad de recurrir a compra de hardware adicional.

Al momento de hacer una implementación de plataformas de virtualización, debe definirse qué es lo que se desea para así escoger la plataforma ideal. OpenVz al igual que otros sis-temas de virtualización permiten crear réplicas de los ambien-tes virtuales, dando facilidad a la implementación de nuevos servicios rápidamente.

Carlos Eduardo Virgen Londoño o conocido también como “ceduard0”, ha sido desde el año 2000 un usuario entusiasta de Linux. A lo largo de sus estudios instaló varias distribuciones y sólo fue hasta 2005 donde se encontró con la oportunidad de trabajar directamente como administrador de un servidor de co-rreo, que corría en una distribución llamada Slackware o como el lo llamaría “Mi viejo Slackware”.

A lo largo de su vida profesional ceduard0 ha trabajado en desarrollo de Software y administrando servidores basados en distribuciones Linux, claro está, calmó un poco su amor platóni-co por Slackware para dedicar sus fuerzas a Debian.

Este último año junto con mao (Mauricio Maquilon) otro activista del movimiento del código libre, fundaron un grupo lla-mado calinuxeros que a pesar de estar en proceso, han logrado involucrarse en pequeñas conferencias en las universidades locales de Cali – Colombia de donde ambos son nativos.

Sobre el autor

Figura 3. Listado de los procesos de un contenedor virtual

Page 37: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

36 LiNUX+ 8/2010

prácticagPXE: Arranque de Sistemas Operativos en Red con Software Libre

37www.lpmagazine.org

prácticagPXE: Arranque de Sistemas Operativos en Red con Software Libre

Muchos sabemos que un Sistema Opera-tivo tiene más de una forma de iniciar o arrancar: ya sea usando un disquete (floppy disk), CD o DVD, dispositivos

de almacenamiento USB y los típicos discos duros em-potrados localmente en nuestros computadores; pero es menor el número de personas que conocen que un Sistema Operativo también puede arrancar a través de una red ca-bleada o inalámbrica. Y de seguro será menor la cantidad de personas que saben de la existencia de un proyecto denominado gPXE y que hace posible el arranque por red utilizando Software Libre!

MotivaciónEl arranque de los sistemas operativos en red puede solu-cionar varios de los problemas encontrados al usar el típi-co arranque local además de ofrecer alternativas atractivas dentro de los entornos de red:

• Problemas de fallo muy frecuentes de los discos o dispositivos locales.

• La actualización distribuida es dificultosa en un en-torno no interconectado.

• Los nuevos sistemas necesitan constantemente de una instalación y configuración idéntica.

• Los modernos computadores de los usuarios inciden con frecuencia en problemas de incompatibilidad al arrancar localmente su sistema operativo preferido.

• Los archivos que son los mismos para cualquiera de la red solamente existen en un lugar: el mejoramiento del sistema es algo sencillo y rápido.

• Tener un solo servidor central fantástico es más que ahorrarse en comprar varios discos duros a nivel de consumidor.

• Los clientes pueden arrancar por red dentro de un entorno especial sin realizar ningún cambio indebido o peligroso a su disco duro.

• Las herramientas de diagnóstico e instaladores de sistemas operativos pueden ejecutarse sin necesidad de acarrear un puñado de Cds.

Evolución de las tecnologías de arranque en red

• 1993 Network Boot Image (NBI): Transferencia del control al kernel y enlace de drivers.

• 1995 Etherboot: Compatible con imágenes NBI.• 1997 Preboot eXecution Environment (PXE): un ser-

vidor DHCP que especifica el nombre de archivo de un programa de arranque de red (NBP) descargado a través de un servidor TFTP, el cual a su vez con-tinua descargando el kernel y demás imágenes del Sistema Operativo. PXE se convirtió en el estándar sacado a la luz por Intel en ese año.

• 1999 Continua el desarrollo del proyecto Etherboot• 2000 rom-o-matic: Generador vía web de imágenes

de arranque Ethernet en http://www.rom-o-matic.net/. • 2005 Marty Connor y Michael Brown reescriben

el proyecto Etherboot dando lugar al nacimiento de gPXE, una implementación FOSS de PXE.

• 2010 gPXE versión 1.0.

¿Qué es gPXE?gPXE es un cargador de arranque de red extensible, pode-roso, Open Source y de licencia GPL. Constituye un reem-plazo directo para las PXE ROMs propietarias, con muchas característica extra tales como DNS, HTTP, iSCSI, etc.

Bondades de gPXE

• Incluye docenas de drivers para tarjetas de red, inclu-yendo la mayoría de uso común.

• Buena compatibilidad con redes inalámbricas (wire-less) 802.11

gPXE: Arranque de Sistemas Operativos en Red con Software LibreEl paso del tiempo no ha podido evitar percibir los grandes beneficios que ha otorgado el uso y desarrollo del FLOSS (Free Software and Open Source Software) o Software Libre y Software de Código Abierto, principalmente en cuanto a innovación y accesibilidad de las tecnologías de la información se refiere. Uno de los campos en donde ha calado fuertemente este movimiento filosófico-tecnológico es en el de los Sistemas Operativos.

Milton Labanda

es@

lpm

agaz

ine.o

rg

Page 38: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

38 LiNUX+ 8/2010

prácticagPXE: Arranque de Sistemas Operativos en Red con Software Libre

39www.lpmagazine.org

prácticagPXE: Arranque de Sistemas Operativos en Red con Software Libre

• Encadenador de arranque compatible con drivers PXE,• Soporte DNS para uso de nombres de host (hostnames),• Variados protocolos de descarga soportados: TFTP, HTTP,

HTTPS, FTP, NFS,• Diversidad de formatos de imagen de Sistemas Operativos:

ELF, COM32, PXE, Linux y otros,• Posee una línea de comandos con amplio soporte de scripts,• Si el driver de una tarjeta de red no soporta PXE para arrancar, se

puede “quemar” una imagen del cargador de arranque en red gPXE:– En un chip dentro de una tarjeta de expansión,– En el mismo BIOS,– En un disquete o floppy,– En un CD/DVD,– En una memoria USB.

El proceso de arranque con gPXE

• El BIOS del computador cliente pregunta por su configuración IP y por la información de arranque en red vía DHCP.

• El servidor DHCP le provee al BIOS del cliente los parámetros de arranque necesarios tales como la dirección IP que le asig-nará, la dirección del servidor TFTP o HTTP dependiendo del protocolo que se haya elegido para el arranque.

• El cliente recupera la imagen ejecutable del cargador de arran-que desde el servidor utilizando TFTP, HTTP u otro protocolo.

• El cliente ejecuta la imagen extraída.• Dependiendo de la imagen de arranque y del archivo de confi-

guración o script gPXE el cliente empieza a solicitar la imagen del kernel y la del sistema de archivos raíz inicial.

Taller práctico de gPXEPara poder realizar las diferentes pruebas y configuraciones de gPXE se utilizó Virtual Box 3.1 de Sun, con el cual se creó una máquina virtual cliente con un disco duro vacío aunque no es necesario ni el disco vacío. El servidor es una máquina con Debian GNU/Linux 5.0 de arquitectura i386. Ambas máquinas con la configuración de red establecida en “Adaptador Puente” para que se puedan comunicar en la red que se formará dentro de Virtual Box. La dirección IP del servidor es 192.168.100.1

Configuración del Servidor

• El servidor debe tener instalados los servicios de DHCP y HTTP además de la utilidad syslinux para facilitar las configuraciones posteriores. Si hay necesidad de instalarlos, en Debian bastará hacer:

miltonlab@debianlab:~$ apt-get install dhcp3-server

apache2 syslinux

Aunque en vez de Apache podemos usar otro servidor http. Un as-pecto importante antes de arrancar correctamente el servicio dhcp3,

es tener fijada ya la IP de la tarjeta de red del servidor de tal manera que ésta quede dentro del rango de la subred que se especificará en dhcp. La configuración que estableceremos para asignar las IPs y además servir el binario de gPXE a través de DHCP es la siguiente:

miltonlab@debianlab:~$ emacs /etc/dhcp3/dhcpd.conf

subnet 192.168.0.0 netmask 255.255.255.0 {

# definición del rango de direcciones

range 192.168.100.3 192.168.100.9;

# nombre del archivo de imagen a descargar

filename

"http://192.168.100.1/gpxe/gpxelinux.0";

option broadcast-address 192.168.100.255;

next-server 192.168.100.1;

}

• Preparamos el directorio en donde vamos a almacenar todos los archivos de configuración de gpxe e imágenes de Sistemas Operativos que desearemos arrancar. Se llamará gpxe y lo colo-caremos en el root de los sitios de Apache: /var/www/gpxe:

miltonlab@debianlab:~$ mkdir /var/www/gpxe

Copiamos las imágenes del kernel y del sistema de archivos inicial de cada Sistema operativo que desearemos arrancar por red, al di-rectorio preparado. Estos archivos generalmente los obtendremos descomprimiendo el iso de la distribución del sistema operativo. Así por ejemplo para disponer de Damm Small Linux podríamos realizar la copia de los archivos de la siguiente manera:

miltonlab@debianlab:~$ cp linux24

/var/www/gpxe/dsl/

miltonlab@debianlab:~$ cp minirt24.gz

/var/www/gpxe/dsl/

• Copiamos el archivo binario de gpxelinux al directorio prepara-do para la configuración:

miltonlab@debianlab:~$ cp

/usr/lib/syslinux/gpxelinux.0 /var/www/gpxe

• Así mismo copiamos el archivo vesamenu.c32 para generar el menú de arranque con una interfaz gráfica que permita escoger el sistema operativo con el cual iniciar la máquina cliente:

miltonlab@debianlab:~$ cp

/usr/lib/syslinux/vesamenu.c32 /var/www/gpxe

• Luego crearemos y colocaremos los archivos requeridos por el típico pxelinux.0 creando en primer lugar la carpeta pxelinux.cfg y dentro de la misma el archivo default con el contenido que se muestra adjunto:

miltonlab@debianlab:~$ mkdir /var/www/gpxe/

pxelinux.cfg

miltonlab@debianlab:~$ emacs /var/www/gpxe/

pxelinux.cfg/default

menu title Servidor gPXE de Distros <<FLISOL 2010>>

menu background flisol2010.png

prompt 0

Figura 1. Logo Proyecto Etherboot Figura 2. Logo rom-o-matic Figura 3. Logo gPXE

Page 39: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

38 LiNUX+ 8/2010

prácticagPXE: Arranque de Sistemas Operativos en Red con Software Libre

39www.lpmagazine.org

prácticagPXE: Arranque de Sistemas Operativos en Red con Software Libre

default vesamenu.c32

LABEL dsl

KERNEL dsl/linux24

APPEND ramdisk_size=60000 init=/etc/init lang=us

vga=791

initrd=dsl/minirt24.gz quiet

LABEL pmagic ...

Como se observa, el binario vesamenu.c32 nos permite especificar un título, una imagen de fondo entre algunas otras opciones. Se debe además incluir obligatoriamente una entrada del tipo LABEL ... KERNEL ... por cada Sistema Operativo que se desee tener dispo-nible para arrancar.

Arranque de la Máquina ClienteLuego de activados los servicios y configurado el servidor adecuada-mente procederemos a obtener una imagen autoarrancable de gPXE

(.iso, .dsk o .usb) para arrancar la máquina cliente. Podemos hacerlo obteniéndola directamente desde el sitio http://www.rom-o-matic.net o en su defecto compilando los fuentes de gPXE para generar la ima-gen en binario que necesitemos:

miltonlab@debianlab:~$ tar -xvzf gpxe-1.0.0.tar.gz

miltonlab@debianlab:~$ cd gpxe-1.0.0/

miltonlab@debianlab:~$ cd src/

miltonlab@debianlab:~$ make

Finalmente encontraremos las imágenes en el directorio “src/bin”. Para una correcta compilación se necesitarán que estén instalados previamente los paquetes binutils, gcc, make, perl, mkisofs, mtools.

Una vez obtenida la imagen autoarrancable de gPXE procedere-mos a “quemar” dicha imagen en el medio adecuado (cdrom, floppy, usb...).

Finalmente procedemos a arrancar la máquina cliente desde el medio que contenga la imagen de gPXE.

A continuación se muestran algunas imágenes de la máquina virtual cliente arrancando con gPXE y cargando luego el Sistema Operativo Damm Small Linux, una distribución GNU/Linux liviana y versátil. Cabe señalar que las imágenes son parte de una charla demostrativa que se efectuó en el FLISOL2010 en la ciudad de Loja – Ecuador (Figuras 5 y 6).

Conclusiones

• gPXE puede ampliar el tiempo de vida útil de computadoras dadas de baja.

• gPXE genera amplia expectativa en las aplicaciones relaciona-das con la Administración de Redes y Centros de Cómputo.

• gPXE tiene una gran proyección. Ej. arranque a través de redes inalámbricas ya soportado en la versión 1.0.

• Los Proyectos FLOSS generan altos índices de innovación y liberan el conocimiento.

Agradecimientos especiales

• Shao Miller, miembro de la lista de discusion [email protected] • Marty Connor, líder del Proyecto Etherboot• H. Peter Anvin, de Intel y del proyecto Syslinux• Joshua Oreman, del Massachusetts Institute of Technology MIT.

Por sus valiosas aclaraciones a través de correo electrónico y por su invaluable contribución a la masificación del conocimiento.

Milton Labanda es graduado de Ingeniería en Informática en la Universidad Técnica Particular de Loja. Coordinó la visita del Dr. Richard Stallman por primera vez a la ciudad de Loja en noviembre 2007. Fue coordinador del FLISOL 2008 y co-coor-dinador del FLISOL 2010 en la ciudad de Loja.

Es docente contratado por más de 7 anos en la Carrera de In-geniería en Sistemas de la Universidad Nacional de Loja y coor-dinador de la comunidad de Estudiantes de Software Libre ESOL-UNL. Está casado y tiene 4 hijos.

Sobre el autor

Figura 6. Damm Small Linux iniciado en la máquina cliente a través de la red

Figura 4. Virtual Box

Figura 5. Menú para elegir el Sistema Operativo a arrancar

Page 40: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

softwareAplicaciones multimedia

40 LiNUX+ 8/2010

softwareAplicaciones multimedia

41www.lpmagazine.org

En general, el usuario básico multimedia, usará el ordenador para escuchar música, ver pelí-culas o videos; esto último se puede extender a quienes creen su propio contenido que en

general son usuarios profesionales. Trataremos de mante-ner esto sencillo de manera que sirva para quien recien se inicia y no conozca que cosas puede hacer.

Por defecto Ubuntu Linux instala reproductores para la mayoría de los contenidos que podremos llegar a repro-ducir, si vamos al menú Aplicaciones –> Audio y Video, veremos que disponemos de algunas aplicaciones que pasaremos a ver.

Totem Movie PlayerUno de los más usados reproductores, es sencillo y con él po-dremos reproducir tanto audio como video, también así DVDs y archivos de video. Las principales características son:

• Reproduce DVDs, VCDs y CD, • Permite visualizaciones, • Reproduce archivos de video de muchos tipos me-

diante plugins, • Permite usar la base de datos de CDDB, • Tiene barra de control de posición, • Soporta listas de reproducción, • Admite el uso de un control remoto, • Soporta audio en varios canales y AC3, • Permite anexar subtítulos a archivos de video.

El detalle completo lo podremos ver en el sitio oficial: http://www.gnome.org/projects/totem/

Rhythmbox Este es otro popular programa, en este caso podremos re-producir archivos de sonido de casi cualquier tipo y a la vez

catalogar nuestros archivos de manera de permitir una rápi-da búsqueda. Entre sus principales caracterísitcas tenemos:

• Reproducir Cds y archivos de audio, • Escuchar estaciones de radio de Internet, • Catalogar canciones, • Búsqueda y filtro de canciones, • Crear lista de reproducción.

Podremos obtener información extra en el sitio oficial: http://www.gnome.org/projects/ rhythmbox/.

Sound Juicer Sound Juicer es un ripeador de Cds de audio, que nos per-mite hacer una copia de nuestros discos en archivos con formato Ogg o FLAC. Con esto podremos sumar cancio-nes a nuestra base de datos de Rhythmbox por ejemplo.

SerpentineSerpentine permite hacer lo contrario a Sound Juicer, es decir, tomar archivos de audio y generar un CD para ser

Introducción al software multimedia en LinuxHay muchas aplicaciones disponibles en Linux para todas nuestras necesidades de multimedia sin necesidad de usar productos propietarios ni perder funcionalidades.los mismo. Trataremos de mostrar las más populares o completas tratando de ser imparciales en las opiniones. Por supuesto que quedarán muchas afuera ya que hay cientos de ellas y cada uno tiene sus preferidas, pero el propósito de este artículo es mostrar a quien desea acercarse al mundo Linux que puede intentarlo sin ningún problema.

Gabriel García

es@

lpm

agaz

ine.o

rg

Figura 1. Totem Movie Player

Page 41: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

softwareAplicaciones multimedia

40 LiNUX+ 8/2010

softwareAplicaciones multimedia

41www.lpmagazine.org

unsado en cualquier reproductor o en otra PC. Es muy sencillo de usar, ya que simplemente basta con agregar las canciones que de-seemos y escribirlas al disco, cabe recordar que necesitaremos una grabadora de CD para poder crear el disco.

Sound Recorder Una de las cosas que en algún momento podemos llegar a necesitar es grabar un archivo de audio desde un micrófono o desde la entrada de audio (Line IN). Con Sound Recorder podremos generar fácilmente archivos en formato Ogg, WAV, Flac o AAC.

Amarok No podemos hacer una revisión de programas multimedia sin nom-brar a Amarok, quizás uno de los programas más completos y versá-tiles. Como Ubuntu no lo trae instalado por defecto tendremos que hacerlo por nuestros propios medios yendo al menú Aplicaciones –> Agregar y quitar, y después elegiremos “Audio y Video”.

La primera vez que ejecutamos Amarok tendremos un asistente de configuración en el cual podremos elegir en qué directorios tenemos nuestros archivos, así son agregados a la librería, estos se guardarán en una base de datos SQLite (podemos usar mySQLo PostgreSQLsi queremos). Cuesta resumir las funcionalidades de Amarok ya que son muchísimas e incluso descubriremos nuevas mientras lo usamos.

El uso de Amarok es sencillo y pronto veremos que es muy fácil y rápido moverse en nuestra colección de archivos. Amarok

está basado en KDE pero podremos usarlo aunque nuestro escritorio sea otro simplemente descargando las librerías KDE (esto es hecho automáticamente cuando lo instalamos). El sitio web oficial es http://amarok.kde.org/

XMMS Este es un clásico reproductor en el mundo Linux, con muchos anos de vida ya, nació como un clon del popular WinAMP de la plataforma Windows; incluso soporta sus skins y mantiene compatibilidad en las teclas rápidas o atajos. Es un programa ligero que cuenta con un ecualizador gráfico y posibilidad de crear listas de reproducción entre sus principales funcionalidades. Podremos obtener más información acerca de XMMS en http://www.xmms.org/

MythTVEste programa tiene varios anos de vida y es una de las opciones más completas para reproducir todo tipo de archivos como así ver TV, cuenta con muchísimos agregados para extender su funcionalidad, con él podremos usar cualquier control remoto para manejarlo. La idea de atrás de MythTV es usarse en un TV o pantalla de gran tama-no y usarlo en nuestra sala de estar para ver películas u otras cosas más como podemos ver en esta resumida lista:

• Reproductor de TV en tiempo real y/o con retraso, necesitamos una placa sintonizadora de TV para esto.

Figura 2. Rhythmbox

Figura 3. Sound Juicer

Figura 4. Sound Recorder Figura 5. XMMS

Page 42: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

softwareAplicaciones multimedia

42 LiNUX+ 8/2010

• Posibilidad de usar guías de programación y saltear comerciales. • Ver DVDs y grabarlo al disco rígido si lo deseamos. • Reproducir CDs de audio, mp3, ogg, flac y muchos formatos más. • Visualizar fotos. • Además existen agregados para ver el clima, jugar juegos, leer

noticias, etc…

VLC Media PlayerVLC es un reproductor que últimamente está creciendo bastante, hay versiones para muchos sistemas operativos y es compatible con mu-chos formatos multimedia, en realidad la lista es muy grande (http://www.videolan.org/vlc/features.html). La interfaz es sencilla y clara, solo están los botones necesarios pero podremos personalizarlo a nues-tro gusto agregando o quitando elementos. VLC soporta un montón de tipos de streams (UDP Unicast, UDP Multicast (MPEG-TS), HTTP, RTP/ RTSP, MMS y otros más) e incluso puede ser usado para gene-rar contenido para irradiar en la red, ya que posee un servidor.

XineXine es otro reproductor muy usado en el mundo Linux, incluso sus librerías son usadas por otros reproductores, por lo que es muy popu-lar, puede reproducir DVDs, CDs y VCDs como así también muchos formatos más de audio y video. Su uso es fácil ya que posee botones orientativos como vemos en la imagen, en el sitio web podremos ver más detalles: http://www.xinehq.de/.

Otros proyectos El mundo Linux es muy amplio y siempre está creciendo, existen proyectos en el área de la multimedia de diverso tipo y en diferente grado de madurez, algunos de ellos son:

• Elisa: este es un estupendo proyecto para una centro de medios (media center), con el podemos reproducir audio y video, ver fotos y mucho más, usando un control remoto y en nuestro TV reemplazando así a soluciones más costosas como el Microsoft Media Center o el Apple TV. Se puede conocer más sobre él en http://elisa.fluendo.com.

• Linux Multimedia Studio (LMMS): es un programa para editar audio en forma profesional, soporta canales, patrones, efectos y mucho más gracias a la posibilidades de usar plugins. En el sitio oficial podremos ver más: http://lmms.sourceforge.net/.

• Lives: editor de video no lineal, con el podremos crear videoclips, usar transiciones, cortar o agregar clips de video con sopor-te de varias pistas y usando muchos formatos de video. Ver más en: http://lives .sourceforge.net/.

• GeexBox: este es uno de mis preferidos, es un centro de medios completo y super pequeno, podremos usarlo para iniciar nuestra máquina y acceder a sus múltiples opciones como reproducir videos, DVDs, CDs, imágenes y archivos de audio, viene con un generador de imágenes ISO para Linux, Windows y OSX. Ver más en http:// geexbox.org/en/index.html.

• Freevo: es otro proyecto que podríamos englobar en la lista de los “media centers”, pero a diferencia de GeexBox, necesitaremos instalarlo sobre alguna distribución, el diseno es muy elegante y fácil de usar. Permite grabar TV, reproducir DVDs y archivos de audio y video. Podremos conocer más sobre él en http://freevo.source forge.net/.

ConclucionesNo es nuestra intención hacer una lista enorme de programas mul-timedia ni de cada una de sus funcionalidades ya que solo sería un texto muy extenso y aburrido; queremos que esta pequeña nota sirva para quienes están o quieren ingresan al mundo Linux sepan que cuentan con muchas opciones y a la vez muy versátiles permitiendo usar lo que más se aproxime al gusto de cada uno. Otra cosa que ob-servamos es una tendencia hacia sistemas del tipo Centro de Medios para ser usados en pantallas de televisión de grandes dimensiones y ser manejados por el control remoto para acceder a sus funciones.

Figura 6. MythTV

Figura 7. VLC Media Player Figura 8. Xine

Page 44: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

44 LiNUX+ 8/2010

para principiantesGrupos, usuarios y permisos en Linux

45www.lpmagazine.org

para principiantesGrupos, usuarios y permisos en Linux

¿Por qué es necesaria la administración de grupos y usuarios? Bueno, pongámoslo de esta forma, no todos deben de tener los mismos privilegios en un sistema in-

formático, algunos tendrán acceso a determinados recursos y otros no. Estos privilegios se dividen en lectura, escritura y ejecución de un determinado ar-chivo o recurso. Situémonos en un escenario: en un entorno corporativo queremos que sólo la gerencia tenga acceso al recurso compartido ventas, por lo cual crearemos un grupo de usuarios llamado ge-rencia y asignaremos al directorio ventas permiso de lectura y escritura para todo aquel que pertenezca al grupo gerencia. De esta forma sólo los usuarios pertenecientes a dicho grupo podrán leer o escribir en él. Lo mismo ocurre con ciertos comandos del sistema, como por ejemplo con el comando “TOP”. La ejecución de este comando por varios usuarios al mismo tiempo puede comprometer la estabilidad del sistema. Por la cual es conveniente otorgarle permi-sos de ejecución solamente al usuario root.

Dentro de un sistema encontraremos al menos tres grupos de usuarios. Usuarios Normales: son usuarios con poca experiencia, propensos a cau-sar problemas, sólo se les debe otorgar acceso a los programas elementales para realizar su tarea y desde luego un directorio de trabajo, o sea un ho-me. Usuarios del sistema: éstos son aquellos encar-gados de los demonios del sistema, esto quiere decir que para algunos servicios es necesario que se cree un usuario específico como por ejemplo mail, irc, o incluso backup. Usuario ROOT: a éste se le cono-ce como DIOS. Como bien lo digo, tengan cuidado con lo que hacen con este usuario ya que lo puede todo. Este usuario es el equivalente al usuario admin de otros sistemas. Como podemos ver el mundo de “Unix” difiere del de otros sistemas operativos. Aun-

que ya estemos familiarizándonos un poco con esto de los entornos Linux, en los Unix o Linux todo es un archivo, incluso los dispositivos. Entonces todo es un fichero y todo fichero tiene un dueno, por lo cual cada fichero tendrá los privilegios suficientes para que sea accedido o no por los demás.

Administrando usuarios y gruposLa administración de usuarios a través de la consola es relativamente sencilla. Utilizaremos los siguien-tes comandos: useradd, user-mod y userdel. Con estos comandos podremos dar de alta, modificar y eliminar usuarios. Los datos de los usuarios se guar-dan en /etc/paswd. Todo usuario y grupo posee cier-ta información adjunta. Echémosle un vistazo a mi archivo passwd (Listado 1). Cada entrada está com-puesta por los siguientes campos:

• Login= el nombre único de usuario en el siste-ma,

• Password= la contrasena con la cual el usuario podrá acceder al sistema,

• UID= abreviatura de la identificación de usuario. Toda combinación de usuario y UID debe ser única,

• GID= número que identifica al grupo al que per-tenece el usuario,

• Comentario= comentario, • Ruta de inicio= ruta absoluta del directorio de

trabajo, • Shell= el programa que se ejecuta automática-

mente cuando el usuario inicia sesión. El intér-prete de comandos.

Sin embargo la información de los grupos se al-macena en el archivo /etc/group. Bien, y ¿por qué no husmear mi archivo groups? Mirad el Listado 2.

Grupos, usuariosy permisos en LinuxHoy trataremos un tema de interés para muchos principiantes y para otros no tan principiantes: los permisos y la administración de grupos y usuarios. GNU/Linux es un sistema multiusuario por lo cual es necesaria la administración de los permisos que le otorgamos a los archivos y directorios de nuestro equipo.

Sebastián Pignataro

es@

lpm

agaz

ine.o

rg

Page 45: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

44 LiNUX+ 8/2010

para principiantesGrupos, usuarios y permisos en Linux

45www.lpmagazine.org

para principiantesGrupos, usuarios y permisos en Linux

Como podremos ver es un archivo muy sencillo y está confor-mado de la siguiente manera:

• Nombre de grupo, • GID= Número de identificación del grupo,• Lista de usuarios que pertenecen al grupo, !separados

por comas!

Lo que haremos ahora es utilizar los comandos useradd, usermod y userdel. Con ellos manejaremos a los usuarios. Para agregar un usuario utilizaremos el comando useradd de la siguiente forma: useradd -d homedir -s /bin/bash [ic] -c Nombre_ real_del_usuario nombre_de_usuario. En verdad es un poco críptico, analicemos el ejemplo. Useradd es el coman-do a emplear para agregar un nuevo usuario, luego mediante la opción -d especificamos nuestro directorio de inicio, -s nos dará la posibilidad de elegir la shell a utilizar y -c será el nom-bre real del usuario. Éste debe de ir entre comillas dobles. Por último nos resta el nombre de usuario, el nombre con el cual iniciaremos sesión en nuestro sistema:

#useradd -d /home/sebastian -s /bin/bash [ic] -o

“Sebastian Pignataro” sebastian

Digamos que nos hemos equivocado, o por algún motivo decidimos cambiar los datos de algún usuario que está en el sistema. Para ésto emplearemos el comando usermod. Este comando nos permite cambiar todos los parámetros que hayamos utilizado con el comando useradd. Recuerda que el usuario no podrá iniciar sesión cuando estemos cambiando sus datos. Para cambiar la información sobre la configuración de un usuario haremos lo siguiente: usermod -c “Nuevo_Nom-bre” -d directorio_de_inicio -m -g nombre_de_grupo -s shell -l nuevo_nombre_de_usuario nombre_de_usuario_actual.

Demos un poco de luz a todo esto. Desde luego usermod será el comando que usaremos para realizar nuestro trabajo. Con la opción -c y entre comillas dobles especificaremos el nuevo nombre real del usuario, -d nos dejará indicar el directorio de inicio, con -g incluiremos a nuestro usuario en un grupo de usuario, -s nos dejará decidir qué tipo de shell usaremos. Desde luego nos restará aclarar nuestro nuevo nombre de usuario y nuestro nombre de usuario actual. Digamos que sería algo así:

#usermod -o “Marco Preto” -d /home/marcos -m -g

abusuarios -s /bin/ bash -l marcos marcos

Finalmente veremos cómo eliminar un usuario del sistema. Para ello disponemos del comando userdel, que se utiliza de la siguiente manera: userdel -r nombre de usuario. Esto en el sistema se vería así:

#userdel -r sebastian

Llega el momento de referirnos a los grupos. Encontraremos que podemos manejar grupos de usuarios en casi cualquier

Figura 1. Salida en pantalla del comando ls-lg

Figura 2. Archivo /etc/passwd

Listado 1. Archivo passwd

root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:

/usr/sbin: /bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:

3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/

sync games:x:5:60:games:/usr/games: /bin/sh man:x:6:

12:man:/var/cache/man: /bin/sh lp:x:7:7:lp:/var/

spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh

news:x:9:9:news:/var/spool/news: /bin/sh uucp:x:

10:10:uucp:/var/spool/uucp: /bin/sh proxy:x:13:13:

proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/

www:/bin/sh backup:x:34:34:backup:/var/ backups:

/bin/sh list:x:38:38:Mailing List Manager: /var/

list:/bin/sh irc:x:39:39:ircd:/var/run/ircd: /bin/sh

gnats:x:41:41:Gnats nobody:x:65534:65534:nobody:

/nonexistent:/bin/sh Debian-exim:x:100:102::/var/

spool/ exim4:/bin/false statd:x:101:65534::/var/

lib/nfs: /bin/false identd:x:102:65534::/var/run/

identd:/bin/false sebastian:x:1000:1000:Sebastian

Pignataro,,,:/home/sebastian: /bin/bash messagebus:

x:103:104::/var/run/ dbus:/bin/false

Page 46: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

46 LiNUX+ 8/2010

para principiantesGrupos, usuarios y permisos en Linux

47www.lpmagazine.org

para principiantesGrupos, usuarios y permisos en Linux

sistema operativo. Nosotros nos focalizaremos en cómo ma-nejarlos en la variedad de Unix/Linux. Dividir a los usuarios en grupos es una forma ordenada de otorgar permisos a un archivo que utiliza un grupo de personas. Con esto me refiero que al establecer grupos podremos otorgar los mismos permi-sos para un grupo de usuarios. Pongamos esto en un ejemplo y supongamos tener tres grupos de usuarios, 1) gerencia, 2) ventas 3) sistemas; y digamos te-ner 3 directorios; productos, sueldos y stock. A éstos, les daremos permisos de la siguiente manera. Crearemos la carpeta productos y le asignaremos lectura, escritura para el usuario; lectura, escritura para el grupo y lectura para otros. Luego le designamos como grupo al directorio el grupo ventas. Esto quiere decir que cualquier usuario que esté dentro del grupo gerencia tendrá acceso de lectura y escritura al mismo. Por lo tanto los que se encuentren dentro del grupo gerencia o ventas, solamente tendrán acceso de sólo lectura.

Para trabajar con los grupos en Linux usaremos los siguientes comandos: groupadd, groupmod, groupdel. Entre-mos en la sintaxis misma de estos comandos.

Para agregar un nuevo grupo al sistema lo hacemos invocando el comando groupadd de la siguiente manera: groupadd nombre_de_ grupo. Veamos un modelo de este comando donde agregaremos un grupo llamado www. En este grupo estarán todos los usuarios relacionados con el servidor de web Apache:

#groupadd www

Siempre que agreguemos un grupo puede que nos encontre-mos con la necesidad de modificar el nuevo grupo. Bueno, es-to no es problema, lo haremos con una sentencia tan sencilla como la siguiente: groupmod -n nuevo_grupo grupo_actual. Donde nuevo_grupo es el nuevo nombre de grupo que que-remos otorgar al grupo y grupo_actual es el nombre actual del grupo:

#groupmod -n gerencia gerencia2

A veces es inevitable pasar por la opción de tener que eliminar algún grupo. Para llegar a nuestro cometido usaremos ni más ni me-nos que groupdel y el grupo que deseemos eliminar:

#groupdel gerencia

En Linux tenemos dos utilidades que nos facilitarán la vida al momento de manejar grupos y el modo en que se asigna un grupo a un archivo o directorio. Éstas son gpasswd y chgroup.Tomemos la primera, gpasswd. Con ella podremos agregar usuarios a un grupo existente. Para ello bastaría solamente una línea como la siguiente: gpasswd -a nombre_de_usuario nombre_de_grupo. Donde nombre de usuario sería el nombre de inicio de sesión y nombre de grupo sería el nombre del grupo al cual agregamos dicho usuario. Ahora para eliminar un usuario de un grupo utilizamos gpasswd -d nombre_de_usuario nombre_de_grupo. Éste es muy similar al comando anterior. De todas formas visualizaremos un ejemplo. Digamos que queremos eliminar el usuario carlos del grupo gerencia. Lo haríamos así:

#gpasswd -d c arlos gerencia

La otro utilidad es chgrp, la cual nos será de utilidad al mo-mento de cambiar el grupo al cual pertenece un archivo. Se usa de la siguiente manera chgrp nombre_de_grupo archivo. Tomemos un ejemplo: si quisiera cambiar el grupo del archivo articulo.html al grupo editorial procederíamos de la siguiente forma:

#chgrp editorial

articulo.html

¿Qué pasa si queremos cambiar el grupo de un directorio y todos sus y archivos? Utilizamos el comando chgrp con la opción -R. Entonces digamos que cambiamos de grupo todos los archivos del directorio redacción:

#chgrp -R

editorial redaccionListado 2. Archivo group

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:

tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:

x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20:

sebastian fax:x:21: voice:x:22: cdrom:x:24:sebastian

floppy:x:25:sebastian tape:x:26: sudo:x:27: audio:

x:29:sebastian, teztzone dip:x:30: www-data:x:33:

backup:x:34: operator:x:37: list:x:38: irc:x:39:

src:x:40: gnats:x:41: shadow:x:42: utmp:x:43: video:

x:44:sebastian sasl:x:45: plugdev:x:46:sebastian

staff:x:50: games:x:60: users:x:100: nogroup:x:

65534: crontab:x:101: Debian-exim:x:102: ssh:x:

103: sebastian:x:1000: messagebus:x:104: gdm:x:105:

haldaemon:x:106: powerdev:x:107: vboxusers:x:1001:

, sebastian , pedro, juan, carlos antivir:x:1002:,

root , pedro, juan, carlos teztzone:x:1003:

Listado 3. ls -lg

total 1440 drwx------2 sebastian 4096 2007-09-18 23:

55 amsn_received -rw-r--r--1 sebastian 38710 2007-

09-17 16:00 dabadabadoo.wav drwxr-xr-x 3 sebastian

4096 2007-10-07 21:03 Desktop -rwxr--r--1 sebastian

60652 2007-07-25 16:19 gnomesplash.png -rw-r--r--1

sebastian 16422 2007-10-11 20:00 grupos usuarios y

permisos.odt drwx------2 sebastian 4096 2007-09-12

13:11 Mail -rwxr--r--1 sebastian 1315769 2007-08-

25 16:09 Rio -Tigre (9).jpg -rw-r--r--1 sebastian

28 2007-07-30 13:35 sebastian.txt drwxr-xr-x 4

sebastian 4096 2007-09-20 21:36 Temp drwxr-xr-x 2

sebastian 4096 2007-08-19 16:54 Wallpapers

Page 47: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

46 LiNUX+ 8/2010

para principiantesGrupos, usuarios y permisos en Linux

47www.lpmagazine.org

para principiantesGrupos, usuarios y permisos en Linux

Propiedad y permisosde archivosEn esta área nos topamos con dos utilidades por así llamar-las. Éstas son chown y chmod. Chown le permite cambiar el propietario de un archivo y chmod le permite cambiar los permisos de acceso de un archivo. No se preocupe en breve comprenderá a qué me refiero.

Para cambiar el propietario de un archivo acudimos a laayuda de chown que significa cambiar propietario. El uso correc-to sería chown nombre_del_propietario archivo. En la consola se vería así:

#chown sebastian articulo.html

Si quisiera cambiar el propietario del directorio redacción y todos sus directorios y archivos, podemos utilizar el coman-do chown seguido de la opción -R. Cambiemos el propietario del directorio redacción incluyendo todos sus archivos:

#chown -R sebastian redaccion

Pasemos con nuestro buen amigo chmod. Para la explicación de chmod primero tendremos que saber un poco sobre có-mo Linux maneja los permisos. Entonces no perdamos más tiempo y entremos al tema de los permi0o directorio y los de los otros usuarios. Po-demos ver los permisos corriendo el siguiente comando en la consola: ls -lg. Ésta sería la salida en pantalla, desde luego en mi ordenador (Listado 3).

Entonces, ¿qué es todo esto? Bueno, primero les cuento que el primer caracter siendo una “d” representa un directorio y siendo una “l” representa un enlace simbólico. Ahora hable-mos del resto, muy simple, los tres siguientes representan los permisos del propietario del archivo, los siguientes tres a los del grupo y los tres últimos a los del resto de los usuarios nor-malmente denominados others, que en espanol sería otros. Para representar los permisos generalmente se usan letras. Específicamente la “r” de read, en espanol lectura, la “w” de write del inglés escritura y la “x” de execute que quiere decir ejecución. Cada permiso tiene un valor numérico:

r=4

w=2

x=1

La sumatoria de estos tres valores equivalen a 7 y esto repre-senta permiso de lectura, escritura y ejecución. Observemos algunos ejemplos.

Tabla de permisos

• ---0 sin permisos• r--4 sólo lectura ®• rw-6 lectura y escritura (rw)• rwx 7 lectura, escritura y ejecución (rwx)• r-x 5 lectura y ejecución (rx)• --x 1 ejecución (x)

Cuando se combinan estos valores obtenemos los permisos del archivo o directorio. Como nombramos anteriormente, los permisos se componen de la siguiente forma: el primer carac-ter representa si es un directorio o un enlace simbólico, los tres siguientes representan los permisos para el propietario, los tres que le siguen representan los permisos para el grupo y los últimos tres representan los permisos para el resto de los usuarios. Cuando se combinan estos valores nos da como re-sultado tres números que representan los permisos del archi-vo para el propietario, para el grupo y para el resto. Armemos una tabla con algunos ejemplos.

Tabla de ejemplos de permisos

d rw-------600 d rw-r--r--644 l rw-rw-rw-666 l rwx -----

-700 -rwx r-x –-x 755 d rwx rwx rwx 777 -rwx –-x –-x 711

Espero haber dejado claro el tema, ya que sólo era la intro-ducción para chmod. Desde luego era imposible explicar su uso sin conocer el manejo de los permisos en Linux. Habiendo sorteado este obstáculo no perdamos tiempo y veamos cómo poner en práctica lo aprendido. El comando se utiliza de esta forma: chmod permiso archivo. Por ejemplo para hacer que el archivo articulo.odt sea accesible por el propietario, por el grupo y por los demás haríamos lo siguiente:

#chmod 777 articulo.odt

Para comprenderlo mejor analicemos un ejemplo. Tenemos el script backup.sh, queremos darle permisos de lectura, escritura y ejecución para el propietario, ésto nos da el valor numérico de 7. También queremos que el grupo tenga acceso a él, de lectura pero que no pueda tener acceso de escritura, no obstante sí queremos que pueda ejecutarlo; lo que nos da el valor numérico de 5. Por último queremos que el resto sólo pueda ejecutar dicho script, por lo tanto le damos permiso de ejecución al resto, lo que resulta en el valor numérico 1. Por lo tanto nuestro ejemplo sería: -rwx r-x –xo de forma numérica sería 751. Recuerda que para cambiar los permisos de un di-rectorio y todos sus archivos utilizamos chmod con -R:

#chmod -R 777 /temp

Esto es todo por hoy, espero les haya sido útil la información y que puedan aplicarla en su totalidad. !Hasta la próxima! Figura 3. Permisos con el gestor de archivos MC

Page 48: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

48 LiNUX+ 8/2010

proyectos linuxLocuLinux 2.0

49www.lpmagazine.org

proyectos linuxLocuLinux 2.0

El problema actual de este tipo de estableci-mientos es que debido a la inversión inicial en la compra de las computadoras debe sumarse la licencia del software a insta-

larse, es decir que lo que se instala debería de ser totalmente legal ya que es un servicio que se ofrece al público en general. El coste de la licencia de los sistemas operativos más utilizados eleva el coste en la compra de las computadoras, lo que ocasiona que este tipo de software se instale de manera ilegal.

Ahí es donde entra LocuLinux, al ser una distri-bución Linux, ésta carece de coste en la licencia por ordenador o por número total de usuarios. Cuando obtiene una distribución de GNU/Linux, en este caso una basada en Ubuntu también obtiene la libertad para estudiarla, copiarla, cambiarla, y redistribuirla.

LocuLinux posee todas las aplicaciones necesa-rias para este tipo de establecimientos.

RequerimientosRequisitos Mínimos:

• Procesador x86, 700 MHz.• 512 MB de memoria RAM.• 8 GB de espacio en el disco duro.• Tarjeta de vídeo VGA con 16mb de RAM. (Jue-

gos).• Tarjeta de sonido AC97 o compatible.• Unidad DVD-ROM.

Requisitos Recomendados:

• Procesador x86 de 1,5 GHz.• 2 GB de memoria RAM.• 12 GB de espacio en el disco.• Tarjeta de vídeo VGA con 64mb de RAM. (Juegos).• Tarjeta de sonido AC97 o compatible.• Unidad DVD-ROM.

Requisitos adicionales: Es necesario poseer una red de datos preinstalada para poder interconectar los puestos de internet y el servidor que controlara a és-tos, se recomienda que la red esté cableada con UTP Cat. 5e o similar y un switch 10/100 que inter-comunique todos los ordenadores.

Control de puestosEl control de puestos de LocuLinux es único en controlar los puestos de forma remota y gestionar usuarios, rangos horarios, bonos, etc. Existen varios programas que permiten realizar una tarea inicial parecida, es decir controlar los puestos por remoto (Reiniciar, Cerrar el puesto, Abrir el puesto, etc). Pe-ro ninguno es tan completo como el que viene por defecto instalado en LocuLinux.

El control de puesto de LocuLinux está traduci-do al español en su totalidad. En el puesto cliente se puede configurar desde los programas que se pueden abrir al abrir una nueva sesión o tiempo, así

LocuLinux 2.0LocuLinux es una distribución de Linux basada en Ubuntu 10.4 TLS que ha sido desarrollada para cubrir un mercado poco explotado por las distribuciones Linux, los locutorios o también conocidos como Cibercafés. Su nombre deriva de juntar Locutorio y Linux que en el conjunto forman LocuLinux.

Eduardo Arana

es@

lpm

agaz

ine.o

rg

Figura 1. Pantalla del Control de Puestos LocuLinux 2.0 Figura 2. Menú de Arranque

Page 49: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

48 LiNUX+ 8/2010

proyectos linuxLocuLinux 2.0

49www.lpmagazine.org

proyectos linuxLocuLinux 2.0

como también se puede definir el fondo personalizado cuando el puesto se encuentre bloqueado.

Como se puede observar en la Figura 1, el Control de Puestos LocuLinux está dividido en 4 apartados diferentes:

• Ordenadores: En esta pantalla se muestra la lista de pues-tos u ordenadores disponibles e instalados en el control de puestos.

• Usuarios: aquí se dan de alta o se modifican los usuarios creados para acceder desde los puestos o para desbloquear los puestos por usuario, así mismo se le puede incrementar el crédito que el usuario quiera ampliar por minutos.

• Cajón: aquí se definen todas las ventas que se han reali-zado durante el día, se puede configurar una etiquetadora externa para que se pueda imprimir el fin de caja del día.

• Deudas pendientes: aquí se detallan los consumos excedi-dos de cada usuario y lo que le queda pendiente por pagar.

La instalación de LocuLinux se realiza de la misma forma que se realiza en ubuntu, se configura en la BIOS de nuestro equi-po para que el primer dispositivo de arranque sea el CDROM/DVD y una vez configurado, se inserta la copia de LocuLinux 2.0 y nos mostrará una pantalla inicial donde podremos selec-cionar desde una demo LIVEDVD para probar LocuLinux an-tes de instalarlo y ver que funciona correctamente con nuestro hardware, luego está la instalación vía disco rígido, con esta opción directamente utilizaremos el instalador de Ubuntu para instalar nuestra distribución físicamente en el disco duro. La instalación permite sobredimensionar espacio en el caso de que queramos conservar un segundo sistema operativo.

Una vez que se termina la instalación de LocuLinux, el gestor de arranque GRUB detectará las entradas de la parti-ción y creará las lineas de arranque para los diferentes siste-mas operativos que tengamos instalados en nuestro equipo.

Recuerden, desde el menú inicial podremos seleccionar arrancar nuestra distribución en modo LIVEDVD sin instalar nada en el disco rígido o el modo INSTALL para instalar Locu-Linux físicamente en nuestro disco rígido.

InstalaciónEn la primera pantalla debemos seleccionar el idioma de nues-tra instalación/distribución, como siempre en Español.

Luego seleccionaremos la zona geográfica simplemente pulsando en nuestro país y la provincia más cercana a nuestro domicilio, solo se utiliza para sincronizar la hora con los servi-dores de hora online según la zona.

Después seleccionaremos la distribución de nuestro tecla-do según la zona donde nos encontramos.

El paso siguiente será seleccionar la partición donde que-remos instalar LocuLinux (ver Figura 3), se puede utilizar todo el disco si no queremos dejar ningún sistema operativo o se pueden especificar manualmente las particiones.

En la pantalla siguiente (Figura 4) definiremos el nombre del usuario, recomiendo el nombre de usuario loculinux y la contraseña root aunque ponga el mensaje “Fortaleza: dema-siado corta”. En cada puesto debemos cambiar el nombre del equipo, por ejemplo puesto1, puesto2, etc... Por ultimo debe-mos seleccionar “Iniciar sesión automáticamente” para que no nos solicite el usuario y contraseña en el logging del GDM.

Una vez completados todos los pasos y configuraciones anteriores, hacemos clic en el botón Instalar para comenzar la instalación de LocuLinux.

Figura 3. Selección de la partición a instalar

Figura 4. Definir los datos de usuario y contraseña y el tipo de sesión

Eduardo Luis Arana nacido en la cuidad de San Nicolás de los Arroyos, en la provincia de Buenos Aires, Argentina. Actual-mente con residencia en Madrid, España. Cursó la carrera de Ingeniero Informático en esa misma ciudad.

Actualmente desempeña el puesto de Administrador de Sistemas Linux/Windows y DBA de Oracle para una importante compañía logística del sector farmacéutico en Madrid, España.

Sobre el autor

Page 50: índiceindex-of.co.uk/Magazines/Computaci%f3n_H%edbrida_Co-dise...índice 2 LiNUX+ 8/2010 índice 3 práctica Virtualización con OpenVz Carlos Eduardo Virgen Londoño En la actualidad,

opiniónSi quieres ser un experto… enseña sin presumir

50 LiNUX+ 8/2010

Como resumen, podríamos decir que han enseñado problemas de seguridad. Muchos, y muy graves. Pero lo mejor de todo: han enseñado cómo solucionarlos. Han mostrado herramientas que corrigen problemas. Y han enseñado abiertamente, sin el ocultismo que las grandes supuestas figuras de la seguridad (chiste va, chiste viene) emplean para asombrar a un público menos experto que ellos.

Cierto es que el público asistente al ESET Foro Internet Meeting Point no era, ni mucho menos, una pandilla de preado-lescentes polihormonados ni una manada de amas de casa que buscan entender qué es eso del “feisbuc” que usan sus hijos. Allí no valía cualquier tontería, y si se ha-blaba de seguridad, había que hacerlo deverdad.

Bravo por Óscar y por David, y por los organizadores, y por los asistentes, y por los que lo vieron por streaming. Foros así son los que necesitamos en este mundo de Internet, en los que los participantes ense-ñan y comparten de verdad, y en los que los asistentes no se limitan a ver cuántas pegatinas les han regalado con el ‘badge’ de la entrada.

Hoy en día, participar en un foro como éste, tener un blog o maltratar Twitter se suele emplear, desgraciadamente, para la fama personal. Es la filosofía de “yo soy muy bueno porque mucha gente me sigue a pesar de la cantidad de estupideces que digo”. No, esto no es así. Si de verdad quieres seguidores, deberías aplicarte la famosa frase: “Si quieres aprender algo, estúdialo. Si quieres saber mucho más, haz que te lo enseñen. Pero si quieres ser un experto, enséñalo”. Y yo añadiría: “y sin presumir”.

Gracias @daboblog y @oreixa, re-comiendo a todo el mundo que les siga en Twitter y en sus blogs con profusión, espíritu crítico y ganas de aprender. Yo lo hago, y me va muy bien.

Si quieres ser un experto… enseña sin presumir

Fernando de la Cuadra, director de Educación de Ontinet.com, distribuidor en exclusiva de las soluciones de seguridad de ESET en España

De vez en cuando, uno se puede encontrar con algunos visos de cordura en este mun-do que rodea a la seguridad

informática. Cuidado, no digo que puedas encontrarte con gente cuerda, pero sí que tengan episodios en los que sorprendan con actitudes realmente positivas, ingenio-sas y coherentes.

Desde hace tiempo, cuando un “ex-perto” en seguridad tiene que demostrar lo mucho que sabe, lo único que suele hacer es una gran demostración de lo fácil que es saltarse la protección de un determina-do servidor. He llegado a ver a grandes expertos (así se denominan) demostrando en directo cómo engañar a un teleoperador para conseguir que su línea de teléfono tenga ciertas ventajas. O peor aún, cómo ese gran charlatán que tanto sabe ataca un ordenador manejando infraestructuras críticas. Y el público, impresionado por lo mucho que sabe y lo peligroso que es un ordenador. Y si él lo hace con una central térmica, ¿qué no podrá hacer con mi hu-milde PC doméstico?

Hasta que he topado con dos de los grandes, y con mayúsculas, conocedores de la seguridad informática. Y además, ca-paces de enseñar lo que puede hacerse contra un servidor, y atacarlo, y romperlo, y de todo… incluso arreglarlo. ¿Y contra qué servidor? Contra el suyo propio. No contra el de un pobre ciudadano anónimo, sino contra sus propios sistemas.

Sí, durante el pasado ESET Foro Inter-net Meeting Point (www.internetmeetingpoint.net), celebrado en Gijón a primeros de julio, tuve el placer de compartir mesa de debate con David Hernández y con Óscar Reixa, responsables de www.daboblog.com y de www.reixa.net. Placeres ‘sídricos’ astu-rianos aparte, es de las pocas veces en las que dos auténticos profesionales muestran lo que es la seguridad de una manera clara, abierta y sin tapujos.