Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LAS HERRAMIENTAS
DE PEDRO
Un servidor proxy ocupado es algo que ningún administrador debería permitir. El analizador de los ficheros de
registro del Squid, denominado Sarg por su autor, le ayuda a mantener su servidor Squid actualizado.
L
o pasé bien navegando en sitios El código fuente de Sarg y los paque- de nombres, ya que el análisis le llevará
como Sourceforge o Freshmeat tes binarios para varias distribuciones todo el día. Aparte de esto, la mayoría
buscando paquetes de software Linux, *BSD, MacOS e incluso OS/2 de los administradores de DNS no
interesantes. Desde luego, los paquetes están disponibles en [1]. Sarg toma los estarían demasiado contentos con el
con nombres sugerentes me llaman ficheros de registro de Squid y utiliza los estrés involuntario al que serían someti-
más la atención. No pude evitar datos para generar un resumen estadís- dos sus servidores.
fijarme en la herramienta del desarrol- tico muy útil, como el mostrado en la Otra característica útil es el poder
lador de software brasileño, Pedro Figura 1. Pero al contrario que la utili- restringir el análisis a un período de
Orso. Estoy seguro que Pedro no era dad Calamaris de Squid, Sarg genera tiempo específico, para ello utilice la
consciente de las connotaciones de su una estadística específica de usuario. opción -d TT/MM/YYYY-TT/MM/YYYY.
Generador de Informes de Análisis de Puede pasar los parámetros más El tiempo ha sido siempre un problema
Squid (Squid Analysis Report Genera- importantes para Sarg en la línea de para Squid, que lo almacena en segun-
tor, Sarg) para los usuarios alemanes comandos; el fichero de configuración dos a partir de la era en su archivo
de Linux. (Sarg en alemán significa sarg.conf, (Sarg trae un ejemplo), le pro- access.log, con una resolución de una
ataúd). Pero esto no me desanimó en porciona más opciones, como modificar milésima de segundo. Aunque puede
lo más mínimo, y menos mal, porque el diseño de la salida. Obviamente Pedro evitarse que Squid haga esto indicándole
Sarg es exactamente la clase de her- piensa en lo que la mayoría de los que utilice el formato del fichero de re-
ramienta que me gusta: eficiente y ráp- usuarios esperan de la herramienta Sarg gistros común, si bien se perderá alguna
ida. Realiza de manera muy eficiente la y ha proporcionado los ajustes por información en el proceso. Sarg puede
tarea para la que fue ideado: crear defecto necesarios. Esto significa que ser de gran ayuda aquí. Introduciendo:
informes basados en los ficheros de para generar un informe, simplemente
registro de Squid. se especifica el archivo de origen, es sarg -convert U
decir, el fichero access.log de Squid y el /var/log/squid/access.log
directorio objetivo donde le gustaría que
SYSADMIN
Sarg pusiera los resultados. se mostrará el fichero de registro en STD-
OUT y lo proporciona en un formato le-
El Taller del Administrador: NTP.......66
sarg -l U gible con fecha.
El Network Time Protocol (NTP) pro-
/var/log/squid/access.log U Un valor como 1126705707.537 se
porciona la hora exacta a través de la
-o /www/sarg/ transforma en 09/14/2005 14:48:27. La
red.
pérdida del milisegundo no es en abso-
Programación Segura………..…..... 69
luto preocupante.
Asegure su servidor aprendiendo a Sarg y DNS Gracias por la aplicación, Pedro, hacía
pensar como un atacante. Para mayor conveniencia, Sarg tiene la tiempo que no me divertía tanto, pero
El Taller del Administrador: NTP.......66 opción de la línea de comandos -n que debería replantearse las siglas en benefi-
El Network Time Protocol (NTP) pro- permite al DNS resolver las direcciones. cio de todos aquellos hackers alemanes
porciona la hora exacta a través de la Esto está bien para un Squid pequeño de Linux. ■
red. que cuente sólo con unos cuantos
Programación Segura………..…..... 69 usuarios, pero si tiene una gran caché RECURSOS
Asegure su servidor aprendiendo a que procesa miles de millones de
[1] Sarg: http://sarg.sourceforge.net/sarg.
pensar como un atacante. respuestas al día, no es conveniente
php
dejar que Sarg lleve a cabo la resolución
WWW.LINUX-MAGAZINE.ES Número 14 55
010-010_Correo_14 05.01.2006 12:40 Uhr Página 10
LINUX
CORREOUSER Schlagwort sollte hier stehen
ACCESO DE ESCRITURA
www.almogon.de
Errare en humanum est la revista… que contenían información distributions/suse/pub/suse/i386/
Soy un subscriptor vuestro y en el incorrecta en lo que se refería al DVD. 9.3
número 12 de Linux Magazine venía de Desde aquí vaya nuestra más sincera dis- Directorio de 64 bits: pub/linux/
regalo el DVD SUSE 10.0. culpa. distributions/suse/pub/suse/
Como llevo usando Suse desde la ver- Sin embargo, no hace falta, como pro- x86_64/9.3
sión 6.1 y tenía instalado la 9.3, el otro pone Antonio, descargarse toda una iso
día me decidí a actualizar a la 10 con del DVD para actualizar el sistema. Con Protocolo: FTP
vuestro DVD, y me ha sorprendido ver la utilidad de administración de Yast, bas- Servidor: ftp.gwdg.de
que faltan paquetes básicos, como por tará. Pulsamos en el botón de “K-menu” Directorio: pub/linux/misc/suser-
ejemplo gcc , synaptic o en el ángulo inferior izquierdo de la pan- drcux/100
kdegraphics3-extra, glibc-devel, etc. talla y escogemos “Sistema” > “Centro
de Control (YaST)”. Una vez en YaST, Protocolo: FTP
Sinceramente entiendo que otros
escogemos “Software” y pulsamos en Servidor: ftp.suse.com
paquetes que estén sujetos a licencias y
Directorio 32 bits:pub/suse/i386/
otras cortapisas no se incluyan, pero “Fuente de Instalación”. A continuación
supplementary/KDE/
otros tan esenciales como estos y que son pulsamos en “Añadir” para… pues eso,
update_for_10.0/yast-source
GPL, pues como que no se comprende. añadir las fuentes de instalación citadas a
Directorio 64 bits: pub/suse/
Al final tendré que descargar la iso del continuación:
x86_64/supplementary/KDE/
DVD completa para terminar la actualiza-
update_for_10.0/yast-source
ción. Les invito a que los DVD que rega- Protocolo: HTTP
len, o bien estén completos o que avisen Servidor: packman.iu-bremen.de Con eso deberíamos disponer de todo
de sus limitaciones. Directorio: suse/10.0 el software que se pueda necesitar. Se
pueden añadir también repositorios de
Saludos Protocolo: FTP OpenSuse y de otras fuentes y YaST los
Antonio Servidor: ftp.suse.com integrará con el repositorio existente. Hay
Directorio 32 bits: pub/suse/ que evitar las barras tanto al principio
LM Efectivamente, la imagen iso que i386/9.3 como al final de los directorios y trans-
Directorio 64 bits: pub/suse/
nos hicieron llegar la gente de Suse, no cribir las direcciones tal y como se
x86_64/9.3
sabemos si por error o por la brillante describe en esta sección. De otra manera
idea de alguien del Departamento de YaST lanzará un error.. Para instalar, ya
Protocolo: FTP
Mercadotecnia, estaba tan limitada que sólo hemos de dirigirnos en YaST a “Soft-
Servidor: ftp.suse.com
más parecía una demo que una verdade- ware” > “Administración de Software”
Directorio 32 bits: pub/suse/
ra distribución. No comprendemos exac- (la primera vez que lancemos esta apli-
i386/current/inst-source-extra
tamente a qué ha sido debido y desde cación después de añadir nuevas fuentes
Directorio 64 bits: pub/suse/
luego estudiaremos muy detenidamente de instalación, tardará un poco en
x86_64/current/inst-source-extra
cualquier otra iso que nos envíen los del recabar la lista completa de paquetes
camaleón. Sin embargo, en esta ocasión disponibles) y, para instalar por ejemplo
Protocolo: FTP
no hubo solución, ya que, cuando descu- gcc, escribiremos gcc en el campo
Servidor: ftp.rediris.es
brimos el error, los DVDs ya estaban Directorio 32 bits: pub/linux/
Búsqueda y aparecerán todos los paque-
impresos, al igual que los ejemplares de distributions/suse/pub/suse/i386/ tes que necesitaremos para instalar el
10.0/SUSE-Linux10.0-GM-Extra compilador.. Procederemos de igual ma-
Directorio 64 bits: pub/linux/ nera para los restantes paquetes que nos
distributions/suse/pub/suse/ falten hasta tener el sistema a nuestro
x86_64/10.0/SUSE-Linux10.0-GM- gusto. ■
Extra4
Y en el DVD…
JUEGALINEX
utilizara a nivel institucional y
en las pequeñas y medi-
anas empresas de la
región, que se pop-
ulizara a nivel
doméstico. Sólo
Edición Especial Linux Magazine así se con-
seguiría la
masa crítica
M
ucho se ha hablado estos últi- endo hecho sus cuentas (cuadraban), necesaria
mos meses de Munich y sus cogió el toro por los cuernos y migró para que se
muy cacareados planes de todo su parque informático a Linux sin alcanzaran
migrar 14.000 escritorios a Linux. Tam- mirar atrás y sin aceptar presiones de los objetivos
bién, y dentro de las noticias rela- grandes corporaciones. de alfa-
cionadas con el sector, hemos podido oir Al igual que el movimiento se demues- betismo digi-
la propuesta del gobierno de Massachu- tra andando, la experiencia extremeña tal marcados
sets de vetar toda documentación admin- demuestra que las reservas políticas ante por la Junta de
istrativa que no se encuentre en un for- la migración de la administración al soft- Extremadura.
mato abierto. Pero los planes de ware libre están basadas en miedos sin Y no hay mejor
migración previstos en la capital Bávara fundamentar. Y prueba de ello es la cele- manera de popu-
para el 2005 todavía no se han material- bridad que ha alcanzado Extremadura, larizar una tecnología
izado y lo último que sabemos de Massa- haciendo que una región considerada que aplicarla al mercado
chusets es que las presiones de ya-se- hasta ahora una de la más improbables del entretenimiento. Con ese
sabe-quién han llevado a la dimisión del como referente tecnológico, se consti- fin nació en el 2005 la derivada
principal impulsor del proyecto, Peter tuya en la autonomía hacia la que se JuegaLinEx, una distro con, no sólo los
Quinn. vuelven todas las miradas cuando se clásicos juegos de Linux (Frozen Bubble,
De manera similar, en nuestro propio plantea una migración. Tux Racer y GNU Board), sino con fabu-
país existen prudentes planes, estudi- losos juegos de estrategia, simulación y
adas estrategias y advertidos anteproyec- Las Caras de LinEx arcade.
tos para implantar software y formatos El equipo al cargo de la producción de
libres a diversos niveles en las adminis- LinEx es consciente desde hace tiempo Edición especial Linux
traciones públicas. Estos estupendos de que no se puede crear una distribu- Magazine
propósitos, tal y como viene siendo ción que sea todo para todo el mundo. La versión especial Linux Magazine, creada
habitual, puede que acaben en agua de Por ello, aparte de su producto paraguas, por Dario Rapisardi, incluye, además de un
borrajas ¿Por qué? No son lo suficiente- LinEx [1], el equipo de desarrollo ha ido mayor número de juegos a cada cual más
mente atrevidos. No le echan el sufi- creando desde distribuciones derivadas espectacular, actualizaciones y correc-
ciente valor. especializadas para satisfacer las necesi- ciones de drivers de vídeo y sonido para
Sin embargo, en España sabemos que dades de las empresas extremeñas con ofrecer al jugador la mejor experiencia de
hay una administración que, al modo de LinEx Empresas [2], hasta infraestruc- juego posible en un sistema Linux.
cierto poblado galo de comic, se ha des- turas para fines
marcado de la “prudencia” y de los pon- específicos
derados estudios interminables y, habi- basadas en
plataformas
JuegaLinex Edición libres, como es
Especial Linux Magazine el caso del
proyecto Jara
Base: gnuLinEx 2004r1 que sirve de
Kernel: 2.6.7 parcheado con drivers base a todo la
actualizados de video (ATI y Nvidia) y red sanitaria
sonido, cámaras web y discos Serial extremeña [3].
ATA. Sin embargo,
Escritorio: Gnome 2.8 con menú supe- si algo tenían
rior para acceso más cómodo a juegos. claro los impul-
Instalación: Gráfica con Anaconda. sores de LinEx
Sistema gráfico: Free86 4.3.0 de Debian aparte de la
Sarge. propia necesi- Figura 1: JuegaLinEx ibcluye una gran variedad de software educativo,
dad, era que se como, por ejemplo, el entorno de desarrollo para niños Squeak.
EDITORIAL
P
ara del proyecto SAMBA metiera el remonta a los primero días de la revo-
cuando remo y precipitase los aconte- lución Linux. Nuestra revista hermana,
la publicación alemana Linux Maga-
esto se cimientos) y la relación se
zin, fundada en 1994, fue la primera
publique, las rompió. La subsiguiente crisis revista dedicada a Linux en Europa.
Navidades, el fin se resolvió bien gracias a los Desde aquellas tempranas fechas
de año y los reflejos de Linus y su equipo, y hasta hoy, nuestra red y experiencia
Reyes probable- el desarrollo del kernel sigue han crecido y se han expandido a la
par que la comunidad Linux a lo ancho
mente no sean adelante a todo tren con la y largo del mundo. Como lector de
más que un vago recuerdo en la mente ayuda de GIT, una herramienta Linux Magazine, te unes a una red de
del lector. Pero “ahora”, cuando libre y de la comunidad. Un 1 información dedicada a la distribución
escribo esto, es el 31 de diciembre y en la quiniela. del conocimiento y experiencia téc-
nica. No nos limitamos a informar
me parece un momento oportunísimo Julio, en el Parlamento
sobre el movimiento Linux y de Soft-
para repasar lo que nos ha deparado el Europeo: Patentes contra ware Libre, sino que somos parte
año que hoy acaba. Software Libre (julio 2005): Y integral de él.
Sé que lo del repaso anual es un se celebró la votación sobre
recurso socorridísimo, pero, por un patentes de software que nos
lado, Linux Magazine cumplió doce quisieron colar por la puerta de atrás das? Las de siempre: que si el software
números con el año y es buen ejerci- las megacorporaciones productoras de libre es inseguro (= es anti-ameri-
cio echar cuentas. Y por otro, ya se pleitos… digo… de software ameri- cano) por que se le conocen sus tri-
sabe que el pueblo que olvida su his- canas (y alguna que otra díscola euro- pas; que si mina la libre competencia
toria se condena a repetirla y en este pea que también se subió al carro) (= es anti-americano) por su modelo
pasado año hubieron algunos ver- que mantuvo en vilo al mundillo del de negocio; tendría efectos negativos
daderos momentos oscuros que no SL durante unos cuantos meses. Al en las inversiones I+D+i (= es anti-
desearía para nada reviviese el final la cosa quedó en empate: la americano). Esta última razón tiene
“pueblo” del Software Libre. directiva que hubiera destruido el especial guasa, siendo, como es
Visto como una liguilla, un recuento tejido industrial del desarrollo España, el farolillo rojo en el ranking
resumido de los partidos más europeo no se aprobó, pero tampoco de países por inversión en investi-
emblemáticos de la temporada se ha hecho por aclarar las procelosas gación. Pero, volviendo al tema: todos
quedaría como sigue: aguas de las patentes europeas, donde estos motivos al lector familiarizado
Abril 2005, en la red: BitKeeper la ley dice que no se puede, pero las con el mundillo del mercadeo del soft-
contra GIT: a pesar de que vino prece- agencias de patentes, lo que se dice ware le resultarán curiosamente fami-
dido de disputas internas y de que patentar, patentan. Resultado: una X, liares. Exacto: están calcados (¡oh,
asistimos (al nada raro, todo hay que empate. coincidencia!) de las campañas pu-
decirlo) espectáculo de los dioses del Diciembre, en el Congreso de los blicitarias anti-software libre de cier-
Olimpo del Software Libre lanzándose Diputados: Software de “Patente” tas empresas que todos conocemos
rayos y centellas, el cambio de una contra Software Libre: A pesar de las bien y que una y otra vez se han refu-
aplicación propietaria (BitKeeper) a numerosas iniciativas regionales y las tado de manera categórica.
otra libre (GIT) para el control del obvias y comprobables ventajas que De momento, poco importa. Lo
desarrollo del kernel de Linux, es algo ha supuesto la implementación de único que importa es el rotundo 1 en
sin duda positivo para la comunidad. soluciones libres en ciertas la quiniela a favor de los de siempre.
Muchos desarrolladores se encon- autonomías, parece ser que muchos Habrá revancha.
traban incómodos con una situación políticos en Madrid no lo ven claro.
en la que la piedra angular del más Las proposiciones de Ley referentes
popular de los sistemas operativos a la implantación del software libre en
libres estuviera a merced de los capri- la Administración y que presentaron
chos de una tercera empresa y no bajo tanto ERC como IU en el Congreso de
el control de sus artífices. A pesar del los Diputados el pasado 14 de diciem-
“trato entre caballeros” establecido bre del 2005 sufrieron una seria der-
entre Torvalds y Larry McVoy, CEO de rota a manos de los dos partidos ma-
BitMover, ocurrió lo que tenía que yoritarios: 290 votos en contra y sólo Paul C. Brown
ocurrir (aún sin que Andrew Tridgell 15 votos a favor. ¿Las razones esgrimi- Director
La
La plataforma
plataforma educativa
educativa Moodle
Moodle
CLASES VIRTUALES,
CLASES REALES
En nuestra segunda entrega sobre moodle, vamos a aprender a uti-
E
n el número anterior hicimos una Aristóteles y Kant y Euclides y Newton. cipal baza en un aula. Saber sacarle par-
primera presentación de la La informática globalizada que nos ha tido a nuestro LMS, con recursos adapta-
plataforma educativa libre moo- traído internet tiene sus orígenes en lo dos a los nuevos medios y en contacto
dle, de su historia y de las teorías cons- militar y ha sido invadida por los mer- con una comunidad de usuarios que
tructivistas sobre el aprendizaje en las caderes, pero tiene consecuencias socio- comparten sus aportaciones, será un
que se fundamenta. Expusimos también lógicas imprevistas. Por lo que respecta a gran paso adelante en una nueva forma
que nuestro modelo de enseñanza es el la escuela, rompe de nuevo sus límites; de enfocar la enseñanza y la educación.
presencial y que abogamos por el uso de que sepamos sacar partido de una Es sorprendentemente fácil hablar de
las aulas virtuales como si fueran aulas escuela que está inmersa en el mundo es usos reales. Debo reconocer humilde-
reales y no al contrario (si la de una tarea que nos corresponde a mente lo evidente, esta sección ya ha
enseñanza/aprendizaje es siempre una nosotros los educadores. La tecnología sido esbozada de forma magistral y sen-
relación personal, la herramienta que cambia la forma en que vivimos la reali- cilla por amigos como Joan Queralt Gil
nos interesa estará enfocada a favorecer dad, pero no lleva inherente una dimen- (que publicó en [1] Los diez deseos) o
esta relación y a crear conocimiento, sión ética: somos nosotros como ciu- Aníbal de la Torre (en diversos fragmen-
individual y colectivo, no a comparti- dadanos libres, como sujetos tos de su blog [2] y de sus participa-
mentarlo; ver el cuadro). autónomos, los que debemos ciones en numerosas listas de distribu-
Es verdad, la escritura se inventó para plantearnos un uso ético y educativo. ción). Como me han permitido amable-
romper las limitaciones de la memoria ¿Qué queremos hacer con esta tec- mente reproducirlos, me limito a
(¿alguien recuerda la cita de Platón del nología que introducimos en nuestras enriquecer mi modesto artículo con sus
artículo del número 6 sobre accesibili- aulas? Intentar dar una respuesta puede citas. Sigo el hilo de los diez deseos de
dad?), para que los dueños pudieran ser muy bien el hilo conductor de nues- Joan Queralt, aunque no su orden.
recordar el número de sus ovejas y de tros artículos. Empezaremos por las herramientas más
sus sacos de trigo, pero permitió a constructivas: foros y wikis.
Sócrates examinar y criticar las teorías Usos en una clase real 1.- El tercer deseo de Joan Queralt era:
de Anaxágoras (Fedón, 97c ss.). Y es que constructiva Quiero que los estudiantes discutan
podemos decir que la tecnología tiene ¿Hasta qué punto es útil una plataforma [por escrito] sobre un tema propuesto.
efectos colaterales inesperados: la conse- en un centro educativo? Lo diré pronto y Su solución: «Tienes que montar un foro
cuencia secundaria de la escritura fue de manera directa: más allá que de discusión. Puedes hacer que sólo el
que se creó un mundo humano intempo- cualquier herramienta especializada, al profe pueda plantear temas y los estudi-
ral, en el que era y es posible el diálogo mismo nivel que el editor de textos y el antes los contesten, o que cada estudian-
con los sabios de todos los tiempos, con navegador, la plataforma es nuestra prin- te inicie un tema y los conteste quien
MENSAJES
SECRETOS
Si se toma en serio la seguridad, pruebe la encriptación del
L
a encriptación de ficheros es un será capaz de leer los ficheros privados cualquier rastro dejado, los usuarios de
medio popular para asegurarse la si están encriptados, ¿cierto? Linux pueden elegir encriptar los datos
privacidad y la seguridad de los En realidad, la encriptación selectiva a un mayor nivel usando DM-Crypt. El
datos a nivel de ficheros. Un intruso que de ficheros proporcionada por utili- módulo del kernel dm-crypt trabaja al
logre colarse a través del cortafuegos no dades tales como GnuPG cubre alguna nivel del dispositivo de bloques, permi-
de sus huellas, pero no todas. Un intru- tiendo a los usuarios encriptar parti-
Clemens Fruhwirth es el autor so puede aún aprender sobre su sis- ciones completas. El proceso es trans-
de LUKS y del papel blanco titu- tema… y quizás incluso reconstruir parente a la aplicación, permitiendo el
lado “New Methods in Hard Disk algunos de los ficheros de datos fis- acceso al usuario que haya sido valida-
Encryption”, que definen la goneando los ficheros secretos, los tem- do en el sistema. DM-Crypt encripta el
teoría subyacente. Clemens tam- porales, los datos de configuración y el denominado dispositivo de respaldo (el
LOS AUTORES
bién es el inventor de ESSIV y el historial de comandos. El directorio disco físico) y hace uso de un dispositi-
implementador de LRW-AES y /var/spool/cups, por ejemplo, podría vo de bloque virtual para proporcionar
EME para Linux. Markus Schus- proporcionar datos de ficheros que se acceso al contenido en claro bajo
ter es un integrador de sistemas
hayan imprimido anteriormente y he- /dev/mapper. Los usuarios pueden
con Bits & Bytes (un proveedor
rramientas como Gnome Thumbnail acceder a este dispositivo de bloques
de servicios IT de Bavaria); se
Factory podrían estar almacenando una para configurar y montar el sistema de
define a sí mismo como un
fanático del software libre. Ha copia desencriptada de las imágenes ficheros. Este artículo examina la tec-
estado usando LUKS desde su encriptadas. nología subyacente a DM-Crypt y la
creación. En vez de seguir cada acción realiza- nueva herramienta de gestión LUKS
da sobre cada fichero para eliminar (Linux Unified Key Setup).
Figura 1: cryptsetup (arriba) pide al usuario una contraseña y utiliza una Figura 2: cryptsetup-LUKS almacena los parámetros de la partición
función hash para crear una clave de longitud fija, que es pasada al kernel encriptada en la cabecera de la partición del dispositivo de bloques
(centro). DM-crypt (abajo) utiliza la clave para encriptar y desencriptar de respaldo (arriba a la izquierda). La clave obtenida protege la clave
los datos del disco duro (o los dispositivos de bloques de respaldo). maestra que encripta los datos en la partición.
WWW.LINUX-MAGAZINE.ES Número 14 69
ADMINISTRACIÓN • DM-Crypt
reencriptar todos los datos cada vez que una contraseña de contingencia o pro- de la contraseña y no proporcionaría la
la contraseña se modifica. Cryptsetup- porcionar múltiples credenciales dife- suficiente entropía. Un atacante podría
LUKS presenta una capa de gestión de rentes a los usuarios. LUKS reserva hasta simplemente ejecutar un ataque basado
contraseñas adicional para eliminar este ocho huecos para contraseñas en la en diccionario en vez de intentar las
problema. La jerarquía de claves inserta cabecera (Figura 3). 2128 claves posibles que proporciona
una capa de encriptación extra entre la una clave de 128 bits. Un diccionario
clave derivada y la clave usada por el Mejor que un Hash inglés, por ejemplo, podría tener menos
kernel para proteger los datos de la parti- Como cryptsetup, LUKS necesita un de 220 entradas. 220 es una potencia 108
ción. Además, la clave derivada tan sólo algoritmo hash para convertir una con- veces menor que el espacio de la clave
protege la denominada clave maestra, traseña de longitud arbitraria en un completo; una reducción fatal, ya que
que encripta los datos de la partición número fijo de bytes. Para ello, utiliza la casi cualquiera podría atacar una clave
(Figura 2). solución genérica PBKDF2 (Password- de 20 bits.
Para cambiar la contraseña, cryptset- Based Key Derive Function, Version 2). Para salvar este problema, PBKDF2
up-LUKS desencripta la clave maestra PBKDF2 es un componente PKCS#5 utiliza deliberadamente una función
usando la contraseña antigua, reencripta (Public Key Cryptography Standard 5). compleja para derivar una clave a partir
la clave usando la nueva contraseña y PKCS#5 fue especificado en RFC 2898 de la contraseña. Aunque esto tarda un
sobrescribe la copia de la antigua clave [5]. Entre otras cosas, PBKDF2 hace uso poco, el usuario no lo apreciará, ya que
maestra con el valor nuevo. Como los del estiramiento y la dispersión para la operación sólo se realiza una vez. Un
datos no se ven afectados por la clave impedir los ataques basados en dic- atacante tendría que intentar 220 frases.
maestra, la partición encriptada per- cionarios. Si cada una puede consumir un segundo,
manece segura. Esto podría ahorrarle Los usuarios prefieren usar con- le llevaría 12 días (220 segundos). Si el
medio día de trabajo duro en el caso de traseñas cortas y fácilmente recordables. usuario combina dos palabras para for-
que tenga que desencriptar 120GBytes; Fechas de nacimiento y nombres de mas- mar una contraseña, el ataque podría lle-
la jerarquía de claves reduce el tiempo cotas son mucho más comunes que var 30.000 años (240 segundos). Esta
necesario para cambiar una contraseña a cadenas aleatorias de 22 caracteres. barrera artificial se conoce como esti-
unos pocos segundos. Desafortunadamente, se necesitan al ramiento. PBKDF2 usa una función de
LUKS almacena la clave maestra menos 22 caracteres para representar estiramiento que implica un esfuerzo
encriptada en la cabecera de la partición una clave de 128-bits. Pero no hay computacional infinitamente variable.
sin imponer una restricción de copia mucha gente que tenga la capacidad de
simple. Para soportar múltiples con- recordar o incluso teclear Dispersión y Estiramientos
traseñas para una misma partición, Sq5woq7501VUE5irAXau.a cada día. Una Pero esto no es suficiente para frenar a
LUKS puede almacenar múltiples copias función de derivación satisface ambos un hacker determinado. Un atacante
equivalentes de la clave maestra y requerimientos: el usuario puede teclear podría crear una tabla enorme que con-
encriptar cada una de ellas con una una contraseña fácilmente recordable y tuviera las entradas y las salidas de la
cadena diferente. Cada una de estas con- la función genera una clave más comple- función de estiramiento para eliminar la
traseñas proporciona al usuario acceso al ja. necesidad de repetir entradas en ataques
contenido del disco en claro. Esto es par- Un algoritmo que genera una clave de futuros. Para impedir que pueda suceder
ticularmente útil si se desea almacenar 128 bits a partir de una contraseña más esto, PBKDF2 añade una cadena selec-
corta tiene que re- cionada aleatoriamente a la contraseña
llenar el espacio antes de generar la clave. LUKS almace-
entrópico, es decir, na la versión en claro en la cabecera de
el espacio entre el la partición.
grado de aleato- Ahora, el atacante necesita añadir el
riedad en el domino valor hash PBKDF2 para cada palabra
de la contraseña y el del diccionario. De hecho, el atacante
dominio de la clave. necesitaría los valores hash de cada pa-
Un simple rellenado labra del diccionario junto con cada
produciría una clave combinación de posibles cadenas añadi-
mayor, pero no sería das. Cuanto mayor sea la dispersión,
más aleatorio que la mayor tendría que ser la tabla que nece-
propia contraseña y sitaría. PBKDF2 aumenta el tamaño de la
sería fácilmente tabla a una escala inimaginable. El uni-
adivinable. verso tiene menos átomos que el número
Imaginemos que de entradas que debería contener un dic-
Figura 3: LUKS añade los parámetros que necesita cryptsetup- un usuario introdu- cionario universal para contener cada
LUKS para generar la clave desde una contraseña introducida por el jera solamente pa- combinación PBKDF2.
usuario a la cabecera de la partición encriptada. Cada clave con- labras inglesas; esto Los atacantes se ven forzados a
tiene una copia encriptada de la clave maestra que DM-Crypt utiliza restringiría el reducir el número de intentos con espe-
para proteger los datos. alcance del dominio ranza de acertar. El mecanismo de con-
70 Número 14 WWW.LINUX-MAGAZINE.ES
DM-Crypt • ADMINISTRACIÓN
Triturando
Como se mencionó antes, es muy difí-
cil deshacerse de los datos en un dis-
positivo de almacenamiento magnético
[2]. Para cambiar efectivamente o bor-
rar la contraseña de la jerarquía de Figura 4: El modo de encriptación ECB (Elec- Figura 5: En el modo de encriptación CBC
claves, es de vital importancia destruir tronic Code Book) encripta cada bloque de (Cipher Block Chaining) realiza la operación de
completamente la copia antigua de la texto en claro independientemente de cada XOR con los resultados de una vuelta de
clave maestra. Con un poco de suerte, bloque. Esto significa que la misma entrada encriptación XOR con el siguiente bloque. Esto
un usuario podría escribir el sector co- Pi a la función de encriptación E resultará asegura que los bloques idénticos de texto en
rrecto del disco duro después de unos idéntica a la salida Ci. claro producirán distintos textos cifrados.
pocos intentos y sobrescribir física-
mente la antigua clave maestra. Pero la
suerte es algo en lo que los usuarios y Neutralización de Expertos una gestión de claves con calidad para
los criptógrafos raramente confían. en Recuperación de Datos las particiones encriptadas con DM-
El firmware del disco duro está con- El autor de LUKS introdujo fragmentos Crypt.
tinuamente combatiendo la destruc- de información antiforense (AF Splitter)
ción de datos, ya que lo que intenta para confundir a los expertos en recu- Salvando el Medio de
por todos los medios es justo lo con- peración. Para reducir la probabilidad Almacenamiento
trario, salvarlos. Una de las formas en estadística de seguirle la traza a los Lo que los usuarios principalmente
las que el disco duro proporciona ficheros borrados que hayan sobrevivido esperan de un disco encriptado es la
mayor seguridad es reasignando los en el medio de almacenamiento magnéti- encriptación. DM-Crypt proporciona dos
bloques dañados, una técnica simple co, AF Splitter expande los datos en un modos de cifrado: ECB (Electronic Code
para detectar sectores que son difíciles factor de cuatro mil. Los datos expandi- Book) y CBC (Cipher Block Chaining).
de leer. El firmware automáticamente dos no son redundantes; el registro com- Ambos modos están sujetos a unas
copia estos sectores a un área del disco pleto es siempre necesario para recupe- pocas vulnerabilides, todas ellas se
especialmente reservada para este rar la clave maestra. La operación con- resuelven por el candidato más promete-
propósito y redirecciona cualquier traria consiste en reunir de nuevo en dor del momento LRW-AES [6][7] (LRW:
operación de lectura o escritura poste- memoria estos datos para borrarlos fácil- Liskov, Rivest, Wagner; AES: Advanced
rior del sector original a la copia. mente. Encryption Standard).
El sector original no puede ser borra- AF Splitter distribuye los datos origi- ECB (Figura 4) no se merece realmente
do desde este punto en adelante, ya nales (Variable x) basado en la fórmula el nombre de Modo de Cifrado:
que el firmware redireccionará x= a1 + a2 + a3 + … + a4000. El Almacena cada bloque individual cifrado
cualquier intento de escritura a la zona algoritmo genera las variables a1 hasta resultante sin realizar ningún cálculo
reservada. Desafortunadamente, esto a3999 aleatoriamente y calcula a4000 adicional. Esto significa que para cada
podría dejar fragmentos de la clave en para balancear la ecuación. El combi- clave, el texto en claro siempre se con-
el disco duro, lo que implicaría que un nador suma los elementos ai y para ello vertirá en el mismo texto cifrado.
experto en recuperación de datos o un precisa cada uno de ellos individual- Expresado matemáticamente, ECB es
hacker determinado, podría aún acce- mente, no hay redundancia. Si desa- una función biyectiva de texto en claro a
der y recuperar los fragmentos usando parece un elemento, la ecuación no se texto cifrado. Esto es peligroso si el ata-
un firmware modificado. puede resolver y no se puede calcular x. cante conoce el texto en claro de un
Esto es un problema grave para las Para destruir los datos, tan sólo hay bloque encriptado, lo que puede
claves maestras de LUKS, que son muy que borrar alguno de los 4000 sectores averiguar a partir de las cabeceras
pequeñas en comparación con el implicados en el proceso, ya que la estandarizadas del sistema de ficheros,
tamaño de los sectores (128, 192 o 256 operación de combinación necesita el por ejemplo.
bits para AES) y por ello es fácil que se registro completo. Desde luego, es Si el atacante sabe que el primer sector
encuentren dentro de un sector. Todo mucho más fácil sobrescribir uno de los de la partición encriptada empieza con
ello si sucediera que el firmware deci- 4000 sectores. Las estadísticas muestran una serie de ceros, sabrá cómo se encrip-
diera mover el sector en cuestión a la que esto funciona bastante bien, tal y tan los ceros. No necesita una clave para
zona reservada cuando la contraseña como se puede leer en [1]. Gracias a AF ello, y simplemente puede comparar
antigua aún siguiera activa. Ni los dis- Splitter, las contraseñas pueden ser cam- todos los bloques de texto cifrado con el
cos SCSI ni IDE disponen de comandos biadas sin dejar ningún rastro detrás. En comienzo de la partición. Si el atacante
que proporcionen acceso al sector ori- combinación con la jerarquía de claves y descubre bloques idénticos, sabrá que la
ginal. PBKDF2, esto proporciona al usuario desencriptación de estos bloques se co-
rresponde con ceros. El mismo principio
WWW.LINUX-MAGAZINE.ES Número 14 71
ADMINISTRACIÓN • DM-Crypt
ESSIV
Para generar una marca de agua, el tra en la Figura 6a. Las marcas de puede ser compensado restando 1 de
atacante necesita crear dos sectores agua abren una brecha aplicando P i - P 1 (Figura 6b). Si el atacante con-
idénticos en el figura todas las sub-
disco. El objetivo secuencias Pi como el
es manipular el primer sector, los tex-
mecanismo de tos cifrados son idén-
encriptación de ticos. ESSIV
forma que propor- (Encrypted Salt Sector
cione dos resulta- IV) resuelve este
dos idénticos para Figura 6a: El tradi- Figura 6b: Las mar- Figura 6c: ESSIV impide que problema. Pasa el
encriptar dos sec- cional CBC cas de agua compen- el posible atacante calcule el número del sector a
tores en el disco. comienza encrip- san el cambio de IV IV porque no conoce la clave una función, el resul-
En la Figura 5 se tando mediante por el inverso del secreta K. tado de ello depende
puede ver que el XOR-ing la IV con cambio en P1. de la clave secreta
atacante puede el primer bloque de (Figura 6c). El ata-
identificar todos texto en claro. cante no puede
los valores de manipular P 1 en el
entrada para Pi, pero no el IV. Éste es 1 en vez de Pi al segundo sector. El IV sector dos para compensar por la
el valor usado para modificar el para el sector dos es algo mayor que diferencia IV. Tampoco tiene la clave
primer texto en claro, como se mues- el IV del sector uno. Este incremento necesaria para calcular los IVs.
se puede aplicar a cualquier bloque de dos de texto cifrado. subsecuentes rondas. Esto no es útil para
texto en claro. la encriptación de los discos duros,
Efecto de Bola de Nieve donde toda la partición tendría que ser
Ocultar y Buscar Una de las características de esta clase reencriptada si el contenido del primer
Hay dos formas básicas de ocultar esta de recursión es que la primera ronda de sector se ve modificado. La respuesta
redundancia del texto en claro. Una solu- encriptación produce un efecto en las típica aquí es que hay que ver cada sec-
ción es añadir otro componente al proce- tor como el resultado de una función
so de encriptación; este componente recursiva y hay que procesar cada sector
necesita ser único para cada localización independientemente del resto.
del disco, por ejemplo la posición en el Esto lleva a un problema familiar: dos
disco duro. Esto significaría que bloques sectores con idéntico texto en claro dan
idénticos de texto en claro en posiciones como resultado el mismo texto cifrado.
diferentes proporcionarían resultados Aunque los sectores son mucho mayores
diferentes tras su encriptación. que los bloques, en un cifrado de blo-
La segunda solución utiliza un modo ques, el contenido aun podría per-
de encriptación que tiene en cuenta los manecer idéntico: imagínese un usuario
bloques ya encriptados. La forma más creando múltiples copias de un mismo
sencilla de implementarlo es haciendo fichero, por ejemplo. Aquí es donde se
uso de la recursión. CBC (Cipher Block aplica el primer truco: el número de sec-
Chaining) puede ser simple, pero pro- tor cambia la encriptación especificando
duce un sistema de encriptación recursi- el vector de inicialización (IV, Figura 5).
va efectiva. Realiza una operación de Dos modificaciones diferentes del primer
XOR entre el texto del bloque cifrado texto en claro dispararán diferentes efec-
anteriormente con el texto en claro ac- tos de bola de nieve y conducirán a difer-
tual. CBC entonces encripta el texto en entes textos cifrados.
claro modificado y aplica el resultado al La variante estándar de DM-Crypt apli-
siguiente bloque de texto en claro. ca el número de sector directamente
Échese un vistazo a la Figura 5 para como en IV. Esto está referido a una gen-
ver cómo funciona CBC. Incluso si varios eración plana IV. Desafortunadamente,
bloques de texto en claro contiguos son Figura 7: El modo de encriptación LRW no uti- esta solución es vulnerable a los ataques
idénticos, la recursión produce un efecto liza recursión. Evitar el tipo de ataque ECB de marcas de agua, donde un atacante
de bola de nieve. Esto significa que blo- (Figura 4) añadiendo blancos. El factor de blan- introduce datos para que posteriormente
ques de texto en claro idénticos son queo se calcula haciendo referencia a la posi- pueda redescubrir dichos datos sin tener
modificados usando diferentes resulta- ción en el disco duro de n y a la clave secreta K. que conocer la clave.
72 Número 14 WWW.LINUX-MAGAZINE.ES
DM-Crypt • ADMINISTRACIÓN
WWW.LINUX-MAGAZINE.ES Número 14 73
ADMINISTRACIÓN • DM-Crypt
cryptsetup soporta varias acciones. Cryptsetup-LUKS crea automática- [5] RFC 2898, “PKCS #5: Password-Based
Cryptography Specification Version
Corresponde al tipo de herramientas que mente el dispositivo de bloques con el
2.0”: http://rfc.net/rfc2898.html
permiten a los administradores de Linux nombre específico de verysecret en
asignar sistemas de ficheros a dispositivos /dev/mapper/. La llamada a mkfs.xfs en [6] Moses Liskov, Ronald L. Rivest y
David Wagner, “Tweakable Block
de bloques y montar estos sistemas de la línea 17 pone un sistema de ficheros
Ciphers”: http://www.cs.berkeley.edu/
ficheros. El Listado 1 muestra un ejemplo. XFS en el dispositivo. El resultado puede
~daw/papers/tweak-crypto02.pdf
Para mantenerlo lo menos invasivo que ser montado como se muestra en la línea
[7] IEEE, “Draft Proposal for Tweakable
sea posible, la llamada a dd en la línea 1 19. No hay que olvidarse de desmontar
Narrow-block Encryption”: http://
crea un contenedor de 50 MByte, que se la partición antes de aplicar los cambios
www.siswg.org/docs/
habilita como un dispositivo de bloques (línea 20). LRW-AES-10-19-2004.pdf
usando el bucle de la línea 4.
Inicialmente, la acción más importante Limpiando [8] Clemens Fruhwirth, “LRW for Linux is
dead”: http://grouper.ieee.org/groups/
de cryptsetup es luksFormat, que prepara Después de concluir el trabajo, habría 1619/email/msg00253.html
el dispositivo de bloques (en nuestro caso que deshacer la correspondencia para
[9] Discusión de ls lista de correo del ker-
el dispositivo loopback) para ser usado evitar tener abierta una puerta a los ata-
nel sobre los cambios de Scatterwalk:
para la encriptación. Este es también el cantes y espías. La acción luksClose se http://lkml.org/lkml/2005/1/24/54
paso donde hay que decidirse por un encarga de esto.
74 Número 14 WWW.LINUX-MAGAZINE.ES
080-081_Linuxuser_evince 05.01.2006 13:14 Uhr Página 80
VISOR VERSÁTIL
Evince se está convirtiendo en el visor estándar de GNOME para PDFs y otros formatos de documentos.
D
e todas las visiones de futuro, la documentos entre diversas
de una oficina en la que cada vez plataformas.
haya menos papeles es la que más En el mundo de Linux y
está tardando en llegar. Los montones de Unix, otros formatos tales
papeles sobre los escritorios de los despa- como PostScript y DVI jue-
chos no parece que vayan a disminuir. Sin gan papeles importantes.
embargo, queda aún alguna esperanza: Existen un determinado
determinados libros, especialmente docu- número de visores de docu-
mentación técnica, se encuentran actual- mentos basados en Linux.
mente disponibles en formato electrónico, Gnome incluye actual-
alternativamente o exclusivamente, según mente como visor estándar
sea el caso. Documentos en Portable Doc- para esos ficheros Evince
ument Format (PDF)[2], un formato (Figura 1) [3], una com- Figura 1: El GUI de Evince presenta las necesidades más
desarrollado por Adobe [1], tienen el pleta utilidad. También básicas.
mismo aspecto, sin importar el sistema puede manejar formatos
operativo que se use, y esto implica una gráficos tales como TIFF y DjVu, los Evince implementa características de
verdadera compatibilidad de diseño de cuales típicamente son el resultado de usabilidad realizando sus tareas de ma-
documentos de texto escaneados. nera conveniente y eficiente, en vez de
Después de trabajar como tra- confundir al usuario con una sobredosis
ductor en varios proyectos, El Programa de opciones. En la ventana del programa
Matthias Markus encontró su Si se usa Evince como visor, lo más hay una caja de herramientas junto al
lugar como relaciones públicas
EL AUTOR
Figura 2: Evince presenta miniaturas para las páginas del Figura 4: Evince soporta características PDF tales como protección
documento. con contraseña.
LA MAGIA EXIF
Es posible renombrar y modificar archivos JPEG sin alterar los gráficos modificando las cabeceras del
E
l formato Exchange Image File en la cabecera de la imagen puede pudiera ocurrir en el tratamiento de la
(EXIF) es un estándar incluir aspectos como la fecha y hora de imagen. Este artículo describe algunas
desarrollado por el Japan creación, tiempo de exposición, técnicas para usar los metadatos EXIF
Electronic Industry Development apertura, programa de exposición, para renombrar y tratar imágenes JPEG.
Association (JEIDA) que permite a las tamaño, resolución y orientación de la
cámaras digitales guardar meta- imagen. Uso de Datos EXIF
información en la cabecera de un Linux proporciona diversas Muchos visualizadores gráficos y editores
archivo de imagen. Los datos EXIF se herramientas para tratar los datos EXIF proporcionan el acceso a la información
incluyen con los formatos de archivo directamente. El tratamiento directo de EXIF (véase Tabla 1). Incluso puede verse
como JPEG y TIFF, así como con los los metadatos asociados con los archivos la configuración EXIF desde Konqueror.
formatos de audio como RIFF. En de imágenes ahorra tiempo, fomenta la Para verla desde este explorador, se pulsa
función de la marca y modelo de nuestra automatización, y en algunos casos, el botón derecho del ratón sobre una
cámara, la meta-información guardada evita la pérdida de información que imagen en la ventana de Konqueror y se
24 Número 14 WWW.LINUX-MAGAZINE.ES
024-026_Exif 05.01.2006 12:49 Uhr Página 25
Figura 1: Konqueror muestra la información Figura 2: Krename permite renombrar fotos en función de la fecha de su toma. La ayuda del
EXIF de las fotos. programa explica las complicadas plantillas.
selecciona Properties. La información EXIF intuitivos a sus imágenes. Al editar los Se situan los archivos en la ventana del
se ubica bajo Meta Info (véase Figura 1). datos EXIF, es posible añadir programa y se teclea
Puede añadirse un comentario a la información de fecha y hora al nombre $-[jpgCreationDate]-[jpgCreationTime],
imagen, que será guardada con la de archivo. El programa Jhead [3] ayuda por ejemplo. También pueden usarse
información EXIF en la cabecera del a hacerlo: jhead otras informaciones EXIF y JPEG, como
archivo. La orientación de la imagen se -n%Y-%m-%d_%H-%M-%S *.jpg los comentarios y la calidad del JPEG. Al
recoge en Orientation como un valor renombra las imágenes JPEG del pulsar sobre Functions en la pestaña
numérico (véase la Tabla 2). Los directorio actual. El formato es flexible y Filename muestra los campos. Krename
visualizadores basados en KDE Gwenview fácil de modificar, pero hay que utiliza por defecto el formato de fecha y
y Kuickshow también soportan este asegurarse de no incluir un espacio en hora definido en el KDE Control Center.
cuadro de diálogo estándar. blanco tras la opción -n. Una plantilla como
Si preferimos Nautilus, de nuevo se La opción -nf permite dar a la imagen $-[7-{[jpgCreationDate]}]-[4-5{[jpgCreati
selecciona Properties en el menú. Nautilus un nombre que no esté compuesto onDate]}]-[1-2{[jpgCreationDate]}]-[jpg
muestra los valores EXIF en Image, fundamentalmente por números. Las CreationTime] fija el formato a
aunque la orientación de la imagen no cámaras digitales usan generalmente un YYYY-MM-DD para optimizar las
está incluida. Puede añadirse un formato compuesto por cifras. Esta es la búsquedas (véase Figura 2).
comentario, pero Nautilus lo guarda en manera que tiene
~/.nautilus/metafiles/ en lugar de Jhead de evitar
guardarlo en la imagen. que el usuario use
Linux también proporciona utilidades -n para renombrar
en línea de comandos para tratar los datos archivos que ya
EXIF. Dos de estas había renombrado
herramientas,exiftags[1] y metacam[2] a mano. La opción
ofrecen un amplio abanico de opciones en -ft fija la fecha del
línea de comandos. Algunas distros no archivo con la
incluyen estas utilidades, aunque está fecha en la que se
disponible un paquete RPM para exiftags. tomó la foto.
Como se verá a lo largo de este artículo, La herramienta
otras utilidades para EXIF, como Jhead, Krename de KDE
Krename y Jpegtran son también útiles [4] proporciona
para cierto tipo de tareas. también la
posibilidad de
Renombrado Automático de renombrar
Archivos archivos en Figura 3: Jpegtran permite recortar imágenes sin pérdidas. Si la selec-
Las cámaras digitales son reconocidas función de la ción a recortar no se ajusta completamente a un bloque JPEG, Jpeg-
por proporcionar nombres para nada información EXIF. tran escala la selección hasta alcanzar el número de píxeles necesario.
WWW.LINUX-MAGAZINE.ES Número 14 25
024-026_Exif 05.01.2006 12:49 Uhr Página 26
significa que los programas sólo pueden JPEG. Por ejemplo, jpegtran -perfect
temas en team(ix) GmbH en
efectuar tratamiento sin pérdidas en -rotate 90 image.jpg > image_new.jpg ||
Nuremberg, Alemania. Ya
imágenes de tamaño múltiplo de 8 por 8, djpeg image .jpg | pnmflip -r90 | cjpeg >
instaló Linux en su Amiga 4000
16 por 8 ó 16 por 16 (esto es, 1600x1200 image_new.jpg consigue una imagen sin hace años y usa Linux, prefe-
ó 3072x2048). pérdidas si el tamaño es adecuado, pero rentemente Debian Linux, en su
Ciertos tratamientos de la imagen son en caso contrario, es mejor usar Djpeg y portátil IBM Thinkpad.
siempre sin pérdidas: por ejemplo Cjpeg, los cuales son “con pérdidas”.
26 Número 14 WWW.LINUX-MAGAZINE.ES
LINUX USER • Línea de Comandos
PAQUE-EXPRESS
Un escueto comando es todo lo
E
l empaquetar y comprimir ficheros los ficheros comprimidos que usan for-
reporta numerosos beneficios. El
“gzip” matos comprimidos para el original,
empaquetado y la compresión de El programa gzip (GNU Zip) es el como es el caso de MP3 o JPEG. La lista 1
ficheros ocupa menos espacio en el disco empaquetador por defecto de Linux. muestra la diferencia en la compresión
y requiere menos ancho de banda de Comprime ficheros simples, pero no crea entre un fichero bitmap y un fichero
Internet. Linux posee programas a tal directorios de archivos completos. En su JPEG.
efecto basados en GUI, como son File forma más simple, el comando gzip tiene Adicionalmente puede especificarse
Roller o Ark, así como herramientas de la el siguiente aspecto: un factor de compresión entre 1 y 9 para
línea de comandos para crear y empaque- influenciar la compresión: gzip -1 es
tar varios tipos de archivo. Este artículo gzip fichero rápido y gzip -9 es lento pero tiene un
examina algunas herramientas de la shell índice de compresión superior. El prede-
para el archivado de ficheros y demuestra gzip sustituye el fichero original con una terminado es -6. Si se quiere cambiar
el tipo de empaquetado experto que las versión comprimida añadiendo la exten-
inteligentes combinaciones de los coman- sión .gz. Las propiedades del fichero, Listado 1: Compresión
dos de Linux ofrecen al usuario de la línea como el acceso y la marca del tiempo de Comparada
de comandos. modificación se guardan en el proceso de
01 $ <B>ls -l<B>
empaquetado. Si se prefiere usar una
extensión diferente, puede establecerse el 02 -rw-r--r-- 1 daisy daisy
Línea de Comandos 2313894 Sep 3 22:47
parámetro -S (sufijo) para especificarlo.
A pesar de que los GUIs como KDE y Por ejemplo, el comando screenie.bmp
GNOME son útiles para muchas tareas, 03 -rw-r--r-- 1 daisy daisy
si quieres sacar el máximo partido de tu gzip -S .z imagen.bmp 169862 Sep 5 12:41
instalación Linux, tendrás que volver a screenie.jpg
la vieja y fiable línea de comandos de crea un fichero comprimido llamado 04 $ <B>gzip screenie*<B>
vez en cuando. Además, habrá oca-
image.bmp.z
siones cuando te enfrentes a situa- 05 $ <B>ls -l<B>
El tamaño del fichero comprimido
ciones en las que un conocimiento prác- 06 -rw-r--r-- 1 daisy daisy 9547
depende de la distribución de entradas
tico de las instrucciones del shell puede
idénticas en el fichero original. gzip com- Sep 3 22:47 screenie.bmp.gz
ahorrarte tiempo o sacarte de un apuro.
Esta sección pretende ser tu guía en la primirá un fichero de manera más efi- 07 -rw-r--r-- 1 daisy daisy
jungla de instrucciones de los termi- ciente si contiene patrones que se repiten 130524 Sep 5 12:41
nales de texto. frecuentemente. No funciona bien para screenie.jpg.gz
¡Todos Juntos!
Como se ha mencionado previamente, tar
dispone de un número de parámetros para
crear archivos comprimidos gzip o bzip2
de una vez. La sintaxis para la
variante del comando tar es:
imgSeek • PORTADA
BUSCAR LA FORMA
El visor de imágenes imgSeek ofrece una alternativa única a la correspondientes paquetes de desarrollo
para permitir a imgSeek que trate los
búsqueda tradicional por nombre de archivo: se puede buscar una foto numerosos formatos gráficos soportados
por esta librería gráfica. Si además se
basándose en formas de la imagen. POR CARSTEN SCHNOBER instala el paquete Python-Imaging,
imgSeek también podrá tratar y editar los
L
a mente humana es capaz de recor- que la versión disponible presenta diver- metadatos de varios formatos gráficos.
dar imágenes más fácilmente que sos problemas que lo hacen casi inutili-
hechos y cifras. Ésta fue la idea zable. ¡Adelante!
básica que originó el programa imgSeek imgSeek es un programa en Python, por Tras completar la instalación, sólo será
(http://imgseek.python-hosting.com), el lo que no es necesario compilarlo después necesario teclear el comando imgSeek
cual agrupa las imágenes de acuerdo a su de instalarlo desde el código fuente. Puede para arrancar el programa. ¡Ojo con la S
motivo. Por ejemplo, imaginemos que se obtenerse el código fuente en la página mayúscula! La primera vez que
están buscando todas las imágenes de Web de imgSeek: http://imgseek. arrancamos el programa, no se verá
nuestra colección que muestren una python-hosting.com. Se requieren privile- ninguna imagen. Si se tiene la colección
palmera. Simplemente se puede intro- gios de root para instalar los archivos del de imágenes en el disco duro, se deseará
ducir la imagen de una palmera a paquete imgSeek-0.8.5.tar.bz2. En primer que la analice justo en este momento.
imgSeek, y el programa encontrará todas lugar es preciso descomprimirlo con tar Para ello, se pulsa en la pestaña Add de la
las que sean similares. Alternativamente, -xjf imgSeek-0.8.5.tar.bz2 y posteriormente ventana principal (véase Figura 1).
se podría hacer un esbozo de lo que se se teclea el comando ./install. imgSeek subdivide la base de datos de
está buscando con la herramienta de imgSeek requiere el lenguaje de script las imágenes en volúmenes. El volumen
dibujo integrada, e imgSeek mostrará Python y los paquetes de desarrollo, que estándar incluye cualquier archivo que se
todo lo que recuerde a nuestro boceto. llevan el nombre de python-dev o haya añadido en el sistema de archivos
Por supuesto que imgSeek también python-devel, en función de la distribu- Local filesystem. Si se añaden imágenes
dispon de la funcionalidad que permite ción, así como de
agrupar las imágenes por nombre de PyQt, también con
archivo y directorio, fecha de creación o los paquetes de
entradas de metadatos. Además puede desarrollo (deben lla-
exportar colecciones de imágenes a marse algo como
archivos HTML para ayudarnos a configu- pyqt o python-qt con
rar una página Web, o puede llenar un CD la extensión dev o
para poderlo visualizar fácilmente con un devel). Por último, es
navegador. imprescindible el
paquete de desa-
Instalación rrollo de Qt, libqt-dev
Tanto Suse como Debian incluyen o qt-devel, en función
imgSeek, y puede ejecutarse Yast o apt-get de nuestra distribu-
install imgseek para instalar el programa. ción.
El paquete está también en el repositorio Puede ser una
universe de Ubuntu, aunque pueden que buena idea instalar Figura 1: imgSeek clasifica grandes colecciones de imágenes en
se prefiera instalarlo manualmente, ya ImageMagick y los función de criterios como la fecha, nombre de fichero y el motivo.
PORTADA • imgSeek
imgSeek • PORTADA
LINUX USER
INSEGURIDADES
Schlagwort sollte hier stehen
INSEGURIDADES
■ phpmyadmin permitirían a un atacante provocar la Layer Security (TLS v1), así como una
Se han descubierto algunas vulnera- inclusión de un fichero local arbi- librería criptográfica de propuesta gene-
bilidades de scripting de sitio cruzado trario en phpmyadmin. ral de potencia industrial.
en phpmyadmin, un juego de scripts • CVE-2005-3301 – Tobias Klein des- OpenSSL contiene una solución soft-
PHP para administrar MySQL desde la cubrió vulnerabilidades de sitio ware para un error en la manipulación
web. El Proyecto de Vulnerabilidades y cruzado permitiendo a los atacantes SSL en IE 3.0.2. Dicha solución se
Exposiciones Comunes identifica los inyectar HTML o scripting del lado encuentra disponible en la mayoría de los
siguientes problemas: del cliente.■ servidores que usan OpenSSL para ofre-
• CAN-2005-2869 – Andreas Kerber y Referencia Debian: DSA-880-1 Refer- cer soporte para SSL y TLS. Yutaka Oiwa
Michal Cihar descubrieron algunas encia Gentoo: GLSA 200510-16 Referen- descubrió que la solución podría permitir
vulnerabilidades de sitio cruzado en la cia Mandriva: MDKSA-2005:201 que un atacante actuara como “un hom-
página de error y en el login de cook- bre de en medio” para forzar a una
ies. ■ OpenSSL conexión SSL a usar SSL 2.0 en vez de un
• CVE-2005-3300 – Stefan Esser des- OpenSSL es un juego de herramientas protocolo más fuerte como SSL 3.0 o TLS
cubrió restricciones de seguridad que implementa los protocolos Secure 1.0. El Proyecto de Vulnerabilidades y
perdidas en grap_globals.php que Sockets Layer (SSL v2/v3) y Transport Exposiciones Comunes (Common Vulne-
rabilities and Exposures o CVE – http://
POLITICAS DE SEGURIDAD DE LAS DISTRIBUCIONES MAYORITARIAS cve.mitre.org) ha asignado a este prob-
lema el nombre CAN-2005-2969.■
Distribuidor Fuente Seguridad Comentario
Referencia Debian: DSA-875-1 Referen-
Debian Info:http://www.debian.org/security/ Los avisos de seguridad actuales se in-
Lista:http://www.debian.org/debian-security-announce/ cluyen en la página de inicio. Los avisos cia Red Hat: RHSA-2005:800-8 Referencia
Referencia:DSA-…1) se proveen como páginas HTML con Slackware: SSA:2005-286-01 Referencia
enlaces a los parches. Los avisos también Suse: SUSE-SA:2005:061.
incluyen una referencia a la lista de
correo.
Gentoo Info:http://www.gentoo.org/security/en/index.xml Los avisos de seguridad actuales para ■Unzip
Foro:http://forums.gentoo.org/ la lista Gentoo en el sitio web de Unzip 5.51 y versiones anteriores no
Lista:http://www.gentoo.org/main/en/lists.xml seguridad de Gentoo enlazan desde la advierten correctamente al usuario
Referencia:GLSA:… 1) página principal. Los avisos se presentan
cuando obtienen ficheros setuid o setgid,
en HTML con códigos para fusionar las
versiones corregidas.
lo cual podría permitir que los usuarios
Mandrake Info:http://www.mandrakesecure.net Mandrakesoft posee su propios sitio web locales obtuvieran privilegios. (CAN-
Lista:http://www.mandrakesecure.net/en/mlist.php que versa sobre temas relacionados con 2005-0602)
Referencia:MDKSA:… 1) la seguridad. Entre otras cosas,incluye Imran Ghory encontró una condición
avisos seguridad y referencias a las
listas de correo. Los avisos son páginas
de carrera en la manipulación de ficheros
HTML,pero no contienen enlaces a los de salida. Mientras se desempaquetaba
parches. un fichero mediante unzip, un atacante
Red Hat Info:http://www.redhat.com/errata/ Red Hat archiva los fallos de seguridad local con permisos de escritura sobre el
Lista:http://www.redhat.com/mailman/listinfo/ bajo lo que denominan erratas. A
directorio objeto podría explotarlo y
Referencia:RHSA-… 1) continuación los problemas para cada
versión de Red Hat se agrupan. Los avisos cambiar los permisos de ficheros arbi-
de seguridad se proveen como una trarios del usuario unzip. Esto afecta a
página HTML con enlaces a los parches. versiones de unzip 5.52 y anteriores
Slackware Info:http://www.slackware.com/security La página de inicio contiene enlaces al
(CAN-2005-2475). Los paquetes actua-
Lista:http://www.slackware.com/lists/(slackware-security) archivo de seguridad de la lista de correo.
Referencia:[slackware-security]… 1) No existe información adicional sobre lizados se han parcheado provisional-
seguridad en Slackware. mente para evitar estos problemas.■
Suse Info:http://www.suse.de/en/private/support/ Ya no existe un enlace a la página de Referencia Mandriva: MDKSA-2005:197
security/index.html seguridad tras un remodelado en el sitio
Parches:http://www.suse.de/en/private/ web de SuSE. Existe información en la
download/updates Lista:suse-security-announce lista de correos y los avisos. Los parches de
■Wget
Referencia:SUSE-SA… 1) seguridad para versiones individuales de GNU Wget es una utilidad de recu-
SuSE Linux se muestran de color rojo en el peración de ficheros que puede usar pro-
sitio de actualizaciones generales. tocolos HTTP o FTP.
Contiene una corta descripción de la
vulnerabilidad que soluciona el parche.
Se encontró un error en el desbor-
1) Todos los distribuidores muestran correos de seguridad en el campo Subject. damiento de búfer basado en pila en la
INSEGURIDADES
implementación de la autenticación ciones Comunes (Common Vulnerabili- mitre.org) ha asignado el nombre CAN-
NTLM de wget. Un atacante podría eje- ties and Exposures o CVE – http://cve. 2005-2959 a este problema.■
cutar código arbitrario sobre la máquina mitre.org) ha asignado los nombres CVE- Referencia Debian: DSA-870-1 Referen-
de otros usuarios si el usuario puede ser 2005-3241, CVE-2005-3242, CVE-2005- cia Mandriva: MDKSA-2005:201 Referen-
burlado en la conexión a un servidor 3243, CVE-2005-3244, CVE-2005-3245, cia Red Hat: RHSA-2005:527-16
web malicioso usando autenticación CVE-2005-3246, CVE-2005-3247, CVE-
NTLM. El Proyecto de Vulnerabilidades y 2005-3248, CVE-2005-3249 y CVE-2005- ■Lynx
Exposiciones Comunes (Common Vul- 3184 a estos problemas.■ Lynx es un navegador web basado en
nerabilities and Exposures o CVE – Referencia Gentoo: GLSA 200510-25 Ref- texto.
http://cve.mitre.org) ha asignado el nom- erencia Red Hat: RHSA-2005:809-6 Ulf Harnhammar descubrió un error de
bre CAN-2005-3185 a este problema.■ desbordamiento de pila en la manera en
Referencia Mandriva: ■Sudo que Lynx manipula conexiones a servi-
MDKSA-2005:204 Referencia Red Hat: Sudo (Superuser Do) es un programa dores NNTP (noticias). Un atacante
RHSA-2005:812-5 Referencia Suse: para sistemas basados en Linux y Unix podría crear una página web que redirec-
SUSE-SA:2005:063 que permite a cualquier usuario ejecutar cionara a un servidor de noticias mali-
comandos como superusuario. cioso que podría ejecutar código arbi-
■Ethereal Tavis Omandy descubrió que Sudo no trario como si se tratara del usuario que
El paquete Ethereal es un programa para realiza una limpieza de entorno integral; corre Lynx. El Proyecto de Vulnerabili-
monitorizar el tráfico de la red. las variables SHELLOPTS y PS4 todavía dades y Exposiciones Comunes (Common
Se han descubierto fallos en este pro- se pasan al programa como si se tratara Vulnerabilities and Exposures o CVE –
grama. En un sistema en el que está co- de un usuario alternativo, que en la eje- http://cve.mitre.org) ha asignado el nom-
rriendo Ethereal, un atacante remoto cución de comandos arbitrarios puede bre CAN-2005-3120 a este problema.■
podría enviar paquetes maliciosos para resultar como el usuario alternativo Referencia Debian: DSA-876-1 Referen-
desencadenar dichos fallos y hacer que cuando se ejecuta un script bash. El cia Gentoo: GLSA-200510-15 Referencia
Ethereal se estropeara o que potencial- Proyecto de Vulnerabilidades y Exposi- Mandriva: MDKSA:2005:186 Referencia
mente ejecutara código arbitrario. El ciones Comunes (Common Vulnerabili- Red Hat: RHSA-2005:803-4 Referencia
Proyecto de Vulnerabilidades y Exposi- ties and Exposures o CVE – http://cve. Suse: SUSE-SR:2005:02
LA MEJOR IMAGEN
El entorno Linux incluye algunas poderosas herramientas para editar, manipular y escanear imágenes digitales.
L
as modernas tecnologías de ima- Introducción estarán familiarizados con estos
gen digital ofrecen hoy día solu- problemas, pero para aquellos que no
Los artículos del tema de portada de este
ciones a algunos problemas estén inmersos en la revolución digital,
mes no requieren ser experto en
históricos que arrastraba la fotografía se empezará con una breve
fotografía digital, pero será útil que se
desde la invención de la cámara. Pero la introducción.
tenga algún conocimiento de los
fotografía digital ha introducido una problemas relacionados con la
nueva serie de problemas, y la gran manipulación de
potencia de los medios técnicos ha prop- imágenes.
iciado nuevas posibilidades para el Muchos
procesamiento de imágenes. lectores
Todas estas nuevas posibilidades han
conducido a una nueva generación de
herramientas. El entorno Linux propor-
ciona numerosas y excelentes utilidades
para el visionado, edición y proce-
samiento de imágenes digitales, y en
el tema de portada de este mes se
examinan algunas de estas her-
ramientas.
Se comenzará echando un vis-
tazo a imgSeek, una herramienta
futurística que permite ordenar
las fotos por la forma de un
objeto de la imagen. También se
examinará Xnview, un visor de
imágenes y editor que es capaz
de leer la increíble cifra de 400
formatos gráficos. También se
aprenderá acerca del front-end
XSane para controlar escáners, y se
verá cómo editar archivos JPEG
desde la línea de comandos.
TEMA DE PORTADA
imgSeek...............................................15
Xnview................................................. 18
Xsane................................................... 21
Exif....................................................... 24
TIFF (Target Image File Format) es el formato introdujo el método estandarizado para la ques, efecto alias y otros problemas (véase la
más importante para el intercambio de infor- compresión con y sin pérdidas en 1992. En el Figura 1).
mación en la fase previa a la impresión. El
formato tiene su origen en el campo de las PNG Portable Network Graphics (PNG) se
publicaciones y se usa generalmente en apli- diseñó como un sustituto libre para el for-
caciones profesionales. Las imágenes TIFF mato GIF, que está protegido por patentes. El
usan un formato de compresión sin pérdi- PNG combina los beneficios de GIF y de
das. El nivel de calidad máxima de muchas JPEG. PNG tiene las mismas características
cámaras digitales usa TIFF, que es perfecta de GIF con algunas excepciones, como las
para imágenes impresas realmente grandes, animaciones, pero con una compresión
debido a que se evita la degradación que mayor. Al igual que GIF, PNG soporta píxeles
puede aparecer con JPEG. de una paleta de 256 colores, así como imá-
genes en escala de grises con 1, 2, 4, 8 ó 16
RAW El formato RAW no es realmente un bits, e imágenes en color (RGB) con 8 ó 16
formato de archivo, sino un tipo de datos. bits por canal. Se utiliza compresión sin pér-
Cada fabricante tiene su estándar propietario, didas para guardar los datos.
y estos estándares generalmente no son
compatibles. Las cámaras suelen guardar la Desafortunadamente, no todos los nave-
información de la imagen en RAW en una gadores soportan las capacidades de este
tarjeta de memoria. Las herramientas que la formato, y ésta es la razón por la cual no se
cámara pueda tener para mejorar la calidad Figura 1: Si el archivo está demasiado com- usa generalmente en fotografía digital. La
de la imagen se deshabilitan. Este formato primido, pueden aparecer zonas degradadas mayoría de las cámaras no soportan el for-
(véanse las nubes de la imagen).
sólo tiene sentido para entornos profesio- mato PNG.
nales. Además, una imagen RAW puede
ocupar el triple de espacio a su equivalente proceso de compresión, una ventana se GIF GIF (Graphics Interchange Format)
en formato JPEG. Si aún así se quiere traba- mueve secuencialmente a lo largo de la ima- puede tratar un máximo de 256 colores dife-
jar con el formato RAW, es preciso asegu- gen y acumula la información en bloques. rentes. Este formato se ha quedado algo
rarse antes de comprar la cámara de que Cuanta más alta sea el ratio de compresión, anticuado hoy día, aunque GIF aún está bas-
existen realmente las herramientas bajo más grande será la ventana de procesado. tante bien para gráficos y dibujos. Debido a
Linux para editar y leer estos archivos RAW. Esto lleva a una cierta pérdida de detalle y de su poca profundidad de color, no es ade-
enfoque si se selecciona un índice demasi- cuado para fotos a color. Las fortalezas de
JPEG JPEG significa Joint Photographic ado alto. En el peor de los casos puede apare- este formato son su habilidad para mostrar
Experts Group, el nombre del comité que cer degradación por compresión como blo- transparencias y gráficos animados.
Ojos Rojos
Los ojos rojos son otro problema que es
posible corregir en pocos segundos. Los
ojos rojos aparecen cuando las personas
o animales están en un entorno relativa-
mente oscuro y se fotografían usando
flash. La razón de esto es que la luz del
flash se refleja en la retina. La distancia y
el ángulo entre la cámara y el ojo, así
como el tamaño de la pupila, pueden
valores
contribuir a este indeseable efecto. Puede
de
Contraste saturación.
combatirse en el momento de sacar la
Muchas fotos foto usando un pre-flash antes de sacarla,
También se
carecen con ya que esto causa que la pupila de la per-
pueden cambiar
frecuencia de sona se contraiga.
los valores de color o
contraste o son Casi todas las herramientas de retoque
experimentar con el balance de color.
demasiado fotográfico ofrecen un eliminador de ojos
oscuras. Los rojos, ya sea incorporado o como plugin
colores no Más Nitidez opcional. En la mayoría de los progra-
representan la imagen tal y como se Algunas veces las fotos salen bastante mas, simplemente tendrá que dibujar
recordaba. Si esta carencia no es bien, con colores vivos, buen contraste y una selección alrededor de los ojos y lan-
demasiado extrema, pueden aplicarse las un motivo brillante, pero la cámara se zar la rutina. La herramienta analiza el
herramientas proporcionadas por nuestro movió o se tomó la foto con una ligera brillo de los valores rojos y los sustituye
programa de manipulación de imágenes a sobre-exposición que provocó un cierto con unos valores más oscuros (véase la
la imagen entera. Se puede probar a aplicar desenfoque. Si la imagen tiene un desen- Figura 3). Con un poco de habilidad,
los controles de brillo y contraste en foque ligero, puede aplicars la he- podemos hacer esto de manera manual.
primer lugar. Las fotos en exteriores se rramienta de nitidez (sharpen). Algunos Nuestros resultados mejorarán con la
benefician particularmente del incremento programas de retoque permiten definir práctica.
de contraste (véase Figura 2). Aumentar una máscara donde no se aplica la he-
únicamente el brillo raramente mejora los rramienta, lo que permite aplicarla con Escalado y Formato de
resultados, pero es posible intentar una bastante control. No tiene sentido Imágen
combinación de más contraste y más pasarse con la herramienta de nitidez. Si Es difícil escalar una imagen. Obvia-
brillo. Puede realizarse un ajuste fino del nos excedemos, pueden aparecer arrugas mente no hay restricciones físicas, pero
brillo y contraste aplicando la herramienta o halos semitransparentes. Para acentuar incluso un ligero escalado puede reducir
de mejora del color. O bien si es preciso el motivo principal, es posible suavizar la calidad. Existen varios algoritmos
concentrarse mucho en encontrar los el fondo. Si tanto el primer plano como (véase la Figura 4) que ayudan a alcanzar
valores adecuados, usar las curvas de color el fondo están enfocados, puede con- el mejor resultado posible. Xnview tiene
es la manera adecuada. Ambas opciones seguirse una especie de efecto 3D apli- al menos ocho métodos de escalado,
requieren un programa de retoque de cando un filtro de imagen borrosa. Para aunque algunos de ellos tienen efectos
imágenes medianamente potente, como mantener el control del retoque de la secundarios como un enfoque suavizado
por ejemplo GIMP. imagen, se debería desactivar la función o pixelado.
Si nuestra foto está muy pálida, pueden “pre-sharpening” de nuestra cámara,
conseguirse los valores necesarios de que generalmente está activada por Conclusión
intensidad de color incrementando los defecto. En el tema de portada de este mes se
habla de fotografía digital, pero también
se habla de Linux. En los siguientes
artículos se verá cómo el entorno Linux
se adapta al surgimiento de las nuevas
tecnologías a través del desarrollo de
nuevas herramientas de Software Libre.
La mayoría de los fotógrafos digitales
saben lo fácil que es llenar un disco duro
con imágenes. La pregunta es qué hace-
mos con todas estas imágenes una vez
que las tenemos en nuestro ordenador. El
tema de portada de este mes ayudará a
Figura 4: La imagen de la izquierda fue escalado usando el algoritmo Mitchell. La de la iniciarnos en la edición, retoque y esca-
derecha con el método Nearest Neighbor. neo de imágenes digitales en Linux. ■
KLAUS
KNOPPER
Klaus Knopper tiene aún grandes ideas para la pequeña
LM Cuéntanos, ¿a qué te dedicas cuando namiento en el trabajo, le llamé Knop- que tiendo a enfrascarme demasiado
no estás trabajando en Knoppix? ¿Y qué pix, a falta de un nombre mejor. Se pu- (soy bastante testarudo) en lo que hago,
era lo qué hacías antes de que todo esto blicó por primera vez en el año 2000 en por lo que no presto demasiada atención
empezara? el Atlanta Linux Showcase como caso de a preguntas no relacionadas o sugeren-
estudio. Más tarde hice de Knoppix un cias. Pero hay de 3 a 5 personas que re-
KK Me gradué como ingeniero eléctrico proyecto público con varios servidores gularmente ayudan a mejorar partes de
en la Universidad de Kaiserslautern, Ale- de descarga para poder sacar un cierto Knoppix, eso sin contar los cientos de
mania, y he trabajado en la adminis- feedback de los entornos hardware y desarrolladores de software libre que
tración de sistemas Unix desde que dejé peticiones de características. crean los paquetes Debian y el software
la escuela. Mientras estudiaba, también de usuario en que está basado Knoppix.
trabajé como consultor independiente. LM ¿Cómo decides qué incluyes en Así mismo, el trabajo de otras distribu-
Fui profesor, desarrollador software y, Knoppix? ciones basadas en Knoppix a menudo
salvo por la parte de administración a la retorna a la edición descargable de ésta,
que ya no me dedico, el resto sigue más KK El contenido está altamente influen- siempre que sea legal y técnicamente
o menos igual. Además de mi trabajo ciado por lo que realmente necesito para posible.
como consultor y los diversos proyectos un trabajo de formación o de consul-
en los que estoy implicado, imparto toría. Incluyo también herramientas que LM La nueva versión DVD de Knoppix
clases de informática (básica y desarrollo encuentro útiles o interesantes. Recibo ofrece mucho mayor espacio. ¿En qué se
de software Linux) en la Universidad de correo a diario de gente pidiendo alguna está usando este espacio adicional?
Ciencias Aplicadas en Zweibrücken. aplicación o característica. Algunas de ¿Cuáles son algunas de las cosas que se
estas sugerencias pueden implementarse incluyen en Knoppix 4 que no cabían en
LM ¿Cómo empezó Knoppix? y asumirse en Knoppix, pero otras no, versiones anteriores?
principalmente por motivos de licencias
KK Knoppix arrancó en torno a 1999, o patentes, o simplemente por falta de KK El espacio era siempre la última fron-
cuando recibí una de esos CD’s de espacio físico. tera de la edición en CD, que trataba de
rescate del tamaño de una tarjeta de mantener desde herramientas de rescate
visita que se regalaban como promoción LM ¿Dispones de un equipo de ayu- en consola de comandos hasta IDEs de
en el CeBit. Por pura curiosidad y si- dantes, como otros proyectos de Soft- desarrollo en un único CD. Con los siem-
guiendo la filosofía del Software Libre, ware Libre? ¿O por el contrario trabajas pre crecientes KDE y Open-Office, la
investigué el sistema de arranque para más bien en solitario? división entre una edición CD “light” y
ver cómo funcionaba. Más tarde creé un una DVD “maxi” tenía que llegar tarde o
CD auto-arrancable con los programas KK Debo admitir que usualmente tra- temprano. Ahora trato de clasificar el
que usaba con frecuencia. A este bajo solo, simplemente debido a mis software en lo mejor del escritorio y he-
proyecto que surgió como un entre- extrañas horas de trabajo y al hecho de rramientas de rescate para el CD, y todo
WWW.LINUX-MAGAZINE.ES Número 14 89
089-091_KnopixxL14 05.01.2006 13:20 Uhr Página 90
lo demás para el DVD. Iremos encon- Existe un gran problema, en mi opinión, de Linux sin modificar, directamente al
trando menos software de desarrollo en con las tarjetas gráficas. Por algún lugar donde se compró y pedir que le
el CD en el futuro. El DVD contendrá motivo, se ha convertido en una especie devuelvan el dinero. Si mucha gente
más software de desarrollo por tanto, de deporte para los fabricantes de tarje- reclama su derecho a comprar hardware
además de otros paquetes que se han tas gráficas el lanzar drivers semi-pro- que simplemente funcione sin problemas
vuelto demasiado grandes para el CD, pietarios, con licencias restrictivas en con CUALQUIER sistema operativo, esto
incluyendo material innecesario como mayor o menor medida, pero que no quizás podría cambiar la actitud de
juegos libres. pueden ser consideradas “de libre dis- algunos fabricantes.
Un caso a mencionar es el sistema de tribución”. Tratar de imaginar qué es lo
procesamiento de textos científicos que hace el driver, o incluso mejorarlo o LM ¿A dónde se dirige? Colocar Knoppix
LaTeX. Tuve que quitarlo del CD, pero portarlo, está estrictamente prohibido en en un DVD parece un cambio realmente
ahora ha vuelto al DVD. Aunque per- la mayoría de los casos. Algunos pen- grande. ¿Tiene otros cambios en mente
sonalmente prefiero LaTeX a cualquier sarán que el motivo de estas licencias es para el futuro?
otro procesador de textos basado en ocultar ciertas cosas, como optimiza-
interfaz gráfica, OpenOffice era simple- ciones especiales para benchmarks KK Le estoy dando vueltas a añadir algu-
mente más importante a la hora de específicos que hacen que la gente com- nas herramientas a Knoppix para que
mostrar las cualidades ofimáticas de pre estas tarjetas. Para mí, la mayoría de pueda arrancar desde otros dispositivos,
Knoppix. estas licencias son inaceptables. Son como memory sticks o discos flash. Ya
inseguras porque nunca podrás saber si existen algunos derivados de Knoppix con
LM Knoppix tiene que estar al corriente existe alguna puerta trasera en estos dri- este objetivo, pero pienso que debería ser
de diferentes tipos de hardware. ¿Traba- vers que se ejecutan a nivel de kernel, y posible crearse uno mismo su propia ver-
jas en ocasiones directamente con HP, son incompatibles con la licencia de dis- sión de Knoppix-on-stick desde el menú
Intel y otras grandes compañías? tribución de Knoppix. Por tanto, no las de un Knoppix CD o desde una instalación
incluyo. Uso los drivers libres, aunque en disco duro. Continuar con el desarrollo
KK Me gustaría que fuese así, sin sin aceleración, de estas tarjetas. Otros para el hardware actual y añadir nuevo e
embargo, las grandes compañías no suelen derivados de Knoppix, sin embargo, son interesante software puede ser un trabajo
ser demasiado cooperativas y a veces pare- menos delicados en cuanto a temas de a jornada completa. Pero estoy tratando
cen estar esperando hasta que alguien licencias y a veces incluyen estos drivers de bajar un poco el ritmo de los lanza-
reinventa la rueda y escribe un driver propietarios. mientos debido a que estoy también
mediante ingeniería inversa, o que simple- involucrado en otros proyectos.
mente se comprueba que funciona LM ¿Cuál es la postura de estas grandes
surgiendo de la nada. Hay que añadir a compañías de hardware respecto a tu LM ¿En qué ocupas la mayor parte del
esto la gran cantidad de hardware barato labor? tiempo con Knoppix? ¿Puedes comen-
defectuoso por fallos de diseño que encon- tarnos brevemente un ciclo de actua-
tramos hoy día. Esto hace que el kernel de KK A día de hoy, sólo prestan algo de lización típico? ¿Qué tiene que ocurrir
Linux esté engordando a base de apaños apoyo en el sentido de que algunas usan para que edites una nueva versión de
para BIOS y placas base defectuosas, lo a veces Knoppix (o algún derivado) Knoppix?
cual es muy triste. Sería fantástico tener como una especie de proclama para
estándares de diseño hardware aceptados decir que su hardware es x por ciento KK No se necesita mucho tiempo para
de manera general, pero aparentemente, compatible con Linux. Desafortunada- correcciones menores y actualizaciones
sobre todo cuando se habla de los fabri- mente, a algunos fabricantes les parece de software, debido al sencillo sistema
cantes de tarjetas gráficas, esto no se tiene inaceptable que deban seguir algún de actualización de Debian. A veces,
en cuenta. Parece que ser incompatibles estándar en el desarrollo de su hardware. cuando aparece una nueva versión de
con los productos actuales es la misión de En su lugar, creen que Linux debería KDE o una nueva tecnología como
la compañía según algunos diseñadores. modificarse para poder soportar mejor unionfs, nos ponen las cosas más fáciles
Aún así, uso el kernel básico que se pu- su hardware no-estándar. En mi opinión, (fundamentalmente a mi). Aunque se
blica en kernel.org, y algunos módulos adi- están equivocados. Por supuesto hay necesita un mayor tiempo para alcanzar
cionales para ciertos componentes hard- excepciones. Algunos fabricantes son un estado estable después de una actua-
ware más nuevos que aún no han entrado reconocidos por hacer hardware 100% lización. Siempre que aparece un bug
en la rama principal del kernel. Con esto, soportado por Linux. Sin embargo, muy grave que afecta a la estabilidad, aparece
afortunadamente, mandamos como men- poca gente pregunta por ellos al comprar una nueva versión tan pronto como es
saje a los fabricantes de hardware que hardware nuevo. posible (a veces incluso al día siguiente),
deberían tratar de seguir los estándares La presión del mercado no es todavía pero afortunadamente, esto no ha sido
abiertos y documentar sus productos ade- suficiente para lograr que los fabricantes necesario muchas veces. Para cambios
cuadamente. De manera que podrán estar dejen de hacer hardware que sólo fun- de envergadura, suelo tomarme un
adecuadamente soportados en el siguiente ciona con una arquitectura cerrada tiempo y lanzo la nueva versión cuando
lanzamiento del kernel, en lugar de sacar dependiente de un driver propietario. está completamente lista.
por su cuenta un módulo propietario, inse- Mi consejo es simplemente devolver Cuando tengo encargo de pago para una
guro y no distribuible, para el kernel. hardware que no funcione con el kernel edición especial de Knoppix, puedo
90 Número 14 WWW.LINUX-MAGAZINE.ES
089-091_KnopixxL14 05.01.2006 13:20 Uhr Página 91
dedicar más tiempo y esfuerzo para licencias del software que incluyo en en mente que la DCCA no está tratando
sacar la edición dentro de un cierto ca- Knoppix. de cambiar la manera de trabajar o
lendario. En la mayoría de los casos, las desarrollar de Debian. Sólo trata de
funcionalidades especiales programadas LM Knoppix es miembro de la nueva encontrar y establecer una base común
para esta versión específica aparecen Debian Common Core Alliance (DCCA). entre las distribuciones comerciales
más tarde para su descarga pública. ¿Cómo afectará esto a tu trabajo con basadas en Debian que usan el soft-
Knoppix? ¿Asumirá esta alianza algunas ware disponible al público desde
LM Cuéntanos algo más acerca de estas tareas que estás haciendo en la actuali- Debian.
ediciones especiales de pago. ¿Quién dad? Hasta el momento, no existe un sistema
encarga estas ediciones y por qué? de votación o jerarquía estrictos, ya que
KK La alianza está tratando de estable- la mayoría de los asuntos se deciden
KK Como pasa con la mayoría de los cer interoperabilidad y compatibilidad de por consenso o se resuelven fácilmente
proyectos de Software Libre, la mayor paquetes entre varias distribuciones con soluciones técnicas y metapaque-
parte del trabajo de Knoppix lo hago en basadas en Debian, de manera que sin tes. En estos momentos, estamos dis-
mi tiempo libre y fundamentalmente importar qué marca de Debian uses, cutiendo asuntos relacionados con los
para satisfacer mi curiosidad o para puedas actualizar o ampliar una distribu- paquetes del kernel, lo cual no es tan
adquirir experiencia y conocimiento de ción con software de otra. sencillo como las cuestiones de con-
software nuevo. Pero en ocasiones algún Knoppix ya es al 99% compatible con formidad con LSB. En caso de que haya
cliente requiere una versión de Knoppix Linux Standard Base (LSB),sin embargo, recomendaciones de nuevos paquetes o
personalizada para algún propósito espe- al haber sido diseñado históricamente cambios de dependencias, se procederá
cial, y esto por supuesto es trabajo que para ser ejecutado desde un medio de siguiendo los cauces usuales en Debian
ha de pagarse como cualquier otro sólo lectura, hay algunos cambios en la para hacer una propuesta (en forma de
proyecto de software comercial. El tra- rama principal de Debian que deberían, un parche, por ejemplo) a los mantene-
bajo suele licenciarse bajo las condi- a largo plazo, tratarse de manera dife- dores de paquetes.
ciones GNU. (Debe ser así, ya que se rente. Ya es posible instalar Knoppix en
basa en Software Libre). disco duro y actualizarlo desde los repo- LM Con la gran cantidad de distribu-
Los clientes que piden una versión co- sitorios de Debian, pero en algunos ciones live de Linux que existen en el
mercial de Knoppix suelen ser revistas casos, debemos tener cuidado con prob- mundo, ¿qué hace a Knoppix diferente?
de informática que quieren incluir un CD lemas con las versiones de KDE y las Dicho de otra forma, ¿cuál es la razón
o DVD arrancable con un número, o que librerías del sistema, por ejemplo, o con del éxito de Knoppix?
quieren vender algo que aún no está versiones parcheadas del software
disponible todavía. Por ejemplo, un edi- Debian (como sysvinit-knoppix). KK Knoppix se diseñó como un sis-
tor puede pedir un antivirus basado en Al adoptar Knoppix la lista de paquetes tema live (principalmente conmigo
Linux que arranque desde un miniCD, o principal de DCCA e integrar los cambios mismo como usuario destino) para
un servidor SAMBA en CD o tal vez una específicos de Knoppix como paquetes desarrollar trabajo de verdad y produc-
edición especial con juegos. Otros separados, esto ayudará a facilitar las tivo en ordenadores extraños, basado
clientes pueden ser organismos oficiales cosas tras una instalación en disco duro. en sistema Linux pre-instalado con una
que quieren tener una plataforma Knoppix se comportará de manera más rápida auto-configuración y gran facili-
estandarizada para su propio software, parecida a un sistema Debian estándar dad de uso. Knoppix no es un mero
escuelas, entidades de formación o cien- (con extensiones) que ahora. disco de demostración o una he-
tíficas, universidades o incluso proyectos rramienta de hackers. Otras distribu-
internacionales relacionados con la edu- LM ¿Quién está decidiendo esta lista de ciones tienen sus versiones live CD que
cación o la ciencia. Debido a la flexibili- paquetes principal de la DCCA? ¿Eres muestran (de manera simulada) el pro-
dad de GNU/Linux, existen numerosos parte del comité que vota qué incluir en ceso de instalación y parecen, y se
propósitos para Live CD’s especializa- la lista principal? comportan, como una distribución de
dos, y siempre es bueno tener una verdad de las que se venden en una
plataforma que sabemos cómo funciona, KK Al igual que la mayoría de proyec- caja. Pero estos discos de evaluación
independientemente de los diferentes tos de Software Libre, la DCCA ha no están pensados para ejecutarse per-
ordenadores donde se ejecute. puesto en marcha una lista de correo de manentemente. El software incluido en
Por supuesto, Knoppix no es el único desarrolladores donde todo el mundo Knoppix es usualmente utilizado en
live CD apropiado como base de estos puede mandar sus sugerencias y discu- varias distribuciones, aunque he inten-
proyectos, pero es más fácil usar Knop- tir qué paquetes deberían incluirse en tado incluir una mezcla de programas
pix que las distribuciones live que con- el grupo principal de paquetes. De útiles tanto para el novato como para
tienen software propietario o de momento ha habido muy pocas dis- el usuario experto.
demostración que no es “libremente dis- putas al respecto. Probablemente Para el enorme número de descargas
tribuible incluso de forma modificada, debido a que la gente de formación téc- diarias y las 20.000 visitas diarias al
tanto para usos no comerciales como nica tiene bastante claro qué compo- mirror de la página web de Knoppix, la
para comerciales”. Es una de las razones nentes son absolutamente necesarios y verdad es que no tengo una verdadera
por las que soy tan cuidadoso con las cuales son opcionales. Debemos tener explicación. ■
WWW.LINUX-MAGAZINE.ES Número 14 91
098_Proximo_14 05.01.2006 13:24 Uhr Página 98
PRÓXIMO NÚMERO
PRÓXIMO NÚMERO
CAZADORES DE
VIRUS
“Algunos dicen que un ataque es inminente
y otros que no hay de qué preocuparse,
pero… ¿Cuál es la verdad tras los virus en
Linux?” Ésta es la pregunta que se plantea
Tomasz Kojm en nuestro primer artículo de
portada del número 15 de Linux Magazine.
Para todos aquellos que se sentían muy
seguros con Linux, Kojm de inmediato pasa
a explicar cómo crear un hipotético virus en
Linux e ilustra cómo se propagaría por un
sistema. Si esta perspectiva te pone
nervioso/a, siempre puedes echarle un vis-
tazo a nuestros siguientes artículos: en
“Antivirus Linux” evaluamos una buena
selección de los antivirus disponibles en el
mercado para Linux. En “Klamming Up”
echamos un vistazo a la mejor y más
famosa de las soluciones de código abierto:
KlamAV. Y, finalmente, en nuestro artículo
sobre Amavisd-new examinamos cómo
proteger toda una red de spam y virus a
nivel de servidor de correo.
PRÁCTICO • LMMS
EL COMPOSITOR
Linux ha empezado a competir de verdad con Windows y MacOS como plataforma para programas de
sonido profesional. Linux Multimedia Studio (LMMS) es una herramienta de sonido que engloba una gran
H
ace relativamente poco Instalación y Configuración Opciones de Optimización” lista las
tiempo, multimedia y Linux de LMMS opciones más importantes de compi-
eran mundos completamente Los paquetes binarios para las lación para la plataforma Intel.
separados, pero gracias a Dios, la principales distros se encuentran en la Pueden usarse las opciones de con-
situación ha cambiado por completo. página Web de LMMS [1]. Los usuarios figure para deshabilitar algunas carac-
Linux ya no flaquea tras Windows y de otras distros tendrán que compilar terísticas de LMMS y conseguir que
MacOS ni incluso en el mundo de la el código fuente para instalarlo. Puede funcione incluso más rápido. Por ejem-
producción musical: Audacity propor- comenzarse con la descarga del código plo, no tiene mucho sentido compilar
ciona edición de sonido a Linux, fuente desde [1]. sonido envolvente si nuestra tarjeta de
Rosegarden trata los archivos Midi e Debido a que LMMS es un programa sonido no soporta esta opción. Sin
Hydrogen nos permite conjuntar los en tiempo real que necesita bastante sonido envolvente, LMMS sólo necesita
sonidos y los ritmos. Por último, pero potencia de procesador, deberían habil- tratar la mitad del volumen de datos en
no menos importante, Csound propor- itarse todas las opciones de opti- ciertos casos, y esto se traduce en un
ciona software personalizado de sínte- mización. El cuadro “Principales rendimiento mucho mayor.
sis y efectos. Se puede deshabilitar el sonido
Como se habrá dado cuenta, existe envolvente especificando --disable-sur-
una herramienta diferente para cada round ab. Y si se puede vivir sin
tarea, cuando la mayoría de los usuar- tiempo real verdadero, porque no se
ios preferirían un sistema integrado en disponga de un teclado midi, puede
lugar de componentes individuales especificarse --with-latency=VALOR,
para potenciar el trabajo creativo. Esto donde VALOR es una potencia de 2,
ha llevado al lanzamiento de Linux esto es, 64, 128 o 256. El valor por
Multimedia Studio (LMMS) en la pri- defecto es 256, que proporciona un
mavera del año pasado. LMMS com- tiempo de latencia (retraso entre un
bina toda la funcionalidad de los pro- Figura 1: Dentro de LMMS, podemos situar los evento y la salida del sonido) de 6
gramas que acabamos de mencionar beats juntos con unos pocos clics. El programa milisegundos. Cuanto menor es el
con una única interfaz parecida a la de incluye una colección de muestras que valor, menor es la latencia y más cerca
Fruity Loops en Windows. podemos usar con nuestras propias canciones. del tiempo real se estará.
40 Número 14 WWW.LINUX-MAGAZINE.ES
040-042_lmms 05.01.2006 13:00 Uhr Página 41
LMMS • PRÁCTICO
WWW.LINUX-MAGAZINE.ES Número 14 41
040-042_lmms 05.01.2006 13:00 Uhr Página 42
PRÁCTICO • LMMS
objetos que definen cuándo y durante ciso experimentar con esta tecnología para Grandes Planes
cuánto tiempo se va a reproducir un beat o acostumbrarnos a los efectos que se La hoja de ruta de LMMS está llena de
una línea de bajos. pueden crear. importantes extensiones al programa.
Como se muestra en la Figura 3, la lista La pestaña Arp/Chord ayuda a definir la Por ejemplo, LMMS no proporciona
de reproducción puede comprender tam- configuración para arpegios y acordes ninguna opción para aplicar efectos
bién canales (se muestra en la Figura el automáticos. Si se selecciona un acorde (reverberación, eco, distorsiones,
Triple Oscillator). Esto tiene sentido si mayor y un rango de dos coros, ecualización y
nuestros patrones no contienen líneas de octavas por tono, LMMS filtros, sólo por nom-
bajos que se repiten continuamente, sino puede añadir automática- brar algunos). Las tar-
melodías individuales que se reproducen mente el acorde mayor eas para la adminis-
sólo una vez a lo largo de la canción. coincidente sobre un rango tración de efectos están
Puede pulsarse el botón izquierdo sobre de dos octavas. La función programadas para la
una pista para crear un patrón de este de arpegio permite repro- versión 0.1.0, e
tipo, y luego hacer doble clic para editarlo. ducir las notas individ- incluirán una interfaz
uales del acorde secuen- LADSPA entre otras
Pistas de Muestra cialmente. cosas. LADSPA (Linux
Además de las pistas de canal y de El bloqueo de patrones Audio Developers Sim-
beats/lineas de bajos, LMMS también permite al usuario crear ple Plugin API) propor-
soporta pistas de muestra. Pueden ser complejas canciones ciona a los desarrol-
usadas para crear muestras mayores como polifónicas incluso si nues- ladores de software de
raps o solos de guitarra que se hayan tra CPU no tiene suficiente audio una interfaz
grabado. La tecnología completa de pistas potencia para reproducir- estandarizada para los
de muestra está aún en desarrollo, y su las en vivo. Al pulsar sobre plugins de efectos y sin-
funcionalidad, en el momento de escribir Freeze en el menú de un Figura 4: Cada canal puede tetizadores.
este artículo, está restringida a cargar patrón se indica a LMMS controlarse usando envol- De igual importancia
muestras. Próximamente, LMMS tendrá que reproduzca el patrón ventes, osciladores de baja será un sistema que
funcionalidades de grabación y edición una vez de manera interna frecuencia y filtros. permita a los usuarios
simple. y guarde los resultados en controlar todos los
un búfer. botones y conmutadores de LMMS de
Envolventes, LFO’s, Filtros, Cuando se reproduce la canción en vivo, forma dinámica. Sus desarrolladores
Acordes el programa no intenta recalcular la infor- están buscando en estos momentos el
La ventana Channel (Figura 4) tiene más mación de este patrón. En su lugar simple- modo de proporcionar a los usuarios la
de un solo plug-in: además de la pestaña mente lee el búfer y lo parchea en el búfer capacidad de modificar las frecuencias
Plugin, existen las pestañas de salida. Los cambios en el patrón blo- de corte de un filtro con dibujar una
Envelopes/LFO/Filter y Arp/Chord. queado no se implementan hasta que no curva. Además, debería ser posible
Envelopes/LFO/Filter (Figura 4) nos per- desbloqueen y se vuelvan a bloquear. controlar el desacople periódico de un
mite definir un filtro para un canal activo También es posible contolar LMMS a oscilador con la aplicación de un LFO.
y fijar parámetros como la frecuencia de través de un teclado midi. Al pulsar sobre Como LMMS tiene aún un espectro
corte y la resonancia. Podemos controlar el teclado, se le está indicando que toque la de sonido bastante limitado, se están
estos dos parámetros usando las envol- nota correspondiente en el canal en uso. planeando más plugins para el futuro.
ventes y los osciladores de baja frecuencia Además de esto, puede mapearse cualquier Además del cliente de plugins LADSPA,
(LFO’s). botón de LMMS al control de pitch del se está trabajando en un cliente VST,
Las envolventes representan la progre- teclado con sólo seleccionar Map to MIDI que permitirá usar plugins VST.
sión temporal del valor en cuestión, por device en el menú del botón. Tras esto, el El proyecto de LMMS está aún en
ejemplo, una aparición súbita y un botón responde a las órdenes de la rueda desarrollo, y la hoja de ruta de las car-
decaimiento lento. Cuanto más grande de pitch, pero es necesario asegurarse de acterísticas mencionadas es algo
pongamos el valor del botón Amount, más que el rango de pitch se encuentra al máxi- imprecisa. Por contra, se está progre-
efecto tendrá la envolvente sobre el valor mo en el teclado. sando a buen ritmo en el editor de
original. Un oscilador de baja frecuencia Tras concluir una canción, podemos notas tradicional. LMMS ya es capaz
cambia el valor periódicamente. Será pre- exportar el resultado final a un archivo Wav de importar archivos midi, y parece
u Ogg. Para ello, seleccionamos Project | seguro que será capaz de importar
Export o presionamos [Ctrl]+[E]. Tras otros tipos de archivos en un futuro
introducir un nombre de archivo y especi- inmediato. ■
ficar el formato, aparece una ventana con
opciones para exportar la canción. RECURSOS
Pulsamos en Export para indicarle a LMMS
[1] Página de LMMS: http://lmms.
Figura 3: El Song Editor combina los beats y que guarde la canción al archivo de salida,
sourceforge.net
líneas de bajos para formar una lista de el cual podemos ya grabar en un CD o
[2] Acovea: http://www.coyotegulch.com
reproducción. reproducir un nuestro equipo de sonido.
42 Número 14 WWW.LINUX-MAGAZINE.ES
027-029_Nero 05.01.2006 12:51 Uhr Página 27
Nero • EVALUACIÓN
DESEOS ARDIENTES
N
ero es un programa comercial
¿Supera Nero en capacidad a los programas nativos de para la grabación de CDs y DVDs
muy popular en el mundo Win-
grabación de CDs de código abierto de Linux? ¿O se le quedan dows. Hoy día muchas grabadoras
vienen con una versión OEM de Nero, lo
las tostadas por hacer? POR HAGEN HÖPFNER
que la ha ayudado a convertirse en la
aplicación estándar para grabación de
CDs y DVDs en Windows. A principios
de 2005 se presentó una versión de Nero
para Linux, NeroLinux. Esta primera ver-
sión no estaba a la altura de la corres-
pondiente para Windows. Pero reciente-
mente hemos probado NeroLinux 2.0.0.2
para ver si se han acortado distancias
entre ambas versiones.
Compra de Combustible
Ya podemos comprar NeroLINUX
(véase Figura 1) sin necesidad de tener
Windows. Por 19.99 dólares USA se
puede conseguir un número de serie
que convierte la versión demo descar-
gable desde [1] en la versión completa.
Esta demo descargable ofrece al
usuario de Linux tiempo suficiente para
probar las capacidades de tostado de
NeroLINUX antes de tomar una
decisión.
Nero no es excesivamente exigente en
el apartado de requisitos del sistema. El
programa funciona en sistemas RPM o
basados en Debian Linux con kernel
2.4.x o superior. La versión 1.2 de la
librería GTK es necesaria, pero está
normalmente incluida en todas las
principales distribuciones de Linux. En
cuanto a hardware, necesitaremos al
menos una CPU a 500 MHz y 64MB de
RAM. El requerimiento depende del
tipo de medio que vayamos a grabar. El
fabricante especifica 9GB para
grabación de DVD. Los 50MB de disco
duro que ocupa propiamente el soft-
ware es algo casi insignificante. Oficial-
mente, Nero soporta las versiones 32-
bit de las siguientes distribuciones
Linux:
EVALUACIÓN • Nero
• Suse Linux Versión 8.0 o superior de prueba con Suse Linux 9.3, que no Además, la nueva versión ofrece al
• Red Hat Linux Versión 7.2 o superior tiene nada SCSI (véase Figura 2). Sin usuario la posibilidad de crear discos DVD
• Fedora Core 1 hasta 4 embargo, este hecho no tiene mayor video y MiniDVD, si los correspondientes
• Debian GNU/Linux Versión 3.0 o supe- efecto en el funcionamiento del programa directorios VIDEO_TS y AUDIO_TS están
rior con kernel versión 2.4.x o 2.6.x y si se marca el cuadro que se nos mues- disponibles. La versión de Linux no tiene
(Debian Woody instala un kernel 2.2.x tra, no volverá a aparecer dicho mensaje la opción de crear discos de video a partir
por defecto). en lo sucesivo. de archivos de video, a diferencia de la
Aunque no está en la lista oficial, Nero Si el programa indica que hay otras apli- versión de Windows. Sin embargo,
también se ejecutará en Mandriva Linux caciones que impiden el proceso de podemos imponer opciones específicas
10.1. Los usuarios de distribuciones grabación, no debemos ignorar el men- ISO, como el tipo de sectores CD, Modo 1
basadas en Debian encontrarán un saje. Como muestra la Figura 3, Nero está o Modo 2/XA, al igual que Joliet (para
paquete en formato Debian en la página disconforme con susewatcher y suseplug- nombres de archivo largos en Windows) y
de descargas. Y hay un paquete RPM para ger de Suse. El primero proporciona men- RockRidge (para nombres de archivo lar-
usuarios de Suse Linux, Fedora y otras dis- sajes de actualizaciones de seguridad, por gos en Linux). Pulsamos en la pestaña ISO
tros basadas en RPM. lo que no parece buena idea deshabili- Options en el cuadro de configuración
Antes de arrancar nuestro software de tarlo. suseplugger monitoriza hardware para habilitarlas.
instalación para instalar Nero, se debería que se conecta en caliente y proporciona Otra característica nueva en esta última
validar el archivo descargado usando la acciones específicas ante eventos específi- versión de Nero es la capacidad de mapear
suma MD5. Para validarlo, en Suse Linux, cos, como ejecutar Konqueror cuando señales de audio a eventos del dispositivo
por ejemplo, se calcula el hash MD5 para insertamos un pendrive USB en el orde- de grabación. Ésta sólo es útil para aque-
el paquete tecleando el comando md5sum nador. En nuestros tests, el auto-montado llos que, o bien usan OSS, o el antiguo
nerolinux-2.0.0.2-x86.rpm y se comparan de la unidad de CD-ROM no funcionó co- demonio de sonido ESD. Si es el KDE Arts
los resultados con el checksum mostrado rrectamente cuando tratamos de ejecutar quien tiene el control de nuestro hardware
en la página de descargas de Nero. Si las Nero con suseplugger habilitado. de audio, Nero es incapaz de usar el dis-
dos cadenas coinciden, será seguro insta- positivo y simplemente se queda callado.
lar el paquete. La rutina de instalación Rellenar el Depósito Para conmutar entre OSS y ESD y para
añade una entrada para Nero en el menú Los últimos cambios en Nero han incluido deshabilitar las señales acústicas, selec-
de KDE. soporte para grabación por capas de DVD- cionamos File | Preferences en la pestaña
R-DL (Doble Capa). Esta característica per- System Configuration. La pestaña Sounds
Fuego Demoníaco mite al usuario la posibilidad de llenar en el mismo cuadro de diálogo nos per-
La primera vez que se ejecuta Nero, DVD-R de doble capa en varias sesiones. mite seleccionar los sonidos a reproducir.
empieza buscando un dispositivo de El programa escribe en ambas capas del La última versión de Nero incluye algunas
grabación. Por algún extraño motivo, el disco alternativamente. Según el fabri- características nuevas, pero el fabricante
programa se quejó de que no podía cante, esto convierte a Nero en el único también ha aprovechado para hacer una
acceder a algunos dispositivos SCSI programa capaz de soportar los todavía buena caza de fallos. Hay un registro de
cuando lo ejecutamos en nuestro portátil poco comunes DVDs de doble capa. cambios detallado en [2].
Resistente al Fuego
No es ningún secreto que Nero para Linux
es mucho menos avanzado que la versión
Nero para Windows. Pero en comparación
con las aplicaciones para Linux como K3b
[3], Nero aún deja bastante que desear. El
programa no tiene un asistente de proyec-
tos, y aunque el “arrastrar y soltar” fun-
ciona en Nero desde y hacia Konqueror,
Nero • EVALUACIÓN
tenemos que asegurarnos bien el destino configuración (Figura 4) tiene una opción con
adecuado. El árbol del sistema de archivos para añadir más herramientas y de esta
en la parte inferior izquierda de la Figura 1 manera ayudar al programa a tratar otros strval(regexp("Total data U
simplemente ignora cualquier intento de formatos. length: ([0-9]*)"))*12.9
soltar archivos y directorios, forzando al Cuando se intentó convertir de MP3 a
usuario a utilizar la lista de archivos a su WAV, Nero creó un cierto número de para indicarle que cree CDs de audio a par-
derecha. archivos que contenían sólo ruido de nues- tir de archivos OggVorbis.
tro sistema. Un ajuste incorrecto del orden
Utilidades Extra de byte interno tuvo la culpa. Conclusiones
Una de las funciones más interesantes de Desafortunadamente, Nero se bloqueó El arreglo de fallos en la versión 2.0.0.2 y el
Nero es la capacidad de convertir formatos esporádicamente cuando tratamos de hecho de que Nero continúa proporcio-
de audio. Para poder hacer uso de esta car- forzar un ordenamiento little-Endian en el nando soporte para Linux son dos pasos
acterística cuando se tenga instalado Suse cuadro de codificación de archivos WAV. dados en la dirección correcta. Sin
Tras varios intentos, fuimos capaces al embargo, la versión Linux del programa se
final de convertir un archivo, y el resultado encuentra todavía en un estado temprano
fue bueno, pero la función es tan inestable de desarrollo y aún le queda un largo
que su uso para producción se puede camino por recorrer para llegar a ser real-
descartar. mente competitiva.
Si hacemos caso al fabricante, el punto
Editor de Pistas fuerte de Nero es la capacidad de grabar
Con Nero se puede usar el editor de pistas discos DVD-R-DL. la desventaja es que los
para quemar CDs de audio. La manera más controles tienen bastantes carencias en
rápida de acceder al editor de pistas es pre- cuanto a su usabilidad, y nadie esperaría
Figura 3: Nero no funciona con algunas de sionar [F4]. Se pueden entonces arrastrar encontrar tantos fallos en un producto
las características de las distribuciones de los archivos de audio necesarios hasta la comercial. Suponiendo que podamos vivir
Linux más recientes. lista y soltarlos en ella. En nuestra prueba, sin necesidad de grabar DVD-R-DL, puede
Nero sólo soportaba archivos MP3. De que queramos usar esos 19.99 dólares en
9.3 tendremos que añadir los cuatro packs hecho, se quejaba de que los archivos WAV otra cosa. ■
multimedia opcionales (disponibles a que creamos eran demasiado largos.
través de una actualización online). Fue incapaz de determinar la longitud de
También se necesitarán estos packs los archivos OggVorbis debido a que no Hagen
opcionales si se desean reproducir tenía acceso al programa Oggtst. Desafortu- Höpfner ter-
archivos de audio haciendo doble clic en el nadamente, la herramienta para desarro- minó su doc-
torado en
icono o arrastrándolo hasta la esquina infe- lladores de OggVorbis ha remplazado
Ciencias de la
rior derecha de la ventana de Nero. Como Oggtst con Ogginfo. Para configurar el pro-
Computación
alternativa, se pueden instalar manual- grama para que use la alternativa Ogginfo, y es ahora
mente las herramientas necesarias: es preciso reemplazar la entrada oggtst profesor de
EL AUTOR
mpg123 y/o ogg123. "$file" con ogginfo "$file" en la línea .ogg Sistemas de
Nero necesita algunas otras herramien- del campo Detect Size del cuadro mostrado Información y Bases de Datos
tas para convertir formatos. Por ejemplo en la Figura 4. Entoces se reemplaza la en la Universidad Internacional
lame para crear archivos MP3, sox para siguiente línea del campo Add File Type: de Bruchsal, Alemania (http://
formatos WAV y oggenc para convertir www.i-u.de). Además de ser
archivos de audio a OggVorbis. strval(regexp("^length=([0-9]U un adorable padre, Hagen es
La pestaña File Types en el cuadro de *)"))*44100*4 co-autor de un libro de texto
acerca de bases de datos para
móviles y Sistemas de Infor-
mación. En su tiempo libre,
toca la guitarra con una banda
de rock llamada “Gute Frage”
(http://www.gutefrage.info).
RECURSOS
[1] NeroLINUX: http://ww2.nero.com/
enu/NeroLINUX.html
[2] Lista de cambios NeroLINUX 2.0.0.2:
http://club.cdfreaks.com/showthread.
php?t=142046
Figura 4: Este desordenado cuadro permite al usuario asociar el conversor de audio de Nero [3] Página de K3b: http://www.k3b.org/
con otros formatos.
Crear
Crear una
una aplicación
aplicación de
de base
base de
de datos
datos con
con OOo
OOo Base
Base
LLEGAR A BASE
DMITRI POPOV
O
penOffice.org 2.0 incluye un de una tabla. Viene a ser algo como la base de datos que lleva la cuenta de los
nuevo módulo de bases de datos, interfaz gráfica de usuario de una base de trabajos, horas trabajadas y clientes para
basado en HyperSonic SQL, un datos. Los reportes se usan para generar un contratista de trabajadores freelance.
motor de bases de datos relacionales resultados con un determinado formato La Figura 1 muestra el modelo de nuestra
escrito en Java. Podemos usar OOo Base desde las tablas, generalmente para aplicación de ejemplo. Como se puede
para construir desde una simple colección imprimirlas. apreciar, la estructura consiste en cuatro
de recetas a una valiosa solución de Como veremos en este artículo, puede pequeñas tablas. Cada tabla consiste a su
management. Base es una herramienta dividirse la tarea de crear una aplicación vez en series de registros que representan
poderosa, pero para aquellos que no estén de base de datos en las subtareas de la compañía, el contacto, trabajo o las
familiarizados con sus características, el configurar tablas, consultas y formularios. horas trabajadas, entre otras. Los registros
simple desarrollo de una base de datos Los reportes son también importantes están enlazados a través de una serie de
puede resultar insufrible. Este artículo nos para algunas aplicaciones, sin embargo no relaciones predefinidas. Las relaciones
guiará a través de los pasos para profundizaremos en ellos en este artículo. permiten a una tabla referenciar la
configurar una simple aplicación de base Antes de ejecutar Base, es una buena información de otra tabla. En la Figura 1,
de datos empresarial con Base. idea crear un modelo de base de datos que por ejemplo, cada trabajo está asociado a
ayude a visualizar la estructura de la una compañía a la cual se le presta el
Planeando la Base de Datos aplicación. Se pueden bien dibujar el servicio. Esta estructura admite
Un Sistema de Gestión de Bases de Datos modelo a mano, o bien usar un programa situaciones en las cuales un contratista
Relacionales (SGBDR) usualmente se como OpenOffice.org Draw. Draw incluye tiene varios contratos (trabajos) para una
compone de cuatro elementos: algunas
*tablas herramientas
*consultas de diagramas
*formularios que son útiles
*reportes para crear esta
La información de la base de datos se clase de
guarda en tablas. Las consultas se usan modelos de
para extraer, ver y tratar los datos. Pueden bases de datos.
recabar los datos de muchas tablas y La aplicación
hacerlos disponibles en forma de de ejemplo
formularios y reportes. Los formularios para el artículo
nos permiten ver y editar la información es una sencilla Figura 1: El modelo de base de datos incluye tablas, campos y relaciones.
30 Número 14 WWW.LINUX-MAGAZINE.ES
030-032_OOBase 05.01.2006 12:52 Uhr Página 31
misma compañía, o bien Para fijar el campo se suelta el botón. El siguiente paso es
que tenga varios JobID como clave definir las propiedades de la relación.
contactos dentro de la primaria, se pulsa con el Póngase por caso que se dispone de una
compañía. botón derecho en el compañía en la base de datos que ya no es
A través de una serie de puntero de registros (el cliente. Si se decide borrarla de la base de
relaciones mostradas en triángulo verde) y se datos, el sistema tiene que saber qué
la Figura 1, una compañía selecciona Primary Key hacer con los registros de contacto
puede asociarse con del menú que aparece huérfanos. Lo normal es que se desee
varios trabajos y varios (véase Figura 3). La eliminarlos también.
contactos, y cada trabajo clave primaria tiene que Se hace doble clic en la relación entre
puede tener registros Figura 2: La ventana principal de cumplir dos requisitos: COMPANIES y CONTACTS y en la columna
temporales. Todas las Base es el punto de partida para no debe estar vacía y Delete Options, se selecciona la opción
relaciones de la Figura 1 definir nuestra base de datos. debe tener un valor Delete cascade y se pulsa OK.
son de tipo uno-a-varios. unívoco. Con OOo Base Se usará la misma técnica para definir
Una relación uno-a-varios se señala con es sencillo asignar esta propiedad a la las relaciones entre las tablas COMPANIES
un 1 (uno) al lado del registro que es uno, clave primaria. Se selecciona Yes de la lista y JOBS. Es necesario asegurarse de que la
y con una n (varios) en el otro extremo. AutoValue en el panel Field Properties. Así opción de eliminación de la relación está
Cada tabla debe tener una clave se asegura que cada vez que se cree un fijada a No action. De otra manera, al
primaria (mostrada en amarillo en la nuevo registro, el sistema insertará un borrar un trabajo se borraría la compañía
Figura 1). La clave primaria identifica valor unívoco (en nuestro caso, un relacionada. Por último, se define una
unívocamente al registro. Una tabla puede número) en el campo JobID. relación entre las tablas JOBS y HOURS, en
contener también claves ajenas. En la Se añaden los demás campos restantes la que la opción de eliminación está fijada
Figura 1 las claves ajenas se muestran en a la tabla JOBS, y se fijan sus tipos. Antes a Delete cascade. Esto asegura que si se
cursiva. Nótese que la clave ajena está en de guardar la tabla, es necesario borra un trabajo, no existirán fechas
el lado “varios” de una relación uno-a- asegurarse de que el formato de la fecha huérfanas poblando la base de datos. Una
varios. del campo Deadline está configurado vez que estén definidas las relaciones, se
adecuadamente. Se selecciona el campo guardan y se cierra el cuadro de diseño de
Crear Tablas Deadline, y en el panel Field Properties, se relaciones.
Una vez que se ha esbozado el diseño, pulsa en el botón junto al campo Format
puede empezarse a desarrollar la base de example. Se seleccionan el formato Crear Consultas
datos en sí. Se arranca OpenOffice.org 2.0 requerido y el idioma y se pulsa OK. A Ahora que se tienen las tablas ya pueden
Base y se pulsa sobre File | New | continuación se guarda la tabla (File | ser completadas con información. Para ver
Database. El asistente de bases de datos se Save, o Ctrl+S) y cuando se nos pregunte, y tratar la información es necesario crear
usa para crear y guardar un archivo de se proporciona el nombre JOBS para la crear consultas. OOo Base permite crear
base de datos. Al pulsar en el botón Finish tabla. consultas utilizando bien el asistente de
del asistente, OOo Base abre la ventana Ahora que se sabe cómo crear tablas y consultas o bien la vista de diseño. Los
principal. Ésta es la zona de trabajo donde campos, se pueden añadir las tablas usuarios familiarizados con SQL pueden
se va a crear la base de datos (Figura 2). HOURS, COMPANIES y CONTACTS. Es usar también el editor SQL interno. En la
Lo primero que hay que hacer es crear preciso acordarse de que hay que fijar el mayoría de las ocasiones, no obstante, será
las tablas y rellenarlas con los campos. Se formato adecuado para los campos Date, mejor usar la vista Design View, que
elige Tables en el panel Database, y se TimeUsed y Price de la tabla HOURS. Con permite elaborar consultas usando una
pulsa en la opción Create Table de la vista las herramientas de diseño de relaciones interfaz gráfica de usuario. Pongamos por
diseño. Esta opción creará una tabla incluidas en Base, crear estas relaciones es caso que se desea crear una consulta que
nueva y vacía, que podrá usarse para tan sencillo como dibujar líneas entre las permita extraer información relevante
guardar la información de los trabajos. Se claves primarias y las claves ajenas. Para acerca de un trabajo, como el número de
crea un campo JobID tecleando su nombre definir las relaciones entre las cuatro trabajo, cliente, descripción del trabajo,
en la columna Field Name, y se fija su tipo tablas, se pulsa en Tools | Relationships y estado, tipo y fecha límite. Se pulsa en
a Integer [INTEGER]. usando el cuadro Add Table se añaden las Create Query dentro del enlace Design View
OOo Base ofrece un amplio abanico de tablas. de la sección Tables. Esto abre la ventana
tipos de campo. Los tipos numéricos Para establecer una relación entre las de diseño de consultas y el cuadro para
incluyen INTEGER (para enteros) y FLOAT tablas COMPANIES y CONTACTS, se añadir tablas. Se añaden las tablas JOBS y
(para números en punto flotante). selecciona el campo COMPANIES a la consulta usando el botón
VARCHAR guarda COMPANIES.CompanyID, Add y se cierra pulsando sobre Close.
cadenas de longitud se pulsa y se mantiene Todo lo que hay que hacer es añadir
variable. La longitud pulsado el botón campos a la consulta. Pueden añadirse
puede especificarse en el izquierdo del ratón, se campos bien eligiendo los campos de la
panel Field Properties. arrastra la relación hasta lista desplegable en las celdas Field, o bien
DATE guarda fechas y Figura 3: Cada tabla requiere el campo arrastrando los campos desde las tablas
TIME la hora. una clave primaria. CONTACTS.CompanyID y hasta las celdas Field.
WWW.LINUX-MAGAZINE.ES Número 14 31
030-032_OOBase 05.01.2006 12:52 Uhr Página 32
32 Número 14 WWW.LINUX-MAGAZINE.ES
062-064_OpenVPN 05.01.2006 16:18 Uhr Página 62
ADMINISTRACIÓN • OpenVPN
EL TÚNEL DE DATOS
Los cortafuegos a veces prohiben todo el tráfico excepto la navegación por la web, impidiendo
que los usuarios puedan utilizar los servicios de IRC o los servidores de difusión, a menos que se
utilice una red privada virtual como OpenVPN. POR MIRKO DÖLLE
U
na configuración típica del corta- En este artículo describimos cómo Minando el Cortafuegos
fuegos consiste en denegar todo realizar ese túnel con una conexión OpenVPN no requiere los privilegios de
lo que no sea estrictamente nece- VPN. Suponemos que el software de root para establecer una VPN. Sólo con
sario para el trabajo diario. Incluso he- OpenVPN ya está instalado en la que el programa tenga acceso a los dis-
rramientas relativamente inofensivas máquina Linux o que los lectores saben positivos virtuales TUN/TAP, es sufi-
como una webcam o un servidor personal cómo obtenerlo e instalarlo. OpenVPN es ciente para funcionar con los privilegios
de IRC no funcionarán a través del corta- una aplicación muy común que se del usuario. En un escenario simple,
fuegos. Aparte de rogarle al administrador incluye en la mayoría de las distribu- todo lo que se necesita son unos cuantos
que cambie las reglas, la única solución ciones Linux populares. Véase la docu- parámetros para configurar la VPN. El
que queda es abrir un túnel privado a mentación para saber más sobre cómo único fichero que se necesita es el que
través del cortafuegos con OpenVPN. configurar OpenVPN. contiene la clave secreta, que se puede
Listado 1: openvpn-server.sh
01 #!/bin/bash 12 --ifconfig $LOCALIP $REMOTEIP \
02 13 --secret $KEYFILE --persist-tun --ping 30 \
03 DEVICE="tun0" 14 --ping-restart 180 -shaper $MAXRATE \
04 PORT="1194" 15 --writepid /var/run/openvpn-${DEVICE}.pid
05 LOCALIP="192.168.8.1" 16
06 REMOTEIP="192.168.8.128" 17 while true; do
07 KEYFILE="/etc/openvpn/shared.key" 18 if [ ! -e /var/run/openvpn-${DEVICE}.pid ]; then
08 MAXRATE="16000" 19 break
09 20 fi
10 /usr/sbin/openvpn -daemon --dev $DEVICE \ 21 done
11 --proto tcp-server -port $PORT \
OpenVPN • ADMINISTRACIÓN
Figura 1: Utilizando TCP los clientes configuran una conexión encriptada al servidor OpenVPN y transmiten por el túnel cualquier otro proto-
colo hacia el servidor.
crear en la máquina cliente con el El servidor no necesita mucha infor- La sintaxis de OpenVPN desde las
comando openvpn --genkey --secret mación: OpenVPN requiere la dirección líneas 10 a la 15 hace uso de las variables
secret.key para posteriormente copiarlo IP del servidor (LOCALIP) y de la definidas al principio. Los parámetros
en el servidor. máquina cliente (REMOTEIP) de las críticos aquí son --daemon, --proto tcp-
Un protocolo no orientado a la cone- interfaces VPN, el dispositivo del túnel, server y --persist-tun. --daemon ejecuta
xión, como UDP, es la mejor opción para el número del puerto y el fichero con la OpenVPN en modo servicio, permitiendo
realizar el túnel con TCP/IP: esto evita clave. La variable MAXRATE tan sólo es al script del servidor continuar su ejecu-
que se dé el escenario en el que pueda necesaria para controlar el tráfico y ción. Esto no es importante en el Listado
producirse un timeout simultáneo entre establecer la tasa de transferencia má- 1, ya que el bucle que va desde la línea
OpenVPN y la conexión TCP, que podría xima para la transmisión de paquetes 17 a la 21 impide que finalice el script
ocasionar una avalancha de paquetes de medida en bytes por segundos. antes de que finalice OpenVPN. Sin
reintento. Desafortunadamente, la ma- embargo, si necesita abrir el cortafuegos
yoría de los cortafuegos y los routers de Controlando el Tráfico o cambiar los parámetros del router, las
las empresas o de los cibercafés no per- Si el script del servidor se está ejecu- líneas desde la 15 a la 17 son el mejor
miten que los clientes puedan recibir tando en un servidor raíz, por ejemplo, lugar para realizarlo. Se puede añadir
paquetes UDP desde Internet. puede que al principio no tenga mucho cualquier comando al final del script si
La única alternativa en este caso es sentido el control de tráfico, a menos se quiere ejecutar alguna acción final.
optar por una conexión TCP. Esto que se sea partidario de mantener un
implica que el servidor, para que el perfil bajo y esconder el túnel en el trá- Protocolos del Cliente y del
cliente pueda establecer la conexión fico general de la red. Servidor
VPN, ha de estar escuchando en un La principal ventaja para el control del El parámetro --proto tcp-server habilita
puerto determinado a la espera de tráfico se encuentra en las pequeñas OpenVPN en el servidor y le indica que
conexiones entrantes. redes con una conexión DSL. Como el se ponga a la escucha de las conexiones
ancho de banda de subida es normal- TCP entrantes. El servicio del cliente usa
Una Configuración Simple mente mucho más bajo que el ancho de el protocolo tcp-client, como se muestra
Los Listados 1 y 2 muestran dos scripts banda de bajada en las líneas DSL, el en la línea 13 del Listado 2.
para el servidor y para el cliente. Open- resto de conexiones a Internet diferentes Sin --persist-tun, el interfaz TUN
VPN no requiere ficheros de configu- del túnel se pueden ver afectadas. Yo estaría cerrado y sería reabierto cada vez
ración, por lo que, la mejor opción para suelo usar un límite de 16 kbps, como se que el túnel fuera interrumpido, lo que
el establecimiento de la configuración muestra en el Listado 1, para una conex- implicaría la pérdida de las entradas de
del túnel se realiza a través de la línea de ión DSL con un ancho de banda máximo enrutamiento del túnel y la pérdida de
comandos mediante sus parámetros. Al de subida de 256KBits/s, estableciendo todas las conexiones.
principio de los Listados 1 y 2 se mues- este límite me permite disponer casi de El bucle de las líneas 17 a 21 del Lis-
tran algunas opciones que los usuarios la mitad del ancho de banda para otros tado 1 es una versión simplificada si se
tienen que cambiar para adaptarlo a sus servicios como Apache o simplemente compara con el bucle del script del lis-
necesidades. para navegar por la red. tado en [2]; carece del mecanismo de
ADMINISTRACIÓN • OpenVPN
Listado 2: openvpn-client.sh
01 #!/bin/bash 22 route add $REMOTE gw $GATEWAY
02 DEVICE="tun0" 23 if [ "$?" -eq 0 ]; then
03 REMOTE="athome.dyndns.org" 24 route del default gw $GATEWAY
04 GATEWAY="192.168.1.254" 25 route add -net $REMOTENET gw $REMOTEIP
05 PORT="1194" 26 route add default gw $REMOTEIP
06 LOCALIP="192.168.8.128" 27 ping -c 1 $REMOTEIP >/dev/null 2>/dev/null &
07 REMOTEIP="192.168.8.1" 28 break
08 REMOTENET="192.168.42.0/24" 29 fi
09 KEYFILE="/etc/openvpn/shared.key" 30 fi
10 MAXRATE="16000" 31 sleep 5
11 32 done
12 /usr/sbin/openvpn -daemon --dev $DEVICE \ 33
13 --remote $REMOTE -proto tcp-client \ 34 while true; do
14 --port $PORT -ifconfig $LOCALIP $REMOTEIP \ 35 if [ ! -e /var/run/openvpn-${DEVICE}.pid ]; then
15 --secret $KEYFILE --persist-tun --ping 30 \ 36 break
16 --ping-restart 180 \ 37 fi
17 --writepid /var/run/openvpn-${DEVICE}.pid 38 done
18 39
19 for ((i=0; i<10; i=$[$i+1])); do 40 route del $REMOTE gw $GATEWAY
20 ifconfig $DEVICE >/dev/null 2>/dev/null 41 route add default gw $GATEWAY
21 if [ "$?" -eq 0 ]; then
control de fallos que verifica si OpenVPN script puede borrar dicha ruta, que pos- El bucle en las líneas 34 a 38 está
está aún ejecutándose. En el caso de que teriormente vuelve a establecerse en la reducido como ocurre en el script del
el bucle finalice el script procesará el línea 26 usando la puerta de enlace del servidor del Listado 1, aunque esto no
código final de limpieza tras la línea 21. servidor OpenVPN. A partir de este tiene efecto en la funcionalidad: espera
openvpn-server.sh puede ser invocado punto, cualquier conexión de red nueva que OpenVPN termine. Las líneas 40 y
fácilmente usando una entrada en init en será enrutada a través de la VPN hacia el 41 borran después la ruta estática al
/etc/inittab. servidor (Figura 1). OpenVPN acaba de servidor OpenVPN y reestablecen la
El script cliente para OpenVPN del Lis- abrir ahora una brecha en el cortafuego puerta de enlace por defecto.
tado 2 es el doble de largo que el script de la empresa y la máquina cliente La solución para establecer un túnel
del servidor, ya que tiene que configurar dispone desde este momento de un OpenVPN mostrado en este artículo
el entorno del router de la máquina acceso a Internet oculta y sin restric- requiere un servidor para cada cliente
cliente después de llamar a OpenVPN en ciones. El comando ping de la línea 27 VPN. Este requerimiento podría quedar
las líneas 12 a 17. Esto supone que abre un túnel VPN, que se ha configu- fuera de control fácilmente si se necesi-
OpenVPN ha de establecer el dispositivo rado pero que aún permanece cerrado en tan soportar múltiples clientes o si la
de red, que se verifica comprobando el este punto. red engloba varias oficinas de la
estado de salida de ifconfig en las líneas empresa. Para los usuarios que consi-
20 y 21. Enrutado Individual deren requerimientos mayores, Open-
Ahora que el dispositivo del túnel está Para impedir que el script cliente sea VPN versión 2.0 o posterior proporcio-
operativo, la línea 22 establece una ruta obstruido por problemas de nan infraestructura de Clave Pública,
estática al servidor OpenVPN. enrutamiento, los comandos de CAs y soporte para múltiples clientes
La conexión VPN depende ahora de la enrutado en el bucle desde las líneas 19 para escenarios más avanzados. Pero
ruta por defecto, así que la línea 24 del a 32 se repiten diez veces como mucho. para un servidor personal de IRC o para
una webcam, una configuración simple
basada en la línea de comandos tal
como la descrita en este artículo, es
suficiente. ■
RECURSOS
[1] OpenVPN: http://openvpn.net
[2] Scripts OpenVPN: http://www.
mirko-doelle.de/linux/openvpn-server.sh
y ... / openvpn-client.sh
Perl • DESARROLLO
HERRAMIENTAS DE
TESTEO
Con un banco de pruebas se pueden corregir errores y añadir nuevas funcionalidades sin arruinar la base de
U
n programa que funcione correc- pasos se logrará un banco de pruebas Conjunto Estándar
tamente a la primera es tan poco con un nivel de detalle que ningún Agradezcamos que la comunidad Perl
común como para que nos haga departamento de calidad en el mundo tenga la calidad suficiente para añadir un
sospechar. En el desarrollo dirigido por podría ser capaz de conseguir. conjunto de pruebas que verifican las
tests, el desarrollador define primero las En caso de un desarrollo ya en marcha funciones críticas de casi todos los
pruebas de ensayo antes de implementar o de una refactorización de código, siem- módulos CPAN. Pero ¿qué sucede si esta-
la nueva funcionalidad. Inevitablemente, pre existe el riesgo de realizar un cambio mos desarrollando un pequeño script en
el test fallará al principio, pero tan pron- que introduzca efectos colaterales no vez de un módulo? Con el paso de los
to como esta funcionalidad esté imple- deseados. Tener la capacidad de ejecutar años he llegado a la conclusión de que
mentada, el banco de pruebas nos dará cientos de pruebas sin coste alguno hace los scripts sólo deberían parsear los
su aprobación. Esta técnica motiva a los que nos podamos despreocupar al tener parámetros de la línea de comandos y
desarrolladores a través del ciclo de vida que reemplazar partes de un sistema. mostrar textos de ayuda. Uso módulos
del desarrollo; cada nuevo test imple- Los desarrolladores pueden publicar para el resto de la funcionalidad. Esto
mentado se añade al banco de pruebas y nuevas versiones de manera regular y permite a otros scripts reutilizar estos
será ejecutado una y otra vez mientras el aun así poder dormir tranquilos y sin módulos. Y, por supuesto, cada módulo
proyecto emerge. Con la suma de preocupaciones. No es necesario ser un viene acompañado de la documentación
pequeños entusiasta de la Programación Extrema y de una serie de tests, ¿verdad?
para ver los beneficios. El protocolo TAP (del original en ingles
Test Anything Protocol) se ha convertido
en el estándar de-facto para los tests
de regresión en
DESARROLLO • Perl
Perl • DESARROLLO
DESARROLLO • Perl
MULTITUD DE
PUNTOS
E
n 2002, Microsoft lanzó un nuevo ¿.NET libre? Además de una funcionalidad básica,
sistema para el desarrollo inde- A pesar de la orientación independiente como la capacidad para manipular cade-
pendiente de la plataforma, de la plataforma del framework .NET, nas, la mayoría de los proyectos necesi-
denominado .NET (pronunciado “punto Microsoft difícilmente va a distribuir una tan de componentes para los interfaces
net”). El proyecto .NET está orientado a implementación para Linux, y esta falta gráficos de usuario, para ayudar a estos
simplificar el desarrollo de aplicaciones de soporte para Linux ha hecho que dos a hacer frente a sus tareas diarias.
en red y para Internet. Soporta progra- proyectos den el salto para cubrir este Microsoft proporciona la librería Sys-
mación orientada a objetos y propor- hueco: el proyecto Mono [1] espon- tem.Windows.Forms para éste propósito.
ciona una única librería de clases capaz sorizado por Novell y el proyecto de Esta librería contiene objetos GUI, tales
de ser usada por múltiples lenguajes, código libre DotGNU [2]. Tanto Mono como MainMenu, TollBar, Combobox, o
tales como por ejemplo: C# y VB.NET. como DotGNU pretenden proporcionar Button. El Listado 1 contiene un
Con el lanzamiento de .NET, Microsoft una implementación .NET tan completa pequeño programa de ejemplo.
ha suspendido el respaldo a su primer como sea posible. El objetivo de ambos Para comparar las implementaciones
favorito: la librería MFC para Visual proyectos es el de permitir a los desarrol- Mono y DotGNU, usaremos un programa
C++. Todos los productos futuros de ladores el intercambio de software escrito inicialmente en Windows. Este
Microsoft se basarán en esta nueva tec- saltando las barreras de los diferentes pequeño ejemplo hace uso de los princi-
nología. sistemas operativos. pales componentes GUI, ver la Figura 1.
Figura 1: Esta aplicación demostrativa incluye los principales compo- Figura 2: Visual Studio .NET mostrando el código del proyecto de
nentes GUI de la librería System.Windows.Forms de .NET. Esta figura ejemplo descrito en este artículo. El código de la figura dibuja los ele-
muestra la versión de Windows. mentos gráficos.
El código fuente está disponible en la ventanas de diálogo (Figura 2). Este ización de interfaces gráficas de usuario.
web de Linux Magazine[3]. La única paquete instala automáticamente el SDK GTK# se basa en GTK+, que constituye
funcionalidad que realmente propor- .NET. El entorno de desarrollo libre la base del Desktop Gnome en Linux.
ciona el código es la de registrar la Sharpdevelop[4], es una buena alterna-
entrada del usuario en una ventana dis- tiva al paquete Visual Studio .NET. GUI con Windows.Forms
eñada especialmente para esto. Sharpdevelop proporciona un potente La librería System.Windows.Forms está
IDE al que sólo le falta un depurador principalmente implementada en C# y
El Original de Microsoft integrado. Pero entre las características dibuja sus propios controles[6]. La libr-
Una forma de conseguir la imple- incluidas se encuentran la capacidad de ería requiere de un driver para cada sis-
mentación .NET original de Microsoft es cambiar entre los entornos de ejecución tema operativo: los controladores para
con la descarga del entorno de ejecución de Microsoft y Mono, y la de importar X11 y Windows ya estaban disponibles a
de .NET gratuito y el SDK (Software los proyectos de Visual Studio .NET. la hora de escribir este artículo. El
Development Kit). La versión de proyecto DotGNU ha adoptado este dis-
descarga nos proporciona todas las her- La Alternativa: Mono eño tras deshacerse de una imple-
ramientas en línea de comandos nece- El entorno Mono[5] está disponible bajo mentación basada en Wine, por ser
sarias para el desarrollo de software en Linux, Windows y Mac OS. Además de impracticable.
Windows, tal y como sucede con el SDK la librería de clases estándar de .NET, Aparte del compilador mcs y del
de Java. El comando csc nos permite Mono proporciona una serie de exten- entorno en tiempo de ejecución mono, la
compilar la aplicación. El resultado sólo siones, tales como una serie de librerías versión en Linux contiene el entorno de
puede ser ejecutado directamente en el de Gnome. La máquina virtual incorpora desarrollo monodevelop, basado en un
sistema operativo Windows. las técnicas de compilación just-in-time port a Linux de Sharpdevelop. El naveg-
El entorno integrado de desarrollo (JIT) y ahead-of-time para mejorar la ador de ayuda, monodoc, contiene la útil
(IDE) Visual Studio .NET es una alterna- velocidad de ejecución de nuestros pro- característica de permitir a los progra-
tiva comercial para el desarrollo en .NET gramas. Mono usa GTK# (también madores actualizar su documentación
que incluye un depurador y un editor de disponible bajo Windows) para la real- desde un repositorio de Mono en Inter-
net. Además de los binarios específicos
Listado 1: GUI con System.Windows.Forms de la distribución, disponemos de un
instalador ejecutable que se encargará de
01 using System; 10 Application.Run(new configurar todos los paquetes que se
02 using System.Windows.Forms; FirstApp()); necesitan.
03 11 } Tras descargar un paquete de 50MB,
04 namespace 12 public FirstApp() : base() un asistente nos guiará a través del pro-
LinuxMagazin.FirstApp 13 { cedimiento de la instalación, que sólo
05 { 14 this.Text = "First involucra unos pocos pasos. Gracias al
06 public class FirstApp : Application with GUI"; asistente, los problemas de instalación
System.Windows.Forms.Form 15 } que una vez afectaron a distribuciones
07 { 16 } que antes estaban explícitamente sopor-
08 public static void Main() 17 } tadas, pero no en la actualidad (como
09 { Fedora), son ahora cosa del pasado.
Ventajas
Paquete estándar con Debian Paquete estándar con Suse 9.3
Los bytecodes originales de windows Soportado por desarrolladores a tiempo puede
ser ejecutados sin modificaciones completo de Novell
Desventajas
System.Windows.Form no implementado System.Windows.Form no implementado
completamente completamente
Errores en el manejo de eventos Errores en el manejo de eventos
No tiene entorno de desarrollo El asistente de instalación no está
completamente probado; por ejemplo, el entorno
de desarrollo falta en Mono 1.1.7
MAYORDOMO
PYTHON
Mucha gente habla de Python como el sustituto normal de Perl, pero siempre lo vemos en grandes programas.
Hoy vamos a demostrar lo fácil que es crear un script potente y sencillo en Python. POR JOSÉ MARÍA RUIZ
M
uchas tareas cotidianas guardar toda esa información… un nombre de los ficheros y su tamaño.
pueden automatizarse gracias primer paso para poder almacenar Esto se hará con una función que
a los lenguajes script. Siempre todos esos datos antes de que se tenga además generará una estructura de
se ha dicho que Linux fomenta la que lamentar. datos para almacenar esa información.
creación de pequeños script que ahor- Con la estructura de datos ya en la
ran grandes cantidades de tiempo. Pero Diseño del programa mano se pasará a la toma de deci-
con el paso de éste las actividades que Será preciso pensar ahora en lo que se siones. ¿De qué manera se van a
se han desarrollado en los sistemas va a necesitar. Como se dispone de una guardar los datos en los directorios?
Linux han ido cambiando. Si antes la ruta y de una cantidad de espacio Para ello se empleará otra función, que
mayor parte del trabajo consistía en expresado de alguna manera (digamos devolverá otra estructura de datos en la
gestionar centenares o miles de cuentas Megabytes), lo primero que habrá que que se almacenarán los distintos
de usuarios individuales, actualmente hacer es acceder a dicha ruta. ficheros clasificados por directorios,
existen cientos de directorios con miles Para ello se harán uso de las fun- con la condición de que ninguno de
de ficheros que se acumulan en nues- ciones de las librerías os y os.path. Una esos directorios tenga un número tal de
tros equipos. vez en la ruta deben recorrerse todos ficheros como para sobrepasar el límite
Y siempre se desea guardarlos, pero los directorios y subdirectorios que se de tamaño que se proporció. Esta es la
es una tarea complicada, aburrida y encuentran en ella, registrando el parte dura.
monótona. ¡Además hay que pensar! Con la nueva estruc-
¿Dónde colocar los ficheros y tura de datos en la
cómo hacerlo? mano ya sólo queda
A continuación se verá crear los directorios y
cómo crear un script Python mover los ficheros a
que facilitará esta tarea: se ellos, y listo.
pasará una ruta y una canti-
dad de espacio (por ejemplo Recolección de
el tamaño de un DVD o los datos
CDROM, y él cogerá todos los ¿Cómo se pueden
ficheros de esa ruta y los recorrer todos los sub-
guardará en directorios de directorios de
manera que ninguno de un árbol
ellos sobrepase el de
tamaño que se les dió.
¿Uso? Pues el más
evidente, dar una
primera idea de
cómo poder
ORGANICÉMONOS
Las máquinas Unix organizan los archivos en un sistema de ficheros en forma de árbol con estructura
jerárquica. Un sistema de nombres convencional definido en el Filesystem Hierarchy Standard (FHS) ayuda a
I
ncluso una instalación mínima de único programa para cada tarea de entre máquinas de la LAN usan un sistema de
Linux escribe miles de archivos y varios posibles y tienen que reem- ficheros en red como NFS para montar
directorios en el disco. El aumento plazarlo con uno compatible con ver- los directorios de los programas. Por
de distintos dialectos de Unix llevó a un siones anteriores si aparece una actual- supuesto, esto sólo funciona si los pro-
número de diseños completamente difer- ización. Por ejemplo, si un admin- gramas críticos y los ficheros están en el
entes para organizar archivos de un istrador necesita reemplazar el Agente de mismo lugar en cada máquina.
modo significativo en el disco. Por ejem- Transferencia de Correo (MTA), la nueva La comunidad de Linux comenzó a
plo, algunos administradores denominan versión debería ser capaz de localizar y trabajar formalmente en la
sus directorios home de usuarios como manejar los mensajes existentes. estandarización del sistema de archivos
/usr/home/Nombre, mientras que otros A menos que quiera definir las rutas en el otoño del 1993 (antes de que el ker-
prefieren /users/Nombre. Un buzón por sí mismo, lo habitual es conformarse nel 1.0 se desarrollara en Marzo de
podría estar en /usr/mail/Nombre en una con los estándares. La estructura de 1994). La idea detrás de la
máquina y en otra podría encontrarse en directorios estandarizados también sim- estandarización del sistema de archivos
/var/spool/mail/Nombre. En este caso, la plifica el intercambio de ficheros entre era la de portar el software de cualquier
diversidad es una desventaja. máquinas diferentes. Algunos admin- variante Unix a cualquier distribución de
Al contrario que Windows, por ejem- istradores hacen su tarea más cómoda Linux con el menor esfuerzo posible. El
plo, el diseño modular de Unix requiere realizando las principales instalaciones proyecto FSSTND (Filesystem Standard)
que los administradores seleccionen un de software una sola vez. Todas las siguió al FHS (Filesystem Hierarchy Stan-
WWW.LINUX-MAGAZINE.ES Número 14 65
065-067_SistemasFicheros 05.01.2006 13:09 Uhr Página 66
dard) [1], que aún hoy en día es el están- ración para el cargador (Grub o Lilo) se software adicional puede almacenarse
dar para todas las distribuciones. almacenan aquí. Aunque estos ficheros tanto en /usr como en /opt. Mientras que
Aunque las especificaciones de FHS son parte del núcleo del sistema Linux, /usr organiza los ficheros por funciones
provocan argumentos en muchos casos, no necesitan residir en la partición con el (los binarios se almacenan en /usr/bin,
el mero hecho de que existieran sistema de ficheros raíz. Después de las bibliotecas en /usr/lib), en /opt se
causaron la estandarización que muchas todo, al cargador no le importa el sis- organizan los ficheros por vendedor o
distribuciones Linux han venido confir- tema de ficheros mientras carga el ker- por paquetes de software. Solaris es un
mando. nel. ejemplo extremo de este convenio multi-
plataforma con su colección de paquetes
Básico Recursos en /opt/SUNW*. Linux a menudo tiene
Cada ordenador con Linux/Unix necesita Los usuarios finales pocas veces cam- instalaciones en /opt/kde3 o /opt/gnome.
un número de ficheros principales y bian los programas de la partición raíz, Pero para usar paquetes que han sido
directorios. Incluso si el ordenador ya que la mayoría de las aplicaciones instalados en /opt en la shell, necesitará
obtiene algo más de la red, este grupo software se encuentran en /usr. Quienes establecer su variable PATH.
principal de ficheros debe estar están familiarizados con Unix leerán usr Los ficheros de /usr y /opt son bas-
disponible desde el exterior. En el caso como “Unix System Resources”, recursos tante estáticos por naturaleza. Tiene sen-
que el sistema disponga de múltiples del sistema Unix, aunque normalmente tido montar estos dos directorios como
particiones físicas, estos ficheros residen se conozca como el directorio “user”. sólo lectura después de iniciar el sis-
en la partición boot. (Cuando un orde- /usr también tiene muchos subdirecto- tema, evitando modificaciones acciden-
nador arranca, puede obtener los rios disponibles en el sistema de ficheros tales o intencionadas. Y aunque es
ficheros desde un servidor, pero esto raíz. Hay un /usr/bin que coincide con importante tener una copia de seguridad
tiene que suceder antes de que se ejecute /bin; los programas del sistema se completa, normalmente puede hacerlo
init e inicialice el sistema). encuentran tanto en /sbin como en /usr/ sin una copia de seguridad de una parti-
El sistema de ficheros raíz contiene un sbin y hay un /usr/lib para las bibliote- ción estática [2].
sistema Unix completamente funcional y cas dinámicas. De acuerdo con las reglas /usr tiende a llenarse con datos espe-
ofrece de este modo muchas ventajas: si de FHS, no debería haber un /usr/etc. cialmente en los ordenadores antiguos,
el controlador de la tarjeta del interfaz de Los datos de configuración para los pro- en este caso los administradores
red falla tras una actualización del ker- gramas de /usr deben estar en /etc. deberían considerar el mover los subdi-
nel, sería imposible activar partes del sis- /usr también tiene un número de sub- rectorios de /usr a otras particiones,
tema de ficheros. El administrador nece- directorios adicionales: el código fuente como se muestra en el Listado 1. El
sita acceder al sistema de ficheros raíz se almacena en /usr/src, /usr/include script crea un sistema de ficheros en una
donde se encuentran las herramientas almacena los ficheros include para varios partición vacía, /dev/sdc1 y luego mueve
para resolver los problemas. Lo mismo lenguajes de programación y /usr/share/ el contenido de /usr/share a esta parti-
es aplicable en el caso de restaurar doc, /usr/share/man y /usr/share/info ción.
ficheros dañados desde una copia de almacenan los ficheros de docu-
seguridad: todo lo que necesita un mentación para los paquetes de software Hogar, Dulce Hogar
administrador debería residir en la zona instalados. Los directorios home de los sistemas
root. Para que FHS sea más amigable, el basados en BSD tradicionalmente se
El kit de herramientas debe incluir la encuentran bajo /usr/home. Linux usa
shell favorita del usuario y las bibliote- Listado 1: Cambiando fuera /home. En redes locales, los admin-
cas necesarias, un editor de texto y soft- /usr/share istradores utilizan muy a menudo un
ware para acceder a otras partes del sis- automontador para mapear /home a un
01 #!/bin/sh
tema como fdisk, el familiar mkfs y directorio de red, que se monta dinámi-
02 mke3fs /dev/sdc1
mount. La especificación del Filesystem camente desde el servidor de ficheros
03 mount /dev/sdc1 /mnt
Hierarchy Standard [1] tiene un com- cuando un usuario se autentifica.
04 cd /usr/share
pleto listado. Junto al directorio raiz /, el Los directorios de datos de los servi-
05 tar cf - . | (cd /mnt && tar
área del sistema de ficheros raíz incluye cios al igual que los servidores HTTP o
xpf -)
en directorio /etc con sus ficheros de FTP también son asignados a sus propios
06 umount /mnt
configuración, /bin y sbin con la mayoría directorios. Las distribuciones tienen
07 mount -o remount,rw /usr #
de los programas importantes, /lib para soluciones diferentes para los puntos de
falls /usr read-only ist
bibliotecas dinámicas y módulos del ker- montaje, aunque el FHS estipula que
08 rm -rf /usr/share/*
nel y /dev para los ficheros de disposi- estos datos residan bajo el directorio
09 mount -o remount,rw / # falls
tivos. El directorio home del usuario /srv. Actualmente Suse hace esto, permi-
/ read-only ist
root, /root, también se encuentra a tiendo al directorio raíz de los documen-
10 echo '/dev/sdc1 /usr/share
menudo en esta partición. tos de Apache apuntar a /srv/www.
ext3 defaults 1 3'
/boot juega un papel especial; en un Muchos administradores encuentran
>>/etc/fstab
sistema moderno Linux, el kernel, una esto complicado de usar. Por ejemplo,
11 mount /usr/share
imagen de disco ram con módulos críti- Debian está bastante orgullosa de ser
12 exit
cos del kernel y ficheros de configu- compatible a FHS, aunque usa /var/
66 Número 14 WWW.LINUX-MAGAZINE.ES
065-067_SistemasFicheros 05.01.2006 13:09 Uhr Página 67
Figura 1:El sistema de ficheros típico de una máquina Linux. Para una mejor representación y flexibilidad, los administradores deberían dis-
tribuir los datos en varias particiones en el disco duro.
www como directorio raíz de los docu- Datos Estáticos y Variables RECURSOS
mentos; Red Hat Enterprise Linux adopta Un sistema Unix en ejecución produce
una solución parecida. El directorio de un gran número de cambios en los [1] Filesystem Hierarchy Standard: http://
datos para el demonio FTP normalmente ficheros que se encuentran en el directo- www.pathname.com/fhs/
está bajo /home/ftp. rio /var (datos variables). Hay dos venta- [2] Marc André Selig, “Backups”:Linux
jas en esta solución: primera, separa los Magazine 07, p. 66.
Compilando Software datos volátiles de los datos de sólo lec-
Si compila e instala su propio software tura de la partición /usr. Además, los cadores de proceso de los servicios
en un sistema Linux, no debería usar ficheros de log pueden crecer a un activos para las comunicaciones inter-
ninguno de los directorios que hemos tamaño considerable, dependiendo de la proceso (IPC) que los programas uti-
mencionado anteriormente. Para ello cantidad de uso que se le dé al sistema. lizan. /var/empty es un directorio home
utilice el directorio /usr/local. Los scripts En caso de una carga inesperadamente vacío para una parte privilegiada del ser-
o programas que ha desarrollado pesada, los ficheros de registros de vicio SSH, por ejemplo.
deberían encontrarse bajo /usr/local/bin, Apache o del cortafuegos crecerán desor-
mientras que la documentación debería bitadamente. Si el fichero de registros El Resto
estar en usr/local/man. Puede decidir si llena la partición root, el sistema comen- El sistema de ficheros raíz también tiene
quiere poner el código fuente en /usr/ zará a hacer cosas raras porque muchos puntos de montaje para otros sistemas
local/src para que todo el mundo pueda programas no serán capaces de escribir de ficheros, incluyendo /proc, un sistema
leerlo o guardarlo en su directorio home. en los ficheros temporales. En otras pal- de ficheros virtual que proporciona un
También tiene sentido poner /usr/local abras, es buena idea poner /var en un número de núcleos variables. Los dispos-
y /home en particiones separadas. Si se directorio separado. itivos externos utilizan subdirectorios
cambia a otra distribución, un simple Un subdirectorio de /var que es bajo /media, tal como /media/floppy o
comando mount o una nueva entrada en extremadamente importante es /var/log /media/cdrom. De acuerdo con el están-
/etc/fstab le proporcionará las copias de (este es el lugar donde los ficheros de dar, /mnt solo debería ser usado para
seguridad de sus ficheros la próxima registro se almacenan); /var/mail montar sistemas de ficheros para uso
vez. Si prefiere evitar crear muchas parti- mantiene los buzones de correo de los temporal, por ejemplo, para resolver
ciones, podría crear una partición para usuarios, aunque los sistemas Linux más problemas de la máquina o para acceso
/home y usar un enlace simbólico a antiguos usan /var/spool/mail. /var/run al sistema de ficheros de red durante un
/home/local en /usr/local. tiene los ficheros PID con los identifi- período breve de tiempo. ■
WWW.LINUX-MAGAZINE.ES Número 14 67
ADMINISTRACIÓN • Squid
PUERTO SEGURO
Un servidor proxy proporciona una navegación más segura y eficiente. Aunque existen soluciones proxy
T
engo una red casera desde hace total de seguridad. Solucionar los pro- Finalmente migré a Linux y configuré
bastantes años. Empecé con un blemas era totalmente imposible. La un firewall con iptables en un Pentium
router usando Windows XP con configuración del firewall quedaba a II que hacía de router. El firewall
ICS (Internet Connection Sharing) y una merced de usuarios inexpertos, que mantiene a los atacantes fuera de mi
tarjeta Ethernet con varias interfaces de podían pulsar aleatoriamente sobre la red, y registra el tráfico entrante y
red. Las principales desventajas eran la configuración de seguridad como el que saliente. Además del firewall iptables,
inestabilidad, bajo rendimiento y falta juega a la ruleta rusa. también configuré un servidor proxy
56 Número 14 WWW.LINUX-MAGAZINE.ES
Squid • ADMINISTRACIÓN
Squid para mejorar el rendimiento de de la casa usando cable UTP estándar o figuración lleguen al mundo exterior
Internet, filtrar los molestos popups y blo- una conexión wireless. La tabla 1 muestra cuando se navegue por la Web:
quear URLs peligrosas. el hardware recomendado para la máquina
Un servidor proxy Squid filtra el tráfico firewall. vi /etc/squid/squid.conf
Web y cachea los archivos a los que se Suponiendo que el firewall esté ya fun- ...
accede frecuentemente. También limita el cionando, el siguiente paso es configurar anonymize_headers deny U
uso del ancho de banda, acelera el acceso Squid. Se encuentra disponible en Internet From Server Via User-Agent
a Web y nos permite filtrar URLs. El blo- en [3] o en uno de los mirrors [4] como forwarded_for off
queo centralizado de publicidad y descar- tar.gz (compilado desde las fuentes). strip_query_terms on
gas peligrosas es rentable y transparente Puede instalarse fácilmente usando uno de
para el usuario final. los siguientes comandos: Nótese que no pueden hacerse anónimos
Squid es una implementación completa Referer y WWW-Authenticate ya que de
en software libre y de alto rendimiento de rpm -i /cdrom/RedHat/RPMS/U lo contrario, los mecanismos de autenti-
un servidor proxy. Proporciona amplios squid-2.4.STABLE7-4.i386.rpmU cación y control de acceso no fun-
controles de acceso y se integra con facili- # Red Hat 8 cionarán.
dad con el firewall iptables. En mi caso, el forwarded_for off significa que la
servidor proxy Squid y el firewall iptables rpm -i /cdrom/Fedora/RPMS/U dirección IP del servidor proxy no será
trabajan juntos para proteger mi red de squid-2.5.STABLE6-3.i386.rpm U enviada al exterior.
intrusos y HTML peligrosos. Encon- # Fedora Core 3 Con strip_query_terms on no se regis-
traremos abundantes artículos acerca de tran en el log los parámetros de las URL
firewalls en libros, revistas y páginas Web. rpm -i /cdrom/.../U más allá del signo ?. Cuando este
(Véanse [1] y [2], por ejemplo). El servidor squid-2.5.STABLE6-6.i586.rpmU parámetro está en off, se registra la URL
proxy Squid, por otro lado, no está bien # SuSE 9.2 completa en los archivos log de Squid.
documentado del todo, especialmente Esta característica puede ayudar a depu-
cuando hablamos de pequeñas redes En el momento de escribir estas líneas, la rar fallos en los filtros de Quid, pero tam-
caseras como la mía. En este artículo, versión estable de Squid es la 2.5. bién puede violar las reglas de privaci-
vamos a mostrar cómo configurar Squid. dad.
Configurar Squid La siguiente configuración identifica el
Comenzamos Una vez que ha sido instalado, será nece- host de Squid, el dominio (interno) donde
El primer paso es encontrar el hardware sario configurarlo. Squid tiene un archivo opera la máquina y el nombre de usuario
necesario. La Figura 1 muestra la configu- de configuración centralizado. Cada vez responsable del servidor. Nótese el punto
ración de red del Pentium II que se ha uti- que cambia este archivo, la configuración delante del dominio. Más adelante,
lizado como firewall y servidor proxy. Este debe recargarse con el comando /sbin/ encontramos el nombre del servidor local
sistema firewall debería operar con una init.d/ squid reload. de DNS y el número de nombres de
mínima intervención humana, por lo que Es posible editar el archivo de configu- dominio a cachear en el servidor Squid.
tras la configuración del sistema, se ración con un editor de textos. Existe una
pueden desconectar el ratón, teclado y descripción detallada de la configuración visible_hostname squid
monitor. Puede que tengamos que ajustar en el archivo squid.conf, aunque la expli- append_domain .mshome.net
la configuración de la BIOS para que el cación a veces es algo técnica y compli- cache_mgr sysman
ordenador pueda trabajar sin el teclado. El cada de entender. Esta sección resume dns_nameservers 192.168.0.1
objetivo es poder colocar todo el sistema algunas configuraciones importantes del dns_testnames router.mshome.net
en el desván, donde ni lo oigamos. Desde archivo squid.conf. fqdncache_size 1024
el minihub mostrado en la Figura 1, se En primer lugar, se habrá de evitar que http_port 80
pueden “bajar las escaleras” hasta la red ciertos metadatos relacionados con la con- icp_port 0
ADMINISTRACIÓN • Squid
Evitar Bloqueos
Squid necesita guardar su caché en
algún lugar del disco duro. La caché es
un árbol de directorios. Con la opción Figura 1: Configuración básica de una LAN Ethernet.
cache_dir en el archivo squid.conf, se
puede especificar la configuración con El espacio en disco se distribuye por Especificación del Formato
características como las siguientes: todos los directorios. Normalmente se de Log
• mecanismo de I/O del disco – aufs esperaría una distribución pareja a lo
• ubicación de la caché en el disco – largo de los directorios, pero en la prác- Puede elegirse entre el formato de log de
/var/cache/squid tica, se acepta una cierta variación en la Squid y el formato estándar de servidor
• cantidad de espacio en disco que distribución. Es posible encontrar confi- Web usando el parámetro
puede ser usado por el servidor proxy guraciones más complejas utilizando emulate_httpd_log. Cuando el parámetro
– 2.5 GB múltiples discos, pero para el uso casero, se fija a on, se usa el formato de Web. Si
• número de directorios principales – 16 una estructura de directorios es sufi- se fija a off, obtendremos más detalles
• subdirectorios – 256 ciente. con el formato Squid. Ver [7] para mayor
Por ejemplo: información acerca del análisis de
Las opciones para métodos de acceso a Sustitución de la Caché archivos log de Squid.
disco son las siguientes: El servidor proxy usa un algoritmo LRU
• ufs – acceso a disco clásico (demasiada (Least Recently Used). Estudios detalla- Jerarquía Proxy
I/O puede ralentizar el servidor Squid) dos de HP Laboratories [6] han revelado El proxy Squid puede trabajar de manera
• aufs – UFS asíncrona con hilos, menos que un algoritmo LRU no es siempre la jerárquica. Si se desea evitar el proxy
riesgo de conflictos de acceso al disco opción más inteligente. La configuración padre para algunos destinos, se puede
• diskd – demonio diskd, evita también GDSF mantiene pequeños objetos popu- habilitar una resolución directa. ¡El
el peligro de conflicto de acceso al disco lares en la caché, mientras que elimina navegador usará aún nuestro proxy
pero usando más memoria. los más grandes y menos usados, incre- local!
UFS es el sistema de I/O de archivos mentando de esta manera el rendimiento
clásico de UNIX. Se recomienda usar global. acl direct-domain U
aufs para evitar cuellos de botella. (Al dstdomain .turboline.be
usar aufs, van a existir menos procesos). cache_replacement_policyU always_direct allow U
heap GDSF direct-domain
# ls -ld /var/cache/squid memory_replacement_policyU acl direct-path urlpath_regexU
lrwxrwxrwx 1 root rootU heap GDSF -i "/etc/squid/direct-path.reg"
19 Nov 22 00:42 U always_direct allow direct-path
/var/cache/squid -> U Los objetos grandes requeridos una
/volset/cache/squid sola vez pueden colocar fuera muchos Algunos ISPs permiten usar su servidor
objetos pequeños, por lo que será conve- proxy para visitar sus propias páginas
E s re c o m e n d a b l e m a n t e n e r l a niente que limitemos el tamaño máximo Web incluso aunque no se sea cliente.
u b i c a c i ó n e s t á n d a r p a ra l a c a c h é de objeto para la caché: Esto puede ayudar a acelerar las visitas
en /var/cache/squid, y de allí a sus páginas. Cuanto más cercano esté
c re a r u n e n l a c e s i m b ó l i c o a l cache_mem 20 MB el proxy a las páginas originales, más
d i re c t o r i o re a l d e c a c h é . S i s e maximum_object_sizeU probabilidad hay de que la página se
m u eve a o t ro d i s c o p o r m o t i vo s 16384 KB cachee. Debido a que nuestro propio
d e re n d i m i e n t o o d e c a p a c i d a d , maximum_object_sizeU ISP es más lejano, el ISP tenderá
sólo será necesario modificar el _in_memory 2048 KB menos a cachear los contenidos de su
enlace simbólico. competidor…
58 Número 14 WWW.LINUX-MAGAZINE.ES
Squid • ADMINISTRACIÓN
cache_peer proxy.tiscali.beU Para Squid, las expresiones regulares acl FTP proto FTP
parent 3128 3130 U pueden especificarse inmediatamente, o always_direct allow FTP
no-query default pueden estar en un nombre de fichero
cache_peer_domain U entre dobles comillas, en cuyo caso el acl local-domain dstdomain U
proxy.tiscali.be .tiscali.be archivo debería contener una expresión .mshome.net
regex por línea, sin líneas vacías. La -i always_direct allow U
no-query significa que no usamos, o no (ignorar mayúsculas) significa que se local-domain
podemos usar, ICP (Internet Caching usarán comparaciones sin diferenciación
Protocol), véase [8]. Puede obtenerse la entre mayúsculas y minúsculas. acl localnet-dst dst U
misma funcionalidad usando expre- Si se está configurando un sistema con 192.168.0.0/24
siones regulares, pero esto proporciona múltiples proxys, es posible especificar un always_direct allow U
round-robin para acelerar la resolución de localnet-dst
cache_peer proxy.tiscali.beU las páginas y minimizar el retraso cuando
parent 3128 3130 U uno de los servidores no esté disponible.
no-query default Recordemos que la mayoría de los naveg- Tabla 2:Guía para ACL
acl tiscali-proxy U adores establecen conexiones en paralelo
• el orden de las reglas es importante
dstdom_regex -i U para obtener todos los elementos de una
\.tiscali\.be$ página. Si se usan múltiples servidores • primero se listan todas las reglas de
denegación
cache_peer_access U proxy para obtener estos elementos, la
proxy.tiscali.be allow U respuesta debería ser más rápida. • se ejecuta la primera regla coinci-
tiscali-proxy Los archivos FTP se descargan normal- dente
mente una sola vez, por lo que general- • el resto de las reglas se ignora
mayor libertad. mente no se deseará cachearlos, excepto • la última regla debería ser permite
El ACL puede incluir también una cuando se descarguen repetidamente. Así todo
expresión regular (regex para abreviar) mismo, las páginas locales no se cachean
con la URL usando una construcción normalmente, debido a que ya residen en La tabla 2 proporciona una guía para
url_regex. nuestra red: la creación de listas ACL. Puede ser una
buena idea permitir la navegación WYSI-
Listado 1: Bloqueando páginas no buscadas WYG (lo-que-ves-es-lo-que-tienes). Si no
01 acl block-ip dst "/etc/squid/block-ip.reg" se quieren ver ciertas páginas o marcos,
02 deny_info filter_spam block-ip se pueden bloquear automáticamente las
03 http_access deny block-ip correspondientes URLs en el servidor
04 proxy.
05 acl block-hosts dstdom_regex -i "/etc/squid/block-hosts.reg" Es posible filtrar por:
06 deny_info filter_spam block-hosts • dominios de cliente o servidor
07 http_access deny block-hosts • subredes IP del cliente o servidor
08 • ruta URL
09 acl noblock-url url_regex -i "/etc/squid/noblock-url.reg" • URLs completas, incluyendo
10 http_access allow noblock-url Safe_ports parámetros
11 • palabras clave
12 block-path urlpath_regex -i "/etc/squid/block-path.reg" • protocolos: HTTP, FTP
13 deny_info filter_spam block-path • métodos: GET, POST, HEAD, CON-
14 http_access deny block-path NECT
15 • día y hora
16 acl block-url url_regex -i "/etc/squid/block-url.reg" • tipo de navegador
17 deny_info filter_spam block-url • nombre de usuario
18 http_access deny block-url El Listado 1 muestra ejemplos de
comandos que bloquean páginas no
deseadas.
cache_peer 80.200.248.199 U Filtrado con Squid El script del Listado 2 hará invisibles
parent 8080 7 U En las secciones precedentes se han las páginas no deseadas. Cada vez que
no-query round-robin comentado algunas configuraciones Squid ejecuta la etiqueta deny_info,
cache_peer 80.200.248.200 U importantes de Squid. También se ha envía el archivo /etc/squid/errors/fil-
parent 8080 7 U dicho que las listas ACL (Access Control ter_spam al navegador en lugar de a la
no-query round-robin Lists) pueden usarse para permitir acceso página Web… filtrando efectivamente
... directo a las páginas sin usar el proxy los objetos no deseados. La marca
cache_peer 80.200.248.207U padre. En esta sección, se examinará <!-- esconde cualquier otro mensaje
parent 8080 7 U cómo usar las listas ACL para un control de error de Squid en el cuerpo del
no-query round-robin más detallado al acceso a Internet. texto.
WWW.LINUX-MAGAZINE.ES Número 14 59
ADMINISTRACIÓN • Squid
60 Número 14 WWW.LINUX-MAGAZINE.ES
Squid • ADMINISTRACIÓN
WWW.LINUX-MAGAZINE.ES Número 14 61
Taskjuggler • PRÁCTICO
EL ARTE DEL
MALABARISMO
Taskjuggler es una herramienta práctica para la gestión de proyectos, ya sean pequeños o
enormes. Vamos a mostrar cómo organizar un trabajo simple de remodelado con Taskjuggler.
S
i no tiene muy buena memoria, ware de gestión de proyectos es Taskjuggler El diagrama de Gantt proporciona a los
puede ser que fácilmente le pierda [1] de Chris Schläger y Klaas Freitag. gestores de proyectos un resumen gráfico,
la pista a las tareas complejas. Un Taskjuggler es una herramienta de código permitiéndoles seguirle la pista al progreso
paso importante es tener por escrito una abierto distribuida con licencia GNU GPL. del proyecto, su estado actual y las posibles
lista de las cosas que hay que hacer, pero desviaciones con respecto a la agenda del
una herramienta software adecuada, puede El Plan mismo. El resumen muestra claramente las
ayudar a planear el proyecto. Este artículo Los diagramas de Gantt (nombre recibido dependencias entre las tareas individuales.
guía al lector a través de un simple trabajo de su inventor, el ingeniero norteamericano Esto hace que sea fácil paralelizar las tareas
de remodelado para demostrar el uso de la Henry Laurence Gantt (1861--1919) lle- individuales, es decir, permitir que se reali-
herramienta de gestión de proyectos garon a ser el estándar de facto en la cen al mismo tiempo (condiciones start-
Taskjuggler [1]. gestión de proyectos hace bastantes años. start). De una manera similar, también es
Imagínese que por fin se decide a remod- El diagrama visualiza las tareas, con los
elar su cuarto de baño, un proyecto que puntos de comienzo y finalización bien Tareas Básicas
probablemente lleve posponiendo desde definidos como barras de tiempo y, adi-
Tareas para la reforma del cuarto de
hace años. Como gestor del proyecto, ten- cionalmente, indicando las dependencias baño:
drá que saber qué tareas tienen que lle- entre las tareas. Un diagrama de Gantt 1. Preparar los accesorios a reemplazar.
varse acabo, en qué momento realizarlas, resalta el denominado camino crítico, es 2. Quitar los accesorios antiguos.
qué clase de ayuda necesitará y lo más decir, las tareas que deciden si el proyecto 3. Instalar los accesorios nuevos.
importante de todo, cuando se podrá dar se completará dentro del período de tiempo
4. Poner en funcionamiento los acceso
un baño en su nueva bañera. Nuestro soft- establecido o no. rios nuevos y finalizar el proyecto.
posible planear un proceso de modo que ejemplo, si existe una dependencia entre la
coincida con la finalización de otro pro- finalización de una tarea y el comienzo de
ceso del que depende (condición end- otra.
end). Taskjuggler proporciona suficiente mar-
La paralelización posee la ventaja de gen para definir las horas de trabajo, las
reducir el tiempo total requerido para el horas de ocio e incluso los descansos en el
proyecto, suponiendo que múltiples pro- diagrama de Gantt. Los recursos se pueden
cesos puedan darse al mismo tiempo. asignar a grupos para facilitar la gestión,
Además, también ayuda a distribuir los pero esto es algo que no necesitamos para
recursos. Los recursos requeridos para la el proyecto de reparación del cuarto de
remodelación del cuarto de baño incluyen Figura 1: El editor de Taskjuggler se usa para baño.
la mano de obra, además de las her- introducir los datos del proyecto. Taskjuggler permite asignar los costes a
ramientas y posiblemente el espacio. Si los recursos individuales y definir los
tiene éxito asignando los recursos a las tar- desee, aunque generalmente, se debería costes iniciales y finales para el proyecto.
eas individuales en la fase de planifi- adecuar al nivel de detalle que hemos Esto significa que puede presupuestar la
cación, le resultará bastante sencillo ver escogido aquí. reforma del cuarto de baño y gestionar los
qué clase de ayuda va a necesitar y en qué En la última fase de la preparación del gastos de modo que pueda tener previsto
fase del proyecto. El diagrama de Gantt proyecto, habrá que decidir quién va a un retraso.
hace referencia a una serie de puntos realizar las tareas individuales. En nuestro El programa proporciona valiosos
intermedios importantes que se van com- ejemplo, vamos a realizar el trabajo de informes organizados por categorías como
pletando a lo largo del proyecto. A estos limpieza nosotros mismos. Los materiales tareas individuales, progresos o costes. El
puntos los denomina hitos. Los hitos mar- serán proporcionados por los proveedores diagrama de Gantt visualiza planos progre-
can los puntos del tiempo donde han de de materiales de construcción y se dispone sivos y muestra como han sido asignados
concluir las tareas específicas. de dos profesionales que nos van a ayudar: los recursos a las tareas. Taskjuggler
Para comenzar, hay que hacer una lista un fontanero cualificado para los trabajos facilita un resumen de los recursos
de las tareas que deben llevarse a cabo en de desinstalación de la antigua bañera y la humanos, incluyendo datos de disponibili-
el proyecto de remodelación del cuarto de instalación de la nueva y un electricista dad, carga y costes. El calendario de recur-
baño. El cuadro titulado “Tareas Básicas” cualificado para la instalación eléctrica. Y sos muestra qué recursos están
proporciona una primera versión de la por último, disponemos de nuestra propia disponibles, el momento en el que lo están
lista de tareas. familia para ayudarnos a deshacernos de y cuáles precisan ampliarse.
Una vez que se tiene esta primera lista, los escombros. Taskjuggler es una herramienta muy
se puede tomar cada una de las tareas y Vamos a utilizar Taskjuggler para asig- potente capaz de manejar proyectos profe-
especificarlas con mayor detalle, subdivi- nar los recursos humanos a las tareas indi- sionales y proporciona un conjunto com-
diendo cada una de ellas en subtareas viduales y crear el programa de trabajo. pleto de características temporales, recur-
diferentes, como se muestra en el cuadro sos y gestión de costes. La entrada de datos
“Tareas Detalladas”. La herramienta y la gestión son ambas intuitivas y la her-
En este punto, conscientemente, se La herramienta de gestión de proyectos ramienta dispone de diversos tipos de
evita pensar en el orden en el que las tar- Taskjuggler es realmente una colección de informes que visualizan el estado actual
eas básicas deben ser realizadas. En vez bibliotecas y una herramienta de línea de del proyecto basándose en los parámetros
de ello, hay que concentrarse en definir el comandos con una interfaz de usuario grá- de tiempo, coste y recursos utilizados.
mayor número posible de tareas. Esto se fica para KDE. Taskjuggler planifica de
puede llevar al nivel de detalle que se forma autónoma las tareas individuales y Planificando
resuelve las situaciones conflictivas, por El siguiente paso consiste en introducir las
Tareas Detalladas tareas individuales en Taskjuggler. El pro-
Instalación grama tiene su propio editor para intro-
Preparar los accesorios a reemplazar
ducir las tareas (Figura 1).
1. Comprobar las tuberías del agua El código fuente de Taskjuggler está Cuando defina un proyecto nuevo,
2. Comprobar el calentador disponible para descargarse desde el primero debe usar el editor para definir los
sitio web [1]. Para compilar el programa,
3. Realizar las reparaciones datos del programa como el ProjectID (una
se necesitan las bibliotecas de KDE
4. Quitar los accesorios a reemplazar descripción del proyecto que incluye infor-
(kdelibs-dev, kdelibs-devel, o algo simi-
mación del marco temporal de trabajo), la
Quitar los accesorios antiguos lar). El paquete está comprimido con
bzip2, por ello se necesita la opción -j de fecha actual, el formato de la hora y la
1. Cortar el agua
tar para poder descomprimirlo: moneda. Las entradas para nuestro
2. Quitar los muebles proyecto de reforma del cuarto de baño
tar xfj taskjuggler-2.1.tar.bz2
3. Quitar la bañera son las siguientes:
En el directorio taskjuggler-2.1, hay que
4. Quitar la ducha
ejecutar ./configure. A continuación con
5. Quitar los azulejos project bare "Reforma Baño" "1.0"
make y su -c 'make install' se compila e
6. Quitar las lozas del suelo instala el programa. 2005-07-01 2005-08-30 {
now 2005-07-11
Trayer
Trayer
BANDEJA DE
ENTRADA
L
os administradores de ventanas tales Trayer podría ser muy útil si se desean Los usuarios con Suse Linux 9.3
como Fluxbox [1] ofrecen sus mantener esas caracteristicas tan venta- pueden sufrir algunas dificultades en la
propias interfaces para applets KDE josas, incluso en el caso de que se use un construcción de los binarios, como
o GNOME. Estos pequeños programas se administrador de ventanas alternativo. ocurre con los ficheros de encabeza-
sitúan en la bandeja del sistema de la barra Esta herramienta permite añadir una miento desde los paquetes de desarrollo
de tareas, añadiendo así todo tipo de fun- barra de tareas en cualquier parte del que, con esta distribución ya, no con-
ciones prácticas. Por ejemplo, el demonio escritorio, ofreciendo un espacio consi- tienen las definiciones requeridas [3].
de alarma de KDE le sigue la pista a sus derable para depositar los applets de Para remediarlo, es necesario actualizar
citas, el applet de KMail controla su buzón bandeja. El programa está basado en la librería GTK2. Suse Linux almacena la
de correo, y algunos programas, que fbpanel de Anatoly Asviyan [2]. Maciel librería en un paquete adicional de
incluso no forman parte de las distribu- Delmanowsky extrajo los componentes
ciones principales de escritorio, añaden sus de bandeja del programa de arranque y Añadidos para Suse 9.3
propios applets de acceso rápido. desarrolló una aplicación independiente.
Algunos paquetes de programa de Suse
Instalación añaden versiones actualizadas de unas
cuantas aplicaciones a la distribución.
Si se está interesado en probar Trayer y
Para instalar, es necesario añadir una
no se usa Debian, será imprescindible
nueva fuente de instalación a YaST. Los
compilar el código fuente. Tanto el paquetes GTK2 actualizados se encuen-
código fuente para Trayer como el tran disponibles en el servidor en
paquete Debian preconstruído se ftp-stud-fht-esslingen.de. Especifique el
encuentran disponibles en [3]. directorio
Suponiendo que se ha instalado el gtk2, /pub/Mirrors/ftp.suse.com/pub/suse/7i38
gdk-pixbuff y los paquetes de desarrollo 6/suplementary/GNOME/update_for_9.3/
respectivos, se puede construir e instalar yast-source/. Tras añadir el código de
la aplicación introduciendo make && su instalación, los nuevos paquetes se
-c "make install". Obsérvese que make encontrarán disponibles en el módulo
de admnistración de software de YaST.
install no copia el binario a /usr/bin. Si
Se selecciona el paquete gtk2-devel para
se prefiere instalar en /usr/local/bin, es
la instalación. Entonces YaST resolverá
preferible omitir el comando de insta- automáticamente cualquier dependen-
lación y copiar manualmente el fichero cia. Para volver a la versión GTK2 previa
trayer a la carpeta en la que se almace- sin ningún problema, deshabilite las
Figura 1: Los applets de Gnome y KDE resi- nan los binarios compilados manual- fuentes añadidas. YaST accederá luego a
den en la bandeja. mente. los paquetes originales.
EL MAYORDOMO
INALÁMBRICO
Los usuarios de ordenadores portátiles que se mueven entre
HILZINGER
L
a tarea de configurar el acceso a distribuciones. Pero no hay de qué preo- modificar las rutas para los archivos del
una red inalámbrica no es algo cuparse. Si nuestra distro no incluye
trivial, incluso para los usuarios Wlassistant, podemos navegar hasta [1]
de las grandes distribuciones. Aún en el para bajarnos la última versión desde
caso de que intentemos conectarnos a Internet.
nuestra propia WLAN pueden La primera vez que se ejecuta el pro-
sobrevenirnos problemas. ¿Qué ocurre si grama, presionando [Alt+F2] y teclean- Figura 1: La primera vez que se ejecuta,
nuestra configuración de red cambia o do wlassistant, se abrirá una ventana Wlassistant puede asignar permisos para
tenemos que acceder a otra red inalám- para indicar que un usuario normal no los programas necesarios.
brica con una configuración diferente? está autorizado para ejecutar los progra-
En un mundo lleno de hotspots en mas necesarios (véase Figura 1). Puede
aeropuertos y cibercafés, los usuarios de pulsarse sobre Yes para indicarle a
redes inalámbricas necesitan un método Wlassistant que pida la contraseña de
sencillo para conectarse a redes nuevas. root y configure automáticamente los Figura 2: Puede que sea necesario algo de
En casos como este, la herramienta permisos de acceso. El programa configuración extra. En Suse Linux, Wlassis-
KDE Wlassistant puede ser de gran entonces fija el bit setuid para las he- tant falla a la hora de encontrar los coman-
ayuda. Wlassistant busca la señal de rramientas dhcpcd, ifconfig, iwconfig y dos necesarios para configurar la conexión.
PUNTOS DE VISTA
Xnview es una herramienta útil para el visionado y la edición de imágenes que es gratuito
para uso privado. Mostraremos algunas de las características más importantes de este
N
uestra colección de imágenes digi- derecha y la previsualización de la imagen Sheet. En este caso, Xnview no crea un
tales sigue creciendo, pero aún no abajo. Haciendo clic en el thumbnail se sitio web sino un nuevo contenedor de
disponemos de la herramienta muestra la imagen correspondiente. El imágenes con los thumbnails de los origi-
adecuada para la gestión y edición de menú View | Layout permite cambiar la nales seleccionados. Haciendo clic en el
dichas imágenes. Los programas especia- configuración del explorador o el tamaño icono de la derecha de HTML aparecerá
lizados abundan, pero proporcionan más del thumbnail. un cuadro de diálogo donde se puede
de lo que el usuario necesita y tantos El fichero histórico es una ayuda útil de especificar cómo desea que se muestren
detalles pueden llevar a la confusión. Si se navegación; está accesible mediante el los ficheros y la información (tamaño del
está buscando una herramienta práctica menú File. Para comprobar el directorio fichero o nombre) que proporcionará la
para el manejo de imágenes, Xnview [1] histórico, hay que hacer clic en el icono de hoja de contacto.
puede ser la respuesta. la derecha de la barra de direcciones. Este
Xnview lee unos 400 formatos de imá- icono también tiene la función de Entrando en Detalles
genes y escribe alrededor de 40, es bas- favoritos, que permite almacenar las direc- Si las imágenes contienen meta-informa-
tante simple para uso personal. Los pre- ciones a las que se necesita acceder con ción en formato EXIF o IPTC, ésta se
cios (en Euros) para uso comercial se frecuencia. mostrará en un pequeño cuadro en la
muestran en la Tabla 1. esquina inferior derecha del thumbnail.
Es tanto un explorador de imágenes Colecciones de Imágenes EXIF [2] indica los datos de los parámetros
como un visor con grandes opciones de Xnview ofrece dos características para de la cámara usada para tomar la foto, por
edición. El paquete también viene con un crear colecciones de imágenes. Haciendo ejemplo, información sobre el diafragma,
convertidor por lotes, una característica de clic en el botón HTML en la barra de he- el tiempo de exposición o la resolución.
presentación de fotografías y un generador rramientas se crea un sitio web con los IPTC [3] contiene datos como el género, el
de thumbnails, que es útil si se desea thumbnails de las imágenes selec- autor, el origen o las notas de copyright.
hospedar imágenes en un sitio web. El cionadas. Se puede usar el cuadro de diá- Dichos datos se usan principalmente para
programa lee y escribe meta información logo para especificar parámetros tales la administración de los archivos.
en formato IPCT y también lee datos EXIF, como el tamaño del thumbnail, el número Programas como Imgseek pueden catego-
es decir, la información técnica de una de columnas y líneas y el espacio entre rizar las imágenes basándose en esta
imagen. ellas. Para facilitar la organización, información.
Xnview crea dos subcarpetas, una con la Para leerla, hay que pulsar el thumbnail
Explorador de Imágenes imagen original y la otra con los thumb- con el botón derecho del ratón, y se selec-
Cuando se ejecuta, Xnview viene con un nails almacenados. Puede actualizarse la ciona Properties… del menú desplegable.
explorador de imágenes (Figura 1), que vista directamente en el servidor web. En la nueva ventana que aparece, hay que
está dividido en tres marcos: el árbol de La segunda característica sigue un prin- pulsar en la solapa con la información que
directorios, los thumbnails, arriba a la cipio parecido a la creación de Contact se desee ver en la parte superior de la ima-
18 Número 14 WWW.LINUX-MAGAZINE.ES
Xnview • PORTADA
gen. El elemento Edit IPC… del menú puede entrar directamente en el visua-
desplegable muestra la información IPTC lizador escribiendo Xnview
en modo de edición. nombre_de_fichero en la línea de coman-
dos.
Todo en uno
Las imágenes recién obtenidas de una Sólo para tus ojos
cámara tienen normalmente nombres tan Los botones de las flechas de la caja de
poco intuitivos como IMG_0815.JPG. herramientas permiten al usuario nave-
Xnview dispone de una herramienta de gar por las imágenes de un directorio. Se
renombre por lotes (Figura 2) para asig- puede seleccionar el tamaño de la ima-
nar nombres más significativos. Hay que gen a mostrar en View | Auto Image Size.
seleccionar todas las imágenes que se El menú proporciona opciones para Figura 1: El Navegador de Imágenes muestra
desean renombrar, luego se pulsa con el escalar la imagen al tamaño de la ven- una previsualización del thumbnail actual-
botón derecho del ratón y se selecciona tana y viceversa. La opción solamente mente seleccionado.
Batch rename… del menú contextual. Se afecta a la imagen actual. Para escalar
puede establecer un prefijo para todas las cualquier imagen que se muestre en el La ayuda Display Color Information
imágenes en la parte izquierda del cuadro visor, hay que seleccionar Tools | Options (Mostrar Información del Color) es una
de diálogo. Usemos Vacaciones# Start:0, para obtener la ventana de configu- característica que los diseñadores web y
Step:1 como ejemplo. Esto le indica al ración; luego se pulsa en View en la los artistas gráficos agradecerán. El ele-
programa que renombre todos los columna de la izquierda y se establece mento Display Color Information en View
ficheros basándose en el patrón Auto Image Size: con el valor deseado. habilita la característica que muestra los
Vacaciones0.jpg, Vacaciones1.jpg,… Si se Si se tiene un ratón con rueda, la selec- valores RGB y hexadecimales del color que
desea estandarizar el caso, pueden ción Mouse permite especificar si se se encuentran bajo la posición del cursor
establecerse los valores preferidos en desea utilizar la rueda para hacer scroll o del ratón. Desafortunadamente, la ventana
Filename case. para hacer zoom. Por defecto, los pasos es visible a través de cualquier otra ven-
del zoom son bastante bruscos y puede tana que esté por delante de la que se está
Fotografiando la Pantalla ser que se desee ajustar este parámetro. intentando ocultar y esto puede hacer que,
Xnview dispone de una utilidad para cap- Para ello, se pulsa en View en el cuadro después de un rato, el diseñador se ponga
turar la pantalla. Pulsando en el símbolo de diálogo Options y se habilita Change nervioso. No se sabría decir si esta persis-
de la cámara de la caja de herramientas se zoom in fixed steps. Entonces se intro- tencia es una característica o es un error.
obtiene el cuadro de diálogo de captura. duce el valor (en porcentaje) en el
Además de las aplicaciones individuales, cuadro para definir el paso del zoom.
que se organizan en una lista, se puede El elemento High zoom quality le indi-
capturar la pantalla completa, que se ca a Xnview que recalcule la imagen a
muestra en el visor. Desafortunadamente, ampliar. Esto hace que se obtengan ma-
la herramienta no proporciona la habili- yores niveles de detalles en factores altos
dad de ocultar el cuadro de diálogo de de ampliación. Como punto negativo, es
captura y esto hace que sea poco útil. necesario disponer de un hardware
razonablemente rápido para beneficiarse
El Visor de Imágenes de esta característica: una máquina lenta
Haciendo doble clic en un thumbnail, se puede tardar unos minutos en recalcular
abre la imagen correspondiente en el la imagen.
visor de imágenes (Figura 3). La imagen Pulsando en Full Screen de la caja de Figura 2: El Batch renombra las característi-
es una nueva instancia; viene con fun- herramientas o pulsando el atajo de cas permitiendo a los usuarios asignar nom-
cionalidades extendidas y con botones teclado [CTRL+F], pasa el programa a bres de archivos significativos a varios
que no aparecen en el navegador. Se pantalla completa. A continuación se archivos.
pueden utilizar los botones derecho e
Tabla 1: Licencias izquierdo del ratón para navegar a la Retocando las Imágenes
Comerciales de Xnview imagen siguiente o a la anterior. [Esc] El programa es francamente bueno cuan-
Número de Licencias Coste por cierra la vista a pantalla completa. do se necesitan retocar imágenes digitales.
Usuario Xnview ofrece la posibilidad de realizar Todas la herramientas que se necesitan
1 licencia 26.00 EUR una presentación para poder ver todas las para ello se encuentran ocultas en el menú
2-9 licencias 23.00 EUR imágenes en sucesión una tras otra. Para Image y Filter. Como en otras herramien-
10-19 licencias 20.00 EUR ejecutar la presentación hay que selec- tas de retoque fotográfico, los elementos
20-49 licencias 17.00 EUR cionar View | Slide Show… y luego, en el de Filter definen operaciones para
50-99 licencias 9.50 EUR diálogo que aparece, podremos selec- suavizar la imagen, mientras que Image
100-499 licencias 6.00 EUR cionar las imágenes o directorios que se contiene acciones que afectan al tamaño,
500-999 licencias 3.80 EUR desea queden incluidos. el contraste o la profundidad de color.
Más de 1000 licencias 3.50 EUR
WWW.LINUX-MAGAZINE.ES Número 14 19
PORTADA • Xnview
20 Número 14 WWW.LINUX-MAGAZINE.ES
Xsane • PORTADA
La
La interfaz
interfaz de
de usuario
usuario para
para el
el escáner
escáner XSane
XSane de
de Linux
Linux
ESCANEANDO
La interfaz Sane proporciona acceso a los dispositivos de procesamiento de imágenes como los escáneres.
Se puede manejar un escáner con soporte Sane desde Linux con la interfaz de usuario XSane.
L
a mayoría de las veces un escáner corresponde con el escáner, el proceso primero a la ventana Preview (Figura 1).
se suministra con una colección de instalación es bastante sencillo (véase Coloque una fotografía en el escáner y
de programas gratuitos que se el cuadro “Configuración del Escáner”). pulse en Acquire preview.
pueden utilizar para manejarlo. Las operaciones de Sane son controladas Tras concluir una breve fase de
Desafortunadamente, casi siempre este por los front-ends. XSane es un ejemplo calentamiento, el escáner mostrará una
software sólo funciona en Windows o de front-end. Otros front-ends para Sane previsualización de la imagen en baja
(quizás) en Windows y OS X. Si usted es incluyen herramientas como Kooka [3] y resolución. El objetivo de esta
un usuario de Linux y está buscando un QuiteInsane [4]. Este artículo describe previsualización es el de ayudar al
GUI para comunicarse con su escáner, cómo manejar un escáner desde un usuario a definir una sección de la
pruebe con XSane. ordenador Linux usando el front-end imagen original para escanear y ajustar
XSane [1] es una interfaz de usuario XSane. los colores.
gráfica basada en la interfaz de
programación Sane [2]. Sane es el La Configuración Opciones
acrónimo de Scanner Access Now Easy Para ejecutar XSane, hay que pulsar [Alt- Los cinco iconos lupa de la parte de
(Ahora, Acceso Fácil al Escáner). La F2] para que aparezca una ventana de arriba permiten inspeccionar el
interfaz de programación Sane establece acceso rápido, y escribir xsane. El documento. La lupa con la cruz a la
un estándar para acceder a los programa puede que le solicite el izquierda muestra la imagen completa;
dispositivos de procesamiento de dispositivo gráfico que se desea utilizar la segunda de la derecha permite
imágenes. Los controladores para los antes de abrir varias ventanas. aumentar la selección actual.
dispositivos de procesamiento de La ventana principal se identifica Para seleccionar un área del
imágenes usados por XSane, incluido los fácilmente por la etiqueta xsane; el documento a escanear, hay que
escáneres, reciben el nombre, dentro de nombre de escáner aparece a la derecha. mantener pulsado el botón izquierdo del
la jerga de Sane, de back-ends. El menú Window permite ocultar o ratón mientras se arrastra sobre la zona
Si Sane dispone de un back-end que mostrar varias ventanas. Hay que ir deseada. El área a escanear se indica con
color del espectro entre el negro y el original es un texto, un fax o una fotografía
blanco). El icono del sol es para ajustar en color, se selecciona Color, Grayscale o
el brillo, y el icono del círculo blanco y Lineart. Para originales positivos se
negro es para el contraste. requiere la opción Full color range, pero no
es necesario cuando se van a escanear
Pongámonos Serios negativos de fotografías. En este caso, hay
Si se tiene seleccionada un área para que seleccionar el vendedor de la lista.
escanear y también se han seleccionado los Pulsando en el segundo icono cuadrado
ajustes del color, ya se puede ir a la ventana de la parte de abajo a la izquierda se
principal para configurar el resto de los invierte el color de la imagen escaneada.
parámetros. En primer lugar, hay que Esto convierte negativos en positivos. Si se
pensar para qué se desea la imagen que se pulsa el icono de la derecha, XSane
va a escanear, y basándose en esto, es sugerirá una mejora del color. Si la
necesario establecer una resolución sugerencia no le es de su agrado, se puede Figura 4: El Viewer muestra la imagen
adecuada usando el cuarto botón de la pulsar R para volver a la distribución escaneada y da a los usuarios varias
parte superior. El valor dpi (puntos por original de colores de la imagen escaneada; opciones para rotar, reflejar o escalar.
pulgada) es importante. Para una buena para guardarla hay que pulsar M. Si lo
calidad de impresión, probablemente desee hacemos en el icono de la doble flecha se le opciones para los programas de
al menos 300 dpi, pero hay que tener indica a XSane que aplique valores medios manipulación de imágenes externos. Es
cuidado, ya que una imagen de tamaño A4 para el brillo y el color. posible enviar por correo una imagen
a esta resolución ocupará entre 20 y 50 Los números junto al botón Scan escaneada, ejecutar una herramienta de
MBytes de espacio en disco. proporcionan la resolución de pantalla del OCR, enviarla por fax o imprimirla. Por
Si se piensa continuar procesando la área seleccionada para escanear, la ejemplo, la solapa Copy proporciona la
imagen escaneada, hay que seleccionar cantidad de memoria que consumirá la posibilidad de seleccionar la resolución y
primero el valor por defecto de Viewer en el imagen escaneada y la profundidad del los bordes para imprimir las fotos.
menú XSane Mode. Luego se establece la color. El campo de abajo muestra el tamaño Se puede añadir la configuración de
calidad del escáner: dependiendo de si el del área a escanear en centímetros. SMTP del programa de correo usando la
Suponiendo que estos valores son los que opción E-Mail de XSane. Posteriormente
se necesitan, se puede comenzar el proceso cuando se seleccionen E-Mail, Copy o Fax
pulsando en Scan. como el XSane Mode de la ventana
La imagen escaneada aparece en el principal, XSane pasará las imágenes al
Viewer (Figura 4). Aquí se puede retocar, si programa de correo externo. ¡Permitiendo,
se desea, rotando, obteniendo la imagen incluso, enviar esas fotos comprometidas
especular o escalándola. Además se de la fiesta a todos sus amigos!
pueden eliminar manchas o aplicar una
herramienta de desenfoque. Incluso se Conclusión
puede ejecutar un Reconocedor Óptico de XSane es un front-end sencillo para
Caracteres (OCR), pero se precisa tener un manipular los dispositivos de captura
software de OCR externo para realizar esta soportados por la interfaz Sane [5].
tarea. Encontrará bastante fácil la tarea de
escanear documentos en Linux, si su
Inundando la Imagen escáner está lo suficientemente “Sano”. ■
La única cuestión pendiente hasta aquí es:
RECURSOS
¿qué se hace con la imagen escaneada?
Pues empecemos guardándola en el disco.
Para ello, hay que seleccionar Save en [1] XSane: http://www.xsane.org/
XSane mode de la ventana principal. XSane [2] Proyecto Sane: http://www.
usa el formato pnm por defecto, pero se sane-project.org/
puede utilizar el desplegable Type para [3] Kooka: http://www.kde.org/apps/
seleccionar un formato de imagen kooka/
diferente. Se puede elegir una tasa de [4] QuiteInsane: http://quiteinsane.
compresión estándar a la hora de guardar sourceforge.net/
la imagen en Configuration de la ventana [5] Soporte Sane scanner: http://www.
Preferences de XSane. sane-project.org/
Figura 3: Haciendo click en el símbolo co- La solapa Image permite seleccionar qué sane-supported-devices.html
loreado que parece un candelabro se muestra calidad hay que utilizar en los formatos de [6] El back-end de Sane para Canon LiDE
un número de controles para la puesta a imágenes JPEG, PNG y TIFF. Las otras 30 y chipsets relacionados: http://
punto gráfica. Estos controles también se solapas aquí son Copy, Fax o E-Mail; cada www.sane-project.org/man/
muestran en el histograma. una de ellas dispone de una serie de sane-plustek.5.html
CAJA DE MÚSICA
La base de datos musical Yammi [1] para KDE (Versión 3.2 o superior)
L
a base de datos de música Yammi yammi-1.2.2), e introducir el comando debajo, presenta una vista de árbol de
puede administrar incluso la mayor ./configure para crear los ficheros. Poste- todas las pistas clasificadas según distintos
de las colecciones de canciones y riormente, hay que introducir make para criterios, como artista, álbum, género y
ofrece una arquitectura flexible que per- comenzar a compilar el código fuente. año.
mite a sus usuarios aprovechar el poder de Cuando el proceso se ha completado, hay La lista de las pistas seleccionadas ocupa
los reproductores de medios. La página de que introducir su -c "make install" y la mayor parte de la ventana del programa.
inicio de Yammi solamente tiene el código escribir la contraseña de root para instalar Para oir una canción es necesario decirle a
fuente para la versión actual, yammi- el programa en un sitio adecuado en el Yammi qué reproductor usar. Settings |
1.2.2.tar.gz. Tambien se necesitan la libre- árbol del sistema de ficheros. Seguida- Configure Yammi | MediaPlayer nos lleva
ría Taglib [2] y los paquetes de desarrollo mente puede arrancarse Yammi intro- hasta la opción necesaria. El autor de los
para los reproductores Xmms [3], Noatum duciendo el nombre del programa en una programas describe al soporte para
[4] y Gstreamer[5]. ventana terminal. Gstreamer como experimental, aunque en
Tras la instalación de las librerías y de nuestras pruebas funcionó correctamente.
los reproductores de medios, se hace pre- ¡Qué no pare la música! Los otros candidatos son Xmms, Noa-
ciso desempaquetar el archivo código Cuando se arranca por primera vez el pro- tum y ArtsPlayer. Tras seleccionar el repro-
fuente Yammi introduciendo tar -xzvf grama, pregunta por el directorio con las ductor preferido, hacemos click en el
yammi-1.2.2.tar.gz, cambiar al nuevo pistas. Yammi soporta canciones en for- botón play de la barra de tareas para que
directorio del código fuente (cd mato MP3, OGG y WAV (Figura 1). La lec- comience a sonar la música. Presionando
tura de la información de la pista puede [F1] arranca el reproductor especificado.
llevarle un tiempo. Nuestro ordenador de
1.2 GHz tardó unos dos minutos en leer KTools
unos 1000 títulos. El software almacena
luego los datos de los títulos en un fichero En esta sección examinamos herramien-
tas que, mes a mes, nos han sido útiles
formateado en XML, ~/.kde/share/apps/
trabajando con KDE, nos han resuelto un
yammi/songdb.xml.
problema que de otra manera hubiera
Tras leer los datos de los títulos, Yammi
seguido sin resolver, o simplemente nos
presenta un interfaz de programa bien han hecho la vida más agradable. Si
definido con una barra de herramientas en necesitas saber qué aplicación hace qué
Figura 1: Yammi lee las canciones de un la parte superior de la pantalla que con- en KDE, KTools es tu sección.
directorio. tiene el campo de búsqueda y los controles