lipp-2.0-beta by carloselmonodragon

VIEWS: 4,752 PAGES: 263

									GNU/Linux: ´ Instalacion y Primeros Pasos
1992–1998

Matt Welsh Phil Hughes
David Bandel Boris Beletsky Sean Dreilinger Robert Kiesling Evan Liebovitch Henry Pierce

´ Version 2.0, 16 julio 2002. ´ ´ Este libro esta dirigido tanto a principiantes como a gurus de UNIX. Contiene informacion ´ ´ sobre como obtener e instalar GNU/Linux, un tutorial para nuevos usuarios de GNU/Linux y una ´ ´ ´ introduccion a la administracion de sistemas. Intenta ser suficientemente generico, para que pueda ´ ´ ser valido con cualquier distribucion de GNU/Linux. Puede, bajo determinadas condiciones, copiar, compartir y redistribuir libremente este libro. Por ´ ´ favor, lea el copyright y los terminos de distribucion.

Los nombres de los productos citados se usan en este libro exclusivamente a efectos de identificaci´ n o de los mismos, y son marcas registradas de sus respectivos propietarios. Specialized System Consultants, Inc. (SSC), no reclama ni la propiedad ni la asociaci´ n empresarial con los productos o con las compa˜ ´as o nı ´ propietarias de estos. Copyright c 1992-1996 Matt Welsh Copyright c 1998 Specialized Systems Consultants, Inc (SSC) P.O. Box 55549 Seattle, WA 98155-0549 USA Tel´ fono: +1-206-782-7733 e Fax: +1-206-782-7191 Correo electr´ nico: ligs@ssc.com o URL: http://www.ssc.com/
Linux: Instalaci´ n y Primeros Pasos es un documento libre; puede reproducirlo o modificarlo bajo los t´ rminos de o e la versi´ n 2 (o posteriores, si lo prefiere) de la GNU General Public License (Licencia P´ blica general de la GNU, GNU o u GPL), tal y como ha sido publicada por la Free Software Foundation (FSF). ´ Este libro se distribuye esperando que sea util, pero SIN GARANTIA ALGUNA; e incluso sin la garant´a impl´cita ı ı de SER COMERCIALIZABLE o de VALIDEZ PARA UN PROPOSITO CONCRETO. V´ ase para m´ s detalles la GNU e a GPL en el Ap´ ndice E 1 e Los autores animan a la difusi´ n m´ s amplia posible de este libro, tanto para uso personal como comercial, siempre o a que la nota de Copyright anteriormente expuesta se mantenga intacta y que el m´ todo de distribuci´ n est´ de acuerdo con e o e las cl´ usulas de la GNU GPL (v´ ase Ap´ ndice E). En resumen, puede copiar y compartir este libro sin cargo alguno o a a e e cambio de un beneficio econ´ mico. No se requiere permiso expl´cito del autor para la reproducci´ n de este libro por el o ı o medio que sea, tanto f´sico como electr´ nico. ı o ´ N´ tese que las obras derivadas de esta, y las traducciones de este documento, obligatoriamente deben acogerse a la o GNU GPL, y que la nota original de Copyright debe permanecer intacta. Si ha contribuido con nuevo material para este A libro, debe permitir que el c´ digo fuente de esas modificaciones (por ej., fuentes en LTEX ) est´ disponible para posteriores o e revisiones. Por favor, haga que las revisiones y actualizaciones est´ n directamente a disposici´ n de los mantenedores del e o documento, SSC. Esto permitir´ el ensamblado de las actualizaciones y proporcionar´ a la comunidad Linux revisiones a a coherentes de la obra. Si tiene la intenci´ n de publicar y distribuir comercialmente este libro, entonces cualquier donaci´ n, derechos de o o autor o copias impresas ser´ n muy agradecidas por parte de los autores y el Linux Documentation Project (Proyecto de a Documentaci´ n de Linux, LDP). Si tiene alguna duda o pregunta, por favor contacte con SSC. o

1 N.

del T.: Para evitar ambig¨ edades en la interpretaci´ n de la GNU GPL, incluso se ha dejado en su idioma original. u o

´ Indice general
Pr´ logo a la Traducci´ n al Castellano o o Pr´ logo o Sugerencias para principiantes en UNIX Sugerencias para gur´ s de UNIX . . . . u Destinatarios . . . . . . . . . . . . . . Organizaci´ n. . . . . . . . . . . . . . . o Agradecimientos . . . . . . . . . . . . Cr´ ditos y t´ rminos legales. . . . . . . . e e Convenios en este documento . . . . . .
VII IX

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

X X XI XI XII XII XIV

1. Introducci´ n a GNU/Linux o 1.1. Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . 1.2. Breve historia de GNU/Linux . . . . . . . . . . . . . . . . . . 1.3. Caracter´sticas del sistema . . . . . . . . . . . . . . . . . . . ı 1.4. Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1. Formateado y procesado de textos . . . . . . . . . . . 1.4.2. Lenguajes y utilidades de programaci´ n . . . . . . . . o 1.4.3. Introducci´ n al sistema X-Window . . . . . . . . . . o 1.4.4. Introducci´ n a las redes . . . . . . . . . . . . . . . . o 1.4.5. Telecomunicaciones y software para BBS . . . . . . . 1.4.6. World Wide Web . . . . . . . . . . . . . . . . . . . . 1.4.7. Interacci´ n con MS-DOS . . . . . . . . . . . . . . . . o 1.4.8. Otras aplicaciones . . . . . . . . . . . . . . . . . . . 1.5. Acerca del Copyright . . . . . . . . . . . . . . . . . . . . . . 1.6. Dise˜ o y filosof´a de GNU/Linux . . . . . . . . . . . . . . . . n ı 1.7. Diferencias entre GNU/Linux y otros sistemas operativos . . . 1.7.1. ¿Por qu´ usar GNU/Linux? . . . . . . . . . . . . . . . e 1.7.2. GNU/Linux frente a MS-DOS . . . . . . . . . . . . . 1.7.3. GNU/Linux frente a otros sistemas operativos . . . . . 1.7.4. GNU/Linux frente a otras implementaciones de UNIX 1.8. Requerimientos de hardware . . . . . . . . . . . . . . . . . . 1.8.1. Requisitos de Placa Base y de CPU . . . . . . . . . . 1.8.2. Requisitos de memoria . . . . . . . . . . . . . . . . . 1.8.3. Requisitos de la controladora de disco duro . . . . . . 1.8.4. Requisitos de espacio en disco . . . . . . . . . . . . . 1.8.5. Requisitos de monitor y adaptador de v´deo . . . . . . ı 1.8.6. Hardware diverso . . . . . . . . . . . . . . . . . . . . 1.8.7. Tarjetas Ethernet . . . . . . . . . . . . . . . . . . . . 1.9. Fuentes de informaci´ n sobre GNU/Linux . . . . . . . . . . . o 1.9.1. Documentaci´ n en-l´nea . . . . . . . . . . . . . . . . o ı 1.9.2. GNU/Linux en el WWW . . . . . . . . . . . . . . . .
I

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 2 3 5 5 8 8 9 10 11 11 12 13 13 15 15 15 16 16 17 18 18 19 19 19 20 20 21 21 21

1.9.3. Libros y otras publicaciones . 1.9.4. Grupos de Noticias USENET 1.9.5. Listas de correo en Internet . . 1.10. C´ mo obtener ayuda . . . . . . . . . o

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

21 22 23 24 27 27 27 28 28 29 29 30 30 31 31 31 32 32 34 34 35 35 36 36 36 37 38 39 39 39 40 40 46 48 49 51 51 52 52 52 52 52 53 54 54 54 56 57 58 58 58

2. Obtenci´ n e Instalaci´ n de GNU/Linux o o 2.1. Instalaci´ n gen´ rica . . . . . . . . . . . . . . . . . . . . . . . . . . . o e 2.1.1. Principales distribuciones de GNU/Linux . . . . . . . . . . . 2.1.2. Preocupaciones comunes . . . . . . . . . . . . . . . . . . . . 2.1.3. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.4. Planificaci´ n . . . . . . . . . . . . . . . . . . . . . . . . . . o 2.1.5. Hoja de trabajo de la planificaci´ n del sistema . . . . . . . . . o 2.1.6. Rat´ n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 2.1.7. Considerar discos duros y CD-ROMs . . . . . . . . . . . . . 2.1.8. Unidades de discos bajo GNU/Linux . . . . . . . . . . . . . 2.1.9. Instalando el sistema de ventanas X-Window . . . . . . . . . 2.1.10. Hardware de sistema de redes . . . . . . . . . . . . . . . . . 2.1.11. Planificaci´ n 2a Parte . . . . . . . . . . . . . . . . . . . . . . o 2.1.12. Estrategias de particionado . . . . . . . . . . . . . . . . . . . 2.1.13. La partici´ n de intercambio . . . . . . . . . . . . . . . . . . o 2.1.14. Reparticionando . . . . . . . . . . . . . . . . . . . . . . . . 2.1.15. Haciendo copia de seguridad de su sistema antiguo . . . . . . 2.1.16. FIPS.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.17. Prepar´ ndose para iniciar GNU/Linux . . . . . . . . . . . . . a 2.1.18. Creando un disquete de arranque de GNU/Linux bajo DOS . . 2.1.19. Creando un disquete de arranque bajo GNU/Linux . . . . . . 2.1.20. Particionando el disco duro: fdisk y cfdisk . . . . . . . . 2.2. Distribuciones de GNU/Linux . . . . . . . . . . . . . . . . . . . . . 2.3. Debian GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1. Debian GNU/Linux: instalaci´ n y caracter´sticas . . . . . . . o ı 2.3.2. Conseguir las im´ genes de disquete . . . . . . . . . . . . . . a 2.3.3. La descarga de paquetes . . . . . . . . . . . . . . . . . . . . 2.3.4. Arrancar con los disquetes e instalar Debian GNU/Linux . . . 2.3.5. Usando Debian GNU/Linux . . . . . . . . . . . . . . . . . . 2.3.6. dselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.7. dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.8. Acerca de Debian GNU/Linux . . . . . . . . . . . . . . . . . 2.3.9. Listas de correo . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.10. Sistema de b´ squeda de errores . . . . . . . . . . . . . . . . u 2.3.11. Muestras de agradecimiento de Debian . . . . . . . . . . . . ´ 2.3.12. Ultima nota . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Red Hat LinuxTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1. Caracter´sticas de la instalaci´ n de Linux Red HatTM . . . . . ı o 2.4.2. El sistema RPM de administraci´ n de paquetes . . . . . . . . o 2.4.3. Algunos comentarios sobre la actualizaci´ n de Linux Red Hat o 2.4.4. Creando los disquetes de instalaci´ n . . . . . . . . . . . . . . o 2.4.5. Medios de instalaci´ n . . . . . . . . . . . . . . . . . . . . . o 2.4.6. Personalizando la instalaci´ n por NFS o por disco duro . . . . o 2.4.7. Instalaci´ n m´nima recomendada . . . . . . . . . . . . . . . o ı 2.4.8. ¿Cu´ nto espacio se necesita realmente? . . . . . . . . . . . . a 2.4.9. Instalaci´ n . . . . . . . . . . . . . . . . . . . . . . . . . . . o 2.4.10. Acerca del medio de instalaci´ n otra vez . . . . . . . . . . . o

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5.

2.6.

2.7.

2.8. 2.9.

2.4.11. El resto de la instalaci´ n . . . . . . . . . . . . . . o 2.4.12. Despu´ s de la instalaci´ n . . . . . . . . . . . . . . e o Caldera OpenLinuxTM . . . . . . . . . . . . . . . . . . . . 2.5.1. Obtener Caldera OpenLinuxTM . . . . . . . . . . . 2.5.2. Prepar´ ndose para instalar Caldera OpenLinuxTM . a 2.5.3. Creaci´ n de los disquetes de arranque/m´ dulos . . o o 2.5.4. Preparar el disco duro . . . . . . . . . . . . . . . SlackwareTM . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.1. Slackware no es para ti. (O quiz´ si) . . . . . . . . a 2.6.2. Una breve historia . . . . . . . . . . . . . . . . . 2.6.3. ¿Por qu´ , entonces? . . . . . . . . . . . . . . . . . e 2.6.4. ¿Actualizar? ¡Pi´ nsalo dos veces! . . . . . . . . . e 2.6.5. Seleccionar un m´ todo de instalaci´ n . . . . . . . e o 2.6.6. Discos de arranque: siempre cosa buena . . . . . . 2.6.7. Hoja de trabajo para la instalaci´ n de SlackwareTM o 2.6.8. Haciendo funcionar Slackware . . . . . . . . . . . 2.6.9. Crear algunos discos de arranque. . . . . . . . . . 2.6.10. Arranque en acci´ n . . . . . . . . . . . . . . . . . o 2.6.11. El programa ‘‘setup’’ de SlackwareTM . . . . . 2.6.12. ¿Eso es todo? . . . . . . . . . . . . . . . . . . . . 2.6.13. Solucionando algunos problemillas . . . . . . . . 2.6.14. Disfrutando del momento despu´ s . . . . . . . . . e 2.6.15. ¡Considere reinstalar! . . . . . . . . . . . . . . . . 2.6.16. Asegurar el sistema. . . . . . . . . . . . . . . . . S.u.S.E.TM . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.1. Comenzando la instalaci´ n . . . . . . . . . . . . . o 2.7.2. Post-instalaci´ n de S.u.S.ETM . . . . . . . . . . . . o 2.7.3. Configurando las X . . . . . . . . . . . . . . . . . ´ 2.7.4. Ultimas actualizaciones . . . . . . . . . . . . . . Procedimientos post-instalaci´ n . . . . . . . . . . . . . . o Cuando se tienen problemas . . . . . . . . . . . . . . . . 2.9.1. Problemas arrancando el medio de instalaci´ n . . . o 2.9.2. Problemas con el hardware . . . . . . . . . . . . . 2.9.3. Problemas instalando el software . . . . . . . . . . 2.9.4. Problemas despu´ s de instalar GNU/Linux . . . . e

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60 61 62 63 63 63 63 64 64 64 65 65 66 67 67 74 75 75 77 78 78 79 79 80 81 81 82 83 83 83 84 84 86 89 91 95 95 95 96 96 96 96 97 98 98 98 99 100 100 100 101

3. Tutorial de GNU/Linux 3.1. Introducci´ n . . . . . . . . . . . . . . . . . . . . . . o 3.2. Conceptos b´ sicos de GNU/Linux . . . . . . . . . . a 3.2.1. Creaci´ n de una cuenta . . . . . . . . . . . . o 3.2.2. Registrarse en el sistema . . . . . . . . . . . 3.2.3. Consolas Virtuales . . . . . . . . . . . . . . ´ ´ 3.2.4. Int´ rpretes de ordenes y ordenes . . . . . . . e 3.2.5. Salida del sistema . . . . . . . . . . . . . . . 3.2.6. Cambiar la contrase˜ a . . . . . . . . . . . . n 3.2.7. Ficheros y directorios . . . . . . . . . . . . . ´ 3.2.8. El arbol de directorios . . . . . . . . . . . . 3.2.9. Directorio de trabajo actual . . . . . . . . . . 3.2.10. Refiri´ ndose al directorio inicial . . . . . . . e 3.3. Primeros Pasos en GNU/Linux . . . . . . . . . . . . 3.3.1. Movi´ ndonos por la estructura de directorios. e 3.3.2. Mirando el contenido de los directorios . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

3.3.3. Creaci´ n de directorios nuevos . . . . . . . . . o 3.3.4. Copiando ficheros . . . . . . . . . . . . . . . 3.3.5. Moviendo ficheros . . . . . . . . . . . . . . . 3.3.6. Borrando ficheros y directorios . . . . . . . . . 3.3.7. Mirando en los ficheros . . . . . . . . . . . . . 3.3.8. Obteniendo ayuda en l´nea . . . . . . . . . . . ı 3.4. Acceder a los ficheros MS-DOSTM . . . . . . . . . . . ´ 3.5. Sumario de ordenes b´ sicas . . . . . . . . . . . . . . . a 3.6. Explorando el sistema de ficheros . . . . . . . . . . . ´ 3.7. Tipos de int´ rpretes de ordenes . . . . . . . . . . . . . e 3.8. Caracteres comod´n . . . . . . . . . . . . . . . . . . . ı 3.9. Fontaner´a GNU/Linux . . . . . . . . . . . . . . . . . ı 3.9.1. Entrada y salida est´ ndar. . . . . . . . . . . . . a 3.9.2. Redireci´ n de la entrada y la salida . . . . . . o 3.9.3. Uso de tuber´as . . . . . . . . . . . . . . . . . ı 3.9.4. Redirecci´ n no destructiva de la salida . . . . . o 3.10. Permisos de fichero . . . . . . . . . . . . . . . . . . . 3.10.1. Conceptos de permisos de fichero . . . . . . . 3.10.2. Interpretando los permisos de fichero . . . . . 3.10.3. Dependencias . . . . . . . . . . . . . . . . . . 3.10.4. Cambio de permisos . . . . . . . . . . . . . . 3.11. Gesti´ n de enlaces a ficheros . . . . . . . . . . . . . . o 3.11.1. Enlaces r´gidos . . . . . . . . . . . . . . . . . ı 3.11.2. Enlaces simb´ licos. . . . . . . . . . . . . . . . o 3.12. Control de tareas. . . . . . . . . . . . . . . . . . . . . 3.12.1. Tareas y procesos. . . . . . . . . . . . . . . . 3.12.2. Primer plano y segundo plano. . . . . . . . . . 3.12.3. Parando y relanzando tareas . . . . . . . . . . 3.13. Uso del editor vi . . . . . . . . . . . . . . . . . . . . 3.13.1. Conceptos . . . . . . . . . . . . . . . . . . . . 3.13.2. Comenzando con vi . . . . . . . . . . . . . . 3.13.3. Insertando texto . . . . . . . . . . . . . . . . . 3.13.4. Borrando texto . . . . . . . . . . . . . . . . . 3.13.5. Cambiando texto . . . . . . . . . . . . . . . . ´ 3.13.6. Ordenes para mover el cursor . . . . . . . . . 3.13.7. Guardandando ficheros y saliendo de vi . . . 3.13.8. Edici´ n de otro fichero . . . . . . . . . . . . . o 3.13.9. Inclusi´ n de otros ficheros . . . . . . . . . . . o ´ 3.13.10.Ejecuci´ n de ordenes del int´ rprete . . . . . . o e 3.13.11.Obtenci´ n de ayuda . . . . . . . . . . . . . . . o 3.14. Personalizando su entorno . . . . . . . . . . . . . . . ´ 3.14.1. Guiones del int´ rprete de ordenes . . . . . . . e ´ 3.14.2. Variables del int´ rprete de ordenes y el entorno e 3.14.3. Guiones de inicializaci´ n del int´ rprete . . . . o e 3.15. ¿Quiere seguir por su cuenta? . . . . . . . . . . . . . . 4. Administraci´ n del Sistema o 4.1. La cuenta root . . . . . . . . . . . . . . . 4.2. Iniciando el Sistema . . . . . . . . . . . . . 4.2.1. Utilizando un disquete de arranque . 4.2.2. Utilizando LILO . . . . . . . . . . 4.3. Parada del sistema . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

102 102 103 103 103 104 104 105 107 110 111 113 113 113 114 115 116 116 116 117 117 118 118 119 119 119 120 122 123 123 124 124 125 126 126 127 127 128 128 128 128 129 129 131 132 133 133 134 134 134 136

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

4.3.1. El fichero /etc/inittab . . . . . . . . . . . . . . 4.4. Gestionando sistemas de ficheros . . . . . . . . . . . . . . . . 4.4.1. Montando sistemas de ficheros . . . . . . . . . . . . . 4.4.2. Nombres de controladores de dispositivos . . . . . . . 4.4.3. Comprobando sistemas de ficheros . . . . . . . . . . . 4.5. Usando un fichero de intercambio . . . . . . . . . . . . . . . 4.6. Gesti´ n de Usuarios . . . . . . . . . . . . . . . . . . . . . . . o 4.6.1. Conceptos de gesti´ n de usuarios . . . . . . . . . . . o 4.6.2. A˜ adir usuarios . . . . . . . . . . . . . . . . . . . . . n 4.6.3. Borrando usuarios . . . . . . . . . . . . . . . . . . . 4.6.4. Poniendo atributos de usuario . . . . . . . . . . . . . 4.6.5. Grupos . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.6. Responsabilidades de la Administraci´ n del Sistema . o 4.6.7. C´ mo proceder con los usuarios . . . . . . . . . . . . o 4.6.8. Fijando las reglas . . . . . . . . . . . . . . . . . . . . 4.6.9. Lo que todo esto significa . . . . . . . . . . . . . . . 4.7. Almacenamiento y compresi´ n de ficheros . . . . . . . . . . . o 4.7.1. Usando tar . . . . . . . . . . . . . . . . . . . . . . 4.7.2. gzip y compress . . . . . . . . . . . . . . . . . . 4.7.3. Aplic´ ndolos en conjunto . . . . . . . . . . . . . . . a 4.8. Usando Disquetes y Haciendo Copias de Seguridad . . . . . . 4.8.1. Utilizando disquetes para copias de seguridad . . . . . 4.8.2. Copias de seguridad con unidades Zip . . . . . . . . . 4.8.3. Hacer copias de seguridad a dispositivos de cinta . . . 4.8.4. Utilizando disquetes como sistemas de ficheros . . . . 4.9. Actualizando e instalando software nuevo . . . . . . . . . . . 4.9.1. Actualizando el n´ cleo . . . . . . . . . . . . . . . . . u 4.9.2. Agregando un controlador de dispositivo al n´ cleo . . u 4.9.3. Instalando controladores en m´ dulos . . . . . . . . . . o 4.9.4. Actualizando las bibliotecas . . . . . . . . . . . . . . 4.9.5. Actualizando el gcc . . . . . . . . . . . . . . . . . . 4.9.6. Actualizando otro software . . . . . . . . . . . . . . . 4.10. Tareas diversas . . . . . . . . . . . . . . . . . . . . . . . . . 4.10.1. Ficheros de inicio del sistema . . . . . . . . . . . . . 4.10.2. Estableciendo el nombre del anfitri´ n . . . . . . . . . o 4.11. Qu´ hacer en caso de emergencia . . . . . . . . . . . . . . . . e 4.11.1. Recuperaci´ n utilizando un disquete de mantenimiento o 4.11.2. Arreglando la clave de root . . . . . . . . . . . . . . . 4.11.3. Arreglando sistemas de ficheros corrompidos . . . . . 4.11.4. Recuperando ficheros perdidos . . . . . . . . . . . . . 4.11.5. Arreglando bibliotecas corrompidas . . . . . . . . . . 5. El Sistema X-Window 5.1. Requerimientos hardware de X-Window . . . . . . . . 5.1.1. Gr´ ficos . . . . . . . . . . . . . . . . . . . . . a 5.1.2. Memoria, CPU y espacio en disco . . . . . . . 5.2. Instalaci´ n de XFree86 . . . . . . . . . . . . . . . . . o 5.3. Examinando la configuraci´ n hardware . . . . . . . . o 5.4. Generar de forma autom´ tica el fichero XF86Config a 5.5. Configurar XFree86 . . . . . . . . . . . . . . . . . . . 5.6. Rellenando la informaci´ n de la tarjeta de v´deo . . . . o ı 5.7. Ejecutar XFree86. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136 139 139 140 141 141 142 142 143 145 145 145 146 146 147 147 147 147 148 149 149 150 150 151 152 153 153 154 156 157 158 158 159 159 159 160 160 161 161 161 162 163 163 163 165 165 168 168 168 174 176

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

5.8. Si se l´a demasiado el asunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 ı 6. Redes 6.1. Redes TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1. Configuraci´ n de TCP/IP en su sistema . . . . . . . . . . . . . . . o 6.1.2. Configuraci´ n de SLIP . . . . . . . . . . . . . . . . . . . . . . . . o 6.2. Redes de Conexi´ n Telef´ nicas y PPP . . . . . . . . . . . . . . . . . . . . o o 6.2.1. Qu´ se necesita para empezar . . . . . . . . . . . . . . . . . . . . e 6.2.2. Una visi´ n de los pasos involucrados . . . . . . . . . . . . . . . . o 6.2.3. Creando los guiones de conexi´ n . . . . . . . . . . . . . . . . . . o 6.2.4. Editando los guiones de inicio de PPP suministrados . . . . . . . . 6.2.5. Iniciando PPP en el servidor . . . . . . . . . . . . . . . . . . . . . 6.2.6. Si el servidor usa PAP . . . . . . . . . . . . . . . . . . . . . . . . 6.2.7. Desconexi´ n del enlace PPP . . . . . . . . . . . . . . . . . . . . . o 6.2.8. Resolviendo problemas comunes una vez que la conexi´ n funciona o 6.3. Red con UUCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4. Redes con sistemas Microsoft . . . . . . . . . . . . . . . . . . . . . . . . 6.5. Correo electr´ nico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 6.6. Noticias y Usenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A. Fuentes de informaci´ n sobre GNU/Linux en ingl´ s o e B. El Proyecto de Documentaci´ n de Linux en castellano o C. Tutorial FTP y lista de sitios de r´ plica e D. Obtener una distribuci´ n por correo postal o E. The GNU General Public License 179 179 180 185 189 189 190 197 199 201 202 206 206 208 208 208 208 211 221 225 231 233

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

Pr´ logo a la Traducci´ n al Castellano o o
GNU/Linux: Instalaci´ n y Primeros Pasos (LIPP) es la traducci´ n al castellano que ha realizado el Proo o yecto de Documentaci´ n de Linux. Se ha intentado traducir tan fielmente como hemos podido la gu´a original o ı elaborada por Matt Welsh. Sin embargo, debido a la antig¨ edad del documento original, se han a˜ adido alu n gunos comentarios explicando algunos detalles que a d´a de hoy podr´an llevar a los lectores hispanos a la ı ı confusi´ n y se ha modificado ligeramente el texto referente a ciertas partes obsoletas de GNU/Linux (por o ejemplo, se han retirado de las tablas los dispositivos /dev/cua que son obsoletos a d´a de hoy). ı Del mismo modo se han a˜ adido referencias espec´ficas al entorno hispanohablante, como distribuciones n ı dedicadas espec´ficamente al mercado hispano, documentaci´ n y libros en castellano, ya sean traducciones ı o de otra lengua o publicaciones originales en castellano. Esta es la versi´ n 2.0 de la LIPP y se corresponde directamente con la versi´ n 3.2 de Linux Installation o o and Getting Started Guide Esta gu´a Linux: Instalaci´ n y Primeros Pasos (LIPP 2.0) y su original est´ n ambos bajo la licencia ı o a GPL del proyecto GNU como el sistema operativo que describen. Esta traducci´ n se realiz´ con el eso o fuerzo cooperativo de muchas personas. Si usted desea obtener otras traducciones, en la p´ gina siguiente a http://www.es.tldp.org encontrar´ m´ s informaci´ n. Si usted ve alg´ n error en la traducci´ n, coa a o u o mo dos interrogantes seguidos (??), o un p´ rrafo sin traducir, una referencia perdida, o un fragmento mal a traducido puede notificarlo al coordinador de la LIPP en la siguiente direcci´ n: montuno@openbank.es o

VII

VIII

Pr´ logo a la Traducci´ n al Castellano o o

Pr´ logo o
Linux: Installation and Getting Started (LIGS) ha sido la gu´a de trabajo para incontables usuarios noveles ı del sistema operativo GNU/Linux. GNU/Linux contin´ a evolucionando y por eso, tambi´ n, debe hacerlo esta u e gu´a. ı El autor original, Matt Welsh, ha puesto este libro bajo el cuidado y gesti´ n de Specialized Systems Cono sultants, Inc. (SSC), editores de Linux Journal, libros de inform´ tica y de referencia. Linux: Installation and a Getting Started est´ tambi´ n bajo la licencia GPL del proyecto GNU (y todav´a es redisribuible libremente), a e ı como el sistema operativo que describe. Esta nueva versi´ n se hizo con el esfuerzo cooperativo de indivio duos separados geogr´ ficamente pero reunidos a trav´ s de Internet, al igual que GNU/Linux. Si usted cree a e que puede ampliar o actualizar un cap´tulo de Linux: Installation And Getting Started o tiene algo nuevo ı o maravilloso que a˜ adir, por favor env´e un correo electr´ nico a ligs@ssc.com y d´ganos c´ mo quiere n ı o ı o contribuir. Para esta edici´ n hemos a˜ adido instrucciones espec´ficas para obtener e instalar las distribuciones o n ı TM TM TM S.u.S.E. Linux , Debian GNU/Linux , Linux Slackware , Caldera OpenLinuxTM , y Red Hat LinuxTM . Por favor lea completamente los reconocimientos y si usted se encuentra a alguno de los nombrados, en l´nea o ı en persona, d´ le las gracias por la ayuda. e Specialized Systems Consultants, Inc. (SSC) Febrero 1998

Pr´ logo a la edici´ n anterior o o
“You are in a maze of twisty little passages, all alike.” Surge ante usted uno de los sistemas m´ s complejos y profundamente intimidadores que jam´ s se ha a a escrito: GNU/Linux, el cl´ nico libre de UNIX para el ordenador personal (PC), elaborado por un revoltijo o de hackers, gur´ s de UNIX y alg´ n que otro lun´ tico. El propio sistema refleja esta compleja herencia, y a u u a pesar de que el desarrollo de GNU/Linux puede parecer un esfuerzo voluntario desorganizado, el sistema es potente, r´ pido y libre. Es un verdadero sistema operativo de 32-bits 2 . a Mis propias experiencias con GNU/Linux comenzaron hace a˜ os, cuando me sent´ a resolver como insn e ´ talar la unica “distribuci´ n” disponible en aquel momento, un par de disquetes que me hizo llegar H.J. Lu. o Descargu´ una pila de ficheros y le´ p´ gina tras p´ gina unas notas de instalaci´ n apenas hilvanadas. De alg´ n e ı a a o u modo, consegu´ instalar este sistema b´ sico y hacer que todo funcionase. Esto fue mucho antes de que se ı a pudiera comprar a distribuidores mundiales el software de GNU/Linux en CD-ROM; y de hecho, fue antes de que GNU/Linux pudiera acceder a una unidad de CD-ROM. Esto fue antes de XFree86, de GNU Emacs, antes del soporte de programas comerciales, y antes de que GNU/Linux se volviera un verdadero rival de MS-DOS, Microsoft Windows, y OS/2 en el mercado de los ordenadores personales. Sostiene en sus manos un mapa y una gu´a hacia el mundo de GNU/Linux. Espero que este libro le ı ayude a enrollarse con el que considero que es el sistema operativo m´ s r´ pido y poderoso que existe para a a ordenadores personales. Configurar su propio sistema GNU/Linux puede ser muy divertido, as´ que coja una ı taza de caf´ , si´ ntese c´ modamente, y siga leyendo. e e o Matt Welsh Enero de 1994
2 N.

del T.: En la actualidad ya existen versiones de 64-bits para algunas otras plataformas hardware distintas del PC IX

X

Pr´ logo o

Sugerencias para principiantes en UNIX
Los primeros pasos con su sistema GNU/Linux no exigen de un gran bagaje de conocimientos de UNIX. ´ Muchos principiantes en UNIX han logrado instalar con exito GNU/Linux en sus ordenadores. Es una experiencia que vale la pena por lo que se aprende con ella, pero tenga muy en cuenta que tambi´ n puede ser e frustrante. Es m´ s, en el momento en que est´ listo para profundizar en tareas m´ s complejas de la ejecuci´ n a e a o de GNU/Linux (instalar programas nuevos, recompilar el n´ cleo, y as´ sucesivamente) necesitar´ tener un u ı a buen fondo de conocimientos de UNIX. Sin embargo, solamente con poner en funcionamiento su propio sistema GNU/Linux aprender´ lo esencial a de UNIX. Este libro le ayudar´ a empezar; el Cap´tulo 3 es un tutorial que cubre los fundamentos de UNIX. En a ı el Cap´tulo 4 tiene informaci´ n sobre la administraci´ n de un sistema GNU/Linux. Debe leer completamente ı o o estos cap´tulos antes de intentar instalar GNU/Linux; le ser´ n de gran ayuda si se mete en l´os. ı a ı Nadie puede esperar pasar de ser un principiante de UNIX a ser un administrador de sistema UNIX de la noche a la ma˜ ana. Tampoco espera nadie que una implementaci´ n de UNIX est´ libre de mantenimiento. n o e Debe prepararse para la traves´a que le queda por delante. De lo contrario, si es nuevo en UNIX, se frusı trar´ f´ cilmente con el sistema. a a

´ Sugerencias para gurus de UNIX
Alguien con a˜ os de experiencia en la programaci´ n y administraci´ n de sistemas UNIX puede necesitar n o o colaboraci´ n antes de poder obtener e instalar GNU/Linux. Los magos de UNIX deberian familiarizarse con o ´ ciertos aspectos del sistema antes de sumergirse en el. GNU/Linux no es ningun sistema UNIX comercial, ni intenta apoyar los mismos est´ ndares. A pesar de que la estabilidad es un factor importante en el desarrollo a ´ de GNU/Linux, no es el unico. Quiz´ s m´ s importante sea la funcionalidad. En muchos casos, el nuevo c´ digo se vuelve parte del n´ cleo a a o u est´ ndar mientras todav´a tiene errores y no est´ funcionando completamente. El modelo de desarrollo de a ı a GNU/Linux asume que es m´ s importante liberar el c´ digo para que los usuarios lo usen y lo prueben, que rea o trasar su publicaci´ n hasta que est´ completo. WINE (el Emulador de Microsoft Windows para GNU/Linux) o e fue publicado en versi´ n alfa antes de estar totalmente probado. As´ la comunidad GNU/Linux tiene una o ı oportunidad para trabajar con el c´ digo, y aqu´ llos que encuentren el c´ digo alfa lo bastante bueno para sus o e o necesidades podran usarlo. Los vendedores de UNIX comerciales pocas veces, m´ s bien nunca, publican a programas de esta forma. Si ha sido un administrador de sistemas UNIX durante m´ s de una d´ cada, y ha usado todos los sistemas a e 3 UNIX comerciales bajo el Sol (pretendido juego de palabras) , podr´ acostumbrarse a GNU/Linux. El sisa tema es muy moderno y din´ mico. Cada pocas semanas se libera un nuevo n´ cleo. Constantemente se est´ n a u a liberando nuevos programas. Un d´a, su sistema puede ser completamente moderno, y al d´a sigiente puede ı ı estar en la Edad de Piedra. Con toda esta actividad ¿C´ mo se mantiene uno al ritmo, siempre cambiante, del mundo GNU/Linux? o Para la mayor´a, es mejor actualizar s´ lo las partes del sistema que se necesiten actualizar, y s´ lo cuando ı o o piense que es necesario. Por ejemplo, si nunca usa GNU Emacs, hay pocas raz´ nes para instalar continuao mente nuevas versiones de GNU Emacs en su sistema. Es m´ s, aun cuando sea un voraz usuario de GNU a Emacs, no hay, normalmente, ninguna raz´ n para actualizar, a menos que necesite una caracteristica que o s´ lo est´ presente en la pr´ xima versi´ n. Hay pocas o casi ninguna raz´ n para estar siempre a la ultima en lo o a o o o que respecta a las versiones de los programas. Esperamos que GNU/Linux sea apropiado o exceda las expectativas para un sistema UNIX casero. En el coraz´ n de GNU/Linux esta el verdadero esp´ritu del software libre, del desarrollo y el progreso constante. La o ı comunidad de GNU/Linux favorece la expansi´ n sobre la estabilidad, lo cual es dif´cil de aceptar, especialo ı mente despu´ s de estar impregnado en el mundo del UNIX comercial. Esperar que GNU/Linux sea perfecto e es poco realista; nada en el mundo del software libre lo es alguna vez. Nosotros creemos, sin embargo, que ´ GNU/Linux es tan util y completo como cualquier otra implementaci´ n de UNIX. o
3 N.

del T.: Sun, con may´ scula en el original. u

XI

Destinatarios
Este libro esta destinado a usuarios de ordenadores personales que deseen instalar GNU/Linux. Se da por supuesto que el usuario tiene un conocimiento b´ sico de ordenadores y sistemas operativos como MS-DOS, a pero no un conocimiento previo de GNU/Linux o UNIX. A pesar de ello, insistimos en sugerir a los principiantes en UNIX que consigan un buen manual de UNIX, de buena calidad y traducidos al castellano, de los varios disponibles. Esto es asi porque aun es necesario el conocimiento del UNIX para instalar y mantener en marcha un sistema completo. No hay distribuci´ n de o GNU/Linux que est´ completamente libre de errores. Quiz´ tenga que corregir peque˜ os errores a mano. e a n Hacer funcionar un sistema UNIX no es tarea sencilla, incluso trabajando con versiones comerciales de UNIX. Si pretende tomarse GNU/Linux en serio, tenga en cuenta que mantener el sistema funcionando requiere un esfuerzo y atenci´ n considerable. Esto as´ para cualquier sistema UNIX. Debido a la variedad de o ı la comunidad GNU/Linux y de las muchas necesidades que el software intenta satisfacer, no se pueden tener resueltas todas las necesidades, para todos, durante todo el tiempo.

Organizaci´ n. o
Este libro est´ compuesto por los cap´tulos siguientes: a ı El Cap´tulo 1, Introducci´ n a GNU/Linux, es una introducci´ n general a GNU/Linux, a sus capacidades ı o o y a los requerimientos necesarios para ejecutarlo en su m´ quina. Este cap´tulo tambi´ n le dara pistas sobre a ı e como obtener ayuda y reducir su nivel de estr´ s. e El Cap´tulo 2, Conseguir e instalar GNU/Linux, explica c´ mo conseguir e instalar GNU/Linux y sus ı o programas, empezando por los particionadores de disco, la creaci´ n de un sistema de ficheros y la instalaci´ n o o de paquetes de software. En dicho Cap´tulo se especifican unas instrucciones que se pretende que sean v´ lidas ı a para cualquier distribuci´ n de GNU/Linux, mientras que las particularidades de cada distribuci´ n se conf´an o o ı a la documentaci´ n que viene con esa versi´ n en concreto. o o En el Cap´tulo 3, Tutorial de GNU/Linux es una introducci´ n completa para quien empieza con UNIX. Si ı o ya tiene experiencia previa en UNIX, la mayor parte de este material le resultar´ familiar. a En el Cap´tulo 4, Administraci´ n del sistema, se presentan conceptos importantes para la administraı o ci´ n del sistema bajo GNU/Linux. Resultar´ interesante para administradores de sistemas UNIX que quieran o a aprender las caracter´sticas espec´ficas de GNU/Linux a la hora de mantener un sistema. ı ı Los Cap´tulos 5 y 6, X-Window y Redes, presentan una serie de opciones avanzadas que proporciona ı GNU/Linux, como el sistema de ventanas X-Window y el protocolo de redes TCP/IP. Tambi´ n facilitamos e una completa gu´a para la configuraci´ n de XFree86-3.1. ı o El Ap´ ndice A, Fuentes de informaci´ n sobre GNU/Linux, es un listado de otras fuentes de documentae o ci´ n, como los grupos de noticias, las listas de correo, los documentos en l´nea y los libros. o ı El Ap´ ndice B, Fuentes de informaci´ n sobre GNU/Linux en castellano, es un compendio de d´ nde puede e o o encontrar informaci´ n en castellano sobre GNU/Linux.4 o El Ap´ ndice C, Un tutorial de FTP y una lista de sitios, es un tutorial para transferir ficheros desde e Internet con el protocolo FTP. Este Ap´ ndice tambi´ n contiene listas de sitios FTP que alojan software para e e GNU/Linux. El Ap´ ndice D, D´ nde conseguir una distribuci´ n contiene un compendio de distribuidores de e o o GNU/Linux donde se puede o bien descargar una distribuci´ n completa, o encargarla para que se la env´en o ı 5 por correo. El Ap´ ndice E, La licencia p´ blica general GNU, es el acuerdo de licencia bajo el cual se distribuye e u GNU/Linux. Es importante que los usuarios de GNU/Linux comprendan la GPL. Han surgido muchos desacuerdos acerca de los t´ rminos en los que se formula. e
4 N. 5 N.

del T.: S´ lo en la traducci´ n al castellano o o del T.: S´ lo en la traducci´ n al castellano o o

XII

Pr´ logo o

Agradecimientos
Esta edici´ n se realiza gracias al trabajo de los que estuvieron antes, mencionados m´ s atr´ s en el agrao a a decimiento original de Matt Welsh. Adem´ s de ellos, por nuestra parte (SSC) tenemos que dar gracias a a Larry Ayers, Boris Beletsky, Sean Dreilinger, Evan Leibovitch, y Henry Pierce por contribuir con la informaci´ n que se encuentra en el cap´tulo 2 acerca de S.u.S.E. LinuxTM , Debian GNU/LinuxTM , Linux SlackwareTM , o ı Caldera OpenLinuxTM , y Red Hat LinuxTM , respectivamente. David Bandel ha actualizado el Cap´tulo 2 y ha ı a˜ adido una secci´ n que describe los pasos gen´ ricos de una instalaci´ n de GNU/Linux. Vernard Martin ha n o e o actualizado y a˜ adido material al Cap´tulo 5. Asimismo hay que dar gracias a Belinda Frazier por su edici´ n n ı o y a Jay Painter por su actualizaci´ n del cap´tulo 6 sobre administraci´ n de sistemas. o ı o

Agradecimientos de la anterior edici´ n o
´ Este libro ha estado realiz´ ndose durante mucho tiempo, y en el han contribuido muchas personas. Quiero a dar las gracias particularmente a Larry Greenfield y a Karl Fogel por su trabajo en la primera versi´ n del o Cap´tulo 3, y a Lars Wirzenius por su trabajo en el Cap´tulo 4. Gracias a Michael K. Johnson por su asistencia ı ı A con el LDP y las convenciones LTEX que se han utilizado en este manual, y a Ed Chi, que me envi´ una copia o impresa del libro. Gracias a Melinda A. McBride de SSC, Inc., que hizo un excelente trabajo completando el ´ndice de ı los Cap´tulos 3, 4, y 5. Tambi´ n quisiera agradecer a Andy Oram, Lar Kaufman, y Bill Hahn de O’Reilly y ı e Asociados su apoyo al LDP. Gracias a Linux Systems LabsTM , Morse TelecommunicationsTM e Yggdrasil ComputingTM , por su apoyo al LDP mediante las ventas de este libro y otros trabajos. Muchas gracias a los numerosos activistas de GNU/Linux, entre ellos (sin seguir un orden concreto) Linus Torvalds, Donald Becker, Alan Cox, Remy Card, Ted T’so, H. J. Lu, Ross Biro, Drew Eckhardt, Ed Carp, Eric Youngdale, Fred van Kempen, y Steven Tweedie, por dedicarle tanto tiempo y energ´a a a este proyecto. ı ´ Sin ellos no habr´a nada sobre lo que escribir en un libro como este. ı Para terminar, damos las gracias a los innumerables lectores que nos han hecho llegar sus correcciones y comentarios, y que son demasiados para enumerarlos aqu´. ı

Cr´ ditos y t´ rminos legales e e
El Proyecto de Documentaci´ n de Linux (LDP) est´ compuesto por un equipo distribuido de escritores, o a correctores, traductores y editores que trabajan en un conjunto de manuales de calidad sobre GNU/Linux. ´ Este es uno de los varios manuales que distribuye el LDP. Otros manuales incluyen La Gu´a del usuario ı ı ı ı de Linux, Gu´a del Administrador de Linux, Gu´a del Administrador de Redes bajo GNU/Linux, y la Gu´a del N´ cleo para el Hacker . u A Estos manuales se hallan disponibles, como minimo, en forma de c´ digo fuente en LTEX y en formato de o impresi´ n PostScript, pudi´ ndose acceder a ellos por FTP an´ nimo en http://sunsite.unc.edu, en o e o el directorio /pub/Linux/docs/LDP y, traducidos al espa˜ ol, en http://www.es.tldp.org. n

Cr´ ditos a la traducci´ n al castellano e o
La traducci´ n de este documento al espa˜ ol ha sido posible gracias al trabajo gratuito de muchos voluno n tarios. Para dirigir cualquier comentario acerca de esta traducci´ n al espa˜ ol, contacte con el coordinador de o n la de la traducci´ n, Antonio Rueda, en la direcci´ n montuno@openbank.es o o Han contribuido en esta traducci´ n: o Alberto Molina Sebasti´ n Gurin a J.Jos´ Amor e

XIII

Seraf´n Ag´ iz ı o Jos´ Mar´a Fern´ ndez e ı a Jos´ Manuel Fern´ ndez Navarro e a Francisco J. Fern´ ndez Serrador a Encargado de calidad: Francisco J. Fern´ ndez. a Si alguna de las personas que ha contribuido en la traduccion de este documento no apareciera aqu´, ı contactar con Fco. Javier Fern´ ndez en serrador@arrakis.es para a˜ adir su nombre a la lista. a n

XIV

Pr´ logo o

Notaci´ n usada en este documento o
Hemos intentado usar la siguiente notaci´ n en esta gu´a: o ı Negrita It´ lica a Usado para resaltar conceptos nuevos, AVISOS, y palabras clave de un lenguaje. Usada para enfatizar el texto, y ocasionalmente para citas o presentaciones al comienzo de una seccion. ´ Usado para marcar meta variables en el texto, especialmente en l´neas de ordenes. Por ı ejemplo, en: ls -l foo foo representa un nombre de fichero, como /bin/cp. Escritura de m´quina a Usado para representar interacci´ n con la pantalla, como en: o
$ ls --l /bin/cp -rwxr-xr-x 1 root wheel 12104 Sep 25 15:53 /bin/cp

Sesgado

Tambi´ n usada para ejemplos de c´ digo, ya sea codigo C, guiones del interprete de ordenes, e o o para mostrar ficheros, tales como ficheros de configuraci´ n. Cuando sea necesario, y para o una mejor claridad, estos ejemplos o figuras se incluiran en cajas.
Tecla

Representa una tecla a pulsar, como en este ejemplo: Pulse return para continuar. Un diamante en el margen, como un diamante negro en una pista de esqu´, se˜ ala “peligro” ı n o “precauci´ n”. Lea detenidamente los p´ rrafos marcados de esta forma. o a

Cap´tulo 1 ı

Introducci´ n a GNU/Linux o
Muy posiblemente GNU/Linux sea el logro m´ s importante del Software Libre desde el Space War oria ginal, o m´ s recientemente, GNU/Emacs. GNU/Linux se ha convertido en un sistema operativo para las ema presas, la educaci´ n y la productividad personal. GNU/Linux ya ha dejado de ser s´ lo para aquellos expertos o o de Unix que se sientan durante horas ante una consola parpadeante, si bien podemos asegurarle de buena tinta que muchos usuarios entran dentro de tal categor´a. Este libro le ayudar´ a sacarle el mayor partido a su ı a GNU/Linux. GNU/Linux (pronunciado con una i breve como en L´nux) es un sistema operativo, cl´ nico de Unix, que ı o se ejecuta en varias plataformas, principalmente en PCs (computadoras personales) con un procesador Intel 80386 o superior. Soporta una amplia variedad de programas, desde el sistema de procesado de documentos TEXhasta el sistema X-Window, pasando por gcc (compilador GNU de C/C++) y TCP/IP. Es una implementaci´ n de Unix vers´ til y bona fide, libremente redistribuible en los t´ rminos de la Licencia P´ blica General o a e u GPL (v´ ase Ap´ ndice E) e e GNU/Linux puede convertir un computador personal 80386 o superior en una estaci´ n de trabajo que o pone al alcance de su mano toda la potencia de Unix. Las empresas instalan GNU/Linux en redes enteras de m´ quinas, y utilizan este sistema operativo para gestionar registros financieros y hospitalarios, entornos a inform´ ticos distribuidos y telecomunicaciones. Las Universidades del mundo entero usan GNU/Linux para a impartir cursos de programaci´ n y dise˜ o de sistemas operativos. Los aficionados a la inform´ tica de todo o n a el mundo usan GNU/Linux en su casa para programar, para productividad personal y para el hackeo sano en general. El que sea una implementaci´ n libre de Unix es lo que hace a GNU/Linux tan diferente. Se desarroll´ y o o sigue desarroll´ ndose de forma cooperativa, principalmente a trav´ s de Internet, por parte de un grupo de a e voluntarios que intercambian c´ digo fuente, informan de los errores y solucionan los problemas en un entorno o abierto. Cualquiera es bienvenido a sumarse al esfuerzo de desarrollar GNU/Linux. Todo lo que se necesita es inter´ s en hackear un cl´ nico libre de Unix, y ciertos conocimientos de programaci´ n. El libro que tiene e o o en las manos es una gu´a para ese viaje. ı

1.1. Acerca de este libro
Este libro es una gu´a para la instalaci´ n y el manejo b´ sico de GNU/Linux. Su finalidad es conseguir ı o a que los nuevos usuarios se pongan en marcha reuniendo la mayor cantidad posible de contenido relevante en un s´ lo libro. En lugar de cubrir f´ tiles detalles t´ cnicos que tienden a cambiar debido al r´ pido desarrollo de o u e a GNU/Linux, le damos unos conocimientos de base claros y simples, que le permitan seguir avanzando por s´ mismo. ı Instalar y utilizar GNU/Linux no es dif´cil. Sin embargo, al igual que con cualquier otra implementaci´ n ı o de Unix, para ponerlo todo a funcionar a menudo hace falta algo de mano izquierda. Esperamos que este libro le suba al tren de GNU/Linux y le muestre lo grande que puede llegar a ser un sistema operativo. En este libro cubrimos los siguientes asuntos: ´ ¿Qu´ es GNU/Linux? El dise˜ o y filosof´a de este sistema operativo unico, y lo que GNU/Linux puede e n ı 1

2

Introducci´ n a GNU/Linux o

hacer por usted. Detalles sobre c´ mo ejecutar GNU/Linux, adem´ s de sugerencias sobre la configuraci´ n de hardware o a o recomendada. Instrucciones espec´ficas para instalar diversas distribuciones de GNU/Linux, incluyendo Debian, Red ı Hat y Slackware. Un breve tutorial de introducci´ n a Unix para usuarios sin experiencia previa en Unix. Este tutorial o proporciona suficiente material a los novatos como para que puedan moverse solos por el sistema. Una introducci´ n a la administraci´ n del sistema bajo GNU/Linux. Se cubren las tareas m´ s imporo o a tantes que los admistradores de GNU/Linux necesitan llevar a cabo como la creaci´ n de cuentas de o usuario o el manejo de los ficheros del sistema. Informaci´ n sobre la configuraci´ n de las caracter´sticas avanzadas de GNU/Linux, como el sistema o o ı X-Window, la red TCP/IP, las noticias o el correo electr´ nico. o Este libro est´ dirigido al usuario de ordenadores personales que desee empezar con GNU/Linux. No a damos por sentado que se tenga experiencia previa con Unix pero s´ esperamos que, durante su aprendizaje, ı ´ el principiante se remita a otras fuentes de informaci´ n. Proporcionamos una lista de referencias utiles en el o Ap´ ndice A para quienes no est´ n familiarizados con Unix. En general, se supone que este libro ha de leerse e e junto con otro libro de conceptos b´ sicos de Unix. a

1.2.

Breve historia de GNU/Linux

UNIX es uno de los sistemas operativos mundialmente m´ s famosos a causa de su amplia distribuici´ n a o y base soportada. Se desarroll´ originalmente en la AT&T como sistema multitarea para miniordenadores y o mainframes en la d´ cada de los 70, pero desde entonces ha crecido hasta convertirse en uno de los sistemas e m´ s ampliamente usados por doquier, a pesar de su interfaz, a veces confuso, y de su falta de estandarizaci´ n a o por parte de una entidad centralizadora. ´ Muchos hackers sienten que Unix es Lo Que Vale la Pena, el unico sistema operativo de verdad. De ah´ proviene el desarrollo de GNU/Linux por parte de un grupo, siempre en aumento, de hackers del Unix ı que quieren “curr´ rselo” con un sistema que puedan llamar propio. a Existen versiones de Unix para muchos sistemas, desde ordenadores personales hasta superordenadores como el Cray Y-MP. La mayor parte de las versiones de Unix para ordenadores personales son caras y dif´ciles. Al escribir esto, una versi´ n de UNIX System V para una sola m´ quina 386 cuesta unos 1500 $ ı o a USA. GNU/Linux es una versi´ n libre de Unix desarrollada originalmente por Linus Torvalds en la Universidad o de Helsinki en Finlandia, con la ayuda, a trav´ s de Internet, de numerosos programadores y expertos de Unix. e Cualquiera que tenga el instinto y los conocimientos suficientes puede desarrollar y modificar el sistema. El n´ cleo de GNU/Linux no utiliza c´ digo de AT&T o de cualquier otra fuente propietaria, y gran parte u o del software disponible para GNU/Linux ha sido desarrollado por el proyecto GNU de la Free Software Foundation en Cambridge, Massachusetts (EEUU) No obstante, tambi´ n programadores de todo el mundo e contribuyen a que aumente cada vez m´ s el software disponible para GNU/Linux. a Linux, el n´ cleo o kernel de GNU/Linux, se desarroll´ originalmente como un proyecto que Linus Toru o valds emprendi´ en su tiempo libre. Se inspir´ en Minix, un sistema Unix b´ sico desarrollado por Andy o o a Tanenbaum. Las primeras discusiones acerca del n´ cleo Linux tuvieron lugar en el grupo de noticias de Useu net comp.os.minix. Estas discusiones se centraban sobre todo en el desarrollo de un sistema peque˜ o y n acad´ mico de Unix para usuarios de Minix que quer´an algo m´ s. e ı a El primitivo desarrollo del n´ cleo Linux se centr´ en las caracter´sticas multitarea del interfaz en modo u o ı protegido del 80386, escrito en c´ digo ensamblador. Linus escribe: o “Despu´ s de todo, ha sido una navegaci´ n tranquila; el c´ digo era tremendo, pero ten´a ale o o ı gunos dispositivos, y la depuraci´ n fue m´ s f´ cil. En esta etapa comenc´ a usar C, y ciertamente o a a e

1.3. Caracter´sticas del sistema ı

3

acelera el desarrollo. Tambi´ n fue entonces cuando me empec´ a poner serio en mi megaloe e man´aca idea de hacer ‘un Minix mejor que Minix’. Esperaba poder recompilar gcc bajo el ı n´ cleo Linux alg´ n d´a. . . ”. u u ı “Dos meses para la configuraci´ n b´ sica, pero luego s´ lo un poco m´ s hasta que tuve un cono a o a trolador de disco (gravemente plagado de errores, pero result´ que funcionaba en mi ordenador) o y un peque˜ o sistema de ficheros. Fue por aquel entonces cuando dej´ disponible la versi´ n 0.01 n e o (m´ s o menos a finales de agosto de 1991): no era bonito, no ten´a controlador de disquetera, y no a ı pod´a hacer mucho en ning´ n sentido. No creo siquiera que nadie compilara jam´ s esa versi´ n. ı u a o Pero para entonces ya estaba enganchado, y no quer´a parar hasta conseguir dejar fuera a Minix”. ı Nunca se hizo un anuncio de la versi´ n 0.01. Las fuentes del 0.01 ni siquiera eran ejecutables. Conten´an o ı s´ lo los rudimentos b´ sicos de las fuentes del n´ cleo y daban por supuesto que se ten´a acceso a una m´ quina o a u ı a con Minix para compilarlas y experimentar con ellas. El 5 de octubre de 1991 Linus anunci´ la primera versi´ n “oficial” del n´ cleo Linux, la versi´ n 0.02. o o u o En este punto, Linus pod´a ejecutar bash (el GNU Bourne Again Shell) y gcc (el compilador C GNU) ı pero no mucho m´ s. De nuevo, estaba pensado como un sistema para hackers. La orientaci´ n principal fue a o el desarrollo del n´ cleo; el soporte de usuarios, la documentaci´ n y la distribuci´ n todav´a no hab´an sido u o o ı ı atendidos. A´ n hoy, la comunidad GNU/Linux parece que a´ n trata estas cosas como secundarias frente a la u u “programaci´ n de verdad” (el desarrollo del n´ cleo). o u Seg´ n escribi´ Linus en comp.os.minix, u o “¿Suspiras por los fabulosos d´as de Minix-1.1, cuando los hombres eran hombres y escrib´an ı ı sus propios controladores de dispositivo? ¿Te encuentras sin un buen proyecto y te mueres por hincar los dientes a un sistema operativo que puedas intentar modificar para tus necesidades? Encuentras frustrante que todo en Minix funcione? ¿Se acabaron las amanecidas para conseguir que funcione ese programa ca˜ ero? Entonces este mensaje puede que sea para ti. n “Tal y como mencion´ hace un mes, estoy trabajando en una versi´ n libre de una especie de e o Minix para ordenadores AT-386. Por fin ha alcanzado el estado en el que incluso se puede usar (aunque a lo mejor no se puede, depende de para qu´ lo quieras), y deseo dejar el c´ digo fuente e o libre para que alcance mayor distribuci´ n. S´ lo es la versi´ n 0.02. . . , pero ya he ejecutado con o o o ´ exito bash, gcc, gnu-make, gnu-sed, compress, etc´ tera, bajo este sistema”. e Despu´ s de la versi´ n 0.03 Linus dio el salto a la versi´ n 0.10, seg´ n empez´ a trabajar m´ s gente en el e o o u o a sistema. Despu´ s de varias revisiones posteriores, Linus increment´ el n´ mero de versi´ n a la 0.95 en marzo e o u o de 1992 para reflejar su impresi´ n de que el sistema estaba preparado para un inminente lanzamiento “oficial”. o (Generalmente a un programas no se le numera con la versi´ n 1.0 hasta que no est´ en teor´a completo, o o a ı libre de errores). Casi a˜ o y medio despu´ s, a finales de diciembre de 1993, el n´ cleo de GNU/Linux estaba n e u todav´a en la versi´ n 0.99.p114, acerc´ ndose asint´ ticamente a la versi´ n 1.0. En el momento de escribir esto, ı o a o o la versi´ n estable actual es la 2.2.10 y est´ en desarrollo la versi´ n 2.3. o a o Casi todos los paquetes de programas UNIX importantes libremente redistribuibles han sido portados a GNU/Linux, y tambi´ n hay abundante software comercial. La lista de hardware soportado es mayor que e la del n´ cleo original. Mucha gente ha ejecutado benchmarks (pruebas de rendimiento) en sistemas Linux u 80486 y han encontrado que es comparable a estaciones de trabajo de Sun Microsystems y Digital Equipment Corporation. ¿Qui´ n hubiera adivinado que este “peque˜ o” cl´ nico de UNIX iba a crecer tanto como para e n o dominar el mundo de la computaci´ n personal en su totalidad? o

1.3. Caracter´sticas del sistema ı
GNU/Linux soporta caracter´sticas que tambi´ n se encuentran en otras implementaciones de UNIX, y ı e otras muchas que no se encuentran en ninguna otra. En esta secci´ n, daremos un r´ pido paseo por las caraco a ter´sticas del n´ cleo de GNU/Linux. ı u GNU/Linux es un sistema operativo de multitarea real y multiusuario, como lo son todas las otras versiones de UNIX. Esto significa que muchos usuarios pueden autentificarse en el sistema y ejecutar programas, y hacerlo de forma simult´ nea. a

4

Introducci´ n a GNU/Linux o

El sistema GNU/Linux es en su mayor´a compatible con varios est´ ndares de UNIX (hasta donde pueda ı a tener est´ ndares el UNIX) en lo que respecta al c´ digo fuente de los programas, entre ellos los est´ ndares a o a POSIX.1, UNIX System V, and Berkely System Distribution UNIX. GNU/Linux se ha desarrollado con la idea de que el c´ digo fuente sea portable de un sistema a otro, y as´ es f´ cil encontrar caracter´sticas de uso o ı a ı general que son compartidas por m´ s de una plataforma. Gran parte del software para UNIX disponible en a Internet y en otros lugares compila para GNU/Linux sin hacer modificaciones. Adem´ s, es libremente redisa tribuible todo el c´ digo fuente del sistema GNU/Linux, a saber, el n´ cleo, los controladores de dispositivo, o u las bibliotecas, los programas de usuario y las herramientas de desarrollo. Otros rasgos internos espec´ficos de GNU/Linux incluyen control de tareas POSIX (que utilizan int´ rpreı e ´ tes de ordenes como chs y bash, pseudoterminales (dispositivos tty), y soporte para teclados nacionales o personalizados que se cargan din´ micamente. GNU/Linux soporta consolas virtuales que le permia ´ ten cambiar entre sesiones de login en una unica consola del sistema. Los usuarios del programa screen encontrar´ n familiar la implementaci´ n de la consola virtual de GNU/Linux. a o El kernel puede emular instrucciones del coprocesador 387; los sistemas sin un coprocesador matem´ tico a pueden ejecutar programas que requieren capacidades matem´ ticas de coma flotante. a El sistema operativo soporta varios sistemas de ficheros para almacenar los datos, como el sistema de ficheros ext2, dise˜ ado espec´ficamente para GNU/Linux. Hay soporte para los sistemas de ficheros de Xenix n ı y UNIX System V, as´ como los sistemas de ficheros de MS-DOS y el VFAT de Windows 98, en disco duro ı y en disquete. El sistema de ficheros de CD-ROM ISO 9660 tambi´ n est´ soportado. Hablaremos m´ s acerca e a a de los sistemas de ficheros en los cap´tulos 2 y 4. ı GNU/Linux proporciona una implementaci´ n completa del software de redes TCP/IP. Incluidos controlao dores de dispositivo para muchas tarjetas Ethernet habituales, y tambi´ n SLIP (Serial Line Internet Protocol) e y PPP (Point-to-Point Protocol), que proporcionan acceso a una red TCP/IP a trav´ s de una conexi´ n serie, e o PLIP (Parallel Line Internet Protocol), y NFS (Network File System - Sistema de Ficheros de Red). Tambi´ n e est´ soportada toda la gama de clientes y servicios TCP/IP, lo que incluye FTP, telnet, NNTP y SMTP. a Hablaremos m´ s acerca del trabajo en red en el cap´tulo 6. a ı El n´ cleo de GNU/Linux se ha desarrollado para utilizar las caracter´sticas del modo protegido del prou ı cesador 80386 o superior. En particular, GNU/Linux usa el paradigma de manejo de la memoria basado en descriptores y en modo protegido. Cualquiera que est´ familiarizado con el modo protegido del 386 sabe que e fue dise˜ ado para sistemas multitarea como el Unix. GNU/Linux explota esta funcionalidad. n El n´ cleo soporta ejecutables con paginaci´ n por demanda: s´ lo aquellos segmentos de un programa que u o o realmente se utilizan se pasan a la memoria desde el disco. Igualmente, se comparten las p´ ginas de memoria a de los ejecutables mediante la t´ cnica copy-on-write. Si varias copias de un programa se est´ n ejecutando a e a la vez, comparten la memoria f´sica, lo cual reduce su uso global. ı Para conseguir aumentar la cantidad total de memoria disponible, GNU/Linux implementa tambi´ n la e 1 paginaci´ n de disco. Puede reservarse en el disco hasta un Gigabyte de espacio de intercambio en hasta o 8 particiones de 128 megas cada una). Cuando el sistema requiere m´ s memoria f´sica, manda al fichero de a ı intercambio las aplicaciones inactivas, permiti´ ndole ejecutar aplicaciones m´ s grandes y dar servicio a otros e a usuarios. Aun as´, el intercambio de p´ ginas al disco no sustituye a la memoria RAM, que es mucho m´ s ı a a r´ pida. a El n´ cleo de GNU/Linux implementa tambi´ n una unificaci´ n de la memoria f´sica y de la memoria de u e o ı intercambio en el disco. Toda la memoria que quede libre es usada para intercambio, y se reduce al ejecutar programas grandes. Los ejecutables usan bibliotecas compartidas; esto significa que los ejecutables comparten el c´ digo o ´ com´ n de las bibliotecas en un unico fichero, como sucede en SunOS. Los ficheros ejecutables ocupan meu nos espacio en disco, especialmente cuando usan funciones de muchas bibliotecas distintas. Tambi´ n existen e bibliotecas enlazadas est´ ticamente para el depurado de objetos y para mantener ficheros ejecutables “coma pletos” cuando las bibliotecas din´ micas no est´ n instaladas. Las bibliotecas se enlazan din´ micamente en a a a tiempo de ejecuci´ n, y el programador puede usar sus propias rutinas en lugar de las rutinas de la biblioteca o
1 El espacio de intercambio no tendr´a que llamarse as´; no se mandan al espacio de intercambio procesos enteros, sino m´ s bien ı ı a determinadas p´ ginas. Claro est´ que en la mayor´a de los casos ir´ n al fichero de intercambio procesos enteros, pero esto no siempre es a a ı a cierto

1.4. Programas

5

est´ ndar. a Para facilitar la depuraci´ n de programas, el n´ cleo genera volcados de memoria core dump para el o u an´ lisis post-mortem cuando una aplicaci´ n falla. Mediante los core dump y un ejecutable enlazado con a o soporte de depuraci´ n, los programadores pueden determinar la causa de que el programa haya fallado. o

1.4. Programas
Pr´ cticamente ha sido portada a GNU/Linux cualquier utilidad que pudiera encontrarse en un sistema a ´ UNIX est´ ndar, entre ellas las ordenes b´ sicas como ls, awk, tr, sed, bc y more. El entorno de trabajo a a ´ familiar en otros sistemas UNIX se ha replicado en GNU/Linux. Se incluyen todas las ordenes y utilidades ´ (Los nuevos usuarios de UNIX o GNU/Linux deben ver el Cap´tulo 3 para una introducci´ n a las ordenes ı o b´ sicas de UNIX) a Est´ n disponibles muchos editores de texto, entre ellos vi, ex, pico, jove y GNU Emacs, y variantes a como Lucid emacs, que incorpora extensiones para el sistema X-Window, y joe. Es muy posible que el editor de texto al que este acostumbrado haya sido portado a GNU/Linux. Es interesante la cuesti´ n de elegir un editor de texto. Muchos usuarios de UNIX prefieren editores “seno cillos” como vi; el autor original escribi´ este libro con vi. Pero vi tiene muchas limitaciones debido a su o antig¨ edad, y los modernos editores como emacs han ganado popularidad. GNU Emacs soporta un comu ´ pleto lenguaje e int´ rprete de macros basado en Lisp, una potente sintaxis de ordenes y otras extensiones. e Hay paquetes de macros para emacs que te permiten leer correo electr´ nico y noticias, editar el contenido o de directorios, e incluso atreverse con sesiones de psicoterapia de inteligencia artificial. (indispensables para hackers del GNU/Linux muy estresados). Muchas de las utilidades b´ sicas de GNU/Linux son software GNU. Las utilidades GNU soportan caraca ter´sticas avanzadas que no se encuentran en las versiones est´ ndar de los programas de BSD y System V. ı a Por ejemplo el clon GNU de vi, llamado elvis, incluye un lenguaje estructurado de macros que difiere de la interpretaci´ n original. Sin embargo, se pretende que las utilidades GNU permanezcan compatibles con o sus hom´ logos de BSD y System V. Mucha gente considera que las versiones GNU son superiores a los o originales. ´ ´ Una shell o int´ rprete de ordenes es un programa que lee y ejecuta ordenes del usuario. Adem´ s muchas e a shells proporcionan caracter´sticas como el control de tareas, manejo de varias tareas a la vez, redirecci´ n ı o ´ ´ de las entradas y salidas, y un lenguaje de ordenes para escribir shell scripts, un gui´ n de ordenes. Un gui´ n o o ´ ´ de ordenes es un programa escrito en el lenguaje de ordenes de la shell, an´ logo a un fichero .bat del DOS. a Est´ n disponibles para GNU/Linux muchos tipos de shells. La diferencia m´ s importante entre las shells a a ´ ´ es el lenguaje de ordenes. Por ejemplo, el C SHell (csh) utiliza un lenguaje de ordenes similar al lenguaje de ´ programaci´ n C. El cl´ sico Bourne SHell sh usa un lenguaje de ordenes diferente. La elecci´ n de una shell o a o ´ se basa a menudo en el lenguaje de ordenes que proporciona, y determina en gran medida la calidad de tu entorno de trabajo en GNU/Linux. La Bourne Again Shell GNU (bash) es una variante de la Bourne Shell que incluye muchas caracter´stiı ´ ´ cas avanzadas como el control de tareas, el historial de ordenes, conclusi´ n de ordenes y nombres de ficheros, o ´ un interface tipo emacs para editar l´neas de ordenes y otras poderosas extensiones al lenguaje est´ ndar ı a de la shell Bourne est´ ndard. Otra shell popular es tcsh, una versi´ n de la C Shell con funciones avanzadas a o similares a las que encontramos en bash. Otras shells son zsh, una shell peque˜ a similar a la Bourne shell; n Korn Shel; la ash del BSD y rc Shell de Plan 9. ´ Si es la unica persona que va a usar el sistema y planea usar s´ lo vi y bash como editor y shell, o respectivamente, no hay raz´ n para instalar otros editores o shells. Esta actitud de “h´ galo usted mismo” es o a la t´ nica general entre los usuarios y hackers de GNU/Linux. o

1.4.1.

Formateado y procesado de textos

Pr´ cticamente todos los usuarios de ordenadores necesitan de un sistema para preparar documentos. En a el mundo de los ordenadores personales, el procesamiento de textos es lo m´ s habitual: Se trata de editar a y manipular textos en un entorno de tipo “lo que ves es lo que obtienes”, obteniendo copias impresas del

6

Introducci´ n a GNU/Linux o

documento completo con sus gr´ ficos, tablas y adornos. a Existen procesadores de textos comerciales para el mundo UNIX producidos por Corel, Star Division y Applix, pero es m´ s com´ n el formateo de textos, que es conceptualmente diferente. En los sistemas de a u formateo de documentos, el texto es introducido en un lenguaje de descripci´ n de p´ ginas que describe la o a forma en que ha de darse formato al texto. En lugar de introducir el texto en un entorno de procesador de textos, se puede modificar el texto con cualquier editor, como vi o GNU Emacs. Una vez hemos acabado con la introducci´ n del texto fuente (en el lenguaje de formateo de texto) un programa aparte convierte el texto o fuente en un formato adecuado para su impresi´ n. Es un proceso an´ logo al de programar en un lenguaje, o a como el C, y “compilar” el documento en un formato imprimible. En GNU/Linux hay disponibles muchos sistemas de formateo de documentos. Uno de ellos es groff, la versi´ n GNU del formateador de documentos troff, un cl´ sico desarrollado originalmente en los laboo a ratorios Bell y que a´ n se usa en muchos sistemas UNIX de todo el mundo. Otro sistema moderno es TEX, u desarrollado por Donald Knuth, famoso en la ciencia de la computaci´ n. Tambi´ n pueden obtenerse dialectos o e A de TEX, como LTEX. Los formateadores como groff y TEX se diferencian sobre todo en la sintaxis de su lenguaje de formateo. Elegir un sistema concreto en vez de otro es una decisi´ n que se toma bas´ ndose en las utilidades disponibles o a que satisfagan nuestras necesidades, y en el gusto personal. Muchos consideran que el lenguaje de formateo de groff es un poco oscuro y encuentran que TEX es m´ s legible. Sin embargo, groff, produce salida ASCII, que puede leerse en un terminal, mientras que TEX a est´ pensado sobre todo para que la salida sea por un dispositivo de impresi´ n. Hay que disponer de algunos a o programas adicionales para conseguir salida ASCII a partir de textos formateados en TEX y para convertir un texto introducido en TEX al formato de groff. Otro programa es texinfo, una extensi´ n de TEX utilizada para la documentaci´ n de los programas lleo o vada a cabo por la Free Software Foundation. Texinfo puede producir salida de impresora o un hypertexto navegable en l´nea de tipo “Info”, y todo ello a partir de un s´ lo fichero de texto fuente. Los ficheros “info” ı o son la principal fuente de documentaci´ n de los programas GNU, como por ejemplo GNU Emacs. o En la comunidad inform´ tica se usan extensamente los formateadores de documentos para producir coa A municaciones, tesis, art´culos para revistas y libros. (Este libro ha sido generado con LTEX). La capacidad de ı manejar como un fichero de texto el documento fuente escrito en lenguaje de formateo abre la puerta a muchas posibilidades de extensi´ n del sistema mismo de formateado. Gracias a que el documento fuente no se o almacena en un oscuro formato que s´ lo puede leer un procesador de textos determinado, los programadores o pueden escribir analizadores y traductores para el lenguaje de formateo, ampliando as´ el sistema. ı ¿A qu´ se parece un sistema de formateo? En general el fichero de texto fuente formateado est´ compuesto e a en su mayor parte por el texto en s´, adem´ s de unos c´ digos de control para producir efectos como cambios ı a o de tipo de letra y m´ rgenes, creaci´ n de listas, etc´ tera. a o e Examina el siguiente texto: Sr. Torvalds: Andamos bastante mosqueados con sus planes de implementar sugesti´ n post-hipn´ tica en el o o c´ digo del controlador del terminal de GNU/Linux. Nos sentimos as´ por tres razones: o ı 1. 2. 3. Mostrar mensajes subliminales en el controlador del terminal no s´ lo es inmoral, sino o adem´ s una p´ rdida de tiempo. a e Se ha demostrado que las “sugestiones post-hipn´ ticas” carecen de efecto cuando se usan o contra incautos hackers de UNIX; Ya hemos implementado descargas el´ ctricas de alto voltaje en el c´ digo del login de e o GNU/Linux, como medida de seguridad.

Esperamos que lo reconsidere.
A Este texto deberia aparecer en el lenguaje de formateo LTEX como lo siguiente:

\begin{quote}

Programas

7

Sr. Torvalds: Andamos bastante mosqueados con sus planes de implementar {\em sugesti´n post-hipn´tica\/} o o en el c´digo del controlador del terminal de o {\bf {\linux}}. Nos sentimos as´ por tres razones: ı \begin{enumerate} \item Mostrar mensajes subliminales en el controlador del terminal no s´lo es inmoral, sino adem´s una p´rdida de tiempo. o a e \item Se ha demostrado que las ‘‘sugestiones post-hipn´ticas’’ o carecen de efecto cuando se usan contra incautos hackers de UNIX; \item Ya hemos implementado descargas el´ctricas de alto voltaje e en el c´digo del {\tt login} de {\linux}, como medida de o seguridad. \end{enumerate} Esperamos que lo reconsidere. \end{quote} El autor introduce el texto utilizando un editor de texto cualquiera y genera una salida formateada tras A procesar el texto fuente con LTEX. A primera vista, el sistema de formateo puede parecer arcano, pero en realidad es bastante sencillo de entender. Utilizar un sistema de formateo de documentos obliga a usar est´ ndares a tipogr´ ficos al escribir. Todas las listas numeradas dentro del documento tendr´ n el mismo aspecto, a menos a a que su autor modifique la definici´ n de lista numerada. El objetivo es permitir al autor concentrarse en el o texto, no en las convenciones tipogr´ ficas. a Cuando se escribe con un editor de textos, generalmente no se piensa en el aspecto que tendr´ el texto a ´ impreso. El autor se acostumbra a imaginar la apariencia que tendr´ el texto gracias a las ordenes de formateo a en el fichero fuente. Los procesadores de textos tipo “Lo que ves es lo que obtienes” (en ingl´ s WYSIWYG) son atractivos e por muchos conceptos. Proporcionan un interfaz visual f´ cil de usar para la edici´ n de documentos. Pero a o este interfaz est´ limitado a los aspectos de la disposici´ n del texto que son accesibles para el usuario. Por a o ejemplo, muchos procesadores de textos proporcionan todav´a un lenguaje especial de formateo para producir ı ´ expresiones complicadas, como las f´ rmulas matem´ ticas. Esto ultimo constituye formateo de documentos, o a aunque en una escala mucho m´ s modesta. a Un beneficio no tan sutil del formateo de documentos es que se puede especificar exactamente el formato que se necesita. En muchos casos, el sistema de procesado de documentos requiere de una especificaci´ n de o formato. Los sistemas de formateo de documentos permiten adem´ s editar el texto con cualquier editor de a texto, en lugar de basarse en c´ digos de formato que queden escondidos detr´ s del opaco interfaz de usuario o a de un procesador de textos. El precio a pagar por esta potencia y flexibilidad es la falta de un interfaz de tipo “lo que ves es lo que obtienes”. Existes programas que te dejan visualizar el documento formateado en un dispositivo de pantalla gr´ fica a antes de imprimirlo. El programa xdvi muestra bajo el entorno X-Window un fichero “independiente del dispositivo”, generado por el sistema TEX. Aplicaciones del tipo de xfig y gimp proporcionan interfaces gr´ ficos para dibujar figuras y diagramas, que se convierten posteriormente al sistema de formateo de texto a para poder incluirlos en tus documentos. Los formateadores de texto como troff ya estaban ah´ mucho antes de que hubiera a disposici´ n del ı o p´ blico ning´ n procesador de textos. Muchos prefieren a´ n hoy su versatilildad y su independiencia del u u u entorno gr´ fico. a Existen muchas utilidades relacionadas con el formateo de texto. El poderoso sistema METAFONT, que se usa para dise˜ ar fuentes de TEX, viene incluido con la versi´ n de TEX que se ha portado a GNU/Linux. n o Otros programas son ispell, un corrector ortogr´ fico; makeindex genera ´ndices para los documentos a ı A en LTEX; hay muchos otros paquetes basados en groff y TEX que son capaces de formatear diversos tipos

8

Introducci´ n a GNU/Linux o

de textos t´ cnicos y matem´ ticos. Tambi´ n existen programas que transforman el texto en TEX o groff a e a e una infinidad de formatos, y viceversa. Un lenguaje nuevo en la escena es YODL, escrito por Karel Kubat. Se trata de un lenguaje f´ cil de a A X, SGML y HTML. aprender, y que incorpora filtros para producir salidas en diversos formatos, como LTE

1.4.2.

Lenguajes y utilidades de programaci´ n o

GNU/Linux proporciona un completo entorno de programaci´ n UNIX que incluye todas las bibliotecas o est´ ndar, herramientas de programaci´ n, compiladores y depuradores que podr´an esperarse en otro sistema a o ı UNIX. Est´ n soportados los est´ ndares, como POSIX.1, lo que permite que los programas escritos en GNU/Linux a a puedan portarse f´ cilmente a otros sistemas. Los programadores UNIX profesionales y los administradores de a sistemas usan GNU/Linux para desarrollar programas en casa, luego trasladan los programas a sus sistemas UNIX en el trabajo. Ello no s´ lo les ahorra gran cantidad de tiempo y dinero, sino que adem´ s les permite o a trabajar en la comodidad de su propia casa. (Uno de los autores de este libro usa su sistema para desarrollar y probar aplicaciones para el sistema X-Window en casa, y que pueden compilarse directamente en estaciones de trabajo en otro lugar). Los estudiantes de ingenier´a inform´ tica aprenden programaci´ n UNIX y exploran ı a o otros aspectos del sistema, como la arquitectura del n´ cleo. u Con GNU/Linux tienes acceso a un completo juego de bibliotecas y utilidades de programaci´ n, adem´ s o a del n´ cleo completo y el c´ digo fuente de las bibliotecas. u o Dentro del mundo de los programas UNIX, los sistemas operativos y las aplicaciones normalmente est´ n a programados en C o en C++. El compilador est´ ndar de C y C++ para GNU/Linux es el compilador GNU a gcc; se trata de un compilador avanzado y moderno que soporta C++ con las caracter´sticas de AT&T 3.0, ı adem´ s de Objective C, otro dialecto de C orientado a objetos. a Adem´ s de C y C++, se han portado a GNU/Linux otros lenguajes de programaci´ n interpretados o a o compilados, por ejemplo Smalltalk, FORTRAN, Java, Pascal, LISP, Scheme y Ada (si es tan masoquista como para programar en Ada, pues adelante, no le detendremos). Tambi´ n existen varios ensambladores para e escribir c´ digo en el modo protegido del 80386, as´ como los favoritos para el hacking del UNIX como Perl o ı ´ (el lenguaje de guiones que acabar´a con todos los de su especie), el Tcl/Tk (un procesador de ordenes al ı estilo del int´ rprete que incluye soporte para desarrollar peque˜ as aplicaciones bajo el sistema X-Window). e n El depurador avanzado gdb permite examinar un programa de l´nea de c´ digo en l´nea de c´ digo, o bien ı o ı o examinar la causa del “cuelgue” de una aplicaci´ n examinando un volcado del sistema (core dump). La utilio dad gprof para perfilado permite obtener estad´siticas sobre las prestaciones de su programa, indic´ ndole en ı a qu´ puntos el programa pasa la mayor parte de su tiempo de ejecuci´ n. Como ya se ha mencionado antes, el e o editor de texto GNU Emacs proporciona edici´ n interactiva y entornos de compilaci´ n para varios lenguajes o o de programaci´ n. Otras herramientas son el GNU make e imake que controlan la compilaci´ n de grandes o o aplicaciones, y RCS un sistema para el bloqueo de c´ digo fuente y el control de revisiones. o Finalmente, GNU/Linux soporta bibliotecas compartidas enlazadas din´ micamente (DLLs, bibliotecas de a enlace din´ mico). El c´ digo com´ n a muchas subrutinas se enlaza en tiempo de ejecuci´ n. Estas bibliotecas a o u o (DLLs) le permiten sobreescribir las funciones por defecto con su propio c´ digo. Pongamos que quiere eso cribir su propia versi´ n de la rutina malloc(), entonces el enlazador usar´ su nueva rutina en lugar de la o a que hay en las bibliotecas.

1.4.3.

Introducci´ n al sistema X-Window o

El sistema X-Window (atenci´ n al singular: X-Window) o simplemente “las X”, es un interfaz gr´ fico de o a usuario est´ ndar en las m´ quinas UNIX; se trata de un potente entorno que soporta todo tipo de aplicaciones. a a Dentro del sistema de ventanas X-Window, puede tener a la vez varias terminales en la pantalla, cada una con su sesi´ n propia. A menudo se usa un dispositivo se˜ alador, como un rat´ n, aunque en teor´a se puede o n o ı ´ trabajar sin el. Se han escrito espec´ficamente para las X muchas aplicaciones, entre ellas juegos, utilidades para gr´ ficos ı a y para programaci´ n. GNU/Linux y las X hacen de su sistema una estaci´ n de trabajo de toda confianza. o o Con una red TCP/IP, su m´ quina GNU/Linux puede visualizar aplicaciones que se est´ n ejecutando en otra a e

Programas

9

m´ quina. a El sistema de ventanas X-Window se desarroll´ originariamente en el Massachussets Institute of Techo nology (MIT) y es de libre distribuci´ n. Muchas empresas, por su parte, han distribuido ampliaciones proo pietarias al sistema X-Window. La versi´ n de las X para GNU/Linux es XFree86, una versi´ n libremente o o distribuible de X11R6. XFree86 soporta una amplia variedad de tarjetas de v´deo VGA, S´ per VGA, y tarı u jetas aceleradoras y 3D. XFree86 es una distribuci´ n completa del software X-Window, y contiene lo que o en terminolog´a de las X se llama el servidor, adem´ s de muchas aplicaciones, utilidades, bibliotecas para el ı a programador y documentaci´ n. o Entre las aplicaciones X est´ ndar se incluye xterm, un emulador de terminal que se usa para la mayor a parte de aplicaciones basadas en texto que se ejecutan dentro de una ventana, xdm, que gestiona las sesiones (los ’logins’), xclock, que muestra un reloj sencillo, xman, un lector de p´ ginas de manual basado en las a X, y xless. Las aplicaciones GNU/Linux para X-Window son muchas; tantas, de hecho, que son demasiadas para nombrarlas aqu´, pero entre ellas se cuentan hojas de c´ lculo, procesadores de texto, aplicaciones ı a para gr´ ficos y navegadores de internet como el Netscape Navigator. Muchas otras aplicaciones se pueden a conseguir aparte. En teor´a, cualquier aplicaci´ n escrita para las X compila sin problemas bajo GNU/Linux. ı o El interfaz del sistema X-Window est´ controlado en gran medida por el gestor de ventanas. Este amigaa ble programa se encarga de situar las ventanas y el interfaz de usuario que las mueve y las cambia de tama˜ o, n minimiza las ventanas en iconos, y controla la apariencia de los marcos de las ventanas, entre otras tareas. XFree86 incluye twm, el cl´ sico gestor de ventanas del MIT, pero tambi´ n gestores avanzados como el Open a e Look Virtual Window Manager (olvwm). Es popular entre los usuarios de UNIX el fvwm, un gestor de ventanas compacto que requiere menos de la mitad de memoria que el twm. Proporciona apariencia tridimensional para las ventanas y un escritorio virtual. El usuario mueve el rat´ n hasta el borde de la ventana, y el escritorio o se desplaza como si fuera mucho m´ s grande de lo que en realidad es. Fvwm es muy configurable y permite a acceso a sus funciones tanto desde el teclado como desde el rat´ n. Muchas distribuciones de GNU/Linux o han usado fvwm como su gestor de ventanas est´ ndar. Una versi´ n de fvwm llamada fvwm95-2 ofrece el a o aspecto del sistema de ventanas Microsoft Windows. La distribuci´ n de XFree86 incluye bibliotecas de programaci´ n para h´ biles programadores que deseen o o a desarrollar aplicaciones X. Los conjuntos de controles Athena, Open Look y Xaw3D est´ n soportados. Se a incluyen todas las fuentes est´ ndar, los mapas de bits y las p´ ginas de manual. Est´ soportado tambi´ n PEX a a a e (un interfaz de programaci´ n para gr´ ficos tridimiensionales). o a Muchos programadores en X usan el conjunto de controles Motif para sus desarrollos. Varias empresas venden licencias mono o multiusuario para las versiones compiladas de Motif. Puesto que Motif como tal es relativamente caro, no hay demasiados usuarios de GNU/Linux que lo tengan. No obstante, pueden redistribuirse librementes los binarios con Motif vinculado est´ ticamente. Si usas Motif para escribir un programa, a puedes producir un binario para que los usuarios que no tengan Motif puedan usarlo. Una advertendia importante para usar el sistema X-Window es la cuesti´ n del hardware necesario. Un o 386 con 4 megabytes de RAM puede ejecutar las X, pero se necesitan 16 megas o m´ as de memoria RAM a para usarlas con comodidad. Es ideal tener tambi´ n un procesador m´ s r´ pido, pero es mucho m´ s importante e a a a disponer de memoria f´sica suficiente. Adem´ s de esto si quiere adquirir un rendimiento de v´deo c´ modo, ı a ı o recomendamos utilizar una tarjeta de v´deo aceleradora, en una ranura AGP o en una PCI. En los tests de ı rendimiento se han conseguido resultados que exceden de los 300.000 xstones2 . Con el hardware adecuado, hallar´ que su m´ quina GNU/Linux ejecutando las X es tan r´ pida o m´ s que ejecutar las X en otras estaciones a a a a de trabajo UNIX. En el Cap´tulo 5 trataremos de la instalaci´ n y uso de las X en su sistema. ı o

1.4.4.

Introducci´ n a las redes o

¿Desea comunicarse con el mundo? GNU/Linux soporta dos protocolos b´ sicos en UNIX: TCP/IP y a UUCP. El protocolo TCP/IP (Transmission Control Protocol/Internet Protocol) es el paradigma de redes que permite a los sistemas de todo el mundo intercomunicarse mediante una sola red, Internet. Con GNU/Linux,
2 N.

del T.: Ver http://www.rarcoa.com/ thebard/X11-performance.html

10

Introducci´ n a GNU/Linux o

TCP/IP y una conexi´ n a Internet 3 , puedes comunicarte con usuarios y ordenadores a trav´ s del correo o e electr´ nico, noticias, y transferencia de ficheros por FTP. o La mayor parte de las redes TCP/IP utilizan Ethernet como transporte f´sico de la red. GNU/Linux soporta ı las tarjetas de red Ethernet m´ s usuales y los interfazs para ordenadores personales, como los adaptadores a pocket Ethernet y PCMCIA. Sin embargo, y debido a que no todo el mundo tiene una conexi´ n Ethernet en casa, GNU/Linux soporta o tambi´ n SLIP (Serial Line Internet Protocol, protocolo de Internet por l´nea serie) y PPP (Point-to-Point e ı Protocol, protocolo de punto a punto), que proporcionan el acceso a Internet a trav´ s de un m´ dem. Mue o chos negocios y universidades disponen de servidores PPP a los que conectarse. De hecho, si su sistema GNU/Linux dispone de una conexi´ n Ethernet y un m´ dem, puede convertirse en un servidor SLIP o PPP o o para otros ordenadores. NFS (Network File System, sistema de ficheros de red) le permite compartir ficheros con otras m´ quinas a de la red de forma transparente. FTP (File Transfer Protocol, protocolo de transferencia de ficheros) le permite transferir ficheros desde y hacia otro ordenador. Sendmail env´a y recibe correo electr´ nico a trav´ s ı o e del protocolo SMTP. C-News e INN son sistemas de noticias basados en el protocolo NNTP; y telnet, ´ rlogin, rsh y ssh le permiten autentificarse y ejecutar ordenes en otras m´ quinas de la red. Con finger a podra obtener informaci´ n sobre otros usuarios de Internet. o GNU/Linux tambi´ n soporta la conectividad con Microsoft Windows gracias a Samba4 y conectividad e con Macintosh a trav´ s de AppleTalk y LocalTalk. Tambi´ n se incluye el soporte para el protocolo IPX de e e Novell. GNU/Linux tiene disponible una bater´a completa de lectores de correo y noticias, entre ellos elm, pine, ı mutt, rn, nn, y tin. Cualquiera que sea su preferencia, puede configurar el sistema GNU/Linux para que env´e y reciba noticias y correo electr´ nico desde todo el mundo. ı o El sistema proporciona un interfaz est´ ndar de programaci´ n de sockets UNIX. Se puede migrar a a o GNU/Linux pr´ cticamente cualquier programa que use TCP/IP. El servidor de las X para GNU/Linux tama bi´ n soporta TCP/IP, y las aplicaciones que se ejecutan en otros sistemas pueden usar la pantalla de su sistema e local para visualizarse. ´ En el Cap´tulo 6 trataremos de la instalaci´ n del software TCP/IP, y con el SLIP y PPP. ı o UUCP (UNIX-to-UNIX Copy, copia de UNIX a UNIX) es un mecanismo ya bastante antiguo para transferir correo electr´ nico y noticias entre m´ quinas UNIX. Hist´ ricamente, las m´ quinas UUCP estaban coo a o a nectadas por l´neas telef´ nicas a trav´ s de un m´ dem, pero UUCP es capaz igualmente de transferir datos a ı o e o trav´ s de una red TCP/IP. Si no dispone de acceso a una red TCP/IP (acceso f´ cil de obtener en Espa˜ a con e a n el acceso gratuito a Internet), puede configurar su sistema para enviar ficheros y correo electr´ nico utilizando o UUCP. Para m´ s informaci´ n, v´ ase el cap´tulo 6. a o e ı

1.4.5.

Telecomunicaciones y software para BBS

Si dispone de un M´ dem, podr´ comunicarse con otras m´ quinas gracias a los paquetes de telecomuo a a nicaciones que proporciona Linux. Mucha gente usa sus programas de telecomunicaciones para acceder a sistemas de BBS (Bulletin Board System, Sistema de tabl´ n de anuncios electr´ nico), y a proveedores de o o servicios en l´nea como Prodigy, Compuserve America Online. La gente utiliza el m´ dem para conectarse a ı o los sistemas UNIX del trabajo o el centro educativo. Con el m´ dem se pueden enviar y recibir faxes. o Un conocido paquete de comunicaciones para Linux es seyon, que nos proporciona un interfaz de usuario c´ modo y configurable bajo X Window, y que lleva incluido el soporte para los protocolos de transferencia o de ficheros Kermit y Z-Modem. Otros programas de telecomunicaciones son C-Kermit, pcomm y minicom. Son parecidos a los programas de telecomunicaciones disponibles para otros sistemas operativos, y resultan bastante f´ ciles de utilizar. a Si no tiene acceso a un servidor SLIP o PPP (v´ ase la secci´ n anterior) puede utilizar term para multie o plexar su l´nea serie. El programa term le hace posible abrir m´ s de una sesi´ n de login sobre una conexi´ n ı a o o por m´ dem. Le permite redirigir conexiones de un cliente X a su servidor X local a trav´ s de una l´nea serie. o e ı
3 N. 4 V´ ase e

del T.: Que en Espa˜ a han bajado mucho de precio o son gratuitas n Samba: Integrating UNIX and Windows, Copyright 1998 Specializad System Consultants.

Programas

11

Otro paquete de software, KA9Q, implementa un interfaz parecido, estilo SLIP. Ser un SySop de una BBS fue en tiempos una afici´ n predilecta y una forma de obtener ingresos para o mucha gente. GNU/Linux soporta una amplia gama de software para BBS, que en general es mucho m´ s a potente que el disponible para otros sistemas operativos. Con una l´nea telef´ nica, un m´ dem y GNU/Linux, ı o o puedes transformar tu sistema en una BSS y proporcionar acceso a los usuarios de todo el mundo. Entre los programas de BBS para linux est´ n XBBS y UniBoard BBS. a La mayor´a de programas de BBS constri˜ en al usuario a un sistema de men´ s en el que s´ lo est´ n ı n u o a disponibles determinadas funciones y aplicaciones. Una alternativa al acceso por BBS es el acceso UNIX ´ completo, que permite al usuario llamar a tu sistema y autentificarse normalmente. Esto ultimo requiere de una nada despreciable tarea de administraci´ n por parte del administrador, pero no es dif´cil proporcionar o ı acceso p´ blico a UNIX. Adem´ s de la red TCP/IP, puede hacer posible el acceso al correo y las noticias en u a su sistema. Si no dispone de acceso a una red TCP/IP o de una pasarela UUCP, GNU/Linux le permite todav´a ı comunicarse con redes de BBS como Fidonet, que le permiten intercambiar correo y noticias a trav´ s de una e l´nea telef´ nica. Para m´ s informaci´ n sobre telecomunicaciones y software de BBS bajo GNU/Linux, v´ ase ı o a o e el Cap´tulo 6. ı

1.4.6.

World Wide Web

Es necesario apuntar aqu´ que GNU/Linux lleva incluido el software de servidor web y tamb´en navegaı ı dores web. Miles de sistemas Linux ejecutan Apache en internet hoy en dia, entre ellos la sede de recursos de Linux www.linuxresources.com. En las distribuciones de GNU/Linux se incluyen diferentes navegadores web, adem´ s de otros que pueden a bajarse de internet. Entre los navegadores disponibles se cuentan Mosaic, Netscape, Arena, Amaya y Mozilla. Linux proporciona soporte completo para Java, applets CGI y Perl, la herramienta est´ ndar en el entorno a de programaci´ n GNU/Linux. o

1.4.7.

Interacci´ n con MS-DOS o

Diferentes utilidades existen como una interfaz con MS-DOS. La m´ s conocida es el emulador de MSa DOS de GNU/Linux, que permite ejecutar aplicaciones de MS-DOS directamente desde GNU/Linux. Aunque GNU/Linux y MS-DOS son sistemas operativos totalmente diferentes, el entorno en modo protegido 80386 le permite a las aplicaciones MS-DOS comportarse como si estuviesen en su entorno original 8086. ´ El emulador de MS-DOS est´ desarroll´ ndose, pero muchas aplicaciones se ejecutan ya bajo el. Evidentea a mente, las aplicaciones de MS-DOS que usen extra˜ as o esot´ ricas caracter´sticas del sistema, nunca podr´ n n e ı a soportarse, debido a las limitaciones inherentes de cualquier emulador. Por ejemplo, no espere ejecutar programas que usen el modo protegido 80386, como Microsoft Windows (es decir, en modo 386 mejorado). Comandos est´ ndar de MS-DOS y utlidades como PKZIP.EXE funcionan con los emuladores, al igual a que 4DOS, un sustituto de COMMAND.COM, FoxPro 2.0, Harvard Graphics, MathCad, Stacker 3.1, Turbo Assembler, Turbo C/C++, Turbo Pascal, Microsoft Windows 3.0 (en modo real) y WordPerfect 5.1. El emulador de MS-DOS viene a ser como una soluci´ n ad-hoc para aquellos que necesitan MS-DOS s´ lo o o para algunas aplicaciones y usan GNU/Linux para todo lo dem´ s. Esto no quiere decir que sea una completa a implementaci´ n de MS-DOS. Por supuesto que si el emulador de MS-DOS no satisface sus necesidades, o siempre puede utilizar alternativamente MS-DOS y GNU/Linux en el mismo sistema. Utilizando el “LILO boot loader”, puede especificar en el inicio qu´ sistema operativo debe arrancar. GNU/Linux adem´ s puede e a coexistir con otros sistemas operativos, como OS/2. GNU/Linux proporciona una interfaz sin fisuras para transferir ficheros entre GNU/Linux y MS-DOS. Puede montar una partici´ n MS-DOS o un floppy bajo GNU/Linux y acceder directamente a los ficheros de o MS-DOS que desee. Actualmente se est´ desarrollando WINE—un emulador de Microsoft Windows para el sistema Xa Window bajo GNU/Linux. Una vez que WINE est´ completado, los usuarios podr´ n ejecutar aplicaciones e a para MS-Windows directamente desde GNU/Linux. Esto es parecido a la aplicaci´ n comercial “WABI Wino dows emulator” de Sun Microsystems, tambi´ n disponible para GNU/Linux. e

12

Introducci´ n a GNU/Linux o

En el Cap´tulo 3 y en el Cap´tulo 6, hablaremos acerca de las utilidades de MS-DOS disponibles para ı ı GNU/Linux.

1.4.8.

Otras aplicaciones

Existen para GNU/Linux multitud de aplicaciones y utilidades de todo tipo, como cabe esperar de un sistema tan variado. El principal objetivo de GNU/Linux es la inform´ tica personal con UNIX, pero no es a ´ ´ este el unico campo en donde sobresale. El cat´ logo de programas cient´ficos y para empresas, sigue creciendo a ı y los desarrolladores de software comercial hace tiempo que han comenzado a contribuir al creciente fondo de aplicaciones para GNU/Linux. Hay disponibles en GNU/Linux varias bases de datos relacionales, por ejemplo Postgres, Ingres, Mbase, Oracle, Ibm DB2, Interbase, Sybase y ADABAS. Se trata de aplicaciones de bases datos profesionales, con todo tipo de caracter´sticas avanzadas, y de arquitectura cliente/servidor, semejantes a las que se encuentran en ı otras plataformas UNIX. Existen igualmente otros sistemas comerciales de bases de datos para GNU/Linux. Entre las aplicaciones cient´ficas se cuentan FELT (finite element analysis, an´ lisis de elementos finiı a tos); gnuplot (representaci´ n y an´ lisis de datos); Octave (un paquete de matem´ tica simb´ lica similar a o a a o MATLAB); xspread (calculadora y hoja de c´ lculo); xfractint (una adaptaci´ n a X Window del conoa o cido generador de fractales Fractint) y xlispstat (para estad´sticas). Otras aplicaciones: SPICE (dise˜ o ı n y an´ lisis de circuitos) y Khoros (dise˜ o y visualizaci´ n de im´ genes y se˜ ales digitales). Tambi´ n existen a n o a n e aplicaciones comerciales como Maple y Matlab. ´ Se han adaptado a GNU/Linux muchas m´ s aplicaciones, y ultimamente el n´ mero crece vertiginosamena u te. Si de ninguna manera encuentra lo que busca, siempre puede intentar migrar usted mismo la aplicaci´ n o desde otra plataforma. Migrar aplicaciones UNIX, del campo que sea, a GNU/Linux no suele presentar problemas. El completo entorno de programaci´ n UNIX del que dispone GNU/Linux sirve de base para cualquier o aplicaci´ n cient´fica. o ı GNU/Linux cuenta tambi´ n con un creciente n´ mero de juegos. Existen los cl´ sicos juegos de dragones y e u a mazmorras basados en texto, como Nethack y Moria; luego est´ n los MUDs (multi-user dungeons, dragones a y mazmorras multiusuario) que permiten que muchos usuarios interact´ en en una aventura basada en texto, u como DikuMUD y TinyMUD; y una pl´ yade de juegos para las X Window, como xtetris, netrek, y e xboard, la versi´ n X11 de gnuchess. El popular juego de disparar a todo lo que se mueva, Doom, y los o ´ ´ arcades que lo continuaron, Quake, Quake II y Quake III, han sido portados a GNU/Linux. Este ultimo ha salido para GNU/Linux antes que para algunas plataformas mayoritarias, Para los mel´ manos, GNU/Linux soporta gran variedad de tarjetas de sonido y programas asociados, coo mo CDplayer, que convierte su unidad de CD-Rom en un reproductor de CD’s, secuenciadores y editores MIDI, que permiten componer m´ sica para su reproducci´ n en un sintetizador u otro instrumento controlau o do por MIDI, editores de sonido para sonidos digitalizados, y codificadores y reproductores de ficheros en formato MP35 . ¿No encuentra la aplicaci´ n que busca? El Mapa de Software GNU/Linux, que se describe en el Ap´ ndio e ce A, enumera los paquetes de software que se han escrito o migrado a GNU/Linux. Otra manera de encontrar aplicaciones para GNU/Linux es buscar en los ficheros INDEX que se encuentran en los sitios FTP con programas para GNU/Linux, en el caso de que tenga acceso a Internet. La mayor parte del software libremente redistribuible disponible para UNIX compila sin problemas en GNU/Linux, o al menos con poca dificultad. Pero si todo lo dem´ s fallara, siempre puede programarse usted a mismo la aplicaci´ n. Si anda buscado una aplicaci´ n comercial, puede existir un cl´ nico libre. Incluso puede o o o considerar la posibilidad de animar a su compa˜ ´a proveedora de software a que lance una versi´ n de su pronı o grama para GNU/Linux. Muchos individuos y organizaciones han contactado ya con compa˜ ´as de software nı ´ y les han pedido que porten sus aplicaciones a GNU/Linux, con diferentes grados de exito.
5 N.

del T.: Durante la traducci´ n de este documento, el formato libre Ogg Vorbis ha alcanzado la versi´ n 1.0 o o

1.5. Acerca del Copyright

13

1.5. Acerca del Copyright
Linux est´ regido por lo que se conoce como la Licencia P´ blica General de GNU, o GPL, General Pua u blic License. La GPL fue desarrollada para el proyecto GNU por la Free Software Foundation, que podemos traducir como “Fundaci´ n por el Software Libre”. La licencia hace una serie de previsiones sobre la distribuo ci´ n y modificaci´ n del “software libre”. “Free” en este sentido se refiere a libertad, y no necesariamente al o o coste. La GPL puede ser interpretada de distintas formas, y esperamos que este resumen le ayude a entenderla y c´ mo afecta a Linux. Se incluye una copia completa de la Licencia al final del libro, en el Ap´ ndice E. o e Originalmente, Linus Torvalds lanz´ Linux bajo una licencia m´ s restrictiva que la GPL, que permit´a que o a ı el software fuera libremente distribuido y modificado, pero prohib´a su uso para ganar dinero. Sin embargo, ı la GPL autoriza que la gente venda su software, aunque no le permite restringir el derecho que su comprador tiene a copiarlo y venderlo a su vez. En primer lugar, hay que aclarar que el “software libre” de la GPL no es software de dominio p´ blico. El u software de dominio p´ blico carece de copyright y pertenece literalmente al p´ blico. El software regido por la u u GPL s´ tiene el copyright de su autor o autores. Esto significa que est´ protegido por las leyes internacionales ı a del copyright y que el autor del software est´ declarado legalmente. No solo porque un programa sea de libre a distribuci´ n puede consider´ rsele del dominio p´ blico. o a u El software regido por la GPL tampoco es “shareware”. Por lo general, el “shareware” es propiedad del autor, y exige a los usuarios que le paguen cierta cantidad por utilizarlo despu´ s de la distribuci´ n. Sin e o embargo, el software que se rige por la GPL puede ser distribuido y usado sin pagar a nadie. La GPL permite a los usuarios modificar el software y redistribuirlo. Sin embargo, cualquier trabajo derivado de un programa GPL se regir´ tambi´ n por la GPL. En otras palabras, una compa˜ ´a nunca puede tomar a e nı GNU/Linux, modificarlo y venderlo bajo una licencia restringida. Si un software se deriva de GNU/Linux, ´ este deber´ regirse por la GPL tambi´ n. a e La GPL permite distribuir y usar el software sin cargo alguno. Sin embargo, tambi´ n permite que una e persona u organizaci´ n gane dinero distribuyendo el software. Sin embargo, cuando se venden programas o GPL, el distribuidor no puede poner ninguna restricci´ n a la redistribuci´ n. Esto es, si usted compra un o o programa GPL, puede a su vez redistribuirlo gratis o cobrando una cantidad. Esto puede parecer contradictorio. ¿Por qu´ vender software cuando la GPL especifica que puede obtee nerse gratis? Por ejemplo, supongamos que una empresa decide reunir una gran cantidad de software GPL en un CD-ROM y venderlo. La empresa necesitar´ cobrar por el hecho de haber producido el CD, y as´mismo a ı querr´ ganar dinero. Esto est´ permitido por la GPL. a a Las organizaciones que vendan el software regido por la GPL deben tener en cuenta algunas restricciones. En primer lugar, no pueden restringir ning´ n derecho al comprador del programa. Esto significa que si u usted compra un CD-ROM con software GPL, podr´ copiar ese CD y revenderlo sin ninguna restricci´ n. En a o segundo lugar, los distribuidores deben hacer saber que el software se rige por la GPL. En tercer lugar, el vendedor debe proporcionar, sin coste adicional, el c´ digo fuente del software a distribuir. Esto permite a o cualquiera comprar el software y modificarlo a placer. Permitir a una empresa distribuir y vender programas que son gratis es bueno. No todo el mundo tiene acceso a Internet para conseguir los programas, como GNU/Linux, gratis. La GPL permite a las empresas vender y distribuir programas a esas personas que no pueden acceder al software con un coste bajo. Por ejemplo, muchas empresas venden GNU/Linuxen disquetes o CD-ROM por correo, y hacen negocio de esas ventas. Los desarrolladores de GNU/Linuxpueden no tener constancia de estos negocios. Por ejemplo, Linus ´ sabe que ciertas compa˜ ´as venden GNU/Linux, y el no va a cobrar nada por esas ventas. nı En el mundo del software libre, lo importante no es el dinero. El objetivo es permitir desarrollar y distribuir software fant´ stico asequible a cualquiera. En la siguiente secci´ n, hablaremos de c´ mo esto se aplica al a o o desarrollo de GNU/Linux.

˜ 1.6. Diseno y filosof´a de GNU/Linux ı
´ En ocasiones, los nuevos usuarios de GNU/Linux se crean falsas expectativas acerca de este. GNU/Linux ´ es un sistema operativo unico, y es importante entender su filosof´a y dise˜ o para usarlo de una manera ı n

14

Introducci´ n a GNU/Linux o

eficiente. Aunque usted sea un experimentado “gur´ ” de UNIX, lo que viene a continuaci´ n le interesar´ con u o a total seguridad. En las versiones comerciales de UNIX, el sistema se desarrolla siguiendo una rigurosa pol´tica de manı tenimiento de la calidad, con sistemas de control de revisiones para las fuentes y documentaci´ n, etc. Los o desarrolladores no pueden a˜ adir cosas nuevas por su cuenta: cualquier cambio ser´ en respuesta a un inforn a me de un bug detectado, y se registrar´ cuidadosamente en el sistema de control de versiones, de manera que a podr´ volverse atr´ s sin problemas. Cada desarrollador tiene asignada una o m´ s partes del c´ digo, y solo ese a a a o desarrollador puede alterar esas secciones del c´ digo. o Internamente, el departamento de calidad realiza rigurosas pruebas en cada nueva versi´ n del sistema o operativo, e informa de los errores. Es responsabilidad de los desarrolladores corregir esos errores. Se utiliza un complicado sistema de an´ lisis estad´stico para asegurarse de que se corrige cierto porcentaje de errores a ı antes de lanzar la versi´ n siguiente. o Como vemos, el proceso seguido por los desarrolladores de los UNIX comerciales para mantenerlo y darle soporte es muy complicado, pero razonable. La compa˜ ´a debe tener cierta seguridad de que la pr´ xinı o ma revisi´ n del sistema est´ lista para comercializarse, a trav´ s de las pruebas que hemos comentado. Esto o e e supone un gran trabajo que involucra a cientos (si no miles) de programadores, betatesters, redactores de documentaci´ n y personal administrativo. Por supuesto, no todos los fabricantes de UNIX trabajan as´, pero o ı esto nos da una idea de la panor´ mica habitual. a Con GNU/Linux, hay que olvidarse del concepto de desarrollo organizado, sistemas de control de versiones, informaci´ n de errores estructurada o an´ lisis estad´sticos. GNU/Linux es un sistema operativo hecho o a ı 6 por “hackers” Linux ha sido desarrollado principalmente por un grupo de programadores de todo el mundo unidos por Internet. A trav´ s de Internet, cualquiera tiene la oportunidad de unirse al grupo y ayudar al desarrollo y e depuraci´ n del n´ cleo, portar nuevo software, escribir documentaci´ n o ayudar a los nuevos usuarios. La o u o comunidad de GNU/Linux se comunica principalmente mediante diversas listas de correo y grupos de USENET. Existen algunos acuerdos en el desarrollo, como que cualquiera que desee que su c´ digo sea incluido o en la versi´ n “oficial” del n´ cleo deber´ ponerse en contacto con Linus Torvalds, quien comprobar´ el c´ digo o u a a o y lo incluir´ en el n´ cleo. Por lo general, estar´ encantado en hacerlo, siempre que no estropee otras cosas. a u a El sistema se ha dise˜ ado siguiendo una filosof´a abierta y de crecimiento. Por regla general hay una n ı nueva versi´ n del n´ cleo cada pocas semanas. Esto depende del n´ mero de errores a corregir, la cantidad de o u u informaci´ n recibida de los usuarios, y lo que haya dormido Linus esta semana. o Por lo tanto, resulta dif´cil decir que todos los errores vayan a poder corregirse para cierta fecha. Pero ı conforme el sistema va apareciendo libre de errores cr´ticos o manifiestos, se considera “estable” y se lanzan ı nuevas revisiones. Hay que recordar que no se pretende realizar un sistema perfecto, sin errores. Se trata sencillamente de desarrollar una implementaci´ n libre de UNIX. GNU/Linux est´ hecho para desarrolladores, o a m´ s que para otro tipo de personas. a Si alguien desarrolla una aplicaci´ n o nueva caracter´stica para el n´ cleo, se a˜ ade inicialmente en una o ı u n fase “alfa”, es decir, pensada para que la puedan probar los usuarios m´ s atrevidos aficionados a enredar a con los problemas que surgen en el c´ digo cuando se encuentra en fases tempranas de desarrollo. Dado que o la comunidad de GNU/Linux se basa sobre todo en Internet, el software “alfa” se env´a, normalmente, a ı servidores FTP dedicados a GNU/Linux (vea el ap´ ndice C) y se anuncia mediante un mensaje puesto en un e grupo USENET dedicado a GNU/Linux. Los usuarios que descargan y prueban el software pueden entonces enviar sugerencias, correcciones de errores o preguntas al autor por correo electr´ nico. o Una vez que se corrigen los problemas iniciales, el c´ digo pasa a una fase “beta”, en la que se considera o estable pero incompleto (o sea, funciona, pero no incluye todas las funcionalidades previstas). Tambi´ n se e puede pasar a una etapa “final” en la que el software se considera terminado. Recuerden que lo anterior son s´ lo convenciones, y no leyes. Algunos programas pueden no necesitar o fases “alpha”. Es el desarrollador quien tomar´ las decisiones al respecto en todo caso. a Estar´ sorprendido de que un grupo de programadores y aficionados voluntarios, relativamente desorgaa
6 Por “hacker” queremos referirnos a gente que programa con verdadera pasi´ n, por hobby, a explotar sus ordenadores al m´ ximo, o a ´ con resultados utiles para otras personas. Este concepto es contrario al habitualmente aceptado, seg´ n el cual un “hacker” es un pirata u inform´ tico. a

1.7. Diferencias entre GNU/Linux y otros sistemas operativos

15

nizados, hayan podido hacer algo. Sin embargo, este grupo constituye uno de los m´ s eficientes y motivados. a Todo el n´ cleo de Linux se ha escrito desde cero, sin emplear c´ digo alguno de fuentes propietarias. Todo u o el software, bibliotecas, sistemas de ficheros y controladores se han desarrollado o se ha portado desde otros sistemas; y se han programado controladores para los dispositivos m´ s populares. a Normalmente, GNU/Linux se distribuye junto con otro software en lo que se conoce como una distribuci´ n, un paquete de software que permite poner a punto un sistema completo. Dado que crear un sistema o UNIX partiendo del n´ cleo y programas de diversas fuentes puede resultar dif´cil para los usuarios m´ s nou ı a veles, se crearon las distribuciones con el fin de facilitar esta tarea: con una distribuci´ n, usted s´ lo tiene o o que tomar el CD-ROM o los disquetes y proceder a su instalaci´ n para disponer de un sistema completo con o programas de aplicaci´ n incluidos. Como es de esperar, no hay ninguna distribuci´ n “est´ ndar”. Hay muchas, o o a cada una con sus ventajas e inconvenientes. Hablaremos m´ s sobre distribuciones en la Secci´ n 2.2. a o

1.7. Diferencias entre GNU/Linux y otros sistemas operativos
Es importante entender las diferencias entre GNU/Linux y otros sistemas operativos, tales como MSDOS, OS/2, y otras implementaciones de UNIX para ordenador personal. Antes de nada, conviene aclarar que GNU/Linux puede convivir felizmente con otros sistemas operativos en la misma m´ quina: es decir, Ud. a puede ejecutar MS-DOS y OS/2 en compa˜ ´a de GNU/Linux sobre el mismo sistema sin problemas. Hay nı incluso formas de interactuar entre los diversos sistemas operativos como veremos.

1.7.1.

¿Por qu´ usar GNU/Linux? e

¿Por qu´ usar GNU/Linux en lugar de un sistema operativo comercial conocido, bien probado, y bien doe cumentado? Podr´amos darle miles de razones. Una de las m´ s importantes es, sin embargo, que GNU/Linux ı a es una excelente elecci´ n para trabajar con UNIX a nivel personal. Si Ud. es un desarrollador de software o UNIX, ¿por qu´ usar MS-DOS en casa? GNU/Linux le permitir´ desarrollar y probar el software UNIX en su e a PC, incluyendo aplicaciones de bases de datos y X Window. Si es Ud. estudiante, la oportunidad est´ en que a los sistemas de su universidad ejecutar´ n UNIX. Con GNU/Linux, podr´ ejecutar su propio sistema UNIX y a a adaptarlo a sus necesidades. La instalaci´ n y uso de GNU/Linux es tambi´ n una excelente manera de aprender o e UNIX si no tiene acceso a otras m´ quinas UNIX. a Pero no perdamos la vista. GNU/Linux no es s´ lo para los usuarios personales de UNIX. Es robusto y o suficientemente completo para manejar grandes tareas, asi como necesidades de c´ mputo distribuidas. Muo chos negocios—especialmente los peque˜ os—se est´ n cambiando a GNU/Linux en lugar de otros entornos n a de estaci´ n de trabajo basados en UNIX. Las universidades encuentran a GNU/Linux perfecto para dar curo sos de dise˜ o de sistemas operativos. Grandes vendedores de software comercial se est´ n dando cuenta de las n a oportunidades que puede brindar un sistema operativo gratuito.

1.7.2.

GNU/Linux frente a MS-DOS

No es raro tener ambos, GNU/Linux y MS-DOS, en el mismo sistema. Muchos usuarios de GNU/Linux conf´an en MS-DOS para aplicaciones tales como procesadores de texto. Aunque GNU/Linux proporciona ı sus propios an´ logos para estas aplicaciones (por ejemplo, TEX), existen varias razones por las que un usuario a concreto desear´a ejecutar tanto MS-DOS como GNU/Linux. Si toda su tesis est´ escrita en WordPerfect ı a 7 para MS-DOS, puede no ser capaz de convertirla f´ cilmente a TEXo alg´ n otro formato. Hay muchas a u aplicaciones comerciales para MS-DOS que no est´ n disponibles para GNU/Linux, y no hay ninguna raz´ n a o por la que no pueda usar ambos. Como puede saber, MS-DOS no utiliza completamente la funcionalidad de los procesadores 80386 y 80486. Por otro lado, GNU/Linux corre completamente en el modo protegido del procesador y explota todas ´ las caracter´sticas de este. Puede acceder directamente a toda su memoria disponible (e incluso m´ s all´ de ı a a la disponible, usando RAM virtual). GNU/Linux proporciona un interfaz UNIX completo no disponible bajo MS-DOS—el desarrollo y adaptaci´ n de aplicaciones UNIX bajo GNU/Linux es cosa f´ cil, mientras que, o a
7 N.

del T.: El ejemplo del autor se ha quedado obsoleto: Ya existe un WordPerfect 6.1 nativo para GNU/Linux

16

Introducci´ n a GNU/Linux o

bajo MS-DOS, Ud. est´ limitado a un peque˜ o subgrupo de la funcionalidad de programaci´ n UNIX. Al ser a n o GNU/Linux un verdadero sistema UNIX, Ud. no tendr´ estas limitaciones. a Podr´amos debatir los pros y contras de MS-DOS y GNU/Linux durante p´ ginas y p´ ginas. Sin embargo, ı a a baste decir que GNU/Linux y MS-DOS son entidades completamente diferentes. MS-DOS no es caro (comparado con otros sistemas operativos comerciales), y tiene un fuerte asentamiento en el mundo de los PC’s. Ning´ n otro sistema operativo para PC ha conseguido el nivel de popularidad de MS-DOS—b´ sicamente u a porque el coste de esos otros sistemas operativos es inaccesible para la mayor´a de los usuarios de PC’s. ı Muy pocos usuarios de PC pueden imaginar gastarse 200000 ptas. o m´ s solamente en el sistema operativo. a GNU/Linux, sin embargo, es gratis, y por fin tiene la oportunidad de decidirse. Le permitiremos emitir sus propios juicios de GNU/Linux y MS-DOS basados en sus expectativas y necesidades. GNU/Linux no est´ destinado a todo el mundo. Si siempre ha querido tener un sistema UNIX a completo en casa, si es alto el coste de otras implementaciones UNIX para PC, GNU/Linux puede ser lo que estaba buscando.

1.7.3.

GNU/Linux frente a otros sistemas operativos

Est´ n surgiendo un gran n´ mero de sistemas operativos avanzados en el mundo del PC. Concretamente, a u OS/2 de IBM y Windows NT de Microsoft comienzan a tener popularidad a medida que los usuarios de MS-DOS migran a ellos. Ambos, OS/2 y Windows NT son sistemas operativos completamente multitarea, muy parecidos a GNU/Linux. T´ cnicamente, OS/2, Windows NT y GNU/Linux son bastante similares: Soportan aproximadae mente las mismas caracter´sticas en t´ rminos de interfaz de usuario, redes, seguridad, y dem´ s. Sin embargo, ı e a la diferencia real entre GNU/Linux y los otros es el hecho de que GNU/Linux es una versi´ n de UNIX, y por o ello se beneficia de las contribuciones de la comunidad UNIX en pleno. ¿Qu´ hace a UNIX tan importante? No s´ lo es el sistema operativo m´ s popular para m´ quinas mule o a a tiusuario, tambi´ n es la base de la mayor´a del mundo del software de libre distribuci´ n. Si tiene acceso e ı o a Internet, casi todo el software de libre distribuci´ n disponible est´ espec´ficamente escrito para sistemas o a ı UNIX. (Internet en s´ est´ profundamente basada en UNIX.) ı a Hay muchas implementaciones de UNIX, de muchos vendedores, y ni una sola organizaci´ n es responsao ble de su distribuci´ n. Hay un gran pulso en la comunidad UNIX por la estandarizaci´ n en forma de sistemas o o abiertos, pero ninguna corporaci´ n controla este dise˜ o. Por eso, ning´ n vendedor (o, como parece, ning´ n o n u u hacker) puede adoptar estos est´ ndares en una implementaci´ n de UNIX. a o Por otro lado, OS/2 y Windows NT son sistemas propietarios. El interfaz y dise˜ o est´ n controlados por n a una sola corporaci´ n, y s´ lo esa corporaci´ n puede implementar ese dise˜ o. (No espere encontrar una versi´ n o o o n o gratis de OS/2 en un futuro cercano.) De alguna forma, este tipo de organizaci´ n es beneficiosa: establece un o est´ ndar estricto para la programaci´ n y el interfaz de usuario distinto al encontrado incluso en la comunidad a o de sistemas abiertos. Varias organizaciones est´ n intentando estandarizar el modelo de programaci´ n, pero la tarea es muy a o dif´cil. GNU/Linux, en particular, es en su mayor´a compatible con el estandar POSIX.1 para el interfaz de ı ı programaci´ n UNIX. A medida que pase el tiempo, se espera que el sistema se adhiera a otros estandares, o pero la estandarizaci´ n no es la etapa primaria en la comunidad de desarrollo de GNU/Linux. o

1.7.4.

GNU/Linux frente a otras implementaciones de UNIX

Hay otras implementaciones de UNIX para el 80386 y 80486. La arquitectura 80386 se presta al dise˜ o n de UNIX y buen un n´ mero de vendedores han sacado ventaja de este factor. u Hablando de caracter´sticas, otras implementaciones de UNIX para PC son bastante similares a ı GNU/Linux. Podr´ ver que casi todas las versiones comerciales de UNIX soportan b´ sicamente el mismo a a software, entorno de programaci´ n, y caracter´sticas de red. Sin embargo, hay algunas fuertes diferencias o ı entre GNU/Linux y las versiones comerciales de UNIX. En primer lugar, GNU/Linux soporta un rango de hardware diferente de las implementaciones comerciales. En general, GNU/Linux soporta la mayor´a de dispositivos hardware conocidos, pero el soporte est´ a´ n ı a u limitado a ese hardware al que los desarrolladores tengan acceso actualmente. Sin embargo, los vendedores

1.8. Requerimientos de hardware

17

de UNIX comercial por lo general tienen una base de soporte m´ s amplia, y tienden a soportar m´ s hardware, a a aunque GNU/Linux no esta tan lejos de ellos. Cubriremos los requerimientos hardware de GNU/Linux en la Secci´ n 1.8. o En lo que concierne a estabilidad y robustez, muchos usuarios han comentado que GNU/Linux es al menos tan estable como los sistemas UNIX comerciales. GNU/Linux est´ a´ n en desarrollo, el hecho de a u trabajar en dos frentes, produce versiones estables a la vez sin parar el desarrollo. El factor m´ s importante a considerar por muchos usuarios es el precio. El software de GNU/Linux es a gratis, si tiene acceso a Internet (o a otra red de ordenadores) y puede descarg´ rselo. Si no tiene acceso a tales a redes, tiene la opci´ n de comprarlo pidi´ ndolo por correo en disquetes, cinta o CD-ROM (vea el Ap´ ndice D). o e e Por supuesto, Ud. puede copiarse GNU/Linux de un amigo que puede tener ya el software, o compartir el coste de comprarlo con alguien m´ s. Si planea instalar GNU/Linux en un gran n´ mero de m´ quinas, s´ lo a u a o necesita comprar una copia del software—GNU/Linux no se distribuye con licencia para “una sola m´ quina”. a El valor de las implementaciones comerciales de UNIX no deber´a ser rebajado: conjuntamente con el ı precio del software en s´, uno paga generalmente por la documentaci´ n, el soporte, y una etiqueta de calidad. ı o Estos factores son muy importantes para grandes instituciones, pero los usuarios de ordenadores personales pueden no necesitar esos beneficios. En cualquier caso, muchos negocios y universidades encuentran que ejecutar GNU/Linux en un laboratorio con ordenadores baratos es preferible a ejecutar una versi´ n comercial o de UNIX en un laboratorio de estaciones de trabajo. GNU/Linux es capaz de proporcionar la funcionalidad de una estaci´ n de trabajo sobre hardware de PC a una fracci´ n de su coste. o o Como un ejemplo del “mundo real” sobre el uso de GNU/Linux dentro de la comunidad inform´ tica, los a sistemas GNU/Linux han viajado hasta los grandes mares del Pac´fico Norte, encarg´ ndose de las telecomuı a nicaciones y an´ lisis de datos para en un buque de investigaci´ n oceanogr´ fica. Los sistemas GNU/Linux a o a se est´ n usando en estaciones de investigaci´ n en la Ant´ rtida. Como ejemplo m´ s mundano, quiz´ , varios a o a a a hospitales est´ n usando GNU/Linux para mantener registros de pacientes. a Hay otras implementaciones gratuitas o baratas de UNIX para el 386 y 486. Una de las m´ s conocidas es a 386BSD, una implementaci´ n y adaptaci´ n del UNIX BSD para el 386. 386BSD es comparable a GNU/Linux o o en muchos aspectos, pero cual de ellos es “mejor” depende de las necesidades y espectativas personales. La ´ unica distinci´ n fuerte que se puede hacer es que GNU/Linux se desarrolla abiertamente (donde cualquier o voluntario puede colaborar en el proceso de desarrollo), mientras 386BSD se desarrolla dentro de un equipo cerrado de programadores que mantienen el sistema. Debido a esto, existen diferencias filos´ ficas y de dise˜ o o n serias entre los dos proyectos. Los objetivos de los dos proyectos son completamente distintos: el objetivo de GNU/Linux es desarrollar un sistema UNIX completo desde el desconocimiento (y divertirse mucho en el proceso), y el objetivo de 386BSD es en parte modificar el c´ digo de BSD existente para usarlo en el 386. o NetBSD es otra adaptaci´ n de la distribuci´ n NET/2 de BSD a un n´ mero de m´ quinas, incluyendo el o o u a 386. NetBSD tiene una estructura de desarrollo ligeramente m´ s abierta, y es comparable al 386BSD en a muchos aspectos. Otro proyecto conocido es HURD, un esfuerzo de la Free Software Foundation (Fundaci´ n de Software o Libre) para desarrollar y distribuir una versi´ n gratis de UNIX para muchas plataformas. Contacte con la Free o Software Foundation (la direcci´ n se da en el Ap´ ndice E) para obtener m´ s informaci´ n sobre este proyecto. o e a o Al tiempo de escribir este documento, HURD a´ n est´ en los primeros pasos de su desarrollo. u a ´ Tambi´ n existen otras versiones baratas de UNIX, como Minix (un cl´ nico de UNIX acad´ mico, pero util, e o e en el que se basaron los primeros pasos del desarrollo de GNU/Linux). Algunas de estas implementaciones son de inter´ s en mayor parte acad´ mico, mientras otras son sistemas ya maduros para productividad real. e e

1.8. Requerimientos de hardware
Ahora debe estar convencido de lo maravilloso que es GNU/Linux y de las estupendas cosas que puede hacer por usted. Sin embargo, antes de que se precipite e instale el software, tiene que asegurarse de los requerimientos y limitaciones de hardware de GNU/Linux. Tenga en cuenta que GNU/Linux fue desarrollado por sus usuarios. Esto significa, en la mayor´a de las ı ´ ocasiones, que el hardware soportado por GNU/Linux es unicamente aqu´ l al que usuarios y desarrolladoe res tienen realmente acceso. Seg´ n van apareciendo, se van soportando la mayor parte del hardware y los u

18

Introducci´ n a GNU/Linux o

perif´ ricos populares para sistemas 80386/80486 (de hecho, GNU/Linux soporta m´ s hardware que algunas e a implementaciones comerciales de UNIX). Sin embargo, a´ n no son reconocidos algunos de los perif´ ricos u e m´ s oscuros. a Otro inconveniente en el soporte de hardware bajo GNU/Linux es que muchas compa˜ ´as han decidido nı ´ conservar las especificaciones del interfaz de su hardware en propiedad. Como consecuencia de esto, los desarrolladores voluntarios de GNU/Linux simplemente no pueden escribir controladores (drivers) para esos perif´ ricos (y si pudieran, tales controladores ser´an propiedad de la compa˜ ´a due˜ a del interfaz, lo cual e ı nı n violar´a la GPL). Las compa˜ ´as que mantienen interfaces en propiedad, escriben sus propios controladores ı nı para sistemas operativos como MS-DOS y Microsoft Windows; el usuario final (es decir, usted) no necesita saber nada del interfaz. En algunos casos, los programadores han intentado escribir controladores “clonados” bas´ ndose en sua puestos acerca del interfaz. En otras ocasiones, los desarrolladores trabajar´ n con la compa˜ ´a en cuesti´ n e a nı o ´ xito que puede variar. intentar´ n obtener informaci´ n del interfaz del perif´ rico con un nivel de e a o e En las siguientes secciones, trataremos de resumir los requerimientos hardware para GNU/Linux. El documento Hardware HOWTO (ver Secci´ n 1.9) contiene un listado m´ s completo del hardware soportado o a por GNU/Linux. Aclaraci´ n: Gran parte del soporte para hardware para GNU/Linux est´ actualmente en fase de desao a rrollo. Algunas distribuciones puede que soporten, o no, estas caracter´sticas experimentales. Esta secci´ n ı o presenta en primer lugar el hardware que ya lleva cierto tiempo soportado y del que se sabe de su estabilidad. En caso de duda, consulte la documentaci´ n de la distribuci´ n de GNU/Linux que est´ usando (ver o o a Secci´ n 2.2 para m´ s informaci´ n acerca de las distribuciones de GNU/Linux). o a o ´ GNU/Linux est´ disponible para muchas plataformas adem´ s de sistemas Intel 80x86. Estas incluyen a a Macintosh, Amiga, Sun SparcStation y sistemas Alpha de Digital Equipment Corporation. En este libro, sin embargo, nos centraremos en los procesadores Intel 80386, 80486 y Pentium, as´ como en los cl´ nicos AMD, ı o Cyrix e IBM.

1.8.1.

Requisitos de Placa Base y de CPU

Actualmente GNU/Linux soporta sistemas con una CPU Intel 80386, 80486, o Pentium. Esto incluye todas las variantes del tipo de CPU, como el 386SX, 486SX, 486DX, y 486DX2. Los cl´ nicos tambi´ n o e funcionan con GNU/Linux. GNU/Linux ya soporta otras arquitecturas tales como Alpha y PowerPc de Apple. Si tiene un 80386 o 80486SX, puede que tambi´ n quiera aprovechar el coprocesador matem´ tico, si bien e a no es imprescindible (el n´ cleo de GNU/Linux puede emular el coprocesador si no cuenta con uno). Est´ n u a soportados todos los copros est´ ndar, tales como los IIT, Cyrix FasMath e Intel. a La placa base debe ser de arquitectura ISA o EISA en cuanto a bus se refiere. Estos t´ rminos definen e c´ mo interact´ a el sistema con los perif´ ricos y otros componentes por medio del bus principal. La mayor´a o u e ı de los sistemas vendidos hoy son de bus ISA o EISA. El bus MicroChannel (MCA), que se encuentra en m´ quinas como los IBM/PS2 no est´ soportado actualmente. a a Las placas bases de muchos PC est´ n basadas en los bus PCI, pero tambi´ n tienen ranuras ISA. a e GNU/Linux soporta esta conficuraci´ n, as´ como sistemas con bus EISA y VESA. El bus de MicroChannel de o ı IBM (MCA), que aparece en muchos sistemas PS/2 de IBM, es significativamente diferente y recientemente se ha a˜ adido el soporte para dichos sistemas. n

1.8.2.

Requisitos de memoria

GNU/Linux, comparado con otros sistemas operativos avanzados, necesita muy poca memoria para funcionar. Deber´a contar con un m´nimo de 4 megabytes de RAM; sin embargo, es altamente recomendable ı ı tener 16 megabytes. Cuanta m´ s memoria tenga m´ s r´ pido ir´ su sistema. Para la instalaci´ n de algunas a a a a o distribuciones se necesita m´ s RAM. a GNU/Linux soporta el rango completo de direcciones de 32-bits de los 386/486; es decir, utilizar´ toda la a memoria RAM de forma autom´ tica. a GNU/Linux funciona con tan s´ lo 4 megabytes de RAM, incluyendo aplicaciones “pedig¨ e˜ as” como Xo u n Window,GNU Emacs, y dem´ s. Sin embargo, disponer de m´ s memoria es casi tan importante como tener un a a

Requerimientos de Hardware

19

procesador m´ s r´ pido. 16 megabytes es m´ s que suficiente para uso personal y 32 mebabytes o m´ s pueden a a a a ser necesarios si espera una fuerte carga de usuarios en el sistema. La mayor´a de los usuarios de GNU/Linux, reservan una parte del disco duro para espacio de intercambio ı 8 que se usa como RAM virtual. Incluso si dispone de bastante memoria RAM f´sica en su m´ quina, puede ı a ´ ´ que quiera utilizar un area de intercambio . El area de intercambio no puede reemplazar a una memoria f´sica ı RAM real, pero puede permitir a su sistema ejecutar aplicaciones m´ s grandes guardando en disco duro a aquellas partes de c´ digo que est´ n inactivas. La cantidad de espacio de intercambio a reservar depende de o a diversos factores; volveremos a esta cuesti´ n en el Cap´tulo 2. o ı

1.8.3.

Requisitos de la controladora de disco duro

Es posible ejecutar GNU/Linux desde un disquete o algunas distribuciones, directamente desde el CDROM, pero para un buen funcionamiento, es necesario tener espacio en el disco duro. GNU/Linux puede coexistir con otros sistemas operativos—s´ lo necesita una o varias particiones del disco. o GNU/Linux soporta todos los controladores IDE y EIDE, as´ como los m´ s antiguos MFM y RLL. Se ı a soportan muchos, pero no todos, los controladores ESDI. La regla general para controladoras que no sean SCSI, es que si puede acceder a las unidades (disco y/o disquete) desde MS-DOS u otro sistema operativo, deber´a poder hacerlo desde GNU/Linux. ı GNU/Linux tambi´ n soporta un amplio n´ mero de controladores SCSI. Esto incluye muchas tarjetas e u Adaptec y Buslogic, as´ como las basadas en el conjunto de chips NCR. ı

1.8.4.

Requisitos de espacio en disco

Efectivamente, para instalar GNU/Linux, necesitar´ tener algo de espacio libre en su disco duro. a GNU/Linux soporta m´ ltiples discos duros en la misma m´ quina; puede disponer de espacio para GNU/Linux u a en m´ ltiples unidades si es necesario. u La cantidad de espacio en disco duro que necesitar´ depende en gran medida de sus necesidades y de a la cantidad de software que va a instalar. GNU/Linux es relativamente peque˜ o en relaci´ n a las implemenn o taciones de UNIX; usted podr´a ejecutar un sistema completo con 20 megabytes de espacio en disco. Sin ı embargo, si quiere disponer de espacio para expansiones, y para paquetes m´ s grandes como X-Window, a necesitar´ m´ s espacio. Si planea permitir a m´ ltiples usuarios utilizar la m´ quina, tendr´ que dejar espacio a a u a a para sus ficheros. Las necesidades realistas de espacio podr´an oscilar entre 200 megabytes y 1 gigabyte o ı m´ s. a Tambi´ n necesitar´ crear espacio de intercambio 9 , para ser usado como RAM virtual. Comentaremos e a todos estos detalles acerca de la instalaci´ n y uso del espacio de intercambio en la Secci´ n 2.1. o o Cada distribuci´ n de GNU/Linux normalmente viene con alg´ n que otro texto que deber´a ayudarle a eso u ı timar la cantidad precisa de espacio a reservar en funci´ n del software que planee instalar. Vea la informaci´ n o o que viene con su distribuci´ n o la secci´ n de instalaci´ n del Cap´tulo 2 . o o o ı

1.8.5.

Requisitos de monitor y adaptador de v´deo ı

GNU/Linux soporta todas las tarjetas de v´deo est´ ndar Hercules, CGA, EGA, VGA, IBM monocromo, ı a y Super VGA as´ como monitores para el interfaz por defecto basado en texto. En general, si la combinaci´ n ı o que tiene de monitor y tarjeta de v´deo funcionan bajo otro sistema operativo como MS-DOS, deber´a funı ı cionar perfectamente con GNU/Linux. La tarjetas CGA de IBM genuinas sufren el (d)efecto nieve 10 bajo GNU/Linux, por lo que no es muy recomendable su uso. Los entornos gr´ ficos como el Sistema X-Window tienen necesidades propias de hardware para la tarjeta a de v´deo. En vez de listar estos requerimientos aqu´, los trataremos en la Secci´ n 5.1. Se soportan las tarjetas ı ı o de v´deo m´ s populares y el soporte para las nuevas se a˜ ade regularmente. ı a n
8 N. 10 N.

del T.: “swap” del T.: snow

9 swap

20

Introducci´ n a GNU/Linux o

1.8.6.

Hardware diverso

La mayor´a de los usuarios tienen dispositivos de CD-ROM, rat´ n, tarjetas de sonido y dem´ s y est´ n ı o a a interesados en saber si este hardware es o no, soportado por GNU/Linux. 1.8.6.1. Ratones y otros dispositivos apuntadores

Normalmente usted s´ lo usar´ un rat´ n bajo un entorno gr´ fico como el Sistema X-Window. Sin embargo, o a o a algunas aplicaciones GNU/Linux no asociadas con un entorno gr´ fico, hacen uso del rat´ n. a o GNU/Linux soporta todos los ratones serie est´ ndar, incluyendo Logitech, MM series, Mouseman, Mia crosoft (2 botones) y Mouse Systems (3 botones). GNU/Linux tambi´ n soporta los ratones de bus Microsoft, e Logitech, y ATIXL. El interfaz de rat´ n de PS/2 tambi´ n es soportado. o e Todos los dem´ s dispositivos apuntadores, como los “trackball” que emulen a los dispositivos de arriba, a tambi´ n funcionan. e 1.8.6.2. Unidades de CD-ROM Muchas de las unidades de CD-ROM se conectan a los controladores IDE est´ ndar. Otra interfaz com´ n a u para las unidades de CD-ROM es la SCSI. El soporte SCSI incluye m´ ltiples unidades l´ gicas por dispositivo, u o por lo que se pueden utilizar “jukebokes” de CD-ROM. Adem´ s, hay un amplio n´ mero de unidades de CDa u ROM que se ha comprobado funcionan bajo GNU/Linux, incluyendo el NEC CDR-74, Sony CDU-541, y Texel DM-3024. Las unidades internas Sony CDU-31a y Mistsumi tambi´ n est´ n soportadas por GNU/Linux. e a GNU/Linux soporta el sistema de ficheros est´ ndar para CD-ROMs ISO-9660 y las extensiones de fichea ros de sistema High Sierra. 1.8.6.3. Unidades de cinta

Algunas unidades de cinta tipo SCSI, incluidas “quarter inch”, DAT y 8MM est´ n soportadas si el cona trolodor SCSI est´ soportado a su vez. Unidades que se conectan al controlador de disquete como unidades a de cinta de disquete, tambi´ n se soportan, as´ como otros interfaces como QIC-02. e ı 1.8.6.4. Impresoras

GNU/Linux soporta todas las impresoras en el puerto paralelo. Si puede acceder a su impresora por ´ el puerto paralelo desde MS-DOS, u otro sistema operativo, deber´a poder acceder a el desde GNU/Linux ı tambi´ n. El software de impresi´ n de GNU/Linux consiste en el software est´ ndar de UNIX lp y lpr. e o a Este software tambi´ n le permite imprimir remotamente a trav´ s de la red, si es que tiene una disponible. e e GNU/Linux tambi´ n incluye software para manejar ficheros Postscript. e 1.8.6.5. Modems

Igual que para las impresoras, GNU/Linux soporta toda la gama de modems serie, tanto internos como externos. Hay una gran cantidad de software de telecomunicaciones disponible para GNU/Linux, incluyendo Kermit, pcomm, minicom, Seyon. Si su m´ dem es accesible desde otro sistema operativo en la misma o ´ m´ quina, deber´a poder acceder a el sin dificultad desde GNU/Linux. a ı

1.8.7.

Tarjetas Ethernet

GNU/Linux soporta un buen n´ mero de tarjetas Ethernet y adaptadores para LAN. GNU/Linux tambi´ n u e soporta algunas tarjetas FDDI, “frame relay” y “token ring”, adem´ s de todas las tarjetas Arcnet. Una lista de a las tarjetas de red soportadas, se incluye en el fichero fuente del n´ cleo de su distribuci´ n. u o

1.9. Fuentes de informaci´ n sobre GNU/Linux o

21

1.9. Fuentes de informaci´ n sobre GNU/Linux o
Como podr´ imaginar, adem´ s de este libro, hay muchas otras fuentes de informaci´ n sobre Linux. Cona a o cretamente, hay numerosos libros sobre UNIX en general, que recomendamos a aquellos lectores que no tengan experiencia previa con UNIX. Si somos nuevos en UNIX, lo m´ s indicado es leer uno de estos libros a antes de meternos en la “peligrosa selva” de GNU/Linux. Un buen comienzo puede ser el libro Learning the UNIX Operating System, de Grace Todino y John Strang. Casi todas las fuentes de informaci´ n sobre GNU/Linux est´ n disponibles principalmente de forma o a electr´ nica. Esto es, deber´ tener acceso a una red, como Internet, USENET o Fidonet, con el fin de obo a tener la documentaci´ n. Un buen sitio para empezar es www.linuxresources.com (ver Ap´ ndice A). o e Si no tiene acceso a ninguna red, siempre puede encontrar la forma de obtener copias impresas en disquetes o CDROM de los libros.

1.9.1.

Documentaci´ n en-l´nea o ı

Si tiene acceso a Internet, encontrar´ variada documentaci´ n en muchos servidores de FTP del mundo. Si a o no tiene acceso directo a Internet, a´ n puede obtener los documentos: muchos distribuidores de GNU/Linux u en CDROM incluyen toda o casi toda la documentaci´ n existente en la red. Adem´ s, se suelen distribuir o a ´ por redes diferentes como Fidonet o Compuserve. Y si tiene acceso unicamente al correo en Internet, puede obtener ficheros de servidores FTP sin m´ s que usar un servidor de ftpmail. Vea el ap´ ndice C para m´ s a e a informaci´ n. o Hay gran cantidad de servidores FTP que distribuyen software y documentaci´ n de GNU/Linux. En el o ap´ ndice C encontrar´ una lista con servidores conocidos. Con el fin de reducir el tr´ fico de red, deber´a e a a ı utilizar el servidor que le quede m´ s cercano11 geogr´ ficamente. a a El Ap´ ndice A incluye una lista de algunos de los documentos sobre GNU/Linux que se encuentran e disponibles por FTP an´ nimo. Los nombres de los ficheros pueden no ser los mismos en todos los servio dores, pero suelen estar en el directorio docs dentro del directorio que dediquen a GNU/Linux. Por ejemplo, en sunsite.unc.edu los ficheros de GNU/Linux est´ n en /pub/linux y la documentaci´ n en a o /pub/linux/docs. Algunos documentos que puede encontrar son las GNU/Linux FAQ, una colecci´ n de FAQ sobre o GNU/Linux; los documentos HOWTO, dedicados a aspectos espec´ficos del sistema, como la configuraı ci´ n de impresoras y spoolers (Printing HOWTO), tarjetas Ethernet (Ethernet HOWTO) y las GNU/Linux o META-FAQ, que es una lista de las fuentes de informaci´ n disponibles en Internet. o Algunos documentos se env´an regularmente a uno o m´ s grupos USENET sobre GNU/Linux. No deje ı a de leer la Secci´ n 1.9.4 sobre el tema de las noticias. o

1.9.2.

GNU/Linux en el WWW

La p´ gina inicial de la documentaci´ n de GNU/Linux en el Web se encuentra en la direcci´ n URL a o o
http://sunsite.unc.edu/mdw/linux.html

Desde esta p´ gina puede accederse a los HOWTOs y otros documentos en formato HTML. Tambi´ n se ena e cuentran enlaces a otros servidores de inter´ s como ssc.com, p´ gina inicial de la revista Linux Journal, de e a periodicidad mensual. Se puede encontrar en http://www.ssc.com/.

1.9.3.

Libros y otras publicaciones

En este momento, hay algunos trabajos publicados sobre GNU/Linux. Principalmente, los libros del Proyecto de Documentaci´ n de Linux (LDP), que se lleva a cabo mediante Internet para escribir y distribuir una o colecci´ n de manuales para GNU/Linux. Estos manuales son an´ logos a los que se publican junto con vero a siones comerciales de UNIX: tratan la instalaci´ n y puesta en marcha, programaci´ n, trabajo en red, asuntos o o del n´ cleo y muchas cosas m´ s. u a
11 N.

del T.: Vea el ap´ ndice B para localizar una lista de ftps espa˜ oles e n

22

Introducci´ n a GNU/Linux o

Los manuales del LDP se encuentran disponibles mediante FTP an´ nimo en Internet, as´ como por correo o ı a trav´ s de algunos comercios. En el ap´ ndice A se enumeran los manuales disponibles y c´ mo conseguirlos. e e o Gran cantidad de editoriales como MIT:Press, Digital Press, O’Reilly & Associates y SAMS han dado el salto a GNU/Linux. Se pueden encontrar en bibliotecas especializadas o en la p´ gina web a de SSC en http://www.ssc.com, incluso tambien el la p´ gina web de la revista Linux Journal, a http://www.linuxjournal.com. No hay muchos m´ s libros que traten el tema particular de GNU/Linux. Sin embargo, s´ que hay nua ı merosos libros sobre UNIX en general que normalmente son aplicables a GNU/Linux, como aquellos sobre c´ mo utilizar o programar sobre el sistema UNIX, ya que GNU/Linux no difiere mucho en su interfaz con o el usuario o programador. En resumen, lo que quiera saber sobre el uso y programaci´ n de GNU/Linux lo o encontrar´ en los libros sobre UNIX. De hecho, este libro es un suplemento a los libros disponibles de UNIX. a Aqu´, se presentan los detalles espec´ficos de GNU/Linux m´ s importantes y esperamos que busque en otros ı ı a lugares para informaci´ n m´ s detallada. o a Armado con buenos libros sobre UNIX y este libro, deber´a ser capaz de enfrentarse a cualquier problema. ı Encontrar´ los nombres de algunos libros recomendados sobre UNIX en el ap´ ndice A. a e Tambi´ n existe un magazine mensual sobre GNU/Linux, el GNU/Linux Journal. Se distribuye por todo e el mundo y es una excelente manera de mantenerse al d´a en este tema, sobre todo si no se tiene acceso a ı USENET. En el ap´ ndice A encontrar´ informaci´ n sobre c´ mo suscribirse a esta publicaci´ n. e a o o o

1.9.4.

Grupos de Noticias USENET

´ “USENET” es un foro mundial de art´culos electr´ nicos organizado en “grupos”, o sea, areas de discuı o siones relacionadas con cada tema concreto. Buena parte del desarrollo de GNU/Linux ha sido a trav´ s de e Internet y USENET, con lo que no es extra˜ o que existan bastantes grupos que traten el tema. n Inicialmente, el grupo sobre GNU/Linux era alt.os.linux, y se cre´ para tratar aqu´ las cuestiones o ı que sobre GNU/Linux abundaban ya en comp.os.minix y varias listas de correo. El tr´ fico en el grupo a de GNU/Linux fue creciendo lo suficiente como para permitirse el paso a la jerarqu´a comp, en Febrero de ı 1992. comp.os.linux se ha convertido en un grupo de News muy conocido, m´ s que cualquier otro de a comp.os. En Diciembre del 92 se vot´ la creaci´ n del grupo comp.os.linux.announce para reducir o o el tr´ fico de comp.os.linux. En Julio de 1993 se parti´ este grupo de forma definitiva en la jerarqu´a que a o ı hoy existe. Si no tiene acceso a USENET, pero s´ puede usar el correo electr´ nico, existen pasarelas de correo a ı o noticias disponibles para cada uno de los grupos siguientes. comp.os.linux.advocacy Un grupo para la discusi´ n sobre los beneficios de GNU/Linux respecto a otros sistemas o operativos. comp.os.linux.alpha Se debe usar para todas las discusiones relacionadas con la compra, instalaci´ n, ejecuci´ n, o o mantenimiento y desarrollo de los sistemas GNU/Linux basados el el procesador Alpha de Digital. comp.os.linux.announce comp.os.linux.announce es un grupo moderado, pensado para anuncios importantes respecto a GNU/Linux (como informes sobre errores detectados, lanzamiento de par´ ches, etc). Si quiere leer grupos de GNU/Linux, empiece por este. Los art´culos que aqu´ se ı ı ´ publican no son reenviados a ning´ n otro grupo normalmente. En el se pueden encontrar u adem´ s muchos art´culos que se env´an peri´ dicamente, incluyendo documentos ya mena ı ı o cionados como los HOWTOs. Los env´os al grupo deben ser aceptados por los moderadores, Matt Welsh y Lars Wirzeı nius. Si quiere enviar algo, normalmente basta con que lo ordene a su software de noticias.

1.9. Fuentes de informaci´ n sobre GNU/Linux o

23

Este software se ocupar´ de enviar el art´culo a los moderadores para que lo acepten. Sin a ı embargo, si su sistema no est´ correctamente configurado, puede enviarlo directamente a a la direcci´ n de correo linux-announce@tc.cornell.edu. o comp.os.linux.answers Para enviar FAQs, HOWTOs, READMEs y otros documentos que respondan dudas sobre GNU/Linux. Esto ayudar´ a disminuir el tr´ fico de otros grupos c.o.l.* y dejar´ libre a a a comp.os.linux.announce para verdaderos anuncios. comp.os.linux.development.apps Un grupo de noticias sin moderar, para preguntas y discusiones acerca de aplicaciones para GNU/Linux y sobre la migraci´ n de aplicaciones a GNU/Linux. o comp.os.linux.development.system Un grupo de noticias sin moderar, para discusiones sobre el desarrollo de todo lo relacionado con el n´ cleo, controladores de dispositivos y m´ dulos cargables para el sistema u o GNU/Linux. comp.os.linux.hardware Este grupo de noticias es para preguntas y discusiones espec´ficas sobre alg´ n componenete ı u hardware, por ejemplo: “¿Puede este sistema ejecutar GNU/Linux?”,¿C´ mo puedo utilizar o esta unidad de disco con GNU/Linux?”, etc. comp.os.linux.m68k De inter´ s y para el desarrollo de la migraci´ n de GNU/Linux de la arquitectura Motorola e o 680x0. comp.os.linux.misc Todas las discusiones que no se ajustan a otros grupos de noticias de GNU/Linux tienen aqu´ su sitio, adem´ s de otros “discursos” y discusiones no t´ cnicas. ı a e comp.os.linux.networking Discusiones relacionadas con redes y comunicaciones, incluyendo tarjetas Ethernet, SLIP y PPP. comp.os.linux.setup Preguntas y discusiones acerca de la instalaci´ n de GNU/Linux y su administraci´ n. o o comp.os.linux.x ´ Discusiones acerca de las caracter´sticas unicas de X Window para GNU/Linux, incluyendo ı servidores, clientes, fuentes y bibliotecas. Esta lista no est´ completa. Nuevos grupos se crean cuando se detecta la necesidad de una divisi´ n o a o subdivisi´ n, adem´ s de los grupos linux que hay en otras jerarqu´as 12 . o a ı

1.9.5.

Listas de correo en Internet

Si tiene acceso al correo electr´ nico de Internet, puede aun participar en las listas de correo aunque no o tenga acceso a USENET. A estas listas de correo puede apuntarse incluso sin tener acceso alguno a Internet, gracias a las pasarelas que ofrecen otros servicios, como UUCP, FidoNET o CompuServe. Para m´ s informaci´ n sobre las listas de correo de GNU/Linux, env´e un mensaje de correo a: a o ı majordomo@vger.rutgers.edu Con una l´nea en el cuerpo de mensaje con la palabra help, se le responder´ con un mensaje que describe ı a c´ mo subscribirse y darse de baja en varias listas de correo. La palabra lists en una l´nea hace que se nos o ı
12 N.

del T.: Por ejemplo en es.comp.os.linux

24

Introducci´ n a GNU/Linux o

responda con las listas de correo accesibles a trav´ s del servidor majordomo.vger.rutgers.edu. e Hay adem´ s, varias listas de correo de GNU/Linux espec´ficas. El mejor camino para encontrarlas es leer a ı los anuncios aparecidos en USENET, y el listado de “listas de correo” disponible peri´ dicamente en el grupo o news.answers.

1.10. C´ mo obtener ayuda o
Indudablemente, necesitar´ cierta ayuda durante sus primeras aventuras en el mundo de GNU/Linux. a Aqu´ veremos algunas indicaciones sobre c´ mo obtener esa ayuda. ı o La forma m´ s inmediata de buscar ayuda es mediante las listas de correo y grupos de USENET que a se mantienen en Internet, tal como explicamos en la Secci´ n 1.9. Si no tiene acceso a estas fuentes, puede o encontrar ayuda en otros servicios on-line como los BBS’s o Compuserve. Tambi´ n encontrar´ ayuda dentro e a de Linux Journal, en la p´ gina http://www.linuxjournal.com/techsup.html. a Tambi´ n hay ciertas empresas que dan servicio t´ cnico comercial de GNU/Linux. Esto le permitir´ pedir e e a ayuda a los t´ cnicos a cambio del pago de una cuota. El ap´ ndice D contiene una lista de comerciantes de e e GNU/Linux, alguno de los cuales ofrece soporte t´ cnico. Sin embargo, si tiene acceso a USENET y al correo e de Internet, ver´ que puede obtener servicio t´ cnico de calidad y gratuito. a e Lo que sigue son sugerencias que le hacemos para mejorar su experiencia con GNU/Linux y garantizarle ´ mayor probabilidad de exito para encontrar soluciones a los problemas que se le presenten. Consultar primero toda la documentaci´ n disponible. o Lo primero que debe hacer cuando encuentre un problema es leerse la documentaci´ n que se lista en la o Secci´ n 1.9 y el Ap´ ndice A. Estos documentos fueron laboriosamente escritos para gente como usted— o e gente que necesitaba ayuda sobre GNU/Linux. Los libros sobre Unix tambi´ n se pueden usar para resolver e dudas de GNU/Linux. Frecuentemente, y por dif´cil que parezca, se encuentran respuestas a muchos problemas. ı Si se tiene acceso a las noticias de USENET o a listas de correo relacionadas con GNU/Linux, se debe leer su contenido antes de poner una pregunta sobre sus problemas. Muchas veces hay problemas comunes que no se encuentran f´ cilmente en los libros pero que tienen frecuente respuesta en los grupos de USENET a o similar. Enviar la pregunta a los grupos sin leerlos antes puede ser una p´ rdida de tiempo. e Aprenda a apreciar las cosas hechas por uno mismo. En la mayor´a de los casos se recomienda investigar por cuenta de uno mismo antes de pedir ayuda al exı ´ terior. Recuerde que GNU/Linux no es un sistema comercial y puede hacer con el lo que quiera (modificarlo, etc). Si aprende a hacerse las cosas por s´ mismo, su experiencia le permitir´ llegar a ser, tal vez, uno de los ı a famosos “gur´ s” de GNU/Linux. u Mantenga la calma. Hay que evitar la desesperaci´ n a pesar de todos los problemas. No se ha o´do a´ n ninguna historia de o ı u alguien que, en un ataque de ira, borrase todos sus discos de GNU/Linux con un fuerte im´ n. Los mismos a autores se han desahogado a pu˜ etazos con almohadas o similares en arrebatos de este tipo. Hay que esperar n un poco a que las distribuciones de GNU/Linux se hagan m´ s f´ ciles a´ n de instalar, aunque ya lo son m´ s a a u a que casi cualquier otro Unix comercial. Evite poner preguntas en USENET demasiado pronto. Mucha gente comete el error de pedir ayuda en USENET demasiado pronto. Cuando encuentre alg´ n u problema, no se vaya de inmediato al terminal m´ s cercano (insistimos, no lo haga) para escribir su duda en a un grupo de noticias de GNU/Linux. Es mejor que intente antes resolverlo pues muchas veces es debido al nerviosismo inicial y se puede caer en el error de preguntar cosas demasiado triviales. Vamos, que si su PC no se enciende, mire antes a ver si est´ enchufado. a Si escribe su pregunta en USENET, haga que merezca la pena. Finalmente, puede que se vea obligado a pedir ayuda a los foros dedicados a GNU/Linux, bien mediante listas de correo o con USENET. Cuando redacte su pregunta, recuerde que la gente que va a leerla no est´ ah´ para ayudarle. As´ que trate de ser correcto en el trato y lo m´ s descriptivo posible. a ı ı a ¿C´ mo puede conseguir esto? En primer lugar, debe incluir toda la informaci´ n acerca de su sistema y o o el problema que crea relevante. Una escueta pregunta como “no puedo conseguir que el correo electr´ nico o

1.10. C´ mo obtener ayuda o

25

funcione” dif´cilmente ser´ contestada, a menos que incluya informaci´ n acerca de su sistema, qu´ software ı a o e utiliza, qu´ ha intentado hacer para resolverlo y qu´ resultados ha obtenido. Adem´ s, suele ser interesante e e a a˜ adir informaci´ n m´ s general, como qu´ versi´ n del sistema utiliza (del n´ cleo y distribuci´ n), as´ como un n o a e o u o ı peque˜ o resumen de su hardware. Pero tampoco exagere incluyendo su tipo de monitor, por ejemplo, cuando n su problema sea con el software de red.

26

Introducci´ n a GNU/Linux o

Cap´tulo 2 ı

Obtenci´ n e Instalaci´ n de GNU/Linux o o
David Bandel reescribi´ y revis´ la primera secci´ n sobre instalaci´ n de Linux. Parte del trabajo de los o o o o autores correspondientes a las distribuciones de GNU/Linux, fue a˜ adido a esta primera secci´ n. n o TM Boris Beletsky escribi´ la secci´ n Debian . Sean Dreilinger escribi´ la secci´ n Slackware. Henry Pierce o o o o escribi´ la secci´ n Red Hat LinuxTM . Evan Leibovitch escribi´ la secci´ n Caldera OpenLinuxTM . Larry Ayers o o o o escribi´ la secci´ n S.u.S.E. LinuxTM . o o

2.1. Instalaci´ n gen´ rica o e
Al contrario que la mayor´a del resto de sistemas operativos, GNU/Linux puede obtenerse gratuitamente. ı Debido a la Licencia P´ blica General de GNU bajo la cual GNU/Linux se distribuye (vea el ap´ ndice E), u e nadie puede venderle una licencia de uso del software. Puede usar GNU/Linux sin coste alguno, y se le anima a ponerlo a disposici´ n de otros. o Pero eso no significa que las empresas no tengan derecho al reembolso de los costes de copia y obtener un beneficio. Pueden adicionalmente a˜ adir software que no sea libre que funcione en el sistema. n Esto le otorga la libertad de elegir. Si comprar un CD-ROM no est´ en su presupuesto, puede simplemente pedir prestado una copia a un a amigo o descargar el original desde Internet. Si lo adquiri´ de un importante distribuidor de GNU/Linux o o lo descarg´ desde sus sitios de FTP (vea ap´ ndice C), consigue el mismo sistema operativo y los paquetes o e de software que ofrecen. En realidad, puede conseguir m´ s software libre desde alguno de los sitios de FTP a del que las empresas pueden distribuir en un CD, debido a las restricciones que algunos autores ponen a la distribuci´ n de su software. o

2.1.1.

Principales distribuciones de GNU/Linux

Una mirada en profundidad de algunas de las distribuiciones de GNU/Linux comienza en la p´ gina 38. a Estas distribuiciones son: Debian, Red Hat, Caldera, Slackware, y S.u.S.E. Cada secci´ n tiene m´ s inforo a maci´ n del lugar para adquirir esa distribuci´ n. Pero recuerde, Linux es el n´ cleo. El software es parte de la o o u distribuci´ n, no de GNU/Linux. La mayor´a del software est´ disponible sin restricciones y puede ser portado o ı a entre varias plataformas UNIX. Despu´ s de tener en cuenta lo que el n´ cleo en s´ soportar´ , la diferencia m´ s e u ı a a grande se encuentra en lo que soportan las bibliotecas (software llamado desde dentro de las aplicaciones). Cada distribuci´ n tiene su propia instalaci´ n y utilidades de mantenimiento que facilitan la instalaci´ n y la o o o administraci´ n del sistema. Cada una tiene aparentemente puesto el punto de mira en un colectivo diferente. o Cualquier distribuci´ n vale para empezar y continuar despu´ s con ella. As´ que le recomiendo que lea a o e ı cerca de cada distribuci´ n y hable con alg´ n amigo informado. La mayor´a de las grandes ciudades tienen un o u ı Grupo de Usuarios de GNU/Linux 1 , la mayor´a con usuarios experimentados, que debaten demasiado sobre ı qu´ distribuci´ n es la mejor y porqu´ . Le sugiero que escuche algunos de sus argumentos y despu´ s decida. e o e e
1 Vea http://www.ssc.com/glue/ con informaci´ n sobre Grupos de Usuarios de GNU/Linux de todas partes para encontrar o un grupo local.

27

28

Obtenci´ n e instalaci´ n de Linux o o

Se puede suscribir a listas de correo (le recomiendo que se suscriba s´ lo a una a la vez) y leer los correos o de los usuarios y las respuestas de los gur´ s. Tan diferente como lo es cada distribuci´ n, as´ son tambi´ n u o ı e las listas de correo que le proporcionan ayuda. Hacer la elecci´ n correcta es importante, ya que cambiar de o distribuci´ n generalmente significa reinstalar desde cero. o

2.1.2.

Preocupaciones comunes

Esta secci´ n asume que el reci´ n llegado a GNU/Linux dispone de: o e tiene un ordenador con MS/DOS y Windows u OS/2; tiene conocimientos b´ sicos de MS-DOS pero no de UNIX; a conoce o puede encontrar que tipo de hardware tiene instalado; tiene un deseo de poner a prueba GNU/Linux por cualquier motivo, aunque probablemente no se cambiar´ exclusivamente a GNU/Linux(todav´a); y a ı no tiene una m´ quina de reserva ni dispone de un segundo disco duro, pero tiene varios cientos de a megabytes libres para usar. Estas suposiciones no son extremistas, y pueden incluso ser un poco conservadoras. Hay gente que dice que si en su aparato de v´deo todav´a parpadean las 12:00, GNU/Linux no es para usted, pero entonces eso ı ı deber´a hacerme abandonar a m´ tambi´ n. En mi aparato de v´deo a´ n parpadean las 12:00. ı ı e ı u Antes de comenzar, debemos saber hacia donde vamos. Aunque es ciertamente posible llegar desde Nueva York hasta California (eventualmente) tomando cualquier direcci´ n al azar, la mayor´a de nosotros podr´a o ı ı optar ir en una ruta m´ s o menos directa. As´ es pues al instalar GNU/Linux. a ı

2.1.3.

Hardware

Esta secci´ n explica todos los pasos necesarios para la instalaci´ n fuera de la instalaci´ n actual. Cada diso o o tribuci´ n trata en forma levemente distinta este preparativo. Mientras el aspecto de la instalaci´ n es diferente, o o todas logran lo mismo y tienen m´ s en com´ n que no. Todas requieren: a u planificaci´ n; o reunir informaci´ n del hardware del sistema; o copia de seguridad del viejo sistema (opcional, pero muy recomendado); preparar las particiones de GNU/Linux; decidirse por un cargador de arranque(para sistemas con arranque dual); arrancar un n´ cleo de Linux; u instalar el n´ cleo; u elegir e instalar paquetes de software; cargar el software; realizar ajustes finales de configuraci´ n; y o reiniciar y arrancar el nuevo sistema. Ahora que he simplificado en exceso el proceso, recorramos la lista. Escuche atentamente, no es malo que aprenda de los errores de otros.

Instalaci´ n gen´ rica o e

29

2.1.4.

Planificaci´ n o

No pienso insistir demasiado en este paso. Cualquier piloto le dir´ que el aterrizaje es tan bueno como la a aproximaci´ n. Lo mismo vale para la instalaci´ n de GNU/Linux. o o Primero, determine qu´ tipo de hardware tiene. Una lista de comprobaci´ n ha sido incluida para asistirle. e o Sea tan preciso como pueda, pero no se entusiasme. Por ejemplo, si tiene una tarjeta ethernet, necesita saber de qu´ tipo(p.e., SMC-Ultra, 3Com 3C509, etc.), direcci´ n E/S (p.e., io=0x300), interrupci´ n (IRQ 10), pero e o o no la direcci´ n hardware (00 00 a6 27 bf 3c). No toda la informaci´ n ser´ necesaria para su hardware. Si o o a tiene Windows 95 o Windows NT funcionando, puede copiar los valores de la pantalla de informaci´ n de o los dispositivos hardware del sistema. Por otra parte, consulte los manuales del harware o la p´ gina web del a fabricante. Dado que es importante, revisaremos esta hoja de trabajo aqu´. ı

2.1.5.

Hoja de trabajo de la planificaci´ n del sistema o
Intel AMD Citrix Tipo: 386 486 Pentium PPro

General Procesador: Velocidad (opcional) Fabricante: Placa base: Ejemplo: Rat´ n: o Puerto serie: Unidad(es): de HD Tama˜ o: n (cada unidad) SCSI: Ejemplo: Arranque: Disco: Disco: Disco: Disco: CD-ROM: Fabricante: (Solo Propietario): X-Window: Tarjeta de V´deo: ı RAM: Monitor: Red: M´ dem: o Puerto serie: Nombre del ordenador:

Fabricaci´ n: o Fabricaci´ n: desconocida o Fabricante: COM1 (ttyS0) Tipo:

Chip Set: Chip Set: triton II Tipo: bus PS/2 serie COM2 (ttyS1) IDE/MFM/RLL/ESDI SCSI

Fabricaci´ n: o Modelo: Fabricaci´ n: BusLogic o Modelo: 948 Linux DOS/Windows Particion: Tama˜ o: n Particion: Tama˜ o: n Particion: Tama˜ o: n Particion: Tama˜ o: n IDE/ATAPI SCSI Propietario Modelo:

OS/2 Boot: Boot: Boot: Boot:

Otro

Fabricante: Modelo: 1Mb 2Mb 4Mb 8Mb 16Mb Fabricante: Modelo:

Frecuencia m´ x. de refresco: a

Fabricante: COM1 (ttyS0)

Modelo: COM2 (ttyS1) Ejemplo: rainier

COM3 (ttyS2)

COM4 (ttyS3)

Las siguientes respuestas s´ lo son necesarias si usa una tarjeta de red: (no configure la red si no dispone o de una instalada). NIC Tipo: NIC Fabricante: Network domain name: ethernet Modelo: token ring FDDI Otra

(Ejemplo: mountains.net)

30

Obtenci´ n e instalaci´ n de Linux o o

Direcci´ n IP: o Direcci´ n de red: o M´ scara de red: a Direcci´ n de Broadcast: o Pasarela(s): DNS(s):

(Ej.: 192.168.1.2) (Ej.: 192.168.1.0) (Ej.: 255.255.255.0) (Ej.: 192.168.1.255) (Ej.: nada o 192.168.1.1) (Ej.: 192.168.1.2)

Algo de la Secci´ n General est´ ah´ para referencias futuras. Concretamente, no necesitamos conocer o a ı ahora mismo el tipo de CPU. Podemos tambi´ n arreglarnos sin saber qu´ chipset tiene la placa base. Pero si e e est´ disponible la informaci´ n, es bueno tenerla. a o

2.1.6.

Rat´ n o

Otra informaci´ n que necesitamos, comienza con el rat´ n,si contamos con usarlo. Necesitamos saber el o o fabricante, porque las diferentes marcas implementan funciones de se˜ ales internas de distinta forma. Aqu´, n ı atender a los detalles lo es todo. Si tiene un rat´ n de la marca Microsoft, puede tener un interfaz serie o PS/2. o Mirar el conector para el ordenador no ayudar´ tampoco. Un n´ mero de ordenadores vienen con ratones que a u parecen ratones serie y tienen un conector tipo serie, pero son conectados a la placa base internamente como un rat´ n PS/2. o Lea el grabado de la parte inferior del rat´ n cuidadosamente antes de decidirse. Adem´ s, si tiene un rat´ n o a o ´ con tres botones, pero este tiene un selector del bot´ n con el que puede cambiar entre, digamos, Microsoft o y sistemas PC, elija sistemas PC La configuraci´ n de Microsoft no implementa el bot´ n de en medio, que o o s´ es util en UNIX. En el fabricante, escoja la configuraci´ n de ”switch”porque ese es el protocolo de se˜ ales ı ´ o n usado. No hay controladores para los ratones ”bonitos”, pero s´ para la configuraci´ n de ”switch”de Microsoft ı o y Mouse System que se encuentran bajo el rat´ n. o ´ Mientras no se pida espec´ficamente, la unica informaci´ n adicional que puede querer a˜ adir es el dispoı o n sitivo a trav´ s del que el sistema accede al rat´ n. Linux debe conocer c´ mo el dispositivo es referenciado. Si e o o tiene un rat´ n PS/2, normalmente optar´ entre /dev/psaux, el puerto auxiliar para un dispositivo apuntador o a PS/2, o /dev/psmouse, un sin´ nimo a veces disponible para su utilizaci´ n. Los ratones de bus son acceo o didos a trav´ s de un fichero creado espec´ficamente para ese rat´ n propietario, como /dev/atibm para los e ı o ratones de bus ATI, /dev/logibm para los ratones de bus de Logitech, /dev/inportbm para los ratones de bus de de InPort, o sus respectivos sin´ nimos de atimouse, logimouse, y as´ sucesivamente. Para o ı ratones serie, si sabe el puerto de COM: de MS/DOS, sustituya /dev/ttyS0 para COM1: y /dev/ttyS1 para COM2:. Me abstendr´ de explicar los or´genes del nombre tty de ttyS0 dado que ocupar´a varios e ı ı p´ rrafos y est´ explicado ya en muchas referencias de UNIX. a a

2.1.7.

Considerar discos duros y CD-ROMs

Antes de comenzar la instalaci´ n, necesita contar cu´ nta cantidad real de espacio en disco va a dedicar o a a GNU/Linux frente a cu´ nta cantidad dispone. Decidir durante la instalaci´ n c´ mo dividir su disco duro es a o o s´ lamente pedir problemas y probablemente terminar´ en p´ rdida de tiempo, p´ rdida de datos y reinstalaci´ n. o a e e o Su disco duro ser´ uno de varias clases. Para nuestros prop´ sitos, IDE, MFM, RLL, y ESDI son equivaa o ´ lentes, y usar´ el t´ rmino IDE. Este tambi´ n abarca EIDE, actualmente el interfaz m´ s com´ n en el mercado e e e a u de ordenadores dom´ sticos favorecido por su bajo precio. e Si el disco duro tiene un interfaz SCSI, se har´ evidente durante el arranque. Necesitar´ saber el fabricante a a y el modelo de controladora SCSI. Las m´ s comunes son las controladoras de Adaptec y BusLogic, pero en a ´ ´ absoluto son la unicas. Estas tambi´ n tienen modelos espec´ficos, como la AHA-1572 o BTC-958. Esta e ı informaci´ n es a menudo mostrada durante la inicializaci´ n del sistema. o o Para asignar espacio, necesitamos evaluar el tama˜ o del disco duro. Bajo OS/2, puede usar todo el disco n duro para OS/2, despu´ s instalar Microsoft Windows sobre la partici´ n de OS/2 y ejecutarlo bajo OS/2. Si e o tiene MS-DOS y Microsoft Windows, u OS/2 en su ordenador, GNU/Linux deber´a tener su propia partici´ n. ı o Puede cargarse en una partici´ n MS-DOS con UMSDOS, lo cual no se cubre aqu´. Mientras GNU/Linux tiene o ı emuladores de DOS y puede leer e incluso ejecutar algunos programas de DOS, DOS no puede generalmente

Instalaci´ n gen´ rica o e

31

“ver” lo que hay en una partici´ n GNU/Linux. o Si tiene y quiere guardar MS-DOS (se asume), debe determinar cu´ nto espacio le va a reservar. Reste este a n´ mero del tama˜ o total del disco duro y eso es con lo que tiene que trabajar. Por ahora, anote el tama˜ o total u n n de la unidad(es) que tiene y cu´ nto espacio va a dedicar a GNU/Linux. a Para su(s) unidad(es) de CD-ROM necesita informaci´ n similar. Una unidad de CD-ROM es IDE/ATAPI, o la m´ s com´ n en sistemas dom´ sticos hoy d´a; SCSI; o una unidad m´ s antigua, unidad propietaria, como a u e ı a aquellas conectadas a las tarjetas de sonido. Si tiene una unidad IDE o SCSI, mucho mejor. Si tiene una unidad con propietaria, debe conocer el fabricante y modelo, puesto que GNU/Linux las identifica por fabricante y unidad concreta.

2.1.8.

Unidades de discos bajo GNU/Linux

Para los reci´ n llegados a GNU/Linux que est´ n familiarizados s´ lo con MS-DOS, y para aquellos que e e o provengan de otras plataformas UNIX, los dispositivos bajo GNU/Linux tienen una forma de referenciarse peculiar. Esta forma de referenciarse se usa poco menos que desde el inicio, de modo que se necesita cierto conocimiento sobre ellos. Bajo GNU/Linux, como bajo cualquier UNIX, los dispositivos son ficheros especiales. Los discos duros son tratados como ficheros y referenciados por su nombre, como los modems, su monitor, y otros dispositivos hardware. UNIX los trata como ficheros de los que leer y a los que escribir. Puesto que GNU/Linux los ve como ficheros, se encontrar´ n en un directorio dedicado a los dispositivos. Despu´ s de la instalaci´ n los a e o podr´ ver en el directorio /dev, por devices. a Incluso aunque estos dispositivos son vistos por GNU/Linux como ficheros, son especiales. Vienen en dos “sabores,” bloques y caracteres, los cuales se refieren a la manera en que los dispositivos se comunican; en bloque de datos o en caracteres individuales. Se crean autom´ ticamente durante la instalaci´ n. a o Estas convenciones sobre nomenclatura de los dispositivos se discuten en la p´ gina 140. a

2.1.9.

Instalando el sistema de ventanas X-Window

He incluido en su hoja de trabajo informaci´ n sobre su tarjeta de v´deo y su monitor. Aunque no es abo ı solutamente necesario, la mayor parte de los que vienen del mundo de OS/2 o Microsoft Windows quieren instalar una interfaz gr´ fica de usuario (IGU). Algunas distribuciones se lo permiten directamente, miena tras que otras lo hacen a trav´ s de programas posteriores a la instalaci´ n. Esta informaci´ n ser´ importante e o o a entonces. Algunas distribuciones le gu´an a trav´ s de esta configuraci´ n, otras le dirigen a programas posteriores a ı e o la instalaci´ n. Esta informaci´ n tambi´ n ser´ importante. o o e a Debe conocer el fabricante y modelo concreto de su tarjeta de v´deo. A algunas tarjetas se les puede ı comprobar o “preguntar” cuanta RAM tienen o que chipset utilizan, pero a otras no. En cualquier caso, saber esto es importante, como en las S3 o S3-Virge. Esta informaci´ n ahorra mucho tiempo y disgustos. La parte o m´ s dif´cil y frustrante de cualquier instalaci´ n y configuraci´ n de GNU/Linux es la del sistema de ventanas a ı o o X. Con frecuencia, los datos de su monitor son m´ s dif´ciles de obtener. Si tiene una de las marcas menos a ı conocidas de monitores, es posible que tenga que introducir las frecuencias de refresco vertical y horizontal por usted mismo. Si tiene dudas, sea siempre conservador. Sobrepasar los l´mites de su sistema puede da˜ ar su monitor o ı n tarjeta de video. Ya tenemos la mayor parte de la informaci´ n que necesitamos para el rat´ n, que tambi´ n utilizar´ el o o e a servidor X. La informaci´ n que GNU/Linux necesita conocer sobre el rat´ n se describe en la p´ gina 30. o o a

2.1.10.

Hardware de sistema de redes

Esta secci´ n no es a´ n tan significativa como sugiere la hoja de trabajo. El sistema de redes se explica en o u detalle en el Cap´tulo 6. Pero si tiene una tarjeta de red 2 , sea Ethernet, Token Ring, u otro sistema, debe ı
2 N.

del T.: Network Interface Card

32

Obtenci´ n e instalaci´ n de Linux o o

leer encima de la tarjeta antes de proceder. Esta informaci´ n se necesitar´ durante la instalaci´ n para usar la o a o tarjeta de red. Durante la instalaci´ n inicial de GNU/Linux, si no tiene una tarjeta de red, puede saltarse buena parte o de la configuraci´ n de red. Sin embargo, todos los ordenadores deben tener un nombre en GNU/Linux. El o ejemplo de la hoja de trabajo, asume que tiene elegido uno, como monta˜ as, y nombrar´ sus ordenadores n a despu´ s con nombres de monta˜ as, pero cualquier nombre que se le ocurra ser´ adecuado. e n a Si tiene un m´ dem, debe conocer donde est´ conectado. Este se encuentra en un puerto serie, o a /dev/ttyS0 hasta /dev/ttyS3, que corresponde en MS-DOS a los puertos COM: del 1 al 4. La RDSI se trata del mismo modo, pero normalmente se configura con posterioridad a la instalaci´ n con designaciones o especiales y m´ ltiples dispositivos. u Eso finaliza nuestra hoja de trabajo y aproximadamente la mitad de la planificaci´ n que necesitamos o hacer. Una notaci´ n que no figura en nuestra hoja de trabajo es la cantidad de memoria RAM que tiene o el sistema. GNU/Linux funciona en un sistema con menos de 4 MB de RAM, pero esto tiene un impacto significante en la instalaci´ n y subsiguiente uso del sistema. Si tiene 4 MB de RAM o menos, debe seguir o procedimientos espec´ficos para m´ quinas de poca memoria donde sea pertinente. Con el actual bajo precio ı a de RAM y con las pocas m´ quinas que son vendidas hoy con menos de 16MB de RAM, esto generalmente a no es una cuesti´ n. Si es as´, aseg´ rese de comprobar su distribuci´ n para instrucciones espec´ficas. o ı u o ı

2.1.11.

Planificaci´ n 2a Parte o

Partes de la secci´ n siguiente, en particular las formas de particionar un disco, son sumamente beligerano tes entre instaladores experimentados, pero yo le dar´ mis ideas sobre ello. Se puede ser tan creativo como e ´ se quiera. La mayor´a de las diferencias en mi opini´ n, se originan seg´ n sea la finalidad ultima del sistema, ı o u e.j., como una estaci´ n de trabajo, servidor web, servidor de noticias u otra funci´ n. o o

2.1.12.

Estrategias de particionado

Pocos usuarios experimentados de GNU/Linux le dir´ n que haga una partici´ n nativa de GNU/Linux, a o una partici´ n de intercambio y que comience la instalaci´ n. Hay numerosas razones para esto, y suscribo o o la mayor´a de ellas, as´ que yo tengo numerosas particiones nativas de GNU/Linux. Pero para m´, la raz´ n ı ı ı o m´ s convincente de todas es que un d´a querr´ actualizarse, y eso requerir´ reformatear el sistema(s) de a ı a a ´ ficheros. De hecho, la distribuci´ n Slackware no tiene, en ultima instancia, medios para ni siquiera intentar o una actualizaci´ n “en el momento”, o indicaci´ n alguna de que las tendr´ en el futuro. La actualizaci´ n del o o a o n´ cleo 0.99 al 1.2.13 me exigi´ reformarlo, como tambi´ n de la versi´ n 1.2.13 a la 2.0.0, y sospecho que lo u o e o necesitar´ de nuevo para la versi´ n 2.2.0 (o la que sea el pr´ ximo n´ cleo estable). Lo que no deseo, es perder e o o u los ficheros que he acumulado en mi directorio de inicio. S´, tengo una copia de seguridad. Pero conservar mi ı directorio /home intacto es m´ s sencillo, especialmente desde que mov´ todos mis ficheros especiales a un a ı subdirectorio de all´. ı Otra raz´ n es que cualquier partici´ n arrancable debe estar entre los primeros 1024 cilindros del disco o o duro. Cuando alg´ n PC arranca, ocurren una secuencia de eventos que finalizan en la carga del sistema u operativo. Debido a las limitaciones de la BIOS (Basic Inout/Ouput System), hasta que el sistema operativo es cargado, s´ lo los primeros 1024 cilindros del primer o segundo disco duro pueden ser accedidos. o Para saber exactamente de qu´ estamos hablando, voy a describir un sistema de ficheros est´ ndar de e a ´ GNU/Linux y c´ mo este trata las particiones. o Bajo MS-DOS, cada partici´ n es una unidad diferente, y pocas distinciones son hechas tanto si es una o unidad f´sica o una unidad l´ gica (partici´ n). Bajo GNU/Linux, las unidades f´sicas o l´ gicas son nombradas ı o o ı o mucho menos r´gidamente. ı Durante la instalaci´ n, debe escoger una partici´ n como su partici´ n ra´z. La partici´ n ra´z es designada o o o ı o ı como “/”. Cuando nos referimos a “/dev”, esto es realmente dos directorios, “/” y “dev”. Su n´ cleo u de GNU/Linux se localizar´ en la partici´ n ra´z, pero puede estar en un subdirectorio con tal de que ese a o ı subdirectorio resida en la partici´ n ra´z. Por ejemplo, algunas distribuciones usan /boot para contener el o ı n´ cleo, mapa del sistema, y ficheros de arranque. u La siguiente estructura (como m´nimo) se establecer´ en su partici´ n ra´z durante la instalaci´ n: ı a o ı o

Instalaci´ n gen´ rica o e

33

/bin /dev /etc /home /lib /lost+found /proc /root /sbin /usr /var

Puede ver otras como /boot, /mnt, /cdrom, /floppy, /opt, y as´, pero las citadas anteriormente son ı fundamentales. ¿Qu´ hay de las otras particiones? GNU/Linux puede usar un nombre de directorio (digamos /usr) como e ´ un punto de montaje. Es decir, la otra partici´ n en el disco (o en otro disco) es montada bajo el (en este caso o /usr). Si desmonta la otra partici´ n y mira en el subdirectorio que GNU/Linux usa como punto de montaje, no o ver´ (o no deber´a ver) nada—ni ficheros ni directorios. Cuando otra partici´ n es montada, ver´ los ficheros a ı o a y directorios que est´ n en esa partici´ n bajo el punto de montaje. As´ que si tiene dos unidades, una con 120 a o ı MB y otra con 840 MB puede hacer una partici´ n en la unidad de 120MB (diremos que es la partici´ n ra´z) y o o ı montar cualquiera de las particiones que ha creado en la unidad de 840MB (esta podr´a ser una gran partici´ n, ı o o varias particiones peque˜ as) bajo sus respectivos puntos de montaje, una partici´ n por punto de montaje, n o creando, en efecto, un sistema de ficheros de 960MB. ´ La unica restricci´ n es que no puede usar ciertos directorios en la unidad ra´z como puntos de montaje, o ı porque contienen ficheros que son necesarios para arrancar el sistema o montar otros sistemas. Obviamente si la orden usado para montar otras particiones est´ ubicado en otra partici´ n y no puede acceder a esa partici´ n a o o hasta que no sea montada, estar´ como el perro que persigue su cola. a Los directorios que no puede usar como puntos de montaje son: /bin, /dev, /etc, /lib, /lost+found, /proc, /root, y /sbin. Una descripci´ n detallada de qu´ ficheros est´ n contenidos en estos directorios del sistema est´ ndar se da o e a a en la p´ gina 107. a Veamos un peque˜ o ejemplo. Usted es un aspirante a Proveedor de Servicios de Internet (ISP) Tiene cuan tro m´ quinas, y cada una tiene una unidad de 1 gigabyte. As´ que decide asignar espacio como a continuaci´ n: a ı o
m´quina A: a / = 120MB /usr = resto de la unidad (exportado) /home = 0 - punto de montaje (montado desde B) /var/news = 0 - punto de montaje (montado desde C) /var/spool/mail = 0 - punto de montaje (montado desde D) / = 120MB /usr = 0 - punto de montaje (montado desde A) /home = resto de la unidad (exportado) /var/news = 0 - punto de montaje (montado desde C) /var/spool/mail = 0 - punto de montaje (montado desde D) / = 120MB /usr = 0 - punto de montaje (montado desde A) /home = 0 - punto de montaje (montado desde B) /var/news = resto de la unidad (exportado) /var/spool/mail = 0 - punto de montaje (montado desde D) (ejercicio para el lector)

m´quina B: a

m´quina C: a

m´quina D: a

34

Obtenci´ n e instalaci´ n de Linux o o

Probablemente advirti´ que asign´ arbitrariamente 120 MB a la partici´ n ra´z, y asign´ el resto a cualquiera o e o ı e ( /usr, /home, /var/spool/mail y as´ sucesivamente). Tambi´ n, que no asign´ espacio a ninguna ı e e partici´ n de intercambio. o As´ que, miremos lo que probablemente necesitaremos, comprender de qu´ “depende” es clave. Planteı e rar´ esto desde la perspectiva de una situaci´ n familiar con solamente unos pocos de usuarios, montones de e o programas y sin otras necesidades notorias. Lo mejor para empezar es decirle la apariencia de mi ordenador principal. Tengo dos unidades, /dev/hda (1.2 GB) y /dev/hdb (540 MB). df (disk free) muestra
File system /dev/hda1 /dev/hda3 /dev/hda2 /dev/hdb1 1024-blocks Used Available Capacity Mounted on 150259 69605 72894 49% / 723923 615452 71075 90% /usr 150291 93326 49204 65% /usr/X11R6 499620 455044 18773 96% /home

Puede ver que tengo a mitad de uso 150-MB de partici´ n ra´z (/), una partici´ n /usr casi completa, una o ı o partici´ n /usr/X11R6 usada en su mayor parte, y una grande pero restringida 500-MB partici´ n /home. El o o resto de la unidad /dev/hdb es una partici´ n de intercambio. o En un m´nimo realista, sugerir´a reservar 80–100 MB para su partici´ n ra´z, sobre 10 MB por usuario en ı ı o ı su partici´ n /home, tanto m´ s espacio como pueda reservar para intercambio, dentro de lo razonable (vea la o a pr´ xima secci´ n), y el resto para /usr. Tengo un sistema familiar para cinco usuarios, pero personalmente o o ´ tengo sobre 400 MB inmovilizados del directorio /home, la mayor´a en gr´ ficos—un album de fotos de ı a familia y amigos. Su partici´ n /usr deber´a ser presumiblemente de al menos 250MB, pero el m´nimo o ı ı depender´ de lo que decida al instalar. Como puede ver, se puede rellenar r´ pidamente con m´ s de 800 MB a a a de programas, bibliotecas, y datos. Adem´ s recuerde que las particiones le dan la flexibilidad que perder´a a ı con una partici´ n gigante. o

2.1.13.

La partici´ n de intercambio o

Debe ir pensando hacer una partici´ n de intercambio. A diferencia de Microsoft Windows, GNU/Linux o usa una partici´ n de intercambio dedicada por rapidez. Aunque es posible crear un fichero de intercambio no o es recomendable. GNU/Linux puede usar hasta 128 MB3 de espacio de intercambio. Recomiendo un m´nimo ı ´ pr´ ctico de 16 MB. El optimo es probablemente tanto como pueda reservar entre 32 y 64MB—mientras m´ s, a a mejor. ´ Una ultima consideraci´ n antes de que decida como trocear mejor el disco. Recuerde que dije que la o BIOS no puede “ver” pasado el sector 1023 en el disco duro (aproximadamente 512MB). As´ que, el n´ cleo de ı u GNU/Linux (un fichero probablemente llamado vmlinuz en su disquete de arranque), o cualquier n´ cleo de u otro SO en ese caso, debe residir completamente en una de las primeras dos unidades de discos (/dev/hda o /dev/hdb) y entre los primeros 1024 sectores, o la BIOS ser´ incapaz de cargarlo. Para garantizar que a puede, planee hacer que su partici´ n ra´z (as´ como cualquier otra partici´ n de arranque) caiga enteramente o ı ı o dentro de esta limitaci´ n, en el primer o segundo disco duro. o

2.1.14.

Reparticionando

Al comienzo de este Cap´tulo dije que hab´a hecho unas pocas suposiciones. Una era que quer´a guardar ı ı ı su c´ modo MS-DOS y Microsoft Windows. Y puesto que el ordenador que compr´ s´ lo tiene MS-DOS, no o o o ´ tiene sentido tener m´ ltiples particiones, as´ que la unica unidad que tiene est´ probablemente dedicada por u ı a completo a MS-DOS. De una manera o de otra, despu´ s, tendremos dos sistemas operativos en este ordenador. Si actualmente e no tiene nada en su disco (buena suerte), es decir estupendo, pero no est´ del todo listo para seguir adelante. a GNU/Linux es confortable donde quiera que lo ponga. Su BIOS puede que no tenga capacidad de arrancarlo, pero una vez en ejecuci´ n, no se quejar´ si es relegado a la cuarta partici´ n del cuarto disco duro. Pero MSo a o DOS y Microsoft Windows no son as´ de compasivos. Ellos quieren la primera unidad y la primera partici´ n y ı o
3 N.

del T.: Hasta 8 particiones de 128Mb de espacio de intercambio

Instalaci´ n gen´ rica o e

35

pueden rechazar arrancar desde cualquier otra posici´ n. He visto arrancar MS-DOS desde la primera partici´ n o o en el segundo disco duro, pero el primer disco duro no ten´a ninguna partici´ n de MS-DOS, as´ que MS-DOS ı o ı no reconoci´ la unidad. La mejor estrategia, a menudo, es el camino de la menor resistencia. Si en absoluto o es posible, ponga MS-DOS en la primera unidad y la primera partici´ n. o Una segunda consideraci´ n en una situaci´ n de m´ ltiples SO es cu´ l sistema operativo cargar primero. o o u a Si est´ tentado de particionar el disco duro e instalar GNU/Linux primero (reservando /dev/hda1 para a MS-DOS, entonces no instale MS-DOS en segundo lugar. Al instalar MS-DOS o Windows, el programa de instalaci´ n borrar´ cualquier programa de arranque previo que tenga instalado en el registro maestro de o a arranque (MBR) (el que la BIOS usa para apuntar a n´ cleos arrancables), De hecho, puede incluso o´r esta u ı alusi´ n como el “virus Microsoft”. Esto no es un virus en el sentido verdadero de la palabra, exactamente o es arrogancia por parte de Microsoft, que solamente quiere un sistema operativo Microsoft para arrancar. GNU/Linux no causa tales problemas, y de hecho suministra un medio para elegir la imagen para arrancar por defecto. Tambi´ n le permite intervenir durante el proceso de arranque para especificar con qu´ sistema e e operativo arrancar. Esto es una parte est´ ndar del proceso de instalaci´ n de GNU/Linux. a o

2.1.15.

Haciendo copia de seguridad de su sistema antiguo

Antes de que realmente consigamos trabajar en la tabla de particiones, Le guiar´ a trav´ s de procedimiene e tos para proteger los datos que tiene en su disco duro. Estos procedimientos asumen que tiene una partici´ n o DOS. Otros sistemas operativos pueden o no tener un m´ todo para lograr el mismo prop´ sito. e o Lo primero que deber´a hacer es realizar una copia de seguridad completa. Las herramientas que usar´ traı a bajan como debieran. Pero estos procedimientos son intr´nsecamente peligrosos. En cualquier momento que ı trabaje con una tabla de particiones de un disco duro, puede perder f´ cilmente todos los datos contenidos en a la unidad. Copie su disco duro antes de proceder. ´ Una vez ha copiado su disco duro, cree un disquete de arranque para el sistema. Puede usar los ordenes de MS-DOS
C:>format a: /s

el cual formatea el disquete y le pone los ficheros que requiere el sistema o, usar un disquete formateado. Escriba la orden
C:>sys a:

En cuanto haya creado un disquete de inicio y lo haya probado para garantizar que funciona, copie los siguientes ficheros de su sistema MS-DOS al disquete de inicio: FDISK.EXE, SCANDISK.EXE, y SYS.COM. Adem´ s copie el fichero RESTORRB.EXE desde un CD de una distribuci´ n de GNU/Linux o de un sitio de a o FTP de ficheros de GNU/Linux. (Vea Ap´ ndice C). e Ejecute un programa de desfragmentaci´ n en su unidad DOS para desfragmentar y agrupar los ficheo ros junto a la parte delantera del disco. Si desfragmentando encuentra cualquier error, necesita ejecutar SCANDISK.EXE para reparar los problemas. Una vez ha desfragmentado el disco y se ha asegurado que los ficheros est´ n condensados en la parte delantera de la unidad (como se indica en la gr´ fica de su disco), a a est´ preparado para ejecutar FIPS.EXE para reducir de tama˜ o la partici´ n MS-DOS. a n o

2.1.16.

FIPS.EXE

En su CD de la distribuci´ n de GNU/Linux (o en el emplazamiento de la distribuci´ n en Internet), eno o contrar´ una copia de FIPS.EXE, con la que puede reducir el tama˜ o de la partici´ n MS-DOS. Note que a n o FIPS.EXE solamente trabaja con particiones MS-DOS. Si tiene otras particiones que necesite reducir, el programa Partition Magic le puede ayudar, pero no es libre. Copie FIPS.EXE a su disquete de inicio y rearranque usando este disquete. Esto cumplir´ dos objetivos: asegura que el disquete de inicio funciona, y a asegura que est´ arrancando en modo read de MS-DOS y no ejecutando Microsoft Windows. a En el indicador A:\ escriba FIPS (en may´ sculas o min´ sculas). Se le dar´ la bienvenida y se le u u a preguntar´ con qu´ unidad quiere operar (si tiene m´ s de una). Elija la unidad a reducir. Una vez que confirme a e a

36

Obtenci´ n e instalaci´ n de Linux o o

su elecci´ n, FIPS.EXE har´ una copia de sus sectores de arranque y ra´z al disquete por si acaso algo adverso o a ı ocurre. Entonces se le preguntar´ si todo el espacio libre de su partici´ n deber´a usarse para crear una segunda a o ı partici´ n. Si contesta “s´”, no tendr´ ning´ n usarse para crear una segunda partici´ n. Si contesta “s´”, no o ı a u o ı tendr´ ning´ n espacio libre en la partici´ n MS-DOS para guardar datos, as´ que diga, “no”. En ese momento a u o ı estar´ capacitado para variar la cantidad de espacio que asignar entre la primera y segunda partici´ n. Note a o que si no desfragment´ correctamente su unidad, no tendr´ mucho para trabajar con la segunda partici´ n. o a o Tambi´ n, si usa el software de replicado de MS-DOS, un fichero que se crea en el mismo final de la partici´ n, e o y FIPS.EXE le dir´ que no tiene espacio para crear una segunda partici´ n. Salga y corriga el problema a o borrando el fichero MIRROR.FIL, despu´ s vuelva a arrancar FIPS.EXE. e Puede editar y reeditar la tabla de particiones hasta que est´ satisfecho. En cuanto est´ contento con la e e distribuci´ n de espacio entre las particiones, confirme sus cambios y escriba la tabla. o Una vez que FIPS.EXE ha terminado, quite el disquete de arranque y rearranque su ordenador. En este ejemplo, destruiremos y nos recrearemos con la segunda partici´ n durante la instalaci´ n para crear al menos o o dos particiones para GNU/Linux: una partici´ n de intercambio, y una partici´ n nativa de GNU/Linux. Pero o o puede crear tantas como guste.

2.1.17.

Prepar´ ndose para iniciar GNU/Linux a

Para instalar GNU/Linux, debemos comenzar con la carga del n´ cleo de GNU/Linux. Esto es llevado a u cabo del mismo modo como si quisiera volver a cargar MS-DOS: necesitamos un disquete de inicio. Pero la mayor´a de las distribuciones vienen s´ lo con un CD-ROM,y a´ n cuando tengamos un sistema GNU/Linux ı o u en ejecuci´ n, la orden para crear disquetes de inicio para GNU/Linux es diferente que en MS-DOS. Si ha o comprado un ordenador nuevo que permite el arranque desde CD-ROM, algunas distribuciones le permitir´ n a arrancar de este modo. Pero seguiremos enteramente el proceso de creaci´ n de un disquete de inicio en lo o que nos resta.

2.1.18.

Creando un disquete de arranque de GNU/Linux bajo DOS

Toda distribuci´ n contiene un programa MS-DOS que le permiten escribir una imagen de disco en un o disquete formateado. Necesita un disquete de alta densidad, y algunas distribuciones requieren que sea de 3.5-pulgadas, y 1.44 Mb. Introduzca el disquete en la unidad. Busque en el CD (o en su disco duro si lo descarg´ ) RAWRITE2.EXE (puede que tenga el antiguo RAWRITE.EXE). o Luego haga cd al directorio que tiene la(s) imagen(es) del disco que necesita para arrancar. Puede haber s´ lo una, o muchas im´ genes configuradas para diferente hardware. Tendr´ que consultar la documentao a a ci´ n de la distribuci´ n. Ejecutando RAWRITE2.EXE sin argumentos se le preguntar´ n dos cosas: la ruta de o o a la imagen de disco a escribir y la unidad de disco destino, A: o B:. Para acortar, con RAWRITE.EXE o ´ RAWRITE2.EXE, especifique los argumentos en la l´nea de ordenes de MS-DOS. ı
C:>rawrite imagen unidad

Repita este paso para cualquier imagen de disco adicional que su sistema necesite. Si puede, verifique los disquetes con SCANDISK.EXE y haga una exploraci´ n de la superficie antes o de escribir las im´ genes al disco, le puede ahorrar algo de tiempo posteriormente. La mayor´a de los fallos a ı iniciales en la instalaci´ n se originan por disquetes de arrranque en mal estado, y RAWRITE2.EXE no los o verifica. Esto tambi´ n es cierto si crea disquetes de arranque bajo GNU/Linux. La p´ gina de manual de e a badblocks(1) describe como verificarlos. Etiquete los disquetes que cree para uso futuro.

2.1.19.

Creando un disquete de arranque bajo GNU/Linux

Si tiene un sistema GNU/Linux funcional; por ejemplo, si se actualiza y quiere crear las im´ genes de a discos con GNU/Linux, cambie al directorio que contiene las im´ genes de disco y use la orden a

Instalaci´ n gen´ rica o e

37

# dd if=imagen of=unidad de disquete bs=512 conv=sync ; sync

Sustituya el nombre de la imagen de disco por imagen y la unidad de disquete correcta (casi siempre /dev/fd0), y rep´talo para cada disquete que necesite. Los argumentos dd son: if para el fichero de entraı da; of para el fichero de salida, y aqu´ debemos usar la unidad de disquete; bs para el tama˜ o de bloque, en ı n este caso 512 bytes; conv=sync asegura que el fichero de salida tiene exactamente el mismo tama˜ o que el n fichero de entrada. La coletilla “sync” garantiza el volcado de los b´ fferes al disco inmediatamente. u Un m´ todo alternativo que, aunque funciona ser´ evitado por un genuino administrador de GNU/Linux, e a es la orden cp (copiar)
cp imagen unidad de disquete ; sync

De nuevo, sustituya el nombre de la imagen de disco por imagen, la correcta unidad de disquete, y repita el paso por cada disquete que necesite. Puede recibir un mensaje preguntando si desea reemplazar la unidad de disquete por imagen. Obviamente si esto no ocurriera, puesto que el disquete no es un verdadero fichero sino un dispositivo, cp no presta atenci´ n a ese detalle. Exactamente diga, “s´,” si es preguntado. o ı Con los disquetes de instalaci´ n de GNU/Linux en la mano, est´ preparado para instalar nuestro sistema. o e La mayor´a de las distribuciones invocan a fdisk, la versi´ n de GNU/Linux, as´ que puede crear una partiı o ı ci´ n nativa de GNU/Linux y una de intercambio. El programa de instalaci´ n continua creando el sistema de o o ficheros (el equivalente de formatear un disquete en MS-DOS) para ambas particiones la de GNU/Linux y la de intercambio, inicializa la partici´ n de intercambio y monta la partici´ n de GNU/Linux. o o Una pregunta que le ser´ realizada es si quiere comprobar su disco duro para detectar bloques defectuosos. a Si usa una unidad SCSI, conteste “no”. Las unidades SCSI tienen incorporadas la detecci´ n y correcci´ n de o o errores. Las unidades IDE y similares no tienen esta facilidad y necesitan ser barridos para encontrar bloques defectuosos. Si tiene una unidad antigua debe hacer esto. Si dice “s´”, el programa de instalaci´ n invocar´ al ı o a programa badblocks marcar´ todos los bloques defectuosos que encuentre. Esto lleva tiempo. Si duda, a diga “s´”. ı

2.1.20.

Particionando el disco duro: fdisk y cfdisk

Cada sistema operativo, sea MS-DOS y Microsoft Windows, o GNU/Linux, tiene su propia versi´ n de o fdisk. Si desea crear una partici´ n para ser usada por MS-DOS, use la versi´ n de MS-DOS, FDISK.EXE, o o para crear la partici´ n y escribir la tabla. Si va a crear una partici´ n para GNU/Linux, debe crearla con la o o versi´ n de GNU/Linux, fdisk. o Bajo GNU/Linux, est´ n disponibles dos programas de particion de discos: el original fdisk, y uno a ´ amigable cfisk. La diferencia entre ellos es que con fdisk usted usa todos los ordenes a trav´ s del teclado e con letras y n´ meros. Con cfdisk, usted usa el teclado de flechas para resaltar las opciones que desea, u ´ y pulsar Enter para ejecutar la orden. La unica vez que use todo menos las teclas flechas y Enter es cuando especifica un n´ mero para el tama˜ o de la partici´ n. u n o Para iniciados, todos los disquetes de arranque de GNU/Linux son creados en esencia id´ nticos. Reae rranque el ordenador con el disquette de arranque en la unidad. Ser´ saludado con una pantalla con algunas a instrucciones y un indicador
LILO boot:

y un cursor parpadeante. Si usa la tecla Tab , deber´a ver una lista de nombres. Los nombres difieren deı pendiendo de la distribuci´ n, pero busque uno que diga “rescue” o “expert.” La etiqueta “install” inicia el o programa de instalaci´ n depu´ s de cargar el n´ cleo, as´ que si desea permitir al programa de instalaci´ n o e u ı o guiarle a trav´ s del proceso de particionado e inicializaci´ n del sistema de ficheros, puede usar la etiqueta e o “install”; de lo contrario, elija una etiqueta diferente. Puede tambi´ n necesitar suministrar a GNU/Linux algue nos par´ metros de arranque, Para nuestros prop´ sitos, esto no deber´a ser necesario, pero pronto averiguar´ si a o ı a ´ este es el caso. Introduzca un nombre de etiqueta y pulse /keyReturn. Cuando el n´ cleo de GNU/Linux finaliza el proceso u de arranque, puede ser obsequiado con cualquiera de un n´ mero de indicadores, dependiendo de la distribuu ci´ n. Si tiene un indicador de shell, como el signo libra (#) o el signo d´ lar ($), est´ donde necesita estar. Si o o a

38

Obtenci´ n e instalaci´ n de Linux o o

ı no, pruebe pulsando Alt - F2 o Alt - Shift -F2. Deber´a poder activar una de las consolas virtuales del sistema. Una vez que tiene un indicador (no necesitar´a iniciar la sesi´ n), estar´ trabajando como “root” (m´ s ı o a a informaci´ n en el Cap´tulo 4). Introduzca la orden o ı
# fdisk

´ Si es devuelto un error, pruebe cfdisk. Esta es la utilidad de particionado de discos. Por defecto trabaja con /dev/hda, as´ que si necesita trabajar con el segundo disco duro, use la orden ı
# fdisk /dev/hdb

´ Dentro de fdisk, pulse m para ver un men´ . Los ordenes que usar´ son: n para crear una nueva u a partici´ n; d para eliminar una partici´ n ; t para cambiar el tipo de partici´ n (83 es Linux Nativo (ext2), o o o 82 es Linux intercambio (swap)); p imprime en la pantalla la informaci´ n de la partici´ n actualmente en o o memoria (no la que est´ en el disco); w escribe la tabla de partici´ n en el disco; y q salir. a o Hasta que no pulse la orden w , no se modifica nada y puede hacer cambios o salir sin hacerlos. Preste atenci´ n a los prefijos y sufijos del tama˜ o de la tabla de particiones. Con el tama˜ o de la partici´ n o n n o necesita especificar “+” si el tama˜ o estar´ dentro del n´ mero de partici´ n, y un sufijo de “k” o “M” ( la n a u o may´ scula o min´ scula no importa) para especificar KB o MB. u u Una nota final sobre particiones: puede crear hasta cuatro particiones primarias. Si necesita m´ s de cuatro, a deber´a crear tres particiones primarias y una partici´ n extendida. El n´ mero de partici´ n extendida comienza ı o u o con el 5, asi que puede tener /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5, y /dev/hda6 si necesita cinco particiones. Como comprobaci´ n final, antes de escribir la tabla de particiones, aseg´ rese que sus particiones no se o u solapan. Siempre y cuando el comienzo y final de un tramo no se solape con ning´ n otro, puede estar seguro u que los l´mites de las particiones est´ n bien. El n´ mero 1024 puede ser mostrado al comienzo para particiones ı a u que comiencen a partir del cilindro 1024. Por ahora, tan s´ lo considere eso como un recordatorio de que la o BIOS no ser´ capaz de leer (o cargar desde) esa partici´ n. a o cfdisk hace exactamente lo mismo que fdisk, pero muestra en pantalla el estado de la tabla de particiones en memoria (no en una partici´ n con la que trabajar, y las teclas Flecha Derecha y Flecha Izquierda o o a para seleccionar la acci´ n a realizar. Entonces pulse Enter para realizar la acci´ n. Tendr´ que introducir la o cantidad para el tama˜ o con el que desea hacer la partici´ n, pero toda la informaci´ n es dada en pantalla, justo n o o despu´ s de las instrucciones. cfdisk por defecto act´ a sobre /dev/hda, as´ que debe dar el argumento e u ı /dev/hdb si quiere cambiar la tabla de particiones de un segundo disco duro. Recuerde escribir la tabla de particiones antes de salir. Esta es la parte m´ s dura de cfdisk. No se solicita confirmaci´ n antes de salir. a o As´ que seleccione “Escribir” y pulse Enter antes de elegir Salir y pulsar Enter . ı

2.2.

Distribuciones de GNU/Linux

Ud. se encuentra ahora con la tarea de decidirse por una distribuci´ n en particular de GNU/Linux que o se ajuste a sus necesidades. No todas las distribuciones son iguales. Muchas de ellas incluyen pr´ cticamente a todo el software que Ud. necesitar´a para poner en marcha un sistema completo— y otras distribuciones son ı “peque˜ as” distribuciones orientadas a usuarios sin grandes cantidades de espacio en disco. Muchas distribun ciones solamente contienen lo esencial del software de GNU/Linux, y se espera que Ud. instale paquetes de software m´ s grandes, tales como el sistema X Window. (En el cap´tulo 5 le mostraremos c´ mo.) a ı o El Linux Distribution HOWTO (vea el Ap´ ndice C) contiene una lista de las distribuciones de GNU/Linux e disponibles a trav´ s de Internet as´ como por correo. e ı Si tiene acceso a las noticias de USENET, o a otro sistema electr´ nico de informaci´ n, puede querer peo o dir all´ opiniones personales de gente que haya instalado GNU/Linux. Adem´ s, Linux Journal mantiene una ı a tabla de revisiones de distribuciones (consulte http://www.linuxjournal.com/selected.html para leer las versiones on-line de la tabla y los art´culos. Incluso mejor, si conoce a alguien que haya instaı lado GNU/Linux, p´dale ayuda y consejo. Existen muchos factores a considerar al elegir una distribuci´ n; ı o sin embargo, las necesidades y opiniones de cada uno son diferentes. En la actualidad, la mayor parte de

2.3. Debian GNU/Linux

39

Directorio ./stable/ ./stable/binary-i386 ./stable/disks-i386 ./stable/disks-i386/current ./stable/disks-i386/special-kernels

./stable/msdos-i386

Contenido ´ Ultima versi´ n estable de Debian. o Paquetes de Debian para la tecnolog´a Intel i386. ı Disquetes de arranque y disquetes ra´z ı necesarios para la instalaci´ n de Debian. o Conjunto de disquetes de arranque actuales. N´ cleos y disquetes de arranque especiales para u hardware determinado. Configuraciones que no funcionan con los disquetes de arranque normales. Nombres cortos de ficheros de DOS para los paquetes de Debian.

Cuadro 2.1: Estructura del directorio de Debian GNU/Linux. las distribuciones de GNU/Linux m´ s populares incluyen pr´ cticamente el mismo software, por lo que la a a distribuci´ n que elija es m´ s o menos arbitrario. o a

2.3.

Debian GNU/Linux

Esta secci´ n sobre GNU/Linux fue escrita por Boris Beletsky. o

2.3.1.

Debian GNU/Linux: instalaci´ n y caracter´sticas o ı
S´ ı Disquetes CD, disco duro, NFS, FTP Sys V init Desafiante No dselect dselect/dpkg

Dependencias: M´ todos de arranque para la instalaci´ n: e o M´ todos de instalaci´ n: e o Sistema de inicio: Dificultad de instalaci´ n: o Herramientas gr´ ficas de instalaci´ n: a o Utilidad de instalaci´ n: o Utilidad de mantenimiento de paquetes:

2.3.2.

Conseguir las im´ genes de disquete a

Si se dispone de un acceso a Internet r´ pido y barato, la mejor forma de conseguir Debian es a trav´ s a e de FTP an´ nimo (vea el ap´ ndice C). El sitio FTP principal de Debian est´ en ftp.debian.org en el o e a directorio /pub/debian y su estructura se encuentra descrita en la tabla de la p´ gina 39. a

La instalaci´ n b´ sica de Debian necesita unos 12 megabytes de espacio libre en el disco duro y algunos o a disquetes. Pero antes de nada, usted necesitar´ las im´ genes de los disquetes de arranque y los disquetes a a de controladores de dispositivo. Debian ofrece dos conjuntos de disquetes de arranque, uno para discos de 1.2 Mb y otro para discos de 1.44 Mb, Adem´ s existe otro conjunto de im´ genes base que funcionan con a a cualquiera de los dos tipos de disquete. Compruebe qu´ tipo de unidad utiliza su sistema en el arranque y e descargue las im´ genes adecuadas para su caso. a

Elija el conjunto de disquetes apropiado para su hardware seg´ n la tabla de la p´ gina 40 y copie las im´ genes u a a a los discos de la misma forma que se describe en la p´ gina 36. a

40

Obtenci´ n e instalaci´ n de Linux o o

Nombre de fichero rsc1440.bin drv1440.bin base-1.bin base-2.bin base-3.bin base-4.bin base-5.bin root.bin rsc1440r.bin

Etiqueta Rescue Floppy Device Drivers Base 1 Base 2 Base 3 Base 4 Base 5 Root Disk Rescue Floppy

Descripci´ n o

Conjunto de disquetes para sistemas con una unidad de 1.44MB y 5MB de RAM como m´nimo. ı

Imagen de disco de rescate opcional para sistemas con poca memoria (menos de 5MB de RAM).

rsc1200r.bin drv1200.bin base-1.bin base-2.bin base-3.bin base-4.bin root.bin

Rescue Floppy Device Drivers Base 1 Base 2 Base 3 Base 4 Root Disk

Conjunto de disquetes para sistemas con unidades de 1.2MB.

Cuadro 2.2: Disquetes de instalaci´ n de Debian GNU/Linux. o

2.3.3.

La descarga de paquetes

Para instalar y usar debian, necesitar´ m´ s que el sistema base, deber´ decidir qu´ paquetes quiere instalar. a a a e Para ello descargue el fichero Packages:
ftp://ftp.debian.org/pub/debian/stable/Packages

Este fichero es una lista actualizada de los paquetes Debian disponibles en la distribuci´ n estable. El o fichero tiene un formato especial: cada paquete tiene su propia entrada separada por una l´nea en blanco y ı la informaci´ n de cada uno de ellos est´ diferenciada en distintos campos. La tabla de la p´ gina 47 describe o a a cada campo y sus posibles valores. Esto le dar´ una idea de como preparar su propia lista de descarga. a Cuando ya tenga su lista de paquetes preparada, necesitar´ decidir como descargarlos. Si usted es un usuario a experimentado, es posible que prefiera descargar el paquete netbase —y SLIP y PPP, si fuese necesario— y despu´ s, descargar el resto de paquetes a trav´ s del nuevo GNU/Linux. De cualquier forma, tambi´ n puede e e e descargar todos los paquetes que desee con su sistema operativo actual e instalarlos m´ s tarde desde una a partici´ n montada. o

2.3.4.

Arrancar con los disquetes e instalar Debian GNU/Linux

El disco de rescate Introduzca el disco de rescate en la unidad de arranque y reinicie. En un minuto o ´ dos, ver´ una pantalla de presentaci´ n del disquete de rescate y el s´mbolo de espera de ordenes “boot”. a o ı Se le llama disco de Rescate porque puede usarse para iniciar su sistema y realizar reparaciones si hay alg´ n problema que haga que el disco duro no pueda arrancar. Por esta raz´ n es recomendable guardar este u o disquete despu´ s de la instalaci´ n. e o Una vez con el s´mbolo boot: en pantalla, puede hacer dos cosas: pulsar las teclas de funci´ n F1 ı o hasta F10 para ver algunas p´ ginas con informaci´ n de ayuda, o arrancar el sistema. Si tiene cualquier a o dispositivo hardware al que GNU/Linux no acceda de forma correcta en el momento del arranque, puede intentar encontrar alg´ n par´ metro en las pantallas que se visualizan pulsando F3 , F4 , y F5 y a˜ adirlo u a n ´ en la l´nea de ordenes del arranque. ı ´ Si desea introducir un par´ metro en la l´nea de ordenes, aseg´ rese de teclear la palabra “linux” y a ı u un espacio antes del primer par´ metro. Pulsar simplemente Enter tiene el mismo efecto que si hubiese a

Debian GNU/Linux

41

tecleado “linux” sin ning´ n par´ metro determinado. u a Si es la primera vez que inicia el sistema, pulse Enter y observe si este arranca correctamente, es probable que lo haga. En caso contrario, puede reiniciar y buscar alg´ n par´ metro especial que informe al u a sistema del hardware que tiene su equipo. a Una vez haya pulsado Enter , deber´ ver los siguientes mensajes:
Loading... Uncompressing linux...

despu´ s ver´ un listado de informaci´ n cr´ptica sobre el hardware presente en su sistema. Puede que haya e a o ı muchos mensajes de la forma: “can’t find 4 algo,” “algo not present 5 ,” “can’t initialize 6 algo”, o incluso “this driver release depends on 7 algo,” La mayor´a de estos mensajes no ocaı sionar´ n ning´ n problema. Este tipo de discos de arranque de instalaci´ n se hace de modo que sean capaces a u o de funcionar en ordenadores con dispositivos perif´ ricos muy distintos. Obviamente, no todos los ordenae dores tienen todos los dispositivos posibles, y el sistema operativo demanda aquellos que no encuentra en el ordenador. El sistema puede detenerse tambi´ n durante alg´ n tiempo, esto ocurre cuando espera la rese u puesta de un dispositivo que no est´ presente. Si el tiempo que tarda el sistema en arrancar es excesivamente a largo, puede crear un n´ cleo personalizado despu´ s de la instalaci´ n que no tenga los controladores de los u e o dispositivos no existentes. Sistemas con poca memoria En el caso de que su sistema tenga 4MB de RAM, aparecer´ en pantalla a un texto que trata de la poca memoria y un men´ de tres opciones a elegir. Sin embargo, si su sistema cuenta u con memoria RAM suficiente, aparecer´ directamente un cuadro de di´ logo que le dar´ a elegir el tipo de a a a monitor: en color o monocromo. Si ve el men´ de poca memoria, deber´ elegir las opciones adecuadas en su u a caso, particionar su disco duro, activar la partici´ n de intercambio8 e iniciar el sistema gr´ fico de instalaci´ n. o a o El programa que se usa para particionar el disco se llama cfdisk; deber´a verse la p´ gina de manual de ı a cfdisk y las instrucciones que se muestran en la p´ gina 37 como ayuda adicional. a Usando cfdisk podr´ crear una partici´ n GNU/Linux de intercambio (tipo 82) en el disco duro. Esa o ta partici´ n es necesaria durante la instalaci´ n como memoria virtual, ya que probablemente, el proceso o o usar´ una cantidad de memoria superior a la memoria RAM f´sica de la que usted dispone. Seleccione la a ı cantidad de memoria virtual que tiene intenci´ n de usar una vez instalado el sistema; esa cantidad ser´ exaco a tamente igual al espacio de disco requerido. Diecis´ is megabytes es probablemente la partici´ n m´ s peque˜ a e o a n aconsejable, pero mejor usar 32 megabytes si puede permit´rselo, y 64 megabytes si su disco es lo suficienteı mente grande y dispone del espacio de disco suficiente. Monitor en color o monocromo Una vez que el sistema termine de iniciarse, deber´ ver el cuadro a de di´ logo del tipo de monitor. Si su monitor es monocromo, es decir, visualiza solo blanco y negro, pulse a Enter y contin´ e con la instalaci´ n. En caso contrario, seleccione Color en el men´ moviendo el cursor u o u con las flechas del teclado y pulse Enter : la pantalla cambiar´ de blanco y negro a color. Pulse Enter a otra vez y contin´ e con la instalaci´ n. u o ´ El menu principal Lo pr´ ximo que ver´ ser´ un cuadro de di´ logo que dice 9 : o a a a
The installation program is determining the current state of your system.

En algunos ordenadores, este mensaje aparecer´ y desaparecer´ demasiado r´ pido para leerlo. Se muestra a a a entre algunos pasos del proceso de instalaci´ n, el programa comprueba el estado del sistema despu´ s de cada o e
del T.: “no se puede encontrar” del T.: “no est´ presente”. a 6 N. del T.: “no se puede iniciar”. 7 N. del T.: “la versi´ n de este controlador depende de” o 8 N. del T.: del ingl´ s “swap”. e 9 N. del T.: el siguiente mensaje se puede traducir como: “El programa de instalaci´ n est´ determinando el estado actual de su o a sistema”.
5 N. 4 N.

42

Obtenci´ n e instalaci´ n de Linux o o

uno de estos pasos. Esto le permitir´a reiniciar la instalaci´ n sin perder el trabajo realizado hasta entonces ı o en el caso de apagar el sistema en mitad de la instalaci´ n. Si necesitara reiniciar todo el proceso, deber´a o ı seleccionar el tipo de monitor de nuevo, configurar el teclado, reactivar la partici´ n de intercambio y montar o otra vez cualquier disco que haya iniciado anteriormente. Sin embargo, cualquier otro cambio efectuado en el sistema se salvar´ . a Durante todo este proceso, se le mostrar´ el men´ principal. Sus elecciones ir´ n cambiando en la parte a u a de arriba del men´ para indicarle el progreso en la instalaci´ n del sistema. Phil Hughes escribi´ en Linux u o o Journal que se puede ense˜ ar a una gallina a instalar Debian, lo que quiso decir con esto es que el proceso de n ı instalaci´ n es como picotear en la tecla Enter . Deber´a poner Next10 , y... en este momento, la siguiente o opci´ n debe ser11 : o
Configure the Keyboard

Configurar el teclado Aseg´ rese de que la opci´ n Next est´ seleccionada y pulse Enter para acu o e ceder al men´ de configuraci´ n del teclado. Seleccione un teclado que concuerde con la disposici´ n usada u o o por su idioma o seleccione algo similar si no encuentra el que desea, despu´ s de la instalaci´ n podra elegir e o un teclado de una lista m´ s amplia. Seleccione entonces su elecci´ n y pulse Enter . Use las flechas para a o mover el cursor—´ stas est´ n en el mismo sitio en los teclados de todos los idiomas y son independientes de e a la configuraci´ n idiom´ tica. o a ´ El int´ rprete de ordenes Si usted es un usuario experimentado en UNIX o GNU/Linux, pulse las e ı teclas Alt y F2 al un´sono para acceder a la segunda consola virtual. Es decir, debe pulsar la tecla Alt a la izquierda de la barra espaciadora y la tecla de funci´ n F2 . Ver´ una pantalla independiente en la que se o a ´ ejecuta un clon del int´ rprete de ordenes Bourne llamado ash. En ese punto, el sitema de ficheros raiz est´ en e a el disco RAM y hay un conjunto limitado de utilidades UNIX disponibles para su uso. Podr´ ver cuales son a estos programas disponibles con la orden siguiente:
ls /bin /sbin /usr/bin /usr/sbin

´ El int´ rprete y los ordenes solo deben utilizarse en caso de que algo vaya mal. Normalmente, se usa e ´ siempre el men´ —no el int´ rprete de ordenes— para activar la partici´ n de intercambio, ya que el programa u e o del men´ no puede detectar lo que usted haga desde el int´ rprete. Pulse Alt - F1 para volver al men´ . u e u GNU/Linux ofrece m´ s de 64 consolas virtuales, pero en el disco de rescate solo est´ n disponibles unas a a pocas. ´ ¡El ultimo paso! ¿Ha hecho una copia de seguridad de sus datos?. Este ser´ el primer paso para borrar a ´ todos los datos de sus discos duros y el ultimo para salvar su viejo sistema. De forma que si no ha hecho copia de seguridad de sus discos, retire el disquete de la unidad, reinicie el sistema y h´ gala. a Particionar los discos duros Si todav´a no ha particionado sus discos en una partici´ n nativa de linux12 ı o y otra de intercambio, la opci´ n Next ser´ 13 : o a
Partition a Hard Disk

En el caso de que haya creado al menos una partici´ n nativa de linux y otra de intercambio, la opci´ n Next o o ser´ 14 : a
Initialize and Activate the Swap Disk Partition

o puede que se salte este paso si su sistema tiene poca memoria y el programa de instalaci´ n ya activ´ la o o partici´ n de intercambio al principio. Sea cual sea la opci´ n Next, podr´ usar la flecha hacia abajo para o o a seleccionar:
del T.: “next” se puede traducir al castellano como “siguiente”. del T.: “Configuraci´ n del teclado”. o 12 N. del T.: linux native. 13 N. del T.: “Particionar el disco duro”. 14 N. del T.: “Iniciar y activar una partici` n de intercambio”. o
11 N. 10 N.

Debian GNU/Linux

43

Partition a Hard Disk

El men´ Partition a Hard Disk le ofrecer´ una lista de unidades de disco que usted puede paru a ticionar y ejecutar´ el programa cfdisk (vea la p´ gina 37) que le permite crear y editar las particiones de a a disco. Debe crear al menos una partici´ n de Linux (tipo 83). o La partici´ n de intercambio se usar´ para proveer de memoria virtual al sistema y debe ser de entre 16 y o a 128 megabytes, dependiendo del espacio de disco del que disponga y de cuantos programas grandes quiera ejecutar. Linux no usar´ m´ s de 128 megabytes de memoria de intercambio, por lo que no hay raz´ n para hacer a a o la partici´ n de intercambio mayor que esa cantidad. Este tipo de partici´ n es enormemente recomendable, o o pero puede obviarla si lo desea y si su sistema tiene m´ s de 16 Mb de RAM. a Iniciar y activar la partici´ n de intercambio Esta es la opci´ n Next despu´ s de crear una partici´ n o o e o en el disco. Tiene la elecci´ n de iniciar y activar una partici´ n de intercambio nueva, activar una partici´ n preo o o viamente iniciada o no usar ninguna partici´ n de intercambio. Siempre es posible re-inicializar una partici´ n o o de intercambio, as´ que seleccione Initialize and Activate the Swap Disk Partition a ı no ser que est´ seguro de que sabe lo que est´ haciendo. Esta opci´ n le permitir´ inspeccionar la partici´ n e a o a o en busca de bloques que no puedan ser le´dos a causa de defectos en la superficie de los platos del disco. ı ´ Esto es uutil si tiene discos MFM, RLL, o IDE m´ s antiguos, adem´ s, verificar el disco nunca es malo. Un a a disco SCSI que funcione correctamente no necesitar´ ser verificado. Tienen su propio mecanismo interno a para marcar los bloques de disco defectuosos. La partici´ n de intercambio proporciona memoria virtual para complemetar la RAM en su sistema y se o usa incluso durante la instalaci´ n. Esta es la raz´ n por la que debe ser inicializada primero. o o Iniciar una partici´ n Linux En este punto, la opci´ n Next deber´a ser: o o ı
Initialize a Linux Disk Partition15

Si no lo es, entonces no ha completado el proceso de particionado de disco o no ha hecho alguna de las elecciones relacionadas con la partici´ n de intercambio. o Puede iniciar un partici´ n Linux, o puede montar una partici´ n inicializada previamente. o o Los disquetes de arranque no pueden actualizar el sistema antiguo sin borrar los ficheros—Debian ofrece un procedimiento distinto del de usar estos disquetes para actualizar un sistema Debian ya existente. As´ que, ı si se est´ n usando tiene particiones antiguas que no est´ n vac´as, deber´a iniciarlizarlas, lo que borrar´ todos a e ı ı a ´ los datos en ellas. Se debe inicializar cualquier partici´ n haya creado cuando particion´ el disco. La unica o o raz´ n para montar una partici´ n sin inicializarla en este momento deber´a ser montar una partici´ n en la que o o ı o tenga ficheros de usuario, como por ejemplo /home, que no quiera borrar. Seleccione la opci´ n Next para inicializar y montar la partici´ n ra´z (el directorio “/”). La primera o o ı partici´ n que el sistema monte o inicie despu´ s de la partici´ n de intercambio, si la est´ usando, es la partici´ n o e o a o montada como ra´z. Despu´ s de inicializar la partici´ n se le dar´ la oportunidad de buscar en ella bloques ı e o a da˜ ados, al igual que cuando inici´ la partici´ n de intercambio. Nunca hace da˜ o inspeccionar una partici´ n. n o o n o Tenga en cuenta que este paso puede tardar 10 minutos o m´ s si se trata de un disco duro grande. a Instalar el sistema base Una vez haya montado la partici´ n ra´z, la opci´ n Next ser´ : o ı o a
Install the Base System16 .

a no ser que ya haya realizado alguno de los pasos de instalaci´ n. Usando las flechas puede seleccionar la o opci´ n para iniciar o montar particiones de disco en caso de que tenga que configurar particiones adicionales. o Si ha creado particiones independientes para /var, /usr, u otros sistemas de ficheros ahora es el momento de inicializarlas y montarlas. Habr´ una pausa mientras el sistema busca una copia local del sistema base. Esta b´ squeda no tendr´ exito a u a´ ya que est´ preparada para instalaciones desde CD-ROM y se le ofrecer´ un men´ de unidades desde las que a a u
15 N. 16 N.

del T.: “Inicializar una partici´ n Linux”. o del T.: “Instalar el sistema base”

44

Obtenci´ n e instalaci´ n de Linux o o

leer los disquetes base, seleccione la unidad apropiada y cuando el programa lo requiera, introduzca los disquetes base 1, 2, 3, 4, y 5 si est´ usando disquetes de 1.2MB. Si uno de los disquetes base est´ da˜ ado y a a n no puede leerse, necesitar´ crear un disquete que lo sustituya e introducir los 5 discos otra vez. Despu´ s de a e leer los disquetes, el sistema instala los ficheros, lo que le llevar´ 10 minutos o m´ s en un sistema lesto. a a ´ Instalar el nucleo del sistema operativo Llegado este punto, la opci´ n Next debe ser: o
Install the Operating System Kernel17

Selecci´ nela y se le pedir´ que elija una unidad de disquete e inserte el Disquete de Rescate. Esto, copia el o a n´ cleo en el disco duro. Este mismo n´ cleo se usar´ m´ s tarde para crear un disco de arranque personalizado u u a a para su sistema y para hacer el disco duro iniciable sin depender de un disquete. Instalar los controladores de dispositivo Seleccione la opci´ n para instalar los controladores de diso positivo. Se le pedir´ que inserte el Disquete de Controladores y los controladores se copiar´ n en el disco a a duro. Seleccione
Configure Device Drivers18

para buscar los dispositivos que est´ n en el sistema. Config´ relos, de forma se cargar´ n cada vez que el e u a sistema arranque. Hay tambi´ n una categor´a para controladores de dispositivos PCMCIA, pero no los necesitar´ . Despu´ s e ı a e de la instalaci´ n puede instalar el paquete pcmcia-cs que detectar´ las tarjetas PCMCIA y configurar´ las o a a que encuentre autom´ ticamente. Este programa tambi´ n reconoce tarjetas cambiadas en caliente, es decir, a e cuando el sistema est´ funcionando—todas estas ser´ n configuradas cuando sean conectadas y desconfiguraa a das cuando sean desconectadas. Configurar el sistema base En este punto el sistema de instalaci´ n ha copiado todos los ficheros que o forman un sistema Debian m´nimo, pero deben realizarse algunas configuraciones antes de arrancar el sisteı ma, de modo que seleccione:
Configure the Base System19

Esto le preguntar´ por su zona horaria. B´ squela o seleccione la regi´ n del mundo adecuada en el men´ y a u o u escr´bala en el indicador. Puede que esto le lleve a otro men´ donde deba seleccionar informaci´ n m´ s esı u o a pec´fica. ı Despu´ s, se le preguntar´ si el reloj de su sistema debe ajustarse con el horario medio de Greenwich e a (Greenwich Mean Time, GMT) o el horario local. Seleccione GMT si est´ usando s´ lo GNU/Linux o alg´ n a o u otro sistema UNIX o seleccione el horario local si est´ usando otro sistema operativo como MS-DOS o a Microsoft Windows. Los sistemas UNIX mantienen el horario GMT en el reloj del sistema y lo convierten en horario local mediante software. Esto les permite seguir la pista del cambio de horas del horario de ahorro de energ´a y los a˜ os bisiestos, e incluso permite a usuarios que se registren desde otra zona horaria configurar su ı n zona horaria individualmente en su terminal. Si pone el reloj del sistema en GMT y su localidad usa cambios de hora para ahorrar energ´a, el sistema ajustar´ estos cambios horarios en los d´as adecuados. ı a ı Configurar la red local Debe configurar la red local aunque no tenga ninguna, en este caso solo tendr´ que responder a las dos primeras preguntas: a
>Cu´l es el nombre de su ordenador? a >Su sistema est´ conectado a una red? a

Si est´ conectado a una red local, compruebe la siguiente informaci´ n y si desconoce algo pregunte al admia o nistrador de su sistema o a su ISP:
17 N. 18 N.

del T.: “Instalar el n´ cleo del sistema operativo” u del T.: “Configurar Controladores de Dispositivo” 19 N. del T.: “Configurar el sistema base”

Debian GNU/Linux

45

el nombre de anfitri´ n20 de su ordenador; o el nombre de dominio de su ordenador o su ISP; la direcci´ n IP de su ordenador; o la m´ scara de red que usa su red local; a la direcci´ n IP de su red local; o la direcci´ n de difusi´ n que usa su red local; o o ´ en el caso de que su red tenga pasarela, su direcci´ n IP. Esta ser´ la direcci´ n a la que se enruten los o a o paquetes; el sistema en su red local que se usar´ como servicio de nombres de dominio (Domain Name Service, a DNS); y si se va a conectar a la red local usando Ethernet o no. El programa supondr´ que la direcci´ n IP de la red es el resultado de la operaci´ n AND bit a bit entre la a o o direcci´ n IP de su sistema y la m´ scara de red. Supondr´ que la direcci´ n de difusi´ n es el resultado de la o a a o o operaci´ n OR bit a bit entre la IP de su sistema y la operaci´ n NOT bit a bit de la m´ scara de red. Tambi´ n o o a e supondr´ que su sistema de pasarela es tambi´ n su servidor DNS. Si no conoce la respuesta a alguna de las a e preguntas anteriores utilice las suposiciones del sistema—si es necesario, puede cambiar todo esto despu´ s e de la instalaci´ n editando el fichero /etc/init.d/network. o Hacer el disco duro arracable Si decide que GNU/Linux arranque directamente desde el disco duro, se le pedir´ que instale el registro de arranque maestro.21 Si no est´ usando un gestor de arranque (si no a a sabe qu´ es un gestor de arranque es probable que no lo est´ usando) responda que “s´” a esta pregunta. La e e ı siguiente pregunta es si quiere arrancar GNU/Linux autom´ ticamente desde el disco duro cuando encienda el a ´ sistema. Esto configura a GNU/Linux como la partici´ n iniciable—la unica que ser´ cargada desde el disco o a duro. Si responde que “no” podr´ seleccionar despu´ s la partici´ n iniciable usando el programa de MS-DOS a e o FDISK.EXE o los programas de GNU/Linux fdisk o activate. Crear un disquete de arranque Es aconsejable crear un disquete de arranque aunque pretenda arrancar el sistema desde el disco duro. La raz´ n es que es posible que el sistema de arranque se instale incorrectamente o en el disco duro. Sin embargo, un disquete de arranque casi siempre funciona. Seleccione:
Make a Boot Floppy22

en el men´ e inserte un disquete vac´o en la unidad. Asegurese de que no est´ protegido contra escritura. u ı a ´ El programa intentar´ formatearlo y escribir en el. Etiquete el disco como “disco de arranque personal” y a prot´ jalo contra escritura una vez haya acabado la operaci´ n. e o El momento de la verdad Esto es lo que los ingenieros el´ ctricos llaman “la prueba de humo”23 — e es lo que ocurre cuando se enciende un nuevo sistema por primera vez. Retire el disquete de la unidad y seleccione24 :
Reboot the System25

en el men´ . Si GNU/Linux no arranca, inserte el disquete de arranque personalizado que cre´ en el paso u o anterior y reinicie el sistema. Ahora deber´a iniciar y deber´an verse los mismos mensajes que se vieron ı ı cuando arranc´ con el disquete de instalaci´ n seguidos de otros nuevos. o o
20 N. 21 N.

del T.: del ingl´ s “host”. e del T.: del ingl´ s “master boot record” (MBR). e 22 N. del T.: “Crear un Disquete de arranque” 23 N. del T.: del ingl´ s “smoke test”. e 24 N. del T.: “Reiniciar el sistema”. 25 N. del T.: “Reiniciar el sistema”

46

Obtenci´ n e instalaci´ n de Linux o o

˜ Anadir una cuenta de usuario y su clave Despu´ s de que haya registrado los usuarios (el cap´tulo 4 e ı trata esto con m´ s detalle), se lanzar´ dselect, el programa de Debian para el mantenimiento de paquetes. a a Deber´ leer el tutorial antes de intentar instalar paquetes con dselect. a dselect le permite seleccionar los paquetes que quiere instalar en su sistema. El software de mantenimiento de paquetes de Debian se describe en detalle a partir de la p´ gina 46. Si tiene un CD-ROM o un disco a duro con los paquetes Debian adicionales o si est´ conectado a Internet, es posible que quiera leer esa secci´ n a o ahora. De no ser as´, salga de dselect. Puede usar el software de mantenimiento de paquetes a´ n despu´ s ı u e de haber copiado los ficheros de paquete de Debian en su sistema. Debe ser superusuario (root) para usar dselect. Si instala el sistema X-Window y no usa un teclado estadounidense lea la nota de la versi´ n de X11 para o teclados no estadounidenses. Registr´ ndose Despu´ s de salir de dselect, aparecer´ el s´mbolo login:. Reg´strese en el sistema a e a ı ı usando el nombre de usuario personal y la clave que eligi´ . El sistema est´ preparado para su uso. o a

2.3.5.

Usando Debian GNU/Linux

Esta secci´ n describe el sistema de paquetes de Debian y las utilidades espec´ficas de Debian. El formato o ı de fichero de los Paquetes de Debian/GNU Linux se muestra en la tabla de la p´ gina 47. a

La distribuci´ n Debian se encuentra en ficheros llamados paquetes26 . Cada paquete es un conjunto de o ficheros (programas normalmente) que pueden instalarse usando dpkg o dselect. Adem´ s, el paquete a ´ contiene informaci´ n sobre el mismo que es le´da por las utilidades de instalaci´ n. o ı o Clasificaci´ n de los paquetes Los paquetes que se incluyen en Debian GNU/Linux se clasifican de acuerdo o con lo esenciales que sean (su prioridad) y su funci´ n (su secci´ n o categor´a general). o o ı La prioridad de un paquete indica lo esencial o necesario que es. Debian GNU/Linux clasifica todos los paquetes en cuatro niveles de prioridad distintos: Requeridos Estos paquetes deben instalarse para que el sistema funcione correctamente y deben ser instalados como parte del sistema base. Nunca borre un paquete requerido del sistema a no ser que est´ totalmente seguro de lo que hace. Ree cu´ rdelo repitiendo: Nunca, nunca, nunca borre un paquete requerido del sistema a no ser que est´ toe e talmente seguro de lo que hace.. Es posible que haci´ ndolo su sistema quede completamente inutilizable. e Los paquetes requeridos se abrevian en dselect como Req. Importantes Los paquetes importantes se encuentran en casi todos los sistemas tipo UNIX. Estos paquetes incluyen cron, man, y vi. Los paquetes importantes se abrevian en dselect como Imp. Est´ ndar Los paquetes est´ ndar son los que, m´ s o menos, comprenden el sistema Debian GNU/Linux a a a “est´ ndar” caracter´stico. El sistema est´ ndar incluye un software de entorno de desarrollo bastante completo a ı a y GNU Emacs. Los paquetes est´ ndar se abrevian en dselect como Std. a Opcionales Los paquetes opcionales comprenden un sistema bastante completo. Este sistema opcional incluye TEX y el sistema X-Window. Los paquetes opcionales se abrevian en dselect como Opt.
26 N.

del T.: Packages

Debian GNU/Linux

47

Package Priority

Nombre del paquete Importancia del paquete Required Important Optional Extra

Debe ser instalado para el funcionamiento de las operaciones del propio sistema. No requerido pero importante. ´ No necesario pero util. Puede tener conflictos con otros paquetes prioritarios.

Section

Categor´a general ı Base Devel X11 Admin Doc Comm Editors Electronics Games Graphics Hamradio Mail Math

Maintainer Version Depends Recommends Suggests Filename MS-DOS-Filename Size Md5sum Description

Sistema base. Herramientas de desarrollo. Paquetes para el sistema X Window. Utilidades de Administraci´ n. o Documentaci´ n. o Varias utilidades de comunicaci´ n. o Varios editores. Utilidades para electr´ nica. o Juegos. (Lo sab´a, ¿verdad?) ı Utilidades gr´ ficas. a Utilidades para ham radio. Clientes y servidores de correo electr´ nico. o Utilidades para matem´ ticas. (como a calculadoras, etc. . . ) Net Varias herramientas para conectar a una red (normalmente TCP/IP). News Servidores y clientes para noticias en Internet (NNTP). ´ Shells Int´ rpretes de ordenes como tcsh y bash. e Sound Cualquier aplicaci´ n para el sonido (como o reproductores de CD’s de audio). TeX Cualquier cosa que pueda leer, escribir o convertir TEX. Text Aplicaciones para manipular texto (como nroff). Misc Todo lo que no encaja en las categor´as anteriores. ı Nombre de la persona que mantiene el paquete y su direcci´ n de e-mail. o Versi´ n del paquete en el formato upstream-version–debian-version. o Lista de los dem´ s paquetes de los que depende a y sin los que funcionar´a. ı Otro nivel de dependencia—es muy recomendable que los paquetes listados en este campo sean instalados si se va a usar este paquete. ´ Estos paquetes pueden ser utiles para el paquete que se describe. Nombre del fichero de este paquete en el FTP o el CD-ROM. Nombre del fichero de este paquete en el formato corto de DOS. Tama˜ o del paquete despu´ s de la instalaci´ n. n e o El md5sum comprueba o asegura que el paquete es oficial. Este campo describe el paquete—no lo descargue sin leerlo.

Cuadro 2.3: Campos en la estructura del fichero Packages de Debian/GNU GNU/Linux.

48

Obtenci´ n e instalaci´ n de Linux o o

´ Extra Los paquetes extra son utiles solo para un grupo peque˜ o de gente selecta, o se incluyen pan ra un prop´ sito espec´fico. Los paquetes extra pueden incluir aquellos programas como los dedicados a la o ı electr´ nica o a ham radio27 . o Los paquetes extra se abrevian en dselect como Xtr. dselect selecciona autom´ ticamente por omisi´ n el sistema est´ ndar si el usuario no quiere indicar a o a individualmente los paquetes a instalar. La secci´ n del paquete indica su funci´ n. Los paquetes en el CD-ROM y en el FTP est´ n ordenados o o a en subdirectorios de acuerdo con su funci´ n. Los nombres de los directorios casi explican su contenido: o por ejemplo, el directorio admin contiene los paquetes para la administraci´ n del sistema y el directorio o devel contiene los paquetes de software de desarrollo28 y programaci´ n. A diferencia de los niveles de o prioridad, hay muchas secciones, y probablemente se a˜ adan m´ s en el futuro, por lo que no se pueden n a describir individualmente en esta gu´a. ı Las relaciones entre los paquetes Cada paquete incluye informaci´ n acerca de c´ mo se relaciona con o o los otros paquetes del sistema. Hay cuatro tipos de relaci´ n de paquetes en Debian GNU/Linux: conflictos, o dependencias, recomendaciones y sugerencias. Un conflicto ocurre cuando dos o m´ s paquetes no pueden coexistir en el mismo sistema. Un buen ejemplo a de paquetes que entran en conflicto es los agentes de transferencia de correo (mail transfer agents, MTAs). Un MTA es un programa que se encarga de enviar correo a usuarios en el sistema y a otras m´ quinas en la a red. Debian GNU/Linux tiene dos agentes de transferencia de correo: sendmail y smail. Solo puede haber instalado un agente de transferencia de correo a la vez. Los dos hacen el mismo trabajo y no est´ n dise˜ ados para coexistir. Por lo tanto, los paquetes sendmail y smail entran en conflicto. a n Si intenta instalar sendmail cuando smail ya est´ instalado el sistema de mantenimiento de paquetes a de Debian GNU/Linux rehusar´ dicha instalaci´ n. En el caso contrario, si intenta instalar smail cuando a o sendmail ya est´ instalado, dselect (o dpkg; vease m´ s adelante) rehusar´ la instalaci´ n. a a a o Una dependencia ocurre cuando un paquete requiere otro para funcionar correctamente. Siguiendo con el ejemplo del correo electr´ nico, los usuarios leen el correo con unos programas llamados agentes de correo o de usuario (mail user agents, MUAs). Los MUAs m´ s populares son elm, pine, y emacs con el modo a RMAIL. Es normal instalar varios MUAs ya que estos no entran en conflicto entre s´, pero los MUAs no ı envian correo—este es el trabajo de los MTA. Por lo que todos los paquetes de agentes de correo de usuario dependen de un agente de transferencia de correo. ´ Un paquete tambi´ n puede recomendar o sugerir otro paquete relacionado con el. e

2.3.6.

dselect

Esta secci´ n es un breve tutorial de dselect de Debian. Si desea obtener informaci´ n m´ s detallada, o o a consiga el manual de dselect en:
ftp://ftp.debian.org/debian/Debian-1.2/disks-i386/current/dselect.beginner.6.html

dselect es simple y cuenta con una interfaz a modo de men´ que ayuda a instalar los paquetes. Le u llevar´ a trav´ s del proceso de instalaci´ n siguiendo el men´ de la pantalla: a e o u
Debian GNU/Linux dselect package handling front end. 0. [A]ccess Choose the access method to use. 1. [U]pdate Update list of available packages, if possible. 2. [S]elect Request which packages you want on your system. 3. [I]nstall Install and upgrade wanted packages. 4. [C]onfig Configure any packages that are unconfigured. 5. [R]emove Remove unwanted software. 6. [Q]uit Quit dselect.
27 N. 28 N.

del T.: se denomina “ham radio” al uso de sistemas de radio para la conexi´ n a Internet o del T.: desarrollo en ingl´ s es “development”, de ah´ “devel”. e ı

Debian GNU/Linux

49

Hay dos formas de seleccionar una opci´ n en el men´ : eligi´ ndola con las flechas o pulsando la tecla que o u e corresponda a la letra entre par´ ntesis. e Acceso29 En este men´ puede elegir el m´ todo de acceso para obtener e instalar los paquetes. u e
Abreviatura cdrom nfs harddisk mounted floppy ftp Descripci´ n o instalaci´ n desde CD-ROM o instalaci´ n desde un servidor NFS (no montado a´ n) o u instalaci´ n desde una partici´ n de disco duro (no montada a´ n) o o u instalaci´ n desde un sistema de ficheros ya montado o instalaci´ n desde un grupo de disquetes o instalaci´ n a trav´ s de FTP o e

Actualizaci´ n30 dselect lee la base de datos de los paquetes (descrita anteriormente) y crea otra base o de datos de los paquetes disponibles en su sistema. Selecci´ n31 Esta secci´ n del programa sirve para seleccionar los paquetes. El´jala y pulse Enter . o o ı Si su ordenador es lento puede que la pantalla permanezca en negro durante 15 segundos. Lo primero que aparecer´ despu´ s sar´ la p´ gina 1 del fichero de ayuda. Puede ver esta pantalla en cualquier momento de la a e a a selecci´ n pulsando “?” o puede ver el resto de las pantallas de ayuda pulsando la tecla . . o Para salir de la pantalla de selecci´ n despu´ s de que todas las selecciones se completen pulse Enter . Eso e to le devolver´ al men´ principal si no hay ning´ n problema con sus selecciones. Debe resolver esos posibles a u u problemas antes de nada. Cuando est´ satisfecho con las pantallas que vayan surgiendo, pulse Enter . e Es muy normal que haya alg´ n conflicto de dependencias. Si selecciona el paquete A y este requiere el u paquete sin seleccionar B, en vez de continuar, dselect le advertir´ del problema, es m´ s, probablemente a a sugiera una soluci´ n. Si el paquete A entra en conflicto con el B debe elegir uno de los dos. o Instalaci´ n32 dselect le muestra los 800 paquetes al completo e instala los que usted seleccione. o ´ Deber´ tomar decisiones durante este proceso y es util cambiar a una shell distinta para comparar, por ejema plo, un fichero de configuraci´ n antiguo con uno nuevo. Si el fichero antiguo se llama conf.modules, por o ejemplo el nuevo puede llamarse conf.modules.dpkg-new. La instalaci´ n ser´ con mucho m´ s r´ pida en ordenadores m´ s potentes. Puede parar el proceso pulsando o a a a a Control - S y reiniciarlo con Control - Q . Al final de la ejecuci´ n, deber´ listarse cualquier paquete o a desinstalado. Configuraci´ n33 La mayor´a de los paquetes se configuran en el tercer paso, sin embargo, cualquier o ı configurai´ n pendiente se har´ aqu´. o a ı Borrar34 Salir35 Borra los paquetes que no son necesarios. Au revoir.

2.3.7.

dpkg

´ Esta es la herramienta en l´nea de ordenes para instalar y manipular los paquetes Debian. Tiene varias ı opciones que le permitir´ n instalar, configurar, actualizar, borrar y realizar otras operaciones con los paquetes a Debian. Incluso puede construir sus propios paquetes. dpkg tambi´ n permite listar los paquetes disponibles, e los ficheros pertenecientes a cada paquete, a qu´ paquete pertenece un fichero y dem´ s. e a
29 N.

del T.: del T.: 31 N. del T.: 32 N. del T.: 33 N. del T.: 34 N. del T.: 35 N. del T.:
30 N.

referido a la opci´ n Access del men´ . o u opci´ n Update o Select Install Config Remove Quit

50

Obtenci´ n e instalaci´ n de Linux o o

Instalar o actualizar paquetes nuevos o ya existentes Escriba el siguiente comando:
# dpkg -i nombre de fichero.deb

donde nombreFichero es el nombre del fichero que contiene el paquete Debian, por ejemplo tcsh 6.06-11 i386.deb. dpkg es parcialmente interactivo; durante la instalaci´ n le puede hacer preo guntas adicionales, como si instalar la versi´ n nueva de un fichero de configuraci´ n o si mantener la versi´ n o o o antigua. Tambi´ n puede desempaquetar un paquete sin configurarlo en absoluto: e
# dpkg --unpack nombreFichero

Si el paquete depende de otro no intalado o de una versi´ n m´ s reciente de un paquete ya instalado, o si o a ocurre cualquier otro problema de dependencia durante la instalaci´ n, dpkg no lo configurar´ . o a Configuraci´ n de paquetes instalados Si dpkg se interrumpe durante la instalaci´ n y deja alg´ n o o u paquete instalado, este paquete se queda sin configurar. El sistema de paquetes de Debian requiere que el paquete est´ configurado para evitar problemas de dependencia. Algunos paquetes tambi´ n necesitan ser e e configurados para funcionar correctamente. Para configurar un paquete, escriba:
dpkg --configure paquete

donde paquete es el nombre del paquete, por ejemplo tcsh (observe que este no es el nombre original del fichero desde el que tcsh fue instalado, aquel era m´ s largo, inclu´a un n´ mero de versi´ n y terminaba en a ı u o .deb). Desinstalar paquetes El sistema de paquetes de Debian cuenta con dos formas de eliminar paquetes: remove y purge. La opci´ n remove borra el paquete propiamente dicho, la opci´ n purge borra tanto el o o paquete como sus ficheros de configuraci´ n. La forma de usar estas opciones es: o
# dpkg -r paquete # dpkg --purge paquete

Si hay alg´ n paquete instalado que dependa de otro que desea borrar, el paquete no ser´ borrado y dpkg se u a interrumpir´ con un mensaje de error. a Informaci´ n del estado de los paquetes Para conocer el estado de un paquete (p. e. instalado, no o instalado o no configurado), escriba:
# dpkg -s paquete

Listar los paquetes disponibles escriba:
# dpkg -l patr´ nPaquete o

Para listar los paquetes instalados que coincidan con alg´ n patr´ n, u o

donde patr´ nPaquete es un argumento opcional que especifica un patr´ n para los nombres de paquete a o o ´ coincidir, como *sh. Se aceptan los caracteres comod´n normales de un int´ rprete de ordenes. Si no especifica ı e el patr´ n, se listar´ n todos los paquetes instalados. o a Listar los ficheros pertenecientes a un paquete Para listar todos los ficheros pertenecientes a un paquete determinado, simplemente escriba:
# dpkg -L paquete

De cualquier forma, esto no listar´ los ficheros creados por los scripts de instalaci´ n de un paquete determia o nado.

Debian GNU/Linux

51

Buscar el paquete al que pertenece un fichero Para encontrar el paquete al que pertenece un fichero determinado, escriba el comando siguente:
# dpkg -S patr´ nFichero o

donde patr´ nFichero es el patr´ n con el que buscar los nombres de paquete a coincidir. En este caso tambi´ n o o e se permiten los caracteres comod´n normales. ı Resumen El uso de dpkg es simple y se prefiere por encima de dselect cuando todo lo que se necesita hacer es instalar, actualizar o borrar una cantidad peque˜ a de paquetes. Tambi´ n tiene funciones que n e dselect (una interfaz para dpkg) no tiene, como buscar a qu´ paquete pertenece un fichero. Si desea una e lista de opciones completa vea la p´ gina de manual dpkg(8). a

2.3.8.

Acerca de Debian GNU/Linux

El proyecto Debian GNU/Linux fue iniciado por Ian Murdock en 1993, inicialmente bajo el patrocinio del proyecto GNU de la Free Software Foundation36 . M´ s tarde, Debian se separ´ de la FSF. Debian es el a o resultado de un esfuerzo voluntario para crear un sistema operativo de una compatibilidad con UNIX de alta calidad y libre, basado en el n´ cleo Linux, completado con un conjunto de aplicaciones. u La comunidad Debian es un grupo de m´ s de 150 voluntarios sin sueldo de todas las partes del mundo a que colaboran a trav´ s de Internet. Los fundadores del proyecto han formado la organizaci´ n Software in the e o 37 Public Interest (SPI) para patrocinar el desarrollo de Debian GNU/Linux. Software in the Public Interest es una organizaci´ n no lucrativa formada cuando la FSF retir´ su patrocinio o o de Debian. El prop´ sito de esta organizaci´ n es desarrollar y distribuir software libre. Sus objetivos son muy o o parecidos a los de la FSF, y anima a los programadores a usar la General Public License38 de GNU para sus programas. De cualquier modo, SPI tiene un enfoque ligeramente diferente por el hecho de construir y distribuir un sistema GNU/Linux que diverge en muchos detalles t´ cnicos del sistema GNU planeado por e FSF. SPI sigue en contacto con FSF y coopera enviando cambios en software GNU y pidiendo a sus usuarios que hagan donaciones a favor de FSF y del proyecto GNU. Se puede poner en contacto con SPI por correo en: Software in the Public Interest P.O. Box 70152 Pt. Richmond, CA 94807-0152

2.3.9.

Listas de correo

Hay varias listas de correo relacionadas con Debian GNU/Linux: debian-announce@lists.debian.org Moderada. Anuncios importantes del sistema. Normalmente cerca de un mensaje al mes. debian-changes@lists.debian.org Anuncios de nuevas versiones de paquetes para la distribuci´ n estable. Normalmente varios o mensajes al d´a. ı debian-devel-changes@lists.debian.org Anuncios de nuevas versiones de paquetes para la distribuci´ n inestable. Normalmente o varios mensajes al d´a. ı debian-user@lists.debian.org Una lista de correo donde los usuarios de Debian piden y consigen soporte. Normalmente sobre 50 mansages al d´a. ı
36 N.

del T.: Fundaci´ n de Software Libre. o del T.: Software para el Inter´ s P´ blico. e u 38 N. del T.: Licencia P´ blica General. u
37 N.

52

Obtenci´ n e instalaci´ n de Linux o o

debian-sparc@lists.debian.org debian-alpha@lists.debian.org debian-68k@lists.debian.org Listas para aquellos que est´ n implicados en portar software Debian a las plataformas a SPARC, DEC Alpha, y Motorolla 680x0. Tambi´ n hay varias listas de correo para desarrolladores de Debian. e Puede subscribirse a aquellas listas de correo por correo o por World Wide Web. Para m´ s informaci´ n, a o por favor visite http://www.debian.org/.

2.3.10.

´ Sistema de busqueda de errores

El proyecto Debian tiene un sistema de b´ squeda de errores que se encarga de los errores de los que u informan los usuarios. Tan pronto como se informa del error, se numera y toda la informaci´ n conocida del o error en particular se guarda en un fichero y se env´a al encargado de mantener el paquete. Cuando el error sea ı arreglado, el encargado lo marca como hecho (“closed39 ”). Si se cierra por equivocaci´ n, debe ser reabierto. o Para recibir m´ s informaci´ n sobre el sistema de b´ squeda de errores, env´e un e-mail a a o u ı request@bugs.debian.org con help en el cuerpo del mensaje.

2.3.11.

Muestras de agradecimiento de Debian

Muchas gracias a Bruce Perens y a los otros autores del material relacionado con Debian usado para escribir este cap´tulo. Gracias tambi´ n a Vadik Vygonets, mi querido primo, que me ayudo un poco. Por ı e ´ ultimo, las gracias tambi´ n merecidas a los miembros de la comunidad Debian por su duro trabajo. Esperemos e que Debian GNU/Linux llegue a ser cada vez mejor.

2.3.12.

´ Ultima nota

Debian GNU/Linux cambia muy r´ pido, y muchos factores pueden cambiar m´ s r´ pido que este libro. El a a a texto fuente de esta secci´ n se actualiza regularmente. Puede encontrarlo en: o
http://www.cs.huji.ac.il/˜ borik/debian/ligs/

2.4. Red Hat Linux

TM

Esta secci´ n sobre Linux Red Hat, fue escrita por Henry Pierce. o

2.4.1.

Caracter´sticas de la instalaci´ n de Linux Red HatTM ı o
S´ ı CD, disquete,loadin (desde DOS) CD, disco duro, NFS, FTP, SMB Sys V init F´ cil a Muchas Un script que llama al RPM RPM, glint

Dependencias: M´ todos de arranque de la instalaci´ n: e o M´ todos de instalaci´ n: e o Inicio del sistema: Facilidad de la instalaci´ n: o Herramientas Gr´ ficas de administraci´ n: a o Tipo de utilidad de instalaci´ n: o Utilidades de mantenimiento de los paquetes:
39 N.

del T.: “cerrado”.

Linux Red Hat

53

2.4.2.

El sistema RPM de administraci´ n de paquetes o

El sistema de administraci´ n de paquetes RPM de Linux Red Hat, administra el software definiendo o c´ mo se crea un paquete para la instalaci´ n y almacena informaci´ n acerca de sus componentes y la forma o o o de instalaci´ n durante el proceso de construcci´ n. Un paquete RPM contiene un bloque organizado de datos o o ´ en su encabezado. Estos pueden agregarse a una base de datos que describa, por ejemplo, a d´ nde pertenece o el paquete, qu´ paquetes de soporte se requieren, si los paquetes requeridos est´ n instalados, y proporciona e a una forma de determinar las dependencias del software. El Administrador de Paquetes de Red Hat (RPM) da a los administradores de sistema la habilidad de: Actualizar componentes individuales o sistemas enteros manteniendo la configuraci´ n actual. o Buscar en la base de datos la ubicaci´ n de ficheros, paquetes, o informaci´ n relacionada. o o Realizar verificaciones que comprueben que el software fue correctamente instalado. Mantener “pr´stinos” los paquetes de c´ digo fuente, (es decir, proporcionar de forma separada el c´ digo ı o o original del autor y el modificado por otras personas), de modo que pueda hacerse un seguimiento de las dificultades que surjan al portar el programa a otras plataformas. Debido a que RPM hace esto, se pueden instalar, actualizar o eliminar paquetes con una simple l´nea de ı ´ ordenes en modo de texto o con unas pocas pulsaciones del rat´ n en la herramienta de administraci´ n de o o ´ paquetes X-Window. Ejemplos de uso de RPM desde la l´nea de ordenes son: ı
# rpm --install paquete.rpm # instala a paquete # rpm --upgrade paquete.rpm # actualiza a paquete # rpm --erase paquete.rpm # elimina a paquete

Hay cosas mucho m´ s complicadas que RPM puede hacer, como pedir a un paquete que descubra si a est´ instalado y su versi´ n, o pedir informaci´ n a un paquete no instalado. En esencia, hace casi cualquier a o o cosa que una herramienta de administraci´ n de paquetes deber´a hacer. Y Red Hat ha puesto RPM bajo la o ı Licencia P´ blica General GNU. u Convenciones en el nombre de un paquete Esencialmente, RPM funciona manteniendo una base de datos central de paquetes instalados, los ficheros de los paquetes y su versi´ n. Un paquete.rpm construido o correctamente, tiene la particularidad de que su nombre pone de manifiesto, adem´ s del nombre del software, a su n´ mero de versi´ n y de revisi´ n, la arquitectura de ordenador para la que fue construido y la extensi´ n u o o o .rpm, la cu´ l lo identifica como un paquete RPM. a Tomemos, por ejemplo el fichero bash-1.14.7-1.i386.rpm. El nombre en s´, ya nos da informaı ci´ n util: el paquete es bash (Bourne Again SHell), su versi´ n es 1.14.7, y fue construido por primera vez o ´ o para la versi´ n actual de Linux Red Hat. Est´ hecho para ejecutarse en m´ quinas con procesadores Intel o o a a compatibles, de velocidades iguales o mayores que la de un 80386, y est´ en formato RPM. De modo tal a que, si se encuentra un paquete con el nombre bash-1.14.7-2.i386.rpm, entonces se estar´ en conoa cimiento de que se trata de una segunda construcci´ n de bash, versi´ n 1.14.7. Probablemente este paquete o o no contenga los errores que se encontraron en la primera construcci´ n y est´ m´ s al d´a. Aunque la organio e a ı zaci´ n interna de un fichero *.rpm, est´ m´ s all´ de los cometidos de esta secci´ n, diremos que un paquete o a a a o debidamente construido contiene un fichero ejecutable, algunos ficheros de configuraci´ n, la documentaci´ n o o (o por lo menos las p´ ginas de manual), los distintos ficheros relacionados directamente con el programa, un a registro con los lugares donde los ficheros del paquete ser´ n instalados, y un registro de todos los paquetes a requeridos. Tras una instalaci´ n exitosa, toda esta informaci´ n ser´ registrada en la base de datos RPM del o o a sistema. Se puede encontrar un an´ lisis m´ s exhaustivo sobre el sistema administrador de paquetes RPM en a a el RPM COMO (ver Ap´ ndice A). Dicho material tambi´ n est´ disponible en e e a
http://www.redhat.com/support/docs/rpm/RPM-HOWTO/RPM-HOWTO.html

54

Obtenci´ n e instalaci´ n de Linux o o

2.4.3.

Algunos comentarios sobre la actualizaci´ n de Linux Red Hat o

Las actualizaciones para Linux Red Hat, s´ lo son posibles desde la versi´ n 2.0 en adelante. Esto es, o o debido a cambios grandes en el formato binario de Linux. Por lo dem´ s, las actualizaciones pueden ser a realizadas utilizando los mismos m´ todos: CD-ROM, NFS, FTP o disco duro. Desde la versi´ n 4.0 de Linux e o Red Hat, la opci´ n de actualizaci´ n est´ incorporada en el mismo disco de arranque, en vez de en un programa o o a separado. Es por esto que, si se ha actualizado de v2.1 a v3.0.3 y se desea actualizar nuevamente a la versi´ n o 4.0, se necesita crear un disco de arranque, en lugar de buscar o realizar un script de actualizaci´ n. Este o disco ser´ el mismo que se usar´ para instalar Linux Red Hat 4.x desde cero. El m´ todo de actualizaci´ n no a a e o reformatear´ las particiones, ni tampoco borrar´ los ficheros de configuraci´ n. a a o

2.4.4.

Creando los disquetes de instalaci´ n o

Para crear un juego de disquetes de instalaci´ n, se necesitar´ lo siguiente: o a 1. La imagen del “Disquete de Arranque” de Red Hat, boot.img, la cual puede encontrarse en:
ftp//ftp.redhat.com/pub/redhat/current/i386/images/boot.img

o en el directorio images del CD-ROM de una distribuci´ n Red Hat. o 2. La imagen del “Disquete Adicional” de Red Hat, supp.img que est´ disponible en: a
ftp://ftp.redhat.com/pub/redhat/current/i386/images/supp.img

o en el directorio images del CD-ROM de una distribuci´ n Red Hat. Este disquete se usar´ s´ lo si el o a o m´ todo de instalaci´ n no es desde CD-ROM, o si se necesita soporte PCMCIA para alg´ n dispositivo, e o u como por ejemplo una lectora CD-ROM en un port´ til. Este disquete tambi´ n se usa, junto con el a e disquete de arranque, en el caso especial de querer iniciar un sistema GNU/Linux ya instalado en un disco duro. 3. El programa RAWRITE.EXE, el cu´ l puede encontrarse en: a
ftp://ftp.redhat.com/pub/redhat/current/i386/dosutils/rawrite.exe

o en el directorio DOS del CD-ROM de una distribuci´ n Red Hat. o 4. Los usuarios de MS-DOS y Windows 95 que instalen Linux Red Hat por primera vez en la m´ quina, a la cual tendr´ a GNU/Linux instalado como segundo sistema operativo, deber´ n tambi´ n obtener: a a e
ftp://ftp.redhat.com/pub/redhat/dos/fdips11.zip

y descomprimir el fichero en C:\FIPS Esto es en el caso de que se necesite liberar espacio en el disco duro para crear las particiones de GNU/Linux. 5. Se deber´ crear tambi´ n un disco de arranque de emergencia para uno de los sistemas operativos exisa e tentes en la m´ quina, la cu´ l tendr´ , como ya se dijo, a GNU/Linux instalado como segundo sistema a a a operativo.

2.4.5.

Medios de instalaci´ n o

Despu´ s de crear los disquetes de instalaci´ n usando RAWRITE.EXE o dd, tal como se describi´ en la e o o p´ gina 36 se deber´ asegurar que el m´ todo de instalaci´ n est´ configurado para funcionar correctamente con a a e o e los disquetes de instalaci´ n de Red Hat. Para los m´ todos de instalaci´ n por CD-ROM, NFS, FTP y disco o e o duro, el origen debe tener el directorio RedHat coo nivel superior, el cu´ l contendr´ a los directorios /base a a y /RPMS, del siguiente modo:

Linux Red Hat

55

/RedHat |----> /RPMS (contiene los .rpm binarios que se instalar´n) a |----> /base (contiene la base del sistema y los ficheros \\ necesarios para preparar el disco duro)

Los CD-ROMs tendr´ n, por supuesto, directorios adicionales, pero los directorios clave que se necesitan a para la instalaci´ n son RedHat en el nivel superior del CD-ROM junto con /base y bajo /RPMS en CDo ROMs de terceras partes. Obiamente Red Hat Software asegurar´ que su CD-ROM Official Red Hat Linux a tendr´ la estructura de directorios apropiada. As´ que si est´ instalando desde CD-ROM, deber´a ir a “Prepaa ı a ı rando su sistema para la instalaci´ n”. Para los otros tipos de instalaciones, lea las secciones apropiadas para o su medio de instalaci´ n. o Instalaci´ n por NFS Para una instalaci´ n NFS se necesitar´ una m´ quina con el CD-ROM de Red o o a a Hat, (por ejemplo una m´ quina GNU/Linux ya existente), la cu´ l soporte y sea capaz de exportar el sistema a a de ficheros ISO-9660 con las extensiones Rockridge. De manera alternativa, se podr´ hacer la instalaci´ n a o ´ NFS utilizando un sitio de r´ plica de las distribuciones Red Hat, con el arbol de directorios organizado como e se describi´ arriba —y por supuesto con los ficheros correctos en cada uno de los directorios. El directorio o /RedHat necesitar´ ser exportado a la o las m´ quinas de la red en que se instalar´ o actualizar´ Linux Red a a a a Hat. Esta m´ quina deber´ estar necesariamente en una Ethernet; no se podr´ instalar v´a NFS utilizando un a a a ı enlace por conexi´ n telef´ nica. o o Instalaci´ n por disco duro Las instalaciones por disco duro deber´ n tener el directorio /RedHat o a creado en el directorio ra´z, (no importa de qu´ partici´ n). Este directorio incluir´ la distribuci´ n Red Hat ı e o a o obtenida ya sea de un CD-ROM o de un sitio FTP. Por ejemplo, en la primera partici´ n de DOS, la ruta al o directorio \RedHat deber´a ser C:\RedHat. En un sistema de ficheros MS-DOS, no tiene importancia el ı hecho de que el nombre de un paquete.rpm est´ truncado. Todo lo que se necesitar´ hacer es asegurarse e a de que el directorio \RedHat\base contiene los ficheros base de un CD-ROM o un sitio FTP, y que el directorio \RedHat\RPMS contiene todos los ficheros paquete.rpm de un CD-ROM o un sitio FTP. Despu´ s de esto, se podr´ instalar o actualizar tranquilamente el sistema desde esa partici´ n. Si se tuviese e a o una partici´ n ext2 existente que no se necesite para el proceso de instalaci´ n o la actualizaci´ n, se la podr´a o o o ı usar para instalar el sistema en ella, o para otros prop´ sitos. o Instalar desde un disco duro o por NFS puede proporcionar mayor flexibilidad en los paquetes disponibles para instalaci´ n, porque estos m´ todos implican que se puede ser selectivo acerca de qu´ paquetes se colocan o e e en el directorio RPMS. Por ejemplo, si s´ lo se quiere un sistema basado en texto, entonces los paquetes o basados en X pueden excluirse. Tambi´ n si hay actualizaciones para el sistema Red Hat que se quiere instalar, e ´ pueden situarse en el directorio RPMS en el luchar de los paquetes originales de la distribuci´ n. La unica o advertencia para personalizar los paquetes disponibles para la instalaci´ n o actualizaci´ n de Red Hat Linux o o es asegurarse de que las dependencias se encuentren. Esto es, si el paquete A necesita que se instale el paquete B, ambos paquetes deben estar presentes para encontrar las interdependencias. De esta manera, sin embargo, toma un poco de experimentaci´ n para asegurarse de que todas las dependencias son satisfechas. para m´ s o a informaci´ n, lee la secci´ n “Personalizando la instalacion en disco duro o NFS” m´ s abajo. o o a Instalaci´ n v´a FTP Para realizar una instalaci´ n v´a FTP por Internet, todo lo que se necesitar´ es o ı o ı a la direcci´ n IP de un servidor FTP y el camino al directorio ra´z del sistema Linux Red Hat que se desee o ı instalar. V´ ase el Ap´ ndice C, para obtener una lista de los sitios FTP y sus r´ plicas. Si se pretende realizar e e e una instalaci´ n v´a FTP usando una conexi´ n de ancho de banda reducido, (cualquier cosa m´ s lenta que o ı o a un enlace ISDN a 128K), es muy recomendable que los ficheros obtenidos v´a FTP se copien primero a ı ´ una partici´ n MS-DOS, y luego se realice con estos una instalaci´ n desde el disco duro. El tama˜ o total de o o n los paquetes del directorio /RedHat/RPMS es aproximadamente 170MB, y usando una conexi´ n FTP el o proceso de instalaci´ n durar´ muchas horas. Si pasara algo durante la instalaci´ n, como por ejemplo una ca´da o a o ı en la conexi´ n, se necesitar´ empezar todo nuevamente desde el principio. Si por el contrario, se obtienen o a ´ los ficheros y se los acomoda en un disco duro, y se usa el modo de instalaci´ n desde el, si algo pasara, nos o costar´a menos trabajo y menos confusi´ n empezar de nuevo con el proceso. Para realizar una instalaci´ n ı o o

56

Obtenci´ n e instalaci´ n de Linux o o

´ m´nima, no se necesitar´ obtener todos los ficheros de /RedHat/RPMS. Estos podr´ n descargarse luego, ı a a seg´ n nuestras necesidades. La siguiente secci´ n da m´ s detalles. u o a

2.4.6.

Personalizando la instalaci´ n por NFS o por disco duro o

Se puede personalizar el proceso de instalaci´ n. Esto no es recomendable para los haraganes—s´ lo deo o ber´an intentarlo aquellos usuarios que ya conozcan GNU/Linux. A partir de la versi´ n 4.x, de Linux Red Hat, ı o el directorio /RedHat/RPMS contiene aproximadamente 170 Mb de ficheros .rpm. Como RPM comprime estos paquetes, asume que un paquete de 1MB de tama˜ o necesitar´ de 2 a 3Mb de espacio en el disco duro. n a Entonces, si por ejemplo tuvi´ ramos un package.rpm de 6MB de tama˜ o, se necesitar´ n entre 12 y 18Mb e n a de espacio libre para instalarlo. Si sabes el software que quieres y el que no quieres, la mayor´a del software proporcionado no tendr´ valor ı a ´ para la instalaci´ n, y para conexiones de bajo ancho de banda, no es una opci´ n bajar todo el arbol. Con esto o o en mente, una instalaci´ n puede ser personalizada para quitar el software no deseado. o Personalizar qu´ paquetes est´ n disponibles para instalaci´ n es una opci´ n cuando se instala un sistema e a o o por FTP, NFS y disco duro. Los CD-ROMs (t´picamente) no admiten escritura, pero se pueden copiar los ı ficheros al disco duro e instalar desde all´ con una lista de paquetes personalizada. Las instalaciones a trav´ s ı e de NFS o FTP se pueden dise˜ ar si se tiene acceso como superusuario a los servidores de tu red o tu admin nistrador quiere trabajar contigo. Las siguientes situaciones de instalaci´ n hacen una instalaci´ n a medida o o deseable: cuando se obtiene Red Hat Linux por FTP sobre una conexi´ n de bajo ancho de banda o cuando o dise˜ amos una suite de software para que se use en un conjunto de estaciones Red Hat Linux en una red. n Para hacer una instalaci´ n a medida, se debe obtener el fichero /base/comps que nos proporciona una o lista de los paquetes que una instalaci´ n completa incluye normalmente. Entonces los paquetes que se desean o instalar desde /base/comps se descargan. El fichero /base/comp se edita para reflejar los paquetes que se han obtenido y se van a instalar. Si se dispone de paquetes RPM locales, se pueden a˜ adir al fichero comps tambi´ n. n e El fichero comps El programa de instalaci´ n de Red Hat usa el fichero /RedHat/base/comps o (el fichero aqu´ es un ejemplo de Red Hat Linux versi´ n 4.0) para determinar qu´ paquetes est´ n disı o e a ponibles para ser instalados en el directorio /RedHat/RPMS para cada categor´a. El fichero se orgaı niza en categor´as, y cada categor´a contiene una lista de paquetes que RedHat cree que son el m´niı ı ı mo requerido para esa secci´ n. NOTA: s´ lo la parte del paquete de la secci´ n del nombre del paquete o o o (paquete-version-compilaci´n.rpm) se lista en el fichero. Esto signifiga generalmente que el fio chero comps se puede usar de una versi´ n de Red Hat a la siguiente. Una secci´ n de este fichero tiene la o o estructura siguiente:
n´mero categor´a u ı paquete ... end

Esto es una etiqueta para identificar el n´ mero de categor´a, la categor´a, una lista de los nombres de u ı ı paquetes en la categor´a, y la etiqueta “end” para marcar el final de la categor´a. ı ı Sin excepci´ n, todo el mundo necesita los paquetes de software listados en la secci´ n Base del fichero. o o Las otras secciones, sin embargo, pueden ser personalizadas o eliminadas para ajustarse a una necesidad particular. Por ejemplo, hay tres tipos de Estaciones en Red (Networked Stations): “Plain”, “Management”, y “Dial-up”. Un examen de estas secciones muestra que muchos de los paquetes de software se encuentran en las tres categor´as mientras que s´ lo algunos paquetes son espec´ficos de de la categor´a. Si est´ s creando una ı o ı ı a Dial-Up Networked Station, entonces puedes eliminar con toda seguridad las secciones “Plain” y “Mana´ gement” y cualquier software unico de estas dos categor´as. Al contrario, si solo se necesita una capacidad ı b´ sica de red para estaciones de trabajo interconectadas, las otras secciones pueden ser eliminadas del fichea ro as´ como el software exclusivo de esas secciones. Todo lo que se necesita hacer es asegurarse de que se ı

Linux Red Hat

57

tienen todos los paquetes de software listados en cada categor´a. Si se tienen paquetes locales personalizados ı (aquellos que no son proporcionados por Red Hat Software), se deber´an a˜ adir a una categor´a existente que ı n ı sea apropiada antes que crear una nueva categor´a. ı Debido a que la lista de paquetes en cada categor´a s´ lo contiene el nombre del paquete (no el nombre ı o completo paquete-nombre-versi´n-compilaci´n.rpm), se puede sustituir cualquier actualizao o ci´ n que Red Hat haga disponible en el directorio updates en: o
ftp://ftp.redhat.com/pub/redhat/current/updates

o cualquiera de los sitios de r´ plica para los paquetes originales encontrados en el directorio original de la e distribuci´ n /RedHat/RPMS. El programa de instalaci´ n es relativamente independiente de las versiones. o o ´ La unica advertencia es asegurarse de que se satisfagan las dependencias entre paquetes. Cuando se construye un paquete RPM, RPM por s´ mismo intenta determinar qu´ paquetes deben ser instalados para que el paquete ı e ´ funcione (El desarrollador del RPM tambi´ n tiene control directo de esto, as´ que —´ l o ella puede a˜ adir e ı e n dependencias que RPM quiz´ s no detecte). Aqu´ donde un poco de experimentaci´ n o investigaci´ n puede a ı o o necesitarse. Por ejemplo, una manara de determinar dependencias de paquetes (si tiene acceso a un servidor NFS en una m´ quina RedHat) es hacer telnet o login en ella (o si se tiene un CD-ROM, montarlo e ir a directamente al directorio RedHat/RPMS) y pedir informaci´ n al paquete acerca de sus dependencias: o
[root@happy RPMS] rpm -q -p -R bash-1.14.7-1.i386.rpm libc.so.5 libtermcap.so.2

La opci´ n “-q” pone a rpm en modo “query”(petici´ n), la opci´ n ‘-p” le ordena a rpm preguntar a un o o o paquete no instalado, y la opci´ n “-R” ordena a rpm listar las dependencias del paquete en cuesti´ n. En este o o ejemplo, vemos que se requieren libc.so.5 y libtermcap.so.2. Debido a que libc y termcap son parte de la base de software requerido (como lo es bash) , se debe asegurar que los paquetes libc y libtermcap (los paquetes de dependencia) est´ n presentes a la hora de ser capaz de instalar bash (el a objetivo). Tan pronto como tengas el sistema base instalado, se puede iniciar el sistema cuando el programa de instalaci´ n termina. Se pueden a˜ adir paquetes adicionales a Red hat Linux tan pronto como se requieran, o n incluso si el programa de instalaci´ n informa de que un paquete fall´ al instalarse porque sus dependencias o o no se encontraron. La tabla en la p´ gina 58 describe las categor´as de software encontradas en /base/comps en RedHat a ı 4.0:

2.4.7.

Instalaci´ n m´nima recomendada o ı

Es dif´cil determinar cu´ nto espacio requerir´ una instalaci´ n. Sin embargo, cualquiera que instale por ı a a o ´ FTP deber´a obtener al menos el sistema Base y el Dialup Networked Station e instalar estos. Entonces, ı puede obtenerse software adicional y a˜ adirse tan pronto como aparezca la necesidad. Desde luego, si se n quiere hacer programaci´ n en C, se deber´an obtener los paquetes relevantes y editar el fichero comp aproo ı piadamente. Si se encuentra un paquete durante la instalaci´ n que requiere otro paquete que no est´ disponible, o o a comete una equivocaci´ n en el fichero comps, se puede generalmente terminar la instalaci´ n y obtener un o o sistema arrancable. Se puede corregir el problema manualmente a˜ adiendo los paquetes que fallaron y sus n dependencias despu´ s. Sobre todo, obtenga el sistema Base completo y uno de los paquetes Networked e Station instalados, y se podr´ a˜ adir cualquier cosa que se necesite despu´ s. a n e

58

Obtenci´ n e instalaci´ n de Linux o o

Categor´as RPM ı BASE C Development Development Libs C++ Development Networked Workstation

¿Es necesario? S´ ı Altamante Recomendado Altamente Recomendado Opcional Recomendado; Requerido por otro software de red

Comentarios No deber´a personalizarse. ı Necesitado por el sistema para compilar un n´ cleo. u Necesitado por el sistema para compilar un n´ cleo. u Desarrollo en C++. Se necesita tanto para pertenecer a una Ethernet o para conectarse a una red v´a telef´ nica ı o No deber´a personalizarse. ı Si GNU/Linux va ha servir ficheros por FTP o Gopher ´ Util para Desarrolladores Web para desarollo local requerido si se sirven p´ ginas web. a ´ contiene herramientas adicionales utiles para marcado telef´ nico as´ como redes Ethernet. o ı Requerido si se usa el marcador telef´ nico. o ¿Necesito decir m´ s? Fortunes se requieren para el humor a Si dispones de hardware soportado. Si quieres ejecutar X. Si se tiene hardware soportado. La instalaci´ n del paquete completo se recomienda. o ´ El Unico y Verdadero Entorno de Edici´ n. o Requiere X ¿Huh? Las p´ ginas del manual deber´an instalarse siempre a ı

Anonymous FTP/Gopher Server Web Server Network Management Workstation Dialup Workstation Game Machine Multimedia Machine X Window System X Multimedia Support TEX Document Formatting emacs emacs with X support MS-DOS and Microsoft Windows Connectivity Extra Documentation

Opcional Opcional

Opcional Recomendado Opcional Opcional Opcional Opcional Opcional Recommendado Recomendado Opcional Requerido

Cuadro 2.4: Paquetes Importantes Red Hat Linux.

2.4.8.

¿Cu´ nto espacio se necesita realmente? a

La tabla en la p´ gina 59 da una aproximaci´ n del espacio en disco que requiere Red Hat y varios subsisa o temas.

2.4.9.

Instalaci´ n o

En este momento se tendr´a que haber creado ya el Disco del Kit de Instalaci´ n, preparado el disco duro ı o y el medio de instalaci´ n dispuesto. Los detalles de la instalaci´ n contin´ an. Primero empieza iniciando el o o u sistema y configurando el programa de instalaci´ n para instalar desde el medio seleccionado. Despu´ s de esto o e la instalaci´ n procede con los mismos pasos para todos. Se necesita para empezar, iniciar la computadora con o el disquete etiquetado como “Boot disquete.”

2.4.10.

Acerca del medio de instalaci´ n otra vez o

Mientras el disco de arranque empieza, el n´ cleo intenta detectar cualquier hardware para el que eltenga u ´ controladores compilados directamente dentro de el. Una vez completado el proceso, un mensaje aparece preguntando si se tiene una pantalla a color. (si se tiene, seleccione “OK”). Despu´ s viene la pantalla de e bienvenida de Red Hat. Escoja “OK” para continuar. La siguiente cuesti´ n le pregunta si necesita soporte o PCMCIA. Se debe responder “s´” si se est´ instalando en un port´ til, insertando el diskete suplementario ı a a cuando se le indique. Una vez que el soporte PCMCIA est´ activado, si es necesario, se presenta una pantalla a

Linux Red Hat

59

Uso de Partici´ n o Intercambio Swap

Recomendado 2 x RAM F´sica ı

Sistema ra´z, sin X ı Sistema ra´z, con X ı /home /var /usr/local

100 - 200MB 250-350MB 5 - Infinito MB 5 - Infinito 25 - 200MB

/usr

350+ MB

˜ Comentarios al Tamano Si menos de 16MB de RAM instalados, 16MB de swap es imperativo. Si el espacio es escaso, y hay 16MB RAM instalados, 1 x RAM F´sica ı es el m´nimo recommendado. ı Dependiendo de las herramientas como compiladores que se necesiten. Dependiendo de las herramientas como compiladores, que se necesiten. Dependiendo de los usuarios y sus necesidades Dependiendo del tr´ fico de noticias, n´ mero de usuarios, correos, etc. a u Empleado para los programas quen o est´ n en formato RPM a o para los que se quiere separar del resto de Red Hat. Aqu´ van muchos de los ficheros de los paquetes RPM ı

Cuadro 2.5: Requerimientos de espacio t´picos de un sistema Red Hat Linux. ı que pregunta qu´ m´ todo de instalaci´ n se quiere usar. Siga las instrucciones en las siguientes secciones para e e o elegir el m´ todo. e Instalaci´ n por CD-ROM Para instalar desde CD-ROM, marque “Local CD-ROM” de la lista de o tipos de instalaci´ n. Entonces pulse “OK”. Se le preguntar´ si posee un CD-ROM SCSI, IDE/ATAPI, o proo a pietario. Aqu´ donde algunas de las investigaciones en hardware se pagan: si se tiene un CD-ROM 4X o m´ s ı a r´ pido que se haya fabricado recientemente y se ha vendido junto con una tarjeta de audio SoundBlaster u a ´ otra, seguramente tenga un CD-ROM IDE/ATAPI. Esta es una de las cosas m´ s confusas que se encontrar´ . a a Si elige SCSI, se debe saber qu´ clase de tarjeta controladora SCSI tiene y se le presentar´ una lista. Baje e a por la lista hasta que encuentre su tarjeta SCSI. Despu´ s de seleccionarla, se le preguntar´ si desea hacer un e a AUTOPROBE o si desea especificar opciones SPECIFY OPTIONS. La mayor´a de la gente deber´a elegir ı ı AUTOPROBE, que hace que el programa busque su tarjeta SCSI y active el soporte SCSI para la tarjeta en cuesti´ n cuando se encuentre. o Despu´ s de que el Programa de Instalaci´ n haya localizado exitosamente el CD-ROM, deber´a leer la e o ı siguiente secci´ n. o Instalaci´ n desde el Disco Duro Para instalar desde el disco duro, marque esta opci´ n y elija “OK”. Si o o no ha elegido soporte PCMCIA, se le pedir´ que inserte el disco suplementario. a Instalaci´ n por NFS Para instalar por NFS, seleccione la opci´ n correspondiente y elija “OK”. Se debe o o elegir la tarjeta Ethernet instalada en la m´ quina objetivo de la instalaci´ n para que el programa de instalaci´ n a o o pueda cargar el controlador correcto. Marque la tarjeta de red apropiada de la lista y seleccione “OK”, para que el programa de instalaci´ n busque los par´ metros adecuados de la tarjeta, seleccione AUROPROBE. o a Si la m´ quina se cuelga, se puede pulasar Ctrl - Alt - Delete para reiniciar el sistema. La mayor´a de a ı las veces cuando esto ocurre es porque la prueba interfiere con una tarjeta no Ethernet. Si esto pasa, int´ ntelo e otra vez y elija SPECIFY OPTIONS, y d´ los datos acerca de su tarjeta de esta forma: e
ether=IRQ,IO PORT,eth0

Esto ordena al programa que busque la tarjeta Ethernet en la localizaci´ n especificada por los valores IRQ o y IO PORT. Si su tarjeta Ethernet est´ configurada para IRQ 11 y IO PORT 0x300, especifique: a
ether=11,0x300,eth0

Despu´ s de que la tarjeta haya sido encontrada satisfatoriamente, se le pedir´ que introduzca su informaci´ n e a o TCP/IP acerca de su m´ quina y el servidor NFS con los paquetes de instalaci´ n de GNU/Linux. Primero, se a o

60

Obtenci´ n e instalaci´ n de Linux o o

le preguntar´ para proporcionar los datos de la m´ quina que est´ instalando: direcci´ n IP, M´ scara, Pasarela a a a o a (Gateway) predeterminado y Servidor de Nombres primario (DNS). Por ejemplo:
IP Address: Netmask: Default Gateway: Primary Nameserver: 192.168.181.21 255.255.255.0 192.168.181.1 192.168.181.2

Despu´ s de seleccionar OK, se le preguntar´ por el Nombre de Dominio y el Nombre del host de la m´ quina e a a sobre la que se va a instalar. Por ejemplo, si su nombre de dominio es infomagic.com y el nombre del host es vador, introduzca:
Domainname: Host name: Secondary nameserver IP: Tertiary nameserver IP: infomagic.com vador.infomagic.com Introducir si se necesita Introducir si se necesita

´ La ultima pantalla le pide el servidor NFS y el directorio exportado conteniendo la distribuci´ n Red Hat. o Por ejemplo, si el servidor NFS es redhat.infomagic.com, introduzca:
NFS Server name: Red Hat Directory: redhat.infomagic.com /pub/mirrors/linux/RedHat

si no conoce estos valores, pregunte a su adminstrador del sistema. Despu´ s de introducir estos valores, e seleccione OK para continuar. si el programa de instalaci´ n reporta alg´ n error al localizar la distribuci´ n, o u o aseg´ rese de haber puesto los valores correctos y de que su administrador de red le ha dado permiso de u exportaci´ n para la m´ quina objeto de la instalaci´ n. o a o Instalaci´ n por FTP La instalaci´ n por FTP es similar a la instalaci´ n mediante NFS descrita antes. Se o o o le pide informaci´ n acerca de su tarjeta Ethernet y su configuraci´ n TCP/IP. Sin embargo se le preguntar´ por o o a el Nombre del sitio FTP y el directorio Red Hat en el servidor de r´ plica, en vez de la informaci´ n del e o servidor NFS. Una advertencia acerca de la instalaci´ n FTP: encuentre el m´ s servidor FTP m´ s cercano y o a a menos ocupado respecto a su posici´ n geogr´ fica. Vea el Ap´ ndice C para una lista de los servidores FTP de o a e GNU/Linux. Si no se detecta su hardware, quiz´ necesite anular el hardware problem´ tico para activarlo m´ s tarde. a a a Quiz´ quiera revisar: a
http://www.redhat.com/pub/redhat/updates/version/images

para ver si Red Hat ha actualizado los discos de arranque para su hardware

2.4.11.
1.

El resto de la instalaci´ n o

Despu´ s, se le preguntar´ si est´ instalando un sistema nuevo o actualizando un sistema RedHat e a a 2.0 o m´ s moderno. Si se est´ actualizando, no se le ofrecer´ la oportunidad de particionar el disa a a co duro o configurar cualquier otra cosa exceptuando el LILO. Seleccione cualquiera INSTALAR o ACTUALIZAR para continuar. Si se est´ actualizando, se le preguntar´ por la partici´ n ra´z del sistema Red Hat existente. Marque a a o ı la partici´ n apropiada y presione OK. Si se est´ instalando por primera vez, se necesita particionar su o a disco duro con el espacio libre determinado arriba.

2.

3. Despu´ s de crear las particiones Linux Native y Linux Swap necesarias, es necesario inicializarlas y e activar la partici´ n de intercambio. Entonces se le preguntar´ en qu´ partici´ n(es) se pretende instalar o a e o GNU/Linux. Si se est´ actualizando, seleccione la particion ra´z. Se debe configurar y elegir al menos a ı una partici´ n, que ser´ la partici´ n ra´z. Entonces, a no ser que se est´ actualizando, se le presentar´ una o a o ı e a tabla con otras particiones disponibles. escoja las particiones apropiadas y elija EDITAR para indicar qu´ particiones se usar´ n para qu´ directorios. Si tienes m´ s de una partici´ n para la instalaci´ n de e a e a o o ´ GNU/Linux, ahora es el momento para designar estas tambi´ n. e

Linux Red Hat

61

4.

Despu´ s, se presenta una lista de categor´as de software para instalar seguida por una oportunidad para e ı personalizar qu´ paquetes de software de cada categor´a va a ser instalada. Si no ha instalado Red e ı Hat Linux u otra distribuci´ n de GNU/Linux antes, simplemente elija una categor´a de software para o ı instalar y deje que el programa instale las opciones predeterminadas para cada categor´a. Si se necesita ı un paquete que no fue instalado originariamente, siempre se puede instalar m´ s tarde. Mientras el a software se est´ instalando, se podr´ ver un indicador de progreso, y quiz´ sea buena idea tomarse una a a a taza de caf´ mientras tanto. La instalaci´ n puede tomar desde treinta minutos hasta una hora o m´ s e o a dependiendo de las elecciones de software y la configuraci´ n del hardware. o Despu´ s de la instalaci´ n del software, se le preguntar´ para que configure su rat´ n. Una discusi´ n e o a o o acerca de protocolos de rat´ n y dispositivos puede encontrarse en la p´ gina 30. o a Lo siguiente es la configuraci´ n del sistema X-Window. Se recomienda que se espere hasta que se o entre en el sistema por primera vez antes de configurarlo. Si algo va mal con la configuraci´ n de X, o quiz´ necesite iniciar el proceso de instalaci´ n desde el principio si el programa de instalaci´ n no es a o o capaz de recuperarse.

5.

6.

7. Si no se posee una tarjeta Ethernet, no configure su red ahora. si se tiene una tarjeta de red y no se configur´ la red antes, se deber´a hacer ahora. La configuraci´ n para una red de marcado a trav´ s de o ı o e tel´ fono, deber´a hacerse despu´ s de que finalice la instalaci´ n. e ı e o 8. Lo siguiente es la configuraci´ n del reloj del sistema. Si se est´ en una red y se quiere que los cambios o a de hora se manajen adecuadamente, elija UTC. Si su computadora no pertenece a una red, o convive con otros sistemas operativos, elija la hora local.

9. Si no se tiene un teclado estadounidense, se tentr´ que especificar el teclado local. a 10. Se le pedir´ la contrase˜ a de root o superusuario. No la olvide. Recuperar la contrase˜ a no es trivial a n n (Aunque no es imposible, N del T.). Se necesitar´ la clave de root para acceder al sistema tras el primer a rearranque. Para terminar, se proceder´ a configurar el gestor de arranque LILO. a

11.

Si no se ha instalado una particion ra´z que empiece y acabe entre el cilindro 0 y el 1023, No instale ı LILO. Cuando reinicia el sistema por primera vez, si LILO no permite arrancar su sistema correctamente, utilice el disco de arranque de emergencias de MS-DOS o Windows 95 y en A:\> introduzca FDISK /mbr. Esto permite al sistema arrancar en un sistema existente de DOS o Windows 95 tal como se hizo antes de instalar LILO. Entonces se puede usar el disquete de arranque de Red Hat con los siguientes par´ metros en a el indicador de espera boot: para iniciar su sistema desde el disco duro:
boot: rescue root=/dev/xxxx ro load ramdisk=0

Donde xxxx es la partici´ n ra´z. A d´a de hoy, las distribuciones modernas de GNU/Linux (estoy hablando o ı ı ya de Red Hat la 7.3) no tienen este problema con los discos duros de m´ s de 1024 cilindros, por lo que este a problema puede obviarse. Por otra parte recurrir a un disco de arranque de Windows o MS-DOS, aparte de ser una verdadera chapuza, no aporta una soluci´ n real al problema (adem´ s de ser imposible si no se tienen o a estos sistemas operativos) ya que s´ lo se consigue que la m´ quina arranque en Windows o DOS. Lo m´ s o a a inteligente es tener un disco de rescate preparado siempre, o mejor dos guardados en lugares distintos. En cuanto a LILO, como gestor de arranque tiene los d´as contados, puesto que en un futuro ser´ reemplazado ı a por GRUB que es tecnol´ gicamente superior y ser´ el gestor de arranque de GNU/Hurd en el futuro.(N del o a T) Despu´ s de que el proceso de instalaci´ n est´ completado, se est´ preparado para rearrancar el sistema y e o e a usar GNU/Linux.

2.4.12.

Despu´ s de la instalaci´ n e o

´ Ahora que se ha instalado GNU/Linux y reiniciado el sistema por primera vez, hay algunas cosas utiles que debe saber para usar su sistema.

62

Obtenci´ n e instalaci´ n de Linux o o

Entendiendo el indicador de LILO Cuando encienda o reinicie el sistema, aparecer´ en la pantalla el a indicador de LILO, el cu´ l deber´a estar configurado para un retardo de 30 segundos o as´ antes de que se a ı ı inicie el sistema. Cuando LILO aparece en la pantalla, si no se hace nada, el sistema operativo predeterminado arrancar´ cuando prescriba el periodo de tiempo seleccionado. Sin embargo, desde LILO, se puede controlar a varios aspectos relacionados con c´ mo arranca Linux, o indicarle a LILO arrancar un sistema operativo o alternativo. Si se desea anular el comportamiento predeterminado de LILO, presionando la tecla Shift cuando aparezca LILO en la pantalla, se har´ que aparezca un indicador, “boot:”. Presionando la tecla Tab a se mostrar´ una lista de los sistemas operativos disponibles. a
LILO boot: dos linux boot:

Esto nos indica que “dos” es el sistema operativo predeterminado, el cu´ l arrancar´ si no se teclea nada; a a para arrancar Linux, que anular´ la selecci´ n predeterminada, teclee “linux en el indicador. Si alguna vez a o comete un error serio de configuraci´ n y no puede arrancar normalmente, hay una opci´ n de Linux en la que o o el n´ cleo arranca sin leer ning´ n fichero de configuraci´ n. para iniciar Linux en este modo teclee “linux u u o single” en el indicador de LILO.
boot: linux single

arranca el sistema en modo monousuario, para que se pueda llevar a cabo una acci´ n correctora. o Registr´ ndose en el sistema por primera vez Ahora se encuentra con el indicador de entrada al sisa tema login: por primera vez. Se estar´ preguntando c´ mo entrar dentro del sistema. En este punto en un a o sistema nuevo, s´ lo hay una cuenta para acceder al sistema—la cuenta administrativa, “root”. Esta cuenta o se usa para administrar el sistema y hacer cosas como configurar el sistema, a˜ adir y quitar usuarios, softn ware y esas cosas. Para entrar en la cuenta, introduzca “root” en el indicador de presentaci´ n login: y o n n presione la tecla Enter . Se le pregunta entonces por la contrase˜ a. Introduzca la contrase˜ a en el indicador password:. El indicador del sistema [root@localhost]# aparece despu´ s de haber negociado con e ´ exito el proceso de validaci´ n de usuario (login). El indicador del sistema indica dos cosas: Ha entrado o como root, y en este caso, su m´ quina se llama localhost. Si nombr´ su m´ quina durante el proceso de a o a instalaci´ n, su nombre de host aparecer´ en vez de localhost. o a ´ Ahora que ya est´ dentro, puede usar ordenes como ls para listar ficheros, cd para cambiar de directorio a y more para ver ficheros de texto por pantalla. La cuenta de root tambi´ n tiene su directorio de inicio, e “/root”. Un directorio de inicio es donde una cuenta de acceso v´ lida le sit´ a en el sistema de ficheros nada a u m´ s entrar. Algunos sistemas UNIX usan “/” en cambio, as´ que no se sorprenda si no ve ning´ n fichero si a ı u teclea “ls”—-no hay ninguno en el directorio de inicio de root. En el texto original no se menciona que la cuenta de administrador debe usarse exclusivamente para tareas administrativas. Hay un riesgo grande en usar la cuenta de root como si fuera una cuenta m´ s, y es que inadvertidamente podemos descuajaringar (como a lo oye) el sistema completo sin vuelta atr´ s, as´ que lo dicho, la cuenta de root para administrar y una cuenta a ı de usuario normal para trabajar. Para crear una cuanta de usuario, la orden adduser es indispensable. No espere, h´ galo ahora y cree su cuenta de usuario. Para ver la ayuda en l´nea, teclee a ı
man adduser

Y la ayuda en l´nea le dar´ m´ s informaci´ n. ı a a o

2.5.

Caldera OpenLinux

TM

Caldera Openlinux Esta secci´ n sobre Caldera OpenLinuxTM fue escrita por Evan Leibovitch. o Esta secci´ n pretende ser un complemento de las Getting Started Guides que Caldera env´a con todos o ı sus productos basados en Linux. Las alusiones a la Getting Started Guide for Caldera Open Linux Base se indican atrav´ s de esta secci´ n como “la Gu´a”. e o ı

Caldera OpenLinux

63

2.5.1.

Obtener Caldera OpenLinuxTM

A diferencia de muchas otras distribuciones GNU/Linux, Caldera OpenLinuxTM no est´ disponible para a descargarla de Internet, ni se puede distribuir libremente, ni repartirse. Esto es a causa de los paquetes comerciales que forman parte de COL; mientras la mayor´a de los componentes de COL est´ n bajo la GNU ı a Public License, los componentes comerciales, tales como Looking Glass y Metro-X, no. En la lista de paquetes incluidos en la COL a partir de la p´ gina 196 de la Gu´a, los paquetes comerciales se diferencian con un a ı asterisco. COL est´ disponible directamente desde Caldera o atrav´ s de una red de socios alrededor del mundo que a e se ha comprometido a dar asistencia t´ cnica a productos Caldera. Estos socios normalmente pueden ofrecer e asistencia profesional, configuraci´ n y formaci´ n para usuarios de Caldera. Si desea ver la lista actual de o o socios dirijase al web site de Caldera.

2.5.2.

Prepar´ ndose para instalar Caldera OpenLinuxTM a

Caldera soporta el mismo hardware que cualquier otra versi´ n basada en los n´ cleos 2.0 de Linux. El o u ap´ ndice A de la Gu´a lista la mayor´a de los puestos SCSI soportados y los par´ metros de configuraci´ n e ı ı a o necesarios para muchas combinaciones de hardware. La Gu´a de Caldera ofrece una hoja de trabajo en la instalaci´ n que le ayudar´ mostr´ ndole todos los ı o a a detalles del sistema que necesitar´ en la instalaci´ n. Es muy recomendable completarla antes de comenzar a o la instalaci´ n; aunque algunos par´ metros, tales como los referentes a la configuraci´ n de la red, no son o a o requeridos para la instalaci´ n, hacerlo todo a la vez es normalmente mucho m´ s facil que tener que volver a o a ello luego. A veces esto no es posible, pero haga tanto como pueda en el momento de la instalaci´ n. o

2.5.3.

Creaci´ n de los disquetes de arranque/m´ dulos o o

La distribuci´ n COL no viene con los disquetes necesarios para la instalaci´ n. Hay dos disquetes involuo o crados; uno se usa para arrancar, y el otro es un disquete de “m´ dulos” que contiene muchos controladores o de hardware. Aunque la Gu´a recomiende que se creen los disquetes copi´ ndolos desde el CD-ROM, es mejor conseı a guir versiones m´ s nuevas de los discos del web site de Caldera. Las im´ genes de disquetes en CD-ROMs a a ant´guos tienen errores que causan problemas, especialmente en instalaciones usando discos SCSI y particioı nes grandes. Para conseguir versiones m´ s nuevas de las im´ genes de los disquetes desc´ rgelas del sitio FTP de Caldea a a ra. En el directorio pub/col-1.0/updates/Helsinki, encontrar´ un grupo de directorios numerados. a ´ Compruebe los directorios en orden descendiente—as´ se asegurar´ de conseguir la ultima versi´ n. ı a o Si se encuentra con que alguno de estos directorios tiene un subdirectorio llamado bootdisk, el contenido de ese directorio es lo que estamos buscando. Deber´ ver dos ficheros: a
install-2.0.25-XXX.img modules-2.0.25-XXX.img

XXX es el n´ mero de versi´ n de la imagen de disco. En el momento de escribir estas l´neas, las im´ genes u o ı a actuales son 034 y se localizan en el directorio 001. Despu´ s de tener las im´ genes, transfi´ ralas a dos disquetes como se describe para instalaciones gen´ ricas e a e e en la p´ gina 36, usando el programa de MS-DOS RAWRITE.EXE desde el CD-ROM de Caldera o dd desde a un sistema GNU/Linux. El CD-ROM de Caldera es iniciable si la BIOS de su sistema lo permite, pero use los ficheros descargados si es posible. Son m´ s actuales y tendr´ n errores reparados que no lo estar´ n en las versiones en CD. a a a

2.5.4.

Preparar el disco duro

Este procedimiento no es diferente del de otras distribuciones GNU/Linux. Deber´ usar fdisk en el a disco duro iniciado para crear al menos dos particiones GNU/Linux, una para el espacio swap y otra para el

64

Obtenci´ n e instalaci´ n de Linux o o

sistema de ficheros raiz. Si planea que su sistema tenga arranque dual: COL con otro sistema operativo, como ´ Microsoft Windows, MS-DOS, u OS/2, normalmente es preferible instalar COL el ultimo. Los programas fdisk de GNU/Linux reconocen tipos de sistemas operativos “extra˜ os” mejor que las herramientas de n particionado de disco de la mayor´a de los otros sistemas operativos. ı Para ejecutar el fdisk de GNU/Linux, deber´ iniciar su sistema con el disquete de arranque (y quiz´ s el a a de m´ dulos) descrito anteriormente. Deber´ decirle a COL qu´ e tipo de disco y controlador de disco tiene. o a e ¡No podr´ hacer nada con fdisk si GNU/Linux no reconoce su disco! a Para hacer esto, siga las instrucciones de arranque de la Gu´a, desde el paso 2 en las p´ ginas corresponı a dientes. No se moleste con la instalaci´ n o detecci´ n de CD-ROMs o tarjetas de red en este momento; todo lo o o que importa en este punto es que GNU/Linux “vea” el disco duro de arranque para que se pueda particionar con fdisk. Hay una descripci´ n breve del uso del fdisk de GNU/Linux en la Gu´a. o ı Recuerde que cuando ejecute fdisk, necesitar´ configurar las dos particiones, la del sistema de ficheros a raiz como GNU/Linux Native (tipo 83) y la de espacio Swap (tipo 82) como particiones nuevas. Hay una discusi´ n breve sobre cuanto espacio swap reservar en la Gu´a. o ı Tan pronto como haya creado la particiones y haya escrito la informaci´ n de la tabla de particiones para o hacerla permanente, deber´ reiniciar. a

2.6. Slackware

TM

Esta secci´ n sobre Linux Slackware fue escrita por Sean Dreilinger. o

2.6.1.

Slackware no es para ti. (O quiz´ si) a

¡Bienvenido a la distribuci´ n de GNU/Linux Slackware! Esta secci´ n pretende ayudar a evaluar la distrio o buci´ n Slackware tanto al usuario novel de GNU/Linux como al administrador, planificar el despliegue de un o sistema Slackware, e instalar Linux SlackwareTM . La decisi´ n de elegir Slackware como el ”sabor”de GNU/Linux a usar es una consideraci´ n seria. Puede o o parecer como una decisi´ n trivial por el momento, sin embargo los sistemas GNU/Linux son una manera de o tomar m´ s y m´ s responsabilidad en los entornos computacionales de las empresas. Muchos de los experia a mentos sobre GNU/Linux han evolucionado en su primer a˜ o hasta convertirse en m´ quinas de misi´ n cr´tica n a o ı sirviendo a muchos m´ s usuarios y prop´ sitos que los que originalmente se pretend´an. Slackware es una de a o ı las distribuciones de GNU/Linux m´ s ampliamente difundidas. Cuando es hora de encontrar la m´ s nueva, la a a m´ s f´ cil o la distribuci´ n m´ s cuidadosamente planificada de GNU/Linux, Slackware quiz´ s sea “la mejor a a o a a de las mejores” . Algunos antecedentes de la historia de SlackwareTM pone las cosas en perspectiva.

2.6.2.

Una breve historia

En 1993, Soft Landing System cre´ una de las primeras distribuciones de GNU/Linux organizadas. Auno que tuvo un gran comienzo, la distribuci´ n SLS ten´a muchos puntos flacos (no funcionaba exactamente o ı para los que se iniciaban) SlackwareTM , una distribuci´ n de Patrick Volkerding, como llovida del cielo, resolo vi´ muchos de estos problemas, se hicieron copias por FTP, se edit´ en muchos CD-ROMs por todo el mundo, o o y r´ pidamente se convirti´ en uno de los sabores de GNU/Linux m´ s ampliamente usados. En ese instante, a o a ´ SlackwareTM era la unica soluci´ n de GNU/Linux con todas las caracter´sticas deseables. Otros mantenedores o ı de distribuciones GNU/Linux comerciales o sin beneficio tienen distribuciones gradualmente desarrolladas que tambi´ n pueden merecer su consideraci´ n. e o Alrededor de enero de 1994, Slackware hab´a logrado extender su uso tanto que obtuvo una notoriedad ı popular reservada a las estrellas de rock. Tambi´ n ayud´ el rumor difundido por Usenet sugiriendo que todo e o el proyecto Slackware era el trabajo de ¡brujas y demonios! “¡GNU/Linux, el SO gratuito. . . excepto por tu ALMA! MOUHAHAHAHA!”
From: cajho@uno.edu Date: 7 Jan 1994 15:48:07 GMT

Linux SlackwareTM

65

Bromas aludiendo al RFC 666, el hecho de que los servicios de la m´quina de denominen ‘‘daemons’’, y la especulaci´n de que Pat a o Volkerding era L. Ron Hubbard disfrazado eran conocidos por todos. Todo el divertido incidente probablemente ayud´ a SlackwareTM a ganar o cuota de mercado: <<ME ENCANTA ESTO!! Estaba navegando aqu´ para hacerme una idea de qu´ version de GNU/Linux ı e instalar, pero despu´s de esto, creo que la ´nica elecci´n es instalar e u o SlackwareTM ya. From: widsith@phantom.com (David Devejian) Date: 10 Jan 1994 04:57:41 GMT

Dejando todo el folklore a un lado, Slackware es una sabia y poderosa elecci´n para tus aventuras en GNU/Linux, tanto si es por afici´n, o o estudios, hackear o aprender a administrar sistemas.

2.6.3.

¿Por qu´ , entonces? e

Si eres un administrador de sistemas, quiz´ est´ s tratando ya con uno o m´ s servidores clave corriendo a e a Slackware. A no ser que tengas tiempo para experimentar en el trabajo, ce˜ irse a una distribuci´ n probada y n o verificada quiz´ sea la manera m´ s f´ cil de empezar. Si esperas recibir ayuda de colegas con m´ s conocimiena a a a tos de UNIX, deber´as asegurarte de que est´ n ejecutando algo compatible.—la ventaja de usar Slackware es ı a que sus defectos son ampliamente conocidos, la mayor parte son descubiertos, documentados y parcheados cuando es posible. Puedes poner en un computador Slackware, cerrar los agujeros conocidos e instalar algunas herramientas complementarias de otras distribuciones de GNU/Linux para crear un excelente servidor UNIX o una estaci´ n de trabajo de escritorio, todo en medio d´a. o ı TM Si todav´a est´ s indeciso de si Slackware es el sabor de tu gusto de GNU/Linux para ti, echa un vistazo ı a tambi´ n a la Gu´a del Comprador publicada en Linux Journal, la cual da una comparaci´ n en profundidad e ı o y eval´ a las distribuciones m´ s importantes. Para un listado directo de los sabores de GNU/Linux, echa un u a vistazo al Distribuci´ n Linux COMO (ver Ap´ ndice A). o e

2.6.4.

¿Actualizar? ¡Pi´ nsalo dos veces! e

24-Aug-95 NOTA: Intentar actualizar a Slackware ELF desde Slackware a.out causar´ indudablemente toda clase de problemas. No lo hagas. a Patrick Volkerding

Una cosa que no oiremos demasiado a menudo con Slackware es la palabra “actualizar”. El programa “setup” de Slackware est´ dise˜ ado para poner un sistema operativo fresco en discos duros vac´os o en a n ı TM particiones vac´as. Instalarlo encima de una instalaci´ n previa de Slackware puede borrar las aplicaciones ı o personalizadas y causar problemas de compatibilidad entre las aplicaciones actualizadas y ficheros m´ s antia guos en el mismo sistema. Cuando se reuni´ todo junto por primera vez en SlackwareTM , todo el mundo era o usuario novel de GNU/Linux y el sistema era siempre experimental –reinstalar el sistema operativo por completo y las aplicaciones era la norma en un sistema en desarrollo. Hoy muchas instituciones y negocios corren aplicaciones de misi´ n cr´tica en Linux Slackware. En estos entornos, un simple reinicio es una actividad o ı planeada y la parada total de un sistema y la sobreescritura de todos los ficheros de usuarios o aplicaciones a medida es absolutamente inaceptable. El ense˜ ar c´ mo tratar una actualizaci´ n de SlackwareTM est´ m´ s all´ de los objetivos de este cap´tulo, n o o a a a ı pero se puede realizar si es un administrador de UNIX experimentado y se han tomado las medidas necesarias para conservar las modificaciones locales y los ficheros de usuario. Hay un recurso de Internet que puede analizar su distribuci´ n y ponerla al d´a a trav´ s de Internet. Quiz´ s quiera echar un vistazo a este URL si se o ı e a enfrenta a una situaci´ n de actualizaci´ n: o o

66

Obtenci´ n e instalaci´ n de Linux o o

ftp://ftp.wsc.com/pub/freeware/linux/update.linux/

O leer, sufrir y aprender desde la experiencia en actualizaciones de Greg Louis en su mini COMO: Actualizando su Distribuci´ n Linux disponible en donde se hagan r´ plicas de las publicaciones del LDP: o e
http://sunsite.unc.edu/LDP/

2.6.5.

Seleccionar un m´ todo de instalaci´ n e o

Slackware puede ser instalado desde una variedad de medios o fuentes de red para ajustarse a las necesidades y hardware. Cada m´ todo de instalaci´ n requiere que al menos tenga tres disquetes disponibles para e o empezar. Instalaci´ n desde CD-ROM La instalaci´ n desde CD-ROM es r´ pida, popular, y conveniente. Sin o o a embargo alguien tiene que sacrificarse y pagar por la compra inicial de un CD-ROM. se recomienda compartir CD’s. Debido a que GNU/Linux y la distribuci´ n Slackware son copyleft, puedes hacer tantas copias como o quieras. La instalaci´ n desde CD-ROM es tambi´ n una mejor pr´ ctica en t´ rminos de ”etiqueta”en la red o e a e debido a que no est´ s acaparando ancho de banda para una transferencia FTP de todo un d´a. Finalmente, a ı estar´ s agradecido por las utilidades extra y la documentaci´ n que acompa˜ an al CD-ROM, especialmente si a o n tienes problemas con la instalaci´ n o necesitas a˜ adir componentes en el futuro. o n ´ ¡Movida! Si te va esto por afici´ n (o quieres observar unas docenas de instalaciones de o TM Slackware antes de tomar la tarea en el lugar de trabajo), mira a ver si hay un Grupo Local de GNU/Linux ´ en tu area que patrocine ”install parties”. Imagina una habitaci´ n llena de generosos y preparados hackers o unidos para compartir CD-ROM’s y experiencias con otros entusiastas. FTP Una vez que transfieres SlackwareTM desde la r´ plica m´ s pr´ xima, todav´a necesitar´ s preparar los e a o ı a conjuntos de discos de Slackware para el medio de instalaci´ n como una partici´ n de disco duro o laboriosao o mente copiarlo todo en unos 50 disquetes. NFS En un entorno de red, tambi´ n es posible instalar Slackware en un sistema de fichero compartido e y permitir a todo el mundo en la red local conectarse a esta unidad compartida e instalar. Si tienes el saber t´ cnico para hacerlo o un administrador de UNIX que sea un entendido de GNU/Linux es una de las mejores e formas de empezar. La distribuci´ n inicial de SlackwareTM puede ser a˜ adida a la red por medio de un CDo n ROM, FTP, cargando disquetes, cinta, o incluso ¡NFS remoto a trav´ s de Internet! para m´ s detalles acerca e a de una compartici´ n remota, mira las URL’s siguientes: o
http://sunsite.doc.ic.ac.uk/sunsite/access/nfs.html ftp://ftp.cdrom.com/pub/GNU/Linux/slackware/r´plicaS.TXT e http://www.cs.us.es/archive/nfs.html

Disquete Consume tiempo pero funciona—puedes crear el mont´ n de discos necesarios para instalar o Slackware y meterlos uno a uno cuando el programa de instalaci´ n te lo pida. Los “conjuntos de discos” se o han apa˜ ado para que quepan en disquetes. Si te encuentras alguna vez con un enorme mont´ n de disquetes n o de alta densidad a tu disposici´ n, esta puede ser la manera m´ s econ´ mica de hacerlo. o a o Disco duro Esta es la manera a usar si has transferido la distribucion Slackware a trav´ s de Internet e por FTP—tendr´ s que crear los disquetes de inicio, ra´z, y rescate. Requiere que tengas a tu disposici´ n un a ı o disco duro extra o una partici´ n con espacio extra para contener los ficheros Slackware durante la instalaci´ n o o (puedes borrarlos despu´ s). La instalaci´ n desde disco duro es tambi´ n una soluci´ n cuando compras el CD e o e o pero tu unidad CD-ROM no es soportada por ninguno de los n´ cleos de Linux que vienen con la distribuci´ n u o TM Slackware . Puedes usar el sistema operativo que tengas para transferir los ficheros de Slackware en espacio de disco sobrante y despu´ s reiniciar en la instalaci´ n SlackwareTM . e o

Linux SlackwareTM

67

Cinta Cuando se escribi´ esto, todav´a era experimental. La cinta ofrece un compromiso entre velocidad o ı y econom´a a la hora de instalar Slackware– mejor considerar si un amigo con una unidad de cinta compatible ı ´ puede copiar un CD o un fichero FTP para ti. Obt´ n los ultimos detalles en la secci´ n Cinta del fichero e o INSTALL.TXT que acompa˜ a tu distribuci´ n Slackware. n o

2.6.6.

Discos de arranque: siempre cosa buena

Incluso si dispones de una conexi´ n directa T-3 a Internet que te permite bajar una distribuci´ n de Slacko o ware directamente de la red, ser´ m´ s inteligente empezar creando los dos discos de instalaci´ n de Slackware, a a o (inicio y ra´z) antes de continuar. En caso de un desafortunado accidente (corte de corriente, el gato que pisa ı el teclado, o incluso un error humano), estos dos peque˜ os discos ser´ n capaces de resucitar tu sistema o al n a menos rescatar tus ficheros personales.

2.6.7.

Hoja de trabajo para la instalaci´ n de SlackwareTM o

Despu´ s de copiar todos los ficheros, se proceder´ a la configuraci´ n de la red y el sistema, si est´ preparae a o a do. Para ayudarle a planear sus decisiones, esta secci´ n consiste en una hoja de trabajo derivada del programa o de instalaci´ n basado en texto de Slackware. Puede usar esta hoja de trabajo como un formulario donde guaro dar respuestas en previsi´ n (mientras su computadora todav´a funciona), de esta manera estar´ preparado con o ı a los detalles de las particiones, direcciones IP, IRQ’s de modems, rat´ n, nombres de host y dominio, y otras o cosas que se requieren durante la instalaci´ n. o 1. Teclado: Slackware setup querr´ saber si necesita remapear el teclado a alg´ n mapa distinto de un a u teclado americano de 101 teclas. s´ o no ı 2. Configuraci´ n del espacio de intercambio: ¿Tienes una o m´ s particiones preparadas como tipo 82 o a (Linux Swap)? s´ o no ı ¿Quiere que el proceso de instalaci´n use mkswap en sus particiones de intercambio o (swap)? La mayor´a responder´ “s´”, a menos que tenga menos de 4MB de RAM y haya hecho esı a ı to para ayudar al programa de instalaci´n a trabajar mejor. o s´ o no ı 3. Preparar la partici´ n GNU/Linux principal: el programa de instalaci´n listar´ cualo o a quier partici´ n marcada como tipo 83 (Linux Native) y preguntar´ cu´ l de ellas deber´ usarse para o a a a la ra´z (/) del sistema de ficheros (GNU/Linux). Utilice un formato como /dev/hda3 o cualquiera ı que sea el nombre del dispositivo. nombre de la partici´ n o ´ ¡Ultima oportunidad para volver atr´ s! Cuando realice una instalaci´ n limpia deber´ instalar en una a o a partici´ n vac´a. Si no la ha formateado manualmente, entonces tendr´ que darle formato cuando se le o ı a pregunte. Introduzca “i” para realizar una instalaci´ n limpia, o “a” para a˜ adir software a su sistema o n existente. [i]nstalar o [a]˜ adir n (Re)formatear la partici´ n principal de GNU/Linux. ¿Quiere formatear esta partici´ n? o o

68

Obtenci´ n e instalaci´ n de Linux o o

[s]´, [n]o, o [v]erificar sectores, ı ext2fs poner por omisi´ n un inodo por cada 4096 bytes de espacio de disco. Si va a tener muchos o ficheros de peque˜ o tama˜ o en su disco quiz´ desee mayor n´ mero de inodos (cada uno se usa por cada n n a u entrada de fichero). Puede cambiar la densidad a un inodo por cada 2048 bytes, o incluso por cada 1024 bytes. Introduzca 2048 o 1024, o tan s´ lo presione Enter para aceptar el valor predeterminado de o 4096. 4096 (predeterminado). 2048, o 1024 4. Preparar particiones GNU/Linux Adicionales: Puede montar algunas otras particiones para /usr o /usr/X11 o cualquier (/tmp—pon el nombre t´ ). ¿Desear´a usar algunas de las otras particiones u ı GNU/Linux para montar algunos de sus directorios? [s]i o [n]o Estas son sus particiones GNU/Linux (se muestran las particiones). Estas particiones est´ n ya en uso a (se muesta la lista de particiones). Introduzca la partici´ n que desea usar, o escriba q para dejar de o a˜ adir nuevas particiones. use un formato como: /dev/hda3 o cualquiera que sea el nombre del n dispositivo. Nombre de la partici´ n o [a]bandonar o ¿Quiere dar formato a esta partici´ n? o [s]i, [n]o, o [v]erificar sectores ´ Ahora esta nueva partici´ n debe montarse en alg´ n lugar dentro del arbol de directorios. Por ejemplo, o u si desea ponerla bajo /usr/X11R6, entonces responda: /usr/X11R6 ¿D´ nde quiere que se monte o la partici´ n nueva? o Punto de montaje ¿Quiere montar alguna otra partici´ n adicional? o [s]i o [n]o 5. Particiones DOS y OS/2: Las siguientes particiones DOS FAT o OS/2 HPFS se encontraron: (se muestra la lista de particiones). ¿Quiere configurar GNU/Linux para que estas particiones sean visibles? [s]i o [n]o Por favor, entre la partici´ n que desea que sea accesible desde GNU/Linux, o escriba q para salir de o a˜ adir nuevas particiones. Utilice un formato como: /dev/hda3 o cualquiera que sea el nombre del n dispositivo. Nombre de la partici´ n o [s]alir o ´ Ahora esta partici´ n nueva debe montarse en su arbol de directorios. Por favor introduzca el nombre o del directorio bajo el cual desea acceder a la partici´ n. Por ejemplo, quiz´ quiera responder /dosc, o a /dosd, o algo parecido. ¿D´ nde desea montar esta partici´ n? o o

Linux SlackwareTM

69

Punto de montaje 6. Selecci´ n del medio origen: o
(a) Instalar desde una partici´n de disco duro. o (b) Instalar desde disquetes disquete. (c) Instalar por NFS. (d) Instalar desde un directorio pre-montado. (e) Instalar desde CD-ROM.

1, 2, 3, 4, o 5 7. Instalar desde una partici´ n de disco duro: Para instalar directamente desde el disco duo ro, debe haber una partici´ n con un directorio conteniendo la distribucion Slackware de forma o que cada disco distinto del disco de arranque 40 est´ contenido en un subdirectorio. Por ejeme plo si la distribuci´ n est´ en /stuff/slack, entonces necesita tener directorios nombrados o a /stuff/slack/a1,/stuff/slack/a2, y as´, cada uno conteniendo los ficheros que deber´an ı ı estar en ese disco. Puede instalar desde particiones de DOS, HPFS, o GNU/Linux. Introduzca la partici´ n donde los fuentes de Slackware pueden encontrarse o la tecla p para ver una lista de las partio ciones. Nombre de la partici´ n o [l]ista de particiones o Muestra en qu´ directorios en esta partici´ n pueden encontrarse los ficheros fuente de Slackware. En e o el ejemplo de arriba, esto deber´a ser: /stuff/slack. ¿En qu´ directorios se encuentran los fuentes ı e de la instalaci´ n Slackware? o Nombre de directorio ¿Qu´ tipo de sistema de ficheros contiene los ficheros fuente de la instalaci´ n Slackware? e o
(a) FAT (MS-DOS, DR-DOS, OS/2) (b) GNU/Linux Second Extended File System (c) GNU/Linux Xiafs (d) GNU/Linux MINIX (e) OS/2 HPFS

1, 2, 3, 4, o 5 8. Instalar desde un directorio pre-montado: Bien, lo instalaremos desde un directorio que est´ ya mona ´ puede ser montado normalmente o a trav´ s de NFS. Se necesita que se especifique el nombre tado. Este e del directorio que contiene los subdirectorios para cada disco de instalaci´ n. ¿Desde qu´ directorio se o e va a hacer la instalaci´ n? o Nombre del directorio: 9. Instalaci´ n desde disquetes disquete: La serie de componentes b´ sicos de Slackware, (A) puede o a instalarse desde medios de 1.2M o 1.4M La mayor´a de los otros discos no caben en medios de 1.2M ı pero pueden descargarse al disco duro e instalarse desde all´ m´ s tarde. ¿Qu´ disquetera quiere usar ı a e para instalar (1/2/3/4)?
40 N.

del T.: boot disk

70

Obtenci´ n e instalaci´ n de Linux o o

/dev/fd0u1440 (Disco a: de 1.44M ) /dev/fd1u1440 (Disco b: de 1.44M ) /dev/fd0h1200 (Disco a: de 1.2M ) /dev/fd1h1200 (Disco b: de 1.2M )

1, 2, 3, o 4 10. Instalar por NFS: Tu m´ quina tiene un sistema de ficheros exportado. ¿Est´ funcionando la m´ quina a a a en la red desde la que quieres instalar? Si lo est´ , no intentaremos configurar la tarjeta Ethernet. ¿Est´ s a a dentro de una red y la red funciona? [s]i o [n]o Tendr´ s que introducir una direcci´ n IP que quieras asignar a la m´ quina. Por ejemplo: a o a 111.112.113.114. ¿Cu´ l es la direci´ n IP? a o Direcci´ n IP o Ahora necesitamos saber la m´ scara de red. Tipicamente ser´ 255.255.255.0. ¿Cu´ l es la m´ scara de a a a a red? Direcci´ n IP o ¿Tiene una pasarela 41 (s/n)? [s]i or [n]o ¿Cual es la direcci´ n de la pasarela? o Direcci´ n IP o ¡Magn´fico! Ya hemos terminado de poner las configuraciones locales. Ahora necesitamos saber d´ nde ı o encontrar los paquetes de software a instalar. Primero, se necesita la direcci´ n IP de la m´ quina donde o a se han almacenado los paquetes de instalaci´ n de Slackware. Como la m´ quina ya est´ funcionando en o a a la red, deber´as ser capaz de usar el nombre del host en vez de su direcci´ n IP si lo deseas. ¿Cu´ l es la ı o a direcci´ n de tu servidor NFS? o Direcci´ n IP o Tiene que haber un directorio en el servidor con los ficheros de instalaci´ n de Slackware para cada o ´ disco en subdirectorios bajo el. El programa de instalaci´n necesita saber el nombre del o directorio en tu servidor que contiene los subdirectorios de la distribuci´ n. Por ejemplo, si el disco A3 o se encuentra en /slackware/a3, entonces deber´a responder: /slackware. ¿Cu´ l es el directorio ı a origen de instalaci´ n? o Nombre del Directorio 11. Instalar desde CD-ROM: ¿Qu´ clase de unidad CD-ROM posees? e
41 N.

del T.: gateway

Linux SlackwareTM

71

(a) Funciona con la mayor´a de las unidades ATAPI/IDE (/dev/hd*) ı (b) SCSI (/dev/scd0 o /dev/scd1) (c) Sony CDU31A/CDU33A (/dev/sonycd) (d) Sony 531/535 (/dev/cdu535) (e) Mitsumi, interfaz propio---no IDE (/dev/mcd) (f) Nuevo Mitsumi, tambi´n no IDE (/dev/mcdx0) e (g) Sound Blaster Pro/Panasonic (/dev/sbpcd) (h) Aztech/Orchid/Okano/Wearnes (/dev/aztcd) (i) Phillips y algunos ProAudioSpectrum16 (/dev/cm206cd) (j) Goldstar R420 (/dev/gscd) (k) Optics Storage 8000 (/dev/optcd) (l) Sanyo CDR-H94 + ISP16 soundcard (/dev/sjcd) (m) Intenta buscar la unidad de CD

1, 2, 3, 4, 5, 6, 7 8, 9, 10, 11, 12, o 13 CD-ROM IDE: Introduzca el nombre del dispositivo que representa la unidad de CD-ROM Esto ser´ probablemente uno de estos en el orden de mayor a menor: /dev/hdb /dev/hdc /dev/hdd a /dev/hde /dev/hdf /dev/hdg /dev/hdh /dev/hda Nombre del dispositivo CD-ROM SCSI: ¿Qu´ CD-ROM SCSI est´ s usando? Si no est´ seguro, seleccione /dev/scd0. e a a 1. /dev/scd0 2. /dev/scd1 M´ todo de instalaci´ n: Con el CD de Slackware, puedes ejecutar la mayor´a del sistema desde el e o ı propio CD si le falta espacio de disco o si quiere evaluar GNU/Linux sin ir a trav´ s de una instalaci´ n e o completa. ¿Qu´ tipo de instalaci´ n desea (slackware o slaktest)? e o slakware Instalaci´ n normal al disco duro o slaktest Enlazar /usr->/cdrom/live/usr para ejecutar la mayor´a desde CD-ROM ı slakware o slaktest 12. Selecci´ n de Series: Identifique qu´ paquetes tiene pensado instalar. Quiz´ desee especificar cualquier o e a combinaci´ n de conjuntos de discos en el indicador del sistema que sigue. Por ejemplo, para instalar el o sistema b´ sico, el sistema b´ sico X-Window y el kit de herramientas Tcl, podr´a introducir: a x tcl. a a ı ¿qu´ conjuntos de discos desea instalar? e
A Sistema b´sico de GNU/Linux a AP Varias aplicaciones que no necesitan X D Desarrollo de programas (C, C++, fuentes del n´cleo, Lisp, Perl, u etc.) E GNU Emacs F listas FAQ K Fuentes del n´cleo GNU/Linux u N Red (TCP/IP, UUCP, Mail) Q N´cleos extra con controladores especiales (necesitados por CD’s u no SCSI) T TeX TCL Tcl/Tk/TclX, lenguaje Tcl, y el kit de herramientas Tk para

72

Obtenci´ n e instalaci´ n de Linux o o

desarrollar aplicaciones X X Sistema base Xfree86 Xwindow XAP Aplicaciones Xwindow XD Sistema de desarrollo de servidores XFree86 X11 XV Xview (gestor de ventanas OpenLook, aplicaciones) Y Juegos (que no requieren X)

Cualquier combinaci´ n de a ap d e f k n q t tcl x xap xd xv y y otros conjuntos de discos ofrecidos, o separados por espacios 13. Instalaci´ n de Software: Despu´ s, los paquetes van a ser transferidos a tu disco duro. Si esta es la o e primera vez que instalas GNU/Linux, probablemente deber´as usar el modo PROMPT. Este seguir´ un ı a fichero de configuraciones predeterminadas en el primer disco de cada serie que instales para asegurarse de que los paquetes requeridos son instalados autom´ ticamente. Se le preguntar´ por la instalaci´ n a a o de otros paquetes. Si no usa el modo PROMPT, el programa de instalaci´ n proseguir´ adelante e instao a lar´ todo lo que se haya seleccionado. ¿Desea usar el modo PROMPT (s/n)? a [s]´ o [n]o ı Estas configuraciones por omisi´ n son definibles por el usuario—puede disponer cualquier paquete o para ser a˜ adido o ignorado autom´ ticamente editando sus elecciones en un fichero llamado TAGFILE n a que se encontrar´ en el primer disco de cada serie. Habr´ tambi´ n una copia del fichero tagfile original a a e llamado TAGFILE.ORG disponible en caso de que quiera volver a los ajustes por omisi´ n. El fichero o tagfile contiene todas las instrucciones necesarias para automatizar completamente su instalaci´ n. ¿Deo sea usar una extensi´ n del fichero TAGFILE especial? Puede especificar una extensi´ n consistente en o o un “.” seguido de cualquier combinacion de 3 caracteres distintos de tgz. Por ejemplo, yo especifico “.pat”, y entonces siempre que cualquier fichero tagfile llamado “tagfile.pat” se encuentre durante la instalaci´ n, se usa en vez del fichero tagfile por omisi´ n. Si el programa de instalaci´ n no encuentra o o o ficheros tagfile con la extensi´ n definida por el usuario, usar´ el fichero tagfile predeterminado. Introo a duzca su extensi´ n tagfile incluyendo el punto inicial “.”, o tan s´ lo presione Enter para continuar o o sin una extensi´ n definible por el usuario. o Extensi´ n tagfile Enter o 14. Configuraci´ n Extra: Si lo desea, puede ir a trav´ s de las opciones para reconfigurar su hardware. o e Cree un disco de arranque (bootdisk) e instale LILO. Si ha instalado una nueva imagen del n´ cleo, u deber´a ir a trav´ s de estos pasos otra vez. En otro caso, depende de su elecci´ n. ı e o [s]i o [n]o 15. Creaci´ n del disco de arranque: Se recomienda que cree un disco de arranque. ¿Quiere hacer esto? o [s]i o [n]o ´ Ahora introduzca un disquete formateado en su unidad de arranque. este se convertir´ en su disco de a arranque de GNU/Linux. Utilice el disco para arrancar LILO hasta que LILO haya sido configurado para arrancar desde el disco duro. Cualquier dato en el disco que introduzca ser´ borrado. Introduzca a el disco y presione return , o s si quirere saltarse este paso.
Enter u [o]mitir

Linux SlackwareTM

73

16. Configuraci´ n del Modem: Se crear´ un enlace en /dev desde el dispositivo de llamada externa o a (ttyS0, ttyS1, ttyS2, ttyS3) a /dev/modem. Puede cambiar este enlace m´ s tarde si conecta a el m´ dem a un puerto distinto. ¿Quiere configurar su m´ dem? o o [s]´ o [n]o ı Estos son los dispositivos de entrada/salida est´ ndar. ¿a cu´ l de estos dispositivos est´ conectado el a a a m´ dem (0, 1, 2, 3)? o
0 /dev/ttyS0 (o COM1: bajo DOS) 1 /dev/ttyS1 (o COM2: bajo DOS) 2 /dev/ttyS2 (o COM3: bajo DOS) 3 /dev/ttyS3 (o COM4: bajo DOS)

0, 1, 2, o 3 17. Configuraci´ n del Rat´ n: Se crear´ un enlace en /dev desde el fichero de dispositivo del rat´ n a o o a o /dev/mouse. Se puede cambiar el enlace m´ s tarde si cambias a otra clase diferente de rat´ n. ¿Desea a o configurar su rat´ n? o [s]´ o [n]o ı Estos tipos de rat´ n se soportan. ¿Cu´ l de estos tipos de rat´ n tienes (1, 2, 3, 4, 5, 6, 7)? o a o
(a) Rat´n serie compatible Microsoft o (b) QuickPort o rat´n del estilo PS/2 (Puerto Auxiliar) o (c) Logitech Bus Mouse (d) ATI XL Bus Mouse (e) Microsoft Bus Mouse (f) Rat´n serie Mouse Systems o (g) Rat´n serie Logitech (MouseMan) o

1, 2, 3, 4, 5, 6, o 7 Estos son los dispositivos serie E/S est´ ndar. ¿En cu´ l de los dispositivos est´ conectado tu rat´ n (0, 1, a a a o 2, 3)?
0 /dev/ttyS0 (o COM1: en DOS) 1 /dev/ttyS1 (o COM2: en DOS) 2 /dev/ttyS2 (o COM3: en DOS) 3 /dev/ttyS3 (o COM4: en DOS)

0, 1, 2, o 3 18. Configuraci´ n de Red: Ahora intentaremos configurar el correo y TCP/IP. Este proceso puede que no o funcione en todas las posibles configuraciones de red, pero deber´a proporcionarle un buen punto de ı inicio. Ser´ capaz de reconfigurar su sistema en cualquier momento escribiendo netconfig. Primero, a se necesita el nombre que desea darle a su computadora. S´ lo se necesita ahora el nombre base del host o (no el dominio). Introduzca su nombre de host. Nombre Host

74

Obtenci´ n e instalaci´ n de Linux o o

Ahora necesitamos el nombre del dominio. No ponga el punto inicial “.” Introduzca el nombre del dominio. Nombre del Dominio Si s´ lo piensa usar TCP/IP a trav´ s de loopback, entonces su direcci´ n IP ser´ 127.0.0.1, y puede o e o a saltarse muchas de las preguntas siguientes. ¿Piensa usar solamente loopback? [s]i o [n]o Introduzca su direcci´ n IP para la m´ quina local Ejemplo: 111.112.113.114. Introduzca la direcci´ n IP o a o para esta m´ quina (aaa.bbb.ccc.ddd). a direcci´ n IP o Introduzca la direcci´ n de la pasarela, como 111.112.113.1. Si no tiene una pasarela, puede editar o /etc/rc.d/rc.inet1 m´ s tarde, o probablemente salir de este paso introduciendo su propia IP a aqu´. Introduzca la direcci´ n de la pasarela (aaa.bbb.ccc.ddd). ı o direcci´ n IP o Introduzca su m´ scara de red. Esto generalmente parecer´ algo como esto: 255.255.255.0. Introduzca a a la m´ scara de red: (aaa.bbb.ccc.ddd). a Direcci´ n IP o ¿Accedera a un servidor de nombres? [s]i o [n]o Por favor, d´ la direcci´ n IP del servidor de nombres a usar. Puede a˜ adir m´ s de un servidor de e o n a nombres editando /etc/resolv.conf. Servidor de nombres para tu dominio (aaa.bbb.ccc.ddd)? Direcci´ n IP o Ahora puede reiniciar su computadora presionando Ctrl - Alt - Delete . Si instalaste LILO, retire el disco de arranque de la computadora antes de reiniciar. ¡No olvide crear /etc/fstab si no tiene uno. (ver p´ gina 139)! a

2.6.8. Haciendo funcionar Slackware
Si se ha tomado el tiempo de dise˜ ar y planear el sistema como se recomend´ en las secciones precedenn o tes, entonces la instalaci´ n actual es f´ cil. No hay que escribir mucho para explicar el proceso actual de cargar o a Slackware en su(s) computadora(s). Siga los pasos para crear los disquetes de arranque (boot) y ra´z (root), ı entonces conteste una larga serie de preguntas realizadas por el programa que dirige el proceso de instalaci´ n o de Slackware. Si ha completado la Hoja de Trabajo de Slackware, estas preguntas ser´ n familiares y todo a ir´ como la seda. a

Linux SlackwareTM

75

Fichero aztech.i

bare.i cdu31a.i cdu535.i cm206.i goldstar.i mcd.i mcdx.i net.i optics.i sanyo.i sbpcd.i

xt.i

Discos de inicio para IDE: Unidades CD-ROM : Aztech CDA268-01A, Orchid CD-3110, Okano/Wearnes CDD110, Conrad TXC, CyCDROM CR520, CR540. ´ Soporte IDE unicamente. Sony CDU31/33a CD-ROM. Sony CDU531/535 CD-ROM. Philips/LMS cm206 CD-ROM con tarjeta adaptadora cm260 Goldstar R420 CD-ROM (a veces vendido en “Kits Multimedia ”). Soporte para CD-ROM Mitsumi NO-IDE. Soporte mejorado para CD-ROM Mitsumi NO-IDE Soporte Ethernet. Soporte para Optics Storage 8000 AT CD-ROM (la unidad “DOLPHIN”). Soporte para CD-ROM Sanyo CDR-H94A. Matsushita, Kotobuki, Panasonic, CreativeLabs (Sound Blaster), Soporte para CD-ROM Longshine y Teac NO-IDE. Soporte para discos duros MFM.

Cuadro 2.6: Im´ genes de dicos de arranque IDE Slackware . a

2.6.9.

Crear algunos discos de arranque.

´ ¡Elige tu nucleo! Durante la instalacion de GNU/Linux Slackware, debe crear un disco de inicio o arranque con un n´ cleo de GNU/Linux que est´ especialmente preparado para reconocer su hardware. Por u a ejemplo, para instalar Slackware desde una unidad CD-ROM IDE CD-ROM en un disco duro SCSI el n´ cleo u que ponga en su disco de inicio necesitar´ tener los controladores para su tarjeta SCSI y su unidad CD-ROM a Los n´ cleos se guardan como ficheros de im´ genes binarias comprimidas que pueden accederse desde u a cualquier sistema operativo para crear un Disco de Inicio Slackware. En el sitio FTP de Slackware, CD-ROM, o montaje NFS se encontrar´ un subdirectorio llamado bootdsks.144, que contendr´ im´ genes de n´ cleos a a a u de 1.44 MB para crear discos de inicio en un disquete de alta densidad de 1.44MB. Si est´ trabajando con a una unidad disquete de 5.25” , mire en un directorio, llamado bootdsks.12 para im´ genes de n´ cleos que a u quepan en este formato de disco m´ s peque˜ o. a n La tabla en la p´ gina 75 proporciona una r´ pida referencia de las im´ genes del n´ cleo disponibles tal a a a u como se van publicando. Informaci´ n y discos de arranque actualizados se encuentran disponibles en esta o URL:
ftp://ftp.cdrom.com/pub/GNU/Linux/slackware/bootdsks.144/README.TXT

2.6.10.

Arranque en acci´ n o

Aqu´ est´ el gran anticl´max. Despu´ s de toda esta planificaci´ n, preparaci´ n, y particionamiento, llega ı a ı e o o la hora m´ s tediosa. Aseg´ rese de que el disco de arranque est´ en la unidad de disquete, y reinicie su a u a computadora. Ahora es un buen momento para prepararse un buen caf´ (o cualquier otra cosa) y volver a la e m´ quina listo para desempe˜ ar el papel de un robot pulsa-botones, respondiendo preguntas de s´ - no por una a n ı hora o as´. ı

76

Obtenci´ n e instalaci´ n de Linux o o

Fichero 7000fast.s Advansys.s Aha152x.s Aha1542.s Aha1740.s Aha2x4x.s

Am53c974.s Aztech.s Buslogic.s Cdu31a.s Cdu535.s Cm206.s Dtc3280.s Eata dma.s

Eata isa.s Eata pio.s Fdomain.s Goldstar.s In2000.s Iomega.s Mcd.s Mcdx.s N53c406a.s N 5380.s N 53c7xx.s Optics.s Pas16.s Qlog fas.s Qlog isp.s Sanyo.s Sbpcd.s Scsinet.s Seagate.s Trantor.s Ultrastr.s Ustor14f.s

Discos de arranque Slackware SCSI/IDE: Soporte para Western Digital 7000FASST SCSI. Soporte para AdvanSys SCSI. Soporte para Adaptec 152x SCSI. Soporte para Adaptec 1542 SCSI. Soporte para Adaptec 1740 SCSI. Soporte para Adaptec AIC7xxx SCSI (Para estas tarjetas: AHA-274x, AHA-2842, AHA-2940, AHA-2940W, AHA-2940U, AHA-2940UW, AHA-2944D, AHA-2944WD, AHA-3940, AHA-3940W, AHA-3985, AHA-3985W). Soporte para AMD AM53/79C974 SCSI. Soporte para todas las controladoras SCSI, adem´ s del soporte CD-ROM para Aztech CDA268-01A, a Orchid CD-3110, Okano/Wearnes CDD110, Conrad TXC, CyCDROM CR520, CR540. Soporte para Buslogic MultiMaster SCSI. Soporte para todas las controladoras SCSI, adem´ s y el CD-ROM para Sony CDU31/33a. a Soporte para todas las controladoras SCSI, adem´ s y el CD-ROM para Sony CDU531/535. a Soporte para todas las controladoras SCSI, adem´ s y el CD-ROM para Philips/LMS cm206 a CD-ROM con el adaptador cm260. Soporte para DTC (Data Technology Corp) 3180/3280 SCSI . DPT EATA-DMA SCSI support. (Boards like PM2011, PM2021, PM2041, PM3021, PM2012B, PM2022, PM2122, PM2322, PM2042, PM3122, PM3222, PM3332, PM2024, PM2124, PM2044, PM2144, PM3224, PM3334.) Soporte para DPT EATA-ISA/EISA SCSI. (Boards like PM2011B/9X, PM2021A/9X, PM2012A, PM2012B, PM2022A/9X, PM2122A/9X, PM2322A/9X). Soporte para DPT EATA-PIO SCSI (PM2001 y PM2012A). Soporte para Future Domain TMC-16x0 SCSI. Soporte para todas las controladoras SCSI, adem´ s del soporte CD-ROM para Goldstar R420 a (a veces vendido en el “Kit Multimedia” Reveal ). Soporte para Always IN2000 SCSI. Soporte para puerto paralelo SCSI IOMEGA PPA3 (tambi´ n soporta el puerto e paralelo de la unidad ZIP). Soporte para todas las controladoras SCSI, adem´ s del soporte no-IDE del CD-ROM Mitsumi. a Soporte para todas las controladoras SCSI, adem´ s del soporte optimizado del CD-ROM a no-IDE Mitsumi. Soporte para NCR 53c406a SCSI. Soporte para NCR 5380 y 53c400 SCSI. Soporte para NCR 53c7xx, 53c8xx SCSI (La mayor parrte de las controladoras NCR PCI SCIS usan este controlador). Soporte para todas las controladoras SCSI, adem´ s del soporte para CD-ROM Optics a Storage 8000 AT (la unidad “DOLPHIN”). Soporte para Pro Audio Spectrum/Studio 16 SCSI. Soporte para ISA/VLB/PCMCIA Qlogic FastSCSI! (tambi´ n soporte para tarjetas Control e Concepts SCSI basadas en el chip Qlogic FASXXX). Soporte para tadas las controladoras Qlogic PCI SCSI, excepto las PCI-basic, las cu´ les se soportan por el controlador AMD SCSI. a Todas las controladoras SCSI soportadas, adem´ s del soporte del CD-ROM Sanyo CDR-H94A. a Todas las controladoras SCSI, adem´ s de los CD-ROM NO-IDE Matsushita, Kotobuki, a Panasonic, CreativeLabs (Sound Blaster), Longshine y Teac. Todas las controladoras SCSI adem´ s de soporte ethernet completo. a Soporte para Seagate ST01/ST02, Future Domain TMC-885/950 SCSI. Soporte para Trantor T128/T128F/T228 SCSI. Soporte para UltraStor 14F, 24F, y 34F SCSI. Soporte para UltraStor 14F y 34F SCSI. Cuadro 2.7: Im´ genes de discos de arranque SCSI/IDE. a

Linux SlackwareTM

77

Entra como root (sin password) y escribe setup o setup.tty.

2.6.11.

El programa ‘‘setup’’ de SlackwareTM

SlackwareTM viene con dos versiones de un excelente programa de configuraci´ n: setup. Uno con coo lorines, interfaz de di´ logo, con men´ s. La otra alternativa, setup.tty, es una versi´ n s´ lo-texto que a u o o quiz´ prefiera, porque los diagn´ sticos detallados y los mensajes de error permanecen en pantalla y no son a o cubiertos por la siguiente caja de di´ logo. Si est´ intentando una instalaci´ n Slackware en hardware obsoleto, a a o recomiendo encarecidamente la rutina menos colorista setup.tty. Si no sabe mucho acerca de UNIX y podr´a sentirse m´ s c´ modo con un interfaz “limpio” y atractivo, para el mismo proceso, entonces use el ı a o programa setup bonito.

78

Obtenci´ n e instalaci´ n de Linux o o

============== Slackware96 Linux Setup (version HD-3.1.0) ============== Welcome to Slackware Linux Setup. Hint: If you have trouble using the arrow keys on your keyboard, you can use ’+’, ’-’, and TAB instead. Which option would you like? ==================================================================== HELP Read the Slackware Setup HELP file KEYMAP Remap your keyboard MAKE TAGS Tagfile customization program TARGET Select target directory [now: / ] SOURCE Select source media DISK SETS Decide which disk sets you wish to install INSTALL Install selected disk sets CONFIGURE Reconfigure your Linux system PKGTOOL Install or remove packages with Pkgtool EXIT Exit Slackware Linux Setup ==================================================================== ======================================================================== < OK > <Cancel> ========================================================================

El transferir Slackware en su sistema desde aqu´ deber´a incluir un poco m´ s que seleccionar qu´ quiere ı ı a e de los men´ s. Rellenando la Secci´ n 3 de la hoja de trabajo en previsi´ n, deber´a ser capaz de avanzar u o o ı r´ pidamente a trav´ s de cada men´ en orden, hasta llegar a la opci´ n INSTALL, en ese punto las cosas a e u o quiz´ se e n l e n t e z c a n: est´ s avisado para seleccionar la caracter´stica PROMPT y leer acerca de cada a a ı ´ paquete de software, decidiendo si quieres o no incluirlo en tu sistema Slackware. La ultima parte de una instalaci´ n usual es la secci´ n CONFIGURE en el men´ “setup”, y las preguntas que se deben responder son o o u parecidas a las de la segunda mitad de la secci´ n 3 de la hoja de trabajo. o

2.6.12.

¿Eso es todo?

¡Definitivamente no! En este momento, quiz´ tenga algunos obst´ culos que est´ n impidiendo que el proa a e ´ grama de instalaci´ n termine, o m´ s parecido, est´ s mirando al indicador de ordenes de root o a a
darkstar˜#

y pregunt´ ndote “¿Y ahora qu´ ?” a e Bien, si los problemas te sobrepasan, quiz´ quieras proseguir directamente por la siguiente secci´ n en a o resoluci´ n de problemas. Si las cosa aparentan estar funcionando en orden, todav´a se deben tener en cuenta o ı algunos detalles. Es como la compra de un autom´ vil nuevo— despu´ s de seleccionar y pagar por un coche, o e hay todav´a algunas cosas que se necesitan antes de que pueda conducirlo con confianza— un seguro, un ı tiempo al volante...

2.6.13.

Solucionando algunos problemillas

No todas las instalaciones de Slackware acaban como lo esperan los administradores del sistema. He pasado algunas noches enteras, sentado despu´ s del trabajo toda una noche para actualizar un sistema Slackware e y todav´a hay problemas para hacer que la maldita cosa vuelva a estar en l´nea y funcionando, antes de que la ı ı gente empiece a quejarse de su correo perdido. Esta secci´ n se centrar´ en los problemas de instalaci´ n m´ s o a o a comunes, soluciones y d´ nde buscar asistencia adicional. o Preguntas frecuentes Patrick Volkerding, el padre de Slackware, ha tratado con muchas preguntas de usuarios novatos escuchando, respondiendo y anticip´ ndose a preguntas repetidas. Para interceptar a los a

Linux SlackwareTM

79

usuarios novatos de Slackware antes de que hagan la misma pregunta por en´ sima v´ z, Patrick ha creado doe e cumentaci´ n y la ha incluido con la distribuci´ n Slackware. Tres ficheros que encontrar´ utiles respondiendo o o a´ sus preguntas iniciales son FAQ.TXT, INSTALL.TXT, y BOOTING.TXT. Soporte web para SlackwareTM La manera m´ s f´ cil de encontrar documentos de GNU/Linux en gea a neral es la p´ gina web del Linux Documentation Project Home Page. Mira la p´ gina 212 para una descripci´ n a a o de la P´ gina Inicial del LDP. a En este momento, la ayuda espec´fica de Slackware que puedes encontrar en Internet tiende a estar altaı mente personalizada—al estilo de c´ mo montar una distribuci´ n NFS en computadoras de cierta universidad o o o c´ mo cablear tu dormitorio en una WAN residencial determinada usando Slackware. o Grupos de Usenet para Slackware La jerarqu´a comp.os.linux de Usenet es un tesoro para enconı trar informaci´ n sobre GNU/Linux, pero no necesariamente espec´ficamente sobre Slackware. Actualmente, o ı 11 forums distintos sobre GNU/Linux manejan un alto volumen de discusi´ n en esta jerarqu´a, la cu´ l se o ı a escribe en la p´ gina 22. a Listas de correo para Slackware En este momento, no hay discusiones por correo electr´ nio co dedicadas “per se”. Se puede participar en algunas excelentes charlas via e-mail, intenta http://www.linux.org, y pregunta en los grupos de noticias Usenet por unas buenas listas de suscripci´ n. o Hay un servidor general de listados de correo, majordomo@vger.rutgers.edu. Mira en la p´ gia na 23 para una descripci´ n de c´ mo suscribirse a las listas de correo por medio de este servidor. o o Obtienes lo que pagas (soporte comercial) El soporte comercial para GNU/Linux est´ disponible a desde algunos de los vendedores de CD-ROM y una lista enorme de Consultores de GNU/Linux, con los que se puede entrar en contacto a trav´ s de los siguientes documentos HOWTO: e
http://sunsite.unc.edu/LDP/HOWTO/Consultants-HOWTO.html http://sunsite.unc.edu/LDP/HOWTO/Commercial-HOWTO.html

2.6.14.

Disfrutando del momento despu´ s e

No te duermas en los laureles todav´a, especialmente si tu m´ quina Slackware se comparte o est´ coı a a nectada en una red. Preparar una computadora para un uso compartido o para un uso dentro de una red es un poco m´ s complicado que ejecutar el programa de configuraci´ n y olvidarse de todo. Proporcionamos a o algunas indicaciones para asegurar y compartir su sistema Slackware nuevo.

2.6.15.

¡Considere reinstalar!

S´ que acabamos de terminar lo que ha sido una larga sesi´ n de instalaci´ n. Sin embargo antes de entrar e o o en la casa que acabas de levantar, considera tirarla abajo otra vez y levantarla de nuevo otra vez. Friedrich Nietzsche dec´a: ı Un hombre aprende lo que necesita saber acerca de construir su casa s´ lo despu´ s de haberla o e terminado. Si en el proceso de instalaci´ n del sistema, ten´a alguna idea acerca de c´ mo hacerlo de forma diferente, o ı o quiz´ ahora es el momento. Si tu sistema Slackware va a ser una m´ quina multiusuario o un servidor de red, a a nunca habr´ una oportunidad tan conveniente para reinstalar o reconfigurar el sistema de una manera radical. a

80

Obtenci´ n e instalaci´ n de Linux o o

2.6.16.

Asegurar el sistema.

Salir de la LAN de una vez Desde fuera de la caja, Slackware es un sistema inseguro. Aunque Patrick Volkerding hace lo mejor que puede para crear una distribuci´ n segura, unos cuantos agujeros inevitables se o hacen conocidos, se ponen disponibles los parches correspondientes en las comunidades de administradores de sistemas (y en las comunidades de crackers). Si se instal´ Slackware desde un origen en red, como un o disco montado a trav´ s de NFS, deber´as desconectar la m´ quina de la red despu´ s de una instalaci´ n exitosa e ı a e o mientras tapas algunos agujeros. ˜ Dar al root una contrasena Por omisi´ n, un sistema Slackware no requiere una contrase˜ a para el o n administrador. Cuando est´ s seguro de que el sistema Slackware es estable (despu´ s de unas horas, no d´as o e e ı semanas), ponle una contrase˜ a para proteger la cuenta de administrador. Entra como administrador y escribe: n
# passwd root

Otorgarse una cuenta a si mismo En sistemas grandes, compartidos, la cuenta de administrador root no se usa como una cuenta de trabajo login por cualquier persona. Si te interesa la administraci´ n de sistemas o est´ s en una m´ quina conectada en red este es un buen consejo a seguir. Utiliza el proo a a grama /sbin/adduser y hazte una cuenta de entrada login para ti en vez de trabajar con la cuenta de root. Siempre sonr´o cuando veo estudiantes y aficionados poniendo mensajes en Usenet como ı root@mymachine.mydomain. S´ humilde y seguro: Crea otra cuenta login para tu trabajo diario y e utiliza su (mejor que login) para entrar en la cuenta de root lo menos posible. Lee el Cap´tulo 4 para una discusi´ n de qu´ se deber´a hacer con la cuenta de root (y qu´ no). ı o e ı e Denegar los accesos root. No s´ lo es infrecuente trabajar como usuario administrador, sino que no o se considera seguro acceder como root a trav´ s de la red. e Los usuarios administradores normalmente se conectan a una m´ quina UNIX usando su nombre de a usuario normal en el login, entonces usan su para pasar a la cuenta root como lo necesiten. Para prevenir que crackers, hackers, y usuarios ignorantes entren directamente como root, edite el fichero /etc/securetty y comente (anteponga el s´mbolo (#)) a todos los terminales exceptuando los locales: ı
console tty1 tty2 # ttyS0 # ttyS1

Despu´ s de este arreglo, a los usuarios que intenten entrar como root a trav´ s de la red se les denegar´ el e e a paso:
Linux 2.0.29 (durak.interactivate.com) (ttyp4) durak login: root root login refused on this terminal. durak login:

Aplicar las soluciones sencillas Slackware se instala con algunos problemas de seguridad realmente serios. Mejor que aprender por ti mismo seguridad UNIX e investigar estas vulnerabilidades por ti mismo, puedes saltar directamente al proceso de tapar agujeros visitando un recurso Web mantenido para este prop´ sito, llamado Slackware SimpleFixes: o
http://cesdis.gsfc.nasa.gov/linux-web/simplefixes/simplefixes.html

2.7. S.u.S.E.TM

81

Comprueba los parches en ftp.cdrom.com Como distribuci´ n mantenida activamente, las actuao lizaciones Slackware y los parches est´ n disponibles en: a
ftp://ftp.cdrom.com/pub/linux/slackware/patches/

Mantenerse alerta. Quiz´ desee suscribirse a alguna de las listas de correo electr´ nico que alertan a a o los usuarios de los acontecimientos en la administraci´ n de GNU/Linux, como: o
GNU/Linux-alert-request@tarsier.cv.nrao.edu GNU/Linux-security-request@redhat.com

2.6.16.1.

Copias de respaldo.

¿Le gusta saber como funcionan las cosas? Gu´ rdelas para cuando se necesiten mediante copias de resa paldo. Amanda (Advanced Maryland Automatic Network Disk Archiver) es uno de las distintas opciones de copias de respaldo para instalaciones GNU/Linux. Puede encontrar m´ s informaci´ n sobre Amanda en: a o
http://www.cs.umd.edu/projects/amanda/index.html

2.7.

S.u.S.E.

TM

Esta seccion sobre S.u.S.E Linux fue escrita por Larry Ayers. La distribuci´ n S.u.S.E. comenz´ unos a˜ os atr´ s como una adaptaci´ n de Slackware. Patrick Volkerding, o o n a o de Slackware, ayud´ a los desarrolladores de S.u.S.E. al principio, pero m´ s tarde la distribuci´ n empez´ a o a o o asumir una identidad propia. Algunas caracter´sticas intentaron ayudar al usuario novel, incrementando la ı posibilidad de que una instalaci´ n no tuviera que ser inmediatamente rehecha. Dada la “polinizaci´ n-cruzada” o o end´ mica en el mundo del software libre, no me sorprender´a que algunas de estas caracter´sticas hayan e ı ı aparecido en las distribuciones Slackware modernas.

2.7.1.

Comenzando la instalaci´ n o

Al arrancar la m´ quina desde un disco de instalaci´ n sencillo, se est´ arrancando realmente un sistema a o a GNU/Linux miniaturizado para este prop´ sito. Una pantalla coloreada aparece, lista para hacer una serie o de preguntas las cu´ les con algo de suerte le guiar´ n a trav´ s del proceso. YAST (Yes Another Setup Tool) a a e muestra sus or´genes Slackware en tanto como usa el programa dialog. Esta herramienta activa scripts de ı shell para presentar cajas de di´ logo, botones de radio y listas de opciones que permiten a un usuario hacer a elecciones y dirigir el curso de una instalaci´ n. o Aunque ninguna distribuci´ n puede garantizar una instalaci´ n sin problemas, los desarrolladores de o o S.u.S.E. GmbH han tratado de anticipar varios problemas que los usuarios nuevos de GNU/Linux son propensos a experimentar. Uno de los m´ s frustrantes es encontrarse con que el CD-ROM no es reconocido. Copiar a los paquetes necesarios para iniciar en un disco duro e instalarlos desde all´ es una soluci´ n, pero es una ı o chapuza y consume tiempo. Mejor que proporcionar una selecci´ n de varias im´ genes de disco, una de las o a ´ cuales probablemente tenga el controlador que soporte su CD-ROM, el disco unico de arranque de S.u.S.E. contiene un n´ cleo peque˜ o, b´ sico, con todos los controladores disponibles—si se necesitan—en forma de u n a m´ dulos. El demonio del n´ cleo es un proceso que se ejecuta en segundo plano y que asegura que el m´ dulo o u o necesario ser´ cargado si una funci´ n modular se necesita. Esto ayuda a eliminar un factor de bloqueo. Otro a o problema com´ n es estimar por debajo el espacio de disco que se necesita. Esto fuerza a abortar la instalaci´ n u o ´ por falta de espacio. Cuando se produce esto, los cruciales pasos finales (como la instalaci´ n de LILO) no se o han alcanzado, y normalmente es necesario empezar de nuevo. Las instalaciones basadas en scripts son necesariamente secuenciales en su naturaleza; quiz´ sepa que saltarse un paso no estropear´ nada pero, es dificil a a anticipar cada eventualidad en un proceso por lotes, y si las cosas van mal, el proceso por lotes normalmente se aborta. Durante la instalaci´ n de S.u.S.E. un contador del espacio restante de la partici´ n se muestra en la pantalla o o de YAST; mientras se seleccionan los paquetes, se pueden intentar varias combinaciones mientras se tiene

82

Obtenci´ n e instalaci´ n de Linux o o

en cuenta cu´ nto espacio libre del disco prefiere que permanezca libre. El particionado y el formateo de a los discos, as´ como la creaci´ n y activaci´ n de una partici´ n de intercambio son procesos que no son muy ı o o o diferentes a otras distribuciones. Todas se apoyan en las mismas herramientas; el proceso se ha convertido m´ s o menos en un est´ ndar. a a Dependencias El uso de dependencias, que consiste en informaci´ n inclu´da en un paquete de softo ı ware concerniente a qu´ otros paquetes son necesarios para que funcione, se ha extendido r´ pidamente entre e a las distribuciones de GNU/Linux. Desafortunadamente, no ha aparecido ning´ n formato universal de deu pendencias. Cada distribuci´ n usa un formato distinto. El formato RPM de Red Hat, empleado en varias o distribuciones, es potente y efectivo, pero tiene algunas contrapartidas. Funciona mejor en un sistema basado completamente en RPM, porque el chequeo de dependencias realizado por el programa rpm s´ lo entiende de o paquetes RPM. S.u.S.E. 5.1 utiliza el formato srpm. Las dependencias s´ lo son revisadas si un paquete se o instala desde el programa YAST, permitiendo la opci´ n (para un usuario experimentado) de desempaquetarlo o en otra localizaci´ n, y comprobar los ficheros y configuraciones antes de la instalacion final. Las dependeno cias son m´ s utiles durante la instalaci´ n y configuraci´ n inicial. Una vez que se ha usado el sistema por a ´ o o un tiempo, se tiene una idea de qu´ programas y bibliotecas se encuentran disponibles. La mayor´a de los e ı paquetes de software para GNU/Linux tambi´ n contienen informaci´ n como qu´ se necesita que est´ presene o e e te en el sistema para que el paquete funcione. Es inteligente leer el fichero rc.config antes de ejecutar suseconfig y realizar cualquier cambio. Algunas de las acciones predeterminadas que el script realizar´ , a quiz´ prefiera hacerlas usted mismo, las cu´ les son desactivadas f´ cilmente editando el fichero. a a a Los usuarios que est´ n familiarizados con el esquema de ficheros de inicializaci´ n de Slackware nee o cesitar´ n hacer algunos ajustes; los ficheros situados normalmente en /etc/rc.d se encuentran en a /sbin/init.d.

2.7.2.

Post-instalaci´ n de S.u.S.ETM o

YAST est´ tambi´ n dise˜ ado para ser utilizado despu´ s de la instalaci´ n para el mantenimiento rutinario a e n e o del sistema. La multiplicidad de ficheros de recursos necesarios por GNU/Linux para arrancar y funcionar pueden ser un desaf´o para los principiantes. YAST ofece un interfaz basado en men´ s para estos ficheros, ı u incluyendo el fichero de configuraci´ n de sendmail, los ficheros de cron (Programacion de tareas), sripts o de inicializaci´ n, y varios ficheros de la red. Los cambios realizados en una sesi´ n YAST se escriben en los o o diversos ficheros de configuraci´ n “reales” por un script llamado suseconfig. Este script es ejecutado o autom´ ticamente por YAST al final de la sesi´ n YAST; si /etc/rc.config es editado directamente, a o suseconfig debe ser iniciado manualmente. Esto parece un proceso complejo, pero es m´ s f´ cil que a a buscar los ficheros individuales, aprender la sintaxis correcta necesaria para editarlos, y hacer que hagan lo que t´ quieres. u Despu´ s de lograr tener funcionando S.u.S.E., es una buena idea instalar las fuentes del n´ cleo (disponie u bles en el CD-ROM, es un paquete opcional que puede instalarse durante la configuraci´ n inicial). S.u.S.E. o instala un n´ cleo gen´ rico, y normalmente s´ lo se necesitan unos cuantos de los m´ dulos que lo acompa˜ an. u e o o n Es una excelente oportunidad para familiarizarse con la mec´ nica de la compilaci´ n del c´ digo fuente, de esta a o o manera terminar´ con un n´ cleo m´ s peque˜ o personalizado s´ lo con las caracter´sticas que necesite. El coma u a n o ı pilador gcc y las herramientas acompa˜ antes deben instalarse para compilar un n´ cleo; estas herramientas n u son una necesidad en un sistema GNU/Linux incluso si no se es programador. La revisi´ n de dependencias o de YAST ayudar´ a asegurarse de que todas las herramientas de compilaci´ n necesarias est´ n instaladas. a o a La compilaci´ n del n´ cleo puede parecer dif´cil para un principiante, pero es un proceso f´ cil e intuitivo. o u ı a Hay tres interfaces disponibles para el paso de configuraci´ n inicial. El primero (y m´ s antiguo) es un script o a ´ en modo consola invocado desde la l´nea de ordenes, make config. Este script pregunta una serie de ı cuestiones y usa los resultados para escribir un fichero que gu´a al compilador en su trabajo. Necesita saber ı dos hechos b´ sicos acerca de su hardware como qu´ tipo de disco duro y CD-ROM tiene. Si quiere soporte de a e sonido, necesitar´ saber la IRQ que usa su tarjeta, as´ como unos pocos par´ metros que pueden ser extra´dos a ı a ı del manual de la tarjeta o de la salida de la utilidad de MS-DOS msd. Los otros dos interfaces son menuconfig y xconfig. El primero emplea una versi´ n modificada del o

2.8. Procedimientos post-instalaci´ n o

83

programa dialog mencionado arriba, el cu´ l corre en una consola virtual o en un xterm y se asemeja a a la herramienta YAST.xconfig es una versi´ n basada en Tk dise˜ ada para funcionar bajo X-Window. o n ´ Las tres cumplen el mismo prop´ sito. Las dos ultimas permiten hacer las selecciones sin tener que escribir o demasiado. Las fuentes del n´ cleo est´ n bien documentadas. El fichero README en el directorio del nivel u a superior contiene suficiente informaci´ n para garantizar una compilaci´ n exitosa. o o

2.7.3.

Configurando las X

Configurar exitosamente el sistema X-Window (espec´ficamente XFree86, que est´ incluido con S.u.S.E. ı a y otras muchas distribuciones) puede ser una tarea tediosa. Hay tanta multiplicidad de monitores y tarjetas de v´deo que cada instalacion de X debe ser configurada individualmente. La dificultad se ha facilitado en ı algo con la liberaci´ n de la versi´ n XFree86 3.2, que es la que se incluye en la m´ s reciente liberaci´ n de o o a o S.u.S.E. Una herramienta de configuraci´ n basada en dialog puede usarse en vez del previo xf86config. o Ambos est´ n basados en scripts de shell similares al que se usa para configurar el n´ cleo de GNU/Linux. Sin a u embargo, todav´a necesitar´ s saber el rango de refresco horizontal y vertical que tu monitor tolera, as´ como ı a ı el conjunto de chips que est´ n instalados en tu tarjeta de v´deo. Ayuda primero poner la configuraci´ n lo a ı o m´ s baja posible, por ejemplo, obtener las X funcionando a baja resoluci´ n antes que intentar hacer un uso a o completo de las capacidades de la tarjeta de v´deo. ı Los desarrolladores de S.u.S.E. se han estrujado las meninges en la configuraci´ n de varios gestores de o ventanas, por ejemplo fvwm95. La primara vez que inicie X, muchas de las aplicaciones que eligi´ para o la instalaci´ n estar´ n disponibles desde el men´ de rat´ n activado en la ventana ra´z. Otra entrada en el o a u o ı men´ permite cambiar el fondo de la ventana. u Muchos iconos bien dise˜ ados son suministrados con la distribuci´ n S.u.S.E. Esto da a los nuevos usuan o rios algo de respiro. Despu´ s de tener GNU/Linux y X funcionando finalmente, hay suficiente para hacer tan e s´ lo aprendiendo el sistema sin sentirse llamado a personalizar el entorno, ¡en orden de hacerlo tolerable a la o vista!

2.7.4.

´ Ultimas actualizaciones

Al minuto de finalizar la instalaci´ n de incluso la m´ s actualizada distribuci´ n, comienza a estar increo a o ´ es un proceso lento, pero eventualmente sentir´ s la necesidad de actualizar alguna mentalmete desfasada. Este a parte de tu sistema. Con S.u.S.E. 5.1 YAST puede ahora actualizar la distribuci´ n por FTP. o Algunas distribuciones funcionan mejor cuando el formato nativo del fichero de actualizaci´ n se usa, peo ro S.u.S.E. se comporta bien usando el formato est´ ndar *.tar.gz. S.u.S.E sigue el camino marcado por a Slackware respecto a esto. La mayor´a de los paquetes de software se compilar´ n e instalar´ n bien (en un ı a a sistema GNU/Linux razonablemente puesto al d´a) desde los formatos tar o gzip que los desarrolladores ı usan. Hay pocos paquetes problem´ ticos por ah´. En estos casos, se puede usar RPM. El chequeo de depena ı dencias no funcionar´ , pero los RPM’s permiten aprovecharse de la experiencia m´ s avanzada de los usuarios a a en editar los makefile y otras destrezas de configuraci´ n. o

2.8. Procedimientos post-instalaci´ n o
En este punto es una buena idea explicar como reiniciar y apagar el sistema que est´ s usando. Nunca a debes reiniciar o apagar el sistema GNU/Linux presionando el bot´ n de reset. Tampoco debes desconectar o la electricidad nunca. Como con la mayor´a de los sistemas UNIX, Linux guarda las escrituras en disco en ı memoria. Por lo tanto, si reinicias de repente el sistema sin apagarlo limpiamente (correctamente), puedes corromper los datos de los discos duros, causando un da˜ o incalculable. n La manera m´ s f´ cil de apagar el sistema es con la orden shutdown. Por ejemplo, para apagar y reiniciar a a el sistema inmediatamente, usa la orden siguiente root:
# shutdown --r now

´ Esto reinicia limpiamente el sistema. La p´ gina del manual para shutdown describe las otras ordenes y argua mentos disponibles. Usa la orden man shutdown para ver la p´ gina del manual para la orden shutdown. a

84

Obtenci´ n e instalaci´ n de GNU/Linux o o

Observa, sin embargo, que muchas de las distribuciones de GNU/Linux no vienen provistas de la orden shutdown en la instalaci´ n media (b´ sica). Esto significa que la primera vez que reinicies el sistema despu´ s o a e de la instalaci´ n, necesitas usar la combinaci´ n de teclas Ctrl - Alt - Del . o o Despu´ s de tener la ocasi´ n de explorar y usar el sistema, hay varias tareas de configuraci´ n que debes e o o emprender. La primera es crear una cuenta de usuario para ti mismo (y, opcionalmente, alguna otra para usuarios que vayan a tener acceso al sistema). La creaci´ n de cuentas de usuario est´ descrita en el cap´tulo 4. o a ı Normalmente, todo lo que tienes que hacer es registrarte como root (administrador), y ejecutar el programa ´ adduser (a veces useradd). Este te lleva a trav´ s de varios indicadores para crear cuentas de usuario e nuevas. Si creas m´ s de un sistema de ficheros para GNU/Linux, o si est´ s usando una partici´ n de intercambio, a a o quiz´ necesites editar el fichero /etc/fstab para que esos sistemas de ficheros est´ n disponibles autom´ tia e a camente despu´ s de reiniciar. Si est´ s usando sistemas de ficheros separados para /usr, y ninguno de esos e a ficheros que deber´an estar en /usr parecen estar presentes, simplemente necesitas montar esos sistemas de ı ficheros. Consulta la p´ gina 139 para una descripci´ n del fichero /etc/fstab. a o

2.9.

Cuando se tienen problemas

Casi todos hemos tenido alguna clase de problema o cuelgue cuando se intenta instalar GNU/Linux la primera vez. la mayor´a de las veces, el problema es causado por un simple malentendido. Sin embargo, a ı veces el problema puede ser algo m´ s serio, como un descuido de uno de los desarrolladores o un bug. a ´ Si su instalaci´ n parece ser exitosa pero se recibieron mensajes de error inesperados, estos se describen o aqu´. ı ´ Si su intalaci´ n aparenta haber sido exitosa pero se recibieron mensajes inesperados de error, estos se o describen aqu´. ı

2.9.1. Problemas arrancando el medio de instalaci´ n o
Cuando se intenta iniciar el disquete de instalaci´ n por primera vez, puede encontrarse con algunos proo blemas, los cuales se enumeran abajo. Por favor, tenga en cuenta que estos inconvenientes no est´ n relacionaa dos con el inicio de su sistema GNU/Linux nuevo y ya instalado. Consulte la p´ gina 91 para m´ s informaci´ n a a o sobre estos problemas. Error en el disquete o en otro dispositivo al intentar arrancar el sistema La causa m´ s frecuente de esta clase de problema es que el disquete est´ corrupto. Si el disquete se a e encuentra f´sicamente da˜ ado, deber´a construirlo de nuevo usando un disquete en buen estado. Si los ı n ı datos del disquete son los que se encuentran defectuosos, deber´a verificar que ha descargado y transı ferido los datos al disquete correctamente. Generalmente, para solucionar este problema, bastar´ sima plemente con volver a crear el disquete de arranque. Repita todos los pasos, e intente nuevamente. Si ha recibido su disquete de arranque por correo o alg´ n otro distribuidor en lugar de descargarlo y u crearlo por usted mismo, comun´quese con el distribuidor para pedirle uno nuevo –pero s´ lo despu´ s ı o e ´ de verificar que este es, efectivamente el problema. El sistema se cuelga durante el arranque, o despu´ s de arrancar e Despu´ s de que el disquete arranca, ver´ un n´ mero de mensajes del n´ cleo, indicando cu´ les dispoe a u u a ´ sitivos fueron detectados y configurados. Despu´ s de esto, normalmente, se le presentar´ un indicador e a de ingreso42 , permiti´ ndole proceder con la instalaci´ n (en lugar de esto, algunas distribuciones le lane o zar´ n justo al programa de instalaci´ n). El sistema puede parecer como si estuviera bloqueado, durante a o muchos de estos pasos. Tenga paciencia: cargar software desde un disquete es un proceso lento. En muchos casos el sistema puede no haberse colgado de ninguna manera, simplemente necesita algo de tiempo. Verifique que no hayaa ninguna actividad, ya sea en el disco o en el sistema, por lo menos por unos cuantos minutos, antes de suponer que el sistema est´ bloqueado. a
42 N.

´ del T.: “login indicador de ordenes” en el original

Cuando se tienen problemas

85

1.

Despu´ s de iniciar el sistema desde el indicador LILO, se debe cargar la imagen del n´ cleo del e u disquete. Esto puede tomar unos cuantos segundos; usted podr´ asegurarse de que todo marcha a bien si la luz de la disquetera est´ encendida. a Cuando arranca el n´ cleo, los dispositivos SCSI deben ser detectados. Si no posee ning´ n dispou u sitivo SCSI, el sistema har´ un alto de 15 segundos, mientras contin´ a la detecci´ n de los posibles a u o SCSI; esto ocurre, generalmente, despu´ s de que la l´nea e ı
lp init: lp1 exists (0), using polling driver

2.

aparece en pantalla. 3. Una vez que el n´ cleo halla terminado de cargarse, el control pasa a los ficheros de arranque u que hay en el disquete. Al cabo de esto, usted podr´ ver un indicador de entrada 43 , o bien, se a iniciar´ un programa de instalaci´ n. Si se le presenta un indicador de ingreso como a o
Linux login:

entonces deber´a entrar, (por lo normal es como root o install — esto var´a seg´ n cada ı ı u distribuci´ n). Antes de ingresar el nombre de usuario, el sistema puede detenerse por 20 segundos o ´ o m´ s, mientras el programa de instalaci´ n o el int´ rprete de ordenes se carga desde el disquete. a o e Nuevamente, si esto sucediera, la luz de la disquetera deber´ estar encendida. No suponga que el a sistema est´ colgado. a Cualquiera de las causas comentadas arriba, puede ser el origen de su problema. De todos modos, es posible que el sistema realmente se cuelgue mientras se inicia, lo cu´ l puede deberse a muchas causas. a En primer lugar, puede ser que usted no posea suficiente memoria RAM para iniciar el disquete de instalaci´ n. (Vea el siguiente punto al respecto para m´ s informaci´ n acerca de c´ mo desactivar el o a o o disco RAM (ramdisk) para liberar memoria.) ´ La causa del cuelgue de muchos sistemas, es la incompatibilidad del hardware. El ultimo cap´tulo ı muestra un vistazo general del hardware soportado en GNU/Linux. Incluso si sus dispositivos son soportados, usted puede meterse en problemas si tiene configuraciones incompatibles de hardware, las cu´ les pueden estar causando que el sistema se cuelgue. Vea la p´ gina 86, adelante, para una discusi´ n a a o sobre incompatibilidades de hardware. El sistema informa de errores a causa de falta de memoria, mientras intenta arrancar o instalar el software Este punto trata sobre la cantidad de RAM con la que se dispone. En sistemas con 4 Mbytes o menos de RAM, se pueden tener problemas al arrancar el disquete, o al instalar el software. Esto se produce ya que muchas distribuciones usan un disco RAM (ramdisk), que se trata de un sistema de ficheros cargado directamente en la memoria RAM, para las operaciones que se ejecutan mientras el disquete de instalaci´ n est´ siendo utilizado. La imagen entera del disquete de instalaci´ n, por ejemplo, puede o a o cargarse en un disco RAM (ramdisk), lo que puede requerir m´ s de un Mbyte de memoria RAM. a Puede suceder que, cuando se intenta iniciar o instalar el software, en lugar de un mensaje de error por falta de memoria, su sistema se bloquee inesperadamente durante el arranque. Si su sistema se cuelga, y ninguna de las explicaciones de la secci´ n anterior parezcan ser la causa, trate de desactivar el disco o RAM. Vea la documentaci´ n de su distribuci´ n para m´ s detalles. o o a Acu´ rdese de que GNU/Linux necesita para s´ mismo, por lo menos 2 Mbytes de memoria RAM para e ı ejecutarse; distribuciones m´ s modernas requieren 4 Mbytes o m´ s. a a El sistema informa de errores como “permission denied44 ”, o “file not found45 ”, durante el arranque Esto es un indicio de que su disquete de instalaci´ n est´ da˜ ado o contiene datos corruptos. Si uso a n ted est´ tratando de iniciar el sistema desde el disquete, (y est´ seguro de que est´ haciendo todo a a a
43 N. 44 N.

del T.: login del T.: permiso denegado 45 N. del T.: fichero no encontrado

86

Obtenci´ n e instalaci´ n de GNU/Linux o o

correctamente), no deber´a estar viendo errores como este. Contacte con su distribuidor de software ı GNU/Linux e indague sobre el problema. Quiz´ pueda obtener otra copia del disquete de arranque si a es necesario. Si usted ha descargado el disco de inicio, trate de construirlo nuevamente en un disquete sano. Posiblemente esto resuelva su problema. El sistema informa del error “VFS: Unable to mount root46 ” cuando se inicia Este mensaje de error indica que el sistema de ficheros ra´z, (que se encuentra en el disquete de arranı que), no puede ser localizado. Esto puede significar que su disquete de arranque est´ corrupto de alguna a manera, o que el sistema no se est´ inicializando correctamente. a Por ejemplo, muchas distribuciones de CD-ROM requieren que se encuentre el CD-ROM en la lectora, cuando se inicia la instalaci´ n. Aseg´ rese de que la lectora de CD-ROM est´ encendida y que funcione o u e correctamente. Tambi´ n es posible que el sistema no pueda localizar su unidad de CD-ROM cuando se e inicia; para m´ s informaci´ n consulte la p´ gina 86. a o a

2.9.2.

Problemas con el hardware

El problema m´ s com´ n cuando se intenta instalar o usar GNU/Linux es una incompatibilidad con el a u hardware Incluso si todo su hardware est´ soportado por GNU/Linux, una configuraci´ n err´ nea o un cona o o flicto con otro dispositivo puede algunas veces ocasionar resultados extra˜ os—los dispositivos pueden no ser n detectados al arrancar, o el sistema se puede colgar. ´ Es importante aislar estos problemas con el hardware si se sospecha que estos pueden ser la fuente de sus problemas. Aislando problemas de hardware Si experimentas alg´ n problema que creas que est´ relacionado con u a el hardware, lo primero que deber´as hacer es intentar aislar el problema. Esto significa eliminar todas las ı posibles variables y (usualmente) desmontar el sistema, pieza a pieza, hasta que el componente es aislado. Esto no es tan terrible como suena. B´ sicamente, se deber´ retirar todo el hardware prescindible del a a equipo, y entonces determinar cu´ l de los dispositivos est´ causando el problema, posiblemente reconectando a a cada dispositivo, uno cada vez. Esto quiere decir que se deber´ retirar todo el hardware excepto la unidad de a disquettes y la tarjeta de v´deo y por supuesto el teclado. Incluso los dispositivos aparentemente inocentes ı como los ratones pueden causar insospechados problemas a no ser que se les considere no esenciales. Por ejemplo, digamos que el sistema se cuelga durante la secuencia de detecci´ n de la placa Ethernet o en el arranque. Quiz´ pueda hipotetizar que hay un conflicto con la tarjeta Ethernet en su computadora. La a manera r´ pida y f´ cil de encontrarlo es extraer la tarjeta Ethernet e intentar arrancar otra vez. Si todo va bien, a a entonces sabe que o (a) la tarjeta Ethernet no tiene soporte en Linux (ver p´ gina 17), o (b) hay un conflicto a de direcci´ n o IRQ con la tarjeta. o “¿Conflicto de direcci´ n o IRQ?” ¿Qu´ diablos significa esto? Todos los dispositivos en un computador o e usan una IRQ, o Interrupt ReQuest line, 47 para decirle al sistema que necesitan algo hecho. Puedes pensar en la IRQ como un cordel del que el dispositivo tira cuando necesita que el sistema se haga cargo de alguna petici´ n pendiente. Si m´ s de un dispositivo est´ tirando del mismo cordel, el n´ cleo no es capaz de determinar o a a u cu´ l de los dispositivos necesita su atenci´ n. Desastre al instante. a o ´ Entonces, hay que asegurarse de que todos los dispositivos instalados usan una unica IRQ. En general la IRQ de un dispositivo puede establecerse mediante jumpers en la tarjeta; mira la documentaci´ n para detalles o espec´ficos del dispositivo. Algunos dispositivos no requiereen el uso de una IRQ, pero se sugiere que si hay ı alguna disponible, se ponga. (Las controladoras SCSI Seagate ST01 y ST02 son buenos ejemplos). En algunoos casos, el n´ cleo proporcionado por tu medio de instalaci´ n est´ configurado para usar ciertas u o a IRQs para ciertos dispositivos. Por ejemplo, la controladora SCSI TMC-950, la controladora de CD-ROM Mitsumi y el driver del bus del rat´ n. Si se quiere usar dos o m´ s de estos dispositivos, habr´ que instalar o a a primero GNU/Linux con s´ lo uno de estos dispositivos activados, despu´ s recompilar el n´ cleo para cambiar o e u la IRQ predeterminada de uno de ellos. (Ver cap´tulo 4 para informaci´ n acerca de recompilar el n´ cleo.) ı o u
46 N. 47 N.

del T.: no se puede montar ra´z ı del T.: l´nea de petici´ n de interrupci´ n ı o o

Cuando se tienen problemas

87

Device ttyS0 (COM1) ttyS1 (COM2) ttyS2 (COM3) ttyS3 (COM4) lp0 (LPT1) lp1 (LPT2) fd0, fd1 (disqueteras 1 y 2) fd2, fd3 (disqueteras 3 y 4)

I/O address 3f8 2f8 3e8 2e8 378 - 37f 278 - 27f 3f0 - 3f7 370 - 377

IRQ 4 3 4 3 7 5 6 10

DMA n/a n/a n/a n/a n/a n/a 2 3

Cuadro 2.8: Preajustes por omisi´ n de dispositivos est´ ndar. o a

´ Otro area donde pueden aparecer conflictos de hardware es con los canales DMA (Direct Memory Ac48 cess) , direcciones de E/S y direcciones de memoria compartida. Todos estos t´ rminos describen mecanise mos a trav´ s de los cuales el sistema se comunica con los dispositivos f´sicos. Algunas tarjetas Ethernet, por e ı ejemplo, usan una direcci´ n compartida de memoria as´ como una IRQ para comunicarse con el sistema. Si o ı ´ cualquiera de estas est´ en conflicto con otros dispositivos, entonces el sistema puede comportarse de maa nera err´ tica. Deber´as ser capaz de cambiar el canal DMA, las direcciones de E/S o memoria compartida a ı para varios dispositivos mediante los jumpers 49 de las tarjetas. (Desafortunadamente, algunos dispositivos no permiten cambiar estos ajustes.) La documentaci´ n para varios dispositivos hardware deber´a especificar la IRQ, el canal DMA, direcci´ n o ı o E/S o direcci´ n de memoria compartida que el dispositivo usa, y c´ mo configurarlo. Otra vez, la manera o o m´ s simple de evitar estos problemas es deshabilitar temporalmente los dispositivos en conflicto hasta que se a tenga tiempo de determinar la causa del problema. La tabla de m´ s abajo es una lista de las IRQ y canales DMA utilizados por varios dispositivos “est´ ndar” a a en la mayor´a de sistemas. Casi todos los sistemas tienen alguno de estos dispositivos, as´ que se puede evitar ı ı el poner la IRQ o el DMA de otro dispositivo en conflicto con estos valores. Problemas reconociendo la controladora de disco serie de mensajes en la pantalla como: Cuando GNU/Linux arranca, se deber´a ver una ı

Console: colour EGA+ 80x25, 8 virtual consoles Serial driver version 3.96 with no serial options enabled tty00 at 0x03f8 (irq = 4) is a 16450 tty03 at 0x02e8 (irq = 3) is a 16550A lp init: lp1 exists (0), using polling driver ...

Aqu´, el n´ cleo est´ detectando los distintos dispositivos hardware presentes en el sistema. En alg´ n punto se ı u a u deber´a ver la l´nea: ı ı
Partition check:

seguida por una lista de las particiones reconocidas, por ejemplo:
Partition check: hda: hda1 hda2 hdb: hdb1 hdb2 hdb3

Si por alguna raz´ n, las unidades de disco o las particiones no se reconocen, entonces no se podr´ acceder a o a ellas de ninguna manera. Hay varias cosas que pueden causar que esto pase: La controladora del disco duro no est´ soportada. a
48 N. 49 N.

del T.: acceso directo a memoria del T.: unas clavijas en la placa

88

Obtenci´ n e instalaci´ n de GNU/Linux o o

Si se tiene una controladora de disco (IDE,SCSI, o lo que sea) que no tenga soporte en Linux, el n´ cleo u no reconocer´ las particiones al arrancar. a Unidad o controladora no configurada incorrectamente. Incluso si la controladora est´ soportada por Linux, quiz´ no se haya configurado apropiadamente. a a (Este es un problema particular para las controladoras SCSI. La mayor´a de las controladoras no SCSI ı deber´an funcionar bien sin ninguna configuraci´ n adicional). Echa un vistazo a la documentaci´ n del ı o o disco duro o la controladora. En particular, muchos discos duros necesitan tener un jumper puesto para ser usado como unidad esclava (el segundo dispositivo en cualquiera del bus IDE primario o secundario) Una prueba para esta clase de condici´ n es arrancar MS-DOS o alg´ n otro sistema operativo o u que se sepa que funcina con la controladora y la unidad de disco. Si se puede acceder al disco duro y la controladora desde otro sistema operativo, entonces no es un problema de la configuraci´ n de o hardware. Consulta la p´ gina 86, arriba, para informarte acerca de la posible resoluci´ n de conflictos de dispoa o sitivos, y la p´ gina 88 m´ s abajo, para m´ s informaci´ n acerca de la configuraci´ n de dispositivos a a a o o SCSI. La controladora est´ configurada apropiadamente, pero no es detectada. a Algunas BIOS de las controladoras SCSI requieren que el usuario especifique informaci´ n acerca de o la controladora al inicio. Hay una descripci´ n de c´ mo forzar la detecci´ n de hardware para estas o o o controladoras en la p´ gina 88. a No se reconoce la geometr´a del disco. ı Algunos sistemas como los IBM PS/Valuepoint, no guardan la informaci´ n de la geometr´a del diso ı co duro en la memoria CMOS, donde Linux espera encontrarla. Tambi´ n ciertas controladoras SCSI e necesitan que se las diga expl´citamente d´ nde encontrar la geometr´a de la unidad para que Linux ı o ı reconozca la disposici´ n del disco. o Muchas distribuciones proporcionan una opci´ n de arranque para especificar la geometr´a del disco. o ı En general, cuando se arranca el medio de instalaci´ n, se puede especificar la geometr´a de la unidad o ı en el indicador de LILO con una orden como:
boot: linux hd=cilindros,cabezas,sectores

donde cilindros, cabezas, y sectores corresponden al n´ mero de cilindros, cabezas y sectores por pista u del disco duro. Tras instalar GNU/Linux, deber´ instalar LILO, permiti´ ndole arrancar desde el disco duro. En este a e momento, se puede especificar la geometr´a de la unidad a LILO, haciendo innecesario introducir la ı geometr´a del disco cada vez que arranca. Consulta el Cap´tulo 4para m´ s informaci´ n acerca de LILO. ı ı a o

Problemas con las controladoras y los dispositivos SCSI Aqu´ se presentan algunos de los problemas ı m´ s comunes con las controladoras SCSI y los dispositivos como CD-ROMs, discos duros, y unidades de a cinta. Si se tiene alg´ n problema con GNU/Linux reconociendo un disco o controladora, siga leyendo. u El COMO de Linux SCSI (ver Ap´ ndice A) contiene mucha informaci´ n util acerca de dispositivos SCSI e o ´ en adici´ n de lo que se muestra aqu´. SCSI puede ser dif´cil de configurar a veces. o ı ı Un dispositivo SCSI se detecta en todos los posibles IDs. Esto es causado al poner el dispositivo con el mismo identificador que la controladora. Es necesario cambiar el ajuste del jumper para que el dispositivo use una direcci´ n diferente que la controladora. o Linux informa de errores, incluso si se sabe que los dispositivos est´ n libres de errores. a Esto puede ser causado por cables defectuosos o de baja calidad o una mala terminaci´ n de la cadena o SCSI. Si el bus SCSI no est´ terminado a ambos extremos, se pueden producir errores accediendo a los a dispositivos SCSI. Si se tiene alguna duda, siempre revise los cables.

Cuando se tienen problemas

89

Los dispositivos SCSI informan de errores “timeout”. Los errores de tiempo de espera agotado, normalmente son producidos por un conflicto con una IRQ, DMA o direcci´ n de dispositivo. Revisa las interrupciones de la controladora, a ver si est´ n en su sitio. o a Las controladoras SCSI que usan BIOS no son detectadas. La detecci´ n de las controladoras que usan BIOS fallar´ si la BIOS est´ deshabilitada, o si la firma del o a a controlador no la reconoce el n´ cleo. Consulta el C´ MO Linux SCSI, disponible desde las fuentes de u o ´ informaci´ n disponibles en el Ap´ ndice A, para m´ s informaci´ n acerca de esto. o e a o Las controladoras que usan memoria de E/S mapeada no funcionan. Esto ocurre cuando los puertos de E/S mapeados a memoria se cachean incorrectamente. Hay dos soluciones: una es marcar el espacio de direccionamiento de la tarjeta como no cacheable en los ajustes de la CMOS. La segunda soluci´ n es deshabilitar toda la cach´ . o e Mientras se particiona, se obtiene una advertencia tipo “cylinders > 1024”, o no se puede iniciar desde una partici´ n usando cilindros numerados por encima del 1023. o La BIOS limita el numero de cilindros a 1024, y cualquier partici´ n que use cilindros numerados por o encima de esto no ser´ accasible por la BIOS. Esto s´ lo afecta a Linux al arranque; una vez que el a o sistema ha arrancado se podr´ acceder a la partici´ n. Las opciones son o arrancar Linux desde un a o disquete, o arrancar desde una partici´ n usando cilindros por debajo del 1024. o Al arrancar no se reconocen unidades de CD-ROM u otros dispositivos extra´bles. ı Intenta arrancando con un CD-ROM (o disco) en la unidad. Esto es necesario en algunos dispositivos. Si no se reconoce su controladora SCSI, quiz´ se necesite forzar la detecci´ n de hardware al arrancar. a o Esto es particularmente importante para las controladoras SCSI que carecen de BIOS. Muchas distribuciones permiten especificar la IRQ de la controladora y la direcci´ n de memoria compartida cuando se arranca el o medio de instalaci´ n. Por ejemplo, si se usa una controladora TMC-8xx, se podr´ introducir: o a
boot: linux tmx8xx=interrupci´ n,direcci´ n o o

en el indicador de inicio de LILO, donde interrupci´ n es la IRQ de la controladora, y direcci´ n es la direcci´ n o o o de memoria compartida. Esto es o no posible dependiendo de la distribuci´ n de GNU/Linux; consulta la o documentaci´ n para m´ s detalles. o a

2.9.3.

Problemas instalando el software

Actualmente instalar el software GNU/Linux deber´a estar libre de problemas si se tiene suerte. Los ı ´ unicos problemas que quiz´ se puedan experimentar deber´an ser los relacionados con medios de instalaci´ n a ı o defectuosos o la falta de espacio en los sistemas de ficheros de su GNU/Linux. aqu´ hay una lista de estos ı problemas comunes. El sistema informa de “read error50 ”, “file not found51 ”, u otros errores mientras se intenta instalar el software Esto indica un problema con el medio de instalaci´ n. Si se instala desde disquete, hay que tener en o cuenta que los disquetes son muy susceptibles de tener errores de este tipo. Es conveniente asegurarse de utilizar un disquete nuevo de marca, reci´ n formateado. Si se tiene una particion de MS-DOS en el e disco, muchas distribuciones de GNU/Linux permiten la instalaci´ n de software desde disco duro. Esto o puede ser m´ s r´ pido y seguro que usar disquetes. a a Si se utiliza un CD-ROM, hay que asegurarse de verificar el disco buscando ara˜ azos, polvo o otros n problemas que puedan causar errores en el medio.
50 N. 51 N.

del T.: error de lectura del T.: fichero no encontrado

90

Obtenci´ n e instalaci´ n de GNU/Linux o o

La causa del problema puede ser que el medio est´ en el formato incorrecto. Muchas distribuciones de e GNU/Linux requieren que los disquetes est´ n formateados en el formato MS-DOS de alta densidad. e El disquete de arranque es la excepci´ n; no est´ en formato MS-DOS en la mayor´a de los casos) Si o a ı todo lo dem´ s falla, mejor obtener un nuevo conjunto de disquetes, o rehacer los disquetes (utilizandos a disquetes nuevos) si se descarg´ el software usted mismo. o El sistema informa de errores como “tar: read error52 ” o “gzip: not in gzip format53 ” Este problema est´ causado usualmente por ficheros corrompidos en el medio de instalaci´ n. En otras a o palabras, los disquetes pueden estar libres de errores, pero los datos en los disquetes est´ n de alg´ n a u modo corrompidos. Si se descarg´ el software de GNU/Linux usando modo texto en vez de modo o binario, entonces los ficheros estar´ n corrompidos, y el programa de instalaci´ n no podr´ leerlos. a o a El sistema informa de errores como “device full54 ” mientras se instala Este es un s´ntoma claro de que se ha acabado el espacio cuando se instala el software. No todas ı las distribuciones de GNU/Linux pueden solucionar el desastre limpiamente; no se podr´ abortar la a instalaci´ n y esperar que el sistema funcione. o La soluci´ n pasa por volver a crear el sistema de ficheros (con mke2fs) que borra el software paro cialmente instalado. Se puede intentar una reinstalaci´ n, seleccionando esta vez una menor cantidad o de paquetes a instalar. En otros casos, quiz´ se necesite empezar completamente desde el principio, y a replantearse el particionado y los tama˜ os de los sistemas de ficheros. n El sistema informa de errores como “read intr: 0x1055 ” mientras se accede al disco duro Esto usualmente indica que hay bloques defectuosos en la unidad. Sin embargo, si se reciben estos errores mientras se usa mkswap o mke2fs, el sistema puede estar teniendo problemas accediendo a la unidad. Esto puede ser o un problema de hardware (ver p´ gina 86), o puede quiz´ ser un caso de una a a geometr´a mal especificada. Si se utiliz´ la opci´ n ı o o
hd=cylindros,cabezas,sectores

en tiempo de arranque, para forzar la detecci´ n de la geometr´a de la unidad, y se especific´ incorreco ı o tamente la geometr´a, se puede ser candidato a este problema. Esto tambi´ n puede ocurrir cuando la ı e geometr´a de la unidad est´ especificada incorrectamente en la CMOS del sistema. ı a El sistema informa de errores como “file not found56 ” o “permission denied57 ” Este problema puede ocurrir cuando no todos los ficheros necesarios se encuentran presentes en el medio de instalaci´ n (ver el siguiente p´ rrafo) o si hay un problema de permisos con el software de o a instalaci´ n. Por ejemplo, se sabe que algunas distribuciones de GNU/Linux tienen errores en el prograo ´ ma de instalaci´ n mismo. Estas normalmente se solucionan r´ pidamente, y son muy infrecuentes. Si o a se sospecha que el software de la distribuci´ n contiene errores, y se est´ seguro de que no se ha hecho o a nada equivocadamente, contacte con el mantenedor de la distribuci´ n para informar del error. o Si se tienen otros errores extra˜ os cuando se instala GNU/Linux (especialmente si descarg´ el software n o usted mismo), aseg´ rese de que se obtuvo todos los ficheros necesarios en la descarga. Por ejemplo, alguna u gente utiliza la orden FTP
mget *.*
52 N. 53 N.

del T.: del T.: 54 N. del T.: 55 N. del T.: 56 N. del T.: 57 N. del T.:

error de lectura no en formato gzip dispositivo lleno lectura interrumpida fichero no encontrado permiso denegado

Cuando se tienen problemas

91

cuando descarga el software de GNU/Linux por FTP. Esto descargar´ unicamente aquellos ficheros que a´ contengan un punto “.” en sus nombres de fichero; si alg´ n fichero no tiene el punto “.”, no se descargar´ . u a El comando correcto para descargarlo todo en este caso es:
mget *

La mejor advertencia es repasar los pasos que se han dado cuando algo va mal. Qu´z´ se piense que se ı a ha hecho todo correctamente, cuando de hacho se olvid´ un peque˜ o pero importante paso en alg´ n lugar o n u a lo largo del proceso. En muchas ocasiones, volver a descargar y reinstalar el software puede resolver el problema. ¡No se d´ coscorrones frente a un muro m´ s de lo necesario! e a Adem´ s, si GNU/Linux se cuelga sin esperarlo durante la instalaci´ n, quiz´ haya un problema de harda o a ware de alguna clase. Consulte la p´ gina 86 para m´ s datos. a a

2.9.4.

Problemas despu´ s de instalar GNU/Linux e

´ Se ha pasado toda una tarde instalando GNU/Linux. Con el fin de dejar espacio para este, ha tenido que reducir sus particiones de MS-DOS y de OS/2, y con l´ grimas en sus ojos, borrar sus copias de SimCity y a Wing Commander. Reinici´ el sistema pero no pasa nada; o peor a´ n, algo pasa, pero no es lo que deber´a o u ı pasar. ¿Qu´ se debe hacer ahora? e En la Secci´ n 84, se han cubierto algunos de los problemas m´ s comunes que pueden ocurrir al iniciar un o a sistema GNU/Linux nuevo desde los disquetes de instalaci´ n —de los cu´ les algunos son puestos en pr´ ctica o a a ´ aqu´. Adem´ s de esos, se puede ser una v´ctima de alguna de las siguientes dificultades. ı a ı Problemas al iniciar GNU/Linux desde el disquete Si se usa un disquete para iniciar Linux, cuando el sistema arranca tal vez necesite especificar la ubicaci´ n de la partici´ n ra´z de GNU/Linux. Esto ser´ realmeno o ı a te necesario, si se est´ usando el disquete original de la instalaci´ n, y no el disquete com´ n, creado durante a o u la misma. ı u Mientras se inicia el disquete apriete las teclas Shift o Ctrl . Esto deber´a mostrarle un men´ de inicio. Presione la tecla Tab para ver una lista con las opciones disponibles. Por ejemplo, muchas distribuciones le permitir´ n escribir a
boot: linux hd=partici´ n o

en dicho men´ de inicio, en donde partici´ n es el nombre de la partici´ n ra´z de GNU/Linux, por ejemplo, u o o ı /dev/hda2. Para m´ s informaci´ n, consulte la documentaci´ n de su distribuci´ n. a o o o Problemas al iniciar GNU/Linux desde el disco duro Si ha optado por instalar LILO, en lugar de crear un disquete de arranque, deber´a ser capaz de iniciar Linux desde el disco duro. De todos modos, el ı procedimiento de instalaci´ n autom´ tico de LILO que poseen muchas distribuciones, no siempre es perfecto. o a La instalaci´ n pudo haber usado informaci´ n incorrecta de su esquema de particiones, haciendo que LILO o o se configure de forma incorrecta. Si es as´, entonces se necesitar´ reinstalar LILO para conseguir que todo ı a funcione bien. La instalaci´ n de LILO se analiza en el Cap´tulo 4. o ı El Sistema informa “Drive not bootable---Please insert system disk.58 ” Esto es indicio de que el registro maestro de arranque del disco duro (MBR), est´ mal por alguna causa. a En la mayor´a de los casos, esto no es un problema da˜ ino y por lo general todos los dem´ s datos de su ı n a disco deber´an estar intactos. Hay varias causas para que esto haya sucedido: ı 1. Mientras estuvo reparticionando su disco usando fdisk, se pudo haber borrado la partici´ n que o estaba marcada como “activa”. MS-DOS y otros sistemas operativos intentan siempre arrancar la partici´ n “activa” cuando se inicia el sistema, (a Linux le da igual si la partici´ n es “activa” o no o o lo es). Una de las maneras para solucionar este problema, puede ser iniciar MS-DOS desde un disquete y ejecutar FDISK.EXE, para establecer como activa, la partici´ n de MS-DOS. o Tambi´ n podr´ tratar con el siguiente comando (en versiones de MS-DOS 5.0 o posteriores) : e a
58 N.

del T.: Disco no iniciable—por favor inserte disco de sistema.

92

Obtenci´ n e instalaci´ n de GNU/Linux o o

FDISK /MBR

Este comando intentar´ reconstruir el registro maestro de arranque del disco duro para que se a inicie MS-DOS, borrando a LILO. Si usted no posee MS-DOS, entonces necesitar´ arrancar a GNU/Linux desde un disquete e intentar instalar LILO nuevamente. 2. Es muy probable que la causa de este error tenga que ver con el hecho de haber creado una partici´ n MS-DOS usando la versi´ n fdisk de GNU/Linux, o viceversa. Se deber´an crear paro o ı ticiones MS-DOS solamente utilizando la versi´ n de FDISK.EXE de MS-DOS. (Esto se aplica o tambi´ n para otros sistemas operativos distintos de MS-DOS). La mejor soluci´ n es, empezar e o desde cero y reparticionar el disco correctamente, o simplemente borrar y crear nuevamente las particiones corruptas, siempre con la versi´ n correcta de fdisk. o Pudo haber sucedido que el proceso de instalaci´ n de LILO haya fallado. Si fuera as´, usted o ı deber´a iniciar GNU/Linux usando el disquete de arranque (si es que posee uno), o desde el medio ı de instalaci´ n original. En cualquiera de los dos casos, usted deber´a proporcionar opciones para o ı especificar la partici´ n ra´z que GNU/Linux debe usar para arrancar. Presione las teclas Shift o ı or Ctrl al arrancar el sistema, y en el men´ presione Tab para ver las opciones disponibles. u

3.

Cuando el sistema arranca desde el disco duro, se inicia MS-DOS (u otro sistema operativo) en vez de GNU/Linux Antes que nada, aseg´ rese de que realmente ha instalado LILO durante el proceso de instalaci´ n de u o GNU/Linux. Si no es as´, entonces el sistema seguir´ arrancando MS-DOS (o el sistema operativo que ı a usted posea), cuando se intente cargar desde el disco duro. Para que GNU/Linux pueda iniciarse desde el disco duro, usted necesitar´ instalar LILO (see Chapter 4). a Si por otro lado, ha instalado LILO, pero arranca otro sistema operativo en lugar de GNU/Linux, puede ser que se tenga configurado LILO para que arranque ese sistema operativo por defecto. Para que LILO se presente en el arranque, apriete las teclas Shift o Ctrl , y en el indicador apriete Tab . Esto deber´a mostrarle una lista con los sistemas operativos disponibles. Elija la opci´ n apropiada ı o (usualmente “linux”)) para iniciar GNU/Linux. Si desea tener a GNU/Linux como el sistema operativo de arranque por defecto, tendr´ que reinstalar a LILO. Vea el cap´tulo 4. ı Asimismo, puede ser posible que usted haya intentado instalar LILO, pero que el procedimiento de instalaci´ n haya fallado de alguna manera. Vea el asunto anterior. o Problemas al registrarse en GNU/Linux ´ de ordenes de registro, login, similar a
linux login:

Despu´ s de iniciar Linux, ser´ presentado ante un indicador e a

En este punto, tanto la documentaci´ n de su distribuci´ n como el sistema, le dir´ n qu´ debe hacerse. En muo o a e chas distribuciones, simplemente tendr´ que registrarse como root, sin ninguna contrase˜ a. Otros nombres a n de usuario posibles son guest o test. Generalmente, un sistema GNU/Linux reci´ n instalado, no nos deber´a pedir una contrase˜ a en el indicae ı n ´ rdenes de login inicial. De cualquier modo, si el sistema le pide una, puede que haya un problema dor de o con su nuevo sistema. Antes que nada, trate de usar una contrase˜ a equivalente al nombre de usuario; por n ejemplo, si usted ha utilizado root para ingresar, use “root” como contrase˜ a. n Si sencillamente usted no puede entrar, es muy posible que exista un problema. Consulte la documentaci´ n de su distribuci´ n: el nombre de usuario y la contrase˜ a para entrar pueden estar perdidos por ah´. o o n ı Tambi´ n pudo haber sucedido, que durante el proceso de instalaci´ n, el sistema le haya mostrado el nombre e o de usuario y la contrase˜ a para ingresar por primera vez, o que ambos datos est´ n justo delante suyo, en el n e indicador de login. Otra de las causas de esta dificultad puede ser un problema con la instalaci´ n del programa login o de GNU/Linux y sus ficheros de inicio. Si es as´, necesitar´ reinstalar (por lo menos algunas partes de) ı a GNU/Linux, o arrancar el programa de instalaci´ n e intentar resolver el problema a mano—vea el Cap´tulor 4 o ı para algunas sugerencias.

Cuando se tienen problemas

93

Problemas al usar el sistema Si se ha logrado ingresar exitosamente al sistema, podr´ ver un indicador a ´ del int´ rprete de ordenes (shell), (como por ejemplo “#” o “$”), y podr´ felizmente, deambular por su nuevo e a sistema. De todos modos, hay algunos problemas iniciales, que a veces pueden complicarnos la vida. El m´ s com´ n de estos inconvenientes es el permiso incorrecto que se tiene sobre algunos ficheros o a u directorios. Esto puede ser la causa del mensaje de error
Shell-init: permission denied

que se nos presente despu´ s de ingresar al sistema, (de hecho, cuando veamos cualquier mensaje que diga e algo como “permission denied”59 , podremos estar seguros de que se trata de un problema con los permisos de los ficheros) En casi todos los casos, se puede resolver este problema simplemente usando chmod, para ajustar los permisos de los ficheros o directorios adecuados. Por ejemplo, en algunas distribuciones de GNU/Linux se ha usado (incorrectamente) el modo de fichero 60 0644 para el directorio ra´z (/). El arreglo para esto fue ı introducir la orden
# chmod 755 /

como root. Sin embargo, para poder ejecutar dicho comando, se necesitar´ arrancar el sistema desde el a disquete de instalaci´ n, y montar el sistema de ficheros ra´z de GNU/Linux a mano —lo que puede ser una o ı tarea algo dura para los m´ s principiantes. a Conforme utilice el sistema, podr´ encontrar lugares de su sistema, en donde los permisos para los ficheros a y directorios sean incorrectos, o programas que no se ejecuten como se los configur´ . ¡Bienvenido al mundo o de GNU/Linux! Mientras que la mayor´a de las distribuciones pr´ cticamente no dan problemas, muy pocas de ı a ellas son perfectas. No queremos cubrir aqu´ todos estos problemas. En su lugar, le ayudaremos a resolver la ı mayor´a de estos obst´ culos de configuraci´ n a lo largo del libro, ense˜ andole c´ mo encontrarlos y repararlos ı a o n´ o por usted mismo. En el Cap´tulo 1, se ha comentado parte de esta filosof´a. En el Cap´tulo 4, se dar´ n algunas ı ı ı a pistas para arreglar muchos de estos frecuentes problemas de configuraci´ n. o

59 N. 60 N.

del T.: permiso denegado del T.: file mode

94

Obtenci´ n e instalaci´ n de GNU/Linux o o

Cap´tulo 3 ı

Tutorial de GNU/Linux
3.1. Introducci´ n o
Si es nuevo en UNIX y GNU/Linux, puede que est´ un poco intimidado por el tama˜ o y la aparente e n complejidad del sistema que tiene delante suya. Este cap´tulo no profundiza en muchos detalles ni cubre ı temas avanzados. Por contra, queremos que aterrice corriendo. Aqu´ se asume que posee pocos conocimientos, salvo quiz´ s algo de familiaridad con ordenadores persoı a nales, y MS-DOS. Sin embargo, incluso si no es un usuario de MS-DOS, deber´a ser capaz de entender todo ı esto. A primera vista, GNU/Linux se parece mucho a MS-DOS—despu´ s de todo, hay partes de MS-DOS e basadas en el sistema operativo CP/M, que a su vez se basaba en UNIX. Sin embargo, s´ lo las caracter´sticas o ı m´ s superficiales de GNU/Linux se parecen a MS-DOS. Incluso si es completamente nuevo en el mundo del a PC, este tutorial deber´a serle de ayuda. ı Y, antes de que comencemos: No tenga miedo a experimentar El sistema no le morder´ . No se puede a destrozar todo s´ lo por trabajar con el sistema. GNU/Linux tiene incorporadas caracter´sticas de seguridad o ı para evitar que usuarios ”normales”da˜ en ficheros que sean imprescindibles para el sistema. Aun as´, lo peor n ı que puede ocurrir es que borre todos o algunos de sus ficheros y tenga que reinstalar el sistema. As´ que, en ı este punto, no tiene nada que perder.

3.2. Conceptos b´ sicos de GNU/Linux a
GNU/Linux es un sistema operativo multitarea y multiusuario, lo que significa que mucha gente puede ejecutar diferentes aplicaciones en un ordenador al mismo tiempo. En esto se diferencia de MS-DOS, donde s´ lo una persona puede usar el sistema en un momento dado. Bajo GNU/Linux, para identificarse en el o sistema, debe registrarse “log in”, lo que requiere que introduzca su nombre de usuario login name (el nombre que el sistema usa para identificarle), y que introduzca su password, que es su contrase˜ a personal n para acceder a su cuenta. Como s´ lo usted conoce su contrase˜ a, nadie m´ s puede acceder al sistema con su o n a nombre. En los sistemas UNIX tradicionales, los administradores del sistema le asignan un nombre de usuario y una contrase˜ a inicial cuando se le da una cuenta en el sistema. De todos modos, como en GNU/Linux n usted es el administrador del sistema, usted debe poner en marcha su propia cuenta antes de que pueda acceder a ella. Para las pr´ ximas discusiones, usaremos el nombre de usuario imaginario, “larry.” o ´ Adem´ s, cada sistema tiene asignado un nombre de host . Es este nombre de ”host” le da nombre a la a m´ quina adem´ s de car´ cter y encanto. El ”host name” se usa para identificar m´ quinas individuales en una a a a a red, pero incluso si su m´ quina no est´ conectada a una, deber´a tener un nombre ”host”. Para los ejemplos a a ı siguientes, el nombre ”host” de la m´ quina es “mousehouse”. a

95

96

Tutorial de GNU/Linux

3.2.1.

Creaci´ n de una cuenta o

Antes de que pueda usar un sistema GNU/Linux reci´ n instalado, debe configurar una cuenta para s´ mise ı mo. No suele ser una buena idea usar la cuenta root para un uso diario; deber´a reservar la cuenta root ı ´ para ejecutar ordenes privilegiados y para el mantenimiento del sistema, como veremos m´ s adelante. a Para crear una cuenta para usted mismo, acceda al sistema como root y use el orden useradd o adduser. Vea Section 4.6 para informaci´ n acerca de este procedimiento. o

3.2.2.

Registrarse en el sistema

A la hora de entrar en el sistema, ver´ algo como esto: a
mousehouse login:

e ı Introduzca su nombre y pulse la tecla Enter . Nuestro h´ roe, larry, escribir´a:
mousehouse login: larry Password:

Seguidamente, introduzca su contrase˜ a. Los car´ cteres que introduzca no ser´ n mostrados en la pantalla, n a a as´ que escriba con cuidado. Si se equivoca con la contrase˜ a, ver´ : ı n a
Login incorrect

y tendr´ que probar de nuevo. a Una vez que haya introducido correctamente su nombre y contrase˜ a, usted ha entrado oficialmente en el n sistema, y podr´ comenzar a trabajar. a

3.2.3.

Consolas Virtuales

La consola del sistema es el monitor y el teclado conectados directamente al sistema, (debido a que GNU/Linux es un sistema operativo multiusuario, puede tener otros terminales conectados a los puertos serie ´ de su sistema, pero estos no constituir´ n la consola). GNU/Linux, como otras versiones de UNIX, facilita el a acceso a consolas virtuales (o CVs), que le permiten tener m´ s de una sesi´ n en la consola a la vez. a o Para comprobar esto, entre en el sistema. Entonces, pulse Alt-F2 . Deber´a ver login: de nuevo. ı Usted est´ viendo la segunda consola virtual. Para cambiar a la primera CV, pulse Alt-F1 . Voila!. Ha a vuelto a su primera sesi´ n. o Un sistema GNU/Linux reci´ n instalado le permite acceder s´ lo a las primeras seis (m´ s o menos) CVs, e o a e presionando de Alt-F1 hasta Alt-F4 , o hasta cuantas CVs est´ n configuradas en su sistema. Es posible habilitar hasta 12 CVs —una para cada tecla de funci´ n en su teclado. Como puede ver, el uso de CVs puede o ser muy poderoso porque puede trabajar en diferentes sesiones a la vez. Aunque el uso de CVs es algo limitado (despu´ s de todo, s´ lo puede ver una CV a la vez), deber´a e o ı permiterle hacerse una idea de las capacidades multiusuario de GNU/Linux. Mientras est´ trabajando en la e primera CV, puede cambiar a la segunda CV y trabajar en otra cosa diferente.

3.2.4.

´ ´ Int´ rpretes de ordenes y ordenes e

Para la mayor´a de sus exploraciones en el mundo de GNU/Linux, usted le hablar´ al sistema a trav´ s ı a e ´ ´ de un shell (int´ rprete de ordenes), un programa que recibe las ordenes que escribe y los traduce en inse trucciones al sistema operativo. Esto se puede comparar al programa COMMAND.COM de MS-DOS, que hace ´ ´ esencialmente lo mismo. Un int´ rprete de ordenes es unicamente un interfaz para GNU/Linux. Hay mue chos interfaces disponibles —como el sistema X Window, que le permite ejecutar orden usando el rat´ n y el o teclado. ´ ´ A la vez que entra en el sistema, este inicia el int´ rprete de ordenes, y usted ya puede comenzar a introducir e ´ ´ ordenes. Aqu´ tenemos un ejemplo r´ pido. Larry entra en el sistema y el indicador “ indicador de ordenes” ı a ´ ´ del int´ rprete de ordenes queda a la espera de ordenes. e

Conceptos B´ sicos de GNU/Linux a

97

mousehouse login: larry Password: larry’s password Welcome to Mousehouse! /home/larry#

´ ´ La ultima l´nea de este texto es el indicador del int´ rprete de ordenes, comunicando que est´ listo para ı e a ´ recibir ordenes. (M´ s adelante veremos m´ s cosas acerca del indicador). Probemos a decirle al sistema que a a haga algo interesante:
/home/larry# make love make: *** No way to make target ‘love’. Stop. /home/larry#

Bien, como podemos ver, make es el nombre de un programa que hay en el sistema, y el int´ rprete de e ´ ordenes ejecut´ este programa cuando le dimos el orden. (Desgraciadamente, el sistema se mostr´ antip´ tico.) o o a Esto nos lleva a la siguiente pregunta: ¿Qu´ es un orden? ¿Qu´ ocurre cuando escribe “make love”? e e ´ La primera palabra en la l´nea de ordenes, ”make”, es el nombre dla orden que debe ser ejecutado. Todo lo ı ´ dem´ s en la l´nea de ordenes se toma como argumentos para este orden. Ejemplo: a ı
/home/larry# cp foo bar

El nombre de este orden es “cp”, y los argumentos son “foo” y bar”. ´ Cuando introduce un orden, el int´ rprete de ordenes hace varias cosas. Primero, comprueba la orden e ´ ´ para ver si es interno al int´ rprete de ordenes. (Es decir, un orden que el int´ rprete de ordenes sabe ejecutar e e ´ ´ por s´ mismo. Hay muchos de estos ordenes, y los veremos m´ s adelante). El int´ rprete de ordenes tambi´ n ı a e e comprueba si la orden es un alias, o nombre sustitutorio, para otro orden. Si no se cumple ninguna de estas ´ dos condiciones, el int´ rprete de ordenes busca un programa, en el disco, que tenga el nombre especificado. e ´ ´ Si tiene exito, el int´ rprete de ordenes ejecuta el programa, mand´ ndole los argumentos especificados en la e a ´ l´nea de ordenes. ı ´ En nuestro ejemplo, el int´ rprete de ordenes busca un programa llamado make, y lo ejecuta con el are gumento love. El orden make es un programa usado a menudo para compilar grandes programas, y toma como argumentos el nombre de un ”objetivo”para compilar. En el caso de ”make love”, le dijimos a make que compilara el objetivo love. Como make no puede encontrar un objetivo con ese nombre, falla con un ´ divertido mensaje de error, y nos lleva de nuevo al indicador del int´ rprete de ordenes. e ´ ´ ¿Qu´ ocurre si escribimos una orden en el int´ rprete de ordenes y este no puede encontrar un programa e e que tenga el nombre especificado? Bien, podemos probar lo siguiente:
/home/larry# eat dirt eat: command not found /home/larry#

´ Bastante simple, si el sistema no puede encontrar un programa con el nombre dado en la l´nea de ordenes ı (aqu´, ”eat”), imprime un mensaje de error. A menudo se encontrar´ con ese mensaje de error si se equivoca ı a con la orden (por ejemplo, si hubiera escrito “mkae love” en lugar de “make love”).

3.2.5.

Salida del sistema

´ Antes de que sigamos, deber´amos decirle c´ mo salir del sistema. En el indicador del int´ rprete de ordeı o e nes, use la orden
/home/larry# exit

´ para salir del sistema. Hay otras formas de salir, pero esta es la m´ s facilita. a

98

Tutorial de GNU/Linux

3.2.6.

˜ Cambiar la contrasena

Tambi´ n deber´a saber c´ mo cambiar su contrase˜ a. El orden passwd le pide su antigua contrase˜ a y e ı o n n una nueva. Adem´ s le pide que vuelva a introducir la nueva contrase˜ a para darla por v´ lida. Tenga cuidado a n a de no olvidar su contrase˜ a—si lo hace, tendr´ que pedirle al administrador del sistema que la reinicie por n a usted. (Si usted es el administrador del sistema, vea la p´ gina 142.) a

3.2.7.

Ficheros y directorios

Bajo la mayor´a de sistemas operativos (incluyendo GNU/Linux), existe el concepto de fichero, que es ı simplemente un conjunto de informaci´ n con un nombre (llamado nombre de fichero). Ejemplos de ficheros o podr´an ser su examen de historia, un correo electr´ nico (e-mail), o un programa que pueda ser ejecutado. ı o B´ sicamente, cualquier cosa almacenada en el disco es guardado en un fichero individual. a Los ficheros se identifican por sus nombres de fichero. Por ejemplo, el fichero que contiene su examen de historia podr´a estar almacenado con el nombre de fichero history-paper. Estos nombres normalmente ı identifican el fichero y su contenido de una forma que tenga alg´ n significado para usted. No existe ning´ n u u formato est´ ndar para los nombres de fichero, al contrario de lo que ocurre bajo MS-DOS y algunos otros a sistemas operativos; en general, un nombre de fichero puede contener cualquier caracter (excepto el car´ cter a /—vea la discusi´ n acerca de los nombres de las rutas, m´ s adelante) y est´ limitado a 256 car´ cteres de o a a a longitud. Junto con el concepto de ficheros tenemos el concepto de directorios. Un directorio es una colecci´ n o de ficheros. Puede entenderse como una ”carpeta” que contiene muchos ficheros diferentes. Los directorios tienen nombres, con los que se les identifica. Adem´ s, los directorios se mantienen en una estructura de tipo a ´ arbol; es decir, los directorios pueden contener otros directorios. Por tanto, puede referirse a un fichero por su nombre de ruta, que est´ compuesto del nombre del fia chero, precedido por el nombre del directorio que lo contiene. Por ejemplo, supongamos que Larry tiene un directorio llamado papers, que contiene tres ficheros: history-final, english-lit, and masters-thesis. Cada uno de estos tres ficheros contiene informaci´ n para tres proyectos de Larry. Para o referirnos al fichero english-lit, Larry puede especificar el nombre de la ruta del fichero:
papers/english-lit

´ Como puede ver, el directorio y el nombre del fichero est´ n separados por una unica barra (/). Por esta a raz´ n, los nombres de los ficheros no pueden contener el car´ cter /. Los usuarios de MS-DOS encontrar´ n o a a familiar est´ convenci´ n, aunque en el mundo de MS-DOS se usa la barra invertida (\) en su lugar. a o Como ya mencionamos, los directorios pueden anidarse unos en otros. Por ejemplo, supongamos que hay otro directorio en papers, llamado notes. El directorio notes contiene los ficheros math-notes y cheat-sheet. El nombre de la ruta del fichero cheat-sheet ser´a ı
papers/notes/cheat-sheet

Por tanto, el nombre de la ruta es realmente como la ruta hasta el fichero. El directorio que contiene un subdirectorio dado es conocido como directorio padre. En nuestro caso, el directorio papers es el padre del directorio notes.

3.2.8.

´ El arbol de directorios

La mayor´a de los sistemas GNU/Linux usa una distribuci´ n de ficheros est´ ndar para los ficheros de ı o a forma que los recursos del sistema y los programas puedan ser f´ cilmente localizados. Esta distribuci´ n a o ´ forma el arbol de directorios, que comienza en el directorio “/”, tambi´ n conocido como ”directorio ra´z”. e ı Directamente debajo de / est´ n importantes subdirectorios: /bin, /etc, /dev, y /usr, entre otros. Esa tos directorios contienen otros directorios que contienen ficheros de configuraci´ n del sistema, programas, o etc´ tera. e En particular, cada usuario tiene un directorio de usuario, que es el directorio preparado para que el usuario almacene sus propios ficheros. En los ejemplos de arriba, todos los ficheros de Larry (como

Conceptos B´ sicos de GNU/Linux a

99

´ Figura 3.1: Un t´pico arbol de directorio GNU/Linux (resumido). ı cheat-sheet y history-final) est´ n contenidos en el directorio de usuario de Larry. Normalmena te, los directorios de usuario est´ n contenidos bajo /home, y se nombran con el nombre de usuario al que a pertenecen. El directorio de usuario de Larry es /home/larry. ´ El diagrama en la P´ gina 99 muestra un arbol de directorios de ejemplo, que podr´a darle una idea de a ı ´ c´ mo se organiza el arbol de directorios de su sistema. o

3.2.9.

Directorio de trabajo actual

´ En cualquier momento, se asume que los ordenes que introduce se refieren a su directorio de trabajo actual. Puede entender directorio de trabajo como el directorio en el que ”se encuentra” en ese momento. Cuando accede por primera vez al sistema, su directorio de trabajo se configura como su directorio de usuario ´ —/home/larry, en nuestro caso. Cuando haga referencia a un fichero, puede referirse a el en relaci´ n a o su directorio de trabajo actual, en vez de especificar el nombre de la ruta completa del fichero. Aqu´ tenemos un ejemplo. Larry tiene el directorio papers, y papers contiene el fichero ı history-final. Si Larry quiere ver el contenido de este fichero, puede usar la orden
/home/larry# more /home/larry/papers/history-final

La orden more simplemente muestra por pantalla un fichero, pantalla a pantalla. Como el directorio de trabajo actual de Larry es /home/larry, se puede referir al fichero en relaci´ n con su localizaci´ n actual o o usando la orden
/home/larry# more papers/history-final

Si comienza el nombre del fichero (como papers/final) con un car´ cter diferente de /, se est´ refia a riendo al fichero en t´ rminos relativos a su directorio de trabajo actual. Esto se conoce como nombre de ruta e relativo. Por otra parte, si comienza el nombre del fichero con una /, el sistema lo interpreta como el nombre de la ruta absoluta —es decir, un nombre de ruta que incluye la ruta completa hasta el fichero, comenzando en el directorio ra´z, /. Esto se conoce como nombre de ruta absoluta. ı

100

Tutorial GNU/Linux

3.2.10.

Refiri´ ndose al directorio inicial e

Bajo tcsh y bash1 puede especificar su directorio de usuario con el car´ cter de la virgulilla2 (˜). Por a ejemplo, la orden
/home/larry# more ˜/papers/history-final

es equivalente a
/home/larry# more /home/larry/papers/history-final

´ El int´ rprete de ordenes reemplaza el car´ cter ˜ por el nombre de su directorio de trabajo. e a Puede especificar tambi´ n los directorios de usuario de otros usuarios con el car´ cter virgulilla. La ruta e a ´ ˜karl/letters es expandido a /home/karl/letters por el int´ rprete de ordenes (si /home/karl e es el directorio de usuario de Karl). El uso de la virgulilla es simplemente un atajo; no existe ning´ n directorio u ´ llamado ˜—es s´ lo una ayuda proporcionada por el int´ rprete de ordenes. o e

3.3. Primeros Pasos en GNU/Linux
´ Antes de que empecemos, es importante saber que todos los nombres de ficheros y ordenes en un sistema GNU/Linuxson case-sensitive (que diferencian entre may´ sculas y min´ sculas a diferencia de sistemas u u operativos como MS-DOS). Por ejemplo, la orden make es muy diferente de Make o MAKE. Lo mismo se cumple para nombres de ficheros y directorios.

3.3.1.

Movi´ ndonos por la estructura de directorios. e

Ahora que puede entrar en el sistema y que sabe c´ mo referenciar los ficheros usando las rutas de los o mismos, ¿c´ mo puede cambiar el directorio de trabajo actual, para hacer la vida m´ s f´ cil? o a a La orden para moverse por la estructura de directorios es cd, que es una abreviatura de ”cambiar directo´ rio”. Muchas de las ordenes m´ s usadas en GNU/Linuxson de dos o tres letras. La forma de usar la orden cd a es
cd directorio

donde directorio es el nombre del directorio que quiere que se convierta en el directorio de trabajo actual. Como se mencion´ antes, cuando entra en el sistema, comienza en su directorio de usuario. Si Larry o quisiera cambiar al subdirectorio papers, usar´a la orden ı
/home/larry# cd papers /home/larry/papers#

Como puede ver, el indicador de Larry cambia para reflejar su directorio de trabajo actual (de forma que sabe d´ nde se encuentra). Ahora que est´ en el directorio papers, puede ver history-final con la orden o a
/home/larry/papers# more history-final

Ahora, Larry est´ atascado en el subdirectorio papers. Para regresar al directorio superior (o padre), a ejecute la orden
/home/larry/papers# cd /home/larry# ..

(Observe los espacios entre “cd” y “..”.) Cada directorio tiene una entrada llamada “..” que se refiere al directorio padre. De forma similar, cada directorio tiene una entrada llamada “.”que se refiere a s´ mismo. ı Por tanto, la orden
1 tcsh y bash son dos int´ rprete de ordeness que funcionan bajo GNU/Linux. El int´ rprete de ordenes es un programa que lee los ´ e e ´ ´ ordenes del usuario y los ejecuta; la mayor´a de los sistema GNU/Linux habilitan tcsh o bash para las cuentas de los nuevos usuarios. ı 2 N. del T.: tilde en ingl´ s e

Primeros pasos en GNU/Linux

101

/home/larry/papers# cd

.

no lleva a ninguna parte. Con la orden cd se pueden usar tambi´ n rutas absolutas. Para cambiar al directorio de usuario de Karl, se e puede usar la orden
/home/larry/papers# cd /home/karl /home/karl#

Adem´ s, la orden cd sin argumentos le llevar´ a su propio directorio de usuario. a a
/home/karl# cd /home/larry#

3.3.2.

Mirando el contenido de los directorios

Ahora que sabe c´ mo moverse por los directorios, podr´a pensar, ¿y qu´ ?. Dar vueltas por los directorios o ı e no tiene mucho sentido por s´ mismo, as´ que introduzcamos una orden nueva, ls. La orden ls muestra un ı ı listado de ficheros y directorios, por omisi´ n del directorio actual. Por ejemplo: o
/home/larry# ls Mail letters papers /home/larry#

Aqu´ podemos darnos cuenta de que Larry tiene tres entradas en su directorio actual: Mail, letters, y ı papers. Esto no nos dice mucho – ¿ qu´ son directorios o ficheros? Podemos usar la opci´ n -F de la orden e o ls para obtener informaci´ n m´ s detallada. o a
/home/larry# ls --F Mail/ letters/ papers/ /home/larry#

Por la / que aparece en cada nombre, sabemos que estas tres entradas son, de hecho, subdirectorios. Ejecutando ls -F puede tambi´ n aparecer un “*” al final de un nombre en la lista resultante, lo que e indicar´a que el fichero es un ejecutable o un programa que puede ejecutarse. Si no aparece nada al final de ı un nombre al usar ls -F, el fichero es un “plain old file”, es decir, no es ni un directorio ni un ejecutable. En general, cada orden UNIX puede tomar un cierto n´ mero de opciones adem´ s de otros argumentos. u a Estas opciones normalmente comienzan con un “-”, como se vi´ arriba con la opci´ n -F. La opci´ n -F le o o o dice a ls que d´ m´ s informaci´ n acerca del tipo de ficheros involucrados –en nuestro caso, imprimiendo e a o una / despu´ s de cada nombre de directorio. e Si le da a ls el nombre de un directorio, el sistema listar´ los contenidos de ese directorio. a
/home/larry# ls --F papers english-lit history-final masters-thesis notes/ /home/larry#

O, para un listado m´ s interesante, veamos qu´ hay en el directorio de sistema /etc. a e
/home/larry# ls /etc

102

Tutorial GNU/Linux

Images adm bcheckrc brc brc˜ csh.cshrc csh.login default disktab fdprm fstab ftpaccess /home/larry#

ftpusers getty gettydefs group inet init init.d initrunlvl inittab inittab.old issue lilo

lpc magic motd mount mtab mtools pac passwd printcap profile psdatabase rc

rc.new rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rmt rpc rpcinfo securetty services

shells startcons swapoff swapon syslog.conf syslog.pid syslogd.reload termcap umount update utmp wtmp

Si es un usuario de MS-DOS, puede que se d´ cuenta de que los nombres de ficheros pueden ser mayores e de 8 caracteres, y pueden contener puntos en cualquier posici´ n. Puede incluso usar m´ s de un punto en un o a nombre de fichero. ´ ´ Vayamos a la parte superior del arbol de directorios, y luego bajemos a otro directorio con las ordenes
/home/larry# cd .. /home# cd .. /# cd usr /usr# cd bin /usr/bin#

Puede tambi´ n moverse a los directorio en un s´ lo paso, haciendo cd /usr/bin. e o Pruebe a moverse por varios directorios, usando ls y cd. En algunos casos, puede que le aparezca el mensaje de error “Permission denied”3 . Esto es debido simplemente .al sistema de seguridad UNIX”: ´ para poder usar las ordenes ls o cd, debe tener permisos para hacerlo. Hablaremos m´ s acerca de esto en a la pagina 116.

3.3.3.

Creaci´ n de directorios nuevos o

Es hora de aprender c´ mo crear directorios. Esto requiere el uso de la orden mkdir. Pruebe lo siguiente: o
/home/larry# mkdir foo /home/larry# ls -F Mail/ foo/ letters/ papers/ /home/larry# cd foo /home/larry/foo# ls /home/larry/foo#

´ ¡Felicidades! Ha creado un nuevo directorio y se ha metido en el. Como no hay ficheros en este nuevo directorio, aprendamos c´ mo copiar ficheros de un lugar a otro. o

3.3.4.

Copiando ficheros

Para copiar ficheros, use el orden cp, como se muestra aqu´: ı
/home/larry/foo# cp /etc/termcap /home/larry/foo# cp /etc/shells
3 N.

. .

del T.: Permiso denegado

Primeros pasos en GNU/Linux

103

/home/larry/foo# ls --F shells termcap /home/larry/foo# cp shells bells /home/larry/foo# ls --F bells shells termcap /home/larry/foo#

´ ´ La orden cp copia los ficheros escritos en la l´nea de ordenes al fichero o directorio dados como ultimo ı argumento. D´ se cuenta de que usamos“.” para referirnos al directorio actual. e

3.3.5.

Moviendo ficheros

El orden mv mueve ficheros, en vez de copiarlos. La sintaxis es muy parecida:
/home/larry/foo# mv termcap sells /home/larry/foo# ls -F bells sells shells /home/larry/foo#

D´ se cuenta de que el fichero termcap ha sido renombrado a shells. Puede adem´ s puede usar la e a orden mv para mover un fichero a un directorio completamente nuevo. Nota: mv y cp sobreescribir´ n un fichero de destino que tiene el mismo nombre sin pregunt´ rselo. Tenga a a cuidado cuando mueva un fichero a otro directorio. Puede que haya un fichero con el mismo nombre en ese directorio, ¡que ser´ sobreescrito! a

3.3.6.

Borrando ficheros y directorios

Usted tiene ahora una fea rima, que ha creado usando el orden ls. Para borrar un fichero, use el orden rm, que proviene de ”remove”,4 como se muestra aqu´: ı
/home/larry/foo# rm bells sells /home/larry/foo# ls -F shells /home/larry/foo#

No nos queda nada salvo shells, pero no nos quejaremos. D´ se cuenta de que rm por defecto no le e preguntar´ antes de borrar un fichero –as´ que tenga cuidado. a ı Una orden relacionada con rm es rmdir. Este orden borra un directorio, pero s´ lo si el directorio o est´ vac´o. Si el directorio contiene alg´ n fichero o subdirectorio, rmdir protestar´ . a ı u a

3.3.7.

Mirando en los ficheros

´ Las ordenes more y cat se usan para ver el contenido de los ficheros. El orden more muestra un fichero, una pantalla completa cada vez, mientras que cat muestra el fichero completo de una vez. Para ver el contenido del fichero shells, use la orden
/home/larry/foo# more shells

´ En caso de que est´ interesado en lo que contiene shells, es una lista de int´ rpretes de ordenes (shell) e e v´ lidos en su sistema”. En la mayor´a de los sistemas, esto incluye /bin/sh, /bin/bash, y /bin/csh. a ı ´ Hablaremos acerca de estos diferentes tipos de int´ rpretes de ordenes m´ s adelante. e a a Mientras est´ usando more, presione Space para ver la siguiente p´ gina de texto, y b para ver la e ´ ´ p´ gina anterior. Hay otras ordenes disponibles en more, estos son s´ lo los b´ sicos. Podr´ salir de more a o a a pulsando q .
4 N.

del T.: quitar

104

Caracter´sticas Avanzadas ı

Salga de more y pruebe cat /etc/termcap. Probablemente el texto ir´ demasiado r´ pido para que a a pueda leerlo. El nombre “cat” proviene de hecho de “concatenate”, que es el verdadero uso del programa. El orden cat puede usarse para ”encadenar”los contenidos de varios ficheros y guardar el resultado en otro fichero. Volveremos a esto en la secci´ n 3.14.1. o

3.3.8.

Obteniendo ayuda en l´nea ı

Casi todos los sistemas UNIX, incluyendo GNU/Linux, facilita lo que se conoce como p´ ginas del maa ´ nual. Estas p´ ginas contienen documentaci´ n acerca de ordenes del sistema, recursos, ficheros de configuraa o ci´ n, etc. o La orden usada para acceder a las p´ ginas del manual es man. Si est´ interesado en aprender nuevas a a opciones de la orden ls puede escribir
/home/larry# man ls

y se mostrar´ la p´ gina del manual para ls. a a Por desgracia, la mayor´a de las p´ ginas de manual est´ n escritas por personas que ya tienen alguna idea ı a a de lo que la orden o recurso hace. Por esta raz´ n, las p´ ginas del manual, a menudo, contienen s´ lo los detalles o a o t´ cnicos de la orden, sin mucha explicaci´ n. De todos modos, las p´ ginas del manual pueden constituir un e o a recurso muy valioso para refrescar su memoria si se le olvida la sintaxis de una orden. Las p´ ginas del manual a ´ le hablar´ n adem´ s de ordenes que no veremos en este libro. a a ´ Sugiero que pruebe man para las ordenes que ya hemos visto y cuando veamos alguno nuevo. Algunos ´ de estos ordenes no tendr´ n p´ gina de manual, por distintas razones. Primero, las p´ ginas de manual puede a a a que no se hayan escrito todav´a. (El proyecto de documentaci´ n de GNU/Linuxtambi´ n es responsable de las ı o e p´ ginas de manual de GNU/Linux. Estamos acumulando poco a poco la mayor´a de las p´ ginas de manual a ı a disponibles para el sistema). Segundo, el orden podr´a ser un orden interno del shell, o un alias (que se ı discutir´ en la p´ gina 96), el cual podr´a no tener una p´ gina de manual propia. Un ejemplo es cd, que es a a ı a una orden interna del shell. El shell por s´ s´ lo procesa la orden cd — no hay un programa separado que ı o implemente esta orden.

3.4. Acceder a los ficheros MS-DOS

TM

Si, por cualquier retorcida y extrafalaria raz´ n, quiere acceder a ficheros de MS-DOS, lo podr´ hacer o a f´ cilmente desde GNU/Linux. a La manera normal de acceder a los ficheros de MS-DOS es montar una partici´ n MS-DOS o un disco o flexible bajo GNU/Linux, lo cual permite acceder a los ficheros directamente a trav´ s del sistema de ficheros. e Por ejemplo, si tiene un disco flexible MS-DOS en /dev/fd0, la orden
# mount -t msdos /dev/fd0 /mnt

lo montar´ en /mnt. Consulte la Secci´ n 4.8.4 para m´ s informaci´ n sobre c´ mo montar discos flexibles. a o a o o Tambi´ n puede montar una partici´ n MS-DOS de su disco duro para que sea accesible desde GNU/Linux. e o Si tiene una partici´ n MS-DOS en /dev/hda1, el comando o
# mount -t msdos /dev/hda1 /mnt

la monta. Aseg´ rese de desmontar (umount) la partici´ n cuando haya terminado de usarla. Tambi´ n se u o e puede hacer que una partici´ n MS-DOS se monte autom´ ticamente en el momento del arranque si incluye la o a entrada en /etc/fstab. Consulte la Secci´ n 4.4 para m´ s detalles. La siguiente l´nea en /etc/fstab o a ı monta una partici´ n MS-DOS en /dev/hda1 en el directorio /dos. o
/dev/hda1 /dos msdos defaults

Tambi´ n puede montar los sistemas de ficheros VFAT usados por Windows 95 y 98: e

´ 3.5. Sumario de ordenes b´ sicas a

105

# mount -t vfat /dev/hda1 /mnt

Esto permite acceder a los nombres largos de ficheros de Windows 95TM . Esto s´ lo se aplica a particiones o que realmente tengan almacenados los nombres en formato largo. No se puede montar un sistema de ficheros FAT16 normal y usarlo para obtener nombres de ficheros largos. ´ El software Mtools tambi´ n puede ser usado para acceder a ficheros MS-DOSTM . Las ordenes mcd, mdir, e y mcopy se comportan todas como sus equivalentes MS-DOSTM . Si instala las Mtools, deber´a tener p´ ginas ı a ´ del manual disponibles para estas ordenes. Acceder a ficheros MS-DOS es una cosa; ejecutar programas MS-DOS es otra. Hay un emulador de MSDOSTM en desarrollo para GNU/Linux; es f´ cil de conseguir, y est´ inclu´do en la mayor´a de las distribucioa a ı ı nes. Tambi´ n se puede conseguir en muchos sitios, incluyendo los sitios FTP para GNU/Linux listados en el e Ap´ ndice C. El emulador de MS-DOS est´ considerado como lo suficientemente potente para hacer funcionar e a un buen n´ mero de aplicaciones, incluyendo WordperfectTM , desde GNU/Linux. Sin embargo, GNU/Linux y u MS-DOS son sistemas operativos marcadamente diferentes. La potencia de cualquier emulador de MS-DOS bajo UNIX est´ limitada. Adem´ s, est´ en desarrollo un emulador de Microsoft Windows que corra bajo X a a a Window.

´ 3.5. Sumario de ordenes b´ sicas a
´ Esta secci´ n introduce algunos de las m´ s utiles ordenes b´ sicas de un sistema UNIX, incluyendo aqu´ llas o a ´ a e que son cubiertas en la secci´ n anterior. o F´jese en que las opciones suelen empezar con “-”, y en la mayor´a de los casos es posible especificar ı ı ´ m´ s de una opci´ n con un unico “-”. Por ejemplo, en vez de usar ls -l -F, se puede escribir ls -lF. a o ´ En lugar de dar una lista de cada una de las opciones de una orden, ahora s´ lo vamos a presentar ordenes o ´ ´ utiles o importantes. De hecho, la mayor´a de estas ordenes tienen muchas opciones que nunca usar´ . Puede ı a usar man para echar un vistazo a las p´ ginas de manual de cada orden, el cu´ l lista todas las opciones a a disponibles. ´ D´ se cuenta tambi´ n de que muchas de estas ordenes toman como argumento una lista de ficheros o e e directorios, indicados en esta tabla por “fichero1 . . . ficheroN ”. Por ejemplo, la orden cp toma como argumentos una lista de ficheros para copiar, seguido del fichero o directorio destino. Cuando va a copiar m´ s de a un fichero, el destino debe ser un directorio. cd Cambia el directorio de trabajo actual Sintaxis: cd directorio Donde directorio es el directorio al que se quiere cambiar.(“.” hace referencia al directorio actual, “..” al directorio padre. Si no se especifica ning´ n directorio le lleva, por omisi´ n, u o a su directorio de usuario. Ejemplo: cd ../foo sube el directorio actual un nivel, y entonces, se introduce en el directorio foo. ls Muestra informaci´ n acerca de los ficheros y directorios nombrados. o Sintaxis: ls ficheros Donde ficheros consiste de los nombres de ficheros o directorios que se quieren listar. Las opciones que m´ s se usan son -F (para mostrar el tipo de fichero), y -l (para mostrar una a lista ”ampliada” incluyendo el tama˜ o de los ficheros, propietario, permisos, etc.). n Ejemplo: ls -lF /home/larry muestra los contenidos del directorio /home/larry. Copia uno o m´ s ficheros a otro fichero o directorio. a Sintaxis: cp ficheros destino Donde ficheros indica los ficheros que hay que copiar, y destino es el fichero o directorio destino.

cp

106

Tutorial de GNU/Linux

Ejemplo: cp ../frog joe copia el fichero ../frog al fichero o directorio joe. mv Mueve uno o m´ s ficheros a otro directorio. Este comando hace el equivalente de una a copia seguido del borrado del fichero original. Puede usar esto para renombrar ficheros, como con la orden de MS-DOS RENAME. Sintaxis: mv ficheros destino Donde ficheros indica los arhivos que hay que mover, y destino es el fichero o directorio destino. Ejemplo: mv ../frog joe mueve el fichero ../frog al fichero o directorio joe. rm Borra ficheros. F´jese en que cuando borra un fichero bajo UNIX, son irrecuperables (al ı contrario que con MS-DOS, donde normalmente se puede ”desborrar” el fichero). Sintaxis: rm ficheros Donde ficheros describe el nombre de los ficheros que hay que borrar. La opci´ n -i le pide confirmaci´ n antes de borrar el fichero. o o Ejemplo: rm -i /home/larry/joe /home/larry/frog borra los ficheros joe y frog en /home/larry. mkdir Crea nuevos directorios. Sintaxis: mkdir dirs Donde dirs son los directorios que hay que crear. Ejemplo: mkdir /home/larry/test crea el directorio test en /home/larry. rmdir Borra directorios vac´os. Cuando use rmdir, el directorio de trabajo actual no debe estar ı dentro del directorio que se pretende borrar. Sintaxis: rmdir dirs Donde dirs define los directorios que hay que borrar. Ejemplo: rmdir /home/larry/papers /home/larry/papers, si est´ vac´o. a ı man borra el directorio

Muestra la p´ gina de manual para la orden o recurso dado (es decir, no una utilidad del a sistema que no sea un comando, como una funci´ n de biblioteca.) o Sintaxis: man command Donde command es el nombre dla orden o recurso del que se quiere conseguir ayuda. Ejemplo: man ls le da informaci´ n acerca dla orden ls. o

more

Muestra informaci´ n del contenido de los ficheros nombrados, pantalla por pantalla. o Sintaxis: more ficheros Donde ficheros indica los ficheros que se quieren mostrar. Ejemplo: more papers/history-final papers/history-final. muestra el fichero

3.6. Explorando el sistema de ficheros

107

cat

Oficialmente usado para concatenar ficheros, cat tambi´ n se usa para mostrar los e contenidos de un fichero por pantalla. Sintaxis: cat ficheros Donde ficheros indica los ficheros que se quieren mostrar. Ejemplo: cat letters/from-mdw muestra el fichero letters/from-mdw.

echo

Muestra los argumentos que se le pasan en la pantalla. Sintaxis: echo args Donde args indica los argumentos que se quieren mostrar. Ejemplo: echo ‘‘Hello world’’ muestra la cadena “Hello world”.

grep

Muestra cada l´nea en uno o m´ s ficheros que contiene un patr´ n dado. ı a o Sintaxis: grep pattern ficheros Donde pattern es un patr´ n, y ficheros indica los ficheros donde se quiere buscar dicho o patr´ n. o Ejemplo: grep loomer /etc/hosts muestra cada l´nea en el fichero /etc/hosts ı que contiene el patr´ n “loomer”. o

3.6. Explorando el sistema de ficheros
Un sistema de ficheros es la colecci´ n de ficheros y la jerarqu´a de directorios de un sistema. Ha llegado o ı la hora de acompa˜ arle en un viaje alrededor del sistema de ficheros. n Usted ya tiene habilidad y conocimiento como para entender el sistema de ficheros de GNU/Linux, y tiene un mapa de carreteras. (Ver figura en la p´ gina 99). a Primero, cambie al directorio ra´z (cd /), e introduzca ls -F para que aparezca una lista con su conteı nido. Probablemente ver´ los siguientes directorios5 : bin, dev, etc, home, install, lib, mnt, proc, a root, tmp, user, usr, y var. Ahora, veamos cada uno de estos directorios /bin /bin es la abreviatura de “binarios”, o ejecutables, y es donde residen muchos de los programas imprescindibles del sistema. Utilice ls -F /bin para listar los ficheros que contiene. Si repasa la lista, puede que reconozca algunos comandos, como cp, ls, y mv. ´ Estos son realmente los programas que corresponden a esos comandos. Cuando utiliza la orden cp, est´ ejecutando el programa /bin/cp. a Usando ls -F, ver´ que muchos (si no todos) los ficheros en /bin tienen un asterisco a (”*”) a˜ adido a sus nombres de fichero. Esto indica que los ficheros son ejecutables, como n se describe en p´ gina 101. a /dev Los ”ficheros” en /dev son controladores de dispositivos—acceden a los dispositivos del sistema y a recursos como discos duros, m´ dems y memoria. Igual que su sisteo ma puede leer datos de un fichero, tambi´ n puede leer la entrada del rat´ n accediendo a e o /dev/mouse. Los ficheros cuyos nombres comienzan por fd son dispositivos de discos flexibles. fd0 es la primera disquetera y fd1 es la segunda. Puede que se haya dado cuenta de que hay m´ s a ´ dispositivos de disco flexible que los dos anteriores: estos representan tipos espec´ficos ı de discos flexibles. Por ejemplo, fd1H1440 accede a discos 3.5”de alta densidad en la disquetera 1.
5 Puede

que vea otros, y puede que no los vea todos. Cada distribuci´ n de GNU/Linux es diferente en ciertos aspectos. o

108

Tutorial de GNU/Linux

Lo siguiente es una lista de algunos de los ficheros de dispositivo m´ s comunmente utilia zados. Aunque puede que no tenga alguno de los dispositivos f´sicos que se listan debajo, ı puede ocurrir que aun as´ tenga controladores en dev para ellos. ı /dev/console se refiere a la consola del sistema—es decir, al monitor conectado directamente a su sistema. Los diversos dispositivos /dev/ttyS y /dev/cua se usan para acceder a los puertos serie. /dev/ttyS0 se refiere a ”COM1” bajo MS-DOS. Los dispositivos /dev/cua son dispositivos de ”llamada” , y se usan con un m´ dem.6 o Los dispositivos cuyos nombres comiencen por hd acceden a discos duros. /dev/hda se refiere a todo el primer disco duro, mientras que /dev/hda1 se refiere a la primera partici´ n de /dev/hda. o Los dispositivos cuyos nombres comienzan por sd son discos SCSI. Si tiene un ´ disco duro SCSI, en lugar de acceder a el a trav´ s de /dev/hda, acceder´a con e ı /dev/sda. A las cintas SCSI se accede v´a dispositivos st, y a los CD-ROM SCSI ı v´a dispositivos sr. ı Los dispositivos cuyos nombres comienzan por lp acceden a los puertos paralelos. /dev/lp0 es lo mismo que ”LPT1” en el mundo MS-DOS. /dev/null se utiliza como ”agujero negro”—los datos enviados a este dispositivo se pierden para siempre. ¿Por qu´ es util esto? Bueno, si quiere evitar que la salida de e ´ un comando salga por la pantalla, puede dirigir esa salida a /dev/null. Hablaremos de ello m´ s adelante. a Los dispositivos cuyos nombres comienzan por /dev/tty seguidos de un n´ meu ro se refieren a las ”consolas virtuales” de su sistema (a las que se accede pulsando Alt-F1 , Alt-F2 , y as´ sucesivamente). /dev/tty1 se refiere a la primera conı sola virtual, /dev/tty2 se refiere a la segunda, y as´ sucesivamente. ı Los dispositivos cuyos nombres comienzan por /dev/pty son pseudo-terminales, que se usan para proporcionar un “terminal” a las sesiones iniciadas remotamente. Por ejemplo, si su m´ quina est´ en una red, las sesiones de telnet entrantes utilizar´ n a a a uno de los dispositivos /dev/pty. /etc /etc contiene un buen n´ mero de ficheros de configuraci´ n del sistema. Estos incluyen u o /etc/passwd (la base de datos de usuarios), /etc/rc (la macro de inicio del sistema), y as´ sucesivamente. ı /sbin contiene binarios imprescindibles para el sistema que se usan para su administraci´ n. o /home contiene los directorios de inicio de los usuarios. Por ejemplo, /home/larry es el directorio de inicio del usuario ”larry”. En un sistema reci´ n instalado, puede que no e haya ning´ n usuario en este directorio. u /lib contiene las im´ genes de las bibliotecas compartidas, que son ficheros que contiea nen c´ digo que comparten muchos programas. Mejor que cada programa use sus propias o copias de estas rutinas compartidas, es que todas se guarden en un lugar com´ n, en /lib. u Esto hace que los ficheros ejecutables sean m´ s peque˜ os y ahorra espacio en el sistema. a n En /proc se mantiene un ”sistema de ficheros virtual”, donde los ficheros se guardan en memoria, no en disco. Estos ”ficheros” hacen referencia a los diversos procesos que corren en el sistema, y permiten obtener informaci´ n sobre los procesos y programas en ejecuci´ n o o en un instante dado. Esto se discute con m´ s detalle en p´ gina 119. a a

/sbin

/home

/lib

/proc

6 N.

del T.: En los n´ cleos modernos a partir de la serie 2.2 los dispositivos ttySx reemplazan a cuax en sus funciones u

Explorando el sistema de ficheros

109

/tmp

Muchos programas guardan informaci´ n temporalmente en un fichero que se borra cuando o el programa finaliza su ejecuci´ n. La localizaci´ n est´ ndar de estos ficheros es /tmp. o o a /usr es un directorio muy importante que contiene subdirectorios que albergan algunos ´ de los programas m´ s importantes y utiles usados en el sistema. a Los diversos directorios descritos arriba son imprescindibles para que el sistema funcione, pero muchos de los elementos que se encuentran en /usr son opcionales. Sin embargo, son ´ esos elementos opcionales los que hacen un sistema util e interesante. Sin /usr, se tendr´a ı un sistema aburrido que s´ lo soportar´a programas como cp y ls. /usr contiene muchos o ı de los grandes paquetes de software y los ficheros de configuraci´ n que los acompa˜ an. o n

/usr

/usr/X11R6

/usr/X11R6 contiene el sistema X Window, si se instal´ . El sistema X Window es un o enorme y potente entorno gr´ fico que proporciona un gran n´ mero de utilidades gr´ ficas a u a y programas, que aparecen en ”ventanas” en la pantalla. Si usted esta familiarizado con Microsoft Windows o el entorno Macintosh, X Window le ser´ muy familiar. El directorio a /usr/X11R6 contiene todos los ejecutables de X Window, ficheros de configuraci´ n y o ficheros de apoyo. Todo esto se cubre con m´ s detalle en el Cap´tulo 5.5. a ı /usr/bin es el aut´ ntico almac´ n de software en cualquier sistema GNU/Linux, y cone e tiene la mayor´a de los ejecutables de programas que no se encuentran en otros sitios, como ı /bin. Como /etc contiene diferentes ficheros de configuraci´ n y programas del sistema, o /usr/etc contiene incluso m´ s que el anterior. En general, los ficheros que se encuentran a en /usr/etc/ no son esenciales para el sistema, a diferencia de los que se encuentran en /etc, que s´ lo son. ı

/usr/bin

/usr/etc

/usr/include /usr/include contiene los ficheros de cabecera para el compilador de C. En estos ficheros (muchos de los cuales terminan en .h, por ”header”) se declaran nombres de estructuras de datos, subrutinas, y constantes usadas al programar en el nivel de sistema UNIX. Si est´ familiarizado con el lenguaje de programaci´ n C, aqu´ encontrar´ ficheros a o ı a de cabecera como stdio.h, en el que se declaran funciones como printf(). /usr/g++-include /usr/g++-include contiene ficheros de cabecera para el compilador de C++ (muy parecido a /usr/include). /usr/lib /usr/lib contiene las bibliotecas ”stub” y ”estatic” equivalentes a los ficheros situados en /lib. Cuando se compila un programa, el programa se ”enlaza” con las bibliotecas situadas en /usr/lib, que ordenar´ n al programa que mire en /lib cuando necesite a el c´ digo real de la librer´a. Por a˜ adidura, otros programas diversos guardan ficheros de o ı n configuraci´ n en /usr/lib. o /usr/local se parece mucho a /usr—contiene diversos programas y ficheros que no son imprescindibles para el sistema, pero que lo hacen divertido y excitante. En general, los programas en /usr/local son espec´ficos de cada sistema—consecuentemente, ı /usr/local var´a mucho entre los diversos sistemas GNU/Linux. ı ´ Este directorio contiene las p´ ginas del manual. Hay dos subdirectorios en el Para cada a ”secci´ n” de p´ ginas del manual (use la orden man man para m´ s detalles). Por ejemplo, o a a /usr/man/man1 contiene las fuentes (es decir, el original sin formatear) de la p´ ginas a del manual de la secci´ n 1, y /usr/man/cat1 contiene las p´ ginas del manual formao a teadas de la secci´ n 1. o

/usr/local

/usr/man

110

Tutorial de GNU/Linux

/usr/src

/usr/src contiene el c´ digo fuente (las instrucciones sin compilar) de diversos prograo mas del sistema. El directorio m´ s importante aqu´ es /usr/src/linux, que contiene a ı el c´ digo fuente del n´ cleo de GNU/Linux. o u En /var se mantienen directorios que a veces cambian de tama˜ o o tienden a crecer. n Muchos de estos directorios sol´an residir en /usr, pero desde que aqu´ llos que mantienen ı e GNU/Linux intentan conservarlo relativamente sin cambios, los directorios que cambian a menudo se han pasado a /var. Algunas distribuciones de GNU/Linux guardan las bases de datos de sus paquetes de software en directorios bajo /var. /var/log contiene diversos ficheros de inter´ s para el administrador del sistema, ese pec´ficamente, los registros del sistema, que recogen errores o problemas con el sistema. ı Otros ficheros recogen entradas e intentos fallidos de entrar el sistema. Esto se cubrir´ en a el Cap´tulo 4. ı /var/spool contiene ficheros que son encolados para otro programa. Por ejemplo, si su m´ quina est´ conectada a una red, el correo entrante se guarda en a a /var/spool/mail hasta que se lee o se borra. Los art´culos de noticias entrantes o ı salientes est´ n en /var/spool/news, y as´ sucesivamente. a ı

/var

/var/log

/var/spool

´ 3.7. Tipos de int´ rpretes de ordenes e
Como se ha comentado antes, GNU/Linux es un sistema operativo multitarea y multiusuario. La multita´ rea es muy util, y una vez la haya comprendido, la usar´ todo el tiempo. Dentro de poco ejecutar´ programas a a en segundo plano, cambiar´ entre tareas y redirigir´ programas junto a resultados complicados con una sena a cilla orden. Muchas de las caracter´sticas que se ver´ n en esta secci´ n son caracter´sticas suministradas por el int´ rpreı a o ı e ´ te de ordenes. Se debe tener cuidado en no confundir GNU/Linux (el actual sistema operativo) con el int´ rpree ´ ´ te de ordenes. Un int´ rprete de ordenes es tan s´ lo un interfaz con el sistema operativo que hay debajo. El e o ´ int´ rprete de ordenes proporciona funcionalidad a˜ adida a GNU/Linux. e n ´ ´ Un int´ rprete de ordenes no es s´ lo un int´ rprete de las ordenes interactivas que se teclean en el indicador e o e ´ de ordenes, sino tambi´ n un potente lenguaje de programaci´ n. Permite escribir guiones (shell scripts), e o ´ juntando varias ordenes en un fichero. Si se conoce MS-DOS, se reconocer´ la similitud con los ficheros a ´ de procesamiento por lotes. Los guiones del int´ rprete de ordenes son una herramienta muy potente, que le e permitir´ automatizar y extender el uso de GNU/Linux. Mire la p´ gina 129 para m´ s informaci´ n. a a a o 7 ´ Hay varios tipos de int´ rprete de ordenes en el mundo de Unix. Los m´ s importantes son la “shell e a ´ Bourne” y la “shell C”. La shell Bourne utiliza una sintaxis de ordenes como la shell original de los primeros sistemas UNIX, como System III. El nombre de la shell Bourne en la mayor´a de los sistemas GNU/Linux ı es /bin/sh (donde sh significa “shell”. La shell C (no confundir con una concha marina) utiliza diferente sintaxis, parecida al lenguaje de programaci´ n “C”, y en la mayor´a de los sistemas GNU/Linux se llama o ı /bin/csh. ´ Bajo GNU/Linux, hay disponibles muchas variaciones de int´ rpretes de ordenes. Las dos m´ s com´ nmene a u te utilizadas son Bourne Again Shell, o “bash” (/bin/bash), y “Tcsh” (/bin/tcsh). La variante bash es una forma de shell Bourne que incluye muchas de las caracter´sticas avanzadas de la shell C. A causa ı de que bash soporta un superconjunto de sintaxis de la shell Bourne, los guiones de la shell escritos en el est´ ndar de la shell Bourne podr´an trabajar con bash. Si se prefiere la sintaxis de la shell C, GNU/Linux a ı soporta tcsh, que es una versi´ n ampliada de la shell C. o El tipo de shell que usted decida utilizar ser´ sobre todo una cuesti´ n de fe. Algunas personas prefieren a o la sintaxis de la shell Bourne con las caracter´sticas avanzadas de bash, y otros prefieren la sintaxis m´ s ı a ´ estructurada de la shell C. Por lo que respecta a ordenes normales como cp y ls, la shell que se use no importa, la sintaxis es la misma. S´ lo cuando se comienzan a escribir guiones de ordenes o a usar las caraco ´
7 N.

del T.: shell, escudo en ingl´ s e

3.8. Caracteres comod´n ı

111

ter´sticas avanzadas de la shell, comienzan a importar las diferencias entre los tipos de shell. Al discutir las ı caracter´sticas de varios int´ rpretes, se notar´ n las diferencias entre las shells C y Bourne. Sin embargo, para ı e a los prop´ sitos de este manual, la mayor´a de estas diferencias son m´nimas (si realmente est´ s interesado en o ı ı a 8 este punto, lea las p´ ginas sobre bash y tcsh). a

3.8. Caracteres comod´n ı
Una caracter´stica importante de la mayor´a de sistemas GNU/Linux es la posibilidad de referirse a m´ s de ı ı a un fichero usando caracteres especiales. Estos caracteres comod´n le permiten referirse a todos los nombres ı de fichero que contengan el car´ cter “n”. a El comod´n ‘*” especifica cualquier car´ cter o cadena de caracteres en el nombre de un fichero. Cuando ı a ´ usa el car´ cter “*” en un nombre de fichero, el int´ rprete de ordenes lo reemplaza con todas las posibles a e sustituciones de los nombres de fichero en el directorio al que est´ haciendo referencia. e He aqu´ un r´ pido ejemplo. Suponga que Larry tiene los ficheros frog, joe, y stuff en su directorio ı a actual.
/home/larry# ls frog joe stuff /home/larry#

Para especificar todos los ficheros que contienen la letra “o” en el nombre de fichero, use la instrucci´ n o
/home/larry# ls *o* frog joe /home/larry#

Como puede ver, cada instancia de “*” es reemplazada con todas las sustituciones que coinciden con los nombres de fichero del directorio actual. El uso de “*” s´ lo, simplemente coincide con todos los nombres de fichero, porque todos los caracteres o coinciden con el comod´n. ı
/home/larry# ls * frog joe stuff /home/larry#

Aqu´ hay algunos ejemplos m´ s: ı a
/home/larry# ls f* frog /home/larry# ls *ff stuff /home/larry# ls *f* frog stuff /home/larry# stuff /home/larry# ls s*f

El proceso de cambiar un “*” en una serie de nombres de fichero se llama expansi´ n de comodines y lo o ´ hace el int´ rprete de ordenes. Esto es importante: una orden individual, como ls, nunca ve el “*” en su lista e ´ de par´ metros. El int´ rprete de ordenes expande el comod´n para incluir todos los nombres de fichero que a e ı coinciden. As´, la orden ı
/home/larry# ls *o*

´ es expandido por el int´ rprete de ordenes a e
8 N.

del T.: Tambi´ n puede leer el “Bash Scripting HOWTO” e

112

Tutorial de GNU/Linux

/home/larry# ls frog joe

Una nota importante del comod´n “*” : no ve las coincidencias de los nombres de fichero que empiezan ı ´ con un unico punto (“.”). Estos ficheros se tratan como ficheros ocultos — aunque no est´ n realmente a escondidos, no aparecen en los listados normales con ls y no son afectados por el uso del comod´n “*”. ı He aqu´ un ejemplo. Mencionamos antes que cada directorio contiene dos entradas especiales: “.” se ı refiere al directorio actual, y “..” , que se refiere al directorio padre. Sin embargo, cuando usa ls, estas dos entradas no se muestran.
/home/larry# ls frog joe stuff /home/larry#

Si usa el par´ metro -a con ls, sin embargo, puede visualizar los nombres de fichero que empiezan con “.”. a Observe:
/home/larry# ls -a . .. .bash profile .bashrc frog joe stuff /home/larry#

El listado contiene las dos entradas especiales, “.” y “..”, as´ como otros dos ficheros .ocultos– ı .bash profile y .bashrc. Estos dos ficheros son ficheros de inicio usados por bash cuando larry entra en el sistema. Se describen en p´ gina 131. a Hay que fijarse en que cuando usa el comod´n “*” , ninguno de los nombres de fichero que empiezan por ı “.” son visualizados.
/home/larry# ls * frog joe stuff /home/larry#

Esto es una caracter´stica de seguridad: si el comod´n “*” tiene coincidencias con nombres de fichero que ı ı empiezen por “.”, tambi´ n tendr´a coincidencia con los nombres de directorios “.” y “..”. Esto puede ser e ı ´ peligroso al usar ciertas ordenes. Otro comod´n es “?”. El comod´n “?” s´ lo se expande a un car´ cter. As´, “ls ?” muestra toı ı o a ı dos los nombres de fichero de un s´ lo car´ cter. Y “ls termca?” mostrar´a “termcap” pero no o a ı “termcap.backup”. Aqu´ hay otros ejemplos: ı
/home/larry# ls j?e joe /home/larry# ls f??g frog /home/larry# ls ????f stuff /home/larry#

´ Como puede ver, los comodines le permiten especificar muchos ficheros a la vez. En el sumario de ordenes ´ que empieza en la p´ gina 105, dijimos que las ordenes cp y mv realmente pueden copiar o mover m´ s de un a a fichero a la vez. Por ejemplo,
/home/larry# cp /etc/s* /home/larry

copia todos los ficheros de /etc cuyo nombre empieza por “s” al directorio /home/larry. El formato de la orden cp es realmente
cp ficheros destino

donde ficheros lista los nombres de fichero a copiar, y destino es el fichero o directorio destino. La orden mv tiene una sintaxis id´ ntica. e Si est´ copiando o moviendo m´ s de un fichero, el destino tiene que ser un directorio. S´ lo puede copiar a a o ´ o mover un unico fichero a otro fichero.

3.9. Fontaner´a GNU/Linux ı

113

3.9. Fontaner´a GNU/Linux ı
3.9.1. Entrada y salida est´ ndar. a

Muchas instrucciones de GNU/Linux toman la entrada de lo que se llama standard input y mandan su ´ salida a standard output (a menudo abreviados como stdin y stdout). El int´ rprete de ordenes arregla e las cosas de forma que la entrada est´ ndar es su teclado y la salida est´ ndar es la pantalla. a a He aqu´ un ejemplo en el que se usa la orden cat. Normalmente, cat lee datos de todos los datos ı ´ especificados por la l´nea de ordenes y manda estos datos directamente a stdout. Por tanto usando la orden ı
/home/larry/papers# cat history-final masters-thesis

se muestra el contenido del fichero history-final seguido por masters-thesis. Sin embargo, si no especifica un nombre de fichero, cat lee datos de stdin y los devuelve a stdout. Aqu´ hay un ejemplo: ı
/home/larry/papers# cat Hello there. Hello there. Bye. Bye. Ctrl-D /home/larry/papers#

Cada l´nea que escriba ser´ repetida inmediatamente por cat. Cuando se lee de la entrada est´ ndar, se le ı a a indica que la entrada ha ”finalizado”enviando una se˜ al EOT (end-of-text , final de texto), que se genera n pulsando Ctrl-D . He aqu´ otro ejemplo. La orden sort lee l´neas de texto (de nuevo, de stdin, a no ser que le especifique ı ı uno o m´ s nombres de ficheros) y manda la salida ordenada a stdout. Pruebe lo siguiente. a
/home/larry/papers# sort bananas zanahorias manzanas Ctrl-D bananas manzanas zanahorias /home/larry/papers#

´ Ahora ya podemos ordenar por orden alfab´ tico la lista de la compra, ¿verdad que GNU/Linux es util? e

3.9.2.

Redireci´ n de la entrada y la salida o

Ahora, digamos que quiere mandar la salida de sort a un fichero, para guardar nuestra lista de la compra ´ en el disco. El int´ rprete de ordenes le permite redirecionar la salida est´ ndar a un nombre de fichero, usando e a el s´mbolo “>”. Aqu´ est´ c´ mo funciona: ı ı a o
/home/larry/papers# sort > listacompra bananas zanahorias manzanas Ctrl-D /home/larry/papers#

Como puede ver, el resultado de la orden sort no se visualiza, pero se guarda en el fichero llamado listacompra. Veamos este fichero:

114

Tutorial de GNU/Linux

/home/larry/papers# cat listacompra bananas manzanas zanahorias /home/larry/papers#

Ahora puede ordenar su lista de la compra ¡y guardarla tambi´ n!. Pero supongamos que est´ guardando la lista e a de la compra original sin ordenar en el fichero items. Un modo de ordenar la informaci´ n y guardarla en un o fichero ser´a darle a sort el nombre del fichero a ser le´do, en lugar de la entrada est´ ndar, y redireccionar ı ı a la salida est´ ndar como lo hicimos arriba, como sigue: a
/home/larry/papers# sort items > listacompra /home/larry/papers# cat listacompra bananas manzanas zanahorias /home/larry/papers#

´ Sin embargo, hay otra forma de hacer esto. No s´ lo puede redireccionar la salida est´ ndar, tambi´ n puede o a e redireccionar la entrada est´ ndar, usando el s´mbolo “<”. a ı
/home/larry/papers# sort < items bananas manzanas zanahorias /home/larry/papers#

T´ cnicamente, sort < items es equivalente a sort items, pero vamos a demostrar lo siguiente: sort e < items se comporta como si los datos del fichero items fueran tecleados a la entrada est´ ndar. El a ´ int´ rprete de ordenes maneja el redireccionamiento. sort no se le di´ el nombre del fichero (items) a e o ´ leer; en lo que concierne a sort, el todav´a lee de la entrada est´ ndar como si hubiera tecleado los datos ı a desde su teclado. Esto introduce el concepto de filtro. Un filtro es un programa que lee datos de la entrada est´ ndar, los a procesa de alguna forma, y manda los datos procesados a la salida est´ ndar. Usando la redirecci´ n, la entrada a o y salida est´ ndar pueden ser referenciadas desde ficheros. Como se mencion´ m´ s arriba stdin y stdout a o a son por omisi´ n el teclado y la pantalla respectivamente. El programa sort es un filtro simple. Ordena los o datos entrantes y manda el resultado a la salida est´ ndar. M´ s sencillo a´ n es cat. No hace nada con los a a u datos entrantes, s´ lo devuelve todo lo que se le entrega. o

3.9.3.

Uso de tuber´as ı

Ya mostramos como usar sort como un filtro. Sin embargo, estos ejemplos dan por hecho que usted tiene los datos guardados en alguna parte o que teclear´ los datos desde la entrada est´ ndar. ¿Qu´ pasa si los a a e datos que quiere ordenar vienen de la salida de otro programa, como ls? La opci´ n -r de sort ordena los datos en orden alfab´ tico inverso. Si quiere listar los ficheros de su o e directorio actual en orden inverso una forma de hacerlo es como sigue:
/home/larry/papers# ls english-list history-final masters-thesis notes

Ahora el redireccionamiento d la orden ls a un fichero llamado file-list:

Fontaner´a GNU/Linux ı

115

/home/larry/papers# ls > file-list /home/larry/papers# sort -r file-list notes masters-thesis history-final english-list /home/larry/papers#

Aqu´, usted guarda la salida de un ls en un fichero, y luego ejecuta sort -r con ese fichero. Pero esto es ı inc´ modo y usa un fichero temporal para guardar los datos de ls. o ´ ´ La soluci´ n es la canalizaci´ n9 . Esta es una posibilidad del int´ rprete de ordenes, que conecta una serie o o e ´ de ordenes mediante una “tuber´a.” La stdout del primer programa se env´a a la stdin del segundo ı ı programa. En este caso, queremos enviar la stdout de ls a la stdin de sort. Se utiliza el s´mbolo “|” ı para crear una tuber´a, como sigue: ı
/home/larry/papers# ls | sort -r notes masters-thesis history-final english-list /home/larry/papers#

Este programa es m´ s corto y m´ s f´ cil de teclear. a a a ´ He aqu´ otro util ejemplo, la orden ı
/home/larry/papers# ls /usr/bin

muestra una lista larga de ficheros, la mayor´a de los cu´ les salen de la pantalla demasiado r´ pido como para ı a a que lo pueda leer. As´ que, usamos more para mostrar la lista de ficheros de /usr/bin. ı
/home/larry/papers# ls /usr/bin | more

Ahora ya puede paginar las lista de ficheros c´ modamente. o ¡Pero lo mejor no termina aqu´! Puede hacer canalizaciones entre m´ s de dos programas juntos. El proı a grama head es un filtro que muestra las primeras l´neas de un flujo entrante (en este caso, entrada de una ı ´ canalizaci´ n). Si quiere mostrar los ultimos nombres de fichero en orden alfab´ tico del directorio actual, use o e ´ estas ordenes:
/home/larry/papers# ls | sort -r | head -1 notes /home/larry/papers#

donde head -1 muestra la primera l´nea de entrada que recibe (en este caso, el flujo de datos ordenados ı inversamente de ls).

3.9.4.

Redirecci´ n no destructiva de la salida o

Usar “>” para redireccionar la salida a un fichero es destructivo: en otras palabras, la orden:
/home/larry/papers# ls > file-list

sobreescribe el contenido del fichero file-list. Si en su lugar, redirecciona con el s´mbolo “>>”, la salida ı ser´ concatenada al final del fichero, en vez de sobreescribirlo. Por ejemplo, a
/home/larry/papers# ls >> file-list

a˜ ade la salida de la orden ls a file-list. n ´ Tenga presente que el redireccionamiento y las canalizaciones son caracter´sticas del int´ rprete de ordenes ı e ´ —que da soporte al uso de “>”, “>>” y “|”. No tiene nada que ver con las ordenes propiamente dichas.
9 N.

del T.: pipelining

116

Tutorial de GNU/Linux

3.10. Permisos de fichero
3.10.1. Conceptos de permisos de fichero

´ Como normalmente hay m´ s de un usuario en un sistema GNU/Linux, este proporciona un mecanismo a conocido como permisos de fichero, que protege los ficheros de los usuarios de las intromisiones de otros usuarios. Este mecanismo permite que los ficheros y directorios ”sean propiedad”de un usuario en concreto. Por ejemplo, como Larry cre´ los ficheros en su directorio de usuario, Larry es el due˜ o de esos ficheros y o n tiene acceso a ellos. GNU/Linux tambi´ n permite que los ficheros sean compartidos por usuarios y grupos de usuarios. Si e Larry quisiera, podr´a denegar el acceso a sus ficheros de forma que ning´ n otro usuario tuviera acceso a ı u ellos. Sin embargo, en la mayor´a de sistemas est´ predefinido el permitir a otros usuarios la lectura de sus ı a ficheros, pero nunca modificarlos o borrarlos. Todo fichero es propiedad de un usuario particular. Sin embargo, los ficheros tambi´ n son propiedad de e un grupo, que es un grupo definido de usuarios del sistema. Cada usuario se coloca en, al menos, un grupo al crearse su cuenta de usuario. Sin embargo, el administrador del sistema puede conceder al usuario el acceso a m´ s de un grupo. a Los grupos se definen normalmente por el tipo de usuarios que accede a la m´ quina. Por ejemplo, en a un sistema GNU/Linux universitario los usuarios pueden ser situados en los grupos student, staff, faculty o guest. Tambi´ n hay unos pocos grupos definidos por el sistema (como bin y admin) usados e por el propio sistema para controlar el acceso a los recursos — es muy raro que usarios de verdad pertenezcan a estos grupos de sistemas. Hay tres clases principales de permisos: de lectura, escritura y ejecuci´ n. Estos permisos pueden ser o concedidos a tres tipos de usuarios: al propietario del fichero, al grupo al que pertenece el fichero y a todos los usuarios, independientemente del grupo. Los permisos de lectura permiten a un usuario leer el contenido de un fichero, o, en el caso de un directorio, listar su contenido (usando ls). Los permisos de escritura permiten a los usuarios escribir y modificar un fichero. Para directorios, los permisos de escritura permiten al usuario crear nuevos ficheros o borrar ficheros dentro de ese directorio. Finalmente, los permisos de ejecuci´ n permiten al usuario ejecutar el fichero como o ´ ´ un programa o gui´ n de int´ rprete de ordenes (si el fichero es un programa o un gui´ n del int´ rprete de ordeo e o e nes). En cuanto a los directorios, tener permisos de ejecuci´ n permite al usuario hacer un cd al directorio en o cuesti´ n. o

3.10.2.

Interpretando los permisos de fichero

Veamos un ejemplo de demostraci´ n de los permisos de fichero. Usando la orden ls con la opci´ n -l se o o muestra un listado de ficheros en formato largo, incluyendo los permisos de los ficheros.
/home/larry/foo# ls -l stuff -rw-r--r-1 larry users 505 Mar 13 19:05 stuff

/home/larry/foo#

El primer campo en el listado representa los permisos del fichero. El tercer campo es el propietario del ´ fichero (larry) y el cuarto campo es el grupo al que pertenece el fichero (users). Obviamente, el ultimo campo es el nombre del fichero (stuff). Explicaremos los dem´ s campos despu´ s. a e El propietario de este fichero es larry, y pertenece al grupo users. La cadena -rw-r--r-- lista, en orden, los permisos concedidos al propietario del fichero, al grupo al que pertenece el fichero y a todos los dem´ s. a El primer car´ cter de la cadena de permisos (“-”) representa el tipo de fichero. Un “-” significa que es un a fichero normal (a diferencia de un directorio o un controlador de dispositivo). Los tres caracteres siguientes (“rw-”) representan los permisos concedidos al due˜ o del fichero, larry. La “r” viene de “read” (lectura) n y la “w” viene de “escritura” (escritura). As´, larry tiene permisos de lectura y escritura al fichero stuff. ı

Permisos de fichero

117

Como ya se ha dicho, adem´ s de los permisos de lectura y escritura, hay tambi´ n un permiso de ejecuci´ n, a e o representado por una “x”. Sin embargo, un “-” es listado aqu´ en el lugar de una “x”, as´ que Larry no tiene ı ı permiso de ejecuci´ n de este fichero. Esto est´ bien, ya que el fichero stuff no es un programa de ning´ n o a u tipo. Naturalmente, como Larry es el propietario del fichero, se puede conceder a s´ mismo el permiso de ı ejecuci´ n si as´ lo desea. (Esto ser´ descrito en breve) o ı a Los tres caracteres siguientes,(“r--”), representan los permisos del grupo sobre el fichero. El grupo al que pertenece este fichero es users. Como s´ lo aparece una ‘r” aqu´, cualquier usuario que pertenezca al o ı grupo users podr´ leer este fichero. a ´ Los tres ultimos caracteres, tambi´ n (“r--”), representan los permisos concedidos al resto de usuarios e en el sistema (otros que no sean el propietario del fichero ni los del grupo users). De nuevo, como s´ lo o ´ est´ presente la “r”, los otros usuarios podr´ n leer el fichero, pero no escribir en el o ejecutarlo. a a Aqu´ hay algunos otros ejemplos de permisos: ı -rwxr-xr-x El propietario del fichero puede leer, escribir, y ejecutar el fichero. Los usuarios del grupo del fichero, y todos los dem´ s usuarios, pueden leer y ejecutar el fichero. a El due˜ o del fichero puede leer y escribir en el fichero. Ning´ n otro usuario puede acceder n u a este fichero. Todos los usuarios pueden leer, escribir y ejecutar el fichero.

-rw-------

-rwxrwxrwx

3.10.3.

Dependencias

Los permisos concedidos a un fichero dependen tambi´ n de los permisos del directorio en el que est´ loe e calizado el fichero. Por ejemplo, aunque si un fichero est´ fijado a -rwxrwxrwx, otros usuarios no podr´ n a a acceder al fichero si no tienen acceso de lectura y de ejecuci´ n al directorio en el que se encuentra el fichero. o Por ejemplo si Larry quisiera restringir el acceso a todos sus ficheros, podr´a fijar los permisos de su directorio ı principal de usuario /home/larry a -rwx------. De esta forma, ning´ n otro usuario tendr´ acceso a su u a ´ directorio, ni a todos los ficheros y directorios dentro de el. Larry no tiene que preocuparse de los permisos individuales de cada fichero. En otras palabras, para que todos pueden acceder a un fichero, se debe tener acceso en ejecuci´ n para o todos los directorios a lo largo del camino del fichero, y acceso en lectura (o en ejecuci´ n) para el propio o fichero. Normalmente, los usuarios de un sistema GNU/Linux son muy abiertos con sus ficheros. Los permisos t´picos que se le dan a los ficheros son -rw-r--r--, que permiten a otros usuarios leer el fichero pero nunca ı cambiarlo. A los directorios se les suele dar los permisos -rwxr-xr-x, que permiten a otros usuarios mirar por tus directorios, pero no crear o borrar ficheros dentro de ellos. Sin embargo, muchos usuarios desean mantener a los dem´ s lejos de sus ficheros. Si se establecen los a permisos de un fichero a -rw------- se conseguir´ que cualquier otro usuario no puede acceder al fichero. a De la misma forma, al fijarse los permisos de un directorio como -rwx------ se mantiene a otros usuario fuera del directorio en cuesti´ n. o

3.10.4.

Cambio de permisos

La instrucci´ n chmod se usa para establecer los permisos de un fichero. S´ lo el propietario de un fichero o o puede cambiar los permisos de ese fichero. La sintaxis de chmod es
chmod {a,u,g,o}{+,-}{r,w,x} nombre fichero

Brevemente, puede poner uno o m´ s de estos: all (todos), user (usuario), group (grupo), or other a (otros).Despu´ s especifica si est´ s a˜ adiendo derechos (+) o quit´ ndolos (-). Finalmente, especifica uno e a n a o m´ s de estos: read (lectura), write (escritura), y execute (ejecuci´ n). Algunos ejemplos de instrucciones a o correctas son: chmod a+r stuff Da a todos los usuarios permiso de lectura al fichero.

118

Tutorial de GNU/Linux

chmod +r stuff Lo mismo que arriba—si ninguno de a, u, g, o o se especifica, se toma a como predeterminado. chmod og-x stuff Quita el permiso de ejecuci´ n de todos los usuarios menos del propietario. o chmod u+rwx stuff Permite al propietario, leer, escribir y ejecutar el fichero. chmod o-rwx stuff Quita los permisos de lectura, escritura y ejecuci´ n de los usuarios que no son el due˜ o ni o n los usuarios del grupo del fichero.

3.11. Gesti´ n de enlaces a ficheros o
Los enlaces permiten darle a un fichero m´ s de un nombre. Realmente, el sistema identifica los ficheros a ´ ´ por su numero de inodo, que es el unico identificador del fichero para el sistema de ficheros. Un directorio es en realidad una lista de n´ meros de inodos con sus correspondientes nombres de fichero. Cada nombre de u fichero dentro de un directorio es un enlace a un inodo concreto.

3.11.1.

Enlaces r´gidos ı

El comando ln se utiliza para crear m´ ltiples enlaces a un fichero. Por ejemplo, digamos que tiene un u fichero llamado foo en un directorio. Usando ls -i, puede ver el n´ mero de inodo de este fichero. u
/home/larry# ls -i foo 22192 foo /home/larry#

Aqu´, foo tiene un n´ mero de inodo de 22192 en el sistema de ficheros. Puede crear otro enlace a foo, ı u llamado bar, como sigue:
/home/larry# ln foo bar

Con ls -i, puede comprobar que los dos ficheros tienen el mismo n´ mero de inodo. u
/home/larry# ls -i foo bar 22192 bar /home/larry# 22192 foo

Ahora, especificando tanto foo como bar se acceder´ al mismo fichero. Si hace cambios en foo, esos a cambios aparecen tambi´ n en bar. A todos los efectos, foo y bar son el mismo fichero. e A este tipo de enlaces se les conoce como enlaces r´gidos porque directamente crean el enlace al inodo. ı Tenga en cuenta que puede crear enlaces r´gidos s´ lo cuando est´ n en el mismo sistema de ficheros; los ı o e enlaces simb´ licos (ver debajo) no tienen esta restricci´ n. o o Cuando borra un fichero con rm, realmente s´ lo est´ borrando uno de los enlaces a ese fichero. Si usa la o a orden
/home/larry# rm foo

entonces s´ lo el enlace llamado foo se borra, bar todav´a existir´ . Un fichero s´ lo se borra realmente del o ı a o ´ sistema cuando no tiene enlaces. Normalmente, los ficheros tienen un unico enlace, por lo que usando la orden rm se borra el fichero. Sin embargo, si un fichero tiene m´ ltiples enlaces, usando rm s´ lo se borrar´ un u o a ´ enlace simple; para borrar el fichero, deber´ borrar todos los enlaces a el. a El comando ls -l muestra el n´ mero de enlaces a un fichero (entre otra informaci´ n). u o

3.12. Control de tareas.

119

/home/larry# ls -l foo bar -rw-r--r--rw-r--r-/home/larry# 2 root 2 root root root 12 Aug 12 Aug 5 16:51 bar 5 16:50 foo

La segunda columna del listado, ”2”, especifica el n´ mero de enlaces al fichero. u Asi resulta que un directorio no es realmente m´ s que un fichero que contiene informaci´ n sobre asoa o ciaciones enlaces-a-inodos. Adem´ s, cada directorio contiene al menos dos enlaces r´gidos: ”.” (un enlace a ı ´ apuntando a el mismo), y ”..” (un enlace apuntando a su directorio padre). El enlace ”..” del directorio ra´z ı ´ (/) simplemente vuelve a apuntar a /. (En otras palabras, el directorio padre del directorio ra´z es el mismo.) ı

3.11.2.

Enlaces simb´ licos. o

Los enlaces simb´ licos son otro tipo de enlace, diferente al enlace r´gido. Un enlace simb´ lico permite o ı o dar otro nombre a un fichero, pero no enlaza el fichero mediante el inodo. El comando ln -s crea un enlace simb´ lico a un fichero. Por ejemplo, si utiliza la orden o
/home/larry# ln -s foo bar

crear´ un enlace simb´ lico llamado bar que apunte al fichero foo. Si utiliza ls -i, ver´ que los dos a o a ficheros tienen diferentes inodos.
/home/larry# ls -i foo bar 22195 bar 22192 foo /home/larry#

Sin embargo, usando ls -l, vemos que el fichero bar es un enlace simb´ lico apuntando a foo. o
/home/larry# ls -l foo bar lrwxrwxrwx -rw-r--r-/home/larry# 1 root 1 root root root 3 Aug 12 Aug 5 16:51 bar -> foo 5 16:50 foo

Los permisos de fichero de un enlace simb´ lico no se utilizan (siempre aparecen como rxwrxwrxw). o En su lugar, los permisos del enlace simb´ lico est´ n determinados por los permisos del destino del enlace o a simb´ lico (en nuestro ejemplo, el fichero foo). o Funcionalmente, los enlaces r´gidos y simb´ licos son similares, pero hay diferencias. Por un lado, se ı o pueden crear enlaces simb´ licos a ficheros que no existen, cosa que no sucede con los enlaces r´gidos. Los o ı enlaces simb´ licos son procesados de manera distinta a los r´gidos por el n´ cleo, lo que constituye una mera o ı u diferencia t´ cnica pero que a veces puede resultar importante. Los enlaces simb´ licos son de ayuda porque e o identifican al fichero al que apuntan; con enlaces r´gidos, no hay una manera f´ cil de determinar qu´ ficheros ı a e est´ n enlazados al mismo inodo. a Los enlaces se utilizan en muchos lugares dentro de un sistema GNU/Linux. Los enlaces simb´ licos o son especialmente importantes para las bibliotecas compartidas en /lib. Consulte la p´ gina 157 para m´ s a a informaci´ n. o

3.12.
3.12.1.

Control de tareas.
Tareas y procesos.

´ El control de tareas es una caracter´stica que incluyen muchos int´ rpretes de ordenes (incluyendo ı e ´ bash y tcsh) que permiten controlar m´ ltiples ordenes o tareas ejecut´ ndose a la vez. Antes de ir m´ s u a a lejos, hay que hablar de los procesos. Cada vez que se ejecuta un programa, se arranca lo que se denomina un proceso. El comando ps muestra una lista de los procesos actualmente en ejecuci´ n, como se ve aqu´: o ı

120

Tutorial de GNU/Linux

/home/larry# ps PID TT STAT 24 3 S 161 3 R /home/larry# TIME COMMAND 0:03 (bash) 0:00 ps

´ En la primera columna aparece el PID o identificador de proceso, un n´ mero unico dado a cada proceso en u ´ ´ ejecuci´ n. La ultima columna, COMMAND, es el nombre de la orden en ejecuci´ n. Aqu´, estamos viendo unio o ı camente los procesos que est´ ejecutando el propio Larry. (Tambi´ n hay otros muchos procesos en ejecuci´ n a e o ´ ´ rdenes de Larry) y la propia en el sistema—”ps -aux” los lista todos.) Estos son bash (el int´ rprete de o e orden ps. Como puede ver, bash se ejecuta al mismo tiempo que la orden ps. bash hizo que se ejecutara ps cuando Larry escribi´ la orden. Cuando ps ha finalizado su ejecuci´ n (despu´ s de haber mostrado la tabla o o e de procesos), el proceso bash vuelve a tomar el control, y muestra el s´mbolo del sistema, listo para recibir ı otra orden. A un proceso en ejecuci´ n se le llama tambi´ n tarea. Los t´ rminos proceso y tarea son intercambiables. o e e Sin embargo, nos referimos a un proceso como ”tarea” cuando lo usamos en conjunci´ n con control de tareas o ´ —una caracter´stica del int´ rprete de ordenes que permite conmutar entre varios procesos independientes. ı e ´ ´ En muchos casos, los usuarios ejecutan una unica tarea a la vez—cualquiera que fuera el ultimo orden que escribieron. Sin embargo, usando el control de tareas, se puede ejecutar varias tareas a la vez y conmutar entre ellas cuando haga falta. ´ ¿Para qu´ puede ser esto util? Digamos que est´ editando un fichero de texto y quiere interrumpir la e a edici´ n para hacer cualquier otra cosa. Mediante el control de tareas, puede suspender temporalmente el o ´ editor, volver al s´mbolo del int´ rprete de ordenes y empezar a trabajar en otra cosa. Cuando haya terminado, ı e puede volver al editor donde lo dej´ , como si no lo hubiera abandonado. Hay otros muchos usos pr´ cticos del o a control de tareas.

3.12.2.

Primer plano y segundo plano.

Las tareas pueden estar tanto en primer plano como en segundo plano. S´ lo puede haber una tarea en o primer plano cada vez. La tarea que est´ en primer plano es aquella con la que se interact´ a—recibe la entrada a u desde el teclado y env´a la salida a la pantalla, a menos que, por supuesto, se haya redireccionado la entrada o ı la salida, como se describe en la p´ gina 113). Por otro lado, las tareas que est´ n en segundo plano no reciben a a entradas desde el terminal—en general, se ejecutan tranquilamente sin necesidad de interacci´ n. o Algunas tareas tardan mucho tiempo en acabar y no hacen nada interesante mientras se est´ n ejecutando. a Compilar programas es una de esas tareas, como tambi´ n lo es comprimir un fichero grande. No hay ning´ n e u motivo para estar sentado y aburrido mientras espera a que estas tareas acaben; simplemente ejec´ telos en u segundo plano. Mientras esas tareas corren en segundo plano, existe libertad para ejecutar otros programas. Las tareas tambi´ n pueden ser suspendidas. Una tarea suspendida es una tarea que est´ detenida tempoe a ralmente. Despu´ s de suspender una tarea, se puede hacer que contin´ e en primer o segundo plano cuando e u haga falta. Reanudar una tarea suspendida no cambia el estado de la tarea de ninguna manera—la tarea contin´ a su ejecuci´ n por donde se qued´ . u o o Suspender una tarea no es lo mismo que interrumpirla. Cuando se interrumpe un proceso en ejecuci´ n o (pulsando la tecla de interrupci´ n, que suele ser Ctrl-C )10 , se mata ese proceso, para siempre. Una vez que o se mata el proceso, no hay manera de que se reanude. Hay que ejecutar la orden otra vez. Adem´ s, algunos a programas capturan la interrupci´ n, de manera que pulsar Ctrl-C no matar´ inmediatamente al proceso. o a Esto permite al programa llevar a cabo cualquier operaci´ n de limpieza necesaria antes de salir. De hecho, o algunos programas no permitir´ n de ning´ n modo que se les mate mediante interrupci´ n. a u o Comencemos con un ejemplo simple. La orden yes es una orden in´ til en apariencia que manda una u cadena infinita de ys a la salida est´ ndar. (En realidad s´ es util. Si se enlaza mediante una tuber´a la salida de a ı ´ ı yes a otra orden que realice una serie preguntas de s´ o no, la cadena de ys confirmar´ todas las preguntas.) ı a Intent´ moslo: e
10 Se

puede establecer la tecla de interrupci´ n con la orden stty. o

Control de Tareas

121

/home/larry# yes y y y y y

Las ys continuar´ n ad infinitum. Puede matar el proceso pulsando la tecla de interrupci´ n, que normalmente a o a es Ctrl-C . Para que no tengamos que aguantar la molesta cadena de ys, redirijamos la salida est´ ndar de yes a /dev/null. Si recuerda, /dev/null act´ a como un ”agujero negro” para los datos. Cualquier u dato que se le env´e desaparece. Es un modo muy efectivo de silenciar un programa charlat´ n. ı a
/home/larry# yes > /dev/null

´ Ah, mucho mejor. No aparece nada, pero el s´mbolo del int´ rprete de ordenes no vuelve. Esto es porque ı e yes est´ todav´a en ejecuci´ n, y est´ mandando esas in´ tiles ys a /dev/null. Para matar otra vez, la tarea, a ı o a u pulse la tecla de interrupci´ n. o Supongamos que quiere que la orden yes contin´ e su ejecuci´ n pero conservando el s´mbolo del u o ı ´ int´ rprete de ordenes para que pueda trabajar en otras cosas. Puede pasar yes a segundo plano, permie tiendo su ejecuci´ n, sin necesidad de interactuar. o Una manera de poner un proceso en segundo plano es a˜ adir un ”&” al final de la orden. n
/home/larry# yes > /dev/null & [1] 164 /home/larry#

´ Como puede ver, el s´mbolo del int´ rprete de ordenes ha vuelto. Pero ¿qu´ es este ”[1] 164”? Y ¿est´ ejeı e e a cut´ ndose realmente la orden yes? a ´ ´ ”[1]” representa el numero de tarea para el proceso yes. El int´ rprete de ordenes asigna un n´ mero e u ´ de tarea a cada tarea en ejecuci´ n. Dado que yes es la unica tarea que estamos ejecutando, tiene asignado o el n´ mero de trabajo 1. ”164” es el identificador de proceso, o PID, el n´ mero otorgado a la tarea por el u u sistema. Se puede usar cualquiera de los n´ meros para referirse a la tarea, como se ver´ m´ s adelante. u a a Ahora tenemos el proceso yes ejecut´ ndose en segundo plano, mandando continuamente una cadena de a ys a /dev/null. Para comprobar el estado de este proceso, utilizamos la orden interna del int´ rprete de e ´ ordenes jobs.
/home/larry# jobss [1]+ Running yes >/dev/null & /home/larry#

Efectivamente, ah´ est´ . Tambi´ n se podr´a haber utilizado la orden ps tal y como se mostr´ arriba para ı a e ı o comprobar el estado de la tarea. Para acabar con la tarea, utilice la orden kill. Esta orden toma un n´ mero de tarea o un identificador de u ´ proceso como argumento. Esta era la tarea n´ mero 1, as´ que usando la orden u ı
/home/larry# kill %1

se mata la tarea. Cuando se identifica la tarea con su n´ mero de tarea, se debe anteponer al n´ mero un car´ cter u u a de tanto por ciento (” %”). Ahora que ha matado la tarea, utilice jobs otra vez para comprobarlo:
/home/larry# jobs [1]+ Terminated yes >/dev/null

/home/larry#

122

Tutorial de GNU/Linux

Desde luego, la tarea est´ muerta, y si utiliza la orden jobs otra vez, no deber´a aparecer ya nada. a ı Tambi´ n se puede matar la tarea usando el n´ mero de identificaci´ n del proceso (PID), que aparece junto e u o con el n´ mero de tarea cuando lo arranca. En nuestro ejemplo, el identificador de proceso es 164, as´ que la u ı orden
/home/larry# kill 164

equivale a
/home/larry# kill %1

No necesita usar ” %” para hacer referencia a una tarea mediante su identificador de proceso.

3.12.3.

Parando y relanzando tareas

Hay otra manera de pasar una tarea a segundo plano. Puede arrancar la tarea normalmente (en primer plano), suspender la tarea, y reiniciarla en segundo plano. Primero, arranque el proceso yes en primer plano, como hizo antes:
/home/larry# yes > /dev/null

´ Otra vez, como yes est´ ejecut´ ndose en primer plano, no deber´a ver el s´mbolo del int´ rprete de ordenes. a a ı ı e Ahora, mejor que interrumpir la tarea con Ctrl-C , susp´ ndala. Suspender una tarea no la mata: s´ lo e o la detiene temporalmente hasta que se la reinicia de nuevo. Para hacer esto, pulse la tecla de suspensi´ n, que o normalmente es Ctrl-Z .
/home/larry# yes > /dev/null ctrl-Z [1]+ Stopped yes >/dev/null /home/larry#

Mientras la tarea est´ suspendida, simplemente no est´ en ejecuci´ n. No se emplea tiempo de CPU para esa a a o tarea. Sin embargo, puede reiniciar la tarea, lo que provoca que se ejecute otra vez como si nada hubiera pasado. Continuar´ su ejecuci´ n por donde se qued´ . a o o Para reiniciar la tarea en primer plano, utilice la orden fg (de ”foreground”).
/home/larry# fg yes >/dev/null

´ El int´ rprete de ordenes muestra el nombre de la orden otra vez para que est´ al tanto de qu´ tarea acaba e e e de mandar a primer plano. Detenga la tarea otra vez con Ctrl-Z . Esta vez, use la orden bg para pasar la tarea a segundo plano. Esto provoca que la orden se ejecute como si lo hubiera arrancado con ”&”, como en ´ la ultima secci´ n. o
/home/larry# bg [1]+ yes >/dev/null & /home/larry#

´ Y aqu´ tiene su s´mbolo del int´ rprete de ordenes de vuelta. jobs deber´a informar que yes est´ ciertaı ı e ı a mente ejecut´ ndose, y puede matar la tarea con kill como hicimos antes. a a a ¿C´ mo se puede detener la tarea otra vez? Utilizar Ctrl-Z no funcionar´ , porque la tarea est´ en o segundo plano. La respuesta es pasar la tarea a primer plano con fg, y luego detenerla. Tal y como parece, puede utilizar fg tanto en tareas detenidas como en tareas en segundo plano. Hay una gran diferencia entre una tarea en segundo plano y una tarea detenida. Una tarea detenida no est´ en ejecuci´ n —no est´ usando tiempo de CPU, y no est´ haciendo nada (la tarea todav´a ocupa memoria a o a a ı del sistema, aunque puede haber sido volcada a disco). Una tarea en segundo plano s´ est´ ejecut´ ndose y ı a a usando memoria, al tiempo que completa alguna acci´ n mientras usted hace otra cosa. o Sin embargo, una tarea en segundo plano puede intentar mostrar texto por el terminal, lo que puede resultar molesto si est´ intentando trabajar en otra cosa. Por ejemplo, si utiliz´ la orden a o

3.13. Uso del editor vi

123

/home/larry# yes &

sin redirigir stdout a /dev/null, una cadena de ys estar´ apareciendo en la pantalla, sin posibilidad de ina terrumpirla. (No se puede usar Ctrl-C para interrumpir tareas en segundo plano.) Para detener las infinitas ys, utilice la orden fg para pasar la tarea a primer plano, y luego utilice Ctrl-C para matarla. ´ ´ Otra nota. Las ordenes fg y bg normalmente afectan a la ultima tarea detenida (indicado por un ”+” junto al n´ mero de tarea cuando se usa la orden jobs). Si est´ ejecutando diversas tareas a la vez, puede u a pasar tareas a primer o segundo plano pasando el n´ mero de tarea como argumento a fg o bg, como en u
/home/larry# fg %2

(para pasar la tarea n´ mero 2 a primer plano), o u
/home/larry# bg %3

(para pasar la tarea n´ mero 3 a segundo plano). No se pueden usar identificadores de proceso (PID) con fg u o bg. Adem´ s, usar el n´ mero de tarea s´ lamente, como en a u o
/home/larry# %2

equivale a
/home/larry# fg %2

´ Recuerde que el control de tareas es una caracter´stica del int´ rprete de ordenes. Las instrucciones fg, ı e ´ bg y tareas son internas del int´ rprete de ordenes. Si por cualquier motivo usted utiliza un int´ rprete de e e ´ ordenes que no soporte control de tareas, no espere encontrar estas instrucciones disponibles. Por a˜ adidura, hay algunos aspectos del control de tareas que var´an entre bash y tcsh. De hecho, n ı ´ algunos int´ rpretes de ordenes no proporcionan control de tareas en absoluto—de cualquier manera, la e ´ mayor´a de los int´ rpretes de ordenes disponibles para GNU/Linux s´ lo proporcionan. ı e ı

3.13.

Uso del editor vi

Un editor de texto es un programa que se usa para editar ficheros que se componen con texto: una carta, un programa en C o un fichero de configuraci´ n del sistema. Aunque para GNU/Linux hay disponibles o ´ muchos editores de texto, el unico editor que es seguro que vas a encontrar en cualquier sistema UNIX o GNU/Linux es vi — el “editor visual11 .” El editor vi no es el editor m´ s f´ cil de usar, ni es muy autoexplia a cativo. Sin embargo, como vi es tan com´ n en el mundo UNIX/Linux, y algunas veces necesario, merece un u tratamiento aqu´. ı La elecci´ n de su editor es m´ s que nada una cuesti´ n de gusto y estilo personal. Muchos usuarios o a o prefieren el barroco, autoexplicativo y potente GNU emacs —un editor con m´ s posibilidades que cualquier a otro programa en el mundo UNIX. Por ejemplo, GNU emacs tiene su propio dialecto interno del lenguaje de programaci´ n LISP, y tiene muchas extensiones (una de las cuales es un programa de inteligencia artificial o similar a Eliza). Sin embargo, como GNU emacs y sus ficheros de soporte son relativamente extensos, puede que no est´ instalado en algunos sistemas. Por otro lado,vi es peque˜ o y potente pero m´ s dif´cil de usar. De e n a ı todas formas, una vez que conozca la forma de funcionamiento de vi, ser´ realmente muy f´ cil. a a Esta secci´ n presenta una introducci´ n a vi —no hablaremos sobre todas sus caracter´sticas, s´ lo las o o ı o necesarias para empezar. Puede consultar la p´ gina del manual de vi si est´ interesado en aprender m´ s sobre a a a las caracter´sticas del editor. Otra alternativa es leer el libro Learning the vi Editor de O’Reilly y asociados, ı o el Vi Tutorial de Specialized Systems Consultants (SSC) Inc. Mire el Ap´ ndice A para informarse. e

3.13.1. Conceptos
Mientras se usa vi, en cualquier instante estar´ en uno de los tres modos de operaci´ n. Estos modos se a o llaman modo orden, modo inserci´ n, y modo ultima l´nea. o ı ´
11 N.

del T.: visual editor

124

Tutorial de GNU/Linux

´ Cuando arranca vi, est´ en el modo orden. Este modo le permite usar ordenes para editar ficheros o a ´ cambiar a otros modos. Por ejemplo, tecleando “x” en modo ordenes se borra el car´ cter que est´ sobre el a a ´ cursor. Las teclas con flechas mueven el cursor por el documento que est´ editando. Normalmente, las ordenes a usadas en este modo tienen uno o dos caracteres de longitud. Usted realmente inserta o edita texto en el modo inserci´ n. Cuando use vi, probablemente pasar´ la o a mayor parte del tiempo en este modo. Se comienza el modo de inserci´ n usando una orden como “i” ( de o ´ “insertar”) desde el modo ordenes. Cuando est´ en el modo de inserci´ n, puede insertar texto en el documento a o ´ en la posici´ n actual del cursor. Para terminar el modo de inserci´ n y volver al modo ordenes, presione Esc . o o ´ El modo ultima l´nea es un modo especial usado para dar ciertas ordenes extendidas a vi. Mientras teclea ı ´ ´ ´ estas ordenes, aparecen en la ultima l´nea de la pantalla (de aqu´ su nombre). Por ejemplo, cuando teclea “:” ı ı ´ ´ en modo orden, salta al modo ultima l´nea y puedes usar ordenes como “wq” ( para escribir el fichero y salir ı ´ de vi), o “q!” (para salir de vi sin guardar los cambios). El modo ultima l´nea es usado normalmente para ı ´ rdenes de vi que son m´ s largas de un car´ cter. En el modo ultima l´nea, escribe una orden de una s´ la ´ las o a a ı o l´nea y pulsa return para ejecutarla. ı

3.13.2.

Comenzando con vi

La mejor forma de comprender estos conceptos es arrancar vi y editar un fichero. El ejemplo “screens” de abajo muestra s´ lo unas pocas l´neas de texto, como si la pantalla tuviera seis l´neas de longitud en vez de o ı ı 24. La sintaxis de vi es
vi fichero

donde fichero es el nombre del fichero a editar. Arranque vi tecleando
/home/larry# vi test

para editar el fichero test. Deber´a ser algo como: ı
˜ ˜ ˜ ˜ ˜ ˜ "test"[New file]

La columna de caracteres “˜” le indica que est´ al final del fichero. El representa el cursor. a

3.13.3. Insertando texto
El programa vi est´ ahora en modo orden. Inserte texto en el fichero pulsando i , que pone al editor en a el modo inserci´ n, y empiece a teclear. o
Now is the time for all good men to come to the aid of the party. ˜ ˜ ˜ ˜ ˜

Teclee cuantas l´neas quiera (pulsando return despu´ s de cada una). Tal vez quiera corregir fallos con ı e la tecla Backspace . Para finalizar el modo de inserci´ n y volver al modo orden pulse Esc . o

Uso del editor vi

125

En el modo orden puede usar las teclas de flecha para moverse por el fichero. (Si s´ lo tiene una l´nea de o ı texto, el intentar usar las teclas de flechas de arriba y abajo probablemente causar´ que vi emita un pitido.) a Hay diversas formas de insertar texto adem´ s de la orden i. La orden a inserta texto empezando despu´ s a e de la posici´ n actual del cursor, en vez de en la posici´ n actual del cursor. Por ejemplo, use la tecla de flecha o o izquierda para mover el cursor entre las palabras “good” y “men.”
Now is the time for all good men to come to the aid of the party. ˜ ˜ ˜ ˜ ˜

Pulse a para empezar el modo inserci´ n, teclee “wo”, y luego pulse Esc para volver al modo orden. o
Now is the time for all good women to come to the aid of the party. ˜ ˜ ˜ ˜ ˜

Para empezar insertando texto en la siguiente l´nea, use la orden o. Pulse o e inserte una o dos l´neas: ı ı
Now is the time for all good humans to come to the aid of the party. Afterwards, we’ll go out for pizza and beer. ˜ ˜ ˜ ˜

3.13.4.

Borrando texto

En modo orden, la orden x borra el car´ cter debajo del cursor. Si pulsa x cinco veces, terminar´ con: a a
Now is the time for all good humans to come to the aid of the party. Afterwards, we’ll go out for pizza and ˜ ˜ ˜ ˜

Ahora pulse a e inserte algo de texto, seguido por esc :
Now is the time for all good humans to come to the aid of the party. Afterwards, we’ll go out for pizza and Diet Coke. ˜ ˜ ˜ ˜

Puede borrar l´neas enteras usando la orden dd (esto es, pulsar d dos veces en una fila). Si el cursor est´ en ı a la segunda l´nea y teclea dd, ver´ : ı a

126

Tutorial de GNU/Linux

Now is the time for all good humans to come to the aid of the party. ˜ ˜ ˜ ˜ ˜

Para borrar la palabra sobre la que est´ el cursor, use la orden dw. Coloque el cursor en la palabra “good”, a y teclee dw.
Now is the time for all humans to come to the aid of the party. ˜ ˜ ˜ ˜ ˜

3.13.5.

Cambiando texto

Puede reemplazar secciones de texto usando la orden R . Ponga el cursor en la primera letra de “party”, pulse R , y teclee la palabra “hungry”.
Now is the time for all humans to come to the aid of the hungry. ˜ ˜ ˜ ˜ ˜

´ Usar R para editar texto es como las ordenes i y a , pero R sobreescribe, mejor que insertar, texto. ´ La orden r reemplaza el unico car´ cter debajo del cursor. Por ejemplo mueva el cursor al principio de la a palabra “Now”, y presione r seguido de C, ver´ : a
Cow is the time for all humans to come to the aid of the hungry. ˜ ˜ ˜ ˜ ˜

La orden “˜” cambia la letra bajo el cursor de may´ sculas a min´ sculas y viceversa. Por ejemplo, si u u coloca el cursor en la “o” de “Cow” arriba y presiona repetidamente ˜ , terminar´ con: a
COW IS THE TIME FOR ALL WOMEN TO COME TO THE AID OF THE HUNGRY. ˜ ˜ ˜ ˜ ˜

3.13.6.

´ Ordenes para mover el cursor

Ya conoce c´ mo usar las teclas de las flechas para moverse por el documento. Adem´ s puede usar las o a ´ ´ ordenes h, j, k, y l para mover el cursor a la izquierda, abajo, arriba y derecha, respectivamente. Esto es util cuando (por alguna raz´ n) sus teclas de flechas no esten funcionando correctamente. o La orden w mueve el cursor al principio de la siguiente palabra. La orden b lo mueve al principio de la palabra anterior.

Uso del editor vi

127

La orden 0 (la tecla cero) mueve el cursor al principio de la l´nea actual, y la orden $ lo mueve hasta al ı final de la l´nea. ı Cuando se est´ editando un fichero largo, querr´ moverse hacia delante o hacia detr´ s por el fichero una a a a pantalla de una vez. Presionando Ctrl-F se mueve el cursor una pantalla hacia delante, y Ctrl-B lo mueve una pantalla hacia atr´ s. a Para mover el cursor al final del fichero, presione G. Puede moverse tambi´ n a una l´nea arbitraria; por e ı ejemplo, tecleando la orden 10G el cursor se mover´ a la l´nea 10 del fichero. Para moverse al principio del a ı fichero, use 1G. ´ ´ Puede emparejar ordenes de movimientos con otras ordenes, tales como aquellas para borrar texto. Por ejemplo, la orden d$ borra todo desde el cursor hasta el final de la l´nea; dG borra todo desde el cursor hasta ı el final del fichero, y as´ todas. ı

3.13.7. Guardandando ficheros y saliendo de vi
Para abandonar vi sin hacer cambios al fichero, usa la orden :q!. Cuando pulsa “:”, el cursor se mueve ´ ´ a la ultima l´nea de la pantalla y estar´ en el modo ultima l´nea. ı a ı
COW IS THE TIME FOR ALL WOMEN TO COME TO THE AID OF THE HUNGRY. ˜ ˜ ˜ ˜ ˜ :

´ ´ En el modo ultima l´nea, hay disponibles ciertas ordenes extendidas Una de ellos es q!, que sale de vi sin ı guardar. La orden :wq guarda el fichero y entonces sale de vi. La orden ZZ (desde el modo orden, sin el ´ “:”) es equivalente a :wq. Si el fichero no ha sido cambiado desde la ultima vez que se guard´ , simplemente o ´ sale, guardando la hora de modificaci´ n del ultimo cambio. Recuerde que debe presionar return despu´ s de o e ´ una orden introducida en el modo ultima l´nea. ı Para guardar el fichero sin salir de vi, use :w.

3.13.8. Edici´ n de otro fichero o
Para editar otro fichero, use la orden :e. Por ejemplo, para parar de editar test y editar el fichero foo en su lugar, use la orden
COW IS THE TIME FOR ALL WOMEN TO COME TO THE AID OF THE HUNGRY. ˜ ˜ ˜ ˜ ˜ :e foo

Si usa :e sin guardar el fichero primero, obtendr´ s el mensaje de error a
No write since last change (":edit!.overrides)

que significa que vi no quiere editar otro fichero hasta que guarde el primero. En este punto, puede usar :w para guardar el fichero original, y entonces usar :e, o puede usar la orden
COW IS THE TIME FOR ALL WOMEN TO COME TO THE AID OF THE HUNGRY. ˜ ˜ ˜ ˜ ˜ :e! foo

128

Tutorial de GNU/Linux

La orden “!” le dice a vi lo que realmente quiere hacer usted — editar el nuevo fichero sin salvar los cambios del primero.

3.13.9.

Inclusi´ n de otros ficheros o

Si usa la orden :r, puede incluir los contenidos de otro fichero en el fichero actual. Por ejemplo, la orden
:r foo.txt

inserta los contenidos del fichero foo.txt en el texto en la posici´ n del cursor. o

3.13.10.

´ Ejecuci´ n de ordenes del int´ rprete o e

´ Tambi´ n puede ejecutar ordenes del int´ rprete de comandos dentro de vi. La orden :r! funciona como e e :r, pero en lugar de leer un fichero, inserta la salida de una determinada orden en la posici´ n actual del o cursor. Por ejemplo, si usa la orden
:r! ls -F

terminar´ con a
COW IS THE TIME FOR ALL WOMEN TO COME TO THE AID OF THE HUNGRY. letters/ misc/ papers/ ˜ ˜

Tambi´ n puede salir a un int´ rprete de comandos desde vi, en otras palabras, ejecutar una orden desde dentro e e de vi, y volver al editor cuando haya terminado. Por ejemplo, si usa la orden
:! ls -F

la orden ls -F ser´ ejecutada y los resultados se mostrar´ n en la pantalla, pero no insertados en el fichero a a que est´ editando. Si usa la orden a
:shell

vi empieza una instancia (copia) de la shell, permitiendole temporalmente poner vi “en suspenso” mientras ´ ejecuta otras ordenes. S´ lo tiene que salir de la shell (usando la orden exit ) para volver a vi. o

3.13.11.

Obtenci´ n de ayuda o

El editor vi no proporciona demasiada ayuda interactiva (la mayor´a de los programas GNU/Linux no lo ı hacen), pero siempre puede leer las p´ ginas del manual de vi. Como vi es un “front-end” visual del editor a ´ ´ ex; que maneja muchas de las ordenes del modo ultima l´nea de vi Adem´ s de leer la p´ gina del manual de ı a a vi, mire tambi´ n la de ex. e

3.14.

Personalizando su entorno

´ El int´ rprete de ordenes proporciona muchos mecanismos para personalizar su entorno de trabajo. Como e ´ hemos mencionado antes, el int´ rprete de ordenes es m´ s que un mero int´ rprete—es tambi´ n un poderoso e a e e ´ lenguaje de programaci´ n. Aunque escribir guiones del int´ rprete de ordenes es una tarea extensa, nos guso e tar´a introducirle algunas formas en las que puede simplificar su trabajo en un sistema UNIX mediante el uso ı de caracter´sticas avanzadas del int´ rprete. ı e Como mencionamos antes, diferentes int´ rpretes usan diferentes sintaxis para la ejecuci´ n de guiones. e o Por ejemplo, Tcsh usa una notaci´ n al estilo C, mientras que Bourne usa otro tipo de sintaxis. En esta secci´ n o o no nos fijaremos en las diferencias entre los dos y supondremos que los guiones se escriben con la sintaxis ´ del int´ rprete de ordenes Bourne. e

3.14. Personalizando su entorno

129

3.14.1.

´ Guiones del int´ rprete de ordenes e

´ Supongamos que usa una serie de ordenes a menudo, y le gustar´a acortar el tiempo requerido para teclear ı ´ ´ agrup´ ndolos en una unica “orden”. Por ejemplo, las ordenes a
/home/larry# cat cap´tulo1 cap´tulo2 capitulo3 > libro ı ı /home/larry# wc -l libro /home/larry# lp libro

concatenar´ n los ficheros cap´tulo1, cap´tulo2 y cap´tulo3 y guardar´ el resultado en el fichero a ı ı ı a libro. Entonces, se mostrar´ el recuento del n´ mero de l´neas del fichero libro y finalmente se impria u ı mir´ con la intrucci´ n lp. a o ´ ´ En lugar de teclear todas esas ordenes, podr´a agruparlas en un gui´ n del int´ rprete de ordenes. Descriı o e ´ bimos los guiones brevemente en la Secci´ n 3.14.1. El gui´ n usado para ejecutar todas las ordenes ser´a o o ı
#!/bin/sh # Un gui´n para crear e imprimir el libro o cat cap´tulo1 cap´tulo2 cap´tulo3 > libro ı ı ı wc -l libro lp libro

Si el gui´ n se salva en el fichero hacerlibro, podr´a simplemente usar la orden o ı
/home/larry# hacerlibro

´ para ejecutar todas las ordenes del gui´ n. Los guiones son simples ficheros de texto; puede crearlos con un o editor como emacs o vi 12 . Veamos este gui´ n. La primera l´nea “#!/bin/sh”, identifica el fichero como un gui´ n y le dice al o ı o ´ int´ rprete de ordenes c´ mo ejecutarlo. Instruye al int´ rprete a pasarle el gui´ n a /bin/sh para la ejecuci´ n, e o e o o donde /bin/sh es el programa del int´ rprete. ¿Por qu´ es esto importante? En la mayor´a de los sistemas e e ı ´ UNIX /bin/sh es un int´ rprete de ordenes Bourne, como Bash. Forzando al gui´ n a ejecutarse usando e o /bin/sh nos estamos asegurando de que ser´ interpretado seg´ n la sintaxis de Bourne. Esto har´ que el a u a ´ gui´ n se ejecute usando la sintaxis Bourne aunque est´ usando Tcsh como int´ rprete de ordenes. o e e La segunda l´nea es un comentario. Estos comienzan con el car´ cter “#” y contin´ an hasta el final de la ı a u ´ l´nea. Los comentarios son ignorados por el int´ rprete de ordenes—son habitualmente usados para identificar ı e el gui´ n con el programador. o ´ El resto de las l´neas del gui´ n son simplemente ordenes como las que podr´a teclear directamente. En ı o ı ´ efecto, el int´ rprete de ordenes lee cada l´nea del gui´ n y ejecuta la l´nea como si hubiese sido tecleada en la e ı o ı ´ l´nea de ordenes. ı Los permisos son importantes para los guiones. Si crea un gui´ n, debe asegurarse de que tiene permisos o de ejecuci´ n para poder ejecutarlo13 . La orden o
/home/larry# chmod u+x hacerlibro

puede usarse para dar permisos de ejecuci´ n al gui´ n hacerlibro. o o

3.14.2.

´ Variables del int´ rprete de ordenes y el entorno e

´ El int´ rprete de ordenes le permite definir variables como la mayor´a de los lenguajes de programaci´ n. e ı o Una variable es simplemente un trozo de datos al que se le da un nombre. N´ tese que Tcsh, as´ como otros int´ rpretes del estilo C, usan un mecanismo diferente para inicializar o ı e variables del descrito aqu´. Esta discusi´ n supondr´ el uso del int´ rprete Bourne, como es Bash (el cual ı o a e probablemente est´ usando). Vea la p´ gina de manual de Tcsh para m´ s detalles. a a a Cuando asigna un valor a una variable (usando el operador “=”), puede acceder a la variable a˜ adiendo a n su nombre “$”, como se ve a continuaci´ n. o
12 vi 13 Cuando

se describe en la Secci´ n 3.13. o crea ficheros de texto, los permisos por omisi´ n usualmente no incluyen los de ejecuci´ n. o o

130

Tutorial de GNU/Linux

/home/larry# foo=‘‘hola all´’’ ı

A la variable foo se le da el valor “hola all´”. Podemos ahora hacer referencia a ese valor a trav´ s del ı e nombre de la variable con el prefijo “$”. La orden
/home/larry# echo $foo hola all´ ı /home/larry#

produce el mismo resultado que
/home/larry# echo ‘‘hola all´’’ ı hola all´ ı /home/larry#

Estas variables son internas al int´ rprete. Esto significa que s´ lo este podr´ acceder a las variables. Esto e o ´ a ´ puede ser util en los guiones; si necesita mantener, por ejemplo, el nombre de un fichero, puede almacenarlo en una variable. Usando la orden set mostrar´ una lista de todas las variables definidas en el int´ rprete de a e ´ ordenes. ´ De cualquier modo, el int´ rprete de ordenes permite exportar variables al entorno. El entorno es el e ´ conjunto de variables a las cu´ les tienen acceso todas las ordenes que ejecute. Una vez que se define una a variable en el int´ rprete, exportarla hace que se convierta tambi´ n en parte del entorno. La orden export se e e usa para exportar variables al entorno. De nuevo, hemos de diferenciar entre Bash y Tcsh. Si est´ usando Tcsh, deber´ usar una sintaxis diferente a a para las variables de entorno (se usa la orden setenv). Dir´jase a la p´ gina de manual de Tcsh para m´ s ı a a informaci´ n. o ´ El entorno es muy importante en un sistema UNIX. Le permite configurar ciertas ordenes simplemente ´ inicializando variables con las ordenes ya conocidas. Veamos un ejemplo r´ pido. La variable de entorno PAGER se usa por la orden man. Especifica la orden a que se usar´ para mostrar las p´ ginas del manual una a una. Si inicializa PAGER con el nombre del programa, a a se usar´ este para mostrar las p´ ginas de manual en lugar de more (el cu´ l es usado por omisi´ n). a´ a a o Inicialice PAGER a “cat”. Esto har´ que la salida de man sea mostrada de una vez, sin pausas entre a p´ ginas. a
/home/larry# PAGER=‘‘cat’’

Ahora exportamos PAGER al entorno.
/home/larry# export PAGER

Pruebe la orden man ls. La p´ gina deber´a volar por su pantalla sin detenerse entre p´ ginas. a ı a Ahora, si inicializa PAGER a “more”, se usar´ la orden more para mostrar las p´ ginas del manual. a a
/home/larry# PAGER=‘‘more’’

N´ tese que no hemos de usar la orden export despu´ s del cambio de la variable PAGER. Solo hemos de o e exportar las variables una vez; cualquier cambio efectuado con posterioridad ser´ autom´ ticamente propagado a a al entorno. Las p´ ginas de manual para una orden en particular, le informar´ n acerca del uso de alguna variable de a a entorno por parte de esa orden; por ejemplo, la p´ gina de manual de man explica que PAGER es usado para a especificar la orden de paginado. ´ ´ Algunas ordenes comparten variables de entorno; por ejemplo, muchas ordenes usan la variable EDITOR para especificar el editor por omisi´ n que se usar´ si es necesario. o a El entorno es tambi´ n usado para guardar informaci´ n importante acerca de la sesi´ n en curso. Un ejeme o o plo es la variable de entorno HOME, que contiene el nombre del directorio de origen del usuario.
/home/larry/papers# echo $HOME /home/larry

3.14. Personalizando su entorno

131

Otra variable de entorno interesante es PS1, la cu´ l define el indicador (“prompt”) principal que usar´ el a a int´ rprete. Por ejemplo, e
/home/larry# PS1=‘‘Su instrucci´n, por favor: ’’ o Su instrucci´n, por favor: o

Para volver a inicializar el “prompt” a su valor habitual (el cual contiene el directorio actual seguido por el s´mbolo “#”), ı
Su instrucci´n , por favor: PS1=‘‘-w# -’’ o /home/larry#

La p´ gina de manual de bash describe la sintaxis usada para inicializar el indicador. a 3.14.2.1. La variable de entorno PATH

Cuando usa la orden ls ¿c´ mo encuentra el int´ rprete el programa ejecutable ls?. De hecho, ls se eno e cuentra en /bin/ls en la mayor´a de los sistemas. El int´ rprete usa la variable de entorno PATH (“camino”) ı e ´ para localizar los ficheros ejecutables u ordenes que tecleamos. Por ejemplo, su variable PATH puede inicializarse a:
/bin:/usr/bin:/usr/local/bin:.

Esto es una lista de directorios en los que el int´ rprete debe buscar. Cada directorio est´ separado por un e a “:”. Cuando usa la orden ls, el int´ rprete primero busca /bin/ls, luego /usr/bin/ls y as´ hasta que e ı lo localice o acabe la lista. N´ tese que PATH no interviene en la localizaci´ n de ficheros regulares. Por ejemplo, si usa la orden o o
/home/larry# cp foo bar

El int´ rprete no usar´ PATH para localizar los ficheros foo y bar—esos nombres se suponen completos. e a S´ lo se usar´ PATH para localizar el programa ejecutable cp. o a ´ ´ Esto le permitir´ ahorrar mucho tiempo; significa que no deber´ recordar oonde se guardans las instruca a ciones. En muchos sistemas los ficheros ejecutables se dispersan por muchos sitios, como /usr/bin, /bin o /usr/local/bin. En lugar de dar el nombre completo con el camino (como /usr/bin/cp), solo hemos de inicializar PATH con la lista de los directorios donde queremos que se busquen autom´ ticamente. a N´ tese que PATH contiene “.”, el cual es el directorio actual de trabajo. Esto le permite crear guiones o o programas y ejecutarlos desde su directorio de trabajo actual sin tener que especificarlo directamente (como en ./makebool). Si un directorio no est´ en su PATH, entonces el int´ rprete no buscar´ en el ordenes para a e a ´ ´ ejecutar—´ sto incluye al directorio de trabajo. e

3.14.3.

Guiones de inicializaci´ n del int´ rprete o e

´ ´ A parte de los guiones que puede crear, hay un n´ mero de estos que usa el int´ rprete de ordenes para cieru e tos prop´ sitos. Los m´ s importantes son sus guiones de inicializaci´ n, guiones autom´ ticamente ejecutados o a o a por el int´ rprete al abrir una sesi´ n. e o Los guiones de inicializaci´ n son eso, simples guiones como los descritos arriba. De cualquier modo, son o ´ muy utiles para la inicializaci´ n de su entorno al ejecutarse autom´ ticamente. Por ejemplo, si siempre usa la o a orden mail para comprobar si tiene correo al iniciar una sesi´ n, incluya en su gui´ n de inicializaci´ n dicha o o o orden y ser´ ejecutada autom´ ticamente. a a Tanto Bash como Tcsh distinguen entre un int´ rprete de presentaci´ n y otras invocaciones del int´ rprete. e o e Un int´ rprete de presentaci´ n es el que se ejecuta en el momento de la presentaci´ n al sistema (login). Es el e o o ´ unico que usar´ . De cualquier modo, si ejecuta una opci´ n de salir a un int´ rprete desde alg´ n programa, como a o e u ´ vi, inicializa otra instancia del int´ rprete de ordenes, el cual no es su int´ rprete de presentaci´ n. Adem´ s, e e o a en cualquier momento que ejecuta un gui´ n, autom´ ticamente est´ arrancando otro int´ rprete que va a ser el o a a e encargado de ejecutar el gui´ n. o

132

Tutorial de GNU/Linux

Los ficheros de inicializaci´ n usados por Bash son: /etc/profile (configurado por el administrao dor del sistema, y ejecutado por todos los usuarios de Bash en el momento de la presentaci´ n al sistema), o $HOME/.bash profile (ejecutado por una sesi´ n de presentaci´ n Bash) y $HOME/.bashrc (ejecutao o das por todas las sesiones Bash que no son de presentaci´ n). Si .bash profile no est´ presente, se usa o a en su lugar .profile Tcsh usa los siguientes guiones de inicializaci´ n: /etc/csh.login (ejecutado por todos los usuarios o de Tcsh en el momento de la presentaci´ n al sistema), $HOME/.tcshrc (ejecutado en la presentaci´ n al o o sistema por todas las instancias nuevas de Tcsh) y $HOME/.login (ejecutado en la presentaci´ n al sistema, o seguido .tcshrc). Si .tcshrc no est´ presente, .cshrc se usa en su lugar. a Para entender completamente la funci´ n de estos ficheros, necesitar´ aprender m´ s acerca del int´ rprete o a a e ´ de ordenes. La programaci´ n de guiones es una materia complicada, m´ s all´ del alcance de este libro. Lea o a a las p´ ginas de manual de bash y/o tcsh para aprender m´ s sobre la configuraci´ n de su entorno. a a o

3.15.

¿Quiere seguir por su cuenta?

Este cap´tulo deber´a proporcionarle informaci´ n suficiente para un uso b´ sico de GNU/Linux. ı ı o a Las p´ ginas del manual son herramientas indispensables para aprender GNU/Linux. Pueden parecer cona fusas al principio, pero hay abundante informaci´ n si indaga bajo la superficie. o Tambi´ n le sugerimos que lea un libro sobre GNU/Linux en general. GNU/Linux tiene otras caracter´stie ı cas adem´ s de las que aparecen a primera vista. Desafortunadamente, muchas est´ n m´ s all´ del alcance de a a a a este libro. Otros libros sobre GNU/Linux recomendados est´ n listados en el Ap´ ndice A a e

Cap´tulo 4 ı

Administraci´ n del Sistema o
Este cap´tulo cubre las cosas m´ s importantes que se necesitan saber acerca de la administraci´ n del ı a o sistema para comenzar a usarlo sin problemas. Para que el cap´tulo tenga un tama˜ o razonable, cubre s´ lo lo ı n o b´ sico y omite muchos detalles importantes. El libro Linux System Administrator’s Guide, de Lars Wirzenius a (ver Ap´ ndice A) proporciona m´ s detalles sobre la administraci´ n del sistema. Adem´ s ayudar´ a entender e a o a a mejor c´ mo trabajan y cuelgan las cosas entre s´. o ı

4.1. La cuenta root
GNU/Linux diferencia entre varios usuarios. Lo que puede hacer cada uno con respecto a los dem´ s a est´ regulado. Los permisos de ficheros est´ n regulados de manera que los usuarios normales no puedan a a borrar o modificar ficheros de directorios como /bin y /usr/bin. Muchos usuarios protegen sus ficheros con los permisos apropiados, para que otros usuarios no tengan acceso a ellos (uno no querr´a que nadie ı leyese sus cartas de amor). Cada usuario tiene una cuenta que incluye su nombre de usuario y su directorio “home”. Adem´ s, hay cuentas especiales definidas por el sistema que tienen privilegios especiales. La m´ s a a importante de todas es la cuenta root, que usa el administrador del sistema. Por convenio, el administrador del sistema es el usuario root. ´ No hay restricciones para root. El o ella puede leer, modificar o borrar cualquier fichero del sistema, cambiar los permisos y la propiedad de los ficheros y ejecutar programas especiales como los que particionan un disco duro o crean sistemas de ficheros. La idea fundamental es que es una persona que vigila los registros del sistema y que realiza tareas que no pueden ejecutar los usuarios normales. Puesto que root puede hacer cualquier cosa, es f´ cil cometer errores con consecuencias catastr´ ficas. a o Si un usuario normal tratase inadvertidamente de borrar todos los ficheros de /etc, el sistema no se lo permitir´a. Sin embargo, si lo intentase root el sistema no se lo impedir´a. Es muy f´ cil destrozar un sistema ı ı a GNU/Linux usando root. La mejor manera de prevenir accidentes es: Pens´ rselo dos veces antes de pulsar Enter para una orden no reversible. Si se va a borrar un direca torio, revisar la orden completa para estar seguro de que es correcta. Usar un prompt diferente para la cuenta root. En los ficheros .bashrc o .login de la cuenta root deber´a especificarse el prompt con algo diferente al del resto de usuarios. Mucha gente reserva ı el car´ cter “#” para el prompt de root y usa “$” para el del resto de usuarios. a Entrar como root s´ lo cuando sea estrictamente necesario. Cuando se hayan finalizado las tareas o como administrador del sistema, salir de dicha cuenta. Cuanto menos se utilice dicha cuenta, menos da˜ o podr´ provocarle al sistema. n a Uno se puede imaginar la cuenta root como un sombrero m´ gico que le da inmensos poderes y con a el que se puede, simplemente moviendo las manos, destruir ciudades enteras. Es una buena imagen para ser cuidadoso y saber lo que se tiene entre manos. Puesto que es tan f´ cil destruir cosas con sus manos, no es una a buena idea ponerse el sombrero cuando no hace falta, a pesar de la magn´fica sensaci´ n. ı o 133

134

Administraci´ n del Sistema o

Comentaremos con m´ s detalle las responsabilidades del administrador del sistema a partir de la p´ gia a na 142.

4.2. Iniciando el Sistema
Hay varias maneras de arrancar el sistema, bien sea desde disquete o bien desde el disco duro.

4.2.1.

Utilizando un disquete de arranque

Mucha gente arranca Linux utilizando un disquete de inicio que contiene una copia del n´ cleo de Linux. u ´ Este n´ cleo tiene la partici´ n ra´z de Linux codificada en el, para que sepa donde buscar en el disco duro el u o ı sistema de ficheros ra´z. (El comando rdev puede ser utilizado para poner la partici´ n ra´z en la imagen del ı o ı n´ cleo; ver m´ s adelante.) Por ejemplo, este es el tipo de disquete creado por Slackware durante la instalaci´ n. u a o Para crear un disquete de arranque propio, hay que localizar en primer lugar la imagen del n´ cleo en u su disco duro. Debe estar en el fichero /Image o /etc/Image. Algunas instalaciones utilizan el fichero /vmlinux para el n´ cleo. u En su lugar, puede que haya un n´ cleo comprimido. Un n´ cleo comprimido se descomprime a s´ mismo u u ı en memoria en tiempo de arranque, y utiliza mucho menos espacio en el disco duro. Si se tiene un n´ cleo u comprimido, puede encontrarse en el fichero /zImage o /etc/zImage. Algunas instalaciones utilizan el fichero /vmlinuz para el n´ cleo comprimido. u Una vez que se sabe donde est´ el n´ cleo, hay que poner el nombre de la partici´ n ra´z de un dispositivo a u o ı ra´z en la imagen del n´ cleo, utilizando la orden rdev. El formato de este comando es ı u
rdev nombre-de-n´ cleo dispositivo-ra´z u ı

donde nombre-del-n´ cleo es el nombre de la imagen del n´ cleo, y dispositivo-ra´z es el nombre de la partici´ n u u ı o ra´z de Linux. Por ejemplo, para hacer que el dispositivo ra´z en el n´ cleo /etc/Image sea /dev/hda2, ı ı u utilice la orden
# rdev /etc/Image /dev/hda2

rdev tambi´ n se pueden poner otras opciones en el n´ cleo, como puede ser el modo SVGA por defecto e u a utilizar en tiempo de arranque. Utilizando rdev -h se obtiene un mensaje de ayuda. Una vez puesto el dispositivo ra´z, tan s´ lo hay que copiar la imagen del n´ cleo al disquete. Siempre que ı o u se copia datos a un disquete, es una buena idea formatear previamente el disquete, usando el FORMAT.COM en MS-DOS o el programa fdformat de Linux. Esto establece la informaci´ n de pista y sector en el disquete o con la que puede detectarse como de alta o baja densidad. El formateo de disquetes y las controladoras de los mismos se discuten m´ s tarde en la p´ gina 150. a a Para copiar el n´ cleo en el fichero /etc/Image al disquete en /dev/fd0, se puede utilizar la orden: u
# cp /etc/Image /dev/fd0

Este disquete debe arrancar ahora Linux.

4.2.2.

Utilizando LILO

Otro m´ todo de arranque es utilizar LILO, un programa que reside en el sector de arranque del disco duro. e Este programa se ejecuta cuando el sistema se inicia desde el disco duro, y puede arrancar autom´ ticamente a Linux desde una imagen de n´ cleo almacenada en el propio disco duro. u LILO puede utilizarse tambi´ n como una primera etapa de carga de varios sistemas operativos, permie tiendo seleccionar en tiempo de arranque qu´ sistema operativo (como Linux o MS-DOS) arrancar. Cuando e se arranca utilizando LILO, se inicia el sistema operativo por defecto, a menos que pulse shift durante la secuencia de arranque o se especifique el el fichero /etc/lilo.conf. En cualquiera de estos casos, se presentar´ un indicador de arranque, donde debe teclear el nombre del sistema operativo a arrancar (como a a puede ser “linux” o “msdos”). Si se pulsa la tecla tab en el indicador de arranque, se le presentar´ una lista de los sistemas operativos disponibles.

Iniciando el Sistema

135

La forma m´ s simple de instalar LILO es editar el fichero de configuraci´ n, /etc/lilo.conf, y a o ejecutar la instrucci´ n o
# /sbin/lilo

El fichero de configuraci´ n de LILO contiene un p´ rrafo para cada sistema operativo que se pueda querer o a arrancar. La mejor forma de mostrarlo es con un ejemplo de un fichero de configuraci´ n LILO. El ejemplo o siguiente es para un sistema que tiene una partici´ n ra´z Linux en /dev/hda1 y una partici´ n MS-DOS en o ı o /dev/hda2.
# Le indicamos a LILO que modifique el registro de arranque de # /dev/hda (el primer disco duro no-SCSI). Si se quiere arrancar desde # una unidad distinta de /dev/hda, se debe cambiar la siguiente l´nea ı boot = /dev/hda # Modo de v´deo ı vga = normal # Tiempo de respuesta en milisegundos. Tiempo del que se dispone para # pulsar ‘‘SHIFT’’. delay = 60 # Nombre del cargador de arranque. No hay raz´n para cambiarlo, a menos o # que se este haciendo una modificaci´n seria del LILO o install = /boot/boot.b # Esto fuerza a LILO a solicitar el Sistema Operativo con el que se va # a arrancar. Si se pulsa ’TAB’ se presentan las distintas opciones, # de acuerdo con los ’label=’ siguientes. indicador de ´rdenes o # Dejemos a LILO efectuar alguna optimizaci´n. o compact # Parrafo para la partici´n ra´z de Linux en /dev/hda1. o ı image = /etc/Image # Ubicaci´n del n´cleo o u label = linux # Nombre del SO (para el men´ de arranque de LILO) u root = /dev/hda1 # Ubicaci´n de la partici´n ra´z o o ı vga = ask # Indicar al n´cleo que pregunte por modos SVGA u # en tiempo de arranque # P´rrafo para la partici´n MSDOS en /dev/hda2. a o other = /dev/hda2 # Ubicaci´n de la partici´n o o table = /dev/hda # Ubicaci´n de la tabla de partici´n para /dev/hda2 o o label = msdos # Nombre del SO (para el men´ de arranque) u

El primer p´ rrafo de sistema operativo en el men´ del fichero de configuraci´ n ser´ el sistema operativo a u o a que arrancar´ LILO por defecto. Se puede seleccionar otro sistema operativo en el indicador de arranque de a LILO, tal y como se indic´ anteriormente. o El instalador de Microsoft Windows ’95 sobreescribe el sector de arranque. Si va a instalar Windows ’95 en su sistema despu´ s de instalar LILO, debe asegurarse de crear un disquete de inicio antes, ver 4.2). Con e el disquete de inicio, puede iniciar Linux y reinstalar LILO tras la instalaci´ n Windows ’95. Simplemente o escribiendo como “root” la orden /sbin/lilo. Las particiones con Windows ’95 se pueden configurar de forma totalmente equivalente a la vista anteriormente con particiones de MS-DOS. Las FAQ (Preguntas frecuentemente formuladas) (ver Ap´ ndice A) dan m´ s informaci´ n sobre LILO, e a o incluyendo c´ mo utilizar LILO con el “OS/2’s Boot Manager”. o

136

Administraci´ n del Sistema o

4.3. Parada del sistema
Cerrar un sistema GNU/Linuxtiene algo de truco. Hay que recordar que nunca se debe cortar la corriente o pulsar el bot´ n de apagado mientras el sistema est´ ejecut´ ndose. El n´ cleo sigue la pista de la entrada/salida o e a u a disco en “buffers” de memoria. Si se reinicializa el sistema sin darle al n´ cleo la oportunidad de escribir u sus “buffers” a disco, puede corromper sus sistemas de ficheros. En tiempo de cierre se toman tambi´ n otras precauciones. Todos los procesos reciben una se˜ al que les e n permite morir airosamente (escribiendo y cerrando todos los ficheros y ese tipo de cosas). Los sistemas de ficheros se desmontan por seguridad. Si se desea, el sistema tambi´ n puede alertar a los usuarios de que se e est´ cerrando y darles la posibilidad de desconectarse. a La forma m´ s simple de cerrar el sistema es con la orden shutdown. El formato es a
shutdown tiempo mensaje-de-aviso

El argumento tiempo es el momento de cierre del sistema (en el formato hh:mm:ss), y mensaje-de-aviso es un mensaje mostrado en todos los terminales de usuario antes de cerrar. Alternativamente, se puede especificar el par´ metro tiempo como “now”, para cerrar inmediatamente. Se le puede suministrar la opci´ n -r a a o shutdown para reinicializar el sistema tras el cierre. Por ejemplo, para cerrar el sistema a las 8:00pm, se puede utilizar la siguiente orden
# shutdown -r 20:00

La orden halt puede utilizarse para forzar un cierre inmediato, sin ning´ n mensaje de aviso ni periodo u ´ de gracia. halt se utiliza si se es el unico usuario del sistema y se quiere cerrar el sistema y apagarlo. No apagar o reinicializar el sistema hasta que se vea el mensaje:
The system is halted

Es muy importante que cierre el sistema “limpiamente” utilizando la orden shutdown o el halt. En ala gunos sistemas, se reconocer´ el pulsar ctrl-alt-del , que causar´ un shutdown; en otros sistemas, a sin embargo, el utilizar el “Apret´ n de Cuello de Vulcano” reinicializar´ el sistema inmediatamente y puede o a causar un desastre.

4.3.1.

El fichero /etc/inittab

Despu´ s de que GNU/Linux arranque y el n´ cleo monte el sistema de ficheros de root, el primer programa e u que ejecuta el sistema es init. Este programa es el encargado de lanzar los scripts de inicializaci´ n del o sistema y de modificar el sistema operativo de su estado inicial de arranque al estado est´ ndar multiusuario. a ´ Tambi´ n define los int´ rpretes de ordenes login: de todos los dispositivos tty del sistema y especifica otras e e caracter´sticas del arranque y apagado. ı Tras el arranque, init permanece latente en segundo plano, “monitoreando” y si fuera necesario alterando la ejecuci´ n del sistema. Hay muchos detalles que deben comentarse del programa init. Todas las tareas o que realiza se definen en el fichero /etc/inittab. Un ejemplo de dicho fichero se muestra a continuaci´ n. o Modificar el fichero /etc/inittab de forma incorrecta, puede impedirle registrarse en el sistema. Por ello, cuando se modifique dicho fichero, hay que guardar una copia del fichero original, adem´ s de tener a a mano el disquete de inicio, para el caso en que se cometiera alg´ n error. u
# # # # # # # # # #

inittab

Este fichero describe como el proceso INIT debe ajustar el sistema en ciertos niveles de ejecuci´n. o @(#)inittab 2.04 2.10 17/05/93 02/10/95 MvS PV

Version:

Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> Modified by: Patrick J. Volkerding, <volkerdi@ftp.cdrom.com> Minor modifications by:

El fichero /etc/inittab

137

# Robert Kiesling, <kiesling@terracom.net> # # Nivel de ejecuci´n asumido. o id:3:initdefault: # Iniciaci´n del sistema (se ejecuta al arrancar el sistema). o si:S:sysinit:/etc/rc.d/rc.S # Script para ejecutarse cuando el sistema vaya a un usuario # (nivel de ejecuci´n 1). o su:1S:wait:/etc/rc.d/rc.K # Script para ejecutarse cuando el sistema vaya a multiusuario. rc:23456:wait:/etc/rc.d/rc.M # Qu´ hacer cuando se pulse Ctrl-Alt-Del e ca::ctrlaltdel:/sbin/shutdown -t5 -rfn now # El nivel de ejecuci´n 0 para el sistema. o l0:0:wait:/etc/rc.d/rc.0 # El nivel de ejecuci´n 6 reinicia el sistema. o l6:6:wait:/etc/rc.d/rc.6 # Qu´ hacer cuando se va el suministro el´ctrico (bajar al nivel de e e # ejecuci´n de un usuario). o pf::powerfail:/sbin/shutdown -f +5 "EL SUMINISTRO EL´CTRICO SE EST´ CORTANDO" E A # Si el suministro vuelve antes de bajar, cancelar el proceso. pg:0123456:powerokwait:/sbin/shutdown -c "El SUMINISTRO EL´CTRICO EST´ E A VOLVIENDO" # Si vuelve el suministro cuando se est´ en modo de un usuario, volver a # al modo multiusuario. ps:S:powerokwait:/sbin/init 5 # Los ‘‘gettys’’ en el modo multiusuario y las l´neas serie. ı # # NOTA NOTA NOTA <ajuste esto a su ‘‘getty’’ o no ser´ capaz de ingresar! a # # Nota: Debe especificar la velocidad de l´nea para ‘‘agetty’’. ı # para ‘‘getty_ps’’ se usa una l´nea, se especifica la velocidad de ı # l´nea y tambi´n se utiliza ‘‘gettydefs’’ ı e c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux # L´neas serie ı # s1:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt100 s2:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100 # L´neas de marcado telef´nico ı o d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100 #d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100

138

Administraci´ n del Sistema o

# El nivel de ejecuci´n 4 deber´a usarse para un sistema con X-window ´nicamente, hasta que nos o ı u # que lanzaba init en un bucle que manten´a la carga al menos a 1 todo ı # el tiempo. As´ que, ahora hay un getty abierto en tty6. Esperemos que nadie ı # se de cuenta. ;ˆ) # Quiz´ no sea malo tener una consola de texto por ah´, en caso de que a ı # le ocurriera algo a X. x1:4:wait:/etc/rc.d/rc.4 # Fin de /etc/inittab

Al iniciar, este /etc/inittab lanza seis consolas virtuales, un prompt de ingreso para el m´ dem en o /dev/ttys0 y un prompt de ingreso para una terminal de caracteres conectada a trav´ s de la l´nea serie e ı RS-232 a /dev/ttyS1. Brevemente podr´amos decir que el programa init pasa a trav´ s de una serie de niveles de ejecuci´ n, ı e o que corresponden a varios estados del sistema. Al nivel de ejecuci´ n 1 se entra inmediatamente despu´ s de o e iniciar el sistema, los niveles de ejecuci´ n 2 y 3 son los modos de operaci´ n del sistema normal y multiusuario o o respectivamente, el nivel de ejecuci´ n 4 lanza el sistema X Window a trav´ s del X display manager xdm y o e el nivel de ejecuci´ n 6 reinicia el sistema. Los niveles de ejecuci´ n asociados a cada orden, son el segundo o o t´ rmino de cada l´nea del fichero /etc/inittab. e ı Por ejemplo, la l´nea: ı
s2:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100

mantendr´ un prompt de ingreso en una terminal serie para los niveles de ejecuci´ n 1–5. El “s2” antes de a o los primeros dos puntos es un identificador simb´ lico que usa internamente init. respawn es una clave o de init que se usa a veces junto con las terminales serie. Si tras un cierto per´odo de tiempo, el programa ı agetty, que genera los prompt de ingreso en las terminales, no recibe se˜ al alguna en la terminal, termina su n ejecuci´ n. “respawn” hace que init vuelva a ejecutar agetty, asegurando que haya siempre un prompt o de ingreso en la terminal, independientemente de que haya alg´ n otro ingreso. El resto de par´ metros de u a pasan directamente a agetty y le especifican como debe generar la shell de ingreso, la capacidad de transferencia de datos de la l´nea, el dispositivo serie y el tipo de terminal, como se define en /etc/termcap o ı /etc/terminfo. El programa /sbin/agetty maneja muchos detalles acerca de la E/S por terminal en el sistema. Hay varias verisones diferentes que se unan regilarmente en sistemas GNU/Linux. Se incluyen mgetty, psgetty y getty. En el caso de la l´nea de /etc/inittab ı
d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100

que permite a los usuarios ingresar usando un m´ dem canectado a una l´nea serie /dev/ttyS0, los o ı par´ metros de /sbin/agetty “-m60” permiten al sistema ir paso a paso por todas las velocidades del a ´ odem que un usuario llamando al sistema puede usar, y apagar /sbin/getty si no hay ninguna conezi´ n o en 60 segundos. Esto se llama negociar una conexi´ n. Las velocidades de modem soportadas se enumeran o el la l´nea de comandos tambi´ n, as´ como la l´nea serie a usar y el tipo de terminal. Desde luego, ambos ı e ı ı m´ dems deben soportar el flujo de datos que se negocie finalmente por ambas m´ quinas. o a Se han pasado por alto muchos detalles importantes en esta secci´ n. Las tareas de /etc/inittab o ocupar´an un libro completo. Para m´ s informaci´ n, puede consultarse las p´ ginas del manual de init ı a o a y agetty y los “HOWTO” del Proyecto de Documentaci´ n de Linux, disponibles en los lugares que se o presentan en el ap´ ndice A. e

4.4. Gestionando sistemas de ficheros

139

4.4. Gestionando sistemas de ficheros
Otra tarea del administrador de sistemas es el cuidado de los sistemas de ficheros. Mucho de este trabajo se basa en comprobaciones peri´ dicas del sistema de ficheros en busca de ficheros da˜ ados o corrompidos; o n muchos sistemas comprueban autom´ ticamente los sistemas de ficheros en tiempo de arranque. a

4.4.1.

Montando sistemas de ficheros

Para empezar, algunos conceptos acerca de sistemas de ficheros. Antes de que un sistema de ficheros sea accesible al sistema, debe ser montado en alg´ n directorio. Por ejemplo, si se tiene un sistema de ficheros en u un disquete, se debe montar bajo alg´ n directorio, digamos /mnt, para poder acceder a los ficheros que conu tiene (v´ ase la secci´ n 4.8.4). Tras montar el sistema de ficheros, todos los ficheros en dicho sistema aparecen e o en ese directorio. Tras desmontar el sistema de ficheros, el directorio (en este caso, /mnt) estar´ vac´o. a ı Lo mismo es v´ lido para los sistemas de ficheros del disco duro. El sistema monta autom´ ticamente a a los sistemas de ficheros del disco duro en tiempo de arranque. El as´ llamado “sistema de ficheros ra´z” es ı ı montado en el directorio /. Si se tiene un sistema de ficheros separado para /usr, por ejemplo, se monta en /usr. Si s´ lo se tiene un sistema de ficheros ra´z, todos los ficheros (incluyendo los de /usr) existen en ese o ı sistema de ficheros. La instrucci´ n mount se utiliza para montar un sistema de ficheros. La orden o
mount -av

se ejecuta desde el fichero /etc/rc (que es el fichero de inicializaci´ n del sistema, ejecutado en tiempo de o arranque; v´ ase la secci´ n 4.10.1). La orden mount -av obtiene informaci´ n de los sistemas de ficheros y e o o puntos de montaje del fichero /etc/fstab. Este es un ejemplo de fichero fstab:
# dispositivo /dev/hda2 /dev/hda3 /dev/hda4 /proc directorio / /usr none /proc tipo ext2 ext2 swap proc opciones defaults defaults sw none

El primer campo es el dispositivo —el nombre de la partici´ n a montar. El segundo campo es el punto o de montaje. El tercero es el tipo de sistema de ficheros —como puede ser ext2 (para ext2fs) o minix (para sistemas de ficheros Minix). La tabla 4.1 lista los distintos tipos de sistemas de ficheros disponibles ´ en GNU/Linux.1 Puede que no todos estos tipos de sistemas de ficheros est´ n disponibles en su sistema; e ´ el n´ cleo debe tener soporte para ellos compilado en el. V´ ase secci´ n 4.9 para informaci´ n sobre c´ mo u e o o o compilar un n´ cleo. u ´ El ultimo campo del fichero fstab contiene las opciones del comando mount —normalmente, est´ puesto a “defaults” (por omisi´ n). a o Como se puede ver, las particiones de intercambio est´ n incluidas en /etc/fstab tambi´ n. Tienen a e un punto de montaje de none y tipo swap. La instrucci´ n swapon -a, que se ejecuta tambi´ n desde o e /etc/rc, se utiliza para activar el intercambio en todos los dispositivos de intercambio de /etc/fstab. El fichero fstab contiene una entrada especial para el sistema de ficheros /proc. Tal y como se mencion´ en la secci´ n 3.12.1, el sistema de ficheros /proc se utiliza para almacenar informaci´ n acerca de o o o los procesos del sistema, memoria disponible, y otros datos del mismo tipo. Si /proc no est´ montado, no a funcionar´ n ordenes como ps. a ´ La instrucci´ n mount s´ lo puede ser utilizada por root. Esto es as´ para garantizar la seguridad del siso o ı tema; no es deseable que usuarios normales est´ n montando y desmontando sistemas de ficheros a su antojo. e Existen varios paquetes disponibles que permiten a los usuarios normales montar y desmontar sistemas de ficheros (disquetes en particular) sin comprometer la seguridad del sistema. La instrucci´ n mount -av realmente monta todos los sistemas de ficheros excepto el sistema de ficheros o ra´z (en la tabla anterior, /dev/hda2). El sistema de ficheros ra´z es montado autom´ ticamente en tiempo ı ı a de arranque por el n´ cleo. u
1 Esta

tabla es v´ lida a la versi´ n de n´ cleo 2.0.33. a o u

140

Administraci´ n del Sistema o

Sistema de ficheros Third Extended Filesystem Second Extended Filesystem Extended Filesystem Minix Filesystem Xia Filesystem UMSDOS Filesystem MS-DOS Filesystem /proc Filesystem ISO 9660 Filesystem Xenix Filesystem System V Filesystem Coherent Filesystem HPFS Filesystem

Nombre de tipo ext3 ext2 ext minix xia umsdos msdos proc iso9660 xenix sysv coherent hpfs

Comentarios A˜ ade a ext2 caracter´sticas de journaling.2 n ı Sistema de ficheros mas com´ n en GNU/Linux. u Reemplazado por ext2. Sistema de ficheros Minix original; raras veces utilizado. Como ext2, pero raras veces utilizado. Utilizado para instalar Linux en una partici´ n MS-DOS. o Utilizado para acceder a ficheros MS-DOS. Suministra informaci´ n de proceso para ps, etc. o Formato utilizado por muchos CD-ROMs. Sistema de ficheros de Xenix. Variantes del System V para el x86. Acceso a ficheros de Coherent. Acceso en lectura a particiones HPFS (DoubleSpace).

Cuadro 4.1: Tipos de Sistemas de Ficheros en GNU/Linux

En vez de utilizar el comando mount -av, se puede montar un sistema de ficheros a mano. La orden
# mount -t ext2 /dev/hda3 /usr

es equivalente a montar el sistema de ficheros con la entrada /dev/hda3 del ejemplo de fichero fstab anterior.

4.4.2.

Nombres de controladores de dispositivos

Adem´ s de los tipos de particiones del fichero /etc/fstab, Linux reconoce algunos dispositivos fijos a o movibles. Est´ n clasificados atendiendo a su tipo, interfaz y el orden en que est´ n instalados. Por ejemplo, el a e primer disco duro del sistema, si es IDE o el m´ s viejo MFM, es manipulado por el controlador de dispositivo a que apunta a /dev/hda. La primera partici´ n del disco duro es /dev/hda1, la segunda /dev/hda2, la o tercera /dev/hda3, etc. La primera partici´ n del dispositivo secundario IDE es normalmente /dev/hdb1, o la segunda partici´ n /dev/hdb2 y as´ sucesivamente. El esquema de los nombres usados para los disposio ı tivos IDE m´ s comunes para m´ quinas con bus ISA y PCI y arquitectura Intel viene en la tabla 4.2. a a
Controlador de dispositivo /dev/hda /dev/hdb /dev/hdc /dev/hdd Controlador IDE maestro, bus IDE primario. IDE esclavo, bus IDE primario. IDE maestro, bus IDE secundario. IDE esclavo, bus IDE secundario.

Cuadro 4.2: IDE device driver names. Los dispositivos de cinta y CD-ROM que utilizan la interfaz de controlador IDE/ATAPI tambi´ n utilizan e los mismos nombres. Muchas m´ quinas, sin embargo, incluyendo estaciones de trabajo y m´ quinas basadas en procesadores a a Alpha de Digital Equipment Corporation usan la interfaz Small Computer System Interface (SCSI en sus siglas en ingl´ s). Los nombres para los dispositivos SCSI son en cierto modo diferentes a los comentados e anteriormente, debido a la gran flexibilidad de los dispositivos SCSI. El primer disco duro SCSI en un sistema es /dev/sda, el segundo /dev/sdb y as´ sucesivamente. Una lista de los dispositivos SCSI m´ s comunes ı a puede verse en la tabla 4.3. Hay que advertir que los controladores SCSI de cintas y CD-ROMs se denominan de forma diferente que los de los discos duros. Sistemas movibles como la unidad Iomega Zip, siguen la convenci´ n de controladores o SCSI fijos. El uso de un controlador Zip para hacer copias de seguridad se describe en la p´ gina 150 a escriben en cintas magn´ ticas de formato QIC-02, QIC-40 y QIC-80, tienen su propio nombre de dispoe sitivos, que se describen en la p´ gina 151. a

4.5. Usando un fichero de intercambio

141

Controlador dispositivo /dev/sda /dev/sdb /dev/st0 /dev/st1 /dev/scd0 /dev/scd1

Controlador Primer disco duro SCSI. Segundo disco duro SCSI. Primer dispositivo de cinta SCSI. Segundo dispositivo de cinta SCSI. Primer dispositivo de CD-ROM SCSI. Segundo dispositivo de CD-ROM SCSI.

Cuadro 4.3: SCSI device drivers

Las unidades de disquete utilizan los nombres que se describen en la p´ gina 150. a

4.4.3. Comprobando sistemas de ficheros
Normalmente es una buena idea el comprobar de vez en cuando los sistemas de ficheros en busca de ficheros da˜ ados o corrompidos. Algunos sistemas comprueban autom´ ticamente sus sistemas de ficheros en n a ´ tiempo de arranque (con las ordenes apropiadas en /etc/rc o /etc/init.d/boot). La orden utilizada para comprobar un sistema de ficheros depende del tipo de sistema de ficheros en cuesti´ n. Para sistemas de ficheros ext2fs (el tipo m´ s utilizado normalmente), la orden es e2fsck. Por o a ejemplo, la instrucci´ n o
# e2fsck -av /dev/hda2

comprobar´ el sistema de ficheros ext2fs de /dev/hda2 y corregir´ autom´ ticamente cualquier error. a a a Normalmente es una buena idea el desmontar un sistema de ficheros antes de comprobarlo. Por ejemplo, la instrucci´ n o
# umount /dev/hda2

´ desmontar´ el sistema de ficheros en /dev/hda2, tras lo cual podr´ ser comprobado. La unica excepci´ n a a o es que no se puede desmontar el sistema de ficheros ra´z. Para poder comprobar el sistema de ficheros ra´z ı ı cuando est´ desmontado, se debe utilizar un disquete de arranque/ra´z (v´ ase la secci´ n 4.11.1). Tampoco se a ı e o puede desmontar un sistema de ficheros si alguno de sus ficheros est´ “ocupado”, esto es, siendo utilizado a por un proceso en ejecuci´ n. Por ejemplo, no se puede desmontar un sistema de ficheros si el directorio de o trabajo de alg´ n usuario est´ en ese sistema de ficheros. Se recibir´ un error “Device busy” 3 si se intenta u a a desmontar un sistema de ficheros que est´ en uso. e Otros tipos de sistemas de ficheros utilizan formas diferentes de la orden e2fsck, como pueda ser efsck y xfsck. En algunos sistemas, se puede utilizar la orden fsck, que determina el tipo de sistema de ficheros y ejecuta la instrucci´ n apropiada. o Si e2fsck informa que ha corregido alg´ n error en el sistema de ficheros, se debe apagar el sistema con u shutdown -r para reiniciarlo. Esto permite al sistema resincronizar su informaci´ n acerca del sistema de o ficheros cuando e2fsck lo modifica. El sistema de ficheros /proc no necesita nunca ser comprobado de esta forma. /proc es un sistema de ficheros en memoria, gestionado directamente por el n´ cleo. u

4.5.

Usando un fichero de intercambio

En lugar de reservar una partici´ n separada para el espacio de intercambio, se puede usar un fichero de o intercambio. Sin embargo, ser´ necesario instalar GNU/Linux y conseguir que todo funcione antes de crearlo. a Teniendo GNU/Linux ya instalado, se puede usar las siguientes instrucciones para crear el fichero de intercambio. La orden de abajo, crea un fichero de intercambio de 8208 bloques de tama˜ o, (aproximadamente n 8 Mb).
3 N.

del T.: dispositivo ocupado

142

Administraci´ n del Sistema o

# dd if=/dev/zero of=/swap bs=1024 count=8208

Esta orden crea el fichero de intercambio, /swap. El par´ metro “count=”, es el tama˜ o del fichero de a n intercambio en bloques.
# mkswap /swap 8208

Esta orden inicia el fichero de intercambio. Una vez m´ s, ser´ necesario reemplazar el nombre y el tama˜ o a a n del fichero de intercambio con los valores apropiados.
# sync # swapon /swap

Ahora el sistema est´ realizando el intercambio en el fichero /swap. La instrucci´ n sync garantiza que el a o fichero haya sido escrito en el disco. Una desventaja importante de usar un fichero de intercambio, es que todo acceso al fichero, es hecho a trav´ s del sistema de ficheros. Esto significa que los bloques que constituyen el fichero de intercambio pueden e no ser contiguos. Como consecuencia, el rendimiento puede no ser tan bueno como el de una partici´ n de o intercambio, en donde los bloques son siempre contiguos y las demandas de entrada/salida son realizadas directamente al dispositivo. Otra desventaja de los ficheros de intercambio largos es el gran peligro de que el sistema de ficheros se corrompa si algo sale mal. Conservar los ficheros normales, separados de las particiones ´ de intercambio previene que esto pase. Los ficheros de intercambio pueden ser utiles si, por ejemplo, se necesita usar, temporalmente, m´ s espacio de intercambio. Si se est´ compilando un programa extenso y se a a quisiera acelerar las cosas un tanto, se puede crear un fichero de intercambio temporal y usarlo adem´ s del a espacio de intercambio regular. Para eliminar un fichero de intercambio, usa primero swapoff, como en
# swapoff /swap

Luego, el fichero puede ser eliminado
# rm /swap

Cada fichero o partici´ n de intercambio puede tener un tama˜ o m´ ximo de 128 megabytes, pero se puede o n a usar hasta 8 ficheros o particiones de intercambio en el sistema.

4.6. Gesti´ n de Usuarios o
Independientemente de que haya muchos usuarios o no en el sistema, es importante comprender los ´ aspectos de la gesti´ n de usuarios bajo GNU/Linux. Incluso si se es el unico usuario, se debe tener, presumio blemente, una cuenta distinta de root para hacer la mayor parte del trabajo. Cada persona que utilice el sistema debe tener su propia cuenta. Raramente es una buena idea el que varias personas compartan la misma cuenta. No s´ lo es un problema de seguridad, sino que las cuentas se utilizan o para identificar un´vocamente a los usuarios al sistema. Es necesario saber qui´ n est´ haciendo qu´ en cada ı e a e momento.

4.6.1.

Conceptos de gesti´ n de usuarios o

El sistema mantiene una cierta cantidad de informaci´ n acerca de cada usuario. Dicha informaci´ n se o o resume a continuaci´ n. o nombre de usuario ´ El nombre de usuario es el identificador unico dado a cada usuario del sistema. Ejemplos de nombres de usuario son manolo, pepe y mdw. Se pueden utilizar letras y d´gitos ı junto a los car´ cteres “ ” (subrayado) y “.” (punto). Los nombres de usuario se limitan a normalmente a 8 car´ cteres de longitud. a

4.6. Gesti´ n de Usuarios o

143

ID de usuario

´ El ID de usuario, o UID en sus siglas en ingl´ s, es un n´ mero unico dado a cada usuario e u del sistema. El sistema normalmente le sigue la pista a los usuarios por su UID, no por el nombre de usuario. El ID de grupo, o GID en sus siglas en ingl´ s, es la identificaci´ n del grupo del usuario por e o defecto. En la secci´ n 3.10 discutimos los permisos de grupo; cada usuario pertenece a uno o o m´ s grupos definidos por el administrador del sistema. a El sistema tambi´ n almacena la clave cifrada del usuario. La orden passwd se utiliza para e poner y cambiar las claves de los usuarios.

ID de grupo

clave

nombre completo El “nombre real” o “nombre completo” del usuario se almacena junto con el nombre de usuario. Por ejemplo, el usuario jperez puede tener el nombre “Jos´ P´ rez” en la vida e e real. directorio inicial El directorio inicial es el directorio en el que se coloca inicialmente al usuario en tiempo de conexi´ n. Cada usuario debe tener su propio directorio inicial, normalmente situado bajo o /home. int´ rprete al registrarse e ´ El int´ rprete al registrarse es el int´ rprete de ordenes que se ejecutar´ cuando se registre el e e a usuario. Ejemplos pueden ser /bin/bash y /bin/tcsh. El fichero /etc/passwd contiene la informaci´ n anterior acerca de los usuarios. Cada l´nea del fichero o ı ´ contiene informaci´ n acerca de un unico usuario; el formato de cada l´nea es o ı
nombre:clave cifrada:UID:GID:nombre completo:dir.inicio:int´rprete e

Un ejemplo puede ser:
kiwi:Xv8Q981g71oKK:102:100:Laura Villa:/home/kiwi:/bin/bash

Como puede verse, el primer campo , “kiwi”, es el nombre de usuario. El siguiente campo, “Xv8Q981g71oKK”, es la clave cifrada. Las claves no se almacenan en el sistema en ning´ n formato legible por el hombre. Las claves se cifran utiliz´ ndose ellas mismas como clave secreta. u a ´ En otras palabras, s´ lo si se conoce la clave, esta puede ser descifrada. Esta forma de cifrado es bastante o segura. Algunos sistemas utilizan “claves en sombra” en la que la informaci´ n de las claves se relega al fichero o /etc/shadow. Puesto que /etc/passwd es legible por todo el mundo, /etc/shadow suministra un ´ grado extra de seguridad, puesto que este no lo es. Las claves en sombra suministran algunas otras funciones como puede ser la expiraci´ n de claves; no entraremos a detallar estas funciones aqu´ . o ı ´ El tercer campo “102”, es el UID. Este debe ser unico para cada usuario. El cuarto campo, “100”, es el GID. Este usuario pertenece al grupo numerado 100. La informaci´ n de grupos, como la informaci´ n de o o usuarios, se almacena en el fichero /etc/group. V´ ase la secci´ n 4.6.5 para m´ s informaci´ n. e o a o ´ El quinto campo es el nombre completo del usuario. “Laura Villa”. Los dos ultimos campos son el directorio inicial del usuario (/home/kiwi) y la shell de ingreso (/bin/bash), respectivamente. No es necesario que el directorio inicial de un usuario tenga el mismo nombre que el del nombre de usuario. Sin embargo, ayuda a identificar el directorio.

4.6.2.

˜ Anadir usuarios

Cuando se a˜ ade un usuario hay varios pasos a seguir. Primero, se le debe crear una entrada en n ´ /etc/passwd, con un nombre de usuario y UID unicos. Se debe especificar el GID, nombre completo y resto de informaci´ n. Se debe crear el directorio inicial, y poner los permisos en el directorio para que el o usuario sea el due˜ o. Se deben suministrar ficheros de comandos de inicializaci´ n en el nuevo directorio y se n o

144

Administraci´ n del Sistema o

debe hacer alguna otra configuraci´ n del sistema (por ejemplo, preparar un buz´ n para el correo electr´ nico o o o entrante para el nuevo usuario). Aunque no es dif´cil el a˜ adir usuarios a mano (yo lo hago), cuando se est´ ejecutando un sistema con ı n a muchos usuarios, es f´ cil el olvidarse de algo. La manera m´ s simple de a˜ adir usuarios es utilizar un prograa a n ma interactivo que vaya preguntando por la informaci´ n necesaria y actualice todos los ficheros del sistema o autom´ ticamente. El nombre de este programa es useradd o adduser dependiendo del software que a est´ instalado. e Un fichero t´pico /etc/adduser.conf se muestra a continuaci´ n: ı o
# /etc/adduser.conf: Configuraci´n de ‘adduser’. o # Vea adduser(8) y adduser.conf(5) para m´s informaci´n. a o # La variable DSHELL especifica la shell de ingreso asumida en # el sistema. DSHELL=/bin/bash # La variable DHOME especifica el directorio que contendr´ los a # directorios iniciales de los usuarios. DHOME=/home # Si en GROUPHOMES pone "yes", entonces los directorios iniciales # estar´n en /home/nombre_grupo/usuario. a GROUPHOMES=no # Si en LETTERHOMES pone "yes", entonces los directorios iniciales # tendr´n un directorio extra correspondiente a la primera letra del a # nombre de usuario, como por ejemplo: /home/u/user. LETTERHOMES=no # La variable SKEL especifica el directorio que contiene los ficheros # inciales configurables de cada usuario, como el fichero .profile que # se copiar´ al directorio de inicio de un usuaio cuando sea creado. a SKEL=/etc/skel # De FIRST_SYSTEM_UID a LAST_SYSTEM_UID ambos inclusive, va el rango de # UID para cuentas del sistema y administraci´n. o FIRST_SYSTEM_UID=100 LAST_SYSTEM_UID=999 # DE FIRST_UID a LAST_UID ambos inclusive, va el rango de UID para # cuentas de usuarios. FIRST_UID=1000 LAST_UID=29999 # La variable USERGROUPS puede estar en "yes" o "no". Si est´ en "yes" a # cada usuario tendr´ que usar como asumido su propio grupo y su a # directorio inicial ser´ g+s. Si est´ en "no", cada usuario a˜adido a a n # ser´ colocado en el grupo con gid igual a USERS_GID (ver m´s abajo). a a USERGROUPS=yes # Si USERGROUPS est´ en "no", entonces USERS_GID ser´ el GID del grupo a a # ‘users’ del sistema. USERS_GID=100 # Si se especifica QUOTAUSER, se limitar´ el espacio para el a # directorio inicial de un usuario (cuota) mediante: # ‘edquota -p QUOTAUSER newuser’

4.6. Gesti´ n de Usuarios o

145

QUOTAUSER=""

Adem´ s de definir las variables predefinidas que la orden adduser utiliza, /etc/adduser.conf tama bi´ n especifica d´ nde se localizan los ficheros de configuraci´ n del sistema de cada usuario. En este ejemplo, e o o est´ n en /etc/skel, definido por la l´nea SKEL=. Los ficheros que se coloquen en este directorio, como a ı .profile, .tcshrc o .bashrc se copiar´ n autom´ ticamente al directorio de inicio de un usuario al a a a˜ adirlo con la orden adduser. n

4.6.3.

Borrando usuarios

De forma parecida, se pueden borrar usuarios mediante la orden userdel o deluser dependiendo de qu´ software est´ instalado en el sistema. e e Si se desea “deshabilitar” temporalmente un usuario para que no se conecte al sistema (sin borrar la cuenta del usuario), se puede modificar con un asterisco (“*”) el campo de la clave en /etc/passwd. Por ejemplo, cambiando la l´nea de /etc/passwd correspondiente a kiwi a ı
kiwi:*Xv8Q981g71oKK:102:100:Laura Villa:/home/kiwi:/bin/bash

evitar´ que kiwi se conecte. a

4.6.4.

Poniendo atributos de usuario

Despu´ s de que haya creado un usuario, puede necesitar cambiar alg´ n atributo de dicho usuario, como e u ´ puede ser el directorio inicial o la clave. La forma m´ s simple de hacer esto es cambiar los valores directaa mente en /etc/passwd. Para poner clave a un usuario, utilice el comando passwd. Por ejemplo,
# passwd manuel

cambiar´ la clave de manuel. S´ lo el administrador “ root” puede cambiar la clave de otro usuario de esta a o forma. Los usuarios pueden cambiar su propia clave con passwd tambi´ n. e En algunos sistemas, las instrucciones chfn y chsh est´ n disponibles, permitiendo a los usuarios cama biar su nombre completo y la shell de ingreso. Si no, deben pedirle al administrador del sistema que los modifique.

4.6.5.

Grupos

´ Como hemos citado anteriormente, cada usuario pertenece a uno o m´ s grupos. La unica importancia real a de las relaciones de grupo es la perteneciente a los permisos de ficheros, como dijimos en la secci´ n 3.10, o cada fichero tiene un “grupo propietario” y un conjunto de permisos de grupo que define de qu´ forma pueden e acceder al fichero los usuarios del grupo. Hay varios grupos definidos en el sistema, como pueden ser bin, mail, y sys. Los usuarios no deben pertenecer a ninguno de estos grupos; se utilizan para permisos de ficheros del sistema. En su lugar, los usuarios deben pertenecer a un grupo individual, como users. Si se quiere ser detallista, se pueden mantener varios grupos de usuarios como por ejemplo estudiantes, mantenimiento y secretar´a. ı El fichero /etc/group contiene informaci´ n acerca de los grupos. El formato de cada l´nea es o ı
nombre de grupo:clave:GID:otros miembros

Algunos ejemplos de grupos pueden ser:
root:*:0: usuarios:*:100:mdw,pepe invitados:*:200: otros:*:250:kiwi

El primer grupo, root, es un grupo especial del sistema reservado para la cuenta root. El siguiente grupo, users, es para usuarios normales. Tiene un GID de 100. Los usuarios mdw y pepe tienen acceso

146

Administraci´ n del Sistema o

a este grupo. Recu´ rdese que en /etc/passwd cada usuario tiene un GID por defecto. Sin embargo, los e usuarios pueden pertenecer a m´ s de un grupo, a˜ adiendo sus nombres de usuario a otras l´neas de grupo en a n ı /etc/group. La orden groups nos dice a qu´ grupos se tiene acceso. e El tercer grupo, invitados, es para usuarios invitados, y otros es para “otros” usuarios. El usuario ´ kiwi tiene acceso a este grupo. Como se puede ver, el campo “clave” de /etc/group raramente se utiliza. A veces se utiliza para dar una clave para acceder a un grupo. Esto es raras veces necesario. Para evitar el que los usuarios cambien a grupos privilegiados (con el comando newgroup), se pone el campo de la clave a “*”. Se pueden usar las ordenes addgroup o groupadd para a˜ adir grupos a su sistema. Normalmente es n m´ s sencillo a˜ adir l´neas a /etc/group uno mismo, puesto que no se necesitan m´ s configuraciones para a n ı a a˜ adir un grupo. Para borrar un grupo, s´ lo hay que borrar su entrada de /etc/group. n o

4.6.6.

Responsabilidades de la Administraci´ n del Sistema o

Puesto que el administrador de sistema tiene mucho m´ s poder y responsabilidad, cuando algunos usuaa rios tienen la oportunidad de ingresar por primera vez como root, tanto en sistemas GNU/Linux como en otros, tienden a abusar de los privilegios de root. Existen “administradores de sistema” que leen el correo de otros usuarios, borran ficheros sin avisar y se comportan como ni˜ os con un poderoso juguete entre sus n manos. Como el administrador tiene tanto poder sobre el sistema, se requiere cierta madurez y autocontrol para utilizar la cuenta root. Existe un c´ digo de honor no escrito que establece las normas de comportamiento del o administrador del sistema para con el resto de usuarios. ¿C´ mo se sentir´a si el administrador de su sistema se o ı dedicase a leer su correo electr´ nico o a mirar en sus ficheros?. Existe un cierto vac´o legal en estos asuntos. o ı En los sistemas UNIX, el usuario root tiene la posibilidad de saltarse todos los mecanismos de seguridad y privacidad. Es importante que el administrador de sistema establezca una relaci´ n de confianza con sus o usuarios.

4.6.7.

C´ mo proceder con los usuarios o

Los administradores de sistemas pueden tomar dos posturas cuando traten con usuarios abusivos: ser paranoicos o confiados. El administrador de sistemas paranoico normalmente causa m´ s da˜ o que el que previene. a n Una de mis citas favoritas es, “Nunca atribuyas a la malicia nada que pueda ser atribuido a la estupidez”. Dicho de otra forma, muchos usuarios no tienen la habilidad o el conocimiento para hacer da˜ o real al sistema. n El 90 % del tiempo, cuando un usuario causa problemas en el sistema (por ejemplo, rellenando la partici´ n de o usuarios con grandes ficheros, o ejecutando m´ ltiples veces simult´ neamente un gran programa), el usuario u a simplemente desconoce que est´ causando un problema. He ido a ver a usuarios que estaban causando una a gran cantidad de problemas, pero su actitud estaba causada por la ignorancia, no por la malicia. Cuando se encuentre con usuarios que puedan causar problemas potenciales no sea hostil. La antigua regla de “inocente hasta que se demuestre lo contrario” sigue siendo v´ lida. Es mejor una simple charla con a ´ el usuario, pregunt´ ndole acerca del problema, en lugar de causar una confrontaci´ n. Lo ultimo que se desea a o es estar entre los malos desde el punto de vista del usuario. Esto levantar´a un mont´ n de sospechas acerca ı o de si el administrador de sistemas tiene el sistema correctamente configurado. Si un usuario cree que uno le disgusta o no le tiene confianza, le puede acusar de borrar ficheros o romper la privacidad del sistema. Esta no es, ciertamente, el tipo de situaci´ n en la que se quisiera estar. o Si se encuentra que un usuario ha estado intentando “romper” el sistema, o ha estado haciendo da˜ o al n sistema de forma intencionada, no hay que devolver el comportamiento malicioso a su vez. En vez de ello, simplemente, es recomendable darle un aviso —pero siendo flexible. En muchos casos, se puede cazar a un usuario “con las manos en la masa”, da˜ ando al sistema, lo correcto es advertirle y decirle que no lo vuelva a n repetir. Sin embargo, si le vuelve a cazar haciendo da˜ o, entonces se puede estar absolutamente seguro de que n es intencionado. Ni siquiera puedo empezar a describir la cantidad de veces que parec´a que hab´a un usuario ı ı causando problemas al sistema, cuando de hecho, era o un accidente o un fallo m´o. ı

4.7. Almacenamiento y compresi´ n de ficheros o

147

4.6.8.

Fijando las reglas

La mejor forma de administrar un sistema no es con un pu˜ o de hierro. As´ puede ser como se haga lo n ı militar, pero UNIX no fue dise˜ ado para ese tipo de disciplinas. Tiene sentido el escribir un conjunto sencillo n y flexible de reglas para los usuarios, pero hay que recordar que cuantas menos reglas tenga, menos posibilidades habr´ de romperlas. Incluso si las reglas para utilizar el sistema son perfectamente razonables y claras, a siempre habr´ momentos en que los usuarios romper´ n dichas reglas sin pretenderlo. Esto es especialmente a a cierto en el caso de usuarios UNIX nuevos, que est´ n aprendiendo los entresijos del sistema. No esta sufia cientemente claro, por ejemplo, que uno no debe bajarse un gigabyte de ficheros y envi´ rselo por correo a a todos los usuarios del sistema. Los usuarios necesitan comprender las reglas y por que est´ n establecidas. a Si especifica reglas de uso para su sistema, hay que asegurarse de que el motivo detr´ s de cada regla a particular est´ claro. Si no se hace, los usuarios encontrar´ n toda clase de formas creativas de salt´ rsela y no e a a saber que en realidad la est´ n rompiendo. a

4.6.9.

Lo que todo esto significa

´ No podemos decir como ejecutar su sistema al ultimo detalle. Mucha de la filosof´a depende en c´ mo se ı o use el sistema. Si se tienen muchos usuarios, las cosas son muy diferentes de si s´ lo tiene unos pocos o si se o ´ es el unico usuario del sistema. Sin embargo, siempre es una buena idea, en cualquier situaci´ n, comprender o lo que ser administrador de sistema significa en realidad. Ser el administrador de un sistema no le hace a uno un mago del UNIX. Hay muchos administradores de sistemas que conocen muy poco acerca de UNIX. Igualmente, hay muchos usuarios “normales” que saben m´ s acerca de UNIX que lo que cualquier administrador de sistema. Tambi´ n, ser el administrador de sistemas a e no le permite el utilizar la malicia contra sus usuarios. Aunque el sistema le d´ el privilegio de enredar en los e ficheros de los usuarios, no significa que se tenga ning´ n derecho a hacerlo. u ´ Por ultimo, ser el administrador del sistema no es realmente una gran cosa. No importa si el sistema es un peque˜ o 386 o un super ordenador Cray. La ejecuci´ n del sistema es la misma. El saber la clave de root n o no significa ganar dinero o fama. Tan solo le permitir´ ejecutar el sistema y mantenerlo funcionando. Eso es a todo.

4.7. Almacenamiento y compresi´ n de ficheros o
Pre´ mbulo a la traducci´ n al castellano a o
En espa˜ ol existe cierta confusi´ n entre los t´ rminos fichero y archivo, los cu´ les se toman como sin´ nin o e a o mos. En inform´ tica y en este texto, existe una sutil pero importante diferencia entre los t´ rminos. Cuando a e nos referimos a un fichero, nos referimos a cualquier tipo de documento, imagen, sonido almacenado en un soporte l´ gico. Sin embargo, un archivo es una clase especial de fichero que contiene otros ficheros. El o origen de dicha confusi´ n parece ser la traducci´ n err´ nea de fichero por archivo en los sistemas operativos o o o de Microsoft. No cometeremos el mismo error aqu´, Por lo tanto aqu´ se llamar´ n archivos a los ficheros .tar, ı ı a y similares cuyo prop´ sito es contener otros ficheros. (Nota del Revisor) o

4.7.1.

Usando tar

Antes de que podamos hablar de copias de seguridad, necesitamos realizar una presentaci´ n de las herrao mientas utilizadas para almacenar ficheros en sistemas UNIX. La orden tar es la m´ s usada para almacenar ficheros. Su sintaxis es: a
tar opciones fichero

en donde opciones es la lista de opciones para tar, y files es la lista de ficheros a agregar o extraer del archivo tar. Por ejemplo, la orden
# tar cvf backup.tar /etc

148

Administraci´ n de Sistema o

empaqueta todos los ficheros del directorio /etc en el archivo tar backup.tar. El primer par´ metro que a se le entrega a tar, “cvf”, es la orden que le transmitimos a tar. “c” le dice a tar que cree un nuevo archivo. La opci´ n “v” fuerza a tar en el modo detallado, imprimiendo los nombres de los ficheros seg´ n o u se archivan. La opci´ n “f” le informa a tar, que el pr´ ximo argumento, backup.tar, es el nombre del o o archivo a crear. El resto de los argumentos para tar son el/los nombre(s) de ficheros(s) y directorio(s) para agregar al archivo tar. La instrucci´ n o
# tar xvf backup.tar

extraer´ todos los ficheros archivados dentro de backup.tar en el directorio actual. a Los ficheros antiguos con el mismo nombre son sobrescritos cuando se extraen en un directorio existente. Antes de extraer ficheros de un archivo tar, es importante saber d´ nde deben ser desempaquetados los ficheros. o Digamos que se han archivado los siguientes ficheros: /etc/hosts, /etc/group, y /etc/passwd. Si se us´ el comando o
# tar cvf backup.tar /etc/hosts /etc/group /etc/passwd

el nombre del directorio /etc/ se a˜ adir´ al principio de los nombres de cada fichero. Para extraer los n a ficheros en su ubicaci´ n correcta, debe usarse o
# cd / # tar xvf backup.tar

porque los ficheros son extra´dos con el nombre de ruta, guardado, en el archivo tar. Sin embargo, si se han ı archivado los ficheros con el comando
# cd /etc # tar cvf hosts group passwd

el nombre del directorio no se conserva en el archivo tar. En consecuencia, necesitar´ s hacer un “cd /etc”, a antes de extraer los ficheros. Como puedes ver, el c´ mo haya sido creado un fichero tar, marca una gran o diferencia en c´ mo se extrae; o dicho de otra modo: la manera en la que ser´ n extra´dos los ficheros de un o a ı archivo tar, est´ estrechamente relacionada con la manera en c´ mo han sido archivados. La orden a o
# tar tvf backup.tar

se puede usar para mostrar una lista de los ficheros del archivo tar, pero sin extraerlos. De esta forma se puede ver qu´ directorio se utiliz´ como origen de los nombres de los ficheros, y se puede extraer el fichero desde e o la localizaci´ n correcta. o

4.7.2.

gzip y compress

A diferencia de los de archivado para MS-DOS, tar no comprime los ficheros autom´ ticamente seg´ n a u los archiva. Por ejemplo: si se archivan dos ficheros de 1 Mega byte cada uno, en un archivo tar, el tama˜ o n ´ de este ultimo ser´ de 2 Mega bytes. En GNU/Linux, la orden gzip, puede utilizarse para comprimir un a archivo, (no tiene por que ser un archivo tar). La instrucci´ n o
# gzip -9 backup.tar

comprime backup.tar, dej´ ndonos el fichero backup.tar.gz, una versi´ n comprimida del archivo. El a o par´ metro -9, hace que gzip, utilice el mayor factor de compresi´ n. El comando gunzip puede ser utilizado a o para descomprimir un fichero comprimido con gzip. El comando gzip -d es equivalente a gunzip. gzip es una herramienta relativamente nueva en la comunidad UNIX. Durante muchos a˜ os, se utiliz´ en su lugar n o compress. Sin embargo, debido a varios factores, incluyendo una disputa por una patente de software contra su algoritmo de compresi´ n, y el hecho de que gzip es mucho m´ s eficiente, compress se est´ volviendo o a a anticuado.

4.8. Usando Disquetes y Haciendo Copias de Seguridad

149

4.7.3.

Aplic´ ndolos en conjunto a

´ Para archivar un grupo de ficheros y comprimir el resultado, use las ordenes
# tar cvf backup.tar /etc # gzip -9 backup.tar

´ Como resultado obtendr´ backup.tar.gz. Para descomprimir este archivo, use las ordenes inversos: a
# gunzip backup.tar.gz # tar xvf backup.tar

Recordatorio: Siempre hay que estar seguro de encontrarse en el directorio correcto antes de descomprimir un archivo tar. Tambi´ n se puede usar, algunas de las ingeniosidades de GNU/Linuxpara realizar esto, pero e en una sola l´nea de comandos: ı
# tar cvf - /etc | gzip -9c > backup.tar.gz

Aqu´, enviamos el fichero tar a “-”, que representa la salida est´ ndar de tar. Esto es canalizado a gzip, ı a quien comprime el archivo tar entrante. El producto es guardado en backup.tar.gz. La opci´ n -c le o ordena a gzip que env´e su salida a la salida est´ ndar, que es reencauzada a backup.tar.gz. Un simple ı a comando para descomprimir este archivo ser´a: ı
# gunzip -c backup.tar.gz | tar xvf -

Nuevamente, gunzip descomprime el contenida de backup.tar.gz y env´a el archivo tar resultante a ı ´ la salida est´ ndar. Esta es canalizada a tar, quien lee “-”, lo cual representa, esta vez, la entrada est´ ndar a a de tar. Felizmente, la orden tar incluye tambi´ n la opci´ n z que, autom´ ticamente realiza los procesos e o a de comprimir/descomprimir ficheros, ni bien se invoca el programa, usando el algoritmo de compresi´ n de o gzip. La orden
# tar cvfz backup.tar.gz /etc

es equivalente a
# tar cvf backup.tar /etc # gzip backup.tar

Tal como el comando
# tar xvfz backup.tar.Z

puede ser usado en lugar de
# uncompress backup.tar.Z # tar xvf backup.tar

Indagando en las p´ ginas man se puede obtener mas informaci´ n acerca de tar y gzip. a o

4.8. Usando Disquetes y Haciendo Copias de Seguridad
Los disquetes son utilizados normalmente como medio para copias de seguridad. Si no se tiene una unidad de cinta conectada al sistema, se pueden utilizar disquetes (a pesar de que sean m´ s lentos y algo a menos seguros). Como se mencion´ anteriormente, los disquetes se pueden formatear con los programas FORMAT.COM o de MS-DOS o fdformat de GNU/Linux. Esto graba la informaci´ n apropiada de la capacidad del disquete. o Algunos de los nombres de dispositivos y formatos accesibles por GNU/Linux, se dan en la tabla 4.4. El dispositivo que empieza con fd0 es la primera unidad de disquete, que se corresponde con la A: de MS-DOS. Los nombres de los ficheros del controlador de la segunda unidad de disquete empiezan con fd1.

150

Administraci´ n de Sistema o

Controlador del disquete /dev/fd0d360 /dev/fd0h1200 /dev/fd0h1440

Formato Double densidad, 360 Kb, 5.25 pulgadas. Alta densidad, 1.2 MB, 5.25 pulgadas. Alta densidad, 1.44 MB, 3.5 pulgadas.

Cuadro 4.4: Formatos de disquete GNU/Linux

Normalmente, el n´ cleo de GNU/Linux puede detectar el formato del disquete, basta con usar /dev/fd0 y u dejar que el sistema reconozca el formato. Pero cuando se utilizan disquetes nuevos sin formato, puede ser necesario especificar el formato si el sistema no logra detectar el tipo de disquete que es. Una lista completa de los dispositivos GNU/Linux y los nombres de los controladores de las unidades viene en GNU/Linux Allocated Devices, de H. Peter Anvin (ver Apendice A).

4.8.1.

Utilizando disquetes para copias de seguridad

La forma m´ s simple de hacer una copia de seguridad es con tar. La orden a
# tar cvfzM /dev/fd0 /

har´ una copia de seguridad completa del sistema utilizando el disquete /dev/fd0. La opci´ n “M” de tar a o permite que la copia de seguridad sea una copia multi-volumen; esto es, cuando un disquete est´ lleno, tar a pedir´ el siguiente. La orden a
# tar xvfzM /dev/fd0

puede ser utilizada para recuperar la copia de seguridad completa. Este m´ todo puede ser utilizado tambi´ n e e si se tiene una unidad de cinta (/dev/rmt0) conectada al sistema. Existen otros programas para hacer copias de seguridad multi-volumen; el programa backflops dispo´ nible en tsx-11.mit.edu puede ser util. Hacer una copia de seguridad completa del sistema puede ser costoso en tiempo y recursos. Muchos administradores de sistemas utilizan una pol´ tica de copias de seguridad incrementales, en la que cada mes ı se hace una copia de seguridad completa, y cada semana s´ lo se copian aquellos ficheros que hayan sido o modificados en esa semana. En este caso, si el sistema se viene abajo a mitad de mes, s´ lo tiene que restaurar o ´ ´ la ultima copia de seguridad mensual completa y, despu´ s, las ultimas copias semanales seg´ n el caso. e u ´ La instrucci´ n find puede ser util para localizar ficheros que hayan cambiado desde una cierta feo cha. Se pueden encontrar varios ficheros de comandos para manejar copias de seguridad incrementales en sunsite.unc.edu.

4.8.2.

Copias de seguridad con unidades Zip

Las copias de seguridad sobre unidades Zip son muy parecidas a las de disquetes, pero puesto que los Zip tienen una capacidad de 98 Mb, muchas veces s´ lo se necesita uno para la copia de seguridad. o Las unidades Zip est´ n disponibles con tres interfaces de hardware: una interfaz SCSI, una interfaz IDE a y una interfaz PPA de puerto paralelo. El soporte de unidades Zip no est´ incluido como opci´ n de prea o compilado en GNU/Linux, pero se puede especificar cuando se personaliza el n´ cleo del sistema. En la u p´ gina 154 se describe la instalaci´ n de este tipo de unidades. a o Las unidades Zip con interfaz SCSI y PPA, usan la interfaz SCSI y siguen las convenciones de nombres de los dispositivos SCSI que se describen en la p´ gina 140. a Los discos Zip vienen normalmente pre-formateados como tipo MS-DOS. Hay dos opciones a la hora de usarlos: Usar el Zip como sistema de ficheros MS-DOS, que debe soportar el n´ cleo del sistema o usar u mke2fs o alg´ n programa similar para escribir un sistema de ficheros GNU/GNU/Linux. u Un disco Zip, cuando est´ montado como el primer dispositivo SCSI, est´ en /dev/sda4. a a
# mount /dev/sda4 /mnt

4.8. Usando Disquetes y Haciendo Copias de Seguridad

151

Muchas veces conviene proporcionar un directorio diferente para montar sistemas de fichero Zip, por ejemplo, /zip. Los siguientes pasos, que deben realizarse como root, montar´ n la unidad en este directoa rio:
# mkdir /zip # chmod 0755 /zip

Entonces ya se puede utilizar zip para montar el sistema de ficheros Zip. Escribir archivos a discos Zip es parecido a hacerlo en disquetes. Para comprimir el directorio /etc a una unidad Zip ya montada, se debe utilizar la instrucci´ n o
# tar zcvf /zip/etc.tgz /etc

Que se puede ejecutar desde cualquier directorio, puesto que especifica completamente el path. El nombre del archivo etc.tgz es necesario si la unidad Zip contiene un sistema de ficheros MS-DOS, puesto que todos los ficheros que se graben en el disco deben seguir la convenci´ n de nombres de MS-DOS de 8+3. En o caso contrario, se truncar´ el nombre del fichero. a De forma similar, se extrae el contenido del archivo con la instrucci´ n o
# cd / # tar zxvf /zip/etc.tgz

Para crear, por ejemplo, un sistema de ficheros ext2 en una unidad Zip, se debe introducir la orden (para un disco Zip desmontado)
# mke2fs /dev/sda4

Con una unidad Zip montada de esta manera, con un sistema de ficheros ext2, es posible hacer una copia de seguridad de sistema de ficheros completo con la simple instrucci´ n o
# tar zcvf /zip/local.tar.gz /usr/local

Hay que notar que el hacer copias de seguridad con tar es m´ s aconsejable en muchos casos que hacer a un simple cp -a, porque tar conserva las fechas originales de modificaci´ n de ficheros. o

4.8.3.

Hacer copias de seguridad a dispositivos de cinta

Archivar a un dispositivo de cinta es similiar a hacer una copia de seguridad a un sistema de ficheros en disquetes, solo que a un dispositivo diferente. La cintas se formatean y se manipulan de manera distinta que los disquetes. Algunos controladores de dispositivo para GNU/Linux se muestran en la tabla 4.5 Las unidades
Controlador de dispositivo de cinta /dev/rft0 /dev/nrft0 /dev/tpqic11 /dev/ntpqic11 /dev/qft0 /dev/nqft0 Formato Cinta QIC-117, rebobinar al cierre. Cinta QIC-117, no rebibonar al cierre. Cinta QIC-11, rebobinar al cierre. Cinta QIC-11, no rebobinar al cierre. Unidad de cinta “floppy”, rebobinar al cerrar. Unidad de cinta “floppy”, no rebobinar al cerrar.

Cuadro 4.5: Controladores de dispositivos de cinta.

de cinta “floppy” utilizan el interfaz del controlador de dispositivo de la unidad de disquete y se controlan por el controlador de dispositivo ftape, del que se habla m´ s abajo. La instalaci´ n del m´ dulo del controlador de a o o dispositivo ftape se describe en la p´ gina 156. Los dispositivos de cinta SCSI se muestran en la tabla 4.3. a Para archivar el directorio /etc a una cinta mediante tar, se usar´ el comando: a
# tar cvf /dev/qft0 /etc

Similarmente para extraer los ficheros desde la cinta, se utiliza el comando:

152

Administraci´ n de Sistema o

# cd / # tar xvf /dev/qft0

Estas cintas, como los disquetes, deben ser formateados antes de que puedan usarse. El controlador ftape puede formatear cintas en GNU/GNU/Linux. Para formatear una cinta QIC-40, se utilizar´ el comando a
# ftformat --format-parameter qic40-205ft --mode-auto --omit-erase --discard-header

Otros dispositivos de cinta tienen su propio software para darles formato. Revisa la documentaci´ n del o ´ hardware de la unidad de cinta o la documentaci´ n del controlador de dispositivo asociado a el. o Antes de que se puedan extraer las cintas de la unidad, se debe escribir los b´ ffers de E/S y rebobinar u la cinta. Esto es an´ logo a desmontar un disquete antes de extraerlo, porque el controlador de dispositivo a tambi´ n cachea datos en la memoria. La orden estandar de Unix para controlar las operaciones de la unidad e es mt. El sistema puede no proporcionar este comando, dependiendo de si tiene soporte para unidades de cinta. El controlador ftape tiene un comando similar, ftmt, que se usa para controlar las operaciones de cinta. Para rebobinar una cinta antes de retirarla, se usa el comando
# ftmt -f /dev/qft0 rewoffl

Desde luego, sustituya el controlador de dispositivo correcto para su sistema. Tambi´ n es una buena idea hacer una retensi´ n de la cinta despu´ s de escribir en ella, porque las cintas e o e magn´ ticas son susceptibles de arrugarse. El comando e
# ftmt -f /dev/qft0 retension

realizar´ la operaci´ n. a o Para obtener el estado de un dispositivo de cinta, con una cinta dentro utilice el comando
# ftmt -f /dev/qft0 status

4.8.4.

Utilizando disquetes como sistemas de ficheros

Puede crearse un sistema de ficheros en un disquete igual que lo har´ a en una partici´ n de un disco duro. ı o Por ejemplo,
# mke2fs /dev/fd0 1440

crea un sistema de ficheros en el disquete en /dev/fd0. El tama˜ o del sistema de ficheros debe corresponder n al tama˜ o del disquete. Los disquetes de alta densidad de 3.5”tienen un tama˜ o de 1.44 megabytes, o 1440 n n bloques. Los disquetes de alta densidad de 5.25”tienen 1200 bloques. Para poder acceder a un disquete, se debe montar mount el sistema de ficheros que contiene. La instrucci´ n o
# mount -t ext2 /dev/fd0 /mnt

montar´ el disquete en /dev/fd0 en el directorio /mnt. Ahora todos los ficheros del disquete aparecer´ n a a bajo /mnt en su unidad. “-t ext2” especifica el tipo de sistema de ficheros como ext2fs. Si crea otro tipo de sistema de ficheros en el disquete, necesitar´ especific´ rselo a la instrucci´ n mount. a a o El “punto de montaje” (el directorio donde est´ montando el sistema de ficheros) debe existir en el moa mento de utilizar la orden mount. Si no existiese, se debe crear con la instrucci´ n mkdir. o Para m´ s informaci´ n sobre sistemas de ficheros, montaje y puntos de montaje, ver secci´ n 4.4. a o o Tenga en cuenta que cualquier entrada/salida al disquete se gestiona con buffers igual que si fuese de disco duro. Si cambia datos en el disquete, puede que no vea encenderse la luz de la unidad hasta que el n´ cleo decida vaciar sus buffers. Es importante que no quite un disquete antes de haberlo desmontado; esto u puede hacerse con la instrucci´ n o
# umount /dev/fd0

No cambie los disquetes como se hace en un sistema MS-DOS; siempre que cambie disquetes, desmonte umount el primero y monte mount el siguiente.

4.9. Actualizando e instalando software nuevo

153

4.9. Actualizando e instalando software nuevo
Otra de las responsabilidades del administrador del sistema, es la actualizaci´ n e instalaci´ n de nuevo o o software. El desarrollo del sistema GNU/Linux es r´ pido. Cada pocas semanas aparecen versiones nuevas del a n´ cleo, y los dem´ s programas se actualizan casi tan a menudo. Por esto, los usuarios nuevos de GNU/Linux, u a sienten la necesidad de actualizar sus sistemas constantemente, para mantenerse, as´, al r´ pido paso de los ı a cambios. Esto es innecesario y una p´ rdida de tiempo: si estuvieras todo el tiempo siguiendo el ritmo de los e cambios que ocurren en el mundo de GNU/Linux, se gastar´a todo el tiempo actualizando y nada del tiempo ı usando el sistema. Algunas personas consideran que se deber´a actualizar el sistema, solamente cuando una nueva distriı buci´ n es mostrada al p´ blico; por ejemplo, cuando se presenta una nueva versi´ n de Slackware. Entonces, o u o muchos usuarios de GNU/Linux, a la hora de actualizar sus sistemas, reinstalan todo el software, usando la distribuci´ n Slackware m´ s nueva. o a La mejor manera de actualizar el sistema, depende del tipo de distribuci´ n que se posea. DebianTM , o TM TM TM S.u.S.E. , Caldera y Red Hat Linux tienen, todos, gestores inteligentes de paquetes de software, los cuales permiten realizar las actualizaciones mucho m´ s f´ cilmente, instalando paquetes nuevos. Por ejemplo, el a a compilador de C, gcc, viene en un paquete binario, pre-compilado. Cuando se instala, todos los ficheros de la versi´ n antigua se sobreecriben o se eliminan. o Como casi siempre pasa, actualizar insensatamente para ”mantenerse a la moda”, no es importante en absoluto. ¡Esto no es MS-DOS o Microsoft Windows!. No existe ninguna raz´ n importante, para usar la o versi´ n m´ s reciente de todo el software. Ahora bien, si se siente que se quieren o necesitan caracter´sticas o a ı que una versi´ n nueva ofrece, entonces hay que actualizar. Si no, no actualice. En otras palabras, actualizar o s´ lo lo que se deba, cuando se deba. No actualizar s´ lo por actualizar. Esto consume mucho tiempo y esfuerzo. o o

4.9.1.

´ Actualizando el nucleo

Actualizar el n´ cleo es s´ lo un asunto de obtener las fuentes del n´ cleo y compilarlas. Esto es generalu o u mente un proceso sin dificultad; sin embargo, uno puede tener problemas si trata de actualizar a un n´ cleo u en desarrollo, o actualizarlo a una nueva versi´ n. La versi´ n de un n´ cleo tiene dos partes: la versi´ n del o o u o ´ n´ cleo, y el nivel del parche. Cuando esto fue escrito, la ultima versi´ n estable del n´ cleo era la 2.0.33. u o u Los n´ meros 2.0 representan la versi´ n del n´ cleo, y los n´ meros 33 es el nivel del parche. Las versiones u o u u del n´ cleo se˜ aladas con n´ meros impares, por ejemplo 2.1 son n´ cleos en desarrollo. Mant´ ngase lejos de u n u u e este tipo de n´ cleos, ¡a menos que quiera vivir peligrosamente! Como regla general, uno deber´a ser capaz de u ı actualizar su n´ cleo f´ cilmente a otro nivel de parche; sin embargo, actualizar a una nueva versi´ n requiere, u a o a su vez, la actualizaci´ n de las utilidades del sistema que interact´ an ´ntimamente con el n´ cleo. o u ı u El c´ digo fuente del n´ cleo Linux puede ser obtenido de cualquiera de los servidores FTP de GNU/Linux, o u (ver la p´ gina 225 para una lista de ellos). En sunsite.unc.edu, por ejemplo, las fuentes del n´ cleo se a u encuentran en /pub/Linux/kernel, organizado en subdirectorios por n´ mero de versi´ n. u o El c´ digo fuente del n´ cleo es publicado en un fichero tar comprimido con gzip. Por ejemplo, el fichero o u que contiene el c´ digo fuente del n´ cleo 2.0.33 es linux-2.0.33.tar.gz o u Las fuentes del n´ cleo deber´ n descomprimirse y desempaquetarse en el directorio /usr/src, creando u a el directorio usr/src/linux. Es una costumbre com´ n que, /usr/src/linux sea un enlace blando a u otro directorio que contenga el n´ mero de versi´ n del n´ cleo, tal como /usr/src/GNU/Linux-2.0.33. u o u De esta manera, se podr´ n instalar nuevos c´ digos fuente y verificar su correcto funcionamiento, antes de a o eliminar los fuentes del n´ cleo antiguo. Los comandos para crear el enlace al directorio donde se aloja el u c´ digo fuente del n´ cleo son: o u
# cd /usr/src # mkdir linux-2.0.33 # rm -r linux # ln -s linux-2.0.33 linux # tar xzf linux-2.0.33.tar.gz

154

Administraci´ n del sistema o

Cuando se actualiza a un nuevo nivel de parche de la misma versi´ n del n´ cleo, un fichero de nivel de o u parche puede resultar en un ahorro de tiempo en la transferencia de ficheros, puesto que las fuentes del n´ cleo u tienen un tama˜ o alrededor de los 7 Mb. tras ser comprimidas con gzip. Para actualizar del n´ cleo 2.0.31 n u al n´ cleo 2.0.33, habr´a que descargar los parches patch-2.0.32.gz y patch-2.0.33.gz, los cuales u ı pueden encontrarse en el mismo servidor FTP de las fuentes del n´ cleo. Tras haber ubicado los parches en u el directorio /usr/src/, se deben aplicar en las fuentes del n´ cleo, uno tras otro para actualizar el c´ digo u o fuente. Una forma de hacer esto ser´a ı
# cd /usr/src # gzip -cd patch-2.0.32.gz | patch -p0 # gzip -cd patch-2.0.33.gz | patch -p0

Despu´ s de desempaquetar los fuentes y de aplicar los parches, necesitar´ asegurarse de que existan tres e a enlaces simb´ licos en /usr/include, los cu´ les son justo los que necesita el n´ cleo de su distribuci´ n. o a u o ´ Para crear dichos enlaces, se podr´ n usar las ordenes a
# cd /usr/include # rm -rf asm linux scsi # ln -s /usr/src/linux/include/asm-i386 asm # ln -s /usr/src/linux/include/linux linux # ln -s /usr/src/linux/include/scsi scsi

Despu´ s de que haya creado los enlaces, no existe ninguna raz´ n para que deba crearlos nuevamente la e o pr´ xima vez que se instale el siguiente parche, o una nueva versi´ n del n´ cleo. (Para m´ s informaci´ n sobre o o u a o enlaces simb´ licos: ver secci´ n 3.11) o o A fin de compilar el n´ cleo, habr´ que tener el compilador de C gcc instalado en su sistema. Para u a compilar la versi´ n 2.0 del n´ cleo, se requiere el gcc, versi´ n 2.6.3 o m´ s reciente. o u o a Primero cambie de directorio a /usr/src/linux. La orden make config ir´ preguntando por un a n´ mero de opciones de configuraci´ n. Este es el paso d´ nde se selecciona el hardware al que el n´ cleo u o ´ o u podr´ dar soporte. La equivocaci´ n m´ s grande a evitar, es no incluir soporte parar el/los controlador/es a o a del/los disco/s duro/s. Sin el correcto soporte para el disco duro en el n´ cleo, el sistema ni siquiera se iniciar´ . u a Si en el proceso, se siente inseguro sobre lo que significa una de las opciones del n´ cleo, est´ disponible una u a corta descripci´ n pulsando ? y Enter o Lo siguiente ser´ ejecutar la orden make dep para actualizar todas las dependencias del c´ digo fuente. a o ´ ´ Este es, tambi´ n, un paso importante. make clean eliminar´ los ficheros binarios antiguos del arbol del e a n´ cleo. u La instrucci´ n make zImage compila el n´ cleo y lo escribe en el fichero o u /usr/src/linux/arch/i386/boot/zImage. Los n´ cleos de Linux en los sistemas Intel, u est´ n siempre comprimidos. Algunas veces, el n´ cleo que se desea compilar es demasiado grande para ser a u comprimido por el sistema de compresi´ n que usa make zImage. Un n´ cleo excesivamente grande para o u dicho sistema de compresi´ n, retornar´ del proceso de compilaci´ n del n´ cleo con el siguiente mensaje de o a o u error: Kernel Image Too Large. Si esto llegara a pasar, se debe tratar con la orden make bzImage. Esta orden usa un sistema de compresi´ n que soporta los n´ cleos grandes. El n´ cleo ser´ escrito en o u u a /usr/src/linux/arch/i386/boot/bzImage. Una vez que se tenga el n´ cleo compilado, se podr´ copiar a un disquete de arranque, (por ejemplo, con u a la orden “cp zImage /dev/fd0”), o se podr´ instalar la imagen, y as´, LILO iniciar´ el sistema desde el a ı a disco duro. Para m´ s informaci´ n, ver la p´ gina 134. a o a

4.9.2.

´ Agregando un controlador de dispositivo al nucleo

La p´ gina 150 describe c´ mo usar una unidad Zip Iomega, para efectuar copias de seguridad. El soporte a o para este tipo de unidades, como para muchos otros dispositivos, no son generalmente compilados en los n´ cleos com´ nes y corrientes de las distribuciones GNU/Linux —la variedad de dispositivos es simplemente u u demasiado extensa como para poder respaldarlos a todos en un s´ lo n´ cleo utilizable. No obstante, el c´ digo o u o

Actualizando e instalando software nuevo

155

fuente para el dispositivo de la unidad Zip en puerto paralelo, est´ incluido como una parte de c´ digo fuente a o del n´ cleo de la distribuci´ n. Esta secci´ n describe c´ mo agregar el soporte para una unidad de puerto paralelo u o o o Iomega Zip, y c´ mo hacer para que conviva con una impresora conectada a otro puerto paralelo. o Para esto, usted deber´ tener instalado, y haber construido exitosamente un n´ cleo, como el descrito en la a u secci´ n anterior. o El poder elegir un dispositivo unidad Zip ppa, como una de las opciones del n´ cleo, requiere que se u conteste Y a las respuestas apropiadas, durante el proceso make config, o sea, cuando se determina la configuraci´ n del n´ cleo a construir. En particular, el dispositivo ppa, requiere que se conteste “Y” a tres o u opciones:
SCSI support? [Y/n/m] Y SCSI disk support? [Y/n/m] Y IOMEGA Parallel Port Zip Drive SCSI support? [Y/n/m] Y

Despu´ s de haber ejecutado exitosamente make config, con todas las opciones que quiere incluir en su e n´ cleo, ejecutar make dep, make clean, y make zImage, para construirlo. Adem´ s, hay que decirle u a al n´ cleo, de qu´ manera instalar el controlador. Esto se efect´ a a trav´ s de una l´nea de comandos al LILO. u e u e ı Como se ha descrito en la secci´ n 4.2.2, el archivo de configuraci´ n del LILO /etc/lilo.conf tiene o o “estrofas”, una para cada sistema operativo que domina y tambi´ n directivas para ofrecer al usuario estas e opciones, en el momento de arrancar el sistema. Una de las directivas que LILO acepta es “append=”, la cual permite a˜ adir informaci´ n requerida n o por varios controladores a la l´nea de comandos. En este caso, el controlador de la unidad Iomega Zip ppa, ı requiere de una interrupci´ n y una direcci´ n del puerto de entrada/salida, sin uso. Esto es exactamente an´ logo o o a a especificar dispositivos de impresoras separados, como LPT1: y LPT2: en MS-DOS. Por ejemplo, si la impresora usa la direcci´ n del puerto hexadecimal (en base 16), 0x378 (ver el manual o de instalaci´ n de la tarjeta del puerto paralelo, si no se sabe cu´ l es la direcci´ n), y est´ sondeada4 , (esto es, o a o a no requiere de una l´nea IRQ, una configuraci´ n com´ n de GNU/Linux, se deber´a colocar la siguiente l´nea, ı o u ı ı en el archivo /etc/lilo.conf del sistema:
append="lp=0x378,0"

Es digno de observar que Linux reconoce autom´ ticamente un puerto /dev/lp al arrancar el sistema, a pero al especificar algunas otras configuraciones para los puertos, las instrucci´ nes al inicio del sistema, son o requeridas. El “0” que se encuentra despu´ s de la direcci´ n del puerto, le dice al n´ cleo que no use una l´nea IRQ e o u ı (pedido de interrupci´ n), para la impresora. Esto es, generalmente aceptable, ya que las impresoras son muo cho m´ s lentas que la CPU, y tan as´ que un m´ todo m´ s lento de acceso a los dispositivos E/S, conocido a ı e a 5 como sondeo , en el cual el n´ cleo comprueba, peri´ dicamente, el estado de la impresora, todav´a permite al u o ı computador supervisar este dispositivo. Sin embargo, los dispositivos que operan a mayores velocidades, como las l´neas en serie y los discos, ı requieren, cada uno, de una l´nea IRQ, o petici´ n de interrupci´ n, (Interrupt ReQuest). Esta, es una se˜ al ı o o n del hardware, enviada por el dispositivo hacia el microprocesador, cada vez que dicho dispositivo requiere la atenci´ n del procesador; por ejemplo: si el dispositivo tiene datos esperando a ser despachados por el o procesador. El procesador, interrumpe lo que est´ haciendo en ese momento para obedecer al pedido de e interrupci´ n del dispositivo. El dispositivo unidad Zip ppa, exige una l’´nea de interrupci´ n libre, la cual o ı o debe corresponder con la de la tarjeta de la impresora a la cual se conecta la unidad Zip. En el momento en que esto se escrib´a, el controlador del dispositivo ppa para GNU/Linux, no soportaba “sucesiones” de ı puertos paralelos, y se deb´an emplear puertos paralelos separados para usar el dispositivo Zip ppa y cada ı impresora. Para saber cu´ les interrupci´ nes est´ n actualmente utilizadas por su sistema, la orden a o a
# cat /proc/interrupt
4 N. 5 “polling”

del T.: “polled” en el original, en el original, (Nota del T.)

156

Administraci´ n del sistema o

muestra una lista de dispositivos y las l´neas IRQ que usan. Sin embargo, tambi´ n se deber´ tener cuidado ı e a de no usar ninguna interrupci´ n de ning´ n puerto en serie configurada autom´ ticamente; la cual puede no o u a estar listada en el archivo /proc/interrupt. El Proyecto de Documentaci´ n de Linux, serial HOWTO, o el cual est´ disponible en los recursos listados en el Ap´ ndice A, describe detalladamente, la configuraci´ n a e o de los puertos en serie. Uno tambi´ n deber´a realizar un chequeo de la configuraci´ n de la interfaz de varias tarjetas, abriendo e ı o la carcasa de su m´ quina y verificando visualmente la configuraci´ n de los puentes si es necesario, para a o asegurarse, as´, de no estar asociando una l´nea IRQ usada por otro dispositivo. La lucha de m´ ltiples dispoı ı u sitivos por una l´nea de interrupci´ n es quiz´ el problema m´ s sencillo y com´ n que causa que los sistemas ı o a a u GNU/Linux no funcionen. Un t´pico archivo /proc/interrupt suele ser como ı
0: 6091646 timer 1: 40691 keyboard 2: 0 cascade 4: 284686 + serial 13: 1 math error 14: 192560 + ide0

Aqu´, la primera columna nos es de inter´ s. Estos son los n´ meros de las l´neas IRQ usadas por el sistema. ı e u ı Para el controlador ppa, necesitamos escoger una l´nea que no est´ listada. La l´nea IRQ 7 es, a menudo, una ı e ı buena elecci´ n ya que rara vez es usada en las configuraciones del sistema por defecto. Tambi´ n necesitamos o e especificar la direcci´ n del puerto que usar´ el dispositivo ppa. Esta direcci´ n necesita estar configurada o a o f´sicamente con la interfaz de la tarjeta. A los puertos paralelos de E/S se les deben asignar direcciones ı espec´ficas, por lo que usted tendr´ que leer la documentaci´ n de la tarjeta de su puerto paralelo. En este ı a o ejemplo usaremos, para el puerto de E/S, la direcci´ n 0x278, la cual corresponde al puerto LPT2: de o la impresora, en MS-DOS. Para a˜ adir la l´nea IRQ y la direcci´ n del puerto en una l´nea de comandos n ı o ı cuando arranca el sistema, necesitamos agregar la siguiente expresi´ n a la ”estrofa.apropiada del archivo o /etc/lilo.conf:
append="lp=0x378,0 ppa=0x278,7"

Estas expresiones son a˜ adidas a los par´ metros de arranque del n´ cleo, cuando se inicia el sistema. n a u Aseguran que cualquier impresora conectada al sistema no interfiera con el funcionamiento de la unidad Zip. Por supuesto, si el sistema no tiene ninguna impresora instalada la directiva “lp=” puede, y deber´a ser ı omitida. Despu´ s de que haya instalado el n´ cleo, como se describi´ en la secci´ n 4.2.2, y antes de reiniciar el e u o o sistema, hay que asegurarse de ejecutar la instrucci´ n o
# /sbin/lilo

para as´, instalar la nueva configuraci´ n de LILO en el sector de arranque del disco duro. ı o

4.9.3.

Instalando controladores en m´ dulos o

La p´ gina 151 describe como realizar copias de seguridad en un accionador de cinta magn´ tica. Linux da a e soporte a una gran variedad de accionadores de cinta con interfaces IDE, SCSI y algunas interfaces del propietario. Otro tipo corriente de accionadores de cinta son aquellos que se conectan directamente al controlador de la disquetera. Linux suministra el controlador para la unidad ftape como un m´ dulo. o Cuando esto se estaba escribiendo, la versi´ n m´ s reciente de ftape era la 3.04d. Se puede obtener el o a controlador en el servidor FTP sunsite.unc.edu, (para m´ s informaci´ n, ver el Ap´ ndice C). El archivo a o e ftape se encuentra en el directorio /pub/Linux/n´cleo/tapes. Hay que asegurarse de procurarse la u versi´ n m´ s reciente, la cual, cuando este documento se estaba editando, era ftape-3.04d.tar.gz. o a Despu´ s de desempaquetar el archivo ftape en el directorio /usr/src, al escribir make install en e el directorio padre de ftape, se compilar´ n el m´ dulo del controlador ftape y sus utilidades, si son necesarias, y a o

Actualizando e instalando software nuevo

157

luego se instalar´ n. Si experimenta problemas de compatibilidad entre los ficheros de la distribuci´ n ejecutaa o ble ftape y su n´ cleo o las bibliotecas de su sistema, ejecuta los comandos make clean y make install, u y se asegurar´ , de que los m´ dulos sean compilados en su sistema. a o Para usar esta versi´ n del controlador ftape, usted deber´ tener el soporte para m´ dulos en el n´ cleo, o a o u como tambi´ n soporte para el demonio n´cleod. Sin embargo, no deber´ incluir el c´ digo interno del e u a o n´ cleo para ftape como una opci´ n del n´ cleo, ya que las versi´ nes m´ s recientes del m´ dulo ftape remplazan u o u o a o completamente este c´ digo. o make install, tambi´ n instalar´ el controlador del dispositivo en el directorio correcto. En un sistema e a GNU/Linux est´ ndar, los m´ dulos se encuentran en el directorio a o
/lib/modules/n´ cleo-version u

Si la versi´ n de tu n´ cleo es 2.0.30, los m´ dulos de su sistema se encuentran en el directorio o u o /lib/modules/2.0.30. make install tambi´ n asegura que estos m´ dulos puedan ser localizados e o en cualquier momento, agregando las expresi´ nes apropiadas en el archivo modules.dep, que se encueno tra en el directorio ra´z de los ficheros m´ dulo, en este caso, /lib/modules/2.0.30. La instalaci´ n de ı o o ftape, a˜ ade los siguientes m´ dulos a su sistema, (usando, en este ejemplo, la versi´ n 2.0.30 del n´ cleo): n o o u
/lib/modules/2.0.30/misc/ftape.o /lib/modules/2.0.30/misc/zft-compressor.o /lib/modules/2.0.30/misc/zftape.o

Tambi´ n se necesitan agregar las instrucci´ nes para cargar los m´ dulos al archivo de la configurae o o ci´ n de m´ dulos de su sistema. En muchos sistemas, este es el archivo /etc/conf.modules. Pao o ra cargar autom´ ticamente los m´ dulos ftape a pedido, agregue las siguientes l´neas en el archivo a o ı /etc/conf.modules:
alias char-major-27 zftape pre-install ftape /sbin/swapout 5

La primera declaraci´ n carga los m´ dulos relacionados con ftape cuando un dispositivo con el n´ meo o u 6 ro principal 27 (el dispositivo ftape), es accedido por el n´ cleo. Debido a que el m´ dulo de soporte para u o zftape, (el cual provee compresi´ n autom´ tica para los dispositivos ftape) requiere el soporte de los dem´ s o a a m´ dulos ftape, todos ellos son cargados en el momento en que el n´ cleo efect´ a la demanda. La segunda o u u l´nea especifica los par´ metros que ser´ n dados a los m´ dulos al iniciarse el sistema. En este caso, la utilidad ı a a o /sbin/swapout, la cual viene incorporada en el paquete de software ftape, asegura que hay suficiente memoria DMA, para el correcto funcionamiento del controlador ftape. Para tener acceso al dispositivo ftape driver se deber´ primero, colocar una cinta formateada en la unia dad. Las instrucci´ nes para formatear cintas y operar correctamente la unidad de cintas son dadas en la o secci´ n 4.8.3. o

4.9.4.

Actualizando las bibliotecas

Como se mencion´ antes, la mayor parte del software del sistema est´ compilado para que utilice las o a bibliotecas compartidas, las cuales contienen subrutinas comunes compartidas entre distintos programas. Si aparece el mensaje
Incompatible library version

cuando se intenta ejecutar un programa, entonces necesita actualizar a la versi´ n de las bibliotecas que el o programa requiere. Las bibliotecas son compatible-ascendentes; esto es, un programa compilado para utilizar una versi´ n antigua de las bibliotecas, deber´a ser capaz de trabajar con la nueva versi´ n de las bibliotecas o ı o instalada. Sin embargo, esto no se da en reversa. La ultima versi´ n de las bibliotecas se puede encontrar en los servidores FTP de GNU/Linux. En o sunsite.unc.edu, est´ n disponibles en /pub/GNU/Linux/GCC. Los ficheros a descargar deber´an a ı
6 N.

del T.: “majornumber 27” en el original

158

Administraci´ n del sistema o

explicar qu´ ficheros se necesita obtener y como instalarlos. Deber´a ser capaz de coger r´ pidamente los e ı a ficheros image-versi´n.tar.gz y inc-versi´n.tar.gz, donde versi´ n es la versi´ n de las bio o o o bliotecas a instalar, por ejemplo 4.4.1. Estos son ficheros tar, comprimidos con gzip. El fichero imagen contiene las im´ genes de las bibliotecas a instalar en /lib y /usr/lib. El fichero inc contiene los fichea ros de inclusi´ n, a instalar en /usr/include. o El fichero release-versi´ n.tar.gz deber´a explicar el procedimiento de instalaci´ n en detalle, (las o ı o instrucci´ nes exactas cambian seg´ n la versi´ n). Generalmente se necesitar´ instalar los ficheros de biblioteo u o a cas .a y .sa en /usr/lib. Estas son las utilizadas al compilar. Adem´ s, los ficheros imagen de las bibliotecas compartidas lib.so.versi´ n se instalan en /lib. Estas a o son las im´ genes de las bibliotecas compartidas que son cargadas en tiempo de ejecuci´ n por los programas a o que las utilizan. Cada biblioteca tiene un enlace simb´ lico utilizando el numero de versi´ n principal 7 de la o o biblioteca en /lib. La versi´ n 4.4.1 de la biblioteca libc tiene un n´ mero de versi´ n de versi´ n principal 4. El archivo que o u o o contiene a la biblioteca es el libc.so.4.4.1. Existe un enlace simb´ lico con el nombre libc.so.4 en o /lib apuntando a este fichero. Es por esto que se debe cambiar estos enlaces simb´ licos cuando se actualizan o las bibliotecas. Por ejemplo, cuando se actualiza de libc.so.4.4 a libc.so.4.4.1, se debe cambiar el enlace simb´ lico de tal modo que apunte a la nueva versi´ n. o o Se deber´ cambiar el enlace simb´ lico de un s´ lo paso, como se describir´ m´ s abajo. Si se borra el enlace a o o a a ´ simb´ lico libc.so.4, los programas que dependen de el, (incluyendo utilidades b´ sicas como ls y cat), o a dejar´ n de funcionar. Por lo tanto, es recomendable usar la siguiente orden para actualizar el enlace simb´ lico a o libc.so.4 y hacer que apunte al archivo libc.so.4.4.1:
# ln -sf /lib/libc.so.4.4.1 /lib/libc.so.4

Tambi´ n se necesitar´ cambiar el enlace simb´ lico libm.so.versi´ n de la misma manera. Si se est´ ace a o o a tualizando a una versi´ n de biblioteca diferente, substituir apropiadamente los nombres de arriba. Las notas o que vienen con el paquete de la biblioteca, deber´an explicar los detalles. (Mirar en la p´ gina 118 para m´ s ı a a informaci´ n sobre los enlaces simb´ licos.) o o

4.9.5.

Actualizando el gcc

El compilador de C y C++ gcc, es usado para compilar el software de su sistema, siendo lo m´ s ima ´ portante, el n´ cleo. La ultima versi´ n, del gcc se puede obtener en los servidores de GNU/Linux FTP. En u o sunsite.unc.edu, se encuentra en el directorio /pub/GNU/Linux/GCC, (junto con las bibliotecas). Deber´a de haber un fichero de entrega8 en la distribuci´ n del gcc, el cual explique qu´ ficheros ı o e necesita obtener y c´ mo instalarlos. o La mayor´a de las distribuci´ nes de GNU/Linux tienen versi´ nes para actualizar el gcc que trabajan con ı o o su propia gesti´ n de paquetes de software. En general, estos paquetes son mucho m´ s f´ ciles de instalar que o a a las distribuci´ nes “gen´ ricas”. o e

4.9.6.

Actualizando otro software

Actualizar otro software suele ser simplemente materia de obtener los ficheros apropiados e instalarlos. La mayor parte del software de GNU/Linux se distribuye bajo la forma de ficheros tar comprimidos que pueden incluir los fuentes, los binarios, o ambos. Si los binarios no est´ n incluidos en ese paquete, puede que a sea necesario que usted los compiles. Esto significa, que por lo menos, tenga que teclear make dentro del directorio donde se encuentran los ficheros fuente. Leer el grupo de noticias de Usenet comp.os.GNU/Linux.announce en busca de anuncios de nuevas versi´ nes de software, es la manera m´ s simple para enterarse de la aparici´ n de nuevo software. Cada o a o vez que se busque software en un servidor FTP, obtener el fichero de ´ndice ls-lR del servidor FTP y ı utilizar grep para encontrar los ficheros en cuesti´ n, es la forma mas simple de localizar software. Si se o
7 N. 8 “release

del T.: “major version number” en el original. file” en el original. Nota del T.

4.10. Tareas diversas

159

dispone de archie, este puede servir de ayuda; o de otra manera 9 , es posible conectarse v´a telnet a un ı servidor archie como puede ser archie.rutgers.edu, identificarse como “archie” y utilizar el comando ”help”. Tambi´ n se puede encontrar otros recursos en Internet, los cuales son consagrados espec´ficamente e ı para GNU/Linux. Mirar el Ap´ ndice A para obtener informaci´ n m´ s detallada. e o a

4.10.

Tareas diversas

Se crea o no, existen diversas tareas dom´ sticas de verificaci´ n para el administrador del sistema, que no e o entran en ninguna categor´a en especial. ı

4.10.1.

Ficheros de inicio del sistema

Cuando el sistema arranca, una serie de scripts son ejecutados autom´ ticamente por el sistema antes de a que cualquier usuario ingrese. He aqu´ qu´ es lo que sucede. ı e Cuando el sistema arranca, el n´ cleo inicia el proceso /etc/init. Init es un programa que lee su u archivo de configuraci´ n, /etc/inittab, y a su vez, inicia otros procesos, los cuales se encuentran en o dicho archivo. Uno de los procesos m´ s importantes, de los iniciados por inittab es /etc/getty, el a cual se “despierta” con cada consola virtual. El proceso getty dispone la consola virtual, (consola virtual) para ser utilizada, e inicia el proceso login en ella. Esto es lo que le permite al usuario ingresar en cada consola virtual. Si el fichero /etc/inittab no tuviera un proceso getty para cierta consola virtual, entonces no ser´a posible ingresar en dicha consola virtual. ı Otro proceso ejecutado desde /etc/inittab es /etc/rc, el archivo de inicializaci´ n principal del o ´ sistema. Este es un simple fichero de comandos que ejecuta cualquier orden necesaria al iniciarse el sistema como, por ejemplo, montar el sistema de archivos, (ver p´ gina 139) o iniciar el espacio de intercambio10 . En a algunos sistemas, init ejecuta el archivo /etc/init.d/rc. El sistema tambi´ n puede ejecutar otros scripts de inicializaci´ n. Por ejemplo, /etc/rc.local, cone o ´ tiene, usualmente, ordenes de inicializaci´ n espec´ficas del propio sistema, como puede ser establecer el o ı nombre del host (ver la siguiente secci´ n). rc.local puede ser iniciado tanto desde /etc/rc como desde o /etc/inittab.

4.10.2.

Estableciendo el nombre del anfitri´ n o

En un entorno de red el nombre de la m´ quina es utilizado para identificar un´vocamente una m´ quina a ı a en particular, mientras que en una m´ quina aut´ noma, el nombre del anfitri´ n, simplemente da a la m´ quina a o o a personalidad y encanto. Es como darle un nombre a una mascota: siempre puede dirigirse a su perro como ”El perro”, pero es mucho m´ s interesante ponerle al perro un nombre como Mancha o Duque. a Asignarle un nombre al sistema se trata simplemente de utilizar la orden hostname. Si se est´ en una red, el nombre debe ser el nombre de anfitri´ n11 completo de su m´ quina, por ejemplo, a o a goober.norelco.com. Si no se esta en una red de ning´ n tipo, entonces se podr´ escoger el nombre u a y dominio que prefiera, como loomer.vpizza.com, shoop.nowhere.edu, o floof.org. Cuando se designa el nombre del ordenador, dicho nombre debe aparecer en el fichero /etc/hosts, que asigna una direcci´ n IP a cada ordenador. A´ n cuando el ordenador no est´ en una red, se debe incluir el o u e nombre del ordenador en /etc/hosts. Si no se pertenece a una red TCP/IP, y se ha asignado floof.org como nombre de tu equipo, entonces se deber´ incluir la siguiente l´nea en /etc/hosts: a ı
127.0.0.1 floof.org localhost

Esto asignar´ el nombre de servidor, floof.org, a la direcci´ n de bucle12 127.0.0.1, (utilizada si no a o se est´ en una red). La interfaz de bucle est´ presente, tanto cuando la m´ quina esta conectada a una red, o a a a
no se tiene archie del T.: “swap space” en el original. 11 N. del T.: “host name” en el original. 12 N. del T.: “loopback address” en el Original.
10 N. 9 Si

160

Administraci´ n del Sistema o

cuando no lo est´ . El alias localhost siempre se asigna a esta direcci´ n. 13 Si se est´ en una red TCP/IP, a o a la direcci´ n y nombre de servidor actuales deber´an encontrarse en /etc/hosts. Por ejemplo, si el nombre o ı de servidor es goober.norelco.com,, y la direcci´ n IP es 128.253.154.32, se deber´ agregar la siguiente o a l´nea en /etc/hosts: ı
128.253.154.32 goober.norelco.com

Para establecer el nombre de anfitri´ n, se deber´ usar la instrucci´ n hostname. Por ejemplo, la orden o a o
# hostname -S goober.norelco.com

establece el nombre de anfitri´ n como goober.norelco.com. En la mayor´a de los casos, el comando o ı hostname es ejecutado desde uno de los ficheros de inicio del sistema, como por ejemplo /etc/rc o /etc/rc.local. Hay que reescribir estos dos ficheros y cambiar la orden hostname que all´ se encuentra ı para determinar su propio nombre de anfitri´ n. Cuando haya reiniciado el equipo, el sistema usar´ el nuevo o a nombre.

4.11. Qu´ hacer en caso de emergencia e
En algunas ocasiones, el administrador de sistemas se encuentra con el problema de recuperarse de un desastre completo, como puede ser el olvidarse la palabra clave del usuario root, o el enfrentarse con sistemas ´ de ficheros da˜ ados. El mejor consejo es, obrar sin p´ nico. Todo el mundo comete errores est´ pidos, esta es n a u la mejor forma de aprender sobre administraci´ n de sistemas: la forma dif´cil. o ı Linux no es una versi´ n inestable de UNIX. De hecho, he tenido menos problemas con “cuelgues” de o sistemas Linux que con versiones comerciales de UNIX en muchas plataformas. Linux tambi´ n se beneficia e de un fuerte complemento de asistentes que pueden ayudar a salir del agujero. El primer paso al investigar cualquier problema es intentar arreglarlo uno mismo. Hay que echar un vistazo y ver c´ mo funcionan las cosas. Demasiadas veces, un administrador de sistemas pone un mensaje o desesperado rogando ayuda antes de investigar el problema. Muchas de las veces, arreglar problemas por uno mismo es realmente muy f´ cil. Este es el camino que debe seguir para convertirse en un gur´ . a u Hay pocos casos en los que sea necesario reinstalar el sistema desde cero. Muchos nuevos usuarios borran accidentalmente alg´ n fichero esencial del sistema, e inmediatamente acuden a los discos de instalaci´ n. Esta u o no es una buena idea. Antes de tomar medidas dr´ sticas como esa, investigar el problema y preguntar a otros a ayudar´ a solucionar las cosas. En pr´ cticamente todos los casos, podr´ recuperar el sistema desde un disquete a a a de mantenimiento.

4.11.1.

Recuperaci´ n utilizando un disquete de mantenimiento o

Una herramienta indispensable para el administrador de sistemas es el llamado “disco arranque/ra´z” ı (“boot/root disk”) —un disquete desde el que se puede arrancar un sistema GNU/Linux completo, independiente del disco duro. Los discos de arranque/ra´z son realmente muy simples, se crea un sistema de ficheros ı ´ ra´z en el disquete, se ponen todas las utilidades necesarias en el y se instala LILO y un n´ cleo arrancable en ı u el disquete. Otra t´ cnica es usar un disquete para el n´ cleo y otro para el sistema de ficheros ra´z. En cualquier e u ı caso, el resultado es el mismo: Ejecutar un sistema Linux completamente desde disquete. El ejemplo m´ s claro de un disco de arranque/ra´z son los discos de arranque Slackware14 . Estos disquetes a ı contienen un n´ cleo capaz de iniciar y un sistema de ficheros ra´z, todo en disquete. Est´ n dise˜ ados para u ı a n usarse en la instalaci´ n de la distribuci´ n Slackware, pero vienen muy bien cuando hay que hacer mantenio o miento del sistema.
13 N. del T.: Si se usa sendmail, cambiar el nombre de host en una estaci´ n sin tarjeta de red provoca que sendmail tarde unos 5 minutos o en iniciarse debido a un cambio del nombre de la direcci´ n del bucle local. Tendr´ que configurar sendmail a mano para poder hacer o a esto, y no es f´ cil. a 14 V´ ase la Secci´ n C para la informaci´ n sobre c´ mo obtener esta desde Internet. Para este procedimiento, no se necesita obtener la ´ e o o o versi´ n completa de Slackware, s´ lo los disquetes de arranque y ra´z. o o ı

4.11. Qu´ hacer en caso de emergencia e

161

El disco de arranque/ra´z de H.J Lu, disponible en /pub/Linux/GCC/rootdisk en ı sunsite.unc.edu, es otro ejemplo de este tipo de discos de mantenimiento. O, si se es ambicioso, se puede crear uno su propio disco. En muchos casos, sin embargo, la utilizaci´ n de un disco de o arranque/ra´z prefabricado es mucho m´ s simple y probablemente ser´ m´ s completo. ı a a a La utilizaci´ n de un disco de arranque/ra´z es muy simple. Tan s´ lo arranque el sistema con el disco, o ı o y haga login como root (normalmente sin clave). Para poder acceder a los ficheros del disco duro, se necesitar´ montar el sistema de ficheros a mano. Por ejemplo, la orden a
# mount -t ext2 /dev/hda2 /mnt

montar´ un sistema de ficheros ext2fs existente en /dev/hda2 bajo /mnt. Recuerde que / es ahora el a propio disco de arranque/ra´z; se necesitar´ montar los sistemas de ficheros de su disco duro bajo alg´ n ı a u directorio para poder acceder a los ficheros. Por lo tanto, el fichero /etc/passwd de su disco duro es ahora /mnt/etc/passwd si se mont´ el sistema de ficheros ra´z bajo /mnt. o ı

4.11.2.

Arreglando la clave de root

Si se olvida de la clave de root, no hay problema. S´ lo hay que arrancar del disco de arranque/ra´z, montar o ı su sistema de ficheros ra´z en /mnt, y eliminar el campo de la clave de /root en /mnt/etc/passwd, ı como por ejemplo:
root::0:0:root:/:/bin/sh

Ahora root no tiene clave; al reiniciar desde el disco duro deber´ a ser capaz de hacer login como root y ı poner la clave que desee utilizando passwd. ¿No quiso aprender a utilizar vi? En el disco de arranque/ra´z probablemente no estar´ n disponibles otros ı a editores como pueda ser Emacs, pero vi deber´ a estarlo. ı

4.11.3.

Arreglando sistemas de ficheros corrompidos

Si se corrompiese de alguna forma el sistema de ficheros, se puede ejecutar e2fsck o la forma apropiadad de fsck para el tipo de sistema de ficheros (vease la p´ gina 141). En muchos casos, es m´ s seguro a a corregir cualquier dato da˜ ado en el sitema de ficheros del disco duro desde un disquete. n Una causa com´ n de da˜ o en un sistema de ficheros es la corrupci´ n del super bloque. El super bloque u n o es la “cabecera” del sistema de ficheros que contiene informaci´ n acerca del estado del sistema de ficheros, o tama˜ o, bloques libres, y dem´ s. Si se corrompe el super bloque (por ejemplo, escribiendo accidentalmente n a datos directamente a la partici´ n del sistema de ficheros), el sistema no puede reconocer nada del sistema de o ficheros. Cualquier intento de montar el sistema de ficheros fallar´ y e2fsck no ser´ capaz de arreglar el a a problema. Afortunadamente, el tipo de sistema de ficheros ext2fs salva copias del super bloque en los l´ mites de ı “grupos de bloques” en el disco —normalmente cada 8K bloques. Para poder decirle al e2fsck que utilice una copia del super bloque, se puede utilizar un comando tal que
# e2fsck -b 8193 partici´ n o

donde partici´ n es la partici´ n en la que reside el sistema de ficheros. La opci´ n -b 8193 le dice al e2fsck o o o que utilice la copia del super bloque almacenada en el bloque 8193 del sistema de ficheros.

4.11.4.

Recuperando ficheros perdidos

Si accidentalmente se borran ficheros importantes del sistema no hay forma de recuperarlos. Sin embargo, se pueden copiar los ficheros relevantes desde el disquete al disco duro. Por ejemplo, si se hubiese borrado /bin/login de su sistema (que le permite registrarse en el sistema), simplemente arranque del disquete de arranque/ra´z, monte el sistema de ficheros ra´z en /mnt, y use la orden ı ı
# cp -a /bin/login /mnt/bin/login

162

Administraci´ n del Sistema o

La opci´ n -a le dice a cp que conserve los permisos en los ficheros que se est´ n copiando. o a Por supuesto, si los ficheros que se borraron no fuesen ficheros esenciales del sistema que tengan contrapartidas en el disquete de arranque/ra´z, se habr´ acabado la suerte. Si se hicieron copias de seguridad, ı a siempre se podr´ recuperar de ellas. a

4.11.5.

Arreglando bibliotecas corrompidas

Si accidentalmente se llegasen a corromper las bibliotecas de enlaces simb´ licos en /lib, es m´ s que o a seguro que instrucciones que dependan de estas bibliotecas no vuelvan a funcionar (V´ ase la Secci´ n 4.9.4). e o La soluci´ n m´ s simple es arrancar del disquete de arranque/ra´z, montar el sistema de ficheros ra´z y arreglar o a ı ı las bibliotecas en /mnt/lib. En la p´ gina 157 se describe c´ mo instalar este tipo de bibliotecas y sus enlaces simb´ licos. a o o

Cap´tulo 5 ı

El Sistema X-Window
El sistema X-Window es una interfaz gr´ fica para usuario (“GUI” en sus siglas en ingl´ s), que se desaa e rroll´ originalmente en el Instituto de Tecnolog´a de Massachussetts (Massachusetts Institute of Technology, o ı m´ s conocido como MIT). X es la “GUI” est´ ndar para plataformas UNIX comerciales. Pr´ cticamente todas a a a las estaciones de trabajo UNIX del mundo trabajan bajo alguna forma de X. Un equipo de programadores encabezados inicialmente por David Welxelblat desarrollaron un porte libre del sistema X-Window del MIT, versi´ n 11 y “release” 6 (X11R6) para sistemas UNIX con 80386, 80486 o y Pentium. Esta “release”, conocida como XFree861 , est´ disponible para sistemas V/386, 386BSD y otras a implementaciones UNIX de Intel x86, incluyendo GNU/Linux. Proporciona todos los binarios, ficheros de soporte, bibliotecas y utilidades para la instalaci´ n. o Algunas de las caracter´sticas que ofrece esta versi´ n son: ı o Inclusi´ n de la versi´ n completa de X11R6.3 del X Consortium. o o Una nueva extensi´ n “DPMS”, donada por Digital Equipment Corporation. o La extensi´ n de Low Bandwidth X(LBX) en todos los servidores X. o Soporte Microsoft Intellimouse Soporte para la compresi´ n de fuentes gzip o Para usar el sistema X-Window, se recomienda leer The X-Window System: A User’s Guide (ver Ap´ ndie ce /refapp-info). Aqu´ describiremos paso a paso la instalaci´ n de XFree86 bajo GNU/Linux. Debe fijarse en ı o ´ algunos detalles leyendo la documentaci´ n de XFree86, que se discute m´ s adelante. El XFree86 COMO de o a GNU/Linux es otra fuente de informaci´ n interesante. o

5.1. Requerimientos hardware de X-Window
5.1.1. Gr´ ficos a

La documentaci´ n para su adaptador de v´deo deber´a especificar el chip gr´ fico. Si est´ dispuesto a como ı ı a a prar una nueva tarjeta, o va a comprar una m´ quina que viene con tarjeta de v´deo, pregunte a su distribuidor a ı cu´ l es exactamente la marca, modelo y chip de la tarjeta que tiene. El distribuidor puede que necesite llamar a al departamento de apoyo t´ cnico del fabricante. Muchos distribuidores de hardware de ordenadores persoe nales afirman que su tarjeta de v´deo es “Super VGA est´ ndar,” que “deber´a funcionar,” con su ordenador. ı a ı Explique que su software (mencione GNU/Linux y XFree86!) no permite todos los chips gr´ ficos y que a deber´a tener informaci´ n detallada. ı o Tambi´ n puede determinar el chip de la tarjeta de v´deo ejecutando el programa SuperProbe incluido e ı junto con el paquete XFree86. Esto se detalla m´ s abajo. a Concretamente se permiten los siguientes chips de v´deo para la versi´ n de XFree86 3.3 liberada en Junio ı o 1997:
1 XFree86

es una marca registrada por XFree86 Project, Inc.

163

164

Caracter´sticas Avanzadas ı

Ark Logic ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT Alliance AP6422, AT24 ATI 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3, 68800-6, 68800AX, 68800LX, 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX, 264CT, 264ET, 264VT, 264VT2, 264GT (esta lista incluye los Mach8, Mach32, Mach64, 3D Rage y 3D Rage II) Avance Logic ALG2101, ALG2228, ALG2301, ALG2302, ALG2308, ALG2401 Chips & Technologies 65520, 65530, 65540, 65545, 65520, 65530, 65540, 65545, 65546, 65548, 65550, 65554 Cirrus Logic CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CLGD5446, CLGD5462, CLGD5464, CLGD5465, CLGD5480, CLGD6205, CLGD6215, CLGD6225, CLGD6235, CLGD6410, CLGD6412, CLGD6420, CLGD6440, CLGD7541, CLGD7543, CLGD7548, CLGD7555 Digital Equipment Corporation TGA Compaq AVGA Genoa GVGA IBM 8514/A (y clones aut´ nticos), XGA-2 e IIT AGX-014, AGX-015, AGX-016 Matrox MGA2064W (Millennium), MGA1064SG (Mystique) MX MX68000, MX680010 NCR 77C22, 77C22E, 77C22E+ Number Nine I128 (series I y II) NVidia/SGS Thomson NV1, STG2000 OAK OTI067, OTI077, OTI087 RealTek RTG3106 S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964, 86C732, 86C764, 86C765, 86C775, 86C868, 86C968, 86C325, 86C375, 86C385, 86C988, 86CM65 SiS 86C201, 86C202, 86C205 Tseng ET3000, ET4000AX, ET4000/W32, ET4000/W32i, ET4000/W32p, ET6000 Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000, TVGA9000i, TVGA9100B, TVGA9200CXR, TVGA9320, TVGA9400CXi, TVGA9420, TGUI9420DGi, TGUI9430DGi, TGUI9440AGi, TGUI9660XGi, TGUI9680, ProVidia 9682, ProVidia 9685, ProVidia 9692, Cyber 9382, Cyber 9385 Video 7/Headland Technologies HT216-32 Weitek P9000 Western Digital/Paradise PVGA1 Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C24A, WD90C30, WD90C31, WD90C33

5.2. Instalaci´ n de XFree86 o

165

Las tarjetas de v´deo con estos chips se permiten en todos los tipos de buses. Todas las tarjetas permiten ı virtualmente los modos gr´ ficos de 256 colores. Adem´ s, algunas de ellas permiten modos de color como a a monocromo, 15-bit, 16-bit, 24-bit y 32-bit. Para profundidades de color superiores a 256 (8-bit), debe tener instalada la cantidad requerida de RAM din´ mica de v´deo (DRAM). La configuraci´ n t´pica es 16 bits por a ı o ı pixel (65536 colores). El servidor monocromo permite asimismo tarjetas VGA gen´ ricas, la tarjeta monocroma Hercules, las e tarjetas monocromas Hyundai HGC1280, Sigma LaserView y Apollo. Las anotaciones de la versi´ n actual de XFree86 deber´an contener la lista completa de chips permitidos. o ı La distribuci´ n XFree86 tiene ficheros README espec´ficos para cada chip que dan informaci´ n detallada o ı o sobre la posibilidad de utilizar ese chip. Un problema al que se enfrentaron los desarrolladores del XFree86 es que algunos fabricantes de tarjetas de v´deo utilizan mecanismos no est´ ndar para determinar las frecuencias del reloj utilizadas para trabajar ı a con la tarjeta. O no publican especificaciones que describan como programar la tarjeta o exigen a los programadores que firmen declaraciones de no revelaci´ n para conseguir la informaci´ n. Esta pr´ ctica restringe o o a la libre distribuci´ n de XFree86 y el equipo de desarrollo de XFree86 no est´ dispuesto a aceptarla. Esto ha o a sido un problema con las tarjetas de v´deo m´ s antiguas de Diamond, pero a partir de la versi´ n 3.3, Diamond ı a o apoya activamente el Proyecto XFree86. N´ tese sin embargo que las tarjetas Diamond SpeedStar 24 y posiblemente algunas tarjetas SpeeedStar+ o NO son soportadas, incluso aunque usen el chipset ET4000. Tambi´ n, hay muchos de los chipsets m´ s modere a nos que no se soportan debido a la escasez de documentaci´ n del fabricante y/o la escasez de programadores o dedicados a la codificaci´ n. o Se recomienda usar una tarjeta aceleradora, como el chip S3. Deber´a revisar la documentaci´ n del ı o XFree86 y verificar que su propia tarjeta est´ permitida antes de dar el paso decisivo y comprar hardware a caro. Se env´an comparaciones de rendimiento de tarjetas de v´deo de forma rutinaria a los grupos de noticias ı ı de Usenet comp.windows.x.i386unix y comp.os.linux.misc. Es importante fijarse en que la tarjeta aceleradora media es significativamente m´ s r´ pida que la tarjeta a a gr´ fica est´ ndar de la mayor´a de las estaciones de trabajo. Un sistema GNU/Linux 80486DX2 a 66-MHz con a a ı 20 megabytes de RAM equipado con tarjeta S3-864 VESA Local Bus (VLB) con 2 megabytes de DRAM podr´ por consiguiente ser unas 7 veces m´ s r´ pido que una estaci´ n de trabajo Sun Sparc IPX en pruebas de a a a o rendimiento con el servidor XFree86 versi´ n 3.1. La versi´ n 3.3 es a´ n m´ s r´ pida. En general, un sistema o o u a a GNU/Linux con una SVGA acelerada dar´ un rendimiento mucho mayor que las estaciones de trabajo UNIX a ´ comerciales, que normalmente emplean buffers de cuadro unico para gr´ ficos. a

5.1.2.

Memoria, CPU y espacio en disco

La instalaci´ n recomendada para XFree86 bajo GNU/Linux es un 80486 o mejor con al menos 16 meo gabytes de RAM. Cuanta m´ s RAM f´sica haya instalada, menos intercambio a disco habr´ que hacer cuando a ı a quede poca memoria libre. Como el intercambio es inherentemente lento (los discos son muy lentos comparados con la memoria) tener 16 megabytes de RAM o m´ s es necesario para ejecutar XFree86 c´ modamente. a o Un sistema con 4 megabytes de RAM f´sica podr´a funcionar de 10 a 100 veces m´ s despacio que uno con ı ı a 16 megabytes o m´ s. a Una instalaci´ n est´ ndar de XFree86 necesita de 60 a 80 megabytes de espacio en disco, como m´nimo. o a ı Esto incluye espacio para los servidores X, fuentes, bibliotecas y utilidades est´ ndar. Si tiene en mente a˜ adir a n aplicaciones, probablemente podr´ ejecutar XFree86 con comodidad con 200 megabytes de espacio en disco. a

5.2. Instalaci´ n de XFree86 o
La distribuci´ n binaria de XFree86 para GNU/Linux se halla en todas las distribuciones GNU/Linux en o CD y tambi´ n puede ser encontrada en un cierto n´ mero de sitios FTP. En sunsite.unc.edu se encuentra e u en el directorio /pub/X11/XFree86. En el momento de la redacci´ n de este documento, la versi´ n actual o o es la 3.3.1. Peri´ dicamente, salen versiones m´ s nuevas. Si obtiene XFree86 como parte de una distribuci´ n o a o GNU/Linux, no es necesario descargar el software de forma separada.

166

Caracter´sticas Avanzadas ı

Estos ficheros est´ n presentes en la distribuci´ n XFree86-3.3.1 a o Uno de los siguientes servidores es necesario:
Fichero X338514.tgz X33AGX.tgz X33I128.tgz X33Ma64.tgz X33Ma32.tgz X33Ma8.tgz X33Mono.tgz X33P9K.tgz X33S3.tgz X33S3V.tgz X33SVGA.tgz X33VGA16.tgz X33W32.tgz Descripci´ n o Servidor para tarjetas basadas en 8514. Servidor para tarjetas basadas en AGX. Servidor para las tarjetas Imagine I128. Servidor para tarjetas basadas en Mach64. Servidor para tarjetas basadas en Mach32. Servidor para tarjetas basadas en Mach8. Servidor para modos de v´deo monocromos. ı Servidor para tarjetas basadas en P9000. Servidor para tarjetas basadas en S3. Servidor para tarjetas tipo S3/Virge. Servidor para tarjetas Super VGA. Servidor para tarjetas VGA/EGA. Servidor para tarjetas tipo ET4000/W32.

Todos los ficheros siguientes son necesarios:
Fichero preinst.sh postinst.sh X33bin.tgz X33doc.tgz X33fnts.tgz X33lib.tgz X33man.tgz X33set.tgz X33VG16.tgz Descripci´ n o Script de preinstalaci´ n o Script de postinstalaci´ n o Clientes, bibliotecas de tiempo de ejecuci´ n y ficheros de aplicaci´ n por defecto o o Documentaci´ n o Fuentes 75dpi, misc y PEX Ficheros de datos necesarios en tiempo de ejecuci´ n o P´ ginas del manual a Utilidad XF86Setup Servidor VGA de 16 colores (XF86Setup lo necesita)

Lo siguiente es necesario para nuevas instalaciones y opcionalmente para instalaciones existentes:
Fichero X33cfg.tgz Descripci´ n o ficheros ejemplo de configuraci´ n para xinit y xdm o

No instalar X33cfg.tgz sobre una instalaci´ n XFree86 existente sin crear una copia de seguridad de o ´ los ficheros de configuraci´ n. Desempaquetar X33cfg.tgz sobreescribe estos y otros ficheros. De todas o formas, si usted s´ que tiene ficheros de configuraci´ n personalizados, no hay necesidad de instalar este ı o paquete. Las fuentes de mapa de bits distribuidas con la versi´ n 3.3.1 est´ n comprimidas con el programa gzip en o a vez de con compress. Probablemente tendr´ antes de borrar las fuentes antiguas hacer copia de seguridad de a ellas. Los servidores X y servidores de fuentes de las versiones anteriores no pod´an leer fuentes comprimidas ı por gzip, as´ que copie las fuentes antiguas si desea utilizar los servidores m´ s antiguos. ı a Los siguientes ficheros son opcionales:

5.2. Instalaci´ n de XFree86 o

167

Fichero X33f100.tgz X33fcyr.tgz X33fnon.tgz X33fscl.tgz X33fsrv.tgz X33prog.tgz X33nest.tgz X33vfb.tgz X33prt.tgz X33ps.tgz X33html.tgz X33jdoc.tgz X33jhtm.tgz X33lkit.tgz

Descripci´ n o Fuentes 100dpi Fuentes del alfabeto cir´lico ı Otras fuentes (chino, japon´ s, koreano, hebreo) e Fuentes escalables (Speedo y Type1) Servidor de fuentes y ficheros de configuraci´ n o Ficheros de cabecera de X, ficheros de configuraci´ n y bibliotecas de tiempo de compilaci´ n o o Servidor X anidado Servidor X de framebuffer virtual Servidor de impresi´ n X o Versi´ n PostScript de la documentaci´ n o o Versi´ n HTML de la documentaci´ n o o Documentaci´ n en japon´ s (para la versi´ n 3.2) o e o Versi´ n HTML de la documentaci´ n en japon´ s (3.2) o o e Kit de enlazado del servidor X

El directorio XFree86 deber´a contener ficheros README y apuntes de instalaci´ n para la versi´ n actual. ı o o Despu´ s, como root, cree el directorio /usr/X11R6 si no existe todav´a. Despu´ s ejecute el script de e ı e preinstalaci´ n, preinst.sh. Deber´a copiar del directorio /var/tmp este fichero y todos los ficheros o ı comprimidos para su sistema antes de ejecutar preinst.sh. /usr/X11R6 debe ser el directorio actual cuando se ejecute el script de preinstalaci´ n y descomprima todos los ficheros. o
# cd /usr/X11R6 # sh /var/tmp/preinst.sh

A continuaci´ n debe descomprimir los ficheros desde /var/tmp a /usr/X11R6 con una instrucci´ n o o como:
# gzip -d </var/tmp/X33prog.tgz | tar vxf -

Estos archivos tar est´ n comprimidos con la ruta relativa a /usr/X11R6. Debe descomprimir los a ficheros ah´. En algunas distribuciones GNU/Linux, el directorio ra´z es /var/X11R6. ı ı Despu´ s de haber descomprimido los ficheros necesarios y todos los ficheros opcionales que haya selece cionado, ejecute el script de postinstalaci´ n postinst.sh. o
# cd /usr/X11R6 # sh /var/tmp/postinst.sh

Ahora enlace el fichero /usr/X11R6/bin/X al servidor que permite su tarjeta gr´ fica. a Por ejemplo el servidor de color de SVGA, /usr/bin/X11/X deber´a estar enlazado con ı /usr/X11R6/bin/XF86 SVGA. Para utilizar el servidor monocromo enlace X a XF86 MONO con la instrucci´ n: o
# ln --sf /usr/X11R6/bin/XF86 MONO /usr/X11R6/bin/X

Lo mismo sirve para el resto de servidores. Tambi´ n tendr´ que asegurarse de que el directorio /usr/X11R6/bin est´ en el path. Esto puede e a a hacerse editando los valores por defecto del sistema /etc/profile o /etc/csh.login (basado en el shell que usted u otros usuarios utilizan). Tambi´ n puede simplemente a˜ adir el directorio a su path personal e n modificando /etc/.bashrc o /etc/.cshrc, basado en su shell. Finalmente, aseg´ rese de que /usr/X11R6/lib puede ser localizado por ld.so, el enlazador en u tiempo de ejecuci´ n. Para esto, a˜ ada la l´nea o n ı
/usr/X11R6/lib

al fichero /etc/ld.so.conf, y ejecute /sbin/ldconfig, como root.

168

Caracter´sticas Avanzadas ı

5.3. Examinando la configuraci´ n hardware o
Si no est´ seguro de qu´ servidor usar o no sabe cu´ l es el chip de la tarjeta gr´ fica, el programa a e a a SuperProbe, que est´ en /usr/X11R6/bin puede intentar determinarlo, as´ como m´ s informaci´ n. a ı a o Anote estos datos para uso posterior. Para ejecutar SuperProbe desde la l´nea de comandos, escriba simplemente ı
# SuperProbe

Es posible que SuperProbe se confunda con hardware que utilice direcciones de puertos de entrada/salida que puedan ser utilizadas por tarjetas de v´deo. Para evitar que SuperProbe compruebe estas direcı ciones, utilice el argumento excl seguido de la lista de direcciones que SuperProbe no va a examinar. Por ejemplo:
# SuperProbe -excl 0x200-0x230,0x240

Las direcciones vienen dadas como n´ meros hexadecimales que est´ n precedidos por 0x. u a Para mostrar una lista de los dispositivos de v´deo que SuperProbe conoce, utilice la instrucci´ n ı o
# SuperProbe -info

SuperProbe puede escribir gran cantidad de informaci´ n si le a˜ ade el argumento -verbose. Puede o n redireccionar la salida a un fichero:
# SuperProbe -verbose >superprobe.out

Ejecutar SuperProbe puede provocar que el sistema se cuelgue. Aseg´ rese de que no est´ n ejecut´ ndose u a a aplicaciones esenciales, o al menos de que tienen todos sus datos grabados en disco de manera segura, y cerci´ rese de que todos los usuarios est´ n desconectados. Similarmente, un sistema cargado (que est´ imo a a primiendo en segundo plano, por ejemplo) puede tergiversar la salida de software como SuperProbe o de un servidor X que est´ intentando medir las especificaciones de tiempo de una tarjeta de v´deo. a ı

5.4. Generar de forma autom´ tica el fichero XF86Config a
Crear el fichero XF86Config a mano es una tarea ardua, sino imposible. Varias herramientas de la versi´ n 3.3.1 de XFree86 podr´ n ayudarle. Una de ellas, el programa XF86Setup puede generar autom´ tio a a camente un fichero XF86Config con formato correcto. Debe conocer las especificaciones exactas de su tarjeta de v´deo as´ como los valores de refresco vertical y horizontal de su monitor. La mayor parte de la informaci´ n ı ı o puede ser encontrada en los propios manuales. Hay otros tantos programas de configuraci´ n, dependiendo de la distribuci´ n GNU/Linux. Los m´ s comuo o a ´ nes son Xconfigurator y xf86config. El ultimo es una versi´ n antigua de XF86Setup y est´ incluio a do en versiones anteriores de XFree86. Deber´a usar siempre XF86Setup en caso de que tenga disponibles ı ´ este y xf86config.

5.5. Configurar XFree86
Configurar XFree86 no es dif´cil. Sin embargo si ocurre que se est´ usando hardware para el cu´ l los conı a a troladores est´ n en desarrollo, o se desea obtener el mejor rendimiento o resoluci´ n de una tarjeta aceleradora, a o configurar XFree86 puede tomar su tiempo. En este apartado, se describe como crear y editar el fichero XF86Config, que configura el servidor XFree86. En la mayor´a de los casos lo mejor es empezar con una configuraci´ n XFree86 que utilice baja ı o resoluci´ n como 640x480, que sea permitida por la pr´ ctica totalidad de las tarjetas de v´deo y monitores. Una o a ı vez que XFree86 trabaje a una resoluci´ n est´ ndar baja, podr´ modificar la configuraci´ n para aprovechar las o a a o capacidades de su tarjeta de v´deo. Esto asegura que XFree86 funcione en su sistema y que la instalaci´ n es ı o esencialmente correcta antes de que empiece con la a menudo dif´cil tarea de configurar XFree86 para un alto ı rendimiento. Adem´ s de la informaci´ n listada aqu´, deber´a leer los siguientes documentos: a o ı ı

5.5. Configurar XFree86

169

La documentaci´ n de XFree86 en /usr/X11R6/lib/X11/doc (del paquete o XFree86-3.1-doc). Deber´a revisar especialmente el fichero README.Config, que es un ı tutorial de configuraci´ n de XFree86. o Varios chips de v´deo tienen ficheros separados en el directorio arriba mencionado (como ı README.Cirrus y README.S3). Lea el fichero que concierne a su tarjeta de v´deo. ı La p´ gina del manual de XFree86. a La p´ gina del manual de XF86Config. a La p´ gina del manual del servidor que est´ utilizando, como XF86 SVGA o XF86 S3. a a El fichero principal de configuraci´ n de XFree86 es /usr/X11R6/lib/X11/XF86Config. Eso te fichero contiene informaci´ n sobre su rat´ n, par´ metros de su tarjeta de v´deo, etc. El fichero o o a ı XF86Config.eg viene con la distribuci´ n XFree86 como ejemplo. Copie este fichero a XF86Config o y ed´telo como punto de inicio. ı La p´ gina del manual de XF86Config explica el formato del fichero XF86Config. Lea la p´ gina del a a manual si a´ n no lo ha hecho. u Se va a describir un ejemplo de XF86Config, una secci´ n de cada vez. Este fichero puede no resultar o exactamente igual al fichero de ejemplo incluido en la distribuci´ n de XFree86, pero la estructura es la misma. o Observe que el formato del fichero XF86Config puede cambiar con cada versi´ n de XFree86. Lea las o notas de su distribuci´ n para erratas. o No copie el fichero de configuraci´ n mostrado aqu´ a su sistema y trate de utilizarlo. Un fichero de o ı configuraci´ n que no se corresponda con su hardware puede poner el monitor en frecuencias demasiado altas. o Se han dado casos de da˜ os del monitor, especialmente monitores de frecuencia fija, esto ha sido provocado n por ficheros XF86Config mal configurados. Cerci´ rese completamente de que su fichero XF86Config o se corresponde con el hardware antes de utilizarlo. Todas las secciones del fichero XF86Config est´ n rodeadas por un par de l´neas con la sintaxis a ı Section ‘‘section-name’’. . . EndSection. La primera secci´ n del fichero XF86Config es Files, que tiene este aspecto: o
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" EndSection

La l´nea RgbPath establece la ruta a la base de datos de colores RGB de X11R6, y cada l´nea FontPath ı ı pone la ruta a un directorio que contiene fuentes X11. No deber´a tener por qu´ modificar estas l´neas. Simı e ı plemente aseg´ rese de que hay una entrada FontPath para cada tipo de fuente que haya instalado; esto es, u para cada directorio en /usr/X11R6/lib/X11/fonts. La siguiente secci´ n es ServerFlags, que especifica varios flags globales para el servidor. En general o esta secci´ n est´ vac´a. o a ı
Section "ServerFlags" # Elimine este comentario para provocar un volcado de memoria en el # punto donde se reciba una se˜al. Esto puede dejar la terminal en n # estado inutilizable, pero puede ofrecer una mejor traza de la pila # para ayudar a depurar en caso de volcado de memoria # NoTrapSignals # Elimine este comentario para deshabilitar la secuencia # <Crtl><Alt><BS> de abortar el servidor # DontZap EndSection

En esta secci´ n de ServerFlags todas las l´neas est´ n comentadas. o ı a La siguiente secci´ n es Keyboard. Este ejemplo muestra una configuraci´ n b´ sica que deber´a funcionar o o a ı en la mayor´a de los sistemas. El fichero XF86Config describe como modificar la configuraci´ n. ı o

170

Caracter´sticas Avanzadas ı

Section "Keyboard" Protocol "Standard" AutoRepeat 500 5 ServerNumLock EndSection

La siguiente secci´ n es Pointer, que especifica par´ metros para el dispositivo de rat´ n: o a o
Section "Pointer" Protocol Device "MouseSystems" "/dev/mouse"

# Baudrate y SampleRate se aplican solo a algunos ratones Logitech # BaudRate 9600 # SampleRate 150 # Emulate3Buttons es una opci´n para ratones Microsoft de 2 botones o # Emulate3Buttons # ChordMiddle es una opci´n para algunos ratones Logitech de 3 botones o # ChordMiddle EndSection

´ De momento las unicas opciones que le preocupan son Protocol y Device. Protocol especifica el rat´ n protocol, que no es necesariamente el mismo que el del fabricante. XFree86 bajo GNU/Linux reconoce o los siguientes protocolos de rat´ n: o BusMouse Logitech Microsoft MMSeries Mouseman MouseSystems PS/2 MMHitTab BusMouse deber´a ser usado con los ratones de bus Logitech. Los ratones Logitech m´ s antiguos utilizan ı a Logitech, y los nuevos ratones serie Logitech utilizan protocolos Microsoft o Mouseman. Device especifica el fichero de dispositivo por el cual el rat´ n podr´ ser accedido. En la mayor´a de o a ı los sistemas GNU/Linux, es /dev/mouse, que generalmente es un enlace al puerto serie apropiado, como /dev/cua0 para ratones serie y el dispositivo de rat´ n de bus apropiado para los ratones de bus. En o cualquier caso aseg´ rese de que el fichero de dispositivo existe. u La secci´ n siguiente es Monitor, que especifica las caracter´sticas de su monitor. Como en otras seco ı ´ ciones del fichero XF86Config puede haber m´ s de una secci´ n Monitor. Esto es util si tiene varios a o monitores conectados al sistema o si utiliza el mismo fichero XF86Config para varias configuraciones de hardware.
Section "Monitor" Identifier "CTX 5468 NI"

5.5. Configurar XFree86

171

# !‘Estos valores son para un CTX 5468NI s´lo! No intente usarlos o # con su monitor (a menos que posea este modelo) Bandwidth HorizSync VertRefresh 60 30-38,47-50 50-90 dotclock horiz 640 664 760 800 800 824 896 1024 1024 1088 1200 1328 vert 480 491 493 525 600 601 603 625 768 783 789 818

# Modos: Nombre

ModeLine "640x480" 25 ModeLine "800x600" 36 ModeLine "1024x768" 65 EndSection

Identifier es un nombre arbitrario para la entrada Monitor. Puede ser cualquier cadena y se utiliza para referirse m´ s tarde a la entrada Monitor en el fichero XF86Config. a HorizSync especifica las frecuencias v´ lidas horizontales para su monitor, en kHz. Los monitores a multisync pueden tener un rango de valores o varios rangos separados por comas. Los monitores de frecuencia fija exigen una lista de valores discretos, por ejemplo:
HorizSync 31.5, 35.2, 37.9, 35.5, 48.95

El manual del monitor deber´a listar estos valores en la secci´ n de especificaciones t´ cnicas. Si no es as´, ı o e ı p´ ngase en contacto con el fabricante o proveedor del monitor para obtenerlos. o VertRefresh especifica los valores v´ lidos de refresco vertical (o frecuencias de sincronizaci´ n vertia o cal) para su monitor, en kHz. Al igual que HorizSync, puede ser un rango o una lista de valores discretos. El manual de su monitor deber´a listarlos. ı HorizSync y VertRefresh se utilizan solamente para comprobar que las resoluciones del monitor est´ n en rangos v´ lidos. Esto reduce la posibilidad de que se da˜ e el monitor haci´ ndolo trabajar a una a a n e frecuencia para la que no est´ preparado. a La directiva ModeLine se utiliza para especificar los modos de resoluci´ n para su monitor. El formato o es
ModeLine name clock horiz-values vert-values

name es una cadena arbitraria que se utiliza para referirse al modo de resoluci´ n m´ s tarde en el fichero. o a dot-clock es la frecuencia de reloj o “dot clock” asociada al modo de resoluci´ n. La dot clock se expresa noro malmente en MHz. Esta es la proporci´ n a la que la tarjeta de v´deo env´a pixels al monitor a esta resoluci´ n. o ı ı o horiz-values y vert-values son cuatro n´ meros cada uno que especifican cu´ ndo debe disparar la pistola de u a electrones del monitor y cuando disparan los pulsos de sincronizaci´ n horizontal y vertical en cada barrido. o El fichero VideoModes.doc, incluido en la distribuci´ n XFree86 describe con detalle como determinar o los valores de ModeLine para cada modo de resoluci´ n que permita su monitor. clock ha de corresponderse o con uno de los valores de dot clock que permita su tarjeta de v´deo. M´ s tarde en el fichero XF86Config, ı a podr´ especificarlos. a Dos ficheros, modeDB.txt y Monitors, pueden contener los datos de ModeLine para su monitor. Est´ n en /usr/X11R6/lib/X11/doc. a Empiece con valores de ModeLine para los tiempos de monitores VESA est´ ndar porque la mayor´a a ı de los monitores los permiten. ModeDB.txt incluye los valores de tiempo para las resoluciones VESA est´ ndar. Por ejemplo la entrada a
# 640x480@60Hz Modo no entrelazado # Sincronizaci´n horizontal = 31.5kHz o # Tiempos: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms) # # nombre reloj tiempo horizontal tiempo vertical flags "640x480" 25.175 640 664 760 800 480 491 493 525

172

Caracter´sticas Avanzadas ı

es el tiempo VESA est´ ndar para un modo 640x480. Tiene un dot clock de 25.175 que debe ser permitido por a su tarjeta de v´deo como se describe m´ s abajo. Para incluir esta entrada en el fichero XF86Config utilice ı a la l´nea ı
ModeLine "640x480"25.175 640 664 760 800 480 491 493 525

El argumento name a ModeLine ("640x480") es una cadena arbitraria. Por convenci´ n los modos se o llaman por sus resoluciones, pero name puede t´ cnicamente ser una etiqueta descriptiva. e Para cada ModeLine el servidor comprueba las especificaciones del modo y se asegura de que caen dentro del rango de valores especificado por Bandwidth, HorizSync y VertRefresh. Si no es as´, el ı servidor se quejar´ cuando intente iniciar X. Por alguna raz´ n, el dot clock utilizado por el modo no deber´a a o ı ser mayor que el valor utilizado para Bandwidth. Sin embargo, en muchos casos, es seguro utilizar un modo que tenga un ancho de banda ligeramente mayor que el que permite su monitor. Si los tiempos de VESA est´ ndar no funcionan (lo sabr´ despu´ s de que intente utilizarlos) mire los fichea a e ros modeDB.txt y Monitors, que incluyen valores de modo espec´ficos para muchos tipos de monitor. ı Tambi´ n puede crear las entradas ModeLine a partir de estos valores. Aseg´ rese de utilizar s´ lo valores e u o para su monitor concreto. Muchos monitores de 14 y 15 pulgadas no permiten modos de resoluci´ n mayores o y a menudo las resoluciones de 1024x768 son a valores de dot clock bajos. Si no puede encontrar modos de alta resoluci´ n para su monitor en estos ficheros, seguramente se debe a que su monitor no los permite. o Si est´ completamente perdido y no puede encontrar valores de ModeLine para su monitor, siga las a instrucciones del fichero VideoModes.doc, que est´ incluido en la distribuci´ n XFree86 y genere valores a o a partir de las especificaciones del manual de su monitor. Su recorrido seguramente variar´ cuando intente a valores de ModeLine a mano. Pero este es un buen lugar donde mirar si no puede encontrar los valores que necesita. VideoModes.doc describe tambi´ n el formato de la directiva ModeLine y otros aspectos del e servidor XFree86 con detalles escabrosos. Finalmente si logra obtener valores de Modeline que son casi pero no completamente correctos, podr´a conseguir modificarlos un poco para alcanzar el resultado deseado. Por ejemplo, si la imagen ı de XFree86 est´ ligeramente desplazada o la imagen parece “movida,” siga las instrucciones del fichero a VideoModes.doc y corrija los valores. Aseg´ rese de comprobar los controles del monitor. En muchos cau sos deber´ cambiar el tama˜ o horizontal y vertical de la pantalla tras arrancar XFree86 para centrar y calibrar a n la imagen. No utilice los valores de tiempo del monitor o los valores de ModeLine para monitores distintos de su modelo. Si intenta hacer funcionar el monitor a una frecuencia para la que no fue dise˜ ado, puede da˜ arlo o n n incluso destruirlo. La siguiente secci´ n del fichero XF86Config es Device, que especifica par´ metros para la tarjeta de o a v´deo. Este es un ejemplo. ı
Section "Device" Identifier "#9 GXE 64" # De momento nada, despu´s se completar´n estos valores e a EndSection

Esta secci´ n define propiedades para una tarjeta de v´deo concreta. Identifier es una cadena arbitraria o ı descriptiva. Se utilizar´ para referirse a la tarjeta m´ s tarde. a a En principio no necesita incluir nada en la secci´ n Device aparte de Identifier. Se usar´ el propio o a servidor X para comprobar las propiedades de su tarjeta de v´deo y ponerlas en la secci´ n Device m´ s tarde. ı o a El servidor XFree86 es capaz de comprobar el chip de v´deo, relojes, RAMDAC y la cantidad de RAM de ı v´deo de la tarjeta. Esto se describe en la secci´ n 5.6. ı o Antes de hacer esto, hay que acabar de escribir el fichero XF86Config. La siguiente secci´ n es o Screen, que especifica la combinaci´ n monitor/tarjeta de v´deo a utilizar con cada servidor concreto. o ı
Section "Screen" Driver "Accel"

5.5. Configurar XFree86

173

Device "#9 GXE 64" Monitor "CTX 5468 NI" Subsection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" ViewPort 0 0 Virtual 1024 768 EndSubsection EndSection

La l´nea Driver especifica el servidor X que va a utilizar. Valores v´ lidos de Driver son: ı a Accel: Para los servidores XF86 S3, XF86 Mach32, XF86 Mach8, XF86 8514, XF86 P9000, XF86 AGX y XF86 W32. SVGA: Para el servidor XF86 SVGA. VGA16: Para el servidor XF86 VGA16. VGA2: Para el servidor XF86 Mono. Mono: Para los drivers monocromos no VGA en servidores XF86 Mono y XF86 VGA16. Aseg´ rese de que /usr/X11R6/bin/X es un enlace simb´ lico a este servidor. u o La l´nea Device especifica el Identifier de la secci´ n Device que se corresponde con la tarjeta ı o de v´deo que va a utilizar con este servidor. Anteriormente se cre´ una secci´ n Device con la l´nea ı o o ı
Identifier "#9 GXE 64"

Por ello se emplea "#9 GXE 64" en la l´nea Device ahora. ı De forma similar, la l´nea Monitor especifica el nombre de la secci´ n Monitor que se va a utilizar con ı o este servidor. Aqu´ "CTX 5468 NI" es el Identifier utilizado en la secci´ n Monitor arriba descrita. ı o Subsection "Display" define varias propiedades del servidor XFree86 correspondientes a su combinaci´ n monitor/tarjeta. El fichero XF86Config describe todas estas opciones en detalle, pero la mayor´a o ı de ellas no son necesarias para conseguir que el sistema funcione. Las opciones que deber´a conocer son: ı Depth. Define el n´ mero de planos de color, es decir, el n´ mero de bits por pixel. Normalmente u u Depth tiene el valor 16. Para el servidor VGA16 deber´a utilizar una profundidad de 4 y para el serviı dor monocromo una profundidad de 1. Si utiliza una tarjeta de v´deo acelerada con bastante memoria ı para permitir m´ s bits por pixel, puede poner Depth a 24 o 32. Si tiene problemas con profundidades a mayores de 16, d´ jelo otra vez en 16 e intente resolver el problema m´ s tarde. e a Modes. Esta es la lista de nombres de modos que han sido definidos con las directivas ModeLine en la secci´ n anterior. Se emplearon ModeLines llamadas "1024x768", "800x600" y "640x48"0. o Por tanto, se utiliz´ una l´nea Modes con o ı
Modes "1024x768" "800x600" "640x480"

El primer modo mostrado en esta l´nea es el empleado por defecto cuando arranca XFree86. Una vez ı que XFree86 est´ funcionando, puede cambiar entre los modos mostrados aqu´ con las teclas Ctrl a ı Alt - Numeric + y Ctrl - Alt - Numeric - . Lo mejor ser´a que cuando configure XFree86 utilice modos de v´deo de resoluci´ n m´ s bajos como ı ı o a 640x480, que tienden a funcionar en la mayor´a de los sistemas. Una vez que tenga la configuraci´ n ı o b´ sica funcionando, puede modificar XF86Config para permitir resoluciones m´ s altas. a a Virtual. Pone el tama˜ o del escritorio virtual. XFree86 puede utilizar memoria adicional de su n tarjeta de v´deo para extender el tama˜ o del escritorio. Cuando mueva el puntero del rat´ n al borde de ı n o la pantalla, el escritorio se desplaza poniendo en primer plano el espacio adicional. Incluso si ejecuta

174

Caracter´sticas Avanzadas ı

el servidor con una resoluci´ n de v´deo como 800x600 puede poner Virtual a la resoluci´ n total o ı o permitida por la tarjeta de v´deo. Una tarjeta de v´deo de 1 megabyte puede permitir 1024x768 con una ı ı profundidad de 8 bits por pixel, una tarjeta de 2 megabytes permite 1280x1024 con una profundidad 8 ´ o 1024x768 con profundidad 16. Por supuesto el area completa no ser´ visible a la vez, pero puede ser a utilizada. La caracter´stica Virtual es bastante limitada. Si desea utilizar un aut´ ntico escritorio virtual los ı e gestores de ventanas como fvwm y similares le permitir´ n tener escritorios virtuales grandes tapando a ventanas y utilizando otras t´ cnicas, en vez de almacenar el escritorio entero en memoria de v´deo. e ı Vea las p´ ginas del manual de fvwm para m´ s detalles acerca de esto. Muchos sistemas GNU/Linux a a utilizan fvwm por defecto. ViewPort. Si est´ utilizando la opci´ n Virtual descrita anteriormente, ViewPort pone las coora o denadas de la esquina superior izquierda del escritorio virtual cuando se inicia XFree86. Virtual 0 0 es un valor utilizado a menudo. Si no est´ especificado, el escritorio se centra en la pantalla del a escritorio virtual, lo que puede no ser lo deseado. Hay muchas otras opciones para esta secci´ n, vea la p´ gina del manual de XF86Config para una deso a cripci´ n exhaustiva. En la pr´ ctica estas opciones no son necesarias para que funcione XFree86 inicialmente. o a

5.6.

Rellenando la informaci´ n de la tarjeta de v´deo o ı

Ahora ya tiene el fichero XF86Config listo a excepci´ n de la informaci´ n completa de la tarjeta de o o v´deo. Se utilizar´ el servidor X para comprobar estos datos y a˜ adirlos a XF86Config. ı a n En vez de comprobar esta informaci´ n con el servidor X, los valores de XF86Config para muchas taro jetas est´ n listados en los ficheros modeDB.txt, AccelCards y Devices. Estos ficheros se encuentran a todos en /usr/X11R6/lib/X11/doc. Adem´ s hay varios ficheros README para ciertos chips. Deber´a a ı mirar estos ficheros para informaci´ n de su tarjeta de v´deo y utilizarla (clock values, tipo de chip y otras o ı opciones) en el fichero XF86Config. Si falta alg´ n dato, puede comprobarlo. u En la mayor´a de estos ejemplos se prueban configuraciones de una tarjeta #9 GXE 64, que utiliza ı el chip XF86 S3. En primer lugar determine el chip de v´deo de la tarjeta. Ejecutar SuperProbe (en ı /usr/X11R6/bin) le dir´ estos datos, pero debe conocer el nombre del chip tal como es conocido por el a servidor X. Para ello, ejecute la instrucci´ n o
X -showconfig

Esto le dar´ los nombres de chips conocidos por el servidor X. (La p´ gina del manual para cada servidor X a a los lista tambi´ n.) Por ejemplo con el servidor acelerado XF86 S3 se obtiene: e
XFree86 Version 3.1 / X Window System (protocol Version 11, revision 0, vendor release 6000) Operating System: Linux Configured drivers: S3: accelerated server for S3 graphics adaptors (Patchlevel 0) mmio_928, s3_generic

Los nombres v´ lidos de los chips para este servidor son mmio 928 y s3 generic. La p´ gina del a a manual de XF86 S3 describe estos chips y las tarjetas de v´deo que las usan. En el caso de la tarjeta de v´deo ı ı #9 GXE 64, es apropiado mmio 928. Si no sabe qu´ chip se est´ utilizando, el servidor X puede comprobarlo por usted. Para hace esto, ejecute e a la instrucci´ n o
X -probeonly > /tmp/x.out 2>&1

si utiliza bash como shell. Si utiliza csh, pruebe:

5.6. Rellenando la informaci´ n de la tarjeta de v´deo o ı

175

X -probeonly &> /tmp/x.out

Deber´a ejecutar esta instrucci´ n mientras el sistema no ha sido cargado, es decir, mientras ninguna otra ı o actividad ocurre en el sistema. Esta instrucci´ n tambi´ n comprueba dot clocks para su tarjeta de v´deo (como o e ı se ver´ m´ s abajo) y la carga del sistema puede sesgar este c´ lculo. a a a La salida de arriba, en /tmp/x.out deber´a contener l´neas como: ı ı
XFree86 Version 3.1 / X Window System (protocol Version 11, revision 0, vendor release 6000) Operating System: Linux Configured drivers: S3: accelerated server for S3 graphics adaptors (Patchlevel 0) mmio_928, s3_generic Several lines deleted... (--) S3: card type: 386/486 localbus (--) S3: chipset: 864 rev. 0 (--) S3: chipset driver: mmio_928

Aqu´ se ve que los dos chips v´ lidos para este servidor (en este caso XF86 S3) son mmio 928 y ı a s3 generic. El servidor comprob´ y encontr´ una tarjeta de v´deo que tiene el chip mmio 928. o o ı En la secci´ n Device del fichero XF86Config a˜ ada una l´nea Chipset que tenga el nombre del o n ı chip determinado como arriba. Por ejemplo,
Section "Device" # Ya tenemos Identifier aqu´ ... ı Identifier "#9 GXE 64" # A˜ada esta l´nea: n ı Chipset "mmio_928" EndSection

Ahora hay que determinar las frecuencias de funcionamiento del reloj utilizadas por la tarjeta de v´deo. ı Una frecuencia de funcionamiento del reloj o dot clock, es simplemente una cantidad a la que la tarjeta de v´deo puede enviar pixels al monitor. Como se describi´ m´ s arriba, cada resoluci´ n de monitor tiene un dot ı o a o clock asociado a ella. Se requiere determinar qu´ dot clocks se ofrecen con la tarjeta de v´deo. e ı En primer lugar, deber´a mirar la documentaci´ n arriba mencionada y ver si los dot clocks de la tarjeta ı o est´ n listados all´. Los dot clocks son generalmente una lista de 8 o 16 valores, todos en MHz. Por ejemplo, a ı si mira en modeDB.txt ver´ una entrada para la tarjeta Cardinal ET4000 que tiene este aspecto: a
# chip ET4000 ram 1024 virtual 1024 768 clocks 25 28 default-mode "1024x768" flags

38

36

40

45

32

0

Los dot clocks para esta tarjeta son 25, 28, 38, 36, 40, 45, 32 y 0 MHz. En la secci´ n Devices del arvhivo XF86Config a˜ ada una l´nea Clocks que contenga la lista de los o n ı dot clocks para su tarjeta. Por ejemplo, para los dot clocks de arriba, a˜ ada la l´nea n ı
Clocks 25 28 38 36 40 45 32 0

a la secci´ n Devices del fichero, despu´ s de Chipset. o e El orden de los dot clocks es importante. No reordene la lista o elimine duplicados. Si no puede encontrar los dot clocks asociados con su tarjeta, el servidor X puede comprobarlos tambi´ n. e Utilice X -probeonly como se describi´ arriba. La salida deber´a contener l´neas similares a la siguiente: o ı ı
(--) S3: clocks: 25.18 28.32 38.02 36.15 40.33 45.32 32.00 00.00

Se puede a˜ adir una l´nea Clocks que contenga todos estos valores. Puede utilizar m´ s de una l´nea Clocks n ı a ı ´ en XF86Config si todos los valores (a veces hay m´ s de 8 valores de clock) no caben en una unica l´nea. a ı De nuevo aseg´ rese de poner la lista de clocks en el orden en que aparecen. u

176

Caracter´sticas Avanzadas ı

Aseg´ rese de que no hay l´neas de Clocks (o de que est´ n comentadas) en la secci´ n Devices del u ı a o fichero cuando utilice X -probeonly. Si hay una l´nea Clocks presente, el servidor no comprueba los ı clocks, emplea los valores de XF86Config. Algunas tarjetas de v´deo utilizan un chip de reloj programable. Mire la p´ gina del manual de su servidor ı a X o el fichero README de XFree86 que describe su tarjeta de v´deo. Esencialmente, el chip permite que el ı servidor X le diga a la tarjeta los dot clocks a usar. Para tarjetas de v´deo que tienen clock chips, puede ser ı que no encuentre una lista de los dot clocks para la tarjeta en ninguno de los ficheros arriba mencionados o que la lista de dot clocks impresa cuando utilice X -probeonly contenga uno o dos valores discretos de clock, siendo los dem´ s duplicados o cero. O tambi´ n puede que el servidor X s´ lo facilite un aviso expl´cito a e o ı de que la tarjeta de v´deo tiene un chip de reloj programable como: ı
(--) SVGA: cldg5434: Specifying a Clocks line makes no sense for this driver

Este ejemplo est´ sacado de un servidor XF86 SVGA con tarjeta Cirrus Logic PCI. a Para tarjetas que emplean chips de reloj programables, utilice una l´nea ClockChip en vez de una l´nea ı ı de Clocks en el fichero XF86Config. ClockChip es el nombre del chip de reloj tal como es usado por la tarjeta de v´deo. Las p´ ginas del manual de cada servidor los describen. Por ejemplo en el fichero ı a README.S3, se puede observar que varias tarjetas de v´deo S3-864 utilican un chip de reloj “ICD2061A” y ı que se debe utilizar la l´nea ı
ClockChip "icd2061a"

en vez de Clocks en el fichero XF86Config. Esta l´nea como la de Clocks, va dentro de la secci´ n ı o Devices, tras Chipset. De modo similar, algunas tarjetas de v´deo exigen que especifique el tipo de chip RAMDAC en el fichero ı XF86Config. Esto puede hacerse con una l´nea Ramdac. La p´ gina del manual XF86 Accel describe ı a esta opci´ n. A menudo el servidor X ser´ capaz de calcular el RAMDAC correctamente. o a Algunas tarjetas de v´deo exigen que especifique varias opciones en la secci´ n Devices de ı o XF86Config. Estas opciones se describen en la p´ gina del manual del servidor, as´ como en varios fia ı cheros como README.cirrus y README.S3. Estas opciones se habilitan con una l´nea Option. Por ı ejemplo la tarjeta #9 GXE 64 necesita dos opciones:
Option "number_nine" Option "dac_8_bit"

Un servidor X puede funcionar sin las l´neas Option, pero son necesarias para lograr el mejor rendimiento ı de la tarjeta. Hay tambi´ n muchas otras opciones que listar aqu´, son diferentes para cada tarjeta. Si debe usar e ı una, las p´ ginas del manual del servidor X y varios ficheros en /usr/X11R6/lib/X11/doc le dir´ n cu´ les son. a a a Cuando termine, deber´a tener una secci´ n Devices que se parezca a esta: ı o
Section "Device" # ‘ Secci´n Device s´lo para la #9 GXE 64 ! o o Identifier "#9 GXE 64" Chipset "mmio_928" ClockChip "icd2061a" Option "number_nine" Option "dac_8_bit" EndSection

Hay otras opciones que puede incluir en la entrada Devices. Las p´ ginas del manual del servidor X ofrecen a los detalles exactos.

5.7.

Ejecutar XFree86.

Con el fichero XF86Config ya configurado, puede arrancar el servidor X y darse una vuelta. De nuevo, aseg´ rese de que el directorio /usr/X11R6/bin est´ en el path. u a La orden para arrancar XFree86 es

5.8. Si se l´a demasiado el asunto ı

177

startx

´ No es m´ s que una fachada de xinit. Inicia el servidor X y ejecuta las ordenes del fichero .xinitrc a ´ de su directorio home. .xinitrc es un script del shell que contiene las l´neas de ordenes de los clienı tes X para ejecutarse cuando arranque el servidor X. Si este fichero no existe se utiliza por defecto el /usr/X11R6/lib/X11/xinit/xinitrc del sistema. Un fichero .xinitrc sencillo tiene este aspecto:
#!/bin/sh xterm -fn 7x13bold -geometry 80x32+10+50 & xterm -fn 9x15bold -geometry 80x34+30-10 & oclock -geometry 70x70-7+7 & xsetroot -solid midnightblue & exec twm

Este script inicia dos clientes xterm y un oclock y pone el color de la ventana principal (background) a midnightblue. Inicia twm, el gestor de ventanas. twm se ejecuta con la instrucci´ n del shell exec. Esto o provoca que el proceso init sea reemplazado por twm. Despu´ s de que el proceso twm finalice, el servidor e X se desconecta. Puede provocar la finalizaci´ n de twm utilizando el men´ principal. Pulse el bot´ n 1 del o u o rat´ n en el fondo del escritorio. Se desplegar´ un men´ que le permitir´ elegir Exit Twm. o a u a ´ Aseg´ rese de que la ultima instrucci´ n de .xinitrc empieza con exec y de que no se lanza en segundo u o plano (no debe haber ampersand al final de la l´nea). Si no, el servidor X se desconectar´ en cuanto inicie los ı a programas cliente del fichero .xinitrc. Alternativamente, puede salir de X pulsando a la vez Ctrl - Alt - Backspace . Esto mata al proceso del servidor X directamente, saliendo del sistema de ventanas. Arriba se muestra una configuraci´ n simple del escritorio. De nuevo se sugiere que lea un libro como o The X Window System: A User’s Guide (vea Ap´ ndice A). Las posibles variaciones en el uso de X y su e configuraci´ n son demasiadas para describirlas aqu´. Las p´ ginas de manual de xterm, oclock y twm le o ı a ofrecen pistas acerca de c´ mo empezar. o

5.8.

Si se l´a demasiado el asunto ı

A menudo tendr´ algun problema con algo que no funcione a la perfecci´ n la primera vez que inicie el a o servidor X. Esto est´ provocado casi siempre por algo en su fichero XF86Config. Normalmente los valores a de tiempo del monitor o los dot clocks de la tarjeta gr´ fica contienen valores incorrectos. Si la pantalla parece a movida o los bordes son borrosos es un indicativo de que los valores de tiempo del monitor o de los dot clocks son err´ neos. Aseg´ rese tambi´ n de que especific´ correctamente el chip de la tarjeta de v´deo y o u e o ı dem´ s opciones en la secci´ n Device de XF86Config. Cerci´ rese absolutamente de que est´ usando el a o o a ´ servidor X correcto y de que /usr/X11R6/bin/X es un enlace simb´ lico a el. o Si algo m´ s falla, intente iniciar X “desnudo”, es decir con una orden como: a
X > /tmp/x.out 2>&1

Entonces podr´ matar el servidor X (con Ctrl - Alt - Backspace ) y examinar los contenidos de a /tmp/x.out. El servidor X informa de cualquier aviso o error, por ejemplo, si su tarjeta de v´deo no ı tiene un dot clock correspondiente al modo permitido por su monitor. El fichero VideoModes.doc incluido en la distribuci´ n XFree86 contiene muchas ayudas para ajustar o los valores de su fichero XF86Config. Recuerde que puede utilizar Ctrl - Alt - Numeric + y Ctrl - Alt - Numeric - para cambiar entre los modos de v´deo listados en la l´nea Modes de la secci´ n Screen de XF86Config. Si el modo de ı ı o resoluci´ n m´ s alto no tiene buen aspecto, intente cambiar a una resoluci´ n m´ s baja. Al menos esto le deja o a o a averiguar qu´ partes de su configuraci´ n de X est´ n funcionando correctamente. e o a

178

Caracter´sticas Avanzadas ı

Ajuste tambi´ n los botones de tama˜ o vertical y horizontal de su monitor. En muchos casos, es necesario e n ajustarlos cuando inicie X. Por ejemplo si la pantalla parece estar ligeramente desplazada a un lado, muchas veces puede corregir esto utilizando los controles del monitor. De nuevo, el grupo de noticias de USENET comp.windows.x.i386unix est´ dedicado a discusioa nes acerca de XFree86. Ser´a buena idea leer los grupos de noticias relacionados con configuraci´ n de v´deo. ı o ı Puede ser que se encuentre a alguien con el mismo problema. Tambi´ n hay ficheros XF86Config de ejemplo creados por usuarios. Algunos de ellos est´ n disponibles e a en el dep´ sito de sunsite.unc.edu en el directorio /pub/Linux/X11 y en otros lugares. Tambi´ n o e podr´a encontrar un fichero de configuraci´ n que alguien haya escrito ya para su hardware. ı o

Cap´tulo 6 ı

Redes
En este cap´tulo se ver´ n las cuestiones relacionadas con las Redes —como configurar una conexi´ n, usar ı a o TCP/IP, SLIP, PPP o UUCP, el correo electr´ nico y las noticias. o

6.1. Redes TCP/IP
GNU/Linux soporta una implementaci´ n completa de los protocolos de red TCP/IP (Transport Control o Protocol/Internet Protocol). TCP/IP ha resultado ser hasta ahora el mejor mecanismo de comunicaci´ n entre o ordenadores de todo el mundo. Con GNU/Linux y una tarjeta Ethernet podr´ conectar su m´ quina a una red a a ´ local o (si se tienen las conexiones apropiadas) a la Internet, la red TCP/IP de ambito mundial. Poner en marcha una peque˜ a red local de m´ quinas Unix es f´ cil. S´ lo requiere una tarjeta Ethernet en n a a o cada m´ quina y los cables adecuados as´ como hardware accesorio (terminadores, etc). Y si su universidad o a ı empresa tiene acceso a Internet, podr´ conectar su m´ quina GNU/Linux en esta red. a a La implementaci´ n actual de TCP/IP y los protocolos relacionados para GNU/Linux se llama “NET-3”, o anteriormente se llamaba “NET-2”. No tiene que ver con la versi´ n NET-2 para BSD Unix. En realidad, se o refiere a que es la segunda implementaci´ n de TCP/IP que se hace para GNU/Linux. o NET-3 de GNU/Linux soporta tambi´ n SLIP (Serial Line Internet Protocol) y PPP (Point to Point Proe tocol). SLIP y PPP le permiten disponer de acceso telef´ nico a Internet con un m´ dem. Si su universidad o o o empresa proporciona accesos por SLIP o PPP, podr´ llamar desde su casa al servidor SLIP o PPP y conectarse a as´ a la Red. Rec´procamente, si tiene una m´ quina GNU/Linux con acceso a Internet a trav´ s de una Ethernet ı ı a e y con un m´ dem, podr´ configurar GNU/Linux como un servidor SLIP o PPP. o a Para obtener m´ s informaci´ n sobre la configuraci´ n de TCP/IP en GNU/Linux, le animamos a que a o o lea el documento NET-3 HOWTO, disponible mediante FTP an´ nimo en sunsite.unc.edu. Se trata o de una gu´a completa de configuraci´ n de TCP/IP, que incluye conexiones mediante Ethernet, SLIP y PPP. ı o Otro documento relacionado es el Ethernet HOWTO, que se centra en c´ mo configurar diversos modelos de o tarjetas Ethernet. Adem´ s, en el Proyecto de Documentaci´ n de GNU/Linux, al que pertenece este libro, se ha a o desarrollado otro sobre este tema, Gu´a del Administrador de Redes Linux (garl). Vea, para m´ s informaci´ n ı a o el ap´ ndice A y el Ap´ ndice B. e e Otro libro interesante es TCP/IP Network Administration, de Craig Hunt. Contiene informaci´ n completa o acerca del uso y la configuraci´ n de TCP/IP en m´ quinas Unix. o a

Hardware necesario.
Puede utilizar TCP/IP para GNU/Linux sin ning´ n hardware de red configurando el modo “bucle local” u con la que se puede hablar con uno mismo. Hay algunos programas que necesitan conexiones de red en“bucle local” para funcionar. Sin embargo, si quiere usar GNU/Linux en una red TCP/IP Ethernet, necesitar´ una tarjeta Ethernet. Est´ n a a soportadas las tarjetas m´ s comunes como 3com 3c503, HP PCLAN (27245 y las series 27xxx), Western a Digital WD80x3, y Novell NE2000/NE1000 al igual que muchas m´ s. Si quiere m´ s detalles consulte los a a

179

180

Redes

´ COMOS sobre Ethernet y sobre el hardware soportado. Hay algunos casos especiales a tener en cuenta con las tarjetas soportadas: 1) Algunas tarjetas est´ n a soportadas pero ofrecen un rendimiento pobre o tienen algunas restricciones. Esto sucede, por ejemplo, con la 3Com 3C501 que funciona pero con un horrible rendimiento y con la Racal-Interlan NI6510 que utiliza el chip am7990 la cual no funciona con m´ s de 16 megas de RAM. Igualmente, muchas tarjetas que son a ´ cl´ nicas compatibles con NE1000/NE2000 pueden tener distintos problemas. Consulte los COMOS sobre o Ethernet de GNU/Linux si desea una discusi´ n completa acerca de la compatibilidad del hardware Ethernet. o GNU/Linux tambi´ n soporta SLIP y PPP, que permiten utilizar un m´ dem para acceder a Internet a trav´ s e o e de una l´nea telef´ nica. En este caso, necesitar´ un m´ dem compatible con su servidor SLIP o PPP; la mayor´a ı o a o ı de servidores necesitan un m´ dem a 14,4bps V32bis como m´nimo. Se obtiene un mayor rendimiento con o ı m´ dems a 33.6bps o superiores. o

6.1.1.

Configuraci´ n de TCP/IP en su sistema o

En esta secci´ n intentaremos explicar c´ mo configurar una conexi´ n TCP/IP con Ethernet. N´ tese que o o o o este m´ todo tendr´a que funcionar en muchos sistemas, pero no en todos. Nuestra explicaci´ n deber´a ser e ı o ı suficiente para aclararle el camino en la configuraci´ n de los par´ metros red de su m´ quina, pero hay adem´ s o a a a otros trucos y detalles que no mencionaremos aqu´. Le aconsejamos que consulte los documentos Gu´a del ı ı Admiistrador de Redes GNU/Linux y NET-3 HOWTO para m´ s informaci´ n.1 a o En primer lugar, vamos a asumir que su sistema GNU/Linux ha sido instalado con el software TCP/IP. ´ Esto incluye clientes b´ sicos como telnet y ftp, ordenes de administraci´ n del sistema como ifconfig a o y route (que suelen estar en /etc) y ficheros de configuraci´ n de red, como /etc/hosts. Los docuo mentos adicionales que hemos mencionado anteriormente explican c´ mo instalar todo ese software si a´ n no o u lo ha hecho. Tambi´ n vamos a suponer que el n´ cleo se ha configurado y compilado habilitando el soporte TCP/IP. e u Vea la secci´ n 4.9 para informarse de c´ mo recompilar el n´ cleo. Para incluir el soporte de red, tendr´ que o o u a contestar afirmativamente a la pregunta correspondiente que se le har´ durante la instrucci´ n make config, a o y a continuaci´ n recompilar el n´ cleo. o u Una vez hecho esto, se deben modificar algunos ficheros de configuraci´ n que usa NET-3. Esta parte o suele ser bastante simple. Lamentablemente hay bastante desacuerdo entre las distribuciones de GNU/Linux sobre d´ nde deben ir los distintos ficheros de configuraci´ n y programas de soporte de TCP/IP. Normalmente o o pueden encontrarse en /etc, pero en otros casos est´ n en /usr/etc /usr/etc/inet o incluso en a lugares m´ s rebuscados. En el peor caso tendr´ que usar la orden find para localizar los ficheros. Tenga en a a cuenta tambi´ n que no todas las distribuciones mantienen los ficheros y software de NET-3 en el mismo sitio e y pueden estar esparcidos en varios directorios. Lo siguiente es fundamentalmente aplicable a conexiones Ethernet. Si lo que va a usar es SLIP o PPP, l´ ase esta secci´ n para ir entendiendo los conceptos y luego vea las instrucciones espec´ficas en las secciones e o ı siguientes. La configuraci´ n de red. Antes de configurar su sistema con TCP/IP necesita conocer cierta informao ci´ n sobre la red. En muchos casos, el administrador local se la proporcionar´ . o a Direcci´ n IP. Es la direcci´ n exclusiva de cada m´ quina, formada por n´ meros separados por puntos. o o a u Por ejemplo, 128.253.153.54. El administrador de red le dar´ este n´ mero. a u ´ Si s´ lo est´ configurando el modo “bucle local” (o sea sin SLIP ni Ethernet, unicamente conexiones o a TCP/IP a su propia m´ quina) su direcci´ n IP ser´ 127.0.0.1. a o a M´ scara de red 2 . Es un n´ mero similar a la direcci´ n IP, que determina qu´ parte de la direcci´ n IP a u o e o determina el n´ mero de sub-red, y qu´ parte especifica el host en la sub-red (si tiene dudas sobre estos u e conceptos de redes TCP/IP le recomendamos que lea alguna introducci´ n a la administraci´ n de redes). o o
1 Algunas 2 N.

de las cosas que aqu´ se exponen proceden del documento NET-3 HOWTO de Terry Dawson y Matt Welsh. ı del T.: netmask

Redes TCP/IP

181

La m´ scara de red es un patr´ n de bits, que al ser superpuesto a una direcci´ n de la red, le dir´ en a o o a qu´ sub-red se encuentra esa direcci´ n. Esto es muy importante para el rutado y, si usted nota que puede e o comunicar con gente de redes externas pero no con gente de su misma red, hay muchas probabilidades que tenga mal puesta la m´ scara. a Los administradores de la red habr´ n seleccionado las m´ scaras de red cuando se dise˜ o la red, y a a n´ ser´ n quienes deban darle la m´ scara correcta a utilizar. La mayor´a de redes son subredes de clase C a a ı las cuales usan la m´ scara 255.255.255.0. Las redes de clase B usan 255.255.0.0. El c´ digo de NETa o 3 seleccionar´ autom´ ticamente, si usted no especifica ninguna, una m´ scara que asume que no hay a a a subred. Todo esto debe aplicarse tambi´ n al puerto del “bucle local”. Dado que la direcci´ n del “bucle local” e o es siempre 127.0.0.1, la m´ scara siempre ser´ 255.0.0.0. Puede especificarla de forma expl´cita o dejar a a ı que el sistema la ponga por defecto. Direcci´ n de red. Es el resultado de la operaci´ n l´ gica AND entre su direcci´ n IP y la m´ scara. Por o o o o a ejemplo, si su direcci´ n IP es 128.253.154.32 y la m´ scara es 255.255.255.0, su direcci´ n de red es o a o 128.253.154.0. Con una m´ scara 255.255.0.0, la direcci´ n ser´a 128.253.0.0. a o ı Si utiliza s´ lo la configuraci´ n en “bucle local”, la direcci´ n de red no existe. o o o Direcci´ n de “broadcast”. Se utiliza para emitir paquetes que deben recibir todas las m´ quinas de la o a ´ subred. As´ pues, si el n´ mero de host de la subred se obtiene mediante el ultimo octeto de la direcci´ n ı u o IP (o sea, la m´ scara es 255.255.255.0), su direcci´ n de “broadcast” ser´ su direcci´ n de red operado a o a o un OR con 0.0.0.255. Por ejemplo, si su n´ mero IP es 128.253.154.32, y la m´ scara es 255.255.255.0, la direcci´ n de “broadu a o cast” ser´a la 128.253.154.255. ı Observe que por motivos hist´ ricos, algunas subredes est´ n configuradas para usar la direcci´ n de o a o red como direcci´ n de “broadcast”. Si tiene dudas, consulte con el administrador de la red. En muchos o ´ casos, bastar´ con copiar la configuraci´ n que tengan otras m´ quinas de la subred y cambiar unicamente a o a el valor IP, por supuesto. La direcci´ n “broadcast” tampoco tiene utilidad en una configuraci´ n en “bucle local”. o o Direcci´ n de pasarela. Se trata de la direcci´ n de la m´ quina que va a ser su puerta al mundo exterior o o a (el resto de m´ quinas que no est´ n en su misma subred) . Muchas veces es la misma direcci´ n IP que a a o la suya, s´ lo que terminada en “.1”. Por ejemplo, si su direcci´ n IP es 128.253.154.32, la de la pasarela o o podr´a ser la 128.253.154.1. El administrador se la dir´ en cualquier caso. ı a En realidad se puede tener varias pasarelas. Una pasarela o gateway es simplemente una m´ quina que a se encuentra a la vez en dos subredes (tiene una direcci´ n IP por cada una), y direcciona los paquetes o entre ellas. En muchas subredes existe una sola pasarela para comunicarse con las redes externas, pero en otras hay varias, una para cada subred adyacente. Si su red est´ aislada de otras, o su m´ quina se encuentra en configuraci´ n de “bucle local”, no necesia a o tar´ direcci´ n de pasarela. a o Direcci´ n del servidor de nombres. Suele existir un servidor que traduce nombres de m´ quinas a direco a ciones IP. El administrador le facilitar´ la direcci´ n del servidor de nombres. Tambi´ n puede ejecutar a o e en su propia m´ quina un servidor de nombres con el programa named, en cuyo caso la direcci´ n a o del servidor de nombres ser´ la 127.0.0.1. A menos que realmente lo necesite, le recomendamos que a procure siempre usar otra m´ quina distinta. La configuraci´ n de named es otro tema; y lo primordial a o aqu´ es que comunique con la red. Puede tratar estos asuntos m´ s tarde. ı a En una configuraci´ n de “bucle local” no es necesario un servidor de nombres. o Nota para usuarios de SLIP/PPP: La informaci´ n anterior puede necesitarla o no. Cuando use SLIP su o direcci´ n IP ser´ determinada de dos formas: bien “est´ tica”, lo que significa que ser´ siempre la misma, o a a a

182

Redes

o bien “din´ mica”, lo que indica que le ser´ asignada una de las disponibles cada vez que conecte con el a a servidor SLIP. En la secci´ n sobre SLIP ampliaremos el tema. o NET-3 implementa rutado completo, m´ ltiples rutas, subredes (actualmente s´ lo las limitadas por bytes) u o etc. Lo anterior describe las configuraciones de TCP/IP m´ s b´ sicas. Pero la suya puede ser diferente: cuando a a tenga alguna duda, consulte a los gur´ s de la red, y eche un vistazo a las p´ ginas de manual para route e u a ifconfig. La configuraci´ n completa de redes TCP/IP supera ampliamente las intenciones de este libro, y o con lo anterior s´ lo pretendemos posibilitar que todo el mundo pueda poner en marcha su sistema en una red o ya configurada. Los ficheros rc para trabajo en redes Los ficheros rc son scripts de configuraci´ n general del sisteo ma. Son ejecutados por el proceso init, y ponen en marcha los demonios b´ sicos (como sendmail, cron a etc.) y adem´ s configuran par´ metros de la red como la direcci´ n IP y el nombre del host. Los ficheros rc a a o suelen estar en el directorio /etc/rc.d, pero hay sistemas en que est´ n en /etc. En General las distribua ciones Slackware usan los ficheros rc.inet1 etc. en /etc/rc.d mientras que las distribuciones RetHat usan un conjunto de subdirectorios. Lo que vamos a hacer aqu´ es describir los ficheros rc que configuran TCP/IP. Son dos: rc.inet1 ı y rc.inet2. El primero configura par´ metros b´ sicos de la red (como direcciones IP e informaci´ n de a a o rutado). El segundo lanza los demonios TCP/IP (telnetd ftpd y dem´ s). a En muchos sistemas se juntan los dos ficheros en uno, el rc.inet o rc.net. No tiene importancia el nombre concreto de los ficheros rc, siempre que realicen las funciones correctas y que sean ejecutados durante el arranque por init. Para conseguirlo, puede que tenga que editar /etc/inittab y quitar los comentarios de las l´neas que ejecutan los ficheros rc. En el peor caso tendr´a usted que crear desde cero los ı ı ficheros rc.inet1 y rc.inet2 y a˜ adir las entradas adecuadas en el fichero inittab. n Como hemos dicho, rc.inet1 configura los par´ metros b´ sicos de red. Esto incluye el n´ mero IP y a a u la direcci´ n de red, y la tabla de rutado. Estas tablas se usan para rutar los datagramas entrantes y salientes o de otras m´ quinas. En el caso m´ s simple existen tres rutas: una para enviar paquetes a su propia m´ quina, a a a otra para enviarlos a otras m´ quinas de la subred y una tercera para enviarlos a m´ quinas de otras subredes a a (a trav´ s de la pasarela). Para configurar esto se usan los programas ifconfig y route, programas que e suelen estar en /etc. ifconfig se utiliza para configurar la interfaz de dispositivo de red con los par´ metros que necesita, a como la direcci´ n IP, la m´ scara, direcci´ n de broadcast y otros. route, por su lado, se utiliza para crear o o a o modificar entradas de la tabla de rutado. Para muchas configuraciones, el siguiente rc.inet1 puede valer. Aunque, por supuesto, necesitar´ edia tarlo para adecuarlo a su sistema. No utilice las direcciones IP y de red del ejemplo para su propio sistema; estas corresponden a una m´ quina real de Internet. a
#!/bin/sh # Este fichero es /etc/rc.d/rc.inet1 -- Configuraci´n de las interfaces TCP/IP o # Primero, configurar el dispositivo bucle local HOSTNAME=‘nombre_de_host‘ /etc/ifconfig lo 127.0.0.1 /etc/route add 127.0.0.1 # utiliza la m´scara de red por defecto 255.0.0.0 a # ruta que apunta al dispositivo bucle local

# Siguiente paso, configurar el dispositivo ethernet. Si usted s´lo utiliza bucle local o o # SLIP, ponga comentarios al resto de estas l´neas. ı # Editar estos valores para su configuraci´n. o IPADDR="128.253.154.32" # SUSTITUYA con SU direcci´n IP. o NETMASK="255.255.255.0" # SUSTITUYA con SU m´scara de subred. a NETWORK="128.253.154.0" # SUSTITUYA con SU direcci´n de red. o BROADCAST="128.253.154.255" # SUSTITUYA con SU direcci´n de broadcast, si dispone. o

Redes TCP/IP

183

GATEWAY="128.253.154.1"

# de una. Si no, dejar en blanco y editar la l´nea de abaj ı # SUSTITUYA con SU direcci´n de pasarela. o

/etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST} # Si no tiene direcci´n de broadcast, cambie la l´nea anterior por: o ı # /etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK} /etc/route add ${NETWORK} # La l´nea siguiente s´lo es necesaria si dispone de una pasarela; o sea que su red est´ ı o a # conectada al mundo exterior. /etc/route add default gw ${GATEWAY} metric 1 # Fin de la configuraci´n Ethernet o

Quiz´ s tenga que estudiarse un poco m´ s el tema para su instalaci´ n particular, aunque en la mayor parte a a o de los casos el fichero anterior ser´ suficiente. a rc.inet2 arranca servidores usados por TCP/IP. El m´ s importante es inetd. Inetd queda en sea gundo plano y escucha por varios puertos de la red. Cuando una m´ quina intenta conectarse por uno de ellos a (por ejemplo, por el de telnet), inetd arranca una copia del servidor correspondiente a ese puerto (para telnet arranca in.telnetd). Esto es mejor que mantener en ejecuci´ n todos los servidores de red o necesarios (m´ ltiples copias de telnetd, ftpd y dem´ s). inetd arranca los demonios conforme se van u a necesitando. Syslogd es el demonio de registro del sistema. Se ocupa de acumular los mensajes de registro generados por diversas aplicaciones almacen´ ndolos en ficheros de registro seg´ n las instrucciones del fichero a u /etc/syslogd.conf. routed es un servidor que se ocupa de la informaci´ n de rutado din´ mica. Cuano a do su sistema intenta enviar paquetes a otra red, puede requerir nuevas entradas en las tablas de rutado. routed se encarga de manipular la tabla de rutado sin necesidad de intervenci´ n del usuario. o El ejemplo de rc.inet2 siguiente s´ lo arranca un n´ mero m´nimo de servidores. Existen otros servidoo u ı res que pueden interesarle, todos ellos relacionados con NFS. Cuando instale TCP/IP en su sistema, es mejor empezar con una configuraci´ n sencilla y luego ir a˜ adiendo partes m´ s complicadas (como NFS) a medida o n a que funcionan las anteriores. Observe que en el fichero siguiente se asume que los servidores de red se encuentran en /etc. Como es normal, tiene que editar este fichero para adecuarlo a su propia configuraci´ n. o
#! /bin/sh # Ejemplo de /etc/rc.d/rc.inet2 # Arrancar syslogd if [ -f /etc/syslogd ] then /etc/syslogd fi # Arrancar inetd if [ -f /etc/inetd ] then /etc/inetd fi # Arrancar routed if [ -f /etc/routed ] then /etc/routed -q fi

184

Redes

# Hecho!

Otro servidor que puede interesarle arrancar desde rc.inet2 es named. named es un servidor de nombres, que traducir´ nombres (locales) a direcciones IP y viceversa. Si no hay servidor de nombres en su a subred o quiere proporcionar nombres nuevos a la misma, necesitar´ arrancar named (sin embargo para la a mayor´a de configuraciones no es necesario). La configuraci´ n de named es un poco compleja y requiere ı o cierto cuidado y planificaci´ n, por lo que le recomendamos consultar bibliograf´a espec´fica. o ı ı El fichero /etc/hosts /etc/hosts contiene una lista de direcciones IP y nombres de m´ quinas a que les corresponden. En general, /etc/hosts s´ lo contiene entradas para su m´ quina y quiz´ s alguna o a a otra “importante”, como servidores de nombres o pasarelas. El servidor de nombres local convierte autom´ tia camente los nombres de otras m´ quinas a su direcci´ n IP. a o Por ejemplo, si su m´ quina es loomer.vpizza.com con la direcci´ n IP 128.253.154.32, su a o /etc/hosts ser´a como este: ı
127.0.0.1 128.253.154.32 localhost loomer.vpizza.com loomer

´ Si solo usa el “bucle local”, la unica l´nea necesaria en /etc/hosts es la que tiene el n´ mero 127.0.0.1, ı u a˜ adiendo tras localhost el nombre de su m´ quina. n a El fichero /etc/networks El fichero /etc/networks contiene los nombres y las direcciones de su red y otras. Es usado por la orden route y permite, si lo desea, referirse a las redes por nombre. Cada subred para la que quiera a˜ adir una ruta con el mandato route (generalmente llamado desde n rc.inet1 como se ha descrito antes) debe aparecer en el fichero /etc/networks. Por ejemplo,
default loopnet mynet 0.0.0.0 127.0.0.0 128.253.154.0 # rutado por defecto - obligatorio # red de ’bucle local’ - obligatorio # Ponga aqui su direccion de red

El fichero /etc/host.conf Este fichero dice a su sistema c´ mo resolver los nombres de los hosts. o Debe contener dos l´neas: ı
order hosts,bind multi on

Estas l´neas indican a los mecanismos de resoluci´ n que empiezen buscando en el fichero /etc/hosts y ı o luego pregunten al servidor de nombres, si existe. La entrada multi permite que para un nombre de m´ quina a haya varias direcciones IP en /etc/hosts. El fichero /etc/resolv.conf En este fichero se configura el mecanismo de resoluci´ n, especifio cando la direcci´ n del servidor de nombres (si existe) y el nombre del dominio de su m´ quina. El nombre de o a dominio es el nombre de host completamente calificado (si su m´ quina tiene un nombre Internet registrado) a pero cortando el nombre de host. O sea, si su m´ quina se llama loomer.vpizza.com, el dominio es a simplemente vpizza.com. Por ejemplo, si su m´ quina es goober.norelco.com, y dispone de un servidor de nombres en la a direcci´ n 128.253.154.5, su /etc/resolv.conf tendr´a este aspecto: o ı
domain nameserver norelco.com 127.253.154.5

Con l´neas nameserver adicionales podr´ especificar la existencia de varios servidores de nombres. ı a

Redes TCP/IP

185

Ajuste del nombre de su host Para establecer el nombre de su host deber´a usar la orden hostname. ı Esto suele hacerse desde el fichero /etc/rc o /etc/rc.local. Busque en sus ficheros rc y localice desde d´ nde se llama. Por ejemplo, si su nombre de host completo es loomer.vpizza.com, edite el o archivo rc correspondiente para que ejecute el mandato:
/bin/hostname loomer.vpizza.com

Tenga en cuenta que el ejecutable hostname puede no encontrarse en el directorio bin de su sistema. A ver si funciona. Una vez que haya puesto a punto los ficheros anteriores, deber´a reiniciar ı GNU/Linux e intentar utilizar la red. Hay muchos sitios donde las cosas pueden fallar, por lo que es mejor probar partes independientes de la configuraci´ n de red (no es una buena idea probar la configuraci´ n de o o la red ejecutando Mosaic a trav´ s de una conexi´ n de red X). e o ´ Con la orden netstat puede ver las tablas de encaminamiento. Esta suele ser la principal fuente de problemas. En la p´ gina del manual para esta instrucci´ n encontrar´ detallada la sintaxis adecuada. Para a o a comprobar que funciona su conexi´ n, le sugerimos probar un cliente como telnet para ver si puede coo nectarse a m´ quinas de su subred y de otras redes. Esto le ayudar´ a delimitar el origen del problema. Por a a ejemplo, si puede conectarse a m´ quinas de otras subredes pero no de la suya propia, es m´ s que probable a a que se trate de un problema con la m´ scara de red o las tablas de encaminamiento. Ejecutando route como a root podr´ modificar directamente con las entradas de la tabla. a Tambi´ n deber´a hacer pruebas de conectividad utilizando direcciones IP directamente en lugar de nome ı bres. As´, si tiene problemas para ejecutar ı
$ telnet shoop.vpizza.com

la causa puede ser una configuraci´ n incorrecta del servidor de nombres. Si funciona usando la direcci´ n IP, o o se puede casi asegurar que el resto de la configuraci´ n est´ bien hecha y que el problema se encuentra en la o a direcci´ n del servidor de nombres. o La depuraci´ n de configuraciones de red puede ser tarea dif´cil, y no podemos tratarla aqu´. Le sugerimos, o ı ı si no consigue otra ayuda, que consulte el libro Gu´a del Administrador de Redes Linux de esta misma serie. ı

6.1.2.

Configuraci´ n de SLIP o

El protocolo SLIP (Serial Line Internet Protocol3 ) permite utilizar TCP/IP mediante una l´nea serie, como ı puede ser una l´nea telef´ nica con m´ dem o cualquier tipo de l´nea dedicada as´ncrona. Por supuesto, para ı o o ı ı usar SLIP tiene que tener acceso a un servidor SLIP. Muchas empresas y universidades proporcionan acceso SLIP por poco dinero. Existen principalmente dos programas relacionados con SLIP: dip y slattach. Ambos se usan para iniciar una conexi´ n SLIP sobre un dispositivo serie. Es necesario utilizar uno de estos dos programas para o habilitar SLIP; no es suficiente con llamar al servidor SLIP con programas como kermit y despu´ s usar las e instrucciones ifconfig y route. Esto se debe a que dip y slattach realizan una llamada del sistema ioctl() especial para hacerse con el control del dispositivo serie y ponerlo a disposici´ n de la interfaz de SLIP. o Con dip puede llamarse a un servidor SLIP, hacer ciertas negociaciones de entrada con el mismo (intercambio de usuario y password, por ejemplo) y despu´ s iniciar la conexi´ n SLIP. Por su lado, slattach se e o limita pr´ cticamente a modificar la l´nea serie para que la utilice SLIP, por lo que est´ indicado para l´neas a ı a ı dedicadas que no requieren interacci´ n con el m´ dem o ni ninguna negociaci´ n de protocolo. Casi todo el o o o mundo, sin embargo, usa dip. Con dip tambi´ n puede configurar su sistema GNU/Linux como servidor SLIP, permitiendo a otras e m´ quinas hacer una llamada telef´ nica y conectarse a la red a trav´ s de su m´ dem y su conexi´ n Ethernet. a o e o o Vea la documentaci´ n y los manuales en l´nea de dip para m´ s informaci´ n. o ı a o A SLIP se le llama conexi´ n “punto a punto” (point-to-point) pues a ambos lados de la l´nea existen s´ lo o ı o las dos m´ quinas involucradas (no como sucede en una ethernet). Esta idea se generaliza y mejora con el a protocolo PPP (point-to-point protocol) que tambi´ n se ha portado a GNU/Linux. e
3 N.

del T.: Protocolo de l´nea serie ı

186

Redes

Cuando inicia una conexi´ n al servidor SLIP, se le asignar´ una direcci´ n IP, bien de forma “est´ tica” (su o a o a direcci´ n IP es siempre la misma) o “din´ mica” (su direcci´ n puede ser diferente de un d´a para otro). Por lo o a o ı general, los valores de la direcci´ n y pasarela asignados ser´ n impresos por el servidor SLIP al conectarse. o a El programa dip es capaz de capturar esos valores y configurar su sistema para adaptarse a ellos. Esencialmente, configurar una conexi´ n SLIP es como configurar la conexi´ n en “bucle local” o con o o Ethernet. En las siguientes l´neas le mostramos las diferencias. Es importante que vea lo que hemos explicado ı antes sobre configuraci´ n en general de TCP/IP, y aplique ahora las modificaciones que le vamos a contar. o Conexiones SLIP con asignaci´ n de IP est´ tica usando dip Si su servidor SLIP le permite teo a ner la direcci´ n IP est´ tica, lo m´ s adecuado es insertar la direcci´ n y el nombre del host en el fichero o a a o /etc/hosts. Adem´ s, deber´a configurar los ficheros rc.inet2, host.conf y resolv.conf como a ı se ha dicho antes. Igualmente, configure el fichero rc.inet1 como se ha descrito antes. Sin embargo, solo tiene que ´ ejecutar ifconfig y route para el dispositivo “bucle local”, puesto que dip ya ejecutar´ las ordenes a ifconfig y route adecuadas para el dispositivo SLIP. Pero si usa slattach s´ tendr´ que incluir ı a ´ ordenes ifconfig/route en rc.inet1 para el dispositivo SLIP (en breve veremos c´ mo). o El programa dip deber´a configurar sus tablas de rutado para la conexi´ n SLIP. Sin embargo, puede ı o no hacerlo bien, y tendr´ que corregirlo ejecutando por su cuenta ifconfig o route cuando se haya a conectado. Quiz´ s le convenga entonces escribirse un shell script que lo haga autom´ ticamente. En a a muchos casos, la pasarela es el propio servidor SLIP. Puede que conozca la direcci´ n con antelaci´ n o que o o la imprima el servidor SLIP en el momento de la conexi´ n. De todas formas, el script que utilice dip (que o detallamos a continuaci´ n) puede deducirlo de la informaci´ n que env´a el servidor SLIP. o o ı Puede que necesite el argumento pointopoint en ifconfig si ve que dip no configura bien la interfaz. Por ejemplo, si la direcci´ n del servidor SLIP es 128.253.154.2 y la suya es 128.253.154.32, la o orden a ejecutar (como root) podr´a ser: ı
ifconfig sl0 128.253.154.32 pointopoint 128.253.154.2

ejecutado como root y tras conectar con dip. La documentaci´ n en l´nea de esta orden le ser´ util. o ı a´ Observe que los nombres de dispositivo SLIP que se usan en ifconfig y route son sl0, sl1, etc. (y no como en ethernet, que es eth0, eth1, etc.) En la secci´ n posterior 6.1.2 le explicaremos c´ mo configurar dip para conectarse a un servidor SLIP. o o Conexiones SLIP con asignaci´ n de IP est´ tica usando slattach Si tiene una l´nea dedicada o un o a ı cable conectado directamente al servidor SLIP, no es necesario usar dip para iniciar la conexi´ n. En su lugar o puede usar slattach para configurar el dispositivo SLIP. En este caso, el fichero /etc/rc.inet1 puede quedar como sigue:
#!/bin/sh IPADDR="128.253.154.32" REMADDR="128.253.154.2" # Ponga aqui su direccion IP # Ponga aqui la del servidor de SLIP

# Modifique lo siguiente para su dispositivo serie adecuado a la # conexi´n SLIP: o slattach -p cslip -s 19200 /dev/ttyS0 /etc/ifconfig sl0 $IPADDR pointopoint $REMADDR up /etc/route add default gw $REMADDR

slattach asigna el primer dispositivo SLIP disponible (sl0,sl1, etc.) a la l´nea serie especificada. ı Observe que el primer par´ metro de slattach es el protocolo SLIP a utilizar. Actualmente solo valen a slip y cslip. slip es el SLIP normal, y cslip es un SLIP que incluye compresi´ n de las cabeceras de o los datagramas. Por ello su elecci´ n habitual ser´ cslip a menos que tenga alg´ n problema con esta conexi´ n. o a u o Si tiene m´ s de una interfaz SLIP tendr´ que tener en cuenta algunas cosas respecto al rutado. Tiene que a a decidir qu´ rutas a˜ adir, y esto debe hacerse en funci´ n de la configuraci´ n de la red a la que se conecte. Le e n o o ser´ n de ayuda los libros sobre configuraci´ n de TCP/IP, la documentaci´ n en l´nea de la orden route, etc. a o o ı

Redes TCP/IP

187

Conexiones SLIP con asignaci´ n de IP din´ mica usando dip. Si el servidor SLIP le asigna din´ mio a a camente las direcciones IP, no sabr´ , evidentemente, su direcci´ n IP antes de conectarse, con lo que no puede a o incluir esa informaci´ n en /etc/hosts (aunque s´ incluir´ la informaci´ n del “bucle local”, 127.0.0.1). o ı a o Muchos servidores SLIP env´an al terminal la direcci´ n IP y la del propio servidor. Por ejemplo, un ı o servidor SLIP podr´a decirle esto al conectarse: ı
Your IP address is 128.253.154.44. Server address is 128.253.154.2.

dip puede capturar estos n´ meros devueltos por el servidor y utilizarlos para configurar el dispositvo SLIP. u Vea la secci´ n 186 para informarse sobre la configuraci´ n de los ficheros de TCP/IP para utilizar con o o SLIP. Ahora le indicaremos c´ mo se configura dip para conectarse al servidor SLIP. o

Utilizaci´ n de dip o
dip puede facilitar el proceso de conexi´ n a un servidor SLIP, pues se ocupar´ de entrar en el sistema o a remoto y configurar el dispositivo SLIP. Este programa es el m´ s indicado a menos que su l´nea sea dedicada. a ı Para utilizar dip tendr´ que escribir un “script” que contendr´ ordeness para comunicar con el servidor a a´ SLIP durante la entrada en el sistema remoto. Por ejemplo, incluir´ env´o autom´ tico de usuario y contrase˜ a a ı a n al servidor as´ como lo necesario para obtener su la direcci´ n IP desde el servidor. ı o Lo que sigue es un ejemplo de script dip para asignaci´ n din´ mica de direcci´ n IP. Para asignaci´ n est´ tica o a o o a tendr´ que poner al principio del script los valores fijos de las direcciones IP en las variables $local y a $remote. Vea la p´ gina de manual de dip para m´ s informaci´ n. a a o
main: # MTU es ’Maximum Transfer Unit’ o tama˜o m´ximo de los paquetes n a # transmitidos por el dispositivo SLIP. En muchos servidores este # valor debe ser 1500 o 1506. Hable con el administrador de la red # si no est´ seguro. a get $mtu 1500 # Hacer que el rutado de SLIP sea el de su sistema por omisi´n. o default # Elegir puerto serie y velocidad. port cua03 speed 38400 # Reiniciar el modem y la linea del terminal. Si le da problemas, # comente la linea. reset # Preparar para hacer la llamada. Sustituya la l´nea siguiente ı # con la cadena de inicializaci´n del m´dem. o o send ATT&C1&D2\\N3&Q5%M3%C1N1W1L1S48=7\r wait OK 2 if $errlvl != 0 goto error # Llamada al servidor SLIP. Ponga aqu´ el n´mero de tel´fono ı u e dial 2546000 if $errlvl != 0 goto error wait CONNECT 60 if $errlvl != 0 goto error # Ahora estamos conectados. Hay que entrar en el sistema. login: sleep 3 send \r\n\r\n

188

Redes

# Esperar la solicitud de entrada (login:) wait login: 10 if $errlvl != 0 goto error # Enviar el nombre de usuario send USERNAME\n # Esperar la solicitud de contrase˜a (password) n wait ord: 5 if $errlvl != 0 goto error # Enviar la contrase˜a n send PASSWORD\n # Esperar la confirmaci´n del servidor SLIP de que est´ preparado o a wait annex: 30 if $errlvl != 0 goto error # Enviar instrucciones al servidor para iniciar la conexi´n SLIP o send slip\n wait Annex 30 # Obtener la direccion IP desde el servidor. La orden ’get...remote’ # lee un texto de la forma xxx.xxx.xxx.xxx y lo asigna a la variable # dada como segundo argumento (aqui es $remote). get $remote remote if $errlvl != 0 goto error wait Your 30 # Obtener la direccion local IP desde el servidor y asignarla a $local. get $local remote if $errlvl != 0 goto error # Lanzar la conexi´n SLIP o done: print CONECTADO a $remote en $rmtip print La direcci´n de PASARELA es $rmtip o print La direcci´n LOCAL es $local o mode SLIP goto exit error: print Conexi´n SLIP a $remote ha fallado. o exit:

´ dip ejecuta autom´ ticamente las ordenes ifconfig y route seg´ n los valores asignados a las variaa u bles $local y $remote. Aqu´, estas variables son asignadas con la orden get...remote, que obtiene ı el texto del servidor SLIP y lo asigna a la variable. ´ Si las ordenes ifconfig y route que dip ejecuta no funcionan, siempre puede llamarlas por su cuenta desde un gui´ n de shell tras ejecutar dip o modificar las fuentes del propio dip. Con la opci´ n -v o o dip dar´ informaci´ n de depuraci´ n generada durante la conexi´ n y le ayudar´ a averiguar las causas del a o o o a problemas. Ahora, para ejecutar dip y abrir la conexi´ n SLIP, escriba una orden como: o
/etc/dip/dip -v /etc/dip/mychat 2>&1

Estando los ficheros de dip, incluyendo script y mychat.dip en /etc/dip.

6.2. Redes de Conexi´ n Telef´ nicas y PPP o o

189

Las explicaciones de esta secci´ n le deber´an haber permitido conectarse a la red, bien sea por Ethernet o o ı por SLIP. De nuevo le volvemos a recomendar que consulte un libro sobre configuraci´ n de redes TCP/IP, en o especial si en la red hay configuraciones especiales de rutado o similar.

6.2. Redes de Conexi´ n Telef´ nicas y PPP o o
GNU/Linux posee una implementaci´ n completa de los protocolos de red PPP (punto a punto). PPP es o un mecanismo para crear y ejecutar IP (el protocolo de Internet) y otros protocolos de red sobre una conexi´ n o serie (usando un cable-m´ dem), sobre un enlace establecido con telnet o un enlace hecho usando m´ dems o o y l´neas telef´ nicas (y por supuesto utilizando l´neas digitales como RDSI). Esta secci´ n cubrir´ s´ lo la ı o ı o a o configuraci´ n de PPP como cliente, conectando el equipo a trav´ s de un m´ dem anal´ gico a una m´ quina o e o o a remota que proporciona el servicio de conexi´ n PPP. o Para una informaci´ n completa sobre la puesta a punto de PPP bajo GNU/Linux, recomendamos leer el o Linux PPP HOWTO4 , disponible v´a ftp an´ nimo en sunsite.unc.edu. El PPP HOWTO es una gu´a ı o ı completa para la configuraci´ n de PPP, incluyendo m´ dem, RDSI y cable-m´ dem bajo GNU/Linux. Mucha o o o de la informaci´ n de esta secci´ n se obtuvo de dicho documento. La Gu´a del Administrador de Red Linux, o o ı de tldp-es, est´ tambi´ n disponible. Vease ap´ ndice A para mayor informaci´ n sobre estos documentos. a e e o

6.2.1.

Qu´ se necesita para empezar e

Asumiremos que su n´ cleo ha sido configurado y compilado para soportar TCP/IP. V´ ase la Secci´ n 4.9 u e o para informaci´ n acerca de la compilaci´ n del n´ cleo. Para habilitar la red, se debe contestar “s´(yes)” a las o o u ı preguntas adecuadas durante el make config. Asumiremos tambi´ n que PPP est´ compilado e instalado e a en el sistema. En cuanto a la versi´ n del n´ cleo, asumiremos que se est´ utilizando GNU/Linux 1.2.x con la o u a ´ versi´ n 2.1.2 del software PPP o GNU/Linux 1.3.x/2.0.x y PPP 2.2.0. Cuando se escribi´ este libro la ultima o o versi´ n estable de PPP disponible para GNU/Linux era la PPP-2.2f. Por favor, vea el kerneld mini-HOWTO o si planea usar m´ dulos para cargar PPP en el n´ cleo. Es muy recomendable usar versiones del n´ cleo y PPP o u u que se sepa que son estables conjuntamente. Debe leerse tambi´ n: e la documentaci´ n que viene con el paquete PPP; o las p´ ginas del manual de pppd y chat; (usar man chat y man pppd para verlas) a La GNU/Linux Network Administration Guide (NAG); El Net-2/3 HOWTO; Documentaci´ n del n´ cleo de GNU/Linux instalado en /usr/src/linux/Documentation cuando se instala o u el c´ digo fuente de GNU/Linux; o La p´ gina de informaci´ n de configuraci´ n del m´ dem, v´ ase Modem Setup Information a o o o e (http://www.in.net/info/modems/index.html) Los libros excelentes de GNU/Linux/Unix publicados por O’Reilly y Asociados. V´ ase (O’Reilly and e Associates On-Line catalog (http://www.ora.com/). Si es nuevo en Unix/Linux, ¡corra (no ande) a su tienda de libros de inform´ tica m´ s cercana e invierta en alguno de ellos inmediatamente! a a La PPP-FAQ mantenida por Al Longyear, disponible en (ftp://sunsite.unc.edu/pub/linux/docs/faqs; ver Ap´ ndice C). e ´ Contiene una gran cantidad de informaci´ n util en formato pregunta/respuesta que es muy util cuando o ´ no funciona adecuadamente PPP.
4 N.

del T.: y el COMO correspondiente disponible en http://www.insflug.org

190

Caracter´sticas avanzadas ı

6.2.2.

Una visi´ n de los pasos involucrados o

Hay que dar varios pasos para poner a punto el sistema para usar PPP. Se recomienda leer atentamente los siguientes pasos antes de intentar establecer una conexi´ n PPP. Cada uno de estos pasos se discutir´ en o a detalle posteriormente. 1. 2. Asegurarse de que el soporte para TCP/IP est´ compilado en el n´ cleo. e u Asegurarse de que el soporte PPP est´ compilado en el n´ cleo de forma est´ tica o como un m´ dulo e u a o cargable.

3. Asegurarse de que el software PPP est´ compilado e instalado en el sistema. a 4. Asegurarse de que existe un m´ dem configurado e instalado en la computadora y que se conoce el o puerto serie asignado al m´ dem. o Asegurarse que se posee la siguiente informaci´ n del proveedor de servicio de conexi´ n PPP (normalo o mente un Proveedor de Servicios de Internet o ISP): El n´ mero de tel´ fono que se debe marcar para conectarse al proveedor de servicio de conexi´ n u e o PPP. ´ Si se est´ recibiendo una asignaci´ n de IP din´ mica o est´ tica. En este ultimo caso, se debe a o a a conocer el n´ mero IP est´ tico. u a La direcci´ n IP del servidor de nombres, DNS en sus siglas inglesas; servidor que se utiliza para o identificar las direcciones IP de las m´ quinas cuando se est´ conectado. a a ´ Asegurarse que el nucleo tiene soporte para TCP/IP. Las operaciones de GNU/Linux PPP se dividen en dos: 1) El demonio PPP y el soporte del n´ cleo para PPP. Muchas distribuciones proporcionan soporte para u PPP en sus n´ cleos de instalaci´ n por defecto, pero otras no. Hay que asegurarse que TCP/IP est´ compilado u o a en el n´ cleo. Esto puede hacerse con la instrucci´ n: u o
grep -i ‘‘TCP/IP’’ /var/adm/messages

5.

Si se obtiene una l´nea similar a ı
Jun 8 09:52:08 gemini kernel: Swansea University Computer Society TCP/IP for NET3.019

entonces se tiene soporte TCP/IP compilado. Adem´ s se debe buscar la informaci´ n anterior durante el proa o ceso de arranque de GNU/Linux. En m´ quinas muy r´ pidas, estos mensajes se desplazan a mucha velocidad. a a Se puede utilizar May - ReP´g para desplazar los mensajes de pantalla hacia arriba y leerlos. a ´ Asegurarse que el nucleo tiene soporte para PPP. Si en el arranque el n´ cleo proporciona mensajes u como
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. PPP line discipline registered.

entonces es que tiene soporte PPP. Tambi´ n se puede utilizar la orden e
# grep -i ‘‘PPP’’ /var/adm/messages

Si se obtiene una l´nea similar a ı
Jun 8 09:52:08 gemini kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS

significa que el soporte para PPP est´ presente. a

Redes de conexi´ n telef´ nica y PPP o o

191

Asegurarse que el m´ dem est´ configurado. Hay que estar seguro que el m´ dem est´ puesto a punto o a o a de forma correcta y que se conoce el puerto serie al que est´ conectado. a DOS com1: = GNU/Linux /dev/ttyS0 (/dev/cua0) DOS com2: = GNU/Linux /dev/ttyS1 (/dev/cua1) etc´ tera e Hist´ ricamente GNU/Linux usaba los dispositivos cuax para enviar y los dispositivos ttySx para recibir. o Con la versi´ n del n´ cleo 2.0.x, esto cambi´ y pasaron a utilizarse s´ lo los ttySx tanto para enviar como para o u o o recibir. Los dispositivos cuax desaparecer´ n en posteriores versiones del n´ cleo. a u Si se est´ utilizando un m´ dem (externo) de alta velocidad (14.400 baudios o m´ s), el puerto serie debe a o a ser capaz de manejar y enviar todo lo que el m´ dem sea capaz de producir, particularmente cuando el m´ dem o o comprime los datos. Esto requiere utilizar un puerto serie con un UART moderno (Universal Asynchronous Receiver Transmitter) por ejemplo, un 16550A. Si se est´ utilizando una m´ quina antigua (o un puerto serie antiguo), es a a posible que el puerto serie tenga s´ lo un UART 8250, que producir´ problemas importantes al usarse con o a m´ dems r´ pidos. o a Se puede usar la instrucci´ n o
# setserial -a /dev/ttySx

para que GNU/Linux informe sobre el tipo de UART que se posee. Si no se tiene un UART tipo 16550A, invierta en una nueva tarjeta serie. Es necesario configurar el m´ dem correctamente para PPP, para hacer esto ¡LEA EL MANUAL DEL o ´ MODEM!. Muchos m´ dems vienen con la configuraci´ n de f´ brica que selecciona las opciones necesarias o o a ´ para utilizar PPP. La configuraci´ n espec´fica recomendada (en ordenes est´ ndar de Hayes) es: o ı a Control de flujo por hardware (RTS/CTS) (&K3 en muchos m´ dems) o E1 Eco ON (ver /usr/src/linux/include/linux/serial.h) (requerido para que chat funcione) Q0 Informar del resultado de operaciones (requisito para que funcione chat) S0=0 Auto Responder en OFF (a no ser que se desee que el m´ dem responda el tel´ fono) o e &C1 Detecci´ n de portadora en ON s´ lo despu´ s de conectar. o o e &S0 Data Set Ready (DSR) siempre ON ( (depende) Terminal de datos preparado (Data Terminal Ready) Existe una p´ gina que ofrece configuraciones ejemplo para una variedad creciente de m´ dems en “Modem a o setup information” (http://www.in.net/info/modems/index.html) que puede ayudarle en esto. Use software de comunicaciones, como minicom o seyon, para obtener informaci´ n sobre la configurao ci´ n del m´ dem y poner los valores requeridos por PPP. Muchos m´ dems dan su configuraci´ n actual en o o o o respuesta a AT&V, pero deber´a consultar el manual del m´ dem. ı o Si se desajusta completamente la configuraci´ n, puede obtenerse de nuevo la configuraci´ n de f´ brica, o o a utilizando la, normalmente saludable, opci´ n AT&F. (En muchos m´ dems he encontrado que la configuraci´ n o o o de f´ brica incluye todo lo necesario para PPP, pero debe comprobarse). a Una vez que se ha conseguido la configuraci´ n requerida del m´ dem, conviene guardarla. Ahora hay que o o tomar una decisi´ n: guardar estas caracter´sticas en la memoria no vol´ til del m´ dem, para que puedan ser o ı a o llamadas por la orden AT apropiada; o bien enviar al m´ dem la configuraci´ n correcta durante el proceso de o o marcado del PPP. Si s´ lo va a utilizarse el m´ dem desde GNU/Linux para llamar al ISP o servidor corporativo, lo m´ s o o a sencillo es guardar la configuraci´ n en la RAM no vol´ til. o a Por otra parte, si el m´ dem va a usarse desde otras aplicaciones o sistemas operativos, es conveniente pasar o la informaci´ n al m´ dem en cada llamada. (Adem´ s tiene la ventaja que no puede perderse la informaci´ n en o o a o caso que se borre la memoria del m´ dem). o

192

Caracter´sticas avanzadas ı

Informaci´ n del ISP. Antes de poder establecer una conexi´ n PPP con un servidor remoto, es necesario o o obtener informaci´ n del administrador de sistema o del servicio de atenci´ n al cliente del ISP. o o El n´ mero(s) de tel´ fono a marcar para el servicio. Si est´ detr´ s de una centralita o similares, el n´ mero u e a a u que da tono para una llamada externa, este es normalmente el cero (0). ´ ´ ¿Proporciona el servidor direcciones IP DINAMICAS o ESTATICAS? Si el servidor utiliza direccio´ nes IP ESTATICAS, entonces es necesario conocer el la direcci´ n asignada. Si el ISP proporciona una o conexi´ n a una subred de direcciones IP v´ lidas, se necesitar´ saber las direcciones IP que vayan a o a a utilizarse y la m´ scara de red (netmask). a ´ Muchos ISPs utilizan direcciones IP DINAMICAS, Como se mencion´ anteriormente, esto tiene ciero tas implicaciones en los servicios que pueden utilizarse. ´ Sin embargo, incluso si se utiliza una direcci´ n IP ESTATICA, muchos servidores PPP, no permio tir´ n nunca (por razones de seguridad) al cliente especificar un n´ mero IP, por el riesgo de seguridad. a u ¡Necesita pues esta informaci´ n! o ¿Qu´ son los n´ meros IP del Servidor de Nombres del ISP? e u Debe haber al menos dos, aunque s´ lo uno es necesario. o Puede haber un problema aqu´. La configuraci´ n del PPP de MS Windows 95, permite que las direcı o ciones DNS pasen al cliente dentro del proceso de la conexi´ n, por lo que su ISP puede comentarle que o no necesita la direcci´ n IP de los servidores DNS. o Para GNU/Linux, se necesitan las direcciones de al menos un DNS. La implementaci´ n de GNU/Linux o de PPP, no permite la configuraci´ n de la direcci´ n IP del DNS din´ micamente en tiempo de conexi´ n o o a o y posiblemente nunca lo haga. ¿Requiere el servidor el uso de PAP/CHAP? Si este es el caso, se necesita conocer el “id” y “secret” para usar en la conexi´ n. (Probablemente el o nombre de usuario y la contrase˜ a proporcionados por el ISP). n ¿Lanza autom´ ticamente PPP el servidor o hay que proporcionarle alguna instrucci´ n para que se lance a o PPP una vez que hemos conectado? En ese caso, ¿cual es la instrucci´ n? o ¿Es el servidor un sistema Microsoft Windows NT?, y si es as´, ¿est´ utilizando el sistema PAP/CHAP ı a de MS?. Muchas redes locales utilizan MS Windows NT. ´ Cada dispositivo conectado a Internet debe tener su propio y unico n´ mero IP. Estos se asignan de forma u centralizada por una autoridad designada en cada pa´s. Entonces, para utilizar una conexi´ n PPP, se debe ı o tener un n´ mero IP asignado. Debido al n´ mero creciente de m´ quinas en Internet (en parte debido al gran u u a n´ mero de usuarios PPP), se ha desarrollado un esquema din´ mico para PPP que proporciona un IP al instante u a cuando se establece la conexi´ n PPP. Esto quiere decir que se tendr´ n diferentes direcciones IP cada vez o a que se establezca una conexi´ n PPP con el servidor. Este es el m´ todo m´ s habitual de muchos ISP. El otro o e a ´ ´ m´ todo es utilizar una IP est´ tica. Usted no puede elegir su propia IP, esta debe ser asignada por un organismo e a estatal encargado de la asignaci´ n de direcciones IP. Esto previene que dos computadores tengan la misma o direcci´ n IP, lo que provocar´a problemas en Internet. El proveedor de servicior PPP remoto, debe decirle si o ı se est´ utilizando IP est´ tica o din´ mica y proporcionarle su direcci´ n IP en caso de que se utilice el m´ todo a a a o e est´ tico. a Es importante notar que si se utiliza asignaci´ n din´ mica de IP, es muy muy dif´cil proporcionar alg´ n o a ı u servicio de Internet permanente como servidores WWW, servicios de gopher o servidores Chat. S´ se podr´ n ı a utilizar estos servicios que est´ n en otras m´ quinas, pero no ofrecer dichos servicios en su m´ quina sin un e a a gran esfuerzo. Esto queda fuera del alcance de este documento. PAP y CHAP son los dos m´ todos habituales de autenticaci´ n. GNU/Linux soporta ambos. e o

Redes de conexi´ n telef´ nica y PPP o o

193

Probando el m´ dem y el servicio remoto. Ahora que se tienen solucionadas la configuraci´ n del o o puerto serie y del m´ dem, es una buena idea estar seguro de si son las indicadas para conectar con el ISP y o comprobar si se puede realizar la conexi´ n. o Usando un paquete de comunicaciones, como minicom o seyon, ponga a punto la inicializaci´ n del o m´ dem requerida por PPP marcando el n´ mero del servidor PPP al que se quiere conectar con una sesi´ n o u o PPP. (Nota:en este punto NO estamos intentando establecer una conexi´ n PPP, s´ lo comprobar si tenemos el o o n´ mero de tel´ fono correcto y averiguando exactamente lo que el servidor nos solicita para establecer la u e conexi´ n y lanzar PPP). o Durante este proceso, o bien se captura (registr´ ndolo en un fichero) el proceso de ingreso completo, o se a escribe exactamente con cuidado (mucho cuidado) todo lo que el servidor solicite. Es hora de dar el nombre de usuario y la contrase˜ a (y cualquier otra instrucci´ n que se necesite para establecer la conexi´ n PPP). n o o ´ rdenes de ingreso, pero puede aparecer en su lugar Si el servidor usa PAP, no se ver´ un indicador de o a la representaci´ n en texto del protocolo de control de enlace, como una cadena de caracteres extra˜ os en la o n pantalla. Algunas advertencias: Algunos servidores son muy inteligentes: se puede ingresar usando nombre/contrase˜ a mediante texto n o usando PAP. Por tanto, si el servidor ISP usa PAP, pero no se ven los caracteres extra˜ os inmediatan mente, no quiere decir que se est´ haciendo algo mal. e Algunos servidores solicitan inicicialmente poner alg´ n texto y entonces comienzan la secuencia PAP. u Algunos servidores PPP son pasivos, es decir simplemente esperan sin responder hasta que el cliente env´a un paquete lcp v´ lido. Si el servidor PPP al que se va a conectar opera en modo pasivo, ¡nunca ı a ver´ los caracteres extra˜ os! a n ´ Algunos servidores no lanzan PPP hasta que se presiona ENTER, as´ que es util hacerlo si se ha ı accedido correctamente y no se ven los mensajes extra˜ os. n ´ Es util repetir esta operaci´ n al menos dos veces, puesto que algunos servidores cambian sus indicador de o ´ ´ ordeness cada vez que se ingresa. Los dos indicador de ordeness fundamentales que la configuraci´ n debe ser o capaz de indentificar cada vez que se realice la conexi´ n con: o ´ El indicador de ordenes que solicita el nombre de usuario. ´ El indicador de ordenes que solicita la contrase˜ a. n Si es necesario dar alguna instrucci´ n para lanzar el PPP en el servidor, hay que saber cuando el servidor o lo solicita. Si el servidor lanza autom´ ticamente PPP, una vez que se ingresa, aparecer´ en pantalla una cadena de a a caracteres extra˜ os, esto se debe a que el servidor env´a informaci´ n a la m´ quina sobre c´ mo configurar e n ı o a o iniciar la conexi´ n PPP. o Puede ser algo como: y}#.!}!}!} }8}!}}U}"}\&} } } } }}\& ...}’}"}(}"} .˜˜y} En muchos sistemas PPP debe ser expl´citamente lanzado en el servidor. Esto es bastante normal, porı que el servidor ha sido configurado para permitir ingresos PPP y de shell usando la misma pareja nombre/contrase˜ a. Si este es el caso, hay que dar la instrucci´ n una vez que se ha ingresado. De nuevo aparecer´ n n o a los caracteres extra˜ os en pantalla. n Si no se observan inmediatamente, presione Enter para verlos y lanzar PPP en el servidor. En este momento, puede colgarse el m´ dem (normalmente tecleando +++ r´ pidamente y entonces introo a duciendo la instrucci´ n ATH0 una vez que el m´ dem responda con OK). o o Si no puede hacerse funcionar el m´ dem, es conveniente leer el manual del m´ dem, las paginas del o o manual del software de comunicaciones y el Serial HOWTO. Una vez arreglado, comenzar de nuevo.

194

Caracter´sticas avanzadas ı

Utilizando servidores de Internet con direcciones IP din´ micas. Si se utilizan direcciones IP din´ mia a cas (y muchos proveedores de servicios lo har´ n a menos que pague m´ s por su conexi´ n), se deben conocer a a o las limitaciones impuestas. Lo primero, los servicios de salida funcionar´ n correctamente. Esto es, se puede enviar correo electr´ nico a o usando sendmail (configur´ ndolo correctamente claro), obtener ficheros de servidores ftp remotos, hacer a finger a usuarios en otras m´ quinas, navegar por la web, etc. a En particular, se puede responder correo electr´ nico que se haya bajado a la m´ quina mientras se est´ deso a a conectado. El mensaje permanecer´ en la cola de correo hasta que se establezca de nuevo conexi´ n con el a o ISP. Sin embargo, su m´ quina no est´ conectada a Internet 24 horas al d´a, ni tiene el mismo n´ mero IP cada a a ı u vez que se conecta, por lo que es imposible recibir directamente correo en dicha m´ quina y es muy dif´cil a ı poner a punto un servidor web o ftp al que sus amigos puedan acceder. En lo que concierne a Internet, su ´ m´ quina no existe como una unica, permanentemente conectada m´ quina, puesto que no posee una direcci´ n a a o ´ IP unica. ´ Si se levanta un WWW (u otro servidor), este es totalmente desconocido para cualquier usuario en Internet, salvo que sepan que su m´ quina est´ actualmente conectada y cual es su n´ mero IP. Hay varias formas a a u de obtener esta informaci´ n, desde llamarlos, enviarles un mensaje de correo o usar el fichero “.plan” en o una cuenta shell en su proveedor de servicios (suponiendo que el proveedor permita acceso mediante shell y finger). Para muchos usuarios, esto no es un problema, mucha gente lo que quiere es enviar y recibir correo electr´ nico (usando su cuenta en el proveedor de servicios) y conectarse a servidores WWW, ftp y otros. Si o necesita conexiones a servidores propios en su m´ quina, necesitar´ un n´ mero IP est´ tico. a a u a Ficheros de configuraci´ n de la conexi´ n PPP. Ahora es necesario entrar como root para crear los o o directorios y editar los ficheros necesarios para poner a punto PPP. PPP usa una serie de ficheros para realizar y configurar una conexi´ n PPP. Difieren en el nombre y la ubicaci´ n entre PPP 2.1.2 y 2.2. o o Para PPP 2.1.2 los ficheros son:
/usr/sbin/pppd /usr/sbin/ppp-on /usr/sbin/ppp-off /etc/ppp/options /etc/ppp/options.ttyXX # el binario PPP # el gui´ n de marcado/conexi´ n o o # el gui´ n de desconexi´ n o o # las opciones que pppd usa para todas las conexiones # las opciones espec´ficas para una conexi´ n en este puerto ı o

Para PPP 2.2 los ficheros son:
/usr/sbin/pppd /etc/ppp/scripts/ppp-on /etc/ppp/scripts/ppp-on-dialer /etc/ppp/scripts/ppp-off /etc/ppp/options /etc/ppp/options.ttyXX # el binario PPP # el gui´ n de marcado/conexi´ n o o # parte 1 del gui´ n de marcado o # el gui´ n de chat o # las opciones que pppd usa para todas las conexiones # las opciones espec´ficas para una conexi´ n en este puerto ı o

Los usuarios de Red Hat GNU/Linux deben notar que la instalaci´ n est´ ndar de Red Hat 4.X pone estos o a guiones en /usr/doc/PPP-2.2.0f-2/scripts. En el directorio /etc debe haber un directorio ppp: drwxrwxr-x 2 root root 1024 Oct 9 11:01 ppp

Si no existiese, debe crearse con estos propietarios y permisos. Si el directorio existiese ya, debe contener un fichero patr´ n de opciones llamado options.tpl. Este fichero o se incluye m´ s abajo en caso de que fuese necesario. a ´ Impr´malo ya que contiene explicaciones de casi todas las opciones de PPP (es util leerlo a la vez ı que la p´ gina del manual de pppd). Mientras puede utilizaarse este fichero como base para el fichero a /etc/ppp/options, es posiblemente mejor crear su propio fichero, que no incluya todos los comentarios del fichero patr´ n, este ser´ m´ s corto y f´ cil de leer y mantener. o ´ a a a Algunas distribuciones de PPP no incluyen el fichero options.tpl. Debe examinarse el documento PPPHOWTO de la versi´ n completa. o

Redes de conexi´ n telef´ nica y PPP o o

195

¿Qu´ opciones debo usar? Bueno, como en todo eso depende. Las opciones especificadas aqu´ deben e ı funcionar en muchos servidores. ´ Sin embargo, si no funcionase, LEA EL FICHERO PATRON (/etc/ppp/options.tpl) y las p´ ginas del a manual de pppd y pregunte a los administradores/usuarios que manejan el servidor al cual quiere conectarse. Hay que fijarse que los guiones de conexi´ n presentados aqu´ utilizan algunas opciones de la l´nea de o ı ı instrucciones para hacer las cosas un poco m´ s f´ ciles de cambiar. a a
# /etc/ppp/options (sin soporte PAP/CHAP) # # Evitar que pppd se bifurque al segundo plano # -detach # # utilizar las l´neas de control del m´dem ı o modem # usar bloqueos uupc para asegurarse del acceso exclusivo al dispositivo # serie lock # usar control de flujo por hardware crtscts # crear una ruta predeterminada para esta conexi´n en la tabla de o # enrutamiento defaultroute # No seleccionar ninguna secuencia de control ’’escapada’’ asyncmap 0 # utilizar un paquete de tama˜o m´ximo de transmisi´n de 552 bytes n a o mtu 552 # utilizar un paquete de tama˜o m´ximo de recepci´n de 552 bytes n a o mru 552 # #-------Fin del ejemplo /etc/ppp/options (sin soporte PAP/CHAP)--------------

Configurando la conexi´ n PPP manualmente. Una vez que se han creado los ficheros o /etc/ppp/options y /etc/resolv.conf (y, si es necesario, el fichero /etc/ppp/pap—chap-secrets), se pueden probar las opciones estableciendo manualmente una conexi´ n PPP. Una vez que funcione la conexi´ n manual, o o se automatizar´ el proceso. a Para hacer esto, el software de comunicaciones debe ser capaz de apagar SIN reiniciar el m´ dem. Minio com puede hacerlo con la sentencia Control - A Q Estar seguro de entrar como root. Lanzar el software de comunicaciones (como minicom), marcar el n´ mero del servidor y entrar. Si u necesita escribir una orden para lanzar el PPP en el servidor, h´ galo. Ahora ver´ los caracteres extra˜ os a a n que vimos antes. Si se utiliza PAP o CHAP, entonces la simple conexi´ n con el sistema remoto debe lanzar PPP en el o servidor remoto y se observar´ n los caracteres extra˜ os en pantalla sin ingresar (esto puede no funcionar a n en todos los servidores, puede funcionar si se presiona Enter). Ahora quite el software de comunicaciones sin apagar el m´ dem y teclee como root: o
# pppd -d /dev/ttyS0 38400 &

Poniendo, por supuesto, el nombre del dispositivo al que est´ conectado el m´ dem. e o La opci´ n -d permite la depuraci´ n, la conversaci´ n de comienzo de la conexi´ n PPP ser´ registrada o o o o a ´ en los ficheros de registro de su sistema, lo cual es muy util para rastrear problemas m´ s tarde. a Las luces del m´ dem deben parpadear si la conexi´ n PPP se establece. Para que se establezca la coneo o xi´ n son necesarios unos instantes. o

196

Caracter´sticas avanzadas ı

En este momento se puede mirar la interfaz PPP, con la instrucci´ n: o
# ifconfig

Adem´ s de alg´ n dispositivo Ethernet y loop back de los que se disponga, debe aparecer algo como: a u PPP0 Link encap:Point-Point Protocol inet addr:10.144.153.104 P-t-P:10.144.153.51 Mask:255.255.255.0 UP POINTOPOINT RUNNING MTU:552 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0

Donde inet addr:10.144.153.10 es el n´ mero IP del final del enlace. u P-t-P:10.144.153.5 es el n´ mero IP del SERVIDOR. u (Ifconfig no dar´ estas direccionesIP, sino las usados por su servidor PPP). Nota: ifconfig tambi´ n dice a e que la conexi´ n est´ hecha y funcionando. o a Ahora debe ser posible ver una ruta con el servidor (y m´ s all´ ). Para hacer esto se utiliza la instrucci´ n: a a o
# route -n

Debe obtenerse algo como:
Kernel routing table Destination Gateway 10.144.153.3 * 127.0.0.0 * 10.0.0.0 * default 10.144.153.3 Genmask 255.255.255.255 255.0.0.0 255.0.0.0 * Flags UH U U UG MSS 1500 3584 1500 1500 Window Use Iface 0 1 ppp0 0 11 lo 0 35 eth0 0 5 ppp0

Hay que notar que existen DOS entradas apuntando a la interfaz PPP. La primera es una ruta al HOST (indicada por la etiqueta H) y permite ver el host al que se conecta la m´ quina, pero no m´ s. a a La segunda es la ruta predeterminada (establecida con la opci´ n defaultroute dada a pppd). Esta es la ruta o que le dice a la m´ quina donde mandar los paquetes NO destinados a el/los ethernet(s) local/es, para los que a tenemos rutas de red espec´ficas. El servidor PPP es pues el responsable de encaminar nuestros paquetes en ı Internet y captar los paquetes de vuelta y hacerlos llegar a nuestra m´ quina. a Si no existe una tabla de rutas con dos entradas, algo est´ mal. En particular si el syslog muestra un a mensaje diciendo que pppd no est´ reemplazando una ruta existente por omisi´ n, entonces existe una ruta a o predeterminada apuntando al interfaz Ethernet, que debe ser reemplazada por una ruta de red espec´fica: ı ´ ¡SOLO SE PUEDE TENER UNA RUTA PREDETERMINADA! Debe explorarse el sistema de ficheros de inicializaci´ n para encontrar d´ nde se est´ a˜ adiendo esta ruta o o a n predeterminada debe contener una instrucci´ n con route add default ...). Hay que cambiar esto por algo como o route add net ... Ahora se puede probar la conexi´ n haciendo ’ping’ al n´ mero del servidor que se obtuvo con ifconfig, o u por ejemplo:
# ping 10.144.153.51

Debe recibirse una respuesta como:
PING 10.144.153.51 (10.144.153.51): 56 data bytes 64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7

ms ms ms ms

Redes de conexi´ n telef´ nica y PPP o o

197

Esta lista seguir´ gener´ ndose sin l´mite, para pararla presionar Control - C , al punto que se obtendr´ la a a ı a informaci´ n: o
--- 10.144.153.51 ping statistics --4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 170.7/219.2/328.3 ms

Ahora se puede intentar hacer ping a un host por su nombre (no al servidor de PPP) sino a otro que se conozca el nombre y se piense que debe estar funcionando. Por ejemplo:
# ping sunsite.unc.edu

En este momento debe haber una peque˜ a pausa, puesto que GNU/Linux est´ obteniendo el n´ mero IP del n a u servidor DNS especificado en /etc/resolv.conf, as´ que no hay que preocuparse (aunque las luces del m´ dem ı o deben parpadear). En breves instantes debe recibirse una respuesta como:
PING sunsite.unc.edu (152.2.254.81): 56 data bytes 64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6

ms ms ms ms ms

ı Una vez m´ s, se para la salida tecleando Control - C y se obtienen las estad´sticas... a
--- sunsite.unc.edu ping statistics --5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 169.8/176.3/190.1 ms

Si no se obtiene respuesta, debe hacerse ping a la direcci´ n IP del servidor DNS del ISP. Si dicho servidor o responde al ping, entonces debe existir un problema en /etc/resolv.conf. Si no funciona, existe un problema con la ruta o el ISP tiene problemas al devolver los paquetes. Debe comprobarse la tabla de rutas como se ense˜ o anteriormente y si todo est´ correcto debe contactarse con n´ a el ISP. Una buena comprobaci´ n del ISP es usar otro sistema operativo para conectarse. Si se puede ir m´ s o a all´ del ISP, el problema est´ aqu´. a a ı Si todo funciona, cerrar la conexi´ n tecleando: o
# ppp-off

Tras una breve pausa, el m´ dem debe colgar. o Si esto no funciona, puede o apagar el m´ dem o lanzar el software de comunicaciones e interrumpir el o m´ dem con +++ y entonces colgar con ATH0 cuando reciba el OK del m´ dem. o o Debe adem´ s limpiar el fichero de bloqueo creado por pppd, escribiendo: a
# rm -f /var/lock/LCK..ttySx

6.2.3.

Creando los guiones de conexi´ n o

Se puede seguir realizando la conexi´ n manualmente como hemos visto hasta ahora, pero es mucho m´ s o a elegante hacer algunos guiones que lo hagan autom´ ticamente. a Un conjunto de guiones automatiza la conexi´ n y lanza PPP, as´ que todo lo que debe hacerse (como root o ı o miembro del grupo PPP) es escribir una instrucci´ n para establecer la conexi´ n. o o ´ Si el ISP no exige usar PAP/CHAP, estos son los guiones: Si el paquete PPP est´ instalado correctamente, existen dos ficheros ejemplo. Para PPP 2.1.2 est´ n en a a /usr/sbin y para PPP 2.2 en /etc/ppp/scripts. Se llaman: para PPP-2.1.2

198

Caracter´sticas avanzadas ı

ppp-on ppp-off y para PPP-2.2 ppp-off ppp-on ppp-on-dialer Ahora bien, si se est´ utilizando PPP 2.1.2, es realmente urgente borrar los ficheros ejemplo. Hay problea mas potenciales con ellos, y no diga que funcionan bien, yo los he usado durante mucho tiempo tambi´ n (¡y e los recomend´ en la primera versi´ n de este HOWTO!). e o Para el beneficio de los usuarios de PPP 2.1.2, existen mejores versiones patr´ n, tomadas de la distribuci´ n o o PPP 2.2. Yo sugiero copiar y utilizar estos guiones en vez de los antiguos de PPP-2.1.2. El gui´ n ppp-on: o Este es el primero del PAR de guiones que realmente realizan la conexi´ n. o
#!/bin/sh # # Gui´n para iniciar una conexi´n PPP. Esta es la primera parte del o o # par de guiones. Este no es un par seguro de guiones porque los c´digos o # son visibles con la ordem ’ps’. Sin embargo es simple. # # ´stos son los par´metros. C´mbielos como los necesite. E a a TELEPHONE=555-1212 # El n´mero de telefono de la conexi´n. u o ACCOUNT=george # El n´mero de cuenta para entrar(en ’George Burns’) u PASSWORD=gracie # La contrase˜a para esta cuenta(y ’Gracie Allen’) n LOCAL_IP=0.0.0.0 # La direcci´n local si se sabe. Din´mica = 0.0.0.0 o a REMOTE_IP=0.0.0.0 # La direcci´n remota si se desea. Normalmente 0.0.0.0 o NETMASK=255.255.255.0 # La m´scara de red apropiada. a # # Se exportan para hacerlos disponibles a ’ppp-on-dialer’ export TELEPHONE ACCOUNT PASSWORD # # ´ste es el lugar donde se encuentra el gui´n que marca el tel´fono. E o e # Por favor, use el nombre absoluto porque la variable \$PATH no se usa # en la opci´n de conexi´n. (Hacer esto en una cuenta de ’root’ ser´a o o ı # un agujero de seguridad, as´ que no pregunte.) ı # DIALER_SCRIPT=/etc/ppp/ppp-on-dialer # # Iniciar la conexi´n o # # exec /usr/sbin/pppd debug /dev/ttySx 38400 \ \$LOCAL_IP:\$REMOTE_IP \ connect \$DIALER_SCRIPT

El gui´ n ppp-on-dialer: o
#!/bin/sh # # Esta es la parte 2 del gui´n ppp-on. Realizar´ el protocolo de conexi´n o a o # para la conexi´n deseada. o # /usr/sbin/chat -v \ TIMEOUT 3 \ ABORT ’\nBUSY\r’ \ ABORT ’\nNO ANSWER\r’ \

Redes de conexi´ n telef´ nica y PPP o o

199

ABORT ’’ ’OK-+++\c-OK’ TIMEOUT OK CONNECT ogin:--ogin: assword:

’\nRINGING\r\n\r\nRINGING\r’ \rAT ATH0 30 ATDT\$TELEPHONE ’’ \$ACCOUNT \$PASSWORD

\ \ \ \ \ \ \

Para ppp-2.2, el gui´ n ppp-off es como: o
#!/bin/sh ###################################################################### # # Determina el dispositivo a ser eliminado. # if [ "\$1" = "" ]; then DEVICE=ppp0 else DEVICE=\$1 fi

###################################################################### # # Si el fichero pid de ppp0 est´ presente, entonces el programa est´ ejecut´ndose. P´ral a a a a if [ -r /var/run/\$DEVICE.pid ]; then kill -INT ‘cat /var/run/\$DEVICE.pid‘ # # Si kill no funcion´ entonces no hay ning´n proceso ejecut´ndose para ´se o u a e # pid. Puede significar tambi´n que un fichero cerrojo se ha dejado suelto. Quiz´ desee e a # el fichero cerrojo al mismo tiempo. if [ ! "\$?" = "0" ]; then rm -f /var/run/\$DEVICE.pid echo "ERROR: fichero de bloqueo ya quitado" exit 1 fi # # ´xito. Dejar que pppd limpie su propia porquer´a. E ı echo "Enlace PPP a \$DEVICE finalizado." exit 0 fi # # El proceso PPP no est´ corriendo para ppp0 a echo "ERROR: El enlace PPP no est´ activo en \$DEVICE" a exit 1

6.2.4.

Editando los guiones de inicio de PPP suministrados

Como los guiones nuevos vienen separados en dos, los editaremos por turnos. El gui´ n ppp-on. Debe editarse el gui´ n ppp-on para poner SU nombre de usuario en su ISP, SU o o contrase˜ a (password) en su ISP y el n´ mero de tel´ fono del ISP. n u e Cada una de las l´neas como TELEPHONE= realmente actualizan variables del entorno que contienen la ı informaci´ n situada a la derecha del ’=’ (sin contar los comentarios por supuesto). Por tanto hay que editar o cada una de estas l´neas y comprobar si es correcta para su ISP y conexi´ n. ı o Tambi´ n, como se est´ configurando el n´ mero IP (si es necesario) en el fichero /etc/ppp/options, e a u ´ BORRESE la l´nea que incluye: ı

200

Caracter´sticas avanzadas ı

\$LOCAL_IP:\$REMOTE_IP \ Adem´ s, hay que asegurarse que la variable de entrono DIALER SCRIPT apunta al path completo y a nombre del gui´ n de marcado que realmente se va a usar. Por tanto si se ha movido o renombrado el gui´ n, o o hay que asegurarse de corregir la l´nea correspondiente del gui´ n ppp-on. ı o El gui´ n ppp-on-dialer. Este es el segundo gui´ n y es el que realmente establece la conexi´ n PPP. o o o Nota: un gui´ n chat est´ escrito normalmente en una sola l´nea, los separadores {} se utilizan para permitir o a ı la continuaci´ n de la l´nea en varias l´neas distintas y ser m´ s legibles por las personas, pero no forman parte o ı ı a del gui´ n. o ´ Sin embargo, es muy util verlo en detalle, para entender qu´ es lo que realmente (supuestamente) est´ pae a sando. Un gui´ n chat es una secuencia de parejas de “cadenas de espera” y “cadenas de env´o”. En particular, o ı n´ tese que SIEMPRE se espera alguna respuesta despu´ s de enviar algo. o e Si tenemos que enviar algo SIN recibir nada antes, debemos utilizar una cadena de espera vac´a (indicada ı por “”) y de forma similar para cuando esperamos recibir algo sin mandar nada. Tambi´ n, si una cadena e contiene varias palabras, (por ejemplo NO CARRIER), se debe entrecomillar, para que chat lo entienda como una sola entidad. La l´nea chat en nuestro ejemplo es: ı
exec /usr/sbin/chat -v

Invoca a chat, la opci´ n -v le dice a chat que copie TODAS sus E/S en los registros del sistema (normalo mente /var/log/messages). Una vez que est´ satisfecho del funcionamiento del gui´ n de chat, se puede editar e o esta l´nea y quitar el -v para evitar registros innecesarios en el syslog. ı
TIMEOUT 3

´ Establece el tiempo m´ ximo de respuesta del m´ dem en 3 segundos. Debe aumentarse a 5 o 10 segundos a o si se utiliza un m´ dem realmente lento. o
ABORT ’\nBUSY\r’

Si la cadena BUSY (ocupado) es recibida, se aborta la operaci´ n. o
ABORT ’\nNO ANSWER\r’

Si la cadena NO ANSWER (sin respuesta) es recibida, se aborta la operaci´ n. o
ABORT ’\nRINGING\r\n\r\nRINGING\r’

Si la cadena (repetida) RINGING (llamando) es recibida, se aborta la operaci´ n. ¡Esto es porque alguien o est´ llamando por tel´ fono! a e
" \rAT

No se espera respuesta del m´ dem y se env´a la cadena AT o ı
OK-+++\c-OK ATH0

Esta es un poco m´ s complicada y usa algunas de las capacidades de chat para recuperar errores. a ´ Lo que dice es: Espera OK, si NO es recibido (porque el m´ dem no est´ en modo de recibir ordenes), o a manda +++ (la cadena est´ ndar para un m´ dem compatible Hayes que pone el m´ dem en modo de recibir a o o ´ ordenes) y espera recibir OK. Entonces se env´a ATH0 (la cadena para colgar el m´ dem). Esto permite al ı o gui´ n protegerse de la situaci´ n en la que el m´ dem est´ encendido pero no da respuesta. o o o a
TIMEOUT 30

Redes de conexi´ n telef´ nica y PPP o o

201

Establece 30 segundos como el tiempo necesario para volver a lanzar el gui´ n. Si tiene problemas porque o se aborta el gui´ n de chat por el este tiempo muerto, aum´ ntelo a 45 segundos o m´ s. o e a
OK ATDT\$TELEPHONE

Espera el OK ( la respuesta del m´ dem a la orden ATH0) y marca el n´ mero de tel´ fono al que queremos o u e llamar.
CONNECT ’’

Espera CONNECT (que nuestro m´ dem env´a cuando el m´ dem remoto contesta) y no env´a nada. o ı o ı
ogin:--ogin: \$ACCOUNT

´ De nuevo, tenemos un problema. Esperamos el indicador de ordenes de registro (...ogin:) pero no hemos recibido nada por el tiempo muerto, entonces enviamos de nuevo respuesta y esperamos el indicador de ´ ´ ordenes de registro. Cuando se recibe el indicador de ordenes, enviamos el nombre de usuario (almacenado en la variable de entorno $ACCOUNT). 5
assword: \$PASSWORD

Esperamos que se solicite la contrase˜ a y se la enviamos (de nuevo almacenada en una variable de entorn no). Este gui´ n de chat tiene una capacidad razonable de recuperarse de errores. Chat tiene muchas m´ s o a caracter´sticas que las mostardas aqu´. Para m´ s informaci´ n consulte la p´ gina del manual de chat (man 8 ı ı a o a chat)6 .

6.2.5.

Iniciando PPP en el servidor

Mientras que el gui´ n ppp-on-dialer es bueno para servidores que lanzan el pppd del servidor cuano do se ingresa, algunos servidores requieren que se lance expl´citamente. ı Si es necesario incluir una instrucci´ n para lanzar PPP en el servidor, hay que editar el gui´ n ppp-ono o dialer. Al final del gui´ n (tras la l´nea con la contrase˜ a) hay que a˜ adir una pareja adicional de “cadenas de o ı n n espera y env´o”, que tienen un significado especial en el shell Bourne como: ı
\$[]

´ Una vez que chat encuentra el indicador de ordenes de shell, escribe la instrucci´ n necesaria para lanzar o PPP en el servidor PPP del ISP. ´ En un caso particular, el servidor utiliza el indicador est´ ndar del int´ rprete de ordenes Bash de a e GNU/Linux:
[hartr@kepler hartr]$

que necesita la respuesta
# PPP

para lanzar PPP en el servidor. Es una buena idea permitir un margen de error aqu´, para lo cual utilizar ı
hartr--hartr ppp
5 N. del T.: En la mayor´a de los ISP’s de Espa˜ a, esto no es necesario y debe comentarse, debido a que se usa autentificaci´ n PAP. ı n o Ver secci´ n PAP. o 6 N. del T.: En la mayor´a de los ISP de Espa˜ a, esto no es necesario y debe comentarse. Ver secci´ n PAP m´ s adelante. ı n o a

202

Caracter´sticas avanzadas ı

´ Que dice, si no recibimos el indicador de ordenes en el tiempo muerto, enviar un retorno de carro y esperar ´ el indicador de ordenes de nuevo. ´ Una vez que se recibe el indicador de ordenes, se env´a la cadena PPP. ı Nota: No olvidar poner un \ al final de la l´nea previa, para que chat piense que el gui´ n es una sola l´nea. ı o ı ´ Lamentablemente, algunos servidores producen un conjunto de indicador de ordenes muy diferentes. Es necesario conectarse varias veces usando minicom para entender que es lo que hace nuestro servidor y construir las cadenas de espera necesarias.

6.2.6.

Si el servidor usa PAP

Si el servidor al que se quiere conectar utiliza autenticaci´ n PAP o CHAP, ser´ necesario trabajar un poco o a m´ s 7 . a Al fichero de opciones anterior, hay que a˜ adir las l´neas: n ı
# # fuerza pppd a usar el nombre de usuario de tu ISP como nombre de host # durante el proceso de autenticaci´n o # name <nombre de usuario> # se tiene que editar esta l´nea. ı # # # En <nombre de usuario>, hay que poner el nombre con el que te identificas al # servidor, es decir, en mi caso reemplazo <nombre de usuario> por # anonimo@servidor # # Si se est´ ejecutando un *servidor* PPP y se necesita forzar PAP o CHAP a # descomentar la l´nea apropiada de las siguientes. NO USE ESTO si es un cliente ı # conect´ndose a un servidor PPP (incluso si usa PAP o CHAP) por que esto har´a a ı # que el SERVIDOR se autentique a s´ mismo a tu m´quina (lo que ciertamente ı a # no puede hacerse----y el enlace fallar´). a #+chap #+pap # # Si usa secretos ENCRIPTADOS en el fichero /etc/PPP/pap-secrets # entonces descomente la siguiente l´nea. ı # Nota: esto NO es lo mismo que usar contrase˜as encriptadas como en MS, ya que n # existe una opci´n llamada as´ en el acceso telef´nico de MS (RAS) en Windows NT. o ı o #+papcrypt

Uso de MSCHAP
Microsoft Windows NT RAS puede configurarse para utilizar una variante de CHAP (Challenge/Handshake Authentication Protocol). En las fuentes de PPP, puede encontrarse un fichero llamado README.MSCHAP80, que informa sobre esto. Puede averiguarse si el servidor solicita autenticaci´ n mediante o este protocolo, habilitando la depuraci´ n en pppd. Si el servidor est´ utilizando autenticaci´ n MS CHAP, o a o aparecer´ n l´neas como: a ı
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]

Donde la clave est´ en auth chap 80. a Para utilizar MS CHAP, hay que recompilar pppd con soporte para ello. Vea las instrucciones de README.MSCHAP80 en las fuentes de PPP con las instrucciones de compilaci´ n con esta variante. o
del T.: Si su servidor usa PAP, y los intentos de conexi´ n fallan mire si en el gui´ n de chat no ha comentado las l´neas correspono o ı dientes al login y password. Si no lo est´ n, com´ ntelas anteponiendo un # delante de las dos l´neas. La autentificaci´ n PAP requiere que a e ı o no se usen esas l´neas ya que la autentificaci´ n se hace mediante las opciones name nombre@servidor (en pppd) y el fichero pap-secrets. ı o Vea Un gui´ n para conexiones autentificadas PAP/CHAP para ver el aspecto del gui´ n de conexi´ n de chat m´ s adelante en este mismo o o o a texto.
7 N.

Redes de conexi´ n telef´ nica y PPP o o

203

Si est´ usando autenticaci´ n pap o chap, debe crearse el fichero “secrets”. Estos son 1) /etc/ppp/papa o secrets y 2) /etc/ppp/chap-secrets. 8 Deben pertenecer al usuario root, grupo root y tener permisos 740 por seguridad. El primer punto que hay que decir acerca de PAP y CHAP es que est´ n dise˜ ados para autentificar a n m´ quinas y no usuarios. En otras palabras, una vez que la m´ quina ha realizado su conexi´ n PPP al servidor, a a o CUALQUIER usuario en el sistema puede usar esa conexi´ n—no s´ lo usted. o o PAP puede (y para CHAP LO HACE) requerir autenticaci´ n bidireccional—´ sto es un nombre y cono e trase˜ a v´ lidos se requieren en cada computadora para la correspondiente computadora involucrada. Sin n a ´ embargo, esta no es la manera en la que la mayor´a de los servidores PPP que ofrecen conexiones telef´ nicas ı o PPP mediante autenticaci´ n PAP operan. o O lo que es lo mismo, su ISP probablemente le habr´ dado un nombre de usuario y contrase˜ a para a n permitirle conectar a sus sistemas y de all´ a Internet. Su ISP no est´ interesado para nada en el nombre de su ı a computadora. Esto se consigue utilizando el nombre de usuario que se pone en la opci´ n name que se le pasa o a pppd. As´ que si se quiere usar el nombre de usuario que le ha dado el ISP, a˜ ada la l´nea ı n ı name nombre nombre_usuario_en_el_ISP al fichero /etc/ppp/options. T´ cnicamente, se deber´a usar user usuario local nombre en el ISP para PAP, pero pppd es e ı suficientemente inteligente para interpretar el nombre como usuario si se requiere para usar PAP. La ventaja de usar la opci´ n “name” es que tambi´ n es v´ lida para CHAP. o e a Como PAP es para autenticar computadoras, t´ cnicamente se necesita especificar tambi´ n un nombre en e e ´ la computadora remota. Sin embargo, como mucha gente s´ lo tiene un unico ISP, se puede usar un comod´n o ı (*) para el host remoto en el fichero “secrets”. El fichero /etc/ppp/pap-secrets se asemeja a # Contrase˜as para autenticaci´n usando PAP n o # cliente servidor secreto direcciones IP locales aceptables ´ Los cuatro campos se delimitan por espacios en blanco, y el ultimo puede estar vac´o. (que es lo que se ı quiere para una adjudicaci´ n din´ mica o probablemente est´ tica de su direcci´ n IP por su ISP). o a a o Supuesto que su ISP le da el nombre de usuario “pedro” y la contrase˜ a “picapiedra” se deber´a poner n ı “name pedro” en el fichero /etc/ppp/options y poner el fichero /etc/ppp/pap-secrets como sigue: # Contrase˜as para autenticaci´n PAP n o # cliente servidor secreto direcciones IP locales aceptables pedro * picapiedra Esto dice para el nombre local de m´ quina pedro (al que le hemos dicho a pppd que use incluso si no es a nuestro nombre local) y por CUALQUIER servidor, que use la contrase˜ a picapiedra. n D´ se cuenta de que no se necesita especificar una direcci´ n IP local a no ser que queramos FORZAR e o una direcci´ n IP local particular est´ tica. Incluso si se intenta esto, es posible que no funcione en la mayor´a o a ı de servidores PPP (por razones de seguridad) puesto que no permiten que los sistemas remotos pongan la direcci´ n IP que ellos deseen que se les d´ . o e Esto requiere que se tengan m´ todos de autenticaci´ n mutua—esto es se debe permitir a la m´ quina local e o a identificar al servidor remoto y al servidor remoto identificar la m´ quina local. a As´ que si su m´ quina es pedro y la remota es pablo, su m´ quina deber´a poner “ name pedro remotename ı a a ı pablo” y la m´ quina remota deber´a poner “name pablo remotename pedro” en sus respectivos ficheros a ı /etc/ppp/options.ttySx Los ficheros /etc/ppp/chap-secrets para “pedro” deber´an parecerse a ı # Secretos para autentificarse mediante CHAP
8 N.

del T.: S´ lo es necesario uno de ellos dependiendo de si la autenticaci´ n es chap o pap. o o

204

Caracter´sticas avanzadas ı

# cliente pedro pablo y para pablo

servidor pablo pedro

secreto picapiedra wilma

direcciones IP locales aceptables

# Secretos para autentificarse mediante CHAP # cliente servidor secreto direcciones IP locales aceptables pablo pedro picapiedra pedro pablo wilma F´jese en particular que ambas m´ quinas deben tener entradas para autenticaci´ n bidirecional. Esto perı a o mite a la m´ quina local autentificarse ella misma a la remota Y a la m´ quina remota autentificarse ella misma a a a la m´ quina local. a Un gui´ n para conexiones autentificadas mediante PAP/CHAP Si su ISP usa PAP/CHAP, entonces o el gui´ n de chat es m´ s simple. Todo lo que necesita hacer el gui´ n es llamar al tel´ fono, esperar una conexi´ n o a o e o y dejar que pppd entre.
#!/bin/sh # # Esta es la segunda parte del gui´n ppp-on. Realizar´ el protocolo de conexi´n o a o # para el enlace # exec /usr/sbin/chat -v \ TIMEOUT 3 \ ABORT ’\nBUSY\r’ \ ABORT ’\nNO ANSWER\r’ \ ABORT ’\nRINGING\r\n\r\nRINGING\r’ \ ’’ \rAT \ ’OK-+++\c-OK’ ATH0 \ TIMEOUT 30 \ OK ATDT\$TELEPHONE \ CONNECT ’’ \

Como ya hemos visto, se puede activar la informaci´ n de debug en el log del sistema con la opci´ n -d a o o ´ pppd. La opci´ n “debug” es equivalente a esta. o A medida que establecemos una conexi´ n nueva con un gui´ n nuevo, deje la opci´ n debug activada por o o o ahora. (Cuidad´n: si el espacio de disco escasea, registrar los intercambios pppd puede hacer que el syslog ı crezca en demas´a y acabar con todo el espacio—pero para hacer esto debe fallar la conexi´ n y mantenerse ı o intent´ ndolo por unos minutos). a Una vez que se est´ satisfecho y todo est´ funcionando como es debido, entonces se puede quitar esta a e opci´ n. o
exec /usr/sbin/pppd debug file options.myserver /dev/ttyS0 38400 \

Probando el gui´ n de conexi´ n Abra un Xterm como root (si se est´ en X) o una consola virtual y o o a entre como root. En esta sesi´ n nueva, ejecute la siguiente orden: o
# tail -f /var/log/messages

Muchos sistemas registran la salida al fichero /var/log/messages. Si tiene un nombre diferente en el sistema, sustituya el nobre de fichero de registros del sistema en la orden de arriba. En la primera ventana (o consola virtual) ejecute la orden
# ppp-on &

Redes de conexi´ n telef´ nica y PPP o o

205

(o como quiera que haya nombrado su versi´ n editada de /usr/sbin/ppp-on). Si no puso el gui´ n o o en segundo plano especificando la opci´ n & al final de la orden, no se le devolver´ al indicador del sistema o a hasta que PPP termine (cuando el enlace finalice). Ahora cambie la ventana donde se est´ mostrando el registro del sistema. a Se ver´ entonces algo como lo siguiente (supongo que mantiene todav´a las opciones -v en chat y -d en a ı pppd). . . esto es el gui´ n de chat que es registrado con sus respuestas en el sistema por las opciones de inicio o de pppd:
Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 16:09:58 16:09:59 16:09:59 16:09:59 16:10:00 16:10:00 16:10:00 16:10:00 16:10:00 16:10:22 16:10:22 16:10:22 16:10:22 16:10:23 16:10:23 16:10:23 16:10:23 16:10:23 16:10:23 16:10:23 16:10:24 16:10:24 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: chat[19868]: pppd[19872]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: abort on (NO CARRIER) abort on (BUSY) send (ATZˆM) expect (OK) ATZˆMˆM OK -- got it send (ATDT722298ˆM) expect (CONNECT) ˆM ATDT722298ˆMˆM CONNECT -- got it send (ˆM) expect (ogin:) kepler login: -- got it send (hartrˆM) expect (ssword:) hartrˆM Password: -- got it send (??????ˆM) expect (hartr) [hartr -- got it send (PPPˆM) pppd 2.1.2 started by root, uid 0 Using interface PPP0 Connect: PPP0 <--> /dev/cua1 fsm_sdata(LCP): Sent code 1, id 1. LCP: sending Configure-Request, id 1 fsm_rconfreq(LCP): Rcvd id 1. lcp_reqci: rcvd MRU (1500) (ACK) lcp_reqci: rcvd ASYNCMAP (0) (ACK) lcp_reqci: rcvd MAGICNUMBER (a098b898) (ACK) lcp_reqci: rcvd PCOMPRESSION (ACK) lcp_reqci: rcvd ACCOMPRESSION (ACK) lcp_reqci: returning CONFACK. fsm_sdata(LCP): Sent code 2, id 1. fsm_rconfack(LCP): Rcvd id 1. fsm_sdata(IPCP): Sent code 1, id 1. IPCP: sending Configure-Request, id 1 fsm_rconfreq(IPCP): Rcvd id 1. ipcp: received ADDR (10.144.153.51)

206

Caracter´sticas avanzadas ı

Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct Oct

21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21

16:10:27 16:10:27 16:10:27 16:10:27 16:10:27 16:10:28 16:10:30 16:10:30 16:10:30 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31 16:10:31

hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin hwin

pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]:

(ACK) ipcp: received COMPRESSTYPE (45) (ACK) ipcp: returning Configure-ACK fsm_sdata(IPCP): Sent code 2, id fsm_sdata(IPCP): Sent code 1, id IPCP: sending Configure-Request, fsm_rconfreq(IPCP): Rcvd id 255. ipcp: received ADDR (10.144.153.51) (ACK) ipcp: received COMPRESSTYPE (45) (ACK) ipcp: returning Configure-ACK fsm_sdata(IPCP): Sent code 2, id fsm_rconfack(IPCP): Rcvd id 1. ipcp: up local IP address 10.144.153.104 remote IP address 10.144.153.51

1. 1. id 1

255.

´ (Nota— Se est´ usando DIRECCION IP ESTATICA— aqu´ mi m´ quina env´a la direcci´ n al servidor a ı a ı o ´ PPP— no ver´ esto si usa DIRECCION IP DINAMICA.) Adem´ s este servidor requiere una orden espec´fica a a ı para comenzar PPP por su parte. Parece una buena idea revisar como antes con pings a direcciones IP y nombres de host. Inicie el navegador web o lo que sea y a surfear—¡est´ conectado! a

6.2.7.

Desconexi´ n del enlace PPP o

Cuando se haya finalizado la conexi´ n PPP, debe utilizarse la orden est´ ndar ppp-off para cerrarla (hay o a que recordar que para hacer esto hay que ser root o miembro del grupo pppusers). En el registro del sistema se ver´ algo como: a
Oct Oct Oct Oct Oct Oct Oct 21 21 21 21 21 21 21 16:10:45 16:10:45 16:10:45 16:10:45 16:10:46 16:10:46 16:10:46 hwin hwin hwin hwin hwin hwin hwin pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: pppd[19873]: Interrupt received: terminating link ipcp: down default route ioctl(SIOCDELRT): Bad address fsm_sdata(LCP): Sent code 5, id 2. fsm_rtermack(LCP). Connection terminated. Exit.

No se preocupe aerca de SIOCDELRT—tan s´ lo es pppd d´ ndose cuenta de que est´ finalizando y no es nada o a a de lo que deba preocuparse.

6.2.8.

Resolviendo problemas comunes una vez que la conexi´ n funciona o

Un problema que se encontrar´ es que muchos proveedores de servicios, dar´ n soporte s´ lo al paquete de a a o ´ software que ellos mismos distribuyen. Este es t´picamente para Microsoft Windows y muchos proveedores ı de servicios parece que no conocen nada de Unix o GNU/Linux. Por tanto, hay que estar preparados para obtener asistencia muy limitada de ellos. Resoluci´ n de problemas de direccionamiento De acuerdo, la conexi´ n PPP est´ establecida y funo o a ciona correctamente y se puede hacer ping al servidor PPP mediante la direcci´ n IP (el segundo o n´ mero IP o u “remoto” que aparece con ifconfig ppp0), pero no se puede ir m´ s all´ . a a

Redes de conexi´ n telef´ nica y PPP o o

207

Antes que nada, hay que tratar de hacer ping a las direcciones IP especificadas en /etc/resolv.conf como ´ servidores de nombres. Si esto funciona se puede ir m´ s all´ del servidor PPP ( a menos que este tenga el a a mismo n´ mero IP que el IP “remoto” de la conexi´ n). Por tanto hay que tratar de hacer ping al nombre u o completo de Internet de su proveedor de servicios:
ping mi.isp.net

Poniendo, por supuesto, el nombre de su ISP real. Si esto no funciona, usted tiene un problema con la resoluci´ n de nombres. Esto es probablemente por una errata en el fichero /etc/resolv.conf. Compruebe o este fichero cuidadosamente, compar´ ndolo con la informaci´ n del fichero ejemplo /etc/resolv.conf a o de la Secci´ n 6.1.1. o Si esto no funciona (y el proveedor confirma que sus servidores de nombres est´ n funcionando), existe a un problema en alg´ n sitio, por lo que hay que comprobar cuidadosamente la instalaci´ n de GNU/Linux u o (comprobando expresamente los permisos de los ficheros). ¡Una posibilidad es que el servidor remoto sea un servidor GNU/Linux donde la opci´ n de reenv´o IP o ı (“IP forwarding”) no haya sido especificada en el n´ cleo!. u Inspeccionando un intento fallido (Debugging). Hay un buen n´ mero de razones por las que la coneu xi´ n puede no funcionar— que chat no haya finalizado correctamente, que se tenga una l´nea con ruido, etc. o ı As´ que revise los registros del sistema para m´ s indicaciones. ı a Un problema muy com´ n es que la gente compile el soporte PPP en el n´ cleo y cuando intentan ejecutar u u pppd, ¡el n´ cleo dice que no soporta PPP! Hay una serie de razones por las que esto puede ocurrir. u No se inici´ el n´ cleo nuevo que se compil´ con soporte PPP. o u o Se produjo un error al instalar el m´ dulo PPP que se compil´ . o o Se esperaba que los m´ dulos fuesen cargados autom´ ticamente y no lo son. o a Se est´ usando una versi´ n incorrecta de PPP para el n´ cleo. a o u No se ejecuta pppd como root. Se cometi´ una equivocaci´ n al escribir alg´ n gui´ n de inicio. o o u o No se inicia sesi´ n correctamente en el servidor. o No se inicia PPP en el servidor. EL proceso remoto de PPP es lento al empezar. La ruta por omisi´ n no est´ puesta. o a ¡Y un mont´ n de otros! Eche un vistazo al PPP FAQ (el cu´ l es realmente una serie de preguntas y o a respuestas). ¡Este es un documento f´ cil de entender, y las respuestas est´ n all´! Si las respuestas a sus a a ı preguntas no se encuentran all´, el problema no es un fallo de PPP. ı Obteniendo ayuda cuando se est´ totalmente atascado. Si no se es capaz de hacer funcionar el enlace a PPP, vuelva a trav´ s de este documento y rev´selo todo—junto con la salida creada por “chat -v” y “pppd -d” e ı el el registro del sistema. Tambi´ n consulte la documentaci´ n de PPP y el FAQ adem´ s de otros documentos mencionados aqu´. e o a ı Si todav´a est´ atascado, intente con los grupos de noticias comp.os.linux.misc y ı a comp.os.linux.networking que son regularmente visitados por gente que puede ayudarle, as´ como ı comp.protocols.ppp Si elige buscar en los grupos USENET, por favor no publique un mensaje muy largo consistiendo en la salida de debuging, Esto malgasta grandes cantidades de ancho de banda. Es mucho mejor describir el problema y quiz´ incluir unas pocas lineas de la salida de debugeo (definitivamente no m´ s de una pantalla). a a

208

Caracter´sticas Avanzadas ı

6.3. Red con UUCP
UUCP (UNIX-to-UNIX Copy) es un viejo mecanismo usado para transferir informaci´ n entre sistemas o Unix. Mediante UUCP, los sistemas Unix se comunican con otros (v´a m´ dem), transfiriendo mensajes de ı o correo, art´culos de noticias, ficheros y dem´ s. Si no tiene acceso TCP/IP o SLIP, puede usar UUCP para ı a comunicarse con el mundo. Casi todo el software de correo y noticias (ver Secciones 6.5 y 6.6) se puede configurar para usar transferencias UUCP. De hecho, si tiene alg´ n servidor Internet cercano, puede recibir u correo en su sistema de esa red mediante UUCP. El libro Linux Network Administrator’s Guide contiene informaci´ n completa para configurar y utilizar o UUCP en GNU/Linux. Tambi´ n encontrar´ informaci´ n en el documento UUCP-HOWTO, que puede obtener e a o por FTP an´ nimo de sunsite.unc.edu. Otra fuente de informaci´ n sobre UUCP es el libro Managing o o UUCP and USENET, de Tim O’Reilly y Grace Todino. Vea el ap´ ndice A para m´ s informaci´ n. e a o

6.4. Redes con sistemas Microsoft
Samba es un conjunto de programas que trabajan juntos para permitir a clientes el acceso a ficheros e impresoras de un servidor a trav´ s del protocolo SMB (Server Message Block). Escrito inicialmente para e Unix, Samba se ejecuta ahora tambi´ n en Netware, OS/2 y VMS. e En la pr´ ctica esto significa que se pueden redireccionar a GNU/Linuxdiscos e impresoras de clientes a Lan Manager, Windows 3.11, Windows NT, GNU/Linuxy OS/2. Esto permite a estos sistemas operativos comportarse como un servidor LAN o un servidor Windows NT, s´ lo que con funcionalidad y flexibilidad o a˜ adida para hacer la vida m´ s f´ cil para los administradores. n a a Samba: Integrando Unix y Windows contiene informaci´ n completa sobre la configuraci´ n y uso de Samo o ba en GNU/Linux. Las p´ ginas de Samba est´ n en http://samba.anu.edu.au/samba/ y el SMB HOWTO puede a a ser de ayuda tambi´ n. e

6.5.

Correo electr´ nico o

Como casi todos los UNIX, GNU/Linux dispone de paquetes de software para tener correo electr´ nico. o ´ Este puede ser tanto local (entre usuarios de su sistema) como remoto (entre usuarios de otras m´ quinas a o redes mediante una red TCP/IP o UUCP). El software de correo elect´ nico consta normalmente de dos o partes: un agente de usuario o mailer y un programa de transporte. El agente de usuario es el software que el usuario utiliza para crear mensajes, leerlos, etc. Podemos destacar aqu´ los programas elm y mailx. El ı programa de transporte es quien se ocupa de entregar correo tanto remoto como local, conociendo protocolos de comunicaciones y dem´ s. El usuario nunca interact´ a directamente con este programa, sino que lo hace a u a trav´ s del agente de usuario. Sin embargo, como administrador del sistema es importante que comprenda e c´ mo funciona el programa de transporte, con el fin de configurarlo seg´ n sus necesidades. o u En GNU/Linux, el m´ s conocido de los programas de transporte es sendmail. Es capaz de enviar a tanto correo local como remoto v´a UUCP o TCP/IP. Una alternativa a sendmail es Smail, que es menos ı complicado de configurar. En el documento Linux Mail HOWTO se expone m´ s informaci´ n sobre el software disponible para correo a o y c´ mo configurarlo. Si pretende tener correo remoto, necesitar´ entender los conceptos de TCP/IP o UUCP o a (seg´ n la red utilizada) (vea las secciones 6.1 y 6.3). Los documentos de UUCP y TCP/IP indicados en el u ap´ ndice A tambi´ n le ayudar´ n. e e a Casi todo el software de correo para GNU/Linux puede obtenerse mediante FTP an´ nimo de o sunsite.unc.edu en el directorio /pub/linux/system/Mail.

6.6. Noticias y Usenet
GNU/Linux proporciona tambi´ n una serie de facilidades para manejar las noticias. Puede elegir confie gurar un servidor de noticias local, que permitir´ a los usuarios enviar “art´culos” a los diversos “grupos” del a ı

Noticias y Usenet

209

sistema. . . una animada forma de discutir. Sin embargo, si tiene acceso a una red UUCP o TCP/IP, podr´ para ´ ticipar realmente en Usenet, una red de noticias de ambito mundial. En el software de noticias hay dos partes, el servidor y el cliente. El servidor de noticias es el software que controla los grupos de noticias y se ocupa de enviar los art´culos a otras m´ quinas (si estamos en una ı a red). El cliente, o lector de noticias, es el software que conecta al servidor para permitir que los usuarios lean y escriban art´culos. ı Hay varios tipos de servidores de noticias para GNU/Linux. Todos siguen un dise˜ o y esquema de proton colos parecido. Principalmente, tenemos los servidores “C News” e “INN”. En cuanto a clientes, destacamos rn y tin. La selecci´ n del cliente es m´ s o menos cuesti´ n de gustos. Todos los lectores de noticias trao a o bajar´ n igual de bien con versiones distintas del software del servidor, por tanto el lector de noticias es a independiente del servidor elegido y viceversa. Si s´ lo pretende leer y escribir art´culos localmente (no como parte de USENET), necesitar´ un servidor o ı a que corra en su sistema, as´ como el lector para los usuarios. El servidor guardar´ los art´culos en un directorio ı a ı como /usr/spool/news, y el lector se compilar´ para buscar los art´culos en ese directorio. a ı Sin embargo, si desea tener noticias en red, tendr´ ahora varias opciones m´ s. Para redes basadas en a a TCP/IP se usa el protocolo NNTP (Network News Transmision Protocol). NNTP permite al cliente leer los art´culos a trav´ s de la red, desde una m´ quina remota. NNTP tamb´ n permite a los servidores enviarse ı e a e art´culos por la red. En esto se basa USENET. Casi todas las empresas y universidades conectadas cuentan con ı uno o m´ s servidores NNTP para controlar todas las noticias USENET en ese lugar. Cualquier otra m´ quina a a de esa empresa o universidad tiene un lector de noticias para leer y enviar art´culos al servidor NNTP. Lo que ı quiere decir que en realidad s´ lo el servidor NNTP almacena los art´culos en disco. o ı Aqu´ tenemos algunos de los posibles marcos de configuraci´ n de las noticias. ı o Noticias locales. Es decir, no hay conexi´ n a red o no se desea tener noticias en red. En este caso, hay o que ejecutar C News o INN en su m´ quina, e instalar el lector para leer las noticias locales. a Con acceso a red TCP/IP y servidor NNTP. Si existe un servidor NNTP ya configurado, puede leer y escribir art´culos desde su m´ quina GNU/Linux instalando un lector basado en NNTP (casi todos ı a los lectores tienen opciones de configuraci´ n para leer noticias en NNTP). Por lo tanto, no necesita o preocuparse de instalar el servidor o guardar art´culos en su sistema. El lector se ocupar´ de enviarlos ı a a la red. Por supuesto, necesitar´ configurar TCP/IP y tener acceso a la red (vea la Secci´ n 6.1). a o Tiene acceso a la red TCP/IP pero no hay un servidor NNTP. En este caso, puede instalar un servidor NNTP en su sistema. Puede instalar un lector de noticias local o basado en NNTP, y el servidor almacenar´ art´culos en su sistema. Adem´ s, puede instalarlo para comunicarse con otros servidores NNTP a ı a para intercambiar art´culos. ı Desea transferir noticias con UUCP. Si tiene acceso a UUCP (ver la Secci´ n 6.3), puede participar en o USENET de la misma forma. Necesitar´ instalar un servidor de noticias (local) y un lector. Adem´ s a a necesitar´ configurar su software UUCP para transferir los art´culos peri´ dicamente a otra m´ quina a ı o a con UUCP (conocido como “proveedor de noticias”). En UUCP no se usa el protocolo NNTP, sino que posee su propio mecanismo para transferir art´culos. ı Muchos programas de noticias “est´ ndares” (disponibles por FTP an´ nimo en ftp.uu.net, dia o rectorio /news) podr´an no compilarse en GNU/Linux. Los parches que hagan falta se encuentran en ı sunsite.unc.edu, directorio /pub/linux/system/Mail (aqu´ se encuentra tambi´ n todo el softı e ware de correo para GNU/Linux). Pueden encontrarse tamb´ n versiones ya compiladas. e Para m´ s informaci´ n, l´ ase el documento Linux News HOWTO que encontrar´ en sunsite.unc.edu. a o e a El documento del LDP Linux Network Administrator’s Guide tambi´ n contiene informaci´ n completa soe o bre configuraci´ n del software de noticias para GNU/Linux. El libro Managing UUCP and Usenet, de Tim o O’Reilly y Grace Todino es una gu´a excelente para configurar el software de noticias y UUCP. Tambi´ n ı e es de inter´ s el documento “How to become a USENET site”, disponible en ftp.uu.net, directorio e /usenet/news.announce.newusers.

210

Caracter´sticas Avanzadas ı

Ap´ ndice A e

Fuentes de informaci´ n sobre o GNU/Linux en ingl´ s e
Este ap´ ndice contiene informaci´ n sobre varias fuentes de informaci´ n sobre GNU/Linux: documentos e o o en l´nea, libros y dem´ s. Muchos de estos documentos se encuentran tanto en forma impresa como electr´ niı a o camente en Internet o en sistemas BBS. Muchas distribuciones de GNU/Linux tambi´ n incluyen mucha de e esta documentaci´ n en la distribuci´ n misma, por lo que una vez que haya instalado GNU/Linux estos ficheo o ros pueden encontrarse ya presentes en su sistema.

Documentos en l´nea en ingl´ s ı e
Estos documentos deber´an estar disponibles en cualquiera de los sitios FTP con ficheros de GNU/Linux ı (vea el Ap´ ndice C para una lista). Si no tiene acceso directo a un FTP quiz´ pueda encontrar estos doe a cumentos en otros servicios en l´nea como CompuServe, BBSs locales y dem´ s. Si tiene acceso al correo ı a por Internet puede usar el servicio ftpmail para recibir estos documentos. Vea el Ap´ ndice C para mayor e informaci´ n. o Los siguientes documentos en particular pueden encontrarse en sunsite.unc.edu en el directorio /pub/Linux/docs. Existen r´ plicas de este directorio en muchos sitios; no obstante, si no encuentra e ´ ninguna r´ plica cerca de usted este es uno bueno por el que decidirse. e Las preguntas con respuesta m´ s frecuentes sobre GNU/Linux a La lista de preguntas m´ s frecuentes o ((FAQ)) es una lista de preguntas ¡y respuestas! comua nes sobre GNU/Linux. Con este documento se pretende ofrecer una fuente de informaci´ n o general sobre GNU/Linux, problemas comunes y soluciones as´ como una lista de otros ı recursos de informaci´ n. Todo nuevo usuario de GNU/Linux deber´a leer este documento. o ı Se encuentra disponible en numerosos formatos como ASCII plano, PostScript o HTML. La FAQ de GNU/Linux la mantiene Roert Kiesling, kiesling@terracom.net. La GNU/Linux META-FAQ La META-FAQ es una recopilaci´ n de ((metapreguntas)) sobre GNU/Linux; es decir, fueno tes de informaci´ n sobre el sistema GNU/Linux y otros temas generales. Es un buen punto o de partida para el usuario de Internet que desee encontrar m´ s informaci´ n sobre este sisa o tema. Se ocupa de ella Michael K. Johnson, johnsonm@sunsite.unc.edu. La GNU/Linux INFO-SHEET La [ GNU/Linux INFO-SHEET ] es una introducci´ n t´ cnica al sistema GNU/Linux. Se o e trata de una presentaci´ n general de las prestaciones del sistema y del software disponible, o y adem´ s incluye una lista con otras fuentes de informaci´ n sobre GNU/Linux. El formato a o y el contenido son similares en su naturaleza a la META-FAQ; casualmente tambi´ n la e mantiene Michael K. Johnson. 211

212

Ap´ ndice e

Linux Journal

Linux Journal pone a disposici´ n p´ blica en formato electr´ nico a trav´ s de su sitio web o u o e http://www.linuxjournal.com/ art´culos seleccionados de la revista (que se puı blica mensualmente). Los art´culos cubren materias para usuarios principiantes y avanzaı dos, incluyen prestaciones de GNU/Linux que se usan en el ((mundo real)) y art´culos y ı tablas en los que compara las distribuciones de GNU/Linux y a los que con frecuencia se hace referencia.

GNU/Linux Gazette Publicaci´ n en l´nea de car´ cter gratuito que puede encontrar en o ı a http://www.linuxgazette.com/, Linux Gazette ofrece respuestas y entretenimiento ((haciendo GNU/Linux algo m´ s divertido)). La gaceta la produce SSC, los a editores de Linux Journal. Puede ponerse en contacto con gazette@ssc.com para m´ s a informaci´ n. o GNU/Linux Resources GNU/Linux Resources (http://www.linuxresources.com/) cubre ((lo que es, d´ nde conseguirlo, c´ mo conseguir toda la informaci´ n que necesita para hacer que funo o o cione y mucho m´ s)). a El mapa de software GNU/Linux El mapa de software para GNU/Linux es una lista de aplicaciones disponibles para GNU/Linux, d´ nde conseguirlas, qui´ n las mantiene y dem´ s. Se encuentra lejos de eso e a tar completa. Compilar una lista completa del software existente para GNU/Linux ser´a ı pr´ cticamente imposible. No obstante, se incluyen muchos de los paquetes de software m´ s a a populares para GNU/Linux. Si no puede encontrar una aplicaci´ n en particular que cubra o ´ sus necesidades este es un buen lugar por el que comenzar. Lo mantiene Lars Wirzenius, lars.wirzenius@helsinki.fi. El ´ndice de HOWTOs sobre GNU/Linux ı Los HOWTOs de GNU/Linux son una recopilaci´ n de documentos, en cada uno de los o cuales se describe en detalle un cierto aspecto del sistema GNU/Linux. Los mantiene Matt Welsh mdw@sunsite.unc.edu. El HOWTO-Index lista los documentos HOWTO que hay disponibles. Otros documentos en l´nea ı Si se mueve por el subdirectorio docs de cualquier sitio FTP con GNU/Linux ver´ muchos a otros documentos que no se encuentran listados aqu´: un mont´ n de FAQs, experiencias ı o interesantes y otra informaci´ n importante. Esta miscel´ nea resulta dif´cil de categorizar o a ı ´ aqu´; si no ve lo que anda buscando en la lista de arriba echele un vistazo a uno de los sitios ı con fichero sobre GNU/Linux que se listan en el Ap´ ndice C. e

Introducci´ n al Linux Documentation Project o
El Linux Documentation Project (LDP) trabaja desarrollando documentaci´ n fidedigna y de calidad para o el sistema operativo GNU/Linux. El objetivo principal de los autores del LDP es el de escribir documentos en varios formatos que cubran la instalaci´ n, la configuraci´ n y el uso de GNU/Linux. El LDP produce documeno o tos en diferentes formatos: texto plano que puede leer en cualquier parte, p´ ginas HTML que puede leer con a cualquier navegador, p´ ginas de manual que pueden leerse en l´nea o en un libro y documentaci´ n que puede a ı o imprimirse y leerse en libros. El ((hogar)) del LDP es su p´ gina web, situada en http://www.tldp.orge a ´ incontables r´ plicas en http://www.tldp.org/mirrors.html. Este es el lugar donde buscar actuae lizaciones, noticias y algunos documentos que s´ lo est´ n publicados en la red. Algunos documentos que s´ lo o a o pueden encontrarse en Internet son:

Fuentes de informaci´ n sobre GNU/Linux o

213

Linux Gazette, una recopilaci´ n mensual de art´culos in´ ditos y cartas de usuarios de GNU/Linux de o ı e todo el mundo. The Linux Kernel Hackers’ Guide, un foro interactivo y moderado donde los desarrolladores del n´ cleo u de GNU/Linux conversan sobre temas relativos al desarrollo del n´ cleo. u COMOs especiales, documentos que se basan en cosas que no podr´an explicarse en versiones en texto ı plano. ´ Adem´ s de las p´ ginas web del LDP, este produce cuatro tipos b´ sicos de documentaci´ n: gu´as, HOWa a a o ı TOs y mini-HOWTOs, p´ ginas man y FAQs. a Gu´as ı Libros enteros sobre temas complejos. HOWTOs y mini HOWTOs Documentos en los que se cubre de una manera completa un tema bien definido o de una manera m´ s a sencilla alguna tarea concreta. p´ ginas man a Documentaci´ n para programas independientes, formatos de fichero y funciones de bibliotecas en el o formato est´ ndar de referencia UNIX. a FAQs Las preguntas m´ s frecuentes sobre varias materias, incluyendo la FAQ de GNU/Linux. a Si tiene alg´ n comentario sobre alg´ n documento en particular de los de esta serie m´ ndeselo al autor. Tou u a dos los documentos incluyen la direcci´ n de correo-e del autor para enviarle comentarios y, aunque los autores o no siempre tienen tiempo para responder, leen y tienen en consideraci´ n los comentarios considerados hacia o su trabajo. Sus comentarios ayudan a mejorar las nuevas versiones de estos documentos. Si tiene alg´ n cou mentario o sugerencia sobre el LDP en general puede enviar un mensaje a <feedback@en.tdlp.org>.

Libros y otras obras publicadas
Linux Journal es una revista mensual para y sobre la comunidad de GNU/Linux, escrita y producida por desarrolladores y entusiastas de GNU/Linux. Se distribuye en todo el mundo y es una excelente manera de mantenerse en contacto con la din´ mica del mundo de GNU/Linux, especialmente si no tiene acceso a las a noticias de USENET. En el momento de escribir esto las suscripciones a Linux Journal se encuentran entorno a los US$22/a˜ o n en los Estados Unidos, US$27 en Canad´ y US$37 en el resto del mundo. Para suscribirse, o para mayor infora maci´ n, escriba a Linux Journal, PO Box 55549, Seattle, WA, 98155-0549, USA, o llame al +1 206 782-7733, o o al n´ mero gratuito 1-888-66-Linux en Norteam´ rica. Su n´ mero de fax es el +1 206 782-7191 y la direcu e u ci´ n de correo-e es linux@ssc.com. Tambi´ n puede encontrar una FAQ sobre Linux Journal y art´culos de o e ı ejemplo por FTP an´ nimo en /pub/Linux/docs/linux-journal dentro de sunsite.unc.edu. o Como ya hemos dicho, no hay muchos libros publicados que hablen de GNU/Linux especificamente. De todos modos, si es nuevo en el mundo de UNIX o quiere m´ s informaci´ n de la que aqu´ se presenta le a o ı sugerimos que eche un vistazo a los siguientes libros.

T´tulos sobre GNU/Linux ı
T´tulo: ı Autor: Editor: ISBN: The Complete Linux Kit Stefan Strobel, Rainer Maurer, Stefan Middendorf, Volker Elling Springer Verlag, 1997 0387142371, $59.95

214

Ap´ ndice e

Descripci´ n del editor: esta obra de dos vol´ menes que incluye cuatro CD-ROMs incluye o u Linux Universe: Installation and Configuration y Linux: Unleashing the Workstation in Your PC. El primero es un libro/CD-ROM que incluye una versi´ n completamente instalable de o GNU/Linux 2.0 y gu´a de instalaci´ n detallada para instalar y administrar cualquier sistema ı o GNU/Linux junto con diferentes herramientas y aplicaciones GNU/Linux. T´tulo: ı Autor: Editor: ISBN: Linux: Installation, Configuration, and Use Michael Kofler Addison-Wesley, 1997 0201178095, $34.95

Descripci´ n del editor: una extensa gu´a pr´ ctica, en este libro se cubre la instalaci´ n, cono ı a o figuraci´ n y uso de GNU/Linux. Michael Kofler acompa˜ a a los lectores por la instalaci´ n, la o n o administraci´ n a un nivel sencillo y el uso del editor Emacs, el sistema de edici´ n de documentos o o LaTeX y el lenguaje de programaci´ n Tcl/Tk. El CD-ROM contiene RedHat GNU/Linux 4.1 y o las fuentes completas de los n´ cleos 2.0.29 y 2.1.28. u T´tulo: ı Autor: Editor: ISBN: GNU/Linux: Configuration and Installation (3rd Edition) Patrick Volkerding IDG Books, 1997 1558285660, $39.95

Resumen: Nuestro conjunto de 2 CD-ROMs ofrece una de las distribuciones m´ s populares a de GNU/Linux, Slackware 96, y viene directamente de Patrick Volkerding, el creador de Slackware. Le proporciona consejos no documentados y t´ cnicas instalar, usar y optimizar su sistema e GNU/Linux. T´tulo: ı Autor: Editor: ISBN: Linux in Plain English Patrick Volkerding, Kevin Reichard IDG Books, 1997 1558285423 , $19.95

´ Incluye listados detallados de todas las ordenes de GNU/Linux, cubriendo el conjunto de ´ ordenes GNU y la shell de GNU/Linux Bash, la manipulaci´ n de ficheros, el procesado de textos, o la impresi´ n, Internet, el FTP y la administraci´ n de sistemas. o o T´tulo: ı Autor: Editor: ISBN: Linux for Dummies (1st Ed) Craig Witherspoon, Coletta Witherspoon IDG Books, 1998 0764502751 , $24.99 Un libro para quienes comienzan en GNU/Linux T´tulo: ı Autor: Editor: Linux for Dummies Quick Reference Phil Hughes IDG Books, 1998

Fuentes de informaci´ n sobre GNU/Linux o

215

ISBN:

0764503022, $14.99

´ Descripci´ n del editor: Esta ((referencia r´ pida)) es una c´ moda gu´a para los ordenes y tareas o a o ı ´ de GNU/Linux m´ s comunes, poni´ ndose un especial enfasis en los editores de texto m´ s popua e a ´ lares, las interfaces de ventanas y los distintos sabores de GNU/Linux. El libro cubre las ordenes ´ ´ del int´ rprete, ordenes b´ sicas de scripting de shell y ordenes habituales en la administraci´ n y e a o las redes. T´tulo: ı Autor: Editor: ISBN: Discover Linux (1st Ed) Steve Oualline IDG Books, 1997 0764531050 , $24.99

Descripci´ n del editor: Los usuarios que conozcan UNIX y quieran aprender a usar o GNU/Linux encontrar´ n lo que necesitan saber en este t´tulo. Entre los diferentes tipos de p´ blia ı u cos se incluyen los programadores, los administradores de red, la gente que necesite una conexi´ n o sencilla a la Internet/Web, los usuarios que necesiten un cortafuegos seguro y los aficionados a los juegos. El CD-ROM incluye la popular distribuci´ n RedHat Linux 4.1 de una f´ cil instalao a ci´ n. o T´tulo: ı Autor: Editor: ISBN: Complete Red Hat Linux Resource Kit C/Dos/Us Obra colectiva Macmillan Digital, 1997 0672310570 , $64.99

Descripci´ n del editor: ¡Convierta su PC en una potente estaci´ n de trabajo UNIX! Red Hat o o GNU/Linux es la implementaci´ n m´ s activa del sistema operativo GNU/Linux. Esta recopilao a ci´ n incluye el software m´ s actual adem´ s de todo lo necesario para ejecutar el popular sistema o a a UNIX de 32 bits. Incluye la instalaci´ n m´ s sencilla de todos los sistemas GNU/Linux, m´ s de o a a 180 programas y un gestor RPM permiti´ ndole actualizar su software a nuevas versiones sin e reinstalar el sistema. Tambi´ n viene con el servidor web Apache, juegos y una gu´a de usuario e ı de 250 p´ ginas. a T´tulo: ı Autor: Editor: ISBN: Running Linux (2nd Edition) Matt Welsh, Lar Kaufman O’Reilly and Associates, 1996 1565921518 , $29.95

Descripci´ n del editor: Esta segunda edici´ n de Running Linux cubra todo lo que necesita o o para entender, instalar y comenzar a usar el sistema operativo GNU/Linux. Incluye un extenso tutorial de instalaci´ n, informaci´ n completa sobre el mantenimiento del sistema, herramientas o o para el desarrollo de documentos y programaci´ n. o T´tulo: ı Autor: Editor: The No B.S. Guide to Linux Bob Rankin No Starch Press, 1997

216

Ap´ ndice e

ISBN:

1886411042 , $34.95

Descripci´ n del editor: esta gu´a ofrece toda la informaci´ n que necesitan los nuevos usuarios o ı o sin abrumarles con lecciones de historia o detalles t´ cnicos. El formato de preguntas y respuestas e de esta gu´a permitea los lectores resolver sus problemas, descubrir trucos para la barra de tareas ı y diferentes atajos as´ como hacer la transici´ n al nuevo sistema lo m´ s fluida posible. ı o a T´tulo: ı Autor: Editor: ISBN: Linux Start-Up Guide : A Self-Contained Introduction Fred Hantelmann, A. Faber (Translator) Springer Verlag, 1997 354062676X , $28.00

Descripci´ n del editor: Esta descripci´ n sistem´ tica para principiantes, administradores de o o a sistemas y nuevos usuarios de GNU/Linux proporciona todos los detalles de la arquitectura del ´ sistema operativo, ordenes b´ sicas de GNU/Linux y los t´picos paquetes de desarrollo y aplicaa ı ciones.

Uso de UNIX
T´tulo: ı Autor: Editor: ISBN: Learning the UNIX Operating System Grace Todino & John Strang O’Reilly and Associates, 1987 0-937175-16-1, $9.00

Un buen libro introductorio para aprender el sistema operativo UNIX. La mayor´a de la ı informaci´ n deber´a poder aplicarse tambi´ n a GNU/Linux. Le sugiero que lea este libro si es o ı e nuevo en UNIX y desea realmente iniciarse usando su nuevo sistema. T´tulo: ı Autor: Editor: ISBN: Learning the vi Editor Linda Lamb O’Reilly and Associates, 1990 0-937175-67-6, $21.95

Este libro versa entorno al editor vi, un potente editor de textos que encontrar´ en todo sisa tema UNIX. A menudo es importante conocer y saber usar vi, porque no siempre tendr´ acceso a a un editor ((de verdad)) como Emacs. T´tulo: ı Autor: Editor: ISBN: VI Tutorial Belinda Frazier Specialized Systems Consultants 0-916151-54-9, $6.00

´ En este tutorial se proporcionan explicaciones de ejemplos de ordenes en vi. Aunque seg´ n u algunos usuarios veteranos de vi aprendieron algo nuevo la primera vez que leyeron el VI Tuto´ rial, este est´ dirigido a los usuarios principiantes o no muy avanzados de vi. a

Fuentes de informaci´ n sobre GNU/Linux o

217

T´tulo: ı Autor: Editor: ISBN:

Bourne Shell Tutorial Phil Hughes Specialized Systems Consultants 0-916151-39-5, $6.00

En este tutorial se explican las muchas capacidades de la shell del UNIX System V est´ ndar, a conocida habitualmente como la Shell Bourne. Se incluye una gu´a de referencia de 4 p´ ginas ı a ´ ´ con las ordenes integradas en la shell y un res´ men de 3 p´ ginas con algunas de las ordenes u a UNIX m´ s usadas. a

Administraci´ n de sistemas o
T´tulo: ı Autor: Editor: ISBN: Essential System Administration Æleen Frisch O’Reilly and Associates, 1991 0-937175-80-3, $29.95

Del cat´ logo de O’Reilly and Associates, ((Como cualquier otro sistema multiusuario, UNIX a requiere de especiales cuidados. Essential System Administration le informa de c´ mo llevarlos a o cabo. Este libro acaba con el mito y la confusi´ n entorno a este importante tema ofreci´ ndole una o e introducci´ n compacta y manejable a las tareas de las que ha de hacerse cargo cualquier persona o responsable de un sistema UNIX.)) Yo mismo no lo podr´a haber dicho mejor. ı T´tulo: ı Autor: Editor: ISBN: Samba: Integrating UNIX and Windows John D. Blair Specialized Systems Consultants 1-57831-006-7, $29.95

Samba es la herramienta elegida a la hora de ofrecer la posibilidad de poder compartir ficheros o servicios de impresi´ n con Windows desde sistemas UNIX o tipo UNIX. Disponible lio bremente bajo la Licencia P´ blica GNU, Samba permite integrar perfectamente m´ quinas UNIX u a en una red Windows sin necesidad de instalar software adicional en las m´ quinas con Windows. a Usado junto a GNU/Linux o FreeBSD, Samba ofrece una alternativa de bajo coste al NT Server para Windows. T´tulo: ı Autor: Editor: ISBN: TCP/IP Network Administration Craig Hunt O’Reilly and Associates, 1990 0-937175-82-X, $24.95

Completa gu´a para instalar y configurar una red TCP/IP. No siendo este libro espec´fico ı ı ´ sobre GNU/Linux, claramente el 90 % de el puede aplicarse a GNU/Linux. Acompa˜ ado del n GNU/Linux NET-2 HOWTO y Gu´a de administraci´ n de redes, se trata de un gran libro en el ı o que se discuten los conceptos y detalles t´ cnicos entorno a TCP/IP. e T´tulo: ı Autor: Managing UUCP and Usenet Tim O’Reilly and Grace Todino

218

Ap´ ndice e

Editor: ISBN:

O’Reilly and Associates, 1991 0-937175-93-5, $24.95

En este libro se nos habla de c´ mo instalar y configurar software para redes UUCP, incluo yendo la configuraci´ n de noticias USENET. Si est´ interesado en UUCP o en acceder a noticias o a USENET en su sistema no puede dejar de leer este libro.

El sistema X-Window
T´tulo: ı Autor: Editor: ISBN: The X Window System: A User’s Guide Niall Mansfield Addison-Wesley 0-201-51341-2, ??

Un completo tutorial y gu´a de referencia para usar el sistema X-Window. Si instal´ Xı o Window en su sistema GNU/Linux y quiere saber c´ mo sacarle el m´ ximo partido posible o a deber´a leer este libro. A diferencia de otros sistemas de ventanas, mucha de la potencia que ı proporciona X no resulta demasiado obvia a primera vista.

Programaci´ n o
T´tulo: ı Autor: Editor: ISBN: The C Programming Language Brian Kernighan and Dennis Ritchie Prentice-Hall, 1988 0-13-110362-8, $25.00

Este libro es toda una obligaci´ n para cualquier que desee programar en C en un sistema o UNIX (o, de hecho, en cualquier sistema). No siendo este libro espec´fico de UNIX de una ı manera demasiado ostensible puede aplicarse bastante bien a la programaci´ n en C bajo UNIX. o T´tulo: ı Autor: Editor: ISBN: The Unix Programming Environment Brian Kernighan and Bob Pike Prentice-Hall, 1984 0-13-937681-X, $40.00

Una descripci´ n de la programaci´ n bajo sistemas UNIX. Se cubren todas las herramientas o o involucradas trat´ ndose de una buena lectura el mundo de la programaci´ n, un tanto amorfo, en a o UNIX. T´tulo: ı Autor: Editor: ISBN: Advanced Programming in the UNIX Environment W. Richard Stevens Addison-Wesley 0-201-56317-7, $50.00

Esta voluminosa obra contiene todo lo que necesita saber para programar en UNIX a nivel del sistema: E/S de ficheros, control de procesos, comunicaci´ n entre procesos, se˜ ales, E/S de o n

Fuentes de informaci´ n sobre GNU/Linux o

219

terminales, las tareas. Este libro se enfoca en varios est´ ndares UNIX, incluido POSIX.1, al que a GNU/Linux se adhiere bastante.

´ Sobre el nucleo
T´tulo: ı Autor: Editor: ISBN: Inside Linux: A Look at Operating System Development Randolph Bentson Specialized Systems Consultants 0-916151-89-1, $22.00

Este libro nos presenta una introducci´ n informal a diferentes asuntos del entorno operativo o repasando la historia de los sistemas operativos, centr´ ndose en c´ mo se usan y en los detalles de a o uno de ellos. Los contenidos son fruto de un dedicado esfuerzo por trenzar la historia, la teor´a ı y la pr´ ctica de manera que el lector pueda ver con mayor claridad lo que sucede dentro del a sistema. T´tulo: ı Autor: Editor: ISBN: The Design of the UNIX Operating System Maurice J. Bach Prentice-Hall, 1986 0-13-201799-7, $70.00

Este libro cubre los algoritmos y las interioridades del n´ cleo de UNIX. No es espec´fico de u ı ning´ n n´ cleo en particular aunque se decanta m´ s por la rama System V. Se trata del mejor por u u a el que comenzar si quiere entender los engranajes internos del n´ cleo Linux. u T´tulo: ı Autor: Editor: ISBN: The Magic Garden Explained Berny Goodheart and James Cox Prentice-Hall, 1994 0-13-098138-9, $53.00

Este libro describe en detalle el n´ cleo de System V R4. A diferencia del libro de Bach, que u se centra sobretodo en los algoritmos que hacen funcionar al n´ cleo, en este libro se presenta la u implementaci´ n SVR4 a un nivel m´ s t´ cnico. Aunque Linux y SVR4 son s´ lo primos lejanos, o a e o este libro puede darle una visi´ n muy rica sobre el funcionamiento de la implementaci´ n de un o o n´ cleo UNIX real. Tambi´ n es un libro muy moderno sobre el n´ cleo UNIX, pues se public´ en u e u o 1.994. T´tulo: ı Autor: Editor: ISBN: Linux Kernel Internals Michael Beck Addison-Wesley, 1997 0201331438, $41.95 Un vistazo al n´ cleo y algunos detalles t´ cnicos sobre el n´ cleo Linux u e u

220

Ap´ ndice e

Ap´ ndice B e

El Proyecto de Documentaci´ n de Linux o en castellano
El Proyecto de Documentaci´ n de Linux es la secci´ n hispana del Linux Documentation Project. Actualo o mente se encarga de la traducci´ n al espa˜ ol de los documentos del LDP ingl´ s as´ como la elaboraci´ n de o n e ı o documentos propios en espa˜ ol. n Mucha de la informaci´ n presente en el LDP est´ traducida y puede encontrarse en la direcci´ n o a o http://www.es.tldp.org. Hay muchos m´ s documentos que est´ n sin traducir, as´ que se anima a a a ı todo el que quiera a participar en el proyecto. En el Proyecto de Documentaci´ n de Linux, los documentos correspondientes a los HOWTOs, minio HOWTOs y FAQs se denominan COMOS, mini-COMOs y PUFs (PregUntas Frecuentes).

El INSFLUG
Dentro del Proyecto de Documentaci´ n de Linux, el INSFLUG mantiene una biblioteca con los docuo mentos COMOs actualizados as´ como un ´ndice que los cataloga. Se puede acceder a los documentos del ı ı INSFLUG directamente por la p´ gina web siguiente: http://www.insflug.org a

P´ ginas del manual en castellano a
El grupo PAMELI es el que se encarga del mantenimiento de las p´ ginas del a manual en castellano. El servidor web de PAMELI se encuentra en la direcci´ n: o http://ditec.um.es/ piernas/manpages-es/ y tambi´ n est´ replicado en las m´ quinas e a a de tldp-es

Bibliograf´a en castellano ı
A continuaci´ n adjuntamos algunas direcciones de algunas editoriales donde encontrar libros en castellao no sobre GNU/Linux.

Direcciones web de editoriales
Anaya Multimedia http://www.anayamultimedia.es Osborne/McGraw Hill http://www.mcgraw-hil.es Prensa T´ cnica http://www.prensatecnica.com e Prentice Hall/Pearson http://www.pearsonedlatino.com Marcombo http://www.marcombo.es Paraninfo http://www.paraninfo.es 221

222

Ap´ ndice e

Publicaciones en castellano
´ A continuaci´ n se facilitan unas pocas referencias de los libros que pueden ser utiles. o T´tulo: ı Autor: Editor: ISBN: La Biblia de Red Hat Linux David Pitts Anaya Multimedia, 1999 84-415-0524-1, 37,86 t

Descripci´ n del editor: esta obra corresponde a la colecci´ n de libros t´ cnicos de Anaya y o o e viene con un CD con la distibuci´ n Red Hat o T´tulo: ı Autor: Editor: ISBN: Corel Linux Francisco Charte Ojeda Anaya, 2000 84-415-1047-4, 12,02 t Una gu´a pr´ ctica que se adjunta con un CD con la distribuci´ n Corel Linux ı a o T´tulo: ı Autor: Editor: ISBN: Unix. Sistema V Versi´ n 4 o Kenneth H. Rosen y otros Osborne/McGraw Hill, 1998 84-481-0969-4, 50 t

´ Este es un libro imprescindible. En el se explica todo sobre Unix a nivel de uso y administraci´ n. No es un libro espec´fico de un sistema concreto sino que habla de los diversos Unix en o ı uso actualmente, incluido Linux T´tulo: ı Autor: Editor: ISBN: Linux M´ xima Seguridad a An´ nimo o Prentice Hall/Pearson, 2000 84-8322-244-2, 48 t

Es un libro que trata sobre seguridad, y como todos los libros sobre seguridad tiende a quedarse r´ pidamente obsoleto. Incluye un CD con herramientas, lo cual est´ bien, y da una visi´ n a a o elemental acerca de las pol´ticas correctas de seguridad. Muy recomendable para los que se iniı cien en el tema T´tulo: ı Autor: Editor: ISBN: Linux. Utilizaci´ n: versi´ n 2.0 a 2.2 del n´ cleo o o u Bruno Guerin ENI, 2000 2-7460-0642-1, 18,70 t

Lo bueno de este libro es que trata de la multitud de programas en modo texto que podemos encontrar en GNU/Linux. Un tesoro para los amantes de la consola.

Fuentes de informaci´ n sobre GNU/Linux o

223

T´tulo: ı Autor: Editor: ISBN:

Sistemas Abiertos Luis J. Cearra Zabala Universidad Polit´ cnica de Madrid, 1998 e 84-87238-97-1, 12 t

Probablemente el mejor libro que se haya hecho para los que nunca hayan usado UNIX. El libro trata todos los aspectos m´ s importantes del uso de un sistema Unix, y est´ orientado a los a a alumnos que cursan el primer a˜ o de Ingenier´a Inform´ tica. Contiene tests para auto evaluar los n ı a ´ conocimientos que se adquieren a trav´ s de el. Lo malo del libro es que no contine ni una sola e ´ ´ l´nea acerca de administraci´ n del sistema ni sobre las X. Todo el trata sobre la l´nea de ordenes, ı o ı desde las m´ s b´ sicas hasta la edici´ n de scripts con expresiones regulares a a o

Prensa especializada
Existen algunas revistas que con car´ cter mensual aparecen a la venta. Unos ejemplos: a Linux actual S´ lo Linux o

224

Ap´ ndice e

Ap´ ndice C e

Tutorial FTP y lista de sitios de r´ plica e
El Protocolo de Transferencia de Ficheros (FTP, File Transfer Protocol) es un conjunto de programas utilizados para transferir ficheros entre sistemas en Internet. la mayor´a de los sistemas Unix, VMS y MSı DOS en Internet tienen un programa llamado ftp que se usa para transferir estos ficheros, y si se tiene acceso a Internet, la mejor forma de descargar software para GNU/Linux es usando ftp. Este ap´ ndice cubre el uso e b´ sico de ftp. —Por supuesto, hay muchas m´ s funciones y usos de ftp que los que aqu´ se dan. a a ı Al final de este ap´ ndice hay una lista de los sitios FTP donde puede encontrarse software GNU/Linux. e Tambi´ n, si no se posee acceso directo a Internet, pero se puede intercambiar correo electr´ nico con Internet, e o se incluye informaci´ n acerca del uso de ftpmail m´ s abajo. o a Si est´ usando un sistema MS-DOS, Unix o VMS para descargar ficheros desde Internet, entonces ftp a ´ es un programa de ordenes. Sin embargo, hay otras implementaciones de ftp por ah´ fuera, como la versi´ n ı o de Macintosh (llamada Fetch) con un interfaz de men´ s muy sencillo, que es auto-explicativo. Incluso si u ´ no est´ usando la versi´ n de l´nea de ordenes de ftp, la informaci´ n que se da aqu´ deber´a ayudar. a o ı o ı ı ftp puede usarse tanto para subir (enviar) como para bajar (recibir) ficheros desde otros sitios de Internet. En muchas situaciones, se va a estar descargando software. En Internet hay un gran n´ mero de sitios FTP u disponibles para uso p´ blico, m´ quinas que permiten a cualquiera conectarse mediante ftp a ellas y desu a cargar software libre. Uno de estos grandes ficheros de Internet es sunsite.unc.edu, el cu´ l tiene un mont´ n a o de software de Sun Microsystems, y act´ a como uno de los principales sitios de GNU/Linux. En adici´ n, u o muchos sitios FTP hacen r´ plica del software que otros tienen, —esto es, que el software subido a un sitio e ser´ autom´ ticamente copiado en otros sitios distintos. No se sorprenda si ve una copia exacta de los mismos a a ficheros en dos sitios de fichero diferentes.

Iniciando una transferencia ftp
Note que en el ejemplo “screens” impreso debajo s´ lo se muestra la informaci´ n m´ s importantem y que o o a ´ lo que vea usted puede diferir. Tambi´ n ordenes en it´ licas representan ordenes que usted teclea; lo dem´ s es e ´ a a la salida de la pantalla. Para empezar el ftp y conectarse a un sitio, simplemente use la orden
ftp hostname

donde hostname es el nombre del sitio al que se est´ conectando. Por ejemplo, para conectarse al sitio m´tico a ı shoop.vpizza.com podemos usar la orden
ftp shoop.vpizza.com

Identific´ ndose a
Cuando ftp comienza se ver´ algo parecido a esto: a 225

226

Ap´ ndice e

Connected to shoop.vpizza.com. 220 Shoop.vpizza.com FTPD ready at 15 Dec 1992 08:20:42 EDT Name (shoop.vpizza.com:mdw):

Aqu´, ftp est´ pregunt´ ndonos para que le demos el nombre de usuario con el que queremos entrar en ı a a shoop.vpizza.com. El predeterminado aqu´ es mdw, que es mi nombre de usuario en el sistema desde el ı que estoy usando el FTP. Dado que no tengo una cuenta en shoop.vpizza.com no puedo entrar como yo mismo. En cambio para acceder al software disponible al p´ blico en un sitio FTP, se entra como anonymous, u y se da la direcci´ n de correo electr´ nico (si tiene una) como contrase˜ a. As´ que, deber´a teclear: o o n ı ı
Name (shoop.vpizza.com:mdw): anonymous 331-Guest login ok, send e-mail address as password. Password: mdw@sunsite.unc.edu 230- Welcome to shoop.vpizza.com. 230- Virtual Pizza Delivery[tm]: Download pizza in 30 cycles or less 230- or you get it FREE! ftp>

Desdee luego, deber´a dar su direcci´ n de correo electr´ nico en vez de la m´a, y no se har´ eco a la pantalla ı o o ı a mientras la escribe (al fin y al cabo es t´ cnicamente una “contrase˜ a”). El ftp deber´a permitirnos la entrada e n ı y estar´amos dispuestos a descargar software. ı

Viendo qu´ hay por ah´ e ı
´ ´ Bien,estamos dentro. Nuestro indicador de ordenes es ftp>, y el programa ftp est´ esperando ordenes. a ´ ´ Hay unos pocos ordenes que se necesitan saber: Primero, los ordenes
ls file

y
dir file

ambos dan listados de ficheros (donde file es un argumento opcional especificando un nombre particular de fichero a listar). La diferencia es que ls normalmente da un listado corto y dir da un listado m´ s largo (que a es con m´ s informaci´ n acerca de los tama˜ os de los ficheros, fechas de modificaci´ n, y esas cosas). a o n o La orden
cd directory

nos situar´ en el directorio dado (de lamisma forma que la orden cd en Unix o MS-DOS). Se puede usar la a orden
cdup

para cambiar al directorio padre1 . La orden
help command

dar´ ayuda acerca de un comando ftp (como ls o cd). Si no se especifica ning´ n comando, ftp listar´ toa u a ´ dos los ordenes disponibles. Si tecleamos dir en este punto veremos un directorio inicial listando donde estamos.
ftp>dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 1337
1 El

directorio encima del actual.

Tutorial FTP y lista de sitios de r´ plica e

227

dr-xr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 19 root drwxrwx-wx 4 root drwxr-xr-x 3 root 226 Transfer complete.

wheel wheel wheel wheel ftp-admi wheel

512 512 512 1024 1024 512

Aug Aug Jan Jan Feb Mar

13 13 25 27 6 11

13:55 13:58 17:35 21:39 22:10 1992

bin dev etc pub uploads usr

921 bytes received in 0.24 seconds (3.7 Kbytes/s) ftp>

Cada una de estas entradas es un directorio, no un fichero individual que podamos descargar (especificado por la d en la primera columna de la lista). En la mayor´a de los sitios de fichero FTP, el software disponible ı p´ blicamente est´ bajo el directorio /pub , as´ que vamos all´. u a ı ı
ftp>cd pub ftp>dir 200 PORT command successful. 150 ASCII data connection for /bin/ls (128.84.181.1,4525) (0 bytes). total 846

-rw-r--r--r--r--r--rw-r--r--r--r--r--rw-r--r--rw-r--r--rw-rw-rw-r--r--r--rw-r--r-drwxr-xr-x -rw-r--r--

1 1 1 1 1 1 1 1 1 2 1

root 3807 539 65534 root 432 615 root root 2195 root

staff staff staff 65534 other staff staff wheel staff staff staff

1433 15586 52664 56456 2013041 41831 50315 12168 7035 512 5593

Jul May Feb Dec Jul Jan Apr Dec Aug Mar Jul

12 1988 README 13 1991 US-DOMAIN.TXT.2 20 1991 altenergy.avail 17 1990 ataxx.tar.Z 3 1991 gesyps.tar.Z 30 1989 gnexe.arc 16 1992 linpack.tar.Z 25 1990 localtime.o 27 1986 manualslist.tblms 10 00:48 mdw 19 1988 t.out.h

226 ASCII Transfer complete. 2443 bytes received in 0.35 seconds (6.8 Kbytes/s) ftp>

Aqu´ podemos ver un n´ mero de (interesantes?) ficheros, uno de los cuales se llama README, el cual ı u deberemos descargar (muchos sitios FTP tienen un README en el directorio /pub).

Descarga de ficheros
Antes de descargar ficheros, hay unas pocas cosas que necesitas tener en cuenta. Activar la impresi´ n de marcas hash. Las marcas hash se imprimen en la pantalla cuando los ficheros o est´ n transfiri´ ndose. Permiten saber cuanto le falta a la transmisi´ n y que la conexi´ n no se ha colgado a e o o (as´ que no se sentar´ por 20 minutos, pensando que todav´a est´ descargando un fichero). En general ı a ı a una marca hash aparece como un signo de celdilla (#), y se imprime una por cada 1024 o 8192 bytes transferidos, dependiendo del sistema. Para activar el marcado hash, teclee la orden hash.
ftp>hash Hash mark printing on (8192 bytes/hash mark). ftp>

228

Ap´ ndice e

Determinar el tipo de fichero que se est´ descargando. Tan lejos como el FTP nos concierne, los a ficheros se dividen en dos sabores: binarios y texto. La mayor´a de los ficheros que se descargan son ı binarios, esto es programas, ficheros comprimidos, ficheros archivados, etc. Sin embargo, muchos ficheros (como los README) son ficheros de texto. ¿Por qu´ el tipo de fichero importa? S´ lo porque en algunos sistemas (como MS-DOS), ciertos cae o racteres en los ficheros de texto, como los retornos de carro, necesitan ser convertidos para que el fichero se pueda leer. Cuando se transfiere en modo binario, no se hace ninguna conversi´ n—el fichero o simplemente se transfiere byte a byte. ´ Las ordenes bin y ascii seleccionan el modo de transferencia binario y texto, respectivamente. Cuando tenga dudas, siempre use el modo binario para transferir ficheros Si intenta transferir un fichero binario como texto, corromper´ el fichero y ser´ inutilizable. (Esta es una de las equivocaciones a a m´ s frecuentes que se cometen cuando se realiza un FTP) Sin embargo puede usarse el modo texto a para transferir ficheros de texto. (cuyo nombre de fichero usualmente termina en .txt). Para nuestro ejemplo, vamos a descargar el fichero /tt README, que es un fichero de texto, as´ que ı usamos la orden
ftp>ascii 200 Type set to A. ftp>

Seleccionar el directorio local. Su directorio local es el directorio en su sistema donde quiere que los ficheros descargados se almacenen. Mientras que la orden cd cambia el directorio remoto (en la m´ quina remota a la que se est´ haciendo FTP), la orden lcd cambia el directorio local. a a Por ejemplo, para seleccionar el directorio local a /home/db/mdv/tmp, utilice la orden
ftp>lcd /home/db/mdw/tmp Local directory now /home/db/mdw/tmp ftp>

Ahora est´ preparado para descargar el fichero. El comando a
get nombre-remoto nombre-local

se usa para esto, donde nombre-remoto es el nombre del fichero enla m´ quina remota, y nombre-local es el a nombre that you wish to give the file on your local machine. The que usted desea dar al fichero en su m´ quina a local. El argumento nombre-local es opcional, por defecto el nombre de fichero local es el mismo que el nombre remoto. Sin embargo, si por ejemplo est´ s descargando el fichero README, y ya existe otro fichero con el mismo nombre a en el directorio local, quiz´ quieras darle un nombre diferente al nombre-local para que as´ el primero no sea a ı sobreescrito. En nuestro ejemplo, para descargar el fichero README, simplemente usamos
ftp>get README 200 PORT command successful. 150 ASCII data connection for README (128.84.181.1,4527) (1433 bytes). # 226 ASCII Transfer complete. local: README remote: README 1493 bytes received in 0.03 seconds (49 Kbytes/s) ftp>

Terminando la transferencia FTP
para finalizar la sesi´ n FTP, simplemente ejecuta la orden o

Tutorial FTP y lista de sitios de r´ plica e

229

quit

La orden
close

puede ser usada para cerrar la conexi´ n con el servidor FTP actual; la orden open puede usarse entonces o para comenzar una sesi´ n con otro sitio (sin quitar el programa FTP, todo junto). o
ftp>close 221 Goodbye. ftp>quit

Utilizaci´ n de ftpmail o
ftpmail es un servicio que permite obtener ficheros de un sitio FTP por correo electr´ nico. Si no se o tiene un acceso directo a Internet, pero es capaz de enviar correo electr´ nico a Internet (desde un servicio o como CompuServe, por ejemplo), ftpmail es una buena forma de obtener ficheros de sitios FTP. Desafortunadamente, ftpmail puede ser lento, especialmente cuando se trata de tareas grandes. Antes de intentar descargar grandes cantidades de software usando ftpmail, aseg´ rese de que su cola de correo (mail spool) u es capaz de manejar el tr´ fico de intrada. Muchos sistemas mantienen cuotas al correo electronico entrante, y a quiz´ s borren su cuenta si su correo sobrepasa su cuota. Tan s´ lo use el sentido com´ n. a o u sunsite.unc.edu, uno de los mayores servidores FTP dedicados a GNU/Linux dispone de un servidor ftpmail. Para usar este servicio, se env´a un correo a ı
ftpmail@sunsite.unc.edu

con un cuerpo de mensaje conteniendo solo la palabra:
help

´ Esto enviar´ de vuelta una lista de ordenes ftpmail y un breve tutorial acerca del uso del sistema. a Por ejemplo, para obtener una lista de los ficheros GNU/Linux que se encuentran en sunsite.unc.edu, se env´a un mensaje a la direcci´ n de arriba conteniendo el texto: ı o
open sunsite.unc.edu cd /pub/GNU/Linux dir quit

Puede usar el servicio ftpmail para conectar a cualquier servidor FTP; no est´ limitado a a sunsite.unc.edu. La siguiente secci´ n lista un numero de servidores de ficheros GNU/Linux por FTP. o

Lista de servidores FTP de GNU/Linux
La tabla en la p´ gina 230 es un listado de los m´ s conocidos servidores de ficheros FTP que contienen a a ´ software para GNU/Linux. Tenga en cuenta que muchos otros sitios son r´ plicas de estos, y haba m´ s que e a tengan software GNU/Linux que no se encuentren en esta lista. tsx-11.mit.edu, sunsite.unc.edu, y nic.funet.fi son los “home sites” para el software GNU/Linux, donde la mayor´a del software nuevo se sube. La mayor´a de los sitios de esta lista hacen mirror ı ı de una combinaci´ n de estos tres. Para reducir el tr´ fico de red, elige un sitio que est´ geogr´ ficamente m´ s o a e a a cerca de ti.

230

Ap´ ndice e

Site Name tsx-11.mit.edu sunsite.unc.edu nic.funet.fi ftp.mcc.ac.uk fgb1.fgb.mw.tu-muenchen.de ftp.informatik.tu-muenchen.de ftp.dfv.rwth-aachen.de ftp.informatik.rwth-aachen.de ftp.ibp.fr kirk.bu.oz.au ftp.uu.net wuarchive.wustl.edu ftp.win.tue.nl ftp.ibr.cs.tu-bs.de ftp.denet.dk

IP Address 18.172.1.2 152.2.22.81 128.214.6.100 130.88.200.7 129.187.200.1 131.159.0.110 137.226.4.105 137.226.112.172 132.227.60.2 131.244.1.1 137.39.1.9 128.252.135.4 131.155.70.100 134.169.34.15 129.142.6.74

Directory /pub/Linux /pub/Linux /pub/OS/linux /pub/linux /pub/linux /pub/Linux /pub/linux /pub/Linux /pub/linux /pub/OS/Linux /systems/unix/linux /systems/linux /pub/linux /pub/os/linux /pub/OS/linux

Cuadro C.1: Servidores FTP de GNU/Linux

Ap´ ndice D e

Obtener una distribuci´ n por correo o postal
Las distribuciones de GNU/Linux normalmente se pueden descargar desde Internet. Sin embargo, debido a que muchos de los usuarios de GNU/Linux hispanos no disponen de una conexi´ n de alta velocidad RDSI o o xDSL, se proporcionan aqu´ algunos distribuidores de GNU/Linux que pueden enviarle una distribuci´ n por ı o correo postal.

˜ Distribuidores en Espana
A continuaci´ n se adjuntan algunos lugares en Espa˜ a donde env´an distribuciones por correo: o n ı La p´ gina de distribuciones de TLDP-ES es la principal referencia en Espa˜ a. La direcci´ n es la sia n o guiente http://lucas.hispalinux.es/htmls/distribuidores.html Asociaci´ n Inform´ tica Abierta http://www.abierta.org o a Free Software 4 Everybody http://www.simotril.com/fs43 Ciberdroide Inform´ tica http://www.ciberdroide.com a OpenCD http://www.opencd.com

Distribuidores en Hispanoam´ rica e
´ RUEGO ENCARECIDAMENTE ME HAGAN LLEGAR INFORMACION ACERCA DE ESTE PUNTO ´ FINAL PARA INCLUIRLA EN LA EDICION

231

232

Ap´ ndice e

Ap´ ndice E e

The GNU General Public License
Printed below is the GNU General Public License (the GPL or copyleft), under which Linux is licensed. It is reproduced here to clear up some of the confusion about Linux’s copyright status—Linux is not shareware, and it is not in the public domain. The bulk of the Linux kernel is copyright c 1993 by Linus Torvalds, and other software and parts of the kernel are copyrighted by their authors. Thus, Linux is copyrighted, however, you may redistribute it under the terms of the GPL printed below.

GNU GENERAL PUBLIC LICENSE
Version 2, June 1991 Copyright c 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. P REAMBLE The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software– to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation’s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author’s protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors’ reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all.

233

234

Appendix

The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification”.) Each licensee is addressed as “you”. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

The GNU General Public License

235

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machinereadable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

236

Appendix

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and “any later version”, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The GNU General Public License

237

END OF TERMS AND CONDITIONS A PPENDIX : H OW TO A PPLY T HESE T ERMS TO YOUR N EW P ROGRAMS If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found. one line to give the program’s name and a brief idea of what it does. Copyright c 19yy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type ‘show w’. This is free software, and you are welcome to redistribute it under certain conditions; type ‘show c’ for details.

The hypothetical commands ‘show w’ and ‘show c’ should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than ‘show w’ and ‘show c’; they could even be mouse-clicks or menu items–whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a “copyright disclaimer” for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program ‘Gnomovision’ (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

´ Indice alfab´ tico e
*, 111 .bash profile, 131 .bashrc, 131 .profile, 131 .tcshrc, 132 / en nombres de ruta, 98 nombre del directorio ra´z, 98 ı /Image, 134 /bin/bash, 110 /bin/csh, 110 /bin/sh, 110 /bin/tcsh, 110 /dev/console, 108 /dev/cua, 108 /dev/hd, 108 /dev/lp, 108 /dev/null, 108 /dev/pty, 108 /dev/tty, 108 /dev/ttyS, 108 /etc, 108 /etc/Image, 134 csh.login, 132 /etc/fstab, 139 /etc/getty, 159 /etc/group formato de, 145 /etc/host.conf, 184 /etc/hosts, 184 /etc/init, 159 /etc/inittab, 159 /etc/networks, 184 /etc/passwd, 143 /etc/profile, 131 /etc/rc, 159 /etc/rc.local, 159 /etc/resolve.conf, 184 /etc/zImage, 134 /home, 108 /lib, 108 /linux instalaci´ n, 93 o /proc, 108 238 montaje de, 139 /sbin, 108 /tmp, 108 /usr, 109 /usr/X11R6, 109 /usr/X11R6/lib/X11/XF86Config, 169 /usr/etc, 109 /urs/g++-include, 109 /usr/include, 109 /usr/lib, 109 /usr/local, 109 /usr/man, 109 /usr/src, 109 /var, 110 /var/log, 110 /var spool, 110 /vmlinux, 134 /vmlinuz, 134 /zImage, 134 <, 114 >, 113 ?, 112 ´ ordenes - flag de opci´ n de orden, 105 o agrupando con guiones, 129 sumario de b´ sicas, 105 a sumario de las b´ sicas, 107 a GNU/Linux p´ ginas de manual para, 104 a ˜ para referirse al directorio inicial, 100 Linux Gazette, 212 Linux Journal, 212, 213 Linux Resources, 212 GNU/Linux, 1 conceptos b´ sicos, 95–100 a copiar, 17 desarrollo, 14 distribuciones, 15 errores, 14 estabilidad, 17 filosof´a, 13 ı historia, 2 instalaci´ n, 27 o

´ ´ INDICE ALFABETICO

239

multitarea definici´ n, 95 o obtenci´ n, 27 o y el coste, 17 386BSD, 17 a˜ adiendo usuarios, 142 n administraci´ n de usuarios o a˜ adiendo usuarios, 142 n administraci´ n del sistema o arrancando Linux, 134–135 cierre del sistema, 136 afio, 150 alpha, 14 anfitri´ n o configuraci´ n, 159 o apagar, 83 argumento orden definici´ n, 97 o arrancando, 134–135 con LILO, 134–135 de un disquete de mantenimiento, 160 arrancando Linux con un disquete de arranque, 134 arrancando sistemas no-Linux, 134 ayuda comercial, 24 consiguiendo, 24–25 en l´nea, 104 ı ayuda, consiguiendo, 21 backflops, 150 bash, 110 beta, 14 bg, 122 bibliotecas actualizaci´ n, 157 o arreglando corrompidas, 162 /bin, 107 boot scripts, 159 borrar directorio, 103 ficheros, 103 Bourne again shell, 110 Bourne shell, 110 C News, 209 C Shell (csh), 110 canales creaci´ n, 115 o canalizaci´ n o definici´ n, 115 o

caracteres comod´n ı *, 111 ?, 112 en nombres de fichero, 112 caracteres comod´nes ı definici´ n, 111 o caracteres comodin en nombres de fichero, 111 cat, 106 para ver el contenido de un fichero, 103 cd, 100–101, 105 cfdisk, 38 chmod, 117 cierre del sistema, 136 cliente noticias definici´ n, 209 o Coherent, 17 consola definici´ n, 96 o nombre para dispositivo, 108 virtual, 96 consolas virtuales, 108 contrase˜ a n arreglando la de root, 161 cambiando con passwd, 98 definici´ n, 95 o control de tareas, 119–123 controlador de dispositivo, 107 copiar ficheros, 102 copiar GNU/Linux, 17 copias de seguridad, 149–150 a disquete, 150 incremental, 150 multi-volumen, 150 copying Linux, 233–237 copyright, 233–237 correo electr´ nico, 208 o transporte definici´ n, 208 o cp, 102, 105 cuantas creaci´ n, 96 o cuenta de usuario creaci´ n, 96 o Debian GNU/Linux, 39 listas de correo, 51 Debian GNU/Linux), 52 desarrollo alpha, 14 beta, 14

240

´ ´ INDICE ALFABETICO

convenciones, 14 desastres recuperaci´ n de, 160–162 o con disquete de mantenimiento, 160 deshabilitando usuarios, 145 desmontando sistemas de ficheros, 141 /dev, 107 /dev/sd, 108 /dev/sr, 108 /dev/st, 108 device driver, 107 dinero, 17 dip, 185 conexi´ n con un servidor SLIP, 187 o conexion a un servidor SLIP con, 188 direccion IP est´ tica con, 186 a direcciones IP din´ micas con diph, 187 a gui´ n chat para, 188 o script chat para, 187 direcci´ n de broadcast o definici´ n, 181 o direcci´ n de pasarela o definici´ n, 181 o direcci´ n de red o definici´ n, 181 o direcci´ n IP o definici´ n, 180 o directorio . para referirse al, 100 /etc, 108 /home, 108 /lib, 108 /proc, 108 /tmp, 108 /usr/X11R6, 109 /usr/bin, 109 /usr/etc, 109 /urs/g++-include, 109 /usr/include, 109 /usr/lib, 109 /usr/local, 109 /usr/man, 109 /usr/src, 109 /var, 110 /var/log, 110 /var spool, 110 ´ arbol, 98 anidamiento, 98 /bin, 107 borrar, 103 creaci´ n, 102 o de trabajo actual

definici´ n, 99 o definici´ n, 98 o /dev, 107 estructura, 98 movi´ ndose por ella con cd cd, 100 e inicial ˜ para referise a, 100 definici´ n, 98 o listado de los contenidos de, 102 listar los contenidos de, 101 padre, 98 .. para referirse al, 100 permisos cambiando, 117 dependencias de, 117 ejecuci´ n, 116 o escritura, 116 lectura, 116 ra´z ı definici´ n, 98 o directorio de trabajo definici´ n, 99 o directorio inicial, 100 definido, 143 directorio padre, 98 .. para referirse a, 100 directorioy /usr, 109 directory /sbin, 108 disco duro problemas, 88 discos duros nombres de dispositivo, 108 dispositivo disquete, 107 fd, 107 floppy disk, 107 dispositivos /dev/console, 108 /dev/cua, 108 /dev/hd, 108 /dev/lp, 108 /dev/null, 108 /dev/pty, 108 /dev/sd, 108 /dev/sr, 108 /dev/st, 108 /dev/tty, 108 /dev/ttyS, 108 acceso, 107 consola, 108

´ ´ INDICE ALFABETICO

241

consolas virtuales, 108 discos duros, 108 null, 108 pseudo-terminales, 108 puertos paralelos, 108 puertos serie, 108 SCSI, 108 dispositivos SCSI nombres para, 108 disquete nombres de dispositivo para, 107 disquete de arranque, 160 creando, 134 disquete de mantenimiento, 160 disquetes como medio de copias de seguridad, 150 desmontando, 152 sistemas de ficheros en, 152 disquette arranque/ra´z, 160 ı de mantenimiento, 160 distribuci´ n o env´o postal, 231 ı distribuciones, 15, 27, 38–39 Debian), 52 Red Hat Linux, 52 S.u.S.E., 81 Slackware, 64 documentaci´ n, 211–219 o documentos COMO, 212 documentos HOWTO, 212 en l´nea, 21, 211–212 ı en linea FAQ, 21 HOWTO, documentos, 21 listas de correo, 23 libros, 21, 213–219 libros en castallano, 222 Linux Documentation Project, 21, 212–213 preguntas m´ s frecuentes, 211 a documentos COMO, 212 documentos HOWTO, 212 e-mail, 208 mailer definici´ n, 208 o transporte definici´ n, 208 o e2fsck, 141, 161 echo, 107 editor definici´ n, 123 o

editor de texto comparaci´ n, 123 o definici´ n, 123 o efsck, 141 ejecutable definici´ n, 101 o elm, 208 Emacs, 123 emergencias recuperaci´ n de, 160–162 o con disquete de mantenimiento, 160 enlaces, 118–119 duros, 118 mostrar n´ mero de, 118 u r´gidos, 118 ı simb´ licos, 119 o entorno personalizaci´ n, 128–132 o variables PATH, 131 entrada redirecci´ n, 114 o entrada al sistema, 96 entrada est´ ndar, 113 a redirecci´ n, 114 o EOT se˜ al, 113 n errores, 14 estabilidad, 17 estrada est´ ndar, 115 a ethernet tarjetas soportadas, 179 exit, 97 expansion de comodines definicion, 111 exportar, 130 FAQ, 21 fdisk, 37 fg, 122 fichero borrar, 103 dispositivo, 107 ejecutable definici´ n, 101 o mover, 103 nombre, 98 fichero de constrase˜ as n formato de, 143 fichero null, 108 ficheros a˜ adiendo a, 115 n

242

´ ´ INDICE ALFABETICO

copiar, 102 definici´ n, 98 o enlaces, 118–119 listado, 101–102 listando permisos con ls, 116 MS-DOS, 104 n´ mero de inodo de, 118 u ocultos no hacen juego con los comodines, 112 permisos cambiando, 117 definici´ n, 116 o dependencias de, 117 ejecuci´ n, 116 o escritura, 116 interpretaci´ n, 116 o lectura, 116 permisos de, 116–118 propiedad del grupo, 116 propiedad del usuario, 116 rc para TCP/IP, 182 recuperaci´ n, 161 o salvaguarda, 149–150 ver el contenido de, 103 ficheros de inicializaci´ n o para int´ rpretes de comandos, 131 e rc, 182 filtros definici´ n, 114 o find para copias de seguridad incrementales, 150 - de opci´ n de orden, 105 o floppy nombres de dispositivo para, 107 free software, 13 Free Software Foundation, 233 fsck, 141, 161 FTP buenas pr´ cticas, 229 a lista de servidores, 229 utilizaci´ n, 225 o FTP ftpmail, 229 fuentes de informaci´ n, 211–219 o gateway definici´ n, 181 o gcc actualizaci´ n, 158 o General Public License, 233–237 getty, 159

GID definici´ n, 143 o GNU General Public License, 233–237 GNU/Emacs, 123 GNU/Linux estructura de directorio, 98 grep, 107 group ID definici´ n, 143 o grupos, 116 guiones de inicializaci´ n o para int´ rpretes de comandos, 131 e ´ guiones de int´ rprete de ordenes e definici´ n, 129 o ´ guiones del int´ rprete de ordenes e comentarios, 129 inicializacion, 131 permisos para, 129 variables en, 129 halt, 136 hardware conflictos, 86, 87 problemas, 86, 89 problemas con el disco duro, 87, 88 problemas con SCSI, 88, 89 requerimientos, 17 tarjeta de v´deo, 163 ı tarjetas ethernet, 179 home, 100 host name host name, 159 configuraci´ n, 159 o hostname definici´ n, 95 o hostname, 185 HOWTO, documentos, 21 HURD, 17 ifconfig, 182 inetd, 183 informaci´ n o bibliograf´a en castellano, 221 ı en castellano, 221 man-es, 221 PAMELI, 221 Proyecto de Documentaci´ n de Linux, 221 o iniciando problemas, 86 inicio problemas, 84, 91 init, 159

´ ´ INDICE ALFABETICO

243

inittab, 159 INN, 209 inodos definici´ n, 118 o instalaci´ n, 27–93 o errores en los medios, 89 permisos de ficheros, 93 problemas, 84–93 problemas con el hardware, 86, 89 problemas en el inicio, 86, 91 problemas en la post-instalaci´ n, 91 o problemas en la postinstalaci´ n, 93 o problemas iniciando, 84 problemas present´ ndose, 92 a Slackware, 64 installaci´ n o LILO, 92 ´ int´ rprete de ordenes e definici´ n, 96 o indicador, 97 variables definici´ n, 129 o int´ rprete de conexi´ n e o definici´ n, 143 o Int´ rprete de presentaci´ n e o definici´ n, 131 o int´ rpretes de comandos e ficheros de inicializaci´ n, 131 o Internet listas de correo, 23 IRQ, 86 kill, 121 lecttores definici´ n, 209 o lecturas sugeridas, 213–219 libros, 213–219 LILO, 134–135 como cargador de arranque, 134 instalaci´ n, 134 o problemas en la instalaci´ n, 92 o problemas iniciando, 84 seleccionando el sistema operativo por defecto para, 135 Linux, 237 copyright, 233–237 fuentes de informaci´ n, 21 o linux servicio t´ cnico comercial, 24 e Linux Documentation Project, 21, 212–213 Linux Red Hat, 62

listando los contenidos de(, 101 listando los contenidos del directorio, 102 listas de correo, 23 Debian, 51 logging in, 96 logging out con orden exit, 97 login, 96 definici´ n, 95 o ls, 101–102, 105 listado permisos de fichero con, 116 m´ scara de red a definici´ n, 180 o mailer for e-mail, 208 mailx, 208 man, 104, 106 Mapa de software de GNU/Linux, 212 maunal de linux, 104 mensaje de error command not found, 97 mensajes de error mensajes de error command not found, 97 Microsoft, 208 Microsoft Windows emulador, 105 Minix, 17 mkdir, 102, 106 mke2fs para disquete, 152 more, 103, 106 mount, 139 montando disquetes con, 152 para montar una partici´ n MS-DOS, 104 o mover ficheros, 103 MS-DOS, 15–16 acceder ficheros desde, 104 ejecuci´ n de programas bajo GNU/Linux, o 105 emulador, 105 montando una partici´ n bajo GNU/Linux, o 104 uso de Mtools para acceder a ficheros, 105 multitarea definici´ n, 95 o multiusuario definici´ n, 95 o mv, 103, 106 n´ cleo u actualizar, 153 arraglar controlador de dispositivo, 154

244

´ ´ INDICE ALFABETICO

compilaci´ n, 154 o compilando una imagen comprimida, 154 fuentes del, 153 imagen comprimida del, 134 nombre de fichero de la imagen del, 134 n´ mero de inode u definici´ n, 118 o name server address definici´ n, 181 o named, 184 NET-3, 179 soporte para protocolo de l´nea serie (SLIP), ı 179 NetBSD, 17 netstat, 185 news (, 208 NFS, 183 nombre de fichero definici´ n, 98 o nombre de ruta definici´ n, 98 o nombre de usuario definici´ n, 142 o nombre del host, 185 nombres de fichero caracteres comod´n en, 111–112 ı noticias, 208–209 cliente definici´ n, 209 o lectores definici´ n, 209 o lectores de noticias rn, 209 servidor C News, 209 definici´ n, 209 o INN, 209 UUCP, 208 orden argumento definici´ n, 97 o definici´ n, 97 o comando shutdown, 136 origen, 2 OS/2, 16 p´ ginas del manual, 104 a PAMELI, 221 partici´ n de intercambio o en /etc/fstab, 139 passwd, 98

permisos cambiando, 117 de fichero, 116 de ficheros, 118 definici´ n, 116 o dependencias de, 117 ejecuci´ n, 116 o escritura, 116 interpretaci´ n, 116 o lectura, 116 ´ para los guiones del int´ rprete de ordenes, e 129 problemas, 93 pipelining definici´ n, 115 o planificaci´ n, 29 o PPP, 185, 189 ayuda, 207 debugging, 207