Download Introducción a Linux del INEI
Document related concepts
Transcript
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Introducción a LINUX Lima, Abril de 2000 Elaboración : Sub-Jefatura de Informática Impreso en los Talleres de la Oficina de Impresiones de la Oficina Técnica de Difusión Estadística y Tecnología Informática del Instituto Nacional de Estadística e Informática Diagramación Edición Domicilio Orden Nº : : : : Centro de Edición del INEI 500 Ejemplares Av. Gral. Garzón Nº 658 Jesús María, Lima 11 293 - OTDETI - INEI Introducción a LINUX Presentación El Instituto Nacional de Estadística e Informática (INEI), en concordancia con sus fines y objetivos institucionales y como ente rector de los sistemas de Estadística e Informática, pone a disposición de las Entidades Públicas, Privadas, estudiantes y público en general, el libro ¨ Introducción al LINUX” que forma parte de la Colección Informática Fácil. La aparición de LINUX que fuera un pequeño sistema operativo de código público, se ha apoderado poco a poco de la cultura informática a nivel mundial, habiendo pasado de manera fulgurante por los ambientes estudiantiles, y entrando de lleno en el mundo empresarial, donde las tecnologías de información tienen especial relevancia, condiciones que vienen afirmando que existe una ya bastante evolucionada “cultura Linux”; propiciando el renacimiento del Código Público. El Sistema operativo de código público LINUX, es un sistema operativo para redes por ser multitarea, multiusuario, se persive confiable y escalable, además trabaja en un amplio rango de hardware. Soporta casi todos los protocolos de red e internet estándar, se puede personalizar gracias a su naturaleza abierta y cantidad de herramientas de programación. El Instituto Nacional de Estadística e Informática, pone a disposición la presente Guía Práctica de Informática Fácil, con el propósito de contribuir al conocimiento y desarrollo de la Cultura Informática y en beneficio de sus economías por ser LINUX un sistema gratuito. Econ. Félix Murillo Alfaro Jefe INSTITUTO NACIONAL DE ESTADISTICA E INFORMATICA Instituto Nacional de Estadística e Informática 3 Introducción a LINUX 4 Instituto Nacional de Estadística e Informática Introducción a LINUX Contenido 1. ¿Qué es Linux?................................................................................................................ 3 2. Historia de Linux ............................................................................................................ 3 3. ¿Porqué Linux? ............................................................................................................... 4 3.1 3.2 3.3 3.4 4. ¿Cómo es licenciado Linux? .................................................................................... 4 ¿De donde vienen los recursos para el desarrollo de Linux?........................................ 6 Características Principales ....................................................................................... 9 Ventajas de Linux frente a otros Sistemas Operativos .............................................. 11 Estructura de Linux ........................................................................................................ 15 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Kernel GPL ......................................................................................................... 15 Manejadores GPL ................................................................................................ 15 Herramientas del usuario ...................................................................................... 16 Herramientas de usuario (GPL, GNU, FSF) Herramientas de Desarrollo (GPL) X Server.............................................................................................................. 17 Widgets y Desktops .............................................................................................. 17 Servidor WEB ...................................................................................................... 17 Servidor de Correo.............................................................................................. 18 Servidor DNS ...................................................................................................... 20 5. Compatibilidad de Linux................................................................................................. 22 6. Conectividad de Linux.................................................................................................... 23 7. Conexión segura a Internet con Linux ............................................................................. 23 7.1 7.2 8. Ipchains .............................................................................................................. 24 Ipmasquerade ..................................................................................................... 25 Distribuciones comerciales.............................................................................................. 26 8.1 Componentes fundamentales de una distribución comercial ..................................... 26 Boot Manager Interfaz de usuario Sistema X Window Servicio de Internet Servicios de impresión de archivos Instituto Nacional de Estadística e Informática 5 Introducción a LINUX Aplicaciones Administrador de paquetes Herramientas del programador Bibliotecas 8.2 Distribuciones comerciales más populares............................................................... 29 Red Hat Caldera Open Linux Debian GNU Linux Slackware 9. Crecimiento de Linux..................................................................................................... 33 10. Productos para Linux ..................................................................................................... 36 11. Enlaces Linux ................................................................................................................ 38 11.1 Listas de consulta sobre Linux ............................................................................... 38 11.2 Sitios de Interés para usuarios de Linux .................................................................. 39 APENDICE ........................................................................................................................... 41 A. Entrevista con Linus Torvalds - Tomado de la revista Linux Focus B. Una vista a Star Office C. Noticias Linux 6 Instituto Nacional de Estadística e Informática Introducción a LINUX 1. ¿Qué es el LINUX? Linux es un Sistema Operativo, una versión de Unix libremente distribuible e independiente, para plataformas con maquinas x86, Motorola 68k, Digital Alpha, Sparc, Mips y Motorola Power PC. Es una implantación de la especificación POSIX con la cual cumplen todas las verdaderas versiones de Unix. El núcleo de Linux no usa código de AT&T o de cualquier otra fuente propietaria, la mayoría de los programas disponible para Linux es desarrollado por el proyecto GNU de la Free Software Foundation (Fundación de Programas Libres). Este soporta un amplio espectro de aplicaciones o paquetes de programación tales como X Window, Emacs, redes de datos bajo protocolos TCP/IP (incluyendo SLIP, PPP, ISDN). Mucha gente ha corrido benchmarks en sistemas Linux 80486 consiguiendo a estos comparable con estaciones de rango-medio de Sun y Digital. Linux esta disponible en Internet en cientos de servidores ftp y de varios distribuidores en discos flexibles o CD-ROM, alguno de estos son Caldera, Debian, Slakware, Red Hat, entre otros. Uno de los sitios de ftp más famoso es el ftp://sunsite.unc.edu/pub/Linux/distributions, con decenas de servidores espejos alrededor del mundo. El núcleo de Linux esta legalmente protegido por la Licencia Publica GNU (GPL de sus siglas en inglés), es usualmente empaquetado con varios ejecutables que comprenden un sistema operativo Unix funcional. Estos paquetes de programas son llamados "distribuciones" y vienen en muchos tamaños y arreglos. Linux esta siendo usado por cientos de miles de personas alrededor del mundo. Es usado para desarrollo de programas, redes (Intranet e Internet), y como plataforma para usuarios finales. Linux se ha convertido en una alternativa efectiva comparándolo con costosos sistemas Unix y de otros Sistemas Operativos. Instituto Nacional de Estadística e Informática 7 Introducción a LINUX 2. Historia de LINUX Linux fue creado originalmente por Linus Torvalds en la Universidad de Helsinki en Finlandia. Inicialmente, sólo fue un proyecto de aficionado de Linus Torvalds. Se inspiraba en Minix, un pequeño UNIX desarrollado por Andy Tanenbaum, y las primeras discusiones sobre Linux surgieron en el grupo de noticias comp.os.minix. Estas discusiones giraban en torno al desarrollo de un pequeño sistema UNIX de carácter académico dirigido a aquellos usuarios de Minix que querían algo más. El desarrollo inicial de Linux ya aprovechaba las características de conmutación de tareas en modo protegido del 386, y se escribió todo en ensamblador. Linus dice, "Comencé a utilizar el C tras escribir algunos drivers, y ciertamente se aceleró el desarrollo. En este punto sentí que mi idea de hacer "un Minix mejor que Minix" se hacía más seria. Esperaba que algún día pudiese recompilar el gcc bajo Linux... "Dos meses de trabajo, hasta que tuve un driver de discos con numerosos bugs, pero que parecía funcionar en mi PC y un pequeño sistema de ficheros. Aquí tenía ya la versión 0.01 [al final de Agosto de 1991]; no era muy agradable de usar sin el driver de disquetes, y no hacía gran cosa. No pensé que alguien compilaría esa versión." Linus Torvalds durante una conferencia en Buenos Aires (Junio 1996) No se anunció nada sobre esa versión, puesto que las fuentes del 0.01 jamás fueron ejecutables: contenían solo rudimentos de lo que sería el núcleo , y se asumía que se tenía acceso a un Minix para poderlo compilar y jugar con él. 8 Instituto Nacional de Estadística e Informática Introducción a LINUX El 5 de Octubre de 1991, Linus anunció la primera versión "oficial" de Linux, la 0.02. Ya podía ejecutar bash (el shell de GNU) y gcc (el compilador de C de GNU), pero no hacía mucho más. La intención era ser un juguete para hackers. No había nada sobre soporte a usuarios, distribuciones, documentación ni nada parecido. Hoy, la comunidad de Linux aun trata estos asuntos de forma secundaria. Lo primero sigue siendo el desarrollo del kernel. Linus escribía en comp.os.minix. "¿Suspiráis al recordar aquellos días de Minix-1.1, cuando los hombres eran hombres y escribían sus propios drivers? ¿Os sentís sin ningún proyecto interesante y os gustaría tener un verdadero S.O. que pudierais modificar a placer? ¿Os resulta frustrante el tener solo a Minix? Entonces, este artículo es para vosotros. "Como dije hace un mes, estoy trabajando en una versión gratuita de algo parecido a Minix para ordenadores At-386. He alcanzado la etapa en la que puede ser utilizable y voy a poner las fuentes para su distribución. Es solo la versión 0.02. pero he conseguido ejecutar en él bash, gcc, gnu-make, gnu-sed, compress, etc." Tras numerosas revisiones, se alcanzó la versión 0.95, reflejando la esperanza de tener lista muy pronto una versión "oficial". (Generalmente, la versión 1.0 de los programas se corresponden con la primera teóricamente completa y sin errores). Esto sucedía en Marzo de 1992. Año y medio después, en Diciembre del 93, el núcleo estaba en la revisión 0.99.pl14, en una aproximación asintótica al 1.0. Actualmente, el núcleo se encuentra en la versión 2.2.x Hoy Linux es ya un clónico de UNIX completo, capaz de ejecutar X Window, TCP/IP, Emacs, UUCP y software de correo y News. Mucho software de libre distribución ha sido ya portado a Linux, y están empezando a aparecer aplicaciones comerciales. El hardware soportado es mucho mayor que en las primeras versiones del núcleo. Mucha gente ha ejecutado tests de rendimiento en sus sistemas Linux 486 y se han encontrado que son comparables a las estaciones de trabajo de gama media de Sun Microsystems y Digital. ¿Quién iba a imaginar que este "pequeño" clónico de UNIX iba a convertirse en un estándar mundial para los ordenadores personales? como lo es hoy en día. Instituto Nacional de Estadística e Informática 9 Introducción a LINUX 3. ¿Porqué LINUX? Cuando se desarrollo el sistema operativo Linux, muchos pensaban que no tendría éxito. A lo más podría tener un éxito de corto plazo. Probablemente sería rápidamente olvidado como OS/2, Nextstep, Interactive, y otras alternativas comerciales maduras. Hoy Linux cuenta con decenas de miles, si no millones, de entusiastas usuarios, y estamos seguros de que Linux disfrutará de éxito por largo tiempo. La lista de rasgos actuales de Linux es impresionante. Por ejemplo, corre en un rango más ancho de equipos PC que cualquier otro SO no-Microsoft. Cuando usted también considera que Linux corre sobre computadoras Alpha de Digital, Sun SPARC y ahora hardware Apple PowerMac, Linux igual aventaja a otros SOs. Además, ofrece un ambiente fiable y estable de multitasking /multithreading en todas éstas plataformas, con apoyo para SMP (multiprocesamiento simétrico), y una amplia lista de hardware drivers para virtualmente todos los hardware populares. Sin embargo, los factores que asegurarán el éxito a largo plazo de Linux tienen poco que ver con la lista actual de rasgos, y mucho más con cómo es licenciado. 3.1 ¿Cómo es Licenciado Linux? Todos estos rasgos parecen notables más aun cuando usted considera que es libremente distribuido bajo los términos de la licencia GPL. Simplemente con poner esta licencia permite a cualquiera trabajar en Linux proporcionando a ellos hacer que sus cambios estén disponibles bajo los mismos términos. Esto significa que mientras Linux puede ser (y es) vendido en una variedad de formas, puede también ser bajado o ser copiado sin costo o restricción. La GPL no es el único tipo de licencia de software free, y Linux se beneficia de software licenciado bajo varios otros tipos de licencias de software libremente-distribuible. Los cuatro tipos principales son: Software del Dominio público (Public Domain Software), Shareware, derechos de propiedad de tipo-BSD, y la Licencia Pública General (GPL). Hay pros y contras en cada uno de estos, pero para proyectos de desarrollo de software cooperativo nosotros preferimos la GPL y aquí esta por qué: La GPL le permite toda la libertad de los otros, con un beneficio agregado - no a usted o su autor - pero un beneficio para el propio proyecto: Requiriendo que si usted puso cualquier cambio o agregado al código GPL que usted pidió prestado queden bajo los mismos términos de GPL, 10 Instituto Nacional de Estadística e Informática Introducción a LINUX asegurándose que ningún desarrollador gana alguna ventaja encima de otros contribuyentes del desarrollo. (Software en el que simplemente corre sobre de o usa Linux u otro código de GPL pueden ponerse bajo cualquier derecho de propiedad que usted escoja). Esto resuelve problemas como ocurrió en el proyecto de UNIX original. AT&T sostuvo los derechos de propiedad de UNIX y muchos grupos incluso el de la Universidad de California de Berkeley les ayudaron a construirlo. Cuando estuvo terminado, AT&T ejerció sus derechos de propiedad para restringir todo el uso de la tecnología que se había construido cooperativamente. Bajo la GPL el derecho de propiedad de Linux puede ser sostenido por Linus Torvalds y otros pero ellos no tienen ningún mayor derecho para restringir el uso de él que usted o Red Hat hacen. Esta carga pequeña de falta de control restrictivo asegura que Linux y sus tecnologías relacionadas continuarán evolucionando para el beneficio igual de todos sus usuarios. 3.2 ¿De donde vienen los recursos para desarrollo de Linux? ¿Cómo puede un SO gratis que al parecer no tiene dinero detrás de él ser competitivo con productos de las compañías de software de computadora más ricas del mundo? Las apariencias pueden engañar. Hay de hecho una porción de dinero que se invierte en desarrollo de Linux. Compañías comerciales de Linux como Red Hat Software y otras, invierten directamente en Linux a través de código que sus programadores escriben y contribuyen bajo la GPL, y dinero que es donado a los equipos de desarrollo Linux más importantes como la Fundación de Software Libre y los proyectos GNU, la LDP y a los responsables por la documentación de Linux, y al equipo XFree86 y su Servidor de X. El papel de Red Hat Software en el desarrollo de Linux se relaciona con que los desarrolladores de Linux que son principalmente indiferentes en las características de facilidad-de-uso. Si usted tiene las habilidades para ayudar escribir un código de sistema operativo también usted tiene las habilidades para instalar y manejar un SO sin usar menús pull-down, cajas del diálogo, y Instituto Nacional de Estadística e Informática 11 Introducción a LINUX herramientas de configuración. Rasgos, que la mayoría de las personas a quiénes podría beneficiar el uso un sistema operativo avanzado, requieren para usarlo productivamente. La historia de Red Hat Linux ilustra este punto. En 1994 Marc Ewing, un graduado del famoso programa de informática de Carnegie Mellon, estaba trabajando a IBM. En su tiempo libre él estaba construyendo la herramienta de desarrollo más avanzada del mundo. Sus máquinas de desarrollo eran una pareja de workstations Linux. Ellos estaban ejecutando SLS Linux que él había tenido que parchar y modificar substancialmente. Cuando él encontró que no estaba teniendo el progreso que él esperó en su proyecto, se detuvo y analizó el uso de su tiempo. Él descubrió que estaba gastando más tiempo manteniendo su workstations Linux que lo que estaba trabajando en su proyecto. De esa manera se detuvo y decidió que el mundo realmente no necesita otra herramienta de desarrollo, pero sí una mejor distribución de Linux. Así empezó el proyecto de Linux Red Hat proyectándose sobre las limitaciones de Linux que él había experimentado personalmente. Un ejemplo de esto es RPM - posiblemente el sistema de software de manejo de paquetes más avanzado y sofisticado de la industria de computadoras. Los RPM permiten a los usuarios de Linux instalar nuevos paquetes o actualizar los viejos, sin todas las pruebas y los errores de poner los archivos apropiados en los directorios correctos, construyendo los links necesarios, y en el caso de las actualizaciones borrando los archivos y links viejos. Los RPM hacen todo esto por el usuario incluyendo advertir al usuario de otros programas y archivos que el nuevo programa requiera por lo que no pueda instalarse todavía, ahorrando, a nuevos usuarios y desarrolladores experimentados, horas de administración y de mantenimiento del sistema. Contribuyendo con valiosos rasgos de facilidad-de-uso al SO Linux bajo GPL, Red Hat ha hecho al Linux SO útil para un número mayor de usuarios de computadoras los cuales extienden a la comunidad de Linux. A su vez Red Hat puede hacer ventas de CD Linux, libros y aplicaciones las que ensanchan rápidamente el mercado de Linux. Pero las contribuciones de compañías como Red Hat Software sólo representan una parte pequeña de los fondos que entran en el desarrollo de Linux. ♦ Linux es construido por los usuarios para los usuarios: El volumen de desarrollo de Linux es consolidado por los desarrolladores que trabajan en Linux para aplicarlo a los proyectos o aplicaciones que ellos necesitan. Desde proyectos de super-computación de NASA a desarrollo de software de empresas como Empress Software, el trabajo es consolidado por los usuarios para su propio beneficio. El hecho de que este trabajo también beneficia de gran forma a la comunidad usuaria de Linux es simplemente una realidad en el verdadero sentido de esa palabra. La historia del disco ZIP Iomega en Linux es un buen ejemplo. Grant Guenther, el diseñador en jefe de los fabricantes de bases de datos Empress Software Inc. (http://www.empress.com/) estaba 12 Instituto Nacional de Estadística e Informática Introducción a LINUX animando el uso de Linux como OS de desarrollo de Empress. Dieron acceso a sus equipos de desarrollo a workstations de bajo costo para el trabajo y para la casa. Cuando Empress escogió el ZIP drive como estándar para la compañía para transferir datos, Grant encontró que ellos no tenían soporte para Linux. El tenía opciones y tenía que hacer una decisión. Abandonar Linux y comprar números significantes de las licencias caras de las alternativas comerciales, las que vienen sin compiladores o códigos fuente - dos de las valiosas características de Linux para los desarrolladores de software - o gastar algún tiempo investigando y escribiendo su propio driver ZIP para Linux. Lo que hizo. Grant, como jefe de desarrollo de una compañía de base de datos comercial tenía ambas habilidades y estaba entrenando para hacer bien este trabajo. Habiéndolo construido, lo anunció entonces en Internet pidiendo ayuda para probarlo y mejorarlo. Asi, rápidamente se volvió parte del SO Linux para el uso de cualquiera que tuviera un drive ZIP de Iomega. ♦ Desarrollo de Linux continuado: Empress Software podría haber cobrado varios miles de dólares por los servicios que Grant hizo por escribir profesionalmente semejante driver. Bajo el modelo de Linux/GNU en el que el incentivo directo no está en el dinero en efectivo pero el beneficio indirecto para él y Empress radica en el uso que le dan a Linux. Ahora considere a Empress y Red Hat son sólo dos de varias miles de organizaciones las que incluyen literalmente todas las grandes instituciones de investigación gubernamentales, la mayoría de las Universidades y una mayoría de los equipos de investigación comercial y de desarrollo de software, y de usted que empieza a concebir una idea del notable alcance y calidad del SO Linux no son ningún accidente. La grande (y creciente) cantidad de esfuerzo en desarrollo detrás de Linux resulta, en esta tecnología, que se mantenga o sobrepase cualquier proyecto comercial de SOs que usted pueda nombrar. Un ejemplo ilustrativo es la seguridad. Debido a la naturaleza extensamente abierta de Linux y sus fuentes disponibles, se identifican problemas de seguridad, se debaten, y se reparan en tiempo real. El problema se discute abiertamente, los parches se prueban ampliamente, y el problema es trabajado hasta que es resuelto para la satisfacción de todos. Mientras esta discusión abierta de problemas de seguridad en Linux tiene, de vez en cuando, a los usuarios de SOs tradicionales desconcertados al pensar que Linux tiene problemas de seguridad a decir verdad: todos los SOs tienen problemas de seguridad, Linux simplemente los identifica y los resuelve más rápido. Cuando nos ponemos a pensar de cuantas compañías como Red Hat pueden tener éxito compitiendo con gigantes corporativos en el negocio de los sistemas operativos, nosotros pensamos en personas como Grant Guenther, en desarrolladores de la Universidad de Helsinki, en la National Aeronautics and Space Administration (NASA), en todas las universidades y en los Instituto Nacional de Estadística e Informática 13 Introducción a LINUX equipos de investigación comerciales que funcionan alrededor del mundo sobre Linux. De pronto la pregunta se da vuelta... "¿Cómo es que estos gigantes van a competir con Linux?" 3.3 Características Principales El Sistema Operativo Linux presenta las siguientes características: Multitarea: varios programas (realmente procesos) • ejecutándose al mismo tiempo. Multiusuario: varios usuarios en la misma máquina al • mismo tiempo (¡y sin tener que comprar licencias para cada usuario!). Multiplataforma: corre en muchas CPUs distintas, no • sólo Intel. Funciona en modo protegido 386. • Tiene protección de la memoria entre procesos, de • manera que uno de ellos no pueda colgar el sistema. [No como otros sistemas que todos conocemos ] Carga de ejecutables por demanda: Linux sólo lee de disco aquellas partes de un • programa que están siendo usadas actualmente. Política de copia en escritura para la compartición de páginas entre ejecutables: esto • significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: • una partición o un archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más áreas de intercambio sobre la marcha (se sigue denominando intercambio, es en realidad un intercambio de páginas). Un total de 16 zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas en un momento dado con un límite teórico de 2Gb para intercambio. La memoria se gestiona como un recurso unificado para los programas de usuario y • para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y éste puede a su vez ser reducido cuando se ejecuten grandes programas. Librerías compartidas de carga dinámica (DLL's) y librerías estáticas también, por supuesto. • • • • 14 Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo. Casi totalmente compatible con POSIX, System V y BSD a nivel fuente. Mediante un módulo de emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario. Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. Hay algunos programas comerciales que están Instituto Nacional de Estadística e Informática Introducción a LINUX • • • • • • • • • • • • • 3.4 siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. Control de tareas POSIX. Pseudo-terminales (pty's). Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por supuesto, si tu ordenador ya tiene una FPU (unidad de coma flotante), será usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria. Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente. Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinámicamente y puedes tener hasta 64. Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo típicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud. Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no necesitas ningún comando especial para usar la partición MS-DOS, parece un sistema de archivos normal de Unix (excepto por algunas graciosas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido añadido al núcleo de desarrollo y estará en la próxima versión estable. (Está de hecho disponible desde principios de 1997) Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. Soporte en sólo lectura de HPFS-2 del OS/2 2.1 Sistema de archivos de CD-ROM que lee todos los formatos estándar de CDROM. TCP/IP, incluyendo ftp, telnet, NFS, etc. Appletalk disponible en el actual núcleo de desarrollo. Software cliente y servidor Netware disponible en los núcleos de desarrollo. (Ya está disponible de forma standar) Ventajas de Linux frente a otros S.O. Muchos somos conscientes de que el mayor inconveniente de cualquier sistema Unix, Linux incluido, es la 'empinada' curva de aprendizaje que se le obliga a 'subir' al usuario tipo de cualquier otro sistema operativo. Muchas veces termina uno preguntándose si realmente merece la pena ese esfuerzo. Instituto Nacional de Estadística e Informática 15 Introducción a LINUX Normalmente, ese tipo de preguntas suelen aparecer durante las primeras semanas de aprendizaje del sistema, cuando todavía no se ha obtenido una visión global de sus posibilidades. Con el tiempo, uno aprende a pensar de una forma radicalmente diferente a la que tenía cuando se sentaba delante de otros S.O. propietarios, como el OS/2, (ya vencido), System 7, de Mac o los Win95 o NT de Microsoft. Con estos sistemas, uno se acostumbra a 'ver' solo las opciones que el sistema le presente, mientras que en cualquier Unix, lo que no se te presenta directamente, enseguida estás pensando en como hacerlo. Este cambio de mentalidad delante del sistema se convierte en un pequeño reto diario que los usuarios de Linux solemos disfrutar cada día. OS/2 y Windows NT son sistemas operativos completamente multitarea, muy parecidos a Linux. Técnicamente, OS/2, Windows NT y Linux son bastante similares: Soportan aproximadamente las mismas características en términos de interfaz de usuario, redes, seguridad, y demás. Sin embargo, la diferencia real entre Linux y los otros es el hecho de que Linux es una versión de UNIX, y por ello se beneficia de las contribuciones de la comunidad UNIX en pleno. ¿Qué hace a UNIX tan importante? No solo es el sistema operativo más popular para máquinas multiusuario, también es la base de la mayoría del mundo del software de libre distribución. Si tiene acceso a Internet, casi todo el software de libre distribución disponible está específicamente escrito para sistemas UNIX. (Internet en si está profundamente basada en UNIX.) Hay muchas implementaciones de UNIX, de muchos vendedores, y ni una sola organización es responsable de su distribución. Hay un gran pulso en la comunidad UNIX por la estandarización en forma de sistemas abiertos, pero ninguna corporación controla este diseño. Por eso, ningún vendedor (o, como parece, ningún hacker) puede adoptar estos estándares en una implementación de UNIX. Por otro lado, OS/2 y Windows NT son sistemas propietarios. El interface y diseño están controlados por una sola corporación, y solo esa corporación puede implementar ese diseño. (No espere encontrar una versión gratis de OS/2 en un futuro cercano.) De alguna forma, este tipo de organización es beneficiosa: establece un estándar estricto para la programación y el interfaz de usuario distinto al encontrado incluso en la comunidad de sistemas abiertos. OS/2 es OS/2 vaya donde vaya lo mismo ocurre con Windows NT.Sin embargo, el interface UNIX está constantemente desarrollándose y cambiando. Varias organizaciones están intentando estandarizar el modelo de programación, pero la tarea es muy difícil. Linux, en particular, es en su mayoría compatible con el estándar POSIX. para el interface de programación UNIX. A medida que pase el tiempo, se espera que el sistema se adhiera a otros estándares, pero la estandarización no es la etapa primaria en la comunidad de desarrollo de Linux. 16 Instituto Nacional de Estadística e Informática Introducción a LINUX Entre las ventajas más saltantes de Linux podemos mencionar las siguientes: • • • • • • • • • • • • • Linux representa la mejor variante de UNIX, al cual se le ha confiado aplicaciones de misión crítica y -debido a su código fuente abierto -- tiene una credibilidad a largo plazo que excede a muchos otros SO que compiten con él. La mayor parte de las aplicaciones primarias que la gente requiere cuando se desplazan hacia Linux ya están disponibles de manera gratuita. Entre estos están los servidores de web, clientes POP, servidores de correo, editores de texto, etc. Un usuario avanzado del GUI de Win32 tendría que pasar por un período corto de aprendizaje para hacerse productivo [bajo Linux]. Las virtudes de Linux incluyen: Personalización... Disponibilidad / Confiabilidad ... Escalabilidad / Desempeño... Interoperabilidad... Linux está emergiendo como un sistema operativo clave dentro del mercado de servidores. Utilizando los requerimientos actuales para servidores, Linux es una alternativa creíble para los servidores desarrollados de manera comercial en muchas aplicaciones de alto volumen. Se puede usar en casi cualquier computadora, desde una 386. Puede manejar múltiples procesadores. Incluso hasta 16 procesadores. Libre de virus, aun no se conoce ningún virus para Linux. Maneja discos duros de hasta 16 TeraBytes. Se posee el apoyo de millones de usuarios a nivel mundial. Los fabricantes de Hardware le están dando su apoyo, como IBM y COMPAQ. La ventaja más contundente se encuentra en la relación costo beneficio, a comparación de otros SOs. Como ejemplo mostramos el costo de una solución para redes con Microsoft Windows NT 4.0 y con Linux S.u.S.e. 5.2 Cuadro Comparativo Windows NT 4.0 - Linux Servicio Microsoft Costo Sistema Operativo Windows NT Server 4.0 US $ 2.950,00 Linux Costo S.u.S.E. Linux 5.2 US $ 89,00 Apache US $ 0,00 Web Server Internet Information Server (I IS) E-Mail Exchange 5.0 Enterprise US $ 6.400,00 Sendmail, UW I MAP, US $ POP-3 0,00 Telnet server SLNet (4 usuarios) US $ 300,00 Incluida licencia libre ilimitada US $ 0,00 FTP server Incluido con I IS US $ 0,00 Incluido US $ 0,00 Base de datos relacional SQL Server 6.5 US $ 10.650,00 ADABAS D US $ 250,00 Proxy Server Microsoft Proxy Server US $ 995,00 Squid Object Cache US $ 0,00 Backup Software Incluido US $ 0,00 Backup Arkeia US $ 0,00 Costo Total US $ 0,00 US$ 20.995,00 Instituto Nacional de Estadística e Informática US$ 339,00 17 Introducción a LINUX 4. Estructura de LINUX "Linux" técnicamente es solamente el Kernel, no el SO de soporte. Para poder crear un producto útil, las "distribuciones" de Linux son creadas cuando se relaciona el Kernel, manejadores y aplicaciones y muchos otros componentes necesarios para tener una experiencia plena del UNIX/GUI. Los subsistemas son desarrollados típicamente dentro del esquema del OSS, así como varios de ellos – ej. el Xfree86 GUI – tienen una base de código fuente de tamaño/complejidad que excede el Kernel de Linux. Estos componentes externos vienen de muchas fuentes, y son escogidos individualmente por el vendedor de la distribución de un producto en particular. Un fuente frecuente de controversia surge debido a que los vendedores de distribución conectan código que no es GPL con el kernel de Linux y lo distribuyen de manera masiva. COMPONENTES DE LINUX Componente Encargado(s) de Proporcionarlo / Mantenerlo Código Fuente Base/Nombre Kernel SO Básico, Conexión en Red, Stacks Linux Sistema(s) de Archivos MSDOS, EXT2FS Kernel de Linux Biblioteca de System Glibc, Lib5c GNU/FSF Manejadores (http://www.kernel.org/ ) Contribuidores Inidividuales, Linux Herramientas para Usuarios Herramientas para Usuarios de GNU GNU/FSF Instalación del System LISA Caldera Instalación de Aplicaciones Mantenimiento Red Hat Package Manager Red Hat Herramientas de Desarrollo Herramientas de Desarrollo GNU GCC GNU/FSF Servidor de Web APACHE El Grupo Apache http://www.apache.org/ Servidor de Correos SendMail http://www.sendmail.org/ Servidor de DNS BIND http://www.bind.org/ Servidor X Xfree86 / Metro X Proyecto Xfree86/ comercial Manejador de Ventanas FVWM GPL Widgets Motif X Consortium Herramientas de Escritorio X Contrib, KDE Gnome X Consortium http://www.kde.org/ http://www.gnome.org/ Mantenimiento Paquetes RPM Instalados Específico de cada distribución Red Hat (gratuito) Debian / Slackware Metro X Descripción Detallada 18 Instituto Nacional de Estadística e Informática Introducción a LINUX 4.1 Kernel GPL El Kernel es la parte central de Linux que está manejada expresamente por Linus Torvalds y sus lugartenientes y está protegida vía GPL. Las funciones contenidas dentro del Kernel de Linux son: • • • Características centrales del SO (distribución del tiempo, administración de la memoria, hilos, abstracción del hardware, etc.). Stack de red Sistema de archivos Se puede encontrar una extensa documentación sobre la arquitectura del Kernel de Linux y de sus componentes en: http://sunsite.unc.edu/linux/LDP/tlk/tlk.html. Nótese que los manejadores de video existen fuera del Kernel – el Kernel sólo tiene soporte para un desplegado en modo de texto para la consola. El Kernel de Linux esta en constante actualización y es el núcleo central de todas las distribuciones Linux. Las versiones se dividen en 3 categorías: estable, alpha y beta. Las versiones estables, son las que han sido totalmente probadas y son la base de todas las distribuciones. Instituto Nacional de Estadística e Informática 19 Introducción a LINUX Las versiones alpha son las que están en una etapa previa de evaluación entre la beta y la estable y son las candidatas a la próxima versión estable. Las versiones beta son versiones estrictamente de evaluación, en la que se incorporan mejoras o novedades que deben ser debidamente evaluadas, antes de pasar a la etapas de alpha y estable. Las versiones actuales son: Ultima Versión estable:2.2.14 Ultima Versión Alpha: 2.3.99/3-6 Ultima Versión Beta: 2.3.99-pre2 4.2 Manejadores – GPL Son componentes típicos de una distribución de Kernel un conjunto variado de módulos para funciones y dispositivos estándar. Además, frecuentemente se incluye una selección de módulos no estándar. Sin embargo, en algunos casos en que el software es en su mayor parte GPL, pero que los NDA con los fabricantes de hardware son obligados a proporcionar especificaciones para hacer un controlador, en cuyo caso no son de fuente abierta. Los manejadores de dispositivos de Linux son típicamente desarrollados por usuarios de dispositivos específicos sobre sus máquinas. Este proceso acumulativo de poquito en poquito ha creado un gran conjunto de manejadores de dispositivos para Linux (hasta el 1 de Julio de 1998): • • • Vídeo: http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-6.html– cerca de 400 manejadores dispositivos disponibles. Red: http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-11.html – cerca de 75 tarjetas de red tienen soporte. PCMCIA: http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-26.html – cerca de 150 tarjetas con soporte. NatBro señala que: Una importante característica a notar, que ha llevado a ese volumen de manejadores, es la facilidad con que usted puede escribir manejadores para Linux, y la infraestructura de depuración relativamente poderosa que Linux tiene. Encontrar e instalar el DDK y tratar de unirlo a un depurador del kernel y realizar cualquier tipo de interacción con el modo de usuarios sin romper en pedazos el sistema NT implica un reto bastante mayor que escribir un manejador sencillo de dispositivo para Linux. Cualquiera podría escribir un manejador en dos días con un libro como "Manejadores de Dispositivos de Linux" – no hay tal cosa como un manejador de dispositivo en dos días para NT. 20 Instituto Nacional de Estadística e Informática Introducción a LINUX Recientemente, varios vendedores pequeños de hardware han comenzado a proporcionar manejadores para sus NICs (3Com) y adaptadores SCSI (Adaptec). Se cree que estos dispositivos serán protegidos por la Librería-GPL y por lo tanto no serán software abierto (la Librería-GPL será descrita posteriormente). Librerías de Sistema y Aplicaciones – GNU GPL Las librerías de sistema proporcionan: • • API POSIX básicos para servicios de sistema. API básicos para utilerías de líneas de comando/shell. Las librerías de sistemas dentro de una distribución de Linux NO son manejadas por Linux. Como tales, se ha presentado un poco de escisiones en esta área con dos librerías dominantes – glibc y lib5c – quienes introducen incompatibilidades menores entre diferentes aplicaciones. 4.3 Herramientas de Usuario Herramientas del Usuario (GPL, GNU FSF) Estas son herramientas de línea de comando de UNIX y ambientes de shell básicos. Existen muchos ambientes de shell, aunque todos tienen soporte para FSF. También, dentro de esta categoría están las viejas aplicaciones "stand by" tales como Finger, Telnet, etc. Herramientas de Desarrollo (GPL) Uno de los éxitos del sistema operativo UNIX es la disponibilidad gratuita de herramientas de desarrollo/compilación. Los compiladores de lenguaje GCC y PERL son frecuentemente proporcionados de manera gratuita para todas las versiones de Linux y están disponibles también para otras variantes de UNIX. Para los estándares del desarrollador novato/intermedio para VB/VS/VC/VJ, estas herramientas son increíblemente primitivas. 4.4 X SERVER El X Server pertenece a MIT, quien se lo concesiona a la X Consortium. Las prácticas de licenciamiento de X Consortium son vistas como demasiado limitantes por la gente de OSS, por lo que se lanzaron una serie de iniciativas públicas X. Entre las que se lanzaron, el Xfree86 se convirtió en la distribución dominante. Lo que es interesante es que la licencia del equipo de desarrollo de Xfree86 está bajo la licencia de BSD, debido a que consideran a la GPL demasiado restrictiva: http://www.redhat.com/linuxinfo/xfree86/developer.html. Instituto Nacional de Estadística e Informática 21 Introducción a LINUX La configuración del sistema Xfree86 sobre Linux puede ser un proceso bastante difícil, que consume mucho tiempo. Linux no tiene capa de abstracción de hardware para los servicios de video, y la mayor parte de los fabricantes de tarjeta de video no proporcionan manejadores de video para el SO Linux. Así, Xfree86 proporciona soporte interno para una amplia variedad de tarjetas de video y chipsets. Una configuración correcta de Xfree86 requiere de que el usuario conozca al fabricante, modelo y chipset de su tarjeta de video. En muchos casos, el usuario deberá conocer o calcular la sincronización de video. 4.5 Widgets y Desktops Existen muchos conjuntos de widget que existen en muchas aplicaciones, por lo que no todas las aplicaciones X parecen ser la misma o actúan de la misma manera que Windows. Se le considera a Motif como el conjunto de widget de UNIX de facto, pero debido a que no se puede distribuir libremente, ésta es contraria al modelo de Linux. Por lo tanto, las distribuciones de Linux generalmente escogen uno de tantos conjuntos Widget, aunque no sean completamente compatibles. • • • • Motif LessTif Xaw3d (widgets 3d athena que se ven como los de Motif) Qt Obviamente, este caos ha entorpecido varios esfuerzos para unificar el "desktop", así como los conjuntos widget. A la típica manera Linux, existen varios esfuerzos que compiten entre sí: • • • • 4.6 Gnome / totalmente nuevo KDE FreeQT / KDE CDE / Comercial Servidor WEB – Apache Apache es un "programa de servidores", que son el cerebro y corazón de poderosos ordenadores que administran los sitios Web. Contrariamente a los programas comerciales, distribuidos en determinados códigos ejecutable -que el ordenador comprende-, Apache es un programa libre (freeware). Apache está publicado sobre Internet en un código original, el código fuente, que cada uno es libre de rescribir a su gusto para adaptar mejor el programa a sus necesidades específicas o rectificar errores. 22 Instituto Nacional de Estadística e Informática Introducción a LINUX La única obligación es que esta nueva versión de Apache debe ser publicada a su turno sobre Internet en código fuente. Forma así una comunidad de un potencial de millones de profesionales que participan en el desarrollo del programa. Según la publicación mensual de estadísticas sobre Internet Netcraft, Apache equipe al 49% de los sites Web. Apache compite directamente con un servidor desarrollado por Netscape y con un producto de Microsoft, Internet Information Server (IIS). ¿Que es Apache? Apache se basó originalmente en codificación e ideas basadas en el servidor HTTP mas popular de todos, el NCSA httpd 1.3 (principios de 1995). Esto ha desencaminado en un sistema que puede rivalizar (y probablemente sobrepasar) a casi cualquier otro servidor basado en UNIX HTTP en cuanto a funcionalidad, eficacia y rapidez. Desde su comienzo, se ha vuelto a escribir completamente, e incluye muchos rasgos nuevos. Apache, actualmente, es el servidor WWW mas popular en Internet, según el Netcraft Survey. ¿Por que se creo Apache? Apache fue creado para enviar las preocupaciones de un grupo de proveedores WWW y programadores httpd a los cuales ese httpd no se porto como querían que se portara. Apache es producto de un esfuerzo enteramente voluntario, completamente consolidado por sus miembros, no por ventas comerciales. Instituto Nacional de Estadística e Informática 23 Introducción a LINUX ¿Como hace el grupo de trabajo del Apache para relatar sus esfuerzos a otros servidores tales como NCSA? Ellos, por supuesto, tienen una gran deuda con NCSA y sus programadores porque el servidor Apache este basado en el. De todos modos, ahora ellos tienen su propio servidor y su proyecto es mayormente de ellos. El Proyecto Apache es una empresa enteramente independiente. ¿De donde viene el nombre de Apache? El nombre de Apache viene de "A PAtCHy server", (Un servidor lleno de remiendos). Estaba basado en alguna codificación existente y en una serie de archivos "parche". ¿Como se compara Apache con otros servidores? Apache ha mostrado ser substancialmente mas rápido que muchos otros servidores libres. Aunque seguro que los servidores comerciales han exigido superar la rapidez del Apache, ellos opinan que es mejor tener un servidor libre y en su mayor parte rápido, que un servidor extremadamente rápido pero que cueste miles de dólares. Apache funciona en sitios que tienen millones de usos al día, y estas se ejecutan sin complicaciones. ¿Como se ha comprobado totalmente el Apache? Para garantizar que funciona completamente hay que tener en cuenta que Apache esta en mas de 500,000 servidores en Internet, y se ha probado completamente por servidores y usuarios. Aparte, el Grupo Apache mantiene normas rigurosas antes de lanzar versiones nuevas de su servidor. Este corre sobre una tercera parte de los servidores WWW disponibles en Internet. Cuando aparecen "Bugs" el Grupo Apache lanza parches y versiones nuevas en cuanto estas están disponibles. La Pagina Web del Proyecto Apache (http://www.apache.org/ )incluye una lista parcial de los sitios que funcionan con Apache. ¿Cuáles son sus planes de futuro? • • • • Continuar como un servidor público de HTTP. Seguir con los adelantos en protocolo HTTP y desarrollos del Web en general. Recoger sugerencias de los usuarios para ajustes y mejoras. Responder a las necesidades de un gran numero de proveedores así como a usuarios. ¿Con quien tengo que contactar para recibir ayuda? No hay ningún soporte oficial de Apache. Ninguno de los desarrolladores quiere sumergirse en un mar de preguntas triviales que se pueden resolver en otra parte. Informes de "bugs" y sugerencias deben enviarse vía pagina de informe de "bugs". Otras preguntas deben dirigirse al comp.infosystems.www.servers.unix newsgroup donde alguien del equipo Apache que este en ese momento debería ser capaz de ayudar. 24 Instituto Nacional de Estadística e Informática Introducción a LINUX ¿Existe mas información sobre Apache? Por supuesto que si. En esta misma pagina hay una lista de direcciones en Internet sobre Apache. ¿Donde se puede conseguir el Apache? Puede enterarse de como bajarse la fuente del Apache en la página del Proyecto Apache en Internet http://www.apache.org/ ¿Cuál es Apache? la ultima versión de Apache se encuentra actualmente en su versión 1.3.12 la cual puede ser descargada de su sitio web http://www.apache.org Adicionalmente ya se encuentra en su etapa Alpha la próxima versión 2.0 la cual también puede ser descargada. 4.7 Servidor de Correo – Sendmail Sendmail es el agente de transporte de correo más común de Internet (en los sistemas UNIX). Aunque actúa principalmente como MTA, también puede ser utilizado como MUA (aunque no posee interfaz de usuario). Las misiones básicas de sendmail son las siguientes: • • • • • • Recogida de mails provinientes de un Mail User Agent (MUA) como pueden ser elm, Eudora o pine; o provinientes de un Mail Transport Agent (MTA) como puede ser el propio sendmail. Elección de la estrategia de reparto de los mails, basándose en la información de la dirección del destinatario contenida en la cabecera: Si el mail es local en nuestro sistema, enviará el mail al programa de reparto local de mails. Si el mail no es local, sendmail utilizará el DNS de nuestro sistema para determinar el host al que debe ser enviado el mail. Para transferir el mensaje, iniciará una sesión SMTP con el MTA de dicho host. Si no es posible mandar el mail a su destino (porque la maquina receptora esta desconectada, o va muy lenta), sendmail almacenará los mails en una cola de correo, y volverá a intentar el envío del mail un tiempo después. Si el mail no puede ser enviado tras un tiempo razonable, el mail será devuelto a su autor con un mensaje de error. Sendmail debe garantizar que cada mensaje llegue correctamente a su destino, o si hay error este debe ser notificado (ningún mail debe perderse completamente). Reformatear el mail antes de pasarlo a la siguiente máquina, según unas reglas de reescritura. Según el tipo de conexión que poseamos con una determinada máquina, o según Instituto Nacional de Estadística e Informática 25 Introducción a LINUX • • el agente de transporte al que vaya dirigido el mail, necesitaremos cambiar los formatos de las direcciones del remitente y del destinatario, algunas líneas de la cabecera del mail, o incluso puede que necesitemos añadir alguna línea a la cabecera. Sendmail debe realizar todas estas tareas para conseguir la máxima compatibilidad entre usuarios distintos. Otra función muy importante de sendmail es permitir el uso de "alias" entre los usuarios del sistema; lo que nos permitirá (entre otras funciones) crear y mantener listas de correo entre grupos. Ejecución como agente de usuario (MUA). Aunque no posee interfaz de usuario, sendmail también permite el envío directo de mails a través de su ejecutable. Todas estas características y muchas otras que posee el sendmail deben ser configuradas y variarán de unos sistemas a otros. Para configurarlas hacemos uso del fichero de configuración de sendmail. La revisión y modificación de este fichero es bastante complicada y necesita de una serie de conocimientos previos. La ultima versión de sendmail es la 8.10.0 y puede ser descargada de su sitio web http://www.sendmail.org 4.8 Servidor DNS – Bind En una red TCP/IP típica, el servidor de nombres es una máquina encargada de hacer la conversión entre direcciones nombres de máquinas y direcciones IP y viceversa. El software utilizado para este fin fue desarrollado en la universidad de Berkeley, California, y es llamado por esta razón BIND (Berkeley Internet Name Domain). El software BIND incluye un demonio llamado named, así como utilerías que permiten controlar este programa, que es el encargado de realizar las traducciones de nombres a IP La ulrima versión de BIND es la 8.2.2 patchlevel 5 la cual puede ser descargada del sitio web http://www.isc.org/products/BIND ♦ ¿ Dónde conseguir el software? En algunas versiones de Unix, como SCO ODE 2.0 y superiores, el software ya viene incluido, sin embargo el código fuente de última versión de BIND puede obtenerse en ftp.vix.com. Este software puede compilarse en casi cualquier versión moderna de Unix, aunque es necesario leer cuidadosamente las instrucciones que acompañan al código fuente para hacer las adecuaciones necesarias a cada ambiente. Para algunas versiones del sistema operativo Linux es posible conseguir paquetes precompilados que facilitan en gran manera la instalación del software. Para RedHat Linux, por ejemplo, es posible obtener el paquete bind-4.9.4-3.i386.rpm del sitio oficial de RedHat, ftp.redhat.com. Un buen sitio para obtener el paquete correspondiente a la versión de Slakware Linux es sunsite.unc.edu 26 Instituto Nacional de Estadística e Informática Introducción a LINUX ♦ Como instalarlo El proceso de instalación varía de una versión de Unix a otra. En SCO, por ejemplo, es necesario utilizar el custom runtime system para verificar que la instalación de TCP/IP haya sido realizada adecuadamente. La instalación a partir de los fuentes debe hacerse siguiendo las instrucciones que acompañan al código. Es necesario disponer de un ambiente de desarrollo completo (compilador, make, etc.), compilar los fuentes y poner el ejecutable named y programas auxiliares en un directorio como /usr/sbin. La instalación en una máquina con Linux RedHat es muy sencilla. Basta utilizar el siguiente comando en directorio que contiene los paquetes de software RedHat (RPMS): rpm -i bind-4.9.3-3.i386.rpm Los números de versión del paquete, así como el especificador de arquitectura (i386) pueden variar: lo mejor es verificar el nombre exacto del paquete mediante el comando ls. ♦ Cómo ejecutarlo El sistema operativo debería arrancar por sí solo el demonio named al terminar su propia secuencia de arranque. En los sistemas UNIX BSD (Linux Slakware, por ejemplo), esto se logra incluyendo en el archivo rc.local la línea: named & Los sistemas que, por el contrario, siguen la norma System V para los archivos de arranque, contienen directorios especiales con scripts de shell que levantan los programas necesarios en cada runlevel. El caso de Linux RedHat, es el más sencillo: la misma instalación mediante el comando rpm agrega en el directorio correspondiente el script necesario para levantar el demonio. Instituto Nacional de Estadística e Informática 27 Introducción a LINUX 5. Compatibilidad de LINUX La compatibilidad ha sido y será uno de los grandes éxitos de Linux, y en esto tiene mucho que ver la gente que está colaborando en el desarrollo de Linux, que trabaja habitualmente sobre distintas plataforma software, motivo este, que causa ese interés razonado por mantener la compatibilidad con cualquier otro entorno informático. Si trabajáramos con Mac o con Pc's, nos interesaría, en un momento dado, el poder intercambiar la información que pudiera tener en ambos equipos. En Linux, estas necesidades van siendo solventadas sobre la marcha, de manera que hoy día, se puede decir que alrededor del 50% del software producido a nivel mundial se podría ejecutar sobre una plataforma Linux. Actualmente contamos con emuladores para los principales entornos 'domésticos' del mundo, el 'Dosemu' para Ms-Dos, el 'wabi' y el 'wine' para Windows. Aparte de las emulaciones, que como es lógico y normal, no rinden igual que el sistema operativo al cual emulan, contamos con el 'samba', que nos permite interactuar con sistemas Win95 utilizando su famoso 'Netbios', logrando compartir recursos de forma transparente en cualquier pequeña, o no tan pequeña, red de área local. También hemos logrado lo mismo con los entornos Mac, donde también podemos compartir recursos de forma transparente. Asimismo, hemos logrado interconectar los servidores de red Novell con cualquier servidor Linux, de forma tal que podemos montar nuevos volúmenes desde Linux sin problemas. Entre los formatos de ficheros soportados por Linux tenemos los siguientes: Sistemas de Ficheros soportados Sistema de Ficheros Tipo Definición Extended File System Ext Reemplazado por ext2. Second Extended Filesystem Ext2 Sistema de ficheros mas común en Linux. Minix File System minix Sistema de ficheros Minix original; raras veces utilizado. Xia Filesystem Xia Como ext2, pero raras veces utilizado. UMSDOS Filesystem umsdos Utilizado para instalar Linux en una partición MS-DOS. MS-DOS File System msdos Utilizado para acceder a ficheros MS-DOS. /proc File System proc Suministra información de proceso para ps, etc. ISO 9660 File System iso9660 Formato utilizado por muchos CD-ROMs. Xenix File System xenix Sistema de ficheros de Xenix. System V File System sysv Variantes del System V para el x86. Coherent File System coherent Acceso a ficheros de Coherent. 28 Instituto Nacional de Estadística e Informática Introducción a LINUX HPFS File System hpfs Acceso en lectura a particiones HPFS (DoubleSpace). 6. Conectividad de LINUX Linux puede trabajar con otros SOs sin problemas gracias a los productos desarrollados para tal fin, y uno de los mas usados es Samba. Samba es un paquete que permite que un sistema Unix se integre en una red a través del protocolo NETBIOS. De esta forma sistemas Unix pueden integrarse en redes Lan Manager y compartir recursos con otros sistemas así como ofrecer recursos propios a los demás. SAMBA es un conjunto de aplicaciones que permiten establecer una total Compartición de recursos en sistemas heterogéneos. Fue desarrollado con la idea de que los UNIX "entendieran " el lenguaje de los PC´s antes que los PC´s entendieran el lenguaje de UNIX. Se trata de un protocolo muy complicado, y que ni siquiera Windows NT lo implementa en su totalidad, ya que permite realizar tareas de muchas formas diferentes. Según Andrew Tridgell, parece como si cada vez que Microsoft añadiera una nueva funcionalidad a su sistema operativo, añadiera la función equivalente en un nuevo nivel de protocolo. La aparición de "Windows for Workgroups" (WfW), llevó aparejada la aparición de un protocolo de Compartición de servicios desarrollado por Microsoft.. Este protocolo llamado SMB (SERVER MESSAGE BLOCK), también conocido por "Lan Manager" o "Netbios", se encuentra implementado en WfW, Win95 y WinNT, y permite el intercambio de servicios entre distintos ordenadores en una red local. Debido a la proliferación y uso de este protocolo en clientes de gama baja, les surge la necesidad a muchos programadores de que las máquinas de gama más alta puedan acceder a aquellas y por eso surge SAMBA. Aunque inicialmente fue escrito para UNIX ha sido portado a OS/2, VMS y Netware. Y aún dentro del mundo UNIX con todas sus variantes Samba funciona en muchas plataformas diferentes: "GNU/ Linux, SunOS, Solaris, Ultrix, HP-UX, NetBSD, SCO, NeXT, IRIX, etc...". La primera versión de Samba salió en Diciembre de 1993, y la versión actual es la 1.9.17, que es la que se distribuye habitualmente, con lo que Samba a pasado de ser un pequeño programa a un programa muy popular y un proyecto de desarrollo de muchas personas. La distribución a través de Internet es, una vez más, fundamental ya que ha hecho posible que muchas personas hayan visto la gran utilidad de este software. Instituto Nacional de Estadística e Informática 29 Introducción a LINUX 7. Conexión segura a Internet con LINUX - Firewall Una red local conectada a Internet necesita de direcciones IP oficiales para todos los puestos de la red. Por direcciones IP oficiales entendemos las direcciones que nos asigna nuestro proveedor de servicios internet de su propio rango. Si no tenemos direcciones reservadas para la red local. Es obligado que para conectar un ordenador a una red TCP/IP (como internet), éste disponga de una dirección IP (un número de 32 bits que identifica cada ordenador de forma exclusiva, una especie de matrícula de circulación). En esta situación, para que cada ordenador de la red pueda tener acceso a Internet es obligada la utilización de un Proxy o apoderado Asimismo nuestra red local debe de estar protegida de ataques externos y filtrar los paquetes recibidos. Lo cual significa, decidir si a un paquete se le permite pasar o no. Linux permite esta y muchas otras posibilidades, y cuenta con las herramientas necesarias para lograrlo. Una de estas herramientas es ipchains. ipchains) ipchains Esta misma herramienta (ipchains ipchains es usada para controlar enmascaramiento y proxy transparente, a pesar de que son dos conceptos del filtrado de paquetes totalmente separados (la implementación actual de Linux los opaca, dando la impresión de que se relacionan estrechamente). Enmascaramiento y Proxies son tratados en forma separada, y las características auto forwarding (auto re-envio) y el port forwarding (re-envío a puerto) son manejadas por herramientas separadas. 7.1 Ipchains Linux ipchains es una modificación de la codificación de Linux IPv4 firewalling (la cual fue obtenida en su mayor parte de BSD) y una modificación de ipfwadm, la cual fue a su vez modificación de ipfw de BSD. Es necesaria para la administración de filtros de paquetes de IP en las versiones 2.1.102 de Linux o posteriores. Actualmente el código está en el Kernel 2.1.102. Para las series 2.0 del Kernel, necesitará descargar un parche del Kernel desde la página web. Si su Kernel 2.0 es más reciente que el parche proporcionado, el parche más viejo debe ser el adecuado; esta porción de los kernels 2.0 es bastante estable (eg. el parche del kernel 2.0.34 trabaja sobre el Kernel 2.0.35). Necesita un kernel que tenga el nuevo IP firewall chains. Puede saber si el kernel que está ejecutando actualmente lo tiene instalado, simplemente buscando el archivo '/proc/net/ip_fwchains'. 30 Instituto Nacional de Estadística e Informática Introducción a LINUX Si no es así, usted necesita un kernel que tenga ip firewall chains. Primero, descargue los fuentes del kernel que desea. Si tiene el kernel 2.1.102 o superior, no necesitará parcharlo. Caso contrario, aplique el parche de la página web listada anteriormente, y configúrelo como se indica abajo. Si no sabe hacerlo, no tenga miedo -- lea el Kernel-HOWTO. Las opciones de la configuración que usted necesitará para las series 2.0 del kernel son: CONFIG_EXPERIMENTAL=y CONFIG_FIREWALL=y CONFIG_IP_FIREWALL=y CONFIG_IP_FIREWALL_CHAINS=y Para las series 2.1 o 2.2 del kernel: CONFIG_FIREWALL=y CONFIG_IP_FIREWALL=y La herramienta ipchains le dice al Kernel, qué paquetes se filtran. El Kernel toma las decisiones basado en las reglas con que se han configurado ipchains. Estas reglas han de permitir los servicios como http, ftp, POP3, SMTP, etc de acuerdo a lo que sea necesario Esta herramienta reemplaza a ipfwadm usado en el antiguo código de Ip firewall. El paquete también contiene un shell script llamado ipfwadm-wrapper el cual le permitirá hacer filtrado tal como se hacia antes. No debe usar este script a menos que desee una manera rápida de actualizar un sistema que use ipfwadm (es más lento, y no verifica argumentos, etc). 7.2 Ip Masquerade La función de IP-Masquerade es hacer un servicio proxy a nivel de red. A diferencia de otros servidores proxy, que ofrecen sus servicios a nivel de transporte, IP-Masquerade lo hace a nivel 3 (Capa de red), con lo que de cara a la red privada se comporta como un router. De esta forma, en los ordenadores de la red interna simplemente hay que configurar el ordenador que ejecute IPMasquerade como el gateway de la red y ya se puede acceder a recursos de otras redes sin necesidad de tener asignadas direcciones IP oficiales. Esto permite a un conjunto de maquinas acceder de forma transparente a Internet ocultas tras la maquina pasarela, la cual aparece como el único sistema que está usando Internet. A tener en cuenta también que romper la seguridad de un sistema configurado de forma correcta con IP Masquerade es considerablemente mas difícil que romper un buen filtro de paquetes basado en cortafuegos (suponiendo que no hay fallos en ninguno). Instituto Nacional de Estadística e Informática 31 Introducción a LINUX Se ha comprobado que los Navegadores de páginas web y telnet funcionan bien sobre ip_masq. FTP, IRC y Real Audio funcionan con ciertos módulos cargados. Otras variedades de audio por red como True Speech e Internet Wave también funcionan. Algunos usuarios de la lista de correo incluso lo intentaron con software de vídeo-conferencia. Además IP Masquerade funciona bien con 'máquinas clientes' con diferentes sistemas operativos y plataformas. Ha habido éxito con sistemas usando Unix, Windows 95, Windows NT, Windows para Trabajo en Grupo (con el paquete TCP/IP), OS/2, Sistemas Macintosh OS con Mac TCP, Mac Open Transport, DOS con el paquete NCSA Telnet, VAX, Alpha con Linux, e incluso Amiga con AmiTCP o AS225-stack. 32 Instituto Nacional de Estadística e Informática Introducción a LINUX 8. Distribuciones Comerciales Una distribución no es mas que una forma de hacerte llegar LINUX de forma que puedas instalarlo fácilmente. Cada una tiene su propia forma de "empaquetar" y distribuir el software que acompaña a LINUX junto con utilidades para la instalación y configuración del sistema. La mayoría de ellas están disponibles en Internet y en CD-ROM. Para tener una idea existe Slackware, Red Hat, Debian, Caldera, ... algunas pertenecientes a empresas privadas (la distribución, no LINUX!!) y otras mantenidas por grupos de gente. No vamos a recomendar ninguna ni a entrar en cual es mejor o peor, con el tiempo se oirá suficientes juicios a favor y en contra de unas y de otras para tener argumentos de valor sobre cual conviene. Conviene no confundir la versión del sistema operativo que se utilice (compuesta por tres dígitos separados por un punto) con la de la distribución, aunque generalmente se puede entender perfectamente si mencionamos Debian 1.2.xx, Red Hat 4.x, Slackware 3.0, etc... 8.1 Componentes fundamentales de una distribución comercial Aunque la esencia de Linux es el Kernel, se necesita mucho mas para convertirlo en un ambiente operativo completo. Aquí hay unos elementos clave de una típica distribución Linux. ♦ Boot Manager El boot manager o administrador de inicio es una utilería que reside en el sector de inicio maestro (MBR), que el bios de su computadora carga al inicio. Si agrega Linux a un sistema operativo con Windows u otro SO, el administrador de inicio le permite seleccionar el SO que quiere ejecutar. Aunque hay administradores de inicio de otros fabricantes, como el System comander de V Comunications, Linux incluye su propio administrador de inicio, conocido como LILO(Linux Loader), que por lo general se instala por omisión. Instituto Nacional de Estadística e Informática 33 Introducción a LINUX ♦ Interfaz de usuario En el núcleo, Linux es un derivado de Unix, y su interfaz por omisión es una línea de comando DOS. Para hacer mas accesible a Linux, hay varios ambientes de escritorio gráficos que pueden semejarlo al SO Windows o Macintos. Algunos ejemplos son CDE(Common Desktop Environment), KDE (Kool Desktop Environment) y GNOME(GNU Network Object Model Environment). A continuación mostramos las interfaces gráfica GNOME y KDE: Interfaz gráfica GNOME 34 Instituto Nacional de Estadística e Informática Introducción a LINUX Interfaz Gráfica KDE Sistema X Window Al igual que GDI(Graphics Device Interface) de windows, X window es el subsistema gráfico que soporta una interfaz de usuario gráfica. Uno delos servidores más comunes es Xfree86 (www.xfree86.org). Durante la configuración puede instalar o no un sistema X Window, según su preferencia Servicio de Internet Linux tiene soporte nativo para TCP/IP y para todos los protocolos internet comunes, como DNS(domain name system), http(web server), SMTP(correo electrónico), FTP (file transport protocol), TNP(foros de discusión) y PPP/SLIP(para cuentas conmutadas). Gran parte de las distribuciones incluyen Apache, el popular servidor web de código público, así como visualñizadores web, clientes de correo electrónico, lectores de foros y otras aplicaciones de internet. Servicios de impresión de archivos Estos servicios permiten a un sistema acceder a los recurso de red y compartir archivos e impresoras con otros usuarios. Entre los servicios típicos se incluyen NFS(Netwrk File System) para compartir archivos con otros sistemas basados en unís; y samba, que hace que los sistemas Linux luzcan y actúen como servidores Windows NT y Appletalk. Instituto Nacional de Estadística e Informática 35 Introducción a LINUX Aplicaciones Linux aún no goza del mismo soporte de aplicaciones que Windows. Pero gran parte de las distribuciones incluyen, literalmente cientos de aplicaciones, y si deseas buscarlas, encontrará una buena variedad de herramientas en otro lado. Además de editores básicos de texto como Crisp y Xemacs, hay diversas aplicaciones y suites de productividad. GIMP(GNU Image Manipulation Program) es un clon de Adobe Photoshop. Administradores de Paquetes Los administradores de paquete son herramientas diseñadas para instalar , desintalar y actualizar aplicaciones en sistemas Linux. El Debian Package Management System y el Red Hat Package Manager.(RPM) son administradores de paquetes bien conocidos. Herramientas del Programador Puesto que Linux es un favorito de los programadores , no sorprende que las distribuciones incluyan muchas herramientas de programación. Entre estas se incluyen utilerías para administrar y crear programas a partir de código fuente, eliminadores de fallas como gdb, lenguajes de programación y lenguajes de guiones como Pitón y TCL. Bibliotecas Linux incluye un conjunto central de rutinas de bibliotecas de vínculo dinámico(DLL) que se encuentran en Windows, las libcs son módulos ejecutables que se encuentran en Windows, las libcs son módulos ejecutables que realizan funciones ocultas que soportan a otras aplicaciones. Gran parte de las distribuciones incluyen muchas bibliotecas; los tipos más comunes son GNU Libc(glibc) y Libc5. 8.2 Distribuciones comerciales más populares ♦ Red Hat http://www.redhat.com/ Red Hat fue fundado en 1995 por dos entusiastas/desarrolladores de Linux con la intención de crear una distribución "limpia" con soporte comercial. La compañía, sus finanzas y alguna información sobre su desempeño están disponibles en una entrevista con su CEO en Inforworld (http://www.infoworld.com/cgibin/displayArchive.pl?/98/23/e03-23.102.htm): Bob Young, presidente de Red Hat, espera que su compañía tenga ingresos por $10 millones de dólares este año y que venda 400,000 copias de Linux, cuyos precios van de US$ 50 a casi US$ 1,000 para una versión con soporte. Extensiones Desarrolladas de manera Comercial Es posible que el aspecto más interesante del modelo de negocio de Red Hat sea sus contribuciones extremadamente activas y continuas hacia la comunidad de Red Hat. Varias iniciativas encabezadas por Red Hat han sido liberadas como OSS para su modificación. En la 36 Instituto Nacional de Estadística e Informática Introducción a LINUX mayor parte de los casos, estas liberaciones eran simples depuraciones o manejadores adicionales. Red Hat emplea de manera activa a varios desarrolladores clave de Linux y les paga para que hackeen Linux de tiempo completo. Algunos de los componentes que han sido "donados" de vuelta hacia el esfuerzo de Linux son: • Red Hat Package Manager – RPM es un componente de Linux que proporciona facilidades de instalación y mantenimiento de aplicaciones similares al Application Manifest que está siendo desarrollado por Microsoft. • Manejador Conectable de Autentificación – El PAM es similar al sistema NT SSPI/SAM y permite que plug-ins divididos en componentes la función de autentificación (Red Hat proporciona un plug-in LDAP). PAM estuvo disponible originalmente en los sistemas Sun. Sin embargo, una de las donaciones más "grandes" ha sido el ahora universal "Red Hat Package Manager" o RPM, el cual es distribuido en casi todas las distribuciones de Linux. RPM crea el concepto de un manifiesto de aplicaciones que simplifica la tarea de instalación y eliminación de aplicaciones en Linux. El proyecto actual de desarrollo de Red Hat es un nuevo GUI para Linux conocido como "Gnome". Gnome es la respuesta a las preocupaciones latentes con versiones que no son GPL de la interfaz de usuarios de X Windows. Características del Producto De los distribuidores comerciales de Linux, Red Hat tiene el conjunto más grande de SKU’s. En su producto más completo, Red Hat reúne lo siguiente en sus distribuciones de Linux: • • • Apache Web Server DBMaker DBMS por Casemaker Servidor de ventanas Xfree86. Distribuidor:: Red Hat Software INC. Durham NC; 800-454-5502 www.redhat.com ; ftp.redhat.com/pub (*) La última versión de Red Hat es la 6.2 , la cual salió mientras se preparaba esta publicación. En esta nueva versión se han mejorado algunos problemas con la versión anterior y se han incorporado nuevas versiones de servicios como Samba , Apache etc. Algunas nuevas características son las siguientes: - Instala específicamente los paquetes seleccionados durante la instalación, lo que no ocurría en la anterior versión (6.1) ya que en algunos casos instalaba componentes que no se seleccionaron. Instituto Nacional de Estadística e Informática 37 Introducción a LINUX - RedHat 6.2, además de traer nuevas versiones de aplicaciones muy usadas (samba 2.0.6, Apache 1.3.12, XFree 3.3.6, etc.), corrije finalmente problemas anteriores. - Se ha mejorado el X configurator , ahora se cuenta con mas opciones que antes. Ahora dentro de el menú de aplicaciones, hay un menú para Clustering. - Ahora al tipear setup, ya esta incorporada la detección de la tarjeta de sonido. - IPChains tiene su propio script de inicio, haciendo mas sencilla su configuracion. Igual el identd corre como standalone, ya no dentro del INET. - Ahora hay mas archivos de configuración dentro del /etc/sysconfig. - RedHat 6.2 también viene con el ultimo Kernel 2.2.14. Instalando en modo texto, se encontraron las siguientes mejoras: - Volvió el FDISK , nuevamente se puede particionar usando FDISK o Disk Druid. - También volvieron las descripciones de cada aplicación presionando F1. En la versión 6.1 no se podía ver que era cada aplicación. Caldera Open Linux Caldera de Ray Noorda, es la compañía más reciente que tiene la mirada puesta en un lugar dentro del mercado de los sistemas operativos. No se han publicado los estados financieros y de ventas de Caldera, pero se cree ampliamente que es el vendedor número 2 de Linux, después de Red Hat. Caldera Open linux es la única distribución que incluye un conjunto completo de aplicaciones de negocios, e incluso su propio cliente netware, un servidor de base de datos (sybase ASE) y una suite de productividad completa. Al igual que red hat Caldera ofrece un disco de inicio , lo que facilita la instalación. En conjunto, el proceso de instalación de caldera no es tan grafico ni intuitivo como el de red hat, pero requiere poca intervención del usuario. Caldera incluye el Red Hat Package Manager (RPM), que simplifica la instalación y desinstalación de paquetes (por lo menos de los estándares Linux). LISA ( Linux Installation System Administration) es una herramienta grafica que se usa para configurar parámetros básicos de clientes de red asi como otras características. Una de las mayores fortalezas de Caldera es KDE (Kool Desktop Environment) un ambiente de escritorio grafico que ocasiona que linux luzca y actúe como Windows. 38 Instituto Nacional de Estadística e Informática Introducción a LINUX Además Caldera une varios componentes con su versión de Linux, entre los cuales están: • • • • • StarOffice Adabas SQL Server por Software AG Cliente y administrador de Netware Servidor de fasttrack de Netscape + Communicator Sistemas X Windows Xfree86 y Metro X Las demás distribuciones de Linux parecen estar a la zaga de Red Hat y Caldera. Entre estas están SlackWare, SuSE y Debian para nombrar a algunos cuantos. Se puede encontrar una lista completa de las distribuciones en http://www.linux.org/. Debian GNU Linux DEBIAN GNU/Linux 2.0 es el único distribuidor importante aun producido por un grupo de programadores voluntarios. Esto combinado con sus variadas y poderosas características lo hace una elección popular entre los hackers. Pero los usuarios de Windows, deberán hacerse a un lado frente a Debian. Para los novatos, Debian obtiene nuestro voto por la instalación mas difícil. Aunque no incluye un disco de inicio, se puede hacer uno, o si su sistema lo permite, iniciar desde el cd. La configuración incluye una versión de fdisk (para hacer las particiones requeridas del disco duro ) que es un poco grafica, pero tampoco es fácil de usar. Si tiene un buen control del hardware contenido y sabe como configurar una red, la instalación tipo asistente es adecuada. Después de efectuar la instalación, notamos que casi no había aplicaciones en el sistema. Aplicaciones como el editor de texto Emacs y el servidor web deben instalarse por separado con la utilería dselect de Debian, que es normalmente difícil de usar. La compañía afirma que incluira un nuevo instalador de aplicaciones en Debian GNU/Linux 2.1 Cuando se concluye la instalación , el X-Window que incluye debian hace las cosas un poco mas sencillas. El mayor punto de venta de esta distribución es un paquete de administración alternativo, Debian Package Management system, que examina las nuevas aplicaciones antes de instalarlas y verifica la configuración existente en su sistema para asegurarse de que tiene los paquetes requeridos y que ninguna de las aplicaciones actualmente instaladas causara un conflicto Distribuidor: Linux Press , Penngrove, CA Telf: (888)7704330 (707) 7734916 ; www.linuxpress.com ; ftp.debian.org Instituto Nacional de Estadística e Informática 39 Introducción a LINUX Slackware Otrora la distribución mas popular de Linux, el software de Patrick Volkerding ha perdido el liderazgo dell Mercado ante el mas refinado Red Hat, pero sigue siendo especialmente popular entre los usuarios de linux. La distribución de Slackware no es tan fácil de usar como caldera y Red Hat. Pero tiene otros puntos buenos. Una de las mejores características de Slackware es que incluye una versión completa de Linux ya instalada con X-Window en un CD-ROM, por tanto, si tiene un sistema que pueda iniciar desde la unidad de CD-ROM, puede probar Linux sin instalar nada en su disco. Slackware incluye una herramienta de conversión para manejar paquetes RPM y el administrador de ventanas FVWM95. Distribuidor: Walnut Creek CD-ROM 40 Instituto Nacional de Estadística e Informática Introducción a LINUX 9. Crecimiento de LINUX Una de las claves del éxito de Linux es el desarrollo en colaboración, para 1996 ya se habían creado versiones de Linux para varios tipos de hardware, desde la Atari ST hasta la Macintosh. ¿Porqué tanto el entusiasmo? En parte por que Linux era distribuido bajo la licencia pública GNU o GPL. Esto significa que cualquier persona podía copiar, utilizar, modificar y vender Linux con la sola condición de que los desarrollados recibieran el crédito apropiado y que todos los cambios hechos en el código sean de conocimiento público. ♦ ¿Dónde esta la ganancia? No pasó mucho tiempo hasta que alguien inventó la manera de hacer dinero con Linux. Tan pronto como su Kernel, el corazón del sistema operativo, se puso en la Red, algunos vendedores comenzaron a vender Linux en CD-ROM. A pesar de que se podía bajar el programa de la Internet, los archivos eran muy grandes y el tiempo de bajarlos a la computadora justificaban los $20 o $50 del costo del CD. Además, muchos de los distribuidores ofrecían algo único: Por ejemplo el Linux de Red Hat, viene con el Red Hat Package Manager, un programa de instalación y desinstalación que reemplaza los scripts de Unix con un simple comando. Pero como todas las modificaciones deben hacerse publicas, las ventajas competitivas no duran mucho tiempo. Estos deben están renovando constantemente para estar al frente. Como resultado, Linux ha mejorado más rápido de lo que cualquiera hubiera imaginado. Aproximándose a la puerta ancha Hoy en día, Linux corre en un estimado de 7 a 8 millones de computadoras y cuenta con miles de programadores que trabajan tanto con el Kernel como con aplicaciones de Linux. El Kernel ya se encuentra en su versión 2.1.99, y es compatible con una gran cantidad de componentes de hardware incluyendo: Alpha, Amiga, Atari, IBM, Intel, PowerPC/Macintosh, SGI, Sun SPARC y otras plataformas. ♦ Linux al frente A pesar de todas las ventajas obvias, Linux solamente es popular entre los administradores IS y los hackers profesionales. Pero esto esta comenzando a cambiar. Los programadores en entrenamiento utilizan Linux en sus computadoras personales para familiarizarse con las aplicaciones y administración Unix. Instituto Nacional de Estadística e Informática 41 Introducción a LINUX Aún así, Linux no ha conquistado dos mercados importantes: el consumidor y los centros de información de alto rendimiento, donde Solaris de Sun Microsystems es el sistema operativo por excelencia. ¿Qué impide que Linux tenga aceptación entre las masas? Para estos acostumbrados a apuntar y presionar como están acostumbrados los usuarios de Windows, Linux se les hace muy difícil de operar. Para realizar labores comunes como encontrar, mover, y borrar se deben utilizar comandos de Unix. Y al no tener Linux un solo manufacturero, para ayuda técnica se necesita poner un mensaje en un foro de discusión y espera que alguien lo conteste, y eso, para las empresas grandes es inaceptable. ♦ Dirigiéndose a la puerta ancha Dos prominentes distribuidores de Linux, Caldera y Red Hat, están tratando de cambiar esto. Caldera tiene en la mira las corporaciones mientras que Red Hat apunta a los usuarios de computadoras para pequeños negocios y computadoras personales. Ambos ofrecen un Linux más fácil de utilizar y con mejor apoyo. El Linux de Caldera, por ejemplo, ofrece una instalación más fácil, mejora la integración con Novell NetWare, y brinda ayuda técnica profesional a través del teléfono. El Linux de Red Hat tiene herramientas gráficas estilo Windows 95, se instala un simple programa que reconoce automáticamente y configura el hardware tipo plug-and-play, además, de que también ofrece servicio técnico profesional a través del teléfono. Gracias a Red Hat y Caldera, la curva de aprendizaje de Linux esta comenzando a enderezarse. Pero Linux aún le falta camino por recorre antes de salir por la puerta ancha. Linux no es tan fácil de instalar como Windows 95, 98 o Mac OS, y hasta el Linux de Red Hat requiere de comandos de Unix para hacer algo mas allá de las tareas comunes. Además, algunas aplicaciones populares como Microsoft Office y la mas reciente versión de Adobe Photoshop, simplemente no están escritas para Linux. Hasta que los usuarios de Windows y Mac puedan correr Linux sin tener que leer el manual o sacrificar las aplicaciones que más utilizan, este sistema operativo no llegará muy lejos. ♦ Linux ¿Sistema operativo del futuro? Linux tiene algunas piedras que sacar del camino antes de seguir adelante, pero, en términos generales este sistema operativo se ve prometedor. ♦ Cambios rápidos Linux continuará mejorando. Entre las cosas con las cuales debe empezar es porque a diferencia de Microsoft y Apple, los cuales son distribuidores únicos de sus propios productos, Linux tiene varios. ♦ Compitiendo por el mercado de valores La única manera de que Linux evite ser opacado por otro distribuidor de Linux es mantenerse en innovación constantemente. Para asegurarse que las distribuciones de Linux se mantengan compatibles, se ha creado un grupo llamado Linux Standard Base. Esta organización 42 Instituto Nacional de Estadística e Informática Introducción a LINUX asegura que las varias distribuciones de Linux corran y las mismas aplicaciones y que trabajen correctamente. ♦ Próximas atracciones En el futuro, espere ver una nueva cara en Linux, una más gráfica con herramientas de configuración basadas en el Graphical User Interface (GUI), disimulando así su parecido con Unix. Esto puede que decepcione a los genios de computadoras y al contingente anti-windows, pero una interfase más amigable es necesaria para la expansión de Linux. No pasará mucho tiempo para que la instalación y el mantenimiento de Linux se haga más fácil. Linux también podrá trabajar con mas programas. Oracle e Informix anunciaron recientemente versiones para Linux de sus programas. El WordPerfect Suite de Corel también vendrá para Linux a finales de ano. Si Linux se convierte en un sistema operativo más fácil de utilizar, esto, en combinación con su gran rendimiento y bajo costo lo hará subir como la espuma. ♦ Cambiando el mercado de valores El secreto para el éxito de Linux es que, a diferencia de sus otros competidores, quienes viven de la venta de sus productos, el movimiento de Linux es invulnerable a los cortes de costos y campañas de mercadeo, después de todo, es gratis. Los distribuidores de Linux como Red Hat sí tienen que buscar sus ganancias, pero estos las sacan de los contratos de servicio técnico y la documentación relacionada que venden y no del programa como tal. Como resultado de las ventajas propias del SO y al costo gratuito del software el crecimiento de Linux desde su desarrollo, ha sido continuo La historia de la revista Forbes sobre Linux tiene algunos buenos datos sobre la historia del desarrollo de Linux (http://www.forbes.com/forbes/98/0810/6203094s1.htm) La siguiente tabla muestra el incremento progresivo de usuarios del SO Linux Fecha Usuarios Versión Tamaño (LOC) 1991 1 0.01 10 k 1992 1000 0.96 40 k 1993 20,000 0.99 100 k 1994 100,000 1.0 170 k 1995 500,000 1.2 250 k 1996 1.5 M 2.0 400 k 1997 3.5 M 2.1 800 k 1998 7.5 M 2.1.110 1.5 M El LOC se refiere a las líneas de código de programación (*)El conteo de LOC parece incluir todas las portaciones de Linux, incluyendo a x86, PPC, SPARC, etc. Instituto Nacional de Estadística e Informática 43 Introducción a LINUX 10. Productos para LINUX ♦ Ofimática • • • • • • • • • • • ♦ (Xwindows) (Modo texto) (Xwindows) (Xwindows) Sendmail Qmail Procmail Pine XFmail mxMail Z-Mail tkMail Arrow (agente) (agente) (Procesador de correo) (Lector-Modo texto) (Lector-Xwindows) (Lector-Xwindows) (Lector-Xwindows) (Lector-Xwindows) (Lector-Xwindows) Utilidades: • • • 44 Netscape Lynx Mosaic Arena Correo Electrónico • • • • • • • • • ♦ (Xwindows) (Xwindows) Visualizador .PDF (Xwindows) Procesador de textos (Xwindows) Procesador de textos (Xwindows) Procesador de textos (Xwindows) Hoja de calculo (Xwindows) Calendario/Agenda (Xwindows) Calendario/Agenda (Xwindows) (Xwindows) (Xwindows) Navegadores • • • • ♦ Applixware Suite StarOffice Suite Adobe Acrobat WordPerfect PAPyRUS PW Siag Ical Adressbook Xinvest Xquote Diald: TkNet para Linux: HylaFAX. Establece enlaces PPP y Slip por demanda. Control de conexiones slip y ppp. Aplicación para el manejo de faxes para Linux. Instituto Nacional de Estadística e Informática Introducción a LINUX ♦ • Mgetty + Sendfax. • GNU Midnight Commander. • TkDesk. • • • Zircon. Xirc. Martian. Bases de Datos • GNU SQL Server. • • • • • • • Oracle para Linux Postgres95 Empress RDBMS Essentia mSQL Just Logic/SQL Database Manager. LEAP. Se trata de un RDBMS libre utilizado como herramienta educativa en muchas universidades del mundo, como ayuda para la enseñanza de la teoria de bases de datos. LEAP está en continuo desarrollo por su autor, Richard Leyton. MySQL. motor de base de datos más rápido del mercado • ♦ Envio y recepción de faxes. Más sencillo de instalar, configurar y utilizar que el anterior. Magnífico manejador de archivos al estilo del conocido Comandante Norton del DOS. File manager realizado en Tcl/Tk que incorpora barra de aplicaciones y otras funciones habitules en otros entornos. Cliente IRC para X11. Un cliente irc para X11 realizado con XForms. Se trata de un conversor de paquetes Debian a paquetes RedHat (rpm). Es el sistema de bases de datos relacionales multiusuario GNU. Soporta completamente el dialecto SQL89 y cuenta con algunas extensiones deSQL92. Sonido • MikMod For Linux. • NSPmod (No Signal Processor MOD player). Otro MOD player con soporte para MOD, MTM y S3M en sistemas sin DSP. Ethernet Phone. Comunicación por voz en tiempo real punto a punto. Ceres Soundstudio 1.0. Completo tratamiento de sonidos para Linux (sólo a.out). Linux Midi + Sound Pages. Recopilación de aplicaciones para tratamiento de sonido para Linux. • • • Instituto Nacional de Estadística e Informática Mod player para Linux. Soporta MOD, MTM, M15, XM, S3M STM, ULT y UNI. Además es multiplataforma, hay versiones además de para Linux, para Mac, W95, DOS, Solaris 45 Introducción a LINUX • • • ♦ Driver de sonido para Linux. Drivers de bajo nivel para tarjetas Gravis Ultrasound. TiMidity -- MIDI to WAVE converter. Se trata de un MIDI renderer. Emuladores • • • • • • • ♦ Dosemu. Executor. y ncurses STonX. Stella96. WINE. El Proyecto WINE. UAE. xz80. Emulador de DOS para Linux. Emulador comercial de Macintosh. Soporta X11 Emulador del Atari ST para X11. Emulador del Atari 2600. Emulador de MS-Windows. Consulta también Emulación del Commodore Amiga. Emulador del Spectrum Z80 de Sinclair. Juegos • • • 46 UNIX Sound System (USS) Lite. Linux Ultra Sound Project. The NetHack Home Page. XGalaga. Un juego para X11 del tipo matamarcianos. Abuse for linux Doom for Linux. Instituto Nacional de Estadística e Informática Introducción a LINUX 11. Enlaces LINUX 11.1 Listas de consulta sobre Linux Lista del L.U.G.Ar (Argentina) Enviar un correo a majordomo@linux.org.ar con el texto: subscribe lugar-lst Lista del BALUG (Argentina) Enviar un correo a majordomo@balug.org.ar con el texto: subscribe balug-lst Lista de Infoap (Argentina) Enviar un correo a majordomo@infoap.com.ar con el texto: lists Lista del GRULIC (Argentina-Cordoba) Enviar un correo a majordomo@listsrv.frc.utn.edu.ar con el texto: subscribe grulic Lista del #Linux-ar (Argentina) Mas listas en español Enviar un correo a majordomo@serena.dhis.org con el texto: Subscribe linux-ar Visitar este sitio: LINUXlandia 11.2 Sitios de interés para usuarios de Linux Www.linux.org Www.kernel.org Linuxapps.com Counter.li.org Freshmeat.net Lucas.ctv.es Www.linux.org.ar Www.linux.org.uy Www.plug.org.ar Www.linuxgames.co Www.xfree86.org Linux.box.sk Www.kde.org Web.jet.es/jillona/ Insflug.org Www.linuxnow.com Themes.org Slashdot.org Slug.ctv.es Www.gimp.org Www.linuxhq.com La página de Linux Online, de lo mejor La página oficial del Kernel de Linux Sitio con aplicaciones catalogadas y actualizadas El Contador de Linux, en esta página te podes registrar como usuario de Linux Las últimas novedades de software para Linux Sitio oficial de LuCas(Linux en Castellano) manuales, COMOs, FAQs, etc. LUGAR(Linux User Group Argentina) Sitio de los usuarios de Linux en Argentina Grupo de usuarios de Linux de Uruguay Grupo de usuarios de Linux de la ciudad de La Plata en Argentina Sitio dedicado a los juegos para Linux Web oficial del Xwindows, el entorno gráfico de Linux Excelente para los usuarios intermedios y avanzados KDE es el mas completo Window Manager para Linux Especial para buscar recursos de Linux en español Lugar encargado de la traducción de los conocidos COMOs Noticias y novedades sobre el S.O. del pingüino Repositorio de los temas para los Window Managers Noticias, utilidades, manuales, etc. Página de los usuarios españoles de Linux The Gimps es uno de los mejores programas de tratamiento de imágenes Cuartel general de Linux Otros sitios de interés Instituto Nacional de Estadística e Informática 47 Introducción a LINUX http://www.infor.es/LuCAS - Proyecto LuCAS (LinUx en CAStellano) http://www.insflug.nova.es/ - Grupo de usuarios de Linux de FidoNet. http://www.linux.org.ar Linux en Argentina http://www.linux.org.uy - Grupo de usuarios de Linux en Uruguay. http://www.sunsite.unc.edu/ - Uno de los lugares de software para Linux más grande del mundo. http://zenia.hongik.ac.kr/linuxapps/linapps.html - Página de aplicaciones y utilidades para Linux. http://jgo.local.net/LinuxGuide/ - Guía Linux. http://sunsite.unc.edu/mdw/ - Documentación de linux. http://www.torque.net/-campbell/ - Soporte de Drivers para Linux. http://www.linux.org.mx/ - Linux en Mejico. http://www.linuxgazette.com - Revista de Linux. http://www.linux-howto.com - Linux Howto (Comos en Ingles). http://www.li.org - Linux Internacional. http://www.ssc.com/lj/index.html - Linux Journal. http://users.ox.ac.uk/-sann0312/kernel/ - Un Mirror del Kernel de Linux. http://www.arrakis.es/-barreiro/ - LinuxLandia. http://www.hongik.com/linux/linapps.html - Aplicaciones Linux. http://www.cs.es/archive/linux.html - Grupo Usuarios Linux España. http://www2.et.byu.edu/-leippen/linux/linuxpagaindex.html - NickLinux. http://slashdot.org - Slashdot Linux. http://www.kernel.org - Los archivos del núcleo de Linux. http://www.linuxstandars.org - Standart Linux. http://www.kde.org/ - Página de KDE (Uno de los Windows Managers que hay). http://www.afterstep.org - La página de Afterstep (Uno de los Windows Managers que hay). http://www.hpc.uh.edu/fvwm/ - La Página de FVWM (Uno de los Windows Managers que hay). http://linux.compusis.com/normas.html - Normas de Linux. http://bbs.eui.upv.es/~vidal - Página de Vidal. http://lucas.hispalinux.es - Proyecto LinUx en CAStellano (Documentación de Linux en castellano). http://www.geocities.com/soho/lofts/3682/linux.htm -Linux. http://www.linux.org/search/ - Buscador para Linux. http://www.linux.org/apps/development.html - Página para desarrolladores de Linux. http://linux.apostols.org - Para seguidores de linux. 48 Instituto Nacional de Estadística e Informática Introducción a LINUX APENDICE A. Entrevista a Linus Torvalds Tomado de la revista Linus Focus LF: Después de crear Linux, decide registrarlo en 1992 bajo una licencia GPL por la FSF que permite su libre distribución y hace públicas las fuentes del núcleo. Linus: Cambié la licencia de Linux para que fuera GPL hacia la primera mitad de 1992 (Marzo o Abril, creo). Anteriormente había sido una licencia muy estricta que esencialmente prohibía cualquier distribución comercial - más que nada porque me molestó bastante la falta de un UNIX más barato y fácilmente disponible cuando lo estuve buscando un año antes.. LF: De vez en cuando ha defendido con intensidad la licencia GPL sobre otras, como por ejemplo la BSD. Linus: Me gustaría aclarar que no pienso que haya nada esencialmente superior en la licencia GPL si la comparamos con la BSD por ejemplo. Pero la GPL es con la que yo quiero programar porque, al contrario que la licencia BSD, garantiza que cualquiera que trabaje sobre el proyecto en el futuro, contribuirá con sus cambios a la comunidad. Y cuando me dedico a programar en mi tiempo libre y para mi propio disfrute, quiero tener esa clase de protección: sabiendo que cuando mejore un programa, esas mejoras seguirán estando disponibles para mí y para otros en versiones futuras del programa. Otra gente tiene otros objetivos, y a veces las licencias BSD son mejores para éstos. Personalmente tiendo a preferir la GPL, pero eso no significa que la GPL sea de alguna forma inherentemente superior - depende para lo que quieras la licencia... LF: Recientemente, algunas compañías de gran envergadura como Netscape Communications Corporation, la cual planea integrar su navegador en Linux, anuncian ante el asombro del mundo entero su intención de hacer público el código fuente. Qué reflexión le merece la licencia GPL, el "Free Software movement" y esta última noticia en particular? Linus: No creo que Netscape quiera "integrar" el navegador con Linux, creo que lo que ha pasado es que la gente de Netscape hace tiempo que está al tanto de lo bien que funciona el modelo de desarrollo de Linux, y que el asalto de Microsoft al mercado de los navegadores les ha hecho decidir que ya era hora de usar métodos no tradicionales para cambiar un poco el mercado. Instituto Nacional de Estadística e Informática 49 Introducción a LINUX Personalmente estoy muy contento de que Netscape esté haciendo esto: no por otra razón que por el hecho de que esto prueba que incluso compañías comerciales de renombre están empezando a darse cuenta de lo útil y exitoso que resulta el paradigma del software libre. Netscape, haciendo esto, puede que abra el camino a otras compañías que quieran hacerlo después. LF: : En relación con esto ¿Cómo ve a Linux y a la comunidad de software libre dentro de 2, 5 o 10 años?. ¿Cree que podrá mantener el mismo ritmo de desarrollo que el mantenido por el software comercial, integrando cualquier nueva tecnología en Linux y BSD?. Linus: Trato de no hacer nunca predicciones a largo plazo, pueden pasar tantas cosas que tan solo hacen que parezcas un tonto unos años después. Evidentemente creo que el software de disponibilidad gratuita no sólo puede mantenerse paralelo a la evolución del software comercial sino que incluso puede sobrepasar con frecuencia lo que se haga comercialmente. Parece obvio que Netscape está de acuerdo conmigo. LF: A pesar la corta edad de Linux, este sistema operativo ha ganado cientos de miles de adeptos alrededor del mundo en un tiempo récord. Muchos expertos lo eligen para sus empresas sin prejuicio alguno desde un punto de vista objetivo, no porque sean fanáticos de Linux sino por ser conocedores de sus virtudes. Hay otros más prudentes que no admiten públicamente usar Linux (quizás temiendo una reacción desfavorable de sus empresas por utilizar software gratuito). Finalmente los hay quienes son unos verdaderos paladines de Linux, identificándose a ellos mismos quizás con un David tratando de derrotar a un Goliat personificado por Microsoft. Esta última compañía representa la economía de mercado en esencia en la que el principal objetivo, por encima del producto en si, es vender y hacer dinero en grandes cantidades. ¿Comparte o entiende usted esta actitud?. Linus: Ciertamente puedo comprender la comparación "David contra Goliat" pero no, personalmente no comparto esta actitud para nada. No puedo decir que me guste Microsoft: creo que hacen sistemas operativos realmente malos - Windows NT es más de lo mismo - pero aunque no me gusten sus sistemas operativos y aborrezca sus tácticas de mercado, al mismo tiempo no me preocupo demasiado por ellos. Simplemente estoy demasiado contento haciendo lo que quiero hacer para tener una actitud realmente negativa hacia Microsoft. Ellos hacen productos malos - ¿Y qué?. No me tengo que preocupar porque afortunadamente no tengo que usarlos, y el escribir mi propia alternativa fue una experiencia muy gratificante en muchos sentidos. No sólo aprendí un montón haciéndolo, además conocí miles de personas a las que realmente aprecio mientras desarrollaba Linux algunas de ellas en persona y la mayoría a través de internet. 50 Instituto Nacional de Estadística e Informática Introducción a LINUX LF: Permítame por favor hacer una comparación fácil y superficial. Usted, al igual que Bill Gates, ha desarrollado un sistema operativo de gran éxito siendo aun estudiante. Bueno, en realidad Gates no desarrolló un sistema operativo él mismo pero permítame la comparación ;-). Ha alcanzado bastante popularidad y ha ganado ya algunos premios como "The UniForum Award" o el que le concedió recientemente la Fundación Nokia en el que se destacaba especialmente "su ejemplo de inspiración para jóvenes investigadores". Ahora el señor Gates, al cabo de los años y lejos de aquel joven que junto a Paul Allen fundó Microsoft, es asquerosamente rico y vive en una mansión junto al lago Washington en Seattle que le costó alrededor de 63 millones de dólares. ¿Se ve usted con su esposa Toe y su hija Patricia viviendo en una casa similar? Linus: No tengo ni idea de dónde sacaría esa cantidad de dinero, pero ciertamente puedo imaginarme viviendo en una casa como esa. Probablemente la disfrutaría muchísimo;) Pero en realidad no creo que la comparación sea totalmente válida. Bill Gates parece mucho más ser un hombre de negocios que un experto técnico, mientras que yo prefiero pensar en Linux en términos técnicos y no como algo con lo que hacer dinero. De todas formas, no me parezco tanto como para conseguir la misma cantidad de dinero que Bill.. LF: El 25 de Agosto de 1991, lanzó el siguiente mensaje en USENET: "Hola a todos los que usais minix. Estoy haciendo un sistema operativo –gratis(sólo es un hobby, no será grande y profesional como GNU) para clones AT 386(486).". Desde el nacimiento de Linux en 1991 (el destino quiso que no se le ocurriera llamarle Benedictux, afortunadamente) la evolución de este sistema operativo ha pasado por varias versiones desde la primitiva 0.01 de Septiembre de 1991. Para el 5 de Octubre tenía ya la 0.02 y muy poco después la 0.03 llegando posteriormente a una 0.10, 0.11 y a una 0.12 bastante decente. De aquí dio un salto a la 0.95 y 0.96 augurando ya la primera versión "no-beta". Después de esta primera versión, el 9 de Junio de 1996 anuncia una revolucionaria versión 2.0 que poco tenía que ver con sus predecesoras: soporte multi-arquitectura, soporte para multi-procesadores simétricos, lectura-escritura de mapas de memoria compartida de soporte de archivos, por mencionar sólo algunas de sus novedades. ¿Tiene alguna idea de cuándo veremos la versión 3.0 y qué clase de innovaciones trendrá que le hagan merecerse saltar un nivel? Linus: Ahora mismo parece que el siguiente "salto" va a ser tiempo-real y características de los cluster. Actualmente, Linux ya se está usando para ambas cosas, pero usarse para algo y estar diseñado para ello son dos cosas diferentes. Pero realmente no quiero limitar Linux a ningún "plan de cinco años" especial: el clustering y el tiempo real sólo son cosas en las que la gente ya está trabajando y que están bastante bien comprendidas y tienen usos tradicionales. Instituto Nacional de Estadística e Informática 51 Introducción a LINUX Creo que las cosas realmente interesantes y novedosas serán cosas que hoy en día están tan sólo comenzando a aparecer pero que serán algo común en un año o dos. Redes de alto ancho de banda, vídeo en directo etc. No sé cómo afectará esto a la forma en que usamos los ordenadores, pero tendrá un impacto fundamental en los sistemas operativos. LF: En Agosto del año pasado, 1997, en Monterrey, California, se resolvió una larga disputa sobre la propiedad de la marca comercial del sistema operativo Linux y usted fue declarado el propietario de dicha marca registrada. A pesar de esto, la licencia GPL permite a otras compañías hacer negocio vendiendo Linux sin tomar usted parte directa (al menos en una justa proporcion) en el reparto de los beneficios resultantes; a pesar de ello, se dedica de forma activa y personal al desarrollo de nuevas versiones y parches para actualizaciones... Linus: Si. Debe advertirse que una marca comercial sobre el nombre "Linux" y el copyright del código que compone Linux, realmente son cosas muy distintas. Ahora mismo soy propietario de la marca comercial y de una gran parte de los copyrights, pero no tiene tampoco por qué ser así. De hecho, traté de hacer transferir la marca comercial a la organización sin ánimo de lucro Linux International, pero tenía más sentido legal transferírmela a mí personalmente, y también había más gente que por lo visto confiaba más en mí personalmente que en una organización. LF: ...cuando le preguntan si esto le molesta, no sólo responde de forma negativa, sino que expresa su satisfacción y alegría cuando compañías como Red Hat están introduciendo Linux en el mundo de los negocios y por tanto contribuyendo al desarrollo de un producto más pulido. ¿Cómo se siente entonces su ego cuando se conoce por ejemplo que Linux ha sido seleccionado (por encima de Windows/NT y DEC UNIX) como el sistema operativo ideal por Digital Domain, la compañía que creó los efectos especiales de alta tecnología para la película Titanic, o cuando Debian Systems desarrolla el software para los sistemas de comunicaciones por satélite de Ham Radio? Linus: Evidentemente, una de las razones por las que no me preocupa que la gente esté vendiendo Linux de forma comercial es precisamente porque me hace sentir bien que la gente lo use. De esta forma, aunque no gano dinero con Linux, obtengo una gran satisfacción por haber escrito algo que realmente la gente disfruta usando, y que encuentra que es la mejor alternativa a sus necesidades. Y al mismo tiempo, la GPL fuerza a que todas las contribuciones futuras a Linux estén disponibles para todos, lo que significa que cuando una compañía comercial como Red Hat obtiene una versión más pulida de Linux, yo obtengo algo de todo esto. Así pues, hay una gran compensación, incluso cuando esa compensación no es en forma de dinero. 52 Instituto Nacional de Estadística e Informática Introducción a LINUX LF: ¿Qué opina de la "guerra" de los GUI (entornos gráficos de usuario) en el entorno de Linux? ¿Qué piensa sobre los GUIs alternativos como por ejemplo el proyecto Berlín? ¿Ve algún problema con X? Linus: Estoy en la extraña posición de estar concentrado de forma muy activa en la base del sistema operativo, y realmente no he seguido demasiado los proyectos que rondan Linux. Dejo que los fallos a nivel de usuario se produzcan, con el total convencimiento de que cualquier cosa por extraña que sea que un programa a nivel de usuario pueda hacer, el kernel sea capaz de manejarlo. En lo referente a los GUI, una de las cosas más importantes es que sea ampliamente aceptado y que sea técnicamente bueno. El sistema X Window cumple con estos dos requisitos que son los que a mí me preocupan, y aunque obviamente tenga algunos problemas, eso no significa debilidad. Creo que el trabajo más interesante es hacer que X tenga una apariencia y sensación mejor, más que reemplazarlo por alguna otra cosa. Hay algunos sistemas de ventanas realmente buenos: fvwm95, KDE etc, y pienso que X es lo bastante fuerte para ellos. No creo que tengamos problemas con los GUI, pero esperaré a ver con qué aparece la gente. LF: A estas alturas, a 6 años únicamente desde el nacimiento de Linux, las cosas se están sucediendo rápidamente. Red Hat ha sido nombrado por Infoworld el sistema operativo del año, Linux es el sistema operativo "no-Microsoft" que más rápido está creciendo de acuerdo con el IDC, y se estima que en 1997 entre 2 y 6 millones de copias de Linux se instalaron en todo el mundo. Ante esta avalancha de sucesos, no parece aburguesarse en la contemplación pasiva y gratificante de las dimensiones que ha llegado a tomar su sistema operativo sino que más bien parece querer romper las leyes físicas del espacio/tiempo, siendo capaz de abarcar conferencias (como la cita que tiene prevista con Linux Expo en Mayo en Carolina del Norte), su trabajo en Transmeta (a propósito ¿puede desvelarnos algo?), el contínuo desarrollo del Kernel de Linux (manteniendo el contacto por email y los grupos de noticias), la atención que presta de tanto en tanto a los medios de comunicación que fijan su atención en usted, usted mismo y su vida privada. Echando un vistazo atrás en el tiempo, ¿siente que Linux ha satisfecho sus espectativas iniciales? Linus: Linux ha hecho más que satisfacer cualquier pequeña aspiración que inicialmente tuviera. Es sencillamente increíble el éxito que ha tenido Linux, y lo agradable que ha sido el tiempo que dediqué desarrollándolo y dirigiendo el proyecto. Se lleva un montón de mi tiempo, pero es un tiempo que disfruté gastándolo, y Linux ha continuado siendo un reto desde el punto de vista técnico y de dirección. Ya no asisto a conferencias tanto como solía hacerlo antes: tener un hijo y alejarme de la universidad me deja con menos tiempo del que tenía hace unos pocos años, pero he tratado de equilibrar las cosas - no sólo dedicándole tiempo a Linux, sino también a un trabajo real y una vida real al mismo tiempo. Ha funcionado razonablemente bien, y mientras esté considerablemente ocupado puedo decir honestamente que al menos no me aburro;) Instituto Nacional de Estadística e Informática 53 Introducción a LINUX Star Office : Un gran producto para Linux y Windows Aun a riesgo de caer en frases muy típicas, se puede describir al programa StarOffice 5.1 como: "Una solución integral a los problemas informáticos de cualquier departamento" StarOffice contiene las siguientes aplicaciones: Procesador de textos, hoja de cálculo, base de datos, editor de presentaciones, lector de correo, cliente ftp, lector de noticias, navegador web, editor HTML y editor gráfico. La licencia de uso: no es software GPL, y los fuentes no están disponibles. El actual propietario de StarOffice es SUN MicroSystem, que compró a StarDivision creadora de este producto Una particularidad de StarOffice es que es un solo programa y todas las aplicaciones se ejecutan dentro de la ventana de este único programa. De hecho, la gente de StarDivision (la empresa que lo ha creado) ha creado un completo entorno de ventanas propio, que se ejecuta dentro de la única ventana que necesita StarOffice. De esta forma es más fácil mantener la aplicación, ya que StarDivision ha hecho versiones para múltiples plataformas: OS/2, Windows, Linux, Sun, y otros Unix. Sólo el 20% del código es dependiente de la implementación. Los diseñadores de StarOffice saben perfectamente que el look-and-feel de MS es el gran ganador en todos los ámbitos de la informática, y que la organización de los menús y las combinaciones de teclas que casi todo el mundo conoce son las que el Office ha establecido como estándar de facto. Por lo que no se han complicado la vida, y tanto la instalación, como la organización y la utilización del paquete es totalmente igual que el "estándar". De echo, llega incluso a ser molesto para los muy usuarios de Linux este fuerte parecido. La siguiente figura es una foto del aspecto del editor de texto: Instalación La instalación es totalmente automática. Los pasos son los siguientes: bajar de http://www.stardivision.com el fichero "so40_lnx_01.tgz"; descomprimirlo en un directorio temporal, con lo que aparecerá el directorio "Office_Install"; dentro de este directorio ejecutaremos el fichero "setup". Antes de empezar la instalación asegúrate que tienes una libc versión 5.4.22 o superior. En otras palabras, debe de existir el fichero 54 Instituto Nacional de Estadística e Informática Introducción a LINUX /lib/libc.so.5.4.22. Puedes encontrarla en cualquier sunsite. Si tienes la versión 5.0 de Red Hat también tendrás problemas pues ellos utilizan ya la siguiente versión de librería, la libc6 y la libc.so.5.3. He oído que ya han sacado un patch para que sea compatible con los programas que utilizan la libc.so.5.4, pero de todas formas te voy a dar un truco infalible: (1) copias la librería libc.so.5.4.22 (superior) al directorio /lib, ésta la puedes conseguir en cualquier lugar, desde el directorio del gcc en cualquier sunsite, hasta de cualquier distribución slackware o Debian; (2) ejecutas ldconfig; (3) para ejecutar el setup has de hacer. $ (export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib; setup) Los paréntesis son necesarios. De esta forma forzamos a que el programa setup crea que está en un sistema con librerías antiguas. Tenemos dos posibilidades: instalar el paquete sólo para nuestro uso propio, o instalarlo en un directorio publico para que lo puedan utilizar todos los usuarios del sistema. Para instalarlo para que todos puedan utilizarlo, hay que ejecutar el programa setup con el parámetro /net, e instalarlo en un directorio al que todos tengan acceso como puede ser /opt. Esta instalación ocupa unos 114Mb. Luego, cada usuario que quiera utilizarlo ha de ejecutar el programa /opt/Office40/bin/setup y elegir la opción "Install from CD or net". La instalación de cada usuario ocupa unos 12Mb. Instituto Nacional de Estadística e Informática 55 Introducción a LINUX Lo último que queda por hacer es añadir en la variable PATH el directorio en el que se encuentran los ejecutables: export PATH=$PATH:$HOME/Office40/bin. El StarOffice hace un uso extensivo de las capacidades del servidor X, por tanto es interesante tener todas las fuentes de letras instaladas, en caso contrario las fuentes que no encuentre las sustituirá por otras de distinto tamaño con un resultado penoso. En el propio paquete vienen un directorio de fuentes que pueden ser utilizadas por tu servidor X. Las siguientes ordenes informan al servidor X dónde puede encontrar las fuentes que el StarOffice le pida. $ xset fp+ $HOME/Office40/fonts/75dpi $ xset fp+ $HOME/Office40/fonts/type1 El ejecutable que pone en marcha todo el paquete es soffice. Si tu ordenador tiene menos de 32Mb o si lo tienes con muchos programas en marcha ten un poco de paciencia, puede tardar bastante tiempo en arrancar. Al igual que en la instalación, si tienes problemas de librerías, tendrás que ejecutar: $ (export LD_LIBRARY_PATH=/lib.old:$LD_LIBRARY_PATH; soffice) Características globales Ayuda en línea Todos los programas que componen el paquete están preparados para ofrecer ayuda al estilo Windows (osea sobre todo lo que se te pueda ocurrir por tonta que sea la pregunta). En todas las ventanas de diálogo aparece un botón de Ayuda. La versión 4.0 aún no viene con los ficheros de ayuda, por lo que no pasa nada al pulsar cualquiera de estos botones. Otra ayuda que esta vez sí que está disponible son los tutoriales sobre cada uno de los programas. No son tutoriales exhaustivos, pues posiblemente no han tenido tiempo para hacerlos, pero las partes que ya están hechas, son realmente buenas. Son manuales que se pueden leer a la vez que trabajamos con nuestro documento. A parte de los clásicos globitos de ayuda, StarOffice dispone de unos globos de ayuda extendidos (se activan desde el menú de Help->Extended_Tips) que son realmente útiles. Menús contextuales Sobre cualquier "objeto" que tengamos seleccionado, podemos desplegar un menú pulsando el botón derecho del ratón. Este menú contiene las opciones más usuales que se pueden realizar sobre el objeto concreto seleccionado. También las barras de menús se adaptan al tipo de objeto que hay seleccionado. Por ejemplo si hemos seleccionado un bloque de texto, entonces la barra de herramientas de objetos tiene el siguiente aspecto: 56 Instituto Nacional de Estadística e Informática Introducción a LINUX Pero si lo que tenemos seleccionado es un objeto gráfico, entonces la barra de herramientas que aparece es: Varias aplicaciones simultáneas Podemos tener varias aplicaciones abiertas a la vez. Cada documento puede ser totalmente distinto. Por ejemplo, podemos estar editando un texto en una ventana, a la vez que en otra ventana navegamos por la red y en otra tenemos una hoja de calculo procesando. Sin ir más lejos, ahora tengo la presentación de ejemplo que estoy preparando y este mismo documento abiertos. Tecnología OLE para Linux Quizás no conozcas el concepto OLE de Windows. OLE es el acrónimo de Object Linking and Embedding, es un protocolo para enlazar componentes en un entorno gráfico. En otras palabras, podemos insertar documentos creados con otras aplicaciones en nuestra aplicación. Tal como he comentado StarOffice está compuesto de muchas aplicaciones y gracias a esta tecnología (implementada en su totalidad por los creadores de StarOffice, pues en Linux aún no existía) podremos pegar en una presentación una hoja de cálculo o una tabla del editor de textos. Corrector ortográfico y sinónimos Dispone de un potentísimo corrector ortográfico. Puede funcionar en modo diferido, en cual, a través de una ventana nos presenta las palabras que no ha encontrado y nos ofrece una lista de posibles correcciones. También dispone de la corrección online; de esta forma, conforme se Instituto Nacional de Estadística e Informática 57 Introducción a LINUX teclea texto, éste es analizado y subrallado en rojo si se detecta alguna falta. Las palabras incorrectas se pueden corregir rápidamente pues en el mismo menú contextual aparecen las palabras propuestas. En cualquiera de los dos casos, es increíblemente rápido. Un Pequeño problema es que por ahora sólo se dispone de el diccionario en ingles y alemán, aunque creo que ya ha salido, o está a punto de hacerlo, la versión multilingüe. También dispone de un excelente diccionario de sinónimos (lo cual es muy útil para los que tenemos que escribir en un idioma que no es el nuestro nativo). Es imposible abordar todas las funcionalidades de StarOffice en un solo artículo, por lo que comenzaré esta serie con una de las aplicaciones que más he echado a faltar en Linux: el editor de presentaciones, el PowerPoint de Linux. Creación de presentaciones Los programas para la creación de presentaciones están a mitad de camino entre los editores de texto (Word, LyX, etc) y los editores de gráficos vectoriales (CorelDraw, xfig, etc). Con un editor de presentaciones podremos crear presentaciones de varios tipos: presentaciones en pantalla, presentaciones para transparencias (tanto en color como en blanco y negro) y presentaciones en papel. Una presentación está compuesta por una serie de páginas independientes; esto es, si el texto y las figuras no caben en una página entonces en lugar de saltar a la siguiente página, se pierde fuera de la página. Se tiene un control total sobre la disposición y localización de todos los objetos. Y normalmente se dispone de un amplio conjunto de objetos prediseñados (figuras geométricas, iconos, globos de texto, etc.) Dentro de la "suite" StarOffice el editor de presentaciones se llama Presentation, si bien es poco significativo pues sólo se puede acceder a él desde la ventana de soffice. Hay dos formas de crear una presentación: partiendo de una presentación en blanco, o utilizando el asistente --Auto Pilot--. En el segundo caso se puede hacer desde el menú de File->New>Presentation (evidente), sólo tenemos que ir siguiendo las ventanas del asistente y al finalizar tendremos un esquema de transparencias, todo ello idéntico a como lo hace el PowerPoint. 58 Instituto Nacional de Estadística e Informática Introducción a LINUX Ahora lo que tenemos que hacer es rellenar las transparencias que el asistente nos ha propuesto y añadir las que sean necesarias. Para ello contamos con varios modos para trabajar con el documento: Slide: Modo normal de trabajo. Todas las operaciones se realizan en modo WYSIWYG. Sólo podemos trabajar sobre una página a la vez. Background: Desde aquí podemos diseñar el fondo de todas las transparencias. Layer: Cada transparencia está dividida en varias capas, de esta forma es más sencillo trabajar con transparencias que contienen muchos objetos. Instituto Nacional de Estadística e Informática 59 Introducción a LINUX Outline Overview:: Muestra el texto que contienen todas las transparencias, con lo que se tiene una visión global de la estructura de la presentación. Notes view:: Podemos preparar a la vez que creamos la presentación, las notas que nos ayudarán. Vemos a la vez las notas y el contenido de la transparencia. Short view:: Vemos todas (todas las que caben) las transparencias en tamaño reducido, con lo que nos podemos hacer una idea del aspecto global. También podemos reorganizar el orden de las transparencias. "cosas" que se pueden hacer Lo más importante de un programa de presentaciones no el la cantidad de cosas novedosas y divertidas que pueda hacer, sino lo fácil y automatizado que tenga las operaciones que más se utilicen. El 99% de todas las transparencias que hagamos tendrán un aspecto muy parecido: tendrán un título, y luego seguramente un texto en forma de lista de ítemes. Por tanto si esto se puede hacer con una pulsación, mejor que si se hace con dos. Presentation nos permite elegir desde una ventana un conjunto de posibles disposiciones estándar. La estructura de una transparencia se puede modificar en cualquier momento. Figuras con texto Una presentación no puede limitarse a una secuencia de transparencias con texto, en una buena presentación es aconsejable distribuir el texto de acuerdo con las relaciones existentes entre los conceptos que se están presentado. Poner el texto dentro de un rectángulo u otras figuras geométricas es un recurso imprescindible en un programa de presentaciones. Presentation dispone de los típicos rectángulos, rectángulos con 60 Instituto Nacional de Estadística e Informática Introducción a LINUX bordes redondeados, elipses, etc. No dispone de figuras 2D más complejas, como las que hay en PowerPoint, pero que rara vez se utilizan. Si queremos figuras más complejas tendremos que crearlas a mano alzada con la herramienta líneas y polígonos. Podemos cambiar fácilmente todos los atributos de cada una de las figuras tanto desde las barras de herramientas como desde el menu contextual. Para escribir texto dentro de cada figura sólo hay que hacer click dos veces sobre la figura. Figuras 3D Dispone de un conjunto de figuras básicas en 3D, a las que se les puede modificar multitud de parámetros, con unos resultados muy aparentes. Líneas Imprescindibles para establecer relaciones entre objetos y para centrar la atención del espectador. Tenemos una amplia gama de tipos de líneas, desde las líneas sin extremos, pasando por las líneas con terminación en punta de flecha y las líneas de diseño de CAD para medir distancias. Los conectores son otro tipo de líneas para unir objetos. Los conectores se utilizan para enlazar objetos de forma que si desplazamos uno de los dos objetos, el conector se adapta para seguir enlazando los dos objetos. Existe varios tipos de terminaciones en cada uno de los dos extremos: cuadrado, círculo, flecha; rellenos y vacíos. Gráficos Evidentemente podemos insertar cualquier tipo de gráfico de mapa de bits: jpg, bmp, gif, png, tif, etc. A a partir de este momento el gráfico se trata como cualquier otro objeto lo podemos mover, redimensionar, etc. Dispone de una amplia galería de imágenes prediseñadas. Instituto Nacional de Estadística e Informática 61 Introducción a LINUX Animaciones Entramos ahora en las características más espectaculares. Si nuestra presentación la vamos a realizar utilizando un proyector de vídeo, entonces podemos utilizar el propio programa Presentation para hacerlo. En este caso el programa toma el control total del servidor X y va pasando las transparencias a golpe de ratón (o automáticamente mediante un temporizador). Lo único que tenemos que hacer es conectar la salida del vídeo del ordenador a la entrada de vídeo del proyector, apretar el botón de "Slide Show" y apagar las luces. De esta forma, podemos hacer que los objetos se muevan e interactúen entre ellos de forma predefinida (Tools->Effects). Durante la creación de la presentación podemos indicarle a cada objeto cómo debe aparecer y desaparecer También podremos elegir la forma en la que se realiza la transición de una transparencia a la siguiente (Tools->Slide_Transition). La cantidad tipos de transiciones disponible es enorme. Es seguro que podemos evitar que nadie se duerma durante nuestra presentación. En el modo Layout View podemos ver muy rápidamente el efecto de transición de cada transparencia. Pero el movimiento no es lo único que podemos hacer, también podemos incluir sonido. Todavía otra posibilidad es crear gif animados e incluirlos en la presentación. Estos podemos crearlos desde la ventana Tools->Animation. Objetos OLE Podemos insertar cualquier otro documento creado desde StarOffice en muestra presentación. Igualmente, podemos pegar las transparencias que hagamos sobre cualquier otro documento. Exportar a HTML Muchas veces sucede que una presentación que hemos creado para una conferencia o un seminario, queremos dejarla accesible desde Internet en forma de página HTML. StarOffice nos permite hacerlo de forma completamente automática. Al exportar la presentación a HTML, StarOffice genera una primera página índice con el título de todas las transparencias, y dos ficheros por cada transparencia. Uno de los ficheros es una pequeña página html que contiene únicamente una imagen en formato jpg de la transparencia y unos enlaces a la página siguiente, anterior e índice, y el otro es un fichero jpg de la transparencia La páginas HTML creadas de está forma no tienen ningún tipo de animación. 62 Instituto Nacional de Estadística e Informática Introducción a LINUX Conclusiones Es impresionante la cantidad de trabajo que hay detrás de este programa. Si tenemos en cuenta el tamaño de la empresa que ha creado StarOffice, el número de programadores con los que ha contado, y el tiempo que ha empleado para hacerlo; podemos afirmar sin duda alguna que Microsoft no tiene ni idea de como hacer software. Y que si StarDivision sigue al mismo ritmo, en un plazo de menos de un año, StarOffice será con diferencia el entorno de trabajo más utilizado en el mundo Linux, y con muy buenas expectativas en el mundo Windows. Instituto Nacional de Estadística e Informática 63 Introducción a LINUX NOTICIAS LINUX • IBM IBM ha indicado su intención de trabajar conjuntamente con firmas especializadas en Linux, tales como Red Hat, Caldera Systems, SuSe y Pacific Hi-Tech. En cuanto al hardware, el gigante azul está trabajando ya en dos líneas de servidores distintos. Por una parte su RS/6000, basado en el chip PowerPC y por otra en Netfinity, basada en el chip de Intel. En la gama baja del RS/6000, se utilizará la versión LinuxPPC, mientras que en el Netfinity se incluirá la versión distribuida por Red Hat. La línea Netfinity, está dirigida a la mediana y gran empresa que necesita gestionar operaciones a través de Internet, mientras que el RS/6000 está más orientado hacia el mundo de la enseñanza • Digital Domain trabaja en máquinas con Linux Digital Domain, una empresa estadounidense especializada en postproducción cinematográfica, utilizó ordenadores equipados con Linux, el popular sistema operativo de libre distribución, para la elaboración de los efectos visuales de la película Titanic. Así lo explica, en la revista Linux Journal, uno de los ingenieros encargados de la puesta en marcha del sistema informático que reconstruyó el viejo barco sobre los fotogramas de la película. 160 ordenadores equipados con microprocesadores Alpha a 433MHz fueron utilizados para recrear las figuras y objetos que componen el barco de la última superproducción de James Cameron. De ellos, 105 ejecutaban Linux, un sistema operativo basado en UNIX, en cuya elaboración han intervenido desinteresadamente programadores de todo el mundo. Según Daryll Strauss, uno de los ingenieros de Digital Domain, la elección de Linux obedeció a criterios de coste y flexibilidad. La simulación digital del movimiento del agua requería alta capacidad de proceso y un elevado número de máquinas trabajando en paralelo. El coste de un sistema operativo para tantos ordenadores hizo que la empresa se planteara el uso de uno gratuito. gratuito La flexibilidad de Linux para trabajar con otros sistemas animó a la empresa a decidirse por él. Sin embargo, la puesta en marcha de los equipos no estuvo exenta de problemas. Uno de los que se encontró el equipo de Digital Domain fue la aparición de un bug (error informático) que afectaba a determinados cálculos matemáticos en las plataformas Alpha y Linux. Strauss cree que dicho problema no fue detectado anteriormente porque la base instalada de Linux sobre Alpha es mucho menor que la de otros microprocesadores, como los de Intel Corporation. No tardaron mucho en solventarlo y el ingeniero aseguró que la solución será puesta a disposición de la comunidad de usuarios de Linux, siguiendo el espíritu de evolución de este sistema operativo. 64 Instituto Nacional de Estadística e Informática Introducción a LINUX Aparte de este contratiempo, el rendimiento de las máquinas Linux fue más que aceptable: los equipos estuvieron trabajando "desde Junio a Agosto, 24 horas al día, 7 días a la semana" y, actualmente, Digital Domain estudia la posibilidad de adaptar a Linux parte de las herramientas que utilizan habitualmente en otros sistemas operativos. • SCO se pasa también a Linux Santa Cruz Operation (SCO) anunció ayer oficialmente que van a apuntarse a lo de Linux, que ya tardaban :-) SCO ya era uno de los fundadores de Linux International, pero ahora también harán estudios para las empresas interesadas en instalar software de fuente abierto, además de dar soporte técnico a sistemas ya instalados, instalaciones y "custom engineering". Dice el vicepresidente de Servicios Profesionales de SCO que "The labor-based technology model of Open Source products creates a significant need for services and people to assist any company electing to deploy Linux systems. The open source nature of Linux, its UNIX heritage, and a significant pool of in-house technical staff who are skilled in Linux systems give SCO Professional Services a unique capability for helping these enterprise customers". • Informix distribuye su producto DBMS para Linux Informix Corp. ha cerrado un acuerdo de colaboración con Red Hat Software Inc. (http://www.redhat.com) y SuSE Inc. (http://www.suse.com) productoras de las conocidas distribuciones homónimas de Linux- para distribuir la versión Linux de su base de datos Informix Dynamic Server. El nuevo producto ha sido bautizado como Informix Dynamic Server Linux Edition Suite y será vendido por Red Hat a 99 dólares (14.355 pesetas o 86,27 euros), mientras que SuSE lo hará por 50 (7.250 pesetas o 43,57 euros). Como complemento, Informix ofrecerá varios niveles de soporte por e-mail a los interesados y foros basados en Web, al mismo tiempo que existirá un soporte más amplio a "precios estándar". Más información en http://www.informix.com • Intel vuelve a invertir en Linux El gigante de los microprocesadores ha comprado un 6% de eSoft (que supone 3 millones de dólares), una empresa que desarrolla aparatitos para Internet y redes basados en Linux. Intel sigue en serio con Linux, por lo que se ve. La semana pasada presentó utilidades y más aparatitos con Linux en el Consumer Electronics Show. • Corel toma posiciones en conectividad Corel ha comprado una parte grande de Newlix, una empresa Canadiense cuyo principal producto es Omega, un sistema basado en Linux para conectividad (conexión, correo, ficheros, impresión y firewall) de empresas con hasta 50 PCs. Otra parte más de su plan de desbancar a Windows, hay que entender, después de que la semana pasada anunciaran su desktop windowsero y que ya van 100.000 downloads de su distribución de Linux. Instituto Nacional de Estadística e Informática 65 Introducción a LINUX • Crusoe: La nueva gama de procesadores inteligentes EI pasado 19 de enero. La compañía Transmeta presentó una nueva gama de microprocesadores, denominada Crusoe, en cuyo desarrollo participaron Linus torvals y Mobile Linux.. En este Acto se presentaron los dos primeros representantes de la familia Crusoe, el TM 5400 a 700 Mhz y el TM3120 a 400 Mhz, con características tan novedosas como la capa de Code Morphing para traducir el código x86 a la arquitectura VLIW de los procesadores o la tecnología LongRun de ajuste dinámico de la velocidad del microprocesador. Transmeta ha reinventado el microprocesador. Crusoe es el primer microprocesador cuyo juego de instrucciones está implementado totalmente con software en comparación con los actuales microprocesadores implementados solamente con hardware. La arquitectura híbrida hardware/software de los procesadores Crusoe permite que hasta el 75% del procesador pueda ser actualizable, de la misma manera que se puede actualizar el sistema operativo de un organizador electrónico. Los procesadores Crusoe diseñado para equipos móviles, consumen un watio, lo que supone la décima parte de lo que consume el procesador de Intel con mejores prestaciones en cuanto a consumo. Sería posible utilizar un portátil con un chip Crusoe todo el día sin recargar la batería. Disponen, además, de un modo especial de hibernación que consume sólo 20 miliwatios. Posee existe una capa de software llamada Code Morphing, que se encarga de ir traduciendo el programa a ejecutar de instrucciones x86 a instrucciones del VLlW, variando el software de Code Morphing podríamos ajustamos a nuevos diseños hardware o emular incluso otros conjuntos de instrucciones. ARQUITECTURA DEL MICRO VLIW El micro VLIW contiene dos unidades de punto fijo, una unidad de punto flotante, una de memoria y una de salto. Cuatro de ellas pueden funcionar en paralelo en cada ciclo. En terminología de Transmeta, las instrucciones del micro se denominan moléculas y pueden ser de 64 ó 128 bits. Las moléculas están compuestas de hasta cuatro átomos que son instrucciones estilo RISC para ejecutar en cada una de las unidades funcionales, siendo el formato de la molécula el que indica la unidad que le corresponde a cada uno. Todos los átomos de la molécula se ejecutan 66 Instituto Nacional de Estadística e Informática Introducción a LINUX simultáneamente. Con él se simplifica el micro ya que en otras soluciones es el hardware el que decodifica las instrucciones x86 en microinstrucciones y decide en qué unidades funcionales se ejecutan. El micro consta de 64 registros denominados %r0 a %r64, siendo algunos de ellos utilizados por el Code Morphing para mantener el estado interno x86. EI TM3210 Básicamente el TM3120 está pensado para utilizarse en PADs con Linux. Esta compuesto por unidades de punto flotante y punto fijo, una caché de instrucciones y una de datos, una unidad de memoria, instrucciones multimedia, un controlador de memoria SDR SDRAM, un controlador de bus PCI y otro de interfaz ROM serie Tiene 96Kb de caché de nivel 1, 32 de datos y 64 de instrucciones. EI TM5400 El TM5400 esta pensado para portátiles de uno a dos kilos con Linux u otros sistemas operativos. Está compuesto por unidades de punto flotante y punto fijo, una caché de instrucciones y una de datos, una caché de nivel 2 de escritura retardada, una unidad de memoria, instrucciones multimedia, un controlador de memoria SDR, SDRAM, un controlador de memoria DDR SDRAM, un controlador de bus PCI y un controlador de interfaz ROM serie Tiene 128Kb de caché de nivel 1, 64 de datos y 64 de instrucciones. Y tiene 256Kb de caché de nive12. La lógica de control del micro es muy simple. Al igual que en el TM3210, las unidades de punto fijo son segmentadas en siete etapas y la de punto flotante en ocho. La interfaz ROM serie se utiliza para acceder a una memoria Flash-On de 1Mb donde se almacena el programa de Code Morphing Dicho programa se copia a memoria SDRAM al arrancar en un espacio de direccionamiento no accesible por el código x86, ocupando entre 8 y 16Mb. La interfaz permite la actualización de la Flash, de forma que se puede cambiar la versión de Code Morphing EL SOFTWARE CODE MORPHING El Software Code Morphing es una capa de software que traduce instrucciones de una arquitectura a otra. En el caso del Crusoe, de x86 a un motor VLIW. De esa forma, los programas, incluso el SO y la BIOS, ven un micro x86 y es esa capa la que se encarga de ir “ejecutándolos". Para ello toma instrucciones x86 y genera código VLIW que es procesado por el micro. Lo sorprendente es que esta capa también tiene que ser ejecutada en el propio micro. El resultado final es un entrelazado de instrucciones traducidas y otras del CM En el proceso de arranque lo primero que se hace es leer el Code Morphing de una Rom una vez cargado. Toma el control, simulando un micro x86 por software. Al hacer esta primera etapa por software, las posibilidades son mucho mayores. Por ejemplo, el código traducido se almacena en una caché para un uso posterior (basándose en el principio de localidad) de forma que el código que se use más pueda ser reoptimizado para mejorar el rendimiento. Además, esta capa puede actualizarse, es software. Instituto Nacional de Estadística e Informática 67 Introducción a LINUX Todo esto, sin embargo, no se puede hacer eficientemente sin el apoyo de hardware. Hay cosas que no serían factibles. De hecho, los números en punto flotante son del mismo tamaño que en x86, los bits de la TLB y los de las páginas de memoria, etc. Transmeta divide su tecnología de Code Morphing en cuatro etapas: Decodificación y planificación. La decodificación y filtrado consisten en la traducción y conversión de código a instrucciones del micro final Caching. el caching almacena el resultado de dicha traducción en una memoria para su uso posterior y no tener que volver a traducir Filtrado. el filtrado selecciona los fragmentos de código que más se ejecutan para su refinamiento y optimización Predicción y elección en los saltos Esta optimización la realiza en base a datos que recoge sobre ejecuciones anteriores de dichos fragmentos. Por ejemplo, en el caso de los saltos condicionales, el software de traducción puede introducir sentencias para recolectar información de frecuencias de salto y con ello modificar la traducción para hacerla más eficiente. TECNOLOGIA LONGRUN Uno de los aspectos más interesantes del micro es la incorporación de la tecnología LongRun en el TM5400. Ésta permite regular la frecuencia y el voltaje en cada instante, adaptándose a las necesidades de las aplicaciones que se están utilizando. Con ello, se consigue un ahorro de energía significativo permitiendo una mayor duración de la batería. La familia Crosue tiene un consumo en torno a 1W, frente a los más de 30 del Athlon y el Pentium III. MOBILE LINUX Como sistema operativo para los ordenadores portátiles, Transmeta ha apostado fundamentalmente por la utilización de Microsoft Windows. Sin embargo, en lo que respecta a los dispositivos móviles de acceso a Internet se ha decantado por la utilización de Linux. Según los técnicos de Transmeta, la posibilidad de adaptar los procesadores Crusoe a otras plataformas, como Macintosh, es teóricamente posible, aunque en un principio no entra en sus planes. Los dispositivos portátiles de los que se está hablando tienen unas características muy particulares. Son dispositivos pequeños, con una memoria y capacidad de procesamiento limitada, pues es importante reducir el consumo de las pilas o la batería. Suelen carecer de disco duro e incluso de ratón y teclado. Mobile Linux trata de aportar al Linux tradicional el soporte adecuado para estos dispositivos 68 Instituto Nacional de Estadística e Informática Introducción a LINUX Transmeta pretende conseguir con Mobile Linux que los fabricantes dispongan de una versión de Linux que se pueda ejecutar en los dispositivos portátiles de acceso a Internet basados en sus microprocesadores. Mobile Linux es, por tanto, una variante del kernel 2.3 estándar de Linux al que se han incorporado ciertas características particularmente útiles para los dispositivos móviles de acceso a Internet. No es una distribución comercial, como Red Hat o Corel, ni está destinada a usuarios finales. Las principales mejoras que se incorporan a Mobile Linux se centran en el ahorro de energía y la reducción de la utilización de la memoria. Utiliza el sistema de ficheros comprimido incluido por Torvalds recientemente en la versión estándar del kernel de Linux, que permite ejecutar software que se encuentra almacenado en un servidor de la red en un formato comprimido. El dispositivo iría solicitando bajo demanda las partes del software que quiera, sin necesidad de cargar completamente el programa en memoria. En resumen, Mobile Linux ha sido creado como una pieza más para poder proporcionar a los fabricantes OEM una solución integral que incluya el procesador Crusoe, la capa de Code Morphing, todo el soporte de drivers para plataforma y el sistema operativo Mobile Linux, Buena parte del trabajo de Linus Torvalds en Transmeta está relacionado con Mobile Linux, aunque también participa en el desarrollo del Code Morphing. También es importante resaltar la utilización de Linux en la plataforma de desarrollo de la nueva Sony PlayStation 2, los webpads de National Semiconductor y Diamond o los dispositivos web de Intel, que por primera vez abandona el Windows CE de Microsoft. La empresa Lineo, ex-división de dispositivos embebidos de Caldera, anunció la disponibilidad de Embedix Linux 1.0, una versión especial de Linux para pequeños dispositivos. Esta versión forma parte de Embedix, una solución software para incorporar la potencia y conectividad de Linux a dispositivos empotrados. También forma parte de este proyecto un SDK para OEMs y un micronavegador web. Actualmente, Lineo está trabajando en Embedix PDA, una capa software para poder ejecutar aplicaciones diseñadas para Windows CE sobre Embedix Linux sin apenas pérdida de rendimiento. La función de Embedix PDA sería la de enmascarar el sistema operativo de forma que las aplicaciones Windows CE se pudieran utilizar sobre Linux. Una idea similar al code morphing de Transmeta pero adaptado a Windows CE. Según la nota de prensa de Lineo, estaría disponible en el primer trimestre del año que viene. Por último, otra importante iniciativa es el Flash Linux desarrollado por Infomatec. En el artículo sobre thin clients basados en GNU/Linux, de esta misma revista, se analizan con gran detalle las características de esa versión. Tomada de la Revista LINUX ACTUAL - No.12 /Año 2 - España. Instituto Nacional de Estadística e Informática 69 Introducción a LINUX Bibliografía 70 √ Revista Linux Focus √ Artículo de la Revista Forbes www.forbes.com/forbes/98/0810/6203094s1.htm √ Análisis Competitivo del Sistema Operativo Linux Erick S. Raymond √ Linux Kernel/Núcleo El Rincón de Linux √ Proyecto LUCAS www.lucas.ctv.es √ Linux otra opcion en SOs www.maestrosdelweb.org/editorial/computacion/linux.asp √ Red Hat www.redhat.com √ Debian www.debian.com √ SUSE www.suse.com √ Caldera Open Linux www.caldera.com Instituto Nacional de Estadística e Informática