Comisión Europea respalda la adopción de software libre - IT-DOCS

Transcripción

Comisión Europea respalda la adopción de software libre - IT-DOCS
índice
En este número
novedades
soluciones para empresas
4
16
6
7
8
9
Noticias
José Alex Sandoval Morales
Josías Galván Reyes
Ubuntu
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 mercado PYME, a través del involucramiento del sector educativo, gobierno
y empresas.
Raúl Sanchez Martinez
Mandriva
Juan Gamez
Fedora
Diego Rivero Montes
linux en la educación
FreeBSD
22
Osvaldo R. Salazar S.
Computación Híbrida: Co-diseño
Hardware-Software
Lino 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 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.
2
Descubriendo Linux: ¿Qué debes saber si no
sabes nada?
Mª Dolores Nogueras, Antonio Gómez
hardware
10
Ejercicio de Creación de Oferta y Demanda del
Software Libre
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?
LiNUX+ 8/2010
índice
práctica
para principiantes
32
44
Virtualización con OpenVz
Carlos 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 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.
37
gPXE: Arranque de Sistemas Operativos en
Red con Software Libre
Milton Labanda
Grupos, usuariosy permisos en Linux
Sebastiá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
48
LocuLinux 2.0
Eduardo Arana
El 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.
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.
software
50
40
Introducción al software multimedia en Linux
Gabriel García
Hay 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.
opinión
Si quieres ser un experto…
enseña sin presumir
Fernando de la Cuadra, director de Educación de
Ontinet.com
De vez en cuando, uno se puede encontrar con algunos visos de cordura 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.
www.lpmagazine.org
3
NE WS
novedades
Noticias sección llevada por Alex Sandoval
Jolicloud 1.0 comienza a distribuírse a sus
usuarios
Finalmente después más de un año de desarrollo los creadores del sistema operativo especialmente 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 Jolicloud desde sus versiones preliminares serán los
primeros en recibir la muy anticipada actualizació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 nueva 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-existing-users-to-jolicloud-10-next-week/
Rackspace presenta OpenStack.org
El 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 largo anuncio en Rackspace Cloud dice que:
"Dado que no han emergido herramientas
estándares para construir nubes (computacionales) masivamente escalables, nosotros también debimos construir software
personalizado para crear un tipo de pared
alrededor de nuestras ofertas (de servicios).
Por meses debatimos cómo conducir mejores 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.0
Adobe es la primer gran empresa en sumarse 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 Source, entre ellos:
• Adobe Open Source Data Sets
• Extensible Metadata Platform (XMP)
• Flash-Ajax Video Component
• Flex SDK
• Open Source Media Framework
• Text Layout Framework
La 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
4
Comisión Europea respalda la adopción
de software libre
L
a 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 español, la cual nos muestra la importancia que se le está dando a la interoperabilidad en la administración pública, y la
visión que se tiene acerca del software
libre:
“Software libre ya no es una expresión malsonante. Antes lo era, una que
asustaba. Por ejemplo, en aplicaciones
de gobierno electrónico y administraciones públicas, software libre era algo para usar en casa, como un hobby. Nadie
se habría atrevido a usar una solución
software libre en una organización pública. ¿Quién nos ofrecerá soporte técnico,
y qué pasa si somos denunciados por infringir la propiedad intelectual de alguien
si usamos esto?
Éstos eran los tipos de problemas
que desalentaban a los dirigentes a seleccionar software por su mérito. Todavía no tenemos un campo de juego legal
completo, pero por suerte las actitudes
están cambiando.
Un ejemplo es el proyecto de la Comisión Europea OSOR. Este proyecto
conciencia y estimula la reutilización de
soluciones de software libre exitosas,
entre las administraciones públicas europeas. 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 software 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 departamentos de gobierno usándolo ahora como
componente. Y por lo que oigo, esos equipos 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
LiNUX+ 8/2010
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 grandes compañías declaran, orgullosas, que
no sólo están usando software software
libre, sino contribuyendo a él. Y eso significa 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 tiempo del software libre va a seguir creciendo. Es más, el software libre está apareciendo en todas partes: en productos de
consumo, en bases de datos, en software
de negocio, en juegos y como componente de servicios ofrecidos por Internet.
Y grandes iniciativas como NOiV de Holanda, "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 mucho para alentar esta tendencia. Un ejemplo 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 administraciones 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.
novedades
sección llevada por Alex Sandoval Noticias
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 para la interoperabilidad y los estándares,
y enfatizar el importante vínculo con la
responsabilidad pública. Eso puede cambiar 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 responsabilidad orgánica y compartida. Y quiero
construir un amplio movimiento para la
acción digital. En la Unión Europea podemos unir a la gente, ayudarles a superar
obstáculos, y ocasionalmente dar financiación para ayudar en investigación y desarrollo. Pero la diferencia real está hecha por la gente y las comunidades, como el movimiento de software libre.”
http://www.cdsl.cl/portal/content/
comisi%C3%B3n-europea-respaldala-adopci%C3%B3n-de-software-libre
Wikipedia, mejorando la calidad
con “Cambios Pendientes”
S
iempre que citamos a la Wikipedia
en alguna de nuestras conversaciones (y discusiones) diarias no falta la persona que tiende a desacreditar esa fuente argumentando que los artículos ahí
publicados pueden ser modificados por
cualquier persona y eso le resta credibilidad a lo que encontramos en el sitio.
En algunas ocasiones gente ha
modificado en la Wikipedia "biografías
de personas vivas" con rumores o incluso 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 encontrado 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á siendo probada en tan sólo algunos artículos 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 encargado de verlo, editarlo y/o aprobarlo.
Normalmente los cambios en la páginas se reflejaban inmediatamente para
todo el mundo.
La nueva función no se aplicaría
en todos los artículos, o por lo menos
no de momento. Wikipedia únicamente
seleccionaría algunos como “Artículos
Protegidos” ante cambios y éstos son los
que 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 "protegido" para los posibles cambios
2. Cualquier modificación realizada por
alguien deberá ser revisada por uno
de los miles de usuarios de confianza que han solicitado y obtenido este
permiso.
3. Cualquier edición realizada por uno
de los usuarios de confianza se marca 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 visibles hasta que alguien los haya revisado y -esperamos – se percate de
que es incorrecta o inapropiada.
Esta función nueva de “cambios pendientes” viene a ser la evolución natural
a nivel de protección de lo que ya vimos
en años pasados llamado “control editorial de los contenidos”.
http://www.cnewmark.com/2010/07/
wikipedia-pending-changes-a-newquality-improvement.html
www.lpmagazine.org
NE WS
Wine 1.2: llega el soporte
para aplicaciones de 64 bits
Hace 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 implementación del estándar XDG para las notificaciones del inicio de aplicaciones, el soporte 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-paraaplicaciones-de-64-bits
Google apuesta por las búsquedas
semánticas
Si 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 Metaweb, 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ón
de 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 que
por cualquier empresa que desee hacer
uso de ella.
http://www.fayerwayer.com/2010/07/
google-apuesta-por-las-busquedassemanticas/
5
novedades
Ubuntu sección llevada por Raúl Sanchez Martinez
Instalar Spotify en Ubuntu
Hace 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 nonfree. Guardamos y cerramos.
Actualizamos los repositorios: sudp aptget update. Añadimos una llave publica
escribiendo en la consola lo siguiente:
gpg --keyserver wwkeys.de.pgp.net
--recv-keys 4E9CFF4E
gpg --export 4E9CFF4E |sudo aptkey add -
Instalamos los paquetes necesarios:
sudo apt-get install
spotify-client-qt spotifyclient-gnome-support
Si os aparece algún error gconf2 sólo no
instaléis el paquete spotify-client-gnome-support y ya.
Instalar JDownloader en Ubuntu
JDownloader es uno de los mejores gestores
de descargas que podemos encontrar e incluye
por defecto soporte para varios sitios de descarga 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:jdteam/jdownloader
sudo apt-get update
sudo apt-get install jdownloader
Linux Mint 9 LXDE Edition
Ha 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, LXSession 0.4.3, y Xorg 1.7.5
Podéis ver todas las novedades de la versión
en este enlace: http://linuxmint.com/rel_isadora_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
6
Eliminar viejos Kernels en Ubuntu 10.04
U
na de las cosas que me traen de
cabeza desde hace un par de versiones 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 dicho como hacerlo, nunca me animé. Pués
hoy encontré como hacerlo de una forma
supersencilla en Jaypeeonline y es a través del gestor de paquetes Synaptic.
Primero tenemos que mirar cuál es el
kernel que tenemos en ese momento. Tecleamos 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 Synaptic). 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
que 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 Irving Prog, de “Hablemos de Linux y Más”
nos cuenta cómo hacerlo desde consola:
“Abrimos terminal, y tecleamos: dpkg
–get-selections | grep linux-image
Con el comando anterior aparecerán todos los kernels que se tienen
instalados. Ahora solo es cuestión de
desinstalar los más antiguos(se ordenan 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/bash
OLDCONF=$(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 ]; then
echo -e $RED”Error: must be root”
echo -e $YELLOW”Exiting…”$ENDCOLOR
exit 0
fi
echo -e $YELLOW”Cleaning apt cache…”$ENDCOLOR
aptitude clean
echo -e $YELLOW”Removing old config files…”$ENDCOLOR
sudo aptitude purge $OLDCONF
echo -e $YELLOW”Removing old kernels…”$ENDCOLOR
sudo aptitude purge $OLDKERNELS
echo -e $YELLOW”Emptying every trashes…”$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW”Emptying thumbnails…”$ENDCOLOR
rm -rf /home/jdiez/.thumbnails/normal/* &> /dev/null
echo -e $YELLOW”Script Finished!”$ENDCOLOR
LiNUX+ 8/2010
novedades
Mandriva
sección llevada por Juan Gamez
Mandriva 2010.1 Spring
Mandriva se reestructura
D
espués de algunos retrasos y de dos
Releases Candidates por fin el pasado 8 de julio Mandriva publicó su espera
da 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 GNOME y cuatro con KDE, cada una soportando 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 edició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 disponibles en los repositorios.
Entre las novedades de la distribución
tenemos mejoras en la cuenta de invitado como es un shell restringido, también
restricciones para el acceso de archivos
de usuarios y no acceso a la mayoría de
las herramientas de configuración de Mandriva.
Además tenemos la opción de utilizar
un password encriptado en GRUB y bloquear aplicaciones para ciertos usuarios
via drakguard.
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 solo lectura. Vintagre (cliente VNC) soporta
conexiones VNC sobre SSH. Tracker sustituye a Beagle como buscador de documentos. 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 encontramos con Qt 4.6.2, Amarok 2.3.1,
KTorrent 4.0.
Las aplicaciones de escritorio disponibles en Mandriva 2010.1, son como
siempre muy abundantes, solamente
por destacar algunas, nos podemos encontrar con los navegadores web Firefox 3.6.6, Chromium, Opera (en los
repositorios Non-free), la suite ofimática OpenOffice 3.2 y el editor web Bluefish 2.0.0. Además tenemos un buen número de aplicaciones científicas y educacionales 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áfico
nos 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 merecido
la pena. Nos encontramos con una de
las mejores versiones de Mandriva en
cuanto a su rapidez y estabilidad. Además de una cantidad de software cada
vez más variada y abundante. ¡¡¡A actualizarse tocan!!!
www.lpmagazine.org
Mandriva ha publicado una nota de prensa
donde se mantiene el compromiso con el
Open Source pero ante una situación económica delicada ha optado por la siguiente
estrategia: Mandriva Linux será distribuida
exclusivamente mediante ventas por red integrada 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 fondos 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 junta 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-toestablish-european-leadership
Dinero ruso para Mandriva
Hemos 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 mundo
El 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 entre 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 videoconferencias y conexión wifi. Además, su hardware 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 multimedia 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 estudiantes para leer o escribir.
7
novedades
Fedora sección llevada por Diego Rivero Montes
Shotwell 0.6.1
Ha sido liberada la versión 0.6.1 de Shotwell. 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, visualizarlas 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 directamente desde los metadatos tipo XMP
e IPTC.
• Muchos de los bugs de las versiones
anteriores han sido solucionados y corregidos.
• El soporte de idiomas ha sido mejorado.
Red Hat Enterprise Linux 6.0 Beta2
Red Hat como casa líder en el mundo de
Linux, dando soluciones de código abierto
tanto a nivel de gerencia, desarrollo, infraestructura 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 problemas 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-i386DVD1.iso (3,500MB, SHA256, torrent),
RHEL6.0-Workstation-x86_64-DVD1.iso
(3,997MB, SHA256, torrent), RHEL6.0-Server-i386-DVD1.iso (3,507MB, SHA256,
torrent), RHEL6.0-Server-x86_64DVD1.iso (4,005MB, SHA256, torrent).
8
Televisión en Fedora
A
todos se nos ha pasado por la cabeza ver la televisión en nuestro ordenador 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 entorno de escritorio concreto, además la tecnologí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:
MEEGO
S
e trata de una fusión. Es la unión de
los sistemas operativos Maemo y Moblin de Nokia e Intel respectivamente
y con el que pretenden competir con el Android de Google y además auspiciado por
la Linux Foundation. En un primer momento estuvo disponible en sus repositorios
públicos la imagen para descarga libre sin
interfaz 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 pequeñ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.
FUDcon 2010
E
l significado de este acrónimo es
Fedora Users and Developers Conference, 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 presencia de Jared Smith Líder mundial de
Fedora el cual se hizo cargo del proyecto
después de Paul Frields.
LiNUX+ 8/2010
•
•
•
•
•
•
•
•
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 pulldown 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 podremos deleitarnos con la “mejor televisió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.
Pensado para ser accesible, en un
momento es posible acceder a cualquiera
de las aplicaciones, navegación por internet, 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 contienen 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 denominada Laughlin, pero para aquellos que
no puedan esperar también es posible si
habilitamos los repositorios rawhide y luego tecleamos en una consola después de
logearnos como root “yum install meegonetbook”, por supuesto sin las comillas.
La facultad de Ciencias Físicas y Matemáticas de la Universidad Central acoge 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 contribuyentes de Fedora.
novedades
BSD
sección llevada por Osvaldo R. Salazar S.
FreeBSD está en Griego
Disponible FreeBSD 8.1-RC2
L
a 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 combinar algunos archivos de configuración # freebsd-update install
o preguntar que se realice de manera auto- # shutdown -r now
mática ejecutando combinaciones que
serían ejecutadas correctamente.
Si alguién es usuario de versiones recientes (FreeBSD 7.x) puede usar freebsd# freebsd-update install
update para actualizar a FreeBSD 8.1RC2, pero se deben de reconstruir las
El sistema debe de reiniciarse con e nue- aplicaciones de terceros.
vo kernel antes de continuar.
Aquí teníamos una reparación relacionada con Atheros AR9280 siendo
# shutdown -r now
detectada incorrectamente, haciendo
que no trabajara. Si alguno de los lecDespués de reiniciar, freebsd-update ne- tores tiene problemas con la tarjeta de
cesita ejecutar nuevamente install y de- vídeo que antes trabajaba, ahora tenespués de eso, el sistema debe de ser re- mos una mayor razón para usar Freeiniciado nuevamente.
BSD 8.1-RC2.
Avisos de seguridad
L
a notificación FreeBSD-SA-10:07.
mbuf afecta a FreeBSD en sus versiones 7.x y anteriores a mbuf. mbuf es una
unidad básica de memoria administrada
en el kernel de FreeBSD, en el subsistema 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 referidos de manera externa. La llamada de sistema, sendfile, usa almacenaje en mbuf
para mapear directamente el contenido a
un archivo dentro de una cadena de mbufs 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-
cia del buffer mbuf es duplicada. Cuando
la llamada de sistema sendfile es usada
para transmitir datos a través de la interface loopback, esto puede resultar en la
transmisión de archivos modificados, causando de esta manera la corrupción.
Para solucionarlo se debe de actualizar a una de las siguientes versiones: 7STABLE, 8-STABLE, RELENG_8_1, RELENG_8_0, RELENG_7_3 o RELENG_
7_1. También se puede solucionar aplicando 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.
www.lpmagazine.org
La 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 observar 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 cosas, “... escrito, reescrito, corregido, desensamblado, reconstruido, castigado, revigorizado...” 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 Keramidas o bien mandando un e-mail a la lista.
La lista de correo la encontraremos en griego, pero lo podemos recibir también en inglés.
BSD Fund Visa
Cada 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 recibiendo 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 atención a los pingüinos durante el proceso!
Nuevo core team para FreeBSD
El 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, designar a subcomités para propósitos específicos (seguridad, ingeniería del lanzamiento,
encargado de ports, webmaster, etcétera),
y tomar decisiones administrativas o políticas, 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!
9
hardware
Computación Híbrida
Computación Híbrida:
Co-diseño Hardware-Software
Lino García Morales
[email protected]
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 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.
10
E
n este caso damos por hecho que la hibridació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 desarrollaron para complementar la flexibilidad de las
computadoras digitales con la velocidad de las computadoras 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 consideramos. Se requieren muy diversas interfaces para capturar 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é puedo 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 habitualmente estará en función de un conjunto de variables
en relación de compromiso como coste, rendimiento, prestaciones, velocidad, tamaño, etc.
Un ejemplo que pone de manifiesto una contradicción de la computación híbrida es la actual guerra
de Apple y Adobe en torno al desarrollo de aplicaciones 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
LiNUX+ 8/2010
Toda verdad pasa por tres etapas. Primero, es ridiculizada. Segundo, es violentamente rechazada. Tercero, es aceptada como evidente.
Arthur Schopenhauer
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 alternativas para el ecosistema de Apple: "La era móvil
va de dispositivos de baja potencia, pantallas táctiles
y estándares abiertos para la web, todas ellas áreas
donde Flash se queda corto". Y es que Flash, el producto 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 coprocesador 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 ordenadores a nivel mundial y presente en más de 800 millones 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 Universal y Time Warner se posicionan a favor de Adobe
hardware
Computación Híbrida
y comunican que no tienen intención de convertir sus colecciones 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 sistemas eficientes, con la toma de decisiones acerca de computación HW/SW, con los criterios que condicionan las respuestas. Un sistema híbrido consiste de hardware (ya sea analógico, 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 sistema complejo a medida que combina todos los recursos que
necesita para obtener el mejor rendimiento, prestaciones, seguridad, robustez, etc. En este sentido se puede pensar en un
sistema integrado, multiprocesador (que involucra microcontroladores, 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 “programan” para realizar determinadas funciones.
Ingeniería de Sistemas
Según la Wikipedia (http://es.wikipedia.org/wiki/Ingeniería_de_
sistemas) “Ingeniería de sistemas es un modo de enfoque interdisciplinario que permite estudiar y comprender la realidad,
con el propósito de implementar u optimizar sistemas complejos. 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 podrí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 tradicionales, consiste en que la ingeniería de sistemas no construye
productos tangibles. Mientras que los ingenieros civiles podrí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 interrelación transdisciplinaria, la ingeniería del hardware (término
poco consolidado) agrupa un conjunto de áreas del conocimiento como electrónica, circuitos (analógicos y digitales),
arquitecturas de procesamiento, etc., mientras que la inge-
Figura 1.La guerra Apple-Adobe no ha hecho más que comenzar
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 abstracció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 manera 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-específico (“hardware”), coprocesadores o aceleradores; de procesadores de propósito general (“software”); de procesadores
de conjunto de instrucciones específicos a aplicación (ASIP,
Application-Specific Instruction-Set Processor) y diserta acerca de modelos de computación avanzada, sistemas de control, tecnologías de dispositivos electrónicos y herramientas de
diseño modernas. Hardware y Software, simplemente, ya no
pueden ser considerados independientemente sino de manera híbrida y unificada. La ingeniería de sistemas, como paradigma 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 dispositivo (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 que
procese, en paralelo, cantidades enormes de datos. El rendimiento 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 un
sistema, 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 cualquier detalle de implementación.
Exploración. Exploración de alternativas de diseño y estimación de su calidad hasta encontrar la más adecuada.
Figura 2. Proceso de co-diseño típico
www.lpmagazine.org
11
hardware
Computación Híbrida
•
•
•
Especificación. Definición de la especificación en una
nueva descripción que refleje las decisiones hechas durante la exploración.
Software y Hardware. Implementación de cada uno de los
componentes utilizando técnicas de diseño software y hardware 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 productividad, preservación de la consistencia a través de todos los niveles y por lo tanto la eliminación de iteraciones innecesarias
lo 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 descompone 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 estados y un conjunto de arcos que indican transición del sistema de un estado a otro como resultado de determinado
evento.
Procesos secuencialmente comunicados (CSP, Communicating 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 Machine). Este modelo combina FSM y CSP; permite que cada
estado de un FSM concurrente contenga acciones descritas por instrucciones de programa.
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 permiten 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 combinaciones 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 (quemando fusibles o mediante conmutadores programables) mediante 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 nobloqueo (<=); 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 representó 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 especificación con características similares a los lenguajes de
programación ampliamente usados en el desarrollo de sistemas. Verilog tiene una sintaxis similar a la de C: es sensible
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, Lenguajes
Es obvio que, independientemente de si se trata de hardware
o software, es posible describir los procesos, datos y flujos
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, rendimiento, tamaño y coste (a gran escala), etc.
12
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
LiNUX+ 8/2010
��������
����������
hardware
Computación Híbrida
IPv6
RUNNING
www.lpmagazine.org
13
hardware
Computació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 requiere 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 sistemas a nivel de comportamiento. “SystemC es un conjunto
de librerías y macros implementadas en C++ que hacen posible 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 implementació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 dominios HW/SW.
Partición
La partición es el proceso que decide, para cada subsistema,
cómo es más ventajoso implementar la funcionalidad requerida: por hardware o por software. Este es un problema de optimizació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 codiseño, se denomina frecuentemente partición funcional.
Existen dos enfoques básicos de división. O bien comenzar 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 algunas a software. Un programa de división funcional identifica
los cuellos de botella de cómputo y migra las funciones correspondientes 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 (especificado 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 embargo, en las particiones estructurales, la funcionalidad no se puede
mover desde el hardware hacia el software. El particionado de
14
objetos funcionales entre los componentes del sistema se realiza: 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 sistema 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 descripció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 ejecución de una determinada tarea en un procesador específico,
son imposibles de medir con precisión hasta alcanzar la aplicación definitiva. Algunas de estas técnicas son: de estimación
determinística (sólo útil cuando se parte de un modelo completamente 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 implementadas por hardware). El proceso de seleccionar los componentes 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 introduce determinada sobrecarga que debe ser considerada.
Cuando es posible una implementación de todos los componentes del sistema sólo con procesadores de propósitos
generales (ya sean microcontroladores, microprocesadores
o 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 especí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 perfectamente (en términos de métrica) para conseguir el objetivo
deseado. Este “encaje” pasa por unas interfaces de comunicació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
}
};
LiNUX+ 8/2010
hardware
Computación Híbrida
Conclusiones
El co-diseño HW/SW es muy útil en la búsqueda de soluciones
a medida, prototipado rápido, simulación, sistemas con determinados 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 cualquier implementación.
Por último suponga que combinando estrategias automáticas y manuales (en la Figura 5, por ejemplo, sólo se considera la división HW/SW automática) pueda decir qué y cómo
hacer por hardware o por software y cómo comunicarlas entre sí. Finalmente obtendrá un sistema híbrido óptimo, susceptible de futuras implementaciones, definido en términos
no perecederos, en definitiva: un sistema eficaz resistente
a la obsolescencia tecnológica capaz de absorber la tecnologí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 todas partes. El uso de meta-lenguajes no es casi nunca bien
recibido por la comunidad de programadores que lo considera 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 tecnologías y estrategias propietarias. Jobs reclama “baja potencia, 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 implementación en VHDL de un procesador de 32 bits compatible con el
juego de instrucciones Sparc V8, desarrollado para la Agencia Espacial Europea y mantenido en la actualidad por Gaisler Research; http://www.gaisler.com/cms/), de código abierto, 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 violentamente y aceptando como evidente toda verdad.
Sobre el autor
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 profesor en el Instituto Superior de Arte de La Habana, la Universidad 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, Ciencia, Tecnología y Sociedad. Ha disfrutado de Becas por la
Agencia Española de Cooperación Internacional, FUNDESCO, el Consejo Superior de Investigaciones Científicas (CSIC)
y la Universidad Politécnica de Madrid.
En la red
•
Figura 5. Co-compilador Software-Configware. Configware significa programació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/
www.lpmagazine.org
15
soluciones para empresas
Software Libre en la PYME
Ejercicio de Creación
de Oferta y Demanda
del Software Libre
Josías Galván Reyes
[email protected]
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 mercado PYME, a través del involucramiento del sector educativo, gobierno
y empresas.
P
ara 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 necesidades 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 administración pública asociados a la infraestructura TI,
y egresos que normalmente se pagan a corporativos extranjeros.
Sector Privado: utilizar plataformas tecnológicas
sustentables y económicas que brinden a las
empresas el apoyo tecnológico para fomentar el
crecimiento.
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 capacitació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 tradicionales del llamado Software Privativo (software
que no es Software Libre, conocido también como
Software Comercial). Queda fuera del alcance de este 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:
•
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 actividad, como por ejemplo llevar la agenda, la contabilidad, 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
16
LiNUX+ 8/2010
"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 candidato viable para ser el soporte tecnológico de las empresas en crecimiento. Veamos la siguiente gráfica (Figura 1).
soluciones para empresas
Software Libre en la PYME
Empresa sin tecnología
En 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 trabajos de manera manual.
Empresa con software ilegal
Muchas 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 empresas permanecen en este modelo.
Ver “Seis de cada 10 computadoras en México tienen software pirata” (La Jornada http://www.jornada.unam.mx/2010/
05/12/index.php?section=economia&article=030n2eco)
Empresa con software legal
Otras 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 casos, 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 libre
Este es el escenario ideal, al que se pretende llevar a las empresas. 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 alternativa al software pirata o ilegal, nos hace reflexionar en el
impacto que el uso de software ilegal tiene para nuestra sociedad, 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 millones
por 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 materia, 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 económicas, se aplican mayormente al recurso humano de nuestras 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.
PUBLICIDAD
www.lpmagazine.org
17
soluciones para empresas
Software 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, proyectos (PMIS), etc.
Llevar la contabilidad de la empresa y la personal.
Integrar los procesos de control de materiales y/o empresariales (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 necesidades (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 empresas, y sus beneficios se muestren en las economías regionales. 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.
Tabla 1. Las libertades que ofrece el Software Libre
Libertad
Descripción
0
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.
Este documento surge para apoyar, en términos sociales y estratégicos, la evolución del Software Libre en nuestra región, a
través de pasos concretos para activar un mercado empresarial, en donde se construya demanda y oferta.
Objetivo del Ejercicio de Activación
Establecer 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, económicos y sociales.
Generación de Oferta
Cada vez somos más, los que estamos convencidos de que la
educación y la formación de profesionales con conciencia humana, es la llave para el desarrollo de nuestras comunidades,
de ahí que para este ejercicio, el sector educativo es el principal 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 posibilidades 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 universidades 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 general de la región. La Generación de la Oferta, se lleva a través
de las siguientes fases:
Fase 1. Formación
La 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 Especializadas 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 Comunidades 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:
•
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
18
LiNUX+ 8/2010
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 Formación para iniciar al Grupo de Usuarios y/o Comunidades Especializadas.
– Como vínculo entre los Profesionales TI y la Universidad, así como representante ante otras universidades
y/o sector empresarial.
soluciones para empresas
Software Libre en la PYME
����������������
������������
����������
����������������������
����������������������������������������������������
�������������������������������������������������������������������������
����������������������������������������������������������������������������
�����������������������������������������������������������������������
����������������������������������������������������������������������������
����������������������������������������������������������������������
�����������������������������������������������������������������������
�����������
www.lpmagazine.org
���������������������������
����������������������������
����������������������������������������
����������������������������������� 19
soluciones para empresas
Software Libre en la PYME
–
•
Dar seguimiento al Grupo de Usuarios y/o Comunidad
Especializada, como organización estudiantil, apoyando 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ón
La fase de difusión inicia cuando el Grupo de Usuarios y/o
Comunidades Especializadas alcancen un grado de madurez (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 departamentos 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:
•
•
•
•
•
•
20
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, laboratorios, 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: Emprendedores, Secretarías, Contadores, Administradores, Oficinistas, etc.)
Se busca que la aplicación de los conocimientos adquiridos se lleve a cabo a través de “Clínicas Empresariales”
o “Laboratorios” donde se realicen proyectos TI, previamente 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 formales (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 desarrollen 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 conocimientos (Ej. Concursos de Programación), etc.
Fase 3. Certificación
Actualmente, el conocimiento de muchas herramientas y tecnologí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 participar 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 entidades 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, evaluación y certificación de las capacidades de los Profesionales TI de la región.
Certificar a la población de Grupos de Usuarios y/o Comunidades Especializadas
Generación de Demanda
Para balancear la ecuación, y gestar los escenarios para que
la oferta generada por las instituciones educativas, sea consumida 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 directores, 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 empresas, 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 Profesionales 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”
LiNUX+ 8/2010
soluciones para empresas
Software Libre en la PYME
Promoción del Uso de la Tecnología
en las PYMES
•
Los 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 representa un gran reto, debido a los “paradigmas y las costumbres 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 conferencias, pláticas o talleres, en las que se presente las herramientas 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 servicios para el sector empresarial a través de “Clínicas Empresariales” 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 Herramientas.
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).
Acciones Principales para
el Sector Gobierno
•
•
Un actor fundamental en la utilización del Software Libre es el
Gobierno, ya que su aprobación o desaprobación moral, será determinante en la viabilidad que como conjunto social, los empresarios de la región decidan sobre este tema para sus empresas.
No es una cuestión de “venderle al gobierno”, es una cuestió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 Gubernamental de TI en Licenciamiento de Software.
Usar Software Libre en la Administración Pública:
– Establecer mesas de trabajo con el Personal TI de Gobierno, para determinar la factibilidad operativa, técnica 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 correspondientes para la generación de un Plan Maestro
de Integración, que contemple todas las tareas necesarias para que el Gobierno utilice Software Libre en
todas sus oficinas.
Crear campañas de asistencia a PYMES para actualización tecnológica en herramientas de Software Libre:
– El gobierno puede crear un fondo/subsidio para capacitación en nuevas herramientas, tanto para los usuarios finales como para Profesionales TI.
Finalmente, el ejercicio de generación de la demanda complementa 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 impacto 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 Instituciones Educativas tienen un gran reto y oportunidad en el
mercado.
Siguientes Pasos
El siguiente paso es el primer gran reto a enfrentar, y recaerá
en la responsabilidad social del lector del presente documento. Aquí algunas preguntas de reflexión:
•
•
•
Promoción del Uso de Software Libre en
el Gobierno
•
•
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 Capacitación, Nuevos Programas de Educación Continua, etc.).
•
•
•
¿Realmente crearía un impacto positivo el Software Libre
en mi comunidad?,
¿Qué puedo hacer yo para empezar a realizar las acciones propuestas?,
¿Tengo conocidos en el sector educación, gobierno o empresas, que puedan interesarse y empezar a construir el
cambio?,
¿Puedo financiar la realización de estos trabajos en términos de promoción, capacitación, publicaciones, materiales, infraestructura, etc.?,
¿Puedo ser yo un promotor que se acerque a las universidades para promover estos trabajos?,
¿Tengo ideas que puedan complementar este proyecto?
El Software Libre tiene un gran reto social, requiere de personas que se atrevan a pensar diferente y que se comprometan
con el desarrollo de sus regiones.
www.lpmagazine.org
21
linux en la educación
Descubriendo Linux: ¿Qué debes saber si no sabes nada?
Descubriendo Linux:
¿Qué debes saber si no sabes nada?
Mª Dolores Nogueras y Antonio Gómez
[email protected]
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?
22
C
uando 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 inconsciencia 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 entornos 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), normalmente, exigiría como medida extrema un simple formateo 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 introducción. El caso es que cuando me empecé a interesar
por Linux, hará ya unos cinco o seis años, me encontré
LiNUX+ 8/2010
con miríadas de información. Ése es uno de sus principales 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
Figura 1. Un sistema operativo opera en una capa intermedia
entre las aplicaciones controladas por el usuario (software) y el
equipo (hardware). Fuente: Wikipedia
linux en la educación
Descubriendo 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 problema 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í podríamos decir que sabemos, al menos, por donde empezar en este
mundillo, así como ayudar a introducirse en él a compañeros profesores 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 normalmente 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.
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 ordenador 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 descubrimos el mundo del software libre; eso sí, aún nos estamos riendo del
fiasco Windows Vista). Hoy en día, aunque de un modo desesperantemente 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: conjunClarificando conceptos:
to de programas complementarios al núcleo de Linux, que suelen
El sistema operativo
incluir, como mínimo, un sistema de escritorio que suponga una
Empecemos por el principio. ¿Qué es un sistema operativo? ¿Lo te- interfaz gráfica; un procesador de textos, un explorador de archivos,
nemos claro? ¿Estamos transmitiendo a los alumnos este concepto y un programa navegador de Internet. También suele ser común inde forma correcta?
cluir una consola o terminal, que permita al usuario más experto un
En un principio, un sistema operativo es software. Es el primer trabajo a más bajo nivel con el ordenador, así como algún sistema
programa que se carga en el ordenador, y su misión es actuar como de ayuda y/o documentación con toda la información relativa al
intermediario (interfaz) entre el software que utiliza el usuario y el software incluido.
hardware que compone el equipo. Explicado así, el sistema operativo no abarca todas las herramientas que esperamos encontrar Algo de historia.
cuando lo instalamos en nuestro PC. Estamos acostumbrados a ¿De dónde proviene GNU/Linux?
esperar que un sistema operativo (como los denostados WINDOWS Efectivamente. Una duda común a todos los aficionados que se
de Microsoft) incluya otras herramientas: un procesador de textos inician en este mundo da vueltas al origen de esta forma de softsencillo, un visualizador de imágenes, un explorador de archivos, ware. ¿Software libre siempre quiere decir gratis? ¿Puede haber
etc., integrados, además, en una aplicación gráfica (lo que denomi- profesionales que se dediquen a esto sin retribución alguna? ¿De
namos comúnmente un escritorio) que permite la interacción del qué viven entonces? ¿O quizás estamos hablando del nada confiable
usuario con el ordenador de manera sencilla, ratón mediante. Sin 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 herramientas GNU al concebir un núcleo compatible con ellas y licenciarlo como
software libre
www.lpmagazine.org
23
linux en la educación
Descubriendo 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 ordenadores no estaban, desde luego, diseñados para su uso por parte de gente 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 Tecnologías de la Información (concepto que ni siquiera existía como
tal). Había un mismo equipo para decenas de programadores y trabajadores, 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 ordenador doméstico a disposición de un usuario con pocos conocimientos 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. Nacido 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 hemos llegado a esta situación?. Sigamos nuestro repaso histórico...
Stallman trabajaba en el MIT (Masachussets Institute Technology) 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 toda 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 Laboratorio por sus propios productos comerciales (esto es, de pago).
Figura 4. Gparted nos ayuda a organizar nuestros discos duros en particiones con distintos formatos. En la imagen, en el disco duro calificado como
sdb, hay cuatro particiones, en este caso, todas para Windows
24
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 palabras, 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 totalmente 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 repiten las funciones del sistema operativo UNIX. Actualmente destacan, entre dichas herramientas, el compilador para lenguaje C gcc,
el terminal de consola BASH, el procesador de textos Emacs o el
famoso 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 interesado 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 adoptaba 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 deduzca 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 deberí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 5. Podemos modificar de modo sencillo los permisos de un archivo
desde la pestaña Propiedades del escritorio
LiNUX+ 8/2010
linux en la educación
Descubriendo 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 conlleva una obligada relación software libre-gratuidad de la aplicació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 colaboració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 software libre. Hay varias compañías multinacionales que impulsan y
desarrollan proyectos Open Source de distintos calados y características. 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 imprescindible, 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 obtiene, no de la venta de la aplicación informática, sino de servicios 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
Figura 6. Compiz en Gnome proporciona efectos de escritorio espectaculares que nada tienen que envidiar a otras aplicaciones similares
•
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ísticas
de un sistema operativo GNU/Linux
Hemos presentado, hasta aquí, la filosofía de base del movimiento
en torno al software libre. Pero lo que realmente interesa al aficionado 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 (cientos) 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 complementarias 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 indiferente 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 consiga a través de los repositorios o de la red, el conjunto de aplicaciones 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 cambiarlo 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 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
www.lpmagazine.org
25
linux en la educación
Descubriendo 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 correspondientes permisos de lectura/escritura, y a continuación pasaremos a analizar los dos escritorios más populares (al menos para nosotros):
KDE y GNOME. Analizaremos el sistema de instalación de aplicaciones 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 operativo
Hablaremos 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 mencionados, 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 archivos 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-
Figura 8. En todos los sistemas operativos GNU/Linux podemos añadir
nuevas direcciones de repositorios
26
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, Permisos
Como 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 informació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 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
LiNUX+ 8/2010
linux en la educación
Descubriendo Linux: ¿Qué debes saber si no sabes nada?
relativos a aplicaciones del usuario, documentación, etc. En
Fuera del root, en GNU/Linux se consideran tres tipos de idenfin, todo lo que no es encuadrable en el resto de carpetas,
tificación de usuario:
• /var: en esta carpeta se aloja información de tipo variable: diarios o logs de sistema, cuentas de correo, sitios web alojados • Propietario del archivo o carpeta,
en un servidor dentro del ordenador, etc.
• Grupo de usuarios al que pertenece el propietario,
• Otros usuarios no enmarcados en los grupos anteriores.
El sentido de esta organización es el de tener asignado un lugar
específico para cada tipo de archivo. En consecuencia, aunque un Cada uno de los cuales puede tener, o no, permiso para:
usuario, sea gráficamente o a través de consola, pueda acceder a
otras carpetas aparte de la que corresponde realmente a su cuenta • Leer el archivo,
(/home/nombredeusuario/), no podrá estropear nada accidental- • Escribir o borrar el archivo,
mente o a propósito, puesto que sólo el usuario con permisos de • Ejecutar el archivo.
superusuario o administrador (el consabido root) tendrá atribuciones para modificar archivos en las carpetas. Además, siempre se Cada archivo tiene asignado un permiso de lectura/escritura/
le solicitará la introducción de su contraseña de superusuario, lo ejecución para cada uno de los tipos de usuario antes mencionado,
que añade un grado más de seguridad a dicho sistema de archivos. según esta terminología numérica: 0 para ningún tipo de permiso,
En otro orden de cosas, el avispado lector puede empezar a ima- 1 para lectura, 2 para escritura, y 4 para ejecución. Según los perginar ya la dificultad de intentar introducir malware o software misos que se asignen a cada tipo de usuario, que se suman entre sí,
malicioso en un ordenador organizado de este modo. Aquí, un tendremos una tríada que oscilará entre 000 y 777.
virus tiene mucho más difícil el instalarse por su cuenta oculto
Comprendemos que es un concepto algo difícil al principio;
en el seno de otro programa, entre otras razones, que luego se por eso queremos ilustrarlo con un ejemplo. Supongamos que teneverán, porque se vería obligado a denunciarse a sí mismo al pedir mos dos grupos de usuarios asignados en un PC con kernel Linux:
al usuario la contraseña de administrador para obtener permiso de profesores y alumnos. En el primer grupo, tenemos los usuarios
instalación. De todos modos, y como se verá después, la filoso- profesor1 y profesor2. En el segundo grupo, tenemos los usuarios
fía de trabajo a la hora de instalar nuevo software también varía alumno1 y alumno2. Imaginemos que el usuario profesor1 es
bastante. Eso sí, ¡cuidado!. No pretendemos decir con esto que poseedor del archivo examenhistoria.txt, en su carpeta de cuenta
GNU/Linux sea invulnerable a ataques malintencionados, porque /home/profesor1. Por otro lado, el usuario alumno1 es el propiela vulnerabilidad siempre está sujeta a las reacciones del propio tario del archivo ejecutable chuletasparaexamen.sh, en su carpeta
usuario. Sí podemos afirmar que será un sistema estable, que bien /home/alumno1.
utilizado, dificultará muchísimo el acceso externo por parte de
En un principio, el archivo examenhistoria.txt tiene los perpersonas no autorizadas a nuestro equipo.
misos 710. ¿Qué permisos tendrán los otros usuarios sobre dicho
Hablemos ahora de los permisos de usuario. En GNU/Linux, archivo? Analicémoslo. Según lo expuesto, el sistema numérico
sólo un usuario tiene atribuciones de lectura y escritura sobre las indica los permisos, por orden, para el propietario, para el grupo,
carpetas y archivos fuera de la carpeta de su propia cuenta en /ho- y para otros usuarios. Por lo tanto:
me: el administrador o superusuario, denominado root. Cualquier
intento de creación, modificación o borrado de un archivo, así • El propietario, profesor1, tiene asignado el número 7, que cocomo de instalación de nuevo software, exigirá la introducción
rresponde a los permisos sumados 1+2+4. Esto es, profesor1
previa de la contraseña de superusuario. A nivel de consola,
tiene permisos de lectura, escritura y ejecución (aunque el
cualquier comando que suponga trabajar a este nivel, deberá
archivo es de texto, no es un ejecutable en este ejemplo) sobre
ser precedido del término sudo, que indica que la orden tecleada
examenhistoria.txt
corresponde a un superusuario que espera se le pida el password
para identificarse.
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
www.lpmagazine.org
27
linux en la educación
Descubriendo 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.
El sistema de trabajo por menús de todos los escritorios, salvando 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 ejemplos de entornos de escritorio son:
•
KDE y GNOME (ampliamente mencionados desde el principio del artículo),
Window Maker,
Ice Wm,
Blackbox,
Flushbox.
•
•
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:
Tradicionalmente, se ha sostenido que KDE es gráficamente más
rico y vistoso que Gnome, además de otorgar muchas más posibi• El propietario, alumno1, tiene el permiso 5, como resultado lidades de configuración al usuario, si bien exige más recursos al
de sumar 4+1. Esto es, alumno1 puede ejecutar este archivo, sistema, y Gnome es mucho más estable. En la actualidad, aplicaasí como leerlo para poder analizar su estructura de progra- ciones como Compiz añadidas al software original, mejora la apamación.
riencia gráfica y acerca visualmente ambos escritorios.
• Los otros usuarios del mismo grupo alumnos, alumno2 en este
caso, tendrán el permiso 4. Esto es, alumno2 también podrá Instalación de nuevo software,
generar “apuntes de apoyo”, si bien no podrá leer ni mucho Filosofía de los repositorios,
menos modificar dicho archivo.
Gestión de paquetes,
• Curiosamente (y a efectos ilustrativos de nuestro ejemplo), el Synaptic y Rpmdrake
permiso asignado a otros usuarios es 1, que correspondería a la La instalación de nuevo software en un S.O. GNU/Linux centra
lectura del archivo para un posible análisis, aunque no parezca su base en la utilización de los repositorios. Un repositorio viene
lógico darle un permiso que no tienen los usuarios del mismo a ser un sitio con una dirección web determinada donde se almacena
grupo que el propietario.
y mantiene información digital, normalmente en forma de archivos
informáticos.
Gráficamente, (usando escritorios como Gnome o Kde), podemos
Cuando nuestro ordenador está equipado con un sistema opever y, si somos propietarios, modificar estos permisos mediante rativo libre, dispone de una lista de direcciones de repositorios,
el ya familiar proceso de hacer clic derecho–>Propiedades–> normalmente en el archivo /etc/apt/sources.list (el lector puede
Hacer clic en la pestaña Permisos. Si trabajamos a través de ter- consultarlo, si bien no modificarlo directamente, a causa del esminal, el comando utilizado es chmod (ejemplo: chmod 777 chuleta- tablecimiento de permisos de archivo mencionado en anteriores
sparaexamen.sh dará todos los permisos a todos los usuarios, si apartados).
nos hemos identificado como alumno1. Si no somos tal usuario,
El sistema de repositorios utilizado en GNU/Linux permite la
se nos dará un mensaje de error).
instalación de nuevo software mediante la gestión de paquetes. Según esta definición, un paquete consistiría en un conjunto de softEntornos de escritorio
ware, normalmente encapsulado en un único fichero, que incluiría
Las distribuciones GNU/Linux actuales cuentan con un sistema información adicional como el nombre completo, la identificación
gráfico que permite al usuario un manejo amigable, fácil e intui- del distribuidor, una descripción de sus funciones, y sobre todo, la
tivo del ordenador. Con base en el software gráfico X Window relación de otros paquetes que se requieren para el correcto funcioSystem, orientado a Unix, y que va en la actualidad por la ver- namiento del software en cuestión. Lo que nos lleva al concepto
sión X11, los entornos de escritorio cuentan con un sistema de de dependencia. En GNU/Linux, como en cualquier otro sistema
ventanas de idéntico (prácticamente) funcionamiento a los S.O. operativo, si nos hace falta un software determinado para conseWindows y MAC OS (minimizado, maximizado, cierre de ven- guir que otro funcione, y no lo tenemos instalado, lógicamente no
tanas, menús desplegables, teclas de atajo de teclado, fondos de funcionará. Pero si en el paquete que estamos instalando se hace
escritorio, colores, etc.).
una referencia a dicho software del que dependemos, es posible
Muy interesante resulta recalcar que, a diferencia de los otros que el propio proceso de instalación localice, descargue (cuando
sistemas operativos no libres, queda en manos del usuario elegir hablamos de Internet, un 90% de las veces) e instale esos paquetes
qué entorno de escritorio desea utilizar. Si no queda satisfecho con complementarios.
el que viene por defecto con la distribución elegida (por ejemplo,
De este modo, el usuario no necesita saber nada sobre métodos
Gnome para Ubuntu, o KDE para Mandriva), puede utilizar el siste- de instalación, localizar el archivo dentro del conjunto que inicia
ma de repositorios (en próximos apartados se explica) para instalar el proceso, decidir la carpeta donde se guardará el programa... El
otro u otros de su agrado. Puede incluso mantener en convivencia propio sistema operativo, una vez se le ha indicado el software
más de un entorno, eligiendo cuál le apetece usar en cada inicio de que se desea, buscará en su base de datos el nombre del paquete,
sesión de usuario.
localizará el repositorio donde se localiza dicho paquete, lo descar-
28
LiNUX+ 8/2010
linux en la educación
Descubriendo 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 operativo 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 sistemas 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 modificando 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 posibilidad se encuentra en Sistema->Administración->Orígenes del
software.
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 paquetes; por ejemplo, Synaptic en Gnome, Rpmdrake para Mandriva
o Yast en OpenSuse.
Naturalmente, estas aplicaciones gráficas son implementaciones 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 informando 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 instalar, 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 cualquier 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 proporciona 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 encuentra en el menú de Gnome Aplicaciones->Centro de software
de Ubuntu.
El terminal de consola BASH
Como decíamos anteriormente, la consola suele ser la “bestia negra” 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 realizar 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 instalar otro de su preferencia con iguales o parecidas atribuciones;
en todo este texto estamos remarcando las casi infinitas posibilidades 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érminos separados entre sí por el símbolo @:
antonio@antonioelmalo:~$
El primer término hace referencia al usuario que ha puesto en marcha 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 correspondan. El terminal irá obedeciendo cada orden, ofreciendo la información correspondiente de vuelta. Algunos comandos básicos en
consola son:
www.lpmagazine.org
29
linux en la educación
Descubriendo Linux: ¿Qué debes saber si no sabes nada?
que quiera investigar. De hecho, se suele abrir una mini enciclopedia
explorando todas las opciones y posibilidades que dicho comando
mos.
ofrezca. Una vez abierta esta posibilidad (por ejemplo, en man ls), el
• cd ruta: cambia a la carpeta especificada en ruta.
espaciador va cambiando de página. También podemos movernos por
• mkdir nombrecarpeta: crea una carpeta en la ruta en la que el manual correspondiente con las teclas de cursor, Avanzar página
nos encontramos con el nombre especificado. Si el nombre espe- y Retroceder página. La tecla q finalizará el proceso.
cificado es precedido de una ruta, se creará en la ruta señalada.
• rmdir nombrecarpeta: borra la carpeta especificada.
Conclusiones
• rm nombrearchivo: borra el archivo especificado.
Está claro que es imposible condensar en un solo artículo de revista
• ./nombrearchivo.sh: ejecuta el archivo ejecutable especifica- todo lo que el usuario interesado debería saber sobre lo que comúndo con extensión .sh.
mente se llama el Mundo Linux. Pero está claro que por algún sitio
• su nombreusuario: indica al terminal que vamos a conmutar hay que empezar, y nosotros hemos hecho un repaso de aquellos cona otro usuario con el nombre indicado. Se nos pedirá, en con- ceptos que consideramos constituyen la base de este mundo, y que
secuencia, que introduzcamos la contraseña correspondiente. en su día echamos de menos que se nos explicara. Desde la persVeamos un ejemplo:
pectiva de la práctica educativa, es particularmente delicado iniciar
antonio@antonioelmalo:~$su alumno01
en un universo tan versátil, y por lo mismo, tan ambiguo, a nuestros
Contraseña: ******
jóvenes. No hay que olvidar que, si bien su contacto con la Informáalumno01@antonioelmalo:/home/antonio
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
Como puede verse, el terminal indica ahora que estamos en el equipo en el doméstico, en el seno del software privativo, que hace de una
antonioelmalo como el usuario alumno01. Además, se nos dice que marca específica y de sus derivados su bandera. Si, con estas humilcontinuamos en la ruta /home/antonio, donde no tenemos atribucio- des líneas, logramos ampliar los horizontes del lector aficionado, y le
nes de escritura en un principio. Para ir a nuestra carpeta de cuenta, hacemos comprender que no tiene que aceptar el uso obligado y nedeberíamos teclear cd /home/alumno01.
cesario de un producto determinado de una marca concreta, sino que
No es objeto de este texto abundar mucho más en las posibili- siempre puede buscar software alternativo; si logramos que entienda
dades de la consola, aunque podemos asegurar que la sensación de que aprender no quiere decir conocer los entresijos de un producto
libertad y de total dominio de lo que está pasando en el equipo irá determinado, sino saber qué se desea conseguir, y tener autonomía
animando al núbil no iniciado a explorar esta herramienta, que poco para investigar y obtener de manera independiente el software necea poco le irá demostrando su potencia.
sario para ello; si conseguimos, simplemente, darle una base que le
Para terminar, mencionar otras posibilidades que dan un mayor permita progresar en su conocimiento del Free Software, entonces...
dominio de la consola al usuario: la tecla Tabulador suele completar entonces habremos logrado nuestro objetivo. Muchas gracias por
el texto a medias que el usuario está tecleando, cuando se refiere leernos hasta el final. ¡Hasta otra!.
a una ruta o comando contenidos en el ordenador. Por ejemplo, si
tecleamos cd /home/antonio/Doc, y a continuación la tecla Tabulador, BASH completará el texto de modo que obtendremos cd /home/
Sobre los autores
antonio/Documentos. El comando man, de manual, proporciona al
María Dolores Nogueras Atance, licenciada en Ciencias Químiinteresado toda la información al respecto de un comando sobre el
•
ls: devuelve la relación de archivos en la carpeta en la que esta-
En la red
•
•
•
•
•
•
•
•
30
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
cas, es profesora de Tecnologías en la actualidad, pero también
ha pasado algunos años como profesora de Formación Profesional 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 embargo, 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 institutos. Profesor de Tecnologías y de Tecnologías de la Informació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 filosofí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 administra
[email protected]
LiNUX+ 8/2010
Páginas
recomendadas
www.diariolinux.com
www.elguille.info
www.gatolinux.blogspot.com
www.opensourcespot.org
www.hispabyte.net
www.linuxdata.com.ar
www.linuxhispano.net
www.pillateunlinux.wordpress.com
www.usla.org.ar
www.mundopc.net
www.picandocodigo.net
www.linuxuruguay.org
práctica
Virtualización con OpenVz
Virtualización
con OpenVz
Carlos Eduardo Virgen Londoño
[email protected]
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 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.
32
P
ero, ¿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 consumo 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 llamado 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 recursos 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 características de OpenVz que es una manera de virtualizar por sistema operativo.
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 adicionales: virtualización y aislamiento, administración de
los recursos, puntos de comprobación. Estas caracterí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 incluso 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 operativo 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
¿Qué es OpenVz?
de un VE ya configurado se puede sacar una plantiAntes de dar una definición de lo que es OpenVz, lla para luego reusarla en posteriores instalaciones.
vamos aclarar un concepto que encontraremos de
aquí en adelante. El Entorno Virtual o VE (Virtual ¿Para qué Sirve Openvz?
Enviroment), también conocido como VPS (Servidor Openvz es una gran alternativa para la virtualización
Privado Virtual) es un programa aislado de entorno de servidores en las compañías, aprovecha al máxi-
LiNUX+ 7/2010
práctica
Virtualizació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 disco duro, memoria, tarjeta de red, procesador, entre diferentes
distribuciones de GNU/Linux donde todos trabajan independientemente, 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 virtualizació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 archivo de nombre “sources.list”, este archivo contiene la informació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 ejemplo 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 usuario 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 confirmada 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
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 conviertes 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 haces 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 instalació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 incluida dentro de un con tenedor, éstas se pueden descargar 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 directorio que se creó al momento de instalar el OpenVz, éste
queda en la ruta “/vz/template/cache”, toda plantilla que se descargue 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, empezaremos 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-
Después de salvarlo, debemos de ejecutar el comando “aptget update”, esto con el fin de que el listado de paquetes disponibles 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 ejecutar OpenVz, durante el proceso de instalación, se modifica el
Figura 1. Directorio para configurar el listado de paquetes disponibles
www.lpmagazine.org
33
práctica
Virtualización con OpenVz
do de cómo lo nombraron, una forma similar a “debian-5.0x86.tar.gz”, recordemos que debe colocarse en “/vz/template/
cache”, tal cual como lo descargaron.
Para crear entonces el contenedor virtual hacemos lo siguiente (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 indicada anteriormente, la parte que dice “vzctl create”, indica la
operación de creación de un entorno virtual, “101” es el identificador 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 comando 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.0x86”.
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”.
Tabla 1. Comparación de OpenVz y Xen
34
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 de
recursos
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
No
Podemos iniciar los entornos virtuales o detenerlos con los
siguientes comandos:
•
•
vzctl start 101,
vzctl stop 101,
para iniciar.
para detenerlo.
Digamos ahora que ya no necesitamos más el entorno virtual
de identificador 101 y necesitamos eliminarlo, para eso entonces lanzamos el comando: vzctl destroy 101.
Existen gran diversidad de comandos, por ejemplo despué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 caliente
Como en toda tarea de administración siempre están presente 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 archivo de respaldo. En el caso que no se indique la opción “--dumpfile <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 recuperar el entorno virtual, el cual devolverá la máquina virtual al
estado en que se ejecutó el punto de control. Para hacer una restauració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 caliente
En muchas labores de mantenimiento, se requiere detener los
equipos, esta operación es traumática, ya que produce la inconformidad 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
Figura 2. Interfaz de administración WebVz, listado de contenedores
virtuales
LiNUX+ 7/2010
práctica
Virtualizació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 entorno 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.
Desventajas
•
•
Ventajas de Openvz
•
•
•
•
•
•
•
•
Cada entorno virtual trabaja independientemente, esto
nos hace creer que estamos trabajando con varios servidores 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 especificaciones del hardware.
Administración masiva de todos los entornos virtuales.
El ahorro de tiempo a la hora de hacer los procesamientos de instalación de la virtualización.
Se puede trabajar en diferentes escenarios: seguridad,
consolidación de servidores, hosting, educativo, desarrollo y prueba.
Se pueden crear plantillas con base a los entornos virtuales previamente creados.
•
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 virtuales 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 existencia 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 manejado 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.
WebVz
A 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 virtuales. 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-
PUBLICIDAD
www.lpmagazine.org
35
práctica
Virtualizació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:
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
apt-get install ruby rubygems libsqlite3-ruby sqlite3
irb1.8
apt-get install libopenssl-ruby1.8 libreadline-ruby1.8
webvz.sh
Luego de esto lo involucramos en el arranque con el siguiente
comando:
rdoc1.8
update-rc.d webvz.sh defaults
Instalamos el framework de Ruby:
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:
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/
mv webvz.2.0 webvz
cd webvz
Conclusiones
Descomprimimos el archivo descargado:
tar xvfz webvz.2.0.tar.gz
•
•
•
Renombramos el directorio que generó la descompresión
del archivo “gz”:
Ingresamos a la carpeta generada:
Creamos unos links simbólicos para acceder a los archivos 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 &
Figura 3. Listado de los procesos de un contenedor virtual
36
Passwort: admin123
Sobra decir que después de haber ingresado debemos cambiar 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.
webvz/webvz.2.0.tar.gz
•
Username: admin
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 sistemas de virtualización permiten crear réplicas de los ambientes virtuales, dando facilidad a la implementación de nuevos
servicios rápidamente.
Sobre el autor
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 correo, 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ónico 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 llamado 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.
LiNUX+ 7/2010
práctica
gPXE: Arranque de Sistemas Operativos en Red con Software Libre
gPXE: Arranque de Sistemas
Operativos en Red con Software Libre
Milton Labanda
[email protected]
El 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.
M
uchos sabemos que un Sistema Operativo 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 empotrados 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 cableada 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!
•
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
•
•
•
Motivación
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 servidor 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 continua 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.
El arranque de los sistemas operativos en red puede solucionar varios de los problemas encontrados al usar el típico 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 entorno no interconectado.
• Los nuevos sistemas necesitan constantemente de •
una instalación y configuración idéntica.
• Los modernos computadores de los usuarios inciden ¿Qué es gPXE?
con frecuencia en problemas de incompatibilidad al gPXE es un cargador de arranque de red extensible, podearrancar localmente su sistema operativo preferido.
roso, Open Source y de licencia GPL. Constituye un reem• Los archivos que son los mismos para cualquiera de plazo directo para las PXE ROMs propietarias, con muchas
la red solamente existen en un lugar: el mejoramiento característica extra tales como DNS, HTTP, iSCSI, etc.
del sistema es algo sencillo y rápido.
• Tener un solo servidor central fantástico es más que Bondades de gPXE
ahorrarse en comprar varios discos duros a nivel de
consumidor.
• Incluye docenas de drivers para tarjetas de red, inclu• Los clientes pueden arrancar por red dentro de un
yendo la mayoría de uso común.
entorno especial sin realizar ningún cambio indebido • Buena compatibilidad con redes inalámbricas (wireo peligroso a su disco duro.
less) 802.11
www.lpmagazine.org
37
práctica
gPXE: 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.
•
•
•
•
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;
•
El proceso de arranque con gPXE
•
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:
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 asignará, 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 arranque 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 configuración o script gPXE el cliente empieza a solicitar la imagen
del kernel y la del sistema de archivos raíz inicial.
miltonlab@debianlab:~$ mkdir /var/www/gpxe
miltonlab@debianlab:~$ cp linux24
/var/www/gpxe/dsl/
miltonlab@debianlab:~$ cp minirt24.gz
Para 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:
/var/www/gpxe/dsl/
Copiamos el archivo binario de gpxelinux al directorio preparado 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/
miltonlab@debianlab:~$ apt-get install dhcp3-server
pxelinux.cfg/default
apache2 syslinux
menu title Servidor gPXE de Distros <<FLISOL 2010>>
Aunque en vez de Apache podemos usar otro servidor http. Un aspecto importante antes de arrancar correctamente el servicio dhcp3,
Figura 1. Logo Proyecto Etherboot
38
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 colocaremos en el root de los sitios de Apache: /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 directorio 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:
•
Taller práctico de gPXE
}
menu background flisol2010.png
prompt 0
Figura 2. Logo rom-o-matic
LiNUX+ 8/2010
Figura 3. Logo gPXE
práctica
gPXE: 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
(.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 imagen en binario que necesitemos:
vga=791
initrd=dsl/minirt24.gz quiet
miltonlab@debianlab:~$ tar -xvzf gpxe-1.0.0.tar.gz
LABEL pmagic ...
miltonlab@debianlab:~$ cd gpxe-1.0.0/
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 disponible para arrancar.
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 procedereArranque de la Máquina Cliente
mos a “quemar” dicha imagen en el medio adecuado (cdrom, floppy,
Luego de activados los servicios y configurado el servidor adecuada- usb...).
mente procederemos a obtener una imagen autoarrancable de gPXE
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
•
•
Figura 4. Virtual Box
•
•
gPXE puede ampliar el tiempo de vida útil de computadoras
dadas de baja.
gPXE genera amplia expectativa en las aplicaciones relacionadas 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.
Figura 5. Menú para elegir el Sistema Operativo a arrancar
Sobre el autor
Figura 6. Damm Small Linux iniciado en la máquina cliente a través de la red
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-coordinador del FLISOL 2010 en la ciudad de Loja.
Es docente contratado por más de 7 anos en la Carrera de Ingeniería en Sistemas de la Universidad Nacional de Loja y coordinador de la comunidad de Estudiantes de Software Libre ESOLUNL. Está casado y tiene 4 hijos.
www.lpmagazine.org
39
software
Aplicaciones multimedia
Introducción al software
multimedia en Linux
Gabriel García
[email protected]
Hay 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.
E
n 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 mantener 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 reproducir, si vamos al menú Aplicaciones –> Audio y Video,
veremos que disponemos de algunas aplicaciones que
pasaremos a ver.
Totem Movie Player
catalogar nuestros archivos de manera de permitir una rápida 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 perUno de los más usados reproductores, es sencillo y con él po- mite hacer una copia de nuestros discos en archivos con
dremos reproducir tanto audio como video, también así DVDs formato Ogg o FLAC. Con esto podremos sumar cancioy archivos de video. Las principales características son:
nes a nuestra base de datos de Rhythmbox por ejemplo.
•
•
•
•
•
•
•
•
•
Reproduce DVDs, VCDs y CD,
Serpentine
Permite visualizaciones,
Serpentine permite hacer lo contrario a Sound Juicer, es
Reproduce archivos de video de muchos tipos me- decir, tomar archivos de audio y generar un CD para ser
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 reproducir archivos de sonido de casi cualquier tipo y a la vez Figura 1. Totem Movie Player
40
LiNUX+ 8/2010
software
Aplicaciones multimedia
Figura 2. Rhythmbox
unsado en cualquier reproductor o en otra PC. Es muy sencillo de
usar, ya que simplemente basta con agregar las canciones que deseemos y escribirlas al disco, cabe recordar que necesitaremos una
grabadora de CD para poder crear el disco.
Sound Recorder
Figura 3. Sound Juicer
está basado en KDE pero podremos usarlo aunque nuestro escritorio
Una de las cosas que en algún momento podemos llegar a necesitar es sea otro simplemente descargando las librerías KDE (esto es hecho
grabar un archivo de audio desde un micrófono o desde la entrada de automáticamente cuando lo instalamos). El sitio web oficial es http://
audio (Line IN). Con Sound Recorder podremos generar fácilmente amarok.kde.org/
archivos en formato Ogg, WAV, Flac o AAC.
Amarok
XMMS
No podemos hacer una revisión de programas multimedia sin nombrar 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
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/
MythTV
Este 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 tamano y usarlo en nuestra sala de estar para ver películas u otras cosas
más como podemos ver en esta resumida lista:
•
Figura 4. Sound Recorder
Reproductor de TV en tiempo real y/o con retraso, necesitamos
una placa sintonizadora de TV para esto.
Figura 5. XMMS
www.lpmagazine.org
41
software
Aplicaciones multimedia
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:
•
•
Figura 6. MythTV
•
•
•
•
•
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 Player
VLC es un reproductor que últimamente está creciendo bastante, hay
versiones para muchos sistemas operativos y es compatible con muchos 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 nuestro 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 generar contenido para irradiar en la red, ya que posee un servidor.
Xine
Concluciones
Xine es otro reproductor muy usado en el mundo Linux, incluso sus
librerías son usadas por otros reproductores, por lo que es muy popular, 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/.
Figura 7. VLC Media Player
42
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/.
No es nuestra intención hacer una lista enorme de programas multimedia 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 observamos 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 8. Xine
LiNUX+ 8/2010
para principiantes
Grupos, usuarios y permisos en Linux
Grupos, usuarios
y permisos en Linux
Sebastián Pignataro
[email protected]
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.
44
¿
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 informático, algunos tendrán acceso a determinados
recursos y otros no. Estos privilegios se dividen en
lectura, escritura y ejecución de un determinado archivo 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 gerencia 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 permisos 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 causar 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 home. Usuarios del sistema: éstos son aquellos encargados 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 conoce 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-
LiNUX+ 8/2010
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 grupos
La administración de usuarios a través de la consola
es relativamente sencilla. Utilizaremos los siguientes comandos: useradd, user-mod y userdel. Con
estos comandos podremos dar de alta, modificar
y eliminar usuarios. Los datos de los usuarios se guardan en /etc/paswd. Todo usuario y grupo posee cierta información adjunta. Echémosle un vistazo a mi
archivo passwd (Listado 1). Cada entrada está compuesta por los siguientes campos:
•
•
•
•
•
•
•
Login= el nombre único de usuario en el sistema,
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 pertenece el usuario,
Comentario= comentario,
Ruta de inicio= ruta absoluta del directorio de
trabajo,
Shell= el programa que se ejecuta automáticamente cuando el usuario inicia sesión. El intérprete de comandos.
Sin embargo la información de los grupos se almacena en el archivo /etc/group. Bien, y ¿por qué
no husmear mi archivo groups? Mirad el Listado 2.
para principiantes
Grupos, usuarios y permisos en Linux
Como podremos ver es un archivo muy sencillo y está conformado 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 comando 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 nombre 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:
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
#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_Nombre” -d directorio_de_inicio -m -g nombre_de_grupo -s shell
-l nuevo_nombre_de_usuario nombre_de_usuario_actual.
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/
Figura 1. Salida en pantalla del comando ls-lg
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
Figura 2. Archivo /etc/passwd
www.lpmagazine.org
45
para principiantes
Grupos, usuarios y permisos en Linux
sistema operativo. Nosotros nos focalizaremos en cómo manejarlos 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 permisos 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. Entremos 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 encontremos con la necesidad de modificar el nuevo grupo. Bueno, esto 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 queremos otorgar al grupo y grupo_actual es el nombre actual
del grupo:
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 momento 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:
#groupmod -n gerencia gerencia2
#chgrp -R
Listado 2. Archivo group
editorial redaccion
root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:
Listado 3. ls -lg
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:
total 1440 drwx------2 sebastian 4096 2007-09-18 23:
sebastian fax:x:21: voice:x:22: cdrom:x:24:sebastian
55 amsn_received -rw-r--r--1 sebastian 38710 2007-
floppy:x:25:sebastian tape:x:26: sudo:x:27: audio:
09-17 16:00 dabadabadoo.wav drwxr-xr-x 3 sebastian
x:29:sebastian, teztzone dip:x:30: www-data:x:33:
4096 2007-10-07 21:03 Desktop -rwxr--r--1 sebastian
backup:x:34: operator:x:37: list:x:38: irc:x:39:
60652 2007-07-25 16:19 gnomesplash.png -rw-r--r--1
src:x:40: gnats:x:41: shadow:x:42: utmp:x:43: video:
sebastian 16422 2007-10-11 20:00 grupos usuarios y
x:44:sebastian sasl:x:45: plugdev:x:46:sebastian
permisos.odt drwx------2 sebastian 4096 2007-09-12
staff:x:50: games:x:60: users:x:100: nogroup:x:
13:11 Mail -rwxr--r--1 sebastian 1315769 2007-08-
65534: crontab:x:101: Debian-exim:x:102: ssh:x:
25 16:09 Rio -Tigre (9).jpg -rw-r--r--1 sebastian
103: sebastian:x:1000: messagebus:x:104: gdm:x:105:
28 2007-07-30 13:35 sebastian.txt drwxr-xr-x 4
haldaemon:x:106: powerdev:x:107: vboxusers:x:1001:
sebastian 4096 2007-09-20 21:36 Temp drwxr-xr-x 2
, sebastian , pedro, juan, carlos antivir:x:1002:,
sebastian 4096 2007-08-19 16:54 Wallpapers
root , pedro, juan, carlos teztzone:x:1003:
46
LiNUX+ 8/2010
para principiantes
Grupos, usuarios y permisos en Linux
Propiedad y permisosde archivos
En esta área nos topamos con dos utilidades por así llamarlas. É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 la
ayuda de chown que significa cambiar propietario. El uso correcto 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 comando 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 hablemos 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 normalmente 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 representa 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 caracter 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 resultado tres números que representan los permisos del archivo 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 introducció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 directorio y todos sus archivos utilizamos chmod con -R:
#chmod -R 777 /temp
Figura 3. Permisos con el gestor de archivos MC
Esto es todo por hoy, espero les haya sido útil la información
y que puedan aplicarla en su totalidad. !Hasta la próxima!
www.lpmagazine.org
47
proyectos linux
LocuLinux 2.0
LocuLinux 2.0
Eduardo Arana
[email protected]
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.
E
l problema actual de este tipo de establecimientos es que debido a la inversión inicial
en la compra de las computadoras debe
sumarse la licencia del software a instalarse, 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 distribució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 necesarias para este tipo de establecimientos.
Requisitos Recomendados:
Figura 1. Pantalla del Control de Puestos LocuLinux 2.0
Figura 2. Menú de Arranque
•
•
•
•
•
•
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 éstos, se recomienda que la red esté cableada con
UTP Cat. 5e o similar y un switch 10/100 que intercomunique todos los ordenadores.
Control de puestos
El control de puestos de LocuLinux es único en
controlar los puestos de forma remota y gestionar
Requerimientos
usuarios, rangos horarios, bonos, etc. Existen varios
Requisitos Mínimos:
programas que permiten realizar una tarea inicial
parecida, es decir controlar los puestos por remoto
• Procesador x86, 700 MHz.
(Reiniciar, Cerrar el puesto, Abrir el puesto, etc). Pe• 512 MB de memoria RAM.
ro ninguno es tan completo como el que viene por
• 8 GB de espacio en el disco duro.
defecto instalado en LocuLinux.
• Tarjeta de vídeo VGA con 16mb de RAM. (JueEl control de puesto de LocuLinux está traducigos).
do al español en su totalidad. En el puesto cliente
• Tarjeta de sonido AC97 o compatible.
se puede configurar desde los programas que se
• Unidad DVD-ROM.
pueden abrir al abrir una nueva sesión o tiempo, así
48
LiNUX+ 8/2010
proyectos linux
LocuLinux 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 puestos 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 realizado 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 excedidos 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 equipo 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 seleccionar desde una demo LIVEDVD para probar LocuLinux antes 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 partición y creará las lineas de arranque para los diferentes sistemas 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 LocuLinux físicamente en nuestro disco rígido.
Instalación
Figura 3. Selección de la partición a instalar
En la primera pantalla debemos seleccionar el idioma de nuestra 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 servidores de hora online según la zona.
Después seleccionaremos la distribución de nuestro teclado según la zona donde nos encontramos.
El paso siguiente será seleccionar la partición donde queremos 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: demasiado corta”. En cada puesto debemos cambiar el nombre del
equipo, por ejemplo puesto1, puesto2, etc... Por ultimo debemos 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.
Sobre el autor
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. Actualmente 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.
www.lpmagazine.org
49
opinión
Si quieres ser un experto… enseña sin presumir
Si quieres
ser un experto…
enseña sin presumir
D
Fernando de la Cuadra,
director de Educación
de Ontinet.com, distribuidor
en exclusiva de las soluciones
de seguridad de ESET
en España
50
e vez en cuando, uno se
puede encontrar con algunos
visos de cordura 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.
Desde hace tiempo, cuando un “experto” 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 determinado 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 humilde 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, capaces 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 Internet Meeting Point (www.internetmeetingpo
int.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’ asturianos 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.
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 preadolescentes 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 hablaba de seguridad, había que hacerlo de
verdad.
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, recomiendo 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.

Documentos relacionados