Eric.Dumas@Linux.EU.Org, Eric.Dumas@freenix.org
Este documento es la traducción no adaptada, del "Guide du ROOTard pour Linux v2.8" de Eric Dumas. Aqui encontrarás 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 :
Bienvenido a la versión 2.8 de la Guia del enROOTador.
La primera versión de esta guía ha sido realizada por Julien Simon (Julien.Simon@freenix.org) Encontrareis al final de la guía un capítulo con los nombres de los distintos colaboradores de este documento. Con el transcurso de las versiones esta lista se va alargando : es buena señal.
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 usuarios, leídas más frecuentemente en los grupos de noticias fr.comp.os.linux (f.c.o.l), fr.comp.os.linux.moderated (f.c.o.l.m) o en las Howto, documentos que indican como instalar, configurar o mejorar un elemento software o hardware dado. Doy las gracias a aquellos que me envían correciones, puestas al día o incluso párrafos enteros. Esto es muy amable de su parte y es la forma correcta de hacer evolucionar esta guía.
Linux ha sido desarrollado inicialmente para funcionar sobre las plataformas tipo PC (cualquiera que sea el procesador que tengan: Intel, AMD, Cyrix, ...). Linux funciona muy bien hoy en día sobre otras plataformas tales como Sparc, Alpha, Silicon, Atari, Amiga, PowerPc, Macintosh...
Este documento está más particularmente dedicado a plataformas ix86, aunque encontrará de todas formas algunas informaciones sobre plataformas Alpha.
Esta versión de La Guia del enROOTador (2.8) posee varias novedades :
Las distribuciones descritas son aquellas que se pueden encontrar en los servidores ftp a 2 de Agosto de 1998.
Advertencia importante : entre la versión 2.6 y la versión 2.7, he intentado hacer evolucionar el contenido de la licencia para que al menos la difusión en CD-ROM esté autorizada. Resulta que no he recibido la conformidad necesaria del creador original de esta guía así como de algunos colaboradores. Por tanto, esta guía continúa siendo difundida con esta licencia restrictiva...
La guía del enROOTador es freeware y le animo vivamente a distribuirla tal cual y gratuitamente. Sin embargo no puede modificarla o venderla. Insisto particularmente sobre el hecho de que no puede obtener beneficio financiero de este documento.
Ninguna publicación es autorizada sin el acuerdo previo del autor y de los colaboradores, y esto es válido asimismo para la grabación en CD-ROM, etc. Envíeme un mensaje para cualquier pregunta particular.
Si desea mejorar este documento agregando párrafos o simplemente correciones acertadas,
puede enviarme un parche (utilizar el programa diff
con la opción -u
) a
partir del archivo con formato sgml original.
Esta guía ha sido siempre escrita en lengua francesa, pero si desea hacer una traducción, tiene usted mi bendición.
Señalemos la existencia de la versión en español, traducida por la
asociación de Científicos para el desarrollo de las Ciencias y Tecnologías de Colombia
(ACASTC). La "Guia_del_enROOTador" puede obtenerse via ftp en :
sunsite.uniandes.edu.co
, ftp.infor.es
y ftp.lip6.fr
, así como
en sus numerosas réplicas respectivas. (nr: también puede encontrar la versión
española en
LuCAS)
¿Para cuándo una versión inglesa ;-) ?
Sólo existen dos sitios oficiales :
ftp.lip6.fr
en el directorio
/pub/linux/french/docs/GRL
.Esta guía tiene un número de réplicas especialmente importante. Si desea realizar una réplica, asegúrese de que sea puesta al día regularmente. Si usted hace referencia a esta guía en una distribución, le agradeceré que indique los dos sitios de referencia.
He aquí una lista de sitios réplica :
(Nota: si olvido alguno, contáctenme !).
Está disponible en varios formatos:
Desde que retomé la GRL (Guia del enROOTador para Linux), hace algo más de tres años, la convertí al formato SGML. Los Howto's y la documentación Linux emplean también este estándar a partir del cual una herramienta llamada "sgml-tools" http://www.sgmltools.org/ genera documentos en formatos tan variados como HTML, texto, DVI, etc. La versión utilizada para esta versión es la versión 1.0.7. Se trata de la versión original de esta herramienta, sin ningún parche (se trata de la primera versión de la guía que utiliza esta versión).
Te aconsejo leer, si no has instalado nada por el momento, la version estrictamente textual, a pesar de su muy reducida legibilidad ftp://ftp.lip6.fr/pub/linux/french/docs/GRL, o la versión en línea que se encuentra en la Web.
Si encuentra errores (siempre e hestao peleao con la horrografia :-)), tienes
comentarios, cosas para poner o simplemente para decirme que esta guía es práctica, no
dudes en enviarme un e-mail a la siguiente dirección : Eric.Dumas@freenix.org
(gracias de antemano por utilizar el código fuente SGML para efectuar las
correcciones...).
Los diferentes grupos de noticias Usenet donde se pueden enviar mensajes han sufrido numerosas modificaciones : fr.comp.os.linux debería ser destruído dentro de poco. Deberá entonces tener acceso a los siguientes grupos :
NR: Estos son los grupos de noticias españoles sobre linux:
NR: También existen en la jerarquía esp.* (dedicada a toda la comunidad hispanohablante a nivel internacional) varios grupos dedicados a linux:
Piense en leer los archivos de los diferentes grupos, sus FAQs si existen (estudiar las Documentaciones Usenet fr) así como los últimos mensajes enviados antes de publicar un artículo. (Nt : es.comp.os.linux o la lista l-linux@cic-teleco.es ver Lucas y Slug)
Los consejos que se prodigan en este documento comprometen a aquellos que los siguen : Evidentemente, si rompe su máquina o su pantalla explota.... ¡la culpa es suya, no mía!
Todas las observaciones y precisiones citadas pertenecen a su propietario (como dice Juju, "¡muy profundo eso!") y no se usan 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.
Este documento proporciona información básica sobre el sistema operativo Linux, incluyendo una explicación de Linux, una lista de sus características y sus requerimientos y algunos enlaces a información complementaria.
Linux es una implementación libre completamente gratuita de las especificaciones
POSIX, con extensiones de System V y Berkeley (lo cual significa que parece Unix, pero no
proviene en absoluto de las mismas fuentes), que está disponible tanto en su versión
fuente como ya compilada. Es propiedad de Linus B. Torvalds (torvalds@transmeta.com
)
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 puede proporcionar copias a otros pero también
debe suministrar el código fuente correspondiente o al menos hacer posible su obtención
de la misma forma. Si hace modificaciones y las distribuye, está legalmente obligado a
proporcionar el código fuente de éstas. Véase la "GNU Public License"
(GPL) para más detalles. Se incluye una copia en los fuentes de Linux (un fichero
llamado "COPYING") o puedes obtenerla vía ftp de prep.ai.mit.edu
.
Linux es gratuito y seguirá siéndolo en el futuro. Debido a la naturaleza del copyright de GNU que protege a este sistema, querer de golpe y porrazo cambiar este estado de cosas sería ilegal. No obstante es importante saber que es perfectamente legal cobrar por distribuir Linux, siempre que se incluya el código fuente y no se restrinjan los derechos del comprador; para ampliar este punto remítase a la GPL; no hemos hecho otra cosa que resumir las líneas maestras de esta licencia.
Linux se ejecuta en máquinas 386/486/Pentium con bus ISA, EISA o PCI.
MCA (bus propietario de IBM) no está actualmente soportado debido a la falta de documentación sobre este dinosaurio y el poco interés que suscita entre los desarrolladores Linux, aunque hay algunos "parches" disponibles para ciertas máquinas. Si está interesado, vea:
http://www.undergrad.math.uwaterloo.ca/~cpbeaure/mca-linux.html
Actualmente se está portando a distintas plataformas Motorola 680x0 (los Amigas y Ataris), y por ahora funciona bastante bien. Se requiere un 68020 con un gestor de memoria externa (MMU), un 68030, un 68040, o un 68060, así como un coprocesador matemático. El software de red y X están incluídos.
Linux funciona igualmente bien en los procesadores Alpha de DEC/Compaq.
Linux está siendo rápidamente portado a Sun Sparc. Linux funciona en la mayoría de las arquitecturas Sparc, y la distribución Red Hat 4.0 incluye una versión Sparc (además de las versiones x86 y AXP).
Versiones para otras máquinas, incluyendo MIPS, PowerPC y PowerMAC están en curso y en estados diversos. No sea demasiado impaciente, pero si está interesado y puede contribuir, puede encontrar otros desarrolladores que querrían trabajar con usted.
Para PowerMac, Apple y OSF han portado Linux sobre el micro-núcleo Mach. El resultado, llamado Mklinux, está aún en fase beta, pero ya puede ser utilizado.
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 sigue un modelo de desarrollo abierto, todas las nuevas versiones que vayan apareciendo estarán disponibles para el público, sean o no consideradas suficientemente estables. Sin embargo, para ayudar a la gente a discernir si una versión es o no considerada estable, se ha acordado una convención de numeración especial: Las versiones x.y.z en las que 'y' sea par son versiones estables y el incremento de z implica la corrección de algún error. Por ejemplo, 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 x.y.z con 'y' impar son betas únicamente para desarrolladores, pudiendo ser inestables y hasta colgarse, y están siendo ampliadas continuamente con nuevas características. De vez en cuando, cuando el desarrollo del núcleo se estabiliza, interviene una "congelación" para proporcionar una nueva versión "estable" (par), y el desarrollo continúa con una nueva versión (impar). La versión estable actual es la 2.0.x (donde x cambia conforme se integran nuevas correcciones en el núcleo), y el desarrollo debería continuar pronto sobre núcleos experimentales, numerados 2.1.x. Si la versión 2.0.x es demasiado reciente para usted, puede continuar utilizando la 1.2.13 (versión estable anterior).
El núcleo es estable desde hace tiempo y la mayoría de versiones recientes puede ser usada durante las 24H durante meses sin ningúna reinicialización, cuelgue o error fatal. Ciertos sitios no reinicializan sus máquinas Linux hasta que se produce un cambio de gran envergadura en el núcleo. Algo a tener en cuenta es que Linux es desarrollado siguiendo un modelo abierto y distribuido, en lugar de uno cerrado y centralizado como en 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. Por tanto es fácil para un usuario final evitar estas versiones.
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 cuando piensan que funciona 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, la última versión de este tipo de software es a menudo de buena calidad , pero la velocidad de desarrollo es normalmente mucho más lenta.
A 1 de Agosto de 1998, la versión estable de Linux es la 2.0.35, y la versión de desarrollo es la 2.1.113.
La versión 2.0 es la referencia estable destinada a servir de plataforma fiable para el desarrollo de la versión 2.1, que permitirá añadir nuevas posibilidades y ensayar soluciones audaces y modernas en el corazón de Linux (IP v6 entre otras). Las versiones 1.0 y 1.2 están ahora obsoletas. Una vez que llegue a la madurez, esta versión 2.1 dara lugar a Linux 2.2 o 3.0, y el juego continuará cada vez más.
minix-1
,
Xenix y los sistemas de archivo más típicos de System V, además de un
avanzado sistema de archivos propio muy perfeccionado (Ext2fs
), con una
capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de
longitud.ftp
, telnet
, NFS, etc.
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 el sistema y comprobar si Linux funciona en su ordenador, pero no serás capaz de hacer nada útil. ([NDR] : Son prácticamente indispensables 4 Mb).
Para hacer algo, necesitarás además algo de espacio en disco duro también: de 5 a 10 Mb deberían ser 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 emulación de terminal). Esto es aún muy, muy limitado, y muy incómodo, ya que no deja espacio suficiente para casi nada, a menos que tus aplicaciones sean realmente minúsculas. Esto no es recomendable para nada salvo para probar si el núcleo funciona y por supuesto para poder alardear de los pocos recursos hardware requeridos.
Si va a ejecutar programas de computación intensiva, como gcc, X y TeX, probablemente querrá un procesador más rápido que el 386SX/16, pero incluso eso sería suficiente si fuera usted paciente.
En la práctica necesitas al menos 4 Mb de RAM si no usas X, y al menos 8 Mb en caso contrario. Además, si quiere tener muchos usuarios al mismo tiempo o ejecutar muchos programas grandes (compiladores por ejemplo) al mismo tiempo también, querrá más de 4 Mb de memoria RAM. Puede trabajar con menor cantidad de memoria (debería de hacerlo incluso con 2 Mb), pero Linux usaría entonces la 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 necesaria depende del software que piense instalar. El conjunto de utilidades base, shells y programas de administración ocupan menos de 10 Mb, con un poco de espacio libre para ficheros de usuario. Para un sistema más completo, lo normal son valores del orden de 20/30 Mb si no utiliza X Window, o 40 Mb si lo hace (hablamos sólo de binarios, incluir los fuentes requiere de mucho más espacio). Añada el espacio que desee reservar para los archivos de usuario a estos totales. Con los precios de los discos duros en la actualidad, si va a comprar un nuevo sistema no tiene sentido comprar una unidad demasiado pequeña. Adquiera al menos 1 Gb, y no se arrepentirá.
Añada más memoria, más disco duro, un procesador más rápido y otras cosas según sus necesidades, deseos y presupuesto para ir más allá de un sistema apenas utilizable. En general, la gran diferencia frente a DOS es que con Linux, añadir memoria supone una grandísima diferencia de rendimiento, 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 MS-DOS, hecho que no se da en absoluto bajo Linux.
Si encuentra su sistema demasiado lento, AÑADA MEMORIA antes de gastar una suma excesiva en un procesador más potente. En un 386, pasar de 4 a 8 Mb de memoria puede multiplicar la velocidad de ejecución por un factor de 10 o 20...
Cualquiera que pueda ejecutar programas en modo protegido del 386 (todos los
modelos de 386, 486, 586 y 686) deberían valer. Los procesadores 286 e inferiores podrán
quizás un día ser utilizados por un núcleo más pequeño llamado ELKS (Embeddable Linux
Kernel Subset), pero en ese caso no espere disponer de las mismas funcionalidades.
Además, una versión para los procesadores 680x0 (para x=2 con MMU externa, 3 y 4)
implementada para Amiga y Atari puede ser encontrada en el directorio 680x0
de los
sites Linux. Muchas arquitecturas Alphas son compatibles con Linux, así como ciertas
máquinas Sparc. Se está portando a PowerPC, ARM y a arquitecturas MIPS.
Buses ISA o EISA. El soporte para MCA (el de los PS/2) está incompleto (ver más arriba). Los buses locales (VLB y PCI) funcionan. Linux utiliza el Hardware de forma más eficiente que MS-DOS, MS-Windows, y otros sistemas operativos en general. Esto significa que cierto Hardware marginal apto para otros sistemas operativos pueden no ser fiables bajo Linux. Linux es, entre otras cosas, un excelente verificador de memoria...
Teóricamente hasta 1 Gb; más en plataformas de 64 bits, aunque jamás ha sido probado hasta este extremo. Atención: Algunas personas (incluido Linus Torvalds) han señalado que añadir memoria sin incrementar la caché al mismo tiempo puede ralentizar la máquina extremadamente. Por encima de 64Mb de ram se requiere un parámetro de arranque, ya que la BIOS de los PC no puede detectar más que 64 Mb por su implementación.
Las unidades de disco tipo AT (IDE, controladores de disco duro de 16 bits con MFM o RLL) son soportadas, como también lo son los discos duros SCSI y los CD-ROM con adaptador SCSI adecuado. Las cotroladoras tipo XT (controladoras de 8 bits con MFM o RLL) necesitan un controlador especial integrado en la distribución estándar del núcleo. Adaptadores SCSI soportados: Adaptec 1542, 1522, 1740 y las series 27xx y 29xx, controladoras Buslogic (excepto "Flashpoint"), controladoras basadas en NCR53c810, controladoras DPT, 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, QIC-02 y algunas QIC-80 también son soportadas. Bastantes unidades de CD-ROM tienen soporte también, incluyendo Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI (EIDE) y lectores SCSI. Para las referencias exactas de los modelos soportados consulta el "HOWTO de compatibilidad de hardware".
VGA, EGA, CGA y Hercules (y compatibles) trabajan en modo texto. Para gráficos y X hay soporte para Hercules, EGA, VGA normal, algunas tarjetas super-VGA (la mayoría de las basadas en ET3000, ET4000, Paradise y Trident), numerosas tarjetas S3, asi como 8514/A, ATI MACH8, ATI MACH32. Linux usa XFree86 como servidor X y éste es quien determina qué tarjetas son soportadas. El rendimiento de algunas tarjetas aceleradoras es impresionante.
Ponga atención si adquiere una tarjeta de vídeo marca Matrox: Este fabricante a rehusado durante largo tiempo proporcionar las especificaciones necesarias para la programación de un controlador gratuito y sus fuentes, que permita utilizarlas bajo Linux. Por el momento sólo son soportadas eficazmente por versiones comerciales de X Window ("Metro-X" o "Xinside"). Existe un controlador para las tarjetas Matrox Millenium a partir de XFree86 3.2 y para la Matrox Mystique a partir de XFree86 3.3, pero es aún mínimo (no aprovecha todas las características), y está considerado como una versión beta.
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 (IP sobre puertos paralelos) y muchos más. Nuevos controladores aparecen regularmente.
La mayoría de las tarjetas basadas en UART 16450 y 16550, incluyendo AST Fourport, la Usenet Serial Card II y otras. Las tarjetas serie inteligentes soportadas incluyen la gama Cyclades Cyclom, Comtrol Rocketport, y Stallion (todas las gamas con soporte por parte del fabricante) y Digi (algunos modelos). Ciertos equipos RNIS, frame relay y de línea alquilada, son igualmente soportados.
SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, la mayoría de las demás tarjetas de sonido, varios tipos de ratón de bus (Microsoft, Logitech, PS/2).
La mayor parte de las herramientas y programas clásicos de Unix han sido portados a Linux, lo cual incluye casi todo el material de GNU y muchos clientes X de varias fuentes. Portar es una palabra un poco exagerada 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.
ls
, tr
, sed
, awk
y más
(cualquiera que se te ocurra, Linux probablemente lo tiene).
gcc
, gdb
, make
, bison
, flex
,
perl
, rcs
, cvs
, prof
.
C, C++, Objective C, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran, ML, scheme, Tcl/tk, Perl, Python, Common Lisp y muchos más.
X11R5 (XFree86 2.x), X11R6 (XFree863.x), MGR.
GNU Emacs, XEmacs, MicroEmacs, jove
, ez,
epoch
, elvis
(GNU vi), vim
(clónico vi), vile
, joe
,
pico
, jed
y más.
Bash
(Bourne-shell compatible POSIX), zsh
(incluye modo de
compatibilidad con ksh
), pdksh
, tcsh
, csh
, rc
, es
, ash
(Bourne-shell usado por BSD) y muchas más.
Taylor (BNU-compatible) UUCP, SLIP, CSLIP, PPP, kermit
,
szrz
(Zmodem), minicom
, pcomm
, xcomm
, term/slap
(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 están disponibles. Por supuesto, los logins remotos vía línea serie
son soportados de forma estándar.
C-news
, INN
, trn
, nn
, tin
,
sendmail
, smail
, elm
, mh
, pine
, etc.
TeX
, LaTeX
, groff
, doc
, ez
,
Linuxdoc-SGML
, etc.
Nethack, numerosos juegos sobre X11, como DOOM. Uno de los juegos más apasionantes consiste en buscar todos los juegos disponibles en los sites que distribuyen Linux.
Todos estos programas (y esto no es ni una centésima parte de los disponibles) son gratuitos. El software comercial está empezando a surgir. Pregunte al distribuidor de su programa favorito si está disponible para Linux.
([NDR: N.A.]: Hay disponible una lista de programas portados a Linux. Está contenida en el fichero LSM*.*, o Linux Software Map)
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 (lo cual no está prohibido), pero su clientela no constituye más que una minoría de los usuarios de Linux.
Los grupos de noticias de Linux son de los más leídos en Internet, por ello el número de usuarios o personas interesadas debe ser del orden de varios cientos de miles.
De todas formas, un alma brava, Harald T. Alvestrand, ha decidido intentar contar lo
mejor que pueda los usuarios de Linux. Pide que se le envíe un mensaje a
linux-counter@uninett.no
, con una de las frases siguientes en el ASUNTO del
mensaje : "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 de paso votos del tipo "I don't use Linux"
(no uso Linux). Difunde periódicamente sus estadísticas en comp.os.linux.misc. Es posible
rellenar un formulario más detallado, para registrar a amigos que no tengan la
posibilidad de mandar correo electrónico.
Este contador es, inevitablemente, bastante pesimista. En la conferencia Linux de Berlin de 1995, fue anunciada una estimación de más de un millón de usuarios activos en todo el mundo; sin más precisiones acerca del método de determinación de ese número.
Matt Welsh a escrito una guía de más de 300 páginas que describe cómo instalar y
configurar Linux. Está disponible en los principales sites de distribución
del sistema, bajo la forma de fuentes LaTex así como DVI, PostScript y ASCII. (Esta obra
ha sido traducida al francés. La encontrará en los lugares que distribuyen
Linux en francés como fuentes LaTex, formato DVI y PostScript bajo el nombre
install-guide-french-2.2.2.*
.
(NR: En español en la sección Manuales de LuCAS)
Es también vendida por ciertas personas u organismos bajo forma impresa. Igualmente, el proyecto de documentación Linux (Linux Doc Project, LDP), difunde muchas otras obras cuyo estado de progreso es más o menos completo. Lea el grupo de noticias comp.os.linux.announce; Linux ha pasado a estar tan bien documentado como sus equivalentes comerciales... Y gratis, por supuesto.
Comercialmente, hay que señalar la aparición de dos obras en versión francesa de O'Reilly: "Le système Linux", guía de más de 600 páginas
por Matt Welsh, y "Administration Réseau sous Linux", por Olaf Kirch. Los
títulos originales de estos libros son respectivamente "Running Linux" y
"Linux Network Administration Guide". Este último esta igualmente disponible
gratuitamente en la red en forma de código fuente LaTex (el archivo se llama
nag.french.eoit-1.0.tar.gz
).
(NR: El titulo en castellano de las obras referidas son respectivamente "El sistema Linux" y "Administración de redes bajo Linux")
La serie de documentos HOWTO's, y la Guía del enROOTador, disponibles gratuitamente, son casi indispensables. Consulte la sección "cómo empezar" par más detalles al respecto.
Si usted tiene la suerte de poder acceder a una máquina conectada a Internet, puede obtener Linux fácilmente en cualquiera de estos sitios:
Nombre textual Direccion IP Directorio linux
============================= =============== ================
ftp.lip6.fr (FRANCIA) 195.83.118.1 /pub/linux
ftp.calvacom.fr (FRANCIA) 194.2.168.3 /pub/linux/slackware
ftp.change-espace.fr(FRANCIA) 195.6.132.1 /pub/Linux
ftp.ese-metz.fr (FRANCIA) 193.48.224.106 /pub/Linux
ftp.info.iut-tlse3.fr 192.134.157.5 /pub/debian
ftp.iut-bm.univ-fcomte.fr 193.52.61.33 /pub/linux
ftp.loria.fr (FRANCIA) 152.81.10.10 /pub/linux
ftp.univ-angers.fr (FRANCIA) 193.49.144.10 /pub/Linux
lirftp.insa-rouen.fr(FRANCIA) 193.49.9.163 /pub/linux
stef.u-picardie.fr (FRANCIA) 193.49.184.23 /pub/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/Linux
net.tamu.edu 128.194.177.1 /pub/linux
ftp.mcc.ac.uk 130.88.203.12 /pub/linux
sunsite.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.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
sunsite.cnlab-switch.ch 195.176.255.9 /mirror/linux
cnuce_arch.cnr.it 131.114.1.10 /pub/Linux
ftp.monash.edu.au 130.194.11.8 /pub/linux
ftp.dstc.edu.au 130.102.181.31 /pub/linux
ftp.sydutech.usyd.edu.au 129.78.192.2 /pub/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. ]]
Si sólo posee un modem (de al menos 9600 bps, hay que ser razonable y estar al día) puede descargar Linux sin restricción de acceso en diferentes BBS o máquinas UNIX o Linux de particulares que ponen su sistema a disposición de todos como servicio:
brasil 01 44 67 08 44 Bulletin Board System polux 01 43 45 80 40 Site Linux uucp/PPP/shell gyptis 04 91 60 43 61 shagshag 01 40 30 04 68 Site Linux stdin BBS 04 72 34 54 37 Bulletin Board System Le Lien 04 72 08 98 79 Bulletin Board System Suptel Nancy 03 83 53 16 17 Bulletin Board System 03 83 53 20 21 MtelTls 05 61 37 11 62 Bulletin Board System (Toulouse) 05 61 37 07 52 cygnux BBS 01 39 94 95 76 Bulletin Board System 01 39 94 29 47 zenux 04 78 36 10 01 (VF 24k) Pasarela Internet Dedal. Site Linux uucp/SLIP/PPP/shell RadioAm TCP/IP y AX25 afflynn 01 45 65 09 21 Viking 04 76 93 13 48 (Acceso PPP en 33 600 - Grenoble) 3 lineas agrupadas (Info http://www.voiron.com/viking/) alphanet +41 (0) 32 8414081 V34 Acceso BBS (guest), +41 (0) 32 8414037 ISDN X.75 o nuucp (~/archives/README, +41 (0) 32 8414004 V32bis ~/archives/ls-laR.gz)
Algunas máquinas pertenecen a particulares y no están en servicio las 24H. Hay otras BBS francesas que poseen archivos Linux, pero no son puestas al día automáticamente (o regularmente) como lo son las aquí citadas.
Si ni siquiera tiene modem, empiece a mirar precios, es un periférico muy útil en nuestros días. Puede también obtener Linux> en CD-ROM vendido por diferentes distribuidores de sharewarefreeware. No obstante, debe saber que las demoras de fabricación no permiten tener estos soportes actualizados. Algunos son perfectamente utilizables y muy completos pero otros están totalmente desfasados.
Ciertos proveedores venden CD-ROMs con Linux, algunos de los cuales serán pronto citados en este documento; por el momento, remítase a sus anuncios en las News Usenet.
Como se ha mencionado al principio, Linux no tiene una administración centralizada. Por ello no hay una "distribución oficial" (aunque algunos están trabajando en ello) que nadie pueda señalar y decir "Eso es Linux". Al contrario, hay varias "distribuciones", que son colecciones más o menos completas de software configurado y empaquetado de tal forma que pueden ser usadas para instalar un sistema Linux.
La primera cosa que debería hacer es obtener y leer la lista de "preguntas más
frecuentes" o "Frequently Asked Questions" (FAQ) de uno de los sites de FTP
citados, o usando los 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).
La lectura de la "Guía del EnROOTador", creada por Julien Simon y mantenida desde
ahora por Eric Dumas es calurosamente recomendada, sobre todo si no sabe leer bien en
inglés. Este fichero reune la traducción de consideraciones esenciales sobre Linux,
así como numerosos trucos y astucias explicadas cotidianamente en los grupos de
noticias o conferencias dedicadas a Linux. Está disponible (en francés) en la
mayoría de sites franceses que distribuyen Linux, siendo su fuente oficial
ftp.lip6.fr
, directorio /pub/linux/french/docs/GRL
.
Está igualmente disponible en la Web en la URL http://www.freenix.org/linux/Guide. La versión en español se puede conseguir en http://lucas.hispalinux.es.
Los "HOWTO>", pequeñas guías que tratan cada una sobre un área de Linux, son una lectura indispensable. La mayoría de ellas está disponible en versión española en www.insflug.org
Si tiene acceso a la Web puede encontrar valiosas referencias en las siguientes URL:
Si el mundo UNIX es completamante nuevo para usted, y Linux es su primer contacto con este apasionante mundo, siga al pie de la letra los consejos siguientes:
Linux es objeto de 13 grupos de noticias en lengua inglesa, tres en francés, difundidos al menos en Francia, Suiza, Bélgica y Canada, y 10 en español.
El primer grupo destinado a los francófonos es fr.comp.os.linux
.
Recoge las discusiones sobre Linux y es difundido, fuera de Usenet, por
ciertas BBS, como conferencia "Linux>" o "Linux.fr", lo cual
explica el formato a veces inusual de estos artículos. Existe un grupo
eqiuivalente para hispano-hablantes llamado es.comp.os.linux
(para
España) y otro llamado esp.comp.os.linux
para la comunidad
hispano-hablante internacional).
Los artículos enviados a
fr.comp.os.linux
son archivados regularmente en ftp.lip6.fr
en
el directorio /pub/linux/french/fr.comp.os.linux
.
Otro grupo de noticias destinados a los francófonos es
fr.comp.os.linux.annonces
. Es moderado por Nat Makarévitch
y François Pétillon y recoge los anuncios destinados a la comunidad Linux
francófona, así como las versiones francesas de la documentación Linux.
Los artículos de este grupo se archivan igualmente en ftp.lip6.fr
.
El grupo comp.os.linux.announce
está moderado por Lars Wirzenius.
Contiene los anuncios sobre Linux (nuevos programas, correción de
errores, etc). La dirección a la cual se deben enviar las
suscripciones es linux-announce@news.ornl.gov
.
Las diversas documentaciones son enviadas regularmente al grupo moderado
comp.os.linux.answers
.
El grupo no moderado comp.os.linux.setup
está previsto para las
discusiones sobre la puesta en marcha y la administración de sistemas Linux.
El grupo no moderado comp.os.linux.development.system
está pensado
para las discusiones sobre desarrollo del núcleo Linux. Las
cuestiones sobre el desarrollo de aplicaciones deben dirigirse a
comp.os.linux.development.apps
o a un grupo sobre Unix.
El grupo no moderado comp.os.linux.development.apps
está pensado para
discusiones sobre el desarrollo de aplicaciones específicas de Linux. No
está pensado para solicitar aplicaciones para Linux.
El grupo no moderado comp.os.linux.hardware
se utiliza para
cuestiones sobre los aspectos hardware específicos de Linux.
Los grupos no moderados comp.os.linux.alpha
,
comp.os.linux.m68k
y comp.os.linux.powerpc
están pensados
para la discusión de aspectos específicos de Linux sobre arquitecturas basadas
en procesadores Alpha, 680x0 y PowerPC.
El grupo no moderado comp.os.linux.networking
se usa para discutir
sobre el desarrollo y la configuración de las herramientas de administración
de red bajo Linux.
El grupo no moderado comp.os.linux.x
está previsto para las
discusioines específicas de X-window en Linux.
El grupo no moderado comp.os.linux.advocacy
está previsto para los
fanáticos deseosos de ensalzar su
sistema preferido. Es aconsejable evitarlo ya que contiene principalmente
disputas estériles de todo género.
El grupo no moderado comp.os.linux.misc
contiene todas las
discusiones y cuestiones que no corresponden a ninguno de los temas de otros
grupos.
En general, no envie mensajes a la vez a varios grupos
Linux. El único caso en que esto se tolera
es aquel en el que un artículo es enviado a
comp.os.linux.announce
y otro grupo. El objetivo de la división del
grupo original comp.os.linux
en variois grupos fue reducir el tráfico
en cada grupo. Aquellos que no respeten esta regla corren el riesgo de ser
insultados sin piedad...
Attention : Antes de intervenir en un grupo Usenet, asegúrese de conocer
las reglas de comportamiento de Usenet, la famosa
"Netiqueta". Consulte en especial la URL
http://www.fdn.fr/fdn/doc-misc
Además, cuando decida enviar una pregunta a un grupo Usenet para exponer un
problema concreto, ponga cuidado en incluir el máximo de información sobre su
pregunta: versión del núcleo (orden "uname -a
"), de la biblioteca
C (como root
, orden "/sbin/ldconfig -v
"), de los
programas que causan el problema, ficheros de configuración utilizados,
distribución Linux instalada, trazas de ejecución, extractos de ficheros de
registro (situados en los directorios /var/adm/
y/o
/var/log
), etc.
Por último, cuando posea la respuesta a una pregunta enviada a un grupo de discusión, examine el hilo de discusión correspondiente con objeto de determinar si la respuesta no ha sido ya enviada por alguien. Es, en efecto, poco agradable ver hilos de discusión compuestos por una pregunta y varios artículos repitiendo la misma respuesta.
No suponga que por el hecho de utilizar Linux tiene que enviar sus preguntas a los grupos Linux. Hay numerosas cuestiones lo suficientemente generales y poco relacionadas con Linux como para ser enviadas a otros grupos donde llegarán a una audiencia mayor o más experimentada.
La jerarquía francófona contiene varios grupos de noticias que pueden utilizarse para cuestiones generales, especialmente los siguientes:
fr.comp.os.unix
para cuestiones y discusiones sobre Unix; fr.comp.sys.pc
para cuestiones y discusiones sobre la
quitectura PC; fr.comp.applications.x11
para cuestiones y discusiones
sobre X-Window ; fr.comp.infosystemes.www.*
para discusiones relativas a
la Web; fr.usenet.logiciels
para programas relativos a los grupos
de noticias; fr.comp.mail
para lo concerniente a la mensajería
electrónica; La jerarquía anglófona contiene igualmente grupos generales :
comp.unix.{questions,shell,programming,bsd,admin}
;comp.windows.x.i386unix
;
Una revista redactada en inglés y llamada Linux Journal fue lanzada en 1994, por iniciativa de los usuarios que trabajaban en la prensa informática en EEUU.
Contiene artículos para lectores de distintos niveles y está hecha de forma que resulte útil a todos los usuarios de Linux.
Se vende al precio de 32 dólares por una suscripción anual (12 números) o 54 dólares por dos años de suscripción.
Se puede solicitar desde Francia por correo electrónico a la dirección:
sales@ssc.com
Preguntas y comentarios deben dirigirse (en inglés) a linux@ssc.com
.
Dirección postal :
Linux Journal P.O Box 85867
Seattle, WA 98145-1867
Fax: +1 206-526-0803
Tel: +1 206-524-8338
Linux Journal se vende en París en la librería "Le monde en Tique" ( http://www.lmet.fr/ .
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 (en pocas palabras, esta licencia asegura que nadie podrá retirar ciertos derechos del usuario del software libre, como por ejemplo el acceso gratuito a su código fuente. Pero no prohibe de ninguna forma la venta de los programas a los cuales se aplica).
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 disponible en los site Linux se puede distribuir gratuitamente (y si no, no debería estar allí).
Este documento era en principio una adaptación francesa de Julien Simon
retocada por René Cougnenc de la "Linux INFO-SHEET" mantenida
por Michael K. Johnson (Johnsonm@Sunsite.unc.edu
). Esta hoja de
información es mantenida desde ahora por Rémy Card.
Este documento es, por supuesto, del dominio público. De todas formas, sea asaz cortés de no apropiarse su autoría si lo distribuye... Tenga igualmente la amabilidad de avisarnos si va a utilizar este documento en una distribución comercial de Linux.
Ha evolucionado poco a poco alejándose del documento original (sin olvidar las modificaciones en la versión original que son periódicamente integradas en este documento), y es realizado e ahora en adelante en SGML según el mismo método que los HOWTOs Linux, lo que permite tenerlo disponible tanto en ASCII ordinario como en formatos más agradables como PostScript, DVI e hipertexto HTML.
Dirigir críticas y alabanzas a :
Rémy Card <Remy.Card@linux.org>
René Cougnenc
Éric Dumas <Eric.Dumas@freenix.org>
Julien Simon <Julien.Simon@freenix.org>
De la traducción al español:
Andrés Ramirez <caliman@magic.fr>
Pedro J. Ponce de León (rev. 2.8) <pjleon@arrakis.es>
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.
Antes de comenzar, se deben precisar dos o tres pequeñas cosas sobre la manera de hacer una instalación de Linux en la máquina.
La recuperación de las distribuciones Linux puede hacerse de varias maneras :
Existen varias posibilidades para instalar Linux... He aqui un corto resumen:
scandisk
y luego un
defrag
(optimización completa: todos los archivos deben ser
desfragmentados). Luego arranque de nuevo su máquina (con la menor
cantidad posible de programas residentes). Después basta con ejecutar FIPS y
seguir las instrucciones. Esto permitirá reducir su partición DOS, y asi poder
instalar Linux en el espacio sobrante.
umsdos
. Este sistema es bastante
práctico . Esto
permite instalar Linux, sin preocuparse de las particiones: Linux
es instalado en la particion DOS. Sin embargo, una instalación de este tipo
es muy limitada puesto que el sistema de archivos umsdos
es muy, muy
lento. Está solución puede ser adoptada en casos extremos...pero que pueden
ser muy prácticos.nfs-root
detalla esta operación.
A ciertas personas les gusta mucho la siguiente solución. Es la solución de la prudencia... Pero es usted libre de hacer lo que mejor le parezca.
Le aconsejo tener particiones separadas para /usr
,
/var
, y /home
. Esto le permitirá tener una partición root
bastante pequeña (típicamente menos de 40-50Mb) y de conservar una copia.
Configure lilo (el gestor de arranque ("boot loader")) para poder
arrancar en la partición root normal, y en caso necesario, la partición root
de emergencia. Seguidamente, piense en actualizar la partición root de
emergencia regularmente (con cron
eventualmente).
Esto permite arrancar en prácticamente cualquier circunstancia, sin disco de
arranque de emergencia. Es también muy práctico para recuperar un fichero de
configuración que se ha perdido/modificado, sobre todo si utiliza Red
Hat/Debian donde todos los ficheros de configuración se encuentran en
/etc
.
Le aconsejo igualmente instalar y configurar loadlin. Esto permite arrancar desde MS-DOS y utilizar un núcleo especial o una partición diferente (después de un desplazamiento después de una reparticionado). Es también muy práctico si por ejemplo su tarjeta SCSI le deja en la estacada e instala una diferente: sólo tiene que recuperar un núcleo precompilado, y ejecutarlo con loadlin. Otra solución si lilo ha desaparecido, tiene loadlin, pero el núcleo está en la partición linux/ext2 a la cual no tiene acceso: utilice EXT2 Tools ftp://login.dknet.dk/pub/ct/ext2tool.zip para copiar el núcleo que está en la partición EXT2 a su partición DOS.
Si utiliza lilo, intente ejecutarlo desde otro cargador, como el de OS/2 (o quizás el de NT, no probado). De esta forma, si lilo se cuelga al cargarse, siempre puede utilizar el cargador primario para ejecutar DOS, y luego utilizar loadlin para arrancar y resolver el problema.
Bueno despues de estos preliminares pasemos a las distribuciones.
El resto de sistemas operativos (MS-DOS, MS-Windows, Mac-OS,
los Unix comerciales, incluso FreeBSD) son distribuídos bajo la
forma de un conjunto que comprende el sistema operativo propiamente dicho (un
"Unixero" lo llamaría "el núcleo") más todas las aplicaciones
que sirven para hacer algo, como /bin/ls
, /usr/bin/gcc
,
/usr/games/tetris
más el eventual interfaz gráfico, etc. Siempre
podemos añadir o (a veces) quitar cosas, pero a menudo es poco práctico.
Linux, por el contrario, se aprovecha de la modularidad de Unix: el nombre
Linux, en sentido estricto, sólo se refiere al núcleo. Cada uno es
libre de coger el núcleo y empaquetarlo adecuadamente con otras aplicaciones,
formando así una distribución. Una distribución es el núcleo (el
mismo para todas) más ciertas aplicaciones (todas las distribuciones Linux
utilizan aplicaciones GNU para las órdenes básicas como ls
, grep
ou
tar
y todas utilizan X11 para los gráficos) más un programa de
instalación, más un sistema de gestión de aplicaciones, para añadir o quitar
de forma limpia y fácil.
Los dos primeros elementos (el núcleo y las aplicaciones básicas) son comunes a todas las distribuciones. La competencia tiene lugar en el programa de instalación y la gestión de paquetes (un paquete es un conjunto coherente de aplicaciones, es la unidad de instalación, desinstalación o configuración).
La Slackware no proporciona prácticamente nada para la instalación y nada de nada para la desinstalación. Una vez instalada, todo se hace a mano. Las actualizaciones son penosas (por ejemplo, no respeta los ficheros de configuración ya instalados). Sin embargo, es la distribución ideal si desea gestionar y actualizar usted mismo los diferentes productos (recompilándolos).
La Debian fue, salvo error, la,primera en tener un sistema de paquetes y la
primera en tener un sistema de dependencias entre paquetes (del tipo
"gimp
necesita gtk
").
La REdHat tiene un interfaz gráfico de configuración de paquetes y gestiona igualmente las dependencias.
Despues de elegir Linux, hay que elegir una distribución en particular. Recomendamos el documento Linux : elegir una distribución (en francés). Este documento puede ayudarle a hacer su elección. No dude en consultarlo.
Llamamos "distribución" a un conjunto de soportes (disquetes, CD-ROM ...) que contienen lo necesario para instalar un programa en una máquina. Ver, a este propósito, la sección "cómo empezar" de la hoja de informaciones Linux reproducida más arriba. No existe una distribución oficial de Linux. Solo las distribuciones circulan. En esta guía sólo se describen en detalle la Slackware y la Red Hat. De todas formas, he aquí las principales :
Sitio Web : http://www.cdrom.com/.
Sitio Web : http://www.redhat.com/
Versión : 2.
Ultima actualización (versión estable): Agosto 1998
Sitio ftp oficial: ftp://ftp.debian.org/debian
Sitio Web : http://www.debian.org/
Versión 1.06. Ultima puesta al día : Noviembre 1994.
Versión : 5.3
Ultima actualización : Agosto 1998
Sitio Web : http://www.suse.com/
Ya sea con Red Hat o con Slackware, debes utilizar un disco de arranque (y uno de root con Slackware). La manera de copiar estos ficheros en un disquete es la misma en las dos distribuciones. Digamos que Red Hat ofrece un medio, compatible con la mayoría de sistemas, de instalar a partir de MS-DOS sin disquete o a partir de un CD-ROM arrancable (a condición de que la BIOS de la máquina lo permita).
Después de haber seleccionado la o las imágenes a copiar en el disquete para permitir el arranque de la máquina, es necesario copiarla en el disquete. Para hacer esto hay varias soluciones :
cat imagen > /dev/fd0
(/dev/fd0
corresponde al dispositivo lector de disquetes). Es
posible que antes se deba descomprimir el archivo.Para hacer esto
utiliza el programa gunzip
: gunzip bare.i.gz
gzip -d NOMBRE_DEL_FICHERO.gz
), formatee un
disquete que no debe tener ni el mas mínimo defecto de superficie("sectores defectuosos ") y luego utilice RAWRITE para escribir el o los
ficheros en los disquetes.
En esta parte, se supone que posee la versión 3.4 de Slackware. He aquí una breve descripción de los disquetes (en resumen , todo lo que va a encontrar, para evitar la instalación de cosas no necesarias).
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 proporciona 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í una tabla recapitulativa que debería permitirle escoger el que más le conviene.
----------------\ Controlador de Disco : Las fuentes \ están en : \ IDE SCSI MFM -------------------+----------------+--------------------------+-------------- Disco duro | bare.i | Utilizar un disquete | xt.i | | SCSI de la lista | | | 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, CyCDROM | | | CD-ROM no-IDE | | | -------------------+----------------+--------------------------+-------------- 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 y | | | Teac no-IDE | | | CD-ROM | | | -------------------+----------------+--------------------------+-------------- NFS | net.i | scsinet.s | -------------------+----------------+--------------------------+-------------- Tape | bare.i (para | Utilizar un disquete | xt.i (para | lector de | SCSI de la lista | lector de | cartuchos) | aquí abajo. | cartuchos) | 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 no sabe cual es la tarjeta SCSI instalada en su máquina, pruebe entonces el
disquete de arranque genérico scsi.s
. Su nombre aparecerá en la
pantalla durante el arranque. A continuación, utilice el disquete
correspondiente (puesto que el disquete scsi.s utiliza mucha memoria).
Pasemos a continuación al disquete de root. El fichero correspondiente debe ser copiado en su forma comprimida : Linux lo descomprime él solito como un machote. Existen 4 disquetes root posibles :
color.gz
: permite tener colores en la consola;
umsdos.gz
: Utiliza umsdos (evita el reparticionado del
disco). Atención : es mucho mas lento que el ext2fs nativo.
pcmcia.gz
: concebido para la instalación vía NFS para
portátiles que tengan una tarjeta Eternet de tipo PCMCIA ;rescue.gz
: disquete con algunos programas : vi,
lilo,e2fsck,etc.
Muy útil si su sistema se atrancó en su máquina...ATENCION :¡¡ El disquete Root no debe ser descomprimido !!
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 directorios.
¡Atención! La Slackware era hasta ahora la distribución que podía ser instalada via disquetes. Ya no es así. Solo los paquetes de las series A y N (base y red) pueden copiarse en disquete. En realidad esto es suficiente, ya que se puede telecargar el resto:
En la lista, vas a encontrar tres campos :
¡Allá vamos :-) !
ld.so.1.9.9
, esdecir, editor y cargador de enlaces dinámicos;FAQ PostScript ;
Linux FAQ ;
FAQ comp.windows.x.
Ya esta, se acabo !!
La Slackware, como toda distribución, posee un cierto número de fallos. Existe una lista, que se puede 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í.
La RedHat utiliza un sistema muy diferente de la Slackware : aprovecha los módulos cargables para el arranque de la máquina. Pero no permite la instalación a partir de disquetes (y en este caso, la Slackware se impone). Finalmente, su última limitación es que es obligatorio tener una partición Linux nativa (ext2fs).
De hecho sólo existe un único disquete de inicio : images/boot.img
.
Si instala en un Pc que utiliza PCMCIA, tiene que utilizar
un disquete suplementario : images/supp.img
.
Advertencia: existe un disquete suplementario (supp.img
) que es
utilizado cuando utilice la opción rescue
al arrancar.
Una vez copiado el disquete de inicio (y el segundo si es necesario), arranque ... y accederá directamente al sistema de instalación. ¡Es difícil hacer algo más simple! Además este sistema de paquetes permite gestionar las dependencias entre las bibliotecas y las utilidades .
Existen dos posibilidades para instalar Red Hat sin disquete. Si el Pc
está equipado con un lector CD "arrancable" (Lector SCSI O
ATAPI El Torito
y las opciones adecuadas activadas en la BIOS), se
puede arrancar directamente desde CD.
Si la máquina funciona bajo DOS (con el controlador de lector CD cargado),
podemos intentar usar el programa autoboot
, situado en el directorio
dosutils
, que permite, en la mayoría de las máquinas, ¡instalar sin
necesidad de crear un disco de inicio!
La distribución RedHat está compuesta por un conjunto de paquetes (algo más de 560) reagrupados por centros de interés (en realidad un árbol de grupos). Encontrarás aquí abajo la lista de paquetes por orden alfabético de grupos que puede instalar en su máquina. Los nombres de los grupos están en inglés puesto que así aparecerán en su máquina y están en negrita.
La manipulación "directa" de los paquetes (archivos rpm) es detallada en la próxima sección.
Es necesario resaltar que existe un directorio "updates" en el cual se encuentran los archivos que permiten poner al día (evolución del núcleo y corrección de fallos eventuales) la distribución. Una vez instalada su máquina, instale el conjunto de ficheros situados en este directorio.
Asimismo, nótese la presencia de un directorio contrib
que agrupa un
conjunto de utilidades que no aparecen en la distribución oficial pero que
son muy útiles.
La descripción de los paquetes que sigue corresponde a la versión 5.1 de la RedHat, con todas las actualizaciones aplicadas a 9 de Agosto de 1998.
vi
... un poco mejorado;
emacs
;
emacs
, versión modo texto ;
emacs
, versión X Window ;mh
;ftp
;groff
bajo X ;
texinfo
.xdvi
./etc/termcap
para la administración de
terminales;gdb
.gdbm
;libgr
;
ncurses
;
newt
;PostgreSql
;
rpm
;gproff
;who
remoto ;talk
ksh
;
arj
;
zip
;
zip
.crack
;
/dev/
;
getty
reducido únicamente para
la consola virtual ;
/proc
;
timeconfig
;
xterm
en color;.Xauthority
;
Se acabó ! Esta descripción detalla la versión original de la
RedHat 5.1 (llamada Manhattan). Existen hoy en día numerosos paquetes (en
el directorio updates
) que permiten poner al día correctamente su
máquina con una facilidad desconcertante.
rpm
El programa rpm
es una verdadera maravilla que permite instalar, suprimir y poner al
día los diferentes paquetes instalados en su máquina 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 ( mirar rpm --help
para eso o la documentación de Red Hat).
Globalmente, rpm
funciona de 4 modos :
rpm
, La lista de paquetes instalados en la
máquina etc. Por ejemplo, para saber cuales paquetes están instalados en su
máquina, sólo tiene que hacer :
gandalf # rpm -q -a mailcap-1.0-3 rpm-devel-2.2.5-1 groff-1.10-6Tambien se pueden agrupar las opciones:
-qa
es equivalente a
-q -a
.
Para obtener más información sobre los diferentes paquetes instalados
(numero de versión, que distribución,...) sólo se necesita agregar la
opción-l
y -i
Por ejemplo:
gandalf # rpm -qil rpm-devel Name : rpm-devel Distribution: Red Hat Linux Colgate Versión : 2.2.5 Vendor: Red Hat Software Release : 1 Build Date: Thu Sep 05 23:14:10 1996 Install date: Wed Nov 13 11:30:50 1996 Build Host: porky.redhat.com Group : Development/Libraries Source RPM: rpm-2.2.5-1.src.rpm Size : 136142 Summary : Header files and libraries for programs that manipulate rpm packages Descripción : The RPM packaging system includes a C library that makes it easy to manipulate RPM packages and databases. It is intended to ease the creation of graphical package managers and other tools that need intimate knowledge of RPM packages. /usr/include/rpm /usr/include/rpm/dbindex.h /usr/include/rpm/header.h /usr/include/rpm/messages.h /usr/include/rpm/rpmerr.h /usr/include/rpm/rpmlib.h /usr/lib/librpm.aEstas opciones pueden ser utilizadas sobre un archivo
rpm
que tu
quieras instalar para conocer su contenido : sólo necesitas agregar la
opción -p
:
gandalf # rpm -qlp giftrans-1.11.1-4.i386.rpm /usr/bin/giftrans /usr/man/man1/giftrans.1Si se agrega la opción
-i
, se obtiene información sobre
el paquete.
gandalf# rpm -i howto-sgml-4.0-1.i386.rpm
gandalf# rpm -e howto-sgml-4.0-1
rpm
, vamos a ver la actualización. Ha instalado algunos
paquetes muy interesantes y, ¡oh sorpresa!, una nueva versión del programa
acaba de salir.
Debe recuperar la nueva versión. Normalmente, es conveniente destruir la
versión antigua e instalar la nueva. Utilice para ello la opción update
de rpm
:
gandalf# rpm -U howto-sgml-4.0-2.i386.rpm
Existe un número importante de opciones. Consulte la documentación para más información.
Después de estos preliminares, pasemos a las cosas serias. Para empezar, haga una copia de seguridad de su disco duro, es lo más prudente, y reserve un disquete formateado. Luego, apague la máquina e introduzca el disquete de arranque.
Adevertencia Preliminar: ¡No apague nunca brutalmente la máquina bajo
Linux! En efecto, Linux, como todo sistema Unix, utiliza
caché de disco en memoria: perdería información apagando la máquina sin más.
Las únicas formas de apagar Linux son teclear Ctrl-Alt-Del o
bien utilizar uno de estos tres comandos como root: halt, reboot,
shutdown
(Consulte el manual para conocer las diferencias entre ellos).
Arranque la máquina. Linux arranca desde el disquete boot. En el caso de la Slackware, Linux le pedirá que inserte un segundo disquete, llamado root. Reemplace el disquete y luego oprima la tecla Enter.
Nota a propósito del mensaje "BIOS32" que algunos pueden ver durante el arranque : este mensaje significa que su bus es PCI. Si ve el mensaje siguiente : "BIOS32 extended no supported" significa que su máquina no es PCI. No hay que asustarse y utilice a pesar de esto el disquete de arranque standard. Si la máquina no arranca con el disquete de arranque tiene que crear otro disquete de arranque; Lea la sección del presente documento reservada a "signal 11".
Antes de lanzarse a la instalación del sistema, he aquí algunos trucos y astucias. Linux utiliza un procedimiento que instala su 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. Tenga cuidado con el teclado qwerty (americano) desde el comienzo. La configuración del teclado en Español se hará mas tarde. Desde las últimas versiones de las distribuciones este problema está resuelto y la elección del teclado se realiza al principio de la instalación.
.
Tendremos, en un primer momento, que formatear el disco. Hay 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, lo cual quiere decir que si no posee suficiente memoria Ram para hacer funcionar tal o cual programa, este utilizará el espacio del disco duro como memoria... Esta explicación está 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, por tanto es mejor prevenir. Si quiere utilizar X Window, son absolutamente necesarios 8 Mb de memoria Ram.
Los discos bajo Linux son devices (dispositivos). Por ejemplo,
el primer disco duro es /dev/hdax
, el segundo /dev/hdbx
para
un controlador IDE. La x corresponde al número de la partición del disco. Si
tiene un sistema MS instalado éste es seguramente /dev/hda1
.
Linux le guiará en su instalación. Le permite instalar el sistema de manera completa de una sola vez. El único problema, es que si de pronto se equivoca en algo ... es muy probable que tenga que volver a empezar de nuevo.
Si el disco no está particionado, el programa fdisk
le
permitirá realizar la operación. Su sintaxis es : fdisk /dev/disco
.
En el caso de Red Hat se lanza sólo. Por ejemplo, si quiere instalar
Linux en el segundo disco IDE, escriba fdisk /dev/hdb
.
Los comandos de fdisk (por orden de utilidad) son :
Para agregar una partición, pulse n
y luego especifique el
número de la partición (principal o extendida), el número del bloque de origen
y su tamaño (se aconseja un tamaño par). Luego dele un tipo (con t
).
Listo, Guarde (w
).
La partición esta creada. Es sin embargo posible que tenga que volver a arrancar Linux para que esto sea tomado en cuenta por el núcleo.
La RedHat se ocupa del formateo automático de las particiones. Para
formatearlas a la mano : mke2fs -cv /dev/hdax
donde
x corresponde al numero de la partición.
Ahora, lance el programa setup. Es un programa en color (esto depende del disquete Root que se haya escogido), con un menú. El formateo de las particiones puede ser efectuado sin problemas.
Configure su partición swap e instale la serie A en la partición.
La configuración swap es muy simple de efectuar : escoja la opción swap y siga las instrucciones.
Para instalar la serie A, escoja la opción source
y escoja la
opción adecuada: "disquetes" por ejemplo. Seguidamente especifique el
dispositivo necesario para acceder a la unidad A. Ahora especificaremos las
series a instalar, de la lista que aparece. Escoge la
serie.
El programa de instalación le pregunta si desea lanzar la instalación; Responda si. Luego, le pregunta un modo de selección. Escoja Normal. A partir de ahí, le toca a usted . Le pedirá insertar los disquetes y luego dará 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. Hay 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.
Utilice los menús para efectuar todas estas operaciones. Linux le pedirá la creación de un disquete de boot. Es este disquete el que servirá de ahora en adelante para arrancar el sistema.
Una vez la partición Linux formateada, las particiones de swap generadas, la serie instalada y el disquete mágico listo, no falta más que volver a arrancar.
Entonces introduzca el disquete, calentito, configurado para Linux en el lector de disquetes y pulse las teclas Ctr-Alt-Del.
Una vez que ha vuelto a arrancar, entre como root. Pero debe tener mucho cuidado, el usuario root tiene todos los derechos, entre ellos aquel de destruir todo. Esto ocurre muy fácilmente y demasiado frecuentemente.
La instalación con RedHat es muy intuitiva. Apartir ded la versión 4.2, el
procedimiento de instalación pide al usuario que especifique el tipo de
teclado que utiliza: seleccione es
.
Una vez las particiones realizadas, es suficiente escoger el tipo de instalación deseada y los paquetes que quiere utilizar. Una vez hecho esto, esta distribución va a realizar la instalación completa de manera automática. Puede ir a tomarse un cafecito mientras que la instalación de la máquina se hace automáticamente.
Bueno, comencemos por las cosas útiles: El teclado Español. Normalmente, las distribuciones lo configuran solas...pero nunca se sabe!
Una vez registrado como root, escribe la orden siguiente:
/usr/bin/loadkeys /usr/lib/kdb/keytables/es.map.
Ahora el teclado es español ¡Atención, esto es temporal!; la solución más
simple es agregarlo en el archivo /etc/rc.local
con la Slackware,
pero puede tambien utilizar el programa /sbin/setup
o directamente
/usr/lib/setup/SeTkeymap
. Para la RedHat, realiza la operación con el
panel de configuración kbdconfig
.
Con estas dos dostribuciones, normalmente el procedimiento de instalación habrá procedido a esta configuración y no tendrá probablemente que hacer nada, excepto si quiere cambiar de tipo de teclado...
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 su disco y le permite seleccionar la partición sobre la cual desea arrancar.
Si ha instalado LILO en su disco duro y la máquina
se bloquea, arranque con un disquete sistema MS-DOS y escriba FDISK
/MBR
para restaurar los parámetros de arranque DOS y quitar
LILO. Sera suficiente relanzar LILO habiendo arrancado Linux
con un disquete de arranque.
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 pantalla a escoger. ramdisk = 0 # paranoia setting # Linux : Ultima versión : El Pc arranca aquí por defecto. image = /vmlinuz # Núcleo de Linux 1 (ruta completa 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 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:
read-only
: cuando arranca Linux, hace una
verificación de la coherencia de las informaciones sobre las particiones
Linux. Es una verificación de los sistema de archivos. Para realizar esta
operación, es indispensable que la partición este en modo sólo lectura.
En efecto, verificar un disco mientras es utilizado es la mejor manera de
destruirlo todo.
Esta verificación no se hace siempre, si apaga la
máquina decentemente (con Ctr-Alt-Del o con los comandos halt,
reboot o shutdown
).
De todas maneras esta verificación sólo es ejecutada
sobre las particiones Linux.
Es el programa fsck
el que efectúa esta operación. Le desaconsejo
lanzarlo para "ver que pasa" : ¡ Una utilización errónea puede provocar
la pérdida de datos de su disco !
Para instalar el archivo, ejecute /sbin/lilo
¡y ya está!
En el caso de que tenga problemas con LILO hay que probar a suprimir la opción "compact" que se puede encontrar en su archivo de configuración.
Sobre todo no olvide relanzar LILO después de cada modificación del archivo de configuración.
El archivo /etc/fstab
contiene todas las informaciones que concierne
el montaje de sus particiones.
He aquí un ejemplo:
#/etc/fstab # Dispositivo Directorio type options frequence passe # 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 # Partición de swap /dev/hda3 none swap defaults 0 0 # Fichero de swap /usr2/swap_file /usr2 swap defaults 0 0
Descripción de las 6 columnas
dump
. Esta orden existe solamente para
ext2fs (es una migración de la versión 4.4BSD) pero no está aún incluida en
todas las distribuciones.
Puedes colocar aquí las particiones que necesite.
Para NFS es aconsejable utilizar los siguientes parámetros:
rsize=8192, wsize=8192
, sobre todo si posee una tarjeta de red
rápida.
Para autorizar a un usuario a montar un volumen, tiene 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 usuario podrá, a partir de ese momento, montar y desmontar un CD
(utilizar mount /mnt/cdrom, umount /mnt/cdrom
) La página de man de
mount
, sección 8 (man 8 mount
) explica el significado de
las opciones posibles.
Como hemos visto en el apartado anterior, las particiones son montadas al
momento del arranque, gracias al archivo /etc/fstab
. Se pueden,
sin embargo, montar manualmente, utilizando la orden mount
. Por
ejemplo, para montar el disquete A:, hacer: mount -t msdos
/dev/fd0 /mnt/floppy
.
El -t
indica el tipo de soporte. Los mas corrientes son:
ext2
: sistema de archivos Linuxmsdos
: disquetes o particiones MS-DOSvfat
: disquetes o particiones MS-Windows 95 ;iso9660
: Cd-Romnfs
: montaje de particiones a través de la red.Evidentemente, es necesario que estos tipos de sistemas de archivos estén integrados en el núcleo...
/dev/fd0
es el nombre del archivo especial correspondiente al dispositivo
que corresponde al lector de disquetes. El punto de montaje es el directorio
/mnt/floppy
.
Para desmontar hacer umount /mnt/(directorio)
.
El soporte de cuotas disco ha sido integrado en el kernel Linux desde la versión 1.3.46. Se necesita utilizar un kernel posterior para poder beneficiarse de las cuotas.
Se necesitan igualmente las herramientas de gestión de cuotas y se pueden encontrar en: ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota
o, más cerca, en :
ftp://ftp.lip6.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 las herramientas) en
formato HTML.
Después de haber extraído el contenido del archivoquota-1.51.tar.gz
,
se necesita compilarlos. Esto se hace con la orden make
. En
ciertos casos (depende de la biblioteca C utilizada) puede ser necesario
agregar -I
a la variable CFLAGS
definida en el
Makefile
.
Si utiliza el sistema de archivos ext2 y ha instalado las bibliotecas contenidas en
e2fsprogs
(utilidades de gestión del sistema de ficheros ext2), puede
incluir el soporte de ext2fs en las utilidades de cuotas para acelerar su
ejecución. Para esto se debe 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.
Después de la compilación instale las utilidades con la orden make
install
. Cuidado, la orden quota
está instalada en el directorio
/usr/ucb
que no existe en la mayoria de las instalaciones
Linux. Necesitará entonces modificar el Makefile
para
instalarlo en otro directorio (/usr/bin
es un buen lugar). Puede ser
necesario igualmente definir la variable LN
con el valor ln
-sf
.
Para utilizar las cuotas el núcleo debe ser compilado con el soporte de cuotas. Para esto debe tener un núcleo para el cual haya respondido "Y" a la pregunta "Quota support". Cuidado, el soporte de cuotas es efectivo por el momento sólamente en los sistemas de archivos ext2.
Existen dos tipos de cuotas: las cuotas asociadas a los usuarios y las cuotas asociadas a los grupos de usuarios. Las primeras definen el número máximo de archivos y de bloques de disco asociados a cada usuario, las segundas definen el número máximo de archivos asociados a cada grupo de usuarios. Los dos tipos de cuotas pueden ser activados separadamente.
Para activar las cuotas para los usuarios es necesario indicar la opción usrquota
para
los sistemas de archivos referidos en /etc/fstab
. Las cuotas que
conciernen a 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
involucrado.
Es posible modificar los nombres de los archivos de gestión de cuotas utilizando la sintáxis siguiente:
usrquota=nombre_de_archivo 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 la orden quotaon
. Para
activarlas automáticamente a la inicialización del sistema, se debe agregar
al archivo de inicialización (/etc/rc.d
) las líneas:
# Enable quota /usr/sbin/quotaon -avug
Puede ser igualmente necesario verificar la coherencia de la información sobre
gestión de cuotas después de bloqueos repentinos. Para esto utilice la
orden quotacheck
:
/usr/sbin/quotacheck -avug
Esta orden debe ser igualmente ejecutada la primera vez para crear los dos
ficheros de gestión de cuotas: quota.user
y quota.group
. En
efecto, no son creados automáticamente.
Si las utilidades han sido compiladas con-DEXT2_DIRECT
, la orden
quotacheck
debe ejecutarse relativamente rápido, en caso contrario
puede ser muy lento, pues debe explorar todos los directorios del disco. Es
aconsejable de todas maneras ejecutarr quotacheck
durante la
inicialización del sistema antes de la activación de las cuotas con
quotaon
:
# Check quota /usr/sbin/quotacheck -avug
La orden edquota
es utilizada para asignar una cuota a un usuario o
a un grupo de usuarios. Su sintáxis es edquota -u usuario
o
edquota -g grupo
. Esta orden lanza un editor de texto que contiene
la definición de cuotas asignadas 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 número de archivos y el número de bloques disco (expresados en bloques de 1024 octetos). Para cada uno existen dos límites:
El límite "suave" se transforma en límite "duro" cuando ha sido alcanzado o superado transcurrido cierto tiempo (7 días por defecto).
Todo usuario puede obtener el estado de la cuota que le ha sido asignada
(limites como el número de archivos y de bloques que le han sido atribuidos)
gracias a la orden quota
.
El superusuario puede obtener las mismas informaciones sobre cualquier
usuario o grupo con la misma orden : quota -u usuario
o
quota -g grupo
. Además es posible utilizar la orden
repquota
para obtener una lista de cuotas asociadas a uno o varios
sistemas de archivos.
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 en la implementación original 4.2BSD, ya sea a nivel de órdenes o a nivel de la interfaz de programación son utilizables.
Las paginas del manual de las utilidades son bastante claras y muy instructivas. Por último, los documentos difundidos en formato HTML forman una buena introducción a la administración de cuotas.
En vez de montar las particiones MS-DOS, aconsejo utilizar
las mtools. Se trata de los equivalentes de los comandos MS-DOS, pero con una
m
delante.
Por ejemplo : mcopy toto.c a:
. Si deseas copiar un archivo de texto
para que sea utilizado bajo MS-DOS o a la inversa, no olvide 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 más o menos configuradas. En caso contrario, se
deberá modificar el archivo /etc/mtools.conf
.
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 ha sido modificado desde la última versión. Este es el último formato que es más claro y simple de utilizar. Además, esta nueva versión permite utilizar los nombres largos (vfat de MS-Windows 95).
Para añadir una partición de swap de 8 Mb (8192 Kb), se tiene que crear
primero la partición gracias al programa fdisk
, y luego, o bien se pasa
por el programa setup, o bien se hace a mano (ATENCION :
orden PELIGROSA, destrucción del contenido de la partición involucrada
ASEGURADA) :
mkswap /dev/hda3 8192
Añada la línea
/dev/hda3 swap swap defaults 0 0
en el archivo /etc/fstab
.
Finalmente, para que funcione, re-arranque la máquina o ejecute
swapon -a
.
Para el archivo, es más complicado. Debe hacer :
dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 mkswap /usr2/swap_file 8192Y agregar en el archivo
/etc/fstab
la línea
/usr2/swap_file /usr2 swap defaults 0 0.
Cuidado, debe poner esta línea después del montaje de la partición
/usr2
. Sino, no funcionará nunca.
De ahora en adelante, para salir de Linux estará obligado a hacer :
swapoff -a reboot #U otro
En efecto, si no se desactiva el archivo de intercambio, Linux no podrá
desmontar la partición y por consiguiente hará un fsck
sobre ella cada
vez que arranque la máquina. También es posible, en ciertos sistemas,
agregar la orden swapoff
en "/etc/rc.d/rc.K" o en
/etc/rc.d/init.d/halt
para automatizarlo.
.
Si posee la RedHat, utilice el servicio de configuración
(control-panel
o bien directamente usercfg
, utilizables por
root bajo X Window), está muy bien hecho realmente.
Agregar un usuario se hace rápidamente en dos tiempos y tres movimientos :
Dos archivos son importantes: /etc/passwd
y /etc/group
.
Una línea 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 línea esta compuesta por 7 columnas :
Si el campo contraseña contiene el carácter x
, significa que se
utiliza shadow
. La contraseña cifrada se encuentra en el fichero
/etc/shadow
. Esta configuración permite además definir la duración de
validez de las contraseñas.
El archivo /etc/group
contiene la lista de los
grupos de la máquina.
Por ejemplo, el grupo 100 es :
users::100:games,gandalf
Para agregar el usuario toto :
/etc/passwd
;
/etc/group
;
mkdir /home/toto cp /etc/skel/* /home/toto chown -R toto.el_grupo_de_toto /home/toto
passwd toto
.No queda más por hacer que probarlo.
Le aconsejo encarecidamente trabajar bajo un nombre de usuario común. Es muy peligroso trabajar siendo root. Una mala manipulación y le tocará reinstalar todo además de perder sus datos personales más los de sus usuarios.
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... " find /tmp -type f -mtime +1 | xargs -r rm find /tmp -type d -mtime +1 | xargs -r rmdir <!-- /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
(NR: para el teclado español, cambiar fr-latin1.map por es.map)
Lo que es importante es el teclado en francés Si agrega esta línea, su teclado será francés desde el arranque.
En caso de problema hay 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
crontab es una tabla que contiene los comandos que deben ser lanzados a intervalos regulares. Puede poner la copia de seguridad diaria, el cliente pop, etc.
El formato es bastante simple :
# hacer una copia de seguridad todos los lunes a las 2 de la mañana 0 2 * * 1 /home/gandalf/backup # Reiniciar la máquina todos los 1 y 15 de cada mes a la 4:15 15 4 1,15 * * /sbin/shutdown -r +3
Las 5 primeras columnas son :
Todo usuario puede crearse una tabla crontab gracias a la orden
crontab
.
Ahora que su máquina funciona, veamos como imprimir. Las impresoras son administradas por el programa lpc y el demonio lpd.
El demonio lpd
debe ser lanzado al arrancar. Puede ser lanzado ya sea
por rc.M
o por rc.inetd2
. (Debe verse cuando son
lanzados todos los demonios de la máquina. Si no es el caso, necesita quitar
los comentarios de algunas líneas en uno de los archivos citados)
Supongamos que su impresora se llama betty. En primer lugar, 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 la
impresora es el archivo : /etc/printcap
.
Ejemplo :
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. Después, la configuración se hace vía palabras clave. Para mas información haz un
man printcap
. He
aquí sin embargo una descripción de las utilizadas.
Como funciona? Bueno, supongamos que yo tengo un archivo toto.ps.
Entonces hago lpr toto.ps
(o lpr -Pbetty toto.ps
). El archivo va ser
depositado en el directorio /var/spool/lp1
.
El demonio envia entonces 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.org # # 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 acabó ! $CAT- > $TmpFile echo -ne '\033E' set -- `file $TmpFile` shift FileType=$* # Transformación del PostScript al formato Deskjet500 # resolución a 300x300 - 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*) # Fichero 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 archivos de texto así como archivos Postscript, dvi. Si quiere imprimir otro tipo de archivos, basta con agregarlos aquí. Gracias por enviarme las modificaciones : esto permitirá que todo el mundo pueda aprovecharlo.
Utilice lprm
para anular una petición de impresión activa.
Timezone es un sistema muy útil que permite la administración del cambio de hora de invierno y de verano. Francia (NR: y España) 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
.
Vaya al directorio /usr/lib/zoneinfo
y leea el archivo
time.doc.
Los archivos binarios que se encuentran en /usr/lib/zoneinfo
indican
las reglas de cálculo de la hora en las diferentes zonas del globo.
Copie el archivo "MET" bajo el nombre
/usr/lib/zoneinfo/localtime
, y haga un enlace simbólico de este
archivo sobre /usr/lib/zoneinfo/posixrules
.
Comandos :
# cd /usr/lib/zoneinfo # cp MET localtime # ln -sf localtime posixrulesUtilizar seguidamente la orden
clock
para poner el sistema en
hora. Dos posibilidades :
En cambio todos los cambios de hora, dos veces por año, serán tomados en cuenta por Linux.
En este caso, debe agregar en /etc/rc.d/rc.local
la siguiente orden :
clock -u -s
Linux se ajustará a la hora guardada.
Si la CMOS está a la hora local, la orden en /etc/rc.d/rc.local
es : clock -s
y los cambios de hora sólo serán automáticos si la
máquina esta encendida en el momento del cambio de hora. Habrá que escribir
manualmente la nueva hora en la CMOS, haciendo clock -w
o
poniendo la hora con el setup de la máquina.
la orden 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, indicaría "MET DST" (Daylight Savings Time)).
Desde 1996, 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
Cuando se instala el paquete GNU "find", además 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 a 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 crontab la línea
updatedb --prunepaths='/tmp /usr/tmp /var/tmp /proc /users /root /dos /mnt /var/adm /var/spool /var/catman /home '
Este orden 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.
Bueno, los cdrom en general no presentan muchos problemas, salvo los ATAPI antiguos. En efecto, el CD es manejado por un segundo controlador de disco.Procedamos por orden:
Linux hdd=cdrom
.
Atención : aquí estamos en qwerty.
/dev/hdd
(o hdc
) y
/dev/cdrom
.
Por ej : ln -s /dev/hdd /dev/cdrom
.
/cdrom
y teclear :
mount -t iso9660 -o ro /dev/cdrom /cdrom
. Normalemente, tu CD
ya está montado!
( nt : /mnt/cdrom
puede ser un buen remplazo de
/cdrom
)
Si hay problemas probar con:
Con los nuevos lectores, es suficiente activar el soporte ATAPI para lectores CD-ROM y, al iniciar, el lector debe ser detectado:
hdc: UJDCD6700, ATAPI CDROM drive
Algunos usuarios pueden querer poner como consola un minitel o un viejo
vt100 que no utiliza la tarjeta de video sino el puerto serie.
Solo hace falta agregar en el fichero lilo.conf
la siguiente línea:
append ="scon=0x03f8 serial=0,9600n8"
Ciertas máquinas 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"
Aquí esta la descripción de los archivos que se cargan después de la conexión de un usuario. El nombre del o de los archivos es específico del intérprete de órdenes utilizado.
En el caso de bash
, es un poco complicado. Según la página del manual
de bash
, y luego de una conexión interactiva, se ejecuta:
/etc/profile
si existe;~/.bash_profile
si existe, si no ~/.bash_login
si existe, si no
~/.profile si existe
;
(nt : ~
representa tu /home/nombre_de_usuario
)En el caso en que bash
sea llamado como sh
, solo ejecuta los
archivos /etc/profile
y ~/.profile
si existen.
En el caso de ksh
, la página del manual es menos precisa pero un
estudio rápido del código fuente muestra que:
/etc/profile
es ejecutado si existe;
~/.profile
es ejecutado si existe,si el número del usuario
efectivo es idéntico al número del usuario real y si el número del grupo
efectivo es igual al número del grupo real;
/etc/suid_profile
es ejecutado si existe, si los números del
usuario efectivo y real difieren o si los números de los grupos efectivos y
reales difieren;
ENV
esta posicionada, el archivo cuyo
nombre esta contenido en $ENV
es ejecutado, si existe.Finalmente, para completar lo de los intérpretes de órdenes compatibles
con el Bourne Shell, citemos el caso de zsh
que ejecuta:
/etc/zshenv
si existe,~/.zshenv
(o $ZDOTDIR/.zshenv
si ZDOTDIR esta
posicionado) si existe,
/etc/zprofile
si existe,
~/.zprofile
(o "$ZDOTDIR/.zprofile
) si existe,
/etc/zshrc
si existe,
~/.zshrc
(o "$ZDOTDIR/.zshrc
) si existe.En el caso de csh
(o mas bien tcsh) :
/etc/csh.cshrc
es ejecutado si existe,
/etc/csh.login
es ejecutado si existe,
~/.tcshrc
es ejecutado si existe, si no ~/.cshrc
es ejecutado si
existe,
~/.history
(o el contenido de la variable histfile
)
es cargado en memoria si existe,
~/.login
es ejecutado si existe,
~/.cshdirs
(o el contenido de la variable dirsfile
)
es cargado en memoria si existe.
Como todo sistema UNIX, Linux provee herramientas estándar para realizar las copias de seguridad de los discos.
Dos tipos de herramientas principales son actualmente utilizadas.
Las herramientas dump
y restore
fueron puestas bajo Linux por Remy
Card. Aparecen en las distribuciones.
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
sobre /dev/rmt0
, es
suficiente hacer:
gandalf# dump 0sfu 3600 /dev/rmt0 /dev/sda1 gandalf# dump 0sfu ondee: /dev/rmt0 /dev/sda1
La segunda orden permite salvaguardar un disco sobre un dispositivo
distante (por ejemplo situado aquí sobre la máquina "ondee"). Las
opciones de dump
pueden parecer complejas. A continuación damos una corta
descripción:
máquina:archivo
;
/etc/dumpdates
.Existen otras opciones. Para mayor información, consultar las páginas del manual.
Existen dos maneras de efectuar una restauración : en línea de ordenes o en modo llamado "interactivo". El segundo modo es más simple para las restauraciones parciales. El primero es sobre todo utilizado para las restauraciones completas.
Para restaurar la cinta en modo interactivo es suficiente hacer:
gandalf# restore -if /dev/rmt0 gandalf# restore -if ondee:/dev/rmt0
En este caso, un mini-intérprete de órdenes es ejecutado. Utilice la orden help para más detalles.
Para restaurar completamente una cinta:
gandalf# restore rf /dev/rmt0
Nota importante: para la utilización de dump
y restore
a través de
una red (salvaguarda sobre dispositivos remotos), debe utilizar los
archivos .rhosts
. En el siguiente ejemplo de salvaguarda, la máquina
"ondee" debe tener:
#cat ~root/.rhosts gandalf #
Attention toutefois aux failles de sécurité engendrées par les fichiers
.rhosts
.
Cuidado de todas formas con los fallos de seguridad engendrados por los
ficheros .rhosts
.
El uso de dispositivos remotos necesita igualmente de la presencia del
programa rmt
en la máquina que maneja los dispositivos de
salvaguarda. Este programa está incluido en la distribución fuente de dump
para Linux.
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-userLa lista de archivos será así enviada al usuario backup-user.
Ciertos sitios utilizan exclusivamente tar
para efectuar sus
salvaguardas, cada cual escoge.
.
Para configurar la tecla Num Lock al arrancar (por ejemplo para que se
encienda) sólo hay que poner en /etc/rc.d/rc.local
for tty in /dev/tty[1-9]*; do setleds -D +num < $tty > /dev/null done
Ciertos programadores adoran explotar el contenido de los archivos core
. Pero en
Linux, están desactivados por defecto. Para poder generarlos
introducir : ulimit -c unlimited
en bash
o limit
coredumpsize unlimited
El sistema de accounting está implementado en Linux (pero ... yo nunca lo
he probado porque es un poco Big Brother is Watching You). Normalmente se
debe compilar el paquete acct-1.3.73.tar.gz y seguir las instrucciones que
son dadas ahí. Se puede encontrar en :
ftp.ibp.fr:/pub/linux/sunsite/system/Admin/accounts
y en
ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting
Hay que tener cuidado pues se debe 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 espacio. La solución para resolver este problema es lanzar el sistema de accounting de esta manera :
#!/bin/sh # Lanzamiento del accounting accton /var/log/acct accttrim -n 2000 /var/log/acct 2> /dev/null
Nota: No dude en enviarme complementos a esta parte.
SMP, abreviatura de Symetric Multi-Processors, designa la capacidad de los núcleos Linux 2.0 y versiones siguientes de funcionar sobre máquinas con varios procesadores. Sobre la arquitectura ix86, el soporte SMP de Linux sigue las especificaciones Intel MP (v1.1, v1.4) que llegan teóricamente hasta 16 procesadores. En realidad, SMP no es específico de las plataformas Intel: existe también en plataformas Alpha, Sparc, PowerPC. LA versión 2.0 gestiona SMP sólo para plataformas Intel.
Paraq compilar el núcleo con soporte SMP, hay que quitar el comentario de la
línea SMP = 1
en el fichero Makefile. Es también aconsejable compilar
el soporte para Enhanced Real Time Clock (CONFIG_RTC
).
Cuando el núcleo arranca, Linux se inicia primero sobre un procesador, y
después activa los demás. Extracto de la información suministrada por la orden dmesg
:
Intel MultiProcessor Specification v1.1
Virtual Wire compatibility mode.
OEM ID: INTEL Product ID: Nightshade APIC at: 0xFEE00000
Processor #1 Pentium(tm) Pro APIC version 17
Processor #0 Pentium(tm) Pro APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Processors: 2
...
Calibrating delay loop.. ok - 396.49 BogoMIPS
...
Booting processor 0 stack 00002000: Calibrating delay loop.. ok - 396.49 BogoMIPS
Total of 2 processors activated (792.99 BogoMIPS).
Lo anterior es suficiente para tener un sistema multiprocesador que funcione. Lo que sigue lo convertirá en algo más agradable de utilizar y más eficaz.
El paquete procps
contiene entre otras las órdenes top
y ps
que
pueden ser modificadas para presentar el número del procesador sobre el que se
ejecuta una orden. Los pasos a seguir así como los parches están disponibles
(en inglés) en
http://www.cs.inf.ethz.ch/~rauch/procps.html.
GNU make
acepta la opción -j
que especifica un número máximo de
tareas que pueden ser lanzadas simultáneamente. Puede ser por tanto
interesante utilizar esta opción (make -j 5
por ejemplo) en un sistema
multiprocesador.
En la mayoría de los casos, un sistema SMP no se distingue porque una misma tarea se ejecute más rápido, sino más bien porque podemos ejecutar varias tareas pesadas simultáneamente (por ejemplo compilar un programa C y un fichero LaTeX al mismo tiempo) o bien porque el sistema responde instantáneamente a pesar de la presencia de una tarea pesada (p. ej. leer el correo mientras se compila el núcleo).
Para procurar verdaderamente que un mismo programa utilice toda la potencia de CPU de la máquina, hay que invertir en paralelismo, lo cual se sale claramente del propósito de esta guía. Lea a este propósito el excelentísimo Linux Parallel Processing HOWTO (que se encuentra en los sitios habituales).
Para saber más, se puede consultar la Linux SMP FAQ de David Mentré, http://www.irisa.fr/prive/mentre/smp-faq/.
Una descripción técnica (y un sumario) de la implementación de SMP en el
núcleo de Linux se da en el fichero Documentation/smp.tex
La plataforma Alpha es soportada desde hace bastante tiempo. El sitio a consultar antes que nada es http://www.azstarnet.com/~axplinux/. La distribución RedHat 5.1 está disponible para Alpha. Su instalación es mucho más compleja ya que depende un poco del tipo de máquina de que se disponga.
Si desea instalar esta versión, lea atentamente el ALPHA-HOWTO, el MILO-HOWTO y el SRM-HOWTO. Se trata de tres documentos clave.
Para aclarar la situación, el mayor problema no es realmente instalar Linux, sino iniciarlo. En efecto, existen dos formas de hacerlo, en función de la arquitectura de la máquina (véase la FAQ disponible en el sitio central de la implementación Alpha):
vmlinuz
para arrancar Linux. El SRM_HOWTO no es
realmente claro al respecto.
Sea como sea, si desea instalar Linux sobre Alpha, piense sobre todo en leerse
los documentos indicados más arriba. Para la RedHat, se ha escrito un
documento suplementario específico para Alpha. Finalmente, piense en apuntarse
al forum y a la lista de discusión sobre Linux/Alpha,
comp.os.linux.alpha
y axp-kernel-list@redhat.com
.
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 máquina será muy lenta: se va a pasar todo el tiempo en "swapping".
En primer lugar, instale con la ayuda de su distribución el servidor que se corresponda mejor con su tarjeta gráfica.
El problema con X Window, es configurar el archivo XF86Config
.
Cuidado, este archivo es muy 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 el archivo, lance el programa SuperProbe
. En
mi caso, esto me permite obtener las siguientes informaciones. (Si, ya se que
es una tarjeta de video super vieja... pero bueno, tiramos 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 viene lo más duro : construir el archivo de configuración.
Atención: en ciertas distribuciones, el archivo XF86config está en el
directorio /etc/X11
, lo cual es una buena idea en el caso de una red
de estaciones Linux que comparten /usr
por NFS. Si utiliza una
o varias máquinas independientes, puede suprimir /etc/X11/XF86config
y utilizar /usr/X11R6/lib/X11/XF86Config
.
Las nuevas versiones de las distribuciones traen ciertas herramientas que permiten automatizar la instalación y la configuración del servidor. Pruebe primero con estas herramientas: es muy probable que funcionen directamente.
Este archivo se presenta en forma de secciones. He aquí una descripción:
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/xtel/" EndSectionEn esta sección no hay gran cosa que modificar. Agregue o suprima las rutas de las fuentes y la lista de colores RGB.
Section "ServerFlags" EndSectionEn mi caso, esta vacía...
Section "Keyboard" Protocol "Standard" # AutoRepeat 500 5 ServerNumLock # Para esto, ver mas abajo LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLock
Section "Pointer" # para el protocolo, utiliza MouseMan, MouseSystems, Logitech o Microsoft Protocol "MouseMan" # Dispositivo a utilizar Device "/dev/mouse" BaudRate 1200 # Emulación 3 botones : el click sobre los 2 botones # simulan el botón del medio... para los ratones con dos botones. Emulate3Buttons # ChordMiddle is an option for some 3-button Logitech mice # ChordMiddle EndSection
doc
contienen las características de varios tipos de pantallas. Es
muy probable que encuentre el suyo.
Section "Monitor" Identifier "Sync3N" VendorName "Samsung" ModelName "3N" # Frequences : Bandwidth 25.2 HorizSync 31.5-80 VertRefresh 60-90 # Los modos en los cuales tu pantalla puede trabajar. Modeline "800x600" 40 800 840 968 1056 600 601 605 628 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 Modeline "1024x768i" 45 1024 1040 1216 1264 768 768 778 819 interlace Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 EndSection
Section <sq>"Device" # Bla bla bla Identifier "CartePerso" VendorName "Cirrus" # Nombre de la tarjeta BoardName "clgd5428" #memoria video VideoRam 1024 # nombre del chip Chipset "clgd5428" # clocks del reloj. Clocks 25.23 28.32 41.16 36.08 31.50 39.99 45.08 49.87 Clocks 64.98 72.16 75.00 80.01 85.23 EndSection
Section "Screen" Driver "svga" # Referencias a otras secciones. Device "CartePerso" Monitor "Sync3N" # El display utilizado Subsection "Display" Depth 8 # 256 colores max # Modos por prioridad : de izquierda a derecha Modes "1024x768" "800x600" "640x480" ViewPort 0 0 # Resolucion virtual Virtual 1024 768 option "linear" EndSubsection EndSectionSi su tarjeta lo permite, puede agregar otras subsecciones para el "display":
Subsection "Display" Depth 32 Modes "640x480" ViewPort 0 0 Virtual 800 600 EndSubsectionEn este caso, el servidor funcionará en 16 millones de colores.
La configuración del servidor X puede ser muy rápida (funciona inmediatamente), o muy lenta. En el segundo caso, algunos consejos:
./doc
. Un buen
número de pantallas y de tarjetas están descritas con los relojes que se deben
utilizar.X -probeonly
2>/tmp/err
. (si utiliza csh
ou tcsh
como intérprete de
órdenes, reemplace 2>
por >&
. En el archivo /tmp/err
van a estar todos los
mensajes del servidor, entre ellos el chip de su tarjeta y sus clocks. La
única cosa que va a faltar por configurar, es la pantalla.
ftp.lip6.fr
en el directorio
/pub/linux/french/docs/HOWTO
.
xvidtune
: permite "afinar" la
imagen (centrarla, etc). Por ejemplo, yo tenía cierto temblor en la imagen :
con este programa, pude resolver el problema.
Si el inglés le desespera, puede leer una versión francesa de toda la docuemntación XFree86 3.2 en formato HTML. Para ello vaya al servidor http://www.kheops.com.
Nota: les utilisateurs de clavier de type suisse-romand seront heureux d'aller consulter la documentation qui se trouve à l'adresse http://dmawww.epfl.ch/roso.mosaic/jaf/linux/clavierromand.html. Divers autres types de claviers pour francophones sont décrits par ailleurs.
Nota: los usuarios de teclado tipo "suisse-romand" hara bien en consultar la documentación que se encuentra en la dirección http://dmawww.epfl.ch/roso.mosaic/jaf/linux/clavierromand.html. Otros tipos de teclados para francófonos son descritos aquí.
Pasamos ahora al teclado francés bajo X Window. Como XFree86 fue concebido por personas que utilizan teclados americanos (qwertyiop), la configuración del teclado puede parecer bastante complicada. Recomiendo seguir lo que sigue...
Primero, debes tener en el archivo XF86Config las siguientes opciones:
LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLockLuego, pones el siguiente archivo en el directorio
/usr/X11R6/lib/X11/xinit
. Debe llamarse .Xmodmap
.
El archivo que sigue fue hecho por Rene Cougnenc. Hoy en día 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 XFree86 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 dos pequeño para " y Shift + dos para ".
Nota: Personalmente, utilizo la primera solución sin ningún problema... Si llega a tener algún problema, pruebe 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 "mapa" del teclado.
Entonces se debe hacer:
/usr/lib/kbd/keytables.map
, copiar
fr-lat1.map
bajo otro nombre (miteclado.map
). Lanzar
showkey
para ver el número de las teclas involucradas, en orden : 5 8
10 26 y 40. Luego editar miteclado.map
para hacer las modificaciones.
Para hacer un test, hacer loadkeys miteclado.map
. Cuando esté seguro
que todo funciona correctamente, modifique /etc/rc.d/rc.keymap
para
que cargue miteclado.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.
Es necesario utilizar un servidor X bastante reciente para utilizar esto (XFree86 3.2 mínimo). En la sección "Keyboard" del fichero de configuración, añadir:
XkbKeycodes "xfree86" XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc101)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc102" XkbLayout "fr"
Si el teclado no tiene 101 teclas, habrá que reemplazar "102" por "101", "pc102", "104" o "105", con el fin de utilizar las teclas especiales (MS-Windows).
Para más información, mire el contenido del directorio
/usr/X11R6/lib/X11/xkb
.
Para arrancar directamente con X Window (xdm
), hay que modificar el
archivo /etc/inittab
y cambiar la línea que contiene
initdefault
. Por ejemplo en mi máquina sólo 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 más simple es mirar en el archivo
/etc/inittab
: éste
contiene normalmente una descripción de los niveles de ejecución y a qué
corresponden.
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)
Para poder arrancar varias sesiones X en diferentes consolas sin tener que especificar el "display" a utilizar, agregar al final del archivo startx :
CONSOLE=`tty` CONSOLE=`basename $CONSOLE` CONSOLE=`echo $CONSOLE | sed s/tty//` CONSOLE=`expr $CONSOLE - 1` echo "Starting X on display "$CONSOLE exec xinit $clientargs -- $serverargs :$CONSOLE
Tambien se utiliza la siguiente solución que tiene como ventaja el utilizar la primera consola libre:
for AFFICHAGE in 0 1 2 3 4 5; do if [ ! -f /tmp/.X$AFFICHAGE-lock ]; then exec xinit $clientargs -- $serverargs :$AFFICHAGE >/dev/console 2>&1 exit fi done
Es normal que los errores salgan en la ventana virtual texto a partir de la cual se ha lanzado el servidor. Una solución consiste en lanzar el servidor de esta manera :
xinit > /dev/console 2>&1
Si utiliza la Slackware, solo tiene que editar el script startx
y
remplazar la línea :
exec xinit $clientargs -- $serverargspor
exec xinit $clientargs -- $serverargs >/dev/console 2>&1
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 controladores para estos dispositivos son cargados dinámicamente en el servidor a partir de la versión 3.1.2D agregando las siguientes líneas al archivo XF86Config :
Section "Module" Load "xf86Wacom.so" Load "xf86Elo.so" Load "xf86Jstk.so" EndSectionXFree86 busca los módulos en un directorio predefinido :
/usr/X11R6/lib/modules
o en una ruta especificada en la sección
"Files" :
Section "Files" ModulePath "/usr/X11R6/lib/,/usr/X11R6/lib/modules/" ModulePath "/usr/X11R6/bin" EndSectionEl 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 página del manual de XF86Config para más detalles. Un dispositivo se activa sólamente si posee una sub-sección. El siguiente ejemplo activa un joystick y una tableta digitalizadora :
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 EndSectionA partir de ahí el servidor puede emitir eventos extendidos o bien convertir un dispositivo en core pointer. Existen dos programas para manipular los dispositivos extendidos :
xsetpointer
convierte un dispositivo en core pointer o
lista los dispositivos;xsetmode
pasa un dispositivo a modo absoluto o modo
relativo. Hay que cambiar el modo de un dispositivo antes de convertirlo en
core pointer.
Una pregunta muy frecuente : Yo no se porqué 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 de sistema)?. La solución es muy simple : ¡ Desbloquear "Num Lock" !
Ciertos zurdos prefieren invertir el orden de los botones. Para ello,
modifique los ficheros .xinitrc
y xsession
indicando:
xmodmap -e "pointer = 3 2 1"
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 u otras ventanas a su pantalla - pero igualmente evita que
otras personas puedan "ver" lo que hay en su pantalla.
El principio es dar una clave de identificación, en hexadecimal con un número par de caracteres.
Lance xauth
y teclee :
add MaMachine:0 MIT-MAGIC-COOKIE-1 MiCodigo add MaMachine/unix:0 MIT-MAGIC-COOKIE-1 MiCodigo
Para la máquina local, es en realidad "hostname:NoDisplay
".
Una vez lanzado, el servidor X prohibe toda conexión, salvo si la aplicación :
Puede desactivar el sistema para ciertas máquinas con un xhost +toto
por ejemplo.
Nota : ciertas versiones obligan a lanzar el servidor X con la orden :
xinit -- -auth $HOME/.Xauthority
Solo xdm
asegura un control de sesión X Window correcto. La directiva
DontZap
, en la sección ServerFlags
del archivo de
configuración de Xfree86, limita las posibilidades de equivocarse.
Si no utiliza xdm: Para prohibir a los malintencionados la utilización de
las teclas de "báscula" de las consolas virtuales (Alt-F1, ALT-F2 ...)
solo hay que poner en /etc/profile
la línea siguiente :
alias x='(startx >/dev/null &);clear;logout'Y luego invocar
x
en lugar de startx
.
La distribución Slackware contiene ciertos fallos. Puede consultar la lista en la siguiente dirección : http://bach.cis.temple.edu/pub/linux/linux-security/.
Linux es, de manera general, muy sólido porque todo fallo descubierto es inmediatamente referenciado y corregido...Es la ventaja del código publico. Sin embargo, existen ciertos fallos importantes en las distribuciones y es muy importante corregirlos. Un documento WEB propone una lista de problemas :
http://bach.cis.temple.edu/pub/linux/linux-security/linux-Security-FAQ/
Una solución para evitar las conexiones externas es utilizar TCP/Wrappers. ¡ Es muy muy recomendable recompilarlo !
La instalación es bastante intuitiva. En resumen, solo se necesita indicar el
nombre de las máquinas autorizadas en el archivo /etc/hosts.allow
y
las máquinas prohibidas en /etc/hosts.deny
. Puede permitir el envío
de correo cuando una máquina intente conectarse aunque forme parte de las
máquinas prohibidas, 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 quiere más detalles, puede leer el siguiente documento : ftp://ftp.win.tue.nl:/pub/security/tcp_wrapper.ps.Z.
En Francia, el servidor ftp.urec.fr
contiene numerosos utilitarios relativos a la
seguridad informática.
Existen dos listas de difusión consagradas a la difusión de información
relativa a los problemas de seguridad bajo Linux :
linux-security@tarsier.cv.nrao.edu
y
linux-alert@tarsier.cv.nrao.edu
Por definición, un sistema Unix no tiene la misma sensibilidad a los virus que una máquina MS-DOS. Lo única que puede existir son los Caballos de Troya (amén de otras porquerías).
Parece ser que ha aparecido uno de estos artefactos: bliss. Para ver si se está infectado:
/tmp/.bliss
;--bliss-uninfect-files-please
.Un último consejo: siempre que pueda, recompile los programas que instale, y obténgalos de sitios seguros (mirrors oficiales). De esta forma reducirá los riesgos.
Estas dos herramientas pueden encontrarse en el sitio ftp://ftp.lip6.fr/pub/unix/security y son particularmente útiles si su máquina está directamente conectada a Internet. No dude en utilizarlas.
Existen parches no oficiales para el núcleo 2.0.xx. De todas formas, lo mejor
es utilizar la utilidad set6x86
que modifica ciertos registros de l
cyrix para optimizar su funcionamiento. El sitio imprescindible para todo lo
relativo a linux/cyrix:
es
http://wauug.erols.com/~balsa/linux/cyrix/index.html.
Linux maneja sin ningún problema las máquinas basadas en procesadores
Pentium. Para optimizar un poco la compilación, es suficiente especificar Pentium al
recompilar el núcleo. Existe sin embargo un gcc
especializado para
Pentium, que está en desarrollo.
Consulte la página http://www.goof.com/pcg para más 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 parcheadas de gcc que manejan la optimización pentium tiene fallos, y de todas formas la optimización más importante (95% de ganancia constante) que éstas contienen está 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 optimizado de los buses PCI, sólamente 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]
Los nuevos fuentes del núcleo Linux pueden obtenerse en
ftp.lip6.fr
en el directorio
/pub/linux/kernel/sources/v2.0
para las versiones
"estables". Es un sitio mirror de ftp.kernel.org
.
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 errores.
Utilizándolos, se corre el riesgo de perder datos en la máquina.
Los fuentes se instalan normalmente en el directorio /usr/src/linux
.
La compilación es muy simple pero algunos puntos deben seguirse muy
escrupulosamente:
make config
preguntará la configuración que desea. Algunos
puntos pueden parecer bastante oscuros, en ese caso no los cambie.
Puede usar make menuconfig
en modo texto para tener el programa en
color o make xconfig
bajo X a condicion de tener instalado Tcl/Tk.
Configuremos juntos... Nota importante: este ejemplo es con el núcleo 2.0.26...
por lo tanto algunas opciones o indicaciones 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.inEsto no tiene mayor interés : se trata de crear los enlaces 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 desea tener ciertas opciones particulares. Las opciones así propuestas pueden acarrear la inclusión de dispositivos que no han llegado a su madurez completa. Sin embargo si desea utilizar los módulos cargables con
kerneld
responda 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) [Y/n/?]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) que 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 carga automático (
kerneld
).
* * 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_M486La primera opción es necesaria cuando no se dispone de un procesador matemático (que es el caso en máquinas basadas en 386 o 486SX). Le aconsejo fuertemente evitar estas opciones. Claro está, que si dispone de una máquina con PCI y diferente de 486, basta con dar las características reales de su máquina. 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/?]Indico aquí administrar mi lector de disquetes como módulo cargable, y de manera general, activo el soporte IDE.
* * Please see Documentation/ide.txt 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 interfaz PCMCIA. Nótese que Linux propone ciertas opciones particulares para algunos controladores IDE conocidos por que tienen errores. Si este es su caso, no lo dude y seleccione 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é conectado a una red (ciertas aplicaciones lo necesitan). Lo demás depende de la máquina. Vemos 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/?] PLIP (parallel port) support (CONFIG_PLIP) [N/y/m/?] PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]Lista de las posibilidades de red... no olvide colocar PPP o SLIP si es necesario. En seguida vienen las tarjetas en sí. No son detalladas aquí.
* * ISDN subsystem * ISDN support (CONFIG_ISDN) [N/y/m/?]Soporte de tarjetas RDSI. A menos de tener alguna de éstas, 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 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 estándar y el formato extendido que utiliza Windows95 (VFAT). Si se tiene un CD-Rom, sería 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 olvide activar la impresora si está 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. Sóolo 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.
make dep
se encarga de crear las dependencias. make clean
limpiará toda la arborescencia.make zImage
para compilar el núcleo. Puede irse a tomar un cafecito:
¡tarda bastante! Salvo que posea un P6 o algún otro mosntruo (tiempo de
compilación alrededor de 4 minutos)... pero con mi 486 DX2/66 y 16 Mb, la
compilación tarda aproximadamente 40 minutos. Depende sobre todo de la
cantidad de memoria disponible.
make modules
y luego instálelos con : make
modules_install
. Serán copiados en el directorio
/lib/modules/2.0.26
/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 "). Modifique la
configuración de LILO pero no retire nada, copie una sección y
modifíquela de manera que pueda lanzar el nuevo núcleo. Luego relance
lilo
para que el nuevo núcleo sea tomado en cuenta.Nota: Si no logra modificar la
configuración de lilo
tiene que copiar el nuevo núcleo sobre el
antiguo (vmlinux). Le aconsejo dejar una copia del antiguo
en algún lugar y sobre todo verificar que se puede re-arrancar con ella
gracias a un disquete por ejemplo.
Rearranque la máquina y debe funcionar.
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 (terminal, 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 manera 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 órdenes
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
documento LINUX ALLOCATED DEVICES escrito por H. Peter Anvin
hpa@zytor.com
. Esta lista está incluída 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, contáctelo después de haber leído el documento original. De hecho, esta lista está un poco depurada.
La lista corresponde a la versión 2.1.115
/dev/initrd
hace referencia a un disco virtual que ha sido cargado por el boot
loader.
UUCP (UNIX to UNIX CoPy) permite transmitir ficheros y ejecutar ciertas órdenes en una máquina remota en forma de lotes. Este sistema permite también transmitir correo, noticias y ficheros.
De hecho, este protocolo permite efectuar una transferencia de ficheros y
ejecutar ciertas órdenes en función del tipo de fichero (por ejemplo
rmail
y rnews
). Esto permite a una máquina no conectada
permanentemente a Internet tener acceso a la mensajería y a los grupos de
discusión.
Aunque este protocolo tiene más de veinte años, siempre está bien adaptado. Un ejemplo: aunque esté en estos momentos en los E.E.U.U., recibo todas mis noticias así como la mayoría de mi correo via UUCP desde Francia (sobre una conexión TCP/IP).
Antes de continuar, supongo que ha instalado el paquete Taylor UUCP, un
lector de correo electrónico (elm
, mutt
, etc.),
sendmail
. Para las noticias, inn
como
servidor de noticias y un lector de noticias.
Bueno, UUCP necesita varios archivos de configuración que se encuentran en
/etc/uucp
(las rutas de acceso pueden variar de una instalación a
otra). Si tiene una configuración basada en HDB, el paquete Taylor contiene
una herramienta que permite efectuar una conversión automática de los
ficheros. Funciona muy bien.
sys
: es el fichero principal. Definimos aqui los
interlocutores, los protocolos utilizados, etc...
Una configuración simple (servidor perceval) :
# Lo que va a continuación de los '#' son comentarios. protocol itejgv # No soy difícil, acepto [casi] todo. system latulipe # El identificador del sistema remoto. call-login * # La cuenta UUCP en la máquina remota ('*' reenvia al fichero call). call-password * # Su contraseña (aqui, '*' renvia al fichero call). local-send / # Estos directorios son los accesibles (en función de la transferencia). local-receive /var/spool/uucppublic remote-send / remote-receive /var/spool/uucppublic. time any # Podemos establecer una conexión en cualquier instante. phone 0102030405 # El número a llamar. port ACU # El identificador del puerto, ver fichero port. chat "" \r\c ogin:-BREAK-ogin:-BREAK- \L word: \P # El diálogo para la # conexión. Ver también el fichero dial que se encarga de la parte de # inicialización modem y llamada.En el caso de una configuración algo más compleja (máquina latulipe):
remote-send ~ # Aquí nos limitamos al directorio del usuario de uucp remote-receive ~ local-send ~ local-receive ~ command-path /usr/sbin /usr/bin # Las rutas de las órdenes commands rmail rnews # Las órdenes autorizadas time any # Llamada a cualquier hora. ¡No conectar el teléfono en la misma línea! :-) system excalibur port type TCP # Conexión via TCP/IP sobreel servicio uucp address glou.machine.fr # La máquina remota call-login uutulipe # Mi nombre de usuario call-password ***censurado*** # Mi contraseña system perceval # Identificador port ACU protocol i # Protocolo i, que permite hacer full-duplex y recuperación de errores, interesante para una línea serie. call-login uutulipe call-password ***censurado*** phone 0102030406 alternate # Otra forma de conexión, caso de que la primera fracase port type TCP address perceval.uic.asso.fr protocol t # Protocole t, sin gestión de erroresr (ya controlado por TCP/IP)Podemos ver que, en este último caso, si una conexión via modem con perceval fracasa (por ejemplo el modem esta siendo utilizado para una conexión ppp ;-) ), UUCP intenta conectarse con la segunda solución (sobre TCP/IP). En la parte alternate sólo se especifican las diferencias con la solución principal (en concreto, no es necesario volver a especificar el nombre de usuario, contraseña, etc...) Por otro lado, los guiones de conexión no han sido definidos (habitualmente existe un guiones de conexión por defecto que es adecuado en los casos estándar).
port
: Configuración de los puertos de llamada UUCP
# # Conexión Serie # port ACU type modem # tipo de puerto, opciones principales : modem, direct, tcp. device /dev/ttyS0 # periféricos. dialer hayes # Identificador para el guión de llamada, ver fichero dial. speed 115200 # Velocidad. # # Conexión por TCP # port TCP type tcp seven-bit false reliable true half-duplex false service uucp
dial
: guión de llamada.
dialer hayes # Corresponde a la definición de puerto en el fichero port.
chat "" ATZ\r\c\d\d OK\r ATQ0M0E0\r\c OK\r AT&K1\r\c OK\r ATDT\T\r\c CONNECT \d\d
chat-fail RING\r
chat-fail NO\sCARRIER
chat-fail ERROR
chat-fail NO\sDIALTONE
chat-fail BUSY
chat-fail NO\sANSWER
chat-fail VOICE
complete \d\d+++\d\dATH\r\c
abort \d\d+++\d\dATH\r\c
No hay nada complicado aquí tampoco. Esencialmente hay que readaptar la
segunda línea (chat) para las cadenas de inicialización de su modem.
call
: los nombre-usuario/contraseña para conectarse a los
sistemas remotos.
Configuración de perceval :
latulipe uupercev ***censurado***Explicación: si nos conectamos al servidor latulipe, utilizamos uupercev como nombre de usuario uucp y ***censurado*** como contraseña. Podemos utilizar el fichero
call
para dejar el acceso libre al fichero sys
(ya que ya no
contiene los nombres/contraseñas) pero entonces hay que limitar el acceso a
este fichero.
password
: los nombres/contraseñas de las cuentas UUCP alojadas.
Configuración de perceval :
uutulipe ***censurado***Explicación: existe una cuenta uutulipe que tiene derecho a conectarse (con *** censurado*** como contraseña). Si este fichero no existe, la conexión puede autenticarse con el fichero
/etc/passwd
(para ello hay que
compilar UUCP con las opociones adecuadas... En mi caso, no quería ver las
cuentas UUCP aparecer como usuarios). Los más serios compilarían UUCP
activando la opción HAVE_ENCRYPTED_PASSWORDS para usar las contraseñas
encriptadas en este fichero.
config
Configuración de perceval :
nodename percevalNormalmente el nombre UUCP es el de la máquina. No obstante, puede definir el nombre que quiera. Existen otras opciones, pero sobrepasan el ámbito de un sitio UUCP artesano...
Ahora el sistema está configurado. Solo resta probarlo... Para visualizar la
configuración puede utilizar la órden uuchk
.
Solo nos queda configurar el servidor para que acepte las conexiones UUCP (demonio uucico):
/etc/passwd
Une des manipulations les plus basiques pour mettre en place un feed
uucp est de rajouter une ligne dans le fichier /etc/passwd
(machine latulipe) :
Una de las manipulaciones más básicas para montar un servidor uucp es añadir
una línea al fichero /etc/passwd
(máquina latulipe):
uupercev:JuNKieSPW:1000:1000:Cuenta UUCP Perceval:/var/spool/uucppublic:/usr/sbin/uucicoEsto de aquí arriba presupone que su guión de conexión se parece a algo así:
telnet\slatulipe.freenix.fr ogin: \L word: \PCette configuration est utilisable également avec une connexion modem lorsque ce dernier est géré comme un terminal (cf
agetty
et autres).
Esta configuración se puede usar igualmente con una conexión modem cuando este
último es gestionado como un terminal (rf. agetty
y otros).
/etc/services
contiene la línea:
uucp 540/tcp uucpd # BSD uucpd(8) UUCP servicey que el fichero
/etc/inetd.conf
contiene :
uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -lLa órden
/usr/sbin/tcpd
corresponde a los tcp-wrappers, es
cortocircuitable pero recomiendo mejor guardarla y echar un vistazo a la
configuración de los mencionados tcp-wrappers.
mgetty
, on peut utiliser le fichier
/etc/mgetty/login.config
pour y inserer (ou decommenter) la
ligne :
En el caso de mgetty
, se puede utilizar el fichero
/etc/mgetty/login.config
para insertar (o quitar los comentarios de)
la línea:
# username userid utmp_entry login_program [arguments] U* uucp @ /usr/lib/uucp/uucico -l -u @Así, en lugar de conectarnos via
login
, pasamos directamente a
uucico
(en perceval o latulipe, el U*
es un uu*
correspondiente a uutulipe y otros uuperceval).Bien entendido, nada impide una mezcla de todas las formas.... En todo caso, si necesita referencias más amplias, consulte la documentación proporcionada con el paquete Taylor. Existe además un excelente libro de O'Reilly sobre UUCP. Es un poco la biblia del género, no dude pues en enfrascarse en su lectura.
Bueno. En el punto en que estamos, puede llamar; Ahora, vamos a configurar
la máquina para que pueda ser llamada. Todo se configura en el archivo
/etc/inittab
.
Quitar los comentarios a una línea, 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. |---------------------- IdentificadorEntonces la próxima vez que se arranque, un sistema de login estará preparado en el puerto
/dev/modem
(el puerto serie al cual está conectado el
modem). El último problema es configurarlo. En efecto, esto depende del modem
(configuración de la velocidad). Si puede posicionar algunos switch,
haga que el modem se vuelva mudo (ATQ2
) y sobre todo, póngalo en
auto-respuesta (ATS0=1
).
Si no tiene switches haga un AT&W
para salvaguardar los
parámetros.
Para verificar la configuración utilice usrlib
uucp/uuchk/.
Si quieres más información le aconsejo que lea el HOWTO-UUCP.
El objeto de este apartado es la instalación de una conexión PPP.
PPP (Point to Point Protocol) permite establecer una conexión IP en una línea serie de manera más eficaz que SLIP (Serial Line Internet Protocol). Una vez la conexión establecida todos los protocolos superiores a IP ((TCP, UDP, ICMP y todos los servicios asociados: FTP, telnet, NFS, http, X ...) están disponibles. Es también posible utilizar IPX.
Para establecer una conexión PPP, se necesita :
PPP es comprendido por un gran número de sistemas ( hasta MS-Windows) y normalmente nos podemos conectar de un sistema al otro. ¡ Sin embargo esta documentación solo trata el caso de Linux !
Par acceder a un servidor PPP instalado, el núcleo debe ser compilado con la
opción TCP/IP. Para esto, cuando haga make config
tiene 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] yAdemás tiene que cargar las fuentes de los programas de acceso a PPP (en el archivo
ppp-2.1.2a.tar.gz
, ver b, c o d) para poder instalar
los siguientes programas :
pppd
el programa de establecimiento del protocolo.chat
que permite correr el chat-script de llamado al sitio PPPPuede por ejemplo instalar pppd
y chat
en el directorio
/usr/sbin
.
Luego, tiene que configurar los 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 hay que agregar la dirección IP de la máquina en el archivo
/etc/hosts
:
127.0.0.1 loopback localhost # alias útiles 199.103.124.170 pcpf.lectra.fr pcpf # Mi lindo PC en PPP
La dirección IP de la máquina 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 utilizará la misma dirección que nosotros.
Finalmente, debe configurar el dominio en el archivo /etc/resolv.conf
:
domain lectra.fr nameserver 192.1.2.1
La segunda linea sirve para utilizar un servidor de nombres,
cacharro que envía la dirección IP correspondiente a un nombre de máquina dado.
Si no posee un servidor de nombres, solamente podrá utilizar direcciones numéricas
(199.103.124.x) sino deberá poner en /etc/hosts
todas las máquinas a las cuales
quiere acceder con sus direcciones IP...
Igualmente puede poner su nombre de dominio en el archivo
/etc/ppp/options
que debe existir aunque sea vacío (si no quiere que
pppd
pida /etc/ppp/options
, tiene que compilarlo con la
opción-DREQ_SYSOPTIONS=0
)
Ahora puede febrilmente hacer un test de la conexión utilizando un shell-script de este estilo (Cuidado : todo esto es una sola línea) :
/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:
La orden chat
permite efectuar la conexión llamando al número de su
servidor. Cuidado no olvide la segunda línea, 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 de su 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 la máquina en PPP, en
/etc/hosts
(igualmente puede poner el nombre de la máquina en PPP)
La información de depurado debe salir en la consola (si ha configurado el
fichero /etc/syslog.conf
para esto)
A partir de ese momento, estas conectado a la red remota y puede 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 mspara hacer un test de la conexión. Si el ping funciona y la red está conectada a Internet entonces ya tiene Internet.
Si eso no funciona, puede hacer un test escribiendo /sbin/ifconfig
y 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 0Sobre todo tiene que tener una línea que comience por ppp0 sino, hay algún problema. Igualmente puede 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 ppp0Con una linea 0.0.0.0 que tenga la dirección IP del servidor PPP. Si no tiene esta linea, puede que haya olvidado la opción
defaultroute
.
Para eso, debe instalar los mismos programas del capitulo anterior (configurar el núcleo,
instalar pppd
). Ademas de esto, debe crear un login especial para las conexiones PPP en
/etc/passwd
, por ejemplo :
ppp::61:60:Conexión 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.170La opción
proxyarp
permite a la máquina conectada tener acceso a toda
la red :
199.103.124.170 199.103.124.50 +-----------+ PPP link +----------+ | pcpf |-------------------- | ondee | +-----------+ +----------+ | Ethernet ----------------------------------- 199.103.124.x
Para más información ver el archivo README.linux del
ppp-2.1.2a.tar.gz
. Nota : este archivo se encuentra normalmente en el
directorio /usr/doc
.
Una pregunta común es : " Tengo un acceso Internet pero una sola dirección IP y quisiera conectar varias máquinas".
El NET3-HOWTO
responde a esta pregunta pero olvida una posibilidad.
Esta nota tiene por objetivo, explicar las cuatro maneras de resolver el problema.
ping
y
muchos servicios UDP. "IP masquerading" necesita un núcleo reciente
(2.* o ciertos 1.3.* o un patch del 1.2.*) y esta documentado en
http://www.indyramp.com/masq ou
http://hwy401.com/achau/ipmasq/. Se puede encontrar un COMO
que describe claramente la instalación de "IP masquerading" en
http://www.freenix.org/linux/HOWTO-vo/mini/IP-Masquerade.Firewall-HOWTO
describe esta solución.
La configuración de sendmail es siempre algo particularmente trabajoso y difícil. Sin embargo, ciertas herramientas facilitan enormemente las cosas. Las distribuciones poseen ciertos archivos, que pueden ser una solución. De todas maneras es más sano reinstalar el archivo de configuración basándose en los siguientes documentos :
http://www.freebsd.org/FAQ/
;
Los proveedores reciben los mensajes y los ponen a disposición del usuario via un servidor POP (en general mail.proveedor.pais o pop.proveedor.pais ) Tiene que recuperar los mensajes recibidos por ese servidor hacia la máquina Linux en /var/spool/mail/usuario.
Para esto puede utilizar el programa fetchmail
He aquí un ejemplo de fichero .fetchmailrc
:
# Recuperación de mi correo desde mi proveedor 1 poll mail.proveedor.pais protocol POP3: user UsuarioServidorPop has password ContraseñaServidorPop is NomLocal here fetchall # Recuperación de mi correo desde mi proveedor 2 poll mail.proveedor2.pais protocol POP3: user UsuarioServidorPop2 has password ContraseñaServidorPop2 is NomLocal here fetchall
Puede utilizar también el programa
gwpop
de Stephane Bortzmeyer. Se encuentra en :
ftp://ftp.pasteur.fr/pub/Network/gwpop.
En este script, definir :
$mailhost = "mail.proveedor.pais"; $deliver= "deliver NombreUsuarioLocal ";
Una vez esté conectado, lance via un script (para que no tenga que escribir todo cada vez) :
gwpop -p ContraseñaServidorPop UsuarioServidorPop
Una vez recibido el correo, la cuestión es saber como enviarlo.
Deux méthodes sont couramment utilisées dans le monde unix
pour créer le fichier sendmail.cf
nécessaire.
Se utilizan normalmente dos métodos en el mundo unix para crear el fichero sendmail.cf
necesario.
Recompile e instale la última versión de sendmail
He aquí el archivo de reglas que hay 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="/usr/lib/sendmail.hf" Mqueue="/var/spool/mqueue"y el archivo de config. :
#!/bin/sh Host="NombreDeMimáquina" AdressesLocales=TOUT_DOMAINE RelaisExterieur="smtp.[mail.provedor.pais] " ReecritureadressesLocales=$Domaine RevAliases="hash -N /etc/revaliases" MailerLocal='/usr/bin/procmail lsSDFMhPfn procmail -Y -a $h -d $u'
Se utiliza el programa procmail
como lector de correo local. Este
programa permite a cada usuario filtrar automáticamente los mensajes recibidos
por medio de reglas especificadas en el fichero .procmailrc
de su $HOME
.
Luego sólo necesita quitarle el comentario a la línea siguiente :
CPP="$CPP -traditional"
Y luego generar el archivo de config :
./configurateur regles.lolonet Maquina.config >sendmail.cf.Maquina
y copiar el archivo generado a /etc/sendmail.cf
.
Puede conservar el sendmail
suministrado en su distribución, pero le
recomiendo encarecidamente que compile usted mismo la última versión
disponible.
Encontrará en el directorio sendmail-ver/cf/cf
una lista de ficheros
.mc predefinidos... Puede basarse en ellos, en el fichero
sendmail-ver/cf/README
y en el fichero
sendmail-ver/doc/op/op.me
para crearse un fichero linux.mc
a
su conveniencia.
He aquí un ejemplo comentado basado en la siguiente configuración:
mi.propio.dominio
mail.proveedor.pais
Este documento presenta una de las posibilidades de sendmail que permite
definir un agente de correo particular como costoso. Otra
opción para decirle a sendmail
que guarde en espera los mensajes
utilizando tales medios es definir el agente de correo smtp como
costoso para ver como todos los mensajes con destino el exterior
se quedan en cola hasta que los cazamos explícitamente con
un sendmail -q
, colocado por ejemplo en el guión
/etc/ppp/ip-up
para una conexión PPP.
divert(-1) # linux.rtc.mc, version dialup # Copyright (C) 1998 Jean Charles Delépine # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # divert(0) include(`../m4/cf.m4')dnl Carga de macros generales... dnl VERSIONID(`@(#)linux.rtc.mc, 0.6 (Delépine) 14/08/1998')dnl dnl dnl ******************************************************************** OSTYPE(linux)dnl dnl dnl A priori activaremos esta linea bajo Linux, que únicamente define dnl un agente de correo local que nos apresuraremos a redefinir, pero es mejor dnl dejarlo en caso de que las futuras versiones de sendmail añadan dnl nuevas funcionalidades. dnl dnl ******************************************************************** DOMAIN(generic)dnl dnl dnl el dominio 'generic' define los nombres de .forward, la característica 'redirect' dnl y el uso de sendmail.cw dnl GENERICS_DOMAIN(mi.propio.dominio midominio) dnl dnl define la clase de dominios influenciadas por las genericstables dnl utilizadas más abajo. Introducir todos los nombres que nuestro servidor dnl pueda utilizar según las herramientas utilizadas (pine, netscape, mail...) dnl dnl ******************************************************************** dnl FEATURE(always_add_domain)dnl dnl dnl me gusta recibir mi correo local con la dirección reescrita. dnl FEATURE(masquerade_envelope)dnl dnl dnl para que el 'from' de la cabecera sea correcto... es esta dirección dnl la que será usada por los servidores smtp que enlazan con nuestros dnl destinatarios para prevenirnos en caso de problemas (user unknown, ...) dnl dnl ******************************************************************** FEATURE(local_procmail)dnl dnl dnl Por defecto el agente de correo local para Linux es mail.local, prefiero dnl procmail dado que mail.local no es suministrado generalmente con dnl las distribuciones actuales de Linux (puede encontrarse en los paquetes dnl de fuentes de sendmail). dnl dnl ATENCION, procmail está ubicado en /usr/local/bin pero si no lo ha dnl compilado usted mismo estará en /usr/bin... si dnl este es su caso, quite el comentario de la línea siguiente. dnl dnl FEATURE(local_procmail,``/usr/bin/procmail'')dnl dnl dnl ******************************************************************** FEATURE(genericstable,``hash -N /etc/revaliases'')dnl dnl dnl un FEATURE(genericstable) sería suficiente pero quiero ser coherente dnl con la solución "Kit de Jussieu" proporcionada anteriormente, dnl renombro pues /etc/genericstable como /etc/revaliases dnl Es en este fichero donde definiremos las reglas de transcripción dnl de direcciones entre dirección local -> dirección proveedor. dnl ej: fulano@mi.propio.dominio -> nombre.apellidos@proveedor.pais dnl dnl ******************************************************************** FEATURE(nocanonify)dnl dnl dnl No queremos canonizar los dominios de los mensajes a enviar. dnl dnl dnl ******************************************************************** dnl define(`confDOMAIN_NAME',`ppp.proveedor.pais')dnl dnl dnl DEfine el nombre que anunciará sendmail por EHLO a los otros dnl servidores SMTP... dnl Puede poner lo que quiera aquí pero considero más limpio dnl anunciar su verdadero nombre (que los servidores serios dnl indicaran de todas formas en las cabeceras). dnl Si dispone de una dirección IP fija, ponga aquí el nombre DNS dnl asociado a esta dirección en una conexión PPP. dnl dnl Si su proveedor de acceso utiliza direcciones dinámicas, dnl remítase a la sección dnl "Que hacer en caso de asignación dinámica de la dirección IP" dnl dnl ******************************************************************** define(`confDEF_CHAR_SET', `ISO-8859-1')dnl dnl dnl para que el destinatario sepa como leer nuestros 8bit dnl dnl ******************************************************************** define(`confCON_EXPENSIVE',`True')dnl dnl dnl Lo que cuesta caro debe esperar un 'sendmail -q' dnl dnl ******************************************************************** define(`confCOPY_ERRORS_TO', `Postmaster')dnl dnl dnl Se debe enviar una copia de los mensajes de error al Postmaster dnl dnl ******************************************************************** define(`confME_TOO', `True')dnl dnl dnl Para que los mensajes enviados a una lista local sean tambien dnl enviados al autor dnl dnl ******************************************************************** define(`SMART_HOST', `smtp8:[mail.proveedor.pais]')dnl dnl dnl No es a mi a quien le toca negociar con la otra punta del mundo. dnl Delego pues esta tarea al servidor de mi FAI. dnl Se utiliza smtp8 para enviar los acentos en 8 bits sin pasar por dnl el quoted unreadable. Atención, consideramos aquí que dnl mail.proveedor.pais dispone de un MTA correcto que acepta los mensajes dnl en 8 bits (osea la mayoría, si no todos los proveedores de acceso) dnl dnl ******************************************************************** define(`SMTP_MAILER_FLAGS', `e')dnl dnl dnl El indicador 'e' indica 'expensive' (caro) : smtp cuesta caro ! dnl dnl ******************************************************************** dnl MAILER(local)dnl MAILER(smtp)dnl dnl dnl Definición de los agentes de correo que serán utilizados. dnl dnl ********************************************************************
coloque su linux.rtc.mc
modificado en el directorio
sendmail-ver/cf/cf
y lance la orden :
m4 < linux.rtc.mc > sendmail.cf
Copiarlo en /etc
.
Es necesario definir la dirección IP del servidor SMTP en el fichero /etc/hosts
.
A partir de las versiones 8.7 de sendmail
(si su versión es
anterior : ¡cámbiela!) sendmail
utiliza los
service switch sobre los sistemas que lo soportan (Ultrix,
Solaris, OSF/1, linux-libc6...) e implanta el mismo estos servicios via
el fichero /etc/service.switch
sobre los demás sistemas
(SunOS, HP-UX, BSD, Linux-libc5, ...)
Si sus sistema utiliza la Glibc2 (RedHat 5.x, Debian 2.0,...) deberá
utilizar un fichero /etc/nsswitch.conf
como el que sigue:
# /etc/nsswitch.conf # # Name Service Switch configuration file. # Atencíon: si utiliza los servicios NIS o NIS+, # deberá adaptar el contenido de este fichero. passwd: files shadow: files group: files # Queremos que el fichero /etc/hosts sea visitado el primero # Ponga especial cuidado de dejar una referencia al servicio de nombres (DNS) # o no podrá seguir utilizando las herramientas de red compiladas con libc6 ! hosts: files dns networks: files ethers: files protocols: files rpc: db files services: files
Si utiliza aún la libc5, el fichero /etc/host.conf
no es
tenido en cuenta por sendmail y deberá utilizar un fichero
/etc/service.switch
que contenga como única línea:
hosts files
De esta forma, cuando sendmail
busque nuestro relé smtp, irá
directamente a mirar al fichero /etc/hosts
si preocuparse del
DNS
.
Finalmente, hay que reescribir la dirección local para que los mensajes enviados
tengan un campo From
correspondiente a la dirección suminstrada por el
proveedor. Es suficiente añadir en /etc/revaliases
una
línea de este estilo:
NomLocal: NombreProveedor@roveedor.pais
Le recomiendo añadir también las distintas direcciones que su servidor pueda utilizar para comunicar con el resto del mundo:
root: NombreProveedor@roveedor.pais news: NombreProveedor@roveedor.pais postmaster: NombreProveedor@roveedor.pais Le-chat: NombreProveedor@roveedor.pais ...
y seguidamente generar la base con:
/usr/sbin/sendmail -bi -oA/etc/revaliases
Si se estaá ejecutando actualmente un demonio sendmail, mátelo con:
# kill `head -1 /var/run/sendmail.pid`
Y reláncelo con :
# /usr/sbin/sendmail -bd -os
Edite sus ficheros de arranque (a menudo en /etc/rc.?d
o
/etc/init.d
) con el fin de modificar, si es necesario, la línea
que ejecuta sendmail
al arrancar, reemplazándola por
/usr/sbin/sendmail -bd -os'.
¡Ya está! Los mensajes son almacenados en /var/spool/mqueue
.
Cuando esté conectado por PPP y desee enviar todos los mensajes, es suficiente hacer
/usr/sbin/sendmail -q
¿Cual es el problema?
Cuando sendmail se comunica con otro MTA, se presenta
(orden HELO ou EHLO) utilizando el contenido de la macro $j
que es generalmente el resultado de la orden hostname
sobre el sistema
anfitrion.
En el caso de una máquina enganchada de forma intermitente a Internet, este resultado no es generalmente una dirección oficial declarada, y por tanto conocida por el servicio de nombres (DNS).
Hemos visto que la solución cuando disponemos de una direccción IP fija
y válida consistía en forzar la definición de la macro $j
mediante
la orden del kit m4 :
define(`confDOMAIN_NAME',`ppp.proveedor.pais')dnl
Pero es necesario, para utilizar esta solución, conocer de antemano el nombre que será asignado a nuestra máquina en una futura conexión... no es por tanto factible en el caso que nos ocupa.
En el fichero /etc/sendmail.cf
que acabamos de generar, podemos ver:
# my official domain name # ... define this only if sendmail cannot automatically determine your domain #Dj$w.Foo.COM
Es aquí donde tiene eventualmente lugar la definición de la macro
$j
que nos interesa.
En una conexión PPP, el guión /etc/ip-up/
, lanzado al
principio de la conexió, recibe como argumento la dirección IP que nos ha sido
asignada. Es por tanto posible, en este guión, preguntarle al servidor de
nombres (el nuestro o el del proveedor) que traduzca esta dirección IP a un
nombre de dominio plenamente cualificado, modificar /etc/sendmail.cf
y relanzar sendmail con esta nueva definición.
Hay diferentes métodos y programas que permiten hacer esto pero la mayoría son
expresivos y necesitarían de un filtro awk
o grep
para
extraer el nombre que nos interesa... he escrito por tanto una pequeña
utilidad muy simple, gethost
, con este único propósito.
Para poder utilizar el guión ip-up que proporciono más adelante:
/etc/sendmail.cf
en /etc/sendmail.cf.base
con el fin de disponer de una base a partir de la cual ip-up
pueda
trabajar.
gethost
:
gcc -o gethost gethost.cy colóquelo en el directorio
/usr/local/bin
.
Le resta modificar su fichero /etc/ppp/ip-up
integrando el mío.
Un ejemplo de script ip-up :
#!/bin/sh # /etc/ppp/ip-up script que permite configurar correctamente # sendmail en el caso de asignación dinámica # de direccin IP # # Copyright © 04/1998 Jean Charles Delépine # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Los parámetros pasados a ip-up por pppd (man pppd) : # $1 = nombre del interfaz (ppp0) # $2 = dispositivo utilizado (/dev/modem) # $3 = velocidad de transmisión # $4 = dirección IP local (la que nos interesa) # $5 = dirección IP remota (El servidor de modem del proveedor, será # nuestra pasarela al resto del mundo) # $6 = ipparam (opción dada por el usuario via la opción ipparam # de pppd) HOST=`/usr/local/bin/gethost $4` sed s/'#Dj.*'/"Dj$HOST"/ /etc/sendmail.cf.base >/etc/sendmail.cf kill -1 `head -1 /var/run/sendmail.pid` /usr/sbin/sendmail -q& exit 0
El programa gethost.c
:
/* gethost.c, obtiene el nombre canónico de una máquina a partir de su dirección IP. Copyright © 04/1998 Jean Charles Delépine This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ #include <stdio.h> #include <netdb.h> #include <arpa/inet.h> #include <string.h> int main(argc,argv) char argc; char *argv[]; { struct hostent *host; struct in_addr ia; if (argc < 2) { fprintf(stderr,"Uso: %s addr\n",argv[0]); exit(1); } if (!inet_aton (argv[1],& ia)) { fprintf(stderr,"Error: dirección no válida\n"); exit(1); } host=gethostbyaddr((char *) & ia, sizeof(ia), AF_INET); if (!host) { fprintf(stderr,"Error: dirección no encontrada o no hay DNS\n"); exit(1); } printf("%s\n",host->h_name); exit(0); }
Una opción de netstat
quew existe en ciertas plataformas
no existe en Linux (option -s
). No importa: el
guión Perl 5 que sigue ¡resuelve el problema! Es suficiente guardarlo
bajo el nombre netstat
, y ponerlo junto al auténtico
en el PATH. Perl hace el resto.
#!/usr/local/bin/perl # Se necesita perl 5 require 5.003; $stats = "/proc/net/snmp"; if ($ARGV[0] eq '-s') { open (STATS, "< $stats") || die "Cannot open $stats: $!"; while (<STATS>) { chop; undef $i; ($category, @fields) = split; chop $category; print "\n$category statistics:\n"; $_ = <STATS>; ($category, @values) = split; $~ = "STAT"; foreach $field (@fields) { write; } } close (STATS); } else { system ($0, join (' ', @ARGV)); } format STAT = @<<<<<<<<<<<<<<<<<:@>>>>>>> $field, ,$values[$i++] .
Desde sus primeras versiones, Linux soporta los binarios en formato a.out. Recientemente, el soporte para los binarios en el formato ELF ha 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:
dlopen()
, dlsym()
y
dlclose()
Las ultimas versiones de las distribuciones están basadas en el formato ELF. Si su máquina todavía está en formato a.out, ya es hora de reinstalar su máquina con una distribución de Linux actualizada.
.
Las nuevas versiones del compilador y de las utilidades generan
ejecutables en formato ELF, por defecto. Es posible crear ejecutables en
formato a.out utilizando la opción -b i486-linuxaout
al llamar a
gcc.
Desde 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 órdenes:
$ gcc -c -fPIC *.c $ gcc -shared -Wl,-soname,libtruc.so.1 -o libtruc.so.1.0 *.o
Algunos documentos sobre ELF están disponibles en ftp.lip6.fr
en
/pub/linux/ELF/doc
. Se trata de :
ELF.doc.tar.gz
la especificación del formato ELFELF.ps.gz
un artículo de H.J. Lu donde describe la implementación del
formato ELF en Linuxmove_to_elf.gz
una descripción de la transición entre formatos a.out y ELF.
Este capitulo esta dedicado a los momentos de catástrofe, cuando nada sale bien, y cuando uno tiene ganas de tirarlo todo por la ventana...
En ciertas situaciones (apagón, etc...), la tabla de particiones lógicas puede
corromperse. Si este es su caso, una solución para intentar resolver el
problema consiste en ejecutar el programa fdisk
e introducir a mano
los límites (Start et End) de cada partición del disco.
Por descontado, es importante haberlo apuntado previamente en papel.
Acaba de iniciar la máquina, y no puede arrancar. En este caso,
lo mejor es utilizar los disquetes de arranque (los de la
Slackware en este caso no están mal, o bien utilizar la opción
rescue con Red Hat). Una vez la máquina comienza, hay que montar la
partición raíz y copiar el núcleo en un nuevo disquete lanzando :cat
/mnt/vmlinuz > /dev/fd0
por ejemplo. Normalmente, esto debería
funcionar si el núcleo es el correcto. Eventualmente, efectúe un :
rdev /dev/fd0 /dev/hda2 rdev -R /dev/fd0 1para especificar al núcleo cual es la partición raíz del sistema de archivos, y que la monte como sólo-lectura para permitir a
fsck
hacer
su trabajo en el momento del arranque.
Ha formateado por error una partición donde se encontraba ese
informe de 120 páginas que había que entregar ayer. Bien, ¡nada de pánico!
Inútil decir 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 más que recorrer el archivo
y recuperar lo que se pueda.
Una segunda solución es la de utilizar este 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, $_); } # La tabla @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; }
Si el super-bloque esta corrupto lanzar e2fsck
con las siguientes
opciones : e2fsck -b 8193 /dev/sda3
. Si no funciona , pruebe
aumentando el numero de 8192 cada vez para intentar recuperar una
copia del super-bloque en buen estado.
Si sigue sin funcionar , pruebe a lanzar la orden mke2fs
con la opción -S
. ¡Atención, no lo olvide, sino reformateará la
partición! Esta opción provoca la regeneración de las copias del
super-bloque y de los descriptores del sistema de archivos. No acaba
con los archivos existentes.
Si su disco tiene algunos problemas (sectores defectuosos), puede
recuperar e2fsck
en el paquete e2fsprogs
versión 1.10 si
no lo tiene ya. Luego :
badblocks > BLOCKS
;
e2fsck -f -L BLOCKS -p -y
.
Las instrucciones que siguen efectuan una copia de seguridad del disco (al menos de aquello susceptible de recuperación), comprueban la calidad del disco, recrean un sistema de ficheros retirando los bloques defectuosos y por último restauran la copia de seguridad.
cd /fs find . -depth -mount -print | cpio -ovB > $TAPE cd / tail -f /usr/adm/syslog & umount /fs badblocks -w -o /autre_filesystem/bb_list.tmp /dev/hda3 mke2fs -l /autre_filesystem/bb_list.tmp /dev/hda3 mount /dev/hda3 /fs dd if=/dev/zero of=/fs/test.tmp rm test.tmp cd /fs cpio -ivBmd < $TAPE
A partir de mke2fs
no debería producirse ningún mensaje de error
Ciertas máquinas no podrán funcionar convenientemente y producirán de manera mas o menos aleatoria un mensaje (por ejemplo "fatal signal 11") y luego bloquearan brutalmente la ejecución del programa activo. La causa más probable : problema de material (componentes de memoria demasiado lenta, por ejemplo).
Pruebe antes que nada a reducir la velocidad del procesador y/o el bus, desbloquear el cache procesador, gracias al "SETUP" de la máquina. Y luego disminuya el nivel de PIO del EIDE (no pasar de PIO 3). Leer a este propósito el documento http://www.linux-france.com/article/sig11-fr/.
Casi todas las distribuciones proponen disquetes de emergencia que permiten al
menos arrancar la máquina y montar la raíz del sistema de ficheros para poder
efectuar las reparaciones necesarias. Detodas formas, señalamos aquí la
presencia de un disquete muy útil (este tipo de disquete tiene un nombre
particular, "bita y cuchillo", por razones puramente históricas),
tomsrtbt
, que podemos encontrar en el sitio
http://www.clark.net/~toehser/.
Puede ser muy útil el tener en un disquete un núcleo para arrancar desde
él. Para hacerlo, tome un disquete formateado y vaya a la raíz de su
disco.
Identifique su núcleo. Debe llamarse zImage
o vmlinuz
.
Cópielo en el disquete :
cat /zImage > /dev/fd0
después haga (ejemplo) :
rdev /dev/fd0 /dev/hda2 rdev -R /dev/fd0 1el segundo parámetro de la primera instrucción debe ser el nombre de la partición raíz Linux de su sistema.
Este disquete le permite arrancar (¡pruébelo!).
En resumen : Ha perdido su contraseña de root... Bueno, hay varias soluciones. La primera :
mount -t ext2 /dev/hda1 /mnt
/mnt/etc/passwd
, y suprimir la contraseña de root :
root::0:0:root:/root:/bin/bash
.Arranque Linux normalmente, y en principio no necesita contraseña para entrar como root.
Bueno, pasemos a otras soluciones : Rearrancar el pc en modo
single-user. Para esto, en el momento de arrancar con LILO, decirle
LILO: linux single
(reemplace aquí linux por el nombre con el cual
LILO conoce a su núcleo). Aparecerá un intérprete de órdenes en modo
superusuario. Atención : el teclado esta en qwerty y
la partición en modo sólo lectura. Para remediarlo :
loadkeys /usr/lib/kbd/keytables/fr.map (es.map) mount -w -n -o remount /Utilice la orden
passwd
, o edite el archivo
/etc/passwd
Si no dispone de disquete de arranque, a menudo puede resolverlo pasando
init=/bin/sh
al arrancar. Seguidamente, monte la raíz y edite el
fichero /etc/passwd
a mano.
El problema de arrancar en modo single-user
, es que
cualquiera puede entrar en la máquina como root. Para las empresas y las
universidades, se plantea un problema de seguridad. Ciertas estaciones
UNIX permiten colocar una contraseña en la EPROM de la máquina. Linux
permite pedir la contraseña de root en modo single-user
.
Para ello, debe recuperar las fuentes del programa init
que se
lanza en el momento de iniciar el sistema. Al principio del programa
init.c
, modifique la definición de la constante
SOME_USER para que tenga el valor 2, recompile init
, y
re-instálelo.
Esta primera solución puede resultar de todas maneras insuficiente ya que
una persona puede siempre arrancar sobre otro dispositivo (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 sin encriptar restricted
(¡piense en colocar este archivo en modo sólo lectura para el super-usuario sin ningún derecho para los demás!)
El arranque normal de cada imagen pasa sin problema y sin pedir la contraseña (importante si uno quiere que la máquina se reinicie sola en caso de lío : apagón, reboot a distancia, ...) pero si uno quiere pasarle parámetros al núcleo en el momento del arranque, Lilo pide en ese momento la contraseña.
Linux permite trabajar al mismo tiempo en varias ventanas de
texto. Para pasar de una a otra, pulse Alt + Fn
donde n
es el número de la ventana virtual y Fn
una tecla de función
(por ejemplo F1, F2 ...). Puede configurar el número de ventanas en el
archivo /etc/inittab
.
Cuando se está bajo X, la combinación es Ctrl + Alt + Fn. Es entonces posible regresar bajo X accediendo así a la consola empleada (la primera "libre", es decir no manejada por un getty). Por ejemplo, si tiene 6 consolas virtuales (de Alt F1 hasta Alt F6 ); usa Alt-F7.
Utilice maj + paginas
(teclas "SHIFT" y "página
precedente" o "página siguiente") para "pasearse". Esto
funciona también bajo xterm.
Las consolas virtuales son dispositivos. Hay 63 (o más si se modifica y
recompila el núcleo). Se corresponden con los ficheros "especiales"
tty1
... tty63
del directorio /dev
.
Para poder utilizarlas, es necesario asociar un proceso al terminal. Este es
el papel de las utilidades como agetty
. De hecho es interesante observar
(con la ayuda de top
) la evolución de los procesos en el momento del
acceso de los usuarios;
Lo primero que hace agetty
(como root) es pedirnos nuestro nombre de
usuario. Al pulsar "intro", agetty
ejecuta el programa login
(siempre como root) como proceso hijo.
login
(asociado a la CV como hijo de agetty
) nos pide la contraseña.
Entonces lanza nuestro intérprete de órdenes (ahora ya como "usted").
Podemos observar que al terminar nuestra sesión (es decir, al finalizar la
ejecución de nuestro intérprete de órdenes), se vuelve a ejecutar un
agetty
.
Aquí es donde interviene el fichero inittab
. init
(de PID 1), es el
proceso padre de todos los procesos. Como es el primer proceso, es el
encargado de lanzar los agetty
. Para ello se sirve del fichero de
configuración /etc/inittab
.
Entre otras cosas, este fichero contiene líneas del tipo:
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
Para una explicación detallada, véase a página del manual de inittab(5)
.
A grandes rasgos, significa que init
lanza un agetty
en
/dev/tty1
y que lo vuelve a ejecutar cada vez que muere (respawn) con
un tipo de terminal Linux cuando nos encontramos en los "runlevels"
1,2,3 o 5.
Por tanto, debe existir una línea de este tipo por cada consola virtual.
Aquí vemos que hay tantos agetty
en ejecución como consolas virtuales
utilizables, y que estamos limitados por este número de líneas en inittab
(a menos que lancemos 63 agetty
...).
Existe otro método: la asignación dinámica de CV. Esto se consigue gracias a
un pequeño demonio (cspawnd
)
ftp://ftp.lip6.fr/pub/linux/sunsite/utils/console/dynamic-vc-1.1.tar.gz
cspawnd is normally started in rc.local as a daemon that is signaled by the kernel when the console user presses the Spawn_Console key (see below). Upon receipt of a signal from the kernel, cspawnd activates the newly allocated VC and spawns a getty process to enable the user to login. In its default configuration, it also attempts to periodically deallocate unused VCs.(NT: en inglés en el original)
Por tanto es conveniente dejar una CV gestionada por el primer método, asignando las demás dinámicamente.
Ahora debemos poder pasar de una CV a otra. Es el núcleo quien se encarga de ello. Cuando una tecla "ConsoleN" (N=1...63) es pulsada, el núcleo asocia la CV númeroi N a la consola (la real).
Tambien existen "Decr_Console" e "Incr_Console" que,
respectivamente, incrementan y decrementan el número de la consola; así como
Last_Console, que pasa a la última consola utilizada. cspawnd
añade la
tecla "Spawn_Console" (ver más arriba).
Queda asociar esto a teclas (o combinaciones de teclas) del teclado. Esto se
consigue gracias a la utilidad loadkeys (ejecutada por init
al inicio
[en un fichero /etc/rcXXX
]). Esta utilidad toma como
parámetro un fichero .map (seguramente /usr/lib/kbd/keytables/es.map
)
que contiene líneas del estilo:
keycode 87 = F11 F11 Console_23 control keycode 87 = F11 alt keycode 87 = Console_11 control alt keycode 87 = Console_11
Por supuesto, se puede encontrar toda esta informació en las páginas de man y
todas las ayudas en línea a nuestra disposición. Citemos loadkeys(8)
,
init(8)
, inittab(5)
, cspawnd(8)
así como los ficheros del
directorio /usr/src/linux/Documentation
.
(NR: en general Internacionalización)
Los "locales" son un sistema que permite gestionar lo mas apropiadamente posible las diferencias de lenguaje y de estilo de los usuarios. 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 usuario debe entonces poder escoger un local que le convenga y las aplicaciones bien hechas (raras son aquellos que gestionan completamente los locales pero son numerosas las que los 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 MacOS.
Si es programador, puede consultar el locale-tutorial
(distributions/jurix/source/libc/nls
o sunsite/utils/nls
) o el Mini-
HOWTO sobre los Locales. Si es un simple usuario, puede conocer
los locales instalados en su sistema con local -a
(los nombres
parecen estar poco estandarizados, verá cadenas del tipo
"fr_FR" o "fr_FR.ISO8859-1") y seleccionar uno con las
variables de entorno como LANG o LC_CTYPE (man local
tal vez
le sea de ayuda).
Si es el administrador de una máquina, y los locales no funcionan como desea, puede leer el Mini-HOWTO sobre los Locales y/o este modesto texto.
Si Linux no llegó con una instalación correcta de los locales ( no creo que exista una buena distribución desde este punto de vista), tiene dos soluciones. Yo solo probé la primera y 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.lip6.fr/pub/linux/GCC.
(pasar a 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í puede leer las instrucciones en el README y hacer "./configure" ("make depend" es lento y no parece necesario si quiere sólo los locales)
Si no quieres compilar toda la libc, te paras allí y :
cd locale make SHARED= programs (pasar a root) mv localedef /usr/local/bin mv locale /usr/local/bin (salir de root)
Tiene ahora los dos programas importantes. Ahora puede 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.lip6.fr/pub/linux/GCC ( debe su nombre a un "working group" Posix).
En este archivo, una vez desempaquetado, hay una buena documentación (Intro). Si no quiere leerla, lo que hay que hacer es :
(pasar a 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 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 tipo "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)
Puede comprobar con local -a
que el nuevo local es conocido
desde ahora. Es todo. Los usuarios 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 cabecera como localeinfo.h
en
la libc).
make make install
Para comprobar la instalación de los locales, puede servirse 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 locale francés (español) correcto, debe encontrar que todos los caracteres, excepto el último, son "printables".
Ciertas herramientas GNU comienzan a ser internacionalizadas. Para tener
esta posibilidad, añada a su .bashrc
las líneas siguientes :
export LC_CTYPE=ISO-8859-1 export LANG=fr # (NT: export LANG=es para hispanohablantes)
ispell es un corrector ortográfico, en francés. Se puede
obtener en ftp.lip6.fr
en /pub/ispell
. Es
igualmente posible obtener un diccionario francés para ispell en el
mismo sitio en el directorio /pub/ispell/francais
.
El corrector
epelle se revela también digno de interés.
agrega en el archivo .inputrc
las lineas siguientes :
set meta-flag on set convert-meta off set output-meta on
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 directorio 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 ;; *.bz) bzip -dc $1 2>/dev/null ;; *.bz2) bzip2 -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
Para gs y xdvi, hay que utilizar unas opciones especiales (en mi máquina, son los alias). Efectivamente, con frecuencia son configurados para un papel de tamaño anglo-sajón.
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
(la ruta varía en función
de las versiones de LaTeX) :
@ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+ %%BeginPaperSize: a4 @+ a4
Para que el correo esté en 8 bits (con acentos) sin necesidad
de encapsularlo vía MIME u otra, agregue estas tres líneas al
archivo ~/.elm/elmrc
:
charset = iso-8859-1 displaycharset = iso-8859-1 textencoding = 8bit
Il peut arriver que lors d'une connexion distante via telnet
,
les accents ne passent pas. Dans ce cas, utiliser l'option -L
de telnet
.
Puede ocurrir que en el momento de una conexión remota via
telnet
, los acentos no aparezcan. En este caso, utilice la opción
-L
de telnet
.
Se ha escrito un documento para reunir un cierto número de especificaciones. No dude en consultar la dirección http://www.freenix.org/linux/HOWTO-vo/French-HOWTO.html.
Nota: la versión original de esta parte se encuentra en el sitio http://www.linux-france.com/article/tex/install_tetex_french.txt/
La versión de teTeX empleada es la 0.4p18, de la distribución Linux Red Hat
(CD "LINDIS 1.0") 4.2. La versión de la extensión french
empleada es la versión 4.00 (fecha : 19970626) obtenida del sitio
ftp.lip6.fr
/pub/TeX/CTAN/language/french
(fichero
french.tar.gz
). Ver también
http://www.loria.fr/tex/.
Nota : los usuarios de Debian observarán con placer que los existen los paquetes siguientes (gracias a L. Picouleau) :
tetex-french - The french style files for (La)TeX tetex-french 4.00-1 -> 4.01-1 into hamm/non-free/binary-i386/tex tetex-french (4.01-1) unstable; urgency=low * New upstream source * Build from pristine sources * 8 bit support (patch from Frederic Lepied <flepied@teaser.fr>)
Comience por obtener los archivos tetex y french e instalar los paquetes rpm:
tetex-dvilj-0.4pl8-5.i386.rpm tetex-dvips-0.4pl8-5.i386.rpm tetex-xdvi-0.4pl8-5.i386.rpm tetex-latex-0.4pl8-5.i386.rpm tetex-0.4pl8-5.i386.rpm
Es necesario ser root para efectuar la instalación (recuerde: para instalar un
paquete rpm: # rpm -i nom_du_paquet
).
No es necesario instalar el paquete tetex-dvilj-0.4pl8-5
si no
utiliza impresora PCL LaserJet sin PostScript.
Lea los comentarios contenidos en el paquete tetex-afm
(con rpm
-qip tetex-afm*
) antes de decidir instalarlo o no.
Toda la distribución ocupa alrededor de 40 Mb (teTeX) y 3,5 Mb (french).
La instalación crea diversos programas ejecutables en los directorios adecuados. Intentemos determinar si todo esta en su lugar (como usuario normal, no como troot):
hash -r
(o bien terminar la sesión y volver a entrar)
; kpsewhich cnf texmf.cnf
.El mensaje /usr/lib/texmf/texmf.cnf
debe aparecer.
En caso de problemas:
# find /usr/lib/texmf /var/lib/texmf -type d|xargs chmod a+rx
Pasemos a la instalación y configuración del paquete french.
# umask 022 # cd /usr/lib/texmf/texmf/tex/generic # tar xvzf french.tar.gz
Édite el fichero /usr/lib/texmf/texmf.cnf
y
modifique la definición de TEXINPUTS.latex
. Se transforma en:
$KPSE_DOT:$TEXMFS/tex/{generic/french/inputs,latex,latex209,generic}//:$TEXMFS/tex//
Es suficiente añadir ahora generic/french/inputs
y
:$TEXMFS/tex//
.
También podemos, llegado el caso, añadir la ruta de los estilos entregados
con las sgml-tools o linuxdoc-sgml (con el fin de
emplear sgml2latex
para generar, por ejemplo, las versiones francesas
de los HowTo, o la Guía del enROOTador):
$KPSE_DOT:$TEXMFS/tex/{generic/french/inputs,latex,latex209,generic}//:$TEXMFS/tex//: /usr/local/lib/linuxdoc-sgml//
Utilice en ese caso sgml2latex -l
para convertir de sgml a LaTeX.
Pero esto no es suficiente: los caracteres acentuados se pierden. Puede ser
necesario utilizar recode
o (gracias a L. Wacrenier) añadir la
opción <article opts=french>
al código SGML.
A continuación modifique los parámetros:
# cd /usr/lib/texmf/texmf/tex/generic/config # mv language.dat language.dat-babel # cd /usr/lib/texmf/texmf/tex/generic/babel # mv hyphen.cfg hyphen.cfg-babel # cd /usr/lib/texmf/texmf/tex/generic/hyphen # ln -s ushyph1.tex ushyph.tex # cd /usr/lib/texmf/texmf/tex/generic/french/initex # texconfig rehash # initex latex.ltx # mv latex.fmt /usr/lib/texmf/texmf/web2c
Despues, siempre como super-usuario, lance el programa
texconfig
y seleccione :
Utilice a continuación las pruebas del directorio
/usr/lib/texmf/texmf/tex/generic/french/tst
con el fin de asegurarse
de que todo funciona bien (como usuario normal) :
$ mkdir ~/tmp $ cd ~/tmp $ cp -a /usr/lib/texmf/texmf/tex/generic/french/tst french_tst $ cd french_tst $ latex frenchlb.tex $ latex frenchlb.tex $ xdvi frenchlb.dvi $ xdvi frenchrf.dvi
Ciertos estilos antiguos no funcionarán por culpa del fichero
Ulasy.fd
. Este fichero existe pero ha sido renombrado como
ulasy.fd
(inicial en minúscula) ya que esto mejora la compatibilidad
de teTeX con los sistemas operativos incapaces de distinguir entre mayúsculas
y minúsculas en los nombres de fichero. Es suficiente encontrar el directorio
donde se encuentra el fichero (utilice find
o locate
), crear
un enlace simbólico y llamar a texconfig rehash
.
Por ejemplo :
# locate ulasy.fd /usr/lib/texmf/texmf/tex/latex/base/ulasy.fd # cd /usr/lib/texmf/texmf/tex/latex/base # ln -s ulasy.fd Ulasy.fd # texconfig rehash
Seguidamente utilice un navegador Web (browser) para examinar los ficheros
/usr/lib/texmf/texmf/doc/help/Catalogue/catalogue.htmly
/usr/lib/texmf/texmf/doc/helpindex.html
antes de emplear una impresora PostScript. Determine el valor adecuado del
parámetro 'm' en el fichero config.ps
utilizado.
Lea al respecto el fichero info de dvips
.
Ciertos personajes poco delicados 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á la misma apariencia que con los VERDADEROS
Computar Modern
. Desafortunadamente, estos tipos de caracteres
defectuosos fueron entregados con varios CDs Linux. Como
muchos de nosotros trabajamos con los CDs slackware, conviene
tener extremada atención.
Es por esto que debería verificar su sistema. Para ello, es fácil, un buen viejo terminal y dos minutos de tiempo :
**
\setbox0=\hbox{ho}\showbox0
> \box0= \hbox(6.94444+0.0)x10.55559 .\tenrm h .\tenrm o ! OK. <*> \setbox0=\hbox{ho}\showbox0 ?
¡listo!, tiene los tipos de caracteres originales (el valor clave a retener, es el 10.55559). Es suficiente ahora responder `x' para que TeX termine.
En caso contrario, su sistema está infectado. Basta recuperar las actualizaciones y el ciclo se completa.
Cuando uno compila y se sirve de una tarjeta sonido en Linux,
la gran pregunta es saber si la tarjeta está 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 probar el correcto funcionamiento de la tarjeta de sonido, es
suficiente enviar algunos archivos audio (.au) a /dev/audio
con la
orden siguiente cat toto.au > /dev/audio
.
Ciertas versiones de gcc (de la 2.7.0 a 2.7.2 ambas comprendidas, pero no
2.7.2.1 y posteriores) tienen un bug con la opción -O2
. Para
identificarlo, pruebe este programa :
/* sr_bug.c * * este programa hace un test para un error de gcc. * Para compilar este program de test: gcc -O2 sr_bug.c * * Algunas veces gcc para Intel CPUs genera código erróneo en el * nivel de optimización 2. El código erróneo es 'casi perfecto' y está oculto * dentro del programa que parece funcionar - incluyendo el kernel Linux. * El bug es muy viejo y ya ha sido documentado. A fecha 19-Dec-95, * el bug no ha sido reparado. * * Si cambia este código debería probarlo, porque aún un * mínimo cambio puede esconder este elusivo bug. Si cree que * ha reparado el bug, por favor ejecute el test original hasta * estar seguro. Puede encontrar el test original abajo, despues de #if 0. * Escribi esta versión del test en Ingles para hacerla amigable, y * puede no ser tan sólida 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) * * Versión amigable por 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 - 3; for(i=0; i<B; i++) printf(" %d,%d", i, Array[i]); return !Array[1]; } int main(){ printf("Testing for gcc bug..."); if(gcc_sr_bug()){ printf("\n\nBad code! Your compiler generates bad output.\n\n"); printf("Add -fno-strength-reduce to your gcc command line\n"); printf("or put it into your gcc config file, such as in\n"); printf("/usr/lib/gcc-lib/i486-linux/2.7.0/specs.\n"); exit(1); }else{ printf("\nOK, no problem.\n"); exit(0); } }
Emacs es un editor de texto 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, pronto no podrán pasar sin él.
Exsiten diversos documentos y FAQ.
He aquí un archivo de configuración básico:
;; ;; Archivo .emacs: inicialización de emacs ;; Archivo de base : Guía del enROOTador ;; (display-time) ;;Para ver la hora en la barra 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 : elige el modo de acuerdo a la extensión (setq auto-mode-alist (append '(("\.c$" . c-mode) ;; utiliza el modo C++ también 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 correo) "[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)) # Correspondencias varias (global-set-key "\eg" 'goto-line) ;; ESC G = Goto line (global-set-key "\eo" 'overwrite-mode) (put 'eval-expression 'disabled nil) ;; Acentos... (standard-display-european 1) (load-library "iso-syntax") ;; Bajo X-Window, texto en color (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 "")) (global-set-key "\C-?" 'delete-char)) )) ;; mejor emplear font-lock
Este archivo puede ser ampliamente mejorado. Para saber más, consulte la documentación de Emacs (pulsar "control-H" y luego "i"), que está bien hecha pero es un poco grande.
Nota : es posible agregar las líneas 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)
La utilización de puertos serie plantea un problema de bloqueo :
hay que evitar que dos procesos concurrentes accedan a un puerto serie
dado al mismo tiempo. Pero, por otra parte, si se tiene un puerto serie
sobre el cual se ejecuta un getty
para tratar llamadas de entrada,
nos gustaria también poder utilizar el puerto serie para pasar las
llamadas salientes.
Para resolver este problema, hay dos enfoques. El primero, es
el bloqueo por el núcleo. Utiliza dos dispositivos
diferentes para acceder a un puerto serie : /dev/ttySn
para las
llamadas de entrada (via getty
), y /dev/cuan
para las
llamadas de salida. Cuando getty
intenta abrir /dev/ttySn
,
esta bloqueado hasta que se reciba una llamada de entrada y
el modem lo señale por la línea DCD del puerto serie.
Cuando getty
está bloqueado en la llamada del sistema
open
, se puede aún utilizar el dispositivo /dev/cuan
para las llamadas salientes (evidentemente, getty
está bloqueado
cuando DCD está activado para la llamada saliente...)
Por otra parte, una vez que /dev/cuan
está 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)
. Esto evita que dos procesos intentando
independientemente pasar una llamada saliente se encuentren escribiendo
simultáneamente sobre el puerto serie.
La segunda técnica es la de "lock-files" (archivos de bloqueo).
Consiste, para cada proceso que utiliza un puerto serie, en
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 está escrito, verifica que
el proceso correspondiente existe, y sabe entonces que el puerto serie
está ocupado y que no puede utilizarlo. En este caso, sólo se utilizan
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 apertura 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 inscrito...) También necesita
que 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
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 más flexible, pero menos elegante y más delicado que establecer el bloqueo por el núcleo.
Es muy agradable poder conectarse al Minitel. Obtenga
el programa xtel
de Pierre Ficheux. Es un emulador Minitel
muy simple de utilizar.
Puede encontrarlo en ftp.lip6.fr
en el directorio
/pub/X11/videotext/xtel
.
Enviar documentos por FAX es perfectamente posible. Para hacerlo, puedes utilizar por ejemplo Hylafax.
Se encuentra en el sitio ftp.funet.fi
en el directorio
/pub/mirrors/sgi.com/sgi/fax/source
.
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. Además, si uno utiliza ciertos gestores particulares raramente, se está obligado a tenerlo en el núcleo, lo cual tiene tendencia a consumir memoria.
Los módulos cargables, permiten reunir lo útil y lo agradable teniendo un núcleo lo más pequeño posible, cargando bajo demanda aquello que necesita, sea de una forma manual por el super-usuario de la máquina, o de una manera automática. De esta forma, la ganancia de recursos no es nada despreciable.
La primera pregunta que uno puede hacerse, es : " Porque dos técnicas de carga ?"
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 demonio especialista que es esclavo del núcleo y que carga y descarga los módulos por él. De hecho, la versión 1.2 de Linux sólo ofrece la posibilidad de carga manual limitada al super-usuario de la máquina, lo cual es bastante pesado de manipular. En el desarrollo de la versión 2.0, un nuevo sistema implementado por Bjorn Ekwall permite efectuar una carga dinámica y automática de los módulos.
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 :
CONFIG_MODULES
: activa el mecanismo de módulos
cargables. Sin esta opción, no funcionarán en su sistema.
CONFIG_KERNELD
: esta opción activa la carga
automática de los módulos. Deberá igualmente activar los IPC Systeme V
porque el núcleo y el demonio se comunican vía colas de mensajes.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 directorio /lib/modules/x.y.z
donde
x.y.z
corresponde al número de versión del núcleo. No nos queda
sino ver como se cargan.
Nota importante : todas las herramientas de manipulación de los módulos
se encuentran en el archivo modules-2.0.0.tar.gz
en
el directorio v2.0.
. Son instalados por defecto por las
distribuciones estándar, pero es importante utilizar la versión correcta.
La carga manual esta basada en tres órdenes :
insmod
: inserta un mçodulo en el núcleo ;rmmod
: descarga un módulo, si ningún proceso lo utiliza;lsmod
: da la lista de módulos cargados.Su uso obliga a ser super-usuario. He aquí un ejemplo de uso :
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" los 4 demonios nfsiod
ya que son
lanzados cuando NFS es activado. Como puede ver, estas
operaciones se vuelven relativamente difíciles. Es por esta razón que
se creó el sistema de carga automática.
kerneld
La gestión de los módulos ha sido modificada en la serie 2.1.x y
kerneld
ha sido suprimido. Por tanto esto sólo es válido para los
núcleos 2.0.x.
El sistema de carga automática de módulos permite reducir al
mínimo el tamaño del núcleo. El principio de funcionamiento es
particularmente simple : un demonio en modo usuario esta a la escucha
de las órdenes del núcleo (vía un archivo de mensaje de tipo IPC Sistema
V). Cuando un proceso intenta acceder a un recurso del sistema (vía una
llamada al sistema open
, etc...), el núcleo envía la orden de
carga del módulo a kerneld
. Una vez el mensaje es recibido,
kerneld
ejecuta modprobe
para cargar los módulos
necesarios
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 máquina y el montaje de la raíz del sistema de archivos (por ejemplo, soporte IDE + ext2fs). Se puede tener todo el resto en módulos (tarjeta de sonido, sistemas de archivos, tarjeta SCSI, etc).
Esta parte, de modificacion, solo es válida si la máquina no está
dotada de kerneld
. Las nuevas distribuciones efectúan una
instalación correcta.
Para realizar la puesta en marcha del sistema de carga de módulos,
es necesario efectuar ciertas modificaciones al nivel de la
configuración. En efecto, es necesario que en el momento de iniciar la
máquina, el demonio 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 lo sean. En un primer momento, hay que crear
el archivo /etc/rc.d/rc.modules
en el cual hay que poner:
# Modules # # Creación de un enlace lógico para el núcleo actual # # /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 otro tipo de demonios kerneld a lanzar... # if [-x /sbin/kdsound ] then echo "Starting sound daemon" /sbin/kdsound & fi
Esto permite generar las dependencias entre módulos cada vez que se
inicia la máquina. Seguidamente, en el archivo /etc/rd.d/rc.S
(puede depender de su 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 estas modificaciones efectuadas y la máquina
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=N_Segundos
a kerneld
donde N_Segundos
es la
prolongación en segundos.
Puede suceder que sea necesario configurar un último archivo:
el archivo /etc/conf.modules
. Este archivo contiene las rutas
donde se encuentran los módulos que deben ser cargados y a continuación
los alias para los módulos. Si no tiene este archivo, puede crearlo con:
gandalf# /sbin/modprobe -c | grep -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-5Que no cunda el panico ! Este mensaje no es malo y para no tenerlo más, añada 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. Consulte el documento Kernel HowTo.
Tu puedes consultar estas referencias para mas información :
El programa "Energy Star" lanzado como iniciativa de la EPA ( "Environmental Protection Agency" americana) tiene como objetivo principal disminuir el consumo de energía eléctrica de sistemas inactivos. Ciertos dispositivos pueden, en algunos casos, ver aumentada su vida útil
Linux ofrece la posibilidad de utilizar equipos conformes a la norma. Se puede, por ejemplo, programar una tecla o un menu que, en un portátil, pare la rotación de los discos, apague la pantalla y reduzca el sistema.
La elección del tiempo de inactividad antes de la suspensión es función del uso del sistema. Nótese igualmente que no todos los sistemas gestionan estas funcionalidades y que se comportan de distinta forma según cada fabricante.
La información siguiente se proporciona con la esperanza de ser útil, pero se da SIN NINGUNA GARANTIA respecto al buen funcionamiento de su sistema después de seguirlas. Si su novia/o le abandona porque su disco duro emite extraños ruidos, o su casero le echa porque su monitor ha prendido fuego al apartamento, es usted el único responsable.
El paro de rotación del disco duro presenta una ventaja adicional a los enunciados más arriba: el de volver menos ruidoso al sistema. DE todas formas, en Unix, algunos demonios acceden a los datos sin tener necesidad real de ello y tienen tendencia a despertar al disco.
Ciertas BIOS pueden suspender el disco despues de un periodo de inactividad.
Busque la opción HDD Standby Timer
. Con los discos IDE, se puede
utilizar la herramienta hdparm(8)
que hace lo mismo:
$ hdparm -S 120 -- para el disco a los 10 minutos (120 x 5s) $ hdparm -Y -- suspende el disco inmediatamente
Si el disco no quiere pararse en modo normal (pero sí lo hace en modo "single user") o si retoma su actividad sin motivo aparente, es debido a que hay programas que continuan leyendo y escribiendo en el disco sin que hagamos nada. Estos programas (demonios) son ejecutados normalmente al arrancar. El juego consiste en detectarlos y cambiar sus parámetros.
Para la detección, se necesita un medio de vigilar los accesos físicos al disco duro, bien sea por la escucha del ruido de acceso o mediante un led de actividad. Después, he aquí tres métodos para buscar a los agitadores:
strace -p
con los nñumeros de proceso de los demonios
sospechosos. Si detecta una actividad del disco a la vez que una actividad del
proceso, ha cogido probablemente a uno de los culpables
strace(1)
le indica también que ficheros son accedidos y la periodicidad
de los accesos.top
. Estos campos no son presentados por defecto pero puede
insertarlos (pulse o
). El campo "timeout" indica el tiempo que
queda antes de que una llamada a select(2)
finalice. Si ve que llega a 0
para un proceso durante un acceso físico al disco, he aquí uno de los
culpables. El campo "alarm" es menos útil. Representa la duración en
segundos pasada como parámetro a la llamada al sistema alarm(2)
. Podemos
relacionar estos valores con una eventual periodicidad de los accesos físicos.
Otra solución para arreglar el problema es compilar el núcleo con la opción
ramdisk
. Al inicio, se crea un disco ram que contiene los ficheros de
bloqueo, guiones cron y demás.
Hay que añadir las siguientes líneas al fichero rc.S :
#Crear un disco ram, montar /var/lock # y copiar el contenido de /var/lock.skel dd if=/dev/zero of=/dev/ram15 bs=1k count=256 > /dev/null mke2fs -m0 /dev/ram15 256 > /dev/null mount /dev/ram15 /var/lock > /dev/null (cd /var/lock.skel; cp -rP * /var/lock >/dev/null )
El fichero /var/lock.skel
es una copia exacta de
/var/lock
. Antes de aplicar este sistema tenemos
>ls -l /var/lock.skel/ total 4 drwxr-xr-x 2 root root 1024 Nov 26 1996 crontab/ drwxr-xr-t 2 root root 1024 Nov 28 1993 emacs/ drwxr-xr-x 2 root root 1024 Nov 21 1996 samba/ drwxr-xr-x 2 root root 1024 Jul 15 1997 subsys/ /crontab contiene una serie de enlaces simbólicos tipo root -> ../../spool/cron/crontabs/root
donde se encuentran las fuentes "a pelo". Después de ejecutar
crontab -e
, copiar los ficheros
/var/spool/cron/crontabs/{$USER, cron.update}
en
/var/lock/crontab
.
cron
debe ser lanzado por /usr/sbin/crond -l10 -c
/var/lock/crontab >>/var/adm/cron 2>&1
para que busque sus archivos
en el disco en memoria.
El directorio /var/lock/samba
contiene los ficheros
browse.dat
y wins.dat
,
que son actualizados periódicamente. Para forzar a smbd
y nmbd
a
utilizar este directorio, añadir en
/usr/local/samba/lib/smb.conf
:
lock directory = /var/lock/samba
Ultima ventaja : después de una reinicialización, ¡ya no hay más "stale locks" !
El demonio cron(8)
lanza programas a ciertas horas. No es directamente
culpable de los accesos a disco (sólo hace accesos de lectura para verificar
que sus tablas no han cambiado, pero sus datos están la mayor parte del tiempo
en la caché de disco). Ciertas distribuciones insertan en crontab(5)
procesos que son lanzados cada pocos minutos. Eche un vistazo en los crontabs
de los usuarios demonio (root, news, uucp...) o en el fichero
/etc/crontab
y haga limpieza.
En algunas distribuciones, el programa atrun
es ejecutado cada minuto.
Sirve para ejecutar programas en una fecha dada con las órdenes at
y
batch
. Si no lo utiliza, desactívelo, o pruebe con el demonio atd
del paquete at-3.1.*
.
Conserve las líneas que limpian los ficheros de registro y agrúpelas en torno a la misma hora.
mgetty
verifica cada pocos minutos que el modem responde bien. Como
anota todas sus acciones en un fichero de registro (en función del
parámetro debug
) ésto implica accesos a disco no deseados.
Solución : Ponga un periodo de verificación desmesuradamente
largo en mgetty.config
. Por ejemplo :
modem-check-time 360000
verifica cada 100 horas. Esta opción no tiene pinta de poderse desactivar.
lpd
verifica la cola y la actividad de los demonios cada diez
minutos.
Solución : desactive la opción en
/etc/lpd.conf
:
poll_time 0
El servidor maestro httpd
habla con sus co-servidores a través del
fichero log/apache_status
.
Solución : lanzar httpd
via inetd
.
Numerosos comentarios desaconsejan utilizar apache con inetd
por razones
de rendimiento (inetd
debe crear un proceso servidor que va a releer y
analizar su configuración por cada URL solicitada) pero si su servidor no
tiene muchos accesos, es completamente válido.
bind 8.1 (named
) registra cada hora información sobre su actividad.
Solución: Envíe esta información a otro lugar que no sea el disco duro
(a una consola, por ejemplo) o desactívela resueltamente. En
/etc/named.conf
:
logging { category statistics { null; }; category maintenance { null; }; };
Squid hace limpieza constantemente en los ficheros en caché.
Solución : Ninguna con el propio squid, pero podemos utilizar el módulo proxy de apache (ver más arriba). Este módulo no está activo en la configuración por defecto. Tendrá probablemente que recompilar apache para utilizarlo.
Sendmail verifica periódicamente la cola para reenviar el correo que encuentra.
Solucion : Necesita realmente un demonio sendmail
(es decir, se
considera que su máquina debe recibir correo mediante SMTP) ? Si piensa que
no, mate el proceso y verifique que su lector de correo funciona todavía
(mail, vm, rmail, mush, pine... no necesitan al demonio, pero mh si parece
necesitarlo). Observe también si puede utilizar el demonio de otra máquina. Si
necesita realmente sendmail
como demonio, láncelo en el inicio sin la
opción -q [duración]
y vacíe la cola lanzando
sendmail -q
mediante crontab a las horas que desee (por ejemplo, al
mismo tiempo que la limpieza de ficheros de registro).
Los monitores conformes a la norma VESA DPMS pueden ser puestos en modo de espera. El monitor pasa sucesivamente por varias etapas :
Los parámetros cambian según estemos bajo X o no.
La orden setterm
permite determinar si se utiliza DPMS y con que
duración :
$ setterm -blank 10 # extinción a los 10 minutos (por defecto) $ setterm -powsersave on
Se puede hacer un ajuste más fino con las secuencias de escape:
ESC[9;intervalo] "intervalo" es el número de minutos de inactividad antes de entrar en el modo "suspend" ESC[14;intervalo] número de minutos de inactividad entre el modo "suspend" y el modo "off".
Ver, en el código fuente de linux, el fichero
drivers/char/vesa_blank.c
para más detalles.
En XFree86 3.3 y superiores, los valores por defecto son inicializados en
el fichero XF86Config(4)
. Para activar el modo DPMS, añada en la sección
Devices
:
Option "power_saver"
A continuación puede ajustar los retardos StandbyTime
,
SuspendTime
y OffTime
de la sección Monitors
como indica el
manual.
Se pueden cambiar estos valores a voluntad o entrar en un estado particular
con la orden xset(1)
.
Las BIOS que soportan APM (Advanced Power Management) pueden hacer pasar al sistema por 3 estados de inactividad :
Cuando el sistema reduce su actividad, Linux pierde la noción del tiempo real
(su reloj va más despacio). Todos los programas que efectúan acciones
periódicas (en particular cron
) son perturbados.
El reloj es puesto en hora una vez el sistema se reactiva si el núcleo es
compilado para soportar APM (si no, póngalo en hora con clock
).
Si piensa hacer cálculos pesados, utilizar crontab, o si su máquina hace de servidor, dudo que las opciones APM le sean de utilidad, pero en un portátil la cosa cambia (si alguien me regala un portátil, compartiré con el mis impresiones)
La utilidad apmd
(
ftp.cs.unc.edu:/pub/users/faith/linux/apmd-2.4.tar.gz)
permite vigilar los estados relacionados con APM o forzar la
suspensión.
StarOffice es una suite ofimática editada por StarDivision GMBH (Alemania), de la cual existe una versión "non-commerciale" destinada a Linux.
Los módulos disponibles son : StarWriter (tratamiento de texto), StarCalc (hoja de cálculo), StarImpress (presentación), y otras herramientas orientadas a la comunicación (e-mail, Usenet, etc.).
El producto está disponible por telecarga en su site web (atención, es muy grande), o en forma de CD-ROM, directamente en StarDivision.
La versión actual de StarOffice (4.0 release 3) necesita una configuración 486, 32 Mb de RAM, una tarjeta de vídeo y 125 Mb de espacio en disco.
Actualmente, el producto funciona con libc 5.4.22 o superior, pero no con glibc (en este caso, es suficiente obtener libc 5, ponerla en los directorios adecuados --ver el fichero /etc/ld.so.conf-- y verificar que es reconocida por el sistema con la orden ldconfig -v).
Los idiomas disponibles son inglés y alemán.
La versión 5, ya anunciada, soporta 8 idiomas, y soportará 24 a finales de 1999.
El conjunto de ficheros necesarios se encuentra en un único directorio.
La instalación se desarrolla en dos etapas: primero la instalación del producto y después la instalación específica para cada usuario.
Una vez en el directorio del producto (telecargado o en CD), sólo hay que
ejecutar, bajo X-Window, el guión setup
para lanzar la
instalación. Todo el proceso es muy intuitivo, y el progrsama de instalación
es de calidad profesional. Para rematar la instalación hay que, o bien añadir
el directorio directorio-de-instalacion/bin de StarOffice en la
variable $PATH, o bien crear un enlace de
directorio-de-instalacion/bin/soffice a un
soffice en un directorio situado en $PATH
(/usr/local/bin por ejemplo).
El uso de StarOffice se parece al de cualquier otra suite ofimática:
arrancamos la sesión con soffice
, y todo lo demás se hace con el
ratón.
Es posible trabajar con documentos creados con otros sistemas (en particular Microsoft Office), pero, en general, los filtros no están disponibles para las últimas versiones.
LA impresión se efectúa sin problema con una impresora PostScript, via
el sistema estándar lpr
(el autor dispone de una impresora compatible
HP LaserJet II controlada via GhostScript), y no parece tener
problemas de funcionamiento.
Pues sí, tenía que haberlos :-). La siguiente lista está ciertamente muy lejos de ser exhaustiva, pero representa los pricipales problemas encontrados por el autor.
Ciertos usuarios han encontrado un problema de inestabilidad recurrente
(StartOffice se bloquea, sin ningún mensaje, traza o registro). Si el bloqueo
es inmediato, en general es sufuciente añadir
/lib
en la lista de bibliotecas utilizada en el guión
soffice
. Si el bloqueo es aleatorio después de un cierto tiempo de
uso, entonces no resulta evidente encontrar el origen del problema.
Los filtros hacia formatos externos (probado para Excel 5) poseen a veces problemas, tanto en importación como en exportación )pérdida de atributos de formateo, en particular).
El precio de la versión no-comercial parece bastante elevado, a la vista de los demás puntos débiles. Habrá que esperar a que esté disponible una actualización a un precio razonable.
Por último, la ausencia de versión francesa (o española) desanimará a los no-anglófonos, pero esto debería solventarse con la versión 5.
Para concluir, debemos considerar todavía a StarOffice V4.0 como una versión beta de una suite ofimatica muy prometedora.
Parece probable que la versión 5 corriga los principales puntos débiles del producto, lo cual lo convertirá en una alternativa del todo presentable a la suite de Microsoft.
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.lip6.fr
en /pub/linux/french/books
.
(NR: también puede encontrarse en la sección Manuales de http://lucas.hispalinux.es)
Aunque Linux tiene como principio el de ser completamente gratuito, varias obras se vende en el comercio.
Es importante señalar que se pueden obtener las fuentes Latex de la
traducción de la segunda obra en ftp.lip6.fr
en
/pub/linux/french/books
.
El número 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
La mayoría de HowTo's o mini HowTo están traducidos (o en curso de
traducción). Están disponibles en el ftp.lip6.fr
en el directorio
/pub/linux/french/docs/HOWTO
. Estos documentos son
enviados a fr.comp.os.linux.annonces
mensualmente
(NR: HOWTO's en Castellano)
Esta es la lista :
HowTo :
Access-HOWTO Alpha-HOWTO Assembly-HOWTO Benchmarking-HOWTO Boot-disk-HOWTO Bootdisk-HOWTO BootPrompt-HOWTO Busmouse-HOWTO CD-Writing-HOWTO CDROM-HOWTO Chinese-HOWTO Commercial-HOWTO Configuration-HOWTO Database-HOWTO Distribution-HOWTO DNS-HOWTO DOS-to-Linux-HOWTO DOSEMU-HOWTO DOStoLinux-HOWTO ELF-HOWTO Ethernet-HOWTO Firewall-HOWTO Ftape-HOWTO GCC-HOWTO Glibc2-HOWTO HAM-HOWTO Hardware-HOWTO HOWTO-Index Installation-HOWTO IPX-HOWTO ISP-Hookup-HOWTO Java-CGI-HOWTO Java-HOWTO Kernel-HOWTO Keyboard-HOWTO LinuxDoc-Emacs-Ispell-HOWTO Liste-des-HOWTO Mail-HOWTO MGR-HOWTO Modems-HOWTO Module-HOWTO NET-3-HOWTO Net2-HOWTO News-HOWTO NFS-HOWTO NIS-HOWTO Oracle-HOWTO PCI-HOWTO PostgreSQL-HOWTO PPP-HOWTO Printing-HOWTO Printing-Usage-HOWTO Reading-List-HOWTO Root-RAID-HOWTO SCSI-HOWTO SCSI-Programming-HOWTO Serial-HOWTO Serial-Programming-HOWTO Shadow-Password-HOWTO SMB-HOWTO Sound-HOWTO Sound-Playing-HOWTO SRM-HOWTO Term-HOWTO TeTeX-HOWTO Tips-HOWTO UMSDOS-HOWTO UPS-HOWTO UUCP-HOWTO VAR-HOWTO Video-HOWTO Virtual-Services-HOWTO Visual-Bell-HOWTO WWW-HOWTO WWW-mSQL-HOWTO XFree86-HOWTO
Mini-HowTo :
3-Button-Mouse Advocacy Anon-ftp BogoMips Bridge+Firewall Bzip2 Cable-Modem CD-Writing Clock Colour-ls Cyrus-IMAP DHCPcd DHCPd Dial-On-Demand Diskless DPT-Hardware-RAID Ext2fs-Undeletion Fax-Server Hard-disk-upgrade Install-From-ZIP IO-Port IP-Alias IP-Masquerade IP-Subnetworking ISP-Connectivity Jaz-Drive Jaz Kerneld Large-IDE LBX Leased-Line LILO Linux+FreeBSD Linux+NT-Loader Linux+Win95 Mail2News Man-Page MIDI+SB Modules Multi-Ethernet NFS-Root-Client NFS-Root Postgres PPP-over-minicom Pre-Installation-Checklist Proxy-ARP Public-Web-Browser Quota RCS Remote-X-Apps RPM+Slackware Sendmail+UUCP Sig11 Slip+ProxyARP Small-Memory Soundblaster-AWE StarOffice Swap-Space Term-Firewall TkRat Token-Ring Update Virtual-wu-ftpd Visual-Bell Win95+Win+Linux Win95+Win3x+Linux X-Terminal XFree86-XInside Xterm-Title ZIP-Install ZipIomega
Para ver la lista actual de los How-To traducidos, consulte el documento
Liste-des-HowTo
en las direcciones habituales.
A pesar de todo esto, ¡aún falta mucho trabajo! Si quiere unirse al grupo de traductores, puede hacerlo inscribiéndose en la lista de traducción:
mail majordomo@linux.EU.org subscribe traduc
Como nuevo coordinador de las traducciones que soy estaré encantado de contestarle.
(NR: Traducción HOWTO's al Castellano)
Algunas buenas direcciones:
ftp.lip6.fr
: espejo de tsx-11.mit.edu, de
sunsite.unc.edu con las últimas actualizaciones del nodo, y
sobre todo toda la arborescencia francesa. Se trata del sitio de
referencia en Francia concerniente a Linux (y seguramente para el
resto igualmente... bravo Rémy !).majordom@arlesienne.ensica.fr : subscribe linux-31
ftp.lip6.fr:/pub/linux/french/echo-linux
.
Para encontrar ayuda : en un primer momento, intente encontrar los
datos en esta guía. Después, mire los HowTo. Finalmente, si
fracasa, eche un vistazo en los grupos de noticias
fr.comp.os.linux
.
Aquí está la lista de las personas que han contribuído a la realización de este documento. Es muy posible que olvide a alguien... ¡mis excusas! Gracias a todos.
bortzmeyer@pasteur.fr
)Remy.Card@freenix.org
)pierre@rd.lectra.fr
)nat@linux-france.com
)Julien.Simon@freenix.org
)
Jean-Michel.Antoine@loria.fr
)guylhem@danmark.linux.eu.org
)billaud@labri.u-bordeaux.fr
)Stephane.CHAZELAS@enst-bretagne.fr
)chemla@brainstorm.eu.org
)choppy@imaginet.fr
)delepine@aldil.linux.eu.org
)Jean-Albert.Ferrez@epfl.ch
)lfrigault@teaser.fr
)jaco@mail.dotcom.fr
)fred@sugix.frmug.fr.net
) walken@via.ecp.fr
)levavass@efrei.fr
)100557.571@compuserve.com
)marc.merlin@efrei.fr
)Thomas.Parmelan@darshiva.efrei.fr
)fantec@latulipe.freenix.fr
)thomas@cuivre.fdn.fr
)david@anrtt.inp-fc.fr
)schaefer@vulcan.alphanet.ch
)David.Segonds@ifp.fr
)sylvain.stephant@mail.dotcom.fr
)tharan@int-evry.fr
)J.M.Vansteene@frcl.bull.fr
)
Linux es un sistema abierto, que evoluciona. Numerosos desarrollos están 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 desea ofrecer un poco de su tiempo para Linux, no dude en contactarme.
Se acabó.
Si ciertos puntos le parecen oscuros, etc, no dude en
contactarme. Esta guía seguirá evolucionando, pero no lo podrá hacer
sino gracias a usted, así que si encuentra un truco realmente genial, envíelo
a : (Eric.Dumas@freenix.org
o a
Eric.Dumas@Linux.EU.Org
). (nt: o a caliman@magic.fr).
Palo Alto, el 21 de Septiembre de 1998. Pero quién le habrá mandado meterse en este lío...
date
v0.1, 20 August 1996
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...
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.
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).
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...
Como ocurre en todas las versiones de Unix, el primer sitio donde mirar
cuando tenga una duda concreta sobre tal orden, 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.
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:
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.
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.
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.
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.
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.
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 ;^) )
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.
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, la orden 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.
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.
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.
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.
...O cómo demonios poder usar acentos en nuestro propio ordenador
Mediante la orden 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 orden 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...
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
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"
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:
Joe tiene un parámetro -asis
para que conserve los caracteres de 8 bits.
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
.
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.
Este clónico Norton tiene una opción Full 8 bits del submenú Display bits... bajo Options.
Dispone de una opción -Tlatin1
El entorno gráfico XWindow usa para configurar el teclado un orden 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.
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.
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.
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.
Algunas de las situaciones típicas en las que se puede aprovechar la capacidad de trabajo en red de Linux podrían ser:
¿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.
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).
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.
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:
root
y procura
mantenerla a salvo. Si la facilitas a alguien más, mentalízale para que
la use con precaución (por otra parte también es una forma de aprender
nociones básicas de administración de sistemas...)root
, edita /etc/inetd.conf
y ponle un signo de
comentario
(#
) a todas las lineas excepto aquellas que abran servicios que necesites
mantener accesibles; luego haz "killall -1 inetd". No te cortes y cierralo
todo, que siempre estaras a tiempo de reabrir aisladamente aquello que eches
en faltaroot
como usuario habitual con el que
te conectes al sistema, o en caso de despiste podrías provocar algun destrozo.
Es mas seguro que entres como un usuario "raso" y uses su - root
cuando necesites hacer alguna operacion concreta como super-usuario (recuerda
usar exit
para volver a tu status normal cuando termines lo que tenías que
hacer como super-usuario)syslogd
. En cuanto
empieces a desenvolverte un poco con el manual y los comandos básicos para
moverte por el sistema, aprende a recoger la información que genere ese
servicio, eliminar la inútil, revisar la útil y limpiar la contabilidad
de vez en cuando (de lo contrario te puedes dar un susto cuando veas
ficheros gigantescos que devoran espacio de disco con información desfasada
despues de tanto tiempo)
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.
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
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...
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.
En Valladolid, con mirrors de LDP/WWW, Slackware, Sunsite y manuales traducidos.
En Madrid, traducciones de las How-To.
Traducción del manual del sistema.
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:
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.
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.
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.
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