La Guía del enROOTador para <bf/Linux/ <author>Eric Dumas, <tt>Eric.Dumas@freenix.fr</tt> <date>Versión 2.6, 29 Diciembre 1996. <toc> <sect>Advertencia del traductor<p> Este documento es la traducción no adaptada, del <sq>Guide du ROOTard pour Linux</sq> de Eric Dumas. Aqui encontraras mucha información sobre Linux orientada al Francés, aunque todo puede ser adaptado al español (ya veremos despues ;-)). Por el momento si la solución francesa no te conviene, explota las pistas que te da Eric. Pero mira antes la Infosheet y el Spanish HOWTO en los capitulos 4 y 22 de este documento. Tambien puedes consultar los documentos que encontraras en : <itemize> <item>Linux en Castellano http://www.infor.es/LuCAS/ <item>Spanish Linux Users Group http://slug.ctv.es/ <item>Impatient & ``Novatous'' Spanish FidoNet LiNUX Users Group http://www.insflug.nova.es/ </itemize> Tambien puedes inscribirte a la lista Linux l-linux@cic.teleco.ulpgc.es Para suscribiros, tendreis que enviar un mensaje a majordomo@cic.teleco.ulpgc.es con el siguiente contenido: subscribe l-linux No olvides que puedes buscar los articulos enviados a los news en: http://www.dejanews.com/dnq.html Y que puedes buscar el sitio ftp, que contenga un archivo X, más cercano a tu casa en : http://ftpsearch.ntnu.no/ftpsearch Si quieres comprar una distribucion de linux puedes hacerlo en : <itemize> <item>http://www.cheapbytes.com <item>http://www.redhat.com <item>http://www.infomagic.com </itemize> Si tienes alguna sugerencia sobre la traducción escribe a : caliman@magic.fr <sect>Preámbulo<p> He aquí la versión 2.6 de la Guía del enROOTador. Se trata principalmente de una versión <sq>corregida</sq> de la versión 2.5. Nada ha sido añadido. Esta versión es un poco particular : es la ultima que escribo como estudiante. Mas sin embargo he hecho todo lo posible para hacer unos largos estudios en la bella y vieja ciudad (pero simpática) de Burdeos.. pero 5 anos, es suficiente ! Es muy probable que la próxima versión solo salga en algunos meses, por causa de vacaciones forzadas por cuenta del estado (servicio militar ... pues si algunos no se salvan). No me tengas rencor si tengo mi correo un poco retrasado. Yo respondo siempre generalmente...(Es verdad a mi siempre me ha respondido, Ud. puede escribirle directamente a Eric en francés y sino, lo puede hacer por intermedio de caliman que contestara o traducirá) pero puede pasar un buen tiempo antes de que te responda (unos quince días)... <sect1> Historia de esta guía<p> Esta guía ha sido inicialmente concebida por Julian Simon (Julian.Simon@freenix.fr), que me gustaría agradecer por el trabajo extraordinario que el realizo. Buen numero de estos pasajes, incluida la introducción, han sido prestados a las versiones precedentes. El ultimo capitulo indica los nombres de las personas que han contribuido a la realización de este documento. Al cabo de las versiones esta lista se ha alargado : es buen signo. <sect1> Presentación del contenido<p> Esta guía tiene por objetivo dar respuestas muy claras y concretas a los problemas que puede poner la instalación de <bf><bf/Linux/</bf>. Reagrupa los trucos y astucias dadas por los utilizadores, lo mas frecuentemente leídas en el <it>newsgroup fr.comp.os.linux</it> (f.c.o.l), o en las <it>Howto</it>, documentos que indican como instalar, como configurar o mejorar un elemento soft o material dado. Historia de simplificar las cosas, nos vamos a tutear, es mas simple y ademas es una tradición en internet. <sect1>Que hay de nuevo ?<p> Esta versión de La Guia del enROOTador (2.5/2.6) posee varias novedades : <itemize> <item> descripción de la Redhat 4.0, llamada <sq>Colgate</sq> ; <item> descripción de la Slackware 3.1, llamada <sq>96</sq> ; <item> nucléo 2.0.27 ; <item> XFree 3.2.0 ; <item> numerosos complementos desde el punto de vista red, sendmail, etc. Gracias a Stéphane Bortzmeyer por sus numerosos consejos y contribuciones. <item> los modulos cargables (<tt>kerneld</tt>) ; <item> y un buen número de otras cosas... </itemize> Ademas; he integrado algunos articulos del Journal <bf/Linux/ français (<tt>http://echo-linux.alienor.fr</tt>). Esta nueva versión sobrepasa alegremente las 140 paginas ... cosa que yo nunca hubiera imaginado. Empieza a ser una guia bastante importante que esta dirigida a todos. <sect1> Copyrigth<p> La guía del enROOTador es <it>freeware</it> y yo te animo vivamente a distribuirlo tal cual gratuitamente. Mas sin embargo tu no puedes modificarlo o venderlo. Insisto particularmente sobre el hecho sobre el hecho que tu no puedes sacar beneficio financiero de este documento. Ninguna publicación es autorizada sin el acuerdo previo del autor y de los que han contribuido, y ello es valido al mismo tiempo a la inscripción en un CD-ROM, etc. <sect1>Sitios oficiales de distribución<p> <itemize> <item> ftp : ftp.ibp.fr en el repertorio <tt>/pub/linux/french/docs</tt> <item> WWW : <tt> http://www.freenix.fr/linux/Guide</tt> </itemize> Usted puede igualmente procurarse este documento en los sitios espejos del ftp.ibp.fr como por ejemplo: <itemize> <item>ftp.calvacom.fr <item>ftp.ese-myz.fr <item>ftp.loria.fr <item>ftp.switch.ch <item>ftp.univ-angers.fr <item>ftp.u-bordeaux.fr <item>lirftp.insa-rouen.fr <item>sunsite.mff.cuni.cz </itemize> (<it>Nota: si se me olvidan contacteme</it> !). Es disponible en varios formatos: <itemize> <item>Texto simple: sin ningún acento ideal para comenzar. <item>PostScript: el formato mas agradable para consultar. <item>HTML: a mirar con los útiles como mosaico, netscape, lynx. <item>SGML: con acentos normales. Se trata del ccdigo fuente original de la Guia. Si quieres enviarme un patch, puedes utilizar directamente este archivo. </itemize> <sect1>Evolucion del formato de esta guia<p> Desde que retomé la GRL (Guia del enROOTador para <bf/Linux/), la converti al formato <em>SGML</em>. Los Howto's y la documentacion <bf><bf/Linux/</bf> emplean tambien este standard gracias a un util llamado <sq>linuxdoc-sgml</sq> <url url="http://www.informatik.tu-muenchen.de/~schwarz/linuxdoc-sgml"> genera documentos en formatos tan variados como <it>HTML</it>, <it>texto</it>, <it>DVI</it>, etc. Mas sinembargo este util no permite la inclusion de figuras (lo que seria bastante practico) y sobre todo no respecta la tipografia francesa (un patch mejora un poco esta situacion : sgml-tools-0.99.0-fr.patch). Peor : solo la generacion en LaTeX (y luego PostScript) o HTML es realmente limpia y visible. Te aconsejo leer, si no has instalado nada por el momento, la version strictamente texto. <url url="ftp://ftp.ibp.fr/pub/linux/french/docs">. Es posible que la proxima version sea completamente escrita en LaTeX, puesto que los convertidores asia HTML estan bastante bien. Bueno es solo una idea personal;. Si tengo algun dia tiempo que perder. <sect> Introducción<p> Si tu encuentras errores (siempre he hestado muy enhojado con la horrografia :-)), tienes, comentarios, cosas para poner o simplemente para decirme que esto te ha ayudado mucho, no lo dudes, envíame un mail a la dirección siguiente: <tt>Eric.Dumas@freenix.fr</tt>. Tu puedes enviar un correo o un news en francés en el grupo Usenet francés consagrado a <tt><bf/Linux/</tt> : <it>fr.comp.os.linux</it> si tienes problemas, pero unicamente después de haber leído este documento. (Nt : es.comp.os.linux o la lista l-linux@cic-teleco.es ver Lucax y Slug) Evidentemente si tu quiebras tu maquina o si tu pantalla explota.... es tu culpa no la mía !. <it>Todas las criticas y todas las precisiones citadas pertenecen a su propietario </it>(como lo dice Juju, <sq>muy profundo eso!</sq>)<it> y no se usan que si uno no las utiliza</it>. Evidentemente toda sugerencia que permita hacer evolucionar esta guia o mejorar su difusion, es bienvenida. No dudes en contactarme : es siempre un placer. <sect>Linux Information Sheet <tt>author</tt>Michael K. Johnson, johnsonm@nigel.vnet.net <tt>date</tt>v4.4, 8 de Febrero de 1996 <sect1>abstract<p> Este documento proporciona una información básica sobre el sistema operativo Linux, incluyendo una explicación de Linux, una lista de características, algunos requerimientos y algunos recursos. <sect1>Introducción a Linux<p> <p>Linux es una reimplementación completamente gratuita de las especificaciones POSIX, con extensiones de SYSV y BSD (lo cual significa que parece Unix pero no proviene del mismo código fuente base), que está disponible tanto en su versión fuente como ya compilada. El copyright pertenece a Linus B. Torvalds (Linus.Torvalds@.Helsinki.FI) y otros colaboradores, y es libremente redistribuible bajo las condiciones de la &dquot;GNU Public License&dquot;. Linux <bf/no/ es de dominio público, ni es &dquot;shareware&dquot;. Es software gratuito, usualmente denominado <bf/freeware/, y tú puedes proporcionar copias a otros pero también debes dar los fuentes con éstas o hacer posible su obtención de la misma forma. Si tú redistribuyes una modificación estás legalmente obligado a proporcionar los fuentes de ésta. Vease la &dquot;GNU Public License&dquot; para más detalles. Una copia está incluida en los fuentes de Linux o puedes obtenerla vía ftp de prep.ai.mit.edu en /pub/gnu/COPYING Linux es gratuito en la versión actual y seguirá siéndolo en el futuro. Debido a la naturaleza del copyright de GNU, al que Linux está sujeto, sería ilegal no hacerlo así. No obstante es importante saber que es perfectamente legal cobrar por distribuir Linux, mientras se incluya el código fuente; para ampliar este punto remítase a la GPL. Linux se ejecuta en máquinas 386/486/Pentium con bus ISA, EISA, PCI o VLB. MCA (bus propietario de IBM) no está actualmente soportado por la falta de documentación, aunque hay algunos parches disponibles para ciertas máquinas. Actualmente se está portando a distintas plataformas Motorola 680x0 (los Amigas y Ataris), y por ahora funciona bastante bien. Se requiere un 68020 con una MMU, un 68030 o un 68040, y también una FPU. El software de red y X funcionan. Linux funciona bien en la CPU Alpha de DEC, actualmente bajo &dquot;Jensen&dquot;, &dquot;NoName&dquot;, &dquot;Cabriolet&dquot;, &dquot;Universal Desktop Box&dquot; (más conocida como Multia), y algunas otras plataformas. Linux está siendo rápidamente portado a Sun Sparc. Versiones para otras máquinas, incluyendo MIPS, PowerPC y PowerMAC están en camino y se está haciendo algún progreso. No te asustes, pero si estás interesado y puedes contribuir, puedes perfectamente encontrar otros desarrolladores que querrán trabajar contigo. A partir de la versión 1.0 que data de Marzo de 1994, Linux ya no es una versión de prueba (una beta). Aún hay errores en el sistema y nuevos errores irán apareciendo y serán solucionados con el tiempo. Como Linux es un proyecto de desarrollo abierto, todas las nuevas versiones que vayan apareciendo estarán disponibles para el público, sean o no estables. Sin embargo, para ayudar a la gente a discernir si la una versión es o no estable se ha acordado lo siguiente: Las versiones 1.x.y en las que x sea par son versiones estables y el incremento de y implica la corrección de algún error. Por lo tanto de la versión 1.2.2 a la 1.2.3 sólo hay corrección de errores, pero ninguna característica nueva. Las versiones 1.x.y con x impar son betas para los desarrolladores, pudiendo ser inestables y hasta colgarse, y están siendo ampliadas continuamente con nuevas posibilidades. Las actuales versiones de desarrollo son las numeradas 1.3.x, y la más reciente versión estable es la 1.2.13. De cuando en cuando, mientras el núcleo de desarrollo actual se estabiliza, será &dquot;congelado&dquot; como el nuevo núcleo y el desarrollo continuará en una nueva versión de desarrollo del kernel. La mayor parte de las versiones de Linux, betas o no, son bastante estables, y podrás continuar usándolas si hacen lo que tú quieres y no pretendes estar a la última. Un site tuvo un ordenador corriendo bajo la versión 0.97 con un nivel de parcheado (patchlevel) 1 (originalmente del verano de 1992) sin un sólo error o cuelgue. (Habría durado más si el bruto del operador no hubiese confundido el transformador de la fuente con una aguja de descarga de electricidad estática...). Otros han informado de actualizaciones con un año de retraso. Un site sigue teniendo un ordenador corriendo Linux 0.99pl15s desde que fue inicialmente arrancado hace más de 600 días. Algo a tener en cuenta es que Linux está desarrollado siguiendo un modelo abierto y distribuido, en lugar de uno cerrado y centralizado como la mayor parte del software. Esto significa que la versión actualmente en desarrollo es siempre pública (con un retraso de una o dos semanas) para que cualquiera pueda usarla. El resultado es que en cualquier momento que se añada una nueva funcionalidad y salga a la luz la nueva versión, ésta casi siempre tendrá errores, pero serán detectados y corregidos rápidamente, a menudo en cuestión de horas, ya que mucha gente trabaja en ello. En contraste, el modelo centralizado y cerrado significa que hay sólo una persona o un equipo trabajando en el proyecto, y sólo publican software que ellos piensan que esté trabajando bien. A menudo esto conlleva largos periodos de tiempo entre versiones, largas esperas para la corrección de errores y un desarrollo más lento. Por supuesto que la última versión de este tipo de software es a menudo de mejor calidad para el público, pero la velocidad de desarrollo es normalmente mucho más lenta. A 8 de Febrero de 1996, la actual versión estable de Linux es 1.2.13, y el nuevo árbol de desarrollo, 1.3.x, está actualmente por la versión 1.3.60. ¡No uses núcleos de la serie 1.3.x a menos que quieras meterte en su desarrollo y no te preocupe que tu máquina se venga abajo una vez tras otra!. <sect1>Características de Linux <p> <itemize> <item> multitarea: varios programas (realmente procesos) ejecutándose al mismo tiempo. <item> multiusuario: varios usuarios en la misma máquina al mismo tiempo (¡y <bf/sin/ licencias para todos!). <item> multiplataforma: corre en muchas CPUs distintas, no sólo Intel. <item> funciona en modo protegido 386. <item> tiene protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. <item> carga de ejecutables por demanda: Linux sólo lee de disco aquellas partes de un programa que están siendo usadas actualmente. <item> 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. <item> 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. <item> 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. <item> librerías compartidas de carga dinámica (DLL's) y librerías estáticas también, por supuesto. <item> 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. <item> casi totalmente compatible con POSIX, System V y BSD a nivel fuente. <item> mediante un módulo de emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario. <item> 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 siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. <item> control de tareas POSIX. <item> pseudo-terminales (pty's). <item> 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. <item> soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente. <item> 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. <item> 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. <item> 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. <item> un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. <item> soporte en sólo lectura de HPFS-2 del OS/2 2.1 <item> sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM. <item> TCP/IP, incluyendo ftp, telnet, NFS, etc. <item> Appletalk disponible en el actual núcleo de desarrollo. <item> software cliente y servidor Netware disponible en los núcleos de desarrollo. </itemize> <sect1>Hardware <sect2>Configuración mínima <p> La siguiente es posiblemente la mínima configuración sobre la que Linux puede trabajar: 386SX/16, 2 Mb RAM, disquetera de 1.44 Mb o de 1.2 Mb y cualquier tarjeta gráfica soportada (más teclado, monitor y demás, por supuesto). Esto debería permitirte arrancar y comprobar si trabaja en el ordenador, pero no serás capaz de hacer nada útil. Para hacer algo, necesitarás además algo de espacio en disco duro también, 5 o 10 Mb serán suficientes para una configuración minimísima (con sólo los comandos más importantes y quizás una o dos pequeñas aplicaciones instaladas, como por ejemplo un programa de terminal). Esto es aún muy, muy limitado, y muy incómodo, ya que no deja sufiente espacio para casi nada, a menos que tus aplicaciones sean bastante limitadas. No es recomendable para nada salvo para probar si las cosas funcionan y por supuesto para poder alardear de los pocos recursos requeridos. <sect2>Configuración usable <p> Si vas a ejecutar programas de computación intensiva, como gcc, X y TeX, probablemente querrás un procesador más rápido que el 386SX/16, pero incluso eso sería suficiente si fueras paciente. En la práctica necesitas al menos 4 Mb de RAM si no usas X, y 8 Mb en caso contrario. Además, si quieres tener muchos usuarios al mismo tiempo o ejecutar muchos programas grandes (compiladores por ejemplo) al mismo tiempo también, querrás más de 4 Mb de memoria RAM. Puede trabajar con menor cantidad de memoria (debería de hacerlo incluso con 2 Mb), pero usaría memoria virtual (usando el disco duro como una memoria lenta) y eso sería tan lento como para calificarlo de inútil. La cantidad de disco duro que necesites depende del software que pienses instalar. El conjunto de utilidades típicas de Unix, shells y programas de administrador ocupan menos de 10 Mb, con un poco de espacio libre para ficheros de usuario. Para un sistema más completo consigue la Slackware, MCC o Debian, y asume que necesitarás entre 60 y 200 Mb, según lo que eligas instalar y la distribución de que se trate. Añade el espacio que desees reservar para los archivos de usuario a estos totales. Con los precios de los discos duros en la actualidad, si vas a comprar un nuevo sistema no tiene sentido comprar una unidad demasiado pequeña. Adquiere al menos 200 Mb, preferiblemente 500 Mb o más, y no te arrepentirás. Añade más memoria, más disco duro, un procesador más rápido y otras cosas según tus necesidades, deseos y cartera para sobrepasar lo simplemente usable. En general, una gran diferencia frente a DOS es que con Linux, añadir memoria supone una grandísima diferencia, mientras que con DOS más memoria no supone tanta mejora. Esto por supuesto tiene algo que ver con los 640 Kb que pone por límite el DOS, hecho que no se da en absoluto bajo Linux. <sect2>Hardware soportado <p> <descrip> <tag/CPU:/ Cualquiera que pueda ejecutar programas en modo protegido del 386 (todos los modelos de 386, 486, 586 y 686 deberían valer; los 286 no funcionan ni lo harán jamás). Además, una versión para las CPU's 680x0 (para x=2 con MMU externa, 3 y 4) que está implementada en Amigas y Ataris está siendo desarrollada y puede ser encontrada en tsx-11.mit.edu en el directorio 680x0. Muchas Alphas son soportadas. Se está portando a PowerPC, ARM y a arquitecturas MIPS. Más detalles disponibles en cualquier otro lugar. <tag/Architecturas:/ Buses ISA o EISA. MCA (el de los PS/2) no funciona. Los buses locales (VLB y PCI) funcionan. <tag/RAM:/ Teóricamente hasta 1 Gb, aunque jamás ha sido probado hasta este extremo. Algunas personas (incluido Linus) han notado que añadiendo memoria sin incrementar el caché al mismo tiempo su máquina se ha ralentizado extremadamente, por ello si añades memoria y encuentras tu máquina más lenta prueba a ponerle más caché. Por encima de 64Mb de ram se requiere un parámetro de arranque, ya que la BIOS no puede detectar más que 64 Mb por su implementación. <tag/Almacenamiento de datos:/ Las unidades tipo AT (IDE, controladores de disco duro de 16 bits con MFM o RLL, o ESDI) son soportadas, como también lo son los discos duros y CD-ROM SCSI, con un adaptador SCSI soportado. Las cotroladoras tipo XT (controladoras de 8 bits con MFM o RLL) también son soportadas. Adaptadores SCSI soportados: Adaptec 1542, 1522, 1740 y la serie 27xx, controladoras Buslogic vía compatibilidad con Adaptec o con su propio driver, controladoras basadas en NCR53c810, Seagate ST-01 y ST-02, de Future Domain la serie TMC-88x (o cualquier placa basada en el chip TMC950) y TMC1660/1680, Ultrastor 14F, 24F y 34F, Western Digital wd7000 y otras. Las unidades de cinta SCSI y algunas QIC-02 y QIC-80 también son soportadas. Bastantes unidades de CD-ROM tienen soporte también, incluyendo Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI y otras. Para modelos exactos consulta el HOWTO de compatibilidad de hardware. <tag/Video:/ VGA, EGA, CGA y Hercules (y compatibles) trabajan en modo texto. Para gráficos y X hay soporte para (al menos) VGA normal, algunas tarjetas super-VGA (la mayoría de las basadas en ET3000, ET4000, Paradise, y algunas Trident), S3, 8514/A, ATI MACH8, ATI MACH32 y Hercules. (Linux usa XFree86 como servidor X y éste es quien determina qué tarjetas son soportadas). <tag/Redes:/ Western Digital 80x3, ne1000, ne2000, 3com503, 3com509, 3com589 PCMCIA, Allied Telliesis AT1500, la mayorías de las placas LANCE, adaptadores de bolsillo d-link, PPP, SLIP, CSLIP, PLIP (Parallel Link IP) y más. <tag/Serie:/ La mayoría de las placas basadas en UART 16450 and 16550, incluyendo AST Fourport, la Usenet Serial Card II y otras. Las placas inteligentes soportadas incluyen a la serie Cyclades Cyclom (soporte del propio fabricante), la serie Comtrol Rocketport (soporte del fabricante también), Stallion (la mayoría de placas y con soporte por parte del fabricante) y Digi (algunas placas y sin soporte por parte del fabricante). <tag/Otro hardware:/ SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, varios tipos de ratón de bus (Microsoft, Logitech, PS/2). </descrip> <sect1>Una lista incompleta de Programas Portados y Otro Software <p> La mayor parte de las herramientas comunes de Unix y programas han sido portados a Linux, incluyendo casi todo el material de GNU y muchos clientes X de varias fuentes. Portar es una palabra un poco fuerte ya que muchas aplicaciones compilan sin ninguna modificación o sólo con unas pocas ya que Linux se ajusta a POSIX casi totalmente. Desafortunadamente, no hay muchas aplicaciones para usuarios finales por el momento, pero esto ha empezado ya a cambiar. Aquí hay una lista incompleta de software que se sabe que corre bajo Linux. <descrip> <tag/Comandos básicos Unix :/ <tt/ls/, <tt/tr/, <tt/sed/, <tt/awk/ y más (cualquiera que se te ocurra, Linux probablemente lo tiene). <tag/Herramientas de desarrollo:/ <tt/gcc/, <tt/gdb/, <tt/make/, <tt/bison/, <tt/flex/, <tt/perl/, <tt/rcs/, <tt/cvs/, <tt/prof/. <tag/Lenguajes and Entornos:/ C, C++, Objective C, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran, ML, scheme, Tcl/tk, Perl, Python, Common Lisp y muchos más. <tag/Entornos gráficos:/ X11R5 (XFree86 2.x), X11R6 (XFree863.x), MGR. <tag/Editores:/ GNU Emacs, XEmacs, MicroEmacs, <tt/jove/, ez, <tt/epoch/, <tt/elvis/ (GNU vi), <tt/vim/, <tt/vile/, <tt/joe/, <tt/pico/, <tt/jed/ y más. <tag/Shells:/ <tt/bash/ (POSIX sh-compatible), <tt/zsh/ (incluye modo de compatibilidad con <tt/ksh/), <tt/pdksh/, <tt/tcsh/, <tt/csh/, <tt/rc/, <tt/es/, <tt/ash/ (casi completamente sh-compatible shell usada como <tt>/bin/sh</tt> por BSD) y muchas más. <tag/Telecomunicaciones:/ Taylor (BNU-compatible) UUCP, SLIP, CSLIP, PPP, <tt/kermit/, <tt/szrz/, <tt/minicom/, <tt/pcomm/, <tt/xcomm/, <tt/term/ (ejecuta multiples shells, redirecciona la actividad de la red y permite X remoto, todo sobre una línea de modem), Seyon (popular programa de comunicaciones bajo X) y diversos paquetes de fax y correo de voz (usando ZyXEL y otros modems) están disponibles. Por supuesto, los logins remotos vía línea serie son soportados. <tag/News y correo electrónico:/ C-news, <tt/innd/, <tt/trn/, <tt/nn/, <tt/tin/, <tt/smail/, <tt/elm/, <tt/mh/, <tt/pine/, etc. <tag/Procesamiento de textos:/ TeX, <tt/groff/, <tt/doc/, <tt/ez/, Linuxdoc-SGML, and others. <tag/Juegos:/ Nethack, varios Muds y juegos de X, y muchos más. Uno de esos juegos consiste en buscar por tsx-11 y sunsite para buscar los juegos disponibles. <tag/Suites:/ AUIS, el Andrew User Interface System. ez es parte de este suite. </descrip> Todos estos programas (y esto no es ni una centésima parte de los disponible) son gratuitos. El software comercial está empezando a surgir, pregunta al distribuidor de tu programa favorito si está disponible para Linux. <sect1>¿Quién usa Linux? <p> Linux está disponible gratuitamente, y a nadie se le pide que registre sus copias ante ninguna autoridad, por lo tanto es difícil conocer cuánta gente usa Linux. Diversos negocios están actualmente dedicados únicamente a la venta y soporte de Linux, y muy pocos usuarios de Linux usan estos servicios, hablando relativamente, y los grupos de noticias de Linux son de los más leídos en Internet, por ello el número estará situado sobre varios centenares o miles, los grandes números son difíciles de averiguar. De todas formas, un alma brava, Harald T. Alvestrand, ha decidido intentarlo y te pide que si usas Linux le envíes un mensaje con uno de los siguientes subjects a linux-counter@uninett.no: &dquot;I use Linux at home&dquot; (uso Linux en casa), &dquot;I use Linux at work&dquot; (uso Linux en el trabajo) o &dquot;I use Linux at home and at work&dquot; (uso Linux en casa y en el trabajo). También está contando votos del tipo &dquot;I don't use Linux&dquot; (no uso Linux) por alguna razón. El manda sus cuentas a comp.os.linux.misc <sect1>Obtener Linux <sect2>FTP anónimo <p> Matt Welsh ha sacado una nueva versión de su guía Installation and Getting Started, la versión 2.1.1. Además, el Linux Documentation Project (LDP) ha &dquot;publicado&dquot; varios otros libros en diversos estados de desarrollo y estos están disponibles en sunsite.unc.edu:/pub/Linux/docs/LDP. Mantente atento a comp.os.linux.announce Al menos los siguientes sites de ftp anónimo proporcionan Linux <!-- \noindent\begin{tabular}{lll} {\bf Nombre textual} & {\bf Dirección IP} & {\bf Directorio Linux} \\\hline tsx-11.mit.edu & 18.172.1.2 & /pub/linux \\ sunsite.unc.edu & 152.2.22.81 & /pub/Linux \\ ftp.funet.fi & 128.214.248.6 & /pub/OS/Linux \\ net.tamu.edu & 128.194.177.1 & /pub/linux\\ ftp.mcc.ac.uk & 130.88.203.12 & /pub/linux \\ src.doc.ic.ac.uk & 146.169.2.1 & /packages/linux \\ fgb1.fgb.mw.tu-muenchen.de & 129.187.200.1 & /pub/linux \\ ftp.informatik.tu-muenchen.de & 131.159.0.110 & /pub/comp/os/linux \\ ftp.dfv.rwth-aachen.de & 137.226.4.111 & /pub/linux \\ ftp.informatik.rwth-aachen.de & 137.226.225.3 & /pub/Linux \\ ftp.Germany.EU.net & 192.76.144.75 & /pub/os/Linux \\ ftp.ibp.fr & 132.227.60.2 & /pub/linux \\ kirk.bond.edu.au & 131.244.1.1 & /pub/OS/Linux \\ ftp.uu.net & 137.39.1.9 & /systems/unix/linux \\ wuarchive.wustl.edu & 128.252.135.4 & mirrors/linux \\ ftp.win.tue.nl & 131.155.70.100 & /pub/linux \\ ftp.stack.urc.tue.nl & 131.155.2.71 & /pub/linux \\ srawgw.sra.co.jp & 133.137.4.3 & /pub/os/linux \\ cair.kaist.ac.kr & & /pub/Linux \\ ftp.denet.dk & 129.142.6.74 & /pub/OS/linux \\ NCTUCCCA.edu.tw & 140.111.1.10 & /Operating-Systems/Linux\\ nic.switch.ch & 130.59.1.40 & /mirror/linux\\ monu1.monash.edu.au & 130.194.1.101 & /pub/linux\\ cnuce\_arch.cnr.it & 131.114.1.10 & /pub/Linux\\ \end{tabular} --> <tscreen><verb> Nombre textual Direccion IP Directorio Linux ============================= =============== ================ tsx-11.mit.edu 18.172.1.2 /pub/linux sunsite.unc.edu 152.2.22.81 /pub/Linux ftp.funet.fi 128.214.248.6 /pub/OS/Linux net.tamu.edu 128.194.177.1 /pub/linux ftp.mcc.ac.uk 130.88.203.12 /pub/linux src.doc.ic.ac.uk 146.169.2.1 /packages/linux fgb1.fgb.mw.tu-muenchen.de 129.187.200.1 /pub/linux ftp.informatik.tu-muenchen.de 131.159.0.110 /pub/comp/os/linux ftp.dfv.rwth-aachen.de 137.226.4.111 /pub/linux ftp.informatik.rwth-aachen.de 137.226.225.3 /pub/Linux ftp.Germany.EU.net 192.76.144.75 /pub/os/Linux ftp.ibp.fr 132.227.60.2 /pub/linux kirk.bond.edu.au 131.244.1.1 /pub/OS/Linux ftp.uu.net 137.39.1.9 /systems/unix/linux wuarchive.wustl.edu 128.252.135.4 mirrors/linux ftp.win.tue.nl 131.155.70.100 /pub/linux ftp.stack.urc.tue.nl 131.155.2.71 /pub/linux srawgw.sra.co.jp 133.137.4.3 /pub/os/linux cair.kaist.ac.kr /pub/Linux ftp.denet.dk 129.142.6.74 /pub/OS/linux NCTUCCCA.edu.tw 140.111.1.10 /Operating-Systems/Linux nic.switch.ch 130.59.1.40 /mirror/linux monu1.monash.edu.au 130.194.1.101 /pub/linux cnuce_arch.cnr.it 131.114.1.10 /pub/Linux </verb></tscreen> <p> tsx-11.mit.edu y fgb1.fgb.mw.tu-muenchen.de son los sites oficiales para el GCC de Linux. Algunos sites son un mirror de otros. Por favor usa el site más cercano a ti mientras te sea posible. Al menos sunsite.unc.edu y ftp.informatik.tu-muenchen.de ofrecen servicios de ftpmail. Escribe a ftpmail@sunsite.unc.edu o ftp@informatik.tu-muenchen.de si necesitas ayuda. Si estás perdido prueba a buscar en sunsite.unc.edu:/pub/Linux/distributions/, donde diversas distribuciones son ofrecidas. La Slackware está bien testeada y es una de las más populares distribuciones de Linux. La Red Hat y la Debian están también ganando popularidad. <sect2>Otras formas de obtener Linux <p> Hay muchas BBS que tienen ficheros para Linux. Una lista de ellas es ocasionalmente enviada a comp.os.linux.announce. Pregunta a amigos y a grupos de usuarios, o pide una de las distribuciones comerciales. Una lista de ellas está contenida en el &dquot;Linux distribution HOWTO&dquot;, disponible como sunsite.unc.edu:/pub/Linux/docs/HOWTO/distribution-HOWTO y enviado regularmente al newsgroup comp.os.linux.announce. <sect1>Empezando <p> Como se ha mencionado al principio, Linux no tiene una administración centralizada. Por ello no hay una versión oficial que nadie pueda señalar y decir &dquot;Eso es Linux&dquot;. Al contrario, hay varias distribuciones, que son más o menos colecciones completas de software configurado y empaquetado de tal forma que pueden ser usadas para instalar un sistema Linux. La primera cosa que deberías hacer es obtener y leer la lista de preguntas frecuentes (FAQ) de uno de los sites de FTP, o usando los normales archivos FAQ de Usenet (por ejemplo rtfm.mit.edu). Este documento contiene numerosas instrucciones de qué hacer para empezar, qué ficheros son necesarios y cómo resolver la mayor parte de los problemas comunes (durante la instalación o en otro momento). <sect1>Status legal de Linux <p> Aunque Linux es suministrado con el código fuente completo, es software con copyright, no de dominio público. Sin embargo está disponible gratuitamente bajo la &dquot;GNU Public License&dquot; (GPL). Ver la GPL para más información. Los programas que corren en Linux tienen cada uno su propio copyright, aunque muchos de ellos usen la GPL también. X usa el copyright de MIT X y hay algunas utilidades bajo copyright de BSD. En cualquier caso todo el software en el site se puede distribuir gratuitamente (y si no, no debería estar allí). <sect1>Noticias sobre Linux <p> Una revista mensual, llamada <em/Linux Journal/, apareció hace más de un año. Incluye artículos destinados a casi cualquier nivel y pretende ser de ayuda a todos los usuarios de Linux. La subscripción por un año cuesta $22 en U.S., $27 en Canada y Méjico, y $32 en cualquier otro país, pagables en moneda USA. Las solicitudes de subscripción pueden ser enviadas por email a subs@ssc.com, por fax a +1-206-782-7191, por teléfono a +1-206-782-7733 o por correo a Linux Journal, PO Box 85867, Seattle, WA 98145-1867 USA. SSC tiene una clave PGP pública disponible para encriptar tu correo y proteger el número de tu tarjeta de crédito; haz finger a info@ssc.com para obtener la clave. Hay diversos grupos de noticias (newsgroups) de Usenet para discusión sobre Linux además de diversas listas de correo. Ver la Linux FAQ para más información sobre las listas de correo (deberías poder encontrar la FAQ o en el grupo de noticias o los FTP sites). El grupo de noticias comp.os.linux.announce es un grupo de noticias moderado para anuncios sobre Linux (nuevos programas, corrección de errores, etc). El grupo de noticias comp.os.linux.answers es un grupo de noticias moderado al que se envían la Linux FAQ, los HOWTO's y otros documentos. El grupo de noticias comp.os.linux.admin es un grupo de noticias no moderado para la discusión sobre la administración de un sistema Linux. El grupo de noticias comp.os.linux.development.system es un grupo de noticias no moderado dedicado específicamente a la discusión sobre el desarrollo del <bf/núcleo/ de Linux. Las únicas cuestiones sobre desarrollo de aplicaciones que deben ser discutidas aquí son aquellas que están íntimamente ligadas al núcleo. Todas las demás cuestiones de desarrollo son probablemente genéricas de Unix y deben ser dirigidas un grupo de comp.unix, a menos que sean preguntas muy ligadas a Linux, en cuyo caso deben ser enviadas a comp.os.linux.apps. El grupo de noticias comp.os.linux.development.apps es un grupo de noticias no moderado destinado a la discusión sobre el desarrollo de aplicaciones en relación con Linux. No está para discutir sobre el lugar en el que se puede conseguir una aplicación para Linux, ni para discusión entre aquellos que quieren aplicaciones para Linux. El grupo de noticias comp.os.linux.hardware es para preguntas de hardware específicas de Linux. El grupo de noticias comp.os.linux.networking es para preguntas específicas de Linux sobre desarrollo de redes y su puesta a punto. El grupo de noticias comp.os.linux.x es para cuestiones sobre X-Windows relativas a Linux. El grupo de noticias comp.os.linux.misc es el sustituto del original comp.os.linux y sirve para cualquier discusión que no esté cubierta en las temáticas de los anteriores grupos. Por norma, <bf/no/ reenvíes entre los grupos de noticias de Linux. El <bf/único/ reenvío que es aceptable es un envío ocasional de un grupo no moderado a comp.os.linux.announce. La razón para dividir comp.os.linux en varios grupos es reducir el tráfico en cada uno. Aquellos que no sigan esta regla serán fulminados sin piedad... Linux está en el Web (World Wide Web, WWW, W3, etc). La dirección URL es http://sunsite.unc.edu/mdw/linux.html <sect1>El Futuro <p> Tras salir Linux 1.0, se trabajó en varias mejoras. Mayor rapidez en los accesos a disco, mejoras de TTY y muchas más cosas están ahora disponibles en Linux 1.2. Linux 1.2 acaba de ver la luz y muchas nuevas mejoras, incluyendo las de la memoria virtual, soporte de multiplataforma y cuotas están siendo consideradas para la serie de desarrollo 1.3.x. Tras un año de Linux 1.0 estable, Linux 2.0 ocupó ese papel. Ahora, una nueva versión estable de Linux (mejor dicho, de Linux 2.0, antes que de Linux 1.4) continuará esa tradición. Hay mucho código para escribir e incluso más documentación todavía. Por favor únete a la lista de correo linux-doc@vger.rutgers.edu si quieres contribuir a la documentación. Manda un mensaje a majordomo@vger.rutgers.edu con una única línea conteniendo la palabra ``help'' en el cuerpo (<bf/NO/ el subject) del mensaje. <sect1>Este documento <p> Este documento es mantenido por Michael K. Johnson, johnsonm@nigel.vnet.net. Por favor, escríbeme con cualquier comentario, sin importar que sea corto. No puedo hacer un buen trabajo manteniendo este documento sin tu ayuda. Una copia actualizada de este documento puede siempre ser encontrada como tsx-11.mit.edu:/pub/linux/docs/INFO-SHEET, y una versión PostScript es INFO-SHEET.ps, en el mismo directorio. <sect1>Legalidad <p> Las marcas registradas pertenecen a sus propietarios. No hay garantía sobre la información en este documento. Usalo y distribúyelo a tu libre albedrío. El contenido de este documento es de dominio público, pero por favor, se educado y proporciona información sobre cualquier cita. <sect1>Nota del traductor <p> Hola, soy Iván Casado, del INSFLUG. Me he encargado de traducir este documento por amor al arte (al arte del Linux, por supuesto). Espero que sea de tu interés y que comprendas que aún hay mucho por traducir y más aún por escribir. <p> He intentado ajustarme totalmente al original de Michael K. Jonhson y he revisado la traducción un par de veces. No obstante aún puede quedar algo por pulir o se me ha podido colar alguna errata, de cuya responsabilidad me hago cargo, pero jamás de sus consecuencias. <p> Para cualquier comentario, errata o consulta sobre la traducción, acude al área R34.LINUX de <bf/FidoNet/ o contacta conmigo por NetMail a la dirección 2:345/425.25 de la misma red. <p> Un saludo, Iván Casado. <sect>Introdución a la instalación<p> Antes de comenzar,dos tres pequenas cosas se deben precisar sobre la manera de hacer una instalación de <bf/Linux/ en tu maquina. <sect1>Recuperacion<p> La recuperacion de las distribuciones <bf/Linux/ puede hacerse de varias maneras : <enum> <item>Tienes acceso a Internet, o tienes un modem : mira la Hoja de informaciones mas arriba; <item>Tienes un amigo que tiene los disquetes o los CD-ROM y se los pides prestados ;-) ; <item>Si no tienes ni lo uno ni lo otro, te desaconcejo de telecargarlo a no ser que seas actionario de la telefonica :-). Yo te aconsejaria los CD's de Infomagic (6 CD's por + o - U$24 o Yggdrasil (8 CD por + o - lo mismo). Un buen numero de comercios proponen distribuciones de CD's mucho mas caras y mas viejas. Para tener los mejores precios (yo no soy socio de ninguno de ellos y caliman menos, ver la advertencia del traductor (capitulo uno). </enum> <sect1>Una palabra sobre los formatos binarios<p> En el curso de la historia de <bf/Linux/, el formato de los binarios ha cambiado. Al principio eran a.out. Desde hace + o - un año, el formato de los binarios ha cambiado : paso a <bf>ELF</bf>. Si no tenias <bf/Linux/ en tu maquina, no notaras nada. Pero si tu quieres poner al dia tu maquina y que tienes a.out, tienes dos soluciones : <enum> <item>Borrar todo y re instalar... es lo mas simple <item>hacer una puesta al dia progresiva. En este caso leete el capitulo consagrado a ELF mas abajo. </enum> Para conocer el formato de tus binarios, lanza este ejemplo : <verb> gandalf# file /bin/ls /bin/ls: ELF 32-bit LSB executable i386 (386 and up) Version 1 </verb> En este caso los binarios son ELF. Si el mensage indica un formato Linux/i386 executable, entonces es casi seguro que tu maquina es a.out. <sect1>Las diferentes posibilidades de instalacion<p> Existen varias posibilidades para instalar <bf/Linux/... He aqui un corto resumen. <itemize> <item>Instalacion clasica: tienes una particion libre para meter <bf/Linux/ En este caso no hay problema solo sigue la instrucciones de las secciones siguientes. <item>Ayyy : no habia pensado en poner <bf/Linux/ y solo tengo una particion dosEn ese caso, hay dos soluciones : <itemize> <item>FIPS : todas las distribuciones traen un programa dos que permite reparti cionar el disco duro sin tener que reinstalar todo. Como funciona ? es simple Primero tienes que pasar <tt>scandisk</tt> y luego un <tt>defrag</tt>. Luego arrancas de nuevo tu maquina (le quitas antes los programas residentes) y lanzas FIPS esto te permitira reducir tu particion DOS, y asi poder instalar <bf/Linux/ . en el espacio asi liberado. <item>Instalar <bf/Linux/ <tt>umsdos</tt>. Este sistema es bastante practico (yo lo utilizo en este momento en el ejercito). Esto permite instalar <bf/Linux/, sin preocuparse de las particiones. <bf/Linux/ es instalado en la particion dos. Mas sinembargo, una instalacion de este tipo es muy limitada puesto que el sistema de archivos es muy lento. </itemize> <item>Una maquina sin disco ! Esto puede suceder. Tu puedes utilizar una maquina en tu red en la cual este instalado <bf/Linux/ como servidor. El mini-HOWTO <tt>nfs-root</tt> detalla esta operacion. </itemize> Bueno despues de estos preliminares pasemos a las distribuciones. <sect> Distribuciones<p> <sect1> Introducción<p> Se llaman <sq>distribuciones</sq> un conjunto de soportes (disquetes, CD-ROM ...) que contengan lo necesario para instalar un programa en una maquina. Ver, a este propósito, la sección <sq>como empezar</sq> de la <it>hoja de informaciones <bf/Linux/ </it>reproducida mas arriba. No existe una distribución oficial de linux. Solo las distribuciones circulan. He aquí las principales : <itemize> <item> slackware : es la distribución de referencia históricamente. En la medida en que era la única distribución mas o menos correctamente hecha hace unos 2 años. En nuestros días ella tiene una competecia correcta de parte de nuevas distribuciones como RedHat y se puede temer que termine como SLS por sus dificultades para evolucionar. Ademas solo funciona en un arquitectura Intel. Su tamaño es de 113 Mo (comprimida) o sea 89 disquetes. La ultima versión de la slackware es la 3.1. Es todo ELF. Utiliza la libc 5.3.12, el núcleo es el 2.0.0 y el Xfree86 3.2.0. La ultima versión es de Diciembre de 1996. Es esta versión que será detallada aquí. Su sitio oficial es : ftp.cdrom.com <item> Red Hat : es una distribución inicialmente comercial, pero es igualmente disponible vía FTP. Es mucho mas profesional que la Slackware. Ademas es disponible para otros tipos de arquitectura con procesadores <sq> no Intel </sq> (Alpha, Sparc). Versión 4.0 (Colgate). La ultima versión es del 8 de Diciembre DE 1996. Esta distribución se distingue por su seriedad, la simplicidad de sus instalación y sobre todo su extrema convivialidad. Ademas la puesta al día se hace mediante un sistema de paquetes (los RPM). Sitio oficial : ftp.redhat.com Sitio Web : http://www.redhat.com <item> Debian : es la versión de <bf/Linux/ apoyada por la FSF (Free Software Foundacion). Esta basada en programas relativamente antiguos, los autores de esta distribución quieren principalmente una distribución <sq>estable</sq>, lo que interfiere con el desarrollo de nuevas funciones. Versión :1.1.8 La Ultima versión es del 8 de Diciembre de 1996. <item> MCC : Versión 1.2+ . Ultima versión Mayo / Junio 1995 (parece caída en el olvido...) <item> Bogus : Es una distribución estable y muy bien hecha. El único problema con Bogus es que su frecuencia de puesta al día es bastante irregular. Versión 1.0.1 Ultima puesta al día Julio 1994. <item> SLS : Primera gran distribución de <bf/Linux/, la SLS es ya obsoleta : Versión 1.06. Ultima puesta al día : Noviembre 1994. <item> Mini-<bf/Linux/ : Como su nombre lo indica, se trata de una distribución muy reducida de <bf/Linux/ (demasiado reducida a mi gusto pero bueno ...) Se puede encontrar en ftp.loria.fr, la versión francesa. Esta compuesta de 5 disquetes y la ultima puesta al día es del 10 Abril 1995 <item> Jurix : Es una distribución creada en Alemania a partir de las ultimas versiones de los programas disponibles. Esta siempre <sq> en la punta del progreso </sq> pero a veces pone problemas a veces puesto que los programas no están completamente debogados. La ultima puesta al día es del 8 Diciembre de 1996. </itemize> <sect1> Disquetes de boot<p> Ya sea con Red Hat o con Slackware, debes utilizar un disquete de boot (y uno de root con Slackware). La manera de copiar estos ficheros en un disquete es la misma en las dos distribuciones. Luego de haber seleccionado la o las imágenes que vas a copiar en el disquete para permitir el arranque de la maquina, es necesario copiarla en el disquete. Para hacer esto hay varias soluciones : <enum> <item> copiar el fichero en el disquete con cat imagen > /dev/fd0 (/dev/fd0 correspondiendo al dispositivo lector de disquetes). Es posible que antes, tu debas, descompresar el archivo. <item>Para hacer esto utiliza el programa gunzip : $ gunzip bare.i.gz <item>Si estas en MS-DOS, debes utilizar el programa RAWRITE. Para descompactar el fichero, si esto es necesario (nombre que termina con .gz), utiliza GZIP.EXE, formatea un disquete que no debe tener ni el mas mínimo defecto de superficie(<sq> sectores defectuosos </sq>) y luego utiliza RAWRITE para escribir el o los ficheros en los disquetes. </enum> <sect1> Slackware : descripción<p> En esta parte, se supone que tu tienes la versión 3.1 de Slackware. He aquí una breve descripción de los disquetes (en resumen , todo lo que vas a encontrar, para evitar que instales cosas que no necesitas). <sect2> Disquetes Boot y Root<p> Dos disquetes fundamentales para instalar <bf/Linux/ con la Slackware : el disquete de boot y el disquete de root. <bf/Linux/ se instala, en efecto , ... bajo <bf/Linux/, de manera que es necesario lanzarlo <sq>a partir de un disquete</sq> antes de comenzar la instalación. El disquete <it>boot</it> contiene un núcleo linux y el disquete <it>root</it> el da al linux así lanzado algunos ficheros absolutamente necesarios para su buen funcionamiento. Varios tipos de disquetes <it>boot</it> y <it>root</it> existen, hay que escoger en función del material empleado. El contenido de cada disquete es dado en forma de un archivo de tipo <it>image</it>, que guarda el contenido de todos los sectores físicos de un disquete. He aquí un resumen de las etapas necesarias para una instalación : <itemize> <item> Escoger un archivo <it>boot</it> y un <it>root</it> apropiado al material (ver tablero mas abajo); <item> Formatear un par de disquetes (sin sectores defectuosos), por ej. Con MS-DOS <sq>format a:</sq>; <item> Copiar el fichero boot en un disquete con <sq>RAWRITE.EXE</sq>; <item> Copiar el fichero root en un disquete con <sq>RAWRITE.EXE</sq>; <item> Arranque el sistema con el disquete de boot; <item> Inserte, apenas se lo pida el sistema, el disquete de root; </itemize> Existe un numero elevado de ficheros boot. He aquí un tablero recapitulativo que debería permitirte escoger el que mejor te conviene. <verb> ----------------\ Controlador de Disco : Las fuentes \ están sur : \ IDE SCSI MFM ------------------+----------------+--------------------------+-------------- Disco duro | bare.i | Utilizar un disquete | xt.i | | SCSI de la liste | | | aquí abajo. | -------------------+----------------+--------------------------+-------------- CD-ROM SCSI | Utilizar un | idem | | disquete SCSI | | -------------------+----------------+--------------------------+-------------- CD-ROM IDE/ATAPI | bare.i | ídem | -------------------+----------------+--------------------------+-------------- Aztech, Orchid, | aztech.i | aztech.s | Okano, Wearnes, | | | Conrad, CetcDROM | | | non-IDE CD-ROM | | | -------------------+----------------+--------------------------+-------------- Sony CDU31a, | cdu31a.i | cdu31a.s | Sony CDU33a CD-ROM| | | -------------------+----------------+--------------------------+-------------- Sony CDU531, | cdu535.i | cdu535.s | Sony CDU535 CD-ROM| | | -------------------+----------------+--------------------------+-------------- Philips/LMS cm206 | cm206.i | cm206.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Goldstar R420 | goldstar.i | goldstar.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Mitsumi non-IDE | mcdx.i | mcdx.s | CD-ROM | mcd.i | mcd.i | -------------------+----------------+--------------------------+-------------- Optics Storage | optics.i | optics.s | 8000 AT CD-ROM | | | (Dolphin) | | | -------------------+----------------+--------------------------+-------------- Sanyo CDR-H94A | sanyo.i | sanyo.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Matsushita, | sbpcd.i | sbpcd.s | Kotobuki, | | | Panasonic, | | | CreativeLabs | | | (Sound Blaster), | | | Longshine and | | | Teac non-IDE | | | CD-ROM | | | -------------------+----------------+--------------------------+-------------- NFS | ny | scsiny | -------------------+----------------+--------------------------+-------------- Tape | bare (para | Utilizar un disquete | xt.i (para | lector non | SCSI de la lista | lector no | SCSI. | aquí abajo. | SCSI) | Si no utilizar | | | un disquete | | | SCSI - ver | | | aquí abajo. | | | | | -------------------+----------------+--------------------------------------- </verb> <bf>Controladores SCSI</bf> : 7000fast.s, advansys.s, aha152x.s, aha1542.s, aha1740.s, aha2x4x.s, am53c974.s, buslogic.s, dtc3280.s, eata_dma.s, eata_isa.s, eata_pio.s, fdomain.s, in2000.s, iomega.s, n53c406a.s, n_5380.s, n_53c7xx.s, pas16.s, qlog_fas.s, qlog_isp.s, seagate.s, trantor.s, ultrastr.s y ustor14f.s Si tu no sabes cual es la tarjeta SCSI instalada en tu maquina, ensaya entonces el disquete de arranque genérico <tt>scsi.s</tt>. Su nombre aparecerá en la pantalla durante el arranque. En seguida, utiliza el disquete correspondiente (puesto que el disquete scsi.s utiliza mucha memoria). Pasemos enseguida al disquete de root. El fichero correspondiente debe ser copiado en sur forma comprimida : <bf/Linux/ lo descomprime sólito como un grande. Existen 6 disquetes root posibles : <itemize> <item> color.gz : permite tener los colores en la consola; <item> umsdos.gz : Utiliza umsdos (evita la partición de tu disco). Atención : es mucho mas lento que laext2fs nativo. <item> text.gz : disquete root de base ; <item> tape.gz : experimental, para la instalación a partir de cintas (nunca he ensayado) ; <item> pcmcia.gz : concebido para la instalación vía NFS para los portables que tengan una tarjeta Eternet de tipo PCMCIA ; <item> rescue.gz : disquete con algunos programas : vi, lilo,e2fsck,etc. Muy útil si tu sistema se atranco en tu maquina... </itemize> <bf>ATTENCION : El disquete Root no debe ser descomprimido !!</bf> <sect2> La distribución<p> Bueno, hemos visto los dos primeros disquetes. Aquí esta la descripción de la distribución. Como es largo, esto es un resumen. Entre paréntesis, el numero de disquetes : <itemize> <item> A (8) : Base del sistema <bf/Linux/ ; <item> AP (5) : Aplicaciones corrientes ; <item> D (13) : Compiladores (gcc 2.7.2) ; <item> E (8) : Emacs (19.31) ; <item> F (2) : FAQ en Ingles ; <item> K (6) : Núcleo (2.0.0) ; <item> N (6) : Redes ; <item> T (9) : TeX y LaTeX (2e) ; <item> TCL(2) : Tcl (7.5) Tk (4.1) : <item> X (21) : X Window X11R6<item> Servidor XFree86 3.2.0 ; <item> XAP (4) : Aplicaciones X Window ; <item> XD (4) : X Window dev. : linkkit + PeX ; <item> XV (3) : XView para los adoradores del Look OPEN LOOK ; <item> Y (4) : Juegos (doom, etc). </itemize> En la lista, vas a encontrar tres campos : <itemize> <item> ADD : El programa es instalado automáticamente ; <item> REC : Recomendado ; <item> OPT : Opcional. </itemize> Ya esta, vamonos :-) ! <itemize> <item> A : <it> Base</it> <itemize> <item> A1 : <itemize> <item> aaa_base : (ADD) Establece la arborescencia de base. Programas de base (GNU mtools 2.0.7, zip201, unzip512). <item> aoutlibs : (ADD) bibliotecas a.out (libc 4.7.6) ; <item> bash : (ADD) (1.14.7) interpretador de comandos ; <item> comms : (REC) útiles de comunicaciones series ; <item> cpio : (ADD) (2.3) útiles para archivar ficheros ; <item> devs : (ADD) los archivos especiales situados en el archivo /dev ; ( ;-) del traductor) <item> etc : (ADD) ficheros de configuraron situados en /etc ; <item> grep : (ADD) (2.0) búsqueda de cadenas de caracteres en los ficheros. </itemize> <item> A2 : <itemize> <item> bin : (ADD) binarios (/bin y /usr/bin) (GNU fileutils 3.12, man, patch, sed, etc.) ; <item> e2fsbn : (ADD) (1.5) útiles para el sistema de ficheros ext2fs ; <item> gzip : (ADD) (1.2.4) GNU zip compresión. </itemize> <item> A3 : <itemize> <item> elflibs : (ADD) bibliotecas ; <item> find : (ADD) (4.1) útiles de búsqueda de ficheros ; <item> gyty : (OPT) gyty_ps 2.0.7i (Controla el login en el sistema) ; <item> gpm : (REC) (1.09) Permite realizar un copiar-pegar con el ratón en las ventanas en modo texto; <item> hdsetup : (ADD) (3.1.0) programa setup de mantenimiento y/o de instalación del sistema. </itemize> <item> A4 : <itemize> <item> ibcs2 : (OPT) permite ejecutar binarios provenientes de otras plataformas (SVR4, SCO, Wyse, Xenix, etc.) ; <item> ide : (REC) núcleo IDE (2.0.0) sin SCSI ; <item> keytbls : (OPT) (0.90) ficheros de configuraron para el teclado. Contiene la definición del teclado francés (y español). <item> ldso : (ADD) ld.so.1.8.2, mejor dicho el editor de ligas dinámico; <item> syslogd : (ADD) (1.3) graba/redirige los mensajes de error sistema. </itemize> <item> A5 : <itemize> <item> less : (ADD) less-290 (Mejor que more) ; <item> lilo : (ADD) (19) cargador del núcleo; <item> loadlin : (REC)(1.6) carga los núcleos bajo MS-DOS ; <item> pcmcia : (OPT) (2.8.17) para las tarjetas PCMCIA ; <item> ps : (ADD) procps 0.99a (Útiles para afichar los procesos) ; <item> sh_utils : (ADD) (1.12) comandos utilitarios ; <item> sysvinit : (ADD) (2.62) programa init + scripts /etc/rc.d ; <item> umsprogs : (ADD)(0.8) para administrar el administrador de ficheros umsdos. </itemize> <item> A6 : <itemize> <item> modules : módulos cargables por el núcleo 2.0.0. </itemize> <item> A7 <itemize> <item> scsi : (REC) (2.0.0) núcleo SCSI + IDE ; <item> tar : (ADD) (1.11.8) GNU tar : administrador de archivos ; <item> tcsh : (OPT)(6.06) shell compatible csh. </itemize> <item> A8 <itemize> <item> textutils : (ADD) (1.13) útiles de manipulación de textos (cat, head, etc) ; <item> útil : (ADD) util-linux 2.5 ; <item> zoneinfo : (ADD) sistema de control de horarios internacionales. </Itemize> </itemize> <item> AP : <it>Aplicaciones corrientes</it> <itemize> <item> AP1 : <itemize> <item> ash : (OPT) otro shell, muy pequeño en memoria ; <item> bc : (OPT) (1.03) calculadora ; <item> diff : (REC) (2.7) da la lista de las diferencias entre ficheros ; <item> ftape : (OPT) (2.03b) permite la manipulación de lectores QIC-40 y QIC-80 ; <item> ghostscr : (OPT) (2.6.2) GNU Ghostscript permite visualizar y transformar los ficheros postscript ; <item> gp9600 : (OPT) script de configuraron de la velocidad del modem ; <item> jed : (OPT) (0.96) pequeño editor de texto ; <item> mt_st : (OPT) (0.2) administrador de manipulación de lectores de cintas; <item> sudo : (OPT) (1.2) permite la ejecución de algunos comandos como si fuera Root para ciertos usuarios. </itemize> <item> AP2 : <itemize> <item> groff : (REC) (1.09) útiles de formatage de documentos. Utilizado por man ; <item> gsfonts1 : (OPT) Tipos de caracteres para Ghostscript ; <item> jove : (OPT) (4.14.10) pequeño editor de texto compatible Emacs ; <item> workbone : (OPT) (2.3) lector de CD audio. </itemize> <item> AP3 : <itemize> <item> gsfonts2 : (OPT) Tipos de caracteres para Ghostscript(2/2) ; <item> manpags : (REC) (1.8) paginas del manual, secciones 1, 4, 5, 6, 7, 8 y 9. </itemize> <item> AP4 : <itemize> <item> ispell : (OPT) (3.1.08) verificador ortográfico (Ingles) ; <item> mc : (OPT) (2.1) útil de manipulación de ficheros, archivos ; <item> sc : (OPT) (6.21) pequeña hoja de calculo ; <item> shlbsvga : (REC) libsvga.so.1.2.7 (Necesario para Ghostscript en modo texto) ; <item> termbin : (OPT) (2.3.5) ejecutables term, que emulan una conexión TCP/IP en una conexión modem ; <item> termnet : (OPT) utilitarios de red compilados para utilizar el sistema term de multiplexage de conexiones en una linea serie (tncftp, ttelnet, tfinger, twhois). </itemize> <item> AP5 : <itemize> <item> termsrc : (OPT) fuentes de termbin: (2.3.5) ; <item> texinfo: (REC) (3.6) generador de documentación. Necesario para leer los ficheros info. <item> vim : (OPT) (3.0) Versión mejorada de vi (entregado con elvis). Preferir de lejos esta versión. <item> zsh : (OPT) (2.4) shell zsh. </Itemize> </itemize> <item> D : Compiladores (gcc 2.7.2) <itemize> <item> D1 : <itemize> <item> binutils : (ADD) (2.6.0.14) ar, as, c++filt, ld, nm, ranlib, etc ; <item> bison : (REC) (1.22) analizador sintáxico (compatible yacc) ; <item> byacc : (REC) yacc, versión BSD ; <item> flex : (ADD) (2.5.3) analizador de léxico ; <item> m4 : (REC) (1.4) expandidor de macros. </itemize> <item> D2 : <itemize> <item> g77 : compilador Fortran ; <item> gmake : (ADD) (3.74) GNU make ; <item> man2 : (REC) (1.8) paginas del manual de las funciones sistema ; <item> pmake : (ADD) (4.4) make BSD. </itemize> <item> D3 : <itemize> <item> gcc272 : (REC) compilador C ELF optimado para 486 ; <item> gccaout : (OPT) versión del compilador C generación de binarios en formato a.out ; <item> strace : (OPT) (3.0) traza las funciones sistema y las señales. </itemize> <item> D4 : <itemize> <item> gcl : (OPT) (2.2) interpretador Lisp ; <item> man3 : (REC) (1.8) paginas del manual de las funciones de la biblioteca. C. </itemize> <item> D5 : <itemize> <item> gdb : (REC) (4.16) debug ; <item> gxx272 : (REC) (2.7.2) compilador C++, optimado para 486 ; <item> p2c : (OPT) (1.19) convertidor Pascal / C. </itemize> <item> D6 : <itemize> <item> gxxaout : (OPT) (2.7.2) versión del compilador C++ que genera binarios en formato a.out ; <item> objc270 : (OPT) (2.7.2) compilador Objective-C. </itemize> <item> D7 : <itemize> <item> libaout : (REC) bibliotecas para el soporte del formato a.out (4.7.6) ; <item> linuxinc : (ADD) archivos de encabezados de <bf/Linux/ 2.0.0. </itemize> <item> D8 : <itemize> <item> libc : (ADD) (libc 5.3.12) bibliotecas necesarias para la compilación + ejecución. Incluye libcurses 1.0.0, libgdbm 1.7.3, libtermcap 2.0.8, y db 1.85.4 ; <item> rcs : (OPT) (5.7) sistema de administración de versiones de archivos ; <item> terminfo : (OPT) descendiente del archivo termcap de 4.4 BSD. </itemize> <item> D9 : <itemize> <item> libcinfo : (OPT) informaciones sobre la biblioteca C ; <item> objcaout : (OPT) objective C, formato a.out. </itemize> <item> D10 : <itemize> <item> libgxx : (REC) (2.7.1.4) biblioteca libg++ + archivos includes para c++. </itemize> <item> D11 : <itemize> <item> ncurses : (REC) (1.9.9e) biblioteca de administración de la pantalla ; <item> svgalib : (OPT) (v1.2.10) biblioteca gráfica. </itemize> <item> D12 : <itemize> <item> perl1 : (OPT) (5.003) interpretador Perl ; <item> tools : (OPT) (2.17) biblioteca que permite escribir DLL. </itemize> <item> D13 : <itemize> <item> perl2 : (OPT) (5.003) interpretador Perl. </itemize> </itemize> <item> E : Emacs (19.31) <itemize> <item> E1 : <itemize> <item> elisp1 : (OPT) fuentes Emacs-Lisp. </itemize> <item> E2 : <itemize> <item> elisp2 : (OPT) fuentes Emacs-Lisp ; <item> elisp3 : (OPT) fuentes Emacs-Lisp ; <item> elispc2 : (REC) archivos Emacs-Lisp compilados. </itemize> <item> E3 : <itemize> <item> elisp4 : (OPT) fuentes Emacs-Lisp ; <item> elispc3 : (REC) archivos Emacs-Lisp compilados. </itemize> <item> E4 : <itemize> <item> elispc1 : (REC) archivos Emacs-Lisp compilados. </itemize> <item> E5 : <itemize> <item> emac_nox : (OPT) emacs sin X Window. </itemize> <item> E6 : <itemize> <item> emacinfo : (REC) archivos de información. </itemize> <item> E7 : <itemize> <item> emacmisc : (REC) archivos para Emacs. </itemize> <item> E8 : <itemize> <item> emacsbin : (ADD) (19.31) Binarios de Emacs. Utiliza X Window. </Itemize> </itemize> <item> F : <it>FAQ en Ingles</it> <itemize> <item> F1 : <itemize> <item> manyfaqs: FAQs : (ADD) FAQ comp.lang : Fortran, GCC, G++, TCL, Objective-C, Lisp, Scheme, y Perl ; FAQ PostScript ; <bf/Linux/ FAQ ; FAQ comp.windows.x. </itemize> <item> F2 : <itemize> <item> howto : (ADD) Todos los howtos del <bf/Linux/ Documentación Project, en Ingles claro esta. </Itemize> </itemize> <item> K : Fuentes del núcleo <itemize> <item> K1 a K6 : fuentes de la versión 2.0.0. </itemize> <item> N : Redes <itemize> <item> N1 : <itemize> <item> bind : (REC) (4.9.3 bya 26) bind, dig, dnsquery, host, nslookup, ... ; <item> cnews : (OPT) sistema de transporte de news ; <item> dip : (OPT) (3.3.7o) administrador de conexiones IP para SLIP, CSLIP ; <item> elm : (OPT) (2.4 pl 25) programa de correo electrónico interactivo; <item> mailx : (REC) (5.5) programa de correo electrónico interactivo ; <item> metamail : (REC) (2.7) administrador del formato MIME ; <item> procmail : (OPT) (3.10) programa de administración y filtrage del correo electrónico. </itemize> <item> N2 : <itemize> <item> inn : (OPT) (1.4) sistema de transporte de news y servidor NNTP ; <item> lynx : (OPT) (2.5) browser en modo texto ; <item> nn-nntp : (OPT) (6.4.18) lector de news nn compile para utilizar NNTP ; <item> rdist : (OPT) programa para el mantenimiento de partes de arborescencias idénticas entre maquinas. </itemize> <item> N3 : <itemize> <item> nn-spool : (OPT) (6.4.18) otro sistema de news ; <item> pine : (OPT) (3.95) programa de correo electrónico basado en elm ; <item> PPP : (OPT) (2.2.0f) demonio y control del protocolo PPP ; <item> smailcfg : (OPT) archivos de configuraron para sendmail ; <item> tin : (OPT) (1.2pl2) lector de news . </itemize> <item> N4 : <itemize> <item> netpipes : (OPT) (3.1) utilización de tcp/ip en scripts ; <item> sendmail : (REC) (BSD 8.8.3) proceso de transporte de correo. bajo TCP/IP y UUCP. <item> trn-nntp : (OPT) (3.5) lector de news trn compilado para utilizar un servidor NNTP ; <item> trn : (OPT) (3.5) lector de news trn compilado para utilizar el spool local. </itemize> <item> N5 : <itemize> <item> tcpip : (REC) programas de gestión red. </itemize> <item> N5 : <itemize> <item> apache : (OPT) (1.0.0) servidor WWW ; <item> uucp : (OPT) (1.06.1) Taylor UUCP, sistema de comunicación UUCP. </itemize> </itemize> <item> T : <it>Tex y LaTeX : distribución</it> <itemize> <item> T1 : <itemize> <item> gentle : (REC) manual de introducción a TeX ; <item> ntf-ams ntf-astr ntf-bard ntf-bbm ntf-bl ntf-call ntf-cher ntf-cmas ntf-cmb ntf-cmca ntf-cmcy ntf-cml ntf-cmoe ntf-cmpc ntf-cms ntf- cmts ntf-cmu ntf-conc ntf-cypr ntf-ding ntf-duer ntf-elvi ntf-engw ntf-futh ntf-geor ntf-go ntf-hand ntf-hge ntf-kart ntf-klin ntf-la ntf-logi ntf-logo ntf-ogha ntf-okud : polices de caracteres. </itemize> <item> T2 : <itemize> <item> ntf-dc ntf-fc ntf-goth ntf-ocm ntf-ocra ntf-osma ntf-pand ntf-phon ntf-punk ntf-recy ntf-rsfs ntf-rune ntf-stma ntf-teng ntf-thai ntf- twca ntf-ugar ntf-wasy ntf-wsui ntf-xcmr : tipos de caracteres ; <item> ntb-b2d : (OPT) (1.0) transforma un .bib en .dvi ; <item> ntb-djc : (REC) (0.1) programas para una salida de los archivos dvi sobre HP 500, 500c y 550c ; <item> ntb-dps : (REC) (1.2) dvips (Transforma un archivo dvi en PostScript) ; <item> ntb-gsfp : (REC) (1.0) conversión de fontes postscript en pk ; <item> ntb-html : (OPT) (1.1) se trata simplemente del convertidor html2latex. </itemize> <item> T3 : <itemize> <item> ntf-ps : (1.2) tipos de caracteres Postscript ; <item> ntb-indx : (REC) (1.1) programas makeindex, ... ; <item> ntm-deva : (1.1) (OPT) programas para la impresión con TeX para ciertas lenguas nórdicas, indias, ... ; </itemize> <item> T4 : <itemize> <item> ntb-bibt : (REC) (1.1) bibtex ; <item> ntb-dlj : (REC) (1.2) programas dvi2xx ; <item> ntb-kpat : (OPT) (1.1) versión binaria de la biblioteca kpathsea; <item> ntb-tex : (ADD) (1.2) binarios para TeX (3.1415), MaketeX,... ; <item> ntb-traf : (OPT) (1.1) útil de conversión de archivos al formato .fig (xfig) al formato epsf o látex ; <item> ntb-utl1 : (REC) (1.1) dvicopy, dvitype, pooltype, ... ; <item> ntb-xdvi : (REC) (1.2) programa para ver los archivos .dvi bajo X (xdvi). </itemize> <item> T5 : <itemize> <item> ntb-mf : (ADD) (1.2) binarios para MetaFont ; <item> ntb-utl2 : (REC) (1.1) gftodvi, gftopk, gftype, mft, pktogf, ... , <item> ntb-utl3 : (REC) (1.1) pltotf, tftopl, vftovp, ... , <item> ntb-xfig : (REC) binarios para xfig : programa de dibujo vectorial; <item> ntm-amst, ntm-arab,ntm-germ, ntm-pict : (OPT) Hojas de estilos, macros. </itemize> <item> T6 : <itemize> <item> ntm-tex : (REC) (1.2) extensión de TeX : ETeX ; <item> ntm-gree, ntm-hebr, ntm-ltx3, ntm-tami, ntm-viet: (OPT) estilos suplementarios. </itemize> <item> T7 : <itemize> <item> ntm-hier,ntm-ltx2 : (OPT) estilos. </itemize> <item> T8 : <itemize> <item> ntm-ltx1, ntm-plft,ntm-turk : (OPT) estilos. </itemize> <item> T9 : <itemize> <item> ntm-tex, ntm-ltx4 : (1.1) estilos y formatos para TeX. </Itemize> </itemize> <item> Tcl (7.5) Tk (4.1) <itemize> <item> TCL1 : <itemize> <item> tcl : (ADD) (7.5) ; <item> tk : (REC) (4.1). </itemize> <item> TCL2 : <itemize> <item> tkdesk : (OPT) (1.0a2) administrador de archivos ; <item> tclx : (REC) (7.5.0) extensiones de Tcl. </itemize> </itemize> <item> X : <it>X Window X11R6-Sevidor Xfree86 3.2</it> <itemize> <item> X1 : <itemize> <item> fnon_1 : (OPT) diversos tipos de caracteres ; <item> fnt100_1 : (OPT) tipos de caracteres 100 dpi ; <item> fvwmicns : (OPT) iconos xpm3icons.tar.Z. Utilizados por fvwm ; <item> xlock : (3.11) (ADD) programa de (lock) del servidor X. </itemize> <item> X2 : <itemize> <item> fnon_2 : (OPT) diversos tipos de caracteres ; <item> oldlibs5 : (REC) viejas bibliotecas de XFree86 2.1.1 (X11R5). </itemize> <item> X3 : <itemize> <item> fnon_3 : (OPT) diversos tipos de caracteres. </itemize> <item> X4 : <itemize> <item> fnt100_2 : (OPT) tipos de caracteres 100 dpi ; <item> x32html : (OPT) documentación XFree86 3.2 en formato HTML. </itemize> <item> X5 : <itemize> <item> oldlibs6 : (REC) bibliotecas en formato a.out ; <item> x328514 : (REC) servidor X Window para las tarjetas que utilizan IBM8514. </itemize> <item> X6 : <itemize> <item> x32agx : (REC) servidor X Window para las tarjetas que utilizan IIT AGX-016, AGX-015, y AGX-014 ; <item> x32cfg : (ADD) archivos de configuraron para X, xdm y fvwm. <item> x32doc : (OPT) documentación para XFree 3.2. </itemize> <item> X7 : <itemize> <item> x32bin : (ADD) programas X. </itemize> <item> X8 : <itemize> <item> x32fcyr (OPT) tipos de caracteres cyrillicos ; <item> x32fnts1 : (ADD) tipos de caracteres ; <item> x32ma8 : (REC) servidor X Window para las tarjetas que utilizan Mach8. </itemize> <item> X9 : <itemize> <item> x32fnts2 : (ADD) tipos de caracteres. </itemize> <item> X10 : <itemize> <item> x32fscl : (OPT) tipos de caracteres ; <item> xpm : (3.4c) (ADD) biblioteca de control de archivos imágenes en formato xpm. </itemize> <item> X11 : <itemize> <item> x32ma32 : (REC) servidor X Window para las tarjetas que utilizan Mach32 ; <item> x32i128 : (REC) servidor X Window para las tarjetas que utilizan Nine Imagine 128. </itemize> <item> X12 : <itemize> <item> x32lib : (ADD) bibliotecas dinámicas y archivos de configuraron para XFree86 3.2. </itemize> <item> X13 : <itemize> <item> x32ma64 : (REC) servidor X Window para las tarjetas que utilizan Mach64 ; <item> x32mono : (REC) servidor X Window monocromatico. </itemize> <item> X14 : <itemize> <item> x32man : (REC) paginas del manual para el servidor XFree86 3.2. </itemize> <item> X15 : <itemize> <item> x32p9k : (REC) servidor X Window para las tarjetas que utilizan P9000 ; <item> x32nest : (OPT) servidor experimental. </itemize> <item> X16 : <itemize> <item> x32s3 : (REC) servidor para las tarjetas que utilizan S3 ; <item> x32prog : (REC) archivos de encabezados y Imakefile. </itemize> <item> X17 : <itemize> <item> x32ps : (OPT) documentación XFree 3.2 en formato PostScript. </itemize> <item> X18 : <itemize> <item> X32s3v : (REC) servidor para tarjetas S3 Virge ; <item> X32syup : (REC) útil de configuraron gráfica para X. </itemize> <item> X19 : <itemize> <item> x32svga : (REC) servidor X para tarjetas SuperVga. </itemize> <item> X20 : <itemize> <item> X32xfb : (OPT) servidor particular... </itemize> <item> X21 : <itemize> <item> x3216 : (OPT) Servidor 16 colores para los modos EGA/VGA ; <item> x32w32 : (OPT) Servidor para las tarjetas Y4000/W32. </Itemize> </itemize> <item> XAP : <it> Aplicaciones X Window</it> <itemize> <item> XAP1 : <itemize> <item> gchess : (OPT) GNU chess (v. 4.00pl 69) <item> xboard (v.3.0 pl 9) el famoso juego de ajedrez; <item> ghostview : (OPT) (1.5) Ghostview permite la visualización de archivos en formato Postscript. Necesita el pack gs_x12. <item> gnuplot : (OPT) (3.5) programa para trazar curbas matemáticas ; <item> gs_x11 : (REC) Ghostview permite la visualización de archivos en formato Postscript bajo X; <item> seyon : (OPT) (2.14c) útiles de telecomunicación bajo X ; <item> xxgdb : (OPT) (1.12) debogueur en modo X. </itemize> <item> XAP2 : <itemize> <item> arena : (OPT) (bya-2b) Web-browser) ; <item> libgr : (REC) (1.3) bibliotecas de manipulación de archivos GIF, TIFF, JPEG. Son utilizadas por XV e Interviews. <item> x3270 : (OPT) (3.0.1.3) útil de comunicación con un IBM 3278 ; <item> xfm : (OPT) (1.3.2) controlador gráfico de archivos; <item> xpaint : (OPT) (2.1) programa de dibujo bitmap. </itemize> <item> XAP3 : <itemize> <item> fvwm95 : (OPT) (2.0.41f) fvwm 2.0.41 modificado para parecer al controlador de ventanas de MS-Windows 95 ; <item> xgames : (OPT) algunos juegos; <item> xspread : (OPT) (2.1) una hoja de calculo rudimentaria; <item> xfract: (OPT) (3.00) programa de generación de fractales ; <item> xfileman : (OPT) (0.5) administrador de archivos. </itemize> <item> XAP4 : <itemize> <item> xv : (OPT) (3.10a) programa de visualización de archivos de imágenes + conversiones + filtros de imágenes, etc. </itemize> </itemize> <item> XD : <it>X Window dev : linkkit + PeX</it> <itemize> <item> XD1 : <itemize> <item> x32lkit1: (OPT) XFree86 3.2 Linkkit 1/3. </itemize> <item> XD2 : <itemize> <item> x32lkit2: (OPT) XFree86 3.2 Linkkit 2/3. </itemize> <item> XD3 : <itemize> <item> x32lkit3 : (OPT) XFree86 3.2 Linkkit 3/3. </itemize> <item> XD4 : <itemize> <item> x32stat : (OPT) bibliotecas estáticas para XFree86 3.2. </itemize> </itemize> <item> XV : <it>Xview para los adoradores del look OPEN LOOK</it> <itemize> <item> XV1 : <itemize> <item> xv32_so : (ADD) bibliotecas dinámicas para xview3.2p1-X11R6 ; <item> xvol32 : (ADD) binarios para XView 3.2p1. </itemize> <item> XV2 : <itemize> <item> xv32_a : (OPT) bibliotecas estáticas xview3.2p1-X11R6 ; <item> xvinc32 : (OPT) archivos de encabezados xview3.2p1-X11R6 ; <item> xvmenus : (ADD) menús y archivos de configuraron para OpenLook ; <item> workman : (OPT) (1.2.2a) programa de manipulación de CD-ROM audio; <item> xv32exmp : (OPT) programas de demostración. </itemize> <item> XV3 : <itemize> <item> sspkg : Extensión SlingShot (2.1). (OPT) </itemize> </itemize> <item> Y : Juegos <itemize> <item> Y1 : <itemize> <item> bsdgames, lizards, sastroid y tetris. (OPT) </itemize> </itemize> </itemize> Ya esta, se acabo !! <sect2>Bogues de la Slackware<p> La Slackware, como toda distribución, posee un cierto numero de bogues. Una lista existe, la puedes consultar en la siguiente dirección : <verb> http://www.cuug.ab.ca:8001/~barkers/slackware-fixes/ </verb> La ponen al día frecuentemente y no la detallaremos aquí. <sect1> RedHat : descripción<p> <sect2>Disquete de boot<p> La RedHat utiliza un sistema muy diferente de la Slackware : aprovecha los módulos cargables para el arranque de la maquina. Pero no permite la instalación a partir de disquetes (y en este caso, la Slackware se impone). Finalmente, su ultima limitación es que es obligatorio tener una partición Linux native (ext2fs). Solo existe un solo disquete de boot : <tt>images/boot.img</tt>. Si tu instalas tu maquina desde un Pc que utiliza PCMCIA, tienes que utilizar un disquete suplementario : <tt>images/supp.img</tt>. Cuidado : en la primera versión del CD de la RedHat 4.0 hay problemas con las tarjetas SCSI Adaptec 1520 y 1740. En estos casos debes recuperar una versión mas reciente de la image de boot. Una vez copiado el disquete de boot (y el segundo si necesario), arrancas ... y caes directamente en el sistema de instalación. Difícil hacer algo mas simple! Ademas este sistema de paquetes permite gestionar las dependencias entre las bibliotecas y los útiles. <sect2>Distribución<p> La distribución RedHat esta compuesta por un conjunto de paquetes (un poco mas de 430) reagrupados por centros de interés (en realidad un árbol de grupos). Encontraras aquí abajo la lista de paquetes por orden alfabético de los grupos que puedes instalar en tu maquina. Los nombres de los grupos están en ingles puesto que así vienen y están en mayúsculas. La manipulación <sq>directa</sq> de los paquetes (archivos rpm) es detallada en la próxima sección. Es necesario resaltar que existe un archivo <sq>upgrade</sq> en cual se encuentran los archivos que permiten poner al día (evolución del núcleo y corrección de bogues eventuales) la distribución. <itemize> <item> <bf>Aplicaciones</bf> <itemize> <item> <bf>Comunicaciones</bf> : <itemize> <item> efax (0.7a r6) : programa de envío y de recepción de FAX vía modems de clase 1 o 2 ; <item> ircii (2.8.2 r7) : cliente IRC (Internet Relay Chat) ; <item> ircii-help (2.8.2 r7) : archivos de ayuda para el paquete ircii ; <item> lrzsz (0.12a r7) : conjunto de comandos que permiten telecargar archivos, utilizando los protocolos Z, X y Y modem ; <item> minicom (1.75 r2) : programa de comunicación, se parece al programa Telix MsDos. Emulación VT100 y ANSI. </itemize> <item> <bf> Databases</bf> <itemize> <item> mb (5.0 r6) : base de datos relacional (MetalBase). Sistema cliente servidor. </itemize> <item> <bf>Editores</bf> <itemize> <item> ed (0.2 r5) : editor en linea GNU ; <item> jed (0.97.14 r2) : pequeño editor basado en slang ; <item> jed-xjed (0.97.14 r2) : versión de jed para X Window ; <item> joe (2.8 r6) : pequeño tratamiento de texto muy practico ; <item> vim (4.2 r5) : eterno vi... un poco mejorado; <item> vim-X11 (4.2 r5) versión X Window de vim. </itemize> <item> <bf>Editores/Emacs</bf> <itemize> <item> emacs (19.34 r1) : tratamiento de texto ultra potente, permite igualmente hacer su correo electrónico, enviar news, hacer ftp, ...(nt: sirve el café :-)) <item> emacs-el (19.34 r1) : fuentes de archivos lisp para emacs ; <item> emacs-nox (19.34 r1) : emacs, versión modo texto ; <item> emacs-X11 (19.34 r1) : emacs, versión X Window ; </itemize> <item> Emuladores <itemize> <item> dosemu (0.63.1.66 r2) : emulador de programas MS-DOS ; <item> xdosemu (0.63.1.66 r2) : versión X Window de dosemu. </itemize> <item> <bf>Engineering</bf> <itemize> <item> spice (2g6 r4) : programa de simulación de circuitos electrónicos; <item> units (1.0 r5) : útil de conversión de unidades. </itemize> <item> <bf>Graphics</bf> <itemize> <item> ghostscript (3.33 r2) : interpretador PostScript y PDF para X Window, y para buen numero de impresoras ; <item> ghostscript-fonts (4.0 r1) : tipos de caracteres utilizados por ghostscript ; <item> giftrans (1.11.1 r4) : conversión y manipulación de archivos en formato gif ; <item> libgr-progs (2.0.9 r4) : biblioteca de administración de formatos FBM, JPEG, PBM, PGM, PNM, PPM, REL, y TIF ; <item> nypbm (1mar1994 r6) : útiles de manipulación y de transformación de imágenes ; <item> xfig (3.1.4 r6) : útil de creación de gráficos vectoriales ; <item> zgv (2.7 r5) : útil para ver imágenes. </itemize> <item> <bf>Mail</bf> <itemize> <item> elm (2.4.25 r5) : programa de correo electrónico en modo texto, muy potente. Controla ademas el formato MIME. <item> exmh (1.6.7 r3) : intercale gráfica del sistema de correo electrónico mh ; <item> mailx (5.5.kw r6) : programa de envío de correo electrónico de base, utilizado por numerosos scripts ; <item> metamail (2.7 r6) : implementacion de MIME ; <item> mh (6.8.3 r11) : sistema de administración de correo electrónico (entiende POP) ; <item> pine (3.95 r2) : cliente de correo y de news ; <item> popclient (2.21 r6) : utilizado para recuperar su correo vía un servidor POP. (nt: puede utilizar también fetchmail ) </itemize> <item> <bf>Math</bf> <itemize> <item> bc (1.03 r6) : calculadora en modo texto ; <item> gnuplot (3.5 r5) : programa para ver curbas. </itemize> <item> <bf>Networking</bf> <itemize> <item> lynx (2.5 r5) : browser WWW en modo texto ; <item> ncftp (2.3.0 r4) : cliente ftp mas simple y mas potente que ftp; <item> tcpdump (3.0.2 r5) : utilizado para debogar una conexión de red, así como para securisar un sistema. </itemize> <item> <bf>News</bf> <itemize> <item> slrn (0.8.8.4 r1) : lector de news ; <item> tin (1.22 r5) : lector de news ; <item> trn (3.6 r8) : lector de news. </itemize> <item> <bf>Productivity</bf> <itemize> <item> ical (2.0p2 r7) : calendario y agenda gráfica ; </itemize> <item> <bf>Publishing</bf> <itemize> <item> groff (1.10 r6) : programa de formatage de texto. Utilizado por todas las paginas de manual; <item> groff-gxditview (1.10 r6) : programa que permite consultar los documentos <tt>groff</tt> bajo X ; <item> linuxdoc-sgml (1.5 r5) : conjunto de útiles que permiten transformar de SGML asía diferentes formatos. Este programa es utilizado para formatar todos los documentos del LDP, entre otros este documento. <item> lout (3.08 r1) : lenguaje de formatage de texto ; <item> lout-doc (3.08 r1) : documentación de lout ; <item> texinfo (3.7 r5) : útiles de formatage de documentos en formato <tt>texinfo</tt>. </itemize> <item> <bf>Publishing/TeX</bf> <itemize> <item> bm2font (3.0 r6) : convertidor des bitmaps en tipos TeX ; <item> tetex (0.3.4 r3) : versión tetex de TeX ; <item> tetex-afm (0.3.4 r3) : tipos postscripts ; <item> tetex-dvilj (0.3.4 r3) : convertidor para HP-GL ; <item> tetex-dvips (0.3.4 r3) : convertidor dvi asia PostScript ; <item> tetex-latex (0.3.4 r3) : paquete de macros LaTeX ; <item> tetex-xdvi (0.3.4 r3) : programa <tt>xdvi</tt>. </itemize> <item> <bf>Sound</bf> <itemize> <item> aumix (0.2 r4) : mixer en modo texto ; <item> cdp (0.33 r5) : permite escuchar CD audio en modo linea de comando o vía una interface en modo texto ; <item> maplay (1.2 r4) : permite ejecutar archivos en formato MPEG-2 sobre la tarjeta de sonido ; <item> playmidi (2.3 r6) : permite ejecutar archivos Midi ; <item> playmidi-X11 (2.3 r6) : interface X Window para playmidi ; <item> sox (11g r5) : programa de conversión de archivos audio ; <item> tracker (4.3 r4) : permite ejecutar archivos en formato Amiga (MOD). </itemize> <item> <bf>Base</bf> <itemize> <item> crontabs (1.3 r1) : archivo crontab de root ; (programación de ejecución a horas determinadas (hasta segundos)) <item> dev (2.3 r1) : archivos correspondientes a los dispositivos; repertorio /dev/ ; <item> etcskel (1.1 r1) : archivos que van en /etc/skel y que son utilizados cuando se crea una nueva cuenta de usuario; <item> filesystem (1.2 r1) : arborescencia de base de la Red Hat ; <item> initscripts (2.73 r1) : scripts de inicialisacion de la maquina; <item> logrotate (1.0 r2) : programa de rotación de archivos de log; <item> mailcap (1.0 r3) : paquete mailcap ; <item> pam (0.50 r17) : útiles para los servicios de identificación Pluggable Authentication Modules; <item> pamconfig (0.50 r5) : archivos de configuración para pam ; <item> passwd (0.50 r2) : programa para cambiar el código de un usuario, utiliza PAM ; <item> redhat-release (4.0 r1) : archivo de versión de la RedHat ; <item> rootfiles (1.3 r1) : archivos de inicialisacion para el super- usuario ; <item> setup (1.5 r1) : archivos importantes de configuración ; <item> termcap (9.12.6 r5) : archivo <tt> /etc/termcap</tt> para la administración de terminales; </itemize> <item> <bf> Kernel</bf> <itemize> <item> iBCS (2.0 r2) : módulos que permiten la ejecución de programas en formato IBCS (Intel Binary Compatibility Standard) ; <item> kernel (2.0.18 r5) : núcleo <bf/Linux/ versión 2.0.18 ; <item> kernel-headers (2.0.18 r5) : archivos de encabezados de los códigos fuente; <item> kernel-modules (2.0.18 r5) : módulos cargables ; <item> kernel-fuente (2.0.18 r5) : fuentes del núcleo ; <item> umsdos_progs (0.9 r2) : útiles para utilizar UMS-Dos. </itemize> </itemize> <item><bf>Daemons</bf> <itemize> <item> at (2.9b r2) : lanzador de programas en diferido; <item> bdflush (1.5 r5) : vacía la memoria temporal del sistema ; <item> gpm (1.10 r5) : piloto del ratón en modo texto ; <item> pcmcia-cs (2.8.22 r5) : pilotos para tarjetas pcmcia ; <item> procmail (3.10 r9) : utilizado para (por ejemplo) filtrar el correo electrónico ; <item> sendmail (8.7.5 r5) : programa de envío y de recepción de correo electrónico ; <item> sendmail-cf (8.7.5 r5) : archivos de configuración para sendmail ; <item> sendmail-doc (8.7.5 r5) : documentación para sendmail ; <item> sysklogd (1.3 r9) : programa de log, de los mensajes del sistema; <item> SysVinit (2.64 r2) : programa de control del arranque de la maquina, etc. <item> uucp (1.06.1 r6) : sistema de comunicación entre maquinas permite el transporte de correo, de news o de archivos ; <item> vixie-cron (3.0.1 r9) : lanzador de programas. </itemize> <item> <bf>Development</bf> <itemize> <item> <bf>Building</bf> <itemize> <item> autoconf (2.10 r6) : útil de configuración automática de programas en función de la plataforma ; <item> make (3.74 r8) : útil de administración de proyectos y de compilación ; <item> pmake (1.0 r4) : versión extendida de make. </itemize> <item> <bf>Debuggers</bf> <itemize> <item> ElectricFence (2.0.5 r4) : biblioteca de ayuda al debogage de aplicaciones ; <item> gdb (4.16 r5) : debogador ; <item> strace (3.1 r3) : Permite ver los llamados a las funciones sistema, utilizados por una aplicación ; <item> xxgdb (1.0.8 r5) : interfase X Window de <tt>gdb</tt>. </itemize> <item> <bf>Lenguajes</bf> <itemize> <item> basic (1.20 r7) : interpretador basic ; <item> bin86 (0.3 r3) : asamblador y editor de enlaces ; <item> gcc (2.7.2 r9) : compilador C ; <item> gcc-c++ (2.7.2 r9) : compilador C++ ; <item> gcc-objc (2.7.2 r9) compilador objective C ; <item> p2c-devel (1.20 r7) : convertidor de Pascal asía C ; <item> python (1.3 r11) interpretador del lenguaje orientado objeto python ; <item> umb-scheme (3.2 r1) : interpretador scheme ; <item> xlispstat (3.44 r5) : lenguaje lisp para X Window. </itemize> <item> <bf>Lenguajes/fortran</bf> <itemize> <item> f2c (19960205 r6) : convertidor Fortran asía C. </itemize> <item> <bf>Lenguajes/Fortran</bf> <itemize> <item> fort77 (1.11 r1) : dispositivo utilizado por f2c. </itemize> <item> <bf>Lenguajes/Tcl</bf> <itemize> <item> blt (1.9 r3) : extensiones para Tcl/Tk ; <item> blt-devel (1.9 r3) : ambiente de desarrollo para BLT ; <item> expect (5.19-5.20bya r3) : útil de administración de conexiones telnet, ftp, ... ; <item> tcl (7.5 r3) : lenguaje interpretado TCL ; <item> tclx (7.5.2 r3) : extensiones del lenguaje TCL ; <item> tix (4.0.5 r3) : extensiones para Tk ; <item> tk (4.1 r3) : conjunto de widgets concebidos para funcionar con Tcl. </itemize> <item> <bf>Libraries</bf> <itemize> <item> cracklib (2.5 r1) : verifica las palabras clave; <item> e2fsprogs-devel (1.04 r8) : biblioteca y archivos de encabezados para los programas que utilizan el sistema de archivos ext2fs ; <item> gpm-devel (1.10 r5) : ambiente de desarrollo que permite escribir aplicaciones que utilicen gpm ; <item> libg++-devel (2.7.1.4 r4) : bibliotecas C++ de GNU ; <item> libgr-devel (2.0.9 r4) : útil para desarrollar aplicaciones que utilicen la biblioteca <tt>libgr</tt>; <item> ncurses-devel (1.9.9e r2) : archivos de encabezados y bibliotecas necesarias para desarrollar con <tt>ncurses</tt>; <item> pythonlib (1.8 r1) : código utilizado por ciertos programas Red Hat ; <item> rpm-devel (2.2.5 r1) : archivos de encabezados y bibliotecas necesarias para manipular los archivos <tt>rpm</tt>; <item> slang-devel (0.99.33 r1) : bibliotecas y archivos de encabezados para trabajar con el lenguaje slang ; <item> typhoon (1.10.3 r4) : sistema de administración de bases de datos relaciónales ; <item> xpm-devel (3.4h r3) : bibliotecas y archivos de encabezados para manipular los archivos xpm ; <item> xview-devel (3.2p1.pl2 r3) : utilizado para desarrollar aplicaciones que utilicen <tt>xview</tt>; <item> xview-devel-examples (3.2p1.pl2 r3) : ejemplos de programas xview; <item> zlib-devel (1.0.4 r1) : biblioteca de descompresión <sq> al vuelo</sq>. </itemize> <item> <bf>Libraries/Libc</bf> <itemize> <item> libc-debug (5.3.12 r8) : biblioteca C compilada para ser utilizada durante la reparación de errores; <item> libc-devel (5.3.12 r8) : utilizada durante el desarrollo de programas que utilizan la biblioteca C ; <item> libc-profile (5.3.12 r8) : utilizada cuando los programas utilizan <tt>gproff</tt>; <item> libc-static (5.3.12 r8) : versión estática de la biblioteca C. </itemize> <item> <bf>Tools</bf> <itemize> <item> binutils (2.7.0.2 r4) : conjunto de programas necesarios para la compilación ; <item> bison (1.25 r1) : analizador gramatical GNU ; <item> byacc (1.9 r4) : analizador gramatical ; <item> cdecl (2.5 r3) : programa que permite convertir del Ingles en declaraciones de funciones y vice-versa ; <item> cproto (4.4 r4) : generador de prototipos de funciones ; <item> flex (2.5.3 r3) : analizador léxical ; <item> gencat (022591 r3) : programa de catálogos de mensajes ; <item> gytext (0.10 r5) : útiles y bibliotecas de manipulación de mensajes ; <item> indent (1.9.1 r5) : programa de indentación de fuentes C ; <item> xwpe (1.4.2 r9) : ambiente de desarrollo. </itemize> <item> <bf>Versión Control</bf> <itemize> <item> cvs (1.8.1 r1) : administrador de versiones ; <item> rcs (5.7 r4) administrador de versiones. </itemize> </itemize> <item> <bf>Documentación</bf> <itemize> <item> faq (4.0 r1) : conjunto de <em>Frequently Asked Questions</em> relativos a <bf/Linux/ ; <item> howto (4.0 r1) : howto sobre <bf/Linux/, versión texto ; <item> howto-dvi (4.0 r1) : howto sobre <bf/Linux/, versión dvi ; <item> howto-html (4.0 r1) : howto sobre <bf/Linux/, versión html ; <item> howto-ps (4.0 r1) : howto sobre <bf/Linux/, versión PostScript ; <item> howto-sgml (4.0 r1) : howto sobre <bf/Linux/, versión sgml (formato original) ; <item> indexhtml (4.0 r1) : pagina de índice Red Hat ; <item> ldp (4.0 r2) : contenido del <em><bf/Linux/ Documentation Project</em> en formato html ; <item> man-pages (1.12 r1) : paginas del manual (secciones 1 a 8). </itemize> <item> <bf>Extensions</bf> <itemize> <item> Japanese <itemize> <item> kterm (6.1.0 r5) : se trata del Kanji Terminal Emulator. </itemize> </itemize> <item> <bf>Games</bf> <itemize> <item> abuse (1.10 r5) : juego por el estilo de Super Mario ; <item> bsd-games (1.3 r6) : conjunto de juegos en modo texto ; <item> christminster (3 r2) : juego de aventura en modo texto ; <item> colour-yahtzee (1.0 r3) : versión texto del juego yahtzee ; <item> doom (1.8 r6) : no lo conocía...?? ;-) <item> fortune-mod (1.0 r3) : programa de generación aleatoria de mensajes, que se pone generalmente en el login; <item> gnuchess (4.0.pl77 r1) : Ajedrez GNU, modo texto o X Window ; <item> koules (1.2 r2) : juego que utiliza SvgaLib ; <item> koules-sound (1.2 r2) : sonidos del juego koules ; <item> mysterious (1.0 r2) : juego de aventura en modo texto ; <item> pinfocom (3.0 r3) : interpretador para los juegos Infocom ; <item> scottfree (1.14 r2) : interpretador para los juegos Scott-Adams; <item> trojka (1.1 r7) : juego de bloques ; <item> vga_cardgames (1.3.1 r6) : diversos juegos de cartas; <item> vga_gamespack (1.3 r5) : diversos juegos; <item> vga_tetris (0.4 r3) : tetris ; <item> xkoules (1.2 r2) : interfase X Window para <tt>koules</tt>. </itemize> <item> Libraries <itemize> <item> aout-libs (1.4 r5) : viejas bibliotecas ; <item> db (1.85 r10) : rutinas para crear bases de datos muy simples. Utilizado por Python, Perl, ... <item> db-devel (1.85 r10) : bibliotecas y archivos de encabezados para manipular archivos en formato <tt>db</tt>; <item> f2c-libs (19960205 r6) : bibliotecas compartidas para <tt>f2c</tt>; <item> faces-devel (1.6.1 r5) : Entorno de desarrollo de xface ; <item> gdbm (1.7.3 r8) : biblioteca de base de datos ; <item> gdbm-devel (1.7.3 r8) : bibliotecas y archivos de encabezados para <tt>gdbm</tt>; <item> ld.so (1.7.14 r4) : cargador dinámico ; <item> libc (5.3.12 r8) : bibliotecas standards C ; <item> libelf (0.5.2 r4) : permite acceder al formato ELF de los ejecutables; <item> libg++ (2.7.1.4 r4) : implementación GNU de las bibliotecas standards C++ ; <item> libgr (2.0.9 r4) : biblioteca de manipulación de formatos FBM, JPEG, PBM, PGM, PNM, PPM, REL, y TIFF ; <item> libpng (0.89c r1) : biblioteca de manipulación de formatos PNG ; <item> libpng-devel (0.89c r1) : archivos de encabezados y bibliotecas estáticas para utilizar la biblioteca <tt>png</tt>; <item> libtermcap (2.0.8 r2) : biblioteca para acceder a la base de datos de los terminales ; <item> libtermcap-devel (2.0.8 r2) : bibliotecas de desarrollo ; <item> ncurses (1.9.9e r2) : biblioteca de impresión en la pantalla en modo texto ; <item> newt (0.6 r1) : toolkit en modo texto de ventanas; <item> newt-devel (0.6 r1) : archivos de encabezados y bibliotecas ; <item> p2c (1.20 r7) : convertidor Pascal asía C ; <item> readline (2.0 r10) : biblioteca de lectura de linea ; <item> readline-devel (2.0 r10) : entorno de desarrollo para readline ; <item> slang (0.99.33 r1) : interpretador de lenguaje ; <item> svgalib (1.2.10 r2) : biblioteca gráfica en modo SVGA ; <item> svgalib-devel (1.2.10 r2) : bibliotecas y archivos de encabezados para desarrollar aplicaciones que utilicen la biblioteca svgalib ; <item> zlib (1.0.4 r1) : biblioteca de compresión y de descompresión <sq>al paso</sq>. </itemize> <item> <bf>Networking</bf> <itemize> <item> NetKit-B (0.08 r4) : ofrece los clientes y los servidores para los servicios standards Unix ; <item> pidentd (2.5.1 r5) : servidor de identificación ; <item> samba (1.9.16p2 r2) servidor SMB ; <item> ytalk (3.0.2 r4) : extensión de <tt>talk</tt>; <item> <bf>Admin</bf> : <itemize> <item> anonftp (2.3 r1) : contiene los archivos necesarios para la instalación de un servidor ftp anónimo ; <item> ny-tools (1.32.alpha r2) : útiles de base necesarios para la configuración de la red ; <item> nfs-server-clientes (2.2bya16 r3) : clientes NFS ; <item> tcp_wrappers (7.4 r3) : útil de observación y de control de las conexiones externas ; </itemize> <item> <bf>Daemons</bf> <itemize> <item> amd (920824upl102 r5) : demonio automontador (Berkeley) ; <item> apache (1.1.1 r3) : servidor Web ; <item> bind (4.9.4 r3) : servidor de nombres (DNS) ; <item> bootp (2.4.3 r2) : servidor de tratamientos (request) bootp y DHCP ; <item> cmu-snmp (3.2 r2) : derivado del Simple Network Management Protocol ; <item> gn (2.24 r2) : servidor gopher; <item> imap (3.6.BYA r6) : servidor de los protocolos POP y IMAP ; <item> intimed (1.10 r3) : servidor de tiempo ; <item> mars_nwe (0.98 r4) : servidor de archivos y de impresión compatible NetWare ; <item> nfs-server (2.2bya16 r3) : servidor NFS ; <item> portmap (4.0 r3) : administrador de conexiones RPC ; <item> ppp (2.2.0f r2) : demon PPP ; <item> wu-ftpd (2.4.2b11 r8) : demon ftp ; <item> yppasswd (0.8 r6) : implementación de passwd para las paginas amarillas (NIS) ; <item> ypserv (1.0.4 r3) : servidor NIS (o paginas amarillas) ; </itemize> <item> <bf>News</bf> <itemize> <item> inews (1.4unoff4 r2) : utilizado por ciertos lectores de news para enviar correo (poster); <item> inn (1.4unoff4 r2) : servidor de news ; </itemize> <item> <bf>Utilities</bf> <itemize> <item> bind-utils (4.9.4 r3) : utilitarios de acceso a los servicios de nombres ; <item> bootpc (050 r2) : cliente bootp para <bf/Linux/ ; <item> cmu-snmp-devel (3.2 r2) : biblioteca y archivos de encabezados para CMU SNMP ; <item> cmu-snmp-utils (3.2 r2) : utilitarios para CMU SNMP ; <item> dip (3.3.7o r8) : programa de automatización des conexiones SLIP y PPP ; <item> fwhois (1.00 r5) : programa whois ; <item> ipxutils (1.0 r1) : programas para protocolo IPX ; <item> ncpfs (2.0.5 r2) : programas para configurar y utilizar el sistema de archivos ncpfs ; <item> rdate (10.10.94 r4) : programa de puesta al día del reloj de la maquina gracias a maquinas distantes ; <item> rdist (1.0 r5) : programa de copia de archivos entre maquinas ; <item> statny (2.00 r4) : indicador de trafico en la red ; <item> traceroute (1.0.4.4bsd r2) : traza la ruta tomada por los paquetes enviados sobre la red; <item> yp-clientes (2.2 r5) : clientes NIS. </itemize> </itemize> <item> <bf>Shells</bf> <itemize> <item> ash (0.2 r5) : interpretador de comandos, clon del de Berkeley; <item> bash (1.14.7 r1) : interpretador de comandos conforme a IEEE 1003.2 (nt : el mejor Bourne Again Shell); <item> csh (5.2.6 r5) : C-Shell Berley ; <item> mc (3.2.10 r1) : Midnight Comandors ; <item> pdksh (5.2.8 r1) : reimplementacion de ksh ; <item> tcsh (6.06 r8) : extensión de csh ; <item> zsh (3.0pre6 r1) : interpretador de comandos. </itemize> <item> <bf>Utilities</bf> <itemize> <item> <bf>Archiving</bf> <itemize> <item> cpio (2.4.2 r3) : utilitarios de salvaguarda de archivos ; <item> gzip (1.2.4 r5) : programas de compresión de archivos ; <item> lha (1.00 r4) : programa de salvaguarda y de compresión de archivos; <item> ncompress (4.2.4 r6) : útil de compresión, compatible con el compress original ; <item> tar (1.11.8 r8) : programa de salvaguarda de datos ; <item> unarj (2.41a r3) : programa inverso de <tt>arj</tt>; <item> unzip (5.12 r5) : descompresión de archivos <tt>zip</tt> ; <item> zip (2.1 r1) : compresión de archivos en formato <tt>zip</tt>. </itemize> <item> <bf>Console</bf> <itemize> <item> open (1.3 r5) : lanza un comando sobre una consola virtual; <item> vlock (1.0 r4) : bloquea el terminal corriente, o el sistema entero de consolas. </itemize> <item> <bf>File</bf> <itemize> <item> file (3.20 r3) : programa de identificación de archivos ; <item> fileutils (3.13 r2) : programas de administración de archivos ; <item> findutils (4.1 r9) : programa de búsqueda de archivos en la maquina; <item> git (4.3.11 r4) : administrador de archivos en ASCII ; <item> macutils (2.0b3 r4) : conjunto de útiles para manipular los archivos provenientes de un Mac ; <item> mtools (3.0 r3) : conjunto de útiles para manipular los sistemas de archivos Ms-Dos ; <item> sharutils (4.2 r4) : utilitarios utilizados para encodar archivos; <item> smbfs (0.4 r1) : útiles para montar sistemas de archivos a partir de servidores SMB (Samba, permite el acceso a archivos e impresoras MS); <item> stat (1.5 r5) : Visualización de informaciones sobre el sistema de archivos; <item> symlinks (1.0 r5) : búsqueda de eventuales problemas con los enlaces simbólicos en el sistema de archivos ; <item> tree (1.0 r3) : traducción UNIX del programa MS-DOS de mismo nombre ; <item> which (1.0 r5) : indica si un programa se encuentra en su PATH. </itemize> <item> <bf>Printing</bf> <itemize> <item> mpage (2.3 r1): transforma varias paginas ASCII en un solo archivo PostScript. </itemize> <item> <bf>System</bf> <itemize> <item> adduser (1.2 r1) : permite agregar un usuario a tu sistema; <item> adjtimex (1.2 r4) : sistema de administración del tiempo; <item> control-panel (2.5 r2) : sistema de configuración Red Hat ; <item> cracklib-dicts (2.5 r1) : diccionarios para el programa crack ; <item> dump (0.3 r5) : útiles de salvaguarda para sistemas de archivos ext2; <item> e2fsprogs (1.04 r8) : conjunto de programas para crear y mantener los sistemas de archivos ext2 ; <item> eject (1.3 r3) : programas que permiten sacar los CD-ROM y los disquetes bajo Sparc ; <item> ext2ed (0.1 r8) : permite la manipulación del sistema de archivo ext2. Únicamente para los Hackers ; <item> fstool (2.5 r1) : programa X de manipulación del archivo /etc/fstab; <item> gcal (1.00 r1) : programa de calculadora extendido; <item> gyty_ps (2.0.7h r3) : permiten aceptar login a partir de la consola, terminales o modems ; <item> glint (2.1.4 r1) : interfase gráfica de los archivos rpm ; <item> hdparm (3.1 r1) : utilitario de configuración del disco duro ; <item> helptool (2.2 r1) : interfase gráfica de búsqueda ; <item> info (3.7 r5) : browser para archivos Info; <item> ipfwadm (2.3.0 r2) : útiles de administración para firewall ; <item> kbd (0.91 r8) : utilitarios para modificar el tipo de caracteres de la console, así como el tipo de teclado utilizado; <item> kbdconfig (1.3 r1) : reconfigura la maquina para un nuevo tipo de teclado; <item> kernelcfg (0.3 r2) : interfase gráfica de administración de la maquina ; <item> lilo (0.19 r1) : lanzador de <bf/Linux/ que autoriza el multi-arranque ; <item> losetup (2.5l r1) : programa de configuración de Loopback device; <item> lpr (0.10 r1) : útiles de impresión ; <item> MAKEDEV (2.2 r5) : archivos <tt>/dev/</tt>; <item> man (1.4h r2) : paginas del manual ; <item> mingetty (0.9.4 r1) : <tt>getty</tt> reducido únicamente para la console virtual ; <item> mkdosfs-ygg (0.3b r4) : permite crear sistemas de archivos MS-DOS ; <item> mkinitrd (1.0 r1) : permite crear un modulo cargable para el arranque de maquinas que poseen una tarjeta SCSI ; <item> mkisofs (1.03a r3) : paquete utilizado para creer sistemas de archivos iso9660; <item> modemtool (1.1 r2) : útil de configuración gráfica del modem ; <item> modules (2.0.0 r4) : programa de cargamento y de descargamento de los módulos cargables ; <item> mount (2.5l r1) : programa para montar sistemas de archivos ; <item> mouseconfig (1.4 r1) : sistema de configuración en modo texto de los ratones; <item> mt-st (0.4 r2) : programa de manipulación des dispositivos de salvaguardas; <item> netcfg (2.10 r1) : interfase gráfica de administración de red ; <item> printtool (2.6 r1) : ofrece una interfase gráfica para configurar la fila de impresión ; <item> procinfo (0.9 r1) : paquete que permite de explotar el contenido de <tt>/proc</tt>; <item> procps (1.01 r7) : paquete de útiles que permiten conocer el estado de la maquina; <item> psacct (6.2 r1) : sistema de accounting de procesos ; <item> psmisc (11 r4) : impresión en la pantalla de la arborescencia de los procesos; <item> quota (1.51 r3) : útiles de administración de cuotas ; <item> rpm (2.2.5 r1) : programa para administrar los paquetes del mismo nombre ; <item> sh-utils (1.12 r9) : shell ; <item> shadow-utils (960530 r6) : programas de utilización des palabras código shadow ; <item> sliplogin (2.1.0 r2) : útiles para SLIP ; <item> statserial (1.1 r7) : Visualización de la tabla des comunicaciones serie; <item> swatch (2.1 r4) : útil de observación de los archivos de log ; <item> taper (6.7.4 r1) : programa de salvaguardas ; <item> time (1.7 r1) : programa de visualización de las estadísticas sobre la ejecución de programas ; <item> timeconfig (1.4 r1) : útiles de configuración de la hora ; <item> timetool (2.2 r1) : interfase gráfica para <tt>timeconfig</tt>; <item> tksysv (0.91 r1) : útiles gráficos para manipular los niveles de inicialisacion de la maquina ; <item> tmpwatch (1.1 r1) : permite de limpiar ciertos repertorios ; <item> tunelp (1.3 r5) : configuración de la impresora; <item> usercfg (2.3 r1) : útil gráfico de administración de usuarios; <item> util-linux (2.5 r26) : conjunto de útiles <bf/Linux/, necesarios para su administración ; <item> zoneinfo (96i r3) : útiles y archivos de configuración para los usos horarios así como para los cambios de hora. </itemize> <item> <bf>Terminal</bf> <itemize> <item> dialog (0.6 r6) : permite construir interfases en modo texto; <item> screen (3.7.1 r1) : permite tener varias ventanas virtuales en el mismo terminal. </itemize> <item> <bf>Text</bf> <itemize> <item> diffstat (1.25 r1) : estadísticas sobre la comparación de archivos ; <item> diffutils (2.7 r5) : útil de comparación de archivos ; <item> faces (1.6.1 r5) : transformación de imágenes en archivos texto ; <item> faces-xface (1.6.1 r5) : útiles para administrar los encabezados de correo X-Faces ; <item> gawk (3.0.0 r5) : versión GNU del programa awk ; <item> grep (2.0 r4) : programa de búsqueda de cadenas de caracteres en los archivos; <item> ispell (3.1.20 r3) : verificador de ortografía (Ingles); <item> less (321 r3) : versión GNU de more ; <item> locale (5.3.12 r8) : útiles necesarios a la administración del multi- linguismo; <item> m4 (1.4 r6) : expandidor de macro-comandos ; <item> mawk (1.2.2 r5) : versión de awk ; <item> nenscript (1.13++ r5) : filtro de impresión ; <item> patch (2.1 r4) : permite hacer la operación inversa de diff ; <item> perl (5.003 r4) : lenguaje interpretado (nt : pero toda ejecución es compilada); <item>sed (2.05 r6) : programa de transformación de archivos <sq>al paso</sq>; <item> textutils (1.19 r2) : útiles de administración de archivos textos ; <item> words (2 r3) : diccionario Ingles. </itemize> </itemize> <item> <bf>X11</bf> <itemize> <item> <bf>Amusements (Diversiones)</bf> <itemize> <item> multimedia (2.1 r2) : programas para escuchar CD audios ; <item> xearth (1.0 r4) : impresión en la pantalla de un globo en fondo de pantalla; <item> xfishtank (2.0 r4) : un acuario fondo de pantalla ; <item> xsnow (1.40 r1) : caída de nieve de fondo de pantalla. </itemize> <item> <bf>Applications</bf> <itemize> <item> seyon (2.14c r6) : paquete de telecommunicacion ; <item> xfm (1.3.2 r4) : administrador de archivos ; <item> xrn (8.02 r2) : lector de forums Usenet ; <item> xterm-color (1.1 r2) : <tt>xterm</tt> en colores; </itemize> <item> <bf>Applications/Development</bf> <itemize> <item> xwpe-X11 (1.4.2 r9) : conjunto de programas de edicion de texto. </itemize> <item> <bf>Applicacions/Graphics</bf> <itemize> <item> ghostview (1.5 r5) : util de visualisacion de archivos PostScript; <item> ImageMagick (3.7 r5) : utiles de visualisacion y de manipulacion de imagenes. Es muy potente, rapido y sobretodo administra un buen nombre de formatos de imagenes. <item> mxp (1.0 r4) : generador de fractales de Mandelbrot ; <item> transfig (3.1.2 rb) : util de conversion de imagenes ; <item> xanim (27063 r1) : programa de animacion grafica, dont QuickTime y FLiC ; <item> xloadimage (4.1 r5) : visualisador de imagenes ; <item> xmorph (1996.07.12 r1) : programa de morphing ; <item> xmplay (1.0 r6) : permite ver las animaciones MPEG ; <item> xpaint (2.4.4 r2) : programa de dibujo bitmap ; <item> xv (3.10a r5) : permite visualisar buen numero de formatos de imagenes. </itemize> <item> <bf>Applications/Networking</bf> <itemize> <item> arena (0.98.bya3 r1) : browser Web HTML 3 ; <item> x3270 (3.1.0.7 r3) : emulador de terminales IBM 3270 ; <item> xgopher (1.3.3 r1) : util grafico para utilizar el servicio gopher. </itemize> <item> <bf>Games</bf> <itemize> <item> acm (4.7 r4) : simulador de vuelo ; <item> xzip (140 r3) : transforma las aplicaciones text en aplicaciones X. </itemize> <item> <bf>Games/Strategy</bf> <itemize> <item> spider (1.0 r3) : solitario ; <item> xboard (3.2.pl0 r5) : interface grafica de Gnu Chess ; <item> xdemineur (1.1 r4) : desminador ; <item> xgammon (0.98 r6) : backgammon ; <item> xpat2 (1.04 r2) : otro solitario; <item> xpilot (3.5.1 r2) : juego en red de combate... enfin... bueno, ensaye ;-) ! <item> xpuzzles (5.3.1 r1) : varios rompecabezas. </itemize> <item> <bf>Games/Video</bf> <itemize> <item> cxhextris (1.0 r4) : version color de Tetris ; <item> flying (6.20 r2) : conjunto de varios juegos (nt : Todos los billares, buenisimo :-)); <item> paradise (2.3p19 r4) : juego de marcianitos; <item> xbill (1.1 r3) : o como impedir que Bill Gates conquiste el mundo... ; <item> xbl (1.0f r4) : Tetris ; <item> xboing (2.3 r3) : una version de Breakout ; <item> xchomp (1.0 r5) : juego de marcianitos; <item> xevil (1.5 r2) : juego de aventura; <item> xgalaga (1.6c r1) : clon de Galaga... un juego de marcianitos; <item> xjewel (1.6 r4) : varios; <item> xlander (1.2 r4) : el objectivo es hacer aterrisar un cohete; <item> xtetris (2.6 r4) : Tetris ; <item> xtrojka (1.2.2 r1) : especie de xjewel y tetris. </itemize> <item> <bf>Libraries</bf> <itemize> <item> ImageMagick-devel (3.7 r5) : bibliotecas y archivos de encabezados para crear aplicaciones que utilicen el codigo fuente de ImageMagick ; <item> nls (1.0 r2) : utilizado por ciertos binarios viejos X11R5 por ej: Netscape ; <item> Xaw (1.3 r3) : biblioteca Xaw que parece ser en 3 dimensiones ; <item> Xaw-devel (1.3 r3) : bibliotecas estáticas y archivos de encabezados; <item> xpm (3.4h r3) : biblioteca de manipulación de archivos Xpm ; <item> xview (3.2p1.pl2 r3) : conjunto de útiles para tener el look OpenLook. </itemize> <item> <bf>Utilities</bf> <itemize> <item> moonclock (1.0 r5) : da la hora, así como el estado de la luna; <item> procps-X11 (1.01 r7) : útiles de visualización del estado de la maquina ; <item> rxvt (2.18 r2) : emulador VT100 ; <item> Xconfigurator (2.4 r3) : útiles de configuración X de RedHat ; <item> xdaliclock (2.07 r1) : reloj numérico; <item> xlockmore (3.9 r4) : versión mejorada de xlock ; <item> xmailbox (2.4 r3) : programa que indica que el correo acaba de llegar; <item> xosview (1.4.1 r2) : estadística del funcionamiento de la maquina y del trafico de la red; <item> xscreensaver (1.26 r3) : economizador de pantalla; <item> xsysinfo (1.5 r1) : programa de estadísticas sobre la maquina ; <item> xtoolwait (0.3 r2) : diversos ; <item> xwpick (2.20 r4) : hace una copia archivo de una ventana. </itemize> <item> <bf>Window Managers</bf> <itemize> <item> fvwm (1.24 r9) : administrador de ventanas ; <item> fvwm95 (2.0.42a r5) : administrador de ventanas simula el entorno MS-Windows 95 ; <item> fvwm95-icons (2.0.42a r5) : iconos para fvwm ; <item> TheNextLevel (1.0 r1) : conjunto de escritorios para fvwm ; <item> xview-clientes (3.2p1.pl2 r3) : clientes y útiles para OpenWindows. </itemize> <item> <bf>XFree86</bf> <itemize> <item> X11R6-contrib (3.1.2 r6) : conjunto de programas para X ; <item> XFree86 (3.1.2 r11) : bibliotecas X ; <item> XFree86-devel (3.1.2 r11) : archivos de encabezados y bibliotecas estáticas para X ; <item> XFree86-fonts (3.1.2 r11) : tipos de caracteres para X ; </itemize> <item> <bf>XFree86/Servers</bf> <itemize> <item> XFree86-8514 (3.1.2 r11) : servidor X para tarjetas ATI ; <item> XFree86-AGX (3.1.2 r11) : servidor X para tarjetas AGX ; <item> XFree86-Mach32 (3.1.2 r11) : servidor X para tarjetas Mach32 ; <item> XFree86-Mach64 (3.1.2 r11) : servidor X para tarjetas Mach64 ; <item> XFree86-Mach8 (3.1.2 r11) : servidor X para tarjetas Mach8 ; <item> XFree86-Mono (3.1.2 r11) : servidor X para tarjetas monocromas ; <item> XFree86-P9000 (3.1.2 r11) : servidor X para tarjetas P9000 ; <item> XFree86-S3 (3.1.2 r11) : servidor X para tarjetas S3 ; <item> XFree86-SVGA (3.1.2 r11) : servidor X para tarjetas Super VGA ; <item> XFree86-VGA16 (3.1.2 r11) : servidor X para tarjetas VGA 16 couleurs ; <item> XFree86-W32 (3.1.2 r11) : servidor X para tarjetas W32 ; <item> XFree86-Xvfb (3.1.2 r11) : servidor que funciona en una ventana X. </itemize> </itemize> </itemize> Se acabo ! Esta descripción detalla la versión original de la RedHat 4.0 (llamada Colgate). Existen hoy en día numerosos paquetes (en el repertorio <tt>upgrade</tt>) que permiten poner al día correctamente tu maquina con una facilidad desconcertante. <sect2>Utilización del Programa <tt>rpm</tt><p> El programa <tt>rpm</tt> es una verdadera maravilla que permite instalar, suprimir y poner al día los diferentes paquetes instalados en tu maquina sin preocuparse mucho de los problemas de versión, de bibliotecas etc. Aquí no detallaremos todas la opciones de rpm porque en realidad hay muchas ( mira <tt>rpm --help</tt> para eso o la documentación de Red Hat). Globalmente, <tt>rpm</tt> funciona de 4 modos : <itemize> <item><bf> Interrogación</bf> (<em>-q</em>). Esta opción permite principalmente conocer el contenido de un archivo <tt>rpm</tt>, La lista de paquetes instalados en tu maquina etc. Por ejemplo, para saber cuales paquetes están instalados en tu maquina, solo tienes que hacer : <verb> gandalf # rpm -q -a mailcap-1.0-3 rpm-devel-2.2.5-1 groff-1.10-6 </verb> Para obtener mas informaciones sobre los diferentes paquetes instalados (numero de versión, cual distribución,...) solo necesitas agregar la opción<tt>-l</tt> y <tt>-i</tt> Por ejemplo: <verb> gandalf # rpm -q -i -l rpm-devel Name : rpm-devel Distribution: Red Hat <bf/Linux/ Colgate Versión : 2.2.5 Vendor: Red Hat Software Release : 1 Build Date: Thu Sep 05 23:14:10 1996 Install date: Wed Nov 13 11:30:50 1996 Build Host: porky.redhat.com Group : Development/Libraries Source RPM: rpm-2.2.5-1.src.rpm Size : 136142 Summary : Header files and libraries for programs that manipulate rpm packages Descripción : The RPM packaging system includes a C library that makes it easy to manipulate RPM packages and databases. It is intended to ease the creation of graphical package managers and other tools that need intimate knowledge of RPM packages. /usr/include/rpm /usr/include/rpm/dbindex.h /usr/include/rpm/header.h /usr/include/rpm/messages.h /usr/include/rpm/rpmerr.h /usr/include/rpm/rpmlib.h /usr/lib/librpm.a </verb> Estas opciones pueden ser utilizadas sobre un archivo rpm que tu quieras instalar para conocer su contenido : solo necesitas agregar la opción<tt>-p</tt> : <verb> gandalf # rpm -q -l -p giftrans-1.11.1-4.i386.rpm /usr/bin/giftrans /usr/man/man1/giftrans.1 </verb> Si le agregas la opción<tt> -i </tt>, obtendrás las informaciones sobre el paquete. <item> <bf>installation</bf>(<em>-i</em>). Cuando hayas encontrado el archivo que tu quieres instalar, tal vez quieras realmente instalarlo. Para esto, solo necesitas hacer : <verb> gandalf# rpm<item>i howto-sgml-4.0-1.i386.rpm </verb> <item> <bf>destrucción</bf>. Instalar esta bien .... pero como suprimir un paquete inútil y/o obsoleto ? Es sencillisimo : <verb> gandalf# rpm<item>e howto-sgml-4.0-1 </verb> <item> <bf>Puesta al día</bf>. Bueno, para terminar esta corta introducción a la utilización de archivos <tt>rpm</tt>, vamos a ver la puesta al día. Tu has instalado algunos paquetes muy interesantes y oh sorpresa, una nueva versión del programa acaba de salir. Debes recuperar la nueva versión. Normalmente, es necesario destruir la versión antigua e instalar la nueva. Gracias al sistema <tt>rpm</tt>, esto se hace solo : <verb> gandalf# rpm -U howto-sgml-4.0-2.i386.rpm </verb> </itemize> Existe un numero importante de opciones. Consulta la documentación para más información. <sect> Instalación<p> Después de estos preliminares, pasemos a las cosas serias. En un primer tiempo, has una salvaguarda de tu disco duro, es lo mas prudente, y pones al lado tuyo un disquete formateado. Luego, apagas tu maquina y metes el disquete de boot. <sect1> Instalación inicial<p> Bueno, estas listo ? Nos fuimos. Arranca tu maquina. <bf/Linux/ arranca sobre el disquete de <it>boot</it>. En el caso de la Slackware, te pide insertar un segundo disquete, llamado <it>root</it>. Remplaza el disquete y luego oprime la tecla Enter. Nota a propósito del mensaje <sq>BIOS32</sq> que algunos pueden ver durante el arranque : este mensaje significa que tu bus es PCI. Si tu ves el mensaje siguiente : <sq>BIOS32 extended no supported</sq> significa que tu maquina no es PCI. No hay que asustarse y utiliza a pesar de esto el disquete de boot standard. Si la maquina no arranca con el disquete de boot tienes que crear un disquete de boot gracias a un otro soporte; Lee la sección del presente documento reservado a la <sq>signal 11</sq>. Antes de lanzarte en la instalación de tu sistema, he aquí algunos trucos y astucias. <bf/Linux/ utiliza un procedimiento que instala tu sistema de manera casi automática. En el caso de la Red Hat , la instalación es realmente simple y progresiva. Solo es necesario seguir las indicaciones. Cuidado con el teclado que qwerty (americano) desde el comienzo. La configuración del teclado en español se hará mas tarde. <sect1> Particionar el disco duro<p>. Vas, en un primer tiempo, a necesitar hacer un formatage de tu disco. Tienes que crear por lo menos una partición <bf/Linux/ con el sistema de archivos <it>ext2fs</it> y al menos una partición de swap (la swap es un sistema de memoria virtual, quiere decir que si tu no posees suficiente memoria Ram para hacer funcionar tal o tal programa, el va utilizar el espacio del disco duro como memoria... Esta explicación es un poco simplificada pero es mas o menos así). Es mucho mas fácil suprimir una partición de swap que crear una después entonces es mejor prevenir. Si quieres utilizar X Window, 8 Mo de memoria viva son absolutamente necesarios. Los discos bajo <bf/Linux/ son <it>devices</it>. Por ejemplo, el primer disco duro es <tt>/dev/hdax</tt>, el segundo <tt>/dev/hdbx</tt> para un controlador IDE. La x corresponde al numero de la partición del disco. Si tu tienes un sistema MS instalado este es seguramente <tt>/dev/hda1</tt>. <bf/Linux/ te va guiar en su instalación. El te permite instalar tu sistema de manera completa de una sola vez. El único problema, es que si de pronto te equivocas en algo ... tienes que volver a empezar todo. Si tu disco no esta particionado, es el programa <tt>fdisk</tt> que te va permitir realizar la operación. Su sintaxis es : <tt>fdisk /dev/disco</tt>. En el caso de Red Hat este se lanza solo. Por ejemplo, si tu quieres instalar <bf/Linux/ en tu segundo disco IDE, escribe <tt>fdisk /dev/hdb</tt>. Los comandos de fdisk (por orden de utilidad) son : <itemize> <item> m : la lista de todos los comandos; <item> p : lista las particiones; <item> n : agrega una nueva partición; <item> d : destruye una partición; <item> t : cambiar el tipo de una partición; <item> q : <bf>salir si salvaguardar</bf> los cambios; <item> w : <bf>salvaguarda los cambios</bf>; </itemize> Para agregar una partición, debes hacer n y luego debes especificar el numero de la partición (principal o extendida), el numero del bloque de origen y su talla. Luego tu le das un tipo (con t). <itemize> <item> 83 : <bf/Linux/. <item> 82 : Swap. </itemize> Listo, salvaguarda (w). Tu partición esta creada. Es ,sinembargo, posible que tengas que volver arrancar el disco para que esto sea tomado en cuenta por el núcleo. La RedHat se ocupa del formatage automático de las particiones. Para formatearlas a la mano, debes hacer : <tt>mke2fs -cv /dev/hdax</tt> donde <em>x</em> corresponde al numero de tu partición. <sect1> Instalación con la Slackware<p> Ahora, tu debes lanzar el programa <it>setup</it>. Es un programa en colores (esto depende del disquete Root que tu as escogido), con un menú. El formatage de las particiones puede ser efectuado sin problemas. Configura tu partición swap e instala la serie A en la partición. La configuración swap es muy simple a efectuar : escoge la opción swap y sigue las instrucciones. Para instalar la serie A, escoge la opción fuente y escoge la buena opción : disquetes por ejemplo. Enseguida especifica el device necesario para acceder al lector A. Ahora debes especificar las series que quieres instalar. Tienes ahora la lista que aparece. Escoge la serie. El programa de instalación te pregunta si quieres lanzar la instalación; Responde si. Luego, te pregunta un modo de selección. Escoge <it>Normal</it>. A partir de ahí, te toca jugar a ti. Te va a pedir insertar los disquetes y luego te da la lista de programas a instalar. Buena partida de come disquetes ! También es posible instalarla gracias a un CD ROM que contenga la distribución. Si el lector no es reconocido no es necesario recopiar todos los archivos en disquetes antes de proceder a la instalación. Tienes que copiar todos los archivos de la distribución en una partición MS- DOS y luego relanzar el sistema gracias a los disquetes boot/root, llamar al <sq>setup</sq> e indicarle la partición MS-DOS donde se encuentran los archivos necesarios. Utiliza los menús para efectuar todas estas operaciones. <bf/Linux/ te va a pedir la creación de un disquete de boot. Es este disquete que te va a servir de ahora en adelante para arrancar tu sistema. Tu partición <bf/Linux/ formateada, tus particiones de swap generadas, la serie instalada y tu disquete magico listo, no te falta mas que volver a arrancar. Entonces metes el disquete, calientito, configurado para <bf/Linux/ en el lector y apoyas en las teclas <it>Ctr-Alt-Del</it>. <bf>Nunca apagues bruscamente tu maquina bajo <bf/Linux/ !</bf> En efecto, <bf/Linux/ como todo sistema UNIX, utiliza unos caches disco : perderías informaciones apagando tu maquina. La única manera decente de apagar <bf/Linux/ es hacer ya sea <it>Ctr-Alt-Del</it> o sino siendo <it>root</it> lanza uno de estos comandos : <tt>halt, rebbot, shutdown</tt> (Mira el man para ver las diferencias). Una vez que has vuelto a arrancar, entra como <it>root</it>. Pero debes tener mucho cuidado, el usuario <it>root</it> tiene todos los derechos, entre ellos aquel de destruir todo. Esto pasa mas fácilmente y más frecuentemente, que lo que tu te imaginas. <sect1> Instalación con RedHat<p> La instalación con RedHat es muy intuitiva. Una vez las particiones realizadas, es suficiente escoger el tipo de instalación deseada y los paquetes que quieres utilizar. Esto realizado, esta distribución va a realizar la instalación completa de manera automática. Puedes ir a tomarte un cafecito mientras que la instalación de tu maquina se hace automáticamente. <sect> Administración bajo <bf/Linux/<p> <sect1> Teclado Francés<p> Bueno, comencemos por las cosas útiles: El teclado Francés. Normalmente, las distribuciones lo configuran solas...pero uno nunca sabe! Una vez registrado como <it>root</it>, escribe el comando siguiente: <tt>/usr/bin/loadkeys /usr/lib/kdb/keytables/fr-latinl.map</tt>. Ahora tu teclado es francés ! Atención, esto es temporal; la solución mas simple es agregar en el archivo <tt>/etc/rc.local</tt> eso con la Slackware. Para la RedHat, realiza la operación con el tablero de configuración gráfica. <sect1>LILO<p> <it>LILO</it> (<bf>LI</bf>nux <bf>LO</bf>ader) Permite tener un sistema de arranque múltiple: MS- Windows, MS-DOS, <bf/Linux/, etc. Este programa se ubica en el sector de arranque de tu disco y te permite seleccionar la partición sobre la cual deseas arrancar. Si has instalado <it>LILO</it> en tu disco duro y tu maquina se bloquea, arranca con un disquete sistema MS-DOS y escribe <tt>FDISK /MBR</tt> (nt: este comando borra LILO). El archivo de configuración LILO se encuentra generalmente en <tt>/etc/lilo.conf</tt>. Las distribuciones permiten generar un archivo automáticamente. He aquí un ejemplo de mi archivo <tt>/etc/lilo.conf</tt> : <verb> boot = /dev/hda # disco en el cual se encuentra el archivo LILO delay = 300 # tiempo de espera, antes del lanzamiento del arranque. # permite seleccionar la partición deseada. vga = normal # modo de la pantalla a escoger. ramdisk = 0 # paranoia setting # <bf/Linux/ : Ultima versión : El Pc arranca aquí por defecto. image = /vmlinuz # Núcleo de <bf/Linux/ 1 (camino completo y nombre del archivo.) root = /dev/hda2 append="no-hlt, aha1542=0x230" label = linux read-only other = /dev/hda1 # Partición 1 : label = dos # texto que identifica el arranque bajo DOS table = /dev/hda # disco : /dev/hda image = /zimage # Núcleo <bf/Linux/ 2 root = /dev/hda2 # Raiz de LINUX (Partición 2 de mi disco) append="aha1542=0x230" # append... ver la explicación mas abajo. label = old # Texto a escribir : old read-only # </verb> En este momento, debes tener muchas preguntas: <enum> <item> read-only : cuando arrancas <bf/Linux/, el hace una verificación de la coherencia de las informaciones que se encuentran encima. Esta es una verificación del sistema de archivos. Par realizar esta operación, es indispensable que la partición este en lectura sola. En efecto, verificar un disco mientras es utilizado es la mejor manera de destruirlo todo. Esta verificación no es hecha siempre, si tu apagas la maquina decentemente (con <it>Ctr-Alt-Del</it> o con los comandos <tt>halt, reboot o shutdown</tt>). Esta verificación no es de todas maneras lanzada que sobre las particiones <bf/Linux/. Es el programa <tt>fsck</tt> que efectúa esta operación. Te desaconsejo lanzarla para <sq>ver que hace</sq> : una utilización errada puede provocar la perdida de datos de tu disco ! <item> por que dos núcleos? Esto es simple : <bf/Linux/ cambia, se mueve. Los núcleos son modificados muy seguido. Por ejemplo, yo puedo arrancar actualmente mi maquina ya sea con un núcleo estable (2.0.26) ya sea con un núcleo en desarrollo (2.1.8). <item> <it>append</it> : esta opción es muy importante : ella permite darle uno o varios parámetros al nodo <bf/Linux/. Por ejemplo, aquí por ejemplo yo le indico que mi carta SCSI se encuentra en la dirección 230. En el caso contrario, no seria reconocida. Esta opción es utilizada igualmente si tu tienes varias interfaces de red, SCSI, etc (nt : el parametro mem=xxTT donde xx es la cantidad de RAM y TT su unidad (o,k,m) es necesario a veces si tu RAM no es reconocida). </enum> Para instalar el archivo, tienes que ejecutar <tt>/sbin/lilo</tt> y ya esta! En el caso que tengas problemas con LILO tienes que ensayar la opción <sq>compact</sq> que se puede encontrar en su archivo de configuración. No te olvides de relanzar LILO luego de cada modificación del archivo de configuración. <sect1> Montaje automático de las particiones: /etc/fstab<p> El archivo <tt>/etc/fstab</tt> contiene todas las informaciones que concierne el montaje de tus particiones. He aquí un ejemplo: <verb> #/etc/fstab # Device Repertoire type options frequence passe # <bf/Linux/ /dev/hda2 / ext2 defaults 5 1 /dev/hdb2 /usr2 ext2 defaults 5 2 /dev/sda2 /usr3 ext2 defaults 10 2 # MS-DOS /dev/hda1 /dos msdos defaults 0 0 /dev/hdb1 /dos2 msdos defaults 0 0 # Processus none /proc proc defaults 0 0 # Partition de swap /dev/hda3 none swap defaults 0 0 # Fichier de swap /usr2/swap_file /usr2 swap defaults 0 0 </verb> Descripción de las 6 columnas <enum> <item> device (dispositivo) de la partición. En el caso de un archivo de swap, es el nombre del archivo. <item> directorio del montaje de la partición. <item> tipo de la partición. <item> opciones (lectura sola, etc) <item> frecuencia correspondiente al numero de días entre dos tratamientos del archivo por el comando <tt>dump</tt>. Este comando existe solamente para ext2fs (es una migración de la versión 4.4BSD) pero no esta aun incluida en todas las distribuciones. <item> orden de test de las particiones (fsck). Si tu pones 0 la verificación automática no es efectuada. Las particiones situadas sobre un mismo disco serán testadas de una manera secuencial, pero si ellas están situadas en dos discos diferentes se hará en paralelo. </enum> Tu puedes colocar aquí las particiones que necesites. Para NFS es aconsejable utilizar los siguientes parámetros: <tt>rsize=8192, wsize=8192</tt>, sobre todo si tu posees una tarjeta rápida. Para autorizar un usuario a montar un volumen, tienes que crear una linea que contenga la opción <sq>user</sq> Ejemplo (caso de un CD-ROM SCSI) : <verb> /dev/scd0 /mnt/cd iso9660 user,exec,dev,nosuid,ro,noauto </verb> Cualquier utilizador podrá, a partir de ese momento, montar y desmontar un CD (utilizar <tt>mount /mnt/cdrom, umount /mnt/cdrom</tt>) La pagina de man de mount, sección 8 (<tt>man 8 mount</tt>) explica la significación de las opciones posibles. <sect1> Montaje manual de las particiones<p> Como lo hemos visto en el parágrafo precedente, las particiones son montadas al momento del arranque, gracias al archivo <tt>/etc/fstab</tt>. Tu puedes, mas sin embargo, montarlos manualmente, debes utilizar el comando mount. Por ejemplo, para montar el disquete a:, tu debes hacer: <tt>mount -t msdos /dev/fd0 /mnt/floppy</tt>. El <tt>-t</tt> indica el tipo de soporte. Los mas corrientes son: <itemize> <item> ext2: sistema de archivos <bf/Linux/ <item> msdos: disquetes o particiones MS-DOS <item>vfat : disco o disquetes MS-Windows 95 ; <item> iso9660: Cd-Rom <item> nfs: montaje de particiones a través de la red. </itemize> Evidentemente, es necesario que estos tipos de sistemas de archivos estén integrados en el núcleo... El <tt>/dev/fd0</tt> es el nombre del archivo especial correspondiente al dispositivo especial que corresponde al lector de disquetes. El punto de montaje es el directorio <tt>/mnt/floppy</tt>. Para desmontar hacer <tt>umount /mnt/(directorio)</tt>. <sect1> Puesta en servicio de las cuotas<p> <sect2> Software necesario<p> El soporte de cuotas disco ha sido integrado en el kernel <bf/Linux/ desde la versión 1.3.46. Necesitas utilizar un kernel posterior para poder beneficiar las cuotas. Tu necesitas igualmente los útiles de gestión de cuotas y los puedes encontrar en: <tt>ftp://ftp.funet.fi/pub/<bf/Linux//PEOPLE/Linus/subsystems/quota</tt> o, mas cerca, en : <tt>ftp://ftp.ibp.fr/pub/linux/kernel/sources/subsystems/quota</tt> El archivo que debe recuperar se llama <tt>quota-1.51.tar.gz</tt> y se encuentra en el subdirectorio <tt>utils</tt>. También hay un subdirectorio <tt>doc</tt> que contiene la documentación (principalmente las paginas del manual de los útiles) en formato HTML. <sect2> Compilación de utilitarios<p> Después de haber extraído el contenido del archivo<tt>quota-1.51.tar.gz</tt>, necesitas compilarlos. Esto se hace con el comando make. En ciertos casos (depende de tu biblioteca C) puede ser necesario agregar <tt>-I</tt> a la variable <tt>CFLAGS</tt> definida en el <tt>Makefile</tt>. Si tu utilizas el sistema de archivos ext2 y que tu has instalado las bibliotecas contenidas en e2fsprogs, tu puedes incluir el soporte de ext2fs en los utilitarios de cuotas para acelerar su ejecución. Para esto debes editar el archivo <tt>Makefile</tt> de manera que la variable <tt>CFLAGS</tt> contenga<tt>-DEXT2_DIRECT</tt> y que la variable <tt>EXT2LIBS</tt> contenga<tt>-lext2fs -lcom_err</tt> antes de compilar los programas. Luego de la compilación instala los utilitarios con el comando <tt>make install</tt>. Cuidado el comando <tt>quota</tt> es instalado en el directorio <tt>/usr/ucb</tt> que no existe en la mayoria de las instalaciones <bf/Linux/, necesitas entonces modificar el <tt>Makefile</tt> para instalarlo en otro directorio (<tt>/usr/bin</tt> es un buen lugar). Puede ser necesario igualmente definir la variable <tt>LN</tt> a el valor <tt>ln -sf</tt>. <sect2> Activación del soporte de cuotas en el kernel<p> Para utilizar las cuotas el kernel debe ser compilado con el soporte de cuotas. Para esto debes tener un kernel para el cual has respondido <sq>Y</sq> a la pregunta <sq>Quota support</sq>. Cuidado, el soporte de cuotas es efectivo por el momento solamente en los sistemas de archivos ext2. <sect2> Activación de cuotas en el sistema de archivos<p> Existen dos tipos de cuotas: las cuotas asociadas a los usuarios y las cuotas asociadas a los grupos de usuarios. Las primeras definen el nombre máximo de archivos y de bloques disco asociados a cada usuario, los segundos definen el numero máximo de archivos asociados a cada grupo de usuarios. Los dos tipos de cuotas pueden ser activadas separadamente. Para activar las cuotas para los usuarios es necesario indicar la opción <tt>usrquota</tt> para los sistemas de archivos concernidos en <tt>/etc/fstab</tt>. Las cuotas que conciernen los grupos son reguladas por la opción <tt>grpquota</tt>. Los archivos de definición de cuotas se llaman respectivamente <tt>quota.user</tt> y <tt>quota.group</tt> y están situados en la raíz de cada sistema de archivos concernido. Es posible modificar los nombres de los archivos de gestión de cuotas utilizando la sintaxis <tt>usrquota=nombre_de_archivo</tt> y <tt>grpquota=nombre_de_archivo</tt>. He aquí un ejemplo del archivo <tt>/etc/fstab</tt>: <verb> /dev/hda2 / ext2 defaults,rw 0 1 /dev/hdb2 /home ext2 defaults,rw,usrquota,grpquota 0 1 /dev/sda1 /usr/src ext2 dzfaults,rw,usrquota 0 1 </verb> La activación de las cuotas es lanzada por el comando <tt>quotaon</tt>. Para activarlas automáticamente a la inicialización del sistema, debes agregar al archivo de inicialización (<tt>/etc/rc.d</tt>) las lineas: <verb> # Enable quota /usr/sbin/quotaon -avug </verb> Puede ser igualmente necesario verificar la coherencia de las informaciones de gestión de cuotas luego de bloqueos repentinos. Para esto utilice el comando <tt>quotacheck</tt>: <verb> /usr/sbin/quotacheck -avug </verb> Si los utilitarios han sido compilados con<tt>-DEXT2_DIRECT</tt>, el comando <tt>quotacheck</tt> debe ejecutarse relativamente r pido, en el caso contrario puede ser muy largo, pues debe explorar todos los directorios del disco. Es aconsejable de todas maneras lanzar el quotacheck a la inicialización del sistema antes de la activación de la cuotas con <tt>quotaon</tt> : <verb> # Check quota /usr/sbin/quotacheck -avug </verb> <sect2> Atribución de una cuota a un utilizador<p> El comando <tt>edquota</tt> es utilizado para afectar una cuota a un usuario o a un grupo de usuarios. Su sintaxis es <tt>edquota -u usuario</tt> o <tt>edquota -g grupo</tt>. Este comando lanza un editor de texto que contiene la definición de cuotas atribuidas al usuario o al grupo y toma en cuenta el nuevo valor cuando el archivo es reescrito. Para cada usuario o grupo existen dos limitaciones: el numero de archivos y el numero de bloques disco (escritos en bloques de 1024 octetos). Para cada uno existe dos limites: <enum> <item> el limite <sq>suave</sq>: cuando este limite es alcanzado o superado un mensaje advierte al usuario cada vez que un nuevo bloque o archivo es escrito. <item> el limite <sq>duro</sq>: cuando este limite es alcanzado el utilizador no puede escribir nuevos archivos o nuevos bloques. </enum> El limite <sq>suave</sq> se transforma en limite <sq>duro</sq> cuando este alcanza o supera un cierto tiempo (7 días por defecto). <sect2> estadísticas sobre las quotas<p> Todo usuario puede obtener el estado de la cuota que han sido atribuidas (limites así como el numero de archivos y de bloques que le han sido atribuidos) gracias al comando <tt>quota</tt>. El super usuario puede obtener las mismas informaciones sobre todo usuario o grupo con el mismo comando : <tt>quota -u usuario</tt> o <tt>quota -g grupo</tt>. Ademas es posible utilizar el comando <tt>repquota</tt> para obtener una lista de cuotas asociadas a un o varios sistemas de archivos. <sect2> Otros documentos sobre las cuotas<p> La implementación de las cuotas en <bf/Linux/ es compatible con la implementación original en 4.2BSD UNIX. Todos los documentos que conciernen las cuotas con la implementación original 4.2BSD, ya sea a nivel de comandos o a nivel de la interfase de programación son utilizables. Las paginas del manual de los utilitarios son bastante claras y muy instructivas. En fin, los documentos difundidos en formato HTML forman una buena introducción a la administración de cuotas. <sect1> mtools<p> En vez de montar tus particiones MS-DOS, te consejo que utilices los mtools. Se trata de los equivalentes de los comandos MS-DOS, pero con un <tt>m</tt> adelante. Por ejemplo : <tt>mcopy toto.c a:</tt> . Si tu quieres copiar un archivo texto para que sea utilizado bajo MS-DOS o lo inverso, no olvides de utilizar la opción<tt>-t</tt> : esto convierte el carácter de fin de linea que es diferente en los dos sistemas. En principio, ya vienen mas o menos configurados. Pero en el caso tal, tu debes modificar el archivo <tt>/etc/mtools</tt>. <verb> drive a: file="/dev/fd0" exclusive drive b: file="/dev/fd1" exclusive # 1er disco Duro drive c: file="/dev/hda1" # 2nd disco Duro drive d: file="/dev/sda1" mtools_lower_case=1 </verb> Cuidado : el archivo a sido modificado desde la ultima versión. Este es el ultimo formato por lo que es mas claro y simple de utilizar. Ademas, esta nueva versión permite utilizar los nombres largos (vfat de MS-Windows 95). <sect1> Swap : creación de la partición<p> Para añadir una partición de swap de 8 Mo, tienes que crear primero la partición gracias al programa <tt/fdisk/, luego, ya sea pasas por el programa <it>setup</it>, ya sea lo haces a la mano : <tt> mkswap /dev/hda3 8192 </tt> Añade la linea <tt> /dev/hda3 swap swap defaults 0 0 </tt> en el archivo <tt>/etc/fstab</tt>. Finalmente, para que funcione, ya sea re-arrancas tu maquina o sino puedes hacer un <tt>swapon -a</tt>. <sect1> Swap : archivo<p> Para el archivo, es mas complicado. Debes hacer un : <verb> dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 mkswap /usr2/swap_file 8192 </verb> Y agregas en el archivo <tt>/etc/fstab</tt> la linea <tt> /usr2/swap_file /usr2 swap defaults 0 0. </tt> Cuidado, debes poner esta linea después del montaje de la partición <tt>/usr2</tt>. Sino, no funcionara nunca. De ahora en adelante, para salir de <bf/Linux/ estas obligado de hacer : <verb> swapoff -a reboot #O otro </verb> En efecto, si no desactivas el archivo de cambios, <bf/Linux/ no podrá desmontar la partición y por consiguiente hará un fsck sobre ella cada vez que arranques tu maquina. También es posible, con ciertos sistemas, agregar el comando swapoff en <sq>/etc/rc.d/rc.K</sq> Para automatizarlo. <sect1> Agregar un usuario, un grupo<p>. Si posees la RedHat, utiliza el servicio de configuración, esta muy bien hecho realmente. Agregar un usuario se hace en dos partes y rápidamente : Dos archivos son importantes <tt>/etc/passwd</tt> y <tt>/etc/group</tt>. Una linea del archivo passwd esta compuesta de esta manera : <verb> gandalf::501:100:Eric Dumas:/home/gandalf:/bin/bash sgandalf::0:0:Super Eric Dumas:/:/bin/sh </verb> Una linea esta compuesta por 7 columnas : <enum> <item> Nombre del usuario : 8 caracteres max ; <item> Palabra de código codificada; <item> Numero de identificador único del usuario (uid). Nota : 0 = root ; <item> Numero del grupo (gid) ; <item> Nombre <sq>oficial</sq> del usuario ; <item> Home directory ; <item> Shell utilizado. </enum> El archivo <tt>/etc/group</tt> contiene la lista de los grupos de la maquina. Por ejemplo, el grupo 100 es : <verb> users::100:games,gandalf </verb> Para agregar un usuario <it>toto</it>, debes hacer : <enum> <item> Agregarlo en <tt>/etc/passwd</tt>; <item> si es necesario, crea el grupo al cual pertenecerá, modificando <tt>/etc/group</tt>; <item> crea su home directory : <verb> mkdir /home/toto cp /etc/skel/* /home/toto chown toto /home/toto chgrp le_groupe_de_toto /home/toto </verb> <item> Ahora dale una palabra código haciendo <tt>passwd toto</tt>. </enum> No te queda más por hacer que ensayar. Te aconsejo mucho mucho trabajar bajo un nombre de usuario común. Es muy peligroso trabajar siendo root. Una mala manipulación y te tocara reinstalar todo ademas de perder tus datos personales mas los de tus usuarios. <sect1> Lanzamiento de programas personales durante el arranque. /etc/rc.d/rc.local<p> Es en este archivo que vas a poner todas tus cositas personales(nt : si, soy de suramerica :-)) que quieres lanzar a cada arranque. He aquí una versión. <verb> #! /bin/sh # una limpiadita,.dale echo "Cleaning /tmp... " /bin/rm -fr /tmp mkdir /tmp chmod 1777 /tmp # NOTA : esto puede ser nefasto puesto que ciertos programas lanzados # por los archivos rc ejecutados antes del rc.local pueden utilizar archivos en /tmp # Viva el azertyuiop :-) echo "Loading french keyboard... " /usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map </verb> Lo que es importante es el teclado en francés Si tu agregas esta linea, tu teclado será francés desde el arranque. En caso de problema tienes que modificar así el fr-latin1.map : <verb> keycode 3 = eacute two asciitilde keycode 8 = egrave seven grave keycode 10 = ccedilla nine asciicircum keycode 14 = Delete BackSpace </verb> Ademas del teclado, yo limpio el directorio <tt>/tmp</tt>. Esto puede ser útil. <sect1> Ordenamiento de trabajos : la crontab<p> La crontab es una tabla que contiene los comandos que deben ser lanzados a intervalos regulares. Tu puedes poner la salvaguarda diaria, el cliente pop, etc. El formato es bastante simple : <verb> # hacer una salvaguarda todos los lunes a las 2 de la mañana 0 2 * * 1 /home/gandalf/backup # Arrancar la maquina todos 1 y 15 de cada mes a la 4:15 15 4 1,15 * * /sbin/shutdown<item>r +3 </verb> Las 5 primeras columnas son : <enum> <item> Minutos (0 a 59) ; <item> Hora (0 a 23) ; <item> Día del mes (1 a 31) ; <item> Mes (1 a 12) ; <item> Día de la semana (0 a 6 : 0 = Domingo, 1 = Lunes). </enum> En seguida viene el comando. Este crontab es muy útil si tu utilizas UUCP (para enviar el correo, recuperar las news, etc). Todo usuario puede crearse una crontab gracias al comando <tt>crontab</tt>. <sect1> Imprimir !<p> Ahora que tu maquina funciona, veamos como imprimir. Las impresoras son administradas por el programa <it>lpc</it> y el demon <it>lpd</it> El demon debe ser lanzado al arranque. Y puede ser lanzado ya sea por <tt>rc.M</tt> o por <tt>rc.inetd2</tt>. Normalmente, lpd es lanzado al arranque. (Tu debes verlo cuando son lanzados todos los demons de tu maquina. Si no es el caso, necesitas quitar los comentarios a algunas lineas en uno de los archivos citados) Supongamos que tu impresora se llame <it>betty</it>. En un primer tiempo, en el archivo <tt>/etc/rc.d/rc.local</tt>, agrega : <verb> echo "Setting up printer betty" /usr/sbin/lpc up betty </verb> Pasemos a las cosas serias. El archivo en el cual va a ser descrita tu impresora es el archivo : <tt>/etc/printcap</tt> Ej : <verb> betty|lp:lp=/dev/lp1:sd=/var/spool/lp1:sh:lf=/var/adm/lpd-errs:of=/etc/start-dj500: </verb> La primera columna representa el nombre de la impresora. Yo puse betty y lp de esta manera es mi impresora por defecto. En seguida, la configuración se hace vía palabras clave. Para mas información has un <tt>man printcap</tt>. He aquí mas sin embargo una descripción de aquellas utilizadas. <itemize> <item> lp : dispositivo al cual esta conectada la impresora (LPT1 aquí) ; <item> sd : directorio del spool de impresión ; <item> sh : suprime la pagina de encabezado; <item> lf : archivo de errores ; <item> of : programa filtro </itemize> Como funciona ? Bueno, supongamos que yo tengo un archivo toto.ps. Entonces yo hago <tt>lpr toto.ps</tt> (o <tt>lpr -Pbetty toto.ps</tt>). El archivo va ser depositado en el directorio <tt>/var/spool/lp1</tt>. El demon va en seguida enviar el archivo al programa filtro. Este sistema permite imprimir archivos con formatos varios. He aquí el archivo filtro (Para HP-500,510,520,etc). <verb> #!/bin/sh # Script de impresión para impresora HP-500 Blanco y negro # # Eric.Dumas@freenix.fr # # Versión 2.0 # # 5/01/95 (ED) : Agrega el formato dvi; # 27/10/95 (ED) : Conversión de archivos texto en archivos PostScript ; # 01/11/95 (ED) : Un poco de limpieza; # 12/08/96 (ED) : modificación para gs # 04/12/96 (ED) : algunas correcciones y complementos. TmpDir=/tmp TmpFile=$TmpDir/deskjet.$$ # Usuario a prevenir en caso de error NOTIFY=lp-owner # Programas CAT=/bin/cat DVIPS=/usr/TeX/bin/dvips PGS=/usr/bin/gs AIIPS=/usr/local/bin/a2ps # Camino de acceso para GS GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts:/usr/lib/ghostscript/Type1: /usr/lib/ghostscript/fonts # Se fue esto ! $CAT- > $TmpFile echo -ne '\033E' set -- `file $TmpFile` shift FileType=$* # Transformación del PostScript al formato Deskjet500 # resolución a 300x300<item> formato a4 GS="$PGS -I$GS_LIB -q -sDEVICE=djet500 -r300x300 -sPAPERSIZE=a4 -dNOPAUSE - sOutputFile=- - /usr/lib/ghostscript/quit.ps || echo -ne '\033&10H'" case $FileType in *DVI*) # Fichier DVI $DVIPS -t a4 $TmpFile \ -f | $GS ;; *PostScript*) # Impresión de archivos Postscript $CAT $TmpFile | $GS ;; *text*|*script*) $CAT $TmpFile | $AIIPS -nP -r -8 | $GS ;; *data*) echo -ne '\033&;k0G' # Es un y comercial sin ; ! /bin/cat $TmpFile ;; *) echo "Deskjet: Unknow filetype $FileType" >> /dev/console echo "Deskjet: $TmpFile Unknow filetype $FileType " | mail $NOTIFY ;; esac /bin/rm -f $ TmpFile echo -ne '\033E' </verb> Este script permite imprimir los archivos texto así como los archivos Postscript, dvi. Si tu quieres imprimir otro tipo de archivo, solo agrégalo aquí. Gracias por enviarme las modificaciones : esto permitirá que todo el mundo pueda aprovecharlo. <sect1> Timezone<p> Timezone es un sistema muy útil que permite la administración del cambio de hora de invierno y de verano. Francia se encuentra en una zona horaria : MET (Medium European Time, o sea GMT +1). La zona <sq>MET DST</sq> corresponde a la hora de verano activa (GMT+2) Lo mejor es no dejar todo eso a cargo de la única variable TZ. <p> Ve al directorio <tt>/usr/lib/zoneinfo</tt> y te aconsejo leerte el archivo time.doc. Los archivos binarios que se encuentran en /usr/lib/zoneinfo indican las reglas de calculo de la hora en las diferentes zonas del globo. Copia el archivo <sq>MET</sq> bajo el nombre <tt>/usr/lib/zoneinfo/localtime</tt>, haz un enlace simbólico de este archivo sobre <tt>/usr/lib/zoneinfo/posixrules</tt>. Comandos : <verb> # cd /usr/lib/zoneinfo # cp MET localtime # ln -sf localtime posixrules </verb> Utiliza en seguida el comando <tt/clock/ para poner el sistema a la buena hora. Dos posibilidades : <itemize> <item> La maquine tiene la hora GMT. <item> La maquina tiene la hora local. </itemize> La primera solución es preferible, pero MS-DOS no utiliza correctamente esta idea (:-)). La hora no funcionara en este sistema. En cambio todos los cambios de hora, dos veces por ano, serán tomados en cuenta por <bf/Linux/. En este caso, tu debes agregar en <tt>/etc/rc.d/rc.local</tt> el siguiente comando : <tt>clock -u -s</tt> <bf/Linux/ se ajustara sobre la hora salvaguardada. Si la CMOS esta a la hora local, el comando en <tt>/etc/rc.d/rc.local</tt> es : <tt>clock -s</tt> y los cambios de hora solo serán automáticos si la maquina esta prendida al momento del cambio de hora. Te toca a ti escribir la nueva hora en la CMOS manualmente, haciendo <tt>clock -w</tt> o poniendo la hora con el setup. El comando <tt>date</tt> permite verificar la validez de la hora : da la hora y timezone <tt>date -u</tt> da siempre la hora en GMT : <verb> plux:/home/rene $ date Tue Sep 28 20:16:46 MET 1993 plux:/home/rene $ date -u Tue Sep 28 19:16:49 GMT 1993 </verb> (En verano, <sq>MET DST</sq> (Daylight Savings Time) seria indicado). <sect1> Nuevos cambios de hora<p> Parece que este año, la fecha del cambio de hora a sido desplazada. Para que <bf/Linux/ no se enrede, es necesario hacer ciertas modificaciones. La manipulación se basa en la utilización del programa <tt>zic</tt>, el <em>time zone compiler</em>. En un fichero llamado <tt>europa</tt>, pon : <verb> Zone MET 1:00 M-Eur MET%s Link localtime MET Rule M-Eur 1986 max - Mar lastSun 2:00s 1:00 " DST" Rule M-Eur 1986 1995 - Sep lastSun 2:00s 0 - Rule M-Eur 1996 max - Oct lastSun 2:00s 0 </verb> Para poner todo en su lugar, lanza la instrucción : <verb> gandalf# zic europe </verb> Para verificar que todo esta bien, debes obtener el resultado siguiente : <verb> gandalf# zdump -v MET | grep 1996 MET Mon Nov 11 12:29:02 1996 MET MET Sun Mar 31 00:59:59 1996 GMT = Sun Mar 31 01:59:59 1996 MET isdst=0 MET Sun Mar 31 01:00:00 1996 GMT = Sun Mar 31 03:00:00 1996 MET DST isdst=1 MET Sun Oct 27 00:59:59 1996 GMT = Sun Oct 27 02:59:59 1996 MET DST isdst=1 MET Sun Oct 27 01:00:00 1996 GMT = Sun Oct 27 02:00:00 1996 MET isdst=0 </verb> <sect1> locate<p> Cuando instalas el paquete GNU <sq>find</sq>, ademas del programa de búsqueda se encuentra un programa de localización <tt>locate</tt>. Este programa permite encontrar el nombre completo de un archivo. El programa se encuentra en ciertas distribuciones en <tt>/usr/lib/locate</tt>. Lanzar, siendo root,<tt>/usr/lib/locate/updatedb</tt>. Esto llama un <tt>find ~/</tt> sobre los discos montados y coloca los nombres de todos los archivos (bajo la forma hash) en <tt>/usr/lib/locate/find.codes</tt>. El programa locate permite localizar luego uno de estos archivos. Nota: cuando lances este programa, piensa en desmontar las particiones de MS-DOS y tu CD/ROM ! Otra solución bastante agradable consiste en insertar en la <it>crontab</it> la linea <tt>updatedb --prunepaths='/tmp /usr/tmp /var/tmp /proc /users /root /dos /mnt /var/adm /var/spool /var/catman /home '</tt> Este comando realiza la actualización del árbol sin los archivos temporales, el árbol del usuario, la partición dos, etc. Es aconsejable excluir las particiones "HOMES" usuarios. En efecto, estas particiones contienen normalmente numerosos archivos. Pero el problema mayor es seguramente un problema de seguridad, porque todos los usuarios pueden conocer los nombres de los archivos de sus vecinos. <sect1> Un segundo controlador IDE<p> En este caso, es necesario que crees los dispositivos en <tt>/dev </tt>. Lanza <it>MAKEDEV.ide1</it> en el repertorio <tt>/usr/src/linux/drivers/block</tt>. Luego, es suficiente hacer un <tt>fdisk /dev/hdc</tt> por ejemplo. <sect1> CDROM ATAPI<p> Bueno, los cdrom en general no presentan muchos problemas, salvo los ATAPI. En efecto, el CD esta manejado sobre un segundo controlador disco. Procedamos en orden: <enum> <item> Recompilas el núcleo con la opción CD ATAPI IDE y el soporte del sistema de archivos iso9660. <item> Vas al repertorio <tt>/usr/src/linux/drivers/block</tt>. Hay un script que se llama <it>MAKEDEV.ide1</it>. Lo lanzas. Este script va a crear los dispositivos necesarios para tu segundo controlador de disco. <item> Haces un reboot. A nivel de LILO, tecleas: <tt><bf/Linux/ hdd=cdrom</tt>. Atencion : aquí estas en qwerty. <item> Creas un enlace simbólico entre <tt>/dev/hdd</tt> (o hdc) y <tt>/dev/cdrom</tt>. Por ej : <tt>ln -s /dev/hdd /dev/cdrom</tt>. <item> Creas el repertorio <tt>/cdrom</tt> y tecleas : <tt>mount -t iso9660 -o ro /dev/cdrom /cdrom</tt>. Normalemente, tu CD esta montado! ( nt : <tt>/mnt/cdrom</tt> puede ser un buen remplazo de <tt>/cdrom</tt>) </enum> <p>Si tienes problemas debes ensayar : <enum> <item> configurar el lector en modo EIDE <sq>master</sq>; <item> dejar un CD cargado durante el arranque; <item> arrancar, esperar un momento y luego re-arrancar <sq>caliente</sq> (o sea sin accionar ni reset ni apagar la maquina : unicamente con Ctr-Alt-Del) para que el lector tenga tiempo de sacudirse. </enum> <sect1> Poner una consola externa como consola<p> Algunos usuarios pueden querer poner como consola un minitel o un viejo vt100 que no pasa sobre la tarjeta de video sino sobre el puerto serie. Solo hace falta agregar en el fichero <tt>lilo.conf</tt> la siguiente linea: <verb> append ="scon=0x03f8 serial=0,9600n8" </verb> <sect1> Dos tarjetas de red<p> Ciertas maquinas poseen dos (o más) tarjetas Ethernet. Para que las dos sean reconocidas, es necesario agregar en la configuración de Lilo : <verb> append="ether=0,0,eth1" </verb> <sect1> Los archivos de inicialización de los interpretadores de comandos<p> Aquí esta la descripción de los archivos que se cargan después de la conexión de un usuario. El nombre de o de los archivos es especifico del interpretador de comandos utilizado. En el caso de <tt>bash</tt>, es un poco complicado. Según la pagina del manual de <tt>bash</tt>, y luego de una conexión interactiva, ejecuta: <itemize> <item> <tt>/etc/profile</tt> si existe; <item> <tt>~/.bash_profile</tt> si existe, si no <tt>~/.bash_login</tt> si existe, si no <tt>~/.profile si existe</tt> ; (nt : <tt>~</tt> representa tu <tt>/home/nombre_de_usuario</tt>) <item> ~/.bashrc si existe. </itemize> En el caso en que <tt>bash</tt> es llamado como <tt>sh</tt>, solo ejecuta los archivos <tt>/etc/profile</tt> y <tt>~/.profile</tt> si existen. En el caso de <tt>ksh</tt>, la pagina del manual es menos precisa pero un estudio rápido del código inicial muestra que: <itemize> <item> <tt>/etc/profile</tt> es ejecutado si existe; <item> <tt>~/.profile</tt> es ejecutado si existe, si el numero del usuario efectivo es idéntico al numero del usuario real y si el numero del grupo efectivo es igual al numero del grupo real; <item> <tt>/etc/suid_profile</tt> es ejecutado si existe, si los números del usuario efectivo y real difieren o si los números de los grupos efectivos y reales difieren; <item> finalmente, si la variable <tt>ENV</tt> esta posicionada, el archivo cuyo nombre esta contenido en <tt>"$ENV</tt> es ejecutado, si existe. </itemize> Finalmente, para completar lo de los interpretadores de comandos compatibles con el Bourne Shell, citemos el caso de <tt>zsh</tt> que ejecuta: <itemize> <item> <tt>/etc/zshenv</tt> si existe, <item> <tt>~/.zshenv</tt> (o <tt>"$ZDOTDIR/.zshenv</tt> si ZDOTDIR esta posicionado) si existe, <item> <tt>/etc/zprofile</tt> si existe, <item> <tt>~/.zprofile</tt> (o <tt>"$ZDOTDIR/.zprofile</tt>) si existe, <item> <tt>/etc/zshrc</tt> si existe, <item> <tt>~/.zshrc</tt> (o <tt>"$ZDOTDIR/.zshrc</tt>) si existe. </itemize> En el caso de <tt>csh</tt> (o mas bien tcsh) : <itemize> <item> <tt>/etc/csh.cshrc</tt> es ejecutado si existe, <item> <tt>/etc/csh.login</tt> es ejecutado si existe, <item> <tt>~/.tcshrc</tt> es ejecutado si existe, si no <tt>~/.cshrc</tt> es ejecutado si existe, <item> <tt>~/.history</tt> (o el contenido de la variable histfile) es cargado en memoria si existe, <item> <tt>~/.login</tt> es ejecutado si existe, <item> <tt>~/.cshdirs</tt> (o el contenido de la variable dirsfile) es cargado en memoria si existe. </itemize> <sect1> Los archivos de seguridad (salvaguardas) bajo <bf/Linux/<p> Como todo sistema UNIX, <bf/Linux/ provee las herramientas standard para realizar los archivos de seguridad de los discos. Dos tipos de herramientas principales son actualmente utilizadas. <sect2> dump y restore<p> Las herramientas <tt>dump</tt> y <tt>restore</tt> fueron puestas bajo <bf/Linux/ por Remy Card. Actualmente, no se proveen en la Slackware. Las fuentes se deben recuperar entonces en <verb> ftp.ibp.fr:/pub/linux/tsx-11/packages/ext2 </verb> Una vez que las fuentes han sido compiladas e instaladas, la utilización de dump y restore es relativamente simple. Para realizar la salvaguarda de una partición <tt>/dev/sda1</tt> sur <tt>/dev/rmt0</tt>, por ejemplo es suficiente hacer: <verb> gandalf# dump 0sfu 3600 /dev/rmt0 /dev/sda1 gandalf# dump 0sfu ondee: /dev/rmt0 /dev/sda1 </verb> El segundo comando permite salvaguardar un disco sobre un dispositivo distante (por ejemplo situado aquí sobre la maquina <sq>ondee</sq>). Las opciones de dump pueden parecer complejas. A continuación damos una corta descripción: <itemize> <item> 0 a 9 : nivel de salvaguarda. 0 corresponde a una salvaguarda completa, mientras que los otros niveles n corresponden a la salvaguarda de archivos que fueron modificados desde la enésima salvaguarda; <item> s : tamaño de la banda en pies; <item> f : archivo puede estar compuesto de <tt>maquina:archivo</tt>; <item> u : escritura de la fecha y del nivel de salvaguarda en el archivo <tt>/etc/dumpdates</tt>. </itemize> Existen otras opciones. Para mayor información, consulta las paginas del manual. Existen dos maneras de efectuar una restauración : en linea de comando o en modo llamado <sq> interactivo </sq>. El segundo modo es mas simple para las restauraciones parciales. El primero es sobre todo utilizado para las restauraciones completas. Para restaurar la banda en modo interactivo es suficiente hacer: <verb> gandalf# restore -if /dev/rmt0 gandalf# restore -if ondee:/dev/rmt0 </verb> En este caso, un mimi-interpretador de comandos es lanzado. Utiliza el comando <em>help</em> para mas detalles. Para restaurar completamente una banda, lanza: <verb> gandalf# restore rf /dev/rmt0 </verb> Nota importante: para la utilización de dump y restore a través de una red (salvaguarda sobre dispositivos distantes), debes utilizar los archivos <tt>.rhosts</tt>. En el siguiente ejemplo de salvaguarda, la maquina <sq>ondee</sq> debe tener: <verb> #cat ~root/.rhosts gandalf # </verb> El uso de dispositivos distantes necesita igualmente la presencia de un programa <tt>rmt</tt> sobre la maquina que maneja los dispositivos de salvaguarda. Este programa esta incluido en la distribución fuente de dump para <bf/Linux/. <sect2> tar<p> A diferencia de dump o restore, tar permite salvaguardar los archivos deseados, excluir ciertos repertorios, etc. Es necesario notar que el tar utilizado bajo <bf/Linux/ es el tar GNU. Este posee ciertas opciones particulares. Para conocer todas las opciones posibles, te aconsejo hacer <tt>tar --help</tt>. Una utilización simple de tar puede ilustrarse con la salvaguarda de una partición de usuarios: <verb> # tar cvf /dev/rmt0 /users | mail backup-user </verb> La lista de archivos será así enviada al usuario <em>backup-user</em>. Ciertos sitios utilizan <tt>tar</tt> exclusivamente para efectuar sus salvaguardas, cada cual escoge. . <sect1> Num Lock al arranque<p> Para configurar la tecla Num Lock al arranque (por ejemplo para que ella se encienda) solo tienes que poner en tu <tt>/etc/rc.d/rc.local</tt> <verb> for tty in /dev/tty[1-9]*; do setleds -D +num < $tty > /dev/null done </verb> <sect1> Los archivos core<p> Ciertos programadores adoran explotar el contenido de los archivos <tt>core</tt>. Pero en <bf/Linux/, estan desactivados por defecto. Para poder generarlos debes introducir : <tt>ulimit -c unlimited</tt> <sect1> Accounting - lastcomm<p> El sistema de accounting esta implementado en <bf/Linux/ (pero ... yo nunca lo he ensayado porque es un poco Big Brother is Watching You). Normalmente debes compilar el paquete acct-1.3.73.tar.gz y seguir las instrucciones que son dadas ahí. Lo puedes encontrar en : <tt>ftp.ibp.fr:/pub/linux/sunsite/system/Admin/accounts</tt> y en <tt>ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting/</tt> Ten cuidado pues debes tener un núcleo 1.3.* o uno 2.0.* He aquí el resultado : <verb> # lastcomm | more Command Flags User Tty PagFlt Time Endtime clear - merlin ttyp2 85 0.00 secs Tue Aug 6 13:26:07 in.identd - root __ 100 0.00 secs Tue Aug 6 13:23:23 color-ls - merlin ttyp2 121 0.01 secs Tue Aug 6 13:23:02 telnet - merlin ttyp2 142 2.77 secs Tue Aug 6 13:23:01 Pnews F merlin ttyp3 33 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 132 0.02 secs Tue Aug 6 13:22:15 Pnews F merlin ttyp3 34 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 145 0.02 secs Tue Aug 6 13:22:15 cat - merlin ttyp3 80 0.01 secs Tue Aug 6 13:22:13 Pnews F merlin ttyp3 29 0.00 secs Tue Aug 6 13:22:13 </verb> Hay que tener cuidado puesto que este sistema tiene tendencia a tomar mucho lugar. La solución para resolver este proclame es lanzar el sistema de accounting de esta manera : <verb> # Lanzamiento del accounting accton /var/log/acct accttrim -n 2000 /var/log/acct 2> /dev/null </verb> <sect> X Window<p> Ahora que todo funciona bien, pasamos a otro gran pedazo : la instalación de X Window. Para poder utilizar X Window, es necesario tener una configuración razonable (al menos 8Mo de memoria). En caso contrario, la maquina será muy lenta: se va a pasar el tiempo en <sq>swapping</sq>. En un primer tiempo, instala con la ayuda de tu distribución el servidor que corresponda mejor a tu carta gráfica. <sect1> XF86Config<p> El problema con X Window, es configurar el archivo. Se trata del archivo <tt>XF86Config</tt>. Cuidado: este archivo es fuertemente diferente de la versión antigua de XFree86 2. Se trata aquí de un servidor XFree86 3.2, basado en X11R6. Antes de comenzar a construir tu archivo, lanza el programa <tt>SuperProbe</tt>. En mi caso, esto me permite obtener las siguientes informaciones. (Si yo se que es una tarjeta video super vieja... pero bueno, hay le damos con lo que tenemos !) : <verb> First video: Super-VGA Chipset: Cirrus CL-GD5428 Memory: 1024 Kbytes RAMDAC: Cirrus Logic Built-in 15/16/24-bit DAC (with 6-bit wide lookup tables (or in 6-bit mode)) </verb> Ahora, sigue lo mas duro : construir el archivo de configuración. Atención: en ciertas distribuciones, el archivo XF86config esta en el repertorio <tt>/etc</tt>, lo cual es una buena idea en el caso de una red de estaciones <bf/Linux/ que comparten <tt>/usr</tt> por NFS. Si utilizas una o varias maquinas independientes, puedes suprimir <tt>/etc/XF86config</tt> y utilizar <tt>/usr/X11R6/lib/X11/XF86Config</tt>. Este archivo se presenta en forma de secciones. He aquí una descripción: <itemize> <item> Archivos <verb> Secction "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/xtel/" EndSection </verb> En esta sección no tienes gran cosa que modificar. Agregas o suprimes los caminos de las fonts y la lista de colores RGB. <item> Opciones para el servidor: <verb> Section "ServerFlags" EndSection </verb> En mi caso, esta vacía... <item> Teclado <verb> Section "Keyboard" Protocol "Standard" # AutoRepeat 500 5 ServerNumLock # Para esto, ver mas abajo LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLock </verb> <item> El ratón: <verb> Section "Pointer" # para el protocolo, utiliza MouseMan, MouseSystems, Logitech o Microsoft Protocol "MouseMan" # Dispositivo a utilizar Device "/dev/mouse" BaudRate 1200 # Emulación 3 botones : el click sobre los 2 botones # simulan el botón del medio... para los ratones con dos botones. Emulate3Buttons # ChordMiddle is an option for some 3-button Logitech mice # ChordMiddle EndSection </verb> <item> El monitor. Se trata de detallar las características de tu monitor. Aquí esta el que ocupa el desk :-). Los archivos situados en el repertorio <tt/doc/ contienen las características de varios tipos de pantallas. Es muy probable que encuentres el tuyo. <verb> Section "Monitor" Identifier "Sync3N" VendorName "Samsung" ModelName "3N" # Frequences : Bandwidth 25.2 HorizSync 31.5-80 VertRefresh 60-90 # Los modos en los cuales tu pantalla puede trabajar. Modeline "800x600" 40 800 840 968 1056 600 601 605 628 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 Modeline "1024x768i" 45 1024 1040 1216 1264 768 768 778 819 interlace Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 EndSection </verb> <item> la tarjeta gráfica <verb> Section <sq>"Device" # Bla bla bla Identifier "CartePerso" VendorName "Cirrus" # Nombre de la tarjeta BoardName "clgd5428" #memoria video VideoRam 1024 # nombre del chip Chipset "clgd5428" # clocks del reloj. Clocks 25.23 28.32 41.16 36.08 31.50 39.99 45.08 49.87 Clocks 64.98 72.16 75.00 80.01 85.23 EndSection </verb> <item> Finalmente, reunimos todo: la sección pantalla: <verb> Section "Screen" Driver "svga" # Referencias a otras secciones. Device "CartePerso" Monitor "Sync3N" # El display utilizado Subsection "Display" Depth 8 # 256 colores max # Modos por prioridad : de izquierda a derecha Modes "1024x768" "800x600" "640x480" ViewPort 0 0 # Resolucion virtual Virtual 1024 768 option "linear" EndSubsection EndSection </verb> Si tu carta lo permite, puedes agregar otras subsecciones para el display: <verb> Subsection "Display" Depth 32 Modes "640x480" ViewPort 0 0 Virtual 800 600 EndSubsection </verb> En este caso, tu servidor funcionara en 16 millones de colores. </itemize> La configuración del servidor X puede ser muy rápida (funciona inmediatamente), o muy larga. En el segundo caso, te doy algunos consejos: <enum> <item> Lee la documentación que se encuentra en <tt>./doc</tt>. Un buen numero de pantallas y de tarjetas están descritas con los relojes que se deben utilizar. <item> Empieza con una resolución baja (640x480) : es mas simple. <item> Si necesitas los clocks de tu carta, lanza <tt>startx 2>/tmp/err</tt>. En el archivo <tt>/tmp/err</tt> van a estar todos los mensajes del servidor, entre ellos el chip de tu carta y sus clocks. La única cosa que te va a faltar por configurar, es tu pantalla. <item> Lee el <sq>Video HOWTO</sq>, escrito por J.M. Vansteene y disponible sobre <tt>ftp.ibp.fr</tt> en el repertorio <tt>/pub/linux/french/docs/HOWTO</tt>. <item>utiliza el programa <tt>xvidtune</tt> : permite <sq>afinar</sq> la imagen (centrarla, etc). Por ejemplo, yo tenia una tembladera : con este programa, pude resolver el problema. </enum> <sect1> Teclado francés bajo X : Xmodmap<p> Pasamos ahora al teclado francés bajo X Window. Como XFree fue concebido por personas que utilizan teclados americanos (qwertyiop), la configuración del teclado puede parecer bastante complicada. Te recomiendo seguir lo que sigue... Primero, debes tener en el archivo XF86Config las siguientes opciones: <verb> LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLock </verb> Luego, pones el siguiente archivo en el repertorio <tt>/usr/X11R6/lib/X11/xinit</tt>. Debe llamarse <tt>.Xmodmap</tt>. El archivo que sigue fue hecho por Rene Cougnenc. Hoy en dia es el que yo utilizo. y pienso que es dificil hacer algo mejor. Funciona bajo XFree86 3.2. <verb> ! teclado francés AZERTYUIOP para XFree86 3.2 ! ! Los acentos circunflejos de las principales vocales se obtienen con ! la tecla Mode_switch (ALT_GR). ! ! Los dos puntos se obtienen con ALT_GR + SHIFT, sobre 'e', 'i', 'o', y 'u'. ! ! Esperemos que un día podremos obtener el teclado francés standard sobre ! el cual todo el mundo aprenda a teclear... !<item>---------------------------------------------------------------------- ! keycode 9 = Escape keycode 10 = ampersand 1 keycode 11 = eacute 2 asciitilde keycode 12 = quotedbl 3 numbersign keycode 13 = apostrophe 4 braceleft keycode 14 = parenleft 5 bracketleft keycode 15 = minus 6 bar keycode 16 = egrave 7 grave keycode 17 = underscore 8 backslash keycode 18 = ccedilla 9 asciicircum keycode 19 = agrave 0 at keycode 20 = parenright degree bracketright keycode 21 = equal plus braceright keycode 22 = BackSpace keycode 23 = Tab keycode 24 = a A acircumflex keycode 25 = Z keycode 26 = e E ecircumflex ediaeresis keycode 27 = R keycode 28 = T keycode 29 = Y keycode 30 = u U ucircumflex udiaeresis keycode 31 = i I icircumflex idiaeresis keycode 32 = o O ocircumflex keycode 33 = P keycode 34 = dead_circumflex dead_diaeresis keycode 35 = dollar sterling keycode 36 = Return keycode 37 = Control_L keycode 38 = Q keycode 39 = S keycode 40 = D keycode 41 = F keycode 42 = G keycode 43 = H keycode 44 = J keycode 45 = K keycode 46 = L keycode 47 = M keycode 48 = ugrave percent keycode 49 = guillemotleft guillemotright keycode 50 = Shift_L keycode 51 = asterisk mu keycode 52 = W keycode 53 = X keycode 54 = C keycode 55 = V keycode 56 = B keycode 57 = N keycode 58 = comma question keycode 59 = semicolon period keycode 60 = colon slash keycode 61 = exclam slash keycode 62 = Shift_R keycode 63 = asterisk keycode 64 = Alt_L keycode 65 = space keycode 66 = Caps_Lock keycode 67 = F1 keycode 68 = F2 keycode 69 = F3 keycode 70 = F4 keycode 71 = F5 keycode 72 = F6 keycode 73 = F7 keycode 74 = F8 keycode 75 = F9 keycode 76 = F10 keycode 77 = Num_Lock keycode 78 = Scroll_Lock keycode 79 = 7 keycode 80 = 8 keycode 81 = 9 keycode 82 = KP_Subtract keycode 83 = 4 keycode 84 = 5 keycode 85 = 6 keycode 86 = KP_Add keycode 87 = 1 keycode 88 = 2 keycode 89 = 3 keycode 90 = 0 keycode 91 = period keycode 92 = 0x1007ff00 keycode 93 = keycode 94 = less greater keycode 95 = F11 keycode 96 = F12 keycode 97 = Home keycode 98 = Up keycode 99 = Prior keycode 100 = Left keycode 101 = Begin keycode 102 = Right keycode 103 = End keycode 104 = Down keycode 105 = Next keycode 106 = Insert keycode 107 = Delete keycode 108 = KP_Enter keycode 109 = Control_R keycode 110 = Pause keycode 111 = Print keycode 112 = KP_Divide keycode 113 = Mode_switch keycode 114 = Break ! Nuevos valores para el teclado numérico a partir de XFree 3.1.1 !keycode 147 = Home !keycode 148 = Up !keycode 149 = Prior !keycode 150 = Left !keycode 152 = Right !keycode 153 = End !keycode 154 = Down !keycode 155 = Next !keycode 156 = Insert !keycode 157 = Delete !keycode 136 = 7 !keycode 137 = 8 !keycode 138 = 9 keycode 82 = KP_Subtract !keycode 139 = 4 !keycode 140 = 5 !keycode 141 = 6 !keycode 86 = KP_Add !keycode 142 = 1 !keycode 143 = 2 !keycode 144 = 3 !keycode 145 = 0 !keycode 146 = period !----------------------------------------------------------------------- </verb> Los caracteres <sq> y </sq> se obtienen respectivamente presionando la tecla donde hay un un dos pequeño para <sq> y Shift + dos para </sq>. <sect1> Teclado francés bajo X... 2da posibilidad<p> Nota: Personalmente, utilizo la primera solución sin ningún problema... Si llegas a tener algún problema, ensaya esta otra. Esta solución viene de Michel Billaud. Bueno, partimos de la constatación de que las teclas acento grave (ALT-4) y acento agudo (ALT 7) son difíciles de utilizar : si son mudas hay que doblarlas la mayor parte del tiempo, si no lo son no se pueden acentuar las E A U etc. Entonces, es necesario que ALT 4 y ALT 7 produzcan verdaderos acentos agudos y apóstrofes. De todas formas, nos hacen falta teclas mudas (además). Será necesario modificar el <sq>map</sq> del teclado. Entonces se debe hacer: <itemize> <item> ALT 4 = acento agudo en duro <item> ALT 7 = acento grave en duro <item> ALT 9 = circunflejo en duro <item> ALT ^ = acento agudo <item> ALT u = acento grave </itemize> En el repertorio <tt>/usr/lib/kbd/keytables.map</tt>, copia <tt>fr-lat1.map</tt> bajo otro nombre (<tt>tuteclado.map</tt>). Lanza <tt>showkey</tt> para ver el numero de las teclas concernidas, en orden : 5 8 10 26 y 40. Luego edita <tt>tuteclado.map</tt> para hacer las modificaciones. Para hacer un test, haz <tt>loadkeys tuteclado.map</tt>. Cuando estés seguro que todo funciona correctamente, modifica <tt>/etc/rc.d/rc.keymap</tt> para que cargue <it>tuteclado.map</it> y escribir sobre tu teclado con un lápiz y no con tinta ... :-) También se puede poner una <sq>tilde muda</sq> en el 2 superior y una <sq>tilde dura</sq> (indispensable para un shellista) en ALT-2. <sect1> xdm<p> Para arrancar directamente con X Window (<tt/xdm/), tienes que modificar el archivo <tt>/etc/inittab</tt> y cambiar la linea que contiene <tt>initdefault</tt>. Por ejemplo en mi maquina solo tengo que remplazar : <verb> id:5:initdefault: #id:6:initdefault: </verb> por <verb> #id:5:initdefault: id:6:initdefault: </verb> Pero cuidado ! Ciertas distribuciones utilizan el nivel 6 para rearrancar. Lo mas simple es mirar en el repertorio <tt>/etc/rc.d</tt> si el archivo <tt>rc.6</tt> lanza el <em>xdm</em>. Para lanzar <tt>xdm</tt> en 16 o 32 bits, hay que modificar el archivo <tt>/usr/X11/lib/X11/xdm</tt> y poner : <verb> :0 local /usr/X11/bin/X -bpp 16 (o 32) </verb> <sect1> Como arrancar varias sesiones X ?<p> Para poder arrancar varias sesiones X en diferentes consolas sin tener que especificar el <sq>display</sq> a utilizar, agrega al fin del archivo startx : <verb> CONSOLE=`tty` CONSOLE=`basename $CONSOLE` CONSOLE=`echo $CONSOLE | sed s/tty//` CONSOLE=`expr $CONSOLE<item> 1` echo <sq>Starting X on display <sq>$CONSOLE exec xinit $clientargs -- $serverargs :$CONSOLE </verb> <sect1> Como recuperar los errores en la consola ?<p> Es común que los errores salgan en la ventana virtual texto a partir de la cual tu as lanzado el servidor. Una solución consiste en lanzar el servidor de esta manera : <verb> xinit > /dev/console 2>&1 </verb> Si utilizas la Slackware, solo tienes que editar el script <tt>startx</tt> y remplazar la linea : <verb> exec xinit $clientargs -- $serverargs </verb> por <verb> exec xinit $clientargs -- $serverargs >/dev/console 2>&1 </verb> <sect1> XFree y XInput<p> A partir de la versión XFree 3.1.2B, el servidor X de XFree86 soporta la extensión Xinput. Esta extensión permite emplear simultáneamente varios dispositivos de entrada. En Xfree86, hay 3 por el momento : <itemize> <item> una mesa Wacom o compatible con el protocolo wacom IV ; <item> una pantalla táctil Elographics ; <item> un joystick. </itemize> Los pilotos para estos dispositivos son cargados dinamicamente en el servidor a partir de la versión 3.1.2D agregando las siguientes lineas al archivo XF86Config : <verb> Section "Module" Load "xf86Wacom.so" Load "xf86Elo.so" Load "xf86Jstk.so" EndSection </verb> Xfree busca los módulos en un repertorio predefinido : <tt>/usr/X11R6/lib/modules</tt> o en un camino especificado en la sección <sq>Files</sq> : <verb> Section "Files" ModulePath "/usr/X11R6/lib/,/usr/X11R6/lib/modules/" ModulePath "/usr/X11R6/bin" EndSection </verb> El ModulePath debe ser especificado antes de la sección <sq>Module</sq> para funcionar Cada dispositivo posee su propia sub-sección de configuración. Consultar la pagina del manual de XF86Config para mas detalles. Un dispositivo se activa solamente si posee una sub-sección. El siguiente ejemplo activa un joystick y una mesa : <verb> Section "XInput" SubSection "Joystick" Port "/dev/js0" Timeout 20 MinimumXPosition 28 MaximumXPosition 1206 MinimumYPosition 27 MaximumYPosition 1239 Delta 20 EndSubsection SubSection "WacomStylus" Port "/dev/ttyS2" EndSubsection EndSection </verb> En seguida el servidor puede emitir los eventos extendidos o bien bascular un dispositivo en <em>core pointer</em>. Dos programas existen para manipular los dispositivos extendidos : <itemize> <item> <tt>xsetpointer</tt> bascula un dispositivo en core pointer o lista los dispositivos; <item> <tt>xsetmode</tt> pasa un dispositivo en absoluto o en relativo. Tienes que cambiar el modo de un dispositivo antes de hacerlo bascular en core pointer. </itemize> <sect1> Un problema bastante corriente<p> Una pregunta que hacen muy seguido : Yo no se porque bajo Xfree86, <it>a veces no puedo mover las ventanas, no tengo acceso a los botones ni a los menús (salvo aquellos de las ventanas sistemas)?</it>. La solución es muy simple : desbloquear <sq>Scroll Lock</sq> ! <sect> Seguridad<p> <sect1>X Window : el archivo .Xauthority<p> El archivo <tt>.Xauthority</tt> es generado por el programa <tt>xauth</tt>. Se trata de un sistema de autenticación para las aplicaciones gráficas. Esto permite evitar que otras personas envíen imágenes, otras ventanas en tu pantalla - pero igualmente que otras personas puedan <sq>ver</sq> lo que hay en tu pantalla. El principio es dar una clave de identificación, en hexadecimal con un numero par de caracteres. Lanza <tt>xauth</tt> y haz : <verb> add MaMachine:0 MIT-MAGIC-COOKIE-1 MiCodigo add MaMachine/unix:0 MIT-MAGIC-COOKIE-1 MiCodigo </verb> Para la maquina, es en realidad <sq><tt>hostname:NoDisplay</tt></sq>. Una vez lanzado, tu servidor X prohibe toda conexión, salvo si la aplicación : <itemize> <item> es ejecutada en una maquina referenciada; <item> posee el código. </itemize> Tu puedes desactivar el sistema para ciertas maquinas con un <tt>xhost +toto</tt> por ejemplo. Nota : ciertas versiones obligan lanzar el servidor X con el comando : <verb> xinit -- -auth $HOME/.Xauthority </verb> <sect1>X Window : control de la sesión<p> Solo <tt>xdm</tt> asegura un control de sección X Window correcto. La directiva <tt>DontZap</tt>, en la sección <tt>ServerFlags</tt> del archivo de configuración de Xfree86 limita las posibilidades de equivocarse. Para prohibirle, a los malintencionados, la utilización de las teclas de <sq>bascula</sq> de las consolas virtuales (Alt-F1, ALT-F2 ...) solo tienes que poner en <tt>/etc/profile</tt> la linea siguiente : <verb> alias x='(startx >/dev/null &);clear;logout' </verb> Y luego invocar <tt>x</tt> en lugar de <tt>startx</tt>. <sect1> Problemas de seguridad<p> La distribución Slackware contiene ciertas fallas. Tu puedes consultar la lista en la siguiente dirección : <verb> http://bach.cis.temple.edu/pub/linux/linux-security/ </verb> <bf/Linux/ es, de manera general, muy solido porque toda falla descubierta es inmediatamente referenciada y corregida...Es la ventaja de las fuentes publicas. Mas sin embargo, ciertas fallas importantes existen en las distribuciones y es muy importante corregirlas. Un documento WEB propone una lista de problemas : <verb> http://bach.cis.temple.edu/pub/linux/linux-security/<bf/Linux/-Security-FAQ/ </verb> <sect1> Protección de la maquina contra el exterior<p> Una solución para evitar las conexiones externas es utilizar TCP/Wrappers. Es muy muy recomendado recompilarlo ! La instalación es bastante intuitiva. En resumen, solo necesitas indicar el nombre de las maquinas autorizadas en el archivo <tt>/etc/hosts.allow</tt> y las maquinas prohibidas en <tt>/etc/hosts.deny</tt>. Puedes permitir el envío de correo cuando una maquina intente conectarse aunque haga parte de las maquinas impedidas, poniendo en el archivo <tt>/etc/hosts.deny</tt> : <verb> wu.ftpd: ALL: twist = /usr/sbin/real-daemon-dir/safe_finger -l @%h | /bin/mail -s %d-%h root </verb> (En una sola linea :-)). Si quieres mas detalles, puedes leer el siguiente documento : <tt>ftp.win.tue.nl:/pub/security/tcp_wrapper.ps.Z</tt>. <sect1> Algunos punteros<p> En Francia, el servidor <tt>ftp.urec.fr</tt> contiene numerosos utilitarios relativos a la seguridad en informática. Dos listas de difusión consagradas a la difusión de informaciones relacionadas con los problemas de seguridad bajo <bf/Linux/ : <tt>linux-security@tarsier.cv.nrao.edu</tt> y <tt>linux-alert@tarsier.cv.nrao.edu</tt> <sect> Recompilar el núcleo<p> <sect1> Pentium<p> <bf/Linux/ maneja sin ningún problema las maquinas basadas sobre procesadores Pentium. Para optimizar un poco la compilación, es suficiente especificar Pentium al momento de la recompilación del núcleo. Existe mas sin embargo un gcc especializado para Pentium, que esta en desarrollo. Consulta la pagina <tt>http://www.goof.com/pcg</tt> para mas información. [nt : Lo que sigue es lo que estaba en esta sección en la versión anterior del Guide du Rootard y me parecio que esta información merecía estar aquí, aunque sea en esta primera versión en español] A la pregunta,Existe una opción de gcc -mpentium, Laurent Chemla nos indica que la respuesta es no ! en efecto, las versiones patchees de gcc que manejan la optimizacion pentium tiene bugs, y de todas formas la optimizacion mas importante (95% de ganancia constante) que estas contienen esta presente en gcc 2.7 por defecto (alineamiento sobre 64 bits casi en todas partes). Por tanto, para un pentium, gcc 2.7 causa 15% de ganancia con respecto a las versiones anteriores. Esta ha sido constatada personalmente, yo me puedo equivocar, sin haber leído nunca esto en ninguna parte de manera oficial. Parece también, según algunos que se obtiene una ligera ganancia utilizando m386 en lugar de m486 sobre un pentium. Es posible... Lo anterior fue afirmado por un grupo de voluntarios trabajando sobre las optimizaciones de gcc para procesadores Pentium. Información adicional esta disponible sobre <tt>http://www- iss.mach.uni-karlsruhe.de/pcg/</tt>. En lo relativo al manejo optimado de los buses PCI, solamente los núcleos llamados de <sq>desarrollo</sq> lo hacen (v1.3 actualmente)... Sin embargo cuidado: estos núcleos tienen frecuentemente bugs! [Nt : fin de la antigua versión] <sect1> Compilación<p> Esta sección es inspirada de Kernel HowTo (ward@blah.tu-graz.ac.at). Los nuevos fuentes del núcleo <bf/Linux/ pueden ser recuperados sobre <tt>ftp.ibp.fr</tt> en el directorio <tt>/pub/linux/kernel/sources/v2.0</tt> para las versiones <sq>estables</sq>. Es un sitio mirror de <tt>ftp.funet.fi</tt> Existe otro directorio: <tt>v2.1</tt> : se trata de la versión de desarrollo. No aconsejo instalarla: ya que es la versión en curso de desarrollo; pueden ser estables pero es igualmente posible que estén completamente llenos de bugs. Utilizándolos, se corre el riesgo de perder datos en tu maquina. Los fuentes se instalan normalmente en el directorio <tt>/usr/src/linux</tt>. La compilación es muy simple pero algunos puntos deben ser seguidos muy escrupulosamente: <enum> <item> Tener a la mano un disquete que te permita arrancar el sistema y montar tu partición root, para que puedas retomar el control en caso de error. Haz los test necesarios para asegurarte que con ese disquete puedes rearrancar. <item> <tt>make config</tt> te va preguntar la configuración que deseas. Algunos puntos pueden parecer bastante oscuros, en este caso no los cambies. Configuremos juntos... Nota importante: este ejemplo es con el núcleo 2.0.26... por lo tanto algunos campos pueden no existir en otras versiones. <verb> # make config rm -f include/asm ( cd include ; ln -sf asm-i386 asm) /bin/sh scripts/Configure -d arch/i386/config.in </verb> Esto no tiene mayor interés : se trata de posesionar los lazos simbólicos, pero no hay que olvidarlo. <verb> * * Code maturity level options * prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?] * </verb> Esta opción permite especificar si deseas tener ciertas opciones particulares. Las opciones así propuestas pueden acarrear la inclusión de dispositivos que no han llegado a su madurez completa. Mas sin embargo si deseas utilizar los módulos cargables con <tt>kerneld</tt> responde Y. <verb> * * Loadable module support * Enable loadable module support (CONFIG_MODULES) [Y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?] Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [N/y/?] </verb> Esta parte es especifica a los módulos cargables. Si no sabe utilizarlos, es preferible colocar las opciones por defecto. Para responder a las preguntas, hay tres soluciones: ya sea la opción por defecto (letra en mayúscula) es de por si la adecuada, sino, es suficiente con darle la opción escogida. Si no sabe a que corresponde esta opción, escriba ? Una breve descripción aparecerá entonces. En este caso voy a utilizar los módulos cargables con el sistema de cargamento automático. <verb> * * General setup * Kernel math emulation (CONFIG_MATH_EMULATION) [N/y/?] Networking support (CONFIG_NET) [Y/n/?] Limit memory to low 16MB (CONFIG_MAX_16M) [N/y/?] PCI bios support (CONFIG_PCI) [N/y/?] System V IPC (CONFIG_SYSVIPC) [Y/n/?] Kernel support for a.out binaries (CONFIG_BINFMT_AOUT) [Y/m/n/?] Kernel support for ELF binaries (CONFIG_BINFMT_ELF) [Y/m/n/?] Kernel support for JAVA binaries (CONFIG_BINFMT_JAVA) [N/y/m/?] Compile kernel as ELF<item> if your GCC is ELF-GCC (CONFIG_KERNEL_ELF) [Y/n/?] Processor type (386, 486, Pentium, PPro) [486] defined CONFIG_M486 </verb> La primera opción es necesaria cuando no se dispone de un procesador aritmético. Yo aconsejo fuertemente imitar estas opciones. Claro esta, que si dispone de una maquina con PCI y diferente de 486, basta con dar las características reales de su maquina. En cuanto al formato de los ejecutables lo mejor es activar al menos los formatos ELF y a.out <verb> * * Floppy, IDE, and other block devices * Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?] Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?] </verb> Yo le pido administrar mi lector de disquetes como modulo cargable, y de manera general, yo activo el soporte IDE. <verb> * * Please see drivers/block/README.ide for help/info on IDE drives * Use old disk-only driver on primary interface (CONFIG_BLK_DEV_HD_IDE) [N/y/?] Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [N/y/?] Include IDE/ATAPI TAPE support (CONFIG_BLK_DEV_IDETAPE) [N/y/?] Support removeable IDE interfaces (PCMCIA) (CONFIG_BLK_DEV_IDE_PCMCIA)[N/y/?] CMD640 chipset bugfix/support (CONFIG_BLK_DEV_CMD640) [Y/n/?] Other IDE chipset support (CONFIG_IDE_CHIPSETS) [N/y/?] </verb> Si se dispone de material ATAPI, hay que indicarlo acá. Lo mismo si se tiene una interfase PCMCIA. Nótese bien que <bf/Linux/ propone ciertas opciones particulares para algunos controladores IDE conocidos por que tienen bugs. Si este es su caso, no lo dudes y selecciona la opción. <verb> * * Additional Block Devices * Loopback device support (CONFIG_BLK_DEV_LOOP) [N/y/m/?] Multiple devices driver support (CONFIG_BLK_DEV_MD) [N/y/?] RAM disk support (CONFIG_BLK_DEV_RAM) [N/y/m/?] XT harddisk support (CONFIG_BLK_DEV_XD) [N/y/m/?] </verb> A menos que sepa exactamente lo que hace, es mejor no modificar. Bueno, pasemos a las redes ! <verb> * * Networking options * Network firewalls (CONFIG_FIREWALL) [N/y/?] Network aliasing (CONFIG_NET_ALIAS) [N/y/?] TCP/IP networking (CONFIG_INET) [Y/n/?] IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [N/y/?] IP: multicasting (CONFIG_IP_MULTICAST) [N/y/?] IP: accounting (CONFIG_IP_ACCT) [Y/n/?] </verb> De manera general, es aconsejable activar Tcp/Ip, aunque no estés conectado a una red (ciertas aplicaciones lo necesitan). Lo demás depende de tu maquina. Paso las dos series que siguen para redes. <verb> * * SCSI support * etc...etc : Para el SCSI. Lista de tarjetas SCSI manejadas... escoger la adecuada (varias si es necesario). * * Network device support * Network device support (CONFIG_NETDEVICES) [Y/n/?] Dummy net driver support (CONFIG_DUMMY) [M/n/y/?] EQL (serial line load balancing) support (CONFIG_EQUALIZER) [N/y/m/?] Frame relay DLCI support (EXPERIMENTAL) (CONFIG_DLCI) [N/y/m/?] SLIP (serial line) support (CONFIG_SLIP) [N/y/m/?] PPP (point-to-point) support (CONFIG_PPP) [Y/m/n/?] </verb> Lista de las posibilidades de red... no olvidar de colocar PPP o SLIP si es necesario. En seguida vienen las tarjetas en si. No son detalladas aquí. <verb> * * ISDN subsystem * ISDN support (CONFIG_ISDN) [N/y/m/?] </verb> Soporte de tarjetas ISDN. A menos de tener alguna de estas, no activar la opción. <verb> * * CD-ROM drivers (not for SCSI or IDE/ATAPI drives) * Suport non-SCSI/IDE/ATAPI CDROM drives (CONFIG_CD_NO_IDESCSI) [N/y/?] </verb> Para los CDROM Sony CDU31A/CDU33A, Matsushita/Panasonic/Creative, etc. En resumen, los CD conectados sobre la tarjeta de sonido por ejemplo. <verb> * * Filesystems * Quota support (CONFIG_QUOTA) [Y/n/?] Mandatory lock support (CONFIG_LOCK_MANDATORY) [N/y/?] Minix fs support (CONFIG_MINIX_FS) [M/n/y/?] Extended fs support (CONFIG_EXT_FS) [N/y/m/?] Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] xiafs filesystem support (CONFIG_XIA_FS) [N/y/m/?] DOS FAT fs support (CONFIG_FAT_FS) [M/n/y/?] MSDOS fs support (CONFIG_MSDOS_FS) [M/n/?] VFAT (MS-Windows-95) fs support (CONFIG_VFAT_FS) [M/n/?] umsdos: Unix like fs on top of std MSDOS FAT fs (CONFIG_UMSDOS_FS) [N/m/?] /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] NFS filesystem support (CONFIG_NFS_FS) [M/n/y/?] SMB filesystem support (to mount WfW shares etc..) (CONFIG_SMB_FS) [N/y/m/?] ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [M/n/y/?] OS/2 HPFS filesystem support (read only) (CONFIG_HPFS_FS) [N/y/m/?] System V and Coherent filesystem support (CONFIG_SYSV_FS) [N/y/m/?] Amiga FFS filesystem support (EXPERIMENTAL) (CONFIG_AFFS_FS) [N/y/m/?] UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] </verb> Se trata de configurar la lista de los manejadores de archivos comandados por <bf/Linux/. Es indispensable Tener ext2fs. Es muy recomendable de incluir aquí el soporte /proc. SMB es usado para acceder a los recursos compartidos de Windows For Workgroup. Desde ahora, existen dos formatos para Ms-Dos : el formato standard y el formato extendido que utiliza Windows95 (VFAT). Si se tiene un CD-Rom, seria bueno incluir el soporte ISO9660. Finalmente, si se desean utilizar las cuotas, responda Y en la primera opción. <verb> * * character devices * </verb> Soporte para el puerto paralelo y para diversos ratones. No olvides activar tu impresora si esta esta conectada al puerto paralelo. <verb> * * Sound * </verb> Pasemos a la tarjeta de sonido ! Me voy a limitar a la SoundBlaster 16. Es la que yo tengo y permite dar un ejemplo. Solo las opciones que hay que modificar están aquí presentes. En realidad, <bf/Linux/ maneja muchas otras tarjetas de sonido. <verb> Sound card support (CONFIG_SOUND) [M/n/y/?] Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?] /dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?] MIDI interface support (CONFIG_MIDI) [Y/n/?] FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?] I/O base for SB Check from manual of the card (SBC_BASE) [260] Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5] Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1] Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5] MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card (SB_MPU_BASE) [330] SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1] Audio DMA buffer size 4096, 16384, 32768 or 65536 (DSP_BUFFSIZE) [65536] </verb> <verb> * * Kernel hacking * Kernel profiling support (CONFIG_PROFILE) [N/y] </verb> Es muy recomendable poner esta opción en N. <item><tt> make dep</tt> se encarga de crear las dependencias. <item><tt> make clean</tt> va limpiar toda la arborescencia. <item> Lance <tt>make zImage</tt> para compilar el núcleo. Puede irse a tomar un cafecito: es largo! Con mi DX2/66, la compilación toma aproximadamente 40 minutos. Depende sobre todo de la cantidad de memoria viva disponible. <item> si tu tienes módulos, lanza su compilación con : <tt>make modules</tt> y luego instálalos con : <tt>make modules_install</tt>. Ellos serán recopiados en el repertorio <tt>/lib/modules/2.0.26</tt> <item> Cuando hayas terminado, ve a <tt>/usr/src/linux/arch/i386/boot</tt>. El nuevo núcleo es el archivo <it>zImage</it>. El núcleo esta comprimido. Cópielo en la raíz <tt> / </tt>, bajo un nuevo nombre (por ejemplo <sq> vmlinuz2 </sq>). Modifica la configuración de lilo.conf pero no retires nada, copia una sección y modifícala de manera que puedas lanzar tu nuevo núcleo. Luego relanza <tt>lilo</tt> para que el nuevo núcleo sea tomado en cuenta. Rearrancas la maquina y eso debería funcionar.</enum> Nota: Si no logras modificar la configuración de <tt>lilo</tt> tienes que copiar el nuevo núcleo sobre el antiguo núcleo (vmlinux). Te aconsejo mucho dejar una copia del antiguo en algún lugar y sobre todo verifica que puedes re-arrancar en el gracias a un disquete por ejemplo. <sect> Archivos especiales<p> En <bf/Linux/ y más generalmente en UNIX, las entradas/salidas sobre un dispositivo se hacen gracias a los archivos situados en el directorio <tt>/dev/</tt>. Cada uno de ellos se identifica por un nombre (por ejemplo, <tt>hda</tt> para el primer disco duro del controlador IDE) pero sobre todo por dos únicos números: <tt>mayor</tt> y <tt>menor</tt>. Estos archivos <it>especiales</it> son de dos tipos : <it>caracteres</it> (teminal, impresora, etc) o <it>bloques</it> (disco por ejemplo). Es muy importante conocer estos archivos. Las diferentes distribuciones (Slackware, jurix, SLS, etc) crean estos archivos. Ciertas versiones pueden generar estos archivos de maneara incorrecta (Slackware). Igualmente, resulta inútil crear los archivos necesarios para la utilización de dispositivos de un tipo dado si no se dispone de la tarjeta adecuada. Para crear un archivo especial, es suficiente la orden <tt>mknod Nom_Archivo Tipo Mayor Menor</tt>. También existen otras opciones que se encuentran en el manual. Dentro del directorio <tt>/dev</tt> también existe un archivo de comandos llamado <tt>MAKEDEV</tt>, el cual permite crear archivos especiales sin utilizar directamente <tt>mknod</tt>. La lista de periféricos que se presenta a continuación proviene del documento<it>LINUX ALLOCATED DEVICES</it> escrito por H. Peter Anvin <tt>hpa@zytor.com</tt>. Esta lista esta incluida en el directorio de documentaciones de las fuentes del núcleo (<tt>Documentation/devices.txt</tt>) a partir de la versión 1.3 del núcleo. Si usted desea desarrollar un dispositivo a la lista, <bf/contactelo después de haber leído el documento original/. De hecho, esta lista esta un poco depurada. <bf/La lista corresponde a la versión 2.0.26/ <itemize> <item> 0 : Periférico Nulo y sin nombre. <itemize> <item> 1 car : Memoria <item> 1 : /dev/mem : Acceso a memoria física <item> 2 : /dev/kmem : Acceso a memoria virtual <item> 3 : /dev/null : periférico nulo <item> 4 : /dev/port <item> 5 : /dev/zero : fuente de octetos a 0 <item> 6 : /dev/core OBSOLETO (reemplazado por /proc/kcore) <item> 7 : /dev/full Retorna ENOSPC luego de una escritura <item> 8 : /dev/random Generación de números aleatorios <item> 9 : /dev/urandom Mas rápido, menos seguro. </itemize> <item> 1 bloc : Disco virtual : <itemize> <item> 1 : /dev/ram0 : 1er disco <item> .... <item> 7 : /dev/ram7 : ultimo disco <item> 250 : /dev/initrd : disco virtual de inicialisacion. </itemize> Los anteriores núcleos poseen /dev/ramdisk (1,1) Disco RAM en su lugar y <tt>/dev/initrd</tt> hace referencia a un disco virtual que ha sido cargado por el <em>boot loader</em>. <item> 2 car : Reservado para los pseudo-tty <itemize> <item> 0 : /dev/ptyp0 : 1er periférico <item>.... <item> 256 : /dev/ptyef : ultimo periférico </itemize> Los amos son los <em>pty</em> y los esclavos son los <em>tty</em>. <item> 2 bloc : Lectores de disquetes <itemize> <item> 0 : /dev/fd0 1er lector autodetectado <item> 1 : /dev/fd1 2 <item> 2 : /dev/fd2 3er <item> 3 : /dev/fd3 4 </itemize> <item> 3 car : Reservado para los pty esclavos <itemize> <item> 0 : /dev/ttyp0 : 1er dispositivo esclavo <item> <item> 256 : /dev/ttyef : ultimo dispositivo esclavo </itemize> <item> 3 bloc : 1er interface IDE/CD-ROM (para MFM, RLL e IDE) <itemize> <item> 0 : /dev/hda Disco maestro <item> 64 : /dev/hdb Disco esclavo (o CD-ROM) <item> Para las particiones, agreguele al menor el numero: <itemize> <item> 0 : /dev/hd? Todo el disco <item> 1 : /dev/hd?1 1era partición principal <item> 2 : /dev/hd?2 2da partición principal <item> 3 : /dev/hd?3 3era partición principal <item> 4 : /dev/hd?4 4a partición principal <item> 5 : /dev/hd?5 1era partición lógica <item> 6 : /dev/hd?6 2da partición lógica <item> 7 : /dev/hd?7 3era partición lógica <item> <item> 63 : /dev/hd?63 59ava partición lógica </itemize> </itemize> <item> 4 car : Dispositivos TTY <itemize> <item> 0 : /dev/console Dispositivo de la consola <item> 1 : /dev/tty1 1era consola virtual <item>... <item> 63 : /dev/tty63 63ava consola virtual <item> 64 : /dev/ttyS0 1er puerto serie <item>.... <item> 127 : /dev/ttyS63 64avo puerto serie <item> 128 : /dev/ptyp0 1er pseudo tty maestro <item>... <item> 191 : /dev/ptysf 64avo pseudo tty maestro <item> 192 : /dev/ttyp0 1er pseudo tty esclavo <item>... <item> 255 : /dev/ttysf 64avo pseudo tty esclavo </itemize> <item> 5 car : Otros periféricos TTY <itemize> <item> 0 : /dev/tty periférico TTY actual (corriente) <item> 64 : /dev/cua0 Periférico de llamada hacia el exterior correspondiente a ttyS0 <item>... <item> 127 : /dev/cua63 Periférico de llamada hacia el exterior correspondiente a ttyS63 </itemize> <item> 6 car : Periféricos para impresoras paralelas <itemize> <item> 0 : /dev/lp0 1era impresora paralela (0x3bc) <item> 1 : /dev/lp1 2da impresora paralela (0x378) <item> 2 : /dev/lp2 3era impresora paralela (0x278) </itemize> <item> 7 car : Contenido de consolas virtuales (vcs) <itemize> <item> 0 : /dev/vcs Contenido texto de la consola actual (corriente) <item> 1 : /dev/vcs1 Contenido texto de tty1 <item>.... <item> 63 : /dev/vcs63 Contenido texto de tty63 <item> 128 : /dev/vcsa Attributos/Texto de la consola actual (corriente). <item> 129 : /dev/vcsa1 Attributos/Texto de tty1 <item>... <item> 191 : /dev/vcsa63 Attributos/Texto de tty63 </itemize> <item> 7 bloc : dispositivo <em>loopback</em>. Utilizados para montar los dispositivo que no están asociados a los periféricos de tipo bloc. <itemize> <item> 0 : /dev/loop0 : 1er dispositivo <item> 1 : /dev/loop1 : segundo... <item>... </itemize> <item> 8 bloc :Periféricos discos SCSI <itemize> <item> 0 : /dev/sda 1er disco SCSI <item> 16 : /dev/sdb 2do disco SCSI <item> 32 : /dev/sdc 3er disco SCSI <item> .... <item> 240 : /dev/sdp 16avo disco SCSI </itemize> <item> 9 car : Dispositivos lectores de cintas SCSI <itemize> <item> 0 : /dev/st0 1er lector SCSI de cintas modo 0 <item> 1 : /dev/st1 2do lector SCSI de cintas modo 0 <item>.. <item> 32 : /dev/st0l 1er lector SCSI de cintas mode 1 <item> 33 : /dev/st1l 2nd lector SCSI de cintas mode 1 <item>... <item> 64 : /dev/st0m 1er lector SCSI de cintas mode 2 <item> 65 : /dev/st1m 2nd lector SCSI de cintas mode 2 <item>... <item> 96 : /dev/st0a 1er lector SCSI de cintas mode 3 <item> 97 : /dev/st1a 2nd lector SCSI de cintas mode 3 <item>... <item> <item> 128 : /dev/nst0 1er lector SCSI de cintas, sin rebobinage <item> 129 : /dev/nst1 2do lector SCSI de cintas, sin rebobinage <item> <item> 160 : /dev/st0l 1er lector SCSI de cintas mode 1, sin rebobinage <item> 161 : /dev/st1l 2nd lector SCSI de cintas mode 1, sin rebobinage <item>... <item> 192 : /dev/st0m 1er lector SCSI de cintas mode 2, sin rebobinage <item> 193 : /dev/st1m 2nd lector SCSI de cintas mode 2, sin rebobinage <item>... <item> 224 : /dev/st0a 1er lector SCSI de cintas mode 3, sin rebobinage <item> 225 : /dev/st1a 2nd lector SCSI de cintas mode 3, sin rebobinage <item>... </itemize> <item> 9 bloc : Dispositivos meta-discos <it>RAID</it> <itemize> <item> 0 : /dev/md0 1er grupo de dispositivos <item> 1 : /dev/md1 2do grupo de dispositivos <item> ... </itemize> <item> 10 car : Mouse no-serie. Diversos <itemize> <item> 0 : /dev/logibm Mouse Logitech <item> 1 : /dev/psaux Mouse estilo PS/2 <item> 2 : /dev/inportbm Mouse Microsoft <item> 3 : /dev/atibm Mouse ATI XL <item> 4 : /dev/jbm J-mouse <item> 5 : /dev/atarimouse Mouse Atari <item> 6 : /dev/sunmouse Mouse Sun <item> 128 : /dev/beep Beep ! <item> 129 : /dev/modreq Solicitud para cargar de modulo <item> 130 : /dev/watchdog Port timer watchdog <item> 131 : /dev/temperature Temperatura interna de la maquina <item> 132 : /dev/hwtrap captura de errores hardware <item> 133 : /dev/exttrp captura de errores externos <item> 134 : /dev/apm_bios : BIOS <em>AdvancedPower Management</em> <item> 135 : /dev/rtc : <em>Real Time Clock</em> <item> 136 : /dev/qcam0 : QuickCam en lp0 <item> 137 : /dev/qcam1 : QuickCam en lp1 <item> 138 : /dev/qcam2 : QuickCam en lp2 <item> 139 : /dev/openprom : SPARC OpenBoot PROM </itemize> <item> 11 car : teclado Sun (mode raw) <itemize> <item> 0 : /dev/kbd </itemize> <item> 11 bloc : Dispositivos CD-ROM SCSI <itemize> <item> 0 : /dev/sr0 1er CD-ROM SCSI <item> 1 : /dev/sr1 2do CD-ROM SCSI <item>... </itemize> <item> 12 car : lectores de cintas QIC-02 <itemize> <item> 2 : /dev/ntpqic11 QIC-11, sin rebobinage <item> 3 : /dev/tpqic11 QIC-11, con rebobinage <item> 4 : /dev/ntpqic24 QIC-24, sin rebobinage <item> 5 : /dev/tpqic24 QIC-24, con rebobinage <item> 6 : /dev/ntpqic120 QIC-120, sin rebobinage <item> 7 : /dev/tpqic120 QIC-120, con rebobinage <item> 8 : /dev/ntpqic150 QIC-150, sin rebobinage <item> 9 : /dev/tpqic150 QIC-150, con rebobinage </itemize> <item> 12 bloc : Soporte CD-ROM MSCDEX <itemize> <item> 0 : /dev/dos_cd0 1er CD-ROM MSCDEX <item> 1 : /dev/dos_cd1 2do CD-ROM MSCDEX <item>... </itemize> <item> 13 car : Alto parlante del PC <itemize> <item> 0 : /dev/pcmixer Emulación de /dev/mixer <item> 1 : /dev/pcsp Emulación de /dev/dsp (8-bit) <item> 4 : /dev/pcaudio Emulación de /dev/audio <item> 5 : /dev/pcsp16 Emulación de /dev/dsp (16-bit) </itemize> <item> 13 bloc : Controlador 8-bit MFM/RLL/IDE <itemize> <item> 0 : /dev/xda 1er disco XT <item> 64 : /dev/xdb 2do disco XT </itemize> <item> 14 car : Tarjeta de sonido. <itemize> <item> 0 : /dev/mixer Controlador de mezcla <item> 1 : /dev/sequencer Secuenciador de audio <item> 2 : /dev/midi00 1er puerto MIDI <item> 3 : /dev/dsp Audio digital <item> 4 : /dev/audio Audio compatible Sun <item> 6 : /dev/sndstat Estado de la tarjeta de sonido <item> 8 : /dev/sequencer2 Otro dispositivo para secuenciador <item> 16 : /dev/mixer1 Segundo control de mezclado para la segunda tarjeta de sonido <item> 17 : /dev/patmgr0 Gestionario del secuenciador patch <item> 18 : /dev/midi01 2do puerto MIDI <item> 19 : /dev/dsp1 Audio digital para 2da tarjeta de sonido <item> 20 : /dev/audio1 Audio compatible sun para la 2da tarjeta de sonido <item> 33 : /dev/patmgr1 Gestionario del secuenciador patch para la 2da tarjeta de sonido <item> 34 : /dev/midi02 3er puerto MIDI <item> 50 : /dev/midi03 4o puerto MIDI </itemize> <item> 14 bloc : Disco duro via BIOS <itemize> <item> 0 : /dev/dos_hda 1er disco duro BIOS <item> 64 : /dev/dos_hdb 2do disco duro BIOS <item> 128 : /dev/dos_hdc 3er disco duro BIOS <item> 192 : /dev/dos_hdd 4o disco duro BIOS </itemize> <item> 15 car : Joystick <itemize> <item> 0 : /dev/js0 1er joystick <item> 1 : /dev/js1 2do joystick <item> 128 : /dev/djs0 1er joystick numerico <item> 129 : /dev/djs1 2do joystick numérico </itemize> <item> bloc 15 : Sony CDU-31A/CDU-33A CD-ROM <itemize> <item> 0 : /dev/sonycd Sony CDU-31a CD-ROM </itemize> <item> 16 car : Reservado para los scanners no SCSI : <itemize> <item> 0 : /dev/gs4500 : Genius 4500 </itemize> <item> 16 bloc : CD-ROM GoldStar <itemize> <item> 0 : /dev/gscd : CD-ROM GoldStar </itemize> <item> 17 car : Tarjeta serie <it>Chase</it> <itemize> <item> 0 : /dev/ttyH0 1er puerto <item> 1 : /dev/ttyH1 2do puerto <item> </itemize> <item> 17 bloc : CD-ROM de salvaguardias opticos <itemize> <item> 0 : /dev/optcd CD-ROM de salvaguardias opticos </itemize> <item> 18 car : Tarjeta serie Chase <itemize> <item> 0 : /dev/cuh0 Llamada de salida correspondiente a ttyH0 <item> 1 : /dev/cuh1 Llamada de salida correspondiente a ttyH1 <item>... </itemize> <item> 18 bloc : CD-ROM Sanyo <itemize> <item> 0 : /dev/sjcd CD-ROM Sanyo CD-ROM </itemize> <item> 19 car : Tarjeta serie Cyclades <itemize> <item> 0 : /dev/ttyC0 1er puerto <item> ... <item> 31 : /dev/ttyC31 32avo puerto </itemize> <item> 19 bloc : Disco comprimido <sq>Doblado</sq> <itemize> <item> 0 : /dev/double0 1er disco comprimido <item>.... <item> 7 : /dev/double7 8avo disque <item> 128 : /dev/cdouble0 Espejo del 1er disco <item>... <item> 135 : /dev/cdouble7 Espejo del 8avo disco </itemize> <item> 20 car : Tarjeta serie Cyclades <itemize> <item> 0 : /dev/cub0 Llamada de dispositivo correspondiente a ttyC0 <item>... <item> 31 : /dev/cub31 Llamada de dispositivo correspondiente a ttyC31 </itemize> <item> 20 bloc : CD-ROM Hitachi (en desarrollo) <itemize> <item> 0 : /dev/hitcd CD-ROM Hitachi </itemize> <item> 21 car : Acceso SCSI Generic <itemize> <item> 0 : /dev/sg0 1er dispositivo <item> 1 : /dev/sg1 2do dispositivo <item>... </itemize> <item> 22 car : Tarjeta serie Digiboard <itemize> <item> 0 : /dev/ttyD0 1er puerto Digiboard <item> 1 : /dev/ttyD1 2do puerto Digiboard <item> ... </itemize> <item> 22 bloc : Segunda interfase IDE disco duro / CD-ROM <itemize> <item> 0 : /dev/hdc Maestro (o CD-ROM) <item> 64 : /dev/hdd Servidor (o CD-ROM) </itemize> <item> 23 car : Tarjeta serie Digiboard <itemize> <item> 0 : /dev/cud0 Llamada de dispositivo correspondiente a ttyD0 <item> 1 : /dev/cud1 Llamada de dispositivo correspondiente a ttyD1 <item>... </itemize> <item> 23 bloc : CD-ROM propietario Mitsumi <itemize> <item> 0 : /dev/mcd CD-ROM Mitsumi </itemize> <item> 24 car : Tarjeta serie Stallion <itemize> <item> 0 : /dev/ttyE0 Puerto 0 tarjeta 0 <item> 1 : /dev/ttyE1 Puerto 1 tarjeta 0 <item>... <item> 64 : /dev/ttyE64 Puerto 0 tarjeta 1 <item> 65 : /dev/ttyE65 Puerto 1 tarjeta 1 <item>... <item> 128 : /dev/ttyE128 Puerto 0 tarjeta 2 <item> 129 : /dev/ttyE129 Puerto 1 tarjeta 2 <item>... <item> 192 : /dev/ttyE192 Puerto 0 tarjeta 3 <item> 193 : /dev/ttyE193 Puerto 1 tarjeta 3 <item>.. </itemize> <item> 24 bloc : CD-ROM Sony CDU-535 <itemize> <itemize> <item> 0 : /dev/cdu535 CD-ROM Sony CDU-535 </itemize> <item> 25 car : Tarjeta serial Stallion<item> dispositivos alternos <itemize> <item> 0 : /dev/cue0 Llamada de dispositivo correspondiente a ttyE0 <item> 1 : /dev/cue1 Llamada de dispositivo correspondiente a ttyE1 <item>... <item> 64 : /dev/cue64 Llamada de dispositivo correspondiente a ttyE64 <item> 65 : /dev/cue65 Llamada de dispositivo correspondiente a ttyE65 <item>... <item> 128 : /dev/cue128 Llamada de dispositivo correspondiente a ttyE128 <item> 129 : /dev/cue129 Llamada de dispositivo correspondiente a ttyE129 <item>... <item> 192 : /dev/cue192 Llamada de dispositivo correspondiente a ttyE192 <item> 193 : /dev/cue193 Llamada de dispositivo correspondiente a ttyE193 <item>... </itemize> <item> 25 bloc : 1er CDROM Matsushita (Panasonic/SoundBlaster) <itemize> <item> 0 : /dev/sbpcd0 Controlador 0 CD-ROM Panasonic unidad 0 <item> 1 : /dev/sbpcd1 Controlador 0 CD-ROM Panasonic unidad 1 <item> 2 : /dev/sbpcd2 Controlador 0 CD-ROM Panasonic unidad 2 <item> 3 : /dev/sbpcd3 Controlador 0 CD-ROM Panasonic unidad 3 </itemize> <item> 26 car : <it>Quanta WinVision Frame grabbers</it> <itemize> <item> 0 : /dev/wvisfgrab Quanta WinVision </itemize> <item> 26 bloc : 2do CDROM Matsushita (Panasonic/SoundBlaster) <itemize> <item> 0 : /dev/sbpcd4 Controlador 1 CD-ROM Panasonic unidad 0 <item> 1 : /dev/sbpcd5 Controlador 1 CD-ROM Panasonic unidad 1 <item> 2 : /dev/sbpcd6 Controlador 1 CD-ROM Panasonic unidad 2 <item> 3 : /dev/sbpcd7 Controlador 1 CD-ROM Panasonic unidad 3 </itemize> <item> 27 car : lector de cartuchos QIC-117 <itemize> <item> 0 : /dev/rft0 Unidad 0, con rebobinage <item> 1 : /dev/rft1 Unidad 1, con rebobinage <item> 2 : /dev/rft2 Unidad 2, con rebobinage <item> 3 : /dev/rft3 Unidad 3, con rebobinage <item> 4 : /dev/nrft0 Unidad 0, sin rebobinage <item> 5 : /dev/nrft1 Unidad 1, sin rebobinage <item> 6 : /dev/nrft2 Unidad 2, sin rebobinage <item> 7 : /dev/nrft3 Unidad 3, sin rebobinage </itemize> <item> 27 bloc : 3er CDROM Matsushita (Panasonic/SoundBlaster) <itemize> <item> 0 : /dev/sbpcd8 Controlador 2 CD-ROM Panasonic unidad 0 <item> 1 : /dev/sbpcd9 Controlador 2 CD-ROM Panasonic unidad 1 <item> 2 : /dev/sbpcd10 Controlador 2 CD-ROM Panasonic unidad 2 <item> 3 : /dev/sbpcd11 Controlador 2 CD-ROM Panasonic unidad 3 </itemize> <item> 28 car : Tarjeta serie Stallion (menos Atari) <itemize> <item> 0 : /dev/staliomem0 1era tarjeta memoria I/O <item> 1 : /dev/staliomem1 2da tarjeta memoria I/O <item> 2 : /dev/staliomem2 3ra tarjeta memoria I/O <item> 3 : /dev/staliomem3 4a tarjeta memoria I/O </itemize> <item> 28 car : Impresora laser SLM ACSI (68k/Atari) <itemize> <item> 0 : /dev/slm0 1ere Impresora laser SLM <item> 1 : /dev/slm1 2nde Impresora laser SLM <item> ... </itemize> <item> 28 bloc : 4o CDROM Matsushita (Panasonic/SoundBlaster) (menos para 68k/Atari) <itemize> <item> 0 : /dev/sbpcd12 Controlador 3 CD-ROM Panasonic unidad 0 <item> 1 : /dev/sbpcd13 Controlador 3 CD-ROM Panasonic unidad 1 <item> 2 : /dev/sbpcd14 Controlador 3 CD-ROM Panasonic unidad 2 <item> 3 : /dev/sbpcd15 Controlador 3 CD-ROM Panasonic unidad 3 </itemize> <item> 28 bloc : disk ACSI (68k/Atari) <itemize> <item> 0 : /dev/ada 1er disco ACSI <item> 16 : /dev/adb 2nd disco ACSI <item> 32 : /dev/adc 3er disco ACSI <item>... <item> 240 : /dev/adp 16ieme disco ACSI </itemize> <item> 29 car : Buffer Universal (68k y Sparc unicamente) <itemize> <item> 0 : /dev/fb0 1er buffer <item> 1 : /dev/fb0autodetect <item> 24 : /dev/fb0user0 <item> <item> 31 : /dev/fb0user7 <item> 32 : /dev/fd1 2do buffer <item> 33 : /dev/fb1autodetect <item> 56 : /dev/fb1user0 <item> <item> 63 : /dev/fb1user7 </itemize> <item> 29 bloc : CD-ROM Aztech/Orchid/Okano/Wearnes <itemize> <item> 0 : /dev/aztcd CD-ROM Aztech </itemize> <item> 30 car : Dispositivos compatibles iBCS-2 <itemize> <item> 0 : /dev/socksys Acceso Socket <item> 1 : /dev/spx Interfase local X SVR3 <item> 2 : /dev/inet/arp Acceso red <item> 2 : /dev/inet/icmp Acceso red <item> 2 : /dev/inet/ip Acceso red <item> 2 : /dev/inet/udp Acceso red <item> 2 : /dev/inet/tcp Acceso red </itemize> <item> 30 bloc : CD-ROM Philips LMS CM-205 CD-ROM <itemize> <item> 0 : /dev/cm205cd CD-ROM Philips LMS CM-205 </itemize> <item> 31 car : MPU-401 MIDI <itemize> <item> 0 : /dev/mpu401data MPU-401 puerto de datos <item> 1 : /dev/mpu401stat MPU-401 puerto de estado </itemize> <item> 31 bloc : Tarjeta memoria ROM/flash <itemize> <item> 0 : /dev/rom0 1era tarjeta ROM (rw) <item> <item> 7 : /dev/rom7 8ava tarjeta ROM (rw) <item> 8 : /dev/rrom0 1era tarjeta ROM (ro) <item> <item> 15 : /dev/rrom7 8ava tarjeta ROM (ro) <item> 16 : /dev/flash0 1era tarjeta memoria flash (rw) <item> <item> 23 : /dev/flash7 8ava tarjeta memoria flash (rw) <item> 24 : /dev/rflash0 1era tarjeta memoria flash (ro) <item> <item> 31 : /dev/rflash7 8ava tarjeta memoria flash (ro) </itemize> <item> 32 car : Tarjeta serie Specialix <itemize> <item> 0 : /dev/ttyX0 1er puerto <item> 1 : /dev/ttyX1 2do puerto <item> </itemize> <item> 32 bloc : CD-ROM Philips LMS CM-206 <itemize> <item> 0 : /dev/cm206cd CD-ROM Philips LMS CM-206 </itemize> <item> 33 car : Tarjeta serie Specialix <itemize> <item> 0 : /dev/cux0 dispositivo de llamada correspondiente a ttyX0 <item> 1 : /dev/cux1 dispositivo de llamada correspondiente a ttyX1 <item> </itemize> <item> 33 bloc : 3ra tarjeta controladora IDE <itemize> <item> 0 : /dev/hde Maestro <item> 64 : /dev/hdf Esclavo </itemize> <item> 34 char : Z8530 HDLC <itemize> <item> 0 : /dev/scc0 : 1er Z8530<item> 1er puerto <item> 1 : /dev/scc1 : 1er Z8530<item> 2do puerto <item> 2 : /dev/scc2 : 2do Z8530<item> 1er puerto <item> 3 : /dev/scc3 : 2do Z8530<item> 2do puerto <item> ... </itemize> <item> 34 bloc : 4a interfase IDE disco duro/CD-ROM <itemize> <item> 0 : /dev/hdg : Maestro <item> 64 : /dev/hdh : Esclavo </itemize> <item> 35 car : tclmidi MIDI <itemize> <item> 0 : /dev/midi0 1er puerto MIDI, timer via núcleo <item> 1 : /dev/midi1 2do puerto MIDI, timer via núcleo <item> 2 : /dev/midi2 3er puerto MIDI, timer via núcleo <item> 3 : /dev/midi3 4o puerto MIDI, timer via núcleo <item> 64 : /dev/rmidi0 1er puerto MIDI, sin timer <item> 65 : /dev/rmidi1 2do puerto MIDI, sin timer <item> 66 : /dev/rmidi2 3er puerto MIDI, sin timer <item> 67 : /dev/rmidi3 4o puerto MIDI, sin timer <item> 128 : /dev/smpte0 1er puerto MIDI, timer via SMPTE <item> 129 : /dev/smpte1 2do puerto MIDI, timer via SMPTE <item> 130 : /dev/smpte2 3er puerto MIDI, timer via SMPTE <item> 131 : /dev/smpte3 4o puerto MIDI, timer via SMPTE </itemize> <item> 35 bloc : disco Modular RAM - suministrado para los núcleos anteriores <item> 36 car : Netlink <itemize> <item> 0 : /dev/route : enrutamiento <item> 1 : /dev/skip : cache de seguridad </itemize> <item> 36 bloc : MCA ESDI disco duro <itemize> <item> 0 : /dev/eda 1er <item> 64 : /dev/edb 2do <item> </itemize> <item> 37 car : lectores de cinta IDE <itemize> <item> 0 : /dev/ht0 : 1er dispositivo <item> 128 : /dev/nht0 : 1er dispositivo, sin rebobinage </itemize> <item> 37 bloc : Zorro ramdisk <itemize> <item> 0 : /dev/z2ram : Zorro II </itemize> <item> 38 car : tarjetas Myricom PCI Myrinet <itemize> <item> 0 : /dev/mlanai0 : 1era tarjeta <item> 1 : /dev/mlanai2 : 2da tarjeta </itemize> <item>38 bloque : reservado para <bf/Linux//AP+ <item> 39 car : ML-16P<item> tarjeta experimental <itemize> <item> 0 : /dev/ml16pa-a0 : 1era tarjeta, 1er canal analógico <item> 1 : /dev/ml16pa-a0 : 1era tarjeta, 2do canal analógico <item> <item> 15 : /dev/ml16pa-a15 : 1era tarjeta, 16avo canal analógico <item> 16 : /dev/ml16pa-d : 1era tarjeta, lineas digitales <item> 17 : /dev/ml16pa-c0 : 1era tarjeta, 1er contador/timer <item> 18 : /dev/ml16pa-c1 : 1era tarjeta, 2do contador/timer <item> 19 : /dev/ml16pa-c2 : 1era tarjeta, 3er contador/timer <item> 32 : /dev/ml16pb-a0 : 2da tarjeta, 1er canal analógico <item> 33 : /dev/ml16pb-a0 : 2da tarjeta, 2do canal analógico <item> <item> 47 : /dev/ml16pb-a15 : 2da tarjeta, 16avo canal analógico <item> 48 : /dev/ml16pb-d : 2da tarjeta, lineas digitales <item> 49 : /dev/ml16pb-c0 : 2da tarjeta, 1er contador/timer <item> 50 : /dev/ml16pb-c1 : 2da tarjeta, 2do contador/timer <item> 51 : /dev/ml16pb-c2 : 2da tarjeta, 3er contador/timer </itemize> <item> 39 bloque : reservado para <bf/Linux//AP+ <item> 40 car : Matrox Meteor <itemize> <item> 0 : /dev/mmetfgrab Matrox Meteor </itemize> <item> 40 bloque : disco extratible Syquest EZ135 sobre puerto paralelo <itemize> <item> 0 : /dev/eza 1er disco sobre puerto paralelo EZ135 </itemize> <item> 41 : <em>Yet Another Micro Monitor</em> <itemize> <item> 0 : /dev/yamm Yet Another Micro Monitor </itemize> <item> 42 : utilizado para demostraciones o ejemplos <item> 43 car : modem virtual isdn4linux <itemize> <item> 0 : /dev/ttyI0 1er modem virtual <item> <item> 63 : /dev/ttyI63 64avo modem virtual </itemize> <item> 44 car : otros dispositivos isdn4linux <itemize> <item> 0 : /dev/cui0 1er dispositivo de llamada <item> <item> 63 : /dev/cui63 64eme dispositivo de llamada </itemize> <item> 45 car : dispositivo BRI isdn4linux <itemize> <item> 0 : /dev/isdn0 1er dispositivo virtual <item> <item> 63 : /dev/isdn63 64avo dispositivo virtual <item> 64 : /dev/isdnctrl0 1er canal de control <item> 127 : /dev/isdnctrl63 64avo canal de control <item> 128 : /dev/ippp0 1er dispositivo SyncPPP <item> <item> 191 : /dev/ippp63 : 64avo dispositivo SyncPPP <item> 255 : /dev/isdninfo interfase </itemize> <item> 46 car : tarjeta serie Rocketport <itemize> <item> 0 : /dev/ttyR0 1er puerto <item> 1 : /dev/ttyR1 2do puerto <item> </itemize> <item> 47 car : tarjeta serie Rocketport<item> otros dispositivos <itemize> <item> 0 : /dev/cur0 1er puerto de llamada <item> 1 : /dev/cur1 2do <item> </itemize> <item> 48 car : tarjeta serie SDL RISCom <itemize> <item> 0 : /dev/ttyL0 1er tarjeta RISCom <item> 1 : /dev/ttyL1 2da tarjeta RISCom <item>... </itemize> <item> 49 car : tarjeta serie SDL RISCom<item> otros dispositivos <itemize> <item> 0 : /dev/bc0 1er dispositivo de llamada <item> 1 : /dev/bc1 2do dispositivo de llamada <item>.... </itemize> <item> 50 car : reservado para GLINT <item> 51 car : modem radio Baycom <itemize> <item> 0 : /dev/bc0 1er modem Baycom <item> 1 : /dev/bc1 2do modem Baycom <item> </itemize> <item> 52 car : tarjetas ISDN DataComm/BRI Spellcaster <itemize> <item> 0 : /dev/dcbri0 1ere tarjeta DataComm <item> 0 : /dev/dcbri1 2da tarjeta DataComm <item> 0 : /dev/dcbri2 3era tarjeta DataComm <item> 0 : /dev/dcbri3 4ta tarjeta DataComm </itemize> <item> 53 car interfase BDM para debogage de micro-controladores MC683xx <itemize> <item> 0 : /dev/pd_bdm0 interfase PD BDM sobre lp0 <item> 1 : /dev/pd_bdm1 interfase PD BDM sobre lp1 <item> 2 : /dev/pd_bdm2 interfase PD BDM sobre lp2 <item> 4 : /dev/icd_bdm0 interfase ICD BDM sobre lp0 <item> 5 : /dev/icd_bdm1 interfase ICD BDM sobre lp1 <item> 6 : /dev/icd_bdm2 interfase ICD BDM sobre lp2 </itemize> <item> 54 car Tarjetas serie Holter Electrocardiognosis Holter <itemize> <item> 0 : /dev/holter0 1er puerto Holter <item> 1 : /dev/holter1 2nd puerto Holter <item> 2 : /dev/holter2 3eme puerto Holter </itemize> <item> 55-59 : no-utilizados <item> 60-63 : uso local o de experimentación <item> 64-119 : no-utilizados <item> 120-127 : uso local o de experimentación <item> 128-239 : no-utilizados <item> 240-254 : uso local o de experimentación <item> 255 : Reservado </itemize> </itemize> <sect> Comunicar<p> <sect1> UUCP y modem<p> UUCP (UNIX to UNIX CoPy) te permite enviar y recibir mail y news. Te aconsejo hacer una liga entre <tt>/dev/modem</tt> y <tt>/dev/cua1</tt> (COM2), o hacia el dispositivo que corresponda (cua0-3 , COM1-4). los repertorios utilizados por UUCP son <tt>/var/spool/uucp, /var/spool/uucppublic, /usr/lib/uucp</tt> y <tt>/var/lib/uucp</tt>. Bueno, supongo que tu as instalado el paquete UUCP, elm y sendmail. Para las news, te aconsejo INN, como servidor de news y tin o trn, como lector de news. Los archivos UUCP descritos aquí están en formato HDB (si, yo se que Taylor es mucho mas simple ... pero no he tenido tiempo de hacer esta hacer esta parte que ya lleva tiempo !) Bueno, UUCP necesita varios archivos de configuración que se encuentran en <tt>/var/lib/uucp/hdb_config</tt>. <itemize> <item> Dispositivos : configura la linea modem que vas a utilizar : <tt>ACU modem - 9600 hayes_usr</tt>. <item> Dialers : Aquí, est el chat script para lanzar el modem. Es posible que tengas que modificarlo. <verb>hayes_usr =,-, "" \dATE0V1X1Q0\r\c OK\r ATDT\T\r\c CONNECT</verb> <item> Permisos : Este archivo contiene todas las informaciones de los permisos para la conexión. <verb> MACHINE=frmug LOGNAME=nuucp \ READ=/var/spool/uucppublic \ WRITE=/var/spool/uucppublic \ SENDFILES=yes REQUEST=yes </verb> <item> Systems : En este archivo, debes declarar cada una de las maquinas a las cuales quieres conectarte. <verb> remcomp any ACU 9600 0042470611 ogin: nuucp frmug any ACU 9600 0053176410 ogin: nuucp frmug1 any ACU 9600 0053176411 ogin: nuucp </verb> </itemize> Ahora, tu sistema esta configurado. No te queda mas que hacer un test. Lanza esto : <verb> uucp remcomp\!\~/catalogue.Z ~/ </verb> Tu maquina se va a conectar a remcomp para recuperar el archivo <tt>catalogue.Z</tt>. Este archivo será depositado en el repertorio <tt>/var/spool/uucppublic</tt>. <sect1> Llamadas entrantes<p> Bueno. Al punto en que estamos, tu puedes llamar; Ahora, vamos a configurar tu maquina para que pueda ser llamada. Todo se juega en el archivo <tt>/etc/inittab</tt>. Debes descomentar una linea por ejemplo : <verb> s1:45:respawn:/sbin/agetty -h -t 60 9600 modem | | | | | | |--- Puerto a utilizar | | | | | |--------- Velocidad del modem | | | | |--- Tiempo al cabo del cual cuelga | | | |-------- Activa el control de flujo rts/cts | | |------------- Relanzar cuando se termine | |------------------ Runlevels. |---------------------- Identificador </verb> Entonces al próximo boot, un sistema de login esta listo en tu puerto <tt>/dev/modem</tt> (tu puerto serie al cual esta conectado tu modem). El ultimo problema es configurarlo. En efecto, esto depende del modem (configuración de la velocidad). Si puedes posicionar algunos switch, has que tu modem se vuelva mudo (<tt/ATQ2/) y sobre todo, ponlo en auto-respuesta (<tt/ATS0=1/). Si no tienes switches has un <tt/AT&W/ para salvaguardar los parámetros. Para verificar la config utiliza <tt/usrlib/uucp/uuchk/. Si quieres mas informaciones te aconsejo que leas el HOWTO-UUCP. <sect1> PPP<p> El objeto de este parágrafo es la instalación de una conexión PPP. <sect2> Introducción<p> PPP (Point to Point Protocol) permite establecer una conexión IP en una via serie de manera mas eficaz que SLIP (Serial Line Internet Protocol). Una vez la conexión establecida todos los protocolos superiores a IP (FTP, telnet, NFS, http, X ...) son disponibles. Para establecer una conexión PPP, se necesita : <itemize> <item> un servidor que soporte el protocolo PPP <item> un modem *al menos* V32 (9600 bauds) <item> un soft de conexión PPP <item> un poco de paciencia </itemize> PPP es comprendido por un gran numero de sistemas ( hasta MS-Windows) y normalmente nos podemos podemos conectar de un sistema al otro. Mas sin embargo esta documentación solo trata el caso de <bf/Linux/ ! <sect2> Acceso a un servidor PPP<p> Par acceder a un servidor PPP instalado, tu núcleo debe ser compilado con la opción TCP/IP Para esto, cuando hagas make config tienes que responder así : <verb> Networking support (CONFIG_NET) [y] y TCP/IP networking (CONFIG_INET) [y] y IP forwarding/gatewaying (CONFIG_IP_FORWARD) [y] n Network device support? (CONFIG_NETDEVICES) [y] y PPP (point-to-point) support (CONFIG_PPP) [y] y </verb> Además tienes que recuperar las fuentes de los programas de acceso a PPP (en el archivo <tt>ppp-2.1.2a.tar.gz</tt>, de pronto b, c o d) para poder instalar los siguientes programas : <itemize> <item> pppd el programa de establecimiento del protocolo. <item> chat que permite correr el chat-script de llamado al sitio PPP </itemize> Tu puedes por ejemplo instalar <tt/pppd/ y <tt/chat/ en el repertorio <tt>/usr/sbin</tt>. Luego, tienes que configurar tus shell-scripts de arranque para configurar la capa TCP/IP (por ejemplo en un archivo <tt>/etc/rc.d/rc.net</tt> que será lanzado por <tt>/etc/rc.d.rc.local</tt>). He aquí un ejemplo : <verb> echo -n "/etc/rc.net: " INETD=/sbin/inetd PORTMAP=/sbin/portmap # loopback /sbin/ifconfig lo 127.0.0.1 up netmask 255.255.255.0 /sbin/route add 127.0.0.1 lo # demarrage des demons if [-x $PORTMAP ]; then echo-n ", `basename $PORTMAP`" $PORTMAP fi if [-x $INETD ]; then echo -n ", `basename $INETD`" $INETD fi echo "" </verb> Luego agrega la dirección IP de tu maquina en el archivo <tt>/etc/hosts</tt> : <verb> 127.0.0.1 loopback localhost # useful aliases 199.103.124.170 pcpf pcpf.lectra.fr # Mi lindo PC en PPP </verb> La dirección IP de la maquina es aquella que el administrador del servidor PPP le ha asignado para la conexión asociada a un numero de teléfono dado. Esto significa que el amigo que se conecta 10 minutos después utilizara la misma dirección que tu. Finalmente, debes configurar tu dominio en el archivo <tt>/etc/resolv.conf</tt> : <verb> domain lectra.fr nameserver 192.1.2.1 </verb> La segunda linea es utilizada si tu quieres utilizar un servidor de nombres, cacharro que envía la dirección IP correspondiente a un nombre de maquina dado. Si no posees un servidor de nombres, solamente podrás utilizar direcciones numéricas (199.103.124.x) sino deberás poner en tu <tt>/etc/hosts</tt> todas las maquinas a las cuales quieres acceder con sus direcciones IP... Igualmente puedes poner tu nombre de dominio en el archivo <tt>/etc/ppp/options</tt> que debe existir aunque sea vacío (si no quieres que <tt>pppd</tt> pida <tt>/etc/ppp/options</tt>, tienes que compilarlo con la opción<tt>-DREQ_SYSOPTIONS=0</tt>) Ahora puedes febrilmente hacer un test de tu conexión utilizando un shell-script de este estilo (Cuidado : todo esto es una sola linea) : <verb> /usr/sbin/pppd connect '/usr/sbin/chat -v ABORT ERROR ABORT "NO CARRIER" \ ABORT BUSY "" ATB0 OK ATDTxxxxxxxx CONNECT "" ogin: ppp \ word: ppp0' /dev/modem 9600 -detach debug crtscts modem \ defaultroute 199.103.124.170: </verb> El comando <tt/chat/ permite efectuar la conexión llamando el numero de tu servidor. Cuidado no olvides la segunda linea en particular <tt/modem/ y <tt/defaultroute/. La especificación de la velocidad (9600) así como el chat-script utilizado (ABORT ERROR ABORT "NO CARRIER" ABORT BUSY "" ATB0 OK ATDTxxxxxxxx CONNECT) dependen bien entendido de tu modem y de la configuración del servidor (ver igualmente el login y el password). La dirección IP debe ser aquella declarada, como dirección IP de tu maquina en PPP, en <tt>/etc/hosts</tt> (igualmente puedes poner el nombre de tu maquina en PPP) Las informaciones de debug deben salir en la consola (si has configurado el syslog para esto) A partir de ese momento, estas conectado en la red distante y puedes hacer por ejemplo : <verb> $ ping 199.103.124.50 PING 199.103.124.50 (199.103.124.50): 56 data bytes 64 bytes from 199.103.124.50: icmp_seq=0 ttl=255 time=268 ms 64 bytes from 199.103.124.50: icmp_seq=1 ttl=255 time=247 ms 64 bytes from 199.103.124.50: icmp_seq=2 ttl=255 time=266 ms </verb> Para hacer un test de tu conexión. Si el ping funciona y tu red esta conectada a Internet entonces ya tienes Internet. Si eso no funciona, puedes hacer un test escribiendo <tt>/sbin/ifconfig</tt> el resultado debe parecerse a esto : <verb> lo Link encap Local Loopback inet addr 127.0.0.1 Bcast 127.255.255.255 Mask 255.0.0.0 UP LOOPBACK RUNNING MTU 2000 Metric 1 RX packets 0 errors 0 dropped 0 overrun 0 TX packets 0 errors 0 dropped 0 overrun 0 ppp0 Link encap Serial Line IP inet addr 199.103.124.170 P-t-P 199.103.124.50 Mask 255.255.255.0 UP POINTOPOINT RUNNING MTU 1500 Metric 1 RX packets 33 errors 0 dropped 0 overrun 0 TX packets 42 errors 0 dropped 0 overrun 0 </verb> Sobre todo tienes que tener una linea que comience por ppp0 sino, no good. Igualmente puedes hacer un test con <tt>netstat -nr</tt> que debe dar una cosa así mas o menos : <verb> Kernel routing table Destination Gateway Genmask Flags Metric Ref Use Iface 199.103.124.50 0.0.0.0 255.255.255.255 UH 0 0 6 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 199.103.124.50 0.0.0.0 UG 0 0 6298 ppp0 </verb> Con una linea 0.0.0.0 que tenga la dirección IP de tu servidor PPP. Si no tienes esta linea, puede que hayas olvidado la opción <tt/defaultroute/. <sect2> Configuración de un servidor PPP<p> Para eso, debes instalar los mismos programas del capitulo anterior (configurar el núcleo, instalar <tt/pppd/). Ademas de esto, debes crear un login especial para las conexiones PPP en <tt>/etc/passwd</tt>, por ejemplo : <verb> ppp::61:60:Connexion PPP:/:/usr/bin/ppp_login </verb> El script <tt>/usr/bin/ppp_login</tt> es : <verb> #!/bin/sh # Conexión PPP --> dirección IP = 199.103.124.170 exec /usr/sbin/pppd -d -detach -ip modem proxyarp :199.103.124.170 </verb> La opción <tt/proxyarp/ le permite a la maquina conectada un acceso a toda la red : <verb> 199.103.124.170 199.103.124.50 +-----------+ PPP link +----------+ | pcpf |-------------------- | ondee | +-----------+ +----------+ | Ethernet ----------------------------------- 199.103.124.x </verb> <sect2> Bibliografia<p> Para mas informaciones ver el archivo README.<bf/Linux/ del <tt/ppp-2.1.2a.tar.gz/. Nota : este archivo se encuentra en la distribución standard de la Slackware. <sect1> Una red detrás de una sola dirección <p> Una pregunta común es : <sq> Yo tengo un acceso Internet pero una sola dirección IP y yo quisiera conectar varias maquinas</sq>. El <tt/NET2-HOWTO/ responde a esta pregunta pero olvida una posibilidad. Esta nota tiene por objetivo, explicar las cuatro maneras de resolver el problema. <itemize> <item> Obtener varias direcciones. Lo ideal seria, sin ninguna duda, tener una verdadera subred en el sitio distante, que pudiera ser enrutada <sq>normalmente</sq>. Es el método mas simple y la única que dará a todas las maquinas de la red distante una verdadera conectividad Internet. Pero si tu proveedor de acceso es un operador comercial, tendrás que pagar seguramente *mucho* mas caro para tener un acceso tal (que efectivamente le cuesta mas). Si es una universidad o una asociación, es posible que ellos no tengan ganas de configurar un caso especial para ti. Te va tocar contentarte de uno de los tres <sq>bricolages</sq> siguientes, que comienzan todos por dar a las maquinas suplementarias una dirección privada , tomada en la RFC 1918 (que reemplaza la famosa 1597). <item> <sq>IP masquerading</sq>. Es una traducción de direcciones dinámica dada por el núcleo de la maquina <bf/Linux/ pasarela. Una idea simple y genial. Es el método mas general, porque funciona para un gran numero de servicios de red. Nota que de todas maneras todos los servicios no funcionaran, especialmente <tt>ping</tt> y muchos servicios UDP. <sq>IP masquerading</sq> necesita un núcleo reciente (2.* o ciertos 1.3.* o un patch del 1.2.*) y esta documentado en <tt>http://www.indyramp.com/masq/</tt> o <tt>http://hwy401.com/achau/ipmasq/</tt> (todavía no existe un HOWTO). <item> <sq>Socks</sq> que es un rele genérico, funciona a nivel aplicativo (no necesitas modificar el núcleo al contrario de <sq>IP masquerading</sq>). Necesita unos programas especiales (que se encuentran comúnmente en las maquinas UNIX) de lado cliente. La documentación se encuentra en general en los libros y/o los servidores que hablan de seguridad ya que en general se utiliza en este contexto. Es así como el <tt>Firewall-HOWTO</tt> describe esta solución. <item> Rele aplicativo : es así como llamamos los programas que trabajan a nivel aplicativo y que toman en cargo las peticiones de los clientes, instalados en la red sin direcciones IP legales. Ademas de atender las peticiones lo cual le permite a las maquinas salir, ofrecen en general un valor agregado, por ejemplo guardan en memoria local las informaciones frecuentemente accedidas. Es en mi opinión la solución la mas simple, funciona en todos los núcleos y hasta en otros UNIX diferentes a <bf/Linux/. <item> Ciertas aplicaciones no tiene ningún problema para utilizar un rele puesto que siempre han funcionado así : el correo, las news, la synchronisacion de relojes, el servicio de nombres etc. Otras se han convertido a posteriori y han ganado mucho (Caches Web por ejemplo). El mejor rele + cache Web actualmente es Squid <tt>http://www.nlanr.net/Squid/</tt> El rele tiene dos defectos : todas las aplicaciones no poseen un rele (pero puedes utilizar Socks para llenar los huecos) y tienes que instalar un nuevo rele para cada aplicación. El rele es recomendado únicamente si te contentas con los servicios de base : correo, Web, news, etc. </itemize> <sect1> Sendmail<p> La configuración de sendmail es siempre algo particularmente trabajoso y difícil. Mas sin embargo, ciertos útiles facilitan enormemente las cosas. La Slackware original posee ciertos archivos, que pueden ser una solución. De todas maneras es mas sano, reinstalar el archivo de configuración basándote en los siguientes documentos : <itemize> <item> Programas : <itemize> <item> sendmail : <tt>ftp://ftp.ibp.fr/pub/unix/mail/sendmail/ucb</tt> ; <item> kit Jussieu : <tt>ftp://ftp.jussieu.fr/jussieu/sendmail/kit/</tt>; <item> UUCP : cualquier sitio espejo GNU, por ejemplo ftp.pasteur.fr/pub/Gnu ; <item> exmh : <tt>http://www.smli.com/~bwelch/exmh/</tt>. </itemize> <item> Documentos : <itemize> <item> excelente documentación en el kit Jussieu, en francés ; <item> FAQ FreeBSD especialmente <sq>How do I use sendmail for mail delivery with UUCP?</sq> ; <item> <tt>http://www.freebsd.org/FAQ/ </tt>; <item> Por que utilizar UUCP : <tt>http://web.pasteur.fr/other/computer/Linux/my-BBS/uucp<.txt</tt> ; <item> la doc de Taylor-UUCP ; <item> <bf/Linux/ Network Administrator's Guide (ver mas abajo). </itemize> </itemize> <sect1> Configuración del mail durante una conexión con un provider<p> Los proveedores reciben los mensajes y los ponen a tu disposición via un servidor POP (en general mail.provedor.pais o pop.provedor.pais ) Tienes que recuperar los mensajes recibidos por ese servidor hacia la maquina <bf/Linux/ en /var/spool/mail/usuario. Para esto puedes utilizar el programa <tt/gwpop/ de Stephane Bortzmeyer. Se encuentra en : <tt>ftp://ftp.pasteur.fr/pub/Network/gwpop</tt>. En este script, definir : <verb> $mailhost = "mail.fournisseur.pais"; $deliver= "deliver NombreUsuarioLocal "; </verb> Una vez estés conectado, lanza via un script (para que no tengas que escribir todo cada vez) : <verb> gwpop -p ClaveServidorPop UsuarioServidorPop </verb> Una vez que el correo es recibido, la cuestión es saber como enviar. Tienes que recompilar <tt>sendmail</tt> sin DNS. Para esto, define <tt>NAMED_BIND</tt> a 0 en <tt>src/conf.h</tt> Las versiones recientes de sendmail tiene por defecto un comportamiento que puede ser molesto. Los mensajes acentuados son automáticamente convertidos en <em>Quoted Printable</em> si el servidor al cual se conecta no le anuncia que soporta el protocolo ESMTP 8bit. Si encuentras esta iniciativa molesta, tienes que definir MIME8TO7 a 0 en <tt>src/conf.h</tt> He aquí el archivo de reglas que tienes que indicar con el kit sendmail de Jussieu : <verb> #!/bin/sh # # Reglas para el dominio lolonet # Domaine="MiNombredeDominioConUnPunto" AdressesInternes=RIEN V8="o" Aliases="/etc/aliases" SendmailSt="/etc/sendmail.st" SendmailHf="/etc/sendmail.hf" Mqueue="/var/spool/mqueue" </verb> y el archivo de config : <verb> #!/bin/sh Host="NombreDeMiMaquina" AdressesLocales=TOUT_DOMAINE RelaisExterieur="smtp.[mail.provedor.pais] " ReecritureadressesLocales="provedor.pais" RevAliases="hash -N /etc/revaliases" MailerLocal='/usr/bin/deliver DFMPlmnrs deliver $u' SansDNS=1 </verb> Luego solo necesitas quitarle el comentario a la linea siguiente : <verb> CPP="$CPP -traditional" </verb> Y luego generar el archivo de config : <verb> ./configurateur regles.lolonet maquina.config >sendmail.cf.maquina </verb> Si has desactivado MIME8TO7 en sendmail, comentar la linea del sendmail.cf generado: <verb> # O EightBitMode=mime </verb> y copiar el archivo en <tt>/etc</tt> Es necesario definir la dirección IP del servidor SMTP en <tt>/etc/hosts</tt>. Finalmente, tienes que reescribir la dirección local para que los mensajes tengan un campo <tt/From/ correspondiente a la dirección dada por el proveedor. Solo tienes que agregar en <tt>/etc/revaliases</tt> una linea de estilo : <verb> NombreLocal: NombreProveedor@Provedor.pais </verb> Y luego regenerar la base con : <verb> /usr/sbin/sendmail -bi -oA/etc/revaliases </verb> Listo ! Los mails son guardados en <tt>/var/spool/mqueue</tt>. Cuando te conectes por PPP y que quieres enviar todos tus mails, solo tienes que hacer : <verb> /usr/sbin/sendmail -q </verb> <sect> ELF<p> <sect1>Introducción<p> Desde sus primeras versiones, <bf/Linux/ soporta los binarios en formato a.out. Recientemente, el soporte para los binarios en el formato ELF a sido integrado en el núcleo y se ha hecho una distribución de las bibliotecas compartidas en formato ELF. Las ventajas de este formato en relación al formato a.out son muchas: <itemize> <item> La compatibilidad con los sistemas UNIX basados en SVR4 <item> mayor facilidad de creación de bibliotecas compartidas <item> edición de lazos dinámicos durante la ejecución de los programas <item> soporta las funciones <tt>dlopen()</tt>, <tt>dlsym()</tt> y <tt>dlclose()</tt> </itemize> Las ultimas versiones de las distribuciones están basadas en el formato ELF. Entonces, lo que sigue no tendría razón de ser si no tienes una versión antigua y si la quieres poner al día por ti mismo, cuidado, ello puede ser largo y peligroso. <sect1> Instalación<p> La primera versión publica de los utilitarios y de las bibliotecas ELF se difundió el domingo 21/05/95. La versión, al día de las bibliotecas ELF y de los utensilios asociados esta disponible en los sitios <tt>FTP tsx-11.mit.edu</tt> y <tt>sunsite.unc.edu</tt> así como en su espejo francés <tt>ftp.ibp.fr</tt> en el repertorio <tt>/pub/linux/GCC</tt>. Es posible utilizar esta distribución para poner al día sus bibliotecas. Sin embargo, es aconsejable utilizar una distribución binaria con base en ELF (como Slackware 3.1 o Red Hat 4.0). Si quieres hacer la actualización tu mismo esta es la lista de archivos requerida: <itemize> <item> <tt>binutils-2.7.0.3.bin.tar.gz</tt>: los utilitarios (as, ld,...), <item> <tt>binutils-2.7.0.3.tar.gz</tt>: las fuentes de utilitarios (as,ld...) <item> <tt>gcc-2.7.2.1.bin.tar.gz</tt>: el compilador GCC 2.7.2.1 <item> <tt>ld.so-1.8.5.tar.gz</tt> : el editor de lazos dinámico, <item> <tt>libc-5.4.17.bin.tar.gz</tt>: las bibliotecas en el formato ELF, <item> <tt>libc-5.4.17.tar.gz</tt>: las fuentes de bibliotecas, <item> <tt>libg++-2.7.2.1.bin.tar.gz</tt>: la biblioteca C++ en el formato ELF. </itemize> Se deben seguir escrupulosamente las siguientes instrucciones. De hecho es fácil dañar el sistema con esta maniobra, sobre todo durante la transición entre los formatos a.out y ELF. <p> <enum> <item> instalación del editor de lazos dinámico. <verb> # cd /usr/src # tar xvfz /.../ld.so-1.8.5.tar.gz # cd ld.so-1.8.5 # sh instldso.sh </verb> <item> Salvar las bibliotecas precedentes (en formato a.out) <verb> # mkdir<item>p /usr/i486-linuxaout/bin /usr/i486-linuxaout/lib # echo "/usr/i486-linuxaout/lib" >> /etc/ld.so.conf # ldconfig -v # cd /usr/lib # mv *.o *.a *.sa lib*.so.* /usr/i486-linuxaout/lib # cd /lib # mv *.o *.a *.sa lib*.so.* /usr/i486-linuxaout/lib # ldconfig -v # cd /usr # mv include /usr/i486-linuxaout </verb> <item> instalación de nuevas bibliotecas <verb> # cd / # tar xvfz /.../libc-5.4.17.bin.tar.gz # tar xvfz /.../libg++-2.7.2.1.bin.tar.gz # ldconfig -v </verb> <item> instalación de nuevos utilitarios <verb> # cd / # tar xvfz /.../gcc-2.7.2.1.bin.tar.gz # rmr -f /usr/lib/ldscripts # rm -f /usr/bin/as /usr/bin/as.1.38.1l.2 /usr/bin/as.2.2l # rmf -f /usr/bin/ld /usr/bin/ld.1.9l.4 # tar xvfz /.../binutils-2.7.0.3.bin.tar.gz </verb> </enum> Listo! Ahora tienes un sistema en el que coexisten bibliotecas en formatos a.out (bajo <tt>/usr/i486-linuxaout/lib</tt>) y ELF (bajo <tt>/lib</tt> y <tt>/usr/lib</tt>). Los antiguos binarios siguen ejecutándose correctamente. Cuidado! si utilizas sistemas de archivos diferentes para <tt>/</tt> y <tt>/usr</tt>, existe el peligro de tener problemas al arranque de la maquina. De hecho las bibliotecas antiguas estando en <tt>/usr/i486-linuxaout/lib</tt>, no son accesibles mientras que <tt>/usr</tt> no se haya montado, lo que puede impedir el arranque normal del sistema. Si estas en ese caso, debes imperativamente desplazar al menos la imagen a.out de la biblioteca C: <verb> # cd /usr/i486-linuxaout/lib # mv libc.so.* /lib # ldconfig -v </verb> <sect1> Migración hacia un sistema todo ELF<p>. Habiendo instalado los utilitarios y las bibliotecas ELF no resta más que recompilar todos los programas que utilizas par beneficiar de este nuevo formato de ejecutable. Deber encontrar las fuentes de todos los programas y compilarlas una por una (animo, porque te pude tomar largo tiempo :-). Puedes también recuperar binarios ya compilados en los sitios FTP <bf/Linux/, muchos están ya en formato ELF. Es de anotar que algunos programas requieren modificaciones para ser compatibles con ELF, en particular el núcleo <bf/Linux/ (versión 1.2.x) así como todos los programas que contengan bibliotecas compartidas. En el sitio <tt>ftp.ibp.fr</tt>, el directorio <tt>/pub/linux/ELF</tt> contiene <sq>patchs</sq> para algunos programas. <sect1> utilización de los utilitarios ELF<p>. Las nuevas versiones del compilador y de los utilitarios generan ejecutables en formato ELF, por defecto. Es posible crear ejecutables en formato a.out utilizando la opción <tt>-b i486-linuxaout</tt> durante el llamado de gcc. Ahora es fácil construir bibliotecas dinámicas. Los archivos fuente deben ser compilados con la opción <tt>-fPIC</tt> con el fin que el código generado pueda ser ejecutado en cualquier dirección (las bibliotecas dinámicas se cargan en direcciones imprevisibles y su código debe ser independiente de su dirección física). La opción <tt>-shared</tt> de gcc permite luego generar una biblioteca dinámica. Por ejemplo para generar una biblioteca <tt>libtruc.so.1.0</tt> se utilizarían las siguientes ordenes: <verb> $ gcc -c -fPIC *.c $ gcc -shared -Wl,-soname,libtruc.so.1 -o libtruc.so.1.0 *.o </verb> <sect1> Fuentes de información sobre ELF<p> Algunos documentos que conciernen ELF están disponibles en <tt>ftp.ibp.fr</tt> en <tt>/pub/linux/ELF/doc</tt>. Se trata de : <itemize> <item> <tt>ELF.doc.tar.gz</tt> la especificación del formato ELF <item> <tt>ELF.ps.gz</tt> un artículo de H.J. Lu donde describe la implementación del formato ELF en <bf/Linux/ <item> <tt>move_to_elf.gz</tt> una descripción de la transición entre formatos a.out y ELF. </itemize> También es posible aprender más sobre ELF en estas URL: <itemize> <item> http://www.intac.com/~cully/elf.html <item> http://www.sjc.ox.ac.uk/users/barlow/linux-gcc.html </itemize> <sect> Catástrofe !<p> Este capitulo esta dedicado a los momentos de catástrofe, cuando nada sale bien, y cuando uno tiene ganas de votarlo todo por la ventana... <sect1> Imposible de arrancar !<p> Tu acabas de iniciar tu maquina, y no puedes arrancar. En este caso, lo mejor es utilizar las disquetes de arranque (las de la Slackware en este caso no están mal). Una vez la maquina comienza, tu montas tu partición raíz copias el núcleo en una nueva disquete lanzando : <tt>cat /mnt/vmlinuz > /dev/fd0</tt> por ejemplo. Normalmente, esto debe entonces funcionar si tu núcleo es el correcto. Eventualmente, efectúa un : <verb> rdev /vmlinux /dev/hda2 </verb> para especificar al núcleo cual partición es la raíz del sistema de archivos. <sect1>Formato accidental de una partición<p> Haz formateado por error une partición donde se encontraba tu informe de stage. Bien, no paniques ! Inútil decirte que es imposible hacer un <tt>unformat</tt>. La primera solución de recuperación (muy brutal) es la de hacer un <tt>strings /dev/hda3 > Recup</tt>. No te queda mas que recorrer el archivo y recuperar lo que se pueda. Una segunda solución es la de utilizar el script Perl (ver <em>http://www-eleves.enst-bretagne.fr/~aubert/perl/</em>) : <verb> # Autor : aubert@titan.enst-bretagne.fr #!/usr/local/bin/perl $maxlines = 20; @before = (); $syntaxe = "Syntaxe: cgrep.pl termino_a_buscar archivo_a_recorrer\n"; $terme = shift(@ARGV) || die $syntaxe; $fichier = shift(@ARGV) || die $syntaxe; open(F, $fichier) || die "Cannot read $fichier: $!\n"; # Se llena @before hasta su capacidad máxima ($maxlines) while (($_ = <F>) && (scalar(@before) < $maxlines)) { if (/$terme/ o) { print @before; print $_; & print_next_lines; } push(@before, $_); } # El tablero @before contiene una buena cantidad de elementos, así que se # pasa ahora a una parte en donde @before guarda un tamaño constante while (<F>) { if (/$terme/o) { print @before; print $_; & print_next_lines; } push(@before, $_); shift(@before); } close(F); exit 1; sub print_next_lines { for ($i = 0; $i < $maxlines; $i++) { print scalar(<F>); } exit 0; } </verb> <sect1> Problemas con el disco duro : super-bloque<p> Si el super-bloque esta hecho una nada lanzar <tt>e2fsck</tt> con las siguientes opciones : <tt>e2fsck -b 8193 /dev/sda3</tt>. Si no funciona , ensaya aumentando el numero de 8192 a cada vez para ensayar de recuperar una copia del super-bloque en buen estado. Si esto aun no funciona , ensaye de lanzar el comando <tt>mke2fs</tt> con la opción <bf/-S/. Atención no lo olvides, sino reformatarás tu partición! Esta opción provoca la regeneración de las copias del super-bloque y de los descriptores del sistema del archivo. No acaba con los archivos existentes. <sect1>Problemas con el disco duro : bloques defectuosos<p> Si tu disco tiene algunos problemas (sectores defectuosos), puedes recuperar <tt>e2fsck</tt> en el paquete <tt>e2fsprogs</tt> versión 1.06 si tu no lo tienes ya. Luego : <itemize> <item> arrancar en una disquete si el problema esta en la raíz ; <item> lanzar badblocks > BLOCKS ; <item> lanzar e2fsck<item>f<item>L BLOCKS<item>p<item>y. </itemize> <sect1>Señal fatal 11<p> Ciertas maquinas no podrán funcionar convenientemente y producirán entonces de manera mas o menos aleatoria un mensaje (por ejemplo <sq>fatal signal 11</sq>) luego bloquearan brutalmente la ejecución del programa activo. La Causa, la mas probable : problema de material (componentes de memoria demasiado lenta, por ejemplo). Ensaya primero que todo de desbloquear el cache procesador, gracias al <sq>SETUP</sq> de la maquina. Y luego disminuir el nivel de PIO del EIDE (no pasar de PIO 3). Leer a este propósito el documento <url url="http://www.bitwizard.nl/sig11/">. <sect> Varios<p> <sect1> Como generar un disquete de arranque (boot)<p> Puede ser muy útil, el tener en un disquete un núcleo para arrancar desde el. Para hacerlo, toma un disquete formateado y ve a la raíz de tu disco. Identifica tu núcleo. El debe llamarse <tt>zImage</tt> o <tt>vmlinuz</tt>. Cópialo en el disquete : <verb> cat /zImage > /dev/fd0 </verb> después tu haces (ejemplo) : <verb> rdev zImage /dev/hda2 </verb> el segundo parámetro debe ser el nombre de la partición raíz <bf/Linux/ de tu sistema. Este disquete te permite arrancar (prueba !). <sect1> Mi contraseña, donde esta mi contraseña?<p> En resumen : Has perdido tu contraseña de root... Bueno, hay varias soluciones. La primera : <enum> <item> Tu arrancas con las disquetes arranque y root de tu distribución. <item> Te alojas en root (allí, no hay contraseña). <item> Montas la raíz de tu disco duro : mount <item>t ext2 /dev/hda1 /mnt <item> Vas al repertorio /mnt. no te queda mas que editar el archivo <tt>/mnt/etc/passwd</tt>, y suprimir la contraseña de root : <tt>root::0:0:root:/root:/bin/bash</tt>. </enum> Arrancas <bf/Linux/ normalmente, y no tienes necesidad de contraseña para alojarte en root. Bueno, pasemos a otras soluciones : Rebootar el pc en modo <it>single-user</it>. Para esto, en el momento de arrancar con LILO, decirle <tt>LILO: linux single</tt>. Un shell root va aparecer . Atención : el teclado esta en qwerty y la partición en lectura sola. Para remediarlo : <verb> loadkeys /usr/lib/kbd/keytables/fr.map (es.map) mount -w -n -o remount / </verb> Y utilizas el comando <tt>passwd</tt>, o editas el archivo <tt>/etc/passwd</tt> <sect1> Como limitar el reboot en single-user ?<p> El problema de arrancar en <tt>single-user</tt>, es que no importa quien puede pasar por la maquina en root. Para las empresas y las universidades, se plantea un problema de seguridad. Ciertas estaciones UNIX permiten colocar una contraseña en el EPROM de la maquina. Linux permite pedir la contraseña root en <tt>single-user</tt>. Para esto, debes recuperar las fuentes del programa init que se lanza en el momento de iniciar el sistema. Al principio del programa init.c, modifica, la definición de la constante <it>SOME_USER</it> para que ella tenga el valor 2, recompilas <tt>init</tt>, y lo re-instalas. Esta primera solución puede resultar de todas maneras insuficiente ya que una persona puede siempre arrancar sobre otro periférico (utilizando la opción <tt>root = MiLinux</tt>). Utilizando Lilo, no hay problema ! basta agregar las lineas siguientes para cada una de las imágenes en el archivo <tt>/etc/lilo.conf</tt>: <verb> password = la contraseña en claro restricted </verb> (piensa en colocar este archivo en solo lectura para el super-utilisador sin ningún derecho para los otros !) El arranque normal de cada imagen pasa sin problema y sin pedir la contraseña (importante si uno quiere que la maquina se reinicie sola en caso de lío : electricidad, reboot a distancia, ...) pero si uno quiere pasarle parámetros al núcleo en el momento del arranque, Lilo pide en este momento la contraseña <sect1> Consolas virtuales<p> <bf/Linux/ te permite trabajar al mismo tiempo en varias ventanas texto. Para pasar de una a otra, haz <tt>Alt + Fn</tt> donde <tt>n</tt> es el numero de la ventana virtual y <tt>Fn</tt> una tecla de función (por ejemplo F1, F2 ...). Tu puedes configurar el numero de ventanas en el archivo <tt>/etc/inittab</tt>. Cuando estas bajo X, la combinación se vuelve Ctrl + Alt + Fn. es entonces posible regresar bajo X accediendo así a la consola que es empleada (la primera <sq>libre</sq>, es decir no manejada por un getty). Si tienes 6 consolas virtuales (de Alt F1 hasta Alt F6 ); usa Alt-F7, por ejemplo. Utiliza <tt>maj + paginas </tt>(teclas <sq>SHIFT</sq> y <sq>pagina precedente</sq> o <sq>pagina siguiente</sq>) para <sq>pasearse</sq>. Esto funciona también bajo xterm. <sect1> Francisación<p> <sect2> locale // nls<p> Los <sq>locales</sq> son un sistema que permite gestionar lo mas apropiadamente posible las diferencias de lenguaje y de estilo de los utilizadores. Por ejemplo, los francófonos prefieren escribir 3,14 mejor que 3.14, no anotan las fechas como los Australianos (quienes no lo hacen como los Estados-Unidos), etc. Cada utilizador debe entonces poder escoger un local que le convenga y las aplicaciones bien hechas (raros son aquellos que gestionan completamente los locales pero numerosos son aquellos que les utilizan al menos un poco) se adaptan sin recompilación. En resumen, se trata de dejar las preferencias nacionales fuera de la aplicación, como con el sistema de recursos del Machinetoc. Si eres programador, puedes consultar el locale-tutorial (<tt>distributions/jurix/source/libc/nls</tt> o <tt>sunsite/utils/nls</tt>) o el Mini- HOWTO sobre los Locales. Si tu eres simple utilizador, puedes conocer los locales instalados en tu sistema con <tt>local -a</tt> (los nombres parecen estar poco estandarizados, tendrás trucos del genero <sq>fr_FR</sq> o <sq>fr_FR.ISO8859-1</sq>) y selecciona uno con las variables de entorno como LANG o LC_CTYPE (<tt>man local</tt> dará tal vez algo). Si eres el administrador de una maquina, y los locales no funcionan como tu quieres, puedes leer el Mini-HOWTO sobre los Locales y/o este modesto texto. Si tu Linux no llego con una instalación correcta de los locales ( no creo que exista una buena distribución de este punto de vista), tienes dos soluciones. Yo solo teste la primera y ella solo funciona bien con un núcleo superior o igual a 2.0 y una libc versión 5.2.18 o superior. Primera solución : compilar los programas de la libc y utilizar el paquete WG15-collection. Para esto, debes recuperar las fuentes de la libc. no es necesario compilarla completa, solo los programas de gestión de los locales, que permiten especialmente producir un archivo binario a partir de la fuente de un local. Para resumir la instalación : Recuperar libc (aquí 5.2.18), por ejemplo en <tt>ftp://ftp.ibp.fr/pub/linux/GCC</tt>. <verb> (pasar root) cd /usr/src mkdir libc-5.2.18 chown <USERNAME libc-5.2.18 (salir de root) cd libc-5.2.18 tar -xzvf /usr/tmp/libc-5.2.18.tar.gz cd include ln -s /usr/src/linux/include/asm . ln -s /usr/src/linux/include/linux . cd ../libc </verb> Y allí puedes leer las instrucciones en el README y hacer <sq>./configure</sq> (<sq>make depend</sq> es largo y no parece necesario si quieres solo los locales) Si no quieres compilar toda la libc, te paras allí y : <verb> cd locale make SHARED= programs (pasar root) mv localedef /usr/local/bin mv locale /usr/local/bin (salir de root) </verb> Tienes ahora los dos programas importantes. Ahora puedes generar los locales binarios a partir de las fuentes. Una buena colección de fuentes se encuentra en el archivo WG15-collection.linux.tar.gz que se encuentra por ejemplo en <tt>ftp://ftp.ibp.fr/pub/linux/GCC</tt> ( debe su nombre a un <sq>working group</sq> Posix). En este archivo, una vez destarado(?-)), hay una buena documentación (Intro). Si no quieres leerla, lo que hay que hacer es : <verb> (pasar root) cd charmaps mkdirhier /usr/share/nls/charmap cp ISO_* /usr/share/nls/charmap cd ../locales mkdirhier /usr/share/nls/locale cp POSIX ??_* /usr/share/nls/locale mkdirhier /usr/share/locale (la linea siguiente es lo que parece ser un bogue(error) en la distribución) localedef -c -i /usr/share/nls/locale/en_DK -f ISO_8859-1:1987 en_DK (lleno de mensajes de errores del genero "item `yesstr' of category `LC_MESSAGES' undefined" a ignorar) localedef -c -i /usr/share/nls/locale/fr_FR -f ISO_8859-1:1987 fr_FR (salir de root) </verb> Tu puedes testar con <tt>local -a</tt> que el nuevo local es conocido desde ahora. Es todo. Los utilizadores pueden utilizar ya las variables de entorno de los locales como <tt>LANG</tt> o <tt>LC_CTYPE</tt>. Segundo método, que no he podido hacer funcionar : Recuperar <tt>nslutils</tt> (hoy <tt>nlsutils-0.5.tar.gz</tt>) por ejemplo (parece necesario recuperar los archivos de encabezados como localeinfo.h en la libc). <verb> make make install </verb> Para testar tu instalación de los locales, puedes servirte de Perl 5.003 (es la primera versión de Perl que prueba que la instalación es correcta y si no produce un mensaje de error) o este programa: <verb> # include <stdio.h> #include <ctype.h> #include <string.h> #include <locale.h> #include <sys/types.h> #define STRING "bétö\b" void main () { int i; u_char c; printf ("Setting locale: %s\n", setlocale(LC_ALL, "")); for (i=0; i<strlen(STRING); i++) { c = STRING[i]; printf ("%c (%d) is %s\n", c, (int)c, isprint((int)c)?"printable":"non-printable"); } } </verb> No debe imprimir en la pantalla <em>Setting locale: (null)</em> y, con el buen locale francés, debe encontrar que todos los caracteres, excepto el ultimo, son <sq>printables</sq>. Ciertos útiles GNU comienzan a ser francesados. Para tener esta posibilidad, añade en tu <tt>.bashrc</tt> las lineas siguientes : <verb> export LC_CTYPE=ISO-8859-1 export LANG=fr </verb> <sect2> ispell<p> ispell es un corrector ortográfico, en francés. Tu puedes recuperarlo en <tt>ftp.ibp.fr</tt> en <tt>/pub/ispell</tt>. Es igualmente posible recuperar un diccionario francés para ispell en el mismo sitio en el repertorio <tt>/pub/ispell/francais</tt>. <sect2> Les acentos bajo bash<p> agrega en el archivo <tt>.inputrc</tt> las lineas siguientes : <verb> set meta-flag on set convert-meta off set output-meta on </verb> <sect2> less<p> Es muy desagradable no tener los acentos cuando se hace un <it>less</it> o un <it>more</it> de un archivo. Para que este problema no aparezca, añade : <verb> export LESSCHARSET=latin1 </verb> en el archivo <tt>/etc/profile</tt>. less permite también examinar el contenido de diversos tipos de archivos (<tt>less toto.tar.gz</tt>...) : <verb> export LESSOPEN="|lesspipe.sh %s" </verb> Colocar el script siguiente en un repertorio cuyo nombre figura en el PATH : <verb> #!/bin/sh lesspipe() { case "$1" in *.tar) tar tvvf $1 2>/dev/null ;; # View contents of .tar and .tgz files *.tgz) tar tzvvf $1 2>/dev/null ;; *.tar.gz) tar tzvvf $1 2>/dev/null ;; *.tar.Z) tar tzvvf $1 2>/dev/null ;; *.tar.z) tar tzvvf $1 2>/dev/null ;; *.Z) gzip -dc $1 2>/dev/null ;; # View compressed files correctly *.z) gzip -dc $1 2>/dev/null ;; *.gz) gzip -dc $1 2>/dev/null ;; *.zip) unzip - l $1 2>/dev/null ;; *.lha) lha -v $1 2>/dev/null ;; *.arj) arj l $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` ; #groff src FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; esac } lesspipe $1 </verb> <sect2> Formato de textos<p> Para <it>gs</it> y <it>xdvi</it>, hay que utilizar unas opciones especiales (en mi maquina, son los alias). Efectivamente, con frecuencia son configurados para un papel de tamaño anglo-saxon. Estas opciones son las siguientes : <verb> gs -sPAPERSIZE=a4 xdvi -paper a4 ghostview -a4 </verb> Para que <it>dvips</it> convierta los documentos en un formato papel a4, hay que especificar en el archivo <tt>config.ps</tt> (el camino varia en función de las versiones de LaTeX) : <verb> @ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+ %%BeginPaperSize: a4 @+ a4 </verb> <sect2> elm<p> Para que tu correo este en 8 bits (con acentos) sin necesidad de encapsularlo vía MIME u otra, agrega estas tres lineas en tu archivo <tt>~/.elm/elmrc</tt> : <verb> charset = iso-8859-1 displaycharset = iso-8859-1 textencoding = 8bit </verb> <sect1> TeX y los tipos de caracteres (police)<p> Ciertos personajes indelicados se permitieron modificar los tipos de caracteres <tt>Computer Modern</tt> sin cambiar el nombre Y ESTO ES CONTRARIO A TODOS LOS COPYRIGHTS de Knuth. Esto es EXTREMADAMENTE grave porque todo documento tipografiado con los tipos de caracteres no tendrá el mismo look que con los VERDADEROS <tt>Computar Moderan</tt>. Desafortunadamente, estos tipos de caracteres defectuosos fueron puestos sobre varios CDs Linux. Como trabajamos casi todos con los CDs slackware, conviene tener extremada atención. Es por esto que debes verificar tu sistema. Para ello, es fácil, un buen viejo terminal y dos minutos de tiempo : <itemize> <item> lanzar tex <item> Teclear inmediatamente <tt>**</tt> <verb> \setbox0=\hbox{ho}\showbox0 </verb> <item> Si TeX responde : <verb> > \box0= \hbox(6.94444+0.0)x10.55559 .\tenrm h .\tenrm o ! OK. <*> \setbox0=\hbox{ho}\showbox0 ? </verb> </itemize> listo!, tienes los buenos tipos de caracteres (el valor clave a retener, es el 10.55559). Es suficiente ahora de responder `x' para que TeX se termine. En caso contrario, tu sistema esta infectado. Basta recuperar las actualizaciones y el ciclo se completa. <sect1> Une tarjeta de sonido bien configurada<p> Cuando uno compila y se sirve de una tarjeta sonido en <bf/Linux/, la gran pregunta es saber si la tarjeta esta correctamente configurada. Para esto, existe un archivo (<tt>/dev/sndstat</tt>) que da todas las informaciones sobre la configuración de la tarjeta : <verb> Sound Driver:3.5.4-960630 (Mon Nov 11 14:50:52 MET 1996 root, Linux gandalf 2.0.25 #3 Mon Nov 11 11:44:54 MET 1996 i486) Kernel: Linux gandalf 2.0.25 #3 Mon Nov 11 11:44:54 MET 1996 i486 Config options: 0 Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Type 7: SB MPU-401 Card config: Sound Blaster at 0x260 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0 Audio devices: 0: Sound Blaster 16 (4.11) Synth devices: 0: Yamaha OPL-3 Midi devices: 0: Sound Blaster 16 Timers: 0: System clock Mixers: 0: Sound Blaster </verb> Para ensayar la buena marcha de la tarjeta sonido, es suficiente enviar algunos archivos audio (.au) sur /dev/audio, etc. <sect1> Bug gcc<p> Ciertas versiones de gcc (2.7.0 a 2.7.2 comprendidos, pero no 2.7.2.1 y posteriores) tienen un bug con la opción <tt>-O2</tt>. Para identificarlo, ensaya este programa : <verb> /* sr_bug.c * * este programa hace un test para un gcc bug. * Para compilar este test program: gcc -O2 sr_bug.c * * Algunas veces gcc para Intel CPUs genera codigos errados en optimizacion * nivel 2. el codigo errado es 'almost right' y esta oculto dentro del * programa que parece trabajar - incluyendo el Linux kernel. * el bug es muy viejo y ya ha sido reportado.Desde el 19-Dec-95, * el bug no ha sido fijado. * * Si cambias este código deberías testarlo, porque aun un * mínimo cambio puede esconder este elusivo bug. Si crees que * fijaste el bug, por favor corre el test original hasta * estar seguro. Puedes encontrar el test original abajo, despues de #if 0. * Escribi esta versión del test en Ingles para hacerla convivial, y * puede no ser tan solida como el original. * * Algunas personas que conocen mas que yo: * davis@space.mit.edu (John E. Davis) * anlauf@crunch.ikp.physik.th-darmstadt.de (Harald Anlauf) * craigs@iii2.iii.net (Craig Shrimpton) * * User-friendly versión by Albert Cahalan * */ #include <stdio.h> int gcc_sr_bug(void){ static int Array[3]; /* must be static (or global) */ unsigned int B = 3; /* must be unsigned 32-bit */ int i; for(i=0; i<B; i++) Array[i] = i<item> 3; for(i=0; i<B; i++) printf(<sq> %d,%d<sq>, i, Array[i]); return !Array[1]; } int main(){ printf(<sq>Testing for gcc bug...<sq>); if(gcc_sr_bug()){ printf(<sq>\n\nBad code! Your compiler generates bad output.\n\n<sq>); printf(<sq>Add<item>fno-strength-reduce to your gcc command line\n<sq>); printf(<sq>or put it into your gcc config file, such as in\n<sq>); printf(<sq>/usr/lib/gcc-lib/i486-linux/2.7.0/specs.\n<sq>); exit(1); }else{ printf(<sq>\nOK, no problem.\n<sq>); exit(0); } } </verb> <sect1> Emacs<p> Emacs es un editor de texte muy potente ya que es coherente y extensible pero consume muchos recursos (procesador y memoria). La mayor parte de quienes comienzan a emplearlo seriamente, explorando las documentaciones, no podrán dejarlo después. Aquí esta un archivo de configuración de base : <verb> ;; ;; Archivo .emacs: inicialización de emacs ;; Archivo de base : Guide du Rootard ;; (display-time) ;;Para tener la hora en la barre de estado (setq display-time-24hr-format t) ;; Formato 24 horas ;; Nuevos modes (autoload 'c++-mode "cplus-md" "C++ Editing Mode" t) (autoload 'perl-mode "perl-mode" "Perl Editing Mode" t) (autoload 'c-mode "c-mode" "C Editing Mode" t) ; mejor utilizar el "cc-mode" ;; Auto-Mode Settings : posiciona el modo de acuerdo a la extensión (setq auto-mode-alist (append '(("\.c$" . c-mode) ;; utiliza el modo C++ lo mismo para C ("\.h$" . c-mode) ("\.C$" . c++-mode) ("\.H$" . c++-mode) ("\.cc$" . c++-mode) ("\.C$" . c++-mode) ("\.pl$" . perl-mode) ;; Perl ("/tmp/snd\.[0-9]* " . text-mode);; Text (para el mail) "[Rr][Ee][0-9]* " . text-mode) ("\.ada$" . ada-mode) ;; Ada ("\.spec$" . ada-mode) ("\.body$" . ada-mode) ("makefile$" . makefile-mode) ;; Makefile ("Makefile$" . makefile-mode) ("Imakefile$" . makefile-mode)) auto-mode-alist)) # Remapes varies (global-set-key "\eg" 'goto-line) ;; ESC G = Goto line (global-set-key "\eo" 'overwrite-mode) (put 'eval-expression 'disabled nil) ;; Accents... (standard-display-european 1) (load-library "iso-syntax") ;; Sous X-Window, textos en colores (C/C++/Shell/Makefile,etc) (cond (window-system (setq hilit-mode-enable-list '(not text-mode) hilit-background-mode 'light hilit-inhibit-hooks nil hilit-inhibit-rebinding nil) (require 'hilit19) )) (if (not (equal window-system <sq><sq>)) (global-set-key "\C-?" 'delete-char)) )) </verb> Este archivo puede ser ampliamente mejorado. Para saber mas, consulta la documentación de Emacs (apoyar sobre <sq>control-H</sq> luego <sq>i</sq>), que esta bien hecha pero es un poco grande. Anotación : es posible agregar las lineas siguientes para poder servirse de los acentos en el momento de la edición de los archivos en modo texto : <verb> (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0) </verb> <sect1>Protección de puertos en serie<p> La utilización de puertos en serie plantea un problema de protección : hay que evitar que dos procesos concurrentes accedan a un puerto en serie dado al mismo tiempo. Pero de otra parte, si se tiene un puerto en serie sobre el cual gira un getty para tratar llamadas de entrada, nos gustaria también poder utilizar el puerto serie para pasar las llamadas que salen. Para resolver este problema, hay dos enfoques. El primero, es la protección por el núcleo. Utiliza dos dispositivos diferentes para acceder a un puerto serie : /dev/ttySn para las llamadas de entrada (le getty), y /dev/cuan para las llamadas de salida. Cuando el getty intenta abrir /dev/ttySn, esta bloqueado hasta que una llamada de entrada sea recibida y que el modem señal por la linea DCD del puerto serie. Cuando el getty esta bloqueado en la llamada del sistema open, se puede aun utilizar el dispositivo /dev/cuan para las llamadas que salen (evidentemente, el getty esta bloqueado cuando DCD est activado para la llamada que sale...) Por otra parte, una vez que /dev/cuan esta abierto, un proceso de otra sesión no puede abrirlo (si el sistema esta correctamente configurado -- consultar la opción sesion_lockout de setserial(8). Este evita que dos procesos intentando independientemente pasar una llamada de salida se encuentren escribiendo simultáneamente sobre el puerto serie. La segunda técnica es la de <sq>lock-files</sq> (archivos-protegidos). Ella consiste, para cada proceso que utiliza un puerto serie, escribir su PID en un archivo especial. De esta manera, cuando otro proceso quiere utilizar el mismo puerto serie, verifica la presencia del archivo, lo encuentra, lee el PID en donde esta escrito, verifica que el proceso correspondiente existe, y sabe entonces que el puerto serie esta ocupado y que el no puede utilizarlo. En este caso, no se utilizan que los /dev/cuan. Cada uno de los dos enfoques tiene sus ventajas y sus inconvenientes. El método de protección por el núcleo necesita emplear un modem en modo auto-respuesta, y autoriza la overtura del puerto serie por un proceso que quiere pasar una llamada de salida entre el momento en que el teléfono suena y el momento en que los modems han terminado de negociar (que puede tomar una decena de segundos.) El método de lock-files necesita una configuración homogénea de los programas utilizados (todos los programas deben buscar y colocar el lock-file en el mismo lugar, aceptando el formato PID en el que esta inscrito...) también necesita que el getty verifique periódicamente la existencia del lock-file, y puede entonces <sq>fallar</sq> una llamada que entra entre el momento en que un proceso libera el puerto serie y cuando verifica de nuevo la presencia del lock-file. Es también posible que un proceso de salida llegue a crear el lock-file entre el momento en que el getty detecta una llamada y cuando crea el lock-file para esta llamada. La selección de un método es, finalmente, una decisión individual de cada administrador, sabiendo que el enfoque <sq>lock-file</sq> es mas flexible, pero menos elegante y mas delicado a establecer que la protección para el núcleo. <sect1>Minitel<p> Es muy agradable poder conectarse al Minitel. Recupera el programa <tt>xtel</tt> de Pierre Ficheux. Es un emulador Minitel muy simple de utilizar. Puedes encontrarlo en ftp.ibp.fr en el repertorio <tt>/pub/X11/videotext/xtel</tt>. <sect1> Fax<p> Enviar documentos por FAX es perfectamente posible. Para hacerlo, puedes utilizar por ejemplo <it>Hylafax</it>. Se encuentra en el sitio <tt>ftp.funet.fi</tt> en el repertorio <tt>/pub/mirrors/sgi.com/sgi/fax/source</tt>. <sect1> Módulos Cargables Esta parte se inspira completamente del articulo que escribí en el periódico <sq>Les echos de Linux</sq>, en el mes de Julio 96. <sect2> Estructura del núcleo<p> El núcleo de un sistema UNIX puede ser representado bajo la forma de un objeto monolítico. Sin embargo, tal objeto posee el inconveniente de ser grande y estático. Cada vez que se desee agregar un nuevo dispositivo, es necesario recompilar el núcleo. Ademas, si uno utiliza ciertos gestionarios particulares raramente, se esta obligado a tenerlo en el núcleo, y hay tendencia a consumir memoria. <sect2> Que es un modulo cargable ?<p> Los módulos cargables, permiten reunir lo útil a lo agradable teniendo un núcleo más pequeño que posible, carga a la demanda si lo deseas de una manera manual por el super utilizador de la maquina, o de une manera automática. De esta manera, la ganancia de recursos no es despreciable. La primera pregunta que uno puede hacerse, es : <sq> Porque dos técnicas de cargamento ?</sq> La primera técnica es manual : hay que cargar o descargar los módulos a mano. La segunda es automática, gracias a la utilización de un demon especialista que es el esclavo del núcleo y que carga y descarga los módulos por él. De hecho, la versión 1.2 de Linux no ofrece la posibilidad de un cargamento manual que esta limitado al super-utilizador de la maquina y que es bastante pesado de manipular. En el desarrollo de la versión 2.0, un nuevo sistema implementado por Bjorn Ekwall permite efectuar un cargamento dinámico y automático de los módulos. <sect2> Compilación del núcleo<p> En el momento de la compilación del núcleo, es necesario especificar las opciones particulares para activar la utilización de los modulo cargables : <code> gandalf# make config * * Loadable module support * Enable loadable module support (CONFIG_MODULES) [Y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?] Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [Y/n/?] </code> He aquí el detalle de estas tres opciones : <itemize> <item> CONFIG_MODULES : activa el mecanismo de módulos cargables. Sin estas opciones, no funcionaran en tu sistema. <item> CONFIG_MODVERSIONS : si tu dejas esta opción a N (por defecto), deberás recompilar los módulos a cada actualización del núcleo de tu maquina. Esto significa que los módulos compilados para un núcleo 2.0.n no funcionaran con un modulo compilado para 2.0.n+1. Si activas esta opción, los módulos podrán ser lanzados... sin embargo, no se aconseja. <item> CONFIG_KERNELD : esta opción activa el cargamento automático de los módulos. Tu debes igualmente activar los IPC Systeme V porque el núcleo y el demon comunican vía los archivos de mensajes. </itemize> Una vez configurado, es suficiente lanzar la compilación al igual que la instalación : <code> gandalf# make dep ; make clean gandalf# make zImage gandalf# make modules ; make modules_install </code> Una vez que estas operaciones han sido efectuadas, los módulos se encuentran en el repertorio /lib/modules/x.y.z donde x.y.z que corresponde al numero de versión del núcleo. No nos queda sino mirar el cargamento. Nota importante : todos los útiles de manipulación de los módulos son archivados en un archivo <tt>modules-2.0.0.tar.gz</tt> en el repertorio <tt>v2.0.</tt> EIlos son instalados, por defecto, por las distribuciones standards, pero es importante utilizar la buena versión. <sect2> Cargamento : método manual<p> El cargamento manual esta basado en tres comandos : <itemize> <item> <tt>insmod</tt> : inserte un modulo en el núcleo ; <item> <tt>rmmod</tt> : descargue un modulo, si ningún proceso lo utiliza; <item> <tt>lsmod</tt> : da la lista de módulos cargados. </itemize> Su utilización te obliga ser super-utilisador. He aquí un ejemplo de utilización : <code> gandalf# insmod nfs.o gandalf# lsmod Module: #pages: Used by: nfs 12 4 gandalf# mount -t nfs /truc /mnt gandalf# lsmod Module: #pages: Used by: nfs 12 5 gandalf# cd /mnt gandalf# cd / gandalf# umount /mnt Module: #pages: Used by: nfs 12 4 gandalf# ps axu | grep nfs root 5535 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5536 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5537 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5538 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5557 0.0 0.4 864 300 q2 S 17:16 0:00 grep nfs gandalf# kill -9 5535 5536 5537 5538 gandalf# lsmod gandalf# rmmod nfs.o </code> Es necesario <sq>matar</sq>(killar) los 4 demons nfsiod porque ellos son lanzados cuando NFS es activado. Como puedes verlo, estas operaciones se vuelven relativamente difíciles. es por esta razón que el sistema de cargamento automático ha sido creado. <sect2> Cargamento automático : <tt>kerneld</tt><p> <sect3>Introducción<p> El sistema de cargamento automático de módulos permite reducir al mínimo la talla de su núcleo. El principio de funcionamiento es particularmente simple : un demon en modo usuario esta a la escucha de las ordenes del núcleo (vía un archivo de mensaje de tipo IPC Sistema V). Cuando un proceso intenta acceder a un recurso sistema (vía un llamado sistema open, etc...), el núcleo envía la orden de cargamento del modulo a kerneld. Una vez el mensaje es recibido, kerneld ejecuta un modprobe para cargar los módulos necesarios : Esquemas del cargamento/descargue de los módulos con kerneld <sect3>Consejos para la compilación del núcleo<p> En cambio, en el momento de la compilación del núcleo, es necesario colocar al menos el soporte para permitir el inicio de la maquina y el montaje de la raíz de tu sistema de archivo (por ejemplo, support IDE + ext2fs). Tu puedes tener todo el resto en modulo (tarjeta sonido, sistemas de archivos, tarjeta SCSI, etc). <sect3>Puesta en marcha<p> <bf>Esta parte, de modificacion, solo es valida si tu maquina no esta dotada de <tt>kerneld</tt>. Las nuevas distribuciones efectuan una instalacion correcta.</bf> Para realizar la puesta en marcha del sistema de carga de módulos, es necesario efectuar ciertas modificaciones al nivel de tu configuración. En efecto, es necesario que en el momento de iniciar la maquina, el demon kerneld sea lanzado y realizar una especie de lista de dependencias de los módulos : ciertos módulos no pueden ser lanzados antes que otros no l sean. En un primer momento, hay que crear el archivo <tt>/etc/rc.d/rc.modules</tt> en el cual, tu colocas : <code> # Modules # # Creación de un enlace lógico para el núcleo corriente # # /bin/rm -f /lib/modules/current ln -sf /lib/modules/`uname -r` /lib/modules/current # # Creación de las dependencias if [ \! -r /lib/modules/current/modules.dep ] then echo "Creating module dependencies" /sbin/depmod -a fi # # Carga de los módulos de arranque... # if [-x /sbin/kerneld ] then if find /lib/modules/boot -type f -o type l > /dev/null 2>&1 then echo "Loading boot-time modules" /sbin/modprobe -a -t boot \* fi else echo "Loading modules" /sbin/modprobe -a \* fi # # Si usted posee otros tipos de demons kerneld a lanzar... # if [-x /sbin/kdsound ] then echo "Starting sound daemon" /sbin/kdsound & fi </code> Esto permite generar las dependencias de tus módulos cada vez que inicias tu maquina. Enseguida, en el archivo <tt>/etc/rd.d/rc.S</tt> (puede depender de tu distribución...), conviene agregar : <code> # Start update. /sbin/update & # *** A AGREGAR *** # Lanzamiento de kerneld lo mas pronto posible, de tal manera # que los módulos de sistemas de archivos puedan ser cargados if [ -x /sbin/kerneld ] then echo "kerneld running" /sbin/kerneld fi # Un poco de limpieza cat /dev/null > /var/adm/utmp # Lanzamiento del script de los módulos if [ -f /etc/rc.d/rc.modules ]; then /etc/rc.d/rc.modules fi </code> Una vez que estas modificaciones son efectuadas y la maquina reinicializada, todo debe quedar en su lugar. Si kerneld permite cargar automáticamente los módulos, permite igualmente descargarlos luego de cierto tiempo sin utilizarlos. Por defecto, si ningún proceso accede al modulo durante mas de 60 segundos, es automáticamente descargado. Es posible modificar este valor agregando el parámetro <tt>delay=Nb_Segundos</tt> a kerneld donde Nb_Secondes es la prolongación en segundos. <sect3> El archivo /etc/conf.modules<p> puede suceder que sea necesario configurar un ultimo archivo: el archivo <tt>/etc/conf.modules</tt>. este archivo contiene los caminos donde se encuentran los módulos que deben ser cargados y enseguida los alias para los módulos. Si tu no tienes este archivo, puedes crearlo con : <code> gandalf# /sbin/modprobe<item>c | grep<item>v '^path' >/etc/conf.modules </code> puede suceder que en el momento del primer arranque obtengas este mensaje : <verb> Cannot locate module for net-pf-3 Cannot locate module for net-pf-4 Cannot locate module for net-pf-5 </verb> Que no cunda el panico ! Este mensaje no es malo y para no tenerlo mas, añade en el archivo <tt>/etc/conf.modules</tt> : <code> alias net-pf-3 off alias net-pf-4 off alias net-pf-5 off </code> puede suceder que ciertos dispositivos tengan necesidad de ciertos parámetros particulares. Consulta el documento Kernel HowTo. <sect3> Algunas referencias<p> Tu puedes consultar estas referencias para mas información : <itemize> <item> http://www.pi.se/blox/modules/index.html : sitio oficial para los archivos de los módulos ; <item> cualquier espejo de las fuentes Linux ; <item> Kerneld Mini Howto. </itemize> <sect>Para ir mas allá<p> <sect1><sq>Comenzar bien con <bf/Linux/</sq> (V 2.2.2)<p> Este libro es la traducción del libro <sq><bf/Linux/ Installation and Getting Started</sq> de Matt Welsh (<tt>mdw@sunsite.unc.edu</tt>), versión 2.2.2. La traducción fue realizada por Rene Cougnenc y esta disponible en <tt>ftp.ibp.fr</tt> en <tt>/pub/linux/french/books</tt>. <sect1> Libros<p> Aunque <bf/Linux/ tiene como principio el de ser completamente gratuito, varias obras se vende en el comercio. <itemize> <item> <sq>Le sistema <bf/Linux/</sq> de Matt Welsh & Lar Kaufman (618 pages, 280FF T.T.C.) en O'Reilly. Traducción de Rene Cougnenc. <item> <sq>Administration Reseau sous <bf/Linux/</sq> de Olaf Kirch (336 pages, 220FF T.T.C.) en O'Reilly. Traducción de Rene Cougnenc. <item> <sq><bf/Linux/ Kernel Internals</sq> de M. Beck, H. Boehme, M. Dziadza, U. Kunitz, R. Magnus et D. Verworner en Addison-Wesley ; <item> <sq>Programmation <bf/Linux/ 2.0, API Sistema et Fonctionnement del núcleo</sq> por Remy Card, Eric Dumas et Franck Mevel en editorial Eyrolles. </itemize> Es importante señalar que se puede recuperar las fuentes Latex de la traducción de la segunda obra en <tt>ftp.ibp.fr</tt> en <tt>/pub/linux/french/books</tt>. El numero de libros relacionados con <bf/Linux/ tiende a explotar en la ultima época. Se puede consultar el sitio <tt>http://excalibur.inp-fc.fr/anrtt/doc/index.html</tt> que intenta presentar los libros disponibles <sect1>Los HowTo's<p> La mayoría de HowTo's o mini HowTo ya han sido traducidos al francés. Están disponibles en el <tt>ftp.ibp.fr</tt> en el repertorio <tt>/pub/linux/french/docs/HOWTO</tt>. Esta es la lista : HowTo : <verb> Boot-disk-HOWTO BootPrompt-HOWTO NIS-HOWTO Net2-HOWTO Busmouse-HOWTO PCI-HOWTO CDROM-HOWTO PPP-FAQ Comercial-HOWTO DOSEMU-HOWTO Printing-HOWTO Distribucion-HOWTO ELF-HOWTO SCSI-HOWTO PPP-HOWTO SCSI-Programacion-HOWTO Firewall-HOWTO Ftape-HOWTO Serial-HOWTO GCC-HOWTO Sound-HOWTO HAM-HOWTO Term-HOWTO Tips-HOWTO Hardware-HOWTO UPS-HOWTO IPX-HOWTO UUCP-HOWTO Instalacion-HOWTO Video-HOWTO Java-HOWTO XFree86-HOWTO Kernel-HOWTO Keyboard-HOWTO MGR-HOWTO Mail-HOWTO Modems-HOWTO </verb> Mini-HowTo : <verb> Anon-ftp NFS-Root X-Terminal Assembleur Postgres ZipIomega Colour-ls Proxy-ARP IO-Port Shadow-Password Jaz Slip+ProxyARP LILO Term-Firewall Large-IDE Token-Ring Man-Page Win95+Win3x+<bf/Linux/ </verb> A pesar de todo esto, aun falta mucho trabajo! Si quieres unirte al grupo de traductores, puedes hacerlo inscribiéndote en la lista de traducción: <verb> mail majordomo@linux.eu.org subscribe traduc </verb> <sect>Direcciones<p> Algunas buenas direcciones: <itemize> <item> sitios FTP <itemize> <item> <tt>ftp.ibp.fr</tt> : espejo de <it>tsx-11.mit.edu</it>, de <it>sunsite.unc.edu</it> con las ultimas actualizaciones del nodo, y sobretodo toda la arborescencia francesa. Se trata del sitio de referencia en Francia concerniente a <bf/Linux/ (y seguramente para el resto igualmente... bravo Rémy !). <item> ftp.ese-metz.fr : espejo de ftp.ibp.fr ; <item> ftp.loria.fr (espejo de sunsite y deibp) ; <item> una lista mas completa se encuentra en la hoja de información que puedes consultar al principio de esta guía. </itemize> <item> BBS : la lista de los BBS se puede encontrara en la hoja de información al principio de esta guía ; <item> WWW : <itemize> <item> http://www.freenix.fr/linux : el sitio oficial de los howto en francés. Aquí encontraras todas las versiones html. Es igualmente el sitio oficial de la Guía del ROOTard. <item> http://www.loria.fr/linux : espejo que tiene que ver con los howto. Encontraras en este servidor otras informaciones, como los artículos puestos después de mas de un ano en f.c.o.l. <item> http://www.alienor.fr/~dumas/<bf/Linux/ : mi modesta pagina dedicada a <bf/Linux/. </itemize> <item> Listas locales: Existen dos en lo que conozco : <itemize> <item> toulouse : <verb> majordom@arlesienne.ensica.fr : subscribe linux-31 </verb> <item> bordeaux : <verb> majordomo@rd.lectra.fr : subscribe linux-33 </verb> <item> Dauphiné : <verb> http://opera.inrialpes.fr/linux/guilde </verb> </itemize> <item> <bf/Linux/ Journal Francais (Los ecos de linux) : creado por Pierre Ficheux y por mi mismo, este periodico es difundido por Web, pero los artículos son igualmente disponibles en los servidores ftp : http://echo-linux.alienor.fr. Servidor ftp : ftp.ibp.fr:/pub/linux/french/echo-linux. Una lista mailing es accesible : <verb> mail majordomo@rd.lectra.fr subscribe echo-linux </verb> </itemize> <bf/Para encontrar ayuda/ : en un primer momento, intenta encontrar los datos en esta guía. En seguida, mira los HowTo. Finalmente, si fracasas, echa un vistazo en el <tt>newsgroup fr.comp.os.linux</tt>. <sect> Contribuciones<p> Aquí esta la list de las personas que han participado a la realización de este documento. Es muy posible que olvide alguien... mis excusas ! Gracias a todos. <itemize> <item> A todos aquellos sin quienes este documento no seria lo que es: <item> Stephane Bortzmeyer (bortzmeyer@pasteur.fr) <item> Remy Card (Remy.Card@freenix.fr) <item> Rene Cougnenc <item> Pierre Ficheux (pierre@rd.lectra.fr) <item> Nat Makarevitch (nat@nataa.fr.eu.org) <item> Julien Simon (Julien.Simon@freenix.fr) </itemize> <tt>Contribuciones :</tt> <itemize> <item> Jean-Michel Antoine (Jean-Michel.Antoine@loria.fr) <item> Michel Billaud (billaud@labri.u-bordeaux.fr) <item> Laurent Chemla (chemla@brainstorm.eu.org) <item> Laurent Frigault (frigault@isicom.fr) <item> Frederic Lepied (fred@sugix.frmug.fr.net) <item> Stephane Marzloff (100557.571@compuserve.com) <item> Marc Merlin (magic.metawire.com) <item> Thomas Parmelan (Thomas.Parmelan@darshiva.efrei.fr) <item> Thomas Quinot (thomas@cuivre.fdn.fr) <item> David Robert (david@anrtt.inp-fc.fr) <item> J.M. Vansteene (J.M.Vansteene@frcl.bull.fr) </itemize> <sect> Si quieres participar en <bf/Linux/<p> <bf/Linux/ es un sistema abierto, que evoluciona. Numerosos desarrollos son actuelmente en curso, tales como <it>Wine</it> (WINdows Emulator), el proyecto de documentación de <bf/Linux/(<bf/LDP/), la internacionalización. Todos estos proyectos (y otros más) son realizados por personas de buena voluntad que dan un poco de su tiempo, desde la programación, a la traducción de documentos, etc. Si deseas ofrecer un poco de tu tiempo para <bf/Linux/, no dudes en contactarme. <sect> That's all folks<p> Se termino. Si ciertos puntos te parecen obscuros, etc, no dudes en contactarme. esta guía seguira evolucionando, pero no lo, podrá hacer que gracias a ti, así que si encuentras un truco realmente genial, envíalo : (Eric.Dumas@freenix.fr) (nt: o a caliman@magic.fr). Mont de Marsan, 14 Decembre de 1996. Bergerac, le 29 Décembre 1996. <sect>Spanish Linux HOWTO<p> <htmlurl url="mailto:Gonzalo.Garcia-Agullo@jrc.es" name="Gonzalo.Garcia-Agullo@jrc.es">. <tt>date</tt>v0.1, 20 August 1996 <sect1>Abstract<p> This is the very first issue of the Spanish Linux HOWTO. The target audience of this document is the growing family of Linux users in Spain and Latin America, so this How-To is of course in Spanish. Some non-Spanish speakers have asked for information on Linux in the Spanish environment, for developing software with Spanish support or just to get in touch with the Linux community in Spain. You're welcome in any case... <sect1>Introducción <sect2>Empecemos por el principio... <p> Este documento pretende ser el punto de entrada de los hispanohablantes al mundo Linux, intentando abarcar tanto a los principiantes de este apasionante sistema como a los ya iniciados que buscan información puntual. Se tratarán de forma genérica todos los temas que puedan interesar al usuario de Linux, desarrollándolos en castellano o dando referencias a otras fuentes de información en nuestro idioma, así como orientación cuando tenga que acudir a otras HOWTO y en general a cualquier documento en inglés. Se distribuye integrado con el Linux Documentation Project en todos los foros de información Linux en Internet. Se actualiza periódicamente, pudiendo encontrar la última versión en <url url="http://www.cs.us.es/archive/linux.html" name="Linux/España"> Notas del autor: Aunque puede ser interesante de por sí, traducir sin más información ya editada en inglés no es el objetivo de este documento, sino más bien servir de base al usuario hispanohablante y divulgar el Linux en nuestro idioma. Una ambición de quien escribe es, desde estas líneas, poner su grano de arena para coordinar los esfuerzos (valiosos pero muy diseminados por la red) de tanto Linuxero como ya hay. Otro objetivo menos pretencioso de este documento es complementar todas las demas Howto's en aquellos aspectos concretos que afecten a los usuarios hispanos (configuración del sistema y de las aplicaciones para trabajar en nuestro idioma, teclados, correo electrónico en español, etc). Un tercer objetivo será servir de agenda actualizada de direcciones españolas dedicadas a Linux, tanto para difusión de las distribuciones originales de software Linux como de desarrollos propios en español que se vayan publicando. Vaya desde aquí mi agradecimiento en esta primera versión para <url url="mailto:antonio-luis.delgado@cs.us.es" name="Antonio L. Delgado">, compañero de la Facultad de Informática de Sevilla, por prestarse a echar una mano redactando esta Howto en las calurosas tardes de Sevilla. Cualquier comentario, sugerencia para nuevos contenidos, rectificación de errores, crítica, etc. es no sólo bienvenido sino también esperado. Contacta por correo electrónico para todo lo que quieras. <sect2>¿Qué es linux? <p> Linux es una implementación del sistema operativo UNIX (uno más de entre los numerosos clónicos del histórico Unix), pero con la originalidad de ser gratuito y a la vez muy potente, que sale muy bien parado (no pocas veces victorioso) al compararlo con las versiones comerciales para sistemas de mayor envergadura y por tanto teóricamente superiores. Comenzó como proyecto personal del -entonces estudiante- Linus Torvalds, quien tomó como punto de partida otro viejo conocido, el Minix de Andy. S. Tanenbaum (profesor de sistemas operativos que creó su propio sistema operativo Unix en PCs XT para usarlo en su docencia). Actualmente Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red Internet, desde donde una gigantesca familia de programadores y usuarios aportan diariamente su tiempo aumentando sus prestaciones y dando información y soporte técnico mútuo. La versión original -y aun predominante- comenzó para PCs compatibles (Intel 386 y superiores), existiendo también en desarrollo versiones para prácticamente todo tipo de plataformas: <url url="http://www.cs.us.es/archive/linuxppc/" name="PowerPC">, <url url="http://www.geog.ubc.ca/sparclinux.html" name="Sparc">, <url url="http://www.azstarnet.com/~axplinux" name="Alpha">, <url url="http://www.fnet.fr/linux-mips/" name="Mips">, etc. De todas ellas la más reciente en este momento es la versión para <url url="http://www.mklinux.org" name="PowerMac"> (el PowerPC de Apple) basada en el microkernel Mach 3.0 y de la que ya hay una distribución para desarrolladores avalada directamente por Apple y OSF pero conservando el espíritu (gratuito, de libre distribución, etc) de la version original. Un servidor la acaba de probar hace unos días y se ha llevado una grata sorpresa (aún tendrá muuuchos fallos, pero para ser una primerísima versión y el poco tiempo que lleva en marcha, ha avanzado más de lo que me esperaba). <sect2>¿Cómo conseguirlo? <p> La primera fuente para conseguir el sistema Linux es la propia red Internet, y es donde estarán siempre las últimas versiones y las aplicaciones más actualizadas en muchos servidores de FTP anónimo. Otra vía muy frecuente, de interés para principiantes y para quienes no deseen o no puedan permitirse copiar tanta cantidad de información a traves de la red, es mediante las versiones comercializadas en CDROM. Hay empresas que se dedican a elaborar CDROMs de bajo coste con recopilaciones de software, manuales, etc. El corazón del sistema es el mismo, aunque pueden tener externamente presentaciones y formas distintas de instalación. Hay revistas especializadas que tambión suelen incluir CDs con alguna versión de Linux. Hacia el final de este documento se relacionan diversas fuentes de Linux, tanto servidores públicos en la red como direcciones de empresas que lo comercializan. Una ventaja (para muchos usuarios termina siendo un inconveniente) es la gran rapidez con la que se se desarrolla Linux. Constantemente llegan a los principales servidores Linux en la red actualizaciones del núcleo del sistema, de aplicaciones, utilidades, manuales y documentación, etc. Es bueno estar al día, seguir con atención su evolución y aprovechar las mejoras que se incorporen, pero en la mayoría de los casos no vale la pena estar reinstalando software por el simple hecho de ser una nueva versión, sino que hay que ser un poco selectivos, al menos con el software. En el caso de los manuales, How-To's, grupos de noticias y/o listas de correo sí que vale la pena estar "a la última", sobre todo porque es allí donde nos sacarán de apuros cuando agotemos nuestros propios recursos... <sect2>¡Socorro! ¿Dónde están los manuales? <p> Como ocurre en todas las versiones de Unix, el primer sitio donde mirar cuando tenga una duda concreta sobre tal comando, fichero de configuración, etc. es la orden '<tt/man/', que incluye la ayuda de referencia de Unix. Pero sólo es útil en ese ámbito, cuando ya se sabe más o menos lo se que busca, y sólo se necesita aclarar dudas concretas. Para todo lo demás la mejor fuente de información es, cómo no, la propia red. En ella están disponibles tanto libros completos (de los que algunas editoriales especializadas han publicado versiones en papel) como la colección "Linux HOWTO", de la que este documento forma parte. Hay una HOWTO para prácticamente cualquier tema. Su objetivo es cubrir, mediante manuales breves, concisos y específicos, cualquier duda que pueda surgir. Se actualizan permanentemente, y se distribuyen a través del denominado "Linux Documentation Project" (LDP) en Internet. La misma información se publica en muy diferentes formatos, orientados tanto a la búsqueda y consulta en línea como a su lectura convencional. Todas las versiones de Linux incluyen estos manuales (al menos la última edición disponible en el momento de recopilar el CDROM correspondiente), y al final de este documento se aportan algunas de las muchas direcciones para consultar en la red. <sect1>Distribuciones <p> <em>Extracto de la <tt>Distributions-HOWTO</tt> sobre distintas versiones de Linux. Acuda a ella para ampliar información</em> <p> El único elemento común a todas las versiones Linux es su kernel -el núcleo del sistema operativo-, que se desarrolla de forma coordinada y con actualizaciones sistemáticas. Sin embargo todo sistema operativo necesita, junto al núcleo del sistema, todo un conjunto de utilidades y herramientas de instalación, configuración y uso. Ahí juegan su papel las diferentes distribuciones: algunos particulares, entidades y empresas se dedican a hacer determinadas recopilaciones de software que ellos mismos preparan para que sean facilmente instalables y configurables. Todas ellas facilitan el software junto a su código fuente, pero la flexible licencia GNU a la que se acojen permite tanto ofrecerlas gratuitamente como distribuirlas por canales comerciales (lo que se paga es el trabajo de recopilación, el software de cosecha propia que pueda aportar, una presentación más elaborada, gastos de distribución y soporte técnico al usuario). Algunas de las distribuciones más conocidas son: <descrip> <tag/Slackware/ Esta distribucion es quizas de las más extendidas en todo el mundo y la más conocida en España, ya que es la que han divulgado las publicaciones del sector. Incluye con creces todo el software que cualquier usuario medio o avanzado pueda necesitar, y su método de instalación es asequible aunque lejos de las típicas y vistosas instalaciones a las que el usuario neófito esta acostumbrado en los sistemas comerciales. Tiene diversos derivados comercializados bajo diferentes nombres (por ej. "Slackware Pro") que mejoran la instalación e incluyen manuales y bibliografía en un único lote. Esta en todos los FTPs principales, siendo <url url="http://www.cdrom.com/"> su distribuidor de origen. <tag/Red Hat/ Creada por Red Hat Software, en Connecticut, EE.UU. Una de sus ventajas es el atractivo sistema de instalación (en modo gráfico) y el cómodo mantenimiento de componentes de software, lo que facilita enormemente las tan frecuentes actualizaciones. Se puede obtener tanto gratuitamente en la red como adquiriendo el CDROM correspondiente. Otras empresas comercializan también sistemas basados en Red Hat, como Caldera Inc. y Pacific Hi-Tech. Aún poco conocida en España pero pujante, sobre todo para principiantes. Sus creadores estan en <url url="http://www.redhat.com">. El mencionado sistema de gestión de componentes de software es obra suya, pero lo han ofrecido con carácter abierto y gratuito a los demás desarrolladores bajo la licencia de GNU, por lo que es previsible que en el futuro otros muchos asuman este sistema en sus propias distribuciones, lo que facilitará enormemente las actualizaciones. <tag/Debian/ La Free Software Fundation (FSF) es bien conocida entre los acérrimos usuarios de software gratuito para Unix. Son los creadores del sistema <bf>GNU</bf>, su futuro Unix gratuito. Ya hay mucho material pero no un sistema operativo completo, asi que mientras tanto ofrecen un Unix integrado por el nucleo de Linux y el software de GNU. <url url="http://www.debian.org">. </descrip> <sect1>Ayuda a la instalación de la distribución Slackware <p> <em>Este es un extracto de la <tt>Installation-HOWTO</tt>, orientada fundamentalmente a la instalación de Linux Slackware. Mucha de la información sobre instalacion de Slackware es aplicable a cualquier versión de Linux, pero no necesariamente al pie de la letra.</em> <p> Aparte de otras muchas variantes que se puedan considerar, a la hora de instalar Linux en nuestro disco duro hay básicamente dos formas: UMSDOS y Partición nativa. Cada una tiene sus ventajas e inconvenientes, pero como se verá es recomendable que todos los usuarios terminen usando el segundo método ya que es el más eficiente y el que mejor aprovecha las ventajas de Linux. <sect2>Instalación con UMSDOS <p> Consiste en aprovechar el espacio de disco que queda libre en los PCs con MSDOS, sin necesidad de tocar las particiones de disco. Linux es un sistema operativo, y como tal totalmente independiente, no requiriendo por tanto ningun otro sistema operativo en su ordenador (aunque puede convivir perfectamente con ellos). Sin embargo es un parque muy amplio el de usuarios que ya tienen instalado MSDOS y/o MS-Windows y que, al no considerase expertos, no se atreven en un primer momento a reparticionar el disco para sustituir total o parcialmente a su sistema actual. Para ellos, o simplemente para quien quiera ver y probar Linux sin ser tan drasticos formateando discos duros, la solución es UMSDOS. Permite crear, a partir de un directorio de MSDOS, toda la estructura que tendría un disco nativo de Linux. Cuando arranque el sistema, Linux emulará su disco a partir de la información en ese directorio. Es totalmente funcional, pero puede ser ligeramente más lento en ordenadores de gama media-baja y no aprovecha la gestión de disco nativo. Una gran ventaja es que si se libera disco en Linux, implícitamente estamos creando espacio que será aprovechable cuando arranquemos MSDOS, y viceversa. Además, el día que queramos deshacernos de Linux (¡poco probable!) o que simplemente nos decidamos a hacer una instalación completa, desinstalar ese Linux es tan sencillo como simplemente borrar sin contemplaciones el directorio <tt>C:\LINUX</tt> que creó desde MSDOS. <sect2>Instalación en partición nativa de Linux. <p> Salvo la fase inicial en la que se preparan las particiones nativas o el UMSDOS, el procedimiento restante de instalación es básicamente el mismo. Ya que puede ser el que provoque más dudas, centraremos estos consejos de instalación en la instalación con partición nativa. Pero recuerde que <code> ESTO NO ES UNA GUIA DE INSTALACION, SINO UN COMPLEMENTO A LAS INTRUCCIONES DE INSTALACION DE SU VERSION DE LINUX. LEA LA INSTALLATION-HOWTO Y/O EL MANUAL QUE ACOMPAñA A SU DISTRIBUCION ANTES DE COMENZAR, O DE LO CONTRARIO PUEDE FALLAR LA INSTALACION E INCLUSO INUTILIZAR EL SOFTWARE QUE PUEDA TENER YA INSTALADO EN SU ORDENADOR. LA DISTRIBUCION TOMADA COMO BASE ES LINUX SLACKWARE 3.0. EL PROCEDIMIENTO PUEDE VARIAR DE UNAS VERSIONES A OTRAS. EN CASO DE DUDA ACUDA A LOS MANUALES DE SU SISTEMA O CONSULTE A LOS CANALES DE AYUDA Y SOPORTE LINUX HABITUALES (EN INTERNET O A SU DISTRIBUIDOR) LOS AUTORES DE ESTA DOCUMENTACION NO SE RESPONSABILIZAN DE LOS POSIBLES DESASTRES QUE PUEDA OCASIONAR. SI DECIDE CONTINUAR ES BAJO SU EXCLUSIVA RESPONSABILIDAD. (Nos gusta dormir tranquilos ;^) ) </code> <sect3>Preliminares <p> En esta instalación es necesario que LINUX disponga de una partición distinta a la de MSDOS para trabajar. Si ya tiene algún sistema instalado, lo más frecuente es que sea una única partición DOS que ocupe todo el disco, por lo que reparticionar supone eliminar esa partición para volver a crearla asignándole menos disco para hacer sitio a Linux (o para dárselo totalmente, según la instalación escogida). Eso supone perder como norma general todos los datos en las particiones ya existentes. Existe, sin embargo, una utilidad anexa a Linux que corre sobre MSDOS y que permite "encoger" una partición de DOS siempre que la unidad tenga espacio libre y haya sido totalmente defragmentada (con la utilidad "DEFRAG" de MSDOS 6.x o similares). Esto le permitirá crear nuevas particiones conservando sus datos en la partición MSDOS actual. Esta utilidad se llama <tt>"fips"</tt> y la encontrará en su servidor habitual en la red junto a otras utilidades de MSDOS para ayudar a la instalación de Linux. LEA LA DOCUMENTACION DE FIPS ANTES DE UTILIZARLO. Primero debe liberar en MSDOS el espacio que pretenda reservar para la nueva partición de Linux (y para el espacio de swap, como después se comentará). Después debe defragmentar la partición de DOS con la utilidad "defrag" que acompaña a las últimas versiones de DOS, o bien sus equivalentes de PCTools o Norton. Ahora puede correr el programa fips y crear una nueva partición con el espacio liberado. Lo habitual será crear dos particiones: una <em/Linux native/ para el sistema, y una <em/Linux swap/ con por ej. el doble que de RAM, pero en caso de necesidad incluso puede ahorrarse una partición específica para swap, y "robar" ese espacio de disco bien a MSDOS o al propio Linux. <sect3>Formateo de la partición. <p> Una vez añadida la nueva partición que destinaremos a Linux, hay que preparar la siguiente etapa, el arranque de Linux, ya que salvo el apartado anterior en el que salvaguardamos la instalación previa de MSDOS, toda la instalación se hará desde el propio Linux. Para arrancar necesitaremos dos disquetes (en algunas distribuciones como RedHat pueden ser tres), donde grabaremos tanto el núcleo del sistema operativo como los primeros programas con los que poder empezar a instalar. El primer disquete es el que etiquetaremos como "boot disk", y es donde irá el núcleo del sistema con el que arrancar. Como Linux es casi un sistema "a la carta", que puede llevar en el núcleo más o menos funcionalidades según nuestras necesidades, deberemos escoger entre los núcleos precompilados aquel que se adapte mejor a nuestro caso. En el futuro será recomendable que incluso recompilemos nuestro propio núcleo para personalizarlo aún más, añadir lo que falte y simplificar lo que sobre en nuestro caso. El siguiente disquete es el "root disk" o "ramdisk", que incluye el software mínimo que cargaremos en memoria para la instalación. En la distribución de Linux tendremos una serie de ficheros que constituyen "imágenes" de esos disquetes. Es decir, una vez elegidas qué diquetes necesitaremos, los crearemos a partir de esas imágenes, bien desde otro sistema Linux ya funcionando (o incluso de cualquier Unix en general), bien desde MSDOS con otra utilidad complementaria de "fips": "rawrite". Una vez hecho esto ya puedes arrancar con tus discos. Introduce el "boot disk", arranca el ordenador y sigue sus instrucciones. Cuando finalice la fase de arranque Slackware te ofrecerá un símbolo para hacer "login" (entrar en el sistema), mientras que RedHat arrancará directamente la aplicación de instalación. Utiliza el nombre "root" como nombre de usuario (es el super-usuario que administra el sistema). La primera vez no necesitarás clave alguna para entrar. Ya estas en el prompt de Linux, desde donde puedes crear tus particiones y tu espacio de swap (es una zona especial de disco que Linux usa como memoria virtual que complementa a la memoria RAM del ordenador). Al igual que en MSDOS, el comando para gestionar particiones se llama "fdisk". En algunas versiones hay también una "cfdisk" con un interfaz más asequible, aunque iguales en lo básico. Si posees una partición de MSDOS, no te asustes, sigue adelante, no la vas a perder simplemente por entrar en fdisk, pero sí que debes tener precaución al añadir la partición linux sobre el espacio que le habíamos quitado a MSDOS, para no afectar a éste. Dentro de fdisk usa la opción 'n' para añadir nuevas particiones. Dalas de alta como particiones primarias (si ya tienes una particion de arranque con MSDOS, ésta será la partición 1 y a partir de ahí añadirás particiones Linux). Es ahora el momento de añadir el espacio de swap, conveniente siempre, e incluso imprescindible si se dispone de memoria igual o inferior a 8Mb. Como regla orientativa puede servir tener el doble de swap que RAM (para 8Mb o menos de RAM), y 1.5 veces para memorias superiores, pero depende de la disponibilidad de disco y de memoria que tengamos, así como del uso que le vayamos a dar. En realidad será tu experiencia la que te irá diciendo en sucesivas instalaciones cuánto swap necesitas. En caso de disponer de más de un disco duro es muy recomendable tener separadas las particiones de linux y de swap (por ej. DOS+swap en uno y linux en el otro), lo que mejorará el rendimiento global. Una vez creadas las particiones, hay que definir también en fdisk el uso que van a tener (tipo de partición), siendo obviamente "linux swap partition" (tipo 83) para el swap, y "Linux native partition" para el propio linux. Al final, y siguiendo con este ejemplo, tendrás tres particiones definidas: <itemize> <item>MSDOS, marcada como "activa", con el arranque. <item>Linux swap. <item>Linux Native, donde residirá el linux. </itemize> NO TENGAS MIEDO POR TOCAR Y PROBAR: HASTA QUE NO USES LA OPCION DE ESCRIBIR A DISCO, PUEDES HACER TODO TIPO DE PRUEBAS Y/O CANCELARLO TODO HASTA ESTAR SEGURO Y GRABAR LA NUEVA TABLA DE PARTICIONES. Es probable que haya que rearrancar si modificamos las particiones, y continuar con el software de instalación de nuestro Linux. En el caso de Slackware, ese software de instalación ya necesita al menos 8Mb de memoria, por lo que si estamos justos de memoria tendremos que activar ya mismo el swap antes de ejecutarlo. Si ese es el caso, hay que hacerlo en dos pasos: formatear la partición de swap y luego activarla para que empiece a complementar la RAM. Los comandos serían <code> mkswap -c /dev/hdXX swapon /dev/hdXX </code> donde <tt>/dev/hdXX</tt> sería el nombre de la partición que hemos definido como swap. Una vez hecho esto, Slackware ya aporta una utilidad de instalación que detectará las particiones creadas y procederá con el resto de la instalación con la aplicación "setup", que nos guiará durante toda la instalación con un sencillo interfaz de menús, que no requiere muchas explicaciones. Durante una de las etapas de la instalación Setup intentará preparar el swap. Si lo hemos hecho ya a mano habrá que indicarle que se lo salte, mientras que en el resto de los casos dejaremos que setup haga todo lo que tenga que hacer. <sect3>Instalación de los discos. <p> Slackware divide la distribución del sistema operativo en "series" temáticas, y a su vez cada una de ellas en directorios que se corresponden perfectamente con disquetes de 1.44Mb. Los discos esenciales serían los de la "Serie A", con los que el sistema ya es arrancable autónomamente desde el disco duro, aunque en la práctica lógicamente instalaremos también la "AP" (aplicaciones básicas), "N" (software de red, si vamos a conectarnos con cualquier modalidad), "D" (compiladores y librerías), "X" y "XAP" para el entorno gráfico XFree86. Por su parte RedHat organiza el software también en "paquetes" instalables de forma independiente y también agrupados por temas, aunque no sigue ningún esquema traducible en disquetes, por lo que las únicas vías de instalación son CDROM o directamente de la red. <sect3>Configuración <p> Una vez cargados a disco los paquetes de software, la siguiente fase será la de configuración, que se realiza desde el mismo programa de setup. Como esta parte es muy variable y depende de cada caso. Nos centraremos en dos puntos típicamente problematicos: el arranque del sistema (incluida la posibilidad de arrancar múltiples sistemas operativos desde distintas particiones o distintos discos) y la configuración de red Para instalar un método de arranque de Linux hay dos utilidades: "Lilo" y "Loadlin". La primera es un pequeño programa que se instala en el "Master boot record" del disco duro o en la partición que fdisk marcó como "activa", y que permite arrancar indistintamente Linux, DOS 6.x, Windows95, etc. La segunda es una utilidad de MSDOS que permite dejar en paz los arranques de particiones, haciendo en su lugar un "arranque en caliente" directamente desde DOS. Ambos funcionan bien, por lo que elegir una u otra es cuestión de preferencias de cada cual. En el segundo caso podrí darnos algún error si hubiera algún programa de DOS residente en memoria que pueda obstaculizar la carga de Linux. Eso es relativamente facil de solucionar jugando un poco con las configuraciones de DOS (incluso con los menus de arranque que incorpora el config.sys de MSDOS 6.x), pero incluso en ese caso podemos encontrarnos dos obstaculos mas: si tenemos instalado DoubleSpace/Drivespace hay que evitar que se cargue en memoria pulsando F8 durante el inicio de DOS para poder ejecutar Loadlin (no hay otra forma de pararlo ya que normalmente se carga incluso antes que config.sys), y ademas si usamos Windows95 hay que pulsar igualmente F8 para arrancar con solo el símbolo del sistema, evitando entrar en el modo gráfico. Linux puede convivir con cualquier sistema operativo, pero unos dan mas dolores de cabeza que otros, por lo que en caso de duda acude a la documentación correspondiente (la de instalación de la propia distribución y la Booting-HOWTO. De todas formas, si una vez instalado Linux no conseguimos arrancarlo (sabemos que está ahí pero no conseguimos entrar en él), siempre queda un recurso asequible: introduce el "boot disk" y en vez de darle a INTRO cuando te aparezca un simbolo "boot", teclea <tt/root=/dev/XXXX/ indicando que ya hay un Linux en la partición correspondiente, y que debe usarlo en vez de continuar con una hipotética instalación. Lo único diferente es que se estaría usando el núcleo (kernel) del disquete en vez del instalado en el disco duro, pero a partir de ahí montará la partición del disco duro y usará todo lo ya instalado allí. Otro problema frecuente (solventado en la última version de RedHat pero no aún en Slackware) es que graba en el disco duro un núcleo genérico en vez del que hayamos usado en el "boot disk", que era precisamente el que habíamos elegido, por lo que es habitual que, si necesitamos algún controlador específico para algún dispositivo o cualquier otra funcionalidad, cuando arranquemos directamente desde el disco duro ya no nos lo reconocerá. Si estamos usando LILO haz lo siguiente para arreglarlo: entra como superusuario, copia la imagen que habias usado para generar el "boot disk" sobre el fichero "/vmlinuz" del disco duro y ejecuta "lilo" para reinstalar el arranque con el núcleo correcto. Si estas usando LOADLIN, simplemente dale como parámetro el fichero del núcleo correcto (es facil tener varios núcleos y elegir en cada caso el que interese). Seguir arrancando con el disquete como en el caso anterior sería también otra posibilidad para no perder ese CDROM, esa tarjeta, etc. <sect1><em/Españolización/ de Linux <p> Uno de los aspectos más molestos es no poder escribir con naturalidad en nuestro idioma por falta de soporte de los caracteres especiales en el software. El juego de caracteres básico de ASCII es de 7 bits, y no incluye ni las vocales acentuadas ni nuestra maltratada 'ñ'. Hay una norma ISO-8859-1 (ó ISO-Latin1) que sí que abarca todos los caracteres pero que sigue dando la lata en muchas tareas habituales, como el correo electrónico (muchos sistemas solo respetan 7 bits, por lo que textos que podemos ver correctamente en nuestro ordenador probablemente se visualizarán de forma lamentable cuando los enviemos a otra persona. A continuación se mencionan algunas de las situaciones más frecuentes y cómo intentar solucionarlas. <sect2>Consola <p> <em/ ...O cómo demonios poder usar acentos en nuestro propio ordenador/ <p> Mediante el comando loadkeys se cargan las tablas de traducción del teclado. Estas tablas traducen los códigos que se generan al pulsar las teclas a los que reciben los programas. Los ficheros que contienen estas tablas de traducción se encuentran en el directorio <tt>/usr/lib/kbd/keytables/</tt> y el fichero que contiene el mapeado del teclado español se denomina <tt/es.map/. Su objetivo es que si pulsamos una determinada combinación de teclas, aparezca en pantalla el carácter que tenemos pintado en nuestro teclado, y no su equivalente en el teclado que se usa en cualquier otro país. La llamada a este comando suele ser de la forma siguiente, que aparecerá en el arranque por defecto (en Slackware estaría en<tt>/etc/rc.d/rc.keymap</tt>): <tscreen><verb> loadkeys /usr/lib/kbd/keytables/es.map </verb></tscreen> <em/Nota del autor: A igual configuración de teclado, más de una vez me han fallado los acentos por recompilar el núcleo, pero en el momento de escribir estas líneas aún no he visto la causa.../ <sect2>Shell bash <p> Para que la bash soporte el uso de vocales acentuadas asi como de la letra ñ basta con incluir las siguientes líneas en un fichero <tt/.inputrc/ (o al menos en <tt/.bash_profile/) en tu $HOME: <code> set meta-flag on # conservar bit 8 en entrada de teclado set output-meta on # conservar bit 8 en salida por terminal set convert-meta off # no convertir secuencias de escape export LC_CTYPE=ISO_8859_1 </code> <sect2>Shell tcsh <p> Para que la tcsh soporte el uso de vocales acentuadas asi como de la letra ñ basta con incluir las siguientes líneas en un fichero <tt/.tcshrc/ (o al menos en <tt/.login/) en tu $HOME: <code> setenv LANG C setenv LC_CTYPE "iso_8859_1" </code> <sect2>Algunas aplicaciones <p> Sería excesivamente largo detallar todas las posibilidades para trabajar con caracteres de 8 bits en todas las aplicaciones, utilidades, comandos del sistema, etc. Aquí van algunos ejemplos: <descrip> <tag/Editor joe/ Joe tiene un parámetro <tt/-asis/ para que conserve los caracteres de 8 bits. <tag/less/ Por defecto muestra solamente los caracteres de 7 bits (los de 8 los representa por su código ASCII). Ello protege de ver en pantalla "basura" si por error intentamos leer ficheros binarios, de datos, etc., pero impide ver nuestros acentos. Se puede modificar momentáneamente con el modificador <tt/-r/ desde la propia utilidad, pero sería mejor tener definida la variable de entorno <tt/LESSCHARSET=latin1/. <tag/ls/ Para que muestre los caracteres especiales en los nombres de los ficheros tiene las opciones <tt/-8 -N/, que se pueden añadir a la variable <tt/LS_OPTIONS/ que probablemente ya tengas definida por defecto. <tag/mc/ Este clónico Norton tiene una opción <em/Full 8 bits/ del submenú <em/Display bits.../ bajo <em/Options/. <tag/nroff, groff/ Dispone de una opción <tt/-Tlatin1/ </descrip> <sect2>Xwindow <p> El entorno gráfico XWindow usa para configurar el teclado un comando llamado <tt/xmodmap/ que tiene la misma funcion que <tt/loadkeys/ para la consola de texto. Ernest Artiaga (drw@portos.upc.es) preparó un fichero de configuracion para Xmodmap que genera los acentos con la tecla [AltGr], que entre otros sitios puede encontrar en <url url="ftp://ftp.cs.us.es/pub/Linux/contrib/Xmodmap-es">, y que podemos colocar como $HOME/.xmodmap para que se cargue como parte de nuestra configuración. Existe también una utilidad <tt>/usr/lib/kbd/keytables/mk_modmap</tt> que genera un listado para Xmodmap a partir del mapa de teclado usado por loadkeys. De todas formas este método no es perfecto, ya que muchas aplicaciones bajo Xwindow tienen su propia forma de configuración o simplemente no tienen soporte para caracteres extendidos por lo que a veces es posible que podamos usar acentos en una ventana y no en la aplicación de la ventana de al lado. <sect2>Emulador de DOS (DOSEMU) <p> La linea de configuración del teclado en <tt>/etc/dosemu.conf</tt> deberá incluir '<tt/layout es-latin1/' para poder usar la 'ñ' y las aperturas de interrogación y admiración. Una vez hecho esto, es posible cargar la configuración habitual con <tt/keyb sp/ desde el propio emulador de DOS, o bien ejecutar '<tt/keybes2.com/, una pequeña utilidad para el propio emulador disponible en varias de las direcciones habituales. <sect2>Correo electrónico <p> Por último en relación con el uso del español en Linux, pero no menos importante, es poder leer y recibir por mensajería electrónica textos escritos en español sin deformar su contenido ni perder los acentos y símbolos propios. El problema se reduce a lo de siempre: el uso de caracteres especiales no incluidos en la tipografía básica sajona requiere trabajar con 8 bits, pero aún hay muchos sistemas que siguen trabajando con 7 bits, lo que trunca o deforma mensajes escritos sin las debidas precauciones. En el estándar RFC822 que define el formato usado en los mensajes de correo de Internet no se permite el uso de 8 bits en las <em/cabeceras/ de los mensajes, dejando abierta la posibilidad de 8 bits en el <em/cuerpo/ del mensaje. Pero tampoco podemos abusar de esa posibilidad ya que no tenemos garantías de que lo respete cualquier sistema que pueda recibir nuestros documentos. Una solución cada vez más extendida, y que permite a los usuarios escribir con libertad y enviar prácticamente cualquier información dejando todos esos detalles al software de gestión del correo (tanto los <em/agentes de usuario/ como los <em/agentes de transporte/ en los servidores de correo) es mediante el estandar MIME, que permite <em/codificar/ nuestros mensajes de 8 bits y reducirlos a caracteres de 7 bits que puedan pasar a través de cualquier sistema sin peligro de perder información. El inconveniente (cada vez menor a medida que este sistema se extienda más y más) es que si intentamos leer un mensaje con codificación MIME sin un software que no implemente este sistema y no pueda interpretarlo, puede que veamos "basura" intercalada con nuestro mensaje, o que incluso no entendamos nada de nada. MIME deja toda la responsabilidad al software, por lo que si ambos extremos (remitente y destinatario) usan software compatible con MIME, el usuario puede enviar junto a textos simples cualquier combinación de tipos de ficheros (documentos generados por procesadores de textos, gráficos, sonido, video, etc). Ni siquiera es necesario que ambos usen el mismo software. Basta con que ambos sean capaces de generar la codificación durante el envío, y de interpretarla en la recepción. <sect1>Conectividad de Linux <p> <em>Uno de los puntos muy fuertes de Linux es su gran conectividad: incluso con recursos modestos en hardware puede ser un hábil servidor de red y convivir practicamente con cualquier configuracion que ya tengamos funcionando en nuestra red. A medida que mejoremos el equipamiento, Linux aprovechará todos los recursos convirtiéndose en un potente centro de servicios. Si no consigo abrirte el apetito de curiosidad, echa un vistazo a las varias How-To sobre el tema o lo lamentaras... :)</em> <p> Como digno miembro de la familia Unix, el entorno nativo de red en el que ha nacido Linux es el TCP/IP, asi que nos moveremos en Internet y en las redes locales basadas en esta familia de protocolos como pez en el agua. Puede actuar tanto de simple cliente hasta como una potente estacion de trabajo de bajo coste, pasando por un XTerminal con todo su entorno grafico con absolutamente todo el software necesario, ya incluido o de más o menos fácil instalacion. En el nivel físico (cacharreo para entendernos), Linux puede conectarse con otros Linux o con cualquier otro sistema usando casi cualquier cosa: cableado serie, paralelo, modems convencionales, tarjetas RDSI, Frame Relay, redes locales ethernet ó token ring, radiopaquete (AX.25 para radioaficionados), etc. En cuanto a protocolos de red, lo que lleva en la sangre es el mencionado TCP/IP, pero puede acceder (como cliente o como servidor, segun los casos) a redes basadas en IPX (Novell), AppleTalk (Macintosh) y SMB (red LanManager para conectar con Windows para trabajo en grupo, Windows 95 y Windows NT). Por si sirve de pista, quien escribe ha hecho ya la prueba de poner un simple PC de gama media como nodo principal para dar servicios de disco, impresoras y, sobre todo, acceso a Internet a una LAN ethernet de 75 puestos de trabajo que usan indistintamente cualquiera de los mencionados protocolos compartiendo indistintamente sus recursos. Y lo mejor de todo es que nadie fue capaz de distinguir desde sus respectivos puestos a Linux del servidor propio que les atendía hasta entonces. De hecho lleva varios meses en uso ininterrumpido y sólo Linux ha sido capaz de hacer simultáneamente de servidor para usuarios Unix, Windows 3.11, Windows 95, NT, DOS, Netware y Mac sin colgarse ni una sola vez y con un coste ridículo. Nadie me garantiza que nunca me vaya a fallar, pero lo doy por modesta pero absolutamente victorioso en comparación con sistemas comerciales teóricamente superiores y con un coste mucho mayor. Otra situación en la que actualmente uso Linux es como servidor de Web, mail, FTP anónimo (de servicio público a la red) y servicios de salida a Internet para una red local de 2.100 usuarios, también con muy buenos resultados a pesar de la fuerte carga de trabajo contínuo las 24 horas. <sect2>Conectividad casera <p> Algunas de las situaciones típicas en las que se puede aprovechar la capacidad de trabajo en red de Linux podrían ser: <sect2>Servidor de terminales <p> ¿Quién no tiene en casa un PC (o algo peor) que se ha quedado antiguo pero que aún funciona? Cualquier ordenador con un puerto serie y algun software de emulación de terminal puede conectarse a un Linux, permitiendo varios usuarios trabajando simultaneamente. Para quien no lo haya hecho alguna vez, es la forma más simple de comprobar por sí mismo que Linux es un sistema 100% multiusuario y multitarea. Todos los recursos de memoria, disco, etc. estarán a la vez disponibles para compartirlos entre tantos usuarios como puertos serie tengamos. <sect2>Red PPP <p> Enlazando ordenadores por puertas serie, paralelo, modems, etc, es posible no solamente que un Linux sea el ordenador principal y otros usuarios accedan a través de simples terminales, sino que es posible aprovechar la capacidad de todos los equipos sumando recursos. Desde un equipo se puede acceder a impresoras, discos, etc. de cualquier otro equipo. El protocolo PPP permite crear una red TCP/IP entre todos ellos, usando como enlace tanto modems como simples cables. A medida que cambiemos la red física por algo mas "decente" como una LAN ethernet o análogo, mejorarán las prestaciones como es lógico, pero la idea es la misma y el software de usuario son idénticos (lo que varía, claro esta, es la configuración del propio sistema operativo). <sect2>Servidor de modems <p> Combinando los dos apartados anteriores, podemos unir la capacidad de servidor de puertos serie (a los que conectaremos modems) y el protocolo PPP (para dar a esas líneas serie la funcionalidad del TCP/IP). Así podemos dar servicio de acceso a Internet a los usuarios que se nos conecten por teléfono. <sect2>Conexion directa a Internet <p> Ciertamente no es lo normal en casa, pero es relativamente frecuente encontrarlo en universidades y de un tiempo para acá también es habitual en empresas. Si tenemos una red local enganchada a su vez a un proveedor (académico o comercial), entonces una simple tarjeta de red y una simple configuración del sistema serán suficientes para conectar Linux, que actuará como un ordenador Unix cualquiera, con todas sus ventajas. De hecho en la red encontraremos más de un servidor que esconde un Linux en sus "entrañas", o que precisamente quien nos esté haciendo de proveedor de acceso sea un Linux. Pero hay que tener en cuenta tambien sus inconvenientes de seguridad: igual que podemos conectarnos desde Linux, es perfectamente posible que se conecten a nosotros inadvertidamente, por lo que, salvo que necesitemos mantener abierto algun servicio en particular, es recomendable cerrar "todas las ventanas" para evitar problemas. Algunos buenos consejos para un Linux de uso personal serían: <itemize> <item>Crea cuentas para los usuarios que realmente vayan a usarlo, y asígnales claves dificilmente adivinables (no hace falta complicarse la vida con claves imposibles, pero tampoco debes ponérselo fácil a los intrusos) <item>Hazte cargo de la clave del administrador <tt>root</tt> y procura mantenerla a salvo. Si la facilitas a alguien más, mentalízale para que la use con precaución (por otra parte también es una forma de aprender nociones básicas de administración de sistemas...) <item>Ponte como <tt>root</tt>, edita <tt>/etc/inetd.conf</tt> y ponle un signo de comentario (<tt>#</tt>) a todas las lineas excepto aquellas que abran servicios que necesites mantener accesibles; luego haz "killall -1 inetd". No te cortes y cierralo todo, que siempre estaras a tiempo de reabrir aisladamente aquello que eches en falta <item>Aunque te consideres muy capaz de administrar un sistema de este tipo, no tengas la mala costumbre de usar <tt>root</tt> como usuario habitual con el que te conectes al sistema, o en caso de despiste podrías provocar algun destrozo. Es mas seguro que entres como un usuario "raso" y uses <tt>su - root</tt> cuando necesites hacer alguna operacion concreta como super-usuario (recuerda usar <tt/exit/ para volver a tu status normal cuando termines lo que tenías que hacer como super-usuario) <item>El sistema va dejando muchos mensajes registrando la actividad de los usuarios y del propio sistema en múltiples ficheros de contabilidad. Muchos de ellos se centralizan a traves del servicio <tt>syslogd</tt>. En cuanto empieces a desenvolverte un poco con el manual y los comandos básicos para moverte por el sistema, aprende a recoger la información que genere ese servicio, eliminar la inútil, revisar la útil y limpiar la contabilidad de vez en cuando (de lo contrario te puedes dar un susto cuando veas ficheros gigantescos que devoran espacio de disco con información desfasada despues de tanto tiempo) </itemize> <sect2>Infovía: acceso a Internet desde casa <p> <sect3> ¿Qué es infovía? <p> Infovía es una red creada por Telefónica a la que los usuarios acceden desde cualquier punto de la red telefónica española a precio de llamada local. Funciona como una intranet (una red basada en los mismos protocolos que Internet, pero independiente y sin integrarse en ella). No tiene por tanto acceso directo a Internet, pero es un buen intermediario ya que abarata costes tanto para el usuario como para el proveedor de acceso a internet, que aprovecha su infraestructura sin tener que invertir en una red propia. En este sentido es una vía interesante de acceso, pero para evitar confusiones hay que tener presente que Infovía NO es Internet, sino un producto comercial de Telefónica. Aún despues de habernos conectado a Infovía seguimos necesitando un proveedor de acceso a Internet para estar verdaderamente conectados a la <em/red de redes/. Al funcionar igual que Internet (el software de Infovía no es más que un PPP y un navegador de web, que utiliza como interfaz de usuario) es perfectamente posible usar Linux para conectarse, pero surge el problema típico de configuración: Telefónica facilita su software gratuito para entornos comerciales típicos (Windows 3.11, Windows95 y Macintosh) que Linux no necesita (ya lo tiene). Pero Linux lo que necesita es conocer la configuracion de su red, para poder integrarse en ella. <sect3> ¿Como conectar entonces? <p> El software básico es el <tt/pppd/, que a través del modem creará un enlace TCP/IP entre nuestro ordenador e Infovia. Una vez creado, podremos contactar con nuestro "verdadero" proveedor, quien nos abrirá las puertas a Internet, y a partir de ese momento ya podremos usar cualquiera de nuestras propias aplicaciones habituales desde Linux. Como complemento de <tt/pppd/ usaremos una utilidad <tt/chat/ que se encargara de dialogar via modem con el ordenador remoto al comienzo de la llamada, mientras se establece la conexión. También intervendrán varios ficheros de configuración (unos genéricos de Linux para cualquier conexión TCP/IP, otros característicos de las conexiones a través de PPP y modem, y por último alguno que usemos en el caso concreto de Infovía). Un detalle sobre versiones de software: un inconveniente en la evolución de Linux ha sido un cambio en la implementación del PPP que hace incompatible algunos <tt/pppd/ con algunas versiones del <em/kernel/. Si nuestro núcleo está entre 1.2.13 y 1.3.95 debemos usar un pppd 2.1.2d o superior, mientras que necesitaremos un pppd 2.2.0e o superior para los núcleos más recientes. El listado siguiente es un ejemplo del fichero principal de configuración de <tt/pppd/, en el que a su vez se hace referencia a varios ficheros que deberemos crear: identificación y clave facilitada por el proveedor de acceso, el guión de inicio de conexión, y el de cierre y cuelgue del modem. <tt>/dev/modem</tt> es un enlace (un <em/"symbolic link"/) que usaremos como nombre genérico para el modem, y que debe apuntar al nombre del dispositivo real en el que lo tengamos conectado. <em>/etc/ppp/options</em>: <code> modem passive crtscts noipdefault defaultroute lock lcp-echo-interval 15 lcp-echo-failure 5 mtu 1500 +ua /etc/ppp/infovia.pass connect "/usr/sbin/chat -v -f /etc/ppp/infovia.chat" disconnect "/usr/sbin/chat -v -f /etc/ppp/infovia-off.chat" /dev/modem 38400 </code> <tt>/etc/ppp/infovia.pass</tt> es un fichero con simplemente dos líneas, una con el login (identificación de usuario) y otra con la clave. Para acceder a Internet deberemos introducir en ambos casos lo que indique el proveedor, mientras que si sólo vamos a navegar por Infovía (sin salir a Internet) es suficiente con poner <tt/infovia/ como usuario genérico e <tt/infovia/ como clave. <tt>/etc/ppp/infovia.chat</tt> contiene el guión que utilizará <tt/chat/ en su diálogo con el modem. Un ejemplo de su contenido podría ser: <code> TIMEOUT 6 ABORT '\nBUSY\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nRING\r\n\r\RING\r' ABORT '\nNO DIALTONE\r' '' ATDP055 'CONNECT' </code> En el ejemplo anterior se usa marcación por pulsos. Si fuera por tonos sustituir <tt/ATDP/ por <tt/ATDT/. Además, si al número 055 de llamada a Infovía hubiera que añadir algún prefijo de centralita o cualquier otra marcación especial, no hay más que incluirlo en el listado. Por su parte el de cierre de conexión y reseteo del modem sería algo así: <em>/etc/ppp/infovia-off.chat</em>: <code> TIMEOUT 3 '' '\r' '\r' '+++\c' '\r' ATH0 OK ATH0 OK </code> <sect1>Direcciones útiles <p> <sect2>Direcciones electrónicas <p> <em/Esta seccion es la que previsiblemente cambiara con mas frecuencia, dado el fuerte auge de Linux y la consiguiente mayor disponibilidad de material para Linux en castellano. Esto es solo un ejemplo para empezar en esta primera edicion.../ <sect3>WWW <p> <descrip> <tag><url url="http://www.cs.us.es/archive/linux.html" name="Linux/España"></tag> En Sevilla, el servidor más veterano, con mirrors de LDP/WWW, Slackware, Sunsite, Linux/PPC (la sede para Europa de linuxppc.org), MkLinux (Linux para Powermac), RedHat (para PC y Alpha), etc. <tag><url url="http://luna.gui.uva.es" name="Grupo de Usuarios de Informática"></tag> En Valladolid, con mirrors de LDP/WWW, Slackware, Sunsite y manuales traducidos. <tag><url url="http://lml.ls.fi.upm.es/~jjamor/linux/LDP/" name="Página de Juan José Amor"></tag> En Madrid, traducciones de las How-To. <tag><url url="http://www.infodrom.north.de/linux/manpages-es/" name="Linux Spanish Manpages"></tag> Traducción del manual del sistema. </descrip> <sect3>FTP Anonimo <p> <sect3>Grupos de noticias <p> <sect3>Listas de correo <p> Aparte de las numerosísimas listas de correo en inglés (desde las más genéricas hasta las más especializadas en temas muy concretos), en España hay actualmente dos listas dedicadas a Linux en general: <itemize> <item><url url="mailto:linux@hades.udg.es" name="linux@hades.udg.es"> en Girona. Persona de contacto para mas información: Paco Culebras Amigo <url url="mailto:paco@hades.udg.es" name="paco@hades.udg.es"> <item><url url="mailto:l-linux@cic.teleco.ulpgc.es" name="l-linux@cic.teleco.ulpgc.es"> en la escuela de Teleco en Las Palmas. </itemize> <sect3>En Fidonet <p> Si Internet te queda muy lejos pero lo tuyo es Fidonet, entonces probablemente ya sabrás que existe un area R34.LINUX con bastante actividad (¡es una de las areas más animadas! ;^) Mucha de la información distribuida en Internet tiene su réplica en Fidonet, además del valioso soporte mútuo entre los propios usuarios. <itemize> <item>Europa III 2:346/207 <item>Elektra 2:345/422 (+34)(5) 416 4934 <item>La Voix 2:345/410 (+34)(5) 427 5321 </itemize> <sect2>Direcciones de Firmas comerciales <p> Poco a poco va creciendo el numero de empresas que prestan atencion al pujante Linux y desarrollan aplicaciones, ofrecen soporte tecnico y/o venden algunas de las distribuciones en CDROM que se mencionaban anteriormente. <descrip> <tag/En Madrid/ <itemize> <item><bf>ABC Analog</bf> (91) 634 20 00 <item><bf>Sertec Informatica</bf> (91) 364 23 88 </itemize> <tag/En Barcelona/ <itemize> <item><bf>CD-Ware</bf> (93) 302 04 35 </itemize> <tag/En Bilbao/ <itemize> <item><bf><url url="http://www.kender.es" name="Kender"></bf> (94) 476 19 22 </itemize> <tag/En Valencia/ <itemize> <item><bf><url url="http://www.encis.es" name="Encis-Net"></bf> (96) 351 25 88 </itemize> </descrip> <sect2>Bibliografía. <p> <itemize> <item><em/Linux Edición Especial/, por Jack Tackett, David Gunter y Lance Brown. Editado por Prentice Hall Hispanoamericana, 1996. ISBN 968-880-580-7. Incluye un CD con Slackware 2.20. <item><em/The Linux programmer's guide/, por Sven Goldt, Sven van der Meer, Scott Burkett, Matt Welsh. </itemize> <sect1>Copyright <p> Copyright (c) <url url="mailto:Gonzalo.Garcia-Agullo@jrc.es" name="Gonzalo García- Agulló"> 1996. Elaborado a partir de experiencia propia y de información recopilada a través de Internet. Vayan mis agradecimientos para <url url="mailto:paco@hades.udg.es" name="Paco Culebras Amigo"> y <url url="mailto:Antonio-Luis.Delgado@cs.us.es" name="Antonio L. Delgado Gonzalez">, buenos linuxeros alla donde los haya. Este documento se publica bajo la Licencia General GNU, lo que permite su libre distribución gratuita siempre que se conserve en su integridad y se retenga el copyright original. <sect>La traducción<p> Versión de la traducción : Mireya La traducción fue dirigida por Andrés Ramirez y no habria acabado nunca sin la ayuda de ACASTC (http://perso.magic.fr/acastc), y la colaboración de : No informaticos <itemize> <item>Guillermo Lozano <item>Paula Parra <item>Felipe Gomez <item>Mireya </itemize> Informaticos <itemize> <item>Enrique Gonzalez <item>Adolfo Suarez <item>Humberto Loaiza </itemize> </article>