|
Este documento es la traducción no adaptada, del "Guide du ROOTard pour Linux" de Eric Dumas. Aqui encontraras mucha información sobre Linux orientada al Francés, aunque todo puede ser adaptado al Español (ya veremos despues ;-)). Por el momento si la solución francesa no te conviene, explota las pistas que te da Eric. Pero mira antes la Infosheet y el Spanish HOWTO en los capitulos 4 y 22 de este documento. Tambien puedes consultar los documentos que encontraras en :
He aquí la versión 2.6 de la Guía del enROOTador. Se trata principalmente de una versión "corregida" de la versión 2.5. Nada ha sido añadido.
Esta versión es un poco particular : es la ultima que escribo como estudiante. Mas sin embargo he hecho todo lo posible para hacer unos largos estudios en la bella y vieja ciudad (pero simpática) de Burdeos.. pero 5 anos, es suficiente ! Es muy probable que la próxima versión solo salga en algunos meses, por causa de vacaciones forzadas por cuenta del estado (servicio militar ... pues si algunos no se salvan).
No me tengas rencor si tengo mi correo un poco retrasado. Yo respondo siempre generalmente...(Es verdad a mi siempre me ha respondido, Ud. puede escribirle directamente a Eric en francés y sino, lo puede hacer por intermedio de caliman que contestara o traducirá) pero puede pasar un buen tiempo antes de que te responda (unos quince días)...
Esta guía ha sido inicialmente concebida por Julian Simon (Julian.Simon@freenix.fr), que me gustaría agradecer por el trabajo extraordinario que el realizo. Buen numero de estos pasajes, incluida la introducción, han sido prestados a las versiones precedentes. El ultimo capitulo indica los nombres de las personas que han contribuido a la realización de este documento. Al cabo de las versiones esta lista se ha alargado : es buen signo.
Esta guía tiene por objetivo dar respuestas muy claras y concretas a los problemas que puede poner la instalación de Linux. Reagrupa los trucos y astucias dadas por los utilizadores, lo mas frecuentemente leídas en el newsgroup fr.comp.os.linux (f.c.o.l), o en las Howto, documentos que indican como instalar, como configurar o mejorar un elemento soft o material dado.
Historia de simplificar las cosas, nos vamos a tutear, es mas simple y ademas es una tradición en internet.
Esta versión de La Guia del enROOTador (2.5/2.6) posee varias novedades :
Esta nueva versión sobrepasa alegremente las 140 paginas ... cosa que yo nunca hubiera imaginado. Empieza a ser una guia bastante importante que esta dirigida a todos.
La guía del enROOTador es freeware y yo te animo vivamente a distribuirlo tal cual gratuitamente. Mas sin embargo tu no puedes modificarlo o venderlo. Insisto particularmente sobre el hecho sobre el hecho que tu no puedes sacar beneficio financiero de este documento.
Ninguna publicación es autorizada sin el acuerdo previo del autor y de los que han contribuido, y ello es valido al mismo tiempo a la inscripción en un CD-ROM, etc.
Es disponible en varios formatos:
Desde que retomé la GRL (Guia del enROOTador para Linux), la converti al formato SGML. Los Howto's y la documentacion Linux emplean tambien este standard gracias a un util llamado "linuxdoc-sgml" http://www.informatik.tu-muenchen.de/~schwarz/linuxdoc-sgml genera documentos en formatos tan variados como HTML, texto, DVI, etc. Mas sinembargo este util no permite la inclusion de figuras (lo que seria bastante practico) y sobre todo no respecta la tipografia francesa (un patch mejora un poco esta situacion : sgml-tools-0.99.0-fr.patch). Peor : solo la generacion en LaTeX (y luego PostScript) o HTML es realmente limpia y visible.
Te aconsejo leer, si no has instalado nada por el momento, la version strictamente texto.
ftp://ftp.ibp.fr/pub/linux/french/docs.
Es posible que la proxima version sea completamente escrita en LaTeX, puesto que los convertidores asia HTML estan bastante bien. Bueno es solo una idea personal;. Si tengo algun dia tiempo que perder.
Si tu encuentras errores (siempre he hestado muy enhojado con la horrografia :-)), tienes, comentarios, cosas para poner o simplemente para decirme que esto te ha ayudado mucho, no lo dudes, envíame un mail a la dirección siguiente: Eric.Dumas@freenix.fr. Tu puedes enviar un correo o un news en francés en el grupo Usenet francés consagrado a Linux : fr.comp.os.linux si tienes problemas, pero unicamente después de haber leído este documento. (Nt : es.comp.os.linux o la lista l-linux@cic-teleco.es ver Lucax y Slug)
Evidentemente si tu quiebras tu maquina o si tu pantalla explota.... es tu culpa no la mía !.
Todas las criticas y todas las precisiones citadas pertenecen a su propietario (como lo dice Juju, "muy profundo eso!") y no se usan que si uno no las utiliza.
Evidentemente toda sugerencia que permita hacer evolucionar esta guia o mejorar su difusion, es bienvenida. No dudes en contactarme : es siempre un placer.
Linux es una reimplementación completamente gratuita de las especificaciones POSIX, con extensiones de SYSV y BSD (lo cual significa que parece Unix pero no proviene del mismo código fuente base), que está disponible tanto en su versión fuente como ya compilada. El copyright pertenece a Linus B. Torvalds (Linus.Torvalds@.Helsinki.FI) y otros colaboradores, y es libremente redistribuible bajo las condiciones de la "GNU Public License".
Linux no es de dominio público, ni es "shareware". Es software gratuito, usualmente denominado freeware, y tú puedes proporcionar copias a otros pero también debes dar los fuentes con éstas o hacer posible su obtención de la misma forma. Si tú redistribuyes una modificación estás legalmente obligado a proporcionar los fuentes de ésta. Vease la "GNU Public License" para más detalles. Una copia está incluida en los fuentes de Linux o puedes obtenerla vía ftp de prep.ai.mit.edu en /pub/gnu/COPYING
Linux es gratuito en la versión actual y seguirá siéndolo en el futuro. Debido a la naturaleza del copyright de GNU, al que Linux está sujeto, sería ilegal no hacerlo así. No obstante es importante saber que es perfectamente legal cobrar por distribuir Linux, mientras se incluya el código fuente; para ampliar este punto remítase a la GPL.
Linux se ejecuta en máquinas 386/486/Pentium con bus ISA, EISA, PCI o VLB. MCA (bus propietario de IBM) no está actualmente soportado por la falta de documentación, aunque hay algunos parches disponibles para ciertas máquinas.
Actualmente se está portando a distintas plataformas Motorola 680x0 (los Amigas y Ataris), y por ahora funciona bastante bien. Se requiere un 68020 con una MMU, un 68030 o un 68040, y también una FPU. El software de red y X funcionan.
Linux funciona bien en la CPU Alpha de DEC, actualmente bajo "Jensen", "NoName", "Cabriolet", "Universal Desktop Box" (más conocida como Multia), y algunas otras plataformas.
Linux está siendo rápidamente portado a Sun Sparc.
Versiones para otras máquinas, incluyendo MIPS, PowerPC y PowerMAC están en camino y se está haciendo algún progreso. No te asustes, pero si estás interesado y puedes contribuir, puedes perfectamente encontrar otros desarrolladores que querrán trabajar contigo.
A partir de la versión 1.0 que data de Marzo de 1994, Linux ya no es una versión de prueba (una beta). Aún hay errores en el sistema y nuevos errores irán apareciendo y serán solucionados con el tiempo. Como Linux es un proyecto de desarrollo abierto, todas las nuevas versiones que vayan apareciendo estarán disponibles para el público, sean o no estables. Sin embargo, para ayudar a la gente a discernir si la una versión es o no estable se ha acordado lo siguiente: Las versiones 1.x.y en las que x sea par son versiones estables y el incremento de y implica la corrección de algún error. Por lo tanto de la versión 1.2.2 a la 1.2.3 sólo hay corrección de errores, pero ninguna característica nueva. Las versiones 1.x.y con x impar son betas para los desarrolladores, pudiendo ser inestables y hasta colgarse, y están siendo ampliadas continuamente con nuevas posibilidades. Las actuales versiones de desarrollo son las numeradas 1.3.x, y la más reciente versión estable es la 1.2.13.
De cuando en cuando, mientras el núcleo de desarrollo actual se estabiliza, será "congelado" como el nuevo núcleo y el desarrollo continuará en una nueva versión de desarrollo del kernel.
La mayor parte de las versiones de Linux, betas o no, son bastante estables, y podrás continuar usándolas si hacen lo que tú quieres y no pretendes estar a la última. Un site tuvo un ordenador corriendo bajo la versión 0.97 con un nivel de parcheado (patchlevel) 1 (originalmente del verano de 1992) sin un sólo error o cuelgue. (Habría durado más si el bruto del operador no hubiese confundido el transformador de la fuente con una aguja de descarga de electricidad estática...). Otros han informado de actualizaciones con un año de retraso. Un site sigue teniendo un ordenador corriendo Linux 0.99pl15s desde que fue inicialmente arrancado hace más de 600 días.
Algo a tener en cuenta es que Linux está desarrollado siguiendo un modelo abierto y distribuido, en lugar de uno cerrado y centralizado como la mayor parte del software. Esto significa que la versión actualmente en desarrollo es siempre pública (con un retraso de una o dos semanas) para que cualquiera pueda usarla. El resultado es que en cualquier momento que se añada una nueva funcionalidad y salga a la luz la nueva versión, ésta casi siempre tendrá errores, pero serán detectados y corregidos rápidamente, a menudo en cuestión de horas, ya que mucha gente trabaja en ello.
En contraste, el modelo centralizado y cerrado significa que hay sólo una persona o un equipo trabajando en el proyecto, y sólo publican software que ellos piensan que esté trabajando bien. A menudo esto conlleva largos periodos de tiempo entre versiones, largas esperas para la corrección de errores y un desarrollo más lento. Por supuesto que la última versión de este tipo de software es a menudo de mejor calidad para el público, pero la velocidad de desarrollo es normalmente mucho más lenta.
A 8 de Febrero de 1996, la actual versión estable de Linux es 1.2.13, y el nuevo árbol de desarrollo, 1.3.x, está actualmente por la versión 1.3.60. ¡No uses núcleos de la serie 1.3.x a menos que quieras meterte en su desarrollo y no te preocupe que tu máquina se venga abajo una vez tras otra!.
Para hacer algo, necesitarás además algo de espacio en disco duro también, 5 o 10 Mb serán suficientes para una configuración minimísima (con sólo los comandos más importantes y quizás una o dos pequeñas aplicaciones instaladas, como por ejemplo un programa de terminal). Esto es aún muy, muy limitado, y muy incómodo, ya que no deja sufiente espacio para casi nada, a menos que tus aplicaciones sean bastante limitadas. No es recomendable para nada salvo para probar si las cosas funcionan y por supuesto para poder alardear de los pocos recursos requeridos.
En la práctica necesitas al menos 4 Mb de RAM si no usas X, y 8 Mb en caso contrario. Además, si quieres tener muchos usuarios al mismo tiempo o ejecutar muchos programas grandes (compiladores por ejemplo) al mismo tiempo también, querrás más de 4 Mb de memoria RAM. Puede trabajar con menor cantidad de memoria (debería de hacerlo incluso con 2 Mb), pero usaría memoria virtual (usando el disco duro como una memoria lenta) y eso sería tan lento como para calificarlo de inútil.
La cantidad de disco duro que necesites depende del software que pienses instalar. El conjunto de utilidades típicas de Unix, shells y programas de administrador ocupan menos de 10 Mb, con un poco de espacio libre para ficheros de usuario. Para un sistema más completo consigue la Slackware, MCC o Debian, y asume que necesitarás entre 60 y 200 Mb, según lo que eligas instalar y la distribución de que se trate. Añade el espacio que desees reservar para los archivos de usuario a estos totales. Con los precios de los discos duros en la actualidad, si vas a comprar un nuevo sistema no tiene sentido comprar una unidad demasiado pequeña. Adquiere al menos 200 Mb, preferiblemente 500 Mb o más, y no te arrepentirás.
Añade más memoria, más disco duro, un procesador más rápido y otras cosas según tus necesidades, deseos y cartera para sobrepasar lo simplemente usable. En general, una gran diferencia frente a DOS es que con Linux, añadir memoria supone una grandísima diferencia, mientras que con DOS más memoria no supone tanta mejora. Esto por supuesto tiene algo que ver con los 640 Kb que pone por límite el DOS, hecho que no se da en absoluto bajo Linux.
Cualquiera que pueda ejecutar programas en modo protegido del 386 (todos los modelos de 386, 486, 586 y 686 deberían valer; los 286 no funcionan ni lo harán jamás). Además, una versión para las CPU's 680x0 (para x=2 con MMU externa, 3 y 4) que está implementada en Amigas y Ataris está siendo desarrollada y puede ser encontrada en tsx-11.mit.edu en el directorio 680x0. Muchas Alphas son soportadas. Se está portando a PowerPC, ARM y a arquitecturas MIPS. Más detalles disponibles en cualquier otro lugar.
Buses ISA o EISA. MCA (el de los PS/2) no funciona. Los buses locales (VLB y PCI) funcionan.
Teóricamente hasta 1 Gb, aunque jamás ha sido probado hasta este extremo. Algunas personas (incluido Linus) han notado que añadiendo memoria sin incrementar el caché al mismo tiempo su máquina se ha ralentizado extremadamente, por ello si añades memoria y encuentras tu máquina más lenta prueba a ponerle más caché. Por encima de 64Mb de ram se requiere un parámetro de arranque, ya que la BIOS no puede detectar más que 64 Mb por su implementación.
Las unidades tipo AT (IDE, controladores de disco duro de 16 bits con MFM o RLL, o ESDI) son soportadas, como también lo son los discos duros y CD-ROM SCSI, con un adaptador SCSI soportado. Las cotroladoras tipo XT (controladoras de 8 bits con MFM o RLL) también son soportadas. Adaptadores SCSI soportados: Adaptec 1542, 1522, 1740 y la serie 27xx, controladoras Buslogic vía compatibilidad con Adaptec o con su propio driver, controladoras basadas en NCR53c810, Seagate ST-01 y ST-02, de Future Domain la serie TMC-88x (o cualquier placa basada en el chip TMC950) y TMC1660/1680, Ultrastor 14F, 24F y 34F, Western Digital wd7000 y otras. Las unidades de cinta SCSI y algunas QIC-02 y QIC-80 también son soportadas. Bastantes unidades de CD-ROM tienen soporte también, incluyendo Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI y otras. Para modelos exactos consulta el HOWTO de compatibilidad de hardware.
VGA, EGA, CGA y Hercules (y compatibles) trabajan en modo texto. Para gráficos y X hay soporte para (al menos) VGA normal, algunas tarjetas super-VGA (la mayoría de las basadas en ET3000, ET4000, Paradise, y algunas Trident), S3, 8514/A, ATI MACH8, ATI MACH32 y Hercules. (Linux usa XFree86 como servidor X y éste es quien determina qué tarjetas son soportadas).
Western Digital 80x3, ne1000, ne2000, 3com503, 3com509, 3com589 PCMCIA, Allied Telliesis AT1500, la mayorías de las placas LANCE, adaptadores de bolsillo d-link, PPP, SLIP, CSLIP, PLIP (Parallel Link IP) y más.
La mayoría de las placas basadas en UART 16450 and 16550, incluyendo AST Fourport, la Usenet Serial Card II y otras. Las placas inteligentes soportadas incluyen a la serie Cyclades Cyclom (soporte del propio fabricante), la serie Comtrol Rocketport (soporte del fabricante también), Stallion (la mayoría de placas y con soporte por parte del fabricante) y Digi (algunas placas y sin soporte por parte del fabricante).
SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, varios tipos de ratón de bus (Microsoft, Logitech, PS/2).
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, vile, joe, pico, jed y más.
bash (POSIX sh-compatible), zsh (incluye modo de compatibilidad con ksh), pdksh, tcsh, csh, rc, es, ash (casi completamente sh-compatible shell usada como /bin/sh por BSD) y muchas más.
Taylor (BNU-compatible) UUCP, SLIP, CSLIP, PPP, kermit, szrz, minicom, pcomm, xcomm, term (ejecuta multiples shells, redirecciona la actividad de la red y permite X remoto, todo sobre una línea de modem), Seyon (popular programa de comunicaciones bajo X) y diversos paquetes de fax y correo de voz (usando ZyXEL y otros modems) están disponibles. Por supuesto, los logins remotos vía línea serie son soportados.
C-news, innd, trn, nn, tin, smail, elm, mh, pine, etc.
TeX, groff, doc, ez, Linuxdoc-SGML, and others.
Nethack, varios Muds y juegos de X, y muchos más. Uno de esos juegos consiste en buscar por tsx-11 y sunsite para buscar los juegos disponibles.
AUIS, el Andrew User Interface System. ez es parte de este suite.
Al menos los siguientes sites de ftp anónimo proporcionan Linux
tsx-11.mit.edu y fgb1.fgb.mw.tu-muenchen.de son los sites oficiales para el GCC de Linux. Algunos sites son un mirror de otros. Por favor usa el site más cercano a ti mientras te sea posible.Nombre textual Direccion IP Directorio Linux ============================= =============== ================ tsx-11.mit.edu 18.172.1.2 /pub/linux sunsite.unc.edu 152.2.22.81 /pub/Linux ftp.funet.fi 128.214.248.6 /pub/OS/Linux net.tamu.edu 128.194.177.1 /pub/linux ftp.mcc.ac.uk 130.88.203.12 /pub/linux src.doc.ic.ac.uk 146.169.2.1 /packages/linux fgb1.fgb.mw.tu-muenchen.de 129.187.200.1 /pub/linux ftp.informatik.tu-muenchen.de 131.159.0.110 /pub/comp/os/linux ftp.dfv.rwth-aachen.de 137.226.4.111 /pub/linux ftp.informatik.rwth-aachen.de 137.226.225.3 /pub/Linux ftp.Germany.EU.net 192.76.144.75 /pub/os/Linux ftp.ibp.fr 132.227.60.2 /pub/linux kirk.bond.edu.au 131.244.1.1 /pub/OS/Linux ftp.uu.net 137.39.1.9 /systems/unix/linux wuarchive.wustl.edu 128.252.135.4 mirrors/linux ftp.win.tue.nl 131.155.70.100 /pub/linux ftp.stack.urc.tue.nl 131.155.2.71 /pub/linux srawgw.sra.co.jp 133.137.4.3 /pub/os/linux cair.kaist.ac.kr /pub/Linux ftp.denet.dk 129.142.6.74 /pub/OS/linux NCTUCCCA.edu.tw 140.111.1.10 /Operating-Systems/Linux nic.switch.ch 130.59.1.40 /mirror/linux monu1.monash.edu.au 130.194.1.101 /pub/linux cnuce_arch.cnr.it 131.114.1.10 /pub/Linux
Al menos sunsite.unc.edu y ftp.informatik.tu-muenchen.de ofrecen servicios de ftpmail. Escribe a ftpmail@sunsite.unc.edu o ftp@informatik.tu-muenchen.de si necesitas ayuda.
Si estás perdido prueba a buscar en sunsite.unc.edu:/pub/Linux/distributions/, donde diversas distribuciones son ofrecidas. La Slackware está bien testeada y es una de las más populares distribuciones de Linux. La Red Hat y la Debian están también ganando popularidad.
La primera cosa que deberías hacer es obtener y leer la lista de preguntas frecuentes (FAQ) de uno de los sites de FTP, o usando los normales archivos FAQ de Usenet (por ejemplo rtfm.mit.edu). Este documento contiene numerosas instrucciones de qué hacer para empezar, qué ficheros son necesarios y cómo resolver la mayor parte de los problemas comunes (durante la instalación o en otro momento).
Hay diversos grupos de noticias (newsgroups) de Usenet para discusión sobre Linux además de diversas listas de correo. Ver la Linux FAQ para más información sobre las listas de correo (deberías poder encontrar la FAQ o en el grupo de noticias o los FTP sites).
El grupo de noticias comp.os.linux.announce es un grupo de noticias moderado para anuncios sobre Linux (nuevos programas, corrección de errores, etc).
El grupo de noticias comp.os.linux.answers es un grupo de noticias moderado al que se envían la Linux FAQ, los HOWTO's y otros documentos.
El grupo de noticias comp.os.linux.admin es un grupo de noticias no moderado para la discusión sobre la administración de un sistema Linux.
El grupo de noticias comp.os.linux.development.system es un grupo de noticias no moderado dedicado específicamente a la discusión sobre el desarrollo del núcleo de Linux. Las únicas cuestiones sobre desarrollo de aplicaciones que deben ser discutidas aquí son aquellas que están íntimamente ligadas al núcleo. Todas las demás cuestiones de desarrollo son probablemente genéricas de Unix y deben ser dirigidas un grupo de comp.unix, a menos que sean preguntas muy ligadas a Linux, en cuyo caso deben ser enviadas a comp.os.linux.apps.
El grupo de noticias comp.os.linux.development.apps es un grupo de noticias no moderado destinado a la discusión sobre el desarrollo de aplicaciones en relación con Linux. No está para discutir sobre el lugar en el que se puede conseguir una aplicación para Linux, ni para discusión entre aquellos que quieren aplicaciones para Linux.
El grupo de noticias comp.os.linux.hardware es para preguntas de hardware específicas de Linux.
El grupo de noticias comp.os.linux.networking es para preguntas específicas de Linux sobre desarrollo de redes y su puesta a punto.
El grupo de noticias comp.os.linux.x es para cuestiones sobre X-Windows relativas a Linux.
El grupo de noticias comp.os.linux.misc es el sustituto del original comp.os.linux y sirve para cualquier discusión que no esté cubierta en las temáticas de los anteriores grupos.
Por norma, no reenvíes entre los grupos de noticias de Linux. El único reenvío que es aceptable es un envío ocasional de un grupo no moderado a comp.os.linux.announce. La razón para dividir comp.os.linux en varios grupos es reducir el tráfico en cada uno. Aquellos que no sigan esta regla serán fulminados sin piedad...
Linux está en el Web (World Wide Web, WWW, W3, etc). La dirección URL es http://sunsite.unc.edu/mdw/linux.html
Linux 1.2 acaba de ver la luz y muchas nuevas mejoras, incluyendo las de la memoria virtual, soporte de multiplataforma y cuotas están siendo consideradas para la serie de desarrollo 1.3.x. Tras un año de Linux 1.0 estable, Linux 2.0 ocupó ese papel. Ahora, una nueva versión estable de Linux (mejor dicho, de Linux 2.0, antes que de Linux 1.4) continuará esa tradición.
Hay mucho código para escribir e incluso más documentación todavía. Por favor únete a la lista de correo linux-doc@vger.rutgers.edu si quieres contribuir a la documentación. Manda un mensaje a majordomo@vger.rutgers.edu con una única línea conteniendo la palabra ``help'' en el cuerpo (NO el subject) del mensaje.
He intentado ajustarme totalmente al original de Michael K. Jonhson y he revisado la traducción un par de veces. No obstante aún puede quedar algo por pulir o se me ha podido colar alguna errata, de cuya responsabilidad me hago cargo, pero jamás de sus consecuencias.
Para cualquier comentario, errata o consulta sobre la traducción, acude al área R34.LINUX de FidoNet o contacta conmigo por NetMail a la dirección 2:345/425.25 de la misma red.
Un saludo, Iván Casado.
gandalf# file /bin/ls /bin/ls: ELF 32-bit LSB executable i386 (386 and up) Version 1En este caso los binarios son ELF. Si el mensage indica un formato Linux/i386 executable, entonces es casi seguro que tu maquina es a.out.
Se llaman "distribuciones" un conjunto de soportes (disquetes, CD-ROM ...) que contengan lo necesario para instalar un programa en una maquina. Ver, a este propósito, la sección "como empezar" de la hoja de informaciones Linux reproducida mas arriba. No existe una distribución oficial de linux. Solo las distribuciones circulan. He aquí las principales :
Ya sea con Red Hat o con Slackware, debes utilizar un disquete de boot (y uno de root con Slackware). La manera de copiar estos ficheros en un disquete es la misma en las dos distribuciones. Luego de haber seleccionado la o las imágenes que vas a copiar en el disquete para permitir el arranque de la maquina, es necesario copiarla en el disquete. Para hacer esto hay varias soluciones :
En esta parte, se supone que tu tienes la versión 3.1 de Slackware. He aquí una breve descripción de los disquetes (en resumen , todo lo que vas a encontrar, para evitar que instales cosas que no necesitas).
Dos disquetes fundamentales para instalar Linux con la Slackware : el disquete de boot y el disquete de root. Linux se instala, en efecto , ... bajo Linux, de manera que es necesario lanzarlo "a partir de un disquete" antes de comenzar la instalación. El disquete boot contiene un núcleo linux y el disquete root el da al linux así lanzado algunos ficheros absolutamente necesarios para su buen funcionamiento. Varios tipos de disquetes boot y root existen, hay que escoger en función del material empleado. El contenido de cada disquete es dado en forma de un archivo de tipo image, que guarda el contenido de todos los sectores físicos de un disquete.
He aquí un resumen de las etapas necesarias para una instalación :
----------------\ Controlador de Disco : Las fuentes \ están sur : \ IDE SCSI MFM ------------------+----------------+--------------------------+-------------- Disco duro | bare.i | Utilizar un disquete | xt.i | | SCSI de la liste | | | aquí abajo. | -------------------+----------------+--------------------------+-------------- CD-ROM SCSI | Utilizar un | idem | | disquete SCSI | | -------------------+----------------+--------------------------+-------------- CD-ROM IDE/ATAPI | bare.i | ídem | -------------------+----------------+--------------------------+-------------- Aztech, Orchid, | aztech.i | aztech.s | Okano, Wearnes, | | | Conrad, CetcDROM | | | non-IDE CD-ROM | | | -------------------+----------------+--------------------------+-------------- Sony CDU31a, | cdu31a.i | cdu31a.s | Sony CDU33a CD-ROM| | | -------------------+----------------+--------------------------+-------------- Sony CDU531, | cdu535.i | cdu535.s | Sony CDU535 CD-ROM| | | -------------------+----------------+--------------------------+-------------- Philips/LMS cm206 | cm206.i | cm206.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Goldstar R420 | goldstar.i | goldstar.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Mitsumi non-IDE | mcdx.i | mcdx.s | CD-ROM | mcd.i | mcd.i | -------------------+----------------+--------------------------+-------------- Optics Storage | optics.i | optics.s | 8000 AT CD-ROM | | | (Dolphin) | | | -------------------+----------------+--------------------------+-------------- Sanyo CDR-H94A | sanyo.i | sanyo.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Matsushita, | sbpcd.i | sbpcd.s | Kotobuki, | | | Panasonic, | | | CreativeLabs | | | (Sound Blaster), | | | Longshine and | | | Teac non-IDE | | | CD-ROM | | | -------------------+----------------+--------------------------+-------------- NFS | ny | scsiny | -------------------+----------------+--------------------------+-------------- Tape | bare (para | Utilizar un disquete | xt.i (para | lector non | SCSI de la lista | lector no | SCSI. | aquí abajo. | SCSI) | Si no utilizar | | | un disquete | | | SCSI - ver | | | aquí abajo. | | | | | -------------------+----------------+---------------------------------------Controladores SCSI : 7000fast.s, advansys.s, aha152x.s, aha1542.s, aha1740.s, aha2x4x.s, am53c974.s, buslogic.s, dtc3280.s, eata_dma.s, eata_isa.s, eata_pio.s, fdomain.s, in2000.s, iomega.s, n53c406a.s, n_5380.s, n_53c7xx.s, pas16.s, qlog_fas.s, qlog_isp.s, seagate.s, trantor.s, ultrastr.s y ustor14f.s Si tu no sabes cual es la tarjeta SCSI instalada en tu maquina, ensaya entonces el disquete de arranque genérico scsi.s. Su nombre aparecerá en la pantalla durante el arranque. En seguida, utiliza el disquete correspondiente (puesto que el disquete scsi.s utiliza mucha memoria).
Pasemos enseguida al disquete de root. El fichero correspondiente debe ser copiado en sur forma comprimida : Linux lo descomprime sólito como un grande. Existen 6 disquetes root posibles :
Bueno, hemos visto los dos primeros disquetes. Aquí esta la descripción de la distribución. Como es largo, esto es un resumen. Entre paréntesis, el numero de disquetes :
La Slackware, como toda distribución, posee un cierto numero de bogues. Una lista existe, la puedes consultar en la siguiente dirección :
http://www.cuug.ab.ca:8001/~barkers/slackware-fixes/La ponen al día frecuentemente y no la detallaremos aquí.
La RedHat utiliza un sistema muy diferente de la Slackware : aprovecha los módulos cargables para el arranque de la maquina. Pero no permite la instalación a partir de disquetes (y en este caso, la Slackware se impone). Finalmente, su ultima limitación es que es obligatorio tener una partición Linux native (ext2fs).
Solo existe un solo disquete de boot : images/boot.img. Si tu instalas tu maquina desde un Pc que utiliza PCMCIA, tienes que utilizar un disquete suplementario : images/supp.img. Cuidado : en la primera versión del CD de la RedHat 4.0 hay problemas con las tarjetas SCSI Adaptec 1520 y 1740. En estos casos debes recuperar una versión mas reciente de la image de boot.
Una vez copiado el disquete de boot (y el segundo si necesario), arrancas ... y caes directamente en el sistema de instalación. Difícil hacer algo mas simple! Ademas este sistema de paquetes permite gestionar las dependencias entre las bibliotecas y los útiles.
La distribución RedHat esta compuesta por un conjunto de paquetes (un poco mas de 430) reagrupados por centros de interés (en realidad un árbol de grupos). Encontraras aquí abajo la lista de paquetes por orden alfabético de los grupos que puedes instalar en tu maquina. Los nombres de los grupos están en ingles puesto que así vienen y están en mayúsculas.
La manipulación "directa" de los paquetes (archivos rpm) es detallada en la próxima sección.
Es necesario resaltar que existe un archivo "upgrade" en cual se encuentran los archivos que permiten poner al día (evolución del núcleo y corrección de bogues eventuales) la distribución.
El programa rpm es una verdadera maravilla que permite instalar, suprimir y poner al día los diferentes paquetes instalados en tu maquina sin preocuparse mucho de los problemas de versión, de bibliotecas etc. Aquí no detallaremos todas la opciones de rpm porque en realidad hay muchas ( mira rpm --help para eso o la documentación de Red Hat). Globalmente, rpm funciona de 4 modos :
gandalf # rpm -q -a mailcap-1.0-3 rpm-devel-2.2.5-1 groff-1.10-6Para obtener mas informaciones sobre los diferentes paquetes instalados (numero de versión, cual distribución,...) solo necesitas agregar la opción-l y -i Por ejemplo:
gandalf # rpm -q -i -l rpm-devel Name : rpm-devel Distribution: Red Hat <bf/Linux/ Colgate Versión : 2.2.5 Vendor: Red Hat Software Release : 1 Build Date: Thu Sep 05 23:14:10 1996 Install date: Wed Nov 13 11:30:50 1996 Build Host: porky.redhat.com Group : Development/Libraries Source RPM: rpm-2.2.5-1.src.rpm Size : 136142 Summary : Header files and libraries for programs that manipulate rpm packages Descripción : The RPM packaging system includes a C library that makes it easy to manipulate RPM packages and databases. It is intended to ease the creation of graphical package managers and other tools that need intimate knowledge of RPM packages. /usr/include/rpm /usr/include/rpm/dbindex.h /usr/include/rpm/header.h /usr/include/rpm/messages.h /usr/include/rpm/rpmerr.h /usr/include/rpm/rpmlib.h /usr/lib/librpm.aEstas opciones pueden ser utilizadas sobre un archivo rpm que tu quieras instalar para conocer su contenido : solo necesitas agregar la opción-p :
gandalf # rpm -q -l -p giftrans-1.11.1-4.i386.rpm /usr/bin/giftrans /usr/man/man1/giftrans.1Si le agregas la opción -i , obtendrás las informaciones sobre el paquete.
gandalf# rpm<item>i howto-sgml-4.0-1.i386.rpm
gandalf# rpm<item>e howto-sgml-4.0-1
gandalf# rpm -U howto-sgml-4.0-2.i386.rpmExiste un numero importante de opciones. Consulta la documentación para más información.
Después de estos preliminares, pasemos a las cosas serias. En un primer tiempo, has una salvaguarda de tu disco duro, es lo mas prudente, y pones al lado tuyo un disquete formateado. Luego, apagas tu maquina y metes el disquete de boot.
Nota a propósito del mensaje "BIOS32" que algunos pueden ver durante el arranque : este mensaje significa que tu bus es PCI. Si tu ves el mensaje siguiente : "BIOS32 extended no supported" significa que tu maquina no es PCI. No hay que asustarse y utiliza a pesar de esto el disquete de boot standard. Si la maquina no arranca con el disquete de boot tienes que crear un disquete de boot gracias a un otro soporte; Lee la sección del presente documento reservado a la "signal 11". Antes de lanzarte en la instalación de tu sistema, he aquí algunos trucos y astucias. Linux utiliza un procedimiento que instala tu sistema de manera casi automática. En el caso de la Red Hat , la instalación es realmente simple y progresiva. Solo es necesario seguir las indicaciones. Cuidado con el teclado que qwerty (americano) desde el comienzo. La configuración del teclado en Español se hará mas tarde.
Vas, en un primer tiempo, a necesitar hacer un formatage de tu disco. Tienes que crear por lo menos una partición Linux con el sistema de archivos ext2fs y al menos una partición de swap (la swap es un sistema de memoria virtual, quiere decir que si tu no posees suficiente memoria Ram para hacer funcionar tal o tal programa, el va utilizar el espacio del disco duro como memoria... Esta explicación es un poco simplificada pero es mas o menos así).
Es mucho mas fácil suprimir una partición de swap que crear una después entonces es mejor prevenir. Si quieres utilizar X Window, 8 Mo de memoria viva son absolutamente necesarios.
Los discos bajo Linux son devices. Por ejemplo, el primer disco duro es /dev/hdax, el segundo /dev/hdbx para un controlador IDE. La x corresponde al numero de la partición del disco. Si tu tienes un sistema MS instalado este es seguramente /dev/hda1. Linux te va guiar en su instalación. El te permite instalar tu sistema de manera completa de una sola vez. El único problema, es que si de pronto te equivocas en algo ... tienes que volver a empezar todo. Si tu disco no esta particionado, es el programa fdisk que te va permitir realizar la operación. Su sintaxis es : fdisk /dev/disco. En el caso de Red Hat este se lanza solo. Por ejemplo, si tu quieres instalar Linux en tu segundo disco IDE, escribe fdisk /dev/hdb. Los comandos de fdisk (por orden de utilidad) son :
Ahora, tu debes lanzar el programa setup. Es un programa en colores (esto depende del disquete Root que tu as escogido), con un menú. El formatage de las particiones puede ser efectuado sin problemas. Configura tu partición swap e instala la serie A en la partición. La configuración swap es muy simple a efectuar : escoge la opción swap y sigue las instrucciones. Para instalar la serie A, escoge la opción fuente y escoge la buena opción : disquetes por ejemplo. Enseguida especifica el device necesario para acceder al lector A. Ahora debes especificar las series que quieres instalar. Tienes ahora la lista que aparece. Escoge la serie.
El programa de instalación te pregunta si quieres lanzar la instalación; Responde si. Luego, te pregunta un modo de selección. Escoge Normal. A partir de ahí, te toca jugar a ti. Te va a pedir insertar los disquetes y luego te da la lista de programas a instalar. Buena partida de come disquetes !
También es posible instalarla gracias a un CD ROM que contenga la distribución. Si el lector no es reconocido no es necesario recopiar todos los archivos en disquetes antes de proceder a la instalación. Tienes que copiar todos los archivos de la distribución en una partición MS- DOS y luego relanzar el sistema gracias a los disquetes boot/root, llamar al "setup" e indicarle la partición MS-DOS donde se encuentran los archivos necesarios. Utiliza los menús para efectuar todas estas operaciones. Linux te va a pedir la creación de un disquete de boot. Es este disquete que te va a servir de ahora en adelante para arrancar tu sistema. Tu partición Linux formateada, tus particiones de swap generadas, la serie instalada y tu disquete magico listo, no te falta mas que volver a arrancar. Entonces metes el disquete, calientito, configurado para Linux en el lector y apoyas en las teclas Ctr-Alt-Del.
Nunca apagues bruscamente tu maquina bajo Linux ! En efecto, Linux como todo sistema UNIX, utiliza unos caches disco : perderías informaciones apagando tu maquina. La única manera decente de apagar Linux es hacer ya sea Ctr-Alt-Del o sino siendo root lanza uno de estos comandos : halt, rebbot, shutdown (Mira el man para ver las diferencias).
Una vez que has vuelto a arrancar, entra como root. Pero debes tener mucho cuidado, el usuario root tiene todos los derechos, entre ellos aquel de destruir todo. Esto pasa mas fácilmente y más frecuentemente, que lo que tu te imaginas.
La instalación con RedHat es muy intuitiva. Una vez las particiones realizadas, es suficiente escoger el tipo de instalación deseada y los paquetes que quieres utilizar. Esto realizado, esta distribución va a realizar la instalación completa de manera automática. Puedes ir a tomarte un cafecito mientras que la instalación de tu maquina se hace automáticamente.
boot = /dev/hda # disco en el cual se encuentra el archivo LILO delay = 300 # tiempo de espera, antes del lanzamiento del arranque. # permite seleccionar la partición deseada. vga = normal # modo de la pantalla a escoger. ramdisk = 0 # paranoia setting # <bf/Linux/ : Ultima versión : El Pc arranca aquí por defecto. image = /vmlinuz # Núcleo de <bf/Linux/ 1 (camino completo y nombre del archivo.) root = /dev/hda2 append="no-hlt, aha1542=0x230" label = linux read-only other = /dev/hda1 # Partición 1 : label = dos # texto que identifica el arranque bajo DOS table = /dev/hda # disco : /dev/hda image = /zimage # Núcleo <bf/Linux/ 2 root = /dev/hda2 # Raiz de LINUX (Partición 2 de mi disco) append="aha1542=0x230" # append... ver la explicación mas abajo. label = old # Texto a escribir : old read-only #En este momento, debes tener muchas preguntas:
No te olvides de relanzar LILO luego de cada modificación del archivo de configuración.
El archivo /etc/fstab contiene todas las informaciones que concierne el montaje de tus particiones.
He aquí un ejemplo:
#/etc/fstab # Device Repertoire type options frequence passe # <bf/Linux/ /dev/hda2 / ext2 defaults 5 1 /dev/hdb2 /usr2 ext2 defaults 5 2 /dev/sda2 /usr3 ext2 defaults 10 2 # MS-DOS /dev/hda1 /dos msdos defaults 0 0 /dev/hdb1 /dos2 msdos defaults 0 0 # Processus none /proc proc defaults 0 0 # Partition de swap /dev/hda3 none swap defaults 0 0 # Fichier de swap /usr2/swap_file /usr2 swap defaults 0 0Descripción de las 6 columnas
Para NFS es aconsejable utilizar los siguientes parámetros:
rsize=8192, wsize=8192, sobre todo si tu posees una tarjeta rápida. Para autorizar un usuario a montar un volumen, tienes que crear una linea que contenga la opción "user" Ejemplo (caso de un CD-ROM SCSI) :
/dev/scd0 /mnt/cd iso9660 user,exec,dev,nosuid,ro,noautoCualquier utilizador podrá, a partir de ese momento, montar y desmontar un CD (utilizar mount /mnt/cdrom, umount /mnt/cdrom) La pagina de man de mount, sección 8 (man 8 mount) explica la significación de las opciones posibles.
Como lo hemos visto en el parágrafo precedente, las particiones son montadas al momento del arranque, gracias al archivo /etc/fstab. Tu puedes, mas sin embargo, montarlos manualmente, debes utilizar el comando mount. Por ejemplo, para montar el disquete a:, tu debes hacer: mount -t msdos /dev/fd0 /mnt/floppy.
El -t indica el tipo de soporte. Los mas corrientes son:
El soporte de cuotas disco ha sido integrado en el kernel Linux desde la versión 1.3.46. Necesitas utilizar un kernel posterior para poder beneficiar las cuotas.
Tu necesitas igualmente los útiles de gestión de cuotas y los puedes encontrar en:
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota
o, mas cerca, en :
ftp://ftp.ibp.fr/pub/linux/kernel/sources/subsystems/quota
El archivo que debe recuperar se llama quota-1.51.tar.gz y se encuentra en el subdirectorio utils. También hay un subdirectorio doc que contiene la documentación (principalmente las paginas del manual de los útiles) en formato HTML.
Después de haber extraído el contenido del archivoquota-1.51.tar.gz, necesitas compilarlos. Esto se hace con el comando make. En ciertos casos (depende de tu biblioteca C) puede ser necesario agregar -I a la variable CFLAGS definida en el Makefile.
Si tu utilizas el sistema de archivos ext2 y que tu has instalado las bibliotecas contenidas en e2fsprogs, tu puedes incluir el soporte de ext2fs en los utilitarios de cuotas para acelerar su ejecución. Para esto debes editar el archivo Makefile de manera que la variable CFLAGS contenga-DEXT2_DIRECT y que la variable EXT2LIBS contenga-lext2fs -lcom_err antes de compilar los programas.
Luego de la compilación instala los utilitarios con el comando make install. Cuidado el comando quota es instalado en el directorio /usr/ucb que no existe en la mayoria de las instalaciones Linux, necesitas entonces modificar el Makefile para instalarlo en otro directorio (/usr/bin es un buen lugar). Puede ser necesario igualmente definir la variable LN a el valor ln -sf.
Para utilizar las cuotas el kernel debe ser compilado con el soporte de cuotas. Para esto debes tener un kernel para el cual has respondido "Y" a la pregunta "Quota support". Cuidado, el soporte de cuotas es efectivo por el momento solamente en los sistemas de archivos ext2.
Existen dos tipos de cuotas: las cuotas asociadas a los usuarios y las cuotas asociadas a los grupos de usuarios. Las primeras definen el nombre máximo de archivos y de bloques disco asociados a cada usuario, los segundos definen el numero máximo de archivos asociados a cada grupo de usuarios. Los dos tipos de cuotas pueden ser activadas separadamente.
Para activar las cuotas para los usuarios es necesario indicar la opción usrquota para los sistemas de archivos concernidos en /etc/fstab. Las cuotas que conciernen los grupos son reguladas por la opción grpquota. Los archivos de definición de cuotas se llaman respectivamente quota.user y quota.group y están situados en la raíz de cada sistema de archivos concernido.
Es posible modificar los nombres de los archivos de gestión de cuotas utilizando la sintaxis usrquota=nombre_de_archivo y grpquota=nombre_de_archivo.
He aquí un ejemplo del archivo /etc/fstab:
/dev/hda2 / ext2 defaults,rw 0 1 /dev/hdb2 /home ext2 defaults,rw,usrquota,grpquota 0 1 /dev/sda1 /usr/src ext2 dzfaults,rw,usrquota 0 1La activación de las cuotas es lanzada por el comando quotaon. Para activarlas automáticamente a la inicialización del sistema, debes agregar al archivo de inicialización (/etc/rc.d) las lineas:
# Enable quota /usr/sbin/quotaon -avugPuede ser igualmente necesario verificar la coherencia de las informaciones de gestión de cuotas luego de bloqueos repentinos. Para esto utilice el comando quotacheck:
/usr/sbin/quotacheck -avugSi los utilitarios han sido compilados con-DEXT2_DIRECT, el comando quotacheck debe ejecutarse relativamente r pido, en el caso contrario puede ser muy largo, pues debe explorar todos los directorios del disco. Es aconsejable de todas maneras lanzar el quotacheck a la inicialización del sistema antes de la activación de la cuotas con quotaon :
# Check quota /usr/sbin/quotacheck -avug
El comando edquota es utilizado para afectar una cuota a un usuario o a un grupo de usuarios. Su sintaxis es edquota -u usuario o edquota -g grupo. Este comando lanza un editor de texto que contiene la definición de cuotas atribuidas al usuario o al grupo y toma en cuenta el nuevo valor cuando el archivo es reescrito.
Para cada usuario o grupo existen dos limitaciones: el numero de archivos y el numero de bloques disco (escritos en bloques de 1024 octetos). Para cada uno existe dos limites:
Todo usuario puede obtener el estado de la cuota que han sido atribuidas (limites así como el numero de archivos y de bloques que le han sido atribuidos) gracias al comando quota. El super usuario puede obtener las mismas informaciones sobre todo usuario o grupo con el mismo comando : quota -u usuario o quota -g grupo. Ademas es posible utilizar el comando repquota para obtener una lista de cuotas asociadas a un o varios sistemas de archivos.
La implementación de las cuotas en Linux es compatible con la implementación original en 4.2BSD UNIX. Todos los documentos que conciernen las cuotas con la implementación original 4.2BSD, ya sea a nivel de comandos o a nivel de la interfase de programación son utilizables.
Las paginas del manual de los utilitarios son bastante claras y muy instructivas. En fin, los documentos difundidos en formato HTML forman una buena introducción a la administración de cuotas.
En vez de montar tus particiones MS-DOS, te consejo que utilices los mtools. Se trata de los equivalentes de los comandos MS-DOS, pero con un m adelante. Por ejemplo : mcopy toto.c a: . Si tu quieres copiar un archivo texto para que sea utilizado bajo MS-DOS o lo inverso, no olvides de utilizar la opción-t : esto convierte el carácter de fin de linea que es diferente en los dos sistemas.
En principio, ya vienen mas o menos configurados. Pero en el caso tal, tu debes modificar el archivo /etc/mtools.
drive a: file="/dev/fd0" exclusive drive b: file="/dev/fd1" exclusive # 1er disco Duro drive c: file="/dev/hda1" # 2nd disco Duro drive d: file="/dev/sda1" mtools_lower_case=1Cuidado : el archivo a sido modificado desde la ultima versión. Este es el ultimo formato por lo que es mas claro y simple de utilizar. Ademas, esta nueva versión permite utilizar los nombres largos (vfat de MS-Windows 95).
Para añadir una partición de swap de 8 Mo, tienes que crear primero la partición gracias al programa fdisk, luego, ya sea pasas por el programa setup, ya sea lo haces a la mano : mkswap /dev/hda3 8192 Añade la linea /dev/hda3 swap swap defaults 0 0 en el archivo /etc/fstab.
Finalmente, para que funcione, ya sea re-arrancas tu maquina o sino puedes hacer un swapon -a.
Para el archivo, es mas complicado. Debes hacer un :
dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 mkswap /usr2/swap_file 8192Y agregas en el archivo /etc/fstab la linea /usr2/swap_file /usr2 swap defaults 0 0. Cuidado, debes poner esta linea después del montaje de la partición /usr2. Sino, no funcionara nunca. De ahora en adelante, para salir de Linux estas obligado de hacer :
swapoff -a reboot #O otroEn efecto, si no desactivas el archivo de cambios, Linux no podrá desmontar la partición y por consiguiente hará un fsck sobre ella cada vez que arranques tu maquina. También es posible, con ciertos sistemas, agregar el comando swapoff en "/etc/rc.d/rc.K" Para automatizarlo.
Si posees la RedHat, utiliza el servicio de configuración, esta muy bien hecho realmente.
Agregar un usuario se hace en dos partes y rápidamente : Dos archivos son importantes /etc/passwd y /etc/group.
Una linea del archivo passwd esta compuesta de esta manera :
gandalf::501:100:Eric Dumas:/home/gandalf:/bin/bash sgandalf::0:0:Super Eric Dumas:/:/bin/shUna linea esta compuesta por 7 columnas :
Por ejemplo, el grupo 100 es :
users::100:games,gandalfPara agregar un usuario toto, debes hacer :
mkdir /home/toto cp /etc/skel/* /home/toto chown toto /home/toto chgrp le_groupe_de_toto /home/toto
Te aconsejo mucho mucho trabajar bajo un nombre de usuario común. Es muy peligroso trabajar siendo root. Una mala manipulación y te tocara reinstalar todo ademas de perder tus datos personales mas los de tus usuarios.
Es en este archivo que vas a poner todas tus cositas personales(nt : si, soy de suramerica :-)) que quieres lanzar a cada arranque. He aquí una versión.
#! /bin/sh # una limpiadita,.dale echo "Cleaning /tmp... " /bin/rm -fr /tmp mkdir /tmp chmod 1777 /tmp # NOTA : esto puede ser nefasto puesto que ciertos programas lanzados # por los archivos rc ejecutados antes del rc.local pueden utilizar archivos en /tmp # Viva el azertyuiop :-) echo "Loading french keyboard... " /usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.mapLo que es importante es el teclado en francés Si tu agregas esta linea, tu teclado será francés desde el arranque. En caso de problema tienes que modificar así el fr-latin1.map :
keycode 3 = eacute two asciitilde keycode 8 = egrave seven grave keycode 10 = ccedilla nine asciicircum keycode 14 = Delete BackSpaceAdemas del teclado, yo limpio el directorio /tmp. Esto puede ser útil.
La crontab es una tabla que contiene los comandos que deben ser lanzados a intervalos regulares. Tu puedes poner la salvaguarda diaria, el cliente pop, etc.
El formato es bastante simple :
# hacer una salvaguarda todos los lunes a las 2 de la mañana 0 2 * * 1 /home/gandalf/backup # Arrancar la maquina todos 1 y 15 de cada mes a la 4:15 15 4 1,15 * * /sbin/shutdown<item>r +3Las 5 primeras columnas son :
Todo usuario puede crearse una crontab gracias al comando crontab.
Ahora que tu maquina funciona, veamos como imprimir. Las impresoras son administradas por el programa lpc y el demon lpd
El demon debe ser lanzado al arranque. Y puede ser lanzado ya sea por rc.M o por rc.inetd2. Normalmente, lpd es lanzado al arranque. (Tu debes verlo cuando son lanzados todos los demons de tu maquina. Si no es el caso, necesitas quitar los comentarios a algunas lineas en uno de los archivos citados)
Supongamos que tu impresora se llame betty. En un primer tiempo, en el archivo /etc/rc.d/rc.local, agrega :
echo "Setting up printer betty" /usr/sbin/lpc up bettyPasemos a las cosas serias. El archivo en el cual va a ser descrita tu impresora es el archivo : /etc/printcap Ej :
betty|lp:lp=/dev/lp1:sd=/var/spool/lp1:sh:lf=/var/adm/lpd-errs:of=/etc/start-dj500:La primera columna representa el nombre de la impresora. Yo puse betty y lp de esta manera es mi impresora por defecto. En seguida, la configuración se hace vía palabras clave. Para mas información has un man printcap. He aquí mas sin embargo una descripción de aquellas utilizadas.
El demon va en seguida enviar el archivo al programa filtro. Este sistema permite imprimir archivos con formatos varios.
He aquí el archivo filtro (Para HP-500,510,520,etc).
#!/bin/sh # Script de impresión para impresora HP-500 Blanco y negro # # Eric.Dumas@freenix.fr # # Versión 2.0 # # 5/01/95 (ED) : Agrega el formato dvi; # 27/10/95 (ED) : Conversión de archivos texto en archivos PostScript ; # 01/11/95 (ED) : Un poco de limpieza; # 12/08/96 (ED) : modificación para gs # 04/12/96 (ED) : algunas correcciones y complementos. TmpDir=/tmp TmpFile=$TmpDir/deskjet.$$ # Usuario a prevenir en caso de error NOTIFY=lp-owner # Programas CAT=/bin/cat DVIPS=/usr/TeX/bin/dvips PGS=/usr/bin/gs AIIPS=/usr/local/bin/a2ps # Camino de acceso para GS GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts:/usr/lib/ghostscript/Type1: /usr/lib/ghostscript/fonts # Se fue esto ! $CAT- > $TmpFile echo -ne '\033E' set -- `file $TmpFile` shift FileType=$* # Transformación del PostScript al formato Deskjet500 # resolución a 300x300<item> formato a4 GS="$PGS -I$GS_LIB -q -sDEVICE=djet500 -r300x300 -sPAPERSIZE=a4 -dNOPAUSE - sOutputFile=- - /usr/lib/ghostscript/quit.ps || echo -ne '\033&10H'" case $FileType in *DVI*) # Fichier DVI $DVIPS -t a4 $TmpFile \ -f | $GS ;; *PostScript*) # Impresión de archivos Postscript $CAT $TmpFile | $GS ;; *text*|*script*) $CAT $TmpFile | $AIIPS -nP -r -8 | $GS ;; *data*) echo -ne '\033&;k0G' # Es un y comercial sin ; ! /bin/cat $TmpFile ;; *) echo "Deskjet: Unknow filetype $FileType" >> /dev/console echo "Deskjet: $TmpFile Unknow filetype $FileType " | mail $NOTIFY ;; esac /bin/rm -f $ TmpFile echo -ne '\033E'Este script permite imprimir los archivos texto así como los archivos Postscript, dvi. Si tu quieres imprimir otro tipo de archivo, solo agrégalo aquí. Gracias por enviarme las modificaciones : esto permitirá que todo el mundo pueda aprovecharlo.
Timezone es un sistema muy útil que permite la administración del cambio de hora de invierno y de verano. Francia se encuentra en una zona horaria : MET (Medium European Time, o sea GMT +1).
La zona "MET DST" corresponde a la hora de verano activa (GMT+2) Lo mejor es no dejar todo eso a cargo de la única variable TZ.
Ve al directorio /usr/lib/zoneinfo y te aconsejo leerte el archivo time.doc. Los archivos binarios que se encuentran en /usr/lib/zoneinfo indican las reglas de calculo de la hora en las diferentes zonas del globo.
Copia el archivo "MET" bajo el nombre /usr/lib/zoneinfo/localtime, haz un enlace simbólico de este archivo sobre /usr/lib/zoneinfo/posixrules.
Comandos :
# cd /usr/lib/zoneinfo # cp MET localtime # ln -sf localtime posixrulesUtiliza en seguida el comando clock para poner el sistema a la buena hora. Dos posibilidades :
Si la CMOS esta a la hora local, el comando en /etc/rc.d/rc.local es : clock -s y los cambios de hora solo serán automáticos si la maquina esta prendida al momento del cambio de hora. Te toca a ti escribir la nueva hora en la CMOS manualmente, haciendo clock -w o poniendo la hora con el setup.
El comando date permite verificar la validez de la hora : da la hora y timezone date -u da siempre la hora en GMT :
plux:/home/rene $ date Tue Sep 28 20:16:46 MET 1993 plux:/home/rene $ date -u Tue Sep 28 19:16:49 GMT 1993(En verano, "MET DST" (Daylight Savings Time) seria indicado).
Parece que este año, la fecha del cambio de hora a sido desplazada. Para que Linux no se enrede, es necesario hacer ciertas modificaciones. La manipulación se basa en la utilización del programa zic, el time zone compiler.
En un fichero llamado europa, pon :
Zone MET 1:00 M-Eur MET%s Link localtime MET Rule M-Eur 1986 max - Mar lastSun 2:00s 1:00 " DST" Rule M-Eur 1986 1995 - Sep lastSun 2:00s 0 - Rule M-Eur 1996 max - Oct lastSun 2:00s 0Para poner todo en su lugar, lanza la instrucción :
gandalf# zic europePara 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 instalas el paquete GNU "find", ademas del programa de búsqueda se encuentra un programa de localización locate. Este programa permite encontrar el nombre completo de un archivo. El programa se encuentra en ciertas distribuciones en /usr/lib/locate.
Lanzar, siendo root,/usr/lib/locate/updatedb. Esto llama un find ~/ sobre los discos montados y coloca los nombres de todos los archivos (bajo la forma hash) en /usr/lib/locate/find.codes. El programa locate permite localizar luego uno de estos archivos.
Nota: cuando lances este programa, piensa en desmontar las particiones de MS-DOS y tu CD/ROM !
Otra solución bastante agradable consiste en insertar en la crontab la linea updatedb --prunepaths='/tmp /usr/tmp /var/tmp /proc /users /root /dos /mnt /var/adm /var/spool /var/catman /home ' Este comando realiza la actualización del árbol sin los archivos temporales, el árbol del usuario, la partición dos, etc.
Es aconsejable excluir las particiones "HOMES" usuarios. En efecto, estas particiones contienen normalmente numerosos archivos. Pero el problema mayor es seguramente un problema de seguridad, porque todos los usuarios pueden conocer los nombres de los archivos de sus vecinos.
En este caso, es necesario que crees los dispositivos en /dev . Lanza MAKEDEV.ide1 en el repertorio /usr/src/linux/drivers/block. Luego, es suficiente hacer un fdisk /dev/hdc por ejemplo.
Bueno, los cdrom en general no presentan muchos problemas, salvo los ATAPI. En efecto, el CD esta manejado sobre un segundo controlador disco. Procedamos en orden:
Algunos usuarios pueden querer poner como consola un minitel o un viejo vt100 que no pasa sobre la tarjeta de video sino sobre el puerto serie. Solo hace falta agregar en el fichero lilo.conf la siguiente linea:
append ="scon=0x03f8 serial=0,9600n8"
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 de o de los archivos es especifico del interpretador de comandos utilizado.
En el caso de bash, es un poco complicado. Según la pagina del manual de bash, y luego de una conexión interactiva, ejecuta:
En el caso de ksh, la pagina del manual es menos precisa pero un estudio rápido del código inicial muestra que:
Como todo sistema UNIX, Linux provee las herramientas standard para realizar los archivos de seguridad de los discos.
Dos tipos de herramientas principales son actualmente utilizadas.
Las herramientas dump y restore fueron puestas bajo Linux por Remy Card. Actualmente, no se proveen en la Slackware. Las fuentes se deben recuperar entonces en
ftp.ibp.fr:/pub/linux/tsx-11/packages/ext2Una vez que las fuentes han sido compiladas e instaladas, la utilización de dump y restore es relativamente simple. Para realizar la salvaguarda de una partición /dev/sda1 sur /dev/rmt0, por ejemplo es suficiente hacer:
gandalf# dump 0sfu 3600 /dev/rmt0 /dev/sda1 gandalf# dump 0sfu ondee: /dev/rmt0 /dev/sda1El segundo comando permite salvaguardar un disco sobre un dispositivo distante (por ejemplo situado aquí sobre la maquina "ondee"). Las opciones de dump pueden parecer complejas. A continuación damos una corta descripción:
Existen dos maneras de efectuar una restauración : en linea de comando o en modo llamado " interactivo ". El segundo modo es mas simple para las restauraciones parciales. El primero es sobre todo utilizado para las restauraciones completas.
Para restaurar la banda en modo interactivo es suficiente hacer:
gandalf# restore -if /dev/rmt0 gandalf# restore -if ondee:/dev/rmt0En este caso, un mimi-interpretador de comandos es lanzado. Utiliza el comando help para mas detalles.
Para restaurar completamente una banda, lanza:
gandalf# restore rf /dev/rmt0Nota importante: para la utilización de dump y restore a través de una red (salvaguarda sobre dispositivos distantes), debes utilizar los archivos .rhosts. En el siguiente ejemplo de salvaguarda, la maquina "ondee" debe tener:
#cat ~root/.rhosts gandalf #El uso de dispositivos distantes necesita igualmente la presencia de un programa rmt sobre la maquina que maneja los dispositivos de salvaguarda. Este programa esta incluido en la distribución fuente de dump para Linux.
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 tar exclusivamente para efectuar sus salvaguardas, cada cual escoge. .
Para configurar la tecla Num Lock al arranque (por ejemplo para que ella se encienda) solo tienes que poner en tu /etc/rc.d/rc.local
for tty in /dev/tty[1-9]*; do setleds -D +num < $tty > /dev/null done
El sistema de accounting esta implementado en Linux (pero ... yo nunca lo he ensayado porque es un poco Big Brother is Watching You). Normalmente debes compilar el paquete acct-1.3.73.tar.gz y seguir las instrucciones que son dadas ahí. Lo puedes encontrar en : ftp.ibp.fr:/pub/linux/sunsite/system/Admin/accounts y en ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting/ Ten cuidado pues debes tener un núcleo 1.3.* o uno 2.0.* He aquí el resultado :
# lastcomm | more Command Flags User Tty PagFlt Time Endtime clear - merlin ttyp2 85 0.00 secs Tue Aug 6 13:26:07 in.identd - root __ 100 0.00 secs Tue Aug 6 13:23:23 color-ls - merlin ttyp2 121 0.01 secs Tue Aug 6 13:23:02 telnet - merlin ttyp2 142 2.77 secs Tue Aug 6 13:23:01 Pnews F merlin ttyp3 33 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 132 0.02 secs Tue Aug 6 13:22:15 Pnews F merlin ttyp3 34 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 145 0.02 secs Tue Aug 6 13:22:15 cat - merlin ttyp3 80 0.01 secs Tue Aug 6 13:22:13 Pnews F merlin ttyp3 29 0.00 secs Tue Aug 6 13:22:13Hay que tener cuidado puesto que este sistema tiene tendencia a tomar mucho lugar. La solución para resolver este proclame es lanzar el sistema de accounting de esta manera :
# Lanzamiento del accounting accton /var/log/acct accttrim -n 2000 /var/log/acct 2> /dev/null
Ahora que todo funciona bien, pasamos a otro gran pedazo : la instalación de X Window. Para poder utilizar X Window, es necesario tener una configuración razonable (al menos 8Mo de memoria). En caso contrario, la maquina será muy lenta: se va a pasar el tiempo en "swapping".
En un primer tiempo, instala con la ayuda de tu distribución el servidor que corresponda mejor a tu carta gráfica.
El problema con X Window, es configurar el archivo. Se trata del archivo XF86Config. Cuidado: este archivo es fuertemente diferente de la versión antigua de XFree86 2. Se trata aquí de un servidor XFree86 3.2, basado en X11R6. Antes de comenzar a construir tu archivo, lanza el programa SuperProbe. En mi caso, esto me permite obtener las siguientes informaciones. (Si yo se que es una tarjeta video super vieja... pero bueno, hay le damos con lo que tenemos !) :
First video: Super-VGA Chipset: Cirrus CL-GD5428 Memory: 1024 Kbytes RAMDAC: Cirrus Logic Built-in 15/16/24-bit DAC (with 6-bit wide lookup tables (or in 6-bit mode))Ahora, sigue lo mas duro : construir el archivo de configuración. Atención: en ciertas distribuciones, el archivo XF86config esta en el repertorio /etc, lo cual es una buena idea en el caso de una red de estaciones Linux que comparten /usr por NFS. Si utilizas una o varias maquinas independientes, puedes suprimir /etc/XF86config y utilizar /usr/X11R6/lib/X11/XF86Config.
Este archivo se presenta en forma de secciones. He aquí una descripción:
Secction "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/xtel/" EndSectionEn esta sección no tienes gran cosa que modificar. Agregas o suprimes los caminos de las fonts 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
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 tu carta lo permite, puedes agregar otras subsecciones para el display:
Subsection "Display" Depth 32 Modes "640x480" ViewPort 0 0 Virtual 800 600 EndSubsectionEn este caso, tu servidor funcionara en 16 millones de colores. La configuración del servidor X puede ser muy rápida (funciona inmediatamente), o muy larga. En el segundo caso, te doy algunos consejos:
Pasamos ahora al teclado francés bajo X Window. Como XFree fue concebido por personas que utilizan teclados americanos (qwertyiop), la configuración del teclado puede parecer bastante complicada. Te recomiendo seguir lo que sigue...
Primero, debes tener en el archivo XF86Config las siguientes opciones:
LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLockLuego, pones el siguiente archivo en el repertorio /usr/X11R6/lib/X11/xinit. Debe llamarse .Xmodmap. El archivo que sigue fue hecho por Rene Cougnenc. Hoy en dia es el que yo utilizo. y pienso que es dificil hacer algo mejor. Funciona bajo XFree86 3.2.
! teclado francés AZERTYUIOP para XFree86 3.2 ! ! Los acentos circunflejos de las principales vocales se obtienen con ! la tecla Mode_switch (ALT_GR). ! ! Los dos puntos se obtienen con ALT_GR + SHIFT, sobre 'e', 'i', 'o', y 'u'. ! ! Esperemos que un día podremos obtener el teclado francés standard sobre ! el cual todo el mundo aprenda a teclear... !<item>---------------------------------------------------------------------- ! keycode 9 = Escape keycode 10 = ampersand 1 keycode 11 = eacute 2 asciitilde keycode 12 = quotedbl 3 numbersign keycode 13 = apostrophe 4 braceleft keycode 14 = parenleft 5 bracketleft keycode 15 = minus 6 bar keycode 16 = egrave 7 grave keycode 17 = underscore 8 backslash keycode 18 = ccedilla 9 asciicircum keycode 19 = agrave 0 at keycode 20 = parenright degree bracketright keycode 21 = equal plus braceright keycode 22 = BackSpace keycode 23 = Tab keycode 24 = a A acircumflex keycode 25 = Z keycode 26 = e E ecircumflex ediaeresis keycode 27 = R keycode 28 = T keycode 29 = Y keycode 30 = u U ucircumflex udiaeresis keycode 31 = i I icircumflex idiaeresis keycode 32 = o O ocircumflex keycode 33 = P keycode 34 = dead_circumflex dead_diaeresis keycode 35 = dollar sterling keycode 36 = Return keycode 37 = Control_L keycode 38 = Q keycode 39 = S keycode 40 = D keycode 41 = F keycode 42 = G keycode 43 = H keycode 44 = J keycode 45 = K keycode 46 = L keycode 47 = M keycode 48 = ugrave percent keycode 49 = guillemotleft guillemotright keycode 50 = Shift_L keycode 51 = asterisk mu keycode 52 = W keycode 53 = X keycode 54 = C keycode 55 = V keycode 56 = B keycode 57 = N keycode 58 = comma question keycode 59 = semicolon period keycode 60 = colon slash keycode 61 = exclam slash keycode 62 = Shift_R keycode 63 = asterisk keycode 64 = Alt_L keycode 65 = space keycode 66 = Caps_Lock keycode 67 = F1 keycode 68 = F2 keycode 69 = F3 keycode 70 = F4 keycode 71 = F5 keycode 72 = F6 keycode 73 = F7 keycode 74 = F8 keycode 75 = F9 keycode 76 = F10 keycode 77 = Num_Lock keycode 78 = Scroll_Lock keycode 79 = 7 keycode 80 = 8 keycode 81 = 9 keycode 82 = KP_Subtract keycode 83 = 4 keycode 84 = 5 keycode 85 = 6 keycode 86 = KP_Add keycode 87 = 1 keycode 88 = 2 keycode 89 = 3 keycode 90 = 0 keycode 91 = period keycode 92 = 0x1007ff00 keycode 93 = keycode 94 = less greater keycode 95 = F11 keycode 96 = F12 keycode 97 = Home keycode 98 = Up keycode 99 = Prior keycode 100 = Left keycode 101 = Begin keycode 102 = Right keycode 103 = End keycode 104 = Down keycode 105 = Next keycode 106 = Insert keycode 107 = Delete keycode 108 = KP_Enter keycode 109 = Control_R keycode 110 = Pause keycode 111 = Print keycode 112 = KP_Divide keycode 113 = Mode_switch keycode 114 = Break ! Nuevos valores para el teclado numérico a partir de XFree 3.1.1 !keycode 147 = Home !keycode 148 = Up !keycode 149 = Prior !keycode 150 = Left !keycode 152 = Right !keycode 153 = End !keycode 154 = Down !keycode 155 = Next !keycode 156 = Insert !keycode 157 = Delete !keycode 136 = 7 !keycode 137 = 8 !keycode 138 = 9 keycode 82 = KP_Subtract !keycode 139 = 4 !keycode 140 = 5 !keycode 141 = 6 !keycode 86 = KP_Add !keycode 142 = 1 !keycode 143 = 2 !keycode 144 = 3 !keycode 145 = 0 !keycode 146 = period !-----------------------------------------------------------------------Los caracteres " y " se obtienen respectivamente presionando la tecla donde hay un un dos pequeño para " y Shift + dos para ".
Nota: Personalmente, utilizo la primera solución sin ningún problema... Si llegas a tener algún problema, ensaya esta otra.
Esta solución viene de Michel Billaud. Bueno, partimos de la constatación de que las teclas acento grave (ALT-4) y acento agudo (ALT 7) son difíciles de utilizar : si son mudas hay que doblarlas la mayor parte del tiempo, si no lo son no se pueden acentuar las E A U etc.
Entonces, es necesario que ALT 4 y ALT 7 produzcan verdaderos acentos agudos y apóstrofes. De todas formas, nos hacen falta teclas mudas (además). Será necesario modificar el "map" del teclado.
Entonces se debe hacer:
También se puede poner una "tilde muda" en el 2 superior y una "tilde dura" (indispensable para un shellista) en ALT-2.
id:5:initdefault: #id:6:initdefault:por
#id:5:initdefault: id:6:initdefault:Pero cuidado ! Ciertas distribuciones utilizan el nivel 6 para rearrancar. Lo mas simple es mirar en el repertorio /etc/rc.d si el archivo rc.6 lanza el xdm.
Para lanzar xdm en 16 o 32 bits, hay que modificar el archivo /usr/X11/lib/X11/xdm y poner :
:0 local /usr/X11/bin/X -bpp 16 (o 32)
Para poder arrancar varias sesiones X en diferentes consolas sin tener que especificar el "display" a utilizar, agrega al fin del archivo startx :
CONSOLE=`tty` CONSOLE=`basename $CONSOLE` CONSOLE=`echo $CONSOLE | sed s/tty//` CONSOLE=`expr $CONSOLE<item> 1` echo <sq>Starting X on display <sq>$CONSOLE exec xinit $clientargs -- $serverargs :$CONSOLE
Es común que los errores salgan en la ventana virtual texto a partir de la cual tu as lanzado el servidor. Una solución consiste en lanzar el servidor de esta manera :
xinit > /dev/console 2>&1Si utilizas la Slackware, solo tienes que editar el script startx y remplazar la linea :
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 :
Section "Module" Load "xf86Wacom.so" Load "xf86Elo.so" Load "xf86Jstk.so" EndSectionXfree busca los módulos en un repertorio predefinido : /usr/X11R6/lib/modules o en un camino especificado en la sección "Files" :
Section "Files" ModulePath "/usr/X11R6/lib/,/usr/X11R6/lib/modules/" ModulePath "/usr/X11R6/bin" 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 pagina del manual de XF86Config para mas detalles. Un dispositivo se activa solamente si posee una sub-sección. El siguiente ejemplo activa un joystick y una mesa :
Section "XInput" SubSection "Joystick" Port "/dev/js0" Timeout 20 MinimumXPosition 28 MaximumXPosition 1206 MinimumYPosition 27 MaximumYPosition 1239 Delta 20 EndSubsection SubSection "WacomStylus" Port "/dev/ttyS2" EndSubsection EndSectionEn seguida el servidor puede emitir los eventos extendidos o bien bascular un dispositivo en core pointer. Dos programas existen para manipular los dispositivos extendidos :
Una pregunta que hacen muy seguido : Yo no se porque bajo Xfree86, a veces no puedo mover las ventanas, no tengo acceso a los botones ni a los menús (salvo aquellos de las ventanas sistemas)?. La solución es muy simple : desbloquear "Scroll Lock" !
El principio es dar una clave de identificación, en hexadecimal con un numero par de caracteres.
Lanza xauth y haz :
add MaMachine:0 MIT-MAGIC-COOKIE-1 MiCodigo add MaMachine/unix:0 MIT-MAGIC-COOKIE-1 MiCodigoPara la maquina, es en realidad "hostname:NoDisplay". Una vez lanzado, tu servidor X prohibe toda conexión, salvo si la aplicación :
Nota : ciertas versiones obligan lanzar el servidor X con el comando :
xinit -- -auth $HOME/.Xauthority
Solo xdm asegura un control de sección X Window correcto. La directiva DontZap, en la sección ServerFlags del archivo de configuración de Xfree86 limita las posibilidades de equivocarse. Para prohibirle, a los malintencionados, la utilización de las teclas de "bascula" de las consolas virtuales (Alt-F1, ALT-F2 ...) solo tienes que poner en /etc/profile la linea siguiente :
alias x='(startx >/dev/null &);clear;logout'Y luego invocar x en lugar de startx.
La distribución Slackware contiene ciertas fallas. Tu puedes consultar la lista en la siguiente dirección :
http://bach.cis.temple.edu/pub/linux/linux-security/Linux es, de manera general, muy solido porque toda falla descubierta es inmediatamente referenciada y corregida...Es la ventaja de las fuentes publicas. Mas sin embargo, ciertas fallas importantes existen en las distribuciones y es muy importante corregirlas. Un documento WEB propone una lista de problemas :
http://bach.cis.temple.edu/pub/linux/linux-security/<bf/Linux/-Security-FAQ/
Una solución para evitar las conexiones externas es utilizar TCP/Wrappers. Es muy muy recomendado recompilarlo !
La instalación es bastante intuitiva. En resumen, solo necesitas indicar el nombre de las maquinas autorizadas en el archivo /etc/hosts.allow y las maquinas prohibidas en /etc/hosts.deny. Puedes permitir el envío de correo cuando una maquina intente conectarse aunque haga parte de las maquinas impedidas, poniendo en el archivo /etc/hosts.deny :
wu.ftpd: ALL: twist = /usr/sbin/real-daemon-dir/safe_finger -l @%h | /bin/mail -s %d-%h root(En una sola linea :-)).
Si quieres mas detalles, puedes leer el siguiente documento : ftp.win.tue.nl:/pub/security/tcp_wrapper.ps.Z.
En Francia, el servidor ftp.urec.fr contiene numerosos utilitarios relativos a la seguridad en informática.
Dos listas de difusión consagradas a la difusión de informaciones relacionadas con los problemas de seguridad bajo Linux : linux-security@tarsier.cv.nrao.edu y linux-alert@tarsier.cv.nrao.edu
Linux maneja sin ningún problema las maquinas basadas sobre procesadores Pentium. Para optimizar un poco la compilación, es suficiente especificar Pentium al momento de la recompilación del núcleo. Existe mas sin embargo un gcc especializado para Pentium, que esta en desarrollo.
Consulta la pagina http://www.goof.com/pcg para mas información.
A la pregunta,Existe una opción de gcc -mpentium, Laurent Chemla nos indica que la respuesta es no ! en efecto, las versiones patchees de gcc que manejan la optimizacion pentium tiene bugs, y de todas formas la optimizacion mas importante (95% de ganancia constante) que estas contienen esta presente en gcc 2.7 por defecto (alineamiento sobre 64 bits casi en todas partes).
Por tanto, para un pentium, gcc 2.7 causa 15% de ganancia con respecto a las versiones anteriores. Esta ha sido constatada personalmente, yo me puedo equivocar, sin haber leído nunca esto en ninguna parte de manera oficial. Parece también, según algunos que se obtiene una ligera ganancia utilizando m386 en lugar de m486 sobre un pentium. Es posible...
Lo anterior fue afirmado por un grupo de voluntarios trabajando sobre las optimizaciones de gcc para procesadores Pentium. Información adicional esta disponible sobre http://www- iss.mach.uni-karlsruhe.de/pcg/.
En lo relativo al manejo optimado de los buses PCI, solamente los núcleos
llamados de "desarrollo" lo hacen (v1.3 actualmente)... Sin embargo cuidado:
estos núcleos tienen frecuentemente bugs!
Esta sección es inspirada de Kernel HowTo (ward@blah.tu-graz.ac.at).
Los nuevos fuentes del núcleo Linux pueden ser recuperados sobre ftp.ibp.fr en el directorio /pub/linux/kernel/sources/v2.0 para las versiones "estables". Es un sitio mirror de ftp.funet.fi
Existe otro directorio: v2.1 : se trata de la versión de desarrollo. No aconsejo instalarla: ya que es la versión en curso de desarrollo; pueden ser estables pero es igualmente posible que estén completamente llenos de bugs. Utilizándolos, se corre el riesgo de perder datos en tu maquina. Los fuentes se instalan normalmente en el directorio /usr/src/linux. La compilación es muy simple pero algunos puntos deben ser seguidos muy escrupulosamente:
# 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 posesionar los lazos simbólicos, pero no hay que olvidarlo.
* * Code maturity level options * prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?] *Esta opción permite especificar si deseas tener ciertas opciones particulares. Las opciones así propuestas pueden acarrear la inclusión de dispositivos que no han llegado a su madurez completa. Mas sin embargo si deseas utilizar los módulos cargables con kerneld responde Y.
* * Loadable module support * Enable loadable module support (CONFIG_MODULES) [Y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?] Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [N/y/?]Esta parte es especifica a los módulos cargables. Si no sabe utilizarlos, es preferible colocar las opciones por defecto. Para responder a las preguntas, hay tres soluciones: ya sea la opción por defecto (letra en mayúscula) es de por si la adecuada, sino, es suficiente con darle la opción escogida. Si no sabe a que corresponde esta opción, escriba ? Una breve descripción aparecerá entonces. En este caso voy a utilizar los módulos cargables con el sistema de cargamento automático.
* * General setup * Kernel math emulation (CONFIG_MATH_EMULATION) [N/y/?] Networking support (CONFIG_NET) [Y/n/?] Limit memory to low 16MB (CONFIG_MAX_16M) [N/y/?] PCI bios support (CONFIG_PCI) [N/y/?] System V IPC (CONFIG_SYSVIPC) [Y/n/?] Kernel support for a.out binaries (CONFIG_BINFMT_AOUT) [Y/m/n/?] Kernel support for ELF binaries (CONFIG_BINFMT_ELF) [Y/m/n/?] Kernel support for JAVA binaries (CONFIG_BINFMT_JAVA) [N/y/m/?] Compile kernel as ELF<item> if your GCC is ELF-GCC (CONFIG_KERNEL_ELF) [Y/n/?] Processor type (386, 486, Pentium, PPro) [486] defined CONFIG_M486La primera opción es necesaria cuando no se dispone de un procesador aritmético. Yo aconsejo fuertemente imitar estas opciones. Claro esta, que si dispone de una maquina con PCI y diferente de 486, basta con dar las características reales de su maquina. En cuanto al formato de los ejecutables lo mejor es activar al menos los formatos ELF y a.out
* * Floppy, IDE, and other block devices * Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?] Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]Yo le pido administrar mi lector de disquetes como modulo cargable, y de manera general, yo activo el soporte IDE.
* * Please see drivers/block/README.ide for help/info on IDE drives * Use old disk-only driver on primary interface (CONFIG_BLK_DEV_HD_IDE) [N/y/?] Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [N/y/?] Include IDE/ATAPI TAPE support (CONFIG_BLK_DEV_IDETAPE) [N/y/?] Support removeable IDE interfaces (PCMCIA) (CONFIG_BLK_DEV_IDE_PCMCIA)[N/y/?] CMD640 chipset bugfix/support (CONFIG_BLK_DEV_CMD640) [Y/n/?] Other IDE chipset support (CONFIG_IDE_CHIPSETS) [N/y/?]Si se dispone de material ATAPI, hay que indicarlo acá. Lo mismo si se tiene una interfase PCMCIA. Nótese bien que Linux propone ciertas opciones particulares para algunos controladores IDE conocidos por que tienen bugs. Si este es su caso, no lo dudes y selecciona la opción.
* * Additional Block Devices * Loopback device support (CONFIG_BLK_DEV_LOOP) [N/y/m/?] Multiple devices driver support (CONFIG_BLK_DEV_MD) [N/y/?] RAM disk support (CONFIG_BLK_DEV_RAM) [N/y/m/?] XT harddisk support (CONFIG_BLK_DEV_XD) [N/y/m/?]A menos que sepa exactamente lo que hace, es mejor no modificar. Bueno, pasemos a las redes !
* * Networking options * Network firewalls (CONFIG_FIREWALL) [N/y/?] Network aliasing (CONFIG_NET_ALIAS) [N/y/?] TCP/IP networking (CONFIG_INET) [Y/n/?] IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [N/y/?] IP: multicasting (CONFIG_IP_MULTICAST) [N/y/?] IP: accounting (CONFIG_IP_ACCT) [Y/n/?]De manera general, es aconsejable activar Tcp/Ip, aunque no estés conectado a una red (ciertas aplicaciones lo necesitan). Lo demás depende de tu maquina. Paso las dos series que siguen para redes.
* * SCSI support * etc...etc : Para el SCSI. Lista de tarjetas SCSI manejadas... escoger la adecuada (varias si es necesario). * * Network device support * Network device support (CONFIG_NETDEVICES) [Y/n/?] Dummy net driver support (CONFIG_DUMMY) [M/n/y/?] EQL (serial line load balancing) support (CONFIG_EQUALIZER) [N/y/m/?] Frame relay DLCI support (EXPERIMENTAL) (CONFIG_DLCI) [N/y/m/?] SLIP (serial line) support (CONFIG_SLIP) [N/y/m/?] PPP (point-to-point) support (CONFIG_PPP) [Y/m/n/?]Lista de las posibilidades de red... no olvidar de colocar PPP o SLIP si es necesario. En seguida vienen las tarjetas en si. No son detalladas aquí.
* * ISDN subsystem * ISDN support (CONFIG_ISDN) [N/y/m/?]Soporte de tarjetas ISDN. A menos de tener alguna de estas, no activar la opción.
* * CD-ROM drivers (not for SCSI or IDE/ATAPI drives) * Suport non-SCSI/IDE/ATAPI CDROM drives (CONFIG_CD_NO_IDESCSI) [N/y/?]Para los CDROM Sony CDU31A/CDU33A, Matsushita/Panasonic/Creative, etc. En resumen, los CD conectados sobre la tarjeta de sonido por ejemplo.
* * Filesystems * Quota support (CONFIG_QUOTA) [Y/n/?] Mandatory lock support (CONFIG_LOCK_MANDATORY) [N/y/?] Minix fs support (CONFIG_MINIX_FS) [M/n/y/?] Extended fs support (CONFIG_EXT_FS) [N/y/m/?] Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] xiafs filesystem support (CONFIG_XIA_FS) [N/y/m/?] DOS FAT fs support (CONFIG_FAT_FS) [M/n/y/?] MSDOS fs support (CONFIG_MSDOS_FS) [M/n/?] VFAT (MS-Windows-95) fs support (CONFIG_VFAT_FS) [M/n/?] umsdos: Unix like fs on top of std MSDOS FAT fs (CONFIG_UMSDOS_FS) [N/m/?] /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] NFS filesystem support (CONFIG_NFS_FS) [M/n/y/?] SMB filesystem support (to mount WfW shares etc..) (CONFIG_SMB_FS) [N/y/m/?] ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [M/n/y/?] OS/2 HPFS filesystem support (read only) (CONFIG_HPFS_FS) [N/y/m/?] System V and Coherent filesystem support (CONFIG_SYSV_FS) [N/y/m/?] Amiga FFS filesystem support (EXPERIMENTAL) (CONFIG_AFFS_FS) [N/y/m/?] UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?]Se trata de configurar la lista de los manejadores de archivos comandados por Linux. Es indispensable Tener ext2fs. Es muy recomendable de incluir aquí el soporte /proc. SMB es usado para acceder a los recursos compartidos de Windows For Workgroup. Desde ahora, existen dos formatos para Ms-Dos : el formato standard y el formato extendido que utiliza Windows95 (VFAT). Si se tiene un CD-Rom, seria bueno incluir el soporte ISO9660. Finalmente, si se desean utilizar las cuotas, responda Y en la primera opción.
* * character devices *Soporte para el puerto paralelo y para diversos ratones. No olvides activar tu impresora si esta esta conectada al puerto paralelo.
* * Sound *Pasemos a la tarjeta de sonido ! Me voy a limitar a la SoundBlaster 16. Es la que yo tengo y permite dar un ejemplo. Solo las opciones que hay que modificar están aquí presentes. En realidad, Linux maneja muchas otras tarjetas de sonido.
Sound card support (CONFIG_SOUND) [M/n/y/?] Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?] /dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?] MIDI interface support (CONFIG_MIDI) [Y/n/?] FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?] I/O base for SB Check from manual of the card (SBC_BASE) [260] Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5] Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1] Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5] MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card (SB_MPU_BASE) [330] SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1] Audio DMA buffer size 4096, 16384, 32768 or 65536 (DSP_BUFFSIZE) [65536] * * Kernel hacking * Kernel profiling support (CONFIG_PROFILE) [N/y]Es muy recomendable poner esta opción en N.
En Linux y más generalmente en UNIX, las entradas/salidas sobre un dispositivo se hacen gracias a los archivos situados en el directorio /dev/. Cada uno de ellos se identifica por un nombre (por ejemplo, hda para el primer disco duro del controlador IDE) pero sobre todo por dos únicos números: mayor y menor. Estos archivos especiales son de dos tipos : caracteres (teminal, impresora, etc) o bloques (disco por ejemplo).
Es muy importante conocer estos archivos. Las diferentes distribuciones (Slackware, jurix, SLS, etc) crean estos archivos. Ciertas versiones pueden generar estos archivos de maneara incorrecta (Slackware). Igualmente, resulta inútil crear los archivos necesarios para la utilización de dispositivos de un tipo dado si no se dispone de la tarjeta adecuada.
Para crear un archivo especial, es suficiente la orden mknod Nom_Archivo Tipo Mayor Menor. También existen otras opciones que se encuentran en el manual.
Dentro del directorio /dev también existe un archivo de comandos llamado MAKEDEV, el cual permite crear archivos especiales sin utilizar directamente mknod.
La lista de periféricos que se presenta a continuación proviene del documentoLINUX ALLOCATED DEVICES escrito por H. Peter Anvin hpa@zytor.com. Esta lista esta incluida en el directorio de documentaciones de las fuentes del núcleo (Documentation/devices.txt) a partir de la versión 1.3 del núcleo.
Si usted desea desarrollar un dispositivo a la lista, contactelo después de haber leído el documento original. De hecho, esta lista esta un poco depurada.
La lista corresponde a la versión 2.0.26
- 0 : /dev/cdu535 CD-ROM Sony CDU-535
UUCP (UNIX to UNIX CoPy) te permite enviar y recibir mail y news.
Te aconsejo hacer una liga entre /dev/modem y /dev/cua1 (COM2), o hacia el dispositivo que corresponda (cua0-3 , COM1-4). los repertorios utilizados por UUCP son /var/spool/uucp, /var/spool/uucppublic, /usr/lib/uucp y /var/lib/uucp.
Bueno, supongo que tu as instalado el paquete UUCP, elm y sendmail. Para las news, te aconsejo INN, como servidor de news y tin o trn, como lector de news.
Los archivos UUCP descritos aquí están en formato HDB (si, yo se que Taylor es mucho mas simple ... pero no he tenido tiempo de hacer esta hacer esta parte que ya lleva tiempo !)
Bueno, UUCP necesita varios archivos de configuración que se encuentran en /var/lib/uucp/hdb_config.
hayes_usr =,-, "" \dATE0V1X1Q0\r\c OK\r ATDT\T\r\c CONNECT
MACHINE=frmug LOGNAME=nuucp \ READ=/var/spool/uucppublic \ WRITE=/var/spool/uucppublic \ SENDFILES=yes REQUEST=yes
remcomp any ACU 9600 0042470611 ogin: nuucp frmug any ACU 9600 0053176410 ogin: nuucp frmug1 any ACU 9600 0053176411 ogin: nuucpAhora, tu sistema esta configurado. No te queda mas que hacer un test. Lanza esto :
uucp remcomp\!\~/catalogue.Z ~/Tu maquina se va a conectar a remcomp para recuperar el archivo catalogue.Z. Este archivo será depositado en el repertorio /var/spool/uucppublic.
Bueno. Al punto en que estamos, tu puedes llamar; Ahora, vamos a configurar tu maquina para que pueda ser llamada. Todo se juega en el archivo /etc/inittab.
Debes descomentar una linea por ejemplo :
s1:45:respawn:/sbin/agetty -h -t 60 9600 modem | | | | | | |--- Puerto a utilizar | | | | | |--------- Velocidad del modem | | | | |--- Tiempo al cabo del cual cuelga | | | |-------- Activa el control de flujo rts/cts | | |------------- Relanzar cuando se termine | |------------------ Runlevels. |---------------------- IdentificadorEntonces al próximo boot, un sistema de login esta listo en tu puerto /dev/modem (tu puerto serie al cual esta conectado tu modem). El ultimo problema es configurarlo. En efecto, esto depende del modem (configuración de la velocidad). Si puedes posicionar algunos switch, has que tu modem se vuelva mudo (ATQ2) y sobre todo, ponlo en auto-respuesta (ATS0=1).
Si no tienes switches has un AT&W para salvaguardar los parámetros.
Para verificar la config utiliza usrlibuucp/uuchk/.
Si quieres mas informaciones te aconsejo que leas el HOWTO-UUCP.
El objeto de este parágrafo es la instalación de una conexión PPP.
PPP (Point to Point Protocol) permite establecer una conexión IP en una via serie de manera mas eficaz que SLIP (Serial Line Internet Protocol). Una vez la conexión establecida todos los protocolos superiores a IP (FTP, telnet, NFS, http, X ...) son disponibles.
Para establecer una conexión PPP, se necesita :
Par acceder a un servidor PPP instalado, tu núcleo debe ser compilado con la opción TCP/IP Para esto, cuando hagas make config tienes que responder así :
Networking support (CONFIG_NET) [y] y TCP/IP networking (CONFIG_INET) [y] y IP forwarding/gatewaying (CONFIG_IP_FORWARD) [y] n Network device support? (CONFIG_NETDEVICES) [y] y PPP (point-to-point) support (CONFIG_PPP) [y] yAdemás tienes que recuperar las fuentes de los programas de acceso a PPP (en el archivo ppp-2.1.2a.tar.gz, de pronto b, c o d) para poder instalar los siguientes programas :
Luego, tienes que configurar tus shell-scripts de arranque para configurar la capa TCP/IP (por ejemplo en un archivo /etc/rc.d/rc.net que será lanzado por /etc/rc.d.rc.local). He aquí un ejemplo :
echo -n "/etc/rc.net: " INETD=/sbin/inetd PORTMAP=/sbin/portmap # loopback /sbin/ifconfig lo 127.0.0.1 up netmask 255.255.255.0 /sbin/route add 127.0.0.1 lo # demarrage des demons if [-x $PORTMAP ]; then echo-n ", `basename $PORTMAP`" $PORTMAP fi if [-x $INETD ]; then echo -n ", `basename $INETD`" $INETD fi echo ""Luego agrega la dirección IP de tu maquina en el archivo /etc/hosts :
127.0.0.1 loopback localhost # useful aliases 199.103.124.170 pcpf pcpf.lectra.fr # Mi lindo PC en PPPLa dirección IP de la maquina es aquella que el administrador del servidor PPP le ha asignado para la conexión asociada a un numero de teléfono dado. Esto significa que el amigo que se conecta 10 minutos después utilizara la misma dirección que tu.
Finalmente, debes configurar tu dominio en el archivo /etc/resolv.conf :
domain lectra.fr nameserver 192.1.2.1La segunda linea es utilizada si tu quieres utilizar un servidor de nombres, cacharro que envía la dirección IP correspondiente a un nombre de maquina dado. Si no posees un servidor de nombres, solamente podrás utilizar direcciones numéricas (199.103.124.x) sino deberás poner en tu /etc/hosts todas las maquinas a las cuales quieres acceder con sus direcciones IP...
Igualmente puedes poner tu nombre de dominio en el archivo /etc/ppp/options que debe existir aunque sea vacío (si no quieres que pppd pida /etc/ppp/options, tienes que compilarlo con la opción-DREQ_SYSOPTIONS=0)
Ahora puedes febrilmente hacer un test de tu conexión utilizando un shell-script de este estilo (Cuidado : todo esto es una sola linea) :
/usr/sbin/pppd connect '/usr/sbin/chat -v ABORT ERROR ABORT "NO CARRIER" \ ABORT BUSY "" ATB0 OK ATDTxxxxxxxx CONNECT "" ogin: ppp \ word: ppp0' /dev/modem 9600 -detach debug crtscts modem \ defaultroute 199.103.124.170:El comando chat permite efectuar la conexión llamando el numero de tu servidor. Cuidado no olvides la segunda linea en particular modem y defaultroute.
La especificación de la velocidad (9600) así como el chat-script utilizado (ABORT ERROR ABORT "NO CARRIER" ABORT BUSY "" ATB0 OK ATDTxxxxxxxx CONNECT) dependen bien entendido de tu modem y de la configuración del servidor (ver igualmente el login y el password).
La dirección IP debe ser aquella declarada, como dirección IP de tu maquina en PPP, en /etc/hosts (igualmente puedes poner el nombre de tu maquina en PPP)
Las informaciones de debug deben salir en la consola (si has configurado el syslog para esto)
A partir de ese momento, estas conectado en la red distante y puedes hacer por ejemplo :
$ ping 199.103.124.50 PING 199.103.124.50 (199.103.124.50): 56 data bytes 64 bytes from 199.103.124.50: icmp_seq=0 ttl=255 time=268 ms 64 bytes from 199.103.124.50: icmp_seq=1 ttl=255 time=247 ms 64 bytes from 199.103.124.50: icmp_seq=2 ttl=255 time=266 msPara hacer un test de tu conexión. Si el ping funciona y tu red esta conectada a Internet entonces ya tienes Internet. Si eso no funciona, puedes hacer un test escribiendo /sbin/ifconfig el resultado debe parecerse a esto :
lo Link encap Local Loopback inet addr 127.0.0.1 Bcast 127.255.255.255 Mask 255.0.0.0 UP LOOPBACK RUNNING MTU 2000 Metric 1 RX packets 0 errors 0 dropped 0 overrun 0 TX packets 0 errors 0 dropped 0 overrun 0 ppp0 Link encap Serial Line IP inet addr 199.103.124.170 P-t-P 199.103.124.50 Mask 255.255.255.0 UP POINTOPOINT RUNNING MTU 1500 Metric 1 RX packets 33 errors 0 dropped 0 overrun 0 TX packets 42 errors 0 dropped 0 overrun 0Sobre todo tienes que tener una linea que comience por ppp0 sino, no good. Igualmente puedes hacer un test con netstat -nr que debe dar una cosa así mas o menos :
Kernel routing table Destination Gateway Genmask Flags Metric Ref Use Iface 199.103.124.50 0.0.0.0 255.255.255.255 UH 0 0 6 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 199.103.124.50 0.0.0.0 UG 0 0 6298 ppp0Con una linea 0.0.0.0 que tenga la dirección IP de tu servidor PPP. Si no tienes esta linea, puede que hayas olvidado la opción defaultroute.
Para eso, debes instalar los mismos programas del capitulo anterior (configurar el núcleo, instalar pppd). Ademas de esto, debes crear un login especial para las conexiones PPP en /etc/passwd, por ejemplo :
ppp::61:60:Connexion PPP:/:/usr/bin/ppp_loginEl 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 le permite a la maquina conectada un acceso a toda la red :
199.103.124.170 199.103.124.50 +-----------+ PPP link +----------+ | pcpf |-------------------- | ondee | +-----------+ +----------+ | Ethernet ----------------------------------- 199.103.124.x
Para mas informaciones ver el archivo README.Linux del ppp-2.1.2a.tar.gz. Nota : este archivo se encuentra en la distribución standard de la Slackware.
Una pregunta común es : " Yo tengo un acceso Internet pero una sola dirección IP y yo quisiera conectar varias maquinas".
El NET2-HOWTO responde a esta pregunta pero olvida una posibilidad. Esta nota tiene por objetivo, explicar las cuatro maneras de resolver el problema.
La configuración de sendmail es siempre algo particularmente trabajoso y difícil. Mas sin embargo, ciertos útiles facilitan enormemente las cosas. La Slackware original posee ciertos archivos, que pueden ser una solución. De todas maneras es mas sano, reinstalar el archivo de configuración basándote en los siguientes documentos :
Los proveedores reciben los mensajes y los ponen a tu disposición via un servidor POP (en general mail.provedor.pais o pop.provedor.pais ) Tienes que recuperar los mensajes recibidos por ese servidor hacia la maquina Linux en /var/spool/mail/usuario. Para esto puedes utilizar el programa gwpop de Stephane Bortzmeyer. Se encuentra en :
ftp://ftp.pasteur.fr/pub/Network/gwpop.
En este script, definir :
$mailhost = "mail.fournisseur.pais"; $deliver= "deliver NombreUsuarioLocal ";Una vez estés conectado, lanza via un script (para que no tengas que escribir todo cada vez) :
gwpop -p ClaveServidorPop UsuarioServidorPopUna vez que el correo es recibido, la cuestión es saber como enviar. Tienes que recompilar sendmail sin DNS. Para esto, define NAMED_BIND a 0 en src/conf.h Las versiones recientes de sendmail tiene por defecto un comportamiento que puede ser molesto. Los mensajes acentuados son automáticamente convertidos en Quoted Printable si el servidor al cual se conecta no le anuncia que soporta el protocolo ESMTP 8bit. Si encuentras esta iniciativa molesta, tienes que definir MIME8TO7 a 0 en src/conf.h
He aquí el archivo de reglas que tienes que indicar con el kit sendmail de Jussieu :
#!/bin/sh # # Reglas para el dominio lolonet # Domaine="MiNombredeDominioConUnPunto" AdressesInternes=RIEN V8="o" Aliases="/etc/aliases" SendmailSt="/etc/sendmail.st" SendmailHf="/etc/sendmail.hf" Mqueue="/var/spool/mqueue"y el archivo de config :
#!/bin/sh Host="NombreDeMiMaquina" AdressesLocales=TOUT_DOMAINE RelaisExterieur="smtp.[mail.provedor.pais] " ReecritureadressesLocales="provedor.pais" RevAliases="hash -N /etc/revaliases" MailerLocal='/usr/bin/deliver DFMPlmnrs deliver $u' SansDNS=1Luego solo necesitas quitarle el comentario a la linea siguiente :
CPP="$CPP -traditional"Y luego generar el archivo de config :
./configurateur regles.lolonet maquina.config >sendmail.cf.maquinaSi has desactivado MIME8TO7 en sendmail, comentar la linea del sendmail.cf generado:
# O EightBitMode=mimey copiar el archivo en /etc
Es necesario definir la dirección IP del servidor SMTP en /etc/hosts. Finalmente, tienes que reescribir la dirección local para que los mensajes tengan un campo From correspondiente a la dirección dada por el proveedor. Solo tienes que agregar en /etc/revaliases una linea de estilo :
NombreLocal: NombreProveedor@Provedor.paisY luego regenerar la base con :
/usr/sbin/sendmail -bi -oA/etc/revaliasesListo ! Los mails son guardados en /var/spool/mqueue. Cuando te conectes por PPP y que quieres enviar todos tus mails, solo tienes que hacer :
/usr/sbin/sendmail -q
La primera versión publica de los utilitarios y de las bibliotecas ELF se difundió el domingo 21/05/95. La versión, al día de las bibliotecas ELF y de los utensilios asociados esta disponible en los sitios FTP tsx-11.mit.edu y sunsite.unc.edu así como en su espejo francés ftp.ibp.fr en el repertorio /pub/linux/GCC. Es posible utilizar esta distribución para poner al día sus bibliotecas. Sin embargo, es aconsejable utilizar una distribución binaria con base en ELF (como Slackware 3.1 o Red Hat 4.0). Si quieres hacer la actualización tu mismo esta es la lista de archivos requerida:
# cd /usr/src # tar xvfz /.../ld.so-1.8.5.tar.gz # cd ld.so-1.8.5 # sh instldso.sh
# mkdir<item>p /usr/i486-linuxaout/bin /usr/i486-linuxaout/lib # echo "/usr/i486-linuxaout/lib" >> /etc/ld.so.conf # ldconfig -v # cd /usr/lib # mv *.o *.a *.sa lib*.so.* /usr/i486-linuxaout/lib # cd /lib # mv *.o *.a *.sa lib*.so.* /usr/i486-linuxaout/lib # ldconfig -v # cd /usr # mv include /usr/i486-linuxaout
# cd / # tar xvfz /.../libc-5.4.17.bin.tar.gz # tar xvfz /.../libg++-2.7.2.1.bin.tar.gz # ldconfig -v
# cd / # tar xvfz /.../gcc-2.7.2.1.bin.tar.gz # rmr -f /usr/lib/ldscripts # rm -f /usr/bin/as /usr/bin/as.1.38.1l.2 /usr/bin/as.2.2l # rmf -f /usr/bin/ld /usr/bin/ld.1.9l.4 # tar xvfz /.../binutils-2.7.0.3.bin.tar.gz
# cd /usr/i486-linuxaout/lib # mv libc.so.* /lib # ldconfig -v
Habiendo instalado los utilitarios y las bibliotecas ELF no resta más que recompilar todos los programas que utilizas par beneficiar de este nuevo formato de ejecutable. Deber encontrar las fuentes de todos los programas y compilarlas una por una (animo, porque te pude tomar largo tiempo :-). Puedes también recuperar binarios ya compilados en los sitios FTP Linux, muchos están ya en formato ELF. Es de anotar que algunos programas requieren modificaciones para ser compatibles con ELF, en particular el núcleo Linux (versión 1.2.x) así como todos los programas que contengan bibliotecas compartidas. En el sitio ftp.ibp.fr, el directorio /pub/linux/ELF contiene "patchs" para algunos programas.
Las nuevas versiones del compilador y de los utilitarios generan ejecutables en formato ELF, por defecto. Es posible crear ejecutables en formato a.out utilizando la opción -b i486-linuxaout durante el llamado de gcc. Ahora es fácil construir bibliotecas dinámicas. Los archivos fuente deben ser compilados con la opción -fPIC con el fin que el código generado pueda ser ejecutado en cualquier dirección (las bibliotecas dinámicas se cargan en direcciones imprevisibles y su código debe ser independiente de su dirección física). La opción -shared de gcc permite luego generar una biblioteca dinámica. Por ejemplo para generar una biblioteca libtruc.so.1.0 se utilizarían las siguientes ordenes:
$ gcc -c -fPIC *.c $ gcc -shared -Wl,-soname,libtruc.so.1 -o libtruc.so.1.0 *.o
Algunos documentos que conciernen ELF están disponibles en ftp.ibp.fr en /pub/linux/ELF/doc. Se trata de :
Este capitulo esta dedicado a los momentos de catástrofe, cuando nada sale bien, y cuando uno tiene ganas de votarlo todo por la ventana...
Tu acabas de iniciar tu maquina, y no puedes arrancar. En este caso, lo mejor es utilizar las disquetes de arranque (las de la Slackware en este caso no están mal). Una vez la maquina comienza, tu montas tu partición raíz copias el núcleo en una nueva disquete lanzando : cat /mnt/vmlinuz > /dev/fd0 por ejemplo. Normalmente, esto debe entonces funcionar si tu núcleo es el correcto. Eventualmente, efectúa un :
rdev /vmlinux /dev/hda2para especificar al núcleo cual partición es la raíz del sistema de archivos.
Haz formateado por error une partición donde se encontraba tu informe de stage. Bien, no paniques ! Inútil decirte que es imposible hacer un unformat.
La primera solución de recuperación (muy brutal) es la de hacer un strings /dev/hda3 > Recup. No te queda mas que recorrer el archivo y recuperar lo que se pueda.
Una segunda solución es la de utilizar el script Perl (ver http://www-eleves.enst-bretagne.fr/ aubert;/perl/) :
# Autor : aubert@titan.enst-bretagne.fr
#!/usr/local/bin/perl
$maxlines = 20;
@before = ();
$syntaxe = "Syntaxe: cgrep.pl termino_a_buscar archivo_a_recorrer\n";
$terme = shift(@ARGV) || die $syntaxe;
$fichier = shift(@ARGV) || die $syntaxe;
open(F, $fichier) || die "Cannot read $fichier: $!\n";
# Se llena @before hasta su capacidad máxima ($maxlines)
while (($_ = <F>) && (scalar(@before) < $maxlines))
{
if (/$terme/ o)
{
print @before;
print $_;
& print_next_lines;
}
push(@before, $_);
}
# El tablero @before contiene una buena cantidad de elementos, así que se
# pasa ahora a una parte en donde @before guarda un tamaño constante
while (<F>)
{
if (/$terme/o)
{
print @before;
print $_;
& print_next_lines;
}
push(@before, $_);
shift(@before);
}
close(F);
exit 1;
sub print_next_lines
{
for ($i = 0; $i < $maxlines; $i++)
{
print scalar(<F>);
}
exit 0;
}
Si el super-bloque esta hecho una nada lanzar e2fsck con las siguientes opciones : e2fsck -b 8193 /dev/sda3. Si no funciona , ensaya aumentando el numero de 8192 a cada vez para ensayar de recuperar una copia del super-bloque en buen estado.
Si esto aun no funciona , ensaye de lanzar el comando mke2fs con la opción -S. Atención no lo olvides, sino reformatarás tu partición! Esta opción provoca la regeneración de las copias del super-bloque y de los descriptores del sistema del archivo. No acaba con los archivos existentes.
Si tu disco tiene algunos problemas (sectores defectuosos), puedes recuperar e2fsck en el paquete e2fsprogs versión 1.06 si tu no lo tienes ya. Luego :
Ciertas maquinas no podrán funcionar convenientemente y producirán entonces de manera mas o menos aleatoria un mensaje (por ejemplo "fatal signal 11") luego bloquearan brutalmente la ejecución del programa activo. La Causa, la mas probable : problema de material (componentes de memoria demasiado lenta, por ejemplo). Ensaya primero que todo de desbloquear el cache procesador, gracias al "SETUP" de la maquina. Y luego disminuir el nivel de PIO del EIDE (no pasar de PIO 3). Leer a este propósito el documento http://www.bitwizard.nl/sig11/.
Puede ser muy útil, el tener en un disquete un núcleo para arrancar desde el. Para hacerlo, toma un disquete formateado y ve a la raíz de tu disco.
Identifica tu núcleo. El debe llamarse zImage o vmlinuz.
Cópialo en el disquete :
cat /zImage > /dev/fd0después tu haces (ejemplo) :
rdev zImage /dev/hda2el segundo parámetro debe ser el nombre de la partición raíz Linux de tu sistema.
Este disquete te permite arrancar (prueba !).
En resumen : Has perdido tu contraseña de root... Bueno, hay varias soluciones. La primera :
Bueno, pasemos a otras soluciones : Rebootar el pc en modo single-user. Para esto, en el momento de arrancar con LILO, decirle LILO: linux single. Un shell root va aparecer . Atención : el teclado esta en qwerty y la partición en lectura sola. Para remediarlo :
loadkeys /usr/lib/kbd/keytables/fr.map (es.map) mount -w -n -o remount /Y utilizas el comando passwd, o editas el archivo /etc/passwd
El problema de arrancar en single-user, es que no importa quien puede pasar por la maquina en root. Para las empresas y las universidades, se plantea un problema de seguridad. Ciertas estaciones UNIX permiten colocar una contraseña en el EPROM de la maquina. Linux permite pedir la contraseña root en single-user.
Para esto, debes recuperar las fuentes del programa init que se lanza en el momento de iniciar el sistema. Al principio del programa init.c, modifica, la definición de la constante SOME_USER para que ella tenga el valor 2, recompilas init, y lo re-instalas.
Esta primera solución puede resultar de todas maneras insuficiente ya que una persona puede siempre arrancar sobre otro periférico (utilizando la opción root = MiLinux).
Utilizando Lilo, no hay problema ! basta agregar las lineas siguientes para cada una de las imágenes en el archivo /etc/lilo.conf:
password = la contraseña en claro restricted(piensa en colocar este archivo en solo lectura para el super-utilisador sin ningún derecho para los otros !)
El arranque normal de cada imagen pasa sin problema y sin pedir la contraseña (importante si uno quiere que la maquina se reinicie sola en caso de lío : electricidad, reboot a distancia, ...) pero si uno quiere pasarle parámetros al núcleo en el momento del arranque, Lilo pide en este momento la contraseña
Linux te permite trabajar al mismo tiempo en varias ventanas texto. Para pasar de una a otra, haz Alt + Fn donde n es el numero de la ventana virtual y Fn una tecla de función (por ejemplo F1, F2 ...). Tu puedes configurar el numero de ventanas en el archivo /etc/inittab.
Cuando estas bajo X, la combinación se vuelve Ctrl + Alt + Fn. es entonces posible regresar bajo X accediendo así a la consola que es empleada (la primera "libre", es decir no manejada por un getty). Si tienes 6 consolas virtuales (de Alt F1 hasta Alt F6 ); usa Alt-F7, por ejemplo.
Utiliza maj + paginas (teclas "SHIFT" y "pagina precedente" o "pagina siguiente") para "pasearse". Esto funciona también bajo xterm.
Los "locales" son un sistema que permite gestionar lo mas apropiadamente posible las diferencias de lenguaje y de estilo de los utilizadores. Por ejemplo, los francófonos prefieren escribir 3,14 mejor que 3.14, no anotan las fechas como los Australianos (quienes no lo hacen como los Estados-Unidos), etc. Cada utilizador debe entonces poder escoger un local que le convenga y las aplicaciones bien hechas (raros son aquellos que gestionan completamente los locales pero numerosos son aquellos que les utilizan al menos un poco) se adaptan sin recompilación. En resumen, se trata de dejar las preferencias nacionales fuera de la aplicación, como con el sistema de recursos del Machinetoc.
Si eres programador, puedes consultar el locale-tutorial (distributions/jurix/source/libc/nls o sunsite/utils/nls) o el Mini- HOWTO sobre los Locales. Si tu eres simple utilizador, puedes conocer los locales instalados en tu sistema con local -a (los nombres parecen estar poco estandarizados, tendrás trucos del genero "fr_FR" o "fr_FR.ISO8859-1") y selecciona uno con las variables de entorno como LANG o LC_CTYPE (man local dará tal vez algo).
Si eres el administrador de una maquina, y los locales no funcionan como tu quieres, puedes leer el Mini-HOWTO sobre los Locales y/o este modesto texto.
Si tu Linux no llego con una instalación correcta de los locales ( no creo que exista una buena distribución de este punto de vista), tienes dos soluciones. Yo solo teste la primera y ella solo funciona bien con un núcleo superior o igual a 2.0 y una libc versión 5.2.18 o superior.
Primera solución : compilar los programas de la libc y utilizar el paquete WG15-collection.
Para esto, debes recuperar las fuentes de la libc. no es necesario compilarla completa, solo los programas de gestión de los locales, que permiten especialmente producir un archivo binario a partir de la fuente de un local. Para resumir la instalación :
Recuperar libc (aquí 5.2.18), por ejemplo en ftp://ftp.ibp.fr/pub/linux/GCC.
(pasar root) cd /usr/src mkdir libc-5.2.18 chown <USERNAME libc-5.2.18 (salir de root) cd libc-5.2.18 tar -xzvf /usr/tmp/libc-5.2.18.tar.gz cd include ln -s /usr/src/linux/include/asm . ln -s /usr/src/linux/include/linux . cd ../libcY allí puedes leer las instrucciones en el README y hacer "./configure" ("make depend" es largo y no parece necesario si quieres solo los locales)
Si no quieres compilar toda la libc, te paras allí y :
cd locale make SHARED= programs (pasar root) mv localedef /usr/local/bin mv locale /usr/local/bin (salir de root)Tienes ahora los dos programas importantes. Ahora puedes generar los locales binarios a partir de las fuentes.
Una buena colección de fuentes se encuentra en el archivo WG15-collection.linux.tar.gz que se encuentra por ejemplo en ftp://ftp.ibp.fr/pub/linux/GCC ( debe su nombre a un "working group" Posix).
En este archivo, una vez destarado(?-)), hay una buena documentación (Intro). Si no quieres leerla, lo que hay que hacer es :
(pasar root) cd charmaps mkdirhier /usr/share/nls/charmap cp ISO_* /usr/share/nls/charmap cd ../locales mkdirhier /usr/share/nls/locale cp POSIX ??_* /usr/share/nls/locale mkdirhier /usr/share/locale (la linea siguiente es lo que parece ser un bogue(error) en la distribución) localedef -c -i /usr/share/nls/locale/en_DK -f ISO_8859-1:1987 en_DK (lleno de mensajes de errores del genero "item `yesstr' of category `LC_MESSAGES' undefined" a ignorar) localedef -c -i /usr/share/nls/locale/fr_FR -f ISO_8859-1:1987 fr_FR (salir de root)Tu puedes testar con local -a que el nuevo local es conocido desde ahora. Es todo. Los utilizadores pueden utilizar ya las variables de entorno de los locales como LANG o LC_CTYPE.
Segundo método, que no he podido hacer funcionar :
Recuperar nslutils (hoy nlsutils-0.5.tar.gz) por ejemplo (parece necesario recuperar los archivos de encabezados como localeinfo.h en la libc).
make make installPara testar tu instalación de los locales, puedes servirte de Perl 5.003 (es la primera versión de Perl que prueba que la instalación es correcta y si no produce un mensaje de error) o este programa:
# include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <locale.h>
#include <sys/types.h>
#define STRING "bétö\b"
void main ()
{
int i;
u_char c;
printf ("Setting locale: %s\n", setlocale(LC_ALL, ""));
for (i=0; i<strlen(STRING); i++) {
c = STRING[i];
printf ("%c (%d) is %s\n", c, (int)c, isprint((int)c)?"printable":"non-printable");
}
}
No debe imprimir en la pantalla Setting locale: (null) y, con el
buen locale francés, debe encontrar que todos los caracteres, excepto
el ultimo, son "printables".
Ciertos útiles GNU comienzan a ser francesados. Para tener esta posibilidad, añade en tu .bashrc las lineas siguientes :
export LC_CTYPE=ISO-8859-1 export LANG=fr
ispell es un corrector ortográfico, en francés. Tu puedes recuperarlo en ftp.ibp.fr en /pub/ispell. Es igualmente posible recuperar un diccionario francés para ispell en el mismo sitio en el repertorio /pub/ispell/francais.
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=latin1en el archivo /etc/profile.
less permite también examinar el contenido de diversos tipos de archivos (less toto.tar.gz...) :
export LESSOPEN="|lesspipe.sh %s"Colocar el script siguiente en un repertorio cuyo nombre figura en el PATH :
#!/bin/sh
lesspipe() {
case "$1" in
*.tar) tar tvvf $1 2>/dev/null ;; # View contents of .tar and .tgz files
*.tgz) tar tzvvf $1 2>/dev/null ;;
*.tar.gz) tar tzvvf $1 2>/dev/null ;;
*.tar.Z) tar tzvvf $1 2>/dev/null ;;
*.tar.z) tar tzvvf $1 2>/dev/null ;;
*.Z) gzip -dc $1 2>/dev/null ;; # View compressed files correctly
*.z) gzip -dc $1 2>/dev/null ;;
*.gz) gzip -dc $1 2>/dev/null ;;
*.zip) unzip - l $1 2>/dev/null ;;
*.lha) lha -v $1 2>/dev/null ;;
*.arj) arj l $1 2>/dev/null ;;
*.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` ; #groff src
FILE=`echo $FILE | cut -d ' ' -f 2`
if [ "$FILE" = "troff" ]; then
groff -s -p -t -e -Tascii -mandoc $1
fi ;;
esac
}
lesspipe $1
Para gs y xdvi, hay que utilizar unas opciones especiales (en mi maquina, son los alias). Efectivamente, con frecuencia son configurados para un papel de tamaño anglo-saxon.
Estas opciones son las siguientes :
gs -sPAPERSIZE=a4 xdvi -paper a4 ghostview -a4Para que dvips convierta los documentos en un formato papel a4, hay que especificar en el archivo config.ps (el camino varia en función de las versiones de LaTeX) :
@ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+ %%BeginPaperSize: a4 @+ a4
Para que tu correo este en 8 bits (con acentos) sin necesidad de encapsularlo vía MIME u otra, agrega estas tres lineas en tu archivo ~/.elm/elmrc :
charset = iso-8859-1 displaycharset = iso-8859-1 textencoding = 8bit
Ciertos personajes indelicados se permitieron modificar los tipos de caracteres Computer Modern sin cambiar el nombre Y ESTO ES CONTRARIO A TODOS LOS COPYRIGHTS de Knuth. Esto es EXTREMADAMENTE grave porque todo documento tipografiado con los tipos de caracteres no tendrá el mismo look que con los VERDADEROS Computar Moderan. Desafortunadamente, estos tipos de caracteres defectuosos fueron puestos sobre varios CDs Linux. Como trabajamos casi todos con los CDs slackware, conviene tener extremada atención.
Es por esto que debes verificar tu sistema. Para ello, es fácil, un buen viejo terminal y dos minutos de tiempo :
\setbox0=\hbox{ho}\showbox0
> \box0=
\hbox(6.94444+0.0)x10.55559
.\tenrm h
.\tenrm o
! OK.
<*> \setbox0=\hbox{ho}\showbox0
?
listo!, tienes los buenos tipos de caracteres (el valor clave a retener,
es el 10.55559). Es suficiente ahora de responder `x' para que TeX se termine.
En caso contrario, tu sistema esta infectado. Basta recuperar las actualizaciones y el ciclo se completa.
Cuando uno compila y se sirve de una tarjeta sonido en Linux, la gran pregunta es saber si la tarjeta esta correctamente configurada. Para esto, existe un archivo (/dev/sndstat) que da todas las informaciones sobre la configuración de la tarjeta :
Sound Driver:3.5.4-960630 (Mon Nov 11 14:50:52 MET 1996 root, Linux gandalf 2.0.25 #3 Mon Nov 11 11:44:54 MET 1996 i486) Kernel: Linux gandalf 2.0.25 #3 Mon Nov 11 11:44:54 MET 1996 i486 Config options: 0 Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Type 7: SB MPU-401 Card config: Sound Blaster at 0x260 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0 Audio devices: 0: Sound Blaster 16 (4.11) Synth devices: 0: Yamaha OPL-3 Midi devices: 0: Sound Blaster 16 Timers: 0: System clock Mixers: 0: Sound BlasterPara ensayar la buena marcha de la tarjeta sonido, es suficiente enviar algunos archivos audio (.au) sur /dev/audio, etc.
Ciertas versiones de gcc (2.7.0 a 2.7.2 comprendidos, pero no 2.7.2.1 y posteriores) tienen un bug con la opción -O2. Para identificarlo, ensaya este programa :
/* sr_bug.c
*
* este programa hace un test para un gcc bug.
* Para compilar este test program: gcc -O2 sr_bug.c
*
* Algunas veces gcc para Intel CPUs genera codigos errados en optimizacion
* nivel 2. el codigo errado es 'almost right' y esta oculto dentro del
* programa que parece trabajar - incluyendo el Linux kernel.
* el bug es muy viejo y ya ha sido reportado.Desde el 19-Dec-95,
* el bug no ha sido fijado.
*
* Si cambias este código deberías testarlo, porque aun un
* mínimo cambio puede esconder este elusivo bug. Si crees que
* fijaste el bug, por favor corre el test original hasta
* estar seguro. Puedes encontrar el test original abajo, despues de #if 0.
* Escribi esta versión del test en Ingles para hacerla convivial, y
* puede no ser tan solida como el original.
*
* Algunas personas que conocen mas que yo:
* davis@space.mit.edu (John E. Davis)
* anlauf@crunch.ikp.physik.th-darmstadt.de (Harald Anlauf)
* craigs@iii2.iii.net (Craig Shrimpton)
*
* User-friendly versión by Albert Cahalan
*
*/
#include <stdio.h>
int gcc_sr_bug(void){
static int Array[3]; /* must be static (or global) */
unsigned int B = 3; /* must be unsigned 32-bit */
int i;
for(i=0; i<B; i++) Array[i] = i<item> 3;
for(i=0; i<B; i++) printf(<sq> %d,%d<sq>, i, Array[i]);
return !Array[1];
}
int main(){
printf(<sq>Testing for gcc bug...<sq>);
if(gcc_sr_bug()){
printf(<sq>\n\nBad code! Your compiler generates bad output.\n\n<sq>);
printf(<sq>Add<item>fno-strength-reduce to your gcc command line\n<sq>);
printf(<sq>or put it into your gcc config file, such as in\n<sq>);
printf(<sq>/usr/lib/gcc-lib/i486-linux/2.7.0/specs.\n<sq>);
exit(1);
}else{
printf(<sq>\nOK, no problem.\n<sq>);
exit(0);
}
}
Emacs es un editor de texte muy potente ya que es coherente y extensible pero consume muchos recursos (procesador y memoria). La mayor parte de quienes comienzan a emplearlo seriamente, explorando las documentaciones, no podrán dejarlo después.
Aquí esta un archivo de configuración de base :
;;
;; Archivo .emacs: inicialización de emacs
;; Archivo de base : Guide du Rootard
;;
(display-time) ;;Para tener la hora en la barre de estado
(setq display-time-24hr-format t) ;; Formato 24 horas
;; Nuevos modes
(autoload 'c++-mode "cplus-md" "C++ Editing Mode" t)
(autoload 'perl-mode "perl-mode" "Perl Editing Mode" t)
(autoload 'c-mode "c-mode" "C Editing Mode" t)
; mejor utilizar el "cc-mode"
;; Auto-Mode Settings : posiciona el modo de acuerdo a la extensión
(setq auto-mode-alist
(append '(("\.c$" . c-mode) ;; utiliza el modo C++ lo mismo para C
("\.h$" . c-mode)
("\.C$" . c++-mode)
("\.H$" . c++-mode)
("\.cc$" . c++-mode)
("\.C$" . c++-mode)
("\.pl$" . perl-mode) ;; Perl
("/tmp/snd\.[0-9]* " . text-mode);; Text (para el mail)
"[Rr][Ee][0-9]* " . text-mode)
("\.ada$" . ada-mode) ;; Ada
("\.spec$" . ada-mode)
("\.body$" . ada-mode)
("makefile$" . makefile-mode) ;; Makefile
("Makefile$" . makefile-mode)
("Imakefile$" . makefile-mode))
auto-mode-alist))
# Remapes varies
(global-set-key "\eg" 'goto-line) ;; ESC G = Goto line
(global-set-key "\eo" 'overwrite-mode)
(put 'eval-expression 'disabled nil)
;; Accents...
(standard-display-european 1)
(load-library "iso-syntax")
;; Sous X-Window, textos en colores (C/C++/Shell/Makefile,etc)
(cond (window-system
(setq hilit-mode-enable-list '(not text-mode)
hilit-background-mode 'light
hilit-inhibit-hooks nil
hilit-inhibit-rebinding nil)
(require 'hilit19)
))
(if (not (equal window-system <sq><sq>))
(global-set-key "\C-?" 'delete-char))
))
Este archivo puede ser ampliamente mejorado. Para saber mas, consulta la
documentación de Emacs (apoyar sobre "control-H" luego "i"), que
esta bien hecha pero es un poco grande.
Anotación : es posible agregar las lineas siguientes para poder servirse de los acentos en el momento de la edición de los archivos en modo texto :
(set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0)
La utilización de puertos en serie plantea un problema de protección : hay que evitar que dos procesos concurrentes accedan a un puerto en serie dado al mismo tiempo. Pero de otra parte, si se tiene un puerto en serie sobre el cual gira un getty para tratar llamadas de entrada, nos gustaria también poder utilizar el puerto serie para pasar las llamadas que salen.
Para resolver este problema, hay dos enfoques. El primero, es la protección por el núcleo. Utiliza dos dispositivos diferentes para acceder a un puerto serie : /dev/ttySn para las llamadas de entrada (le getty), y /dev/cuan para las llamadas de salida. Cuando el getty intenta abrir /dev/ttySn, esta bloqueado hasta que una llamada de entrada sea recibida y que el modem señal por la linea DCD del puerto serie.
Cuando el getty esta bloqueado en la llamada del sistema open, se puede aun utilizar el dispositivo /dev/cuan para las llamadas que salen (evidentemente, el getty esta bloqueado cuando DCD est activado para la llamada que sale...)
Por otra parte, una vez que /dev/cuan esta abierto, un proceso de otra sesión no puede abrirlo (si el sistema esta correctamente configurado -- consultar la opción sesion_lockout de setserial(8). Este evita que dos procesos intentando independientemente pasar una llamada de salida se encuentren escribiendo simultáneamente sobre el puerto serie.
La segunda técnica es la de "lock-files" (archivos-protegidos). Ella consiste, para cada proceso que utiliza un puerto serie, escribir su PID en un archivo especial. De esta manera, cuando otro proceso quiere utilizar el mismo puerto serie, verifica la presencia del archivo, lo encuentra, lee el PID en donde esta escrito, verifica que el proceso correspondiente existe, y sabe entonces que el puerto serie esta ocupado y que el no puede utilizarlo. En este caso, no se utilizan que los /dev/cuan.
Cada uno de los dos enfoques tiene sus ventajas y sus inconvenientes. El método de protección por el núcleo necesita emplear un modem en modo auto-respuesta, y autoriza la overtura del puerto serie por un proceso que quiere pasar una llamada de salida entre el momento en que el teléfono suena y el momento en que los modems han terminado de negociar (que puede tomar una decena de segundos.) El método de lock-files necesita una configuración homogénea de los programas utilizados (todos los programas deben buscar y colocar el lock-file en el mismo lugar, aceptando el formato PID en el que esta inscrito...) también necesita que el getty verifique periódicamente la existencia del lock-file, y puede entonces "fallar" una llamada que entra entre el momento en que un proceso libera el puerto serie y cuando verifica de nuevo la presencia del lock-file. Es también posible que un proceso de salida llegue a crear el lock-file entre el momento en que el getty detecta una llamada y cuando crea el lock-file para esta llamada.
La selección de un método es, finalmente, una decisión individual de cada administrador, sabiendo que el enfoque "lock-file" es mas flexible, pero menos elegante y mas delicado a establecer que la protección para el núcleo.
Es muy agradable poder conectarse al Minitel. Recupera el programa xtel de Pierre Ficheux. Es un emulador Minitel muy simple de utilizar.
Puedes encontrarlo en ftp.ibp.fr en el repertorio /pub/X11/videotext/xtel.
Enviar documentos por FAX es perfectamente posible. Para hacerlo, puedes utilizar por ejemplo Hylafax.
Se encuentra en el sitio ftp.funet.fi en el repertorio /pub/mirrors/sgi.com/sgi/fax/source.
El núcleo de un sistema UNIX puede ser representado bajo la forma de un objeto monolítico. Sin embargo, tal objeto posee el inconveniente de ser grande y estático. Cada vez que se desee agregar un nuevo dispositivo, es necesario recompilar el núcleo. Ademas, si uno utiliza ciertos gestionarios particulares raramente, se esta obligado a tenerlo en el núcleo, y hay tendencia a consumir memoria.
Los módulos cargables, permiten reunir lo útil a lo agradable teniendo un núcleo más pequeño que posible, carga a la demanda si lo deseas de una manera manual por el super utilizador de la maquina, o de une manera automática. De esta manera, la ganancia de recursos no es despreciable.
La primera pregunta que uno puede hacerse, es : " Porque dos técnicas de cargamento ?"
La primera técnica es manual : hay que cargar o descargar los módulos a mano. La segunda es automática, gracias a la utilización de un demon especialista que es el esclavo del núcleo y que carga y descarga los módulos por él. De hecho, la versión 1.2 de Linux no ofrece la posibilidad de un cargamento manual que esta limitado al super-utilizador de la maquina y que es bastante pesado de manipular. En el desarrollo de la versión 2.0, un nuevo sistema implementado por Bjorn Ekwall permite efectuar un cargamento dinámico y automático de los módulos.
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 :
gandalf# make dep ; make clean gandalf# make zImage gandalf# make modules ; make modules_install
Una vez que estas operaciones han sido efectuadas, los módulos se encuentran en el repertorio /lib/modules/x.y.z donde x.y.z que corresponde al numero de versión del núcleo. No nos queda sino mirar el cargamento.
Nota importante : todos los útiles de manipulación de los módulos son archivados en un archivo modules-2.0.0.tar.gz en el repertorio v2.0. EIlos son instalados, por defecto, por las distribuciones standards, pero es importante utilizar la buena versión.
El cargamento manual esta basado en tres comandos :
gandalf# insmod nfs.o gandalf# lsmod Module: #pages: Used by: nfs 12 4 gandalf# mount -t nfs /truc /mnt gandalf# lsmod Module: #pages: Used by: nfs 12 5 gandalf# cd /mnt gandalf# cd / gandalf# umount /mnt Module: #pages: Used by: nfs 12 4 gandalf# ps axu | grep nfs root 5535 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5536 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5537 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5538 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5557 0.0 0.4 864 300 q2 S 17:16 0:00 grep nfs gandalf# kill -9 5535 5536 5537 5538 gandalf# lsmod gandalf# rmmod nfs.o
Es necesario "matar"(killar) los 4 demons nfsiod porque ellos son lanzados cuando NFS es activado. Como puedes verlo, estas operaciones se vuelven relativamente difíciles. es por esta razón que el sistema de cargamento automático ha sido creado.
El sistema de cargamento automático de módulos permite reducir al mínimo la talla de su núcleo. El principio de funcionamiento es particularmente simple : un demon en modo usuario esta a la escucha de las ordenes del núcleo (vía un archivo de mensaje de tipo IPC Sistema V). Cuando un proceso intenta acceder a un recurso sistema (vía un llamado sistema open, etc...), el núcleo envía la orden de cargamento del modulo a kerneld. Una vez el mensaje es recibido, kerneld ejecuta un modprobe para cargar los módulos necesarios : Esquemas del cargamento/descargue de los módulos con kerneld
En cambio, en el momento de la compilación del núcleo, es necesario colocar al menos el soporte para permitir el inicio de la maquina y el montaje de la raíz de tu sistema de archivo (por ejemplo, support IDE + ext2fs). Tu puedes tener todo el resto en modulo (tarjeta sonido, sistemas de archivos, tarjeta SCSI, etc).
Esta parte, de modificacion, solo es valida si tu maquina no esta dotada de kerneld. Las nuevas distribuciones efectuan una instalacion correcta.
Para realizar la puesta en marcha del sistema de carga de módulos, es necesario efectuar ciertas modificaciones al nivel de tu configuración. En efecto, es necesario que en el momento de iniciar la maquina, el demon kerneld sea lanzado y realizar una especie de lista de dependencias de los módulos : ciertos módulos no pueden ser lanzados antes que otros no l sean. En un primer momento, hay que crear el archivo /etc/rc.d/rc.modules en el cual, tu colocas :
# Modules # # Creación de un enlace lógico para el núcleo corriente # # /bin/rm -f /lib/modules/current ln -sf /lib/modules/`uname -r` /lib/modules/current # # Creación de las dependencias if [ \! -r /lib/modules/current/modules.dep ] then echo "Creating module dependencies" /sbin/depmod -a fi # # Carga de los módulos de arranque... # if [-x /sbin/kerneld ] then if find /lib/modules/boot -type f -o type l > /dev/null 2>&1 then echo "Loading boot-time modules" /sbin/modprobe -a -t boot \* fi else echo "Loading modules" /sbin/modprobe -a \* fi # # Si usted posee otros tipos de demons kerneld a lanzar... # if [-x /sbin/kdsound ] then echo "Starting sound daemon" /sbin/kdsound & fi
Esto permite generar las dependencias de tus módulos cada vez que inicias tu maquina. Enseguida, en el archivo /etc/rd.d/rc.S (puede depender de tu distribución...), conviene agregar :
# Start update. /sbin/update & # *** A AGREGAR *** # Lanzamiento de kerneld lo mas pronto posible, de tal manera # que los módulos de sistemas de archivos puedan ser cargados if [ -x /sbin/kerneld ] then echo "kerneld running" /sbin/kerneld fi # Un poco de limpieza cat /dev/null > /var/adm/utmp # Lanzamiento del script de los módulos if [ -f /etc/rc.d/rc.modules ]; then /etc/rc.d/rc.modules fi
Una vez que estas modificaciones son efectuadas y la maquina reinicializada, todo debe quedar en su lugar. Si kerneld permite cargar automáticamente los módulos, permite igualmente descargarlos luego de cierto tiempo sin utilizarlos. Por defecto, si ningún proceso accede al modulo durante mas de 60 segundos, es automáticamente descargado. Es posible modificar este valor agregando el parámetro delay=Nb_Segundos a kerneld donde Nb_Secondes es la prolongación en segundos.
puede suceder que sea necesario configurar un ultimo archivo: el archivo /etc/conf.modules. este archivo contiene los caminos donde se encuentran los módulos que deben ser cargados y enseguida los alias para los módulos. Si tu no tienes este archivo, puedes crearlo con :
gandalf# /sbin/modprobe<item>c | grep<item>v '^path' >/etc/conf.modules
puede suceder que en el momento del primer arranque obtengas este mensaje :
Cannot locate module for net-pf-3 Cannot locate module for net-pf-4 Cannot locate module for net-pf-5Que no cunda el panico ! Este mensaje no es malo y para no tenerlo mas, añade en el archivo /etc/conf.modules :
alias net-pf-3 off alias net-pf-4 off alias net-pf-5 off
puede suceder que ciertos dispositivos tengan necesidad de ciertos parámetros particulares. Consulta el documento Kernel HowTo.
Tu puedes consultar estas referencias para mas información :
Este libro es la traducción del libro "Linux Installation and Getting Started" de Matt Welsh (mdw@sunsite.unc.edu), versión 2.2.2. La traducción fue realizada por Rene Cougnenc y esta disponible en ftp.ibp.fr en /pub/linux/french/books.
La mayoría de HowTo's o mini HowTo ya han sido traducidos al francés. Están disponibles en el ftp.ibp.fr en el repertorio /pub/linux/french/docs/HOWTO. Esta es la lista :
HowTo :
Boot-disk-HOWTO BootPrompt-HOWTO NIS-HOWTO Net2-HOWTO Busmouse-HOWTO PCI-HOWTO CDROM-HOWTO PPP-FAQ Comercial-HOWTO DOSEMU-HOWTO Printing-HOWTO Distribucion-HOWTO ELF-HOWTO SCSI-HOWTO PPP-HOWTO SCSI-Programacion-HOWTO Firewall-HOWTO Ftape-HOWTO Serial-HOWTO GCC-HOWTO Sound-HOWTO HAM-HOWTO Term-HOWTO Tips-HOWTO Hardware-HOWTO UPS-HOWTO IPX-HOWTO UUCP-HOWTO Instalacion-HOWTO Video-HOWTO Java-HOWTO XFree86-HOWTO Kernel-HOWTO Keyboard-HOWTO MGR-HOWTO Mail-HOWTO Modems-HOWTOMini-HowTo :
Anon-ftp NFS-Root X-Terminal Assembleur Postgres ZipIomega Colour-ls Proxy-ARP IO-Port Shadow-Password Jaz Slip+ProxyARP LILO Term-Firewall Large-IDE Token-Ring Man-Page Win95+Win3x+<bf/Linux/A pesar de todo esto, aun falta mucho trabajo! Si quieres unirte al grupo de traductores, puedes hacerlo inscribiéndote en la lista de traducción:
mail majordomo@linux.eu.org subscribe traduc
Algunas buenas direcciones:
majordom@arlesienne.ensica.fr : subscribe linux-31
majordomo@rd.lectra.fr : subscribe linux-33
http://opera.inrialpes.fr/linux/guilde
mail majordomo@rd.lectra.fr subscribe echo-linuxPara encontrar ayuda : en un primer momento, intenta encontrar los datos en esta guía. En seguida, mira los HowTo. Finalmente, si fracasas, echa un vistazo en el newsgroup fr.comp.os.linux.
Aquí esta la list de las personas que han participado a la realización de este documento. Es muy posible que olvide alguien... mis excusas ! Gracias a todos.
Linux es un sistema abierto, que evoluciona. Numerosos desarrollos son actuelmente en curso, tales como Wine (WINdows Emulator), el proyecto de documentación de Linux(LDP), la internacionalización. Todos estos proyectos (y otros más) son realizados por personas de buena voluntad que dan un poco de su tiempo, desde la programación, a la traducción de documentos, etc.
Si deseas ofrecer un poco de tu tiempo para Linux, no dudes en contactarme.
21. That's all folks
Se termino.
Si ciertos puntos te parecen obscuros, etc, no dudes en contactarme. esta guía seguira evolucionando, pero no lo, podrá hacer que gracias a ti, así que si encuentras un truco realmente genial, envíalo : (Eric.Dumas@freenix.fr) (nt: o a caliman@magic.fr).
Mont de Marsan, 14 Decembre de 1996. Bergerac, le 29 Décembre 1996.
datev0.1, 20 August 1996
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é
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