La Guía del enROOTador para Linux

Eric Dumas, Eric.Dumas@freenix.fr

Versión 2.6, 29 Diciembre 1996.

1. Advertencia del traductor

Este documento es la traducción no adaptada, del "Guide du ROOTard pour Linux" 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 :

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 : Si tienes alguna sugerencia sobre la traducción escribe a : caliman@magic.fr

2. Preámbulo

He aquí la versión 2.6 de la Guía del enROOTador. Se trata principalmente de una versión "corregida" 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)...

2.1 Historia de esta guía

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.

2.2 Presentación del contenido

Esta guía tiene por objetivo dar respuestas muy claras y concretas a los problemas que puede poner la instalación de Linux. Reagrupa los trucos y astucias dadas por los utilizadores, lo mas frecuentemente leídas en el newsgroup fr.comp.os.linux (f.c.o.l), o en las Howto, 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.

2.3 Que hay de nuevo ?

Esta versión de La Guia del enROOTador (2.5/2.6) posee varias novedades :

Ademas; he integrado algunos articulos del Journal Linux français (http://echo-linux.alienor.fr).

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.

2.4 Copyrigth

La guía del enROOTador es freeware 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.

2.5 Sitios oficiales de distribución

Usted puede igualmente procurarse este documento en los sitios espejos del ftp.ibp.fr como por ejemplo:

(Nota: si se me olvidan contacteme !).

Es disponible en varios formatos:

2.6 Evolucion del formato de esta guia

Desde que retomé la GRL (Guia del enROOTador para Linux), la converti al formato SGML. Los Howto's y la documentacion Linux emplean tambien este standard gracias a un util llamado "linuxdoc-sgml" http://www.informatik.tu-muenchen.de/~schwarz/linuxdoc-sgml genera documentos en formatos tan variados como HTML, texto, DVI, 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.

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.

3. Introducción

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: Eric.Dumas@freenix.fr. Tu puedes enviar un correo o un news en francés en el grupo Usenet francés consagrado a Linux : fr.comp.os.linux 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 !.

Todas las criticas y todas las precisiones citadas pertenecen a su propietario (como lo dice Juju, "muy profundo eso!") y no se usan que si uno no las utiliza.

Evidentemente toda sugerencia que permita hacer evolucionar esta guia o mejorar su difusion, es bienvenida. No dudes en contactarme : es siempre un placer.

4. Linux Information Sheet authorMichael K. Johnson, johnsonm@nigel.vnet.net datev4.4, 8 de Febrero de 1996

4.1 abstract

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.

4.2 Introducción a Linux

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 "GNU Public License".

Linux no es de dominio público, ni es "shareware". Es software gratuito, usualmente denominado 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 "GNU Public License" 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 "Jensen", "NoName", "Cabriolet", "Universal Desktop Box" (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á "congelado" 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!.

4.3 Características de Linux

4.4 Hardware

Configuración mínima

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.

Configuración usable

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.

Hardware soportado

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.

Architecturas:

Buses ISA o EISA. MCA (el de los PS/2) no funciona. Los buses locales (VLB y PCI) funcionan.

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.

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.

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).

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.

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).

Otro hardware:

SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, varios tipos de ratón de bus (Microsoft, Logitech, PS/2).

4.5 Una lista incompleta de Programas Portados y Otro Software

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.

Comandos básicos Unix :

ls, tr, sed, awk y más (cualquiera que se te ocurra, Linux probablemente lo tiene).

Herramientas de desarrollo:

gcc, gdb, make, bison, flex, perl, rcs, cvs, prof.

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.

Entornos gráficos:

X11R5 (XFree86 2.x), X11R6 (XFree863.x), MGR.

Editores:

GNU Emacs, XEmacs, MicroEmacs, jove, ez, epoch, elvis (GNU vi), vim, vile, joe, pico, jed y más.

Shells:

bash (POSIX sh-compatible), zsh (incluye modo de compatibilidad con ksh), pdksh, tcsh, csh, rc, es, ash (casi completamente sh-compatible shell usada como /bin/sh por BSD) y muchas más.

Telecomunicaciones:

Taylor (BNU-compatible) UUCP, SLIP, CSLIP, PPP, kermit, szrz, minicom, pcomm, xcomm, 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.

News y correo electrónico:

C-news, innd, trn, nn, tin, smail, elm, mh, pine, etc.

Procesamiento de textos:

TeX, groff, doc, ez, Linuxdoc-SGML, and others.

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.

Suites:

AUIS, el Andrew User Interface System. ez es parte de este suite.

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.

4.6 ¿Quién usa Linux?

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: "I use Linux at home" (uso Linux en casa), "I use Linux at work" (uso Linux en el trabajo) o "I use Linux at home and at work" (uso Linux en casa y en el trabajo). También está contando votos del tipo "I don't use Linux" (no uso Linux) por alguna razón. El manda sus cuentas a comp.os.linux.misc

4.7 Obtener Linux

FTP anónimo

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 "publicado" 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

 
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 

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.

Otras formas de obtener Linux

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 "Linux distribution HOWTO", disponible como sunsite.unc.edu:/pub/Linux/docs/HOWTO/distribution-HOWTO y enviado regularmente al newsgroup comp.os.linux.announce.

4.8 Empezando

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 "Eso es Linux". 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).

4.9 Status legal de Linux

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 "GNU Public License" (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í).

4.10 Noticias sobre Linux

Una revista mensual, llamada 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 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, no reenvíes entre los grupos de noticias de Linux. El ú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

4.11 El Futuro

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 (NO el subject) del mensaje.

4.12 Este documento

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.

4.13 Legalidad

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.

4.14 Nota del traductor

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.

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.

Para cualquier comentario, errata o consulta sobre la traducción, acude al área R34.LINUX de FidoNet o contacta conmigo por NetMail a la dirección 2:345/425.25 de la misma red.

Un saludo, Iván Casado.

5. Introdución a la instalación

Antes de comenzar,dos tres pequenas cosas se deben precisar sobre la manera de hacer una instalación de Linux en tu maquina.

5.1 Recuperacion

La recuperacion de las distribuciones Linux puede hacerse de varias maneras :

  1. Tienes acceso a Internet, o tienes un modem : mira la Hoja de informaciones mas arriba;
  2. Tienes un amigo que tiene los disquetes o los CD-ROM y se los pides prestados ;-) ;
  3. 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).

5.2 Una palabra sobre los formatos binarios

En el curso de la historia de 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 ELF. Si no tenias Linux en tu maquina, no notaras nada. Pero si tu quieres poner al dia tu maquina y que tienes a.out, tienes dos soluciones :

  1. Borrar todo y re instalar... es lo mas simple
  2. hacer una puesta al dia progresiva. En este caso leete el capitulo consagrado a ELF mas abajo.
Para conocer el formato de tus binarios, lanza este ejemplo :
gandalf#  file /bin/ls
/bin/ls: ELF 32-bit LSB executable i386 (386 and up) Version 1
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.

5.3 Las diferentes posibilidades de instalacion

Existen varias posibilidades para instalar Linux... He aqui un corto resumen.

Bueno despues de estos preliminares pasemos a las distribuciones.

6. Distribuciones

6.1 Introducción

Se llaman "distribuciones" 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 "como empezar" de la hoja de informaciones Linux reproducida mas arriba. No existe una distribución oficial de linux. Solo las distribuciones circulan. He aquí las principales :

6.2 Disquetes de boot

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 :

  1. 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.
  2. Para hacer esto utiliza el programa gunzip : $ gunzip bare.i.gz
  3. 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(" sectores defectuosos ") y luego utiliza RAWRITE para escribir el o los ficheros en los disquetes.

6.3 Slackware : descripción

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).

Disquetes Boot y Root

Dos disquetes fundamentales para instalar Linux con la Slackware : el disquete de boot y el disquete de root. Linux se instala, en efecto , ... bajo Linux, de manera que es necesario lanzarlo "a partir de un disquete" antes de comenzar la instalación. El disquete boot contiene un núcleo linux y el disquete root el da al linux así lanzado algunos ficheros absolutamente necesarios para su buen funcionamiento. Varios tipos de disquetes boot y root existen, hay que escoger en función del material empleado. El contenido de cada disquete es dado en forma de un archivo de tipo image, 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 :

Existe un numero elevado de ficheros boot. He aquí un tablero recapitulativo que debería permitirte escoger el que mejor te conviene.

 
----------------\          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.    |                          | 
                     |                |                          | 
 -------------------+----------------+--------------------------------------- 
Controladores SCSI : 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 scsi.s. 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 : Linux lo descomprime sólito como un grande. Existen 6 disquetes root posibles :

ATTENCION : El disquete Root no debe ser descomprimido !!

La distribución

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 :

En la lista, vas a encontrar tres campos : Ya esta, vamonos :-) !

Ya esta, se acabo !!

Bogues de la Slackware

La Slackware, como toda distribución, posee un cierto numero de bogues. Una lista existe, la puedes consultar en la siguiente dirección :

 
        http://www.cuug.ab.ca:8001/~barkers/slackware-fixes/ 
La ponen al día frecuentemente y no la detallaremos aquí.

6.4 RedHat : descripción

Disquete de boot

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 : images/boot.img. Si tu instalas tu maquina desde un Pc que utiliza PCMCIA, tienes que utilizar un disquete suplementario : images/supp.img. 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.

Distribución

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 "directa" de los paquetes (archivos rpm) es detallada en la próxima sección.

Es necesario resaltar que existe un archivo "upgrade" 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.

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 upgrade) que permiten poner al día correctamente tu maquina con una facilidad desconcertante.

Utilización del Programa rpm

El programa rpm 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 rpm --help para eso o la documentación de Red Hat). Globalmente, rpm funciona de 4 modos :

Existe un numero importante de opciones. Consulta la documentación para más información.

7. Instalación

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.

7.1 Instalación inicial

Bueno, estas listo ? Nos fuimos. Arranca tu maquina. Linux arranca sobre el disquete de boot. En el caso de la Slackware, te pide insertar un segundo disquete, llamado root. Remplaza el disquete y luego oprime la tecla Enter.

Nota a propósito del mensaje "BIOS32" que algunos pueden ver durante el arranque : este mensaje significa que tu bus es PCI. Si tu ves el mensaje siguiente : "BIOS32 extended no supported" 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 "signal 11". Antes de lanzarte en la instalación de tu sistema, he aquí algunos trucos y astucias. 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.

7.2 Particionar el disco duro

.

Vas, en un primer tiempo, a necesitar hacer un formatage de tu disco. Tienes que crear por lo menos una partición Linux con el sistema de archivos ext2fs 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 Linux son devices. Por ejemplo, el primer disco duro es /dev/hdax, el segundo /dev/hdbx 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 /dev/hda1. 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 fdisk que te va permitir realizar la operación. Su sintaxis es : fdisk /dev/disco. En el caso de Red Hat este se lanza solo. Por ejemplo, si tu quieres instalar Linux en tu segundo disco IDE, escribe fdisk /dev/hdb. Los comandos de fdisk (por orden de utilidad) son :

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).

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 : mke2fs -cv /dev/hdax donde x corresponde al numero de tu partición.

7.3 Instalación con la Slackware

Ahora, tu debes lanzar el programa setup. 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 Normal. 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 "setup" e indicarle la partición MS-DOS donde se encuentran los archivos necesarios. Utiliza los menús para efectuar todas estas operaciones. 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 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 Linux en el lector y apoyas en las teclas Ctr-Alt-Del.

Nunca apagues bruscamente tu maquina bajo Linux ! En efecto, Linux como todo sistema UNIX, utiliza unos caches disco : perderías informaciones apagando tu maquina. La única manera decente de apagar Linux es hacer ya sea Ctr-Alt-Del o sino siendo root lanza uno de estos comandos : halt, rebbot, shutdown (Mira el man para ver las diferencias).

Una vez que has vuelto a arrancar, entra como root. Pero debes tener mucho cuidado, el usuario root 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.

7.4 Instalación con RedHat

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.

8. Administración bajo Linux

8.1 Teclado Francés

Bueno, comencemos por las cosas útiles: El teclado Francés. Normalmente, las distribuciones lo configuran solas...pero uno nunca sabe! Una vez registrado como root, escribe el comando siguiente: /usr/bin/loadkeys /usr/lib/kdb/keytables/fr-latinl.map. Ahora tu teclado es francés ! Atención, esto es temporal; la solución mas simple es agregar en el archivo /etc/rc.local eso con la Slackware. Para la RedHat, realiza la operación con el tablero de configuración gráfica.

8.2 LILO

LILO (LInux LOader) Permite tener un sistema de arranque múltiple: MS- Windows, MS-DOS, 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 LILO en tu disco duro y tu maquina se bloquea, arranca con un disquete sistema MS-DOS y escribe FDISK /MBR (nt: este comando borra LILO). El archivo de configuración LILO se encuentra generalmente en /etc/lilo.conf. Las distribuciones permiten generar un archivo automáticamente. He aquí un ejemplo de mi archivo /etc/lilo.conf :

 
   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         # 
En este momento, debes tener muchas preguntas:
  1. read-only : cuando arrancas 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 Ctr-Alt-Del o con los comandos halt, reboot o shutdown). Esta verificación no es de todas maneras lanzada que sobre las particiones Linux. Es el programa fsck que efectúa esta operación. Te desaconsejo lanzarla para "ver que hace" : una utilización errada puede provocar la perdida de datos de tu disco !
  2. por que dos núcleos? Esto es simple : 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).
  3. append : esta opción es muy importante : ella permite darle uno o varios parámetros al nodo 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).
Para instalar el archivo, tienes que ejecutar /sbin/lilo y ya esta! En el caso que tengas problemas con LILO tienes que ensayar la opción "compact" 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.

8.3 Montaje automático de las particiones: /etc/fstab

El archivo /etc/fstab contiene todas las informaciones que concierne el montaje de tus particiones.

He aquí un ejemplo:

 
#/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 
Descripción de las 6 columnas
  1. device (dispositivo) de la partición. En el caso de un archivo de swap, es el nombre del archivo.
  2. directorio del montaje de la partición.
  3. tipo de la partición.
  4. opciones (lectura sola, etc)
  5. frecuencia correspondiente al numero de días entre dos tratamientos del archivo por el comando dump. 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.
  6. 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.
Tu puedes colocar aquí las particiones que necesites.

Para NFS es aconsejable utilizar los siguientes parámetros:

rsize=8192, wsize=8192, 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 "user" Ejemplo (caso de un CD-ROM SCSI) :

 
/dev/scd0       /mnt/cd   iso9660   user,exec,dev,nosuid,ro,noauto  
Cualquier utilizador podrá, a partir de ese momento, montar y desmontar un CD (utilizar mount /mnt/cdrom, umount /mnt/cdrom) La pagina de man de mount, sección 8 (man 8 mount) explica la significación de las opciones posibles.

8.4 Montaje manual de las particiones

Como lo hemos visto en el parágrafo precedente, las particiones son montadas al momento del arranque, gracias al archivo /etc/fstab. Tu puedes, mas sin embargo, montarlos manualmente, debes utilizar el comando mount. Por ejemplo, para montar el disquete a:, tu debes hacer: mount -t msdos /dev/fd0 /mnt/floppy.

El -t indica el tipo de soporte. Los mas corrientes son:

Evidentemente, es necesario que estos tipos de sistemas de archivos estén integrados en el núcleo... El /dev/fd0 es el nombre del archivo especial correspondiente al dispositivo especial que corresponde al lector de disquetes. El punto de montaje es el directorio /mnt/floppy. Para desmontar hacer umount /mnt/(directorio).

8.5 Puesta en servicio de las cuotas

Software necesario

El soporte de cuotas disco ha sido integrado en el kernel 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:

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota

o, mas cerca, en :

ftp://ftp.ibp.fr/pub/linux/kernel/sources/subsystems/quota

El archivo que debe recuperar se llama quota-1.51.tar.gz y se encuentra en el subdirectorio utils. También hay un subdirectorio doc que contiene la documentación (principalmente las paginas del manual de los útiles) en formato HTML.

Compilación de utilitarios

Después de haber extraído el contenido del archivoquota-1.51.tar.gz, necesitas compilarlos. Esto se hace con el comando make. En ciertos casos (depende de tu biblioteca C) puede ser necesario agregar -I a la variable CFLAGS definida en el Makefile.

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 Makefile de manera que la variable CFLAGS contenga-DEXT2_DIRECT y que la variable EXT2LIBS contenga-lext2fs -lcom_err antes de compilar los programas.

Luego de la compilación instala los utilitarios con el comando make install. Cuidado el comando quota es instalado en el directorio /usr/ucb que no existe en la mayoria de las instalaciones Linux, necesitas entonces modificar el Makefile para instalarlo en otro directorio (/usr/bin es un buen lugar). Puede ser necesario igualmente definir la variable LN a el valor ln -sf.

Activación del soporte de cuotas en el kernel

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 "Y" a la pregunta "Quota support". Cuidado, el soporte de cuotas es efectivo por el momento solamente en los sistemas de archivos ext2.

Activación de cuotas en el sistema de archivos

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 usrquota para los sistemas de archivos concernidos en /etc/fstab. Las cuotas que conciernen los grupos son reguladas por la opción grpquota. Los archivos de definición de cuotas se llaman respectivamente quota.user y quota.group 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 usrquota=nombre_de_archivo y grpquota=nombre_de_archivo.

He aquí un ejemplo del archivo /etc/fstab:

 
 
  /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 

La activación de las cuotas es lanzada por el comando quotaon. Para activarlas automáticamente a la inicialización del sistema, debes agregar al archivo de inicialización (/etc/rc.d) las lineas:

 
# Enable quota 
  /usr/sbin/quotaon -avug 
Puede ser igualmente necesario verificar la coherencia de las informaciones de gestión de cuotas luego de bloqueos repentinos. Para esto utilice el comando quotacheck:
 
/usr/sbin/quotacheck -avug 
Si los utilitarios han sido compilados con-DEXT2_DIRECT, el comando quotacheck 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 quotaon :
 
# Check quota 
/usr/sbin/quotacheck -avug 

Atribución de una cuota a un utilizador

El comando edquota es utilizado para afectar una cuota a un usuario o a un grupo de usuarios. Su sintaxis es edquota -u usuario o edquota -g grupo. 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:

  1. el limite "suave": cuando este limite es alcanzado o superado un mensaje advierte al usuario cada vez que un nuevo bloque o archivo es escrito.
  2. el limite "duro": cuando este limite es alcanzado el utilizador no puede escribir nuevos archivos o nuevos bloques.
El limite "suave" se transforma en limite "duro" cuando este alcanza o supera un cierto tiempo (7 días por defecto).

estadísticas sobre las quotas

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 quota. El super usuario puede obtener las mismas informaciones sobre todo usuario o grupo con el mismo comando : quota -u usuario o quota -g grupo. Ademas es posible utilizar el comando repquota para obtener una lista de cuotas asociadas a un o varios sistemas de archivos.

Otros documentos sobre las cuotas

La implementación de las cuotas en 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.

8.6 mtools

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 m adelante. Por ejemplo : mcopy toto.c a: . Si tu quieres copiar un archivo texto para que sea utilizado bajo MS-DOS o lo inverso, no olvides de utilizar la opción-t : 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 /etc/mtools.

 
  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 
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).

8.7 Swap : creación de la partición

Para añadir una partición de swap de 8 Mo, tienes que crear primero la partición gracias al programa fdisk, luego, ya sea pasas por el programa setup, ya sea lo haces a la mano : mkswap /dev/hda3 8192 Añade la linea /dev/hda3 swap swap defaults 0 0 en el archivo /etc/fstab.

Finalmente, para que funcione, ya sea re-arrancas tu maquina o sino puedes hacer un swapon -a.

8.8 Swap : archivo

Para el archivo, es mas complicado. Debes hacer un :

 
  dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 
  mkswap /usr2/swap_file 8192 
Y agregas en el archivo /etc/fstab la linea /usr2/swap_file /usr2 swap defaults 0 0. Cuidado, debes poner esta linea después del montaje de la partición /usr2. Sino, no funcionara nunca. De ahora en adelante, para salir de Linux estas obligado de hacer :
 
  swapoff -a 
  reboot           #O otro 
En efecto, si no desactivas el archivo de cambios, 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 "/etc/rc.d/rc.K" Para automatizarlo.

8.9 Agregar un usuario, un grupo

.

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 /etc/passwd y /etc/group.

Una linea del archivo passwd esta compuesta de esta manera :

 
  gandalf::501:100:Eric Dumas:/home/gandalf:/bin/bash 
  sgandalf::0:0:Super Eric Dumas:/:/bin/sh 
Una linea esta compuesta por 7 columnas :
  1. Nombre del usuario : 8 caracteres max ;
  2. Palabra de código codificada;
  3. Numero de identificador único del usuario (uid). Nota : 0 = root ;
  4. Numero del grupo (gid) ;
  5. Nombre "oficial" del usuario ;
  6. Home directory ;
  7. Shell utilizado.
El archivo /etc/group contiene la lista de los grupos de la maquina.

Por ejemplo, el grupo 100 es :

 
  users::100:games,gandalf 

Para agregar un usuario toto, debes hacer :

  1. Agregarlo en /etc/passwd;
  2. si es necesario, crea el grupo al cual pertenecerá, modificando /etc/group;
  3. crea su home directory :
     
                 mkdir /home/toto 
                 cp /etc/skel/* /home/toto 
                 chown toto /home/toto 
                 chgrp le_groupe_de_toto /home/toto 
    
  4. Ahora dale una palabra código haciendo passwd toto.
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.

8.10 Lanzamiento de programas personales durante el arranque. /etc/rc.d/rc.local

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.

 
  #! /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 
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 :
 
  keycode   3 = eacute           two              asciitilde 
  keycode   8 = egrave           seven            grave 
  keycode  10 = ccedilla         nine             asciicircum 
  keycode  14 = Delete           BackSpace 
Ademas del teclado, yo limpio el directorio /tmp. Esto puede ser útil.

8.11 Ordenamiento de trabajos : la crontab

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 :

 
# 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 
Las 5 primeras columnas son :
  1. Minutos (0 a 59) ;
  2. Hora (0 a 23) ;
  3. Día del mes (1 a 31) ;
  4. Mes (1 a 12) ;
  5. Día de la semana (0 a 6 : 0 = Domingo, 1 = Lunes).
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 crontab.

8.12 Imprimir !

Ahora que tu maquina funciona, veamos como imprimir. Las impresoras son administradas por el programa lpc y el demon lpd

El demon debe ser lanzado al arranque. Y puede ser lanzado ya sea por rc.M o por rc.inetd2. 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 betty. En un primer tiempo, en el archivo /etc/rc.d/rc.local, agrega :

 
echo "Setting up printer betty" 
  /usr/sbin/lpc up betty 
Pasemos a las cosas serias. El archivo en el cual va a ser descrita tu impresora es el archivo : /etc/printcap Ej :
 
  betty|lp:lp=/dev/lp1:sd=/var/spool/lp1:sh:lf=/var/adm/lpd-errs:of=/etc/start-dj500: 
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 man printcap. He aquí mas sin embargo una descripción de aquellas utilizadas.

Como funciona ? Bueno, supongamos que yo tengo un archivo toto.ps. Entonces yo hago lpr toto.ps (o lpr -Pbetty toto.ps). El archivo va ser depositado en el directorio /var/spool/lp1.

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).

 
  #!/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' 

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.

8.13 Timezone

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 "MET DST" corresponde a la hora de verano activa (GMT+2) Lo mejor es no dejar todo eso a cargo de la única variable TZ.

Ve al directorio /usr/lib/zoneinfo 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 "MET" bajo el nombre /usr/lib/zoneinfo/localtime, haz un enlace simbólico de este archivo sobre /usr/lib/zoneinfo/posixrules.

Comandos :

 
  # cd /usr/lib/zoneinfo 
  # cp MET localtime 
  # ln -sf localtime posixrules 
Utiliza en seguida el comando clock para poner el sistema a la buena hora. Dos posibilidades : 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 Linux. En este caso, tu debes agregar en /etc/rc.d/rc.local el siguiente comando : clock -u -s Linux se ajustara sobre la hora salvaguardada.

Si la CMOS esta a la hora local, el comando en /etc/rc.d/rc.local es : clock -s 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 clock -w o poniendo la hora con el setup.

El comando date permite verificar la validez de la hora : da la hora y timezone date -u da siempre la hora en GMT :

 
  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 
(En verano, "MET DST" (Daylight Savings Time) seria indicado).

8.14 Nuevos cambios de hora

Parece que este año, la fecha del cambio de hora a sido desplazada. Para que Linux no se enrede, es necesario hacer ciertas modificaciones. La manipulación se basa en la utilización del programa zic, el time zone compiler.

En un fichero llamado europa, pon :

 
  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 
Para poner todo en su lugar, lanza la instrucción :
 
gandalf# zic europe 
Para verificar que todo esta bien, debes obtener el resultado siguiente :
 
  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 

8.15 locate

Cuando instalas el paquete GNU "find", ademas del programa de búsqueda se encuentra un programa de localización locate. Este programa permite encontrar el nombre completo de un archivo. El programa se encuentra en ciertas distribuciones en /usr/lib/locate.

Lanzar, siendo root,/usr/lib/locate/updatedb. Esto llama un find ~/ sobre los discos montados y coloca los nombres de todos los archivos (bajo la forma hash) en /usr/lib/locate/find.codes. 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 crontab la linea updatedb --prunepaths='/tmp /usr/tmp /var/tmp /proc /users /root /dos /mnt /var/adm /var/spool /var/catman /home ' 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.

8.16 Un segundo controlador IDE

En este caso, es necesario que crees los dispositivos en /dev . Lanza MAKEDEV.ide1 en el repertorio /usr/src/linux/drivers/block. Luego, es suficiente hacer un fdisk /dev/hdc por ejemplo.

8.17 CDROM ATAPI

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:

  1. Recompilas el núcleo con la opción CD ATAPI IDE y el soporte del sistema de archivos iso9660.
  2. Vas al repertorio /usr/src/linux/drivers/block. Hay un script que se llama MAKEDEV.ide1. Lo lanzas. Este script va a crear los dispositivos necesarios para tu segundo controlador de disco.
  3. Haces un reboot. A nivel de LILO, tecleas: Linux hdd=cdrom. Atencion : aquí estas en qwerty.
  4. Creas un enlace simbólico entre /dev/hdd (o hdc) y /dev/cdrom. Por ej : ln -s /dev/hdd /dev/cdrom.
  5. Creas el repertorio /cdrom y tecleas : mount -t iso9660 -o ro /dev/cdrom /cdrom. Normalemente, tu CD esta montado! ( nt : /mnt/cdrom puede ser un buen remplazo de /cdrom)

Si tienes problemas debes ensayar :

  1. configurar el lector en modo EIDE "master";
  2. dejar un CD cargado durante el arranque;
  3. arrancar, esperar un momento y luego re-arrancar "caliente" (o sea sin accionar ni reset ni apagar la maquina : unicamente con Ctr-Alt-Del) para que el lector tenga tiempo de sacudirse.

8.18 Poner una consola externa como consola

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 lilo.conf la siguiente linea:

 
 append ="scon=0x03f8  serial=0,9600n8" 

8.19 Dos tarjetas de red

Ciertas maquinas poseen dos (o más) tarjetas Ethernet. Para que las dos sean reconocidas, es necesario agregar en la configuración de Lilo :

 
append="ether=0,0,eth1" 

8.20 Los archivos de inicialización de los interpretadores de comandos

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 bash, es un poco complicado. Según la pagina del manual de bash, y luego de una conexión interactiva, ejecuta:

En el caso en que bash es llamado como sh, solo ejecuta los archivos /etc/profile y ~/.profile si existen.

En el caso de ksh, la pagina del manual es menos precisa pero un estudio rápido del código inicial muestra que:

Finalmente, para completar lo de los interpretadores de comandos compatibles con el Bourne Shell, citemos el caso de zsh que ejecuta: En el caso de csh (o mas bien tcsh) :

8.21 Los archivos de seguridad (salvaguardas) bajo Linux

Como todo sistema UNIX, Linux provee las herramientas standard para realizar los archivos de seguridad de los discos.

Dos tipos de herramientas principales son actualmente utilizadas.

dump y restore

Las herramientas dump y restore fueron puestas bajo Linux por Remy Card. Actualmente, no se proveen en la Slackware. Las fuentes se deben recuperar entonces en

 
ftp.ibp.fr:/pub/linux/tsx-11/packages/ext2 
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 /dev/sda1 sur /dev/rmt0, por ejemplo es suficiente hacer:
 
  gandalf# dump 0sfu  3600  /dev/rmt0  /dev/sda1 
  gandalf# dump 0sfu ondee: /dev/rmt0  /dev/sda1 

El segundo comando permite salvaguardar un disco sobre un dispositivo distante (por ejemplo situado aquí sobre la maquina "ondee"). Las opciones de dump pueden parecer complejas. A continuación damos una corta descripción:

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 " interactivo ". 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:

 
  gandalf# restore -if /dev/rmt0 
  gandalf# restore -if ondee:/dev/rmt0 
En este caso, un mimi-interpretador de comandos es lanzado. Utiliza el comando help para mas detalles.

Para restaurar completamente una banda, lanza:

 
  gandalf# restore rf /dev/rmt0 
Nota importante: para la utilización de dump y restore a través de una red (salvaguarda sobre dispositivos distantes), debes utilizar los archivos .rhosts. En el siguiente ejemplo de salvaguarda, la maquina "ondee" debe tener:
 
  #cat ~root/.rhosts 
  gandalf 
  # 
El uso de dispositivos distantes necesita igualmente la presencia de un programa rmt sobre la maquina que maneja los dispositivos de salvaguarda. Este programa esta incluido en la distribución fuente de dump para Linux.

tar

A diferencia de dump o restore, tar permite salvaguardar los archivos deseados, excluir ciertos repertorios, etc. Es necesario notar que el tar utilizado bajo Linux es el tar GNU. Este posee ciertas opciones particulares.

Para conocer todas las opciones posibles, te aconsejo hacer tar --help. Una utilización simple de tar puede ilustrarse con la salvaguarda de una partición de usuarios:

 
  # tar cvf /dev/rmt0 /users | mail backup-user 
La lista de archivos será así enviada al usuario backup-user.

Ciertos sitios utilizan tar exclusivamente para efectuar sus salvaguardas, cada cual escoge. .

8.22 Num Lock al arranque

Para configurar la tecla Num Lock al arranque (por ejemplo para que ella se encienda) solo tienes que poner en tu /etc/rc.d/rc.local

 
for tty in /dev/tty[1-9]*; 
do 
        setleds -D +num < $tty > /dev/null 
done 

8.23 Los archivos core

Ciertos programadores adoran explotar el contenido de los archivos core. Pero en Linux, estan desactivados por defecto. Para poder generarlos debes introducir : ulimit -c unlimited

8.24 Accounting - lastcomm

El sistema de accounting esta implementado en 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 : ftp.ibp.fr:/pub/linux/sunsite/system/Admin/accounts y en ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting/ Ten cuidado pues debes tener un núcleo 1.3.* o uno 2.0.* He aquí el resultado :

 
# 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 
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 :
 
# Lanzamiento del accounting 
accton /var/log/acct 
accttrim -n 2000 /var/log/acct 2> /dev/null 

9. X Window

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 "swapping".

En un primer tiempo, instala con la ayuda de tu distribución el servidor que corresponda mejor a tu carta gráfica.

9.1 XF86Config

El problema con X Window, es configurar el archivo. Se trata del archivo XF86Config. 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 SuperProbe. 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 !) :

 
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)) 

Ahora, sigue lo mas duro : construir el archivo de configuración. Atención: en ciertas distribuciones, el archivo XF86config esta en el repertorio /etc, lo cual es una buena idea en el caso de una red de estaciones Linux que comparten /usr por NFS. Si utilizas una o varias maquinas independientes, puedes suprimir /etc/XF86config y utilizar /usr/X11R6/lib/X11/XF86Config.

Este archivo se presenta en forma de secciones. He aquí una descripción:

La configuración del servidor X puede ser muy rápida (funciona inmediatamente), o muy larga. En el segundo caso, te doy algunos consejos:
  1. Lee la documentación que se encuentra en ./doc. Un buen numero de pantallas y de tarjetas están descritas con los relojes que se deben utilizar.
  2. Empieza con una resolución baja (640x480) : es mas simple.
  3. Si necesitas los clocks de tu carta, lanza startx 2>/tmp/err. En el archivo /tmp/err 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.
  4. Lee el "Video HOWTO", escrito por J.M. Vansteene y disponible sobre ftp.ibp.fr en el repertorio /pub/linux/french/docs/HOWTO.
  5. utiliza el programa xvidtune : permite "afinar" la imagen (centrarla, etc). Por ejemplo, yo tenia una tembladera : con este programa, pude resolver el problema.

9.2 Teclado francés bajo X : Xmodmap

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:

 
      LeftAlt     Meta 
      RightAlt    ModeShift 
      # RightCtl    Compose 
      ScrollLock  ModeLock 
Luego, pones el siguiente archivo en el repertorio /usr/X11R6/lib/X11/xinit. Debe llamarse .Xmodmap. 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.
 
  ! 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 
  !----------------------------------------------------------------------- 
Los caracteres " y " se obtienen respectivamente presionando la tecla donde hay un un dos pequeño para " y Shift + dos para ".

9.3 Teclado francés bajo X... 2da posibilidad

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 "map" del teclado.

Entonces se debe hacer:

En el repertorio /usr/lib/kbd/keytables.map, copia fr-lat1.map bajo otro nombre (tuteclado.map). Lanza showkey para ver el numero de las teclas concernidas, en orden : 5 8 10 26 y 40. Luego edita tuteclado.map para hacer las modificaciones. Para hacer un test, haz loadkeys tuteclado.map. Cuando estés seguro que todo funciona correctamente, modifica /etc/rc.d/rc.keymap para que cargue tuteclado.map y escribir sobre tu teclado con un lápiz y no con tinta ... :-)

También se puede poner una "tilde muda" en el 2 superior y una "tilde dura" (indispensable para un shellista) en ALT-2.

9.4 xdm

Para arrancar directamente con X Window (xdm), tienes que modificar el archivo /etc/inittab y cambiar la linea que contiene initdefault. Por ejemplo en mi maquina solo tengo que remplazar :

 
  id:5:initdefault: 
  #id:6:initdefault: 
por
 
  #id:5:initdefault: 
  id:6:initdefault: 
Pero cuidado ! Ciertas distribuciones utilizan el nivel 6 para rearrancar. Lo mas simple es mirar en el repertorio /etc/rc.d si el archivo rc.6 lanza el xdm.

Para lanzar xdm en 16 o 32 bits, hay que modificar el archivo /usr/X11/lib/X11/xdm y poner :

 
  :0 local /usr/X11/bin/X -bpp 16 (o 32) 

9.5 Como arrancar varias sesiones X ?

Para poder arrancar varias sesiones X en diferentes consolas sin tener que especificar el "display" a utilizar, agrega al fin del archivo startx :

 
  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 

9.6 Como recuperar los errores en la consola ?

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 :

 
 xinit > /dev/console 2>&1 
Si utilizas la Slackware, solo tienes que editar el script startx y remplazar la linea :
 
  exec xinit $clientargs -- $serverargs 
por
 
  exec xinit $clientargs -- $serverargs >/dev/console 2>&1 

9.7 XFree y XInput

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 :

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 :
 
  Section "Module" 
      Load "xf86Wacom.so" 
      Load "xf86Elo.so" 
      Load "xf86Jstk.so" 
  EndSection 
Xfree busca los módulos en un repertorio predefinido : /usr/X11R6/lib/modules o en un camino especificado en la sección "Files" :
 
  Section "Files" 
      ModulePath  "/usr/X11R6/lib/,/usr/X11R6/lib/modules/" 
      ModulePath  "/usr/X11R6/bin" 
  EndSection 
El ModulePath debe ser especificado antes de la sección "Module" 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 :

 
  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 
En seguida el servidor puede emitir los eventos extendidos o bien bascular un dispositivo en core pointer. Dos programas existen para manipular los dispositivos extendidos :

9.8 Un problema bastante corriente

Una pregunta que hacen muy seguido : Yo no se porque bajo Xfree86, a veces no puedo mover las ventanas, no tengo acceso a los botones ni a los menús (salvo aquellos de las ventanas sistemas)?. La solución es muy simple : desbloquear "Scroll Lock" !

10. Seguridad

10.1 X Window : el archivo .Xauthority

El archivo .Xauthority es generado por el programa xauth. 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 "ver" lo que hay en tu pantalla.

El principio es dar una clave de identificación, en hexadecimal con un numero par de caracteres.

Lanza xauth y haz :

 
  add MaMachine:0 MIT-MAGIC-COOKIE-1 MiCodigo 
  add MaMachine/unix:0 MIT-MAGIC-COOKIE-1 MiCodigo 

Para la maquina, es en realidad "hostname:NoDisplay". Una vez lanzado, tu servidor X prohibe toda conexión, salvo si la aplicación :

Tu puedes desactivar el sistema para ciertas maquinas con un xhost +toto por ejemplo.

Nota : ciertas versiones obligan lanzar el servidor X con el comando :

 
  xinit -- -auth $HOME/.Xauthority 

10.2 X Window : control de la sesión

Solo xdm asegura un control de sección X Window correcto. La directiva DontZap, en la sección ServerFlags del archivo de configuración de Xfree86 limita las posibilidades de equivocarse. Para prohibirle, a los malintencionados, la utilización de las teclas de "bascula" de las consolas virtuales (Alt-F1, ALT-F2 ...) solo tienes que poner en /etc/profile la linea siguiente :

 
alias x='(startx >/dev/null &);clear;logout' 
Y luego invocar x en lugar de startx.

10.3 Problemas de seguridad

La distribución Slackware contiene ciertas fallas. Tu puedes consultar la lista en la siguiente dirección :

 
  http://bach.cis.temple.edu/pub/linux/linux-security/ 
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 :
 
  http://bach.cis.temple.edu/pub/linux/linux-security/<bf/Linux/-Security-FAQ/ 

10.4 Protección de la maquina contra el exterior

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 /etc/hosts.allow y las maquinas prohibidas en /etc/hosts.deny. Puedes permitir el envío de correo cuando una maquina intente conectarse aunque haga parte de las maquinas impedidas, poniendo en el archivo /etc/hosts.deny :

 
  wu.ftpd:        ALL: twist = /usr/sbin/real-daemon-dir/safe_finger -l @%h | 
  /bin/mail -s %d-%h root 
(En una sola linea :-)).

Si quieres mas detalles, puedes leer el siguiente documento : ftp.win.tue.nl:/pub/security/tcp_wrapper.ps.Z.

10.5 Algunos punteros

En Francia, el servidor ftp.urec.fr 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 Linux : linux-security@tarsier.cv.nrao.edu y linux-alert@tarsier.cv.nrao.edu

11. Recompilar el núcleo

11.1 Pentium

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 http://www.goof.com/pcg 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 http://www- iss.mach.uni-karlsruhe.de/pcg/.

En lo relativo al manejo optimado de los buses PCI, solamente los núcleos llamados de "desarrollo" lo hacen (v1.3 actualmente)... Sin embargo cuidado: estos núcleos tienen frecuentemente bugs! [Nt : fin de la antigua versión]

11.2 Compilación

Esta sección es inspirada de Kernel HowTo (ward@blah.tu-graz.ac.at).

Los nuevos fuentes del núcleo Linux pueden ser recuperados sobre ftp.ibp.fr en el directorio /pub/linux/kernel/sources/v2.0 para las versiones "estables". Es un sitio mirror de ftp.funet.fi

Existe otro directorio: v2.1 : 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 /usr/src/linux. La compilación es muy simple pero algunos puntos deben ser seguidos muy escrupulosamente:

  1. 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.
  2. make config 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.
     
         # make config 
         rm -f include/asm 
         ( cd include ; ln -sf asm-i386 asm) 
         /bin/sh scripts/Configure -d arch/i386/config.in 
    
    Esto no tiene mayor interés : se trata de posesionar los lazos simbólicos, pero no hay que olvidarlo.
     
    * 
    * Code maturity level options 
    * 
    prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) 
    [Y/n/?] 
    * 
    
    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 kerneld responde Y.
     
      * 
      * 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/?] 
    
    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.
     
      * 
      * 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 
    
    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
     
    * 
    * 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/?] 
    
    Yo le pido administrar mi lector de disquetes como modulo cargable, y de manera general, yo activo el soporte IDE.
     
      * 
      * 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/?] 
    
    Si se dispone de material ATAPI, hay que indicarlo acá. Lo mismo si se tiene una interfase PCMCIA. Nótese bien que 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.
     
    * 
    * 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/?] 
    
    A menos que sepa exactamente lo que hace, es mejor no modificar. Bueno, pasemos a las redes !
     
      * 
      * 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/?] 
    
    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.
     
      * 
      * 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/?] 
    
    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í.
     
      * 
      * ISDN subsystem 
      * 
      ISDN support (CONFIG_ISDN) [N/y/m/?] 
    
    Soporte de tarjetas ISDN. A menos de tener alguna de estas, no activar la opción.
     
      * 
      * CD-ROM drivers (not for SCSI or IDE/ATAPI drives) 
      * 
      Suport non-SCSI/IDE/ATAPI CDROM drives (CONFIG_CD_NO_IDESCSI)  
    [N/y/?] 
    
    Para los CDROM Sony CDU31A/CDU33A, Matsushita/Panasonic/Creative, etc. En resumen, los CD conectados sobre la tarjeta de sonido por ejemplo.
     
      * 
      * 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/?] 
    
    Se trata de configurar la lista de los manejadores de archivos comandados por 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.
     
      * 
      * character devices 
      * 
    
    Soporte para el puerto paralelo y para diversos ratones. No olvides activar tu impresora si esta esta conectada al puerto paralelo.
     
      * 
      * Sound 
      * 
    
    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, Linux maneja muchas otras tarjetas de sonido.
     
    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] 
    
     
      * 
      * Kernel hacking 
      * 
      Kernel profiling support (CONFIG_PROFILE) [N/y] 
    
    Es muy recomendable poner esta opción en N.
  3. make dep se encarga de crear las dependencias.
  4. make clean va limpiar toda la arborescencia.
  5. Lance make zImage 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.
  6. si tu tienes módulos, lanza su compilación con : make modules y luego instálalos con : make modules_install. Ellos serán recopiados en el repertorio /lib/modules/2.0.26
  7. Cuando hayas terminado, ve a /usr/src/linux/arch/i386/boot. El nuevo núcleo es el archivo zImage. El núcleo esta comprimido. Cópielo en la raíz / , bajo un nuevo nombre (por ejemplo " vmlinuz2 "). 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 lilo para que el nuevo núcleo sea tomado en cuenta. Rearrancas la maquina y eso debería funcionar.

Nota: Si no logras modificar la configuración de lilo 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.

12. Archivos especiales

En Linux y más generalmente en UNIX, las entradas/salidas sobre un dispositivo se hacen gracias a los archivos situados en el directorio /dev/. Cada uno de ellos se identifica por un nombre (por ejemplo, hda para el primer disco duro del controlador IDE) pero sobre todo por dos únicos números: mayor y menor. Estos archivos especiales son de dos tipos : caracteres (teminal, impresora, etc) o bloques (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 mknod Nom_Archivo Tipo Mayor Menor. También existen otras opciones que se encuentran en el manual.

Dentro del directorio /dev también existe un archivo de comandos llamado MAKEDEV, el cual permite crear archivos especiales sin utilizar directamente mknod.

La lista de periféricos que se presenta a continuación proviene del documentoLINUX ALLOCATED DEVICES escrito por H. Peter Anvin hpa@zytor.com. Esta lista esta incluida en el directorio de documentaciones de las fuentes del núcleo (Documentation/devices.txt) a partir de la versión 1.3 del núcleo.

Si usted desea desarrollar un dispositivo a la lista, contactelo después de haber leído el documento original. De hecho, esta lista esta un poco depurada.

La lista corresponde a la versión 2.0.26

13. Comunicar

13.1 UUCP y modem

UUCP (UNIX to UNIX CoPy) te permite enviar y recibir mail y news.

Te aconsejo hacer una liga entre /dev/modem y /dev/cua1 (COM2), o hacia el dispositivo que corresponda (cua0-3 , COM1-4). los repertorios utilizados por UUCP son /var/spool/uucp, /var/spool/uucppublic, /usr/lib/uucp y /var/lib/uucp.

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 /var/lib/uucp/hdb_config.

Ahora, tu sistema esta configurado. No te queda mas que hacer un test. Lanza esto :
 
  uucp remcomp\!\~/catalogue.Z ~/ 
Tu maquina se va a conectar a remcomp para recuperar el archivo catalogue.Z. Este archivo será depositado en el repertorio /var/spool/uucppublic.

13.2 Llamadas entrantes

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 /etc/inittab.

Debes descomentar una linea por ejemplo :

 
  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 
Entonces al próximo boot, un sistema de login esta listo en tu puerto /dev/modem (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 (ATQ2) y sobre todo, ponlo en auto-respuesta (ATS0=1).

Si no tienes switches has un AT&W para salvaguardar los parámetros.

Para verificar la config utiliza usrlibuucp/uuchk/.

Si quieres mas informaciones te aconsejo que leas el HOWTO-UUCP.

13.3 PPP

El objeto de este parágrafo es la instalación de una conexión PPP.

Introducción

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 :

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 Linux !

Acceso a un servidor PPP

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í :

 
  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 
Además tienes que recuperar las fuentes de los programas de acceso a PPP (en el archivo ppp-2.1.2a.tar.gz, de pronto b, c o d) para poder instalar los siguientes programas :

Tu puedes por ejemplo instalar pppd y chat en el repertorio /usr/sbin.

Luego, tienes que configurar tus shell-scripts de arranque para configurar la capa TCP/IP (por ejemplo en un archivo /etc/rc.d/rc.net que será lanzado por /etc/rc.d.rc.local). He aquí un ejemplo :

 
  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 "" 
Luego agrega la dirección IP de tu maquina en el archivo /etc/hosts :
 
       127.0.0.1          loopback localhost      # useful aliases 
       199.103.124.170    pcpf pcpf.lectra.fr     # Mi lindo PC en PPP 
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 /etc/resolv.conf :

 
   domain lectra.fr 
   nameserver 192.1.2.1 
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 /etc/hosts todas las maquinas a las cuales quieres acceder con sus direcciones IP...

Igualmente puedes poner tu nombre de dominio en el archivo /etc/ppp/options que debe existir aunque sea vacío (si no quieres que pppd pida /etc/ppp/options, tienes que compilarlo con la opción-DREQ_SYSOPTIONS=0)

Ahora puedes febrilmente hacer un test de tu conexión utilizando un shell-script de este estilo (Cuidado : todo esto es una sola linea) :

 
  /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: 
El comando chat permite efectuar la conexión llamando el numero de tu servidor. Cuidado no olvides la segunda linea en particular modem y 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 /etc/hosts (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 :

 
    $ 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 
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 /sbin/ifconfig el resultado debe parecerse a esto :
 
  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 
Sobre todo tienes que tener una linea que comience por ppp0 sino, no good. Igualmente puedes hacer un test con netstat -nr que debe dar una cosa así mas o menos :
 
  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 
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 defaultroute.

Configuración de un servidor PPP

Para eso, debes instalar los mismos programas del capitulo anterior (configurar el núcleo, instalar pppd). Ademas de esto, debes crear un login especial para las conexiones PPP en /etc/passwd, por ejemplo :

 
  ppp::61:60:Connexion PPP:/:/usr/bin/ppp_login 
El script /usr/bin/ppp_login es :
 
  #!/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 
La opción proxyarp le permite a la maquina conectada un acceso a toda la red :
 
   199.103.124.170                   199.103.124.50 
    +-----------+      PPP link       +----------+ 
     |   pcpf      |-------------------- |  ondee   | 
    +-----------+                          +----------+ 
                                                          |           Ethernet 
                 ----------------------------------- 199.103.124.x 

Bibliografia

Para mas informaciones ver el archivo README.Linux del ppp-2.1.2a.tar.gz. Nota : este archivo se encuentra en la distribución standard de la Slackware.

13.4 Una red detrás de una sola dirección

Una pregunta común es : " Yo tengo un acceso Internet pero una sola dirección IP y yo quisiera conectar varias maquinas".

El NET2-HOWTO responde a esta pregunta pero olvida una posibilidad. Esta nota tiene por objetivo, explicar las cuatro maneras de resolver el problema.

13.5 Sendmail

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 :

13.6 Configuración del mail durante una conexión con un provider

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 Linux en /var/spool/mail/usuario. Para esto puedes utilizar el programa gwpop de Stephane Bortzmeyer. Se encuentra en :

ftp://ftp.pasteur.fr/pub/Network/gwpop.

En este script, definir :

 
  $mailhost = "mail.fournisseur.pais"; 
  $deliver= "deliver NombreUsuarioLocal "; 
Una vez estés conectado, lanza via un script (para que no tengas que escribir todo cada vez) :
 
  gwpop -p ClaveServidorPop UsuarioServidorPop 

Una vez que el correo es recibido, la cuestión es saber como enviar. Tienes que recompilar sendmail sin DNS. Para esto, define NAMED_BIND a 0 en src/conf.h Las versiones recientes de sendmail tiene por defecto un comportamiento que puede ser molesto. Los mensajes acentuados son automáticamente convertidos en Quoted Printable 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 src/conf.h

He aquí el archivo de reglas que tienes que indicar con el kit sendmail de Jussieu :

 
  #!/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" 
y el archivo de config :
 
  #!/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 
Luego solo necesitas quitarle el comentario a la linea siguiente :
 
  CPP="$CPP -traditional" 
Y luego generar el archivo de config :
 
./configurateur regles.lolonet maquina.config >sendmail.cf.maquina 
Si has desactivado MIME8TO7 en sendmail, comentar la linea del sendmail.cf generado:
 
# O EightBitMode=mime 
y copiar el archivo en /etc

Es necesario definir la dirección IP del servidor SMTP en /etc/hosts. Finalmente, tienes que reescribir la dirección local para que los mensajes tengan un campo From correspondiente a la dirección dada por el proveedor. Solo tienes que agregar en /etc/revaliases una linea de estilo :

 
  NombreLocal:       NombreProveedor@Provedor.pais 
Y luego regenerar la base con :
 
 /usr/sbin/sendmail -bi -oA/etc/revaliases 
Listo ! Los mails son guardados en /var/spool/mqueue. Cuando te conectes por PPP y que quieres enviar todos tus mails, solo tienes que hacer :
 
  /usr/sbin/sendmail -q 

14. ELF

14.1 Introducción

Desde sus primeras versiones, 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:

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.

14.2 Instalación

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 FTP tsx-11.mit.edu y sunsite.unc.edu así como en su espejo francés ftp.ibp.fr en el repertorio /pub/linux/GCC. 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:

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.

  1. instalación del editor de lazos dinámico.
     
    # cd /usr/src 
    # tar xvfz /.../ld.so-1.8.5.tar.gz 
    # cd ld.so-1.8.5 
    # sh instldso.sh 
    
  2. Salvar las bibliotecas precedentes (en formato a.out)
     
         # 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 
    
  3. instalación de nuevas bibliotecas
     
    # cd / 
    # tar xvfz /.../libc-5.4.17.bin.tar.gz 
    # tar xvfz /.../libg++-2.7.2.1.bin.tar.gz 
    # ldconfig -v 
    
  4. instalación de nuevos utilitarios
    # 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 
    

Listo! Ahora tienes un sistema en el que coexisten bibliotecas en formatos a.out (bajo /usr/i486-linuxaout/lib) y ELF (bajo /lib y /usr/lib). Los antiguos binarios siguen ejecutándose correctamente. Cuidado! si utilizas sistemas de archivos diferentes para / y /usr, existe el peligro de tener problemas al arranque de la maquina. De hecho las bibliotecas antiguas estando en /usr/i486-linuxaout/lib, no son accesibles mientras que /usr 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:

 
  # cd /usr/i486-linuxaout/lib 
  # mv libc.so.* /lib 
  # ldconfig -v 

14.3 Migración hacia un sistema todo ELF

.

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 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 Linux (versión 1.2.x) así como todos los programas que contengan bibliotecas compartidas. En el sitio ftp.ibp.fr, el directorio /pub/linux/ELF contiene "patchs" para algunos programas.

14.4 utilización de los utilitarios ELF

.

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 -b i486-linuxaout durante el llamado de gcc. Ahora es fácil construir bibliotecas dinámicas. Los archivos fuente deben ser compilados con la opción -fPIC 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 -shared de gcc permite luego generar una biblioteca dinámica. Por ejemplo para generar una biblioteca libtruc.so.1.0 se utilizarían las siguientes ordenes:

 
  $ gcc -c -fPIC *.c 
  $ gcc -shared -Wl,-soname,libtruc.so.1 -o libtruc.so.1.0 *.o 

14.5 Fuentes de información sobre ELF

Algunos documentos que conciernen ELF están disponibles en ftp.ibp.fr en /pub/linux/ELF/doc. Se trata de :

También es posible aprender más sobre ELF en estas URL:

15. Catástrofe !

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...

15.1 Imposible de arrancar !

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 : cat /mnt/vmlinuz > /dev/fd0 por ejemplo. Normalmente, esto debe entonces funcionar si tu núcleo es el correcto. Eventualmente, efectúa un :

 
  rdev /vmlinux /dev/hda2 
para especificar al núcleo cual partición es la raíz del sistema de archivos.

15.2 Formato accidental de una partición

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 unformat.

La primera solución de recuperación (muy brutal) es la de hacer un strings /dev/hda3 > Recup. 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 http://www-eleves.enst-bretagne.fr/ aubert/perl/) :

 
  # 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; 
  } 

15.3 Problemas con el disco duro : super-bloque

Si el super-bloque esta hecho una nada lanzar e2fsck con las siguientes opciones : e2fsck -b 8193 /dev/sda3. 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 mke2fs con la opción -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.

15.4 Problemas con el disco duro : bloques defectuosos

Si tu disco tiene algunos problemas (sectores defectuosos), puedes recuperar e2fsck en el paquete e2fsprogs versión 1.06 si tu no lo tienes ya. Luego :

15.5 Señal fatal 11

Ciertas maquinas no podrán funcionar convenientemente y producirán entonces de manera mas o menos aleatoria un mensaje (por ejemplo "fatal signal 11") 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 "SETUP" de la maquina. Y luego disminuir el nivel de PIO del EIDE (no pasar de PIO 3). Leer a este propósito el documento http://www.bitwizard.nl/sig11/.

16. Varios

16.1 Como generar un disquete de arranque (boot)

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 zImage o vmlinuz.

Cópialo en el disquete :

 
          cat /zImage > /dev/fd0 

después tu haces (ejemplo) :

 
          rdev zImage /dev/hda2 
el segundo parámetro debe ser el nombre de la partición raíz Linux de tu sistema.

Este disquete te permite arrancar (prueba !).

16.2 Mi contraseña, donde esta mi contraseña?

En resumen : Has perdido tu contraseña de root... Bueno, hay varias soluciones. La primera :

  1. Tu arrancas con las disquetes arranque y root de tu distribución.
  2. Te alojas en root (allí, no hay contraseña).
  3. Montas la raíz de tu disco duro : mount
  4. t ext2 /dev/hda1 /mnt
  5. Vas al repertorio /mnt. no te queda mas que editar el archivo /mnt/etc/passwd, y suprimir la contraseña de root : root::0:0:root:/root:/bin/bash.
Arrancas Linux normalmente, y no tienes necesidad de contraseña para alojarte en root.

Bueno, pasemos a otras soluciones : Rebootar el pc en modo single-user. Para esto, en el momento de arrancar con LILO, decirle LILO: linux single. Un shell root va aparecer . Atención : el teclado esta en qwerty y la partición en lectura sola. Para remediarlo :

 
      loadkeys /usr/lib/kbd/keytables/fr.map (es.map) 
      mount -w -n -o remount / 
Y utilizas el comando passwd, o editas el archivo /etc/passwd

16.3 Como limitar el reboot en single-user ?

El problema de arrancar en single-user, 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 single-user.

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 SOME_USER para que ella tenga el valor 2, recompilas init, 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 root = MiLinux).

Utilizando Lilo, no hay problema ! basta agregar las lineas siguientes para cada una de las imágenes en el archivo /etc/lilo.conf:

 
  password = la contraseña  en claro 
  restricted 

(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

16.4 Consolas virtuales

Linux te permite trabajar al mismo tiempo en varias ventanas texto. Para pasar de una a otra, haz Alt + Fn donde n es el numero de la ventana virtual y Fn una tecla de función (por ejemplo F1, F2 ...). Tu puedes configurar el numero de ventanas en el archivo /etc/inittab.

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 "libre", es decir no manejada por un getty). Si tienes 6 consolas virtuales (de Alt F1 hasta Alt F6 ); usa Alt-F7, por ejemplo.

Utiliza maj + paginas (teclas "SHIFT" y "pagina precedente" o "pagina siguiente") para "pasearse". Esto funciona también bajo xterm.

16.5 Francisación

locale // nls

Los "locales" 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 (distributions/jurix/source/libc/nls o sunsite/utils/nls) o el Mini- HOWTO sobre los Locales. Si tu eres simple utilizador, puedes conocer los locales instalados en tu sistema con local -a (los nombres parecen estar poco estandarizados, tendrás trucos del genero "fr_FR" o "fr_FR.ISO8859-1") y selecciona uno con las variables de entorno como LANG o LC_CTYPE (man local 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 ftp://ftp.ibp.fr/pub/linux/GCC.

 
  (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 

Y allí puedes leer las instrucciones en el README y hacer "./configure" ("make depend" es largo y no parece necesario si quieres solo los locales)

Si no quieres compilar toda la libc, te paras allí y :

 
  cd locale 
  make SHARED= programs 
  (pasar root) 
  mv localedef /usr/local/bin 
  mv locale /usr/local/bin 
  (salir de root) 

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 ftp://ftp.ibp.fr/pub/linux/GCC ( debe su nombre a un "working group" Posix).

En este archivo, una vez destarado(?-)), hay una buena documentación (Intro). Si no quieres leerla, lo que hay que hacer es :

 
  (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) 

Tu puedes testar con local -a que el nuevo local es conocido desde ahora. Es todo. Los utilizadores pueden utilizar ya las variables de entorno de los locales como LANG o LC_CTYPE.

Segundo método, que no he podido hacer funcionar :

Recuperar nslutils (hoy nlsutils-0.5.tar.gz) por ejemplo (parece necesario recuperar los archivos de encabezados como localeinfo.h en la libc).

 
  make 
  make install 

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:

 
 # 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"); 
       } 
  } 

No debe imprimir en la pantalla Setting locale: (null) y, con el buen locale francés, debe encontrar que todos los caracteres, excepto el ultimo, son "printables".

Ciertos útiles GNU comienzan a ser francesados. Para tener esta posibilidad, añade en tu .bashrc las lineas siguientes :

 
  export LC_CTYPE=ISO-8859-1 
  export LANG=fr 

ispell

ispell es un corrector ortográfico, en francés. Tu puedes recuperarlo en ftp.ibp.fr en /pub/ispell. Es igualmente posible recuperar un diccionario francés para ispell en el mismo sitio en el repertorio /pub/ispell/francais.

Les acentos bajo bash

agrega en el archivo .inputrc las lineas siguientes :

 
  set meta-flag on 
  set convert-meta off 
  set output-meta on 

less

Es muy desagradable no tener los acentos cuando se hace un less o un more de un archivo. Para que este problema no aparezca, añade :

 
  export LESSCHARSET=latin1 

en el archivo /etc/profile.

less permite también examinar el contenido de diversos tipos de archivos (less toto.tar.gz...) :

 
  export LESSOPEN="|lesspipe.sh %s" 

Colocar el script siguiente en un repertorio cuyo nombre figura en el PATH :

 
  #!/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 

Formato de textos

Para gs y xdvi, 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 :

 
  gs -sPAPERSIZE=a4 
  xdvi -paper a4 
  ghostview -a4 

Para que dvips convierta los documentos en un formato papel a4, hay que especificar en el archivo config.ps (el camino varia en función de las versiones de LaTeX) :

 
  @ a4 210mm 297mm 
  @+ ! %%DocumentPaperSizes: a4 
  @+ %%PaperSize: a4 
  @+ %%BeginPaperSize: a4 
  @+ a4 

elm

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 ~/.elm/elmrc :

 
  charset = iso-8859-1 
  displaycharset = iso-8859-1 
  textencoding = 8bit 

16.6 TeX y los tipos de caracteres (police)

Ciertos personajes indelicados se permitieron modificar los tipos de caracteres Computer Modern 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 Computar Moderan. 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 :

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.

16.7 Une tarjeta de sonido bien configurada

Cuando uno compila y se sirve de una tarjeta sonido en Linux, la gran pregunta es saber si la tarjeta esta correctamente configurada. Para esto, existe un archivo (/dev/sndstat) que da todas las informaciones sobre la configuración de la tarjeta :

 
  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 
 

Para ensayar la buena marcha de la tarjeta sonido, es suficiente enviar algunos archivos audio (.au) sur /dev/audio, etc.

16.8 Bug gcc

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 -O2. Para identificarlo, ensaya este programa :

 
  /* 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); 
    } 
  } 

16.9 Emacs

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 :

 
  ;; 
  ;; 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)) 
  )) 

Este archivo puede ser ampliamente mejorado. Para saber mas, consulta la documentación de Emacs (apoyar sobre "control-H" luego "i"), 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 :

 
  (set-input-mode (car (current-input-mode)) 
                (nth 1 (current-input-mode)) 
                0) 
 

16.10 Protección de puertos en serie

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 "lock-files" (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 "fallar" 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 "lock-file" es mas flexible, pero menos elegante y mas delicado a establecer que la protección para el núcleo.

16.11 Minitel

Es muy agradable poder conectarse al Minitel. Recupera el programa xtel de Pierre Ficheux. Es un emulador Minitel muy simple de utilizar.

Puedes encontrarlo en ftp.ibp.fr en el repertorio /pub/X11/videotext/xtel.

16.12 Fax

Enviar documentos por FAX es perfectamente posible. Para hacerlo, puedes utilizar por ejemplo Hylafax.

Se encuentra en el sitio ftp.funet.fi en el repertorio /pub/mirrors/sgi.com/sgi/fax/source.

16.13 Módulos Cargables Esta parte se inspira completamente del articulo que escribí en el periódico "Les echos de Linux", en el mes de Julio 96.

Estructura del núcleo

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.

Que es un modulo cargable ?

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 : " Porque dos técnicas de cargamento ?"

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.

Compilación del núcleo

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 :


 
  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/?] 
  

He aquí el detalle de estas tres opciones :

Una vez configurado, es suficiente lanzar la compilación al igual que la instalación :


 
gandalf# make dep ; make clean 
  gandalf# make zImage 
  gandalf# make modules ; make modules_install 

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 modules-2.0.0.tar.gz en el repertorio v2.0. EIlos son instalados, por defecto, por las distribuciones standards, pero es importante utilizar la buena versión.

Cargamento : método manual

El cargamento manual esta basado en tres comandos :

Su utilización te obliga ser super-utilisador. He aquí un ejemplo de utilización :
 
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 

Es necesario "matar"(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.

Cargamento automático : kerneld

Introducción

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

Consejos para la compilación del núcleo

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).

Puesta en marcha

Esta parte, de modificacion, solo es valida si tu maquina no esta dotada de kerneld. Las nuevas distribuciones efectuan una instalacion correcta.

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 /etc/rc.d/rc.modules en el cual, tu colocas :


 
# 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 

Esto permite generar las dependencias de tus módulos cada vez que inicias tu maquina. Enseguida, en el archivo /etc/rd.d/rc.S (puede depender de tu distribución...), conviene agregar :


 
# 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 

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 delay=Nb_Segundos a kerneld donde Nb_Secondes es la prolongación en segundos.

El archivo /etc/conf.modules

puede suceder que sea necesario configurar un ultimo archivo: el archivo /etc/conf.modules. 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 :


 
gandalf# /sbin/modprobe<item>c | grep<item>v '^path' >/etc/conf.modules 

puede suceder que en el momento del primer arranque obtengas este mensaje :

 
  Cannot locate module for net-pf-3 
  Cannot locate module for net-pf-4 
  Cannot locate module for net-pf-5 
Que no cunda el panico ! Este mensaje no es malo y para no tenerlo mas, añade en el archivo /etc/conf.modules :
 
  alias net-pf-3 off 
  alias net-pf-4 off 
  alias net-pf-5 off 

puede suceder que ciertos dispositivos tengan necesidad de ciertos parámetros particulares. Consulta el documento Kernel HowTo.

Algunas referencias

Tu puedes consultar estas referencias para mas información :

17. Para ir mas allá

17.1 "Comenzar bien con Linux" (V 2.2.2)

Este libro es la traducción del libro "Linux Installation and Getting Started" de Matt Welsh (mdw@sunsite.unc.edu), versión 2.2.2. La traducción fue realizada por Rene Cougnenc y esta disponible en ftp.ibp.fr en /pub/linux/french/books.

17.2 Libros

Aunque Linux tiene como principio el de ser completamente gratuito, varias obras se vende en el comercio.

Es importante señalar que se puede recuperar las fuentes Latex de la traducción de la segunda obra en ftp.ibp.fr en /pub/linux/french/books. El numero de libros relacionados con Linux tiende a explotar en la ultima época. Se puede consultar el sitio http://excalibur.inp-fc.fr/anrtt/doc/index.html que intenta presentar los libros disponibles

17.3 Los HowTo's

La mayoría de HowTo's o mini HowTo ya han sido traducidos al francés. Están disponibles en el ftp.ibp.fr en el repertorio /pub/linux/french/docs/HOWTO. Esta es la lista :

HowTo :

 
  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 
Mini-HowTo :
 
  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/ 

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:

 
  mail majordomo@linux.eu.org 
  subscribe traduc 

18. Direcciones

Algunas buenas direcciones:

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 newsgroup fr.comp.os.linux.

19. Contribuciones

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.

Contribuciones :

20. Si quieres participar en Linux

Linux es un sistema abierto, que evoluciona. Numerosos desarrollos son actuelmente en curso, tales como Wine (WINdows Emulator), el proyecto de documentación de Linux(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 Linux, no dudes en contactarme.

21. That's all folks

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.

22. Spanish Linux HOWTO

Gonzalo.Garcia-Agullo@jrc.es.

datev0.1, 20 August 1996

22.1 Abstract

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...

22.2 Introducción

Empecemos por el principio...

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 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 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.

¿Qué es linux?

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: PowerPC, Sparc, Alpha, Mips, etc. De todas ellas la más reciente en este momento es la versión para 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).

¿Cómo conseguirlo?

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...

¡Socorro! ¿Dónde están los manuales?

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 '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.

22.3 Distribuciones

Extracto de la Distributions-HOWTO sobre distintas versiones de Linux. Acuda a ella para ampliar información

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:

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 http://www.cdrom.com/ su distribuidor de origen.

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 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.

Debian

La Free Software Fundation (FSF) es bien conocida entre los acérrimos usuarios de software gratuito para Unix. Son los creadores del sistema GNU, 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. http://www.debian.org.

22.4 Ayuda a la instalación de la distribución Slackware

Este es un extracto de la Installation-HOWTO, 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.

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.

Instalación con UMSDOS

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 C:\LINUX que creó desde MSDOS.

Instalación en partición nativa de Linux.

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


 
   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 ;^) ) 

Preliminares

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 "fips" 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 Linux native para el sistema, y una 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.

Formateo de la partición.

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:

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


 
  mkswap -c /dev/hdXX 
  swapon /dev/hdXX 

donde /dev/hdXX 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.

Instalación de los discos.

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.

Configuración

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 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.

22.5 Españolización de Linux

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.

Consola

...O cómo demonios poder usar acentos en nuestro propio ordenador

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 /usr/lib/kbd/keytables/ y el fichero que contiene el mapeado del teclado español se denomina 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/etc/rc.d/rc.keymap):

 
loadkeys /usr/lib/kbd/keytables/es.map 

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...

Shell bash

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 .inputrc (o al menos en .bash_profile) en tu $HOME:


 
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 

Shell tcsh

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 .tcshrc (o al menos en .login) en tu $HOME:


 
setenv LANG C 
setenv LC_CTYPE "iso_8859_1" 

Algunas aplicaciones

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:

Editor joe

Joe tiene un parámetro -asis para que conserve los caracteres de 8 bits.

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 -r desde la propia utilidad, pero sería mejor tener definida la variable de entorno LESSCHARSET=latin1.

ls

Para que muestre los caracteres especiales en los nombres de los ficheros tiene las opciones -8 -N, que se pueden añadir a la variable LS_OPTIONS que probablemente ya tengas definida por defecto.

mc

Este clónico Norton tiene una opción Full 8 bits del submenú Display bits... bajo Options.

nroff, groff

Dispone de una opción -Tlatin1

Xwindow

El entorno gráfico XWindow usa para configurar el teclado un comando llamado xmodmap que tiene la misma funcion que 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 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 /usr/lib/kbd/keytables/mk_modmap 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.

Emulador de DOS (DOSEMU)

La linea de configuración del teclado en /etc/dosemu.conf deberá incluir '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 keyb sp desde el propio emulador de DOS, o bien ejecutar 'keybes2.com, una pequeña utilidad para el propio emulador disponible en varias de las direcciones habituales.

Correo electrónico

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 cabeceras de los mensajes, dejando abierta la posibilidad de 8 bits en el 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 agentes de usuario como los agentes de transporte en los servidores de correo) es mediante el estandar MIME, que permite 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.

22.6 Conectividad de Linux

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... :)

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.

Conectividad casera

Algunas de las situaciones típicas en las que se puede aprovechar la capacidad de trabajo en red de Linux podrían ser:

Servidor de terminales

¿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.

Red PPP

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).

Servidor de modems

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.

Conexion directa a Internet

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:

Infovía: acceso a Internet desde casa

¿Qué es infovía?

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 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.

¿Como conectar entonces?

El software básico es el 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 pppd usaremos una utilidad 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 pppd con algunas versiones del 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 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. /dev/modem es un enlace (un "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.

/etc/ppp/options:


 
  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 

/etc/ppp/infovia.pass 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 infovia como usuario genérico e infovia como clave.

/etc/ppp/infovia.chat contiene el guión que utilizará chat en su diálogo con el modem. Un ejemplo de su contenido podría ser:


 
  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' 

En el ejemplo anterior se usa marcación por pulsos. Si fuera por tonos sustituir ATDP por 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í:

/etc/ppp/infovia-off.chat:


 
  TIMEOUT 3 
  ''    '\r' 
  '\r'  '+++\c' 
  '\r'  ATH0 
  OK    ATH0 
  OK 

22.7 Direcciones útiles

Direcciones electrónicas

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...

WWW

Linux/España

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.

Grupo de Usuarios de Informática

En Valladolid, con mirrors de LDP/WWW, Slackware, Sunsite y manuales traducidos.

Página de Juan José Amor

En Madrid, traducciones de las How-To.

Linux Spanish Manpages

Traducción del manual del sistema.

FTP Anonimo

Grupos de noticias

Listas de correo

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:

En Fidonet

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.

Direcciones de Firmas comerciales

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.

En Madrid

En Barcelona

En Bilbao

En Valencia

Bibliografía.

22.8 Copyright

Copyright (c) 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 Paco Culebras Amigo y 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.

23. La traducción

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

Informaticos