Está en la página 1de 53

LINUX#11.

qxd 6/13/05 5:57 PM Page 1

PHPOnline
Presentamos un completo sistema de soporte
AR $6,90 en línea desarrollado íntegramente en PHP
Recargo envío al interior $0,20
MX $22

ANALIZAMOS LAS MEJORES HERRAMIENTAS


PARA EL DESARROLLO RAPIDO DE APLICACIONES
★ECLIPSE ★KDEVELOP ★GAMBAS ★ANJUNTA
★MONODEVELOP ★VISUAL TCL

LABORATORIOS
LABORATORIOS
Evaluamos
Evaluamos Antivir
Antivir Personal
Personal 6.3,
6.3,
kOSmo
kOSmo 1.1
1.1 yy VectorLinux
VectorLinux SOHO
SOHO 55

Instalación
Instalación del
del sistema
sistema
LTSP que
que nos
redes
nos permite
redes de
permite montar
de clientes
montar
clientes livianos
livianos
OPENMOSIX
Cómo instalar clusters
con equipos sin disco duro

GENTOO
PASO
UN INFORME ESPECIAL PARA
CONOCER A FONDO COMO
ISBN 987-526-297-8

PASO AA PASO
PASO FUNCIONA EL PROCESO DE
INSTALACION Y ADMINISTRACION
02-03-Sumario-L11.qxd 6/17/05 4:50 PM Page 2

nuestros editorial
1
expertos Desde hace muchos años, uno de los principales
Ariel Corgatelli★ arielcorg@mpediciones.com problemas de GNU/Linux es la falta de herramientas
Pasa horas y horas probando programas para el desarrollo rápido de aplicaciones. Si bien
y convenciendo a la gente de que las alternativas
libres son tan buenas o mejores que las aplicaciones siempre tuvimos compiladores de diversos lengua-
populares propietarias. jes, depuradores y gran cantidad de documentación, sucede que,
aún hoy, desarrollar una aplicación visual para GNU/Linux es una
Demian Pablo Alonso★ demon@mpediciones.com
tarea realmente compleja.

actualidad
Programador profesional, Demian es el encargado
de enseñarnos las mejores técnicas de codificación Hace un par de años, la gente de Borland intentó ofrecer una solu-
y de mostrarnos las más avanzadas herramientas
para el desarrollo de aplicaciones. ción que funcionaba. Se llamaba Kylix y era algo así como la versión
de Borland Delphi para GNU/Linux. Digo “funcionaba” y, de hecho, lo
Arturo Busleiman★ buanzo@buanzo.com.ar hacía muy bien: permitía generar aplicaciones al mejor estilo Visual
Un usuario de GNU/Linux y software libre Basic, y contaba con numerosas características interesantes, como
de la vieja escuela. “El buanzo” (como se lo conoce
en el ámbito) comparte todos sus conocimientos acceso a motores de bases de datos, entre otras. El inconveniente
de administración en la sección redes. fue que la estrategia de negocios de Borland nunca funcionó, y hoy
Kylix es considerado una plataforma de desarrollo casi muerta.
Martín Ramos Monso★ mramos@infocomercial.com
Autor de un libro de programación en lenguaje PHP Lo bueno de todo esto es que, a la fecha, existen otras opciones:
(publicado por esta editorial), Martín es un experto Mono, Eclipse, Gambas y un montón más que mencionamos en la
en desarrollo de sitios web utilizando herramientas
de código abierto. nota de tapa de esta edición permiten generar aplicaciones de ma-
nera mucho más rápida y sencilla de lo que podía llegar a ser hace
Agustín Casiva★ casivaagustini@gmail.com
Un colaborador de GNU/Linux USERS que
se encargará de contarnos toda su experiencia
algunos años. Por eso, para nuestros lectores programadores, en
este número nuestro experto en programación ofrece una completa
soluciones
en el uso de sistemas de bases de datos guía de plataformas de desarrollo, para que ustedes prueben y op-
y aplicaciones para pymes.
ten por alguna de ellas cuando decidan desarrollar sus aplicaciones
GNU/Linux. Recuerden: el éxito del Software Libre depende, exclusiva-
Guido Lorenzutti★ glorenzutti@arnet.com.ar
Otro usuario de GNU/Linux de la vieja escuela. mente, de ustedes, amigos programadores. Hasta el número próximo.
Guido es un administrador de sistemas UNIX experto
en seguridad, y compartirá todos sus conocimientos
sobre cómo proteger nuestros servidores.

Sebastián Bassi★ sbassi@gmail.com


Un gran usuario de GNU/Linux con amplia experiencia
staff
en el tema servidores y aplicaciones de hogar. Dirección General★ Miguel Iglesias
Sebastián es, además, miembro del grupo de
desarrollo de la distribución DNALinux.
Asesor Editorial General ★ Gabriel
Pleszowski
Asesor Comercial ★ Benito de Miguel
expertos
Juan Rodríguez★ jrodriguez@linux.org.ar
Fanático de GNU/Linux y administrador Coordinador Editorial ★ Miguel Lederkremer Publicidad: (54-11) 4959-5000; fax: (54-11) 4954-1791; publicidad@mpediciones.com
del sitio web del LugAr (Linux User Group Argentina). Asesor Editorial ★ Fernando Casale Distribuidores: Argentina (Capital): Vaccaro Sánchez y Cía. C.S., Moreno 794 piso 9 (1091),
Juan es un experto administrador de sistemas.
Asesor de Diseño ★ Frank Sozzani ★ Flavio Burstein Ciudad de Buenos Aires l Argentina Interior - Perfil S.A. - Chacabuco 271 - Bs. As. l Chile:
Diseño ★ Laura Heer Distribuidora Vía Directa S.A., Riquelme Nº 840, Santiago de Chile, tel. 688-7383 l México: CITEM
S.A. de C.V., Av. del Cristo No. 101 Col. Xocoyahualco Tlalnepantla, Estado de México l Bolivia:
Diagramación ★ Carlos Peralta ★ Juan Pablo Gurzi
Marcos Ibáñez★ linuxusers@mpediciones.com Corrección ★ Magdalena Porro
Agencia Moderna Ltda., General Acha E-0132, C. de correo 462, Cochabamba, tel. 005914-422-1414
Experto en sistemas operativos alternativos, Marcos Uruguay: Espert SRL, Ciudadela 1416, Montevideo l Venezuela: Distribuidora Continental Bloque de
nos presentará nuevas formas libres y abiertas de Armas, Edificio Bloque de Armas, piso 9°, Av. San Martín, cruce con final Av. La Paz, Caracas.
Los lectores que no estén suscriptos
utilizar nuestras computadoras. a la revista podrán de todas formas bajar Paraguay - Selecciones S.A.C. - Coronel Gracia 225 - Asunción | Perú - Distribuidora Bolivariana -
los programas del CD desde linux.tectimes.com. Av. República de Panamá 3635 - San Isidro, Lima

Linux-Windows Programación visual / coordinado por Miguel Lederkremer. 1a ed. Buenos Aires:
MP Ediciones, 2005, 64 p. ; 28x20 cm. (Linux Users, 11) ISBN 987-526-297-8
Todas las marcas mencionadas son propiedad de sus respectivos dueños. Impreso en Kollor Press S.A. Copyright © MMV MP Ediciones S.A., Moreno 2062, C1094ABF, 1. Informática-Programación. 2. Programación Visual. I. Lederkremer, Miguel, coor. CDD 005.3
Ciudad de Buenos Aires, Argentina. Tel.: (54-11) 4959-5000. Fax: (54-11) 4954-1791. E-mail: correo@mpediciones.com. Hecho el depósito que marca la ley. Esta publicación
no puede ser reproducida, ni en todo ni en parte, ni registrada en o transmitida por un sistema de recuperación de información, en ninguna forma ni por ningún medio,
sea mecánico, fotoquímico, electrónico, magnético, electroóptico, por fotocopia o cualquier otro, sin el permiso previo y por escrito de esta casa editorial.

usr★linux
02-03-Sumario-L11.qxd 6/17/05 4:51 PM Page 3

16
DESARROLLAR APLICACIONES PARA GNU/LINUX
YA NO ES TAN COMPLEJO COMO HACE ALGUNOS
AÑOS, GRACIAS A LAS NUEVAS HERRAMIENTAS
DE DESARROLLO VISUAL. CON MUCHAS DE ELLAS,
PODEMOS ARMAR COMPLETAS APLICACIONES
CON SOLO ALGUNOS CLICS Y POCAS
LINEAS DE CODIGO. EN ESTE INFORME,
LES CONTAMOS TODO.

La libertad
04 Todas las noticias y lanzamientos
más importantes del mundo de
GNU/Linux y el Software Libre.

Antivir
10 kOSmo
Distribución Live de GNU/Linux
para todos los gustos.

VectorLinux SOHO

08 Les presentamos una nueva


alternativa gratuita en antivirus
para GNU/Linux. 12 Nueva versión de la distribución
basada en Slackware. Incluye
muchas aplicaciones para todas
las necesidades.

28 Consultas
Respondemos a las preguntas de nuestros lectores.
38
URPMI
Con este sistema, podremos administrar
paquetes RPM de manera rápida y sencilla.
Trucos
30 Técnicas para aprovechar el sistema al máximo. KDE 3.4

32
Trucos para Debian, configuración de impresoras, etc.

Gentoo
Si tenían ganas de instalar Gentoo, ésta es su
oportunidad. Completa guía de instalación.
50 Una nueva versión del popular
KDE ha visto la luz, y en este
informe especial les comentamos
todas las novedades de este
popular gestor de escritorios.

54
PHP Online

60
LTSP
Con este sistema desarrollado en PHP, los Finalmente, la tan esperada nota
webmasters podrán brindar soporte online sobre configuración LTSP ha llegado.
a los usuarios que visiten sus sitios web. Para los que, no lo conocen, se trata
de un sistema que nos permite
OpenMosix configurar redes basadas en

58 Continuamos explicándoles cómo armar una


supercomputadora en sus casas. En esta oportunidad,
utilizando equipos sin disco rígido.
servidores de aplicaciones y clientes
livianos, entre otras cosas.
¡Que la disfruten!

Ricardo
48 En el CD
Todo sobre UBUNTU Linux,
64 Suaya
Entrevistamos a un miembro de la
la distribución que incluimos comunidad que, desde hace muchos
en el CD de este mes. años, viene desarrollando
distribuciones Live superoptimizadas.
Fanático de Slackware, Ricardo nos
cuenta todo: desde sus comienzos
hasta la salida de su último proyecto.
04-06-News-L11.qxd 6/17/05 5:04 PM Page 4

news
EL HERALDO DE GNU/LINUX Y SOFTWARE LIBRE

“La Libertad”
NOTICIAS, NOVEDADES, LANZAMIENTOS DE NUEVAS VERSIONES…
EN FIN, TODO LO QUE SUCEDIO EN EL ULTIMO MES, RESUMIDO EN DOS PAGINAS.

NOKIA 770, INTERNET PALM OS,


EN TODOS LADOS
Nokia anunció la inminente
AHORA CON LINUX
PalmSource parece sumarse también a la movida de
salida del 770 Internet Ta- Linux. En la última conferencia DevCon, se presentó
blet PC. Se trata de un dis- “Rome”, nombre provisorio que recibe la próxima
positivo que no es ni un te- versión de Palm OS. Lo interesante es que este nuevo
léfono ni una Palm, aunque sistema operativo estará basado en Linux y podrá
tiene el tamaño de esta últi- ejecutar aplicaciones de versiones viejas de Palm
ma. Principalmente, el 770 OS, siempre y cuando “estén bien escritas”,
es una especie de Tablet PC pe- dicen en la empresa.
queño, diseñado especialmente para navegar por In- Esto permitirá a la gente de PalmSource trabajar con un
ternet gracias a su soporte de Bluetooth y WiFi. Permite, además, ejecutar gran producto de código abierto y, así, dejar que la comuni-
cantidad de archivos de diferentes formatos, tanto de audio, como de videos, dad contribuya para soportar nuevas tecnologías y desa-
imágenes y texto. rrollar nuevos drivers de controladores. Se espera que
El 770 posee un sistema operativo basado en Linux (núcleo 2.6) y GNOME. Ade- Rome esté incluido en los nuevos equipos de la empresa
más, incluirá Opera como navegador Web. a partir de mediados de 2006.
Nokia ya se está popularizando en el ambiente del código abierto por permitir el
uso de tecnologías patentadas por ellos en proyectos de este tipo. Además,
gran cantidad de sus equipos celulares traen un sistema operativo llamado
Symbian OS, que también está basado en un proyecto de código abierto.
El Nokia 770 estará en la calle en un par de meses y tendrá un precio que ron-
dará los U$S 400 en los Estados Unidos.

LINUS,
NO ENTENDISTE NADA
Más o menos eso es lo que le dijo Colin Percival a Linus Torvarlds.
¿PROUBLEMAS DE SEGIURIDAD? ¡NOU PASA
NARANJA! DICE LINUS, MIENTRAS SE TOMA OTRO
VASO DE CERVEZA OPEN SOURCE.
¿Por qué? Colin es un estudiante que descubrió una vulnerabilidad
en el sistema de HyperThreading de los procesadores Pentium 4 y Xeon, que permite acceder a la caché
L2 del procesador y monitorear procesos con cifrados, como OpenSSL.
Linus Torvalds, por su parte, menospreció este descubrimiento diciendo que, en realidad, no es tan
peligroso. Pero Colin atacó otra vez: “Es en tiempos como éste cuando Linux realmente sufre por tener un
solo dictador a cargo; cuando Linus no entiende el problema, no lo arreglará, aun cuando todos los
criptógrafos del mundo se opongan a él”.
Finalmente, Intel sugirió que el problema puede atacar a otros procesadores también, y que las próximas
versiones de Linux y Windows tendrán protección para esta vulnerabilidad.

04 usr★linux
04-06-News-L11.qxd 6/17/05 5:04 PM Page 6

news

GOOGLE: ¿DIOS O DEMONIO?


En el mundo del código abierto, Google es una empresa popular, ya que siempre ha ma-
nifestado simpatía por la comunidad y ha desarrollado su inmenso motor de búsquedas
casi exclusivamente con tecnología de código abierto.
Pero, en los últimos tiempos, algunas voces se han alzado en contra de la empresa que
gestiona el gran buscador. “Google ya no es lo que era”, dicen, y en gran parte, tienen ra-
zón. Las páginas de resultados de búsquedas están plagadas de publicidad. Pero esto no
es lo más grave: muchos usuarios están quejándose por la llamada “Cookie del diablo”, un
archivo que el buscador almacena en las computadoras de todos aquellos que lo utilizan,
con una clave única. De esta forma, cada una de las personas que utiliza Google está iden-
tificada, y esa información podría usarse para un sinfín de acciones no convenientes.
Por otra parte, los usuarios de Windows se quejan de que la Google Toolbar es nada más
que un spyware, ya que envía a la “casa central” información de todas las páginas que
ellos visitan y, obviamente, información de la cookie también.
Los más apocalípticos declaran a gritos que Google es una bomba de tiempo de inva-
sión a la privacidad, porque rastrea millones de páginas por día, de manera indepen-
diente y sin pedirle permiso a nadie. Ya hubo muchos casos de páginas que han apare-
cido en el buscador con información que sus dueños, en realidad, no querían divulgar,
pero fueron encontradas por el “robot”.
Lo cierto de todo esto es que la información es poder, y la gente de Google parece estar
convencida de ello al indexar millones de páginas por día, digitalizar libros e invitar a
los usuarios de computadoras a que guarden cuanto puedan en sus infinitas cuentas
Gmail. Ahora bien, ¿quién nos garantiza que harán un correcto uso de ella?

EL SITIO
GOOGLE WATCH
(WWW.
GOOGLE-WATCH.
ORG/) ESTA DEDICADO
A SEGUIR DE CERCA
TODOS LOS
MOVIMIENTOS
SOSPECHOSOS DE LA
EMPRESA.

¿MICROSOFT COMPRA REDHAT?


Recientemente, Steve Ballmer (de Microsoft) y Matthew Szullik (de RedHat) se
reunieron casi en secreto en Nueva York. Si bien no hay informes oficiales, y la
gente de RedHat casi niega el hecho, lo cierto es que Bill Gates declaró hace
poco tiempo que Microsoft comenzará a reunirse con grandes compañías de
Open Source para ver qué tienen en común y qué cosas interesantes pueden
obtener para dar mejores servicios a sus clientes.
Algunos dicen que RedHat necesita una solución a una amenaza por parte de
IBM, que planea desarrollar su propia versión de GNU/Linux para ser incluido
en varias gamas de equipos. No olvidemos que RedHat es, actualmente, uno de
los principales proveedores de sistemas operativos GNU/Linux de IBM.
Ya hay muchísimas especulaciones en sitios de Internet, pero nada concreto.
Será cuestión de esperar, y seguir de cerca los acontecimientos.

06 usr★linux
08-09-LaboAntivirus-L11.qxd 6/9/05 4:26 PM Page 8

laboratorio
OTRA HERRAMIENTA ANTIVIRUS

Antivir Personal
6.30.00.17
¿TIENEN UN SERVIDOR DE
ARCHIVOS? ¿SUS CLIENTES
SON MAQUINAS WINDOWS?
ENTONCES NECESITAN UN
ANTIVIRUS. ANTIVIR
PERSONAL ES UNA OPCION
n materia de seguridad, nunca podemos dejar de lado las infecciones vira- MUY FACIL DE INSTALAR Y
E les (¡qué manera tan sobria de llamar a los malditos virus!). Como ya sabe-
mos, GNU/Linux es un sistema al cual no lo afectan las infecciones destina-
das a otros, como es el caso de Microsoft Windows (que lleva la delantera en
cuanto a ataques de este tipo). Por el contrario, como muchas personas creen, Linux
QUE REALMENTE FUNCIONA
MUY BIEN. VEAMOS QUE
MAS TIENE DE INTERESANTE.
es inmune a estas infecciones. Pero aún hay que proteger a los clientes Windows. Por
eso, en este artículo vamos a contar nuestra experiencia con un antivirus personal de
la empresa Antivir (para la línea de comandos). INSTALACION
El paquete por descargar está en formato com-
DESCARGANDO EL SISTEMA primido tar.gz y tiene un nombre como el si-
Realizamos la descarga del antivirus directamente desde su sitio web oficial, ubicado guiente: antivir-workstation-pers.tar.gz. Pesa
en www.free-av.com. Allí, en la sección Download, encontraremos que este programa casi 9 MB. Una vez descargado, tendremos que
puede ser utilizado en varios sistemas operativos, entre ellos, GNU/Linux. descomprimirlo como usuario root, de la si-
No hay muchas opciones en cuanto a la versión, ya que sólo podremos descargar una guiente manera:
demo en línea de comandos.
Cuando comenzamos a hablar de este antivirus, hicimos referencia a que es de uso # tar -zxvf antivir-workstation-pers.tar.gz
personal. Esto se respeta en la mayoría de los casos y de los sistemas operativos. Pero
para nosotros, esto no es tan así, ya que con el ingenio del administrador, podremos Se creará un directorio antivir-workstation-pers,
realizar una configuración a nivel servidor, por la sencilla razón de que GNU/Linux ba- dentro del cual encontraremos un archivo de
sa su funcionamiento en el modelo servidor-cliente. Para lograrlo, simplemente hare- instalación install, que tendremos que ejecutar:
mos uso de scripts y cron.
[root@ariel antivir-workstation-pers]# ./install

Starting AntiVir for UNIX Workstation 2.1.3


installation...

1) installing command line scanner


creating install directory /usr/lib/AntiVir ... done
checking for existing /etc/antivir.conf ... found
copying bin/antivir to /usr/lib/AntiVir ... done

Así se inicia la instalación, durante la cual se


nos realizarán algunas preguntas de rutina:

Would you like to install the automatic internet


updater? [n]

Contestamos “y” o “n”, según queramos actua-


lizar o no el sistema antivirus.
EN EL SITIO OFICIAL DE ANTIVIR ENCONTRAREMOS LA VERSION NO SOLO

08 PARA GNU/LINUX, SINO TAMBIEN PARA WINDOWS. Would you like the internet updater to start

usr★linux
08-09-LaboAntivirus-L11.qxd 6/9/05 4:27 PM Page 9

laboratorio
automatically? [y]
Para realizar actualizaciones en forma automática. Respondemos según
nuestra preferencia.

Would you like to configure AntiVir now? [y]

Procedemos a efectuar la configuración de rutina. Una vez terminado el


proceso, ya podremos usar el antivirus desde la misma consola.

USANDO EL SISTEMA
Para hacer uso de Antivir, sólo tenemos que ingresar por teclado la pala-
bra antivir y la ruta que queremos revisar. Veamos un ejemplo. Tenemos
un servidor Samba con un directorio creado en /local, al que ingresan má-
quinas con sistemas operativos Windows. Sería de gran utilidad poder SI NECESITAMOS AYUDA, LOS FOROS DE SOPORTE SIEMPRE
realizar una revisión de los archivos que lo integran. PUEDEN SER DE UTILIDAD.

[ariel@ariel local]$ antivir AntiVir / Linux Version 2.1.3-33 +gui


AntiVir / Linux Version 2.1.3-16 +gui Copyright (c) 1994-2005 by H+BEDV Datentechnik GmbH.
Copyright (c) 1994-2005 by H+BEDV Datentechnik GmbH. All rights reserved.
All rights reserved. Loading /usr/lib/AntiVir/antivir.vdf ...
Loading /usr/lib/AntiVir/antivir.vdf ... VDF version: 6.30.0.199 created 24 May 2005
Warning: The file “antivir.vdf” is more than 14 days old. For private, non-commercial use only.
AntiVir is running in DEMO mode. AntiVir license: 1001252174 for ariel corgatelli
VDF version: 6.30.0.3 created 21 Feb 2005 checking drive/path (list): /home/ariel
checking drive/path (cwd): /local ——— scan results ———
——— scan results ——— directories: 1
directories: 1 scanned files: 1
scanned files: 2 skipped files: 24
skipped files: 1 alerts: 0
alerts: 0 suspicious: 0
suspicious: 0 scan time: 00:00:01
scan time: 00:00:01
————————————— Por último, las funciones automáticas de update:
Thank you for using AntiVir.
AntiVir Status: avupdater (not running).
También podemos indicar una ruta específica: Here are some commands that you should remember...
AntiVir
[ariel@ariel local]$ antivir /home/ariel =======
configure: /usr/lib/AntiVir/configantivir
Seguramente, habrán notado un pequeño problemita: el mensaje “more Automatic Internet Updater
than 14 days old” nos indica que la base de datos no está actualizada. start: /usr/lib/AntiVir/avupdater start
Para solucionar este problema, ingresamos en free-av.com/unixreg_ stop: /usr/lib/AntiVir/avupdater stop
form_en.htm y, luego de registrarnos, nos enviarán por correo electrónico check: /usr/lib/AntiVir/avupdater status
una clave y un archivo de texto plano. Deberemos copiar la clave o llave en
donde realizamos la instalación: EN CONCLUSION
En materia de software antivirus, no hay mejor sistema que el sentido co-
cp HBEDV.KEY /home/ariel/antivir-workstation-pers mún. Si bien existen muy buenas herramientas para llevar a cabo la lim-
Sólo tendremos que acceder al update de la siguiente manera: pieza (Antivir es una de ellas), lo más saludable consiste en prevenir en
base al conocimiento. Con esto nos referimos a estar siempre informados
# antivir –update acerca de cuáles son los virus más recientes, para saber cómo proteger-
nos. Y una vez que tenemos la información, dedicarnos a buscar la herra-
Listo, ahora el mensaje cambiará por el siguiente: mienta de protección. Antivir es una de ellas y merece la pena probarla.

[ariel@ariel ~]$ antivir /home/ariel

usr★linux 09
10-11-LaboKosmo-L11.qxd 6/9/05 4:13 PM Page 10

laboratorio
¡OTRA DISTRO LIVE!

kOSmo 1.1
COMO SIEMPRE, ESTAMOS A LA PESCA DE NOVEDADES. Y ESTA VEZ NO QUISIMOS
DEJAR FUERA UNA DISTRO LIVE CREADA EN LA ARGENTINA. SE TRATA DE KOSMO, UNA
DISTRIBUCION GNU/LINUX BASADA EN SLACKWARE, EN LA QUE SE COMBINAN TODA LA
POTENCIA DE SLACK CON LA FACILIDAD DE USO QUE SUS CREADORES LE AÑADIERON.

e trata de la última versión del grupo VTA-Linux,

S el mismo que brindó a la comunidad portOS y,


antes, pinOS, una minidistro de tan sólo 50 MB.
Ambas dieron lugar a kOSmo, que fue desarro-
llada reuniendo experiencias de usuarios “testers” de la co-
munidad, y de mucha gente que, sin fines de lucro, colabo-
ró en este proyecto. Vayamos a lo nuestro.
La descarga de kOSmo se puede realizar desde su sitio ofi-
cial, ubicado en www.vta.linux.dk. La imagen pesa alrede-
dor de 300 MB. Cuando tenemos nuestra ISO descargada y
quemada en CD, podemos insertarla en la lectora para ini-
ciar esta nueva experiencia.

INICIAR KOSMO
Al inicio nos encontramos con una solución muy interesan-
te: la posibilidad de realizar el arranque de la distro con di-
ferentes configuraciones de video. AQUI PODEMOS VER LAS TRANSPARENCIAS DE KDE 3.4
Esta opción puede ser una solución para nuestro hardware, EN KOSMO AL INICIO.
si es que no soporta valores de video altos en relación al
monitor. Las opciones soportadas son: kd -> Inicia escritorio KDE ( FB auto-detect )
k8 -> Inicia escritorio KDE ( 800x600/16 bits Vesa )
1. 1024x768 en 16 bits formato predeterminado fx -> Inicia escritorio Flux ( FB auto-detect )
2. 800x600 en 16 bits fv -> Inicia escritorio Flux (1024x768/16 bits Vesa )
3. 640x480 en 8 bits 86 -> Inicia escritorio Flux en modo seguro ( 800x600/8 bits )
4. Formato consola li -> Navegador de red en modo texto Links ( Menú: tecla ESC )
F1 Ayuda nt -> Activa la conexión a una red bajo DHCP (IP Dinámica)
mc -> Consola con Midnight Commander ( Manejador de archivos )
Después de ingresar el número de la opción que se compor- pk -> Herramienta gral. de configuración del sistema
te mejor con nuestro hardware, pulsamos ENTER para que mo -> Ayudante para configurar el mouse en la consola
el sistema dé comienzo a la carga. ay -> Volver a este menú...
Luego de unas comprobaciones de hardware, aparece un lo- * Para instalar su Live-CD en un disco fijo, ejecute: cd2hd
gin en consola que, de manera muy simple, indica cómo * Ha ingresado automáticamente como Super-Usuario (root), para
operar el sistema: trabajar en modo
normal, ejecute: kdm e ingrese como el usuario “kdt”, sin contraseñas.
Bienvenid@ a VTA-Linux ! (v 1.1) < kOSmo > ... Basado * Para reiniciar, pulse repetido “Ctrl(&)Alt(&)Del” y aguarde la eyección del CD.
en Slackware 10.1 ................................................................................
*>> Herramientas principales como root: Escriba un * VTA * GNU-Linux Live-CD * http://www.vta.linux.dk/

10 comando de 2 letras y luego ACEPTAR

usr★linux
10-11-LaboKosmo-L11.qxd 6/9/05 4:13 PM Page 11

laboratorio

LA POTENCIA DE KOSMO, EN UN ENTORNO LIVIANO FLUXBOX EL TIPICO GESTOR DE PAQUETES DE SLACKWARE TAMBIEN ESTA
Y KWORD. FUNCIONA HASTA EN EL HARDWARE MAS HUMILDE. INCLUIDO EN LA DISTRIBUCION KOSMO.

No vamos a entrar en detalle con respecto a las diferentes funciones KDE o el manejador de ventanas Fluxbox, gracias al display manager de kdm.
que nos brinda, por la simple razón de que la referencia de cada una es De manera predefinida se lanza KDE y, automáticamente, entraremos en
más que sencilla. la configuración del control para el usuario kdt.
Es posible instalar este Live-CD en nuestro disco duro sin ningún proble- En las imágenes vemos todo el potencial de KDE 3.4, con sus transparen-
ma, llevando toda la portabilidad a nuestro equipo en una instalación cias en la barra de menú, sus iconos mejorados y animaciones en los lan-
simple, sencilla y liviana en cuanto a su uso posterior. La forma de insta- zamientos de cada aplicación. El comportamiento visual es excelente, co-
larla es con el script cd2hd, que se se encargará de realizar todas las mo así también, la detección y el funcionamiento del sonido con Alsa.
operaciones y copiará todo en nuestro disco.
Pero nuestra experiencia nos indicó que no funcionó como queríamos, así APLICACIONES INCLUIDAS
que Ricardo (el desarrollador del proyecto) nos comentó cómo efectuar la Las aplicaciones instaladas son las clásicas incluidas en Slackware. Entre
instalación de manera efectiva. Decidimos seguir a los que saben: ellas, encontramos:
kOSmo se instala desde root y a través de un nuevo script llamado cd2hd;
previamente, hay que crear una partición vacía tipo ext2, ext3 o ReiserFS, ★ Kernel 2.6.10 soportando Alsa
de al menos 1,5 GB. Es conveniente crear, también, otra para SWAP, que ★ Detección automática de hardware (Hotplug)
tenga el doble de tamaño que la cantidad de RAM instalada en la máqui- ★ KDE 3.4 en español con Koffice 1.3.5
na que correrá el VTA desde el rígido. ★ Manejador de ventanas liviano Fluxbox
El CD incorpora fdisk, cfdisk y parted para particionar desde el mismo Live- ★ Navegadores Mozilla Firefox 1.0.2 español y Konqueror
CD, y también es posible utilizar cualquier otro buen programa externo. Una ★ Multimedia audio-video con Mplayer y Beep
vez creadas y formateadas las dos nuevas particiones, se montan a mano o ★ Consolas con gráficas por frame buffer, tres modos VGA + texto
se reinicia el Live-CD para autodetectarlas; se vuelve a ejecutar cd2hd y se ★ ADSL con Roaring Penguin; soporte estándar para módems completos
continúa designando el destino de la instalación (la nueva partición). El (no winmódems, por ahora)
script entonces copia y reconfigura el nuevo sistema para trabajar en el dis- ★ Soporte CUPS de impresoras
co fijo. Finalmente, se instala un mini-LILO que detecta particiones Windows ★ Y muchas aplicaciones más....
en el primer disco inicial, instala el boot-loader y fija los modos de arranque
para Win (si existe uno) y para VTA. Por supuesto, esto es en un principio, ya Sólo es cuestión de navegar por los menús y buscar lo que nos interesa.
que más tarde se pueden agregar y quitar otras particiones y sistemas en el
menú de arranque o reemplazarlo por otro preferido. Ya tenemos nuestro sis- EN CONCLUSION
tema funcionando sin problemas, y conviviendo Windows con Linux. Muchas veces se nos presenta la oportunidad, o la necesidad, de hacer
Ahora también podemos personalizar los paquetes instalados, lo cual se uso de una distribución portable Linux. Una opción más que interesante
logra gracias al script pk. Cuando ingresamos pk en el teclado, se lanza es kOSmo, ya que en muchos casos permite acercar a usuarios que no
la clásica configuración de paquetes de Slackware, y podremos instalar o tienen experiencia, a este maravilloso mundo del software. Además,
quitar cualquier aplicación, sin muchos problemas. cuenta con la opción de poder instalarse en el disco duro de nuestro
equipo. Un aspecto muy importante es que cuenta con toda la ayuda de
EL ENTORNO GRAFICO sus desarrolladores, quienes, día a día, tratan de hacer de kOSmo un
Esta distro cuenta con sus entornos gráficos KDE 3.4 y Fluxbox para hardware GNU/Linux mucho mejor.
más humilde. Para lanzar KDE podemos hacerlo directamente (kd) o bien ★ Ariel Corgatelli
usar kdm con kdt. De esta última forma, podremos seleccionar el entorno

usr★linux 11
12-13-LaboVector-L11.qxd 6/17/05 5:25 PM Page 12

laboratorio
LA EVOLUCION DE LA QUE PRETENDIA SER LA “MAS LIVIANA”

VectorLinux SOHO 5
MUCHOS HABRAN OIDO HABLAR DE ESTA FAMOSA gphoto2, impresoras mediante cups, escáner
por xsane, módems (no winmódems), discos
DISTRIBUCION GNU/LINUX, PERO SEGURAMENTE, SCSCI (nativo desde el kernel), discos SATA y
POCOS LA HABRAN INSTALADO. COMO SIEMPRE, muchas otras características.
VAMOS A HACERLES CONOCER ESTA FANTASTICA
ALTERNATIVA LIVIANA, RAPIDA, SIMPLE Y EFICAZ. INSTALAR VECTOR
La primera pantalla que veremos será la de
ntes de nada, tenemos que dirigir- mienzos (una distro que pretendía configuración general, en la cual podremos se-

A nos al sitio oficial de Vector, desde


donde podremos descargar la ver-
sión final; está ubicado en
www.vectorlinux.com.
trabajar con muy pocos recursos).
En el sitio oficial podemos leer, como
recomendación mínima de hardwa-
re, un Pentium III con 120 MB de
leccionar el keymap (mapa de teclado), LILO
(gestor de arranque), start (comenzar la insta-
lación) y, por último, exit.
Luego de configurar el mapa del teclado, pasa-
Una vez descargada la ISO y quemada en CD RAM y 3 GB en disco. mos a start. De esta forma, daremos inicio a la
lista para instalar, procedemos a iniciar nuestro La realidad puede ser diferente se- configuración más específica de nuestro siste-
equipo con la lectora de CD. Como es de espe- gún las opciones. Esta relación se- ma, que es de carácter primordial. En primer lu-
rar, Vector ocupa un solo CD, pero no por esto ría la ideal, pero, por supuesto, gar, procedemos a configurar las particiones del
trae pocas cosas, ya verán. Vector también correrá en máqui- disco duro donde instalaremos Vector. Para rea-
Al ejecutar el CD, se inicia una instalación en mo- nas con menos recursos; de hecho, lizar esta operación, utilizamos fdisk, que nos
do texto. Vamos a aclarar algo: al ser ésta una una de las pruebas que realizamos brinda la posibilidad de reparticionar todo el
distribución basada en Slackware, cuenta con una fue en un PII 400 con 200 MB de disco. Cuidado, porque esta operación puede ser
interfaz de instalación muy similar a la de aquél, y RAM. En este caso, se notó la falta muy riesgosa; es recomendable tener el backup
es por eso que tendremos que configurar paso por de velocidad en el procesador, pero de toda nuestra información para trabajar de
paso todo en modo texto. De cualquier modo, Vec- la RAM puso su cuota y Vector salió manera tranquila y segura.
torLinux simplifica un poco algunos pasos que en funcionado a la perfección. Una vez que el disco está particionado, pasa-
Slackware pueden llegar a ser complicados. VectorLinux soporta todo tipo de mos a la instalación. Se nos consultará qué
hardware, desde teclados PS/2, paquetes vamos a instalar y se nos requerirá
CARACTERISTICAS TECNICAS (no USB) y mouse inalámbricos confirmación del disco en el cual se ubicarán.
Los requerimientos de Vector fueron variando con (PS/2, serial), hasta cámaras digi- La copia no demora mucho, ya que de manera
el tiempo, y ya no es más lo que fue en sus co- tales soportadas por las librerías predeterminada, se instala una configuración
básica que no supera los 2 GB.
Al terminar, el sistema nos consulta sobre la ins-
talación de un gestor de arranque; por supuesto,
será LILO. Lo instalamos y reiniciamos.
Al iniciar, se lanza nuevamente (y por última
vez) la configuración final del sistema. Esta
operación consiste en:
★ Configurar la zona horaria: Elegimos la co-
rrespondiente a nuestro país.
★ Mouse: Detecta el mouse conectado al equi-
po y nos ofrece las opciones de personaliza-
ción correspondientes.
★ Módem: Si tenemos un módem conectado, lo
detecta y configura (no soporta winmódems).
★ Network: Detecta la o las placas de red
instaladas en nuestro sistema y ofrece una
configuración óptima. Si la rechazamos,
podremos hacerla más adelante en forma

12
ESTE ES EL ESCRITORIO DE VECTOR AL INICIO. INCLUYE EL MANEJADOR manual.
DE ESCRITORIOS KDE 3.3.
usr★linux
12-13-LaboVector-L11.qxd 6/17/05 5:25 PM Page 13

laboratorio
Al finalizar la configuración, el ★ Gnumeric-1.0.7: Planilla de cálculo liviana,
sistema arranca totalmente compatible con formatos .xls.
configurado. ★ Blender-2.36: Aplicación de diseño en 3D.
★ Gimp-2.2.3: Aplicación líder en edición, como
USANDO VECTORLINUX retoques gráficos en GNU/Linux, al estilo
Para nuestra sorpresa, al iniciar Photoshop.
Vector nos encontramos con KDE ★ Firefox-1.0: Browser elegido por la mayoría
3.3.4, corriendo de forma muy rápi- de las distribuciones GNU/Linux.
da; el escritorio por demás estiliza- ★ Gaim-1.1.2: Mensajero instantáneo compati-
do; y los iconos de software más ble con la mayoría de los protocolos (MSN,
utilizados, ya creados. Yahoo!, IRC, ICQ, etc.).
UNA VEZ CONFIGURADO EL SISTEMA, PROCEDEMOS A LA Como no podía faltar, me dispuse a ★ Gftp-2.0.17: Cliente de FTP.
INSTALACION DE VECTOR. hacer uso de las herramientas de ★ Xchat-2.4.1: Cliente de IRC.
actualización del sistema. Y en es- ★ Abiword-2.2.1: Procesador de texto compati-
te punto me volví a encontrar con ble con formatos .doc.
otra sorpresa, ya que no sólo pode- ★ Qcad-2.0.3.3-1: Diseño de CAD, compatible
mos hacer uso de slapt-get como con sistema AutoCAD.
en el clásico Slackware, sino que ★ Digikam-0.7: Aplicación para el manejo de
también contamos con una herra- cámaras digitales.
mienta muy interesante en formato ★ Amarok-1.2: Reproductor multimedia elegido
gráfico llamada Vasm, que, luego por la mayoría de las distribuciones, debido
de una configuración (no muy difí- a sus altas prestaciones.
cil y en forma casi automática), ★ Kmldonkey-0.10: Cliente P2P. Se incluye el
nos permite realizar la descarga de acceso directo en el escritorio, para poder
los upgrade que estemos buscando, hacer uso de archivos p2p, en forma simple.
con sólo hacer un par de clics. ★ K3b-0.11.17: Sin dudas, el mejor software li-
ASIGNAMOS EL NOMBRE A NUESTRO EQUIPO Y, DE SER También podemos hacer una actua- bre para grabación de CD-ROM y DVD en
NECESARIO, TAMBIEN RECONFIGURAMOS LA PLACA DE RED. lización completa del sistema, de GNU/Linux.
la misma forma.
Una crítica importante: Vector y KDE En cuanto a las ventajas de esta distribución,
no cuentan con el soporte de idioma una vez que termina la instalación, podemos
español, por lo que tendremos que usar Vector sin tener que efectuar muchas con-
ingresar en kde.org y bajar el archi- figuraciones adicionales. Es rápido, soporta mu-
vo kde-i18n-es-3.3.4.tgz para ha- cho hardware (su núcleo soporta SCSI y SATA),
cer uso de nuestro lenguaje. soporta ReiserFS sin problemas y cuenta con un
sistema de manejo de paquetes óptimo.
SOFTWARE INCLUIDO En cuanto a las desventajas, sólo trae KDE como
Por distribuirse en un solo CD, Vec- entorno gráfico. El idioma español hay que ins-
torLinux cuenta con mucho softwa- talarlo a mano, descargando las fuentes de
re. Algunas de las aplicaciones kde.org. No cuenta con init.d o xinet.d, por lo
más importantes son: que los servicios son más complicados de confi-
gurar. Podemos ingresar en los foros de Vector
AQUI VEMOS EL PODER DE VASM COMO MANEJADOR DE ★ kernel-modules 2.4.29 para informarnos más sobre Soho (www.vector-
PAQUETES DE APLICACIONES. ★ Xine 1.0: Potente aplicación linux.com/forum).
multimedia para visualizar vi-
deos en los formatos clásicos. EN CONCLUSION
★ ALSA: Automáticamente, se configura nuestro sistema de ★ Xsane 1.0: Aplicación destinada VectorLinux es una excelente distribución GNU/
sonido, y se detecta y ajusta ALSA en forma óptima. a conectar un escáner en nues- Linux a la hora de instalar un Linux Desktop.
★ Xwindow: Vector configura toda la parte gráfica sobre la tro equipo. Cuenta con muchas aplicaciones gráficas con
base de los valores que le indiquemos. Además, podremos ★ Mplayer-1.0pre6a: Reproductor las cuales podremos realizar las tareas coti-
modificar los valores de inittab. multimedia potente, al estilo dianas. ★ Ariel Corgatelli
★ Agregamos usuarios: Si es necesario, podremos agregar Xine.
usuarios desde este mismo panel. ★ Xmms-1.2.10: Reproductor clá-
★ Root: Asignamos la clave a root (el administrador). sico de MP3 en GNU/Linux.

usr★linux 13
16-27-NoTapa-L11.qxd 6/8/05 3:24 PM Page 16

usr★linux
16-27-NoTapa-L11.qxd 6/8/05 3:24 PM Page 17

[Programación
visual]
Hace algunos años, desarrollar herramientas de diseño visual, ahora hay
aplicaciones para GNU/Linux era una tarea muchos entornos de desarrollo nuevos.
realmente complicada, sobre todo cuando Por eso, en esta oportunidad, veremos
queríamos que utilizaran las bondades qué herramientas elegir para que nuestra
gráficas del servidor X11. Por suerte, experiencia en la programación sea más
todo esto cambió y, hoy en día, existen feliz. Analizaremos los seis IDEs más
muchas herramientas que nos permiten importantes del momento, destacando sus
desarrollar aplicaciones visuales, de aplicaciones además de sus puntos fuertes
manera similar a como lo hacen los y débiles. Los monstruos que vamos a
programadores de Windows: “arrastrando tratar son: Eclipse, KDevelop, Gambas,
y soltando objetos”. Y además de Anjunta, MonoDevelop y Visual TCL.

[Demian Pablo Alonso]


[demian@tuxsys.com.ar]

usr★linux
17
16-27-NoTapa-L11.qxd 6/8/05 3:25 PM Page 18

Eclipse
Eclipse es un IDE que nació de una iniciativa de IBM,
RedHat, SuSE y otras empresas líderes. Su objetivo
era crear un sistema que permitiera integrar cualquier
necesidad del programador en un único entorno; es decir,
que fuera extensible hasta el “infinito”.

odo esto es posible gracias a que El ambiente de trabajo

T Eclipse se basa fuertemente en


el uso de plug-ins. Hoy en día,
existen plug-ins para hacer casi
cualquier cosa, desde crear tests automáticos
y generar código, hasta usar un CVS. Si bien
Una vez que iniciamos el programa, vemos que la pantalla está ocupa-
da con todo lo necesario: hay un amplio espacio para editar código, un
navegador de proyectos/paquetes/clases, un navegador de métodos del
archivo actual, y unas solapas entre las cuales tenemos una para con-
sola, una para el reporte de problemas, y más.
se puede programar en distintos lenguajes, el Cuando empezamos a escribir, Eclipse nos reconoce y autocompleta to-
que se utiliza más es, sin dudas, Java. das las clases y métodos de la biblioteca estándar, más nuestras pro-
Este sistema se distribuye bajo una licencia pias clases. Por lo tanto, el código se escribe prácticamente solo. Ade-
Open Source. Sin embargo, hay que considerar más, permite, por ejemplo, traer automáticamente todos los “import”
que está íntegramente desarrollado en Java, que (como los include de C/C++) faltantes en el código que estemos escri-
no es libre, de modo que Eclipse tampoco lo es. biendo. Así, no es necesario recordar en dónde está cada clase, sino
Esta plataforma de desarrollo es una de las que sólo hay que ocuparse de lo que se quiere hacer.
más utilizadas en la actualidad, ya que no Entre otras cosas, permite hacer “refactoring” de código, tanto para
sólo tiene una gran calidad, sino que también cambiar la interfaz de un método como para extraer porciones de códi-
es inherentemente útil para programar en Ja- go a un método nuevo.
va, que es un lenguaje multiplataforma. Esto
nos permite integrar distintos tipos de am- Ayuda al instante
bientes (GNU/Linux, Windows, Mac, etc.) de La ayuda de Eclipse es bastante completa. No sólo posee la capacidad
manera casi transparente. de autocompletar los métodos, sino que también ofrece tutoriales para
El punto más fuerte de Eclipse es, sin duda, aprender a usar el entorno y hacer los primeros pasos en Java, como
su capacidad para extenderse mediante plug- generar un “Hola Mundo” con SWT (Standard Widget Toolkit) o progra-
ins. La idea es, entonces, contar con una he- mar un plug-in. La documentación del entorno es muy completa y está
rramienta que pueda ser empleada por todos acompañada con imágenes para que sea más fácil de entender (ade-
los usuarios, de modo tal que el pasaje de in- más de que lo hace mucho más ameno de leer que si fueran decenas
formación entre distintas aplicaciones sea de páginas de puro texto).
transparente. Si todos corren sobre la misma
herramienta, es sencillo que dos aplicaciones
compartan datos sin mucha dificultad. Dado
que este entorno tiene una gran aceptación y
una gran cantidad de usuarios, existen plug-
ins para numerosas necesidades.

LA PRIMERA IMPRESION DE ECLIPSE ES QUE SE TRATA DE UN ENTORNO


MUY CUIDADO Y AL QUE SE LE HA DEDICADO TIEMPO PARA QUE TODO
SEA PRACTICO Y ESTE EN EL LUGAR CORRECTO. TAMBIEN DA LA
SENSACION DE QUE HACE MIL COSAS (Y LAS HACE).

18 usr★linux
16-27-NoTapa-L11.qxd 6/8/05 4:48 PM Page 19

Con Eclipse es muy sencillo utilizar Javadoc. Esta tecnología nos permite es-
cribir la documentación a medida que vamos ingresando el código. Con ca-
da clase o método nuevo, podemos agregar una explicación de modo que,
luego, al utilizar Javadoc, se generen automáticamente unas páginas HTML
con todas las clases, métodos y atributos junto con sus respectivas explica-
ciones. Javadoc posee, además, algunos valores especiales para que sean
reemplazados por los que correspondan al momento de generar las páginas
(como autor, fecha, nombre, parámetros, etc.). Además, Eclipse incluso nos
permite automatizar la generación del Javadoc, ya que es posible configurar
qué comentario queremos que se genere por predefinición. De este modo,
sólo tenemos que completar la explicación, y todas las clases y métodos
tendrán la misma estética y estructura. UNA DE LAS VISTAS DE ECLIPSE ES SU DEPURADOR. AQUI PODEMOS
APRECIAR QUE EN UNA UNICA PANTALLA SE HA LOGRADO INCLUIR
Pesados requerimientos TODO LO QUE HACE FALTA PARA DEPURAR NUESTRO PROGRAMA.
Una de las grandes desventajas de Eclipse es que, al estar programado en Ja-
va, es muy pesado. Si no tenemos una máquina moderna, con mucha memo-
ria, no podremos usarlo como corresponde. En mi vieja Pentium II MMX de
333 MHz con 256 MB de RAM y disco de 20 GB casi se arrastraba. Si bien car-
gaba y podía usarlo, con cada clic que hacía para cambiar de archivo, tardaba
un segundo en refrescarse, lo que dificulta mucho la programación (además de
que todo se vuelve muy frustrante). Recién en mi máquina más nueva, un
Sempron 2800 (2.0 GHz) con 1 GB de RAM y un disco de 80 GB SATA, logré que
funcionara correctamente y a velocidades aceptables para mantener la cordura.

Programación visual
Para programar entornos visuales, contamos con la clásica biblioteca
Swing (para Java). Como todo en este lenguaje, Swing es orientado a ob-
jetos y posee muchísimas abstracciones. La ventaja de esto es que es al-
tamente configurable, si bien no es sencillo aprender a utilizarla. Es ne-
EN ESTA IMAGEN VEMOS LA PANTALLA DE BIENVENIDA A LA AYUDA,
cesario descargar algún plug-in para generar las interfaces visuales de
DESDE DONDE PODEMOS ACCEDER A LAS GRANDES RAMAS QUE
forma más o menos automática, ya que, en caso contrario, será un dolor POSEE: UNA VISTA GENERAL, TUTORIALES, EJEMPLOS, NOVEDADES
de cabeza obtener el resultado que deseemos. Y VOLVER AL ESCRITORIO.

ECLIPSE NOS PERMITE REALIZAR VARIOS TIPOS DE “REFACTORING” LA AYUDA DE ECLIPSE ES MUY COMPLETA. LA DOCUMENTACION
DE NUESTRO CODIGO. CUANDO CAMBIEMOS LA FIRMA DE UN DEL USO DE ESTA HERRAMIENTA ESTA PLAGADA DE IMAGENES
METODO, NOS MOSTRARA TODAS LAS LLAMADAS A EL Y COMO PARA QUE SEA MAS SENCILLO INTERPRETAR EL TEXTO. DE ESTA
QUEDARA LUEGO DE HACER LAS MODIFICACIONES. MANERA, NADIE SE PUEDE EQUIVOCAR.

usr★linux
19
16-27-NoTapa-L11.qxd 6/8/05 4:48 PM Page 20

KDevelop
Este entorno fue creado en 1998 para desarrollar
aplicaciones de manera sencilla utilizando C/C++. Si
bien no forma parte estrictamente del proyecto KDE,
está claramente relacionado con él. Su finalidad no es
solamente realizar aplicaciones para las QT (biblioteca
que utiliza KDE para manejar las gráficas) sino que, en
principio, sirve para programar en C/C++.

omo es de esperar, este entorno Sin embargo, nosotros debemos realizar todos los “include” necesarios

C integrado de desarrollo se distri-


buye bajo la licencia GPL. Sin
embargo, permite que el software
generado utilizando esta herramienta se distri-
buya bajo la licencia que el usuario desee (ya
para que compile correctamente.
Uno de los aspectos poderosos de este entorno es que incluye un depurador
muy interesante. Al estar incrustado dentro del sistema, podemos visuali-
zar los puntos de interrupción y corregir los errores mientras depuramos.

sea GPL, Open Source o privativa). Programando las QT


Para utilizar KDevelop no es necesario tener Es posible, obviamente, generar aplicaciones para QT (también se pueden
una máquina tan potente como en el caso de hacer aplicaciones para GTK), pero es necesario utilizar, en parte, una he-
Eclipse, pero de todos modos, no es el entorno rramienta externa: QTDesigner. Esta permite crear las interfaces visual-
más liviano de todos los disponibles. mente (al mejor estilo VisualBasic) utilizando todos los componentes de
las QT y de KDE. Luego, genera unos archivos XML con las definiciones de
El espacio dichas interfaces, los cuales podrán incluirse más adelante desde KDeve-
de trabajo lop. El proceso no es muy transparente, ya que habrá que realizar una
El entorno es bastante similar a todos los de- precompilación y, con cada modificación que se efectúe en la interfaz
más. Hay un sector principal de la ventana desde QTDesigner, habrá que recompilar y actualizar el proyecto.
desde donde podemos editar el código fuente,
y unas solapas que permiten mirar las fuentes Documentación
o las clases de nuestro proyecto desde distin- La documentación es bastante amplia, y se encuentra en forma de lar-
tos puntos de vista. Al igual que Eclipse, KDe- gos textos. Existen varios tutoriales muy completos para aprender a
velop autocompleta el código. Trae los métodos usar KDevelop de forma exhaustiva. También, mediante el uso de KDoc
del objeto que estemos usando, como así tam- –una herramienta embebida en KDevelop–, podemos crear documenta-
bién, los parámetros de éste o de una función. ción para nuestro propio programa, de manera más o menos automática.

AQUI VEMOS UN EJEMPLO DE UN PROGRAMA


HECHO CON LAS BIBLIOTECAS QT. SI BIEN ES
KDEVELOP TIENE UNO DE LOS ENTORNOS MAS PROLIJOS DE TODOS. CON SOLO SIMPLE, NO FUE SENCILLO HACERLO.
MIRAR, PODEMOS VER CODIGO, Y TODAS LAS CLASES, FUNCIONES, ESTRUCTURAS RELACIONAR NUESTRO PROGRAMA CON LAS
Y VARIABLES GLOBALES QUE EXISTAN, EN UN SOLO PANTALLAZO. INTERFACES QT ES UNA TAREA COMPLEJA.

20 usr★linux
16-27-NoTapa-L11.qxd 6/14/05 3:15 PM Page 21

KDoc generará la documentación de la API de nuestro pro-


grama tomando automáticamente todas las clases existen-
tes. Además, mientras creamos las clases y los métodos, po-
demos ir agregándoles comentarios que, luego, aparecerán
en la documentación. Esta herramienta creará una serie de
páginas HTML con todas las APIs relacionadas automática-
mente entre sí; es decir que si el tipo de datos de un pará-
metro de un método es una clase nuestra, se convertirá en
un link a la definición de dicha clase. De este modo, pode-
mos navegar por toda la documentación.

Otras características
Otra característica muy práctica de KDevelop es que permite
generar automáticamente un paquete con todas las fuentes.
Luego, podremos generar un RPM para distribuir nuestra
aplicación, tanto de las fuentes como de los binarios. Si el
usuario recibe un paquete binario, entonces sólo le hará fal-
ta tener instaladas las bibliotecas extra que utilice el pro-
grama. Si recibe las fuentes, precisará tanto un compilador
como todas las bibliotecas necesarias. Sin embargo, KDeve- EN KDEVELOP, LA DOCUMENTACION APARECE DENTRO DE NUESTRO
lop generará todo el sistema de auto-configure para que el ESCRITORIO NORMAL, SIMPLEMENTE, COMO UNA SOLAPA MAS
usuario, en caso de que necesite compilar, sólo deba hacer el ENTRE LOS ARCHIVOS QUE ESTEMOS EDITANDO. DE ESTA FORMA,
clásico configure, make, make install. ES SENCILLO LEER EL TUTORIAL E IR PROBANDO.

usr★linux
16-27-NoTapa-L11.qxd 6/8/05 4:50 PM Page 22

Gambas
Uno de los proyectos más interesantes y más prometedores es Gambas
(Gambas Almost Means BASic!). Como su sigla lo indica, es un
intérprete de BASIC, lo cual significa, en principio, que
necesitaremos un intérprete para ejecutar los programas que creemos.
Será preciso tener instalados los runtimes de Gambas en la máquina
del usuario que vaya a ejecutar la aplicación (algo similar a lo
que ocurre con los programas en Java). Este proyecto es GPL, por lo
que no tenemos ninguna restricción con respecto a su uso.

ambas es el único entorno en el cual la creación queda por debajo de otra externa (digamos, el infaltable reproductor de MP3)

G de GUIs está totalmente integrada y acoplada a


la codificación; para decirlo de otra manera, fun-
ciona al mejor estilo VisualBasic.
Simplemente, debemos “dibujar” los formularios y, luego, co-
dificar los eventos que nos interesen.
y, al tratar de traer Gambas al frente, sólo nos viene una de todas las venta-
nas y no la aplicación completa. A pesar de todas estas ventanas, debemos
destacar que Gambas es muy liviano y veloz, tanto a la hora de iniciarlo como
al momento de ejecutar nuestras aplicaciones.
En cuanto a la escritura de código, el editor se destaca por su precariedad
Aclaremos que Gambas no pretende, ni pretenderá, ser un en comparación con todos los demás. Es, simplemente, un ventana de fon-
clon de VisualBasic, por lo que nunca se podrá “copiar y pe- do negro desde la cual podemos escribir, copiar, pegar, comentar/desco-
gar” un proyecto de éste en aquél y esperar que funcione. Sin mentar y buscar. Esta herramienta no intentará autocompletar el código a
embargo, ya que ambos son Basic, existen muchísimas simi- medida que lo escribamos: sólo saltará el error al tratar de ejecutarlo.
litudes entre ellos. Otro aspecto limitante es el depurador. Si bien éste existe y está integrado
a la herramienta, tiene dos puntos flojos. El primero es que no nos permite
El lugar donde poner puntos de interrupción. Si bien esta opción es útil, es cierto que tam-
nos desarrollamos poco hace tanta falta. Esto se debe a que nos permite poner pausa mien-
El entorno es un tanto diferente de los anteriores. Apenas lo inicia- tras el programa se está ejecutando, de modo que la próxima vez que se
mos, vemos que todas las ventanas están separadas. Por un lado, ejecute un evento, el depurador entrará en acción y nos dejará comenzar a
está la ventana principal, que posee el menú y los archivos; por depurar desde el inicio de ese evento. Sin embargo, tendremos que recorrer
otro lado, está la ventana de código; por otro, la que tiene el GUI; todo el evento, nos guste o no. El segundo punto flojo del depurador es que
por otro, la ventana con las propiedades y, finalmente, una con la no nos permite editar el código mientras estamos depurando. Por lo tanto,
mascota del proyecto (cuya utilidad es desconocida). Esta interfaz habrá que terminar la ejecución para cada modificación, y deberemos re-
resulta estresante, ya que a veces nos ocurre que una ventana cordarlas para no olvidarnos de hacerlas todas.

AQUI VEMOS TODAS LAS VENTANAS DE GAMBAS, HE AQUI UN EJEMPLO DE UN CLON DEL ANTIGUO JUEGO NIBBLES, EN
PROLIJAMENTE ORDENADAS. ESTE ES EL ENTORNO MAS EL CUAL TENIAMOS UNA VIBORITA QUE IBA CRECIENDO A MEDIDA
PARECIDO A VISUAL BASIC QUE ENCONTRAREMOS. SIN QUE COMIA MANZANAS. EL JUEGO ESTA DETENIDO PARA PODER
EMBARGO, ES UN TANTO ENGORROSO DE USAR. ESTUDIAR SU CODIGO EN ACCION.

22 usr★linux
16-27-NoTapa-L11.qxd 6/8/05 4:50 PM Page 23

La docum... Lo mejor de Gambas


El punto más crítico de Gambas es, sin dudas, la documentación. La Sin lugar a dudas, lo mejor de Gambas es la posibilidad
ayuda que acompaña al paquete es bastante reducida y sintética. Para de armar formularios y de conectarlos con código propio,
aquel que nunca programó en Basic, le será extremadamente difícil de forma totalmente transparente. Si bien parece poco,
programar en Gambas. Sin embargo, el visor de ayuda es bastante en los demás entornos esta tarea suele ser tediosa, ya
práctico, ya que posee una cómoda interfaz y un método de búsqueda que siempre existen varios pasos para juntar uno con el
sencilla pero eficaz. En el sitio de Gambas existe un buen foro con mu- otro. A pesar de esto, el creador de Gambas implementó
chos participantes, en el que muchas personas escriben por no saber esta característica como opcional. De esta manera, po-
cómo resolver cierto problema, y casi siempre hay alguien que encuen- demos crear aplicaciones para la consola y no necesi-
tra la solución. Por lo tanto, el famoso foro cuenta, también, como una taremos tener todas las bibliotecas gráficas para que
importante fuente de documentación. funcione (que, obviamente, no serían necesarias).
Gambas tampoco nos ayuda para crear la documentación de nuestro Otro punto interesante es que el sistema genera un pa-
programa. Lo único que nos permite hacer es poner comentarios en el quete con el código fuente, para transportarlo fácil-
código, y desde allí nada más. Toda documentación extra deberá ser mente. También nos permite generar un binario para
llevada por cuenta de una herramienta externa. distribuir, siempre teniendo en cuenta que el usuario fi-
nal debe tener instalados en su máquina los runtimes
de Gambas.
Debemos destacar que Gambas está todavía en la ver-
sión 0.X, lo cual significa que aún falta bastante para
que haya una versión final que pueda usarse con total
seguridad. Por el momento, es un poco inestable, pero
considerando todo lo que hace, funciona bastante bien.
En conclusión, si bien trabaja de manera aceptable, no
lo hace tan bien como para utilizarlo en un ambiente
de producción.

Sobre el proyecto
Este proyecto fue iniciado por un francés y, hasta el día
de hoy, él es su principal desarrollador. El emprendi-
miento es, cada vez, más grande, y una persona sola
no puede manejarlo. Sin duda, se requiere de mucha
colaboración, para que haya un grupo de personas que
EL GRAN PUNTO FLOJO DE GAMBAS ES QUE NO SOLO NO EXISTE se ocupen de la documentación, otro del desarrollo, otro
DOCUMENTACION ACERCA DE COMO UTILIZAR LA HERRAMIENTA, del diseño, etc. De esta forma, Gambas podrá alcanzar
SINO QUE TAMPOCO LA HAY SOBRE COMO ES EL LENGUAJE. SERA en competitividad a los demás proyectos, para los cua-
NECESARIO CONOCER ALGUN OTRO BASIC PREVIAMENTE.
les hay muchísima gente trabajando.

INTERESANTE: GAMBAS INCLUYE UNA PEQUEÑA APLICACION EXTRAÑAMENTE, GAMBAS POSEE UN


PARA GESTIONAR UNA BASE DE DATOS. DE ESTA FORMA, PEQUEÑISIMO EDITOR DE IMAGENES. SI
PODEMOS MIRAR LAS TABLAS QUE UTILIZAREMOS, SIN SALIR BIEN NO ES DE GRAN UTILIDAD, PODEMOS

23
DE NUESTRA HERRAMIENTA. MODIFICAR ALGUNOS PIXELES SIN
NECESIDAD DE ABRIR GIMP, O PARA VER
LA IMAGEN DE MAS CERCA.
usr★linux
16-27-NoTapa-L11.qxd 6/8/05 4:51 PM Page 24

Anjunta
Nuestro siguiente entorno de desarrollo funciona sobre
GNOME. Se trata de un entorno de programación orientado
a programar en C/C++. Si bien es posible utilizar otros
lenguajes (tiene la sintaxis resaltada para Perl, Python,
Java, PHP, SQL, JavaScript, Pascal, etc.), el punto
fuerte es la programación en el lenguaje madre.

ste proyecto comenzó en 1998 y, al momento de es- El editor brinda menos asistencia al programador en comparación con

E cribir este artículo, está en la versión 1.X, que ya es


estable y utilizable. También está disponible la ver-
sión 2.0.0 Alpha, que promete muchísimas mejoras.
La licencia de este proyecto es la siempre libre licencia GPL.
De todos los entornos de desarrollo, Anjunta es uno de los
los demás. Si bien colorea la sintaxis y permite plegar/desplegar los
bloques de código en una sola línea, por ejemplo, no ofrece la posibili-
dad de que el código se vaya autocompletando, como en KDevelop o
Eclipse. En cambio, debemos presionas CTRL + ENTER para que inten-
te encontrar alguna coincidencia. Aun sabiendo esto, por ejemplo, no
más livianos, por lo que será muy útil si no contamos con una reconoce los métodos de las clases.
máquina poderosa. Además de correr velozmente, es muy es- Un aspecto interesante de este editor es la posibilidad de utilizar
table, y esto significa que nunca sufriremos una pérdida bookmarks, algo así como poner una marca en el código. Esa opción
inesperada de código. es muy útil para recordar puntos específicos que estemos tratando si,
por cualquier motivo, debemos movernos hacia otra parte del archivo.
Un vistazo de lo visual Luego, podremos ir saltando entre las distintas marcas usando los bo-
Para la programación visual, Anjunta está más orientado al tones de navegación.
uso de las bibliotecas Glade. Sin embargo, necesitaremos del En las versiones 1.X, los asistentes para la creación de clases son muy
diseñador Glade para poder crear las interfaces. Ocurre lo rudimentarios, al punto que ni siquiera podemos definir los métodos y
mismo que con KDevelop: precisamos crear las interfaces los atributos. Todas estas tareas tendrán que realizarse luego manual-
desde una herramienta externa y, luego, realizar la programa- mente. De todos modos, Anjunta reconocerá dichos métodos desde el
ción a mano, lo cual es poco práctico y muy tedioso. navegador de clases.

El decente Documentación integrada


entorno de trabajo La documentación está “cinco puntos”. Esta calificación se debe a que
El entorno de trabajo es muy similar al del KDevelop: una venta- Anjunta tiene integrada toda la referencia de funciones de las bibliote-
na principal donde editar el código, una ventana inferior con so- cas GNOME/GTK/Bonobo, y esto es muy útil. Pero, a la vez, los cinco
lapas (una consola, la salida de mensajes, el depurador, etc.) y puntos que le faltan son porque el entorno no incluye documentación
una ventana a la izquierda, que ofrece una vista de las fuentes, sobre su forma de operar. Esto implica que estamos librados al viejo
las clases o los archivos del proyecto. pero efectivo método de prueba y error. A pesar de que no siempre lee-

EL ENTORNO DE ANJUNTA ES MUY SIMILAR A TODOS EL ASISTENTE PARA LA CREACION DE CLASES ES MUY BASICO, YA
LOS DEMAS ENTORNOS ACTUALES. DESDE AQUI QUE SOLO PERMITE DEFINIR EL NOMBRE DE LA CLASE Y DE CUAL
TENEMOS A LA VISTA LOS ASPECTOS MAS HEREDA. SIN EMBARGO, PODEMOS LEER, EN GRIS, QUE LA HABILIDAD
IMPORTANTES, COMO EL CODIGO, LAS CLASES, LOS PARA AGREGAR METODOS ES ALGO “TO-DO”.

24 MENSAJES DE SUCESOS/ERRORES, ETC.

usr★linux
16-27-NoTapa-L11.qxd 6/8/05 4:51 PM Page 25

mos la documentación en primer lugar (lo primero que ha- Lo que vendrá
cemos es meter mano para ver qué ocurre), es correcto y Si bien la versión actual es estable, aún no fun-
útil tenerla para saber correctamente cómo funciona ciona siempre como uno espera. De todos mo-
(cuando lo primero falla). Con respecto también a la docu- dos, es totalmente utilizable una vez que se
mentación, pero desde el punto de vista de nuestra aplica- haya aprendido a manejarla en toda su exten-
ción, Anjunta carece de cualquier mecanismo para ayudar- sión. De todas formas, las expectativas están
nos a documentarla a medida que la vamos desarrollando. puestas en las nuevas versiones 2.X, que serán,
Al igual que ocurre con Gambas, necesitaremos una herra- sin duda, mejores.
mienta externa para realizar esta tarea. Un cambio importante es que se utilizará una
arquitectura basada en plug-ins, para que sea
Otras utilidades fácilmente extensible sin tener que estar cam-
Otra característica que está integrada es la posibilidad de biando de programa. Esto también impulsará a
manejar un CVS. Si bien no hay una vista para ver gráfica- terceros a programar características adicionales,
mente todo el árbol del CVS, sí tenemos opciones tendientes a ya que no hará falta aprender todo el código de
ejecutar todos los comandos necesarios para administrarlo. Anjunta para hacerlo. Quizás, el punto más fuer-
El depurador incorporado es muy completo: nos permite defi- te de estas nuevas versiones es que se integrará
nir breakpoints y watchpoints, y ver los estados de los regis- el uso de las interfaces generadas con Glade3,
tros, las señales, las variables, la memoria, etc. para que sea más sencillo programar aplicacio-
De manera análoga a los entornos anteriores, esta herramienta nes para GNOME. Esto se hará de manera que se
nos permite generar un TarGZ con todo nuestro proyecto. asemeje mucho al estilo de crear formularios de
Un punto muy destacable es que Anjunta es altamente Gambas, VisualBasic o VisualC. Dentro de lo vi-
configurable: podemos desde configurar el tipo de indenta- sual, hasta se agregará un plug-in que graficará
ción que queremos usar; hasta definir, para distintos len- toda nuestra jerarquía de clases. También se in-
guajes (los más populares y algunos no tan populares ya cluirán muchas opciones para manejar proyec-
vienen configurados por defecto), cuáles son las formas de tos, de forma tal que se automatice la realiza-
compilarlos, ejecutarlos o hacer un make. ción de tareas tediosas o rutinarias.

DESDE ANJUNTA PODREMOS UTILIZAR DEVHELP PARA OBTENER TODA EL MENU DE CONFIGURACION DE ANJUNTA ES DE
LA AYUDA NECESARIA PARA PROGRAMAR EN GTK. DESDE AQUI LOS MAS COMPLETOS. AQUI VEMOS LA SOLAPA
TENEMOS LA OPCION DE ACCEDER A TODAS LAS APIS. GENERAL, UNA DE LAS NUEVE QUE HAY.

usr★linux
25
16-27-NoTapa-L11.qxd 6/8/05 4:51 PM Page 26

MonoDevelop
De todos los proyectos, el único dedicado a la programación de C# es
MonoDevelop. Digamos que éste sería el entorno de desarrollo oficial
para programar en Mono (una implementación libre de la plataforma
.NET). Al igual que Mono, esta herramienta se distribuye libremente
bajo la licencia GPL.
La versión actual de MonoDevelop está alrededor de la 0.6.X, es decir
que todavía está en sus inicios, y las versiones que circulan son ines-
tables. Sin embargo, el proyecto Mono sí está muy avanzado, pero la
creación de su IDE va mucho más lentamente.
Para comenzar, notamos que está en sus inicios porque, simplemente,
su instalación no es una tarea sencilla. Primero, es necesario tener
instalado Mono (aunque si no lo tenemos, tampoco querremos trabajar
con MonoDevelop, obviamente). Luego se requiere de varias librerías MONODEVELOP TAMBIEN CORRE SOBRE MACOS X. CON ESTO
que deben instalarse en orden para que todo funcione bien. La única
PODEMOS DEDUCIR QUE NADIE TENDRA EXCUSAS PARA NO USARLO.
SI PUEDE CORRER BAJO LOS SISTEMAS OPERATIVOS MAS
excepción es si lo instalamos en Debian, ya que haciendo el apt-get
CONOCIDOS, DEBEMOS PROBARLO.
correspondiente, todo saldrá marchando solo.
El sistema es totalmente elemental. Posee un editor de texto para es- cribir código, en el que sólo podemos realizar las operaciones básicas
(copiar, pegar, buscar, etc.).
La herramienta únicamente nos permite compilar y ejecutar nuestros
programas. Todavía no existe ningún tipo de depurador integrado.
Si bien hay documentación integrada de C#, principalmente, no está del
todo bien adaptada: es sólo una página web que podemos navegar.
Sin embargo, tenemos que considerar que este proyecto está en sus co-
mienzos. Está dentro de los planes agregar, por ejemplo, un sistema pa-
ra generar interfaces gráficas, como con Gambas, o sea, tirando compo-
nentes sobre un formulario. También está entre sus objetivos agregar
MonoDebugger como depurador, y MonoDoc para manejar la documenta-
ción del programa y de nuestra aplicación. Además, se planea crear un
sistema de plug-ins similar al de Eclipse. De esta forma, podrá exten-
derse a través de terceros.
A pesar de todas las restricciones que tiene, MonoDevelop sigue siendo
EN ESTA IMAGEN VEMOS QUE MONODEVELOP NO POSEE, POR AHORA, el único IDE en el cual se puede programar en C# de forma libre. Ade-
DEMASIADAS COSAS. SIN EMBARGO, TIENE TODO LO NECESARIO PARA más, si prueban el sistema y siguen su desarrollo, les resultará más
PODER CREAR UNA APLICACION COMPLETA DE PUNTA A PUNTA sencillo aprender a manejarlo todo, que si empiezan de cero con un IDE
BASADA EN MONO. que tiene millones de funcionalidades.

Pensamientos finales
En este artículo hemos tratado de presentarles los entornos de desarrollo Sitios importantes
más populares. De todo este análisis, lo primero que debemos extraer es que
existe una herramienta para cada situación. Nosotros deberemos elegirla de- Anjunta www.anjunta.org
pendiendo de lo que queramos hacer; si tenemos que programar, por ejemplo, Eclipse www.eclipse.org
en Java, no nos será de mucha utilidad usar KDevelop. Gambas http://gambas.sourcefoge.net
Sin embargo, es importante conocer todas las herramientas, al menos, un Glade http://glade.gnome.org
poco de cada una. Así, tendremos una idea clara de cuál elegir, y no, es- KDevelop www.kdevelop.org
coger una, simplemente, porque es la más popular y notar, luego, que no Kylix www.borland.com/kylix
se ajusta a nuestras necesidades. MonoDevelop www.monodevelop.com
Ahora sólo resta que las instalen y las prueben. Visual TCL vtcl.sourceforge.net

26 usr★linux
16-27-NoTapa-L11.qxd 6/8/05 4:52 PM Page 27

Emacs/Vi Glade
Estos dos editores de texto son, en realidad, dos completísimos entornos de todo. Las bibliotecas Glade poseen una diseñador de interfaces, que
Si bien no son entornos gráficos, definitivamente pueden hacer todas las cosas nos permite diseñar nuestros GUIs de forma gráfica. Sin embar-
que hacen los anteriores, a excepción de crear GUIs gráficamente. Sin embargo, go, esto es lo único que nos permite hacer: no podremos escribir
existen módulos para utilizar depuradores, CVS, etc. ningún tipo de código en ningún lenguaje; simplemente, genera-
La gran desventaja que tienen es que no es sencillo introducirse en su uso. Para los rá archivos XML con la descripción de nuestras ventanas y com-
principiantes, es complicado tener que recordar muchas combinaciones de teclas pa- ponentes, y será necesario programar la aplicación por otro lado.
ra realizar tareas sencillas, como guardar o salir. De todos modos, al final, en cual- Claro está que la biblioteca nos permitirá, luego, desde el códi-
quier entorno, todos terminamos por aprender los shortcuts, porque son más rápidos. go, cargar los archivos XML generados.

Kylix
Este entorno es la versión para GNU/Linux del clásico Delphi para Win- sión exactamente igual, pero libre.
dows. La misma empresa Borland hizo el port con la esperanza de aca- Desde la parte técnica, Kylix era sencillo de usar y permitía generar pro-
parar el espacio que había en ese entonces en los IDE para GNU/Linux. gramas con interfaces gráficas muy rápidamente (algo difícil de hacer
Kylix es, en realidad, Delphi literalmente hablando, pero con otro nom- con las QT o las GTK). Sin embargo, era un monstruo que se arrastraba,
bre. En teoría, lo que estaba escrito en Delphi podía copiar y pegarse en ya que precisaba muchos recursos, esta situación insumía mucho tiem-
Kylix, y funcionaría correctamente. Pero esto no era siempre cierto. po no sólo al programador, sino también al usuario final, porque la apli-
Independientemente de esto, Kylix no era, como debíamos esperar, libre, cación resultante también era muy pesada.
lo cual ya representaba una gran traba. Sin embargo, como siempre Para bien o para mal, Kylix pasó sin mucha pena ni gloria por el mundo
ocurre en el mundo del software libre, a medida que Borland liberaba de GNU/Linux. De todos modos, hoy existen, como habrán visto, herra-
las bibliotecas específicas, un grupo de desarrolladores creaba una ver- mientas de igual o mayor calibre.

Visual TCL
Uno de los pocos RAD (Rapid Application Development) es Visual TCL. Este Este proyecto existe desde hace bastante tiempo, y ya es realmente estable, lo
entorno nos permite generar aplicaciones gráficas bajo las clásicas biblio- que implica que no sufriremos una repentina pérdida de código a causa de que
tecas TCL/Tk. Al igual que Gambas, Visual TCL se basa en tirar componen- el programa se cierre por un error. Este es un aspecto de suma importancia.
tes sobre un formulario y armar la aplicación desde allí. De esta forma, es En resumen, Visual TCL es la mejor y única opción para desarrollar interfaces
muy sencillo crear aplicaciones con interfaces gráficas.Afortunadamente, gráficas con TCL/Tk. Las interfaces Tk son simples, eficientes y muy livianas.
la licencia de este programa es, al igual que la mayoría, GPL. Esta herramienta brinda lo necesario para desarrollar este tipo de aplicaciones
La interfaz de esta herramienta es un poco desorganizada. Todas las en todos los aspectos.
partes útiles están dispersas en distintas ventanas: una con el for-
mulario, una con los objetos, otra con las propiedades y una con el
menú principal. De todas maneras, al traer una ventana al frente, to-
das las demás también suben.
Esta herramienta tiene dos modos de trabajar: en modo edición y en modo
prueba. Así, es muy rápido probar la aplicación, ya que podemos saltar de
un modo a otro con sólo presionar una combinación de teclas.
La ayuda es bastante escasa: posee una simple ventanita con una mínima
documentación sobre los menús del IDE, y hasta ahí llegatodo. Nada de
ayuda del lenguaje, nada de ayuda mientras escribimos código y nada de
ayuda para documentar nuestro programa.
El sistema no es muy intuitivo si uno no conoce bien TCL. Si bien tenemos
algo bueno –el diseño gráfico de la interfaz–, luego, conectar nuestros
componentes (botones, etc.) con los eventos es otra historia. De todas ma- AL PRINCIPIO, VISUAL TCL PARECE UN TANTO
neras, sigue siendo infinitamente más sencillo programar interfaces gráfi- CAOTICO, PERO RESULTA MUY SENCILLO
cas mediante Visual TCL, que programar las bibliotecas Tk manualmente. DE UTILIZAR. SI BIEN ES UNA HERRAMIENTA
Al ser tan minimalista, este entorno es extremadamente liviano. Casi no MINIMALISTA, POSEE TODO LO NECESARIO.

27
tenemos limitaciones de hardware para trabajar con él. Además, las apli- HASTA PODEMOS HACER UN BACKTRACE
caciones corren la misma suerte, ya que no son pesadas en absoluto. DE UN ERROR PARA DESCUBRIRLO.

usr★linux
28-29-Consultas-11.qxd 6/9/05 3:59 PM Page 28

soluciones

RESPONDEMOS A LAS CONSULTAS DE NUESTROS LECTORES

Consultas
EN ESTA SECCION VAMOS A RESPONDER A LAS PREGUNTAS QUE USTEDES NOS
ENVIAN A NUESTRA DIRECCION DE MAIL, linuxusers@mpediciones.com

DISTROS PARA PROXIES ¡POBRE RICHARD!


Y FIREWALLS Primero quiero decirles que no sé si van a publicar este mensaje o no, pero de
Arranqué un poco tarde con esta publicación (como es mi todos modos, ojalá que lo lean.
costumbre), recién en la #07, con un tema de tapa tenta- Compro de vez en cuando la revista Linux USERS, y en este caso, voy a referirme
dor: “Recicla tu hardware”. a la #08. Leyendo algunos artículos, llegué a uno firmado por Ariel Corgatelli, en
Estoy comprando los números atrasados y, no bien finalice, el cual habla sobre el comando Netstat. Personalmente, no coincido con frases
me meto de lleno con la suscripción, para así no pasarme como las que transcribo a continuación, de las cuales hay muchísimas:
por alto ningún tema de esto que me apasiona tanto.
A modo informativo, les cuento que tengo los dos libros de “La columna de dirección local nos muestra la IP de la conexión
H. F. Arena. OK, ya les conté bastante de mi vida, ahora les de nuestro Linux”.
pregunto cuándo Facundo va a explicarnos esas diversas
maneras de conectarnos a la banda ancha desde esos mi- Ahí es cuando me digo... pobre Richard Stallman y quienes lo apoyaron en un
ni router/firewall, por medio de las dos placas de red, que primero momento, ¿no? (porque hizo lo suyo programando, puntualmente el
comentó en dicha edición. estupendo Emacs en LISP). Pensar que él inició este movimiento del software
Si este tema ya fue expresado en números anteriores o libre y, hoy en día, lo que menos se dice es “GNU”, sino que directamente se
va a ser tratado en posteriores ediciones a la #08, agra- dice “Linux”, haciendo referencia a un kernel... Linux es el kernel y, por consi-
dezco desde ya su paciencia y el espacio que nos dan guiente, la pieza más importante del sistema. Pero ¿qué haría la gente con
para las consultas. un kernel solamente? ¿Programaría sus procesadores de textos, dominaría
https para hacer un navegador que lo soportara, comprendería el algoritmo
★ Seek ★ seek.nino@gmail.com de ssh para poder programar un cliente que utilizara el protocolo Telnet de
forma “segura” (en realidad, nada es seguro), etc.? Definitivamente, creo que
GNU/Linux USERS: Estimado Seek, te comentamos que en no. Sin el sistema GNU, el kernel Linux no le sería útil a un administrador de
la edición #04 de nuestra revista publicamos un extenso redes, por ejemplo. Y ¿quién inició el desarrollo de este sistema llamado
informe sobre distribu- “GNU”? Richard Stallman. Entonces, ¿por qué no decimos “GNU/Linux” y le
ciones especiales para damos el reconocimiento que este hombre merece? Y no sólo a él, porque mu-
realizar las tareas que cha gente trabaja en proyectos que no necesariamente están ligados 100% al
estás mencionando. De kernel Linux, sino al sistema GNU (procesadores de texto, planillas de cálculo,
todas formas, son mu- navegadores, etc.).
chos los lectores que
nos piden notas del “Las personas siempre tratan de tener crédito a costilla del otro”.
mismo tipo, por lo que Saludos y suerte con la revista.
armaremos un nuevo
informe, esta vez, ★ Jairo Ramos ★ emonsalvo@coopsar.com.ar
orientado a alguna dis-
tribución popular del Héctor Facundo Arena: Estoy de acuerdo con vos. El problema es que no po-
rubro. ¡Paciencia! demos obligar a nuestros redactores y colaboradores a poner GNU. Por mi par-
te, trato de poner GNU en cuanta palabra puedo. Fijate en la tapa de la revis-
ta, arriba de Linux dice GNU, en la panza del pingüino. Te repito, tenés toda la
razón, y es realmente una pena que se haya popularizado el sistema con el
nombre Linux y no con el nombre de GNU. Aun así, hay gente que prefiere usar

28 la palabra Linux a secas e, incluso, dice tener buenos fundamentos para ha-
cerlo. Por eso, debemos respetarlos.
usr★linux
28-29-Consultas-11.qxd 6/9/05 4:00 PM Page 29

soluciones

PREGUNTAS VARIAS
1) Muy buena la publicación. Sinceramente, es un placer suscribirme a la
única revista del mercado que brinda info sobre GNU/Linux, sobre todo
porque, en relación al tema, ningún servicio quiere hacerlo (por ejem-
plo, los proveedores de Internet). Creo que es porque les resulta más
fácil hacerlo en Windows, ya que es APB (a prueba de tontos...) y eso
tiene menores costos. El material que ustedes publican es muy bueno,
a mí me ayuda mucho en algo que es una pasión; no trabajo en esto,
sino que descargo aquí las energías del día, y por ende, cuanto mayor
es la dificultad encontrada, mayor es la satisfacción al superarla.
2) Instalé en mi PC la distro e-Ututo, que vino en la entrega #05. Es muy
buena en general, ya que si bien la instalación es larga, corre mucho WEBMIN ES UN SISTEMA DE ADMINISTRACION QUE SE MANEJA DESDE
más rápido que otras (SuSE es llamativamente lenta, por ejemplo). UN BROWSER WEB. PARA ESTO, DEBE ESTAR EL PUERTO ABIERTO.
Ahora bien, como en todo lo bueno, también hay un problema: necesito
hacer algunas configuraciones, que en la distro se hacen mediante Aguardo respuesta, muchas gracias a todos los que hacen Linux USERS.
Webmin (127.0.0.1:10000), y cuando quiero acceder a la dirección,
aparece un mensaje emergente que dice algo así como “Connection re- ★ José Manuel Picco
fused to 127.0.0.1:10000”. En mi PC no tengo placa de red, con lo cual ★ Jose.Picco@mosaicco.com
Ututo no puede levantar la eth0, ni tampoco los servicios relacionados
con networking, y me parece probable que sea alguna configuración GNU/Linux USERS: Muchas gracias por tus comentarios para con nuestra pu-
relacionada con los archivos /etc/hosts o hostname, o algún otro en blicación. Vamos a las respuestas. En cuanto a Webmin, te recomiendo visitar
ese directorio. ¿Me ayudan con esto? Por otro lado, les comento que sí los archivos de configuración correspondientes para habilitar 127.0.0.1 como
puedo entrar en la config de Cups (127.0.0.1:631). ¿Cosa rara, no? IP que puede acceder a Webmin. Esto se puede hacer, generalmente, en el ar-
3) Si yo quisiera instalar otro manejador de ventanas, como FVWM2 o Black- chivo /etc/webmin/miniserv.conf. Allí, hay una función llamada “allow=”, que
box, además de compilar las fuentes, ¿qué archivos debería modificar permite definir la dirección IP del host que puede acceder a Webmin.
para que, al ejecutar startx, se abriera directamente el WM seleccionado? En cuanto a cambiar el gestor de ventanas, hay varios archivos que difie-
¿Hay alguna aplicación que pueda instalar en mi PC, que maneje esto? ren según la distribución. Es posible probar con .xinitrc y .xsession, ubi-
4) ¿Cuándo sacarán la distro de Debian? Siempre escucho que es excelen- cados en tu directorio personal. ¿Debian? En este numero incluimos Ubun-
te y muy customizable, pero no tengo ningún CD. to, que es una distribución basada en Debian.

MAS PARA PRINCIPIANTES


¡Hola, expertos de Linux! La revista está muy buena y ¡bla bla bla! (me De todos modos, entiendo perfectamente que si yo fuera un usuario de
gustaría ser chupamedias para que publiquen este e-mail... pero con que Linux, estaría más que contento con el contenido de la revista.
alguien de ustedes lo lea, me conformo... mejor dicho, es suficiente como
para desahogarme). ★ Martín Nicolás Rodríguez
Entiendo que si hacen una revista para principiantes, no venden a los ★ rodriguez_mn@yahoo.com
usuarios ni a los expertos; y si hacen una revista para usuarios y/o
expertos, no venden a los principiantes... ¡Un gran dilema el que tienen! GNU/Linux USERS: Al ser la única revista de GNU/Linux de la Argentina (y
¿no? Ahora bien, analicemos mi caso (y espero que sea el de muchos otros una de las muy poquitas de Latinoamérica), tenemos una gran
lectores). Hace unos ocho meses apareció en el kiosco una revista que responsabilidad, que es brindar contenidos de interés, tanto para usuarios
prometía instruirme en el mundo del software libre... ¡Genial! (fue mi principiantes, como para expertos. ¡Difícil misión si las hay! Tratamos de
expresión, la que hoy, con el ejemplar #08, mejor no comento). Debo hacer lo mejor y, número a número, son mensajes como el tuyo los que nos
confesar que he tenido algunos altibajos con ustedes. El ejemplo más indican qué camino tomar.
cercano es el de la edición #07, donde hubo una sección “principiantes” Te comento que todo la sección “Soluciones” es la porción de la revista
(con la que casi mojo los pantalones de la emoción), pero no duró. ¡Mi dedicada a los más nuevos. Allí, las notas generalmente tratan temas
sección favorita ya no existe! básicos, como comandos o manejo del entorno visual. Pero, por si no
Lo que no entiendo es una cosa, a ver si ustedes son capaces de sacarme quedó claro, fijate cómo se llama dicha sección ahora. De todos modos,
esta gran duda. ¿Es tan difícil dedicar tres páginas a nosotros, los invitamos a todos los usuarios que esperan leer notas más básicas aún,
principiantes? Así, de a poco, podremos ir igualando a los que saben más. que nos comenten aquellos temas que quisieran aprender.
¿O dan por sentado que en estas ocho revistas los principiantes son ya
“usuarios” de Linux? Porque, entonces, el problema sería mío, que no
tengo capacidad de aprendizaje.

usr★linux 29
30-31-Trucos-L11.qxd 6/9/05 3:48 PM Page 30

soluciones
LAS MEJORES TECNICAS PARA SACARLE EL
MAXIMO PROVECHO A TU GNU/LINUX

N ESTA SECCION TRATAMOS DE FACILITAR LA VIDA A LOS USUARIOS NUEVOS DE

E GNU/LINUX, PRESENTANDO DIFERENTES TRUCOS. ENCONTRAREMOS TEMAS MUY


INTERESANTES, COMO INSTALAR IMPRESORAS LEXMARX Z600 EN DEBIAN, COMPRIMIR Y
DESCOMPRIMIR ARCHIVOS TAR.BZ2, INGRESAR MENSAJES DE BIENVENIDA EN EL
SISTEMA Y, POR ULTIMO, ELIMINAR PAQUETES DEBIAN DE MANERA SIMPLE.
trucos
COMPRIMIR Y DESCOMPRIMIR ARCHIVOS TAR.BZ2
En varios artículos de la revista he visto que, para des- La manera “oficial” (y más sencilla) de hacerlo con el
comprimir un tar.bz2, primero hacen “bunzip2 archivo. comando tar es:
tar.bz2” y, luego, “tar -xvf archivo.tar”; y en alguno que
otro archivo README, usa tuberías para hacerlo en un tar -jxvf archivo.tar.bz2
solo paso. Eso no está mal desde el punto de vista con-
ceptual, pero no resulta práctico. Como verán, no difiere mucho del ya clásico “tar -zxvf
archivo.tar.gz” para descomprimir los gzip. Además,
cuenta con la ventaja de que no se crea un archivo in-
termedio.
Y ya que estamos en este tema, podríamos decir que,
para comprimir un archivo, la sentencia es exactamente
igual, sólo que se cambia la “x” por la “c”; queda así:

tar -zcvf archivo.tar.gz o tar -jcvf archivo.tar.bz2

★ Cristian Pacheco
CON MIDNIGHT COMMANDER PODEMOS NAVEGAR
pacheco_k@linuxmail.org
DENTRO DE LOS .BZ2 Y DESCOMPRIMIRLOS.

MENSAJE DE BIENVENIDA AL SISTEMA


Si nos gusta dar miedo o mostrar presencia en un equipo Mandrakelinux release 10.2 (Limited Edition 2005) for i586
con GNU/Linux, podemos hacer algo muy interesante. Una Kernel 2.6.11-6mdk on an i686 / \
opción es editar los archivos issue e issue.net (/etc/is- Ojo te estamos Vigilando ... [ariel@ariel ~]$
sue), con lo cual se nos mostrará un mensaje antes de lo-
guearnos.
Pero podemos ir más allá e ingresar un mensaje que todos
los usuarios registrados leerán cuando se validen en forma
efectiva en el sistema. Tenemos que editar el archivo motd
ubicado, por supuesto, en /etc, usando cualquier editor (vi,
emacs, mcedit, gedit, kedit, kwrite, etc.).

# mcedit /etc/motd

Escribimos el mensaje, salimos salvando con F10 y listo.


Esto es lo que se ve cuando ingreso en mi propio sistema.

30 usr★linux
30-31-Trucos-L11.qxd 6/9/05 3:49 PM Page 31

soluciones
CONFIGURAR IMPRESORAS LEXMARK Z600
Las impresoras Lexmark de la serie Z600 son de las más econó-
micas del mercado: se pueden conseguir por menos de cien dó-
lares. Por eso supongo que habrá mucha gente interesada en
saber cómo instalar los controladores. En realidad, si se tiene
una versión de Linux compatible con rpm, no debería haber ma-
yores inconvenientes, siempre y cuando CUPS esté actualizado.
El primer paso es tener el kernel configurado con el controla-
dor de impresión USB, lo cual puede hacerse con el comando
modconf, siempre y cuando el kernel tenga este controlador
compilado como módulo. En mi caso, opté por recompilar el
kernel, poniendo este controlador directamente en el cuerpo
principal, y no como módulo.
Luego, hay que bajar los controladores desde la página de Lex- EN EL SITIO DE LEXMARK DICEN QUE SOLO SOPORTAN REDHAT, PERO
mark, http://downloads.lexmark.com/cgi-perl/downloads. CON ESTE TRUCO PODREMOS INSTALAR EL DRIVER TAMBIEN EN
cgi?ccs=229:1:0:433:0:0&os_ group=Redhat&target=; el ar- DISTRIBUCIONES DEBIAN.
chivo se llama algo así como CJLZ600LE-CUPS-1.0-1.TAR.gz.
Para usarlo, debemos descomprimirlo y desempaquetarlo, para lo cual basta con $dpkg -i z600cups-1.0-1.i386.deb
ejecutar en la línea de comandos: $dpkg -i z600llpddk-2.0-1.i386.deb

/home/usuario/directoriodelarchivo/$tar -zxvf CJLZ600LE-CUPS-1.0-1.TAR.gz Es posible que el sistema les exija dependencias sin
resolver, para eso basta con instalarlas con apt-get.
Ahora cambiamos el modo del archivo, para que sea ejecutable: Esto depende de la instalación que cada uno tenga,
por lo que no puedo profundizar en este tema.
/home/usuario/directoriodelarchivo/$chmod u+x z600cups-1.0-1.gz.sh Hecho esto, ya tenemos los controladores de la impre-
sora para CUPS. El resto del proceso ya fue explicado
Los que tengan un sistema compatible con RedHat pueden ejecutar el script como en Linux USERS #05, páginas 24 y 25.
usuario root. Los que tengan Debian o una distribución compatible tendrán que ex- El documento original en el que se basó este truco es-
traer los archivos del script de la siguiente forma: tá en www.linuxprinting.org/pipermail/lexmark-
list/2004q2/002550.html
/home/usuario/directoriodelarchivo/$sh z600cups ★ Sergio Vernis
1.01.gz.sh -target temp_lex

Para que esto funcione, es imprescindible que no haya espacios en la ruta absoluta
dentro de la cual está el script. Este habrá creado el directorio temp_lex con los
siguientes archivos: ELIMINAR PAQUETES EN DEBIAN
Para eliminar paquetes en Debian, usamos dpkg de la
z600cups-1.0-1.i386.rpm siguiente manera:
z600llpddk-2.0-1.i386.rpm
dpkg —remove nombre_paquete_sin_extension_deb
Ahora es necesario convertir los archivos en .deb, para que puedan ser instalados
en Debian: Así eliminaremos el paquete, pero no los archivos o
ficheros de configuración que pudiera contener.
$alien z600cups-1.0-1.i386.rpm Entonces, tenemos que usar:

y dpkg —purge nombre_paquete_sin_extension_deb

$alien z600llpddk-2.0-1.i386.rpm
CONCLUSION
Esto crea paquetes en formato dpkg: Como siempre, tratamos de cubrir la máxima
variedad posible de trucos, además de publicar los
z600cups-1.0-1.i386.deb que nos envían nuestros lectores.
z600llpddk-2.0-1.i386.deb Recuerden que si quieren ser famosos, deben
enviarnos mails; prometemos publicar sus trucos.
Ahora estos pueden ser instalados como cualquier otro paquete Debian: Hasta la próxima. ★ Ariel Corgatelli

usr★linux 31
32-40-Distribuciones-L11.qxd 6/8/05 11:42 Page 32

distribuciones
INSTALACION Y PUESTA A PUNTO

Gentoo
desventaja de este método es que no se puede
optimizar al máximo nuestra instalación, ade-
más de que deberemos bajar la imagen de
instalación de Gentoo específica para la ar-
quitectura de nuestra máquina.

★ Instalación desde cero: es mucho más lenta y


trabajosa, pero el resultado final vale la pena. Ade-
más, podemos usar el mismo CD de instalación
LA DISTRIBUCION QUE ESTA EN BOCA DE TODOS para cualquier máquina, ya que los paquetes se
ES MUY POPULAR POR EXPRIMIR AL MAXIMO bajarán de Internet a medida que se los necesite.
LAS CAPACIDADES DE NUESTRO SISTEMA, PERO
TAMBIEN, POR SER “COMPLICADA” DE Explicaré el método de instalación desde cero, ya
INSTALAR. ¡ESO NO ES VERDAD! EN ESTA NOTA, que es el que permite obtener el máximo provecho
LES CONTAREMOS PASO A PASO COMO LLEVAR de esta distribución. El primer paso es descargar
ADELANTE ESTA TAREA. desde alguno de los mirrors de Gentoo la imagen
ISO del CD Minimal-installation más reciente. El
entoo es una distro que nació Portage es una versión bastante mejorada esquema de nomenclatura de las versiones es el

G de la mano de Daniel Robbins,


un programador que pasó por
Debian, Stampede y Enoch y
que, después de un par de problemas de
del sistema de ports mencionado, ya que
permite realizar tareas de manera mucho
más simple que con los ports de BSD, me-
diante el comando emerge. Esas funciones
año de la release, separado por un punto del nú-
mero de release de dicho año, empezando por ce-
ro. Esta nota se basó en la versión 2005.0 que
salió el 12 de abril de 2005.
hardware (la placa madre de la máquina dan la opción de realizar búsquedas de pa-
que se compró para desarrollar Gentoo se quetes, calcular dependencias, bajar los OBTENER LA IMAGEN DE CD
congelaba cuando el sistema estaba en paquetes antes de instalarlos, y un larguísi- La lista de mirrors de Gentoo está en
descanso o idle), se pegó una vuelta por mo etcétera que iremos conociendo a medi- www.gentoo.org/main/en/mirrors.xml. Una
FreeBSD, y se enamoró de su sistema de da que trabajemos con él. vez que nos contactemos con alguno de ellos,
ports. Luego regresó al desarrollo activo de Antes de pasar a la instalación propia- debemos dirigirnos al directorio releases/x86/
Gentoo (máquina nueva de por medio) y, mente dicha, les recomiendo que no se 2005.0/installcd/ y descargar el archivo
junto con otros desarrolladores, creó Porta- asusten por la longitud del proceso, ni install-x86-minimal-2005.0.iso. Les recomien-
ge, un sistema similar al de ports de BSD. caigan en la tentación de pensar que, por do que verifiquen que el md5 de éste sea igual
Para los que no lo sepan, consiste en un ár- ser en modo texto, es difícil. Es más, me que el que está en el archivo install-x86-
bol de directorios que tiene muchísimos pa- atrevo a decir que es la instalación que 2005.0-minimal.iso.md5. Para hacer esto des-
quetes (alrededor de 8000, y en el directorio mejor descripta está en la documentación de Linux, ingresamos en la línea de comandos:
correspondiente a cada uno de ellos, hay un (el handbook), a tal punto que no he en-
archivo que explica de dónde bajar las contrado ni siquiera una discrepancia en- # cat install-x86-2005.0-minimal.iso.md5
fuentes de ese programa, junto con instruc- tre los pasos descriptos y la práctica. Creo ed5a7327631f10c37b6854f244f1bc00 *install-
ciones específicas para la compilación e que éste es uno de los pocos casos en los x86-2005.0-minimal.iso
instalación de la app. que “la teoría y la práctica son iguales”.
Mediante Portage, Gentoo nos permite perso- Pasemos, ahora sí, a la explicación.
nalizar al máximo nuestra distribución; como EL SISTEMA DESTINO
El sistema en el que se instalará Gentoo en
dicen los de Gentoo.org, “Gentoo is all about INSTALACION
esta nota es un AMD K6-2 de 500 MHz, en
choices” (Gentoo es todo sobre elecciones). Lo primero que debemos hacer es elegir
un motherboard TX PRO-II con chipset SIS
Podemos elegir qué logger queremos, qué entre alguno de los dos métodos de ins- 5595, dos bancos de memoria PC-100 de
manejador de paquetes, y así con todo, des- talación disponibles: 64 MB cada uno, grabadora de CDs Creative
de los editores de texto, hasta las aplicacio- 8x4x32, disco Seagate de 10 GB y una
nes ofimáticas, el manejador de escritorio, el ★ Instalación mediante paquetes pre- NVIDIA TNT2 con 32 MB de RAM. Se destinó
kernel, etc. Por lo tanto, es recomendable que compilados: nos permite instalar Gentoo todo el disco para Gentoo, por lo que no hu-
tengan algo de experiencia en Linux para en un par de horas, mediante el uso de pa- bo que dejar lugar para el “otro” sistema
usar Gentoo eficientemente, ya que tendrán quetes precompilados, con lo que nos aho- operativo (¡gracias a Dios!). Ah, me olvida-
que elegir lo que más les convenga. rraremos el proceso de compilarlos. La ba: tiene dos puertos USB onboard y una
placa de red Intellinet no sé qué, con el vie-
jo y querido Realtek 8139c como chipset.

32 usr★linux
32-40-Distribuciones-L11.qxd 6/8/05 11:42 Page 33

distribuciones
# md5sum install-x86-minimal-2005.0.iso
ed5a7327631f10c37b6854f244f1bc00

Como ven, la suma md5 del archivo .md5 es idén-


tica al resultado de aplicarle el comando md5sum
a la ISO recién descargada. Esto nos permite sa-
ber que el archivo no está corrupto. Para verificar-
lo en Windows, deberán descargar algún progra-
ma que permita calcular la suma md5 como md-
5sum.exe, desde www.etree.org/md5com.html.
A continuación, grabamos la imagen en un CD
(regrabable en lo posible), ya que sólo pesa 60 o
70 megas. Así, en el caso de que haya que reins-
talar el sistema, lo más probable es que ya exista
una release más moderna.
Una vez que tengamos la imagen grabada, pro-
cedemos a reiniciar la máquina y modificar el
BIOS para que arranque desde el CD que aca-
bamos de grabar. Cuando aparece el syslinux,
presionamos ENTER para que incie el kernel
por defecto, Gentoo. EL SISTEMA DE INSTALACION YA INCLUYE OPCIONES
PARA CONFIGURAR NUESTRA PLACA DE RED WIRELESS.
Aparecerá un prompt de root y una pequeña
explicación de lo que debemos hacer a conti-
nuación. El primer paso es setear la contrase- 64 bytes from p22.www.re2.yahoo.com
ña de root, ya que la de Gentoo se autodestru- (68.142.226.53): icmp_seq=4 ttl= # export http-proxy=”http://ipdelproxy:puerto”
ye para evitar intrusiones. Para hacerlo, usa- 51 time=1024 ms # export ftp-proxy=”http://ipdelproxy:puerto”
mos el comando passwd y luego ingresamos la 64 bytes from p22.www.re2.yahoo.com
nueva contraseña de root dos veces. (68.142.226.53): icmp_seq=5 ttl= Una opción interesante es activar el de-
52 time=678 ms monio Secure Shell, para realizar la ins-
CONFIGURAR LA RED talación desde otra máquina de la red (y
El siguiente paso consiste en configurar la red. —- www.yahoo.akadns.net ping statistics —- así ahorrar la electricidad de uno de los
El mensaje nos informa que, en caso de que se 6 packets transmitted, 4 received, 33% monitores, por ejemplo). Para arrancarlo,
haya detectado una placa de red, ésta se con- packet loss, time 6125ms ejecutamos el comando:
figurará de manera automática, para lo que rtt min/avg/max/mdev =
deberemos estar en una red con salida a Inter- 678.642/959.632/1246.431/206.395 ms, pipe 2 # /etc/init.d/sshd start
net, y que posea un servidor DHCP. Primero ve-
rificamos que se haya configurado la interfaz: Para detener el ping, presionamos CTRL+C. Ahora sí, vamos a la instalación propia-
Si los ping contestan, estamos listos pa- mente dicha. Pero antes, el último men-
livecd root # ifconfig ra “rockanrolear”. En caso de que la pla- saje de motd (message of the day, a.k.a.
eth0 Link encap:Ethernet HWaddr 00:50:FC:CC:EC:F0 ca de red no esté configurado correcta- el cartelito de inicio de sesión) nos dice
inet addr:192.168.0.66 Bcast:192.168.0.255 mente, por ejemplo, por falta de servidor que podemos encontrar más información
Mask:255.255.255.0 DHCP en la red, o si deseamos usar pa- sobre la manera de seguir con la insta-
rámetros específicos, utilizamos el co- lación mediante el comando:
La línea que debemos buscar es la que dice mando net-setup eth0, que abrirá un pe-
eth0, que es la correspondiente a la placa de queño asistente para configurar la inter- # links /mnt/cdrom/docs/
red local. Si la línea existe y tiene asignada faz de red de manera bastante rápida. handbook/html/index.html
una dirección IP (inet addr), entonces ya pode- Algo muy interesante de esta nueva ver-
mos probar la conexión mediante un ping: sión de Gentoo es que tiene soporte para Esto, lo que hace es, básicamente, abrir
algunas tarjetas de red wireless desde el en un navegador de modo texto el Gentoo
livecd root # ping www.yahoo.com momento mismo de la instalación. Handbook, que es el manual y, de ahora
PING www.yahoo.akadns.net (68.142.226.53) 56(84) Si nuestra red cuenta con un proxy, lo en adelante, la Biblia de Gentoo. Es su-
bytes of data. configuramos con las variables de entor- mamente recomendable revisarlo de vez
64 bytes from p22.www.re2.yahoo.com no http-proxy y ftp-proxy, seteando sus en cuando, porque todos los días se
(68.142.226.53): icmp_seq=1 ttl=52 time=889 ms valores de la siguiente manera: aprende algo nuevo.
64 bytes from p22.www.re2.yahoo.com
(68.142.226.53): icmp_seq=2 ttl=51 time=1246 ms

usr★linux 33
32-40-Distribuciones-L11.qxd 6/8/05 11:42 Page 34

distribuciones
TABLA 1 ★ DISTRIBUCION DE LAS PARTICIONES
Punto de montaje Espacio asignado
PARTICIONAR EL DISCO / 2,8 GB
Lo más importante de este paso no es, tal vez, la /home 1,5 GB
parte técnica, sino el tema de qué particiones ha- /var 3 GB
cer, cuánto espacio asignarle a cada una y de- /usr/portage/distfiles 2 GB
más. Yo les recomiendo tener en particiones sepa- /boot 200 MB
radas el /home, el /usr/portage/desfiles y el /var. swap 300 MB
El primero, por la sencilla razón de que, si el día
de mañana deciden cambiar de distro, podrán
conservar casi todas sus opciones de personaliza- TABLA 2 ★ ARQUITECTURAS
ción del escritorio, además de todos los progra-
Arquitectura Sub Valor CHOST
mas cuyas preferencias personales se guardan en
x86 i386 i386-pc-linux-gnu
el home del usuario (todos los que conozco lo ha- x86 i486 i486-pc-linux-gnu
cen, pero puede haber algunos que no). x86 i586 i586-pc-linux-gnu
La razón de tener separado /usr/portage/distfiles x86 i686 y superior i686-pc-linux-gnu
es que ese directorio contiene el árbol de Portage, amd64 x86_64-pc-linux-gnu
con todos los paquetes descargados en /usr/por-
tage/distfiles, por lo que suele ocupar bastante
espacio. Una ventaja extra de tener este directorio de 10 gigas exclusivo para Gentoo. El es- La secuencia es: ‘n,e,4,enter,enter,n,l,en-
separado es que lo podemos poner en un servidor quema se muestra en la Tabla 1. ter,+300m,t,5,82,n,l,enter,+2800n,n,l,en-
NFS, por ejemplo, y así tener todos nuestros Para crear las particiones, utilizaremos ter,+1500m,n,l,enter,+3g,n,l,enter,en-
fuentes en una sola máquina de la red, con lo fdisk, ya que viene con el CD de instala- ter,w’. Aclaro que si el disco tiene más de
cual evitaremos usar espacio valioso en todas, ción de Gentoo. Lo iniciamos escribiendo: 10 GB, y no deseamos usar más de 2 para
menos en la servidora, y además, ahorraremos /usr/portage/distfiles, debemos poner
tiempo de descarga. # fdisk /dev/hda ‘+2g’ en vez del último enter antes del w.
La última partición que les recomiendo separar es Ahora tenemos que crear los sistemas
/var, a la cual habrá que darle bastante espacio, (Reemplazar hda por el dispositivo co- de archivos de las particiones que va-
ya que si piensan compilar KDE u OpenOffice, por rrespondiente al disco en que instalare- mos a usar. Usaremos ext3 por ser el
ejemplo (ambos grandes consumidores de espacio mos Gentoo). más difundido y probado de todos (ade-
en disco durante la compilación), los archivos más de porque a mí me gusta), y por te-
temporales van en /var/tmp. Otro caso en que el Una vez dentro de fdisk, podemos ver una ner soporte nativo para ext3, ext2, xfs,
/var es muy importante es cuando se tienen servi- lista de las particiones del disco ingresan- reiserfs y jfs. Para crear sistemas de ar-
dores instalados en la máquina (como Apache o do la letra ‘l’. Lo primero que debemos ha- chivos de este tipo, recurrimos al co-
Sendmail), ya que, por defecto, los documentos de cer es borrar cualquier partición que ten- mandomke2fs, de la siguiente manera:
esos servidores se almacenan en /var. gamos, presionando la tecla ‘d’ y, luego,
Las razones para separar en particiones directo- ingresando el número de partición por bo- # mke2fs -j /dev/hda1 (boot)
rios importantes son varias: rrar. Cuando aparezca el mensaje “No par- # mke2fs -j /dev/hda6 (raiz)
tition is defined yet!”, es porque habremos # mke2fs -j /dev/hda7 (home)
★ Robustez: si hay un proceso que se des- borrado todas la particiones actuales. A # mke2fs -j /dev/hda8 (var)
controla y empieza a hacer volcados a disco, continuación, creamos las particiones con # mke2fs -j /dev/hda9 (distfiles)
hay menos posibilidades de que se agote el los comandos: ‘n,p,1,enter,+200m’, que in-
espacio de nuestro /. dican: crear una nueva partición (n), tipo Y para crear el swap usamos:
primaria (p), partición número 1 (1),
★ Flexibilidad: podemos distribuir de mejor ma- inicio en el primer cilindro del disco # mkswap /dev/hda5
nera el espacio en disco, además de que la recu- (enter, toma por defecto el valor pro-
peración ante catástrofes es mucho más sencilla. puesto por fdisk), y que la nueva parti- Luego la activamos con:
ción deberá tener 300 megas (+200m).
★ Orden: al tener el /home separado, contro- Luego, hacemos que dicha partición sea # swapon /dev/hda5
laremos mejor el espacio en disco y evitaremos booteable mediante el comando ‘a, 1’,
problemas del orden de “la peli que bajé me de- que le dice a fdisk que debe poner el A continuación tenemos que montar to-
jó sin espacio y se me colgaron los servidores”. atributo ‘boot’ en la partición 1. Los pa- das las particiones que vamos a usar
sos para crear las demás particiones en el directorio /mnt/gentoo; los si-
Teniendo en cuenta los lineamientos anterio- son similares a los que usamos para guientes comandos bastarán por ahora:
res, particionaremos, como ejemplo, un disco /boot, por lo que les dejo la secuencia
de comandos solamente y, ante cual- # mount /dev/hda6 /mnt/gentoo

34 quier duda, me consultan por mail. # mkdir /mnt/gentoo/boot

usr★linux
32-40-Distribuciones-L11.qxd 6/8/05 11:42 Page 35

distribuciones
TABLA 3 ★ NUCLEOS Y PARCHES

★ gentoo-sources: este kernel tiene parches para solucionar problemas de Una vez que verificamos la validez de la fecha de
seguridad, junto con la mayoría de los esfuerzos del equipo de desarrollo de kernel nuestra PC, procedemos a iniciar el navegador de
de Gentoo, entre cuyos miembros están Greg Kroah-Hartman, encargado del modo texto links2, y lo apuntamos a algún mirror
susbsistema udev, usb y pci del kernel oficial. para descargar el archivo ‘stage1-x86-
2005.0.tar.bz2’, mediante el comando:
★ vanilla-sources: versiones de kernel “limpias”, de www.kernel.org.
# links2 http://www.gentoo.org/main/en/mirrors.xml
★ hardened-sources: estas fuentes contienen una serie de parches que sacrifican
un poco de velocidad de proceso en función de mayor estabilidad y robustez. Se
Elegimos algún mirror, y buscamos el stage 1 en
recomienda instalarlas en máquinas destinadas a ser usadas como servidores.
el directorio ‘releases/x86/2005.0/stages/x86/’, o
★ ck-sources: este patchset permite elegir varios niveles de compromiso entre bien en ‘releases/amd64/2005.0/stages/’ si so-
velocidad y robustez; más velocidad para una workstation, o mayor robustez para mos los afortunados poseedores de un Athlon 64
servidores. (u Opteron), en cuyo caso debemos reemplazar
x86 por amd64 en el nombre del stage. Hacemos
★ grsec-sources: fuentes que contienen los parches GRSecurity. la descarga presionando ‘d’ con el cursor sobre el
nombre del archivo, y cuando nos pregunte en
★ mm-sources: este kernel se usa como campo de pruebas de ideas nuevas y qué directorio queremos descargar el archivo, es-
peligrosas que, en el futuro, pueden o no llegar a incluirse en el árbol oficial de cribimos ‘/mnt/gentoo’. Luego lo descomprimi-
desarrollo.
mos con el viejo y conocido tar:
★ openmosix-sources: este kernel incluye el set de parches del proyecto
# tar xvfjp stage1-x86-2005.0.tar.bz2
OpenMosix para construir clusters de bajo costo.

★ selinux-sources: aquí tenemos el conjunto de parches del proyecto SELinux, Si observan con detenimiento las opciones de tar,
avalado por la NSA. notarán una que no es muy común: p. Su función
es preservar los atributos de los archivos que
★ usermode-sources: soportan el UML (User Mode Linux), que permite correr Linux contiene, algo muy importante si tienen en cuen-
dentro de Linux, como una máquina virtual, pero más eficiente. ta que lo que estamos descomprimiendo es el es-
queleto de nuestro futuro sistema. Una vez des-
★ win4lin-sources: este patchset permite ejecutar algunas aplicaciones de MS comprimido el stage 1, procederemos a instalar
Windows casi sin perder velocidad. www.netraverse.com.
el último snapshot de Portage, un tar.bz2 que
contiene el árbol de construcción, es decir, dónde
★ Wolk-sources: patchset que contiene una inmensa cantidad de parches
combinados cuidadosamente para funcionar juntos. Por lo tanto, si necesitamos
están las especificaciones de todos los progra-
combinar algunos de los sets de parches antes nombrados, ésta será la opción ideal. mas instalables vía emerge. Para hacerlo, des-
cargamos el archivo más reciente de Portage del
directorio snapshots, yendo a cualquiera de los
mirrors. Lo hacemos de la misma manera que el
# mount /dev/hda1 /mnt/gentoo/boot El manual de Gentoo recomienda setear stage1 y, luego, lo descomprimimos en /mnt/gen-
# mkdir /mnt/gentoo/home correctamente la fecha del sistema antes too/usr, mediante el siguiente comando:
# mount /dev/hda7 /mnt/gentoo/home de proseguir, y nos advierte que, si no es-
# mkdir /mnt/gentoo/var tá correcta, se pueden producir efectos # tar xvfjC portage-FECHA.tar.bz2 /mnt/gentoo/usr
# mount /dev/hda8 /mnt/gentoo/var extraños en el futuro. En mi experiencia
# mkdir /mnt/gentoo/usr/portage/distfiles personal, en todas las instalaciones de Llegamos, ahora, a una de las etapas más im-
# mount /dev/hda9 /mnt/gentoo/usr/ Gentoo que he realizado, la fecha de la portantes de la instalación: empezar a configurar
portage/distfiles máquina siempre estaba bien, pero de to- las opciones de compilación. Las primeras tienen
do modos conviene asegurarse. Para con- que ver con el tipo de procesador que tenemos,
INSTALANDO LOS ARCHIVOS BASICOS sultar la fecha, usamos el comando date, además de con qué optimizaciones queremos en
Ahora instalaremos los stages, tres ar- y si necesitamos cambiarla, escribimos: nuestro código. Tenemos que configurar cuatro
chivos que contienen diferentes “eta- variables en este paso:
pas” de la instalación de Gentoo. La # date MMDDhhmmAAAA
ventaja de este esquema es que, por ★ CHOST: indica la arquitectura de la máquina.
ejemplo, podemos instalar un stage 1 y Reemplazando MM por el mes en formato En la Tabla 2 pueden ver una lista.
2 precompilados (instalación rápida) y, de dos dígitos (enero es 1, por ejemplo),
aun así, compilar la mayoría de los pa- DD es la fecha actual, hh es la hora en ★ CFLAGS y CXXFLAGS: se usan para pasar-
quetes del stage 3. Nosotros compilare- formato 24 hs, mm son los minutos y AAAA le parámetros al compilador de C y C++
mos los tres stages. es el año completo (los cuatro dígitos).

usr★linux 35
32-40-Distribuciones-L11.qxd 6/8/05 11:43 Page 36

distribuciones
TABLA 4 ★ DRIVERS
respectivamente. Indican el nivel de optimización
dependiendo del micro que poseamos y, en gene- ★ Nvdia-kernel: drivers propietarios de NVIDIA para sus placas de video.
ral, ambas contienen los mismos valores. Como
mínimo, debemos colocar ‘-march=nombremicro ★ Nforce-audio: drivers propietarios de NVIDIA para el chip de audio
-O3’, donde ‘-O3’ indica que el nivel de optimiza- onboard de los chipsets NForce 2.
ción de los binarios compilados sea 3, lo que fun-
ciona de maravilla en casi todos los casos. ★ Ati-drivers: drivers propietarios para las placas de video ATI
posteriores a la 8500, con la implementación de OpenGL y FireGL.
★ MAKEOPTS: indica la cantidad de procesos en
paralelo de make que se pueden ejecutar. Su va-
lor debe ser igual al número de CPUs que tenga- Ahora, por fin, empieza el trabajo duro para se está compilando de acuerdo con nues-
mos más uno, o sea que si tenemos una máquina nuestra máquina: compilar todo. tras necesidades. Si, por ejemplo, un pa-
con un micro (la mayoría tendrá esto, y los que quete se puede compilar con soporte para
no: ¡cómo los envidio!), el valor será 2. INSTALACION DEL SISTEMA BASE KDE y GNOME, si nuestra variable USE tie-
¡Por fin llegó la acción! Para empezar la ne el flag ‘-gtk qt’, se compilará sólo con
★ LDFLAGS: controla el comportamiento del compilación de nuestro sistema base, soporte para las librerías qt (las de KDE).
cargador dinámico de librerías de nuestro sis- primero debemos copiar la información Al especificar los flags que deseamos, opti-
tema (el ld). Yo propongo unas optimizaciones de los dns de nuestro actual etc al etc mizamos los paquetes y evitamos los enor-
sencillas que, seguramente, funcionarán, pero del futuro Gentoo: mes binarios que tienen las otras distros,
si quieren lograr el máximo poder, pueden en donde hay 200 dependencias para un
buscar otras en http://forums.gentoo.org/ # cp -L /etc/resolv.conf /mnt/gentoo/ procesador de texto, además de que éste
viewtopic.php?t=67777&highlight=ldflags. etc/resolv.conf es lento al arrancar y consume muchísi-
ma más memoria. La variable USE se
Antes de setear estas variables, les recomiendo Luego montamos el sistema virtual de setea en el archivo /etc/make.conf.
enfáticamente que visiten el sitio archivos proc: Cuando seteen los valores de su USE les
www.freehackers.org/gentoo/gccflags, en donde recomiendo incluir todos los flags que
encontrarán varios conjuntos de valores para # mount -t proc none /mnt/gentoo/proc puedan, tanto positivos como negativos
ellas. Les recomiendo que usen los valores de ‘big (si indicamos el signo – antes de un flag,
optimizations’ si están dispuestos a arriesgar Y, finalmente, chrooteamos al nuevo entor- le estamos diciendo a Portage que, siem-
que algo salga mal y tener que recompilar todo; no, con los siguientes comandos: pre que no se afecte la funcionalidad de
pero si quieren asegurarse de que todo ande bien, un paquete, se excluya el soporte para di-
busquen las optimizaciones para su máquina en # chroot /mnt/gentoo /bin/bash cha característica). No se preocupen por
el link ‘gentoo 1.4’. Habiendo seleccionado los va- # env-update negar de más, ya que no se pierde nada
lores correctos para las variables, debemos colo- # source /etc/profile ni se rompen dependencias. Pueden ha-
carlos en el archivo ‘/etc/make.conf’, para lo llar una lista de los flags de USE en
cual utilizaremos el editor que viene por defecto Felicidades, jóvenes Padawan, están aho- www.gentoo.org/doc/en/handbook/
en el instalador de Gentoo. Se trata de nano, una ra en su futuro sistema Gentoo, pero no handbook-x86.xml?part=2&chap=2.
versión reducida de Pico, otro editor del ámbito de crean que hemos terminado, como diría Para el sistema de ejemplo, los flags
los Unixes (en mi opinión, apesta, pero hay que Morpheus “Far from it!”. Lo siguiente es que usé fueron:
aguantar un ratito hasta poder compilar el vi to- actualizar el árbol de Portage. Para los cu-
davía). Iniciamos el editor con: riosos que se pregunten: “¿No acabamos USE=”-qt gtk gtk2 -kde gnome cdr
de hacerlo?”, déjenme decirles que el -dvd nvidia -3dfx”
# nano -w /mnt/gentoo/etc/make.conf snapshot que bajaron de Portage era eso,
justamente, un snapshot; es decir, pueden Con esto digo que tengo una placa de
Y el archivo nos quedaría de la siguiente for- haberse realizado cambios en el árbol de video NVIDIA, que quiero soporte para
ma, si estamos compilando Gentoo en un k6, Portage desde la creación del snapshot que grabación de CDs, doy preferencia a las
que es la máquina de pruebas: estamos usando. Así que no pregunten librerías gtk y gtk2 en los programas que
más y ejecuten el siguiente comando: soporten ésas y las qt, y que mi maneja-
CHOST=”i586-pc-linux-gnu” dor de escritorio será GNOME. No crean
CFLAGS=”-march= # emerge sync que por poner estos flags se instalará
k6-2 -O3 -pipe -fomit-frame-pointer” GNOME ni los drivers de NVIDIA, sino que
CXXFLAGS=”${CFLAGS}” Hemos llegado al momento de configu- sólo se preferirá soporte para ellos en
MAKEOPTS=”-j2” rar la variable tal vez más importante caso de que algún programa que se
LDFLAGS=”-Wl,-O1” de un sistema Gentoo: USE. Su impor- compile los use sobre otras opciones.
tancia radica en que, según los valores Cuando terminamos de actualizar el ár-

36 que contenga, moldeará el sistema que bol de Portage, estamos listos para

usr★linux
32-40-Distribuciones-L11.qxd 6/8/05 11:43 Page 37

distribuciones
“bootstrapear” el sistema. Este proceso
compila la librería GLIBC, el GCC y otra -e (—emptytree): indica a Portage que
serie de programas fundamentales para compile el paquete y todas sus depen- que elegir entre las varias opciones de kernel
utilizar y compilar correctamente otros dencias desde cero. Normalmente, sólo existentes en Gentoo, de la Tabla 3; noten que
programas en nuestro sistema. Para que se compila otra vez el paquete. Al indi- los primeros tres kernels están soportados por
comience el bootstrap, nos dirigimos al car que se compilen todas las depen- el equipo de desarrollo de Gentoo, mientras
directorio /usr/portage e ingresamos: dencias del system, lo que hacemos es que los demás no, sino que son provistos co-
recompilar todos los paquetes instalados mo cortesía a la gente que los mantiene. No-
# scripts/bootstrap.sh con nuestro gcc y glib personalizados. sotros utilizaremos las fuentes de Gentoo:

Opcionalmente, podemos descargar todos -p (—pretend): indica la lista de pa- # emerge gentoo-sources
los archivos necesarios antes de iniciar el quetes por compilar, pero no lleva a ca-
bootstrap, mediante el comando: bo la acción. Es ideal para ejecutar an- Ahora vamos al directorio /usr/src y creamos un
tes de compilar cualquier paquete cuyas link simbólico al directorio donde se han instala-
# scripts/bootstrap.sh -f dependencias desconozcamos, y así evi- do las fuentes de nuestro futuro kernel, borrando
tar que un editor de texto para KDE nos el directorio /usr/src/linux, si es que existe:
Luego, ejecutamos el bootstrap con el instale todo KDE por sus dependencias
mismo comando, pero sin el ‘-f’. Ahora en un sistema GNOME, por ejemplo. # rm /usr/src/linux
es el momento de la instalación en el # ln -s /usr/src/linux-2.6.11-gentoo-r6 /usr/src/linux
que deberán buscar algo para matar el -f (—fetchonly): descarga todos los
tiempo, como leer otras excelentes notas fuentes necesarios para compilar la apli- Entramos en el directorio del kernel (/usr/src/
de esta revista, ya que el proceso de cación en cuestión, pero no los compila. linux) y ejecutamos los comandos siguientes
bootstrap puede durar varias horas (en Es ideal para bajar todos los archivos y para poder configurar el kernel:
el equipo de pruebas tomó seis horas, cerrar la conexión a Internet durante el
para que se den una idea). proceso de compilación, por seguridad. # make menuconfig
Una vez que termina, procedemos a
compilar todos los paquetes del sistema Ah, me olvidaba, a buscar otro entrete- A continuación, configuramos las opciones que
base que no sean optativos (recuerden nimiento, porque tenemos unas cuantas deseemos de nuestro kernel. Aquí les listo aque-
que “Gentoo es todo sobre elecciones”), horas de compilación por delante (siste- llas cosas que no deben olvidarse de incluir:
utilizando el Glib y el Gcc personaliza- ma destino: 19 horas).
dos que obtuvimos en el bootstrap. Previa instalación del kernel, debemos con- Code maturity level options —->
Todo esto que he dicho se hace, simple- figurar la zona horaria de nuestro sistema [*] Prompt for development and/or incomplete
mente, con el comando: o timezone, para lo cual creamos un link code/drivers
simbólico en /etc/localtime apuntando a la (Necesario para que aparezcan todos los drivers
# emerge -e system zona horaria correspondiente a la nuestra. en la lista de selección)
El listado de archivos con las zonas ho- Processor type and features —->
Hay un par de opciones, como ver la lista rarias está en el directorio /usr/share/ (K6/K6-II/K6-III) Processor family
de paquetes que se compilarán (por curio- zoneinfo. Por ejemplo, para setear la zo-
sidad nomás, che!), con el comando: na horaria a Córdoba, Argentina, ejecu- Aquí elegí el procesador del sistema destino:
taríamos el comando:
# emerge -ep system | less File systems —->
# ln -sf /usr/share/zoneinfo/America/Cordoba Pseudo Filesystems —->
Noten que hemos redireccionado la sali- /etc/localtime [*] /proc file system support
da del emerge hacia less, ya que la lista [ ] /dev file system support (OBSOLETE)
de aplicaciones por compilar puede ser Una vez instalado el stage 3 (lo que [*] Virtual memory file system support
bastante larga. Otro comando intere- acabamos de hacer), procedemos a (former shm fs)
sante permite descargar primero las compilar el kernel. El Gentoo-Handbook
fuentes necesarias antes de compilar- propone usar una herramienta llamada Estas opciones son necesarias para que fun-
las, como hicimos con el bootstrap: genkernel, pero en la práctica, la dife- cionen el /proc y el sistema de archivo virtual
rencia de performance que he obtenido tmpfs. Vuelvo a recordarles que no olviden
# emerge -ef system entre un kernel compilado a mano con compilar el soporte para el sistema de archi-
respecto a uno compilado con genkernel vos con el que formatearon sus particiones en
Para los curiosos, aquí resumo el signi- es tal, que no mencionaré más dicha el kernel, directamente y no como módulos, o
ficado de los parámetros de emerge; va- herramienta en esta nota. Para compilar no podrán bootear.
yan familiarizándose con ellos, ya que nuestro futuro kernel, lo primero que de-
serán sus fieles amigos durante todo su bemos hacer es descargarlo (elemental,
matrimonio con Gentoo:

usr★linux
mi querido Watson). Pero antes tenemos

37
32-40-Distribuciones-L11.qxd 6/8/05 11:43 Page 38

distribuciones
indica que el sistema de archivos no se debe
Device Drivers —-> durante el arranque, en el archivo ‘/etc/ montar por defecto al inicio.
ATA/ATAPI/MFM/RLL support —-> modules.autoload.d/kernel-2.6’. Pode- El siguiente set de archivos por configurar corres-
[*] Generic PCI bus-master DMA support mos ver los que se han compilado para ponde a la red. Primero, el nombre de la máquina:
[*] Use PCI DMA by default when available el nuevo kernel mediante el comando:
# echo k6-2 >> /etc/hostname
Esto activa el soporte Ultra DMA. # find /lib/modules/2.6.11-gentoo-r6/
Si necesitamos conectarnos a Internet -type f -iname ‘*.o’ -or -iname ‘*.ko’ Luego, el nombre de dominio (si tenemos alguno):
vía ADSL con la máquina en la que es-
tamos instalando Gentoo, incluimos las CONFIGURANDO EL SISTEMA # echo users.lnx >> /etc/domainname
siguientes opciones: Ya estamos llegando al final de la cons-
trucción de nuestro sistema, así que, Por último, indicamos que el domainname se de-
Device Drivers —-> ¡ánimo y adelante! be cargar al inicio con el comando rc-update:
Networking support —-> El primer archivo que tenemos que con-
<*> PPP (point-to-point protocol) support figurar es /etc/fstab, que contiene el # rc-update add domainname default
<*> PPP support for async serial ports listado de puntos de montaje, así como
<*> PPP support for sync tty ports varias opciones indicando qué sistemas Editamos luego el archivo /etc/conf.d/net, pa-
de archivos se deben montar durante el ra setear la configuración de red, todo en el
Y, por último, si tenemos un mouse o te- arranque del sistema. A continuación, mismo archivo:
clado USB, las siguientes opciones no copio el contenido del fstab del sistema
deben faltar en nuestro kernel: destino, y luego explicaré qué significan Para DHCP:
las opciones principales:
USB Support —-> iface_eth0=”dhcp”
<*> USB Human Interface Device /dev/hda1 /boot ext3 defaults,noatime 1 2 # Si nuestro servidor DHCP requiere un nombre
(full HID) suppor /dev/hda5 none swap sw 0 0 de dominio debemos colocar la siguiente opcion:
/dev/hda6 / ext3 noatime 0 1 dhcpcd_eth0=”-HD”
Además de las opciones citadas, es ne- /dev/hda7 /home ext3 noatime 0 1
cesario que todas las características pa- /dev/hda8 /varext3 noatime 0 1 Para configuraciones estáticas de IP:
ra bootear se compilen en el kernel y no /dev/hda9 /usr/portage/
como módulos, ya que en caso contrario, distfilesext3 noatime 0 1 iface_eth0=”<ipdemimaquina> broadcast
será imposible bootear. Una vez que ha- <ipdebroadcastdelared> netmask <mascaradered>”
yamos terminado de configurar el kernel, none /proc proc defaults 0 0 gateway=”<ipdelgatewaydered>”
compilamos con los siguientes coman- none /dev/shm tmpfs nodev,nosuid,noexec0 0
dos (30 minutos en el sistema destino): Para rp-pppoe, es decir, ADSL:
/dev/cdroms/cdrom0/mnt/
# make all && make modules install cdromautonoauto,user0 0 iface_eth0=”up”
/dev/fd0/mnt/floppyautonoauto,user0 0 ahora agregamos la red al runlevel por defecto:
Cuando finalice el proceso, copiamos el
kernel, el System.map y el archivo con El primer campo indica el dispositivo o # rc-update add net.eth0 default
nuestra configuración a /boot: partición que se va a montar; el segun-
do, el punto de montaje en el /; el terce- Si deseamos agregar mapeos estáticos de
# cp /usr/src/linux/System.map /boot ro, el tipo de sistema de archivos: si po- hostnames a Ips, lo podemos hacer en el ar-
# cp /usr/src/linux/arch/i386/boot/bzImage nemos auto, los detecta automática- chivo /etc/hosts. El siguiente ejemplo corres-
/boot/kernel-2.6.11-gentoo-r6 mente (la lógica es inexorable a las 4 ponde a la red de la empresa donde trabajo:
# cp /usr/src/linux/.config /boot/ de la mañana); y el cuarto, quinto y sex-
config-2.6.11-gentoo-r6 to contienen las opciones que se deta- 127.0.0.1localhost
llan a continuación. Noatime se usa pa- 192.168.0.1servidor
Si necesitamos usar algún módulo es- ra que no se registren los tiempos de 192.168.0.10grosspoliner
pecial, como los drivers de NVIDIA para acceso a los archivos, lo cual mejora la 192.168.0.20k6-2
audio o video, o los de video de ATI, éste performance del sistema de archivos en
es el momento de hacerlo. En la Tabla 4 cuestión; los dos números del último El próximo paso es configurar la contraseña
hay una lista de estos drivers. campo son para dump (dejar en 0 salvo de root. Basta con ejecutar el comando
Para finalizar la compilación de nuestro para boot) y para fsck, siendo 0 para no passwd y, luego, ingresar dos veces la nueva
kernel, agregamos los módulos que de- chequear, 1 para la partición root y 2 clave de root.
seamos que se carguen automáticamente para el resto de las particiones; noauto El último archivo de importancia es /etc/rc.conf.
Léanlo bien, ya que está muy bien comentado

38 y explica la función de cada opción.

usr★linux
32-40-Distribuciones-L11.qxd 6/8/05 11:43 Page 40

distribuciones
Les dejo, como ejemplo, el archivo del sistema des- Ahora sí, la llegada ya está cerca; falta No olviden crear usuarios normales para
tino, sin los comentarios, para ahorrar espacio: configurar el cargador de arranque y esta- el uso cotidiano. ¡Y bienvenidos al mun-
remos listos para reiniciar en nuestro fla- do de la eficiencia!
KEYMAP=”es” mante y optimizado sistema Gentoo Linux.
SET_WINDOWKEYS=”no” Podemos elegir entre LILO o GRUB para ¡FINALMENTE TENEMOS
CONSOLEFONT=”default8x16” arrancar el sistema. Los dos funcionan NUESTRO GENTOO!
CLOCK=”local” bien: LILO, aparentemente, caerá en desu- Ahora podemos empezar a compilar aque-
EDITOR=”/usr/bin/vim” so a merced de GRUB, pero no vamos a de- llas aplicaciones que deseemos tener en
PROTOCOLS=”1 2” satar guerras religiosas en estas páginas. nuestro sistema. Recuerden usar el pará-
DISPLAYMANAGER=”gdm” Yo elegí LILO porque me parece más senci- metro ‘-p’ de emerge para ver las depen-
XSESSION=”Gnome” llo de configurar. Lo primero es emergerlo: dencias de los paquetes antes de instalar-
los efectivamente. Los dejaré aquí nomás,
Como verán, he configurado gdm como gestor # emerge —usepkg lilo para que investiguen por su cuenta, pero si
del display y GNOME con escritorio, para emer- tienen interés y envían un mail pidiéndolo,
gerlos más adelante. Ahora pasaremos a ins- El parámetro usepkg le indica a emerge en próximos números de la revista iremos
talar herramientas básicas para nuestro siste- que utilice el paquete precomplilado de explicando cómo usar efectivamente las
ma, como un logger, el locate y demás; así LILO, para trabajar con más velocidad. herramientas de Gentoo como los coman-
terminamos con la instalación básica. Luego de que esté instalado, resta con- dos emerge, bash-completion, gentoolkit,
figurar el archivo /etc/lilo.conf para que gentoolkit-dev y otros.
INSTALAR APLICACIONES arranque el kernel que habíamos confi- Todo el proceso de instalación aquí des-
FUNDAMENTALES gurado antes. Si quieren documentarse cripto nos deja un sistema sin aplicaciones
Para terminar con la instalación de Gentoo, más sobre las opciones de este archivo, de escritorio, sin vi, sin mc, sin GNOME, sin
emergeremos algunas aplicaciones muy impor- pueden consultar la página del manual KDE, es decir, pelado. Para ir instalando
tantes, para las que tenemos varias opciones. escribiendo ‘man lilo.conf’. Le dejo el las aplicaciones de uso cotidiano, prueben
Empecemos con la facilidad de manejo de ar- ‘/etc/lilo.conf’ de la máquina destino: con el comando emerge -s nombreapp,
chivos de bitácora (logger, para los amigos). donde -s indica que se realice una búsque-
Podemos elegir entre: boot=/dev/hda # Instalar lilo en el MBR da del nombreapp en el árbol de Portage.
prompt # Mostrar el prompt para elegir Revisando los resultados de esa búsqueda,
sysklogd: el clásico demonio de logueo de casi que kernel bootear encontrarán los nombres exactos de los
todas las distros. timeout=50 # Esperar 5 segundos antes paquetes por instalar, quitando el -s de
syslog-ng: sistema avanzado de logueo. de arrancar la opcion por defecto emerge. Además, no olviden que Gentoo
metalog: es un sistema bastante liviano y default=gentoo # Opcion por defecto para calcula e instala las dependencias de la
muy configurable; yo lo instalaré. arrancar al final de los 5 segundos aplicación solicitada automáticamente, por
lo que si ingresan, por ejemplo, ‘emerge
# emerge metalog image=/boot/kernel-2.6.11-gentoo-r6 mozilla-firefox’, automáticamente se insta-
# rc-update add metalog default label=Gentoo # Etiqueta del kernel larán xorg-x11, las librerías gtk2 y quién
read-only # No pregunten, es asi nomas! sabe cuántos paquetes más. En una próxi-
Ahora emergeremos un demonio cron para po- root=/dev/hda6 # Partición donde esta el raiz ma nota, indicaré cómo terminar de cons-
der programar tareas rutinarias en nuestro sis- truir un sistema de escritorio acorde con
tema. Las opciones disponibles son dcron, Luego de editar el archivo, ejecutamos LI- los USE flags aquí descriptos.
fcron o vixie-cron; yo usaré vixie-cron, ya que su LO y, si no hay errores, estaremos listos Al fin, aquellos valientes que hayan sopor-
instalación implica sólo emergerlo, mientras para reiniciar. Con los comandos que se tado la lectura de este artículo, y hayan lle-
que para los demás, tenemos que configurar el indican a continuación, salimos del entor- vado a cabo los pasos explicados, estarán
archivo /etc/crontab. no chroot y desmontamos las particiones entre el pequeño grupo de personas que
correctamente para no perder datos. Es pueden jactarse de tener su sistema opti-
# emerge vixie-cron importante que desmonten manualmente mizado al máximo para su hardware. A
# rc-update add vixie-cron default las particiones que usaron durante la ins- partir de ahora, lo que hagan con su má-
talación, para evitar pérdidas de datos: quina dependerá de ustedes. Noten que
A continuación, emergeremos el comando locate, deben cuidar muchísimo su sistema, ya
que el handbook de Gentoo cataloga como opcio- # exit que, a menos que hagan backup de todas
nal, pero les aseguro que si lo usan una vez al # umount /mnt/gentoo/proc sus particiones, si llegan a dañar irrepara-
menos, se volverá obligatorio para ustedes, como # umount /mnt/gentoo/usr/portage/distfiles blemente Gentoo, deberán pasar otra vez
lo ha sido para mí. El siguiente comando bastará: # umount /mnt/gentoo/var por los tres días de compilación. Créanme
# umount /mnt/gentoo/home que vale la pena el esfuerzo, ya que, con el
# emerge slocate # umount /mnt/gentoo/boot uso diario, notarán la velocidad que tie-
# umount /mnt/gentoo ne este sistema con respecto a otras

40 # reboot distros. ★ Marcos Gabriel Ibañez

usr★linux
42-45-Shell-L11.qxd 6/17/05 4:40 PM Page 42

shell
GESTION DE PAQUETES DE APLICACIONES

URPMI
EN LA EDICION ANTERIOR DE LA REVISTA, COMENTAMOS
UN POCO SOBRE YUM, UNA HERRAMIENTA PARA INSTALAR
PAQUETES RPM AUTOMATICAMENTE VIA INTERNET.
EN ESTA OCASION, VEREMOS UNA HERRAMIENTA
SIMILAR QUE CREO LA GENTE DE MANDRAKE SOFT
PARA SU DISTRIBUCION MANDRAKE LINUX.
COMO DEBEN IMAGINARSE, SE LLAMA URPMI.
RPMI le simplificará la vida a más TRABAJAR EN MODO TEXTO

U de un usuario, porque es muy esta-


ble y fácil de usar. Se puede traba-
jar desde modo texto o desde el
MCC (Mandrake Control Center), con una interfaz
Veamos primero cómo trabajar en modo texto.
Si bien desde mi punto de vista es mejor el modo gráfico, para esta aplicación no
podemos dejar de lado la parte de texto, porque a aquellos que tengan un servidor
con sólo este modo, esto le servirá bastante. Los comandos principales de este sis-
gráfica muy sencilla e intuitiva. Empecemos con la tema son los siguientes:
acción y veamos cómo trabaja.
urpmi: instala un paquete
¿QUE HACE URPMI? urpme: desinstala un paquete
Básicamente, lo que hace es llevar una lista urpmq: consulta sobre la existencia de un paquete
de medios (repositorios HTTP o FTP, CDs, di- urpmf: busca archivos dentro de los paquetes
rectorios) en donde hay paquetes RPM. El sis- urpmi.addmedia: agrega un nuevo medio de instalación
tema guarda información variada de los me- urpmi.removemedia: elimina un medio ya instalado
dios, y ya veremos cómo configurarlos. Cuan- urpmi.update: actualiza la lista de paquetes disponible en un medio
do deseamos instalar un nuevo paquete, pri-
mero consultamos por él. El programa lo bus- AGREGAR MEDIOS
ca junto con sus dependencias, por si no las Por predefinición, en mi caso al menos, el sistema trae configurados sólo los CDs de
tenemos instaladas. Si paquete y dependen- instalación de la distribución. Pero para alcanzar el verdadero potencial de la herra-
cias están en la lista de medios configurados, mienta, debemos tener la mayor cantidad de medios posible, así que vamos a agregar
nos da una respuesta afirmativa; en caso otros a la lista, usando urpmi.addmedia.
contrario, nos dice que no encontró nada o Existe una manera fácil de hacerlo: podemos entrar en la página de URPMI
que faltan dependencias. Supongamos que (http://easyurpmi.zarb.org) y completar un formulario que nos preguntará qué ver-
todo marchó bien y que deseamos instalar el sión de la distro tenemos. Aquí notarán que los medios se dividen en varias clases,
paquete. Se lo decimos a la aplicación y ésta dependiendo del tipo:
calcula las dependencias. Si el paquete esta-
ba en un repositorio, lo baja a nuestra máqui- ★ Contrib: incluye los paquetes no estándar de la distro, cosas adicionales de gente
na; en caso de que esté en un CD, nos pide que colabora.
que lo insertemos.
Pueden notar que su funcionamiento no es pa- ★ Main: paquetes estándar de la versión de la distribución elegida.
ra nada complicado y que, además, es bastan-
te más grande que YUM, dado que podemos ★ Update: actualizaciones oficiales de la versión elegida.
adquirir paquetes de varios medios, además
de un repositorio. ★ jpackages: paquetes varios para Java.

42 usr★linux
42-45-Shell-L11.qxd 6/17/05 4:40 PM Page 43

shell
Después pide que seleccionemos los mirrors, ftp o http, que queramos para la lista, pa- Como pueden ver, la aplicación avisa que le fal-
ra cada clase de medio. Les recomiendo los de USA o Francia. tan dependencias y que la instalación ocupará,
Una vez que terminamos de completar todo, hacemos clic en el botón “ir al paso tres”, en total, 16 MB. Pregunta qué deseamos hacer,
y la página generará los comandos que debemos ingresar en la consola para incorporar respondemos S y comienza el proceso. Listos pa-
los medios elegidos. Eso fue fácil, ¿no? ra jugar. Cuando se cansen y quieran desinstalar
En caso de no confiar en la página, podemos hacerlo nosotros solos. Nos fijamos en la el programa, usen urpme del siguiente modo:
lista de medios de la página y elegimos uno. Cuando lo hacemos, ingresamos el si-
guiente comando en una consola, como root: # urpme kdegames
quitando kdegames-3.1.3-12mdk.i586
# urpmi.addmedia [nombre_del_medio] [URLdel medio]
ACTUALIZAR Y ELIMINAR MEDIOS
Donde nombre_del_medio es un nombre que elegimos para identificar al medio, y Como ya comenté, esta aplicación guarda in-
URLdelmedio es la dirección completa del repositorio escogido en la página. En el formación de los medios que tenemos configu-
ejemplo, agregaré un ftp brasileño: rados en la lista, entre ella, los paquetes que
tiene. En el caso del CD, no hay problema, por-
# urpmi.addmedia Repositorio1 ftp://mirror.fis.unb.br/pub/linux/Mandrakelinux/officia que éste no cambiará nunca su contenido. Pe-
l/2005/i586/media/main ro los repositorios FTP y HTTP se modifican
constantemente, así que deben actualizar la
En caso de que tengamos un CD con RPMs o queramos usar, por ejemplo, una versión lista con los paquetes del medio. Para facilitar
anterior de Mandrake, podemos usar el mismo comando, pero, en vez de la URL, pone- esta tarea, existe el comando urpmi.update, al
mos el punto de montaje del CD e insertamos el CD antes de ingresar el comando. En cual sólo hay que pasarle el nombre del medio
mi caso, por ejemplo, quiero agregar el CD2 de Mandrake 9.2 desde mi lectora de CD, por actualizar. Veamos un ejemplo con el FTP
que está en /mnt/cdrom: brasileño que añadimos antes; a este medio lo
llamamos Repositorio1, y el comando para
#urpmi.addmedia mdk9.2CD2 /mnt/cdrom actualizarlo sería el siguiente:

“URPMI LE SIMPLIFICARA #urpmi.update Repositorio1


LA VIDA A MAS DE UN USUARIO, PORQUE ES En caso de que el medio sea dado de baja o,
MUY ESTABLE Y SIMPLE DE ADMINISTRAR”. simplemente, ya no deseen utilizarlo más,
pueden eliminarlo de la lista mediante urpmi-
INSTALAR Y DESINSTALAR PAQUETES .removemedia:
Buscaremos ahora los paquetes disponibles para instalar Apache, para lo cual usamos
el comando urpmq. Si ponemos urpmq a secas, sólo nos devolverá el nombre, sin la #urpmi.removemedia Repositorio1
versión del paquete. Para saber la versión, debemos añadir el parámetro -r. Vamos a
buscar kdegames: DESDE EL MCC
Los viejos usuarios de Mandrake recordamos
# urpmq -r kdegames los días en que esta distro era tan parecida a
kdegames-3.2.3-9mdk|kdegames-3.1.3-12mdk|kdegames-3.3.2-8mdk RedHat, que hasta tenía el clásico setup para
hacer todas las cosas. Hasta que un día apa-
Como pueden ver, tengo tres versiones entre todos mis medios. Yo elegí instalar la más reció el MCC, “el panel de control”, una exce-
chica. Para hacerlo, usamos urpmi, de la siguiente manera: lente herramienta que nos permite configurar
nuestro sistema de una forma sencilla y rápi-
# urpmi kdegames-3.1.3-12mdk da. Como no podía ser menos, también nos da
la posibilidad de manejar los paquetes del
Para satisfacer las dependencias, se instalarán los dos paquetes siguientes (16 MB): sistema de una manera intuitiva, desde la
kdegames-3.1.3-12mdk.i586 sección Administración de software. El bac-
libkdegames1-3.1.3-12mdk.i586 kend de esta linda interfaz para instalar y de-
¿Está todo bien? (S/n) s sinstalar es URPMI. Al entrar en el MCC selec-
instalando /mnt/cdrom/Mandrake/RPMS2/libkdegames1-3.1.3-12mdk.i586.rpm cionamos Administración de software; apare-
/mnt/cdrom/Mandrake/RPMS2/kdegames-3.1.3-12mdk.i586.rpm cerá esta pantalla:
Preparando... ##################################################
1:libkdegames1 ##################################################
2:kdegames

usr★linux 43
42-45-Shell-L11.qxd 6/17/05 4:40 PM Page 44

shell
Como pueden ver, están las opciones para actualizar, instalar
y desinstalar paquetes. Veamos cómo manejarlas.

Manejar medios
Primero entramos en Administración de Soportes, y veremos
una pantalla como la de la Figura 2.

Como pueden notar, la lista muestra todos los medios instala-


dos. Tienen un Check Box a su izquierda para habilitarlos o
deshabilitarlos en caso de que no queramos usarlos durante
un tiempo. A la derecha están la acciones para los medios:
quitarlos, actualizarlos, editarlos y varias más.
La que veremos es cómo añadir un medio desde la interfaz
gráfica. Para hacerlo, cliqueamos en Argregar y aparecerá
una pantalla como la de la Figura 3.

Aquí deberemos seleccionar qué tipo de medio es y, luego,


completar las opciones. En todos los cuadros se nos pedirá la
FIGURA 1. CENTRO DE CONTROL DE PAQUETES DE MANDRAKE LINUX. dirección del archivo syntesis.hdlist, que contiene la lista de
paquetes del medio. Si no la ponemos, la buscará automáti-
camente; les recomiendo dejarla en blanco.
En caso de ser un FTP o HTTP, pregunta:

★ Nombre elegido para el medio


★ La URL
★ Nombre de usuario y contraseña (sólo FTP)

La otra opción es Archivos locales o Dispositivo Removibles


(CD, PendDrive, Zip). En ella nos pide:

★ Nombre elegido para el medio


★ Ruta absoluta desde la raíz (para archivos locales) o pun-
to de montaje (para los dispositivos removibles).

Al aceptar, comenzará el proceso para añadir el medio; si to-


do sale bien, confirmará la operación. En caso de querer eli-
minar un medio, sólo tendremos que seleccionarlo y hacer
clic en Quitar.
FIGURA 2. CON EL ADMINISTRADOR DE SOPORTES PODREMOS
SELECCIONAR LAS FUENTES DE PAQUETES DE INSTALACION. INSTALAR PAQUETES
Para instalar paquetes, vamos a la sección Administración
de Software y cliqueamos en Instalar paquetes. Aparecerá
una pantalla como la de la Figura 4.
Una vez aquí, podemos buscar los paquetes que deseemos
instalar. Los resultados de la búsqueda aparecerán en la par-
te inferior izquierda. En caso de encontrar paquetes, los lista-
rá en el lugar ya mencionado, cada uno de ellos con un check
box que lo precede; si queremos instalarlo, lo marcamos. La
herramienta buscará las dependencias y, si no las tiene, avi-
sará cuáles son las que faltan. Si aceptamos que se instale
FIGURA 3. AGREGANDO UNA FUENTE DE PAQUETES. todo, se marcarán todos los paquetes. En la parte derecha se
muestra información importante del paquete, como qué es, la
versión, el tamaño, el medio de donde lo sacará y una des-
cripción. Para finalizar, hacemos clic en Instalar y se iniciará

44 el show. Cuando todo termine, avisará si se pudo finalizar la

usr★linux
42-45-Shell-L11.qxd 6/17/05 4:40 PM Page 45

shell

QUITAR PAQUETES
La pantalla para desinstalar paquetes en idéntica a la de
instalar, pero en este caso, las búsquedas son sólo para pa-
quetes instalados, lógico, ¿no? Lo que se hace aquí es es-
cribir el nombre del paquete que queremos buscar, y los re-
sultados se mostrarán en la parte inferior izquierda. Una
vez identificado el paquete que vamos a desinstalar, lo se-
leccionamos marcando el check box correspondiente y, por
último, presionamos Quitar. Ahora ya está todo listo para
desinstalarlo y el sistema se encargará de eliminar los ar-
chivos correspondientes.

FINALIZANDO
Bueno, amigos, espero que esta explicación les facilite su
trabajo cotidiano. No he visto este sistema corriendo en otra
distro que no sea Mandrake, pero si son usuarios de ésta, no
dejen de usarlo, es excelente. Los repositorios son muy bue-
FIGURA 4. PANEL DE INSTALACION DE PAQUETES DE MANDRAKE LINUX. nos, y se pueden conseguir fácilmente los últimos paquetes
actualizados. No dejen de visitar la página de URPMI, eas-
instalación o no, y estará listo para instalar otra cosa. yurpmi.zarb.org, donde encontrarán mucha ayuda a la hora
Les aviso de antemano que las búsquedas realizadas aquí son sólo para paquetes no de elegir repositorios. Nos vemos en la próxima.
instalados; si el paquete ya está, la búsqueda no devolverá nada. ★ Agustín Casiva

Ahora, Cursos de
s > Operación básica
llegamo > Servicios de red
a todo > Samba
ta
el plane > Apache
> Programación en PHP
> Firewalls

CARRERA LINUX 2005


Incluye las materias:
> Operación del sistema
> Programación en PERL
> Servicios de red
> Seguridad
> Metodologías de desarrollo

INFORMES E INSCRIPCION
www.linuxadistancia.com
info@linuxadistancia.com

usr★linux
48-49-En el CD-L11.qxd 6/8/05 12:58 Page 48

cd-rom
UNA DISTRIBUCION QUE ESTA
CAUSANDO ESTRAGOS

EN EL CD DE ESTE MES, INCLUIMOS LA


ULTIMA VERSION DE UNA DE LAS CONOCIDAS
COMO “NUEVAS DISTRIBUCIONES”, QUE ESTA
Ubuntu 5.04
LLAMANDO LA ATENCION DE TODA LA
COMUNIDAD DEL SOFTWARE LIBRE.

i existe una distro hoy en día que

S está dando mucho que hablar, es


Ubuntu. Con el lanzamiento de la
versión 5.04, alcanzó rápidamen-
te el puesto número 1 de Distrowatch, supe-
rando a Mandrake (ahora Mandriva), que
durante mucho tiempo fue líder indiscutido
en este ranking.
Muchos se deben estar preguntando cómo
llegó a tener tanta repercusión. La opinión
más difundida es que esto se debe a su cui-
dadosa selección de paquetes y a la fecha
predecible de lanzamiento de nuevas versio-
nes. Yo agregaría el hecho de que es envia-
da por correo en forma gratuita a quien la
solicite, a que hay una gran comunidad de
usuarios y, por sobre todas las cosas, a la
facilidad de instalación de nuevos progra-
mas. Este último tema ya no es patrimonio
de los gurúes: ahora cualquiera puede elegir APENAS BOOTEAMOS CON EL CD DE UBUNTU PUESTO EN LA LECTORA, SE
el programa desde una interfaz gráfica PRESENTA ESTA BONITA PANTALLA DE BIENVENIDA.
(Synaptic) y, automáticamente, se descargará
e instalará. En USERS Linux #02 comentamos nos servirá para saber qué esperar la próxima vez que actualicemos. ¿Cuál es la no-
un sistema similar: Click’N Run (CNR), de vedad? A diferencia del resto de los sistemas operativos, no hay que actualizar el
Linspire. La diferencia es que Ubuntu es gra- sistema completo, sino sólo los componentes que hacen falta, usando el mismo pro-
tuito, mientras que la suscripción a CNR cedimiento que se aplica para actualizar paquetes individuales. En la práctica, sólo
cuesta U$S 49,90 al año. Ambos sistemas no es cuestión de cambiar el repositorio principal y, luego, pedir al gestor de paquetes
son más que interfaces gráficas de APT-GET, que haga la actualización, que se realizará usando el nuevo repositorio. En mi ac-
el sistema de instalación de Debian, en el tualización, perdí la configuración del teclado (pasó de US w/dead keys a US). Otra
que se basan ambas distribuciones. víctima colateral fue el sonido de los DVD, de los archivos QuickTime y Flash. Estos
problemas fueron solucionados siguiendo, paso a paso, las instrucciones que están
INSTALACION Y ACTUALIZACION en www.ubuntulinux.org/wiki/SoundProblemsHoary.
Normalmente, comienzo a describir una dis-
tribución haciendo mención al proceso de ¿QUE HAY DE NUEVO?
instalación. Pero esta vez no será así, por- Con respecto a las versiones anteriores, como primera mejora, el proceso de inicio es no-
que esta etapa fue comentada recientemen- tablemente más rápido y “prolijo”, ya que no hay tantos carteles incomprensibles. Sigue
te (en el número #07) y no hay diferencias siendo un arranque en “modo texto”, pero de todos modos entré en GNOME rápidamente.
sustanciales. Sí creo conveniente dedicar Existen algunas variaciones en el entorno gráfico que le dan al nuevo Ubuntu un as-
unas palabras a la actualización, debido a pecto más moderno y amigable. Se agregó un menú en la barra superior, llamado
que puede ser un proceso novedoso para Places (lugares), desde donde tenemos acceso a nuestros discos, recursos de redes,
quienes nunca han usado Debian; también documentos recientes y a la herramienta de búsqueda de archivos. Por lo tanto, aho-
ra tenemos tres menúes en la barra superior: Aplicaciones, Lugares y Equipo.

48 usr★linux
48-49-En el CD-L11.qxd 6/8/05 12:58 Page 49

cd-rom

GNOME 2.10 y el kernel 2.6.10 son los principa-


les componentes que fueron actualizados. El
nuevo kernel tiene mejor reconocimiento de los
dispositivos USB (reconoció mi disco flash
Kingston DataTraveler, que no funcionaba de
manera automática en la versión anterior de
Ubuntu). El soporte para notebooks también
ha mejorado, con la posibilidad de hibernación
y el reconocimiento de pantallas anchas (wi-
descreen). Al igual que la versión anterior, un
punto que cabe criticar es la incapacidad de
reproducir archivos MP3 y DVD sin tener que
instalar programas adicionales. Si bien hay
(dudosos) fundamentos legales para que esto
sea así, el usuario hogareño espera escuchar
su música y ver sus videos sin más trámite.
El gestor de paquetes permite agregar nuevos
repositorios sin tener que editar manualmente
el archivo /etc/apt/sources.list. Otra nueva
opción es poder indicarle cuál es el método de
actualización predefinido. Así podemos, por
ejemplo, decirle que actualice usando los pa-
quetes de Hoardy (la versión actual) o los que
tengan el número de versión más alto posible.
Dado que el mismo concepto de usar un gestor
de paquetes para aplicar parches puede ser ESTE ES EL ESCRITORIO PRINCIPAL DE UBUNTU, CON EL SISTEMA DE CONFIGURACION
complejo para la mayoría de los usuarios, aho- DE FUENTES DE PAQUETES ABIERTO. UBUNTU INCLUYE MUCHISIMAS APLICACIONES,
ra hay un botón rojo al lado del reloj, que apa- A LAS QUE SE PUEDE ACCEDER DESDE EL MENU SUPERIOR.
rece cuando existe una actualización disponi-
ble. El sistema es similar al RHN de RedHat o ¿ES UBUNTU EL ELEGIDO?
al Windows Update de Microsoft. Ubuntu sufre los problemas que aquejan a todas las distribuciones de GNU/Linux: aplicaciones que
En caso de que el programa que queramos no responden de distinta manera a los mismos comandos, mensajes de error o de advertencia incom-
esté empaquetado para Ubuntu, seguramente prensibles para usuarios no programadores, errores de puntuación, ayudas con ilustraciones que no
podremos encontrar las instrucciones paso a se corresponden con la versión actual del programa y otras inconsistencias. Pero hay una diferen-
paso en http://ubuntuguide.org/. Así pude ins- cia: quienes hacen Ubuntu ya lo saben, y todo indica que harán algo al respecto. No será fácil, por-
talar Nvu, Multimedia Codecs y LimeWire que en la mayoría de los casos, los problemas están en programas de los cuales los miembros de
(cliente de P2P). Ubuntu no son los desarrolladores. Para evaluar la viabilidad y el futuro de la distribución, habría
Con respecto a los números de versiones de que considerar, también, su “modelo de negocios”. Ya dijimos en la nota anterior sobre Ubuntu que
los programas, es importante aclarar que hay un multimillonario que se encarga de financiar este emprendimiento. El plan, a largo plazo, es
Ubuntu compila sus propios paquetes, y los poder ofrecer soporte, especialmente a quienes brindan soporte local directo a los usuarios, una es-
números no siempre se corresponden con la pecie de “mayorista de soporte técnico”. Esto está generando una red internacional de soporte pago
numeración original. El Firefox incluido figura que a GNU/Linux le viene muy bien. La lista de empresas que dan soporte puede consultarse en
como 1.02, cuando, en realidad, es la versión www.ubuntulinux.org/support/supportoptions/marketplace/document_view. ★ Sebastián Bassi
1.02 con los parches de seguridad disponibles
al momento del lanzamiento; en la jerga esto se
denomina “back-port”. Por este motivo, cuando
salió la versión 1.03 con lo parches incluidos, ATENCION, LECTORES
no hubo necesidad de actualizar Firefox.
Recuerden que el CD sólo se incluye en las revistas entregadas por
suscripción. Quienes no estén suscriptos pueden descargar todo el
contenido del CD desde el sitio linux.tectimes.com.

usr★linux 49
50-52-X-Window KDE-L11.qxd 6/14/05 11:41 AM Page 50

xwindow
ANALIZAMOS LA ULTIMA VERSION DEL POPULAR MANEJADOR DE ESCRITORIOS

KDE 3.4
HACE UNOS POCOS MESES, VOLVIO A LA CARGA UNO DE LOS MANEJADORES
DE VENTANAS MEJOR DESARROLLADOS, QUE ESTA PASANDO UN GRAN
MOMENTO: NO SOLO INCORPORA NUEVAS UTILIDADES Y FUNCIONALIDADES,
SINO QUE HA MEJORADO NOTABLEMENTE SU ESTABILIDAD.

DE corre en casi to-

K dos los *nixes; yo lo


probé en Slackware
y en FreeBSD 5.x, y
funciona muy bien en ambos.
Creo que la desventaja de KDE,
en este momento de su desarro-
llo, es una sola: la cantidad de
recursos que consume. No es un
sistema liviano, ni funciona bien
en hardware viejo. En esos casos,
siempre habrá opciones mejores,
como blackbox o xfce.
Una de las cosas que implemen-
ta esta nueva versión de KDE es
el text-to-speech (texto-a-pala-
bra) integrado al visor de archi-
vos pdf (Kpdf), en el navegador
(konqueror) y en el editor Kate.
La integración con el resto de las
aplicaciones es buena, por lo que
podrá testearse con diferentes
aplicaciones de KDE. COMO PUEDEN VER, GRACIAS A SUPERKARAMBA, PODEMOS
No encontrarán grandes diferen-
CAMBIAR TOTALMENTE LA APARIENCIA DE KDE.
cias con los releases anteriores.
Al menos a primera vista, el Entre las mejoras destacadas en el sitio oficial de KDE (www.kde.org), vale resaltar la incorpora-
splash y el escritorio son muy si- ción de nuevos temas de alto contraste para usuarios que sufren problemas de vista.
milares. Hay algunas mejoras en Vuelvo a insistir en que la estabilidad es un punto muy importante de esta versión: olvidémonos
el aspecto visual, al haberse in- de las aplicaciones que morían misteriosamente, o de la inestabilidad propia de muchos progra-
corporado ciertos detalles: por mas. Ahora todo anda bien y se mejoró mucho en ese aspecto.
ejemplo, cuando apoyamos el La gente de KDE puso mucha atención a los desarrollos como KsayIt, que integran texto con voz,
puntero del mouse sobre algunos además de a varias opciones de accesibilidad. Aun así, es posible que lo antes expuesto no cu-
de los iconos de la Kbar, aparece bra nuestro espectro de necesidades, y que sólo queramos tener un manejador de escritorios que
un rectángulo muy bien logrado funcione bien para trabajar con varias terminales abiertas; o tal vez prefiramos apuntar a tener
que muestra el nombre y la des- un look & feel realmente impresionante. Pues ambas cosas pueden lograrse.
cripción del botón.

50 usr★linux
50-52-X-Window KDE-L11.qxd 6/14/05 11:41 AM Page 51

xwindow
Se desarrollaron algunas mejoras en lo que son, a mi gus-
to, algunas de las mejores aplicaciones de KDE: Kopete las cosas que puede manejar. Pueden remitirse al calenda-
(cliente msn, jabber, gadu-gadu, etc.), Kmail (cliente de rio gris que verán en la foto de mi desktop, que atestigua
mail), Korganizer (para manejarse con fechas, citas y lo antes expresado.
compromisos) y aKregator (que funciona muy bien como Otro punto interesante en lo que respecta a lo “visual” pa-
rss feeder). La mayoría de las aplicaciones de KDE 3.4 se ra KDE son los llamados improvements, algo así como me-
integran con Internet y con sitios relacionados al desarrollo. joras que desarrolladores independientes, o no, programa-
No vamos a profundizar en este último punto, ya que basta ron para él. Una de ellas, que también puede verse en el
con explorar las opciones que brindan las herramientas. screenshot, es una barra semitransparente al mejor estilo
Mac, llamada KsmoothDock. Si bien no aporta funcionalidad
UNA BUENA IMAGEN alguna, sí conduce a una mejora de imagen para aquellos
Para quienes quieran tener escritorios que dejen con la bo- que estén interesados. Como pueden ver, si a KsmoothDock
ca abierta a los amigos, voy a destacar algunas Apps que y a SuperKaramba le agregamos iconos similares a los de
pueden mejorar mucho a KDE. Mac, o bien si utilizamos iconos diseñados para Mac bajo
Una de ellas es SuperKaramba (superkaramba.sourcefor- GNU/Linux, añadimos un buen wallpaper y habilitamos las
ge.net), una aplicación que oficia de manera independiente transparencias, nuestro KDE quedará irreconocible y con
como una mejora, casi como un improvement, sin llegar a una imagen muy bien lograda.
ser tal. Se integra a KDE, a su inicio, y permite trabajar con En lo que respecta a utilizar elementos diseñados para
“temas” para SuperKaramba de extensión .theme, con los Macs en GNU/Linux, esto es algo que puede hacerse. Hay
que podemos darle a KDE una imagen muy agradable. Te- que conseguir los iconos originales, descomprimirlos y, lue-
nemos la posibilidad de poner relojes, visores de CPU/Me- go de hacer algunas cosas, se obtiene una salida en for-
moria/HD/Network, calendarios, clima, visores de mail que mato png. O bien se monta, previa recompilación del kernel
avisan cuando recibimos un mensaje, en fin, son muchas para soporte de FS para Mac, como una imagen, al mejor

usr★linux
50-52-X-Window KDE-L11.qxd 6/14/05 11:42 AM Page 52

xwindow
una estudiante de matemáticas
que usa KMPlot,
Kstars y la calculadora de KDE,
muy poderosa.
Ahora bien, aquellos que se incli-
nan por la multimedia, también
encontrarán lo suyo en las res-
pectivas aplicaciones para audio
y video, que no vamos a nombrar
porque pueden encontrarlas pre-
sionando sobre la Kbar y revisan-
do la categoría Multimedia. QT es
una palabra que debe escribirse
con mayúsculas cuando de KDE
se habla, y si no entienden por
qué lo digo, pregúntenle a alguien
que haya usado las primeras ver-
EL SITIO OFICIAL DE KDE (WWW.KDE.ORG) SE CONVIRTIO EN UN COMPLETO PORTAL siones o releases del manejador.
DE ACCESO A TODAS LAS APLICACIONES QUE CONFORMAN ESTE SISTEMA. Los coders pueden probar Kdeve-
lop o QuantaPlus, o directamente,
estilo .iso. Este es un tema muy interesante, no está en el punto de cocción que necesita; podrán experimentar con las QT
pero escapa a las posibilidades de esta nota. aKregator anda muy bien, lo uso casi todos desde el lenguaje C.
Si alguien está interesado, que no dude en los días, con una cantidad importante de La gente de KDE siempre se enor-
contactarme. feeds y casi nunca tuve problemas; Konqueror gullece diciendo que nunca pierden
se volvió más estable y se agregaron unos el foco puesto en la accesibilidad.
TRANSPARENCIAS cuantos detalles pequeños que hacen a la Las mejoras de esta versión para
El soporte para transparencias mejoró mucho cuestión general, como un indicador con colo- usuarios con problemas visuales o
en esta versión de KDE. Puede leerse por ahí res para mostrar el nivel de encriptación de de algún otro tipo constituyen,
que es todavía un punto flojo en el desarrollo de los sites. Para los matemáticos, KmPlot no siempre, un punto a favor de un
este Windows Manager, pero me permito disen- trae mejoras importantes, así como tampoco, desarrollo, aunque esto esté más
tir plenamente. Yo tengo habilitadas las trans- la calculadora, pero como el entorno es más relacionado con una cuestión mo-
parencias y KDE nunca se colgó: anda como de- estable, dicha estabilidad se extiende al resto ral o ética y no tanto con las partes
be andar y ni siquiera se volvió más pesado. de las aplicaciones. técnicas, que son las que deberían
No dejen de probar el soporte para transparen- En la lista de mejoras que podemos ver en deve- importar más en estas páginas.
cias de las barras en donde está Kbar, ni tam- loper.kde.org, QuantaPlus es uno de los que más KDE se ha vuelto una opción esta-
poco xterm. Todo lo que estoy diciendo puede cosas fueron agregando. Es un editor muy po- ble que servirá a muchos tipos de
verse en el screenshot de mi máquina. tente, excelente, así que no dejen de probarlo. usuarios. Posee una gran estabili-
dad y una interfaz muy bien lo-
1,2,3 HECHO CONCLUSION grada, con lo cual se perfila como
Si bien KDE sigue consumiendo recursos que KDE ha crecido mucho. Para aquellos memo- una excelente opción ante su ad-
pueden serles ajenos a muchas de las máqui- riosos, en los tiempos de vaya uno a saber qué versario GNOME. Un punto muy en
nas actuales, no sólo mejoró la estabilidad, si- versión de Slackware, KDE era muy feo, traía contra es que es extremadamente
no que también aumentó mucho su velocidad. pocas posibilidades y siempre era preferible pesado y no corre en cualquier
Sin haber hecho ningún benchmark, el ojo per- recurrir a otro manejador de ventanas más hardware; si pensamos que existen
mite notar un incremento importante en la car- sencillo, que consumiera menos recursos y que otros WM también muy completos,
ga de Splash, Konqueror y varias otras aplica- funcionara mejor. Hoy, las cosas ya no son así: que corren bien en máquinas viejas,
ciones que antes se arrastraban un poco más. KDE tiene la experiencia de casi diez años, y esto es una debilidad para la gente
KDE también soporta archivos .svg como fondos se ha vuelto un proyecto importante y bien de KDE. Aun así, no dejen de pro-
de pantalla. Además, hubo varias mejoras en Kon- mantenido. Hay cerca de mil personas traba- barlo. ★ Juan Marcelo Rodríguez
queror, así como en cada una de las aplicaciones. jando en él, y como ustedes sabrán, puede ser
En cuanto a mi experiencia respecta, kopete útil tanto para un chico que sólo usa GNU/Linux
cambió bastante, pero considero que todavía para navegar por Internet, como también para

52 usr★linux
54-56-Desarrollo Web-L11.qxd 6/14/05 11:39 AM Page 54

desarrollo web
ASISTENCIA ONLINE A NUESTROS USUARIOS

PHP Online asi todos los que administramos o utilizamos un sitio web esperar a que el operador lo atienda. Si éste lo hace, esta-

C sabemos lo importante que es para nuestros usuarios y


clientes el hecho de sentirse respaldados antes de efectuar
una compra. Muchos de ellos realizan diversas consultas
antes de adquirir un producto o servicio, algunas vinculadas a aspectos
blecen un chat para aclarar las dudas en tiempo real.
Es importante estar preparado para las posibles preguntas
de los clientes y tratar de tener varias escritas de antema-
no a fin de ganar tiempo si varios usuarios consultan sobre
del producto, y otras para tratar de conocer un poco más qué hay o el mismo tema.
quién está atendiendo del otro lado de la pantalla.
Generalmente, las consultas que realizan los usuarios son por e-mail, INSTALANDO PHPONLINE
de modo que deben esperar horas, días o semanas para obtener res- El sistema tiene requerimientos muy simples que, sin du-
puesta. Muchas veces, el solo hecho de esperar hace que el usuario da, cualquier proveedor de hosting medianamente respeta-
vuelva a replantearse la adquisición del producto o del servicio y, final- ble podrá satisfacer:
mente, que termine desistiendo.
Para lograr que nuestros usuarios, visitantes o clientes se encuentren ★ PHP en versión 4.1 o superior
siempre acompañados online para asesorarlos sobre nuestros productos ★ Una base de datos MySQL 3.23 o superior
o servicios, vamos a analizar un software gratuito que nos permite rea-
lizar un chat en línea con ellos. Paso 1 – Obtener el programa
Este programa se llama PHPOnline y su sitio oficial es Para obtener el programa, vamos a su sitio web oficial, en
phponline.dayanahost.com. www.dayanahost.com/phponline.cfm, y buscamos el link
de download de la última versión estable. Al momento de
escribir este artículo, era la 1.6 del 18 de mayo de 2005.

Si tenemos acceso SSH en nuestro servidor, podremos obte-


ner el programa directamente utilizando el comando wget
en el directorio donde deseamos efectuar la instalación,
como vemos a continuación:

wget http://www.dayanahost.com/file/phponline_1.6.zip

Esta opción, obviamente, es mucho más rápida que descar-


gar el programa desde nuestro equipo local, descomprimirlo
y, luego, subirlo al servidor, archivo por archivo.

Paso 2 – Descomprimir el programa


Luego de obtener el programa, debemos descomprimirlo,
para poder comenzar a utilizarlo. Si disponemos de acceso
EN EL SITIO OFICIAL DE PHPONLINE (PHPONLINE.DAYANAHOST.COM) ssh, podemos descomprimirlo dentro de un directorio crea-
ENCONTRARAN LA ULTIMA VERSION DE ESTE SISTEMA.
do con antelación, por ejemplo, phponline:

¿COMO FUNCIONA? unzip phponline_1.6.zip


El funcionamiento del sistema es bastante sencillo. Cada vez que un
usuario ingrese en nuestro sitio, verá un botón que indicará si hay al- Recuerden que también podemos descomprimir el archivo en
guien en condiciones de atenderlo, es decir, si hay algún representante nuestro equipo local y subirlo al servidor vía FTP con nuestro
de la empresa conectado listo para responder a sus preguntas. programa habitual, si no tenemos acceso SSH.

54 Cuando el usuario haga clic sobre el botón para chatear con un operador
online, se desplegará una ventana donde debe introducir su nombre y
usr★linux
54-56-Desarrollo Web-L11.qxd 6/14/05 11:39 AM Page 55

desarrollo web

$GEmailAddress = ‘Support $DBUsername = ‘xxx’;


<support@ourcompany.com>’;
Aquí colocamos el nombre de usua-
Aquí podemos indicar nuestra direc- rio del que disponemos para conec-
ción de e-mail para soporte. Será la tarnos a la base de datos creada
utilizada para que los usuarios nos en el paso 3.
envíen un mail si no hay nadie co-
nectado y disponible para atenderlos. $DBPassword = ‘xxxxxx’;

$GEmailSubject = Ingresamos la contraseña para co-


“Message from online support”; nectarnos a la base de datos.

Es el título del e-mail que vamos a $DBDatabase = ‘phponline’;


OBTENEMOS EL PROGRAMA PARA INSTALARLO EN NUESTRO SERVIDOR. recibir de nuestros usuarios cuando
no los hayamos podido atender online Definimos el nombre de la base de
Paso 3 – Crear la base de datos datos generada en el paso 3.
Para utilizar nuestro programa, también debemos crear la base don- $DBHost = ‘localhost’;
de residirán los datos correspondientes. Podemos hacerlo desde $StaffLogin = array(“admin”=>
nuestra sesión SSH, desde MySQL o desde el panel de control de Aquí definimos el servidor donde ”adm123” , “support”=>
nuestro proveedor de hosting, por ejemplo, utilizando phpMyAdmin. reside la base de datos, usualmen- ”sup456” , “sales”=>”pp588” );
Luego, debemos recordar que, cuando modifiquemos el archivo de te, queda localhost.
configuración del sistema, vamos a utilizar los siguientes datos:

★ Usuario: nos permitirá conectarnos a la base de datos que aca-


bamos de crear.

★ Contraseña: permitirá conectarnos a la base de datos que aca-


bamos de crear.

★ Nombre de la base de datos: de la que acabamos de crear, por


ejemplo, phponline.

Paso 4 – Editar el archivo de configuración


A continuación, tenemos que editar algunos datos del archivo de
configuración, para modificar los de conexión a la base, el idioma,
usuario y contraseña para el administrador, y personalizar el progra-
ma lo más posible.

El archivo de configuración está en el directorio donde hemos instalado


el programa, por ejemplo, /phponline/config.php.
Los cambios que debemos realizar son sobre las líneas de código
que veremos a continuación. Recuerden que lo que debemos cam-
biar es lo que está entre comillas:

$GCompanyName = ‘Our Company Name’;

Aquí podemos definir el nombre de nuestra empresa o sitio web; lo


verán nuestros visitantes.

$GDomainName = ‘ourcompany.com’;

Para indicar el nombre de nuestro dominio, por ejemplo, misitio.com.


Debe ser un dominio sin www, ya que éste prefijo se usa para que el
programa defina y lea cookies.

usr★linux
54-56-Desarrollo Web-L11.qxd 6/14/05 11:39 AM Page 56

desarrollo web
Paso 5 – Generar la estructura de tablas
Este es un arreglo que nos indica $Msg10 = “”; para la base de datos
los usuarios disponibles para co- Ya hemos creado la base y colocamos los datos en el archivo
nectarse al sistema, con sus res- $MaxWaitTime = 15; de configuración (config.php) para conectarnos sin proble-
pectivas contraseñas. Cada usua- mas a ella. Ahora sólo nos resta generar las tablas que con-
rio va separado por comas. Por Este es el tiempo predefinido de tendrán los datos de conexiones y demás.
ejemplo, el usuario admin tiene co- espera que tendrá un usuario Para hacerlo, vamos a ejecutar el script install.php, que está
mo contraseña la palabra: hasta que encuentre un represen- en nuestro directorio /phponline/install.php; por ejemplo,
adm123. tante del sitio web online. El valor www.midominio.com/phponline/install.php
Podemos modificar dichos valores está definido en segundos, y pue- Este script se encarga de crear las tablas que necesitará el
sin problemas, para colocar los de variar entre 1 y 180. sistema de forma automática. Si recibimos algún error o no
nuestros propios. Por ejemplo, como ahora está en podemos conectarnos con la base, deberemos cambiar los
Luego viene una lista de variables 15, si el visitante hace clic para valores en el archivo de configuración, ya que tal vez haya-
de $Msg1 a $Msg10, donde podre- chatear con un operador online y mos omitido algún dato.
mos definir diversos mensajes en no lo encuentra en 15 segundos, Si no recibimos ningún error, ¡nuestra instalación está termi-
nuestro propio idioma. aparece un formulario para comu- nada! Por el contrario, si alguien ha tenido algún inconve-
nicarnos por mail. niente, pueden visitar el foro en www.dayanahost.com/forum.
$Msg1 = “Please Wait...”;
$Msg2 = “Locating an Available and $UseDirectMySQL = 1; UTILIZANDO PHPONLINE
Online\nCustomer Service Después de haber instalado correctamente nuestro sistema
Representative.”; Nos permite indicar si vamos a uti- de atención a usuarios online, sólo nos resta comenzar a uti-
$Msg3 = “Sorry, all online customer lizar MySQL para almacenar los da- lizarlo. Veamos cuáles son los links más importantes:
service representatives are busy tos de conexión o lo haremos en ar-
right now, Please try again later or chivos. Si está en 1, significa que ★ Ingreso de administradores o personas que van a dar
you can leave us a message using estamos utilizando MySQL soporte a nuestros visitantes; por ejemplo, el área de ven-
the form below:”; Hay una directorio dentro de /ph- tas o el soporte técnico debe ingresar en
$Msg4 = “Welcome to Our Company ponline/ llamado cc. Si coloca- www.midominio.com/phponline/staff.php.
Online Support.”; mos la variable $UseDirectMySQL
$Msg5 = “Sending Message”; con un valor cero, deberemos ★ Los clientes que requieran asistencia online deben ac-
$Msg6 = “Thank you”; cambiar los permisos de la carpe- ceder a www.midominio.com/phponline/client.php.
$Msg7 = “One of our representatives ta cc por valores 777, para poder
will\ncontact you as soon as possible.”; leer y escribir sobre ella. ★ En caso de que queramos colocar un indicador en
$Msg8 = “For some reasons we are nuestro sitio para saber si hay alguien disponible para
unable to send your message.\ Luego de haber hecho todos los atendernos en ese momento, podemos utilizar
nPlease contact us directly using our cambios necesarios en nuestro www.midominio.com/phponline/status.php.
email address\nand please accept archivo de configuración, debe-
our apologize for this incontinence.”; mos guardarlos para poder conti- CONCLUSIONES
$Msg9 = “”; nuar con el siguiente paso. El sistema PHP Online es una solución práctica y sencilla
de instalar, para dar soporte en tiempo real a nuestros vi-
sitantes. No es la mejor opción de todas las que conozco, ni
la más completa (pienso que una de las mejores es
www.phplivesupport.com), pero es bastante aceptable y fun-
ciona bien. De todos modos, si hay algo que no nos gusta o lo
queremos mejorar, tenemos los archivos con todo el código
para adaptarlo a nuestras necesidades, así como los archi-
vos .fla de las presentaciones realizadas en Flash.
Un aspecto para destacar es que tiene integración del indi-
cador de estado con OSCommerce, programa de tienda vir-
tual que hemos visto en ediciones anteriores. Recordemos
que para dar soporte online o asistencia al usuario, no todo
se limita a un sistema de chat, sino que podemos combi-
narlo con sistemas de tickets, preguntas frecuentes, demos
interactivas de nuestros servicios o productos, tutoriales y
toda aquella información complementaria que pueda mejo-
rar la percepción de nuestros visitantes sobre nuestro sitio.
AQUI ESTAMOS EDITANDO EL ARCHIVO DE CONFIGURACION. HAY

56 QUE CAMBIAR VARIAS COSAS, PERO NO ES NADA COMPLEJO.


Hasta la próxima. ★ Martín Ramos Monso

usr★linux
58-59-Servers Openmosix-L11.qxd 6/8/05 12:53 Page 58

servidores
INSTALANDO UN CLUSTER SIN DISCO RIGIDO

OpenMosix
EN LA EDICION ANTERIOR APRENDIMOS A CONFIGURAR UN CLUSTER CON ESTE SISTEMA.
EN ESTA OPORTUNIDAD, VEREMOS COMO HACERLO SIN UTILIZAR EL DISCO RIGIDO,
GRACIAS A DOS DISTRIBUCIONES ESPECIALIZADAS: CLUSTERKNOPPIX Y C.H.A.O.S.

ola otra vez, queridos lectores. En esta ocasión, el recuadro de la página siguiente encontrarán las direcciones de los

H les comentaré brevemente el proceso de cons-


trucción de un cluster OpenMosix sin discos du-
ros en sus nodos, utilizando las distribuciones
clusterKnoppix y c.h.a.o.s.
sitios correspondientes a estas distribuciones.
ClusterKnoppix es una distribución basada en la exitosísima Knoppix,
que incluye los parches OpenMosix en su kernel, además de las herra-
mientas necesarias para administrar un cluster como openmosixview,
Para los que no tienen mucha idea, les recuerdo que un openmosixanalyzer, etc. También incluye una larga lista de aplicaciones
cluster es un conjunto de computadoras que “comparten” de interés general, como OpenOffice, The Gimp, Mozilla, etc. Para ver una
su poder de procesamiento y memoria para realizar sus ta- lista completa, diríjanse a la página oficial del proyecto.
reas. ¿Qué diferencia existe, entonces, con una red normal? Por su parte, c.h.a.o.s. es una minidistro cuyo fin es permitir la construc-
Pues bien, el caso es que en un cluster, el sistema operati- ción casi instantánea de clusters basados en OpenMosix, ya que sólo es
vo se encarga de las trabajosas y molestas tareas de indi- necesario configurar la red para que un nodo corriendo c.h.a.o.s. se inte-
car qué máquina de la red ejecutará cada actividad, con- gre a un cluster. La última versión corre el kernel OpenMosix 2.4.27.
trolar el uso de recursos en los nodos del cluster, migrar
procesos entre nodos, etc. ¡MANOS A LA OBRA!
En este artículo encontrarán un método sencillo para cons- El proceso de construcción de un cluster usando c.h.a.o.s. y ClusterKnoppix
truir un cluster usando el software libre OpenMosix y una es muy sencillo, y consiste en arrancar el “monitor” (clusterKnoppix) y
red de computadoras cualesquiera. Existen dos requisitos luego iniciar cada uno de los nodos. Aunque ClusterKnoppix soporta
para poder llevar a cabo esta tarea: que todas las PCs ten- booteo por red, nosotros iniciaremos cada nodo con un CD de c.h.a.o.s.
gan lectora de CD y la posibilidad de arrancar desde ella (pude usarse el mismo CD para todos los nodos, ya que una vez que ha
(estándar “El Torito”), y que estén todas conectadas en red. arrancado, el CD se expulsa). En la Tabla 1 pueden ver los valores que
utilicé para la configuración de la red. Si nuestra red cuenta con un ser-
CONSIDERACIONES PREVIAS vidor DHCP para la configuración de los parámetros de red de cada PC,
Aquí detallo los requerimientos necesarios para construir el podemos obviar la configuración de red cada vez que se deba realizar.
cluster: Pues bien, sin más rodeos, veamos cómo iniciar el nodo monitor.
Colocamos el CD de ClusterKnoppix en la lectora, iniciamos la PC y confi-
★ Dos o más PCs con conectividad LAN entre sí y capaci- guramos el BIOS para que arranque desde el CD.
dad de booteo desde CD Cuando se presenta el prompt del gestor de arranque, presionamos ENTER.
★ Un CD con la distribución ClusterKnoppix Una vez que finalizó el arranque, abrimos un shell y configuramos la pla-
★ Uno o más CDs con la distribución c.h.a.o.s. ca de red. En mi cluster los comandos fueron:
★ Paciencia y constancia
ifconfig eth0 192.168.0.10 netmask 255.255.255.0
Usaremos el CD de ClusterKnoppix a manera de terminal de route add -net 0.0.0.0 gw 192.168.0.1
control del cluster, por contar con interfaz gráfica. Los CDs
de c.h.a.o.s. deben tener la misma versión del kernel que el Iniciamos OpenMosix:
CD de ClusterKnoppix. En esta nota utilicé para las pruebas
un ClusterKnoppix cuya versión del kernel era la 2.4.27. En tyd -f init

58 usr★linux
58-59-Servers Openmosix-L11.qxd 6/8/05 12:54 Page 59

servidores
Por último, le indicamos al nodo que será el Tienen razón, una vez más, estimados lecto-
maestro de este cluster, mediante el comando: res. Entonces, llegamos a la conclusión de /etc/openmosix.conf ni inicien el proceso
que necesitamos nodos del cluster que funcio- setpe; lo único que deben hacer, una vez que
tyd nen como estaciones de trabajo. Tenemos dos instalaron el kernel parcheado y lo arrancaron,
opciones, a saber: es correr el siguiente comando en cada esta-
Quienes hayan leído la nota anterior, verán que ción de trabajo:
no usamos más el comando setpe. Esto se debe ★ Usar un ClusterKnoppix en vez de c.h.a.o.s.
a que tanto c.h.a.o.s. como ClusterKnoppix para arrancar aquellos nodos que deseamos tyd -f init
cuentan con un sistema automático de arma- usar como estaciones de trabajo. Es posible
do del cluster, que nos libera de la tarea de hacerlo, pero no recomendable, ya que no ten- PARA FINALIZAR
armar el /etc/openmosix.conf a mano. dremos la posibilidad de guardar ningún tra- Esto es todo, y no es mucho, debido al gran
Este sistema revisa la red a intervalos cortos bajo que realicemos (recuerden que, en teoría, trabajo que han hecho tanto el equipo de
de tiempo para detectar nuevos nodos y aña- nuestros nodos no tiene discos duros), a me- ClusterKnoppix como el de c.h.a.o.s.
dirlos al cluster. nos que lo hagamos en unidades de red Sam- También habrán notado, si prestaron atención,
Ahora nos queda la tarea más sencilla, armar ba o NFS. Si aun así deciden usar esta opción, que lo ideal es que exista un servidor DHCP en
los nodos con c.h.a.o.s. Los pasos son muy si- sigan los pasos descriptos anteriormente para nuestra red, ya que, de esa manera, nuestro
milares a los anteriores. Arrancamos el nodo iniciar el monitor, excepto el 5, ya que ahora trabajo se limita a insertar el CD de c.h.a.o.s.
desde el CD de c.h.a.o.s. En la pantalla de boo- están trabajando en nodos normales del clus- y presionar ENTER en cada nodo. Espero que
teo presionamos F5 para detener el timer del ter y no en el nodo de administración. esta mini-nota les haya gustado; me aver-
gestor de arranque e ingresar la configuración güenza decir que es una nota completa, debi-
de red con tranquilidad. En los nodos de mi ★ Compilar un kernel parcheado con OpenMo- do a la facilidad de la tarea planteada.
cluster, la línea de arranque era la siguiente: six, versión 2.4.27, en cada estación de trabajo Saludos a todos los lectores de la revista, y re-
que deseamos que haga uso del poder del cuerden que cualquier consulta que tengan
/chaos/bzImage root=/dev/ram0 initrd=/chaos cluster. Esta es, en mi opinión, la opción más relacionada con el tema de esta nota, pueden
/chaos.rdz rw boot=/dev/cdrom:iso9660 viable. Para realizar esta tarea, remítanse a la mandarme un mail a mgi1982@gmail.com.
ip=192.168.0.20::192.168.0.1:255.255.255.0::: nota sobre clusters OpenMosix publicada en ¡Sean libres! ★ Marcos Gabriel Ibáñez
init=/sbin/init SHELL=1 HTTPD=1 SSHD=1 TYD=1 Linux USERS #09, pero no configuren el archivo

Lo importante de la línea anterior es cambiar


la dirección IP para que la de cada nodo sea
única. Y para aquellos que son tan vagos que DIRECCIONES UTILES
ni siquiera quieren escribir todo esto, déjenme openmosix.sourceforge.net/instant_openmosix_clusters.html
decirles que deben hacerlo, ya que olvidar En esta página hay una extensa lista de distros para construir clusters “instantáneos”, es decir,
cualquier parámetro hará que nuestro cluster casi sin configuración.
no funcione.
Una vez finalizado el arranque, el nodo está bofh.be/clusterknoppix/index.htm
listo para comenzar a actuar. Página oficial del la distro que usaremos como “monitor” del cluster.

USANDO EL CLUSTER www.purehacking.com/chaos/


Cuando todos los nodos están funcionando, Página oficial del proyecto c.h.a.o.s., distro que utilizaremos como nodos de nuestro cluster.
podemos empezar a darle usos prácticos al
cluster. Ahora bien, los que hayan prestado www.knoppix.net
atención notarán que a nuestro cluster le falta Página con muchísima información sobre esta excelente distribución de Linux.
algo muy importante: cómo usarlo, ya que tie-
ne nodos, monitor, pero no hay manera de ini-
ciar procesos o aplicaciones aparentemente. TABLA 1 ★ VALORES PARA LA CONFIGURACION DE LA RED
¡Allí es donde se equivocaron! Cualquier tarea
que iniciemos en ClusterKnoppix se migrará a Red 192.168.0.0
los nodos del cluster que estén libres en ese Máscara de red 255.255.255.0
momento. Pero pensándolo bien, no parece muy Gateway 192.168.0.1
seguro trabajar sobre el monitor del cluster. IP del “monitor” 192.168.0.10
IP de los nodos 192.168.0.10 (+10 por cada nodo). Por ejemplo, el nodo 1 es 192.168.0.20,
el 2 es 192.168.0.30 y así sucesivamente.

usr★linux 59
60-62-Servers LTSP-L11.qxd 6/8/05 12:39 Page 60

servidores
GUIA DE INSTALACION Y CONFIGURACION

SE TRATA DE UN PROYECTO MUY INTERESANTE, EN

LTSP EL CUAL ENTRA EN JUEGO MAS DE UNA


HERRAMIENTA DE SOFTWARE. ESTA DESTINADO A LA
REUTILIZACION DE MAQUINAS CON POCOS
RECURSOS, DE MODO QUE ES IDEAL PARA AHORRAR
DINERO EN ACTUALIZACION DE HARDWARE.
TSP no es un paquete de software para brindar

L una solución nueva, todo lo contrario. Está basa-


do en una tecnología que se usó durante mucho
tiempo hace varios años: es una arquitectura
cliente-servidor en la cual es generalmente el servidor el que
lleva a cabo el proceso central, aceptando las entradas, en
tanto que el cliente sólo tiene que mostrar la salida de este
proceso. En palabras claras, todo el software corre en el ser-
vidor, y el resultado se muestra en el cliente. Por eso pode-
mos reutilizar tecnologías obsoletas en el lado del cliente, ya
que éste no necesita recursos para procesar el soft.
Este tipo de soluciones puede compararse con aquellas
brindadas hace algunos años cuando las empresas utili-
zaban tecnologías de terminales “bobas”, como Wyse o EN EL SITIO OFICIAL DE LTSP (WWW.LTSP.ORG) ENCONTRARAN LA
ANSI, o nuevas, como el actual S/390 de IBM, pensado pa- ULTIMA VERSION DE ESTE SISTEMA Y MUCHA DOCUMENTACION.
ra brindar servicio de terminales
Como casi todo en Linux, el proyecto se compone de varios pa- combinación de herramientas que vienen por defecto en casi todas las distri-
quetes de software, por lo que a la hora de configurarlo, puede buciones. Entonces... ¿qué es lo que se descarga? Un paquete de scripts y
resultarnos algo complicado, ya que deberemos tener en cuen- pequeños programas que nos ayudarán a configurar todas las partes que
ta el funcionamiento de cada uno y, también, su interrelación. componen LTSP y, además, varios módulos para soporte de hardware en los
LTSP está formado por la unión de un servidor DHCP, un ser- clientes, agregados para sonido, impresión, servidores VNC, fuentes, etc.
vidor TFTP, un servicio NFS, un servidor X con servicio Una vez descargado el software, que está disponible en formato tgz, rpm
XDMCP, módulos LTSP desarrollados para brindar soporte de e iso, lo instalamos (para el ejemplo, yo descargué la ISO (113 MB).
hardware, y una solución etherboot para los clientes. Creamos un directorio para montarlo, como /mnt/ltsp:

REQUERIMIENTOS mount -o loop ltsp-4.1.1.iso /mnt/ltsp


Al momento de toparnos con este tipo de proyectos, lo primero
que se nos viene a la cabeza en cuanto a los requerimientos Se montarán varios paquetes de software en la carpeta /mnt/ltsp; el que
del servidor es multiplicar la necesidad de procesamiento para nos interesa principalmente es ltsp-utils-0.11-0.rpm (hasta el momento,
correr nuestro software, por la cantidad de clientes que vamos es la última versión). Se trata de una herramienta que nos “ayudará” a
a utilizar, pero para beneficio nuestro. Esto no es del todo cier- configurar todos los paquetes (y lo digo entre comillas porque esto no
to, ya que Linux y su tecnología de programación, a la hora de siempre es así y, en algunos casos, el resultado es peor del buscado y te-
compartir recursos de memoria que están siendo utilizados por nemos que pasar mucho tiempo borrando las configuraciones que instaló).
otros programas, nos dejan un margen bastante amplio para Al ejecutar ltspadmin se presenta una ventana con tres opciones: Insta-
introducir una gran cantidad de clientes con un relativo bajo ll/Update LTSP, Configure the Installer options y Configure LTSP. Si es la
poder de proceso en el servidor. Por supuesto que también tie- primera vez que vamos a instalar LTSP, entonces elegimos la segunda. La
ne mucho que ver el software que vamos a correr en el servidor primera pregunta es de dónde descargar los paquetes de LTSP, pero como no-
y la cantidad de memoria que éste consume. Para los clientes sotros ya descargamos toda la ISO, no es necesario descargar nada desde
se puede pensar en PII de 300 MHz o superior. Más adelante Internet; lo que haremos es decirle dónde se encuentran: file:///mnt/ltsp/.
veremos algunos casos de éxito que servirán de experiencia. Noten que existen tres “/”, debido a que el soft está preparado para bajarlo
Ahora, ¡manos a la obra! desde Internet y ésta es la sintaxis correcta para informar que los traiga de
una carpeta local. Luego pregunta qué directorio deseamos que sea raíz del
CONSEGUIR LTSP E INSTALARLO cliente (dejar la opción predefinida). Finalmente, pregunta si estamos detrás
El software de LTSP se puede descargar desde www.ltsp.org, de un proxy http y de un proxy FTP; completamos estos datos según nuestra
junto con la excelente ayuda que posee. Pero vale la pena situación. Una vez aceptado todo lo anterior, elegimos Install/Update LTSP

60 aclarar que no es necesario ningún tipo de soft anexo para


configurarlo, porque, como ya dijimos, esta solución es una
Packages. Así, pasaremos a la ventana de selección de paquetes, que está

usr★linux
60-62-Servers LTSP-L11.qxd 6/8/05 12:39 Page 61

servidores
dividida en grupos. Yo recomiendo siempre ins- ★ Creación del archivo /etc/exports: según
talar todos los paquetes que existan, esto es, la IP de la placa de red que escucha las peti-
los paquetes o módulos que realizan el soporte ciones, actualiza el archivo que configura el
para el funcionamiento de cierto hardware de NFS, para exportar los directorios que se mon-
clientes o software específico; ésta es la prin- tarán en los clientes en el momento del booteo. option broadcast-address 192.168.0.255;
cipal diferencia entre configurar un LTS sólo Broadcast
con las herramientas de una distribución co- ★ Crea el archivo lts.conf: este archivo po- option routers 192.168.0.5;
mún o descargando este software. see toda la configuración referida a los clien- IP del default gateway
Por último, debemos configurar los cuatro pa- tes (como tipo de mouse, teclado, placa de vi-
quetes principales: DHCP, NFS, TFTP, el soporte deo, resolución, etc.) y los módulos especiales option domain-name-servers 192.168.0.2;
XDMCP para las X y las dependencias de cada que se cargarán en el cliente al bootear. option domain-name “empresa”;
uno de ellos, así como los archivos de red /etc/ Información de los DNS
hosts, /etc/exports, /etc/hosts.allow. Para con- Luego de configurar todos estos servicios, pode-
figurar estos paquetes, elegimos Configure mos ver su estado en la opción Show the status option root-path “192.168.0.1:/opt/ltsp/i386”;
LTSP y, luego, Configure the Service Manualy; of all services, para corroborar que estén funcio- IP y directorio donde está la raíz de los clien-
se presentará un menú de opciones: nando. Si no es así, no se preocupen, porque más tes (es la del servidor LTSP y el directorio en
adelante configuraremos paso a paso todos ellos. donde se configuró con ltspadmin).
★ Runlevel: informa al cliente si se iniciará
en forma gráfica o texto; en este caso, realiza- ¿COMO FUNCIONA? use-host-decl-names on;
remos una configuración gráfica, por lo que ¡¡Bien!! Hasta ahora, todo era sencillo, pero Siempre es necesario que exista esta línea para
dejaremos esta opción en “5”. aquí recién comienza la cuestión. Antes de se- poder configurar los clientes por separado.
guir, y con los conocimientos previos, veremos
★ Interface: es la selección de la placa de qué sucede específicamente durante el proce- 8
red que escuchará las peticiones de los clientes so de booteo de un cliente, para que la si- host ws001 {
si nuestro servidor posee más de una placa. guiente información se comprenda mejor. ws001 hace referencia al nombre del host que
Primero, el cliente bootea (más adelante expli- llevará la IP que le vamos a asignar.
★ DHCP Configuration: preconfigura el ser- caré las opciones que existen para hacerlo) y
vicio DHCP para asignar direcciones a los realiza un broadcast pidiendo una IP dentro de hardware ethernet 00:E0:18:E0:04:82;
clientes y pasarles parámetros específicos; la red. El servidor DHCP le asigna una, además Es la MAC que posee la placa de red del cliente.
más adelante veremos detalladamente este de suministrarle la IP del TFTP y el archivo que
archivo y sus configuraciones. necesita descargar. El cliente, entonces, des- fixed-address 192.168.0.10;
carga el archivo mediante TFTP y lo ejecuta, IP que vamos a asignar a este cliente.
★ TFTP Configuration: habilita el servicio que no es otro que el kernel mismo. Luego,
TFTP, una versión antigua del protocolo FTP monta el sistema de archivos mediante NFS, filename “/lts/vmlinuz.ltsp”;
que no necesita autentificación. para poder seguir booteando, y por último, lee Archivo que descargará (es el kernel que boo-
el archivo lts.conf, para poder conectarse al teará el cliente). Hay que recordar que este
★ XDMCP Configuration: habilita el servicio servidor X remoto y levantar el entorno gráfico. kernel se descarga mediante TFTP, por lo que
XDMCP de los manejadores X. En palabras claras, Qué buena combinación de programas, ¡no? El debería estar en /tftpboot/lts/vmlinuz.ltsp. Pe-
habilita que los clientes puedan utilizar el entorno entorno gráfico que carga habilita la selección ro como /tftpboot es el directorio raíz para el
X en forma remota. El sistema detectará qué ma- del cliente gráfico que queremos ejecutar; en servicio TFTP, en esta línea se lo suprime. Ade-
nejador se está usando (XDM, GDM, KDM; en ge- otras palabras, podremos entrar con KDE, más, dependiendo de la distribución, habrá
neral es el segundo), y la diferencia radicará, úni- GNOME, IceWM, etc., dependiendo de cuáles más de un kernel; está en el lector elegir uno.
camente, en el archivo de configuración que de- estén instalados en nuestro sistema.
berá actualizar para habilitar la función XDMCP. CONFIGURACION DE OPT/
¡A CONFIGURAR TODO! LTSP/I386/ETC/LTS.CONF
★ Creación del archivo /etc/hosts: según la Las configuraciones hechas anteriormente no Este es un archivo sumamente importante, ya
IP de la placa de red por la cual le dijimos que son suficientes para que todo funcione; por lo que limita las configuraciones independientes
escuche las peticiones, realiza una configura- tanto, empezaremos a configurar específica- por cada terminal.
ción genérica del archivo con las IP del rango mente la información de los clientes. Primero, están los configuraciones globales,
de la placa y sus correspondientes nombres La configuración con la herramienta ltspad- pero éstas son suprimidas si existen configu-
genéricos (ws001, ws002, etc.), que luego se- min creó un archivo llamado dhcpd.conf.sam- raciones específicas para cada terminal, así
rán ocupados para realizar configuraciones ple, que luego tenemos que renombrar a que veremos dos ejemplos de estas últimas:
específicas para cada cliente. dhcpd.conf. Sólo me remitiré a comentar las
líneas importantes de él: [vs001]
★ Creación del archivo /etc/hosts.allow: Nombre del host del cliente para el cual
configura la seguridad a nivel hosts de aque- option subnet-mask 255.255.255.0;
llos que pueden ser clientes y aquellos que no.

usr★linux
Máscara de nuestra red

61
60-62-Servers LTSP-L11.qxd 6/8/05 12:39 Page 62

servidores
SWAPFILE_SIZE = 48m CONFIGURAR EL CLIENTE
Cantidad de megas del archivo swap. ¡Al fin llegamos! Para poder bootear el
CASOS DE EXITO cliente, podemos elegir varias maneras;
He aquí un par de casos de éxito en X_MOUSE_PROTOCOL = “Microsoft” yo voy a mencionar dos, que son las
cuanto a rendimiento de sistemas frente Tipo de mouse (serial). más utilizadas:
a clientes, utilizando LTSP:
X_MOUSE_DEVICE = /dev/ttyS0 ★ Bootear con un floppy: para poder
★ Servidor PIV de 2,4 GB con 512 MB Puerto que usa el mouse (COM1). arrancar con disquete necesitamos un pe-
de RAM sirviendo a 20 clientes (25% de queño programa denominado bootrom, que
consumo del sistema con las 20 termi- RUNLEVEL = 5 se baja de http://rom-o-matic.net. Allí se-
nales funcionando). Nivel del INIT (gráfico). leccionamos el ROM para la placa de red
que posea el cliente y lo bajamos en forma-
★ Servidor PIV 3,2 GB Socket 775 HT, OK, veamos un ejemplo diferente de este to Floppy Bootable ROM IMAGE (.zdsk). Pa-
2 GB Kingston DDR2 sirviendo a 40 clien- archivo de configuración: ra nuestro beneficio, existe una amplia ga-
tes (20% de consumo del sistema con ma de placas soportadas en la página; me
las 40 terminales funcionando). [ws002] atrevería a decir que están casi todas o,
SERVER = 192.168.0.5 por lo menos, las de uso más frecuente.
XSERVER = vesa Para grabar este ROM en Windows, ejecu-
Buena opción si nuestra placa no es de- tamos el famoso programa rawrite y, si es-
MAS DE LO MISMO tectada automáticamente. tamos en GNU/Linux, hacemos un “dd
Para seguir investigando, pueden empe- if=archivo.zdsk of=/dev/fd0”. Eso es todo.
zar con las configuraciones de módulos X_MODE_0 = 800x600 E Sólo basta con bootear con este disquete
especiales para clientes, como el sonido, XDM_SERVER = 192.168.0.5 dentro de la red donde se encuentra el ser-
o con aplicaciones locales en los clientes, LOCAL_APPS = N vidor LTS (hay que recordar que debe estar
o servidores VNC en los clientes, etc. USE_NFS_SWAP = N cargada la MAC de la placa en el servidor
Existe también una distribución llamada No se necesita swap para este cliente. DHCPD para que éste le asigne una IP). Si
K12LTSP, que está basada en FC2, la cual existe algún problema en la configuración
trae instalado este proyecto. MOUSE_PROTOCOL = “ps/2” gráfica, sólo tenemos que hacer los cam-
X_MOUSE_DEVICE = /dev/psaux bios en /opt/ltsp/i386/etc/lts.conf.
RUNLEVEL = 5
configuramos las siguientes opciones (tiene que ★ Bootear con PXE: PXE es una forma
ser alguno existente en el archivo dhcpd.conf). PROBANDO LA CONFIGURACION… de bootear en la cual la ROM de booteo
Es muy probable que el servicio XDMCP está en la placa de red. Este es el caso
SERVER = 192.168.0.5 no pueda configurarse automáticamen- de todas aquellas PCs relativamente
IP del servidor LTSP. te; para corroborarlo, hacemos: modernas que poseen la función de boo-
tear por network en forma de PXE. Para
XSERVER = auto netstat –ap | grep xdmcp este tipo de PC, sólo basta con configu-
Detectará nuestra placa de video automáticamente. rar la BIOS para que el primer dispositi-
El resultado tiene que ser: vo de booteo sea PXE de la placa (remi-
X_MODE_0 = 800x600 tirse al manual del motherboard para
Resolución de pantalla. udp 0 0 *:xdmcp *:* 1574/gdm verificar que posea esta función) y, lue-
go, en el dhcpd.conf cambiar el filena-
XDM_SERVER = 192.168.0.5 Si no es así, editamos el archivo me que se descarga “/lts/vmlinuz.ltsp”
IP del servidor que exporta las X (el mismo /etc/X11/gdm/gdm.conf y, en la opción por “/lts/pxe/pxelinux.0”.
que suministra servicio LTSP). [XDMCP], cambiamos enabled=false
por enable=trae. Luego ejecutamos Existen otras maneras de bootear que
LOCAL_APPS = N killall –9 gdm-binary para cargar también pueden probar. Por ejemplo,
Opción que nos habilita a ejecutar software esta modificación. bootear desde el disco rígido, para lo
en el cliente (veremos algo de esto en un Una vez configurado todo, estamos en cual tendrán que descargar el boot ROM
próximo número). condiciones de probarlo, para lo cual te- en formato .com, o descargar el formato
nemos que reiniciar todos los servicios. binario para quemarlo en una memoria
USE_NFS_SWAP = Y Por ejemplo, en RedHat: y, luego, insertarla en una placa de red
Opción que nos habilita a tener un archivo de que soporte esta tecnología.
swap en el servidor que será usado por el cliente. service dhcpd restart Espero que este artículo les haya intere-
service NFS redtart sado. Todavía hay mucho por investigar,
service portmap restart y lo visto en esta ocasión es sólo la pun-

62 ta del iceberg. ★ José Jorge Masdeu

usr★linux
64-Entrevista-L11.qxd 6/8/05 12:24 Page 64

entrevista
CREADOR DE LA NUEVA DISTRO KOSMO

Ricardo Suaya
GNU-Linux actual. Ojalá que sean
los propios usuarios los que, en
un futuro, determinen los pros y
los contras de VTA.

UN MIEMBRO DE LA COMUNIDAD QUE, HACE MUCHOS AÑOS, VIENE LU ★ ¿Reciben apoyo de algún
DESARROLLANDO DISTRIBUCIONES LIVE SUPEROPTIMIZADAS. FANATICO otro grupo?
DE SLACKWARE, RICARDO NOS CUENTA TODO, DESDE SUS COMIENZOS,
HASTA LA SALIDA DE SU ULTIMO PROYECTO. RS ★ Por el momento, y lamentable-
mente, no recibo apoyo directo en lo
que a programación y código respec-
Linux USERS ★ ¿Quiénes inte- Fue por eso que, a principio del convirtió en kOSmo, basado en ta; sí, en cambio, en cuanto a prue-
gran VTA-Linux? 2004, fijé mi atención en la nueva Slackware 10.1, y con kernel 2.6.10, bas en diversas máquinas, alguna
moda de los Live-CD, a los que, en KDE 3.4, MPlayer, KOffice, progra- que otra gráfica y traducciones apor-
Ricardo Suaya ★ Por ahora, única- un principio, había desdeñado por mas educativos y muchas otras tadas por algunos amigos-usuarios.
mente mi hija Mercedes y yo, en lo no considerarlos verdaderas “dis- aplicaciones GNU. Todas son distros Hasta este punto, todo es a mis ex-
que respecta a su staff “permanen- tros” para mi uso personal, sin per- no especializadas, que apuntan al pensas, pero estoy dispuesto a cam-
te”. Además, hay unos quince ami- catarme de que, muy posiblemente, usuario neófito y promedio, ya que biar esta situación lo antes posible, y
gos que, desde agosto del 2004, eran una muy buena respuesta a to- permiten montar, en pocos minutos, supervivencia personal mediante.
prueban y opinan sobre los Live-CDs das esas preguntas e inquietudes un sistema operativo GNU-Linux Hay, sí, muchos agradecimientos por
experimentales que fui aprendiendo ajenas sobre Linux. Si bien ya he funcionando virtualmente en RAM, y dar, ya que aprendo mucho leyendo,
a construir. Algunos llegaron a nive- trabajado con una cantidad de dis- así animar al novato para que se desde viejos manuales UNIX hasta
les de testeo realmente curiosos, tros y versiones, siempre vuelvo a vuelva adepto a este sistema. Con el foros, listas y FAQs; en un par de oca-
otros aportaron bastante hard de Slackware; y el hecho de reencon- tiempo fueron apareciendo diversos siones, una sencilla respuesta me
prueba (al fin y al cabo, somos trarme con la obra de gente como proyectos y aplicaciones, pero hoy evitó muchos días de trabajo infruc-
“100% Slack”). Volkerding, Naseef, Matejicek, Rock- todos parecen difíciles de concretar. tuoso, y sin mayor costo que apenas
Linux y otros importantes aportes Por ahora, apenas puedo con éste, un sincero agradecimiento.
LU ★ Nos gustaría que nos conta- como los de Squash-FileSystem y que insume todo mi tiempo libre.
ras cómo nació este proyecto. Union-FS (por citar a unos pocos), LU ★ Cualquier otra cosa que
hizo que pudiera poner kOSmo en lí- LU ★ ¿Qué hace que kOSmo sea nos quieras contar…
RS ★ Al cumplir una década con nea con un kernel 2.6.10 y a dispo- una distribución muy particular?
Linux como un usuario absoluta- sición de todo el público. RS ★ Mi único agregado es para
mente normal, junto a otros veinti- RS ★ Sin querer pecar de presumi- seguir agradeciendo a todos por la
cinco años en el ámbito de la elec- LU ★ ¿Qué desarrollos están lle- do y pensar que VTA ya posee venta- difusión y el apoyo a la obra. Perso-
trónica, intenté dar una respuesta a vando adelante actualmente? jas respecto a distros similares pero nal y sinceramente, me impresiona
algo que, a lo largo del tiempo, cada consolidadas y utilizadas por incon- sobremanera el hecho de aparecer
vez más amigos y clientes me han RS ★ Se puede decir que la corta ca- tables usuarios, se puede asumir como nota en la afamada USERS;
preguntado a medida que leían y es- rrera de desarrollos de VTA nace con que, como todas las demás, ésta jamás imaginé que algo de mi faena
cuchaban sobre este sistema y su pinOS, un mini Live-CD basado en un también ya tiene algunas caracte- pudiera salir en una revista que he
creciente auge. Muchos de ellos de- Slack-10 “Diet & recortado a escope- rísticas propias. Es un Slack-Live leído y releído durante años (la pri-
muestran, hasta hoy, un verdadero tazos”, con elevados sacrificios de do- traducido en la mayor medida posi- mera PCU que recuerdo cayó en mis
interés por probarlo, pero el cambio cumentación e información para al- ble al español y, por defecto, con manos y a préstamo, era en blanco y
de costumbres que exige su manejo canzar un máximo de 50 MB. A pesar frame buffer y bootsplash, y conmu- negro, si me permitís la nostal-
y los riesgos de perder todos los da- de esto, contiene frame buffers y ser- table a consola normal (de texto) gia...). Por eso, ésta es una sorpresa
tos en el intento de instalación –en- vidor X con Flux, red y herramientas de desde el inicio. Está dotado con un agradable e impactante para mí...
tre otras calamidades posibles– han archivo para rescatar máquinas. instalador (experimental) para vol- (N. de la R: ¡De nada! Siempre nos
hecho que, casi siempre, el interés El sucesor fue portOS, un Live basa- carlo a un disco fijo. Tiene sonido gusta difundir los proyectos de pe-
inicial por entrar en contacto con do en el primero, con kernel 2.4.26, y Alsa e impresión por Cups. Como queños grupos de usuarios).
“el” otro sistema operativo se des- expandido con KDE, Amsn, herra- detalle original, incorpora el idio-
vaneciera al final de la primera con- mientas multimedia, etc. Tuvo muy ma Logo. Por lo demás, cuenta con Más información en www.vta.linux.dk.
versación al respecto. buena aceptación, y eso nos dio mu- las características generales más Entrevista ★ Ariel Corgatelli
cho ánimo para continuar. Hoy se clásicas en cualquier distribución

64 usr★linux