Leah Cunningham, Karl Eichwalder, Thomas Fehr, Stefan Fent, Werner Fink, Peter Findeisen, Dennis Geider, Viviane Glanz, Carsten Groß, Roland Haidl, Björn Jacke, Richard Jelinek, Hubert Mantel, Johannes Meixner, Edith Parzefall, Peter Pöml, Peter Reinhart, Marc Rührschneck, Thomas Schraitle, Klaus G. Wagner, Christian Zoz SuSE Linux Manual de Referencia SuSE GmbH Schanzäckerstr. 10 D-90443 Nürnberg Tel.: +49-9 11 7 40 53 31 (Ventas) 902 16 09 34­ España (Soporte) +34 93 244 87 51­ int. (Soporte) Fax.: +49 9 11 / 7 41 77 55 (Ventas) E-Mail: suse@suse.de WWW: http://www.suse.de Leah Cunningham, Karl Eichwalder, Thomas Fehr, Stefan Fent, Werner Fink, Peter Findeisen, Dennis Geider, Viviane Glanz, Carsten Groß, Roland Haidl, Björn Jacke, Richard Jelinek, Hubert Mantel, Johannes Meixner, Edith Parzefall, Peter Pöml, Peter Reinhart, Marc Rührschneck, Thomas Schraitle, Klaus G. Wagner, Christian Zoz SuSE Linux Manual de Referencia 2ª Edición 2001 SuSE GmbH Copyright Esta obra es propiedad intelectual de SuSE GmbH. Se permite la copia de este trabajo ya sea de forma completa o bien en forma de extractos, bajo la condición que cada copia esté acompañada de esta nota de Copyright. Composición: LATEX Traducción: Techno-Sol Orbi, S.L. Diseño: Manuela Piotrowski Ilustraciones: Rolf Vogt Linux es una marca registrada de Linus Torvalds. XFree86 TM es una marca registrada de The XFree86 Project, Inc. MS-DOS, Windows, Windows 95, Windows 98 y Windows NT son marcas registradas de Microsoft Corporation. UNIX es una marca registrada de X/Open Company Limited. Otras marcas registradas son: T-Online de Deutsche Telekom, SuSE y YaST de SuSE GmbH . Otros productos mencionados en este manual también pueden ser marcas registradas de sus respectivos fabricantes sin mención explícita de ello. Índice general Índice general 1. Introducción 1 1.1. ¿Qué es "Linux"? . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Intención del libro y consejos para su uso . . . . . . . . . . . . 2 1.3. La leyenda ­ o lo que significa "tierra: # ls" . . . . . . . 3 1.4. Méritos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. La primera instalación de SuSE Linux 7 2.1. Instalación con YaST en modo texto (YaST 1) . . . . . . . . . . 7 2.1.1. A continuación: La pantalla de inicio . . . . . . . . . . 7 2.1.2. La base: linuxrc . . . . . . . . . . . . . . . . . . . . . . 8 2.1.3. Instalación con YaST . . . . . . . . . . . . . . . . . . . 13 2.1.4. Particionar y formatear el disco duro . . . . . . . . . . . 14 2.1.5. Comenzar la instalación del software . . . . . . . . . . 16 2.1.6. Elección del software básico . . . . . . . . . . . . . . . 17 2.1.7. Instalación de software . . . . . . . . . . . . . . . . . . 18 2.1.8. Seleccionar kernel y configurar LILO . . . . . . . . . . 18 2.1.9. Configuración básica con YaST . . . . . . . . . . . . . 19 2.1.10. Entrar al sistema después de la primera instalación . . . 22 2.2. Apagar y arrancar el sistema . . . . . . . . . . . . . . . . . . . 24 2.3. Arrancar SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . 26 2.4. Instalaciones especiales . . . . . . . . . . . . . . . . . . . . . . 29 2.4.1. Instalación sin lector CD-ROM soportado . . . . . . . . 29 2.4.2. Instalación y configuración automática (ALICE) . . . . 30 2.5. Consejos y trucos . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5.1. Hacer espacio para Linux (particionar) . . . . . . . . . . 32 2.5.2. Arrancar con disquete (SYSLINUX) . . . . . . . . . . . 34 2.5.3. Arrancar con el CD 2 . . . . . . . . . . . . . . . . . . . 35 2.5.4. Crear un disquete de arranque bajo DOS . . . . . . . . . 35 2.5.5. Crear un disquete de arranque bajo Unix . . . . . . . . . 37 2.5.6. ¿Linux soporta mi lector CD-ROM? . . . . . . . . . . . 37 2.5.7. Un lector CD-ROM ATAPI se traba leyendo . . . . . . . 38 2.5.8. Lectores CD-ROM en el puerto paralelo . . . . . . . . . 39 I Índice general 2.5.9. loadlin necesita más memoria para cargar el kernel . . . 40 2.5.10. loadlin no funciona . . . . . . . . . . . . . . . . . . . . 40 2.6. Particionar el disco . . . . . . . . . . . . . . . . . . . . . . . . 40 2.7. Particionar para avanzados . . . . . . . . . . . . . . . . . . . . 43 2.7.1. El tamaño de la partición de intercambio (swap) . . . . . 43 2.7.2. Formas de uso de la computadora . . . . . . . . . . . . 44 2.7.3. Posibilidades de optimización . . . . . . . . . . . . . . 45 3. YaST ­ Yet another Setup Tool 49 3.1. Uso y distribución de teclado . . . . . . . . . . . . . . . . . . . 49 3.2. El menú principal de YaST . . . . . . . . . . . . . . . . . . . . 50 3.3. Ayuda general para la instalación . . . . . . . . . . . . . . . . . 50 3.4. Ajustes de la instalación . . . . . . . . . . . . . . . . . . . . . 51 3.4.1. Definir el idioma . . . . . . . . . . . . . . . . . . . . . 51 3.4.2. Distribución de teclado . . . . . . . . . . . . . . . . . . 51 3.4.3. El medio de instalación . . . . . . . . . . . . . . . . . . 51 3.4.4. Instalación desde CD/DVD . . . . . . . . . . . . . . . . 52 3.4.5. Instalación desde una partición del disco duro . . . . . . 52 3.4.6. Instalación vía NFS . . . . . . . . . . . . . . . . . . . . 53 3.4.7. Instalación desde una partición . . . . . . . . . . . . . . 54 3.4.8. Instalación vía FTP . . . . . . . . . . . . . . . . . . . . 55 3.5. Particionar disco(s) duro(s) . . . . . . . . . . . . . . . . . . . . 56 3.5.1. Establecer partición/sistema de ficheros destino . . . . . 58 3.6. Extra: Configuración manual del disco duro . . . . . . . . . . . 63 3.6.1. Establecer particiones . . . . . . . . . . . . . . . . . . 63 3.6.2. Fijar sistemas de fichero y "Mountpoints" . . . . . . . . 66 3.6.3. Configurar el Logical Volume Manager . . . . . . . . . 69 3.6.4. Instalación dentro de un directorio . . . . . . . . . . . . 70 3.7. Administración de paquetes / Seleccionar paquetes . . . . . . . 70 3.7.1. Cargar configuración . . . . . . . . . . . . . . . . . . . 71 3.7.2. Salvar configuración . . . . . . . . . . . . . . . . . . . 71 3.7.3. Cambiar / Crear configuración . . . . . . . . . . . . . . 72 3.7.4. Comprobar las dependencias . . . . . . . . . . . . . . . 74 3.7.5. ¿Qué pasaría si...? . . . . . . . . . . . . . . . . . . . . 76 3.7.6. Empezar instalación . . . . . . . . . . . . . . . . . . . 76 3.7.7. Listado de las series y paquetes . . . . . . . . . . . . . 76 3.7.8. Información sobre paquetes . . . . . . . . . . . . . . . 76 3.7.9. Instalar paquetes . . . . . . . . . . . . . . . . . . . . . 76 3.7.10. Eliminar paquetes . . . . . . . . . . . . . . . . . . . . . 78 II Índice general 3.8. Actualizar el sistema . . . . . . . . . . . . . . . . . . . . . . . 78 3.9. Administración del sistema . . . . . . . . . . . . . . . . . . . . 78 3.9.1. Instalar hardware en el sistema . . . . . . . . . . . . . . 78 3.9.2. Configuración del kernel y arranque . . . . . . . . . . . 80 3.9.3. Configuración de red . . . . . . . . . . . . . . . . . . . 83 3.9.4. Configuración del Login . . . . . . . . . . . . . . . . . 85 3.9.5. Opciones susewm (Gestor de ventanas) . . . . . . . . . 86 3.9.6. Administración de usuarios . . . . . . . . . . . . . . . . 86 3.9.7. Administración de grupos . . . . . . . . . . . . . . . . 87 3.9.8. Crear respaldos/backups . . . . . . . . . . . . . . . . . 88 3.9.9. Configuraciones de seguridad . . . . . . . . . . . . . . 90 3.9.10. Configurar la fuente en consola . . . . . . . . . . . . . 90 3.9.11. Configurar zona horaria . . . . . . . . . . . . . . . . . 91 3.9.12. Configurar XFree86[tm] . . . . . . . . . . . . . . . . . 91 3.9.13. Configurar gpm . . . . . . . . . . . . . . . . . . . . . . 91 3.9.14. Cambiar fichero de configuración . . . . . . . . . . . . 92 4. YaST2 ­ Herramientas de configuración 95 4.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.2. Red/Básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.3. Red/Avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.4. Seguridad & Usuarios . . . . . . . . . . . . . . . . . . . . . . . 96 4.5. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.5.1. Patch-CD-Update . . . . . . . . . . . . . . . . . . . . . 97 4.6. Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.6.1. Editor para RC.Config . . . . . . . . . . . . . . . . . . 97 4.6.2. Runlevel-Editor . . . . . . . . . . . . . . . . . . . . . . 98 4.6.3. Particionar para Expertos . . . . . . . . . . . . . . . . . 99 4.6.4. Gestor de volúmenes lógicos (LVM) . . . . . . . . . . . 99 4.6.5. Soft-RAID . . . . . . . . . . . . . . . . . . . . . . . . 105 4.6.6. Seleccionar Kernel . . . . . . . . . . . . . . . . . . . . 106 4.7. Otros/Misceláneo . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.7.1. Impresora con CUPS o LPD . . . . . . . . . . . . . . . 107 5. Arrancar y gestor de arranque 109 5.1. El proceso de arranque en un PC . . . . . . . . . . . . . . . . . 109 5.2. Conceptos de arranque . . . . . . . . . . . . . . . . . . . . . . 110 5.3. Resumen de LILO . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.4. LILO à la carte: La configuración . . . . . . . . . . . . . . . . . 115 III Índice general 5.4.1. El contenido del fichero lilo.conf . . . . . . . . . . . 116 5.4.2. Otras opciones de configuración (Selección) . . . . . . . 119 5.5. Instalación y desinstalación de LILO . . . . . . . . . . . . . . . 122 5.6. Generar disquete de arranque de Linux . . . . . . . . . . . . . . 125 5.7. Ejemplos de Configuraciones . . . . . . . . . . . . . . . . . . . 127 5.7.1. DOS/Windows 95/98 y Linux . . . . . . . . . . . . . . 127 5.7.2. Windows NT y Linux en un disco duro . . . . . . . . . 127 5.7.3. OS/2 y Linux . . . . . . . . . . . . . . . . . . . . . . . 128 5.7.4. DOS, OS/2 y Linux . . . . . . . . . . . . . . . . . . . . 129 5.8. Problemas con LILO . . . . . . . . . . . . . . . . . . . . . . . . 131 5.8.1. Diagnóstico de errores: Mensajes de inicio de LILO . . . 131 5.8.2. El límite de 1024 cilindros . . . . . . . . . . . . . . . . 133 5.8.3. Problemas especiales de arranque con el kernel a partir de 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.9. Configuración del mecanismo de arranque con loadlin . . . . . . 137 5.9.1. Ficheros necesarios para loadlin . . . . . . . . . . . . . 138 5.9.2. Personalizar menús de arranque . . . . . . . . . . . . . 139 5.9.3. Iniciar Linux desde Windows . . . . . . . . . . . . . . 140 5.9.4. El menú de arranque de Windows . . . . . . . . . . . . 142 6. El sistema X Window 145 6.1. Historia de XFree86 . . . . . . . . . . . . . . . . . . . . . . . . 145 6.2. La versión 4.x de XFree86 . . . . . . . . . . . . . . . . . . . . 146 6.3. Configuración con SaX2 . . . . . . . . . . . . . . . . . . . . . 147 6.3.1. Resolución de problemas . . . . . . . . . . . . . . . . . 148 6.3.2. El fichero de registro (log) del servidor X . . . . . . . . 152 6.3.3. Inicio del sistema X Window . . . . . . . . . . . . . . . 154 6.4. Configuración con SaX . . . . . . . . . . . . . . . . . . . . . . 154 6.4.1. Reconfiguración . . . . . . . . . . . . . . . . . . . . . 162 6.4.2. Resolución de problemas . . . . . . . . . . . . . . . . . 162 6.5. Configuración con xf86config . . . . . . . . . . . . . . . . . 163 6.6. Optimización de la instalación del sistema X Window . . . . . . 171 6.6.1. Incorporar fuentes (TrueType) adicionales . . . . . . . . 176 6.6.2. Configurar los dispositivos de entrada . . . . . . . . . . 178 6.6.3. Aceleración 3D . . . . . . . . . . . . . . . . . . . . . . 180 IV Índice general 7. Linux y el hardware adicional 181 7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.2. Tarjetas de expansión . . . . . . . . . . . . . . . . . . . . . . . 181 7.2.1. Tarjetas PCI e ISA . . . . . . . . . . . . . . . . . . . . 181 7.3. Tarjetas de sonido . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.3.1. Configurar la tarjeta de sonido con YaST2 . . . . . . . . 185 7.3.2. Configurar tarjeta de sonido con alsaconf . . . . . . . . 185 7.4. Las interfaces de la computadora . . . . . . . . . . . . . . . . . 186 7.4.1. Conexiones PS/2 . . . . . . . . . . . . . . . . . . . . . 186 7.4.2. Conexiones de puerto serie . . . . . . . . . . . . . . . . 187 7.4.3. Conexiones de puerto paralelo . . . . . . . . . . . . . . 187 7.4.4. USB ­ Universal Serial Bus . . . . . . . . . . . . . . . 189 7.5. Unidades de almacenamiento removibles . . . . . . . . . . . . 192 7.5.1. Disqueteras . . . . . . . . . . . . . . . . . . . . . . . . 192 7.5.2. Disqueteras LS-120 . . . . . . . . . . . . . . . . . . . . 193 7.5.3. Disqueteras ZIP . . . . . . . . . . . . . . . . . . . . . . 193 7.6. Modems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 7.6.1. Modem externo . . . . . . . . . . . . . . . . . . . . . . 194 7.6.2. Modem interno . . . . . . . . . . . . . . . . . . . . . . 194 8. Portátiles ­ PCMCIA, APM, IrDA 197 8.1. PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 8.1.1. El hardware . . . . . . . . . . . . . . . . . . . . . . . . 197 8.1.2. El software . . . . . . . . . . . . . . . . . . . . . . . . 198 8.1.3. La configuración . . . . . . . . . . . . . . . . . . . . . 198 8.1.4. Configuración variable ­ "Esquemas" . . . . . . . . . . 200 8.1.5. En caso de problemas. . . . . . . . . . . . . . . . . . . . 203 8.1.6. Instalación vía PCMCIA . . . . . . . . . . . . . . . . . 205 8.1.7. Utilidades adicionales . . . . . . . . . . . . . . . . . . 205 8.1.8. Compilar PCMCIA . . . . . . . . . . . . . . . . . . . . 206 8.2. APM ­ Gestión de potencia . . . . . . . . . . . . . . . . . . . . 207 8.2.1. Fundamentos . . . . . . . . . . . . . . . . . . . . . . . 207 8.2.2. El kernel correcto . . . . . . . . . . . . . . . . . . . . . 208 8.2.3. El daemon APM . . . . . . . . . . . . . . . . . . . . . 208 8.2.4. Comandos adicionales . . . . . . . . . . . . . . . . . . 209 8.2.5. Parar el disco duro . . . . . . . . . . . . . . . . . . . . 209 8.3. IrDA ­ Infrared Data Association . . . . . . . . . . . . . . . . . 209 V Índice general 9. Impresoras 213 9.1. Fundamentos y requisitos para la impresión . . . . . . . . . . . 213 9.1.1. Diversos lenguajes estándar de impresión . . . . . . . . 213 9.1.2. La problemática de las impresoras GDI . . . . . . . . . 214 9.1.3. Requerimientos de hardware y software . . . . . . . . . 214 9.1.4. Determinar el driver de impresión correcto . . . . . . . 215 9.2. Impresión por puerto local . . . . . . . . . . . . . . . . . . . . 216 9.2.1. Puertos paralelos . . . . . . . . . . . . . . . . . . . . . 216 9.2.2. Tarjetas especiales: ISA-PnP y PCI . . . . . . . . . . . 217 9.2.3. Puerto USB . . . . . . . . . . . . . . . . . . . . . . . . 219 9.2.4. Puerto serie . . . . . . . . . . . . . . . . . . . . . . . . 219 9.3. lpd: El gestor de impresión en segundo plano y sus utilidades . . 220 9.3.1. El gestor de impresión en segundo plano . . . . . . . . 220 9.3.2. Utilidades de control para el usuario . . . . . . . . . . . 221 9.3.3. Consejos sobre la configuración con lprsetup . . . . . . 225 9.3.4. Prueba de impresión . . . . . . . . . . . . . . . . . . . 227 9.3.5. Casos especiales . . . . . . . . . . . . . . . . . . . . . 227 9.4. El apsfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.4.1. Modo de trabajo de apsfilter . . . . . . . . . . . . . . . 227 9.4.2. Configuración de apsfilter . . . . . . . . . . . . . . . . 228 9.5. Imprimir en una red TCP/IP . . . . . . . . . . . . . . . . . . . 232 9.5.1. Resumen de los distintos casos . . . . . . . . . . . . . . 232 9.5.2. Configuración: Cola de traspaso en el cliente . . . . . . 233 9.5.3. Configuración: Prefiltro en el cliente . . . . . . . . . . . 234 9.6. Ghostscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 9.6.1. Ejemplos para el trabajo con Ghostscript . . . . . . . . 236 9.7. Ejemplos para algunos filtros de impresión . . . . . . . . . . . . 238 9.7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . 238 9.7.2. Ejemplo sencillo para explicar los fundamentos del trabajo239 9.7.3. Un ejemplo más complejo . . . . . . . . . . . . . . . . 242 10. El kernel 247 10.1. Las fuentes del kernel . . . . . . . . . . . . . . . . . . . . . . . 247 10.2. Módulos del kernel . . . . . . . . . . . . . . . . . . . . . . . . 248 10.3. Configuración del kernel . . . . . . . . . . . . . . . . . . . . . 250 10.4. Ajustes en la configuración del kernel . . . . . . . . . . . . . . 251 10.5. Compilación del kernel . . . . . . . . . . . . . . . . . . . . . . 252 10.6. Instalación del kernel . . . . . . . . . . . . . . . . . . . . . . . 253 10.7. Generar un disquete de arranque . . . . . . . . . . . . . . . . . 254 10.8. Limpieza del disco después de la compilación del kernel . . . . 254 VI Índice general 11. Parámetros del kernel 255 11.1. Drivers del kernel . . . . . . . . . . . . . . . . . . . . . . . . . 255 11.2. Algunos consejos . . . . . . . . . . . . . . . . . . . . . . . . . 256 11.3. Los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . 257 11.3.1. Anotación y significado . . . . . . . . . . . . . . . . . 257 11.3.2. Parámetros del kernel en el Boot-Prompt . . . . . . . . 258 11.3.3. Lectores CD-ROM en controladora propietaria . . . . . 269 11.3.4. Parámetros de modprobe . . . . . . . . . . . . . . . . . 271 12. Actualización del sistema ­ Gestión de paquetes 291 12.1. Actualización de SuSE Linux . . . . . . . . . . . . . . . . . . . 291 12.1.1. Preparativos . . . . . . . . . . . . . . . . . . . . . . . . 291 12.1.2. Actualización con YaST2 . . . . . . . . . . . . . . . . . 292 12.1.3. Actualización con YaST1 . . . . . . . . . . . . . . . . . 293 12.1.4. Actualización de paquetes específicos . . . . . . . . . . 295 12.2. De versión a versión . . . . . . . . . . . . . . . . . . . . . . . 295 12.2.1. De versión 5.x a 6.0 . . . . . . . . . . . . . . . . . . . 295 12.2.2. De versión 6.0 a 6.1 . . . . . . . . . . . . . . . . . . . 296 12.2.3. De versión 6.1 a 6.2 . . . . . . . . . . . . . . . . . . . 296 12.2.4. De 6.2 a 6.3 . . . . . . . . . . . . . . . . . . . . . . . . 297 12.2.5. De 6.3 a 6.4 . . . . . . . . . . . . . . . . . . . . . . . . 298 12.2.6. De 6.4 a 7.0 . . . . . . . . . . . . . . . . . . . . . . . . 301 12.2.7. De 7.0 a 7.1 . . . . . . . . . . . . . . . . . . . . . . . . 302 12.2.8. De 7.1 a 7.2 . . . . . . . . . . . . . . . . . . . . . . . . 303 12.2.9. De 7.2 a 7.3 . . . . . . . . . . . . . . . . . . . . . . . . 303 12.3. RPM ­ El gestor de paquetes . . . . . . . . . . . . . . . . . . . 304 12.3.1. Comprobar la autenticidad de un paquete . . . . . . . . 305 12.3.2. Instalar, actualizar y desinstalar paquetes. . . . . . . . . 305 12.3.3. Consultas . . . . . . . . . . . . . . . . . . . . . . . . . 306 12.3.4. Instalar y compilar los paquetes fuente . . . . . . . . . . 310 12.3.5. Herramientas para los archivos RPM y el banco de datos RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 13. Particularidades de SuSE Linux 313 13.1. Filesystem Hierarchy Standard (FHS) y Linux Standard Base (LSB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 13.1.1. Filesystem Hierarchy Standard (FHS) . . . . . . . . . . 313 13.1.2. Linux Standard Base (LSB) . . . . . . . . . . . . . . . 313 13.1.3. teTeX ­ TEX en SuSE Linux . . . . . . . . . . . . . . . 313 13.2. Entornos de ejemplo para FTP y HTTP . . . . . . . . . . . . . 313 VII Índice general 13.3. Indicaciones sobre paquetes especiales . . . . . . . . . . . . . . 314 13.3.1. Paquete xdevel y xdevel33 . . . . . . . . . . . . . . 314 13.3.2. Paquete cron . . . . . . . . . . . . . . . . . . . . . . . 314 13.3.3. Paquete curses . . . . . . . . . . . . . . . . . . . . . 314 13.3.4. Fuentes del paquete uucp . . . . . . . . . . . . . . . . 315 13.3.5. Manual-Pages . . . . . . . . . . . . . . . . . . . . . . . 315 13.3.6. El comando ulimit . . . . . . . . . . . . . . . . . . . 315 13.3.7. El fichero /etc/resolv.conf . . . . . . . . . . . . . 316 13.4. Arrancar con "initial ramdisk" . . . . . . . . . . . . . . . . . . 316 13.4.1. El concepto "initial ramdisk" . . . . . . . . . . . . . . . 316 13.4.2. Procedimiento del arranque con initrd . . . . . . . . . . 317 13.4.3. Bootloader . . . . . . . . . . . . . . . . . . . . . . . . 318 13.4.4. Uso de initrd en SuSE Linux . . . . . . . . . . . . . 318 13.4.5. Posibles problemas ­ Kernel compilado a medida . . . . 320 13.4.6. El futuro . . . . . . . . . . . . . . . . . . . . . . . . . 320 13.5. linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 13.6. El sistema de rescate de SuSE . . . . . . . . . . . . . . . . . . 325 13.7. Consolas virtuales . . . . . . . . . . . . . . . . . . . . . . . . . 330 13.8. Distribución de teclado . . . . . . . . . . . . . . . . . . . . . . 330 13.9. Configuración nacional ­ I18N/L10N . . . . . . . . . . . . . . 331 13.9.1. Configuración del idioma soportado . . . . . . . . . . . 333 14. El concepto de arranque de SuSE Linux 335 14.1. El programa init . . . . . . . . . . . . . . . . . . . . . . . . . . 335 14.2. Los niveles de ejecución ­ "Runlevel" . . . . . . . . . . . . . . 336 14.3. Cambio del Runlevel . . . . . . . . . . . . . . . . . . . . . . . 337 14.4. Los scriptsde inicio . . . . . . . . . . . . . . . . . . . . . . . . 338 14.5. /etc/rc.config y SuSEconfig . . . . . . . . . . . . . . . . . 340 14.6. Las variables en /etc/rc.config ­ Configuración de sistema . 341 A. Manual-Page de e2fsck 355 B. La licencia pública general GNU (GPL) 359 C. Teclas y combinaciones importantes 369 Bibliografía 371 VIII 1 Introducción 1 Introducción 1.1. ¿Qué es "Linux"? Lo que realmente se entiende bajo el término Linux es el Kernel, el "corazón" de cualquier sistema operativo tipo Unix. Pero el kernel por sí solo no forma todavía un sistema operativo. Justamente para Unix existe una multitud de software libre, lo que significa que están disponibles también para Linux. Son estas utilidades las que realmente forman el sistema operativo. En cuanto a las utilidades, se trata generalmente de la versión GNU (GNU) de los programas correspondientes de Unix, los que incluso muchas veces ofrecen mayor funcionalidad, siendo el más conocido el GNU C/C++ Compiler, uno de los mejores compiladores del mundo. Tampoco se deben olvidar todas aquellas pequeñas (o también grandes) utilidades que se pueden usar en la línea de co- mandos o en scripts: la oferta comienza con las utilidades para shells, textos o ficheros como sed, awk y perl hasta editores (vi) o entornos de trabajo completos (Emacs). Todo se complementa con XFree86 TM (actualmente en la versión 4.1.0), que es el sistema X Window (actualmente X11, Release 6.4) para sistemas Unix a base de PC. Esta versión se ha portado de la distribución oficial X11R6.4 del consorcio X Consortium, Inc., lo que proporciona total compatibilidad a este estándar. Los entornos gráficos como KDE o GNOME se apoyan en ello. Todos estos componentes, junto a otros programas (p. ej. TEX, el sistema pro- fesional de tratamiento de textos) o también juegos, forman el sistema que de forma general se denomina Linux. Como ya se ha mencionado, existe para Unix una cantidad casi infinita de soft- ware libre, lo que permite a su vez componer una multitud de diferentes sistemas Linux. En este punto aparecen las distribuciones de Linux, como p. ej. en nuestro caso, el SuSE Linux. Los encargados de una distribución contemplan la enorme oferta de software libre y eligen los programas más adecuados. Aviso Aparte del software libre, SuSE Linux también incorpora paquetes de pro- gramas que solamente pueden ser distribuidos en forma compilada ya que, por razones diversas, SuSE no puede incluir las fuentes que se incluyen en caso del software de libre distribución. 1 1 Introducción A parte de esto, la mayoría de las distribuciones están disponibles en Internet, así que no hace falta comprar una distribución para actualizar de vez en cuando el sistema. 1.2. Intención del libro y consejos para su uso Este libro no debe reemplazar la literatura avanzada que permite al usuario in- teresado entrar en el fascinante mundo del high performance computing (ver la bibliografía al final del libro, capítulo 14.6 en la página 371). Linux y el software libre están sometidos a una fuerte dinámica, lo que plantea un reto al escribir literatura explicativa que vaya al ritmo de los últimos desarrollos y sirva a los principiantes del mundo Unix (sin aburrir a los "viejos zorros"). El presente libro trata de cumplir este objetivo, a la vez que hacer SuSE Linux totalmente transparente para el usuario. Se constituye básicamente de las siguientes partes: Instrucciones de instalación: Esta parte del libro contiene una instalación de ejemplo con comentarios (capítulo 2 en la página 7). Se mencionan posibles fuentes de error y se dan instrucciones concretas para solventar los problemas que se puedan presentar durante la instalación. YaST: Se explica el uso del programa de instalación y administración de SuSE, YaST TM (capítulo 3 en la página 49). Se expone cómo arrancar el kernel (capítulo 5 en la página 109) . Entorno gráfico La activación y configuración del entorno gráfico XFree86 TMes tema del capítulo 6 en la página 145. Sonido, escáner, portátiles, impresión, etc.: Del capítulo 7 en la página 181 hasta el capítulo 9 en la página 213 se averiguan las posibilidades del hard- ware. Linux ­ el kernel: En esta parte se va directamente al grano: el capítulo 10 en la página 247 y capítulo 11 en la página 255, presentan el kernel y dan las instrucciones sobre cómo generar y usar su propio kernel. Actualización, paquetes de software, arrancar: Se comentan estrategias de actualización, la administración de paquetes individuales (capítulo 12 en la página 291) y se introducen las características especiales de SuSE Linux tal como el funcionamiento de arranque (capítulo 14 en la página 335). Particularidades de SuSE Linux: Esta parte explica el árbol de directorios y el sistema de procesamiento de textos TEXde SuSE Linux . Igualmente se mencionan paquetes de software especiales, así como el sistema de rescate de SuSE y mucho más. El sistema de arranque de SuSE Linux: El capítulo 14 en la página 335 ofrece información sobre el programa init, los niveles de ejecución y los ficheros de configuración de sistema. 2 1.3 La leyenda ­ o lo que significa "tierra: # ls" Anexo técnico: En el anexo hay una lista de los ficheros de configuración más importantes, de las combinaciones de teclas más frecuentes, ficheros de ejemplo, la licencia, etc. Glosario, bibliografía e índice: Si le hace falta algún dato o información, use el extenso anexo. 1.3. La leyenda ­ o lo que significa "tierra: # ls" En este manual tratamos de usar continuamente los mismos símbolos para la misma clase de referencia. Las indicaciones más frecuentes se explican en la tabla 1.1 en la página siguiente. indicación Significado LINUS TORVALDS personas importantes YaST (yast) arrancar el programa YaST, mediante el comando yast Adabas D el producto Adabas D /etc/passwd nombre de un fichero y de una carpeta introduciendo este comando, fichero debe ser reemplazado por el nombre en cuestión; los sig- nos de mayor y menor (<>) no se introducen! PATH la variable de entorno con el nombre PATH 192.168.1.2 el valor de una variable ls el comando a introducir ls `news' el usuario news tierra: # susehelp `root'-shell en el directorio ~ (`~' indica el "directorio-home" de cada usuario, Directorio de usuario). En este ejemplo se debe introducir el co- mando ayuda; tierra es el ejemp- lo para el nombre de una computadora (ingl. hostname). tux@tierra:/tmp > ls shell del usuario `tux' en el direc- torio /tmp; aquí se debe introducir la orden ls; a propósito, TUX es el nom- bre oficial del pingüino de Linux. . . C:\> fdisk DOS-Prompt introduciendo el co- mando fdisk § ¤ ¦Alt ¥ tecla para pulsar; en este caso la tecla "Alt" Cuadro 1.1: Continúa en la página siguiente... 3 1 Introducción § ¤ § ¤ § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦Supr ¥ mediante `+' se indican las teclas que se deben pulsar simultáneamente; las que se deben pulsar sucesivamente se separan con espacios "Permission denied" mensajes del sistema `Actualizar sistema' la opción de menú `Actualizar sistema' Constructirola la empresa "Constructirola" Cuadro 1.1: Leyenda de las indicaciones en el texto 1.4. Méritos Son muchos los que han contribuido al tremendo éxito de Linux, pero espe- cialmente queremos dar las gracias a EBERHARD MÖNKEBERG, quien siempre echaba una mano en caso de problemas con drivers de CD-ROM. Muchas gra- cias a HANS LERMEN; de él es el conocido loadlin (loadlin.exe), que permite arrancar Linux desde DOS y, el programa DOS Setup (setup.exe) de este sis- tema Linux. Los siguientes altruistas hicieron posible la traducción de YaST y de linuxrc; to- dos ellos se preocuparon durante su tiempo libre de abrir el mundo de Linux a una mayor cantidad de personas en todo el mundo: Jesús Bravo Álvarez, Gunay Arslan, Jaume Badiella i Aguilera, Zbigniew Baniewski, Sándor Bárány, Olaf Borkner-Delcarlo, Michael Bravo, Görkem Çetin, Franca Delcarlo, Jochen Dep- ner, Benedek Hermann, Ibán José García Castillo, Dora Georgarou (with Romy the barking dog), Jonas-Gintaras Gocentas, Pablo Iranzo Gómez, Krzysztof Hotiuk, Milan Hromada, Arthur Kerkmeester, Ralf A. Lanz, Françoise Lermen, Zoltán Levárdy, Nuno Lima, Francisco Javier Moreno Sigüenza, Tomas Morkus, Karine Nguyen, Matts Nordman, Aleksey Novodvorsky, Razvan Cristian Oprea, Gerco Oudhof, Jordi Jaen Pallares, George Papamichelakis, Alexey Pavlov, Ákos Rátkai, Bruno David Rodrigues, Voula Sanida, Gabor Sari, Aleksey Smirnov, Laszlo Varadi, Steve Varadi, P. Vlachodimitropoulos, Joao Teles, Nuno Vieira, January Weiner, Monika Weiß y I Made Wiryana. El complicado trabajo pero a la vez interesante de coordinar las traducciones estaba en manos de Antje Faber. También reciben nuestra gratitud los Beta-tester, que no tienen miedo a pon- er continuamente en peligro la estabilidad de su sistema: Andreas Koegel, Christian Hüttermann, Dirk Ulbrich, Eberhard Mönkeberg, Frank Hofmann, Georg C. F. Greve, Harald König, Harald Wieland, Karlo Gross, Jens Frank, Lutz Pressler, Martin Hehl, Martin Konold, Martin Schulze, Michael Kleinhenz, Norbert Eicker, Oliver Zendel, Ralf Geschke, Stefan Bliesener, Thomas Wörn- er, Ulrich Goebel, Ulrich Windl, Volker Lendecke, Wolfgang Barth y das KDE Team. Matthias Eckermann ha modificado las macros de LATEX, adaptando así el as- pecto del libro a los tiempos actuales; de Manuela Piotrowski son las ideas del 4 1.4 Méritos diseño. Como base de las nuevas macros se seleccionó la clase de documentos "KOMA" de Frank Neukam y Markus Kohm añadiendo a ella las macros an- tiguas del tipo susebuch hechas por Werner Fink y Martin Scherbaum. Andrea Ratschker, Thorsten Wandersmann y Ken Wimer se encargaron del tedioso tra- bajo de generar y editar las imágenes. En la elaboración de textos de versiones del manual anterior a ésta, participaron: Bodo Bauer, Rüdiger Berlich, Daniel Bischof, Michael Burghart, Roland Dy- roff, Christian Egle, Klaus Franken, Fritz Ganter, Jürgen Geck, Rolf Haberreck- er, Olaf Hering, Marc Heuse, Carsten Höger, Dirk Hohndel, Florian La Roche, Ralf Lanz, Volker Lendecke, Hans Lermen, Arndt Mehlhorn, Jay Migliaccio, Norbert Munkel, Jordi Jaen Pallares, Christoph-Erdmann Pfeiler, James Samuel, Martin Scherbaum, Adrian Schröter, Burchard Steinbild, Gabriele Strattner, Jörg Strebel, Steve Tomlin, Thorsten Wandersmann, Udo Weber, Michael Weyrauch y Stefan Wintermeyer. Marco Banse, Stephan Barth, Manfred Blumenthal, Bettina Botter, Georg Brand, Folkmar Claußen, Jörg Dippel, Stefan Dirsch, Felix Domke, Uwe Drechsel, Christian Eggers, Ulrich Felzmann, Kurt Garloff, Lenz Grimmer, Michael Hager, Torsten Hallmann, Michael Hasenstein, Ulrich Hecht, Stefan Hundhammer, Kevin Ivory, Andreas Jaeger, Thomas Jansen, Klaus Kämpf, Bernd Kaindl, Karsten Keil, Wolfgang Kern, Andi Kleen, Sabine Kleine, Thorsten Kukuk, Werner Kurk, Hans Lermen, Marco Michna, Sebastian Nagel, Rüdiger Oer- tel, Siegfried Olschner, Dirk Pankonin, Petr Pavlík, Rainer Preschke, Andrea Ratschker, Marion Reyzl, Anja Schambach, Christian Steinruecken, Sandra Wiegratz, Steffen Winterfeldt y Heinz Wohlers nos dieron consejos importantes, e incluso parcialmente, texto listo para el manual. Holger Dyroff, Christian Egle, Claudio Taulli y Nicole Zwerenz se encargaron de la producción ­ que continúen así! Aparte de ellos hay mucha gente que trabaja en el fondo, pero sin los cuales no funcionaría nada­ muchas gracias a todos! * * * * Los desarrolladores de Linux impulsan con mucho esfuerzo voluntario y en co- laboración a escala mundial, el avance de Linux. Les agradecemos su empeño ­ sin ellos no existiría esta obra. Con nuestro trabajo queremos proporcionar el resultado de su esfuerzo a un amplio círculo de usuarios. ¡Nuestro agradecimiento se dirige también a PATRICK VOLKERDING por el so- porte a nuestro trabajo y naturalmente a LINUS TORVALDS! Gracias sobre todo a Frank Zappa y Pawar! Nürnberg, 25 de octubre de 2001 Have a lot of fun! Su equipo SuSE 5 1 Introducción 6 2 La primera instalación de SuSE Linux 2 La primera instalación de SuSE Linux 2.1. Instalación con YaST en modo texto (YaST 1) En el caso de SuSE Linux, está a disposición la herramienta de instalación YaST que le guía fielmente desde la preparación del disco duro, pasando por la insta- lación del software hasta la configuración del entorno gráfico. Normalmente la computadora a instalar debe cumplir los siguientes requisitos: Se puede arrancar la computadora desde el disquete de arranque ("Bootdisk") incluido o bien, desde el CD 1 directamente. El disco duro tiene suficiente espacio libre para la instalación de Linux. Se recomienda utilizar un segundo disco suficientemente grande para el uso ex- clusivo con Linux. El CD-ROM se ve soportado por Linux. En caso de duda es posible averiguar- lo. Si uno de estos requisitos no se cumple, existen alternativas para la instalación que se detallan a continuación de esta sección (apartado 2.4 en la página 29). 2.1.1. A continuación: La pantalla de inicio Por favor "abróchese el cinturón" e inserte el CD 1 y/o el disquete de arranque en sus correspondientes dispositivos de lectura y encienda la computadora. Si ésta no quiere arrancar, tal vez sea necesario cambiar la secuencia de arranque en la BIOS de la computadora a A,C o CDROM,C,A. Después de un breve instante aparece la pantalla de inicio (figura 2.1 en la página siguiente). Dentro de 10 segundos debe seleccionar `Instalación manual', para que YaST2 no se inicie automáticamente. Existe la posibilidad de introducir parámetros de arranque en la línea boot options, por detrás de manual. Nor- malmente el hardware no los necesita. A continuación aparece un recuadro indicando por detrás de "Lading Linux kernel" el avance de la carga de sistema. Después arranca el Kernel y linuxrc se inicia, esperando las órdenes del usuario (funciona a base de menús). Posibles problemas Si un lector CDROM del tipo ATAPI llegara a "trabarse", consulte el aparta- do 2.5.7 en la página 38. 7 2 La primera instalación de SuSE Linux Figura 2.1: La pantalla de inicio de SuSE Linux El CD 1, que incorpora un kernel optimizado para Pentium, no se reconoce como arrancable: Puede tratar de usar el CD 2 o el disquete de arranque ("Bootdisk"); ver los apartados 2.5.2 en la página 34 y 2.5.3 en la página 35. Utilizando una tarjeta gráfica del tipo FireGL 1, 2 o 3, la instalación no comienza en modo gráfico (framebuffer), sino en modo texto. Con parámetros de kernel se puede resolver normalmente los demás proble- mas de arranque; ver apartado 11.3.2 en la página 258. La opción de arranque `Failsafe' existe para remediar problemas con DMA. 2.1.2. La base: linuxrc Al principio linuxrc permite sacar provecho de algunas características adicionales de la instalación. Por ejemplo es posible cargar drivers como módulos del kernel. Después linuxrc inicia el programa de instalación YaST y la verdadera instalación de los programas de sistema y de las aplicaciones comienza. § ¤ § ¤ § ¤ Manejo de linuxrc: Con § ¤ ¦ ¥y ¦ ¥se selecciona una opción del menú y con § ¤ ¦ ¥ y ¦ ¥un comando (p. ej. `Ok' o `Cancelar'). Pulsando ¦ ¥los comandos se ejecutan. El apartado 13.5 en la página 321 contiene una descripción detallada de linuxrc. 8 2.1 Instalación con YaST en modo texto (YaST 1) Configuración general El programa linuxrc comienza con la selección del idioma, del color y de la dis- tribución de teclado. Figura 2.2: Selección del idioma Seleccione el idioma para la instalación (p. ej.`Español'), confirmando con § ¤ ¦ ¥. Seleccione entre `Monitor Color' y `Monitor Monocromo' (blanco y ne- § ¤ gro). Si dispone de un monitor de color pulse ¦ ¥. Seleccione la distribución de teclado. Normalmente no hace falta más que § ¤ pulsar ¦ ¥, ya que la distribución de teclado suele coincidir con el idioma anteriormente seleccionado (aquí: `Español'). Posibles problemas YaST no ofrece la distribución de teclado deseada. En tal caso seleccione una distribución genérica (p. ej.`English (US)') para retocar esta selección posteriormente con YaST. Configuración del hardware mediante módulos Ahora nos encontramos en el menú principal de linuxrc (figura 2.3 en la página siguiente) Existen las siguientes opciones: `Configuración' ­ Aquí se puede modificar otra vez idioma, monitor o tecla- do. 9 2 La primera instalación de SuSE Linux Figura 2.3: Menú principal de linuxrc `Información de sistema' ­ Aquí hay una gran cantidad de información sobre el hardware. `Módulos del kernel (Driver)' ­ Es posible que se deba elegir este punto para cargar módulos adaptados al hardware. Caso normal: Por lo general no se necesita esta opción, porque si el (los) dis- co(s) duro(s) y el lector de CD (ATAPI) están conectados a una controladora (E)IDE, no es necesario cargar módulos especiales. Esto se explica por el hecho de que el soporte para (E)IDE está integrado en el kernel. `Iniciar la instalación/Sistema' ­ Pulsando aquí continúa la insta- lación . . . `Cancelación / Reboot' ­ Para el caso en que haya decidido abandonar. . . La carga de módulos adicionales mediante la opción `Módulos de kernel (Drivers)', se requiere para el soporte SCSI o PCMCIA (ver apartado 8.1.6 en la página 205) o en caso de no tener un lector de CDs tipo ATAPI. La car- ga de módulos se explica en el apartado 13.5 en la página 321. En el siguiente sub-menú se indica la razón por la que se deben cargar los módulos. Existen las siguientes posibilidades: Un módulo SCSI ­ Para un disco duro SCSI o un lector CD-ROM de este tipo. Un módulo CD-ROM ­ si el lector CD-ROM no está conectado a la controlado- ra (E)IDE ni a la controladora SCSI. Un módulo de red ­ en el caso que se realice la instalación a través de NFS o FTP ­ lo cual no se trata en este apartado, sino en el apartado 2.4.1 en la página 29. 10 2.1 Instalación con YaST en modo texto (YaST 1) Truco Si no se encuentra soporte para el medio de instalación usado (Tarjeta PCMCIA, tarjeta de red, lector CD-ROM en controladora propia o en puerto paralelo) dentro de los módulos estándar, se puede recurrir a los drivers adicionales del disquete modules. Para ello diríjase al final de la lista,y seleccione allí la opción `-- Otros módulos --'; linuxrc pide en este caso el disquete modules. Iniciar la instalación Puesto que la opción `Iniciar la instalación / Sistema' ya está selec- § ¤ cionada, solo hace falta pulsar ¦ ¥para comenzar con la verdadera instalación. Figura 2.4: Menú de instalación de linuxrc Ahora aparecen las siguientes opciones: `Comenzar la instalación' Esto probablemente se llevará a cabo en un in- stante. `Iniciar el sistema instalado' Esta opción es útil cuando se presentan problemas con el arranque normal del sistema instalado. `Iniciar sistema de rescate' Cuando ha ocurrido un error grave, esta opción brinda muchas posibilidades de arreglar el sistema instalado. Actual- mente solo está disponible para PC (arquitectura Intel IA 32). `Eject CD' Expulsar el CD-Rom. 11 2 La primera instalación de SuSE Linux § ¤ Para entrar al sub-menú de instalación se pulsa ¦ ¥cuando la opción `Comen- zar la instalación' está seleccionada. Solo hace falta seleccionar el medio fuente o dejar la barra de desplazamiento sobre la preselección `CD-ROM'. Figura 2.5: Selección del origen de los datos en linuxrc § ¤ Pulse ahora ¦ ¥. Ahora se carga el entorno de instalación directamente desde el CD 1. Después de terminar este proceso seleccioneYaST1 a base de texto (Figura 2.6 en la página siguiente), para comenzar realmente con la instalación. Posibles problemas Linux no reconoce el adaptador SCSI instalado: * Intente cargar el módulo de un driver compatible. * Use un kernel que incorpore el correspondiente driver SCSI y genere un disquete de arranque como se explica en el apartado 2.5.4 en la página 35. El lector CD-ROM ATAPI usado se traba leyendo datos: ver aparta- do 2.5.7 en la página 38 y en términos más generales el aparta- do Problemas generales de hardware dentro del capítulo Administración de sistemas en el manual de Configuración. Aún no se ha podido averiguar por qué en determinadas circunstancias no es posible cargar los datos al disco de memoria, motivo por el que YaST no se puede iniciar. Por lo general el siguiente procedimiento da un resultado satisfactorio: En el menú principal de linuxrc seleccione `Configuración' `Debug (experto)'. Bajo esta opción asigne a `Forzar imagen raíz' (ingl. Force root image) el valor no. Después regrese al menú principal para iniciar de nuevo la instalación. 12 2.1 Instalación con YaST en modo texto (YaST 1) Figura 2.6: Selección de YaST en linuxrc 2.1.3. Instalación con YaST En caso de haberse decantado por la instalación con YaST en lugar de YaST2, aparece una pantalla de entrada con cuatro opciones (ver figura 2.7 en la página siguiente). Aviso Si se desea conocer YaST en más detalle o si se realizan tareas espe- ciales de mantenimiento de sistema, se recomienda consultar el capítulo sobre YaST (capítulo 3 en la página 49 en adelante.); al comienzo de este capítulo se encuentra también información sobre las funciones del teclado bajo YaST `Instalar un Linux nuevo' En el caso de instalar un SuSE Linux nuevo. Justamente esto es lo que nos ocupará a continuación. `Actualizar un sistema Linux existente' La actualización de un SuSE Linux existente es tema del apartado 12.1 en la página 291. `Instalación en modo experto' En este modo de instalación hay muchas posibilidades para intervenir. Solo se debe elegir este modo si se cuenta con suficiente experiencia en Linux y si se conoce bien el orden de los pasos de instalación. ¡No se explicará el modo experto! `Cancelar - No instalar' Si se decide abandonar en el último momen- to. . . Seleccione ahora `Instalar un Linux nuevo'. 13 2 La primera instalación de SuSE Linux Figura 2.7: Pantalla principal de YaST Antes de comenzar a particionar por cuenta propia, se recomienda consultar el apartado 2.6 en la página 40,que contiene mucha información adicional. 2.1.4. Particionar y formatear el disco duro YaST notifica ahora la existencia de un disco duro. Si hay alguna zona "libre", YaST lo notará y propondrá usar esta zona del disco para Linux (`¿Utilizar zona libre?'). Truco Si ya existe una partición de swap no activada ­ tal vez procedente de una instalación anterior ­ YaST se dará cuenta de ello y preguntará si se debe usar esa partición, para que pase a formar parte del sistema. Para ajustar las particiones, proceda de la siguiente manera: `Particionar' ­ Para la primera instalación de SuSE Linux o para su cambio completo hay que elegir generalmente la opción `Particionar'. Sólo se- leccione `Configurar LVM', cuando quiere configurar un Logical Volume Manager. `SI' ­ Si se afirma, YaST procede a particionar automáticamente y entonces se puede continuar con el apartado 2.1.6 en la página 17. `No' ­ Si se contesta negativamente (`No'), se puede empezar a particionar de manera interactiva. 14 2.1 Instalación con YaST en modo texto (YaST 1) Figura 2.8: YaST ­ Particionar disco Si YaST no encuentra espacio libre, aparecerá la instrucción `Usar todo el disco duro'; en esta ventana se ofrecen dos posibilidades (para recordar: con § ¤§ ¤ § ¤ § ¤ ¦Tab ¥ , ¦ ¥o ¦ ¥se puede posicionar el cursor, mientras que con ¦ ¥se ejecuta la selección): `Particionar' ­ Usted mismo genera las particiones; es obligatorio elegir esta opción si se quiere seguir usando otro sistema operativo ya instalado, aparte de Linux. El apartado 3.6 en la página 63 explica este procedimiento. `Todo el disco' ­ YaST comienza ­ después de una confirmación de seguri- dad "en rojo" ­ a particionar y formatear por sí mismo el disco duro. Atención Si se elige `Todo el disco', se perderán ¡todos los datos que estén en este momento en el disco! La opción `Todo el disco' se usa solo en el caso de querer tener única- mente SuSE Linux en la computadora y de no querer ocuparse del tema de particionar. ¡Se borrarán los demás sistemas operativos eventualmente presentes! Para hacer las particiones, YaST sigue la siguiente estrategia: genera una partición /boot (mínimo 2 MB o 1 cilindro), una partición de swap (el doble de la cantidad de RAM pero no más de 128 MB) y el resto como una gran partición, que se monta bajo `/' como partición "root" (directorio raíz). 15 2 La primera instalación de SuSE Linux Posibles problemas Es posible que se presenten problemas cuando la computadora lea de nue- vo la partición. En este caso YaST mostrará un recuadro de advertencia de color rojo y pedirá el reinicio de la máquina. Proceda entonces a reiniciar la computadora y deje de particionar el disco la próxima vez que entre a YaST. No hay suficiente espacio en el disco duro. El apartado 2.5.1 en la página 32 informa sobre la posibilidad de usar el programa fips de DOS para hacer espacio. 2.1.5. Comenzar la instalación del software El disco duro está preparado ahora de tal manera que se debe decidir qué software instalar. Figura 2.9: YaST ­ Selección de paquetes Ahora tanga un poco de paciencia: Se deben leer los datos de las series y pa- quetes desde el medio de instalación (generalmente el CD). Después aparece el menú de instalación de YaST (ver figura 2.9). En caso de no querer selec- cionar un conjunto de software especial (sino el que está previsto por defecto), es posible seguir directamente con la opción `Empezar Instalación' y saltar al apartado 2.1.7 en la página 18. Existe la opción de tomar una pre­selección de software (estándar, servidor, mínima, etc.). Para ello seleccione `Cargar configuración'; para más información ver el siguiente apartado 2.1.6 en la página siguiente. Después de esta selección se encontrará de nuevo en el menú de instalación. Ahora existe la posibilidad de seleccionar `Cambiar/Crear configura- ción'. Así se llega al submenú de la elección de series, que permite hacer 16 2.1 Instalación con YaST en modo texto (YaST 1) un ajuste fino. Normalmente no se necesita, ya que la selección de paque- tes ofrece un sistema completo. También se puede modificar o ampliar en cualquier momento esta selección, incluso cuando Linux ya se está ejecutan- do. El capítulo sobre YaST en el apartado 3.7 en la página 70 ofrece una amplia descripción de estos menús y de todas las opciones que contienen. 2.1.6. Elección del software básico Se puede entrar en esta plantilla de YaST (figura 2.10), después de haber selec- cionado en el apartado 2.1.5 en la página anterior la opción `Cargar config- uración'. Hemos preparado algunas configuraciones. Se puede navegar por las distintas § ¤ § ¤ § ¤ opciones con la flechas ¦ ¥y ¦ ¥y seleccionarlas con ¦Espacio ¥ . Una equis (`X') dentro del recuadro de la configuración significa que ésta ha sido seleccionada para reemplazar o complementar los paquetes existentes. Figura 2.10: YaST ­ Selección de configuraciones `Cargar' ­ Con esta opción se puede añadir la configuración seleccionada a los paquetes ya instalados. `Reemplazar' ­ Para reemplazar una configuración instalada por una nueva. YaST pide una confirmación antes de suprimir los paquetes que no pertenecen a la nueva configuración. `Abortar' ­ Cancelar la selección. 17 2 La primera instalación de SuSE Linux 2.1.7. Instalación de software Después de todos los preparativos llega el momento de ocupar el disco duro con el software más adecuado. Iniciar la instalación con `Comenzar instalación'. YaST indica en la pantalla qué paquete se está instalando en el momento y cuántos paquetes vendrán a continuación. Según la configuración seleccionada se piden CDs adicionales. Cuando todos los paquetes estén instalados, regrese al menú principal eligien- do `Menú principal'. Posibles problemas Si la computadora no tiene mucha memoria RAM, el entorno de instalación se inicia directamente desde el CD-ROM (ver apartado 2.1.2 en la página 12). Por eso al comienzo sólo se podrán instalar paquetes desde el primer CD­ ROM y los demás CDs se pedirán posteriormente (apartado 2.1.9 en la pági- na 21). Si se presentan problemas durante la instalación del software, lo más proba- ble es que estos se deban al hardware o al mal ajuste del mismo. En el caso de los sistemas SCSI, compruebe la longitud del cable y el termi- nador. Desconecte los dispositivos externos del bus, sobre todos los escáneres y pruebe también los parámetros del kernel; los más importantes se encuen- tran en el apartado 11.3.1 en la página 257. En el caso de trabajar con dispositivos ATAPI, consulte el apartado 2.5.7 en la página 38. Ahora saque los disquetes y CD-ROMs de los dispositivos, ya que la computa- dora se iniciará por primera vez con el sistema instalado. Después YaST le guiará por la configuración básica del sistema. . . 2.1.8. Seleccionar kernel y configurar LILO Se ha transferido el software básico al disco duro. Se instalará un Kernel específico para el sistema y ­ a petición del usuario ­ también el gestor de arranque LILO. Seleccione ahora un kernel adecuado (figu- ra 2.11 en la página siguiente); por ejemplo: El `Standard kernel', sirve para la mayoría de los sistemas. Der `Kernel para procesadores 386 or 486' sirve precisamente para estos procesadores y para todos aquellos que no son completamente compat- ibles con Pentium. El `Kernel compilado de fuentes originales' sirve de referencia. Sólo en caso de tener problemas con el kernel estándar instale éste. 18 2.1 Instalación con YaST en modo texto (YaST 1) Figura 2.11: YaST ­ Selección del kernel El `Kernel with SMP-Support' se selecciona para sistemas multiproce- sador Atención En caso de tener un procesador que no es 100 % compatible con los Pen- tium de Intel, seleccione `Kernel built for i386 processors (use also for 486)'. Este kernel se requiere p. ej. para un Cyrix 686. En ca- so contrario es posible que resulten errores como "Kernel panic", ver file:/usr/share/doc/sdb/de/html/cyrix686.html. YaST procede a copiar este kernel en /boot/vmlinuz y guarda el fichero de configuración del kernel en /boot y opcionalmente también como /usr/src/ linux/.config. Este fichero describe detalladamente el kernel instalado y los módulos adicionales. Si está seguro de que los sistemas operativos (tal vez ya instalados) se pueden inicializar con LILO (ver figura 3.26 en la página 83), afirme la pregunta con `Sí'. DOS y Windows 95/98 generalmente no presentan problemas, pero con Windows NT las cosas cambian a veces (ver apartado 5.7.2 en la página 127) . El capítulo sobre YaST (apartado 3.9.2 en la página 81) le informa más detal- ladamente sobre la forma de pasar por estas plantillas. 2.1.9. Configuración básica con YaST Después de la selección del kernel le llega el turno a la configuración básica durante la cual se configuran algunos componentes del hardware y del software. 19 2 La primera instalación de SuSE Linux Figura 2.12: YaST ­ Selección de la zona horaria Ahora se puede elegir la zona de tiempo. Aparecerá una lista larga (ver figu- ra 2.12) en la cual se puede elegir `CET' (ingl. Central European Time) si se encuentra en latitudes centro-europeas, p. ej. en España. El reloj de la computadora puede estar ajustado según la hora local o según Greenwich Mean Time (GMT). `GMT' es la opción predeterminada; sólo se- leccione `Hora local', si la computadora muestra la hora local. Ahora aparecen algunas instrucciones para la configuración de la red: * Nombre de la computadora y del dominio (ver figura 2.13 en la página siguiente). Si no hay restricciones por parte del Administrador de sistema o por parte del ISP se puede desplegar toda la creatividad buscando un bonito nombre. Para entrar a Internet o usar una red local, debe cerciorarse de que el nombre sea correcto; p. ej. tierra.cosmos.univ. tierra es el nombre de la computadora y cosmos.univ el nombre del dominio (ingl. domainname). * ¿Red tipo loopback o red real? Si la computadora no posee tarjeta de red se puede indicar loopback y en este caso no haría falta seguir en detalle con la configuración. * Si se ha elegido red real, aparecerán adicionalmente preguntas como: Cliente DHCP, Tipo de red (para tarjetas Ethernet seleccione eth0), di- rección IP, netmask, gateway, inetd, portmap, servidor NFS, From-línea para los "News-Postings", cliente de red con acceso a un servidor de nom- bres (IP del servidor de nombre y YP-Domain), elección del módulo del kernel para la tarjeta de red. * Selección de sendmail.cf para el sistema de correo (ver figura 2.14 en la página 22). 20 2.1 Instalación con YaST en modo texto (YaST 1) Figura 2.13: YaST ­ Nombre de computadora y de dominio Las indicaciones que se han hecho hasta este momento se graban y SuSEconfig (ver apartado 14.5 en la página 340) se encarga de ubicarlas en los distintos ficheros de configuración. YaST se termina y una serie de mensajes sobre el estado del sistema pasan por la pantalla. . . Después de algunos mensajes del sistema y del saludo de "Bienvenida" aparece la pregunta importante por la contraseña (ingl. Password) de `root'. Siempre necesitará esta contraseña cuando quiera entrar al sistema como Ad- ministrador de sistema. Se debe elegir esta palabra con cuidado y recordarla perfectamente. Vigile la diferencia entre mayúsculas y minúsculas; es mejor evitar los espacios o caracteres especiales si no se sabe exactamente lo que estos representan. Solo los primeros ocho caracteres cuentan con la configu- ración predeterminada. YaST pregunta si se desea configurar el modem. Si realmente tiene uno se puede configurar ahora o también en cualquier otro momento. Seleccionando `Continuar', YaST pregunta por el puerto serie de éste (figura 2.15 en la página 23). ­ Respecto a los "Winmodems" consulte file:/usr/share/ doc/sdb/de/html/cep_winmodem.html. YaST pregunta si se desea ajustar el mouse. Para hacerlo, se elige `Contin- uar' y se selecciona el tipo de mouse de una lista (parecido a figura 2.16 en la página 24). Si hay un mouse conectado al puerto serie, YaST quiere saber en cuál está (figura 2.15 en la página 23). También se elige este puerto de la lista. Si fuera preciso instalar paquetes desde los CDs restantes (ver apartado 2.1.7 en la página 18), YaST lo haría ahora. . . 21 2 La primera instalación de SuSE Linux Figura 2.14: YaST ­ Selección del sistema de correo YaST le pide insertar los CDs restantes para que todo el software selecciona- do se instale. El último CD solo se debe introducir si se ha pedido explíci- tamente la instalación de fuentes (ingl. sources) de algún programa; por lo general este no es el caso! Si tiene SuSE Linux en DVD la instalación es más cómoda ya que todo viene incluido en un solo DVD. § ¤ Después se finaliza YaST y se debe pulsar ¦ ¥. Su SuSE Linux está ahora completamente instalado. 2.1.10. Entrar al sistema después de la primera instalación Mientras se ejecutan diversos scripts de configuración en segundo plano, se puede entrar al sistema como usuario `root'; p. ej. en la consola 1. Por detrás del mensaje "Login:", se escribe root y cuando se pida la contraseña ("Pass- word:"), se introduce la contraseña definida anteriormente para el usuario `root'; esta contraseña se ha definido en el apartado 2.1.9 en la página anterior). El Prompt del sistema Linux aparece y se puede comenzar a trabajar: tierra:~ # Por ejemplo, se puede introducir el comando ls -a para ver el listado de los ficheros en el directorio actual. tierra:~ # ls -a 22 2.1 Instalación con YaST en modo texto (YaST 1) Figura 2.15: YaST ­ Selección de las interfaces de modem y mouse O también se puede introducir por ejemplo YaST (yast) para modificar la insta- lación o administrar el sistema. tierra:~ # yast Cuando YaST (yast) arranca se pueden generar usuarios adicionales usando la opción del menú `Administración de sistema'. Se sigue con la opción `Configurar XFree86TM' la cual permite configurar la tarjeta gráfica (ver aparta- do 6.3 en la página 147). En segundo plano se ejecutan scripts de configuración automáticos, en computa- doras menos potentes este procedimiento puede durar ­ según el tamaño de la instalación ­ hasta más de una hora. Si se llegara a apagar la computadora pre- maturamente, YaST se ejecutará automáticamente en el próximo arranque del sistema. Los mencionados scripts se han ejecutado por completo cuando aparece en la § ¤ § ¤ § ¤ Consola 9 (acceso a la consola con § ¤ ¦Alt ¥+ ¦F9 ¥ ; regrese al modo gráfico con ¦Alt ¥ + ¦F7 ¥ ): Have a lot of fun! Después de la instalación se pueden efectuar más configuraciones como la insta- lación de hardware adicional, la configuración de red o la de servidor. 23 2 La primera instalación de SuSE Linux Figura 2.16: YaST ­ Selección del driver de mouse 2.2. Apagar y arrancar el sistema Atención ¡Nunca se debe apagar de golpe una computadora con Linux! Hay que usar la función de parada de KDM o uno de los comandos presentados en el apartado 2.2 para efectuar una "parada limpia" (ingl. Shutdown). En caso contrario es preciso efectuar una comprobación del sistema de ficheros la próxima vez que se inicia la computadora. Esto tarda un cierto tiempo e incluso es posible que el mecanismo de comprobación no sea capaz de recuperar todos los datos. Se han de usar los comandos de la tabla 2.1 para apagar (ingl. shutdown) correc- tamente la computadora. shutdown -h now detiene el sistema (se podrá apagar la máquina cuan- do aparezca el mensaje: "the system is halt- ed") shutdown -r now reinicia el sistema inmediatamente después de haber- lo parado Cuadro 2.1: Comandos para parar el sistema Linux 24 2.2 Apagar y arrancar el sistema En general, el comando shutdown en todas sus variantes sólo puede ser ejecu- tado por el usuario `root'. Para "apagar" el sistema, se entra utilizando la contraseña `root' y se introduce el comando shutdown -h now o shutdown -r now. También se puede reiniciar la computadora mediante la combinación de las teclas § ¤ § ¤ § ¤§ ¤ § ¤ § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦Supr ¥(¦Ctrl ¥+ ¦Alt ¥+ ¦Del ¥). Dado que esta combinación de teclas bajo X11 no es reconocida, primero se debe salir de X11. Sin embargo esta combinación puede ser usada por cualquier usuario desde cualquier consola virtual. 25 2 La primera instalación de SuSE Linux 2.3. Arrancar SuSE Linux Después de la instalación falta por aclarar cómo se desea arrancar SuSE Linux en el uso diario (Arrancar). El siguiente resumen muestra las principales posibilidades de arrancar Linux. El método de arranque que más se adapta a sus necesidades depende en gran medida del tipo de uso previsto. Disquete de arranque: Para arrancar Linux con el disquete de arranque. Esta posibilidad siempre funciona y no representa ningún trabajo, porque posible- mente ya lo ha generado durante la instalación utilizando YaST2. El disquete es una buena solución intermedia si no se tiene en el momento otra posibilidad o si se prefiere postergar la decisión sobre este tema. También en combinación con OS/2 o Windows NT, el uso del disquete de arranque puede representar una buena solución. loadlin: La variante con loadlin presupone: La computadora tiene que estar bajo DOS en modo real o en el modo virtual del 8086 teniendo activado un servidor VCPI. Un servidor VCPI proporciona p. ej. emm386.exe. Dicho de otra manera: Se trata de una solución que no funciona bajo Unix, OS/2, Windows NT o en una ventana DOS de Windows 95/98 ­ pero sí que funciona bien desde el prompt de MS-DOS o desde el modo DOS de Microsoft Windows 95/98. El ordenador debe tener suficiente memoria libre en DOS: Por debajo del límite de 640 KB hace falta un mínimo de 128 KB, el resto puede ser memoria extendida EMS/XMS. Aunque su instalación es un poco complicada, loadlin se puede integrar fan- tásticamente en los menús de arranque de Windows 95 y 98. Esto exige editar manualmente ficheros de configuración. La gran ventaja es que no se modi- fica el sector de arranque MBR (ingl. Master Boot Record). De esta manera, los demás sistemas operativos no ven más que una partición con anotaciones, como huella de Linux. Para instalar loadlin, se requieren ciertos conocimientos de DOS y de Lin- ux. Se debe saber cómo generar con un Editor los ficheros de configuración necesarios. En el apartado 5.9 en la página 137 hay detalles sobre este pro- cedimiento. Es posible que se presenten problemas si se equivoca configu- rando los menús de arranque de Windows 95/98; en caso extremo, ya no se podría acceder a la instalación de Windows. Antes de configurar los menús de arranque se debe comprobar que el sistema se carga con un disquete de arranque de Windows. LILO: La solución más limpia desde un punto de vista técnico y más universal, es el uso del gestor de arranque LILO (LInux LOader) que permite selec- cionar entre distintos sistemas operativos antes de arrancar. Se puede instalar LILO directamente durante la primera instalación de sistema o bien más tarde, p. ej.mediante YaST (ver el apartado 3.9.2 en la página 81). Ciertamente LILO 26 2.3 Arrancar SuSE Linux tiene que estar presente en el sector de arranque del disco duro, lo que impli- ca un pequeño riesgo. El tratamiento de un posible error exige conocimientos básicos del proceso de arranque. Es necesario saber editar ­ por algún caso ­ el fichero principal de configuración de LILO. También es conveniente saber antes de la instalación, cómo desinstalar de vuelta LILO. Sigue siendo así que LILO representa la mejor forma de arrancar. Atención Hay determinadas versiones de BIOS que comprueban la estructura del sector de arranque (MBR) y que emiten ­ por equivocación ­ la advertencia de presencia de virus después de la instalación de LILO. Lo más sencillo para resolverlo es entrar en la BIOS y tratar de desactivar la protección antivirus (`virus protection'). ­ Una vez que Linux esté instalado es posible activar esta característica de nuevo, pero si se usa la computadora exclusivamente con Linux tampoco hace falta. Se puede encontrar una explicación exhaustiva sobre los diferentes métodos de arranque y en especial sobre LILO y loadlin en el capítulo 5 en la página 109 en adelante. La pantalla gráfica de SuSE Desde la versión SuSE Linux 7.2 aparece una pantalla gráfica con el Logo de SuSE en la consola 1. Al instalar el sistema con YaST2 la opción que lo realiza ("vga=771") se apunta dentro del fichero /etc/lilo.conf. Desactivar la pantalla de SuSE En principio existen tres diferentes posibilidades: Desactivar la pantalla especial bajo demanda. Para realizarlo se ha de teclear en la línea de comandos tierra: # echo 0 >/proc/splash El comando tierra: # echo 0x0f01 >/proc/splash enciende la pantalla gráfica nuevamente. Desactivar la pantalla de SuSE por omisión: Para realizarlo se ha de añadir el parámetro de kernel splash=0 a la con- figuración del gestor de arranque. En este caso, lo más sencillo es editar el fichero lilo.conf, añadiendo la siguiente línea: append="splash=0" En caso de que ya existiera una línea append dentro de lilo.conf, modi- fique la misma; p. ej.: 27 2 La primera instalación de SuSE Linux append="vga=771" se convertiría en append="vga=771 splash=0" Para trabajar en el modo texto habitual de las versiones anteriores de SuSE Linux se puede poner "vga=normal" en la línea append. Desactivar la pantalla SuSE "para siempre": Esta desactivación se realiza compilando un kernel nuevo. En la configu- ración del kernel se ha de desactivar la opción dentro del menú `frame- buffer support'. Truco Al desactivar el soporte de frambuffer dentro del kernel, el "Splash- Screen" se desactiva automáticamente. ¡SuSE no ofrece ningún so- porte en caso de haber compilado un kernel propio! Para la gran mayoría de usuarios lo mejor es la modificación de /etc/lilo. conf. Después de ello hace falta ejecutar lilo para que los cambios tengan efecto; ver apartado 5.5 en la página 122. 28 2.4 Instalaciones especiales 2.4. Instalaciones especiales 2.4.1. Instalación sin lector CD-ROM soportado ¿Qué hacer si no es posible efectuar una instalación estándar a través de un lec- tor CD-ROM? El lector CD-ROM podría ser uno de los modelos "propietarios" antiguos para los que no siempre existe soporte. También es posible que no se tenga una unidad CD-ROM en una segunda computadora (p. ej. un portátil) pero que sí se tenga una tarjeta Ethernet o un cable PLIP. . . SuSE Linux ofrece también la posibilidad de instalar el sistema en una computa- dora que no tenga ningun CD-ROM sino una conexión de red Ethernet tipo NFS o FTP o vía PLIP (apartado 2.4.1) . Instalación desde una fuente en la "red" El soporte no cubre esta vía de instalación. Solo los usuarios experimentados deberían usar este medio para instalar. ¿De qué se trata? La computadora en la cual se quiere instalar SuSE Linux no tiene ningún lector CD-ROM. Sin embargo, se puede establecer una conexión vía red a otra com- putadora que tenga un lector CD-ROM o en cuyo disco duro haya una copia del CD. Además hace falta copiar del CD-Rom los ficheros .S.u.S.E-disk* al disco duro, p. ej.mediante: tierra: # cp /cdrom/.S* /pepe tierra: # cp -a /cdrom/suse /pepe ¡La "otra" computadora debe ser capaz de "exportar" los datos adecuadamente! Truco Una alternativa es la de iniciar el sistema de rescate en la computadora remota y exportar directamente el CD 1. Paso por paso. . . 1. Comenzar la instalación del cliente como se ha explicado en el apartado 2.1 en la página 7. 2. Seguir los pasos de la instalación como se ha indicado en el apartado 2.1.2 en la página 8 ­ pero considere lo siguiente: Al llegar a la opción del menú `Módulos de kernel', cargar el driver de red adecuado (opción `Driver de red'). Esto se requiere también al instalar vía PLIP; caso que requiere el disquete de los módulos. 29 2 La primera instalación de SuSE Linux Cuando linuxrc pregunte por la `Fuente de instalación', seleccione `Red (NFS)' y a continuación proceda con la configuración de red. Tam- bién existe la posibilidad de instalar vía FTP. 3. Finalizar la instalación como se ha explicado en el apartado 2.1.3 en la pági- na 13 en adelante. Posibles problemas La instalación termina antes de haber comenzado realmente: El directorio de instalación de la "otra" computadora no se exportó con derechos de ejecución (exec) ­ se ha de modificar esto. El servidor desconoce la computadora en la que SuSE Linux debe ser instal- ado. Introducir al fichero /etc/hosts del servidor, el nombre y la dirección IP de la computadora nueva. 2.4.2. Instalación y configuración automática (ALICE) ¿Por qué automatizar? Con la instalación y configuración automática de sistemas Linux es posible con- seguir servidores totalmente uniformes. Pero no solo en caso de los servidores es interesante "clonar" máquinas sino también a partir de una cierta cantidad de clientes (máquinas sobremesa). Con la instalación automática quedan iguales todas las máquinas, con la misma versión del sistema operativo y del software instalado, tal como la estructura del sistema de ficheros y los ficheros de config- uración. Gracias a la automatización se puede garantizar la reproducción fácil de una determinada instalación sin necesidad de conocimientos especiales. De esta forma se puede extender fácilmente el parque de máquinas y la administración de las mismas se simplifica. Por ejemplo no hace falta buscar ficheros de config- uración en diferentes ubicaciones y todo el software se comporta igual, ya que las versiones son las mismas. Cuando se instalan parches, estos tienen efecto en todos los servidores. Se trata de una serie de características que mejoran la calidad del servicio presta- do. Resumen de ALICE ALICE (ingl. Automatical Linux Installation and Configuration Environment) incluye la instalación y las área principales de configuración. El mantenimiento de los ficheros de configuración se realiza mediante CVS, lo que facilita las actualizaciones de estos desde diferentes puntos y con varios usuarios. Las máquinas pueden pertenecer a una o a varias clases. Así se pueden mantener las computadoras lo más "parecidas" posible; solo los datos realmente necesarios se indican en el fichero de configuración específico para cada computadora. Para 30 2.4 Instalaciones especiales su estructuración, los ficheros de configuración se han distribuido en tres direc- torios diferentes. El directorio templates contiene algunas configuraciones por defecto, classes contiene las configuraciones específicas de una determinada clase e info alberga información específica del mismo host. La configuración predeterminada se superpone con la de una determinada clase y a su vez éstas se pueden superponer con los valores individuales del host. ALICE es un proyecto en continua evolución. Si en este momento no se en- cuentra ningún módulo para la configuración del software que está usando, es posible que Usted mismo lo pueda realizar o que se haga mediante un proyecto específico. Información adicional La documentación del paquete alice informa sobre el uso de los módulos de ALICE, la puesta en marcha de un servidor de instalaciones, la arquitectura de ALICE y sobre una sesión de configuración. Instalación automatizada con YaST1 Se puede utilizar la "Instalación automatizada" de YaST1 independientemente del proyecto ALICE; véase los consejos en el artículo file:/usr/share/doc/sdb/de/html/cg_autoinstall.html. 31 2 La primera instalación de SuSE Linux 2.5. Consejos y trucos 2.5.1. Hacer espacio para Linux (particionar) La idea es preparar el disco duro para alojar nuevas particiones Linux. Esperamos que se tenga un poco de tiempo para repasar este apartado con tranquilidad; es recomendable tener un par de disquetes o cintas para un respaldo o copia de seguridad y también un disquete de arranque del sistema operativo actual. Información adicional Particionando se puede dividir un disco duro en varias zonas que sean bastante independientes entre sí. Una buena razón para generar varias particiones es la posibilidad de la coexistencia de varios sistemas operativos con sus correspondi- entes sistemas de fichero en un solo disco duro. ¿Cómo generar entonces espacio para particiones de Linux? Es posible borrar por separado particiones del disco duro; con esta operación se pierden todos los ficheros que se encuentran en ella. El espacio que se libera de este modo en el disco estará entonces a disposición para una nueva partición (p. ej. Linux) o bien para varias. También es posible asignar particiones concretas a otros sistemas operativos pero se perderán todos los ficheros de la partición como si se estuviera bor- rando. Bajo MS-DOS o Windows 95/98 es posible disminuir el tamaño de la última partición del disco sin pérdida de ficheros. Antes de particionar es necesario usar un programa de defragmentación para que todos los ficheros se sitúen al comienzo de ésta. Si solo existe una partición de MS-DOS o de Windows, resulta sencillo con este método, hacer espacio para particiones Linux. De- spués de la defragmentación se pueden usar programas especiales ­ p. ej. el programa freeware fips ­ para disminuir el límite superior del cilindro y así achicar el tamaño de la partición. fips se encuentra en el CD 1 en el directorio dosutils. Un método muy cómodo, si bien acompañado de costes, es el de la insta- lación de un disco duro adicional. Atención Al modificar particiones es necesario trabajar cuidadosamente, vigilando las instrucciones del software a tal efecto. No obstante, pueden aparecer problemas que provoquen la pérdida completa de ¡todos los datos! SuSE no se puede responsabilizar del buen funcionamiento de la partición del disco. En todo caso es muy recomendable hacer copias de seguridad, co- mo mínimo de los ficheros más importantes y preparar un disquete de ar- ranque. 32 2.5 Consejos y trucos Paso por paso. . . Para particionar el disco duro se hace lo siguiente: 1. Se debe saber cuántas particiones hay en el disco y qué tamaño tienen. Para averiguarlo se usa el programa fdisk del sistema operativo. 2. Planificar la cantidad de particiones requeridas y sus tamaños. La informa- ción al respecto está en el apartado 2.6 en la página 40 y en el apartado 2.7 en la página 43. 3. Apuntar el plan de particiones en un papel ya que se necesitarán estos datos varias veces durante la instalación. 4. En este momento se recomienda encarecidamente hacer un respaldo de to- dos los ficheros en el disco duro. Si no se tiene una unidad de cinta (ingl. streamer) y tampoco se quiere salvar todo en disquetes, entonces como mín- imo se han de salvar los datos más importantes y los ficheros de arranque y de configuración (p. ej. config.sys, autoexec.bat y *.ini). Generar un disquete de arranque para el sistema operativo actual y probar si se puede arrancar con éste. En este disquete de arranque también se necesita un par de herramientas como p.ej. un editor, el programa de particionar fdisk y el programa para hacer respaldos. 5. Se continúa de acuerdo a la configuración: DOS/Windows 95/98, una partición en el disco duro y, sin respaldo completo (ingl. File-Backup): Hace falta disminuir el tamaño de la partición sin producir pérdida de datos. Para ello, se mueven todos los datos al comienzo de la partición; con este fin se puede usar p. ej. el programa defrag.exe (MS-DOS 6 o Windows 95/98). Los programas de defragmentación no suelen mover ficheros escondidos ni ficheros de sistema, ya que estos pueden estar "anclados" en un sitio definido del disco duro a causa de una protección de copia. Cuando se está seguro de no tener tales ficheros en el disco, se pueden desactivar los atrib- utos oculto o sistema en todos los ficheros que los tengan activados o, según el programa de defragmentación usado, ajustar unos parámetros y forzar la defragmentación de estos ficheros; las versiones más recientes de defrag usan para ello el comando /P. El fichero de intercambio ("swap") de Windows también es un fichero oculto. Si está mal colocado se debe desactivar bajo Windows en la "Con- figuración de sistema". Si finalmente se consigue suficiente espacio al final de la partición, diríjase entonces al directorio \dosutils\fips\fips15 del primer CD. Allí se encuentra el programa fips.exe que permite disminuir el tamaño de la partición. Antes de arrancar este programa, conviene estudiar las instrucciones am- plias que se encuentran en el mismo directorio, ya que se trata de un tema un poco delicado. Por lo demás, cabe señalar que fips.exe solamente se 33 2 La primera instalación de SuSE Linux ejecuta bajo DOS así que tendrá que finalizar Windows o llevar Win- dows 95/98 al modo DOS. Después de ejecutar fips.exe se tiene una segunda partición en el disco duro, la cual se particionará luego para Linux. Truco También se puede achicar particiones del tipo fat32 usando fips.exe del directorio \dosutils\fips\fips20.¡Antes de utilizar esta ver- sión de FIPS, se debe hacer en todo caso un respaldo de los datos! DOS/Windows 95/98 y varias particiones y, un respaldo completo de los datos (ingl. File-Backup): Al borrar la partición DOS generándola después con tamaño reducido, se pierden todos los datos contenidos en ella, así que se necesita un respal- do de ficheros previo; no es suficiente un respaldo de la imagen del disco (ingl. Image backup). Con fdisk se borran todas las particiones antiguas y se generan las nuevas. El próximo paso consiste en formatear la(s) parti- ción(es) e instalar el sistema operativo, copiando todos los ficheros desde el respaldo. 6. Arrancar la computadora desde cero. 7. Comprobar ahora si el sistema operativo funciona correctamente. Con YaST se puede generar después la partición Linux en el espacio del disco que se acaba de obtener. Posibles problemas Se pueden presentar los siguientes problemas: No es posible achicar la partición lo suficiente, ya que existen algunos ficheros o bloques inamovibles. En este caso hay que modificar los atributos de los ficheros. 2.5.2. Arrancar con disquete (SYSLINUX) El disquete de arranque sirve para la instalación en muchas circunstancias espe- ciales como p. ej.la falta de un lector de CD-ROM. El programa SYSLINUX (paquete syslinux) inicia el proceso de arranque y realiza un reconocimiento reducido del hardware. Los pasos más importantes de este reconocimiento son los siguientes: Averiguar si la BIOS soporta un "framebufer" según el estándar VESA 2.0 y arrancar el kernel de acuerdo a ello. Obtener datos técnicos del monitor (Información DDC). 34 2.5 Consejos y trucos Leer el primer bloque del primer disco duro (MBR) para averiguar la asig- nación de las ID de la BIOS con los nombres de dispositivo de Linux (im- portante para la configuración posterior de LILO). SYSLINUX trata de leer el bloque mediante la función lba32 de la BIOS para determinar si esta función está soportada. Truco § ¤ Pulsando la tecla ¦Shift ¥cuando SYSLINUX se inicia, todos los pasos men- cionados se suprimen. Para facilitar la búsqueda de errores se puede añadir la línea |verbose 1| al fichero syslinux.cfg. De esta forma el SYSLINUX siempre informa qué paso se está ejecutando. 2.5.3. Arrancar con el CD 2 Se puede arrancar no solamente con el CD 1 sino también con el CD 2. El primer CD usa una imagen de arranque (bootimage) de 2,88 MB mientras que el segun- do usa la imagen tradicional de 1,44 MB. Si está claro que la computadora puede arrancar desde el CD pero se presen- tan problemas, use el CD 2. Desafortunadamente existen algunos BIOS que no reconocen correctamente las imágenes grandes. 2.5.4. Crear un disquete de arranque bajo DOS Requisito Se necesita un disquete HD de 3.5 pulgadas, formateado y la disquetera cor- respondiente que permita el arranque. Trabajando bajo Windows 95/98 no se arranca setup en una ventana MS-DOS pero sí en modo MS-DOS! Información adicional En el CD 1 del directorio /disks hay un par de imágenes de disquetes (ingl. Images). Es posible copiar una de estas imágenes, mediante una utilidad especial, a un disquete que se convierte entonces en un disquete de arranque. Estas imágenes de disquete contienen también el "Loader" Syslinux y el programa linuxrc. El programa Syslinux permite seleccionar un kernel durante el arranque y pasar parámetros al hardware. ­ El programa linuxrc presta asistencia cuando se cargan módulos del kernel especiales para el hardware y finalmente inicia la instalación. Normalmente se puede usar el disquete de arranque suministrado para arrancar la máquina. Solo en el caso de tener un hardware un tanto "exótico", que no sea soportado por el kernel de este disquete, es necesario generar un disquete de arranque del modo en que se explica en este apartado. 35 2 La primera instalación de SuSE Linux Con Setup Paso por paso. . . Para crear un disquete de arranque se hace lo siguiente: 1. Poner en marcha Setup directamente desde el CD 1. § ¤ 2. Seleccionar la opción `Floppy' y pulsar § ¤ ¦ ¥ , después `Boot/Arranque' y de nuevo ¦ ¥ . 3. Ahora se debe elegir un disquete con un kernel adecuado que soporte p. ej. la adaptadora SCSI. Setup muestra los datos más importantes sobre los difer- entes kernels. Si se necesitara información adicional, se puede consultar el fichero \disks\readme.dos Recuerde el nombre del kernel ya que lo necesitará luego. Después pulse § ¤ ¦ ¥. 4. Ahora se graba el disquete. Insertar un disquete de 3.5 pulgadas dentro de la disquetera (debe llevar formato DOS) y seleccionar el tipo de disquete que se quiere generar. Solo se necesita el disquete de arranque "Boot" (en SuSE Linux ya no es necesario el disquete `Root'). Colocar el cursor sobre `Boot/Arranque' § ¤ y pulsar ¦ ¥. Setup pide reconfirmar que se ha insertado un disquete. Pulsar otra vez § ¤ ¦ ¥. Ahora se procede a grabar el disquete. § ¤ Cuando la grabación esté lista, se presiona ¦ ¥. Seleccionar la opción `Listo', para salir de la pantalla y de Setup. Con rawrite Otra posibilidad para escribir el disquete en el prompt de DOS es el programa DOS rawrite.exe (que resulta un poco más lento). Se encuentra en el CD 1, di- rectorio \dosutils\rawrite. Las imágenes estándar de disquetes de arranque se encuentran en el CD 1, di- rectorio /disks; allí se puede leer el fichero README. La imagen bootdisk es el patrón para el disquete estándar. Los verdaderos kernels se encuentran en el directorio /suse/images y no tienen ninguna extensión; se recomienda leer el fichero README en este directorio. Si resulta útil el disquete estándar suministrado con SuSE Linux, se procede de la siguiente manera, suponiendo que se encuentra en el directorio del CD: Q:> dosutils\rawrite\rawrite disks\bootdisk a: Si necesita soporte de hardware especial utilice una imagen diferente para el disquete de arranquen en lugar de bootdisk. El kernel "todoterreno" k_i386 puede resolver muchos problemas. 36 2.5 Consejos y trucos 2.5.5. Crear un disquete de arranque bajo Unix Requisito Hay un sistema Unix/Linux que incorpora un lector CD-Rom a su disposición; además se necesita un disquete libre de errores (formateado). Para crear el disquete de arranque se procede de la siguiente manera: 1. Si aún falta formatear el disquete: tierra: # fdformat /dev/fd0u1440 2. Montar el primer CD (Disk 1); p. ej. hacia /cdrom: tierra: # mount -tiso9660 /dev/cdrom /cdrom 3. Entrar al directorio disks en el CD: tierra: # cd /cdrom/disks 4. Generar el disquete de arranque con: tierra: # dd if=/cdrom/disks/bootdisk of=/dev/fd0 bs=8k Los ficheros LIESMICH (en alemán) y README en el directorio disks indi- can las capacidades de cada kernel ; estos ficheros se pueden visualizar con more o less. Si se necesita soporte de hardware especial, hay que usar una imagen diferente para el disquete de arranque. El kernel "todoterreno" k_i386 puede resolver muchos problemas. El asunto se complica un poco si durante la instalación se quiere utilizar un kernel compilado a medida. En tal caso se copia primero la imagen estándar (bootdisk) en el disquete, sobreescribiendo posteriormente el kernel del dis- quete (linux) con el kernel propio (véase el apartado 10.5 en la página 252): tierra: # dd if=/cdrom/disks/bootdisk of=/dev/fd0 bs=8k tierra: # mount -t msdos /dev/fd0 /mnt tierra: # cp /usr/src/linux/arch/i386/boot/vmlinuz /mnt/linux tierra: # umount /mnt 2.5.6. ¿Linux soporta mi lector CD-ROM? Se puede decir que por lo general, Linux soporta la mayoría de los lectores CD- ROM. No se debe presentar ningún problema usando lectores del tipo ATAPI. En el caso de lectores tipo SCSI solo importa que la controladora SCSI, que lleva la conexión al CD-ROM, tenga soporte por parte de Linux. Hay una lista de controladoras soportadas en el banco de datos de componentes CDB (http://cdb.suse.de/). Si no encontrara soporte para su controladora SCSI y el disco duro está conectado a la misma, tal cual tiene un problema :-( 37 2 La primera instalación de SuSE Linux También hay muchos lectores CD-ROM propietarios que funcionan con Lin- ux. No obstante, pueden presentarse problemas con este grupo de disposi- tivos. Si no se menciona explícitamente su lector, se puede probar con uno similar del mismo fabricante. Ya son bastante comunes los lectores CD-ROM en el puerto paralelo. Lamentablemente no existe ningún estándar para esta clase de dispositivo, lo que ocasiona problemas con frecuencia. SuSE Linux incluye una serie de drivers en estado Alpha para algunos de estos lectores. Si no funciona ningún driver solo queda el desvío por la partición DOS. Téngase en cuenta que ex- isten algunos lectores soportados por Linux, que solo funcionan cuando han sido inicializados por el driver de DOS, efectuando después un arranque en caliente. 2.5.7. Un lector CD-ROM ATAPI se traba leyendo Cuando no se reconoce bien un lector CD-ROM ATAPI o él mismo se traba leyendo, en muchos casos se debe a un fallo en la configuración de los com- ponentes. Normalmente todos los dispositivos que se conectan al bus (E)IDE deben estar conectados en fila, es decir, que el primer dispositivo es el master en el primer canal y el segundo es el esclavo. El tercer dispositivo debe ser entonces master en el segundo canal y el cuarto allí el esclavo. En realidad resulta que muchas computadoras solamente contienen un disco duro y un CD-ROM que se encuentra entonces como master en el segundo canal. En algunas ocasiones Linux no maneja bien este vacío. Muchas veces se puede ayudar al kernel introduciendo un parámetro adicional (hdc=cdrom, ver también apartado 11.3.2 en la página 258). También puede ocurrir que un dispositivo tenga los "jumpers" mal colocados; es- to quiere decir que está configurado como esclavo pero se encuentra como master en el segundo canal o viceversa. En caso de duda es recomendable comprobar y eventualmente corregir estas configuraciones. A parte de esto, hay una serie de "chipsets" EIDE defectuosos que en gran parte ya se conocen y el kernel contiene código para solventar los problemas. Existe un kernel especial para estos casos (ver el README en /disks) y sus parámetros se detallan en el apartado 11.3.2 en la página 258. Aviso Si no se puede arrancar en un principio, se puede probar con los sigu- ientes parámetros del kernel. ­ Deben ser introducidos en el "prompt" de arranque: boot: linux Atención: ¡No olvide el nombre del kernel (linux) por delante de los parámetros! hd=cdrom ­ simboliza a, b, c, d etc. y tiene el siguiente significado: 38 2.5 Consejos y trucos a ­ Maestro en la 1ª controladora IDE b ­ Esclavo en la 1ª controladora IDE c ­ Maestro en la 2ª controladora IDE . . . Ejemplo para : hdb=cdrom Con este parámetro se puede indicar al kernel donde está el lector CD-ROM del tipo ATAPI, si es que el kernel no lo encuentra por sí mismo. ide=noautotune ­ vale 0, 1, 2, 3 etc. y tiene el siguiente signifi- cado: 0 ­ 1ª controladora IDE 1 ­ 2ª controladora IDE . . . Ejemplo para : ide0=noautotune Este parámetro ayuda normalmente en combinación con discos duros del tipo (E)IDE. Aviso En el apartado 11.3.2 en la página 258 se pueden encontrar parámetros del kernel adicionales, para los problemas relacionados con hardware SCSI o con tarjetas de red. 2.5.8. Lectores CD-ROM en el puerto paralelo El programa linuxrc ofrece durante la instalación todos los drivers disponibles. Por lo general no hace falta vigilar ningún comportamiento especial. Lamentablemente existen muchos lectores que aún no tienen soporte (p. ej. los de Freecom). Incluso es posible que existan lectores que son iguales según sus etiquetas, pero que unos funcionan y otros no. Aparentemente los fabricantes han cambiado características internas sin notificación, usando otro número de serie. . . Algunos lectores deben ser inicializados con el driver de DOS antes de ser usados con Linux: 1. Arranque DOS y deje cargar el driver del CD-ROM. 2. Introduzca el disquete de arranque de Linux. 3. Efectúe un arranque en caliente. Si realmente no hay soporte para el lector CD-ROM sigue siendo necesario hacer el rodeo, pasando por la partición DOS (ver apartado 2.4 en la página 29). Para informarse sobre el estado actual de la programación del puerto paralelo bajo Linux, consulte http://www.torque.net/linux-pp.html. 39 2 La primera instalación de SuSE Linux 2.5.9. loadlin necesita más memoria para cargar el kernel No tiene suficiente memoria por debajo de los 640 KB. Se puede intentar excluir algunos drivers de los ficheros de arranque del sistema (config.sys, autoexec. bat) o de cargarlos a la memoria alta. Si hay unidades comprimidas bajo Windows 95/98 y la carga de drivers a memo- ria alta no funciona, se deben descomprimir entonces las unidades que lo estén. 2.5.10. loadlin no funciona Si hay algún problema con loadlin, se puede usar este comando con las opciones -v, -t o -d. Lo mejor para escribir la información del debug al fichero debug. out es usar: C:\> loadlin -d debug.out este fichero se puede enviar al soporte de SuSE. Para se debe introducir algo de la propia configuración de sistema (ver el aparta- do 5.9.1 en la página 138) . 2.6. Particionar el disco A los principiantes en el uso de Linux y del sistema de ficheros, se les podría presentar las siguientes preguntas: ¿Cuánto espacio hay que proporcionar a Lin- ux? ¿Cuál es el mínimo, cuánto debería ser, cuál es la cantidad razonable y cómo particionar el espacio? Tipos de partición en el PC Cada disco duro contiene una tabla de particiones con espacio para cuatro en- tradas, de las cuales solo una puede ser una partición extendida y el resto pri- marias o todas podrían ser primarias. La esencia de las particiones primarias es relativamente simple pues se trata de una zona continua de cilindros, que está asignada a un sistema operativo. Con particiones primarias, solamente se puede establecer un máximo de cuatro; no caben más en la tabla de particiones. Aquí comienza el concepto de la partición extendida, la que también se repre- senta como una zona continua de cilindros. Sin embargo, es posible dividir la partición extendida en particiones lógicas, que no necesitan una entrada en la tabla de particiones. Se puede decir que se trata de una especie de contenedor para las particiones lógicas. Si se necesitan más de cuatro particiones es necesario definir la cuarta como partición extendida y asignar a ella todos los cilindros libres. En esta se pueden generar entonces casi tantas particiones como se desee (el máximo se sitúa en 15 para discos SCSI y en 63 para discos (E)IDE). A Linux no le importa en cuál tipo de partición (primaria o lógica) está instalado. 40 2.6 Particionar el disco Decidirse. . . Comenzamos con lo realmente importante: 180 MB, pero hablando de un uso especial de la computadora, trabajando solamente en la consola sin sistema X Window. Con la idea de usar X y algunas pocas aplicaciones hay que calcular con 500 MB; ambos casos incluyen la zona de intercambio (swap). ¿Cuánto debería ser? Alrededor de 1 GB. En el mundo de los discos de gigabytes no es pedir demasiado. Esta cantidad incluiría el espacio de swap pero sin límite superior. ¿Qué cantidad tiene sentido? Depende de lo que se quiera: Trabajar bajo X Windows con aplicaciones modernas como KDE o GNOME, Applixware o Staroffice y Netscape o Mozilla necesita 1,2 GB. Desarrollar con Linux pequeñas aplicaciones en el entorno del sistema X Win- dow también requiere aprox. 1,2 GB. Las dos modalidades anteriores: 2,0 GB Compilar servidores X propios, grabar CDs propios y lo anterior: 4 GB. Accionar un servidor FTP o de Internet: 700 MB sistema base + infinito. ¿Cómo particionar el espacio? Esta es una pregunta sencilla cuya respuesta no lo es. Truco Con la robustez que ha alcanzado el sistema de ficheros Linux, no es mala idea seguir la estrategia de YaST: Prepare una partición pequeña al comienzo del disco para /boot (como mínimo 2 MB, en caso de discos grandes 1 cilindro), una partición para la zona de intercambio (Swap) de 128 a 256 MB y el resto para /. Si se desea hacer algunas particiones pero no muchas, funciona lo siguiente: Hasta cerca de 500 MB: Una partición swap y una partición de root (/). De 500 MB hasta 4 GB: Una partición pequeña para el kernel y para LILO al comienzo del disco duro (/boot) con al menos 8 MB o bien un cilindro; la partición swap y el resto para la partición de root (/). Propuesta a partir de 4 GB: Boot (/boot, swap, root (250 MB)), home (/home con cerca de 200 MB) y el resto para programas (/usr); también podría ser una partición para /opt (ver en la página siguiente) ­ igualmente es posible proceder como en el caso de 500 MB hasta. 41 2 La primera instalación de SuSE Linux Aviso Según la versión de la BIOS es posible que se necesite una partición Linux por debajo del "límite de 1024 cilindros" para arrancar directamente desde el disco duro (al respecto, leer en la página 113 y el en la página 133) Este tema no tiene importancia si se arranca Linux desde DOS/Windows con loadlin. Desde la versión 6.0 de SuSE Linux, la partición de arranque es generalmente la partición "boot" (/boot). Se debe tener en cuenta que algunos programas ­ generalmente comerciales ­ instalan sus datos bajo /opt, así que es conveniente generar una partición propia para /opt o bien hacer la partición root más grande. KDE y GNOME se en- cuentran igualmente en el directorio /opt. En particular se trata de los paquetes y demostraciones listados en la tabla 2.2. El requerimiento de espacio indicado en la tabla es algo superior que el real. También se indican programas que no se distribuyen con SuSE Linux. KDE2 200 MB GNOME 200 MB htdig 5 MB Fortify 2 MB susehelp con búsqueda de texto htdig 40 - 300 MB Wabi 10 MB Mozilla 55 MB Netscape 45 MB Arcad 350 MB Applixware 400 MB Eagle 18 MB StarOffice 260 MB Cyberscheduler Software 30 MB Cygnus Source-Navigator 20 MB SNiFF+ 45 MB Insure++ 45 MB pep 18 MB Oracle 8.1.7 900 MB Sybase ­ Adaptive Server Enterprise 170 MB virtuoso ­ OpenLink Virtuoso Lite Edition 55 MB Cuadro 2.2: Ejemplos de paquetes bajo /opt ­ no todos estos se suministran con SuSE Linux. 42 2.7 Particionar para avanzados 2.7. Particionar para avanzados En el apartado 2.6 en la página 40 tal como en el apartado 3.6.1 en la pági- na 63, se ha comentado brevemente sobre cómo particionar el sistema. El pre- sente apartado quiere proporcionar información detallada con la cual se pueda crear un esquema de partición optimizado para el sistema. Es además especial- mente interesante para aquellos que quieran configurar el sistema de manera óp- tima, respecto a seguridad y velocidad y que están ­ según las circunstancias ­ dispuestos a crear todo desde cero. ¡Arrasar con todo, esa es la idea! Es fundamental entender el modo de funcionar de un sistema de ficheros UNIX. En particular, los conceptos del punto de montaje (Mountpoint) tal como los de las particiones lógicas y extendidas, se deben haber entendido. Al principio es importante destacar que no existe un solo camino óptimo para todos pero que sí existen muchos caminos buenos para cada uno. No hay de qué preocuparse, ya que también habrá reglas y cifras concretas en este apartado. Como primer paso, se debe reunir la siguiente información: ¿Para qué usará su máquina (servidor de ficheros, servidor de aplicaciones Compute-Server, estación de trabajo)? ¿Cuántas personas trabajarán en la computadora (contado en logins simultá- neos)? ¿Cuántos discos duros tiene la computadora, qué tamaño tienen y cuál inter- faz (EIDE, SCSI o una controladora RAID)? 2.7.1. El tamaño de la partición de intercambio (swap) Todavía se puede leer en muchas partes: "La cantidad de Swap debe ser como mínimo el doble de la de RAM". Esta regla pertenece al tiempo en el cual 8 MB de RAM era suficiente. Estos tiempos han pasado. La persona que compra hoy en día una computadora con menos de 64 MB ha sido muy mal aconsejada. Volviendo a la regla anterior: El fin era conseguir una computadora con cerca de 30 a 40 MB de Memoria virtual. Con las aplicaciones modernas, hambrientas de memoria, hay que corregir estos valores hacia arriba. Normalmente 128 MB de memoria virtual es suficiente, pero es mejor no ser tacaño con ello. Compilando el kernel en el entorno X- Window y mirando las páginas de ayuda con Netscape mientras que en algún lugar se ejecuta Emacs, entonces con 128 MB de memoria virtual se está sin muchas reservas. Esto significa que el usuario normal se encuentra en el lado seguro con 256 MB de memoria virtual. Lo que no se debería hacer, bajo ningún pretexto, es no pro- porcionar ningún tipo de memoria swap. Incluso una máquina con 256 MB RAM debería tener una zona de swap. La razón para ello se detalla en el apartado 2.7.3 en la página 47. También es posible que se ejecuten simulaciones con gasto de memoria del or- den de gigabytes. Si existen dudas acerca de si Linux puede soportar o no seme- 43 2 La primera instalación de SuSE Linux jante carga, se aconseja leer el apartado 2.7.2 en la página siguiente (tipo de uso: Compute-Server). 2.7.2. Formas de uso de la computadora Como estación de trabajo: Este es el tipo de uso más frecuente de una computadora con Linux. Para poder orientarse con valores concretos, hemos compilado un par de configuraciones de ejemplo, que pueden ser usadas según necesidad, en la casa o en la empresa. Los espacios requeridos para un determinado tipo de instalación se encuentran en la tabla 2.3 Instalación Espacio necesario en disco muy 180 MB hasta 400 MB pequeña pequeña 400 MB hasta 800 MB mediana 800 MB hasta 4 GB grande 4 GB hasta 8 GB Cuadro 2.3: Ejemplos de tamaños de instalación Naturalmente estos valores suben si se quiere guardar ficheros adicionales, aparte de los propios del sistema. Estación de trabajo estándar (muy pequeña) Le sobra un disco duro de alrededor de 500 MB y lo quiere usar para Linux. En este caso genere una partición de swap de 64 MB y reserve el resto para la partición root /. Estación de trabajo estándar (promedio) Le quedan 1,2 GB libres para Linux. Genere una partición de arranque pequeña /boot (5-10 MB o un cilindro), 128 MB para el swap, 800 MB para / y el resto para una partición /home aparte. Estación de trabajo (lujo) Si tiene 1,2 GB o incluso más en varios discos, entonces no existe ninguna for- ma global de particionar. A este respecto consulte apartado 2.7.3 en la página siguiente. 44 2.7 Particionar para avanzados Como servidor de ficheros: Aquí todo depende realmente de las prestaciones del disco duro. En todo caso, son preferibles los discos duros tipo SCSI. También vale la pena tener en cuenta la potencia del disco (SCSI, SCSI Ultra Wide, revoluciones, etc.) y de la contro- ladora. Un servidor de ficheros ofrece la posibilidad de almacenar datos de manera cen- tralizada. Se puede tratar de Directorio de usuario (directorios de usuario), de un banco de datos o de otros ficheros diversos. La ventaja es básicamente una administración simplificada. Si el servidor de ficheros debe trabajar en una red amplia (a partir de 20 usuarios) la optimización del acceso al disco es esencial. Supongamos que se quiere configurar un servidor de ficheros a base de Linux para servir con los directorios personales a 25 usuarios. Se calcula que cada usuario ocupará un máximo de 100-150 MB para sus datos personales. Un disco duro de 4 GB para montar /home es suficiente, suponiendo que los usuarios no siempre compilan en su Directorio personal (home). Con 50 usuarios, el simple cálculo indica que es suficiente con 8 GB. En realidad resulta mejor montar /home en dos discos de 4 GB, porque estos se distribuyen entre sí la carga y el tiempo de acceso. Truco ¡La memoria intermedia (cache) de un navegador de web se debe encontrar sobre un disco duro local! Uso como Servidor: Un Servidor (Compute-Server) es generalmente una computadora potente que se encarga de tareas de cálculo grandes en una red. Típicamente una máquina de estas características tiene mucha memoria (a partir de 512 MB). El cuello de botella se encuentra aquí, en las particiones de swap. En este caso también cuenta que es mejor distribuir varias particiones swap en varios discos. 2.7.3. Posibilidades de optimización Generalmente los discos duros son el factor limitante. Existen tres diferentes posibilidades (que se deben usar juntas) para pasar por ese cuello de botella: Distribuir la carga de manera equilibrada entre varios discos. Utilizar un sistema de ficheros optimizado (p. ej.reiserfs). Equipar el servidor de ficheros con suficiente memoria (mínimo 256 MB). 45 2 La primera instalación de SuSE Linux Paralelizar con varios discos Hay que explicar el primer método con más detenimiento. El tiempo total que transcurre hasta que se pueden proporcionar los datos pedidos a un disco, se constituye (aproximadamente) de las siguientes fases: 1. tiempo, hasta que el pedido está en la controladora. 2. tiempo, hasta que la controladora envíe este pedido al disco duro. 3. tiempo, hasta que el disco duro posiciona su cabezal. 4. tiempo, hasta que el disco se haya girado hacia al sector correcto. 5. tiempo para la transmisión de los datos. El punto 1 depende de la conexión a la red, se regula allí y no nos debe ocupar ahora. El tiempo mencionado en el punto 2 es muy corto y depende de la contro- ladora misma. El punto 3 suele ser "lo gordo", ya que se trata de un tiempo que se mide en ms. Comparado con los tiempos de acceso a la memoria RAM, que son del orden de ns, hablamos de un factor de 1 millón(!). El punto 4 depende de las revoluciones del disco y el punto 5 de esas revoluciones y de la cantidad y posición actual de los cabezales (en la zona interior o exterior del disco). Lo mejor para un buen rendimiento es entonces "atacar" en el punto 3. Los discos del tipo SCSI lo tratan de mejorar mediante la característica "disconnect". Esta característica significa más o menos lo siguiente: La controladora envía al dispositivo conectado (en este caso el disco duro) la orden "¡Vete a la pista x, sector y!". Ahora la mecánica del disco duro con toda su inercia se tiene que poner en marcha. Si el disco es inteligente (o maneja "disconnect") y el driver de la controladora también conoce esta característica, entonces la controladora del disco envía inmediatamente la orden "disconnect" y el disco se separa del bus-SCSI. A partir de ahora, otros dispositivos SCSI pueden llevar a cabo la transferencia de datos. Después de un rato (dependiendo de la estrategia o de la carga en el bus SCSI), se reanudará la conexión al disco duro. En el caso ideal, éste ya habrá llegado con su cabezal a la posición de lectura deseada. En un sistema multitarea y multiusuario como Linux, quedan muchas posibili- dades para optimizar. Se puede observar entonces el resultado de la salida del comando df (ver la salida en pantalla 2.7.1). Filesystem Size Used Avail Use % Mounted on /dev/sda5 1.8G 1.6G 201M 89 % / /dev/sda1 23M 3.9M 17M 18 % /boot /dev/sdb1 2.9G 2.1G 677M 76 % /usr /dev/sdc1 1.9G 958M 941M 51 % /usr/lib shmfs 185M 0 184M 0 % /dev/shm Mensaje en pantalla 2.7.1: Ejemplo de particionar: Resultado del comando df -h. ¿Qué ventaja proporciona esta paralelización? Supongamos que se introduce en /usr/src lo siguiente: 46 2.7 Particionar para avanzados root@tierra:/usr/src/ > tar xzf package.tar.gz -C /usr/lib De este modo se instala package.tar.gz en /usr/lib/package. Para ello, la shell llama los programas tar y gzip (se encuentran en /bin y por lo tanto sobre /dev/sda), después se lee package.tar.gz desde /usr/src (se encuentra sobre /dev/sdb). Por último, los datos extraídos se escriben en /usr/lib, que se encuentra sobre /dev/sdc. Ahora el posicionamiento tal como la lec- tura/escritura de los Búferes internos del disco, se pueden llevar a cabo de man- era casi­paralela. Lo arriba expuesto es solamente un ejemplo entre muchos. Por experiencia se puede decir que /usr y /usr/lib se deben encontrar en diferentes discos si se trata de un sistema de varios discos igual de rápidos. El path /usr/lib debe tener cerca del 70 % de la capacidad de /usr. Por la gran cantidad de accesos es conveniente que el Directorio root se encuentre en el disco con /usr/lib. A partir de una cierta cantidad de discos SCSI (de 4 a 5), conviene considerar seriamente una solución RAID por software o (mejor) la adquisición de una controladora RAID. Con ella, las operaciones en los discos se ejecutarán no solo de manera casi-paralela sino realmente de forma paralela. La tolerancia respecto a fallos es otra agradable ventaja de la tecnología RAID. Tasa de transferencia a discos y tamaño de memoria Mencionamos en varios sitios que bajo Linux, el tamaño de la memoria puede resultar en muchas ocasiones más importante que la propia velocidad del proce- sador. Una razón ­ sino la mayor ­ es la propiedad que tiene Linux de generar búferes dinámicos con datos del disco duro. Haciendo esto, Linux usa muchos trucos sofisticados como "read ahead" (saca sectores adicionales del disco co- mo provisión para el futuro) y "delayed write" (ahorra grabar datos para luego guardar una mayor cantidad de información de una sola vez). Lo último es la razón por la cual no se puede apagar así de simple una computadora con Linux. Ambos trucos son los responsables del hecho que la memoria aparezca con el tiempo más llena y del hecho que Linux sea tan rápido. total used free shared buffers cached Mem: 255 246 9 0 23 44 -/+ buffers/cache: 178 76 Swap: 261 3 257 Mensaje en pantalla 2.7.2: Resultado del comando free -m El salida en pantalla 2.7.2 muestra que hay alrededor de 23 MB almacenados en el búfer. Cuando se quiere acceder a cualquier dato que se encuentra todavía en el búfer, éste llega prácticamente al instante. 47 2 La primera instalación de SuSE Linux 48 3 YaST ­ Yet another Setup Tool 3 YaST ­ Yet another Setup Tool YaST (yast) es una parte esencial de SuSE Linux. YaST instala el sistema, ad- ministra el software (Instalación y desinstalación) y da soporte en las tareas de administración de sistema. Este capítulo describe las funciones más importantes de YaST. Aviso Esta versión de SuSE Linux contiene nuevamente una versión de YaST mejorada, de manera que las imágenes de pantallas ("Screenshots") en el libro no necesariamente concuerdan al cien por cien con las que se ven en el monitor. 3.1. Uso y distribución de teclado Primero se arranca YaST como superusuario `root' en el Prompt con la orden yast: tierra:~ # yast YaST se maneja por lo general con las teclas del cursor (las flechas) y con la tecla § ¤ del tabulador (¦Tab ¥ ). Es posible moverse dentro de las listas con las teclas del § ¤§ ¤ cursor tal como con ¦Re Pág ¥y¦Av Pág ¥ . Con la tecla de espacio se seleccionan las § ¤§ ¤ opciones en una lista y normalmente ¦Enter ¥o¦ ¥confirman la selección. Por lo § ¤ general se sale de los menús o cuadros de diálogo pulsando ¦Esc ¥o `Cancelar' pero si se desea mantener los ajustes hechos en un cuadro de diálogo complejo, § ¤ se debe salir con ¦F10 ¥o `Siguiente'. En caso de afirmación o negación (SI o NO) o cuando hace falta introducir texto § ¤ (p. ej. el nombre de un directorio), se puede saltar entre los campos usando ¦Tab ¥ . La selección activa siempre se muestra en azul. En casos raros, p. ej. cuando se arranca YaST remotamente desde un termi- nal "no-Linux", no se pueden usar las teclas que se mencionan a continuación, ya que los códigos de las teclas son interpretados incorrectamente. En tal ca- § ¤ § ¤§ ¤ so, se pueden simular las teclas ¤ § ¤ ¦F ¥con la combinación § ¦Control ¤§ ¥ +¦f § ¤§ ¥ ¤ ¦ ¥ . Para simular § ¦F10 ¤ ¥se debe pulsar la combinación § ¤ ¦Control ¥ +¦f ¥¦0 ¥ . Las teclas de función ¦F11 ¥y ¦F12 ¥no se usan en YaST. 49 3 YaST ­ Yet another Setup Tool 3.2. El menú principal de YaST Al ejecutar YaST aparece el "Menú principal" (figura 3.1). Figura 3.1: El "Menú principal" `Ayuda general para la instalación' Información diversa. `Ajustes de la instalación ' Este punto se bifurca en un sub-menú (ver apartado 3.4 en la página siguiente). `Escoger/Instalar paquetes' Desde aquí se llega al listado de software, para instalar paquetes en el sistema o bien para eliminarlos (ver apartado 3.7 en la página 70). `Actualizar sistema' Para renovar paquetes de software entrar aquí. `Administración del sistema ' Con esta opción se abre el menú para la administración del sistema (ver apartado 3.9 en la página 78). `Mostrar LEAME del medio de instalación' Información adicional im- portante. `Copyright' Esta es la sección de los abogados. `Salir de YaST' Nada dura eternamente. 3.3. Ayuda general para la instalación Con esta opción se puede acceder a la ayuda en línea de YaST. Los distintos temas de la ayuda en línea están en "hipertexto". Aparece también una expli- cación de las teclas abreviadas. 50 3.4 Ajustes de la instalación 3.4. Ajustes de la instalación Todos los ajustes relevantes para la instalación se efectúan en el sub-menú § ¤ `Ajustes de la instalación' (figura 3.2). Con ¦Esc ¥se puede salir de los menús. Figura 3.2: Menú `Ajustes de la instalación' ¡No se puede efectuar la verdadera instalación antes de haber definido la parti- ción destino! Existen algunas configuraciones que se pueden seleccionar después de la instalación para actualizarlas. 3.4.1. Definir el idioma Con `Elegir el idioma' se puede modificar el idioma de las plantillas de YaST; el valor se guarda en la variable DEFAULT_LANGUAGE en el fichero /etc/ rc.config; ver el apartado 13.9 en la página 331. 3.4.2. Distribución de teclado Con la opción `Elegir teclado' se puede modificar la distribución de teclado, cuyo valor se almacena en la variable dentro del fichero /etc/ rc.config (ver apartado 14.6 en la página 343). Debe seleccionar qwerty/es-cp850 o qwerty/es para un teclado moderno con distribución española. `qwerty' es el orden de las seis teclas con las que comienza la segunda fila de teclas desde el lado izquierdo. 3.4.3. El medio de instalación El cuadro de diálogo en la figura 3.3 en la página siguiente ofrece la posibilidad de elegir el medio desde el cual se quiere instalar todo el software, accediendo a 51 3 YaST ­ Yet another Setup Tool él mediante la opción `Elegir el medio de instalación'. Figura 3.3: Eligiendo la fuente de instalación en YaST Por lo general se elige aquí la opción `Instalación desde CD-ROM' ya que lo más frecuente es hacer la instalación directamente desde el CD-ROM de la computadora. Incluso cuando Linux no soporta directamente su lector CD-ROM también es posible instalarlo optando por la opción `Instalación desde una parti- ción' del disco duro (ver también apartado 3.4.5). Si el contenido del los CDs se encuentra en algún directorio del árbol de directorios, se puede usar la opción `Instalación desde directorio'. Con las opciones `Instalación desde NFS', `Instalación desde un servidor FTP' o `Via SMB' es posible instalar Linux en una computadora que si bien no tiene su propio lector CD-ROM sí tiene conexión de Ethernet a una computadora con lector de CD-ROM. Para realizar esto se puede consultar el apartado 3.4.6 en la página siguiente o el apartado 3.4.8 en la página 55. 3.4.4. Instalación desde CD/DVD Cuando se instala Linux directamente desde el CD-ROM se especifica aquí el tipo de lector que se tiene. Si no hay seguridad sobre esto, se puede comenzar probando lectores tipo `ATAPI EIDE'. 3.4.5. Instalación desde una partición del disco duro En el caso que Linux no soporte directamente el lector CD-ROM, también se puede instalar el sistema en la computadora haciendo un desvío a través de otro medio de instalación. 52 3.4 Ajustes de la instalación Figura 3.4: Elección del lector CD-ROM 3.4.6. Instalación vía NFS Con la instalación vía NFS (instalación por red) existe la posibilidad de instalar de manera simple y confortable varias computadoras, aunque solo una de ellas esté equipada con un lector CD-ROM o con un disco duro que albergue la infor- mación del CDROM. Para efectuar una instalación usando NFS se debería estar acostumbrado a la configuración de este tipo de servidor. Aprovechándose de esta característica, también se puede instalar un portátil que tenga una tarjeta red del tipo PCMCIA. La instalación vía NFS no solo es posible para computadoras que están conec- tadas por Ethernet, sino que también lo es para una computadora conectada a un servidor a través del puerto paralelo. Para portátiles y notebooks esta caracterís- tica tiene una importancia especial. Si se desea efectuar una instalación así, es necesario elegir para el arranque de la computadora un kernel que contenga el soporte PLIP. Aparte de éste hay que hacer algunos ajustes adicionales para que la interfaz PLIP funcione correctamente. Si se conecta directamente con el servidor NFS, entonces la dirección de la con- traparte es la misma que se debe introducir posteriormente como dirección del servidor NFS. La interfaz PLIP será en la mayoría de los casos plip1 al igual que los parámetros del hardware, que no deberían diferenciarse del estándar. ¡Si se usa el puerto paralelo como interfase PLIP, éste ya no se podrá usar como puerto para una impresora! por lo tanto, al conectar la impresora a este tipo de puerto, ésta reacciona en la mayoría de los casos con un "Reset" continuo cuando el driver PLIP se activa. Entonces, en la siguiente pantalla, se debe introducir la dirección IP del servidor NFS tal como el directorio que contiene los ficheros de instalación. ¡Natural- 53 3 YaST ­ Yet another Setup Tool Figura 3.5: Introducción de parámetros de red para la instalación NFS mente, el servidor tiene que exportar este directorio a la computadora que lo pide! 3.4.7. Instalación desde una partición Esta opción sirve sobre todo para seguir instalando software una vez que el SuSE Linux funciona. Además representa una posibilidad para instalar componentes desde algún dispositivo para el cual aún no existía soporte en en forma de drivers en el momento de la producción de los CDs. Por lo tanto, para poder acceder ahora desde YaST a este dispositivo, primero se § ¤§ ¤ arranca YaST. Hecho esto, se cambia a otra consola (p. ej. con ¦Alt ¥+¦F2 ¥a la segunda consola virtual) y se efectúa allí un login como `root'. Desde esta consola se debe montar (ingl. mount) a mano el lector CD-ROM sobre un determinado directorio, introduciendo p. ej. tierra: # mount -tiso9660 /dev/cdrom /cdrom Ahora es posible instalar de manera completamente normal. Con este fin se in- troduce en la siguiente pantalla (figura 3.7 en la página 56) el directorio que con- tiene los ficheros de instalación; este es el directorio sobre el cual se ha montado el CD añadiendo el path suse. Si por ejemplo se ha montado el dispositivo (o la partición de un disco duro) sobre el directorio /cdrom, se introduce entonces tal como en la figura 3.7 en la página 56: /cdrom/suse 54 3.4 Ajustes de la instalación Figura 3.6: Configuración de una conexión PLIP 3.4.8. Instalación vía FTP Como en el caso de NFS, se trata de una posibilidad adicional de instalar SuSE Linux en una computadora que no tiene (soportado) ningún lector CD-ROM. El requisito es en efecto, haber hecho ya la configuración base de la red. `Servidor FTP [Nombre|IP]' El nombre o la dirección IP del servidor FTP. `Directorio del servidor' El lugar en el servidor en el que se encuentra el directorio suse. `[ ] ¿Usar Proxy?' Solo se marca cuando se está seguro de necesitar un FTP-Proxy; por lo general no se necesita ninguno. Por el contrario sí que se necesita un FTP-Proxy real; no se puede usar HTTP-Proxies! `Proxy [Name|IP]' Se usa solamente cuando se ha marcado la opción anteri- or. `[X] ¿Puerto FTP predeterminado?' Preferiblemente marque esta opción. `Puerto [número]' Generalmente debe estar en 21. `[X] ¿FTP anónimo?' Se debe marcar siempre que se deba acceder a un servi- dor FTP público. `Login' Si no ha marcado la opción anterior, entonces se debe proporcionar aquí el nombre de usuario y, en la próxima opción la contraseña. `Password' Introduzca aquí la contraseña. `Timeout [segundos]' 60 es un buen valor. 55 3 YaST ­ Yet another Setup Tool Figura 3.7: Introducción del directorio fuente `Directorio tmp local' El directorio local en el cual se deben almacenar los ficheros temporalmente. Advertencia: YaST solo establece conexiones FTP pasivas 3.5. Particionar disco(s) duro(s) El punto más crítico durante la instalación de un nuevo sistema operativo es el de particionar el disco duro. Por lo general cada sistema operativo necesita una partición propia. Truco En el caso de Linux existe también la posibilidad de instalar el sistema oper- ativo sobre un sistema de ficheros MS-DOS. Se aconseja tomar esta posi- bilidad solo cuando se trata de probar un poco el nuevo sistema operativo, ya que el rendimiento es mucho menor en comparación a una instalación sobre una partición propia de Linux. Además, el sistema no es tan seguro porque no existen p. ej. programas de chequeo del sistema de ficheros para MS-DOS y DOS puede influenciar a Linux durante su operación. Dándole un disco duro propio a Linux resulta muy útil dividir el sistema en varias particiones. Al final son el gusto y la propia filosofía los que deciden sobre la distribución de un sistema Unix, por lo tanto no existe un único camino para todos los casos (ver apartado 2.6 en la página 40 y apartado 2.7 en la página 43); el apartado 3.6 en la página 63 muestra un ejemplo detallado sobre particionar. 56 3.5 Particionar disco(s) duro(s) Figura 3.8: Indicaciones para la instalación vía FTP En todo caso, se debe generar una partición de intercambio (ingl. swap) para aumentar la memoria virtualmemoria de la computadora (ver apartado 2.7.1 en la página 43) . Si la computadora tiene más de un disco duro, se pide seleccionar el que se va a particionar en el siguiente paso. Después de esto se entra en un menú que indica la división actual del disco (imagen 3.9). Figura 3.9: Configurar particiones § ¤ § ¤ Con las flechas ¦ ¥y ¦ ¥se puede repasar la lista de las particiones disponibles y § ¤ § ¤ modificar el tipo de la partición con § ¤ ¦F3 ¥ . Con ¦F4 ¥se borra una partición existente y con ¦F5 ¥se puede generar una partición nueva. § ¤ La modificación de una partición (con ¦F3 ¥ ) es absolutamente obligatoria para 57 3 YaST ­ Yet another Setup Tool generar una partición de intercambio (swap). También es posible que no haga falta particionar el disco, por ejemplo cuando se ha decidido usar a partir de ahora una partición para Linux que actualmente ocupa otro sistema operativo. En este caso simplemente mueva la barra indicadora sobre la partición correspondiente § ¤ y pulse ¦F3 ¥ . Téngase en cuenta que no hay ningún requisito especial por parte de Linux sobre el tipo de partición a usar: Se puede instalar Linux sobre una partición primaria al igual que sobre una lógica dentro de una partición extendida. Aviso El programa fdisk de DOS denomina a las particiones extendidas y lógicas como partición DOS extendida y unidad lógica, respectivamente, aunque este concepto es independiente del sistema operativo. 3.5.1. Establecer partición/sistema de ficheros destino Después de haber dividido el disco duro en particiones, se deben asignar a éstas los sub-directorios en el árbol de directorios de Linux. Para ello elija la opción `Establecer las particiones destino'. Figura 3.10: Establecer sistemas de fichero El ejemplo (figura 3.10) muestra las particiones de un sistema con un disco duro. Aquí es posible definir para cada partición si debe y cómo debe ser formateada y también en cuál punto del árbol de directorios debe montarse posteriormente. ¡Hay que definir necesariamente una partición como partición de raíz (ingl. root)! Esta se denomina partición de raíz porque representa el punto de partida (la raíz) 58 3.5 Particionar disco(s) duro(s) de todos los directorios. Por lo tanto se le asigna el punto de anclaje (Mountpoint) `/'). Normalmente solo se pueden modificar particiones de Linux. Cuando la barra de desplazamiento se encuentra sobre la partición de otro sistema operativo, todas las funciones se desactivan excepto la definición del punto de anclaje. Definir tipo § ¤ Con ¦F3 ¥se puede seleccionar entre los dos distintos sistemas de ficheros ext2 y reiser. `ext2' ­ El sistema de ficheros ext2 (ingl. second extended filesystem) se ha establecido hace muchos años como el sistema de ficheros estándar. `reiserfs' ­ ReiserFS es un sistema de ficheros de última generación y aho- ra es formalmente parte del kernel 2.4. Es imprescindible consultar la in- formación que se encuentra en /usr/share/doc/packages/reiserfs/ README. El grupo de desarrollo alrededor de HANS REISER y CHRIS MASON traba- ja en estrecha colaboración con SuSE y ha conseguido hacer del ReiserFS un "Journaling Filesystem". "Journaling" asegura un chequeo muy rápido (dentro de pocos segundos) del sistema de ficheros (ingl. filesystem check), incluso para servidores grandes. Atención ¡No se debe usar el ReiserFS en combinación con Software-RAID 5, una forma de RAID que en realidad no se debería usar nunca para datos importantes. Estas restricciones no existen para un RAID por hardware. El tamaño mínimo de una partición con ReiserFS es actualmente de 34 MB. Para evitar problemas es aconsejable optar por la configuración estándar de SuSE Linux y generar una partición /boot adicional con el sistema de ficheros ext2 e instalar allí LILO. Actualmente se han de considerar los siguientes puntos utilizando ReiserFS para un serviodor NFS: El daemon knfsd por lo general funciona; solamente cuando se van renom- brando con frecuencia ficheros especiales ("device files", "named pipes") a través de varias directorios montados con NFS, es posible que haya problemas. El daemon unfsd funciona de forma fiable, si el directorio en cuestión se exporta con la opción no_cross_mounts o si se inicia unfsd directa- mente con la opción --no-cross-mounts. La exportación de todo un árbol de directorios (posible gracias a unfsd) no funciona de forma fiable con ReiserFS. 59 3 YaST ­ Yet another Setup Tool El paquete reiserfs, serie a contiene las utilidades para el ReiserFS; reiserfsck aún no es capaz de arreglar cualquier sistema de ficheros daña- do. 60 3.5 Particionar disco(s) duro(s) Hay información actualizada en: http://www.namesys.com/ Mountpoint ­ Punto de anclaje § ¤ Pulsando la tecla ¦F4 ¥es posible definir dónde se debe montar la partición corre- spondiente en el árbol de directorios. Es obligatorio asignar a una partición el directorio raíz (/). Si existiera parti- ciones DOS/Windows, éstas se podrían montar sobre algunos nombres de direc- torio como p. ej. /dosc para la primera partición DOS y /dosd para la segunda, etc., con el fin de encontrarlas posteriormente con facilidad. (Se recomienda: FAT-Win95 (= vfat)). Atención Se deben introducir todos los puntos de anclaje con el nombre de path absoluto. Los nombres no pueden contener caracteres especiales. Los directorios /etc, /bin, /sbin, /lib y /dev deben encontrarse en la misma partición raíz, ya que contienen información para montar los demás sistemas de fichero y así poder arrancar el sistema ¡Existe algo especial para las particiones DOS/Windows! Es posible integrarlas de tres formas diferentes en el árbol de ficheros. Primero como una partición DOS (= msdos) con todas las restricciones del sistema de ficheros DOS. Segundo como FAT-Win95 (= vfat), lo que permite el uso de nombres de fichero largos y Tercero como partición UMSDOS, lo que permite el uso de nombres de fichero largos en particiones DOS "normales". Solo para albergar ficheros de Linux en una partición DOS se precisa UMSDOS. No es ningún método eficiente si la partición DOS solo sirve para el intercambio de ficheros. Si es posible, evite usarlo. Menú de experto para ajustes finos El menú de experto (ver figura 3.11 en la página siguiente) permite realizar al- gunos ajustes finos. La densidad de Inode indica cuál es el tamaño promedio de ficheros que se espera para una partición. La cantidad de inodes determina cuántos ficheros se pueden almacenar en una partición. Cuando esta cantidad es demasiado pequeña, es posi- ble que una partición cuente como llena, aunque existan todavía bloques libres en la partición. Si por ejemplo se elige un valor de 4096 Bytes por inode, significa que todos los ficheros deben tener en promedio un tamaño de 4 KB. Si por el contrario en 61 3 YaST ­ Yet another Setup Tool Figura 3.11: Menú de experto para configurar los sistemas de fichero este tipo de partición se usan exclusivamente ficheros con un tamaño de solo un Kilobyte, entonces la partición ya cuenta como llena cuando solamente se usa una cuarta parte del espacio disponible, por falta de espacio en el sistema de ficheros. Un inode para cada 4 KB es un valor aceptable (más inodes por partición signifi- ca naturalmente menos espacio neto en la partición, porque también hace falta grabar la tabla con los inodes). Usando una partición como área spool p. ej. para Netnews, es mejor usar un valor de 2048 Bytes por inode, ya que los artículos suelen ser ficheros muy pequeños. La definición del Tamaño de bloque influye sobre la duración de un chequeo del sistema de ficheros. Un valor razonable para el tamaño de bloque es 1024 (= 1 KB) para particiones hasta 1 GB de tamaño y 4096 (= 4 KB) para parti- ciones hasta 4 GB. En este menú se pueden definir también las condiciones que se deben cumplir para que se efectúe un chequeo del sistema de ficheros; es posible considerar la frecuencia con la que monta el sistema de ficheros. El área reservada para `root': El superusuario debe tener un área reservada si existen particiones usadas por utilidades del sistema y por parte de usuarios normales. No hace falta que la partición de /home ofrezca espacio para `root'. También es posible indicar el Comportamiento en caso de error. Cuando el sis- tema de ficheros tiene un error es posible definir que todo continúe trabajando (Ok), que el sistema de ficheros se remonte en modo solo-lectura (remount-ro) o que el sistema se pare al instante (panic). 62 3.6 Extra: Configuración manual del disco duro Atención La opción más adecuada depende del uso de la computadora; en cualquier caso modifique solamente el valor por defecto Ok si sabe bien lo que hace! Formatear las particiones § ¤ Usando la tecla ¦F6 ¥se puede determinar cómo formatear las particiones. Si se usan discos duros modernos, recién salidos de la fábrica, no hace falta activar la comprobación de sectores dañados durante el formateo, no obstante, por razones de seguridad también se puede activar esta opción pero el proceso de formatear durará mucho más tiempo. Leer el fichero fstab § ¤ Pulsando ¦F7 ¥es posible leer un fichero fstab ya existente (ingl. file system table). Se indican también las entradas en fstab que no correspondan a ningún sistema de ficheros del disco duro (swap, proc, nfs-mount, lectores CD-ROM, etc). Estas entradas se indican en gris ya que no pueden ser modificadas y por tanto se mantienen constantes grabando el fichero fstab. La mencionada característica es necesaria cuando se desea actualizar el sistema (ver apartado 12.1.3 en la página 293), ya que en tal caso YaST necesita saber sobre cuáles particiones se distribuye éste. Justamente en el caso de tener varias versiones de Linux instaladas en una misma computadora, se necesita saber cuál versión se actualiza y cuál no. 3.6. Extra: Configuración manual del disco duro 3.6.1. Establecer particiones ¿De qué se trata? El presente apartado explica las pantallas de YaST que aparecerán durante el proceso de configuración en caso de haberse decidido en el apartado 2.1.3 en la página 13 por establecer las particiones de manera interactiva. ANDRIES BROUWER ha preparado un documento con información más detalla- da sobre los distintos tipos de partición que se encuentra en http://www.win. tue.nl/~aeb/partitions/. Paso por paso. . . Para ajustar las particiones se procede de la siguiente manera: 63 3 YaST ­ Yet another Setup Tool 1. YaST presenta una pantalla con varias zonas (ver figura 3.9 en la página 57): En la parte superior de la pantalla figuran los parámetros del disco duro. En la segunda parte se encuentran posibles advertencias y mensajes de error del programa fdisk. Estos mensajes se pueden visualizar mejor con § ¤ ¦F6 ¥. En la parte inferior se apuntan las particiones que fdisk ha encontrado en el disco duro. Allí se pueden ver las particiones del sistema operativo que se ha usado hasta ahora, por ejemplo MS­DOS. En caso de haber generado una partición de swap, ésta también figura allí. 2. Para borrar particiones existentes, con el fin de particionar de nuevo el espa- cio liberado, se debe hacer primero lo siguiente: § ¤ § ¤ Navegar con las teclas ¦ ¥y ¦ ¥para dirigirse a la partición que se quiere borrar. Piénselo bien otra vez; también tenga en cuenta el tipo de partición. § ¤ § ¤ Después pulse ¦F4 ¥y confirme el borrado con ¦ ¥. Atención Cuando se borran particiones, también se borran todos los datos con- tenidos en ellas. ¡Esta afirmación no es técnicamente correcta al 100 %, pero los datos se borrarán igualmente! Si se desea borrar varias particiones, lo mejor es llevarlo a cabo de una vez. 3. En caso de querer usar las particiones de otros sistemas operativos para Lin- ux, se puede efectuar ahora cambiando el tipo de partición. Atención ¡Cuando se cambia el tipo de partición, es probable que otros sistemas operativos (MS-DOS o Windows) ya no puedan acceder a los datos contenidos en ella! § ¤ § ¤ Navegar con ¦ ¥y ¦ ¥para anotar la partición a la que se quiere cambiar de § ¤ tipo. Cuando se encuentre la partición "correcta", pulsar ¦F3 ¥. Aparece una pequeña ventana para seleccionar el tipo de partición deseada. Elegir entre una partición Linux normal native y una del tipo swap y después § ¤ confirmar con ¦ ¥. 4. Si quiere generar nuevas particiones de Linux (lo normal), entonces genérelas § ¤ § ¤ una después de la otra. Con este fin se pulsa primero ¦F5 ¥ . Si ¦F5 ¥no muestra ningún resultado, significa que no hay espacio para nuevas particiones en el disco duro. En este caso habrá que borrar primero algunas particiones (ver arriba). . . . Aparece una ventana de selección para definir el tipo de la nueva parti- ción (figura 3.12). Seleccionar entre `Partición primaria', `Partición 64 3.6 Extra: Configuración manual del disco duro Figura 3.12: YaST ­ Definición de particiones § ¤ extendida' y eventualmente `Partición lógica'; confirmar con ¦ ¥ . Para recordar: Cada disco soporta como máximo cuatro particiones pri- marias. Si se necesitan más de cuatro particiones primarias, la cuarta parti- ción debe ser una partición extendida, dentro de la cual se pueden generar entonces varias particiones lógicas. Para mayor información ver el aparta- do 2.6 en la página 40. Si se ha generado una partición lógica o primaria, se debe determinar bajo cuál nombre de dispositivo (ingl. device) debe figurar. YaST ofrece los nom- bres disponibles para éstos; simplemente se selecciona el nombre superior, § ¤ p. ej. `/dev/hda2' y se pulsa ¦ ¥. En el siguiente paso se tiene que definir el tamaño de la nueva partición. YaST propone como comienzo de la primera, el primer cilindro libre. Normalmente § ¤ se puede confirmar esta propuesta con ¦ ¥ . Ahora es necesario fijar el final de la partición. Se presentan tres posibilidades: Precisar ya sea el número del cilindro final (p. ej. 976), la cantidad de cilindros de la partición (p. ej. § ¤ +66) o bien, el tamaño en megabytes (p. ej. +100M). De nuevo § ¤ ¦ ¥le lleva a `Continuar'; confirme con ¦ ¥. La partición recién definida aparece ahora en la parte inferior de la pantalla. Si esta partición no ha resultado como se esperaba, se puede borrar de nuevo § ¤ con ¦F4 ¥... 5. Una de las particiones debe ser en todo caso del tipo swap. Si todavía no ha § ¤ § ¤ generado ninguna, seleccione con ¦ ¥y ¦ ¥una partición adecuada. Para en- contrar un tamaño razonable para la partición swap consulte el apartado 2.6 § ¤ en la página 40. Pulse ¦F3 § ¥,seleccione `Partición Linux swap' y con- ¤ firme la operación con ¦ ¥. 65 3 YaST ­ Yet another Setup Tool 6. ¿Están ahora todas las particiones establecidas según su deseo? (el disco duro debe estar completamente ocupado) ¿También se ha tenido en cuenta la par- § ¤ tición de swap? Entonces mueva el Cursor § ¤ ¦Tab ¥al campo `Continuar', en caso de no encontrarse allí ya. ¦ ¥le llevará después de una confirmación adicional a la ventana `Creando sistemas de ficheros'. Según las condiciones, YaST comprueba otra vez la partición de swap para ase- gurarse. 3.6.2. Fijar sistemas de fichero y "Mountpoints" ¿De qué se trata? En el paso anterior todas las particiones se dieron de alta en la tabla de parti- ciones. En el paso actual se debe proporcionar información adicional para las particiones Linux recién configuradas y para las que puedan existir del tipo DOS o HPFS. Información adicional La información adicional acerca de las particiones, se queda parcialmente fija en el fichero /etc/fstab, que es la tabla de sistemas de fichero (ingl. file system table). Esta tabla contiene todas las características constantes sobre los sistemas de fichero, p. ej. el nombre de dispositivo (ingl. Device), la posición o el tipo de sistema. También contiene información para los programas dump y fsck; ver la página del manual de fstab (man 5 fstab). Además, YaST necesita los datos para poder establecer los sistemas de fichero Linux en las particiones formateadas. En este paso de la configuración no se toca la partición swap, porque ya fue definida en el apartado 3.6.1 en la página 63 y no tiene ningún grado de libertad adicional. Contrariamente a los efectos que tiene la manipulación de la tabla de particiones (ver apartado 3.6.1 en la página 63), los ajustes de este apartado son internos de Linux y en consecuencia no tienen ningún efecto sobre otros sistemas operativos que se encuentren en otras particiones. A continuación las explicaciones sobre algunos términos: Bajo Linux todos los sistemas de fichero están ligados a un único "árbol". Para cada sistema de ficheros se debe precisar en cuál rama del árbol debe aparecer: Este es entonces el correspondiente punto de montaje (ingl. Mount- point). También es posible colocar particiones de DOS o HPFS en el árbol de Linux. El espacio de almacenamiento en un sistema de ficheros Linux se gestiona mediante los Inodes. El inode apunta a los datos que están almacenados en los ficheros. Se determina la cantidad de inodes a la hora de establecer un sistema de ficheros. Cuando la idea es almacenar muchos ficheros pequeños, se necesitan muchos inodes (los que naturalmente necesitan más espacio por sí mismos). Por el contrario, teniendo muchos ficheros grandes no hacen falta 66 3.6 Extra: Configuración manual del disco duro tantos inodes. Sobre este tema hay más detalles en el apartado 3.5.1 en la página 61. Paso por paso. . . Dentro de la máscara de entrada se encuentra `creando sistemas de ficheros' (ver figura 3.10 en la página 58). Para definir los sistemas de fichero de las nuevas particiones, se procede de la siguiente manera: 1. Información preliminar sobre qué hacer: Para los sistemas de ficheros DOS y HPFS (dentro de sus respectivas par- ticiones) se puede fijar aquí un punto de montaje (ingl. Mountpoint). Para cada una de las nuevas particiones Linux: * Se debe fijar un punto de montaje * Se puede usar `F5=Menú Experto' para realizar ajustes finos. * Se puede con `F6=Formato' modificar la manera propuesta de for- mateado (con o sin verificación). Para la primera instalación no se necesita la función `leer Fstab'. Figura 3.13: YaST ­ Montar particiones DOS/Windows § ¤ 2. Con ¦F3 ¥se puede seleccionar entre los dos distintos sistemas de ficheros; ac- tualmente se puede seleccionar entre el probado ext2 y el nuevo reiserfs que ofrece prestaciones más avanzadas. Atención No se puede usar el ReiserFS en conjunto con un Software-RAID 5. En cuanto al Hardware-RAID no existe ninguna restricción. Actualmente (mayo 2001) reiserfs es aún muy joven en comparación con ext2; hay que considerar esto a la hora de decidirse por ello. Para más infor- mación consulte en la página 59. 67 3 YaST ­ Yet another Setup Tool 3. Para acceder con Linux a una partición del tipo DOS o HPFS, hay que se- § ¤ leccionarla y pulsar ¦F4 ¥.Aparece un cuadro de diálogo que pide el nombre de un directorio. Bajo el nombre de este directorio se encontrará después el sistema de ficheros DOS/HPFS. Escriba aquí por ejemplo dosc; recuerde § ¤ colocar la barra (`/') al comienzo. Confirme con ¦ ¥. En el caso de una partición de DOS, aparecerá un cuadro de diálogo adicional (figura 3.13 en la página anterior) en el que se selecciona el modo en que Linux debe acceder al sistema de ficheros DOS (ver también apartado 3.5.1 en la página 61). Lo normal es que el uso de la partición DOS desde Linux vaya a ser esporádico, p. ej. para el intercambio de ficheros, así que se puede seleccionar aquí `DOS' o `FAT-Win95' (= vfat). Las propiedades de los ficheros son como las de UNIX y los nombres de fichero largos como los ofrece el sistema de ficheros UMSDOS, los cuales solamente se necesitan si se quiere instalar SuSE Linux en una partición DOS. ¡Es mejor evitar esto lo más que se pueda! 4. Ahora se deben introducir los puntos de montaje (ingl. Mountpoints) de las particiones Linux. Seleccione estas particiones una después de la otra y pulse § ¤ ¦F4 ¥ . Aparece la ventana en la que debe introducir el directorio, bajo el cual aparece el sistema de ficheros de esta partición dentro del sistema de ficheros total. Siempre se introduce el "path" con la barra (`/') al comienzo. Por supuesto, dependerá de los planes de particionar, cuáles directorios se indicarán como puntos de montaje. En todo caso se necesita un directo- rio `/' (ingl. root directory) que forma la raíz y el tronco del sistema de ficheros completo; en castellano se denomina "directorio raíz". Como ya se ha mencionado, los demás sistemas de fichero y sus correspondientes puntos de montaje son cuestión de gusto; pero cuidado: Atención Los directorios que se necesitan en el arranque de la máquina, tienen que estar colocados directamente en el sistema de ficheros `/', porque en el momento de arrancar las distintas ramas del sistema de ficheros total aún no están unidos al tronco (aún no están "montados"). Así pues, no se deben indicar aquí los directorios /bin, /dev, /lib, /etc y /sbin 5. Lo mejor es ignorar el menú `Expertos', si apenas está comenzando con Linux; normalmente los valores de selección automática son adecuados y aseguran un funcionamiento seguro. No modifique estos valore sin conocer bien las consecuencias (ver en la página 61). 6. Determinar si se deben formatear o no las particiones de Linux y en caso positivo cómo deben ser formateadas. Las particiones que fueron generadas bajo el apartado 3.6.1 en la página 63, deben ser formateadas en todo caso. Si tiene un disco duro moderno es suficiente usar `Formateo normal'. Con un disco un tanto anticuado es mejor usar `Formateo con verificación'. 68 3.6 Extra: Configuración manual del disco duro Figura 3.14: YaST ­ Puntos de montaje § ¤ Seleccionar sucesivamente las particiones Linux, pulsar ¦F6 ¥y escoger de- spués el tipo de formateo adecuado; al final de este paso, el menú debe aparecer como lo muestra la figura 3.14 (generalmente no se tendrá ningún directorio NFS apuntado) 7. Seleccionar `Continuar' y confirmar la pregunta de seguridad. Ahora YaST formatea todas las particiones. 3.6.3. Configurar el Logical Volume Manager Puede encontrar información acerca de la configuración del "Logical Volume Manager" (LVM) en http://www.suse.de/en/linux/whitepapers/ y en el "howto" oficial de LVM que se encuentra en: http://www.sistina.com/lvm/Pages/howto.html Incluso es posible configurar el LVM con YaST2; ; véase 99. 3.6.4. Instalación dentro de un directorio YaST permite instalar todo el sistema dentro de un directorio. Esto permite p. ej. actualizar una computadora vía NFS, configurar un "entorno chroot" o instalar Linux desde una computadora en marcha a un segundo disco duro. Se trata de un modo de instalación reservado a casos especiales. Antes de instalar con este método hay que procurar tener montado el sistema de ficheros deseado sobre el directorio en cuestión. Es muy importante preocuparse por la capacidad de arranque del sistema insta- lado efectuando los cambios necesarios. También es muy probable que se deba modificar el fichero fstab que YaST genera en la instalación nueva. 69 3 YaST ­ Yet another Setup Tool Figura 3.15: YaST ­ Logical Volume Manager Indique entonces en el cuadro de diálogo, en cuál directorio quiere que se instale el sistema. 3.7. Administración de paquetes / Seleccionar paquetes Después de haber terminado la configuración de los sistemas de fichero, elija en el menú principal `Gestión de paquetes' para escoger los paquetes que desea instalar y después arranque la instalación; ; ver figura 3.16 en la página siguiente. Existe también la posibilidad de generar, grabar y cargar perfiles de instalación propios y de buscar determinados paquetes. También existe la posibilidad de arrancar la instalación misma desde este menú o echar un vistazo para averiguar lo que pasaría en caso de instalar la selección de paquetes actual. 3.7.1. Cargar configuración Bajo la opción `Cargar configuración' se encuentran algunas configura- ciones preparadas por nosotros; ver figura 2.10 en la página 17. Puede pasar § ¤ por las distintas configuraciones (conjuntos de software) usando las flechas ¤ § ¤ ¦ ¥y § ¦ ¥ ; espacio ¦ ¥selecciona o deselecciona una opción. El sistema básico permite arrancar Linux desde el disco duro para la instalación posterior de paquetes adicionales. 70 3.7 Administración de paquetes / Seleccionar paquetes Figura 3.16: Administración de paquetes / Seleccionar paquetes Si ha generado perfiles de instalación propios, es posible activarlos aquí. Se trata de un procedimiento especialmente útil para instalar varias computadoras con la misma configuración. Al aplicar una configuración diferente sobre un sistema ya instalado, todos los paquetes instalados que no correspondan a la nueva configuración se marcan para ser borrados, si se selecciona `Reemplazar'. Para mantenerlos seleccione `Añadir' (Cargar) o conteste posteriormente No a la pregunta de seguridad so- bre si realmente los quiere borrar o no. Esta pregunta aparece después de haber elegido `Empezar Instalación' en el menú de elección de paquetes. De lo contrario, se tendrían que deseleccionar uno a uno todos los paquetes marcados con `[D]' para que después aparezcan marcados con `[i]'. 3.7.2. Salvar configuración Aquí se puede salvar la configuración personal. Si se ha arrancado YaST desde el disquete, se usará el mismo para salvarla. Si por el contrario se ha arrancado directamente desde el CD, YaST pide introducir un disquete formateado para guardar los datos en él. 3.7.3. Cambiar / Crear configuración Al elegir esta opción se entra en el editor de selección (ver figura 3.17), que le permite determinar libremente el contenido de la instalación o modificar una configuración prefabricada y actualmente cargada (ver apartado 3.7.1 en la pági- na anterior). Otra característica de esta opción es la de poder borrar paquetes instalados después de la instalación principal en concepto de mantenimiento del sistema. 71 3 YaST ­ Yet another Setup Tool Figura 3.17: Selección de las series en YaST § ¤ § ¤ Es posible moverse por la lista de opciones usando las flechas § ¤ § ¤ § ¤ ¦ ¥y ¦ ¥tal como las teclas ¦Re Pág ¥y ¦Av Pág ¥.Con ¦ ¥se puede llegar al sub-menú para elegir los paquetes dentro de cada serie. El panel inferior informa sobre los espacios disponibles y ocupados en el sistema. § ¤ Pulsando la tecla ¦F4 ¥es posible reordenar los paquetes para tener así una agru- pación diferente de los mismos (figura 3.18 en la página siguiente). Actualmente, aparte de `Series' y `Grupos RPM', existe la opción `Todos los paquetes' (ingl. `All packages'): `Series' El orden conocido de paquetes ordenados por series. `Grupos RPM' Ordenado según el grupo RPM indicado. `Todos los paquetes' `Todos los paquetes (sin fuentes)'; `Paque- tes del sistema base' y `Todas las fuentes' . Para salir de una opción, p. ej. de la selección de series y volver al menú de § ¤ configuración superior, se pulsa ¦F10 ¥. § ¤ Una vez seleccionada una serie y pulsando ¦ ¥,se entra en la parte de elección de paquetes de la correspondiente serie (la figura 3.19 en la página 74) muestra p. ej. el contenido de la serie a). En caso de haber cargado anteriormente una configuración, todos los paquetes que ya están seleccionados aparecen marcados con una X. La ventana derecha indica en cada momento cuánto espacio ocuparía la selección actual de paquetes. En el panel inferior aparece siempre una descripción corta del paquete que es- tá actualmente seleccionado. El panel derecho informa sobre el gasto actual de espacio en las particiones del disco. Estos valores se actualizan continuamente a medida que se vaya seleccionando o deseleccionando un paquete. A veces el espacio disponible para la descripción de los paquetes o para la in- formación sobre las particiones no alcanza para mostrarlo todo, no obstante, con 72 3.7 Administración de paquetes / Seleccionar paquetes Figura 3.18: Reordenar paquetes en YaST § ¤ § ¤ ¦F2 ¥o ¦F3 ¥es posible ampliar estos paneles y así ver toda la información en una ventana aparte. Por delante del nombre de paquete se indica su estado actual: `[ ]' indica un paquete que no se ha instalado `[X]' indica un paquete que está previsto para la instalación `[i]' indica un paquete que ya está instalado `[D]' indica un paquete que está por borrarse `[R]' indica un paquete que está por reemplazarse § ¤ Pulsando ¦ ¥se cambia entre los estados `[ ]' y `[X]' o entre `[i]', `[R]' y `[D]'. Para cambiar el estado de todos los paquetes de una serie se puede usar § ¤ § ¤ ¦ Shift ¥+ ¦A ¥ § ¤ Pulsando ¦F6 ¥se consigue la instalación adicional del paquete fuente correspon- diente ; respecto a las fuentes véase también el apartado 12.3.4 en la página 310 . Desde esta posición en el menú es posible volver a la selección de series pulsando § ¤ ¦F10 ¥ . Si desea salir de la selección de paquetes sin que las modificaciones tengan § ¤ efecto, simplemente pulse ¦Esc ¥. 3.7.4. Comprobar las dependencias En muchas ocasiones, la instalación de un determinado programa requiere que otros estén instalados. YaST comprueba las dependencias entre los paquetes in- stalados y los previstos para instalar excepto los que están marcados para borrar. 73 3 YaST ­ Yet another Setup Tool Figura 3.19: Selección de paquetes, serie a (Sistema base) En otras palabras, lo que se comprueba es la correcta coexistencia de todos los paquetes como si ya se hubiera elegido `Empezar Instalación'. Aviso Las dependencias entre paquetes que se encuentren sobre un CD de una versión anterior a la del sistema base instalado o actualizado se ignoran. Las dependencias que se encuentran y que se han de cumplir se muestran en un cuadro de diálogo; ver figura 3.20 en la página siguiente. Se puede distin- guir entre tres tipos de dependencias que se muestran por separado en diferentes columnas. Al no aparecer un determinado tipo de dependencia, la columna para la misma no aparece: Paquetes requeridos. Paquetes requeridos por otros que están instalados o se- leccionados para serlo. Esta clase de paquetes está marcada por omisión; véase en este ejemplo gettext. Propiedades requeridas. En ocasiones los paquetes instalados no requieren otro paquete sino una determinada característica. Por ejemplo cuando un pa- quete requiere la característica windowmanager y no hay ningún paque- te instalado que tenga esta característica, todos los paquetes que la tengan se muestran en la lista de selección por debajo de windowmanager; ver el ejemplo glu. Se debe seleccionar al menos uno de estos paquetes pero a veces puede ser razonable seleccionar varios de ellos. Conflictos. Ciertos paquetes que cumplen la misma funcionalidad, no se deben instalar simultáneamente. Por ejemplo el intento de instalar y utilizar varios agentes de transporte de correo producirá más bien un caos en lugar de que sea un servidor de correo funcional. Por eso debe decidirse por uno de los 74 3.7 Administración de paquetes / Seleccionar paquetes Figura 3.20: Comprobar dependencias entre paquetes paquetes dentro de la lista de selección y quitar la marca de instalación a los demás; véase en este ejemplo postfix y sendmail. En todas las listas, las reglas incumplidas se marcan en color rojo. En el mo- mento que una determinada regla se cumpla por modificar alguna selección, su § ¤ color cambia a negro. La tecla ¦Tab ¥sirve para cambiar de una lista a la otra y § ¤ § ¤ las modificaciones se realizan pulsando la tecla ¦Espacio ¥ . La tecla ¦F10 ¥(Solve) sirve para calcular las dependencias nuevamente después de haber modificado la selección. La configuración no se activa antes de salir de este cuadro de diálogo con `Con- § ¤ tinuar'. Las teclas `Abortar' y ¦Esc ¥cancelan todas las modificaciones para salir del cuadro. 3.7.5. ¿Qué pasaría si...? YaST es también una utilidad para comprobar la selección de paquetes realizada. La opción `¿Qué pasaría si...?' permite comprobar que no se va a borrar ningún fichero que sea absolutamente imprescindible para el buen funcionamien- to del sistema. 3.7.6. Empezar instalación Con esta opción comienza realmente la instalación. Todos los paquetes elegidos se leen desde el medio de instalación, se descomprimen y se instalan en el sitio predeterminado. 75 3 YaST ­ Yet another Setup Tool Durante la instalación se indican en la ventana inferior los posibles mensajes de error y de estado. La línea superior indica siempre cuál paquete se instala en cada momento. § ¤ Después de la instalación es posible cambiar con ¦Tab ¥a la ventana de apuntes (protocolo) y desde allí desplazarse hacia arriba para ver y analizar los posibles mensajes de error. 3.7.7. Listado de las series y paquetes Aquí simplemente se muestra una lista de todos los paquetes en el CD. Los paquetes marcados con `*' ya están instalados o bien seleccionados para ser in- stalados. Esta función es muy práctica a la hora de conseguir un resumen rápido. 3.7.8. Información sobre paquetes A veces uno quiere saber dónde se esconde en el SuSE Linux-CD el fantástico programa que mencionaron en una revista de PC. Para buscar paquetes y ficheros de forma sencilla y rápida, en el SuSE Linux- CD y en el sistema instalado hay información sobre estos; simplemente se indica el nombre del fichero que se necesita y YaST procederá a buscarlo en el medio indicado y presentará un listado con los sitios localizados. 3.7.9. Instalar paquetes Esta opción existe para instalar cualquier paquete, p. ej. versiones nuevas o cor- regidas que proporcionamos en el servidor FTP ftp.suse.com. También sirve para instalar paquetes generados por cuenta propia o recibidos de otras fuentes. Se soportan ficheros Tar comprimidos (.tgz) y paquetes RPM (.rpm, .spm y .src.rpm) al igual que paquetes especiales tipo Patch (.pat), que propor- cionamos según necesidad en nuestro servidor FTP. La instalación se realiza en 3 pasos (es posible ver instrucciones explícitas pul- § ¤ sando ¦F1 ¥ ): Selección de la fuente de instalación Selección de los paquetes allí ofrecidos Instalación de los paquetes § ¤ Pulsando ¦ ¥en la opción `Fuente': aparece un listado de las posibles fuentes de instalación: `Directorio', `FTP', `Medio fuente' y `Disquete'. Podría ser necesario cambiar el path predefinido (Directorio/FTP) y confirmarlo con § ¤ ¦ ¥. YaST muestra ahora una lista con los paquetes disponibles allí y entonces es posible instalar directamente desde Internet usando la opción `FTP' (ver figu- ra 3.21). La dirección es ftp.suse.com:/pub/suse/i386/update/7.3 76 3.7 Administración de paquetes / Seleccionar paquetes Figura 3.21: Instalar paquetes vía FTP Por el momento no es posible instalar paquetes a través de un "Proxy" ya que se requiere el acceso directo al servidor FTP. Truco Si aparece un mensaje como "530 User ftp access denied", lo más probable es que solo de modo temporal no haya acceso por saturación. Pruébelo más tarde cuando haya menos usuarios conectados al sistema. Después de haber seleccionado el paquete rpm que se quiere instalar, como siem- § ¤ § ¤ pre, se marca con ¦Espacio ¥y después se instala con ¦F10 ¥ . El paquete correspon- diente se copia también en el directorio /tmp/ftp, de este modo existe la posibilidad de instalarlo a mano más tarde, en caso de que algo hubiese ido mal (ver apartado 12.3.2 en la página 305) . 3.7.10. Eliminar paquetes Al seleccionar esta opción, YaST mostrará una lista de todos los paquetes que es- tán instalados en el sistema incluidos los paquetes ajenos. Como "paquete ajeno" se entiende un paquete que no se encuentra en ningún SuSE-CD. En tal caso, YaST no puede hacer ninguna actualización y tampoco puede comprobar las de- pendencias entre ellos. Lo más sencillo es reemplazarlos por los paquetes correspondientes de los SuSE- § ¤ CDs. Para ello se selecciona en la lista los paquetes afectados; con ¦F2 ¥aparece una descripción breve del paquete, ya que no existe ninguna descripción larga § ¤ para ellos; con ¦F10 ¥se borran los paquetes seleccionados y después es posible instalarlos otra vez desde el CD de SuSE. 77 3 YaST ­ Yet another Setup Tool 3.8. Actualizar el sistema No se debería usar la opción `Actualizar sistema' si el sistema base no es lo suficientemente actual - es decir, cuando su versión no es igual a la del medio fuente. De todas maneras YaST lo indicará claramente. Para hacer realmente una actualización del sistema, comience como se explica en el capítulo 12 en la página 291. Los paquetes sueltos se actualizan con YaST según el apartado 3.7.9 en la página 76. 3.9. Administración del sistema Además de la pura instalación, YaST le soporta también en las diferentes tareas de administración que tendrá que afrontar como Administrador de sistema. Después de finalizar realmente la instalación, es necesario ajustar una serie de parámetros para adaptar el sistema a los requerimientos particulares, tales como: configuración y activación de servicios de red, instalación de hardware adicional, generación de usuarios, determinación de las propiedades de arranque de SuSE Linux, etc. Figura 3.22: Administración del sistema Para entrar en la parte de administración del sistema hay que elegir `Adminis- tración del sistema' (figura 3.1 en la página 50) en el menú principal de YaST (ver figura 3.22 en la página siguiente). 3.9.1. Instalar hardware en el sistema Aquí es posible especificar con más detalle el hardware usado. Por lo general se genera un enlace simbólicoenlace (ingl. Link) entre un dispositivo estándar y el 78 3.9 Administración del sistema hardware. Así se puede acceder fácilmente al hardware sin necesidad de recordar el nombre exacto del mismo. Figura 3.23: Configuración de hardware Las configuraciones de mouse, modem, escáner, impresora y lector CD-ROM se realizan siguiendo las indicaciones de los menús. Por otra parte, la configuración de la impresora, que figura a continuación, es algo más complicada. Configurar impresoras El acceso a una impresora bajo Linux es un proceso complejo; la explicación técnica se encuentra en el capítulo 9 en la página 213. YaST ofrece una posibilidad de configurar cómodamente el apsfilter para la im- presora (figura 3.24 en la página 81): La opción `Nombre de la impresora' muestra todas las impresoras sopor- tadas por Ghostspript. Desde esta lista se debe elegir la impresora que se usa. En caso de no haber un "driver" de Ghostscript disponible, es posible introducirlo a mano usando la opción `Otra impresora' y después `'. El driver uniprint y su correspondiente "fichero de parámetros" se configura con YaST2 o con lprsetup; véase el apartado 9.3.2 en la página 224 . Las impresoras suelen estar conectadas a un puerto paralelo (puerto de impreso- ra o "Parport")) o a un puerto USB. Cuando están conectadas al primer puerto paralelo, la denominación correcta de Linux para ese puerto es /dev/lp0. 79 3 YaST ­ Yet another Setup Tool Figura 3.24: Configurar apsfilter con YaST Truco En caso de que la impresora no imprima, configure en la BIOS los sigu- ientes valores para el puerto paralelo: Dirección-IO 378 (hexadecimal) Interrupción 7 Modo: Normal (o SPP) desactive DMA (debería estar desactivado en modo Normal) Estos son los valores estándar. 3.9.2. Configuración del kernel y arranque Aquí es posible hacer ajustes básicos que tienen influencia sobre el arranque del sistema y el kernel usado. `Elegir el kernel (de arranque)' Para instalar un kernel precompilado junto con los módulos correspondientes (desde el SuSE-CD) seleccione (`Elegir el kernel'). Este se ofrece por ejem- plo cuando la primera selección durante la instalación no fue la óptima. YaST 80 3.9 Administración del sistema Figura 3.25: Configuración de kernel y arranque también le ofrecerá copiar la configuración del kernel (.config) al directorio de las fuentes del mismo (/usr/src/linux). Seleccione el kernel para la arquitectura especial de la computadora y deje que YaST configure de nuevo el LILO. Si anteriormente no fue posible arrancar con LILO consulte abajo las instrucciones sobre la configuración de LILO. Para el usuario avanzado es bastante recomendable que compile su propio kernel una vez finalizada la instalación (ver capítulo 10 en la página 247). Este tipo de kernel ­ hecho justamente a medida del sistema ­ es más pequeño, más rápido y evita problemas de drivers con hardware no existente. Como principiante en el tema de Linux es mejor quedarse con el kernel estándar que le suministramos, ya que solo usando este kernel estándar, tendrá derecho al soporte de instalación. `Crear disco de rescate' Un disquete de "emergencia" o de "rescate" (rescue disk) es bueno cuando el sistema Linux ya no quiere arrancar de ninguna otra forma. Se genera con la opción `Crear disco rescate' (ver apartado 13.6 en la página 325). `Configuración LILO' YaST ofrece también una pantalla para una fácil configuración del LILO (ingl. LInux LOader) (figura 3.26 en la página 83). LILO gestiona también el arranque de OS/2-, DOS- y Windows 95/98, pero hay que tener cuidado con Windows NT. En el capítulo 5 en la página 109 hay más información sobre el significado de cada campo y de sus opciones. La `Línea para parámetros de hardware' se queda generalmente vacía; ver apartado 5.4.2 en la página 119, salvo que se hayan usado parámetros adi- cionales para el primer arranque. En tal caso se introducen estos parámetros, 81 3 YaST ­ Yet another Setup Tool Figura 3.26: Instalación de LILO pero sin el nombre del kernel linux por delante! Los detalles se muestran en el apartado 5.4.2 en la página 119. `¿Dónde desea instalar LILO?': Si solo existe Linux en la computadora, entonces Master boot record es el sitio correcto; Sector de arranque de la partición /boot se recomienda cuando se quiere arrancar Linux con otro gestor de arranque (ingl. Bootmanager); en caso de no haber generado la partición /boot, seleccione (Sector de) Arranque de la partición raíz. En disquete: está claro, verdad?. La explicación técnica de estos ajustes está en el en la página 113. `Retraso arranque': Se indica en segundos; 10 segundos es un buen valor. `Opción "linear"': Se trata de una opción que generalmente no se necesita ; ver también apartado 5.4.2 en la página 119. . Con `F4=Nueva Conf.' se fija el nombre de una nueva configuración; resulta práctico llamar linux a la configuración estándar. Las configuraciones ya ex- istentes pueden ser modificadas con `F5=Editar Conf.'. Para ello YaST pro- porciona una pantalla que se muestra en la figura 3.27 en la página 84. Los significados de los campos son los siguientes: `Nombre de la configuración': Depende de la imaginación, pero use lin- ux para la primera. `Qué sistema operativo': se ofrecen las posibilidades de: Arrancar Lin- ux, Arrancar DOS/Win ­ la opción correcta para Windows 95 y 98 ­ y Arran- car OS/2. `Partición raíz a arrancar': Esta opción es predeterminada; generalmente no se precisa ningún cambio. Pulse `F3' y seleccione la partición correcta. 82 3.9 Administración del sistema Figura 3.27: LILO: Configuración de arranque `Kernel opcional': Solo marcar cuando este kernel no esté a disposición per- manentemente, o sea, en caso de un kernel que solamente se instala para pruebas. `Kernel a iniciar por LILO': Por lo general aquí tampoco hace falta mod- ificar nada. La ubicación estándar de SuSE Linux es /boot/vmlinuz; con `F3' se puede pasar por el árbol de directorios. Con `Continuar' se instala LILO y con `Abortar' se puede cancelar la insta- lación. Truco Cuando se configura LILO se recomienda añadir una segunda configu- ración (p. ej. old) para la cual se indica como kernel a arrancar /boot/ vmlinuz.old y además el campo `Kernel opcional'; así también se podrá arrancar el sistema cuando un kernel recientemente compilado no funcione, porque usando la instalación automática de LILO siempre se gen- era una copia de seguridad del antiguo kernel, que se puede iniciar con la configuración old (ver capítulo 10 en la página 247). 3.9.3. Configuración de red Con YaST es posible efectuar los ajustes básicos de la red (ver figura 3.28 en la página 85). ¡En todo caso configure la red, aunque la computadora en realidad no se encuentre en ella o no tenga tarjeta de red! Hay muchos programas que necesitan soporte de red para poder funcionar correctamente. 83 3 YaST ­ Yet another Setup Tool Figura 3.28: Configuración de la red `Configuración básica de red' Aquí se define(n) básicamente la(s) Dirección-IP y se asignan a las interfaces de red como tarjeta red, dispositivo PPP o RDSI, etc. (ver figura 3.29 en la página 86). Figura 3.29: Configuración básica de red Aquí es posible seleccionar con `F3=Auto-IP' los servicios DHCP o BOOTP para obtener una configuración automática de los IP's. Mediante `F6=Dirección-IP' es posible indicar un valor para `MTU'. En caso de duda lo mejor es dejar vacío este campo o confirmar el valor que venga por defecto. `MTU' es el tamaño máximo de bloque que se puede ser transferir por la red. En ocasiones es necesario adaptar este valor a las indicaciones del proveedor 84 3.9 Administración del sistema de Internet. El estándar es igualmente el valor máximo `1500'. En caso que el valor supere el límite por un solo byte, ya no se transfiere ninguna informa- ción. Por eso en caso de duda (p. ej. cables con problemas) es mejor utilizar un valor más pequeño. Los datos se transfieren entonces un poco más lento. `Cambiar nombre del host' Se puede definir el nombre de la computadora (ingl. hostname) y el nombre de dominio. `Configurar servicios de red' Con esta opción se configuran muchos servicios básicos de uso frecuente: inetd (para telnet, ftp, imprimir etc.), portmap (para los servidores NFS y NIS) y rpc.nfsd (para servidor NFS). `Configuración DNS' Es posible indicar uno o varios servidores de nombres (ver el en la página ??). `Configuración cliente YP' Esta opción es activa cuando el paquete yp- client, serie n está instalado (ver el apartado en la página 348) . `Configurar sendmail' Para sendmail se puede instalar también un fichero de configuración, que brinda una gran funcionalidad para muchos tipos de tareas. `Administrar impresoras remotas' Esta opción permite configurar im- presoras que son accesibles vía red a través de TCP/IP. Para configurar la impresora de red lp (que se encuentra en el servidor de impresión sol.cosmos.univ con el nombre local remote), rellene el formulario. Si se necesita un "pre-filtro" para esta impresora, consultar el apartado 9.5 en la página 232. `Conectar impresora mediante Samba' Esta opción se activa cuando el paquete samba, serie n está instalado y permite el acceso a una impresora que se conecta a una computadora con Windows. `Conectar impresora mediante Novell' La opción se activa con el pa- quete ncpfs, serie n instalado. `Configurar parámetros RDSI' La opción está activa cuando el paquete i4l, serie n está instalado. Para RDSI se ofrecen menús con muchos de- talles. `Configurar una red PPP' Aquí se puede configurar el acceso a una red a través del protocolo PPP. El manual de red contiene detalles adicionales relacionados con la configuración de una red. 3.9.4. Configuración del Login Aquí es posible configurar el estilo del "login", decidirse por una pantalla de texto o entrar directamente al sistema X Window. Si se desea un login gráfico se puede disponer del sencillo XDM, del KDM sofisticado (proyecto KDE) o del 85 3 YaST ­ Yet another Setup Tool GDM del proyecto GNOME; si se opta por KDM, se puede indicar adicional- mente quienes son los que tienen derecho a efectuar una parada (shutdown) del sistema. La alternativa al "login" gráfico es el login con una consola ASCII y el arranque de los X con el comando startx (figura 3.30 en la página 87). Figura 3.30: Configuración del Login Aviso Si no hay total seguridad en que los X (sistema X Window) arranquen sin problemas, no se debe activar ningún tipo de login gráfico. En todo caso pruebe primero si se pueden arrancar los X desde una consola antes de activar un gestor de ventana para el login. El nivel de ejecución 5 (ingl. runlevel 5) se anota en /etc/inittab como niv- el de ejecución predeterminado y se define una nueva variable en /etc/rc. config (ver apartado 12 en la página 350). Si se usa el nivel de arranque cinco para otro asunto que no sea el de ejecutar gestor de login gráfico, no se ejecuta ninguno de ellos. 3.9.5. Opciones susewm (Gestor de ventanas) Este menú de configuración sirve para seleccionar el entorno gráfico. Seleccione aquí el gestor de ventanas por defecto (ingl. Windowmanager) y de- termine para cuáles gestores susewm se deben generar ficheros de configuración que estén disponibles para todo el sistema. 86 3.9 Administración del sistema Figura 3.31: Configuración susewm 3.9.6. Administración de usuarios Con YaST es posible generar usuarios nuevos, borrarlos o modificarlos de man- era amigable. El diálogo correspondiente se encuentra en `Administración de sistema' bajo la opción `Administración de usuarios'. Seleccionando en este apartado `Acceso al modem permitido', el usuario en cuestión puede usar este dispositivo; dando este permiso el usuario se da de alta en los grupos `uucp' y `dailout'. Todos los usuarios que pertenezcan a este grupo tendrán permiso de establecer conexiones PPP. Todos los ficheros del directorio de ejemplo /etc/skel se copian al directorio de un nuevo usuario, así que existe directamente una cierta preconfiguración mínima para todos los usuarios nuevos. Después de la instalación, cada usuario tiene, evidentemente, la posibilidad de adaptar estos ficheros a sus necesidades. Aparte de esto YaST ejecuta dos scripts, que se pueden usar para hacer algunas tareas rutinarias adicionales: Después de haber generado el usuario se ejecuta ­ si existe ­ el script /usr/ sbin/useradd.local. En este momento el usuario ya está dado de alta en /etc/passwd y en /etc/shadow. También existe ya el directorio home del usuario y los ficheros de /etc/skel ya están copiados en él. Antes de borrar a cualquier usuario, se llama ­ si existe ­ el script /usr/ sbin/userdel.local. En este momento el usuario todavía está dado de alta en los ficheros passwd y shadow y su directorio home también existe aún. A ambos scripts se les pasa el nombre de usuario como parámetro. Si el script 87 3 YaST ­ Yet another Setup Tool Figura 3.32: Administración de usuarios con YaST necesita datos adicionales (user-ID, login-shell, directorio-Home) es relativa- mente fácil leerlos del fichero /etc/passwd. Si se tiene suficiente experiencia y parece demasiado trabajo arrancar YaST para los fines de administración de usuario, también están a disposición los programas useradd y userdel. Algo sobre PAM Los ficheros de PAM (ingl. Pluggable Authentication Modules) se encuentran en /etc/pam.d. La documentación para programadores y administradores de sistema se encuentra en /usr/share/doc/packages/pam. SuSE Linux es capaz de manejar contraseñas del tipo MD5; estos puede tener más de 8 caracteres. Hay que tener un poco de cuidado, ya que la encriptación MD5 no es compatible con crypt(), la función estándar bajo Unix. Esto sig- nifica que muchos Unix comerciales y algunos programas no son capaces de funcionar con contraseñas del tipo MD5. El fichero /usr/share/doc/packages/pam/md5.config contiene informa- ción sobre la configuración. 3.9.7. Administración de grupos Con YaST también se pueden administrar grupos aparte de usuarios. Bajo Linux (como en general bajo Unix) hay que asignar un grupo a cada usuario. Esto se necesita, porque de la dependencia al grupo se derivan determinados 88 3.9 Administración del sistema Figura 3.33: Administración de grupos con YaST derechos de acceso, p. ej. a ficheros. Con este concepto se puede restringir el ac- ceso hacia algunos directorios y solo permitirlo a un determinado grupo a través de una contraseña. Hay algunos grupos que ya están previstos en Linux, como por ejemplo los gru- pos `users', `root', etc. La forma `users' solamente es la representación en forma de texto de un grupo de usuarios pues la computadora trabaja internamente con cifras, los denomina- dos identificadores de grupo (ingl. group id). El fichero de configuración de los grupos de usuario es /etc/group. Hasta aquí los detalles técnicos, ya que usando YaST, generar grupos no repre- senta ningún problema. El diálogo para la administración de grupos se encuentra bajo `Administración del sistema' en la opción `Administración de grupos', como se puede ver en la figura 3.33 en la página 90. 3.9.8. Crear respaldos/backups Para hacer un respaldo (ingl. backup) rápido y selectivo resulta útil crear copias de seguridad justamente de los ficheros que se han generado o modificado desde la última instalación. Estos ficheros son típicamente los de configuración y de datos y precisamente esto es lo que realiza la función aquí descrita. El correspondiente diálogo se constituye de tres pasos: 1. Definir contenido En esta pantalla se define una lista de los directorios a excluir del Backup. Están previstos para ser excluidos /tmp, /dev o /proc, pero se deberían 89 3 YaST ­ Yet another Setup Tool Figura 3.34: Respaldo (Backup) con YaST agregar a esta lista los CD-ROMs y directorios NFS montados tal como las particiones DOS que no lo estén. Mientras más directorios se excluyan del mecanismo backup, más rápido funciona, porque no hace falta efectuar com- paraciones innecesarias entre los directorios y las descripciones de los pa- § ¤ quetes. Las entradas en la lista de exclusiones se modifican con las teclas § ¤ § ¤ ¦+ ¥ y ¦- ¥para añadir y borrar. Con ¦F10 ¥se continúa con la siguiente función. 2. Búsqueda Ahora YaST busca en el sistema los ficheros a incluir en el respaldo. La cantidad y el tamaño de los ficheros ya encontrados se indica en cada instante. Al final de la búsqueda aparece una lista con todos los datos encontrados de § ¤ la cual se pueden borrar todavía ficheros con la tecla de espacio ¦ ¥ . Estos ficheros no se respaldan. 3. Fijar comando de respaldo Aquí se determina cómo guardar los ficheros, para lo cual se introduce el nombre de fichero y se pueden definir opciones. El mecanismo de respaldo solo puede funcionar si no ha existido ninguna influ- encia externa que haya podido modificar las fechas. Además, la función necesita bastante memoria RAM, ya que solamente los nombres de fichero de un CD- ROM típico ocupan 6 MB. Aparte de esto, se necesita el espacio en disco para el respaldo, espacio que se puede reducir por el factor dos activando la compresión de ficheros. No por nada, lo más recomendable es grabar el respaldo en una cinta. 3.9.9. Configuraciones de seguridad No se debe modificar la configuración predeterminada sin conocer el trasfondo de cada acción. Es muy recomendable estudiar en el manual de configuración el apartado sobre la configuración de la seguridad de sistema mediante YaST2. 90 3.9 Administración del sistema Aviso Para deshabilitar los "logins" del superusuario `root', se debe adap- tar el fichero /etc/ssh_config en el cual la definición por defecto es PasswordAuthentication yes. ­ Configurando ssh correctamente, los "logins" de `root' por la red son seguros. 3.9.10. Configurar la fuente en consola Esta pantalla permite elegir la fuente (tipo de letra) utilizada en la consola de Linux. Como Linux permite usar diferentes fuentes para la consola, la pantalla en cuestión ofrece la posibilidad de probarlas y definir un determinado tipo de letra como nuevo estándar. Al seleccionar `No cargar fuente', se sigue utilizando la fuente guardada en la tarjeta gráfica. Esto no tiene ninguna repercusión en las fuentes de un entorno gráfico como KDE o GNOME. Solo al arrancar YaST directamente desde la consola de texto se puede reconocer el cambio, pero no se reconoce arrancándolo desde una kterm o xterm. Figura 3.35: Configurar la fuente en consola 3.9.11. Configurar zona horaria La zona horaria ya se configura durante la instalación de SuSE Linux. La pre- sente opción permite modificar posteriormente esta configuración. Simplemente 91 3 YaST ­ Yet another Setup Tool § ¤ § ¤ se mueve la barra azul con las teclas del cursor ¦ ¥y ¦ ¥hacia la entrada deseada, confirmándolo con `Continuar'. Posteriormente aparece una ventana que pregunta por el ajuste del reloj de la BIOS (tiempo local o GMT ­ Greenwich Mean Time). 3.9.12. Configurar XFree86[tm] Hay diferentes herramientas para configurar el sistema X Window (XFree86). Se recomienda probar primero con SaX, cuyas características se detallan ex- plícitamente en el apartado 6.3 en la página 147. Los detalles técnicos se encuentran en el capítulo 6 en la página 145. 3.9.13. Configurar gpm Esta pantalla controla si se inicia el soporte de mouse dentro de la consola de texto y cómo. De esta forma es posible intercambiar trozos de textos entre las distintas consola de texto ("copiar y pegar"). Igualmente gpm solo repercute en el funcionamiento del mouse en el entorno de texto, ya que dentro del entorno gráfico es el sistema X Windowque controla el mouse y la configuración de gpm no influye. Figura 3.36: Configurar gpm 3.9.14. Cambiar fichero de configuración La administración de sistema de SuSE Linux se efectúa casi completamente con el fichero de configuración central (/etc/rc.config) y con aquellos ficheros 92 3.9 Administración del sistema que se han pasado al directorio /etc/rc.config.d. Los distintos scripts de arranque evalúan estos ficheros durante el arranque y el sistema se configura al respecto. Usando YaST es posible modificar en estos ficheros los distintos apuntes del fichero de configuración y así adaptar el sistema a gusto sin necesidad de conocer en detalle todos los ficheros que resulten afectados. Figura 3.37: Modificación del fichero de configuración con YaST § ¤ Para modificar el valor de una variable, primero se selecciona con las teclas ¤ § ¤ § ¤ ¦ § ¥ ¦ ¥y después se pulsa ¦ ¥o ¦F3 ¥para modificarla. Si se modifica /etc/rc.config a mano, se debe ejecutar posteriormente el script SuSEconfig. Este script se encarga de pasar las modificaciones hechas en /etc/rc.config a los correspondientes ficheros de configuración de cada programa específico. En el apartado 14.6 en la página 341 hay una descripción detallada del fichero de configuración con las posibilidades de ajuste más impor- tantes. 93 3 YaST ­ Yet another Setup Tool 94 4 YaST2 ­ Herramientas de configuración 4 YaST2 ­ Herramientas de configuración YaST2 es una herramienta útil para mantener el sistema, p. ej. para configurar nuevos componentes de hardware (impresora, tarjeta de sonido, etc.), servicios de sistema, acceso a Internet y a la red local. También es posible instalar nuevos paquetes de software o borrar antiguos. El manual "Configuración" explica difer- entes posibilidades de arrancar YaST2. El centro de control de YaST2 Al iniciar YaST2 aparece el centro de control, que ofrece en la parte izquierda los apartados para configurar Hardware, Red básica y avanzada, Seguridad & Usuarios, Software, Sistema y Misceláneo. Pulsando sobre uno de estos iconos, aparecen en la derecha las opciones del apartado seleccionado; la configuración se realiza generalmente en varios pasos y YaST2 le guia mediante la tecla `Sigu- iente' por todos los diálogos. En la parte izquierda de la pantalla aparece una ayuda contextual, explicando estos pasos. Después de haber contestado a todas las preguntas en todos los pasos, se pulsa `Terminar' para acabar con la config- uración y grabarla. Figura 4.1: YaST2 Administración y configuración de sistema 95 4 YaST2 ­ Herramientas de configuración 4.1. Hardware El primer paso para configurar el hardware es conectarlo según las indicaciones del fabricante. Los dispositivos externos como impresora o modem se han de encender antes de ejecutar el módulo correspondiente de YaST2. Una buena parte de los dispositivos habituales se reconocen automáticamente y se indican los datos técnicos. En caso de que el reconocimiento automático fallase, YaST2 ofrece una lista de dispositivos ordenados por fabricante y modelo. De esta lista se ha de seleccionar el dispositivo correcto. Dentro de `Hardware' se encuentra la herramienta de configuración para una o varias impresoras y para la tarjeta de sonido. En la información sobre el hard- ware se pueden consultar los datos del hardware reconocido automáticamente por YaST2, cosa que resulta especialmente útil cuando se realizan consultas al soporte de instalación. El módulo para la configuración del entorno gráfico (X11) es el mismo de la instalación y se puede utilizar ahora desde YaST2 para config- urar p. ej.otra pantalla. Lo mismo vale para el mouse y el teclado. Para finalizar, existen bajo `Hardware' módulos adicionales para la configuración de escáner y de tarjetas capturadoras de TV. Todos los módulos de YaST2 están explicados en detalle en el manual "Configuración". 4.2. Red/Básica En `Red/Básica' se encuentran diferentes herramientas para establecer el acce- so a Internet: Se puede configurar ADSL, T-DSL en Alemania, la tarjeta de red, RDSI, el nombre de host y DNS. La documentación sobre esta configuración se encuentra en el manual "Configuración". 4.3. Red/Avanzada Para los usuarios avanzados de Internet o administradores de red existen módulos para el inicio y la parada de servicios de sistema (inetd), sendmail (con opción de configuración de experto), Servidor y Cliente NFS, Enrutado, Configuración de red modo Experto y Cliente NIS. Las instrucciones para la configuración se encuentran en el "Manual de redes". En el caso de `Configuración de red modo Experto' se ofrecen las mismas funciones que en `Configuración de la tarjeta de red' dentro de `Red/Básica' con la diferencia de tener tam- bién la posibilidad de configurar el modem y la tarjeta RDSI. 4.4. Seguridad & Usuarios En esta sección existen herramientas para la administración fácil de usuarios y grupos. El módulo `Configuración de seguridad' ofrece diferentes nive- les de seguridad preconfigurados y admite también ajustes personalizados para expertos. El manual "Configuración" explica detalles adicionales. 96 4.5 Software 4.5. Software Esta opción sirve para instalar software adicional o borrar el existente; también es posible cambiar el medio de instalación (p. ej.de CD a disco duro). A parte de esto existen dos herramientas para la actualización del sistema: Una para la actu- alización "normal" y otra para la actualización en línea mediante nuestro servi- dor FTP. Los detalles sobre ello se encuentran en el manual "Configuración". 4.5.1. Patch-CD-Update En comparación a la actualización en línea, en este caso los parches no se reciben desde el servidor FTP sino que vienen de un determinado CD que reciben los clientes del "SuSE Linux Enterprise Server". La actualización mediante el CD es mucho más rápido. Cuando el CD con los parches se encuentra en el lector, la pantalla de YaST2 muestra todos los parches disponibles. Ahora se pueden seleccionar los parches a instalar. Si el CD no estuviera introducido en el lector aparecerá un mensaje; no hace falta más que introducir el CD e iniciar la opción Patch-CD-Update nuevamente. 4.6. Sistema La opción `Sistema' permite configurar nuevamente el modo de arranque, crear un disquete de arranque o de módulos y ajustar la zona de tiempo o el idioma. En el manual "Configuración" se encuentran los detalles. 4.6.1. Editor para RC.Config /etc/rc.config es el fichero que contiene las variables de configuración más importantes para el sistema SuSE Linux. El Editor RC.Config muestra un re- sumen de todas las posibilidades de configuración. Se pueden modificar los val- ores para pasarlos posteriormente al fichero de configuración /etc/rc.config que los alberga. Por lo general no hace falta realizar este tipo de modificación manual, ya que cuando un paquete se instala o cuando se configura un determi- nado servicio el fichero se modifica automáticamente. Atención No se debe modificar el fichero /etc/rc.config sin tener suficiente conocimiento previo, ya que partes importantes del sistema podrían dejar de funcionar. 97 4 YaST2 ­ Herramientas de configuración Figura 4.2: YaST2: Configuración con el Editor RC.Config 4.6.2. Runlevel-Editor El significado de los niveles de ejecución (ingl. Runlevel) de Linux se explica en 14.2 en la página 336. La primera ventana, después de la inicialización de este módulo de experto, muestra el nivel de ejecución por defecto. Este "modo de operación" se inicia después del arranque de sistema y en el caso de SuSE Linux generalmente es Runlevel 5 (modo multiusuario con red y el Login gráfico KDM). Otro nivel de ejecución razonable es el Runlevel 3 (modo multiusuario con red) y se podría modificar en esta pantalla el nivel de ejecución por defecto; véase la tabla 14.1 en la página 336. `Editar' muestra un resumen de todos los servicios y daemons que estén activos y en cuál nivel de ejecución lo están. Al marcar una línea con el mouse existe la posibilidad de activar una de las casillas `0', `1', `2', `3', `5', `6' y `S' para determinar en cuál nivel de ejecución se debe iniciar el servicio en cuestión. Runlevel 4 se mantiene libre para una configuración individual del usuario. `Iniciar' y `Parar' sirven para activar o desactivar un determinado servicio. `Actualizar' comprueba el estado actual si esto no funcionara automática- mente. `Valor por defecto' representa la posibilidad de recuperar la con- figuración estándar (el estado posterior a la instalación del sistema). `Activar servicio' sólo aparece si el servicio estuviera desactivado. `Configuración estándar para todos los servicios' devuelve todos los servicios al es- tado original posterior a la instalación. `Terminar' guarda esta configuración de sistema. Atención ¡Cuidado, no experimente! ­ Se trata de una herramienta para expertos. Al configurar mal ciertos servicios es posible que el sistema no se inicie correctamente, lo que exigiría la instalación nueva del sistema; también es posible que se habran huecos de seguridad. 98 4.6 Sistema 4.6.3. Particionar para Expertos El módulo de particionar para expertos permite editar particiones existentes, bor- rarlas o crear nuevas. Existe también la posibilidad de configurar un Soft-RAID o un LVM;ver página 105 y 99. Todas las particiones se configuran durante la instalación pero es posible que con el tiempo se llenen y haga falta añadir un dis- co duro. Para realizarlo hay que particionar primero el disco nuevo, formatear y montar las particiones para darlas posteriormente de alta en el fichero fstab. Es posible que sea necesario mover algunos datos al disco nuevo, p. ej.para mover una partición /opt demasiado pequeña al nuevo disco. Hay que tener mucho cuidado al reparticionar el disco duro con el que se está trabajando. En principio es posible pero hace falta arrancar el sistema inmedi- atamente después de realizarlo. Por tanto, arrancar desde CD y reparticionar es mucho menos crítico. El botón `Opciones Experto' dentro del particionador abre un menú con las siguientes opciones: Reset and Re-Read Leer nuevamente las particiones del disco duro. Se nece- sita p. ej.en caso de haber particionado en la consola de texto. Read old fstab Se utiliza sólo durante la instalación. Leer la fstab antigua sirve para instalar el sistema nuevamente en lugar de actualizarlo. Leyendo la fstab antigua no hace falta introducir los puntos de anclaje manualmente. Delete old Partition Table Borrar la tabla de particiones completamente. Puede ser útil en caso de tener p. ej. problemas con ciertos formatos de disco ex- traños; todos los datos en el disco duro se pierden. 4.6.4. Gestor de volúmenes lógicos (LVM) El gestor de volúmenes lógicos (ingl. Logical Volume Manager (LVM)) per- mite distribuir el espacio en disco de forma flexible sobre diferentes sistemas de ficheros. El LVM se desarrolló por la dificultad de modificar las particiones en un sistema en ejecución. LVM pone en común un "Pool" virtual (Volume Group ­ abreviado VG) de espacio en disco. De este VG se forman los volúmenes lógi- cos según necesidad. El sistema operativo accede entonces a estos en lugar de acceder a las particiones físicas. Particularidades: Es posible juntar varias particiones o discos para formar una partición lógica grande. Si un LV se llena (p. ej. /usr), es posible aumentar su tamaño si está correc- tamente configurado. LVM permite añadir discos duros o LV incluso cuando el sistema está en marcha. Esto requiere ­ evidentemente ­ hardware que se pueda cambiar en caliente (hot swap). 99 4 YaST2 ­ Herramientas de configuración Utilizar LVM vale la pena para PCs de gran uso en casa o para servidores pe- queños. El LVM es ideal para un volumen de datos creciente como p. ej.en el caso de bancos de datos, colecciones de MP3, directorios de usuarios, etc. En tal caso es posible configurar sistemas de ficheros más grandes que un solo disco duro. Otra ventaja del LVM es la de poder crear hasta 256 LVs, sin embargo es importante considerar que el trabajo con el LVM se diferencia mucho del trabajo con particiones convencionales. El LVM-Howto oficial contiene detalles sobre la configuración del Gestor de Volúmenes Lógicos: http://www.sistina.com/lvm/Pages/howto.html o bien en: http://www.suse.com/us/support/oracle/ Configurar el LVM con YaST2 La configuración del LVM mediante YaST2 se activa seleccionando `Parti- cionar con LVM' en el primer paso de la preparación del disco duro durante la instalación. Cuando el sistema ya está instalado, se puede encontrar en el centro de control de YaST2 y dentro del menú `System' un botón para su configuración. Figura 4.3: YaST2: Activar LVM durante la instalación LVM ­ Particionador El primer diálogo del particionador permite borrar o modificar particiones exis- tentes, o crear nuevas. Las particiones que deben formar parte del LVM necesitan el indicativo 8E. Están marcadas como "Linux LVM" dentro de la lista de parti- ciones. No hace falta configurar el indicativo 8E uno por uno para todas las particiones que compondrán el LVM, ya que YaST2 se dedica a modificar el indicativo de 100 4.6 Sistema Figura 4.4: YaST2: Particionador LVM una partición que forma parte de un grupo de volúmenes cuando es necesario. Si hay espacios sin particionar en el disco duro, es recomendable crear parti- ciones LVM para todas estas zonas. Lo mejor es modificar de una vez el iden- tificativo a 8E; no hace falta formatear estas particiones y no se puede indicar ningún punto de anclaje para ellas. Figura 4.5: YaST2: Crear partición LVM Aviso Al comienzo de la configuración de LVM se activa automáticamente un LVM válido que ya estuviera instalado en la computadora. Después de esta acti- vación ya no se pueden modificar las particiones de ningún disco duro que albergue una partición que forma parte de un grupo de volúmenes (VG) activado. El kernel de Linux deniega leer la tabla de particiones modifica- da de un disco duro mientras que alguna partición de este disco esté en uso. Aquellos discos que no forman parte de un grupo de volúmenes LVM se pueden reparticionar sin problemas pero al disponer ya de una configu- ración válida de LVM normalmente no hace falta cambiar las particiones. 101 4 YaST2 ­ Herramientas de configuración En la pantalla actual hace falta configurar todos los puntos de anclaje que no estén vinculados al LVM. YaST2 pide que al menos el sistema de ficheros raíz se encuentre sobre una partición normal. Seleccione esta partición de la lista y utilice `Editar' para definirla como sistema de ficheros raíz (ingl. Root Filesys- tem). Debido a la mayor flexibilidad de LVM recomendamos ubicar los demás sistemas de ficheros sobre volúmenes lógicos. ­ Una vez definida la partición de raíz, se puede salir del diálogo. LVM ­ Configuración de los volúmenes físicos Este es el diálogo para administrar los grupos de volúmenes (LVM Volume Groups ­ VG). Si aún no se ha creado ningún VG aparecerá una ventana que pide su creación. La propuesta para el nombre del VG que albergará los datos del sistema SuSE Linux es el nombre "system". El valor "Physical Extent Size" (abreviado PE-Size) determina el tamaño máximo de un volumen físico y lógico dentro del grupo de volúmenes. Este valor se sitúa normalmente en 4 Megabyte y permite 256 Gigabyte como tamaño máximo para un volumen físico y lógico. No aumente el PE-Size (p. ej. a 8, 16 o 32 Megabyte), si no necesita volúmenes lógicos más grandes de 256 Gigabyte. Figura 4.6: YaST2: Crear un grupo de volúmenes La siguiente ventana muestra todas las particiones de los tipos "Linux LVM" o "Linux native" dejando a parte las particiones DOS o de swap. En el caso de las particiones que ya forman parte del grupo de volúmenes, la lista muestra el nombre del grupo de volúmenes al que pertenecen. Las particiones no asignadas están rotuladas con "­". El recuadro de selección en la parte superior izquierda de la ventana permite cambiar el grupo de volúmenes que se está editando. Los botones en la parte superior derecha sirven para crear VG's adicionales o para borrarlos. Se puede borrar solo aquellos VG's que ya no estén asignados a ninguna partición. Un solo grupo de volúmenes (VG) es suficiente para un sistema SuSE Linux normal. Una partición asignada a un grupo de volúmenes se denomina volumen físico (ingl. 102 4.6 Sistema Figura 4.7: YaST2: Resumen de las particiones Physical Volume ­ PV). Para asignar una partición aún no asignada al grupo de volúmenes seleccionado, se debe elegir primero la partición y pulsar después el botón `Añadir volumen' por debajo de la lista de particiones. El nombre del grupo de volúmenes aparecerá entonces junto a la partición seleccionada. Todas las particiones previstas para LVM deben ser asignadas a un grupo de volúmenes para aprovechar todo el espacio en el disco. No se puede salir del diálogo antes de haber asignado al menos un volumen físico a cada grupo de volúmenes. Volúmenes lógicos Este diálogo permite administrar los volúmenes lógicos (ingl. Logical Volumes ­ LV) Figura 4.8: YaST2: Administración de volúmenes lógicos 103 4 YaST2 ­ Herramientas de configuración Los volúmenes lógicos siempre están asignados a un grupo de volúmenes y tienen un determinado tamaño. Sobre un volumen lógico se crea normalmente un sistema de ficheros (p. ej. reiserfs, ext2) y se asigna un punto de anclaje al volumen. Éste es el punto de acceso para llegar posteriormente a los datos que se guardan sobre este volumen lógico. La lista muestra todas las particiones nor- males de Linux, que ya tienen un punto de anclaje asignado, todas las particiones de Swap y todos los volúmenes lógicos ya existentes. A los volúmenes lógicos ya existentes en el sistema hace falta asignarles un punto de anclaje. Configu- rando por primera vez LVM, aún no existen volúmenes lógicos en la lista y es necesario crear un volumen lógico para cada punto de anclaje. Estos se realiza con el botón `Añadir', indicando el tamaño, el tipo de sistema de ficheros (p. ej. reiserfs o ext2) y el punto de anclaje (p. ej. /var, /usr, /home). Figura 4.9: YaST2: Crear volúmenes lógicos En caso de haber creado varios grupos de volúmenes, es posible cambiar entre los diferentes grupos de volúmenes con la lista de selección en la parte superior izquierda. Todos los volúmenes lógicos se crean dentro del grupo marcado en el recuadro. Una vez que todos los volúmenes lógicos se hayan configurado cor- rectamente, la configuración de LVM finaliza. Es posible salir de este apartado y ­ si se encuentra dentro de la instalación de sistema ­ continuar con la selección de software. Atención La configuración del LVM conlleva riesgos como p. ej.la pérdida de datos. Peligros potenciales son cuelgues de programas, cortes de alimentación eléctrica o comandos equivocados. Por eso es importante respaldar los datos antes configurar el LVM o antes de modificar volúmenes ­ ¡Nunca se debe trabajar sin respaldo! 104 4.6 Sistema 4.6.5. Soft-RAID La idea de un RAID (ingl. Redundant Array of Inexpensive Disks) es el de juntar varias particiones para formar un disco duro "virtual" grande y así optimizar el rendimiento o la seguridad de los datos. El "RAID-Level" determina la forma de unir y de acceder a los discos duros que se conectan a una controladora RAID. Estas controladoras suelen emplear el protocolo SCSI ya que éste es capaz de controlar más discos duros de una forma más eficiente que el protocolo IDE. Además ofrece ventajas respecto al tratamiento de comandos en paralelo. En lugar de una controladora RAID costosa, el Soft-RAID es también capaz de encargarse de estas tareas. SuSE Linux ofrece la posibilidad de unir mediante YaST2 varios discos duros en un Soft-RAID. Es una alternativa muy económica al Hardware-RAID. Niveles de RAID habituales RAID 0 Este nivel mejora la velocidad de acceso a los datos. En realidad no se trata de un RAID porque no existe ninguna seguridad de datos pero la denominación "RAID 0" se ha hecho habitual para esta constelación con al menos dos discos duros. El rendimiento es muy alto, pero todo el sistema RAID se estropea al dañarse un solo disco y todos los datos se pierden. RAID 1 Este nivel ofrece una seguridad aceptable de los datos, porque se en- cuentran copiados con exactitud en otro disco duro. La constelación se de- nomina "Mirroring" o "Mirror" de disco; también es usual hablar de discos "espejados". Esto quiere decir que existe una duplicación simultánea de los datos en uno o varios discos. Cuando un disco se estropea existe una copia en otro, así que se pueden romper todos los discos a excepción de uno sin perder datos. La velocidad de escritura baja del 10 al 20 % por la necesidad de es- cribir los datos en más de un disco, pero la velocidad de lectura es bastante más alta porque los datos se pueden leer simultáneamente en varios discos. RAID 5 RAID 5 es el resultado optimizado de los dos anteriores niveles de RAID en cuanto al rendimiento y la seguridad de datos. La capacidad de almacenamiento del RAID equivale a la capacidad total de los discos duros menos uno; es decir, los datos se distribuyen igual que en el caso de RAID 0 sobre todos los discos y la seguridad de los datos está dada por la informa- ción de paridad que se encuentra, en el caso de RAID 5, sobre uno de los discos. Estos "bloques de paridad" se enlazan mediante un XOR lógico para conseguir la recuperación de una partición después de su rotura. En el ca- so de RAID 5 nunca se debe estropear más de un disco duro en el mismo momento para no perder información. Por eso es importante reemplazar un disco duro dañado lo más rápido posible. Configurar un Soft-RAID con YaST2 Se puede acceder a la configuración del Soft-RAID mediante la opción `RAID' dentro de `Sistema' o a través del módulo de particionar en `Hardware'. 105 4 YaST2 ­ Herramientas de configuración Paso 1: Particionar La primera pantalla de la `Configuración Experto' de la herramienta de par- ticionar muestra todas las particiones existentes. Si ya ha creado particiones para el Soft-Raid, éstas aparecerán dentro de la lista. En caso contrario se han de crear particiones nuevas. RAID 0 y RAID 1 requieren al menos de dos particiones ­ para RAID 1 suelen ser exactamente dos. RAID 5 en cambio necesita al menos tres particiones. Las particiones deben tener el mismo tamaño y se deben encon- trar sobre diferentes discos duros para suprimir el riesgo de pérdida de datos por daño de un disco para RAID 1 y 5 o para aumentar el rendimiento en caso de RAID 0. Paso 2: Crear el RAID Pulsando sobre `RAID' aparece el diálogo para seleccionar el nivel de RAID (0,1 o 5). La siguiente pantalla permite asignar las particiones al RAID nuevo. Las `Opciones de experto' permiten realizar retoques finos como la mod- ificación del "chunk-size" para aumentar la eficiencia del RAID. Al marcar la casilla `Persistent superblock', las particiones RAID se reconocen como tales directamente al arrancar la computadora. Después de haber terminado la configuración aparecerá el dispositivo /dev/md0 marcado como RAID dentro del apartado experto en el módulo de particionar. Resolución de problemas El contenido del fichero /proc/mdstats informa sobre daños en una partición RAID. En caso de daños hay que parar el sistema Linux y reemplazar el disco dañado por uno equivalente y con las mismas particiones. Después se puede reiniciar el sistema y ejecutar la orden raidhotadd /dev/mdX /dev/sdX que automáticamente integra el disco duro nuevo en el RAID y lo reconstruye. Los HowTo's: /usr/share/doc/packages/raidtools/Software-RAID-HOWTO.html y http://www.LinuxDoc.org/HOWTO/Software-RAID-HOWTO.html o la lista de correo de Linux RAID p. ej. en http://www.mail-archive.com/linux-raid@vger.rutgers.edu. informan sobre los detalles. Allí se puede encontrar también ayuda para proble- mas más complejos. 4.6.6. Seleccionar Kernel Atención Es muy peligroso cambiar el kernel de un sistema Linux en buen fun- cionamiento porque podría haber grandes incompatibilidades que impidan al sistema un arranque correcto. Por tanto solo expertos en la materia deben utilizar este módulo. 106 4.7 Otros/Misceláneo Figura 4.10: YaST2: Selección de Kernel 4.7. Otros/Misceláneo `Misceláneo' es una opción que ofrece p. ej.la posibilidad de enviar una con- sulta al soporte, cargar drivers del CD de un fabricante, visualizar el protocolo de inicio (/var/log/boot.msg) y el de sistema (/var/log/messsages). Expli- caciones sobre este tema se encuentran en el manual "Configuración". 4.7.1. Impresora con CUPS o LPD En la configuración por defecto se utiliza el sistema de impresión estándar que funciona con el BSD-Spooler LPD. Para ello está instalado en la computadora el paquete lprold. YaST2 permite cambiar de este sistema de impresión al sistema CUPS (ingl. Common Unix Printing System) y viceversa. Al realizar este cambio, el fichero de configuración de LPD se mantiene por completo. Debido a las interferencias entre los dos sistemas de impresión, ambos sistemas no pueden coexistir. Para cambiar a CUPS siga las instrucciones de YaST2 y prepare los CD's. Hay más información sobre CUPS en: http://www.cups.org/ Aviso La calidad de impresión no se determina por la selección de uno de los sistemas de impresión LPD o CUPS, sino del driver de Ghostscript y del ajuste de parámetros del mismo. 107 4 YaST2 ­ Herramientas de configuración 108 5 Arrancar y gestor de arranque 5 Arrancar y gestor de arranque ­ LILO, loadlin, etc. En este capítulo se presentan diferentes métodos para Arrancar el sistema. Para que se puedan distinguir los diferentes métodos, al principio se explican algunos detalles sobre el proceso de arranque en PCs. 5.1. El proceso de arranque en un PC Después de encender la computadora, la BIOS (ingl. Basic Input Output System), inicializa pantalla y teclado y comprueba la memoria RAM. ¡Hasta este momen- to para su PC todavía no existe ningún medio de almacenamiento (disquete, disco duro)! Después de que el sistema base haya terminado con su "excursión al interior" empieza a ocuparse de sus alrededores. De los valores que están en la CMOS (CMOS setup) se lee la información sobre los dispositivos más importantes, la hora y la fecha. En este momento se reconoce el primer disco duro y su geometría así que la carga del sistema operativo desde el disco puede comenzar. Para ello se lee desde el primer disco duro, el primer sector físico de datos del tamaño de 512 Bytes y se carga a la memoria. El control de ejecución pasa a este pequeño programa y la ejecución de los comandos en éste determina a partir de ahora el proceso de arranque. Estos primeros 512 Bytes en el primer disco duro se denominan en inglés Master Boot Record (MBR). La explicación de estos hechos permite sacar conclusiones importantes para el entendimiento de lo expuesto a continuación: Hasta el justo momento de cargar el MBR, el arranque es exactamente el mismo en cualquier PC y completamente independiente del sistema operativo instalado; el PC solamente tiene acceso a los dispositivos a través de las rutinas (drivers) grabadas en la BIOS. Master Boot Record La estructura del MBR está definida por una convención independiente de los sistemas operativos. Los primeros 446 Bytes están reservados para código de programas. Los próximos 64 Bytes ofrecen espacio para una tabla de particiones con hasta 4 entradas (ver apartado 2.6 en la página 40 y apartado 2.7 en la pági- na 43) . Sin la tabla de particiones no puede existir ningún sistema de ficheros (las unidades de disco en MS-DOS) es decir, que es prácticamente imposible us- ar el disco duro. Los últimos 2 Bytes deben contener una "cifra mágica" (AA55): 109 5 Arrancar y gestor de arranque un MBR que tenga otra cifra será tratado como no válido por parte de la BIOS y de todos los sistemas operativos de PC Sectores de arranque Los sectores de arranque son los primeros de cada partición, a excepción de la partición extendida que es un "contenedor" para otras particiones. Ofrecen 512 Bytes de espacio y sirven para albergar código, que puede ser ejecutado por el sistema operativo que resida en esta partición. En el caso de los sectores de arranque de DOS-,Windows- u OS/2 esto es realmente así y aparte del código ejecutable también contienen información importante del sistema de ficheros. Por el contrario, los sectores de arranque de una partición Linux están en prin- cipio vacíos (!), incluso después de haber generado el sistema de ficheros. Por lo tanto, una partición Linux no es autoarrancable aunque tenga un kernel y un sistema de ficheros raíz válidos. Un sector de arranque con código de arranque válido lleva en los últimos 2 Bytes la misma "cifra mágica" que el MBR. Arranque de DOS o Windows 95/98 En el MBR de DOS del primer disco duro hay una entrada de partición marcada como activa (ingl. bootable), es decir, que se busca allí el sistema a cargar por lo que DOS debe estar instalado, en todo caso, en el primer disco duro. El código de programa de DOS en el MBR representa el primer paso del Bootloader (ingl. first stage bootloader) y comprueba si se encuentra un sector de arranque válido en la partición indicada. Si fuera el caso, el código en este sector de arranque se ejecuta como segundo paso del Bootloader (ingl. secondary stage loader). Este código carga los pro- gramas de sistema y finalmente aparece el conocido prompt del DOS o se levanta la superficie de Windows 95/98. En DOS una sola partición primaria puede ser marcada como activa, lo cual significa que el sistema DOS no puede residir en una unidad lógica dentro de una partición extendida. 5.2. Conceptos de arranque El "concepto de arranque" más simple que uno se puede imaginar es el de una computadora con un solo sistema operativo. Una configuración muy extendida en este sentido es la de DOS o Windows 95/98 como sistema operativo único en la computadora. Para este caso, acabamos de comentar los procesos que transcurren durante el inicio. Un proceso de arranque semejante también sería imaginable para una computa- dora de "solo-Linux" y en este caso no sería necesaria la instalación de LILO. Pero en tal escenario no se podría indicar al kernel una línea de comandos para 110 5.2 Conceptos de arranque el inicio (con información adicional sobre el hardware o con indicaciones espe- ciales respecto al arranque, etc.). En cuanto existen varios sistemas operativos instalados en una computadora ex- isten también diferentes conceptos de arranque: Arrancar sistemas operativos adicionales de disquete: El primer sistema operativo se carga desde el disco duro y los demás desde la disquetera usando disquete de arranque. Condición: Existe una disquetera desde la cual se puede arrancar. Ejemplo: Se instala Linux como sistema adicional en un sistema DOS, Windows 95/98 o OS/2 y se arranca Linux siempre desde un disquete de arranque. Ventajas: Se ahorra la instalación del gestor de arranque que en definitiva es un poco crítico. Desventajas: Se debe mantener siempre un buen stock de disquetes de arranque que funcionen y el arranque tarda más. El hecho de que Linux no pueda arrancar sin el disquete de arranque puede ser una ventaja tal como una desventaja según las condiciones de uso. Arrancar sistemas adicionales en tiempo de ejecución: Se carga un deter- minado sistema operativo en cada arranque y los demás se cargan de manera opcional a través del que ya está cargado. Condición: Deben existir programas útiles para esto. Ejemplos: La carga de Linux desde DOS mediante el uso de loadlin.exe (ver apartado 5.9 en la página 137) o la carga de un servidor NetWare desde DOS con server.exe. Instalación de un gestor de arranque: Un gestor de arranque (ingl. Bootman- ager), permite mantener varios sistemas operativos en una computadora y alternar entre ellos. El usuario selecciona el sistema operativo durante el ar- ranque; para cambiar de sistema operativo se debe reiniciar la computadora. Condición: El gestor de arranque trabaja en "armonía" con todos los sis- temas operativos instalados. Ejemplos: En determinadas circunstancias funcionan bien con Linux el gestor de arranque de OS/2 (ver apartado 5.7.3 en la página 128) y el boot.sys de DOS. En las siguientes líneas se explica la instalación y configuración de LILO, que es el gestor de arranque estándar para Linux. En [Alm96] hay explicaciones más de- talladas (ver el fichero lpr /usr/share/doc/packages/lilo/user.dvi). Al final se añaden detalles sobre loadlin. 111 5 Arrancar y gestor de arranque 5.3. Resumen de LILO El gestor de arranque de Linux es apto para su instalación en el MBR (hay de- talles más adelante, en la página siguiente). LILO tiene acceso a ambos discos duros que se pueden acceder en modo real y por su modo de instalación es capaz de encontrar todos los datos que necesita en los discos duros "crudos"1 sin tener información acerca de la partición. Es por eso que existe también la posibilidad de iniciar sistemas operativos desde el segundo disco duro. En comparación al proceso de arranque de DOS, se ignoran los datos en la tabla de particiones. Pero la mayor diferencia respecto al arranque tipo DOS es la posibilidad de elegir entre diferentes sistemas operativos, siendo uno de ellos Linux. Después de la carga del MBR en la memoria RAM se ejecuta LILO, que le permite al usuario elegir de una lista de sistemas operativos instalados (ver en esta página). ¿Qué es LILO y qué sabe hacer? LILO es un gestor de arranque universal. Es capaz de cargar y arrancar durante el inicio los siguientes programas de sistema: Sectores de arranque de particiones (Inicio de un sistema operativo desde esa partición) Kernel de Linux (Inicio de Linux) La mayoría de los otros gestores no saben hacer lo segundo. Además existe la posibilidad de pasar con LILO una línea de comando al kernel de Linux. Por razones de seguridad es preferible proteger total o parcialmente los servicios de Linux. ¿Cuál es la apariencia del arranque con LILO? Cuando LILO se inicia, aparecen el texto LILO y un saludo en pantalla, que se ha definido durante la configuración (ver apartado 5.4.2 en la página 119). Después aparece el prompt: boot: Al introducir aquí un nombre se selecciona el sistema operativo, que arranca in- mediatamente después. Los nombres de los sistemas operativos se configuran con anterioridad. En este momento es posible pasar una línea de comando al ker- nel de Linux. El listado de los nombres dados a los distintos sistemas operativos § ¤ § ¤ aparece pulsando ¦Tab ¥(= tecla ¦Tab ¥ ). 1Se considera un dispositivo "crudo" (disco duro, disquete, partición . . . ) (ingl. raw device), cuando el acceso a él se efectúa de forma directa sin pasar por el correspondiente sistema de ficheros. 112 5.3 Resumen de LILO ¿Qué partes conforman LILO? La maquinaria de arranque de LILO se compone de las siguientes partes: un sector de arranque tipo LILO con un comienzo del código de LILO ("primera fase") que activa el LILO real. el código máquina de LILO (su "corazón"). Se encuentra normalmente en: /boot/boot.b Truco Los sectores de arranque que instala LILO contienen una secuencia de bytes que también es característica para los virus de sector de ar- ranque. Por eso no es de extrañar que algunos programas antivirus piensen que han encontrado el virus de sector de arranque AIRCOP en ficheros como /boot/chain.b o /boot/os2_d.b. ;-) un fichero map, que genera LILO durante su instalación y que contiene in- formación sobre la ubicación del kernel de Linux y de otras informaciones adicionales. Se encuentra normalmente en: /boot/map opcional: un fichero de mensaje, cuyo contenido se muestra antes de la se- lección de arranque como mensaje de saludo. Se encuentra normalmente en: /boot/message los distintos kernel de Linux y sectores de arranque, que LILO debe ofrecer para el arranque. Atención ¡Cualquier acceso de escritura y también el movimiento de alguno de estos componentes convierte el fichero map en no válido y pide por lo tanto una Reinstalación de LILO (ver en la página 122)! Esto se refiere especialmente a cualquier cambio del kernel (p. ej. la actualización). ¿Dónde se puede instalar LILO? En realidad se trata solo del sector de arranque de LILO ("primera fase"). Antes de detallar esto hay que mencionar una restricción general: 113 5 Arrancar y gestor de arranque ¡Según la versión de la BIOS, es posible que sea necesario ubicar todos los com- ponentes de la maquinaria de arranque de LILO dentro de la zona de los primeros 1024 cilindros del disco duro! Esto se puede conseguir mediante una pequeña partición aparte, que se monta sobre el directorio /boot y que se encuentra to- talmente dentro de los primeros 1024 cilindros. Durante la fase de arranque del sistema muchas de las BIOS aún disponibles sólo pueden acceder a estas zonas físicas debido a las restricciones de los drivers de la BIOS. Por lo demás, el acceso también se restringe generalmente a los dos primeros discos. Además, en caso de tener una BIOS muy antigua, es posible que la existencia de un disco (E)IDE excluya a los del tipo SCSI de la posibilidad de arrancar. Solo las BIOS recientes permiten el acceso a dispositivos adicionales. Por ejem- plo en combinación con controladores EIDE hay acceso hasta 4 discos EIDE. Muchas combinaciones modernas de BIOS y adaptadora SCSI permiten incluso "empujar hacia delante" los dispositivos SCSI para hacerlos arrancables. El uso de esta posibilidad de LILO mediante la opción disk se explica en la página 120. Para simplificarlo se resume todo bajo la clave Límite de 1024 cilindros; en to- do caso, se debe considerar este hecho durante la fase de particionar antes de la primera instalación de Linux ­ después puede ser demasiado tarde y podría generar un montón de trabajo adicional! Los detalles sobre cómo tratar esto se encuentran en el apartado 5.8.2 en la página 133. Existen los siguiente lugares para instalar el sector de arranque de LILO: En un disquete Este es el método más seguro pero a su vez el más lento para arrancar con LILO (ver en la página 126). Quien haya leído este capítulo y ahora no desee modificar los sectores de arranque, debería (por el momento) usar la variante con el disquete. En el sector de arranque de una partición Linux primaria del primer disco duro Esta variante no toca el MBR. Antes de arrancar hace falta marcar la partición con fdisk como activa. Si Linux se encuentra completamente en unidades o particiones lógicas del segundo disco duro, entonces para LILO solo queda el sector de arranque de la partición extendida en el primer disco (si éste existe). El programa fdisk de Linux también puede activar estas particiones. Este procedimiento resulta un poco complicado cuando se desea arrancar varios sistemas operativos desde el disco duro. Antes de cambiar de sistema operativo hace falta desactivar, bajo el sistema operativo actual, la partición de arranque del mismo y activar la del sistema a arrancar. Los siguientes dos procedimientos sirven mejor para este caso, ya que se evita el continuo cambio de estado de las particiones. En el Master Boot Record Esta variante ofrece máxima flexibilidad. Se trata especialmente de la única posibilidad de arrancar Linux desde el disco duro, cuando todas las parti- ciones de Linux se encuentran en el segundo disco y no hay ninguna parti- ción extendida en el primero. La modificación del MBR conlleva el riesgo 114 5.4 LILO à la carte: La configuración de efectuarse indebidamente. En el apartado 5.5 en la página 122 se explican las precauciones necesarias a tener en cuenta. Si se ha usado hasta ahora otro gestor de arranque . . . . . . y se quiere seguir usando el mismo, existen, según sus capacidades, un par de posibilidades más. Un caso muy frecuente: Tiene una partición primaria en el segundo disco y desde allí quiere arrancar su SuSE Linux; suponiendo además que el "otro" gestor de arranque puede iniciar esa partición. En este caso puede hacerlo instalando LILO en el sector de arranque e indicando al otro gestor que la partición se puede arrancar. Atención Se debe tener cuidado con la idea de arrancar una partición lógica de Linux instalando allí LILO: Muchas veces funciona, pero aunque el "otro" gestor de arranque pueda arrancar particiones lógicas, actualmente , no se garantiza ningún éxito. Naturalmente que se puede probar, quizás con una instalación muy pequeña de Linux. Tal vez se tenga suerte, pero en todo caso es mejor establecer como mínimo una partición primaria arrancable. 5.4. LILO à la carte: La configuración Como gestor de arranque flexible, LILO ofrece múltiples posibilidades para adap- tarse a las necesidades individuales. A continuación se explican las opciones más importantes; explicaciones más exhaustivas se encuentran en [Alm96]. La configuración de LILO se graba en el fichero /etc/lilo.conf. Al efectuar la primera instalación, recomendamos dejar hacerlo a YaST. Un posible retoque de lilo.conf se puede hacer a base del fichero generado por YaST. Aviso Nadie a parte de `root' debe tener permiso de lectura del fichero /etc/ lilo.conf, ya que éste puede contener contraseñas (ver apartado 5.4.2 en la página 119). De hecho esto es estándar en SuSE Linux; se puede comprobar si se desea. En cualquier caso ayuda el comando: tierra: # chmod 0600 /etc/lilo.conf Es aconsejable guardar bien el fichero de configuración de la última instalación de LILO y hacer un respaldo antes de cualquier cambio. Ningún cambio se efec- túa antes de instalar nuevamente LILO con la última versión del fichero de con- figuración (apartado 5.5 en la página 122)! 115 5 Arrancar y gestor de arranque 5.4.1. El contenido del fichero lilo.conf El fichero /etc/lilo.conf comienza con un apartado global (ingl. global options section), con parámetros generales seguido de uno o varios apartados de sistema (ingl. image sections), para los distintos sistemas operativos que LILO debe arrancar. Cada nuevo apartado de sistema se introduce por la opción image o other. El orden de aparición de los sistemas operativos en lilo.conf es importante por el hecho de que se arranca automáticamente el que aparece primero, en caso de que el usuario no intervenga. Esta intervención se puede realizar dentro de un tiempo de espera definido por las opciones delay o timeout. El fichero 5.4.1 en la página siguiente muestra una configuración de ejemplo para una computadora con Linux y DOS. Existen las siguientes opciones de arranque definidas por este fichero: un kernel de Linux nuevo (/boot/vmlinuz), uno co- mo solución de cautela (/boot/vmlinuz.suse), MS-DOS (o Windows 95/98) en /dev/hda1 y el programa Memtest86. Todo lo que está en /etc/lilo.conf entre un símbolo # y el fin de la línea cuenta como comentario. LILO lo ignora igual que el espacio en blanco y usán- dolo se mejora la legibilidad. Repasamos brevemente las líneas más importantes; opciones adicionales se de- scriben en el apartado 5.4.2 en la página 119. Sección global (Apartado de parámetros) * boot= Dispositivo sobre el cual se debe instalar (en el primer sector) el sector de arranque de LILO (el destino de la instalación). puede ser: una disquetera (/dev/fd0), una partición (p. ej. /dev/hdb3), o todo un disco (p. ej. /dev/hda): lo último significa la instalación en el MBR. Configuración por defecto: Si falta este parámetro, LILO se instala en la partición raíz actual. * lba32 Esta opción sobrepasa el límite de 1024 cilindros de LILO. Es algo que sólo funciona con el soporte apropiado de la BIOS. * prompt Fuerza la aparición del Prompt de LILO. ¡Por defecto no sale ningún prompt! (ver apartado 5.4.2 en la página 119, opción delay). Se recomienda ponerlo cuando LILO debe arrancar más de un sistema operativo. Junto con esta opción se debería definir también la opción timeout para que se pueda efectuar un reinicio automático cuando el usuario no introduce nada en el prompt. * timeout= Define un tiempo de espera en el prompt y permite así un reinicio au- tomático cuando no se introduce nada en el prompt. § ¤ es el tiempo que queda para introducir un comando. Pulsando ¦Shift ¥ en el prompt, el tiempo comienza a contar de nuevo. Configuración pre- determinada: infinito, o sea sin reboot automático! 116 5.4 LILO à la carte: La configuración ### LILO global section boot = /dev/hda # LILO installation target: MBR backup = /boot/MBR.hda.990428 # backup file for the old MBR # 1999-04-28 vga = normal # normal text mode (80x25 chars) read-only menu-scheme = Wg:kw:Wg:Wg lba32 # Use BIOS to ignore # 1024 cylinder limit prompt password = q99iwr4 # LILO password (example) timeout = 80 # Wait at prompt for 8 s before # default is booted message = /boot/message # LILO's greeting ### LILO Linux section (default) image = /boot/vmlinuz # Default label = linux root = /dev/hda7 # Root partition for the kernel initrd = /boot/initrd ### LILO Linux section (fallback) image = /boot/vmlinuz.suse label = suse root = /dev/hda7 initrd = /boot/initrd.suse optional ### LILO other system section (DOS/Windows) other = /dev/hda1 # Windows partition label = windows ### LILO memtest section (memtest) image = /boot/memtest.bin label = memtest86 Fichero 5.4.1: Configuración de ejemplo en /etc/lilo.conf 117 5 Arrancar y gestor de arranque Sección Linux * image= Aquí tiene que aparecer el nombre de la imagen del kernel a arrancar. Esto será por lo general /boot/vmlinuz y en versiones antiguas de SuSE Linux (antes de la versión 6.0) /vmlinuz o /zImage. * label= Un nombre para el sistema a libre elección pero fijo dentro de /etc/ lilo.conf (p. ej. Linux). La longitud máxima es de 15 caracteres; se permiten solo caracteres normales, cifras y "guión bajo" (`_'); no se per- miten espacios o caracteres especiales como la ñ o la Ü, etc. Las reglas exactas para los caracteres permitidos se encuentran en [Alm96], capítulo 3.2.1. El valor por defecto es el nombre de la imagen del kernel (p. ej. /boot/vmlinuz). Introduciendo un nombre en el prompt de LILO durante el arranque del sistema, se selecciona el sistema operativo deseado y en caso de usar var- ios es recomendable proporcionar una explicación más detallada de los nombres y sistemas en un fichero de mensaje (ver apartado 5.4.2 en la página siguiente, opción message). * root= Esta opción indica al kernel la partición root del sistema Linux (p. ej. /dev/hda2). ¡Se recomienda definirlo por seguridad! Sin esta opción el kernel toma la partición root que está anotada en él mismo. Apartado Linux [Linux section (fallback)] En caso de haber instalado un kernel propio, siempre es posible acceder a éste y arrancar el sistema. * optional Al borrar /boot/vmlinuz.suse (no se recomienda!), la instalación de LILO pasa por alto este apartado sin producir ningún mensaje de error. Otro sistema * other= La variable other indica a LILO las particiones de arranque de otros sis- temas para poder iniciarlos (p. ej. /dev/hda1). * label= El nombre (rótulo) a libre elección para este sistema. Se recomienda definir- lo, ya que el mero nombre de dispositivo de la partición no brinda mucha información. Sección Memtest Aquí sólo aparece el programa para el chequeo de memoria. 118 5.4 LILO à la carte: La configuración 5.4.2. Otras opciones de configuración (Selección) En el apartado anterior solamente se comentaron las opciones mínimas y más significativas de /etc/lilo.conf. Aquí se comentan otras opciones útiles. Aquellas que se indican explícitamente como opciones del tipo imagen pertenecen al apartado de un determinado sistema operativo. Las otras pertenecen a la parte global de parámetros de /etc/lilo.conf. backup= Indica el nombre de fichero que LILO usa para guardar un respaldo del sector de arranque sobre el cual se instalará. El valor por defecto es /boot/boot.xxxx, donde xxxx representa el número interno de dispositivo de la partición sobre la que se va a instalar; esto se encuentra detallado en las fuentes del kernel en /usr/src/linux/init/main.c, función parse_root_dev(). Recomendamos usar un nombre que hable más por sí mismo, como arriba en el ejemplo (con nombre de dispositivo y fecha). Haciendo esto se prescinde de la característica de desinstalación automática de LILO, pero en nuestra opinión, es algo que resulta mejor haciéndolo a mano y con mucho cuidado (ver en la página 124). Aviso ¡Si ya existe el fichero de respaldo, LILO no generará ninguno nuevo! Se ha de tener en cuenta de usar siempre un nombre de fichero nuevo compact Instalando LILO en disquete se recomienda activar esta opción. LILO trata de leer durante el arranque varios sectores simultáneamente y según la computa- dora usada puede arrancar más rápidamente. Lamentablemente no funciona en todas. Por eso es mejor no activar la opción, dado que el ahorro de tiempo sería sólo del orden de segundos. loader= Para la carga de un sector de arranque ajeno, LILO construye en su fichero map un "pseudo-MBR" (arrancando la computadora, LILO inicia primero el pseudo-MBR y a su vez éste inicia el sector de arranque ajeno). Esta opción indica el fichero con el código para el pseudo-MBR. El valor por defecto y generalmente correcto es: /boot/chain.b. A veces se quiere arrancar un sistema operativo (p. ej. DOS), que debe ser iniciado desde el primer disco duro pero con LILO desde otro disco duro. Las opciones adicionales map-drive= y to= permiten "intercambiar" los dos discos con su número de dispositivo de BIOS. Ejem- plo: fichero 5.4.2 en la página siguiente. El cargador (ingl. loader) os2_d.b sirve para cargar OS/2 desde el segundo disco2. Lo nuevo desde la versión 20 de LILO: También para el loader de 2Los cargadores any_b.b (Arrancar desde B:) y any_d.b (Arrancar desde el segundo disco) son obsoletos desde la versión 20 de LILO. 119 5 Arrancar y gestor de arranque OS/2 se debe indicar explícitamente el "cambio" de los dos primeros discos (como lo indica el ejemplo en el fichero 5.4.2). # Booting DOS from the second hard drive # DOS bootable partition config begins other = /dev/hdb1 label = DOS loader = /boot/chain.b map-drive = 0x80 # first hd: BIOS number 0x80 to = 0x81 # second hd: BIOS number 0x81 map-drive = 0x81 to = 0x80 table = /dev/hdb # DOS bootable partition config ends Fichero 5.4.2: Extracto de /etc/lilo.conf para arrancar DOS del 2º disco table= debe indicar el dispositivo fuente para la tabla de partición, que se debe cargar al pseudo-MBR (generalmente /dev/hda o /dev/sda). disk= bios= cylinders= heads= sectors= Aquí es posible indicar directamente a LILO cuál número de dispositivo de BIOS y qué geometría debe usar para acceder directamente a los sectores de un determinado disco. ¡Se necesita hacer esto pocas veces! Aplicación más importante: Mezcla de discos IDE-SCSI: Si se tiene una BIOS que permite el orden de ar- ranque SCSI antes de IDE y se quiere usar esta opción, es necesario informar a LILO especialmente sobre el cambio de orden de los discos desde el punto de vista de la BIOS. Esto se efectúa con un apunte extra en la parte global de lilo.conf como p. ej. en el fichero 5.4.3 para el caso de un sistema con un disco IDE y uno SCSI. # Enable LILO to correctly access /dev/sda and /dev/hda # at boot time if their boot order is interchanged in # the BIOS: disk = /dev/sda # The SCSI disk is regarded as... bios = 0x80 # ...first BIOS disk; disk = /dev/hda # the IDE disk is regarded as... bios = 0x81 # ...second BIOS disk. Fichero 5.4.3: Extracto de lilo.conf: Orden de arranque: SCSI ante IDE 120 5.4 LILO à la carte: La configuración linear Indicando esta opción, LILO anota durante la instalación todas las referencias en los sectores como direcciones lógicas y no físicas, así que éstas se hacen independientes de la geometría del disco. Esta opción está prevista, ya que en el momento de arranque, la BIOS reconoce en el caso de algunas tarjetas controladoras, una geometría diferente a la del sistema Linux. ¡Se necesita hacer esto pocas veces! La opción linear no evita el problema del límite de 1024 cilindros, que se establece por la geometría de la BIOS para el disco duro que arranca el sis- tema (ver file:/usr/share/doc/sdb/de/html/kgw_lilo_linear. html). message= Indica el nombre de un fichero de texto, que LILO muestra en el primer mo- mento en pantalla. El texto no debe tener más de 24 líneas (para que no se mueva hacia arriba) y puede p. ej. explicar la elección de arranque con LILO que vendrá poco después; se recomienda. Actualmente se utiliza una imagen PCX que contiene el mensaje inicial; en file:/usr/share/doc/sdb/de/html/jkoeke_bootgrafik.html hay más información sobre ello. Aviso El fichero message pertenece a la maquinaria de arranque de LILO. ¡Cualquier cambio en él requiere una nueva instalación de LILO (aparta- do 5.5 en la página siguiente)! password= Esta opción puede encontrarse al comienzo, en la sección de los parámetros o bien en la sección de sistema. Lo que hace es asegurar el acceso a los servi- cios de LILO o al inicio del correspondiente sistema operativo. Si se pone en serio una contraseña se debería borrarla inmediatamente después del primer uso del fichero lilo.conf, ya que trabajando como root no es problema definir una nueva contraseña en cualquier momento. ­Además, se recomien- da usar la opción restricted, de lo contrario sería posible iniciar directa- mente un Shell con un parámetro; ver la página del manual de lilo.conf (man lilo.conf)! read-only Con esta opción, LILO indica al kernel montar la partición raíz en modo de solo-lectura, tal como es usual al inicio de sistemas Linux. Dejando esta op- ción, el kernel usa la configuración predeterminada que se puede ver con el comando rdev -R . Los kernel de instalación y cada kernel compilado nuevamente ya están en modo read-only por lo cual casi no se necesita esta opción. (¡Pruébelo!). 121 5 Arrancar y gestor de arranque delay= Cuando por defecto no aparece ningún prompt, el usuario puede hacerlo § ¤§ ¤§ ¤ aparecer en el momento del inicio de LILO pulsando ¦Shift ¥ , ¦Ctrl ¥ , ¦Alt ¥ . La opción delay indica el intervalo de tiempo en el que LILO espera que se pulse la tecla antes de cargar automáticamente el primer sistema de su lista de sistemas operativos. El valor predeterminado es 0, o sea, ningún tiempo de espera. Evidentemente la opción delay es innecesaria cuando ya se está forzando un prompt al usar la directriz prompt en el fichero lilo.conf. vga= Seleccione el modo VGA para el inicio. Valores válidos para son: normal (para 80x25), ext (para 80x50) o ask (preguntar en el inicio). Los valores posibles para un kernel del tipo "framebuffer" se explican en /usr/src/linux/Documentation/fb/vesafb.txt append="" Opción "image" para el kernel de Linux. Permite pasar parámetros del kernel como por ejemplo cuando se indican componentes de hardware, tal como se puede hacer en el prompt de LILO. El kernel recibe primero la línea append y después los parámetros introducidos en el prompt. Por lo cual en caso de duda, los parámetros del prompt se superponen. Ejemplo: append="mcd=0x300,10" 5.5. Instalación y desinstalación de LILO Instalando Linux desde cero, YaST guía al usuario de manera interactiva por los pasos necesarios. Normalmente no se necesitan retoques a mano instalando LILO. No obstante, aquí suponemos la integración de LILO en un sistema ya instalado y usando algunas opciones especiales. Atención La instalación de un gestor de arranque es una intervención profunda y por tanto conlleva algo de riesgo. En todo caso, ¡antes de la instalación de LILO, es mejor asegurarse de que se puede arrancar Linux con disquetes y a lo mejor también los demás sistemas operativos! Sobre todo se tiene que poder usar fdisk. Instalación después del cambio de configuración Si se ha cambiado alguno de los componentes de LILO (ver en la página 113) o si se ha modificado su configuración en /etc/lilo.conf, hace falta instalar 122 5.5 Instalación y desinstalación de LILO LILO de nuevo. Esto se lleva a cabo con la llamada al instalador map (ingl. map- installer): tierra: # /sbin/lilo Primero LILO genera un respaldo del sector de arranque destino, graba allí su "primera fase" y genera después un nuevo fichero map (ver en la página 113). LILO confirma en pantalla los sistemas instalados, lo que resulta para el ejemplo de arriba en el salida en pantalla 5.5.1: Added linux * Added suse Added windows Added memtest86 Mensaje en pantalla 5.5.1: Indicaciones llamando a LILO Una vez terminada la instalación, se puede arrancar la computadora de nuevo: tierra: # shutdown -r now Después del test de sistema de la BIOS, LILO muestra el prompt que permite § ¤ pasar parámetros al kernel y elegir la imagen de arranque. Con ¦Tab ¥se pueden ver los nombres de las configuraciones instaladas. Instalación después de la recompilación del kernel Para integrar un kernel nuevo, aparte de la reinstalación de LILO a mano, existe otra posibilidad más cómoda: La organización de los comandos para configurar y generar un kernel se encuen- tran en el fichero /usr/src/linux/Makefile que debe definir el path de la in- stalación como INSTALL_PATH=/boot (ver el apartado 10.5 en la página 252) . Este Makefile contiene un target denominado bzlilo que efectúa automáti- camente algunas acciones después de la compilación del kernel: Renombra el kernel actual de /boot/vmlinuz (antes /vmlinuz) a /boot/vmlinuz.old, escribe el kernel nuevo a /boot/vmlinuz y finalmente reinstala LILO. Todo esto se ejecuta con la sencilla orden: tierra:/usr/src/linux # make bzlilo Esto evidentemente sólo tiene sentido si /etc/lilo.conf ha sido preparado con anterioridad a la reinstalación y el kernel antiguo realmente se encuentra en /boot/vmlinuz. Por seguridad, también se debería apuntar entre las imágenes para arrancar, la del antiguo kernel; por ejemplo, del modo como está hecho en el fichero 5.4.1 en la página 117 para suse. Por ejemplo puede seleccionar cómo label (rótulo) el nombre Linux.old. Siempre se puede acceder el kernel de suse. Así es posible elegir en el prompt de arranque de LILO el kernel nuevo y también el antiguo probado (nombre en el ejemplo Linux.old). De este modo se genera un nivel adicional de seguridad, útil si el sistema no quiere arrancar con el nuevo kernel. El tema de la generación de un nuevo kernel se discute en el capítulo 10 en la página 247 en adelante. 123 5 Arrancar y gestor de arranque Desinstalar LILO Atención La desinstalación de un gestor de arranque es una intervención profunda y por tanto conlleva algo de riesgo. ¡Es importante en todo caso, asegu- rarse antes de la desinstalación de LILO de que se pueda arrancar Linux con disquetes y a lo mejor también los demás sistemas operativos! Si no, se puede entrar en la desagradable situación de perder el acceso a los sistemas operativos en el disco duro. A lo mejor un buen día hace falta desinstalar LILO. Para desinstalarlo se copia el contenido original del sector de arranque al mismo sobreescribiendo así a LILO. Bajo Linux esto no representa ningún problema, si existe un respaldo válido (ver apartado 5.4.2 en la página 119 Option backup). Atención El respaldo de un sector de arranque deja de ser válido cuando la partición correspondiente ha recibido un nuevo sistema de ficheros (en el mundo DOS: cuando ha sido formateado). La tabla de partición en un respaldo de MBR pierde completamente su validez cuando el disco ha sido repar- ticionado. Un respaldo de este estilo es una "bomba" que puede estallar en cualquier momento, por eso lo mejor es borrar respaldos caducados in- mediatamente. ¡Usar un respaldo viejo es una manera bastante segura de perder montones de datos! Lo más fácil es la recuperación de un MBR de DOS, Windows o OS/2. Se efectúa con el siguiente comando de MS-DOS (disponible a partir de la versión DOS 5.0 en adelante): C:\> fdisk /MBR o con el comando de OS/2: C:\> fdisk /newmbr Estos comandos solamente escriben los primeros 446 Bytes al MBR (el código de arranque) y dejan la tabla de partición sin tocar, salvo que el MBR (ver en la página 109) se encuentre como no válido por una "cifra mágica" falsa; en este caso se borra la tabla! No olvide activar con fdisk la partición de arranque, ya que las rutinas del MBR de DOS, Windows y OS/2 lo necesitan. Antes de continuar conviene hacer otro respaldo reciente del sector de LILO en cuestión; mejor un respaldo de más que uno de menos. Después se comprueba ­ como mínimo dos veces ;-) ­ si el respaldo antiguo es correcto y si su tamaño es de exactamente 512 bytes. Finalmente se devuelve la información del respaldo a su ubicación original usando las siguientes instrucciones, sin confundirse entre if= y of= Si LILO está en la partición yyyy (p. ej. hda1, hda2,. . . ): 124 5.6 Generar disquete de arranque de Linux tierra: # dd if=/dev/yyyy of=fichero-nuevo bs=512 count=1 tierra: # dd if=fichero-respaldo of=/dev/yyyy Si LILO está en el MBR del disco zzz (p. ej. hda, sda): tierra: # dd if=/dev/zzz of=fichero-nuevo bs=512 count=1 tierra: # dd if=fichero-respaldo of=/dev/zzz bs=446 count=1 El último comando "tiene la precaución" de no modificar la tabla de particiones. Recuerde activar con fdisk la partición que debe formar ahora la de arranque. A propósito: ¿Se ha percatado de lo rápido que se hace un respaldo del sector de arranque? Por eso recomendamos hacerlo a menudo. 5.6. Generar disquete de arranque de Linux Un disquete de arranque de Linux contiene ­ en resumen ­ uno o varios kernel que pueden ser gestionados por LILO. Sirve para arrancar SuSE Linux en el disco cuando ya no se puede arrancar de manera directa desde el disco, lo cual puede ser provocado por un gestor de arranque mal configurado, por un MBR borrado o por fallos en la instalación de LILO. Este tipo de disquete solamente carga el kernel, todo lo demás (init, scripts de arranque, programas importantes de sistema) se espera que lo proporcione el sistema instalado. La interconexión entre el kernel del disquete y el sistema en el disco duro, se efectúa indicando al kernel correspondiente la partición root del disco como dispositivo root (ingl. root device). No se debe confundir esto con los disquetes de arranque SuSE para la instalación y emergencias, cuyos ficheros de imagen (ingl. image files) se encuentran en el directorio /disks del primer CD, listos para ser copiados en disquetes (aparta- do 13.6 en la página 325). Disquete de arranque sin LILO En el caso normal, cuando el soporte de la controladora de disco forma parte del kernel ("kernel monolítico"), no hace falta pasar ningún parámetro al kernel. En tal caso lo más rápido para generar un disquete de arranque es copiar el kernel actual sobre un disquete vacío sin errores y ajustar correctamente el dispositivo root, si no está hecho ya. Se usa los siguientes comandos: tierra: # /sbin/badblocks -v /dev/fd0 1440 tierra: # dd if=Su_Kernel of=/dev/fd0 bs=18k tierra: # rdev /dev/fd0 Su_Partición_Root tierra: # rdev -R /dev/fd0 1 El primer comando comprueba si hay bloques dañados (1 bloque = 1 k). El úl- timo comando se preocupa de que el kernel monte la partición root al principio a modo de solo-lectura, tal como debe ser siempre (los scripts de arranque de sistema confían en esto). 125 5 Arrancar y gestor de arranque Disquete de arranque con LILO Un disquete de arranque confortable, con mensaje de saludo, elección del kernel, opción de parámetros y con las demás prestaciones de LILO, se genera copiando toda la maquinaria de arranque de LILO al disquete (ver en la página 113). Para ello el disquete necesita un sistema de ficheros, que para este caso, el mejor es minix. Para crear el disquete manualmente, se hace lo siguiente: Generar un sistema de ficheros minix en un disquete vacío con compro- bación y en caso de éxito montarlo p. ej. bajo /mnt: tierra: # /sbin/mkfs.minix -c /dev/fd0 1440 tierra: # /bin/mount /dev/fd0 /mnt Copiar los ficheros del kernel y el fichero /boot/boot.b de LILO a /mnt (o sea en el disquete). Opcional: Generar un fichero /mnt/message para un mensaje de saludo. Generar en /mnt un fichero lilo.conf propio como figura en el fichero 5.6.1. Se debe apuntar la partición raíz real (cambiar Su_Dispositivo_Raíz): # LILO fichero de configuración disquete de arranque # Start LILO global Section boot=/dev/fd0 # Destino de instalación: install=/mnt/boot.b # Disquetera. LILO y el map=/mnt/map # fichero-Map al disquete! message=/mnt/message # opcional prompt timeout=100 # Espera en el prompt: 10 s vga = normal # # End LILO global section ## Linux bootable partition config begins image = /mnt/vmlinuz # default root = /dev/Su_Dispositivo_Raíz # aquí partición raíz! label = linux # Linux bootable partition config ends ## Aquí apartados de sistema para kernels adicionales: Fichero 5.6.1: lilo.conf para disquete de arranque Usando un disco de memoria initrd, indique también éste en lilo.conf; ver la información en el apartado 13.4.3 en la página 318. Instalar LILO mediante el lilo.conf descrito: tierra: # /sbin/lilo -C /mnt/lilo.conf 126 5.7 Ejemplos de Configuraciones ¡Desmontar el disquete y listo! tierra: # /bin/umount /mnt No olvide comprobar si el disquete realmente funciona. 5.7. Ejemplos de Configuraciones Si el nuevo Linux es el único sistema operativo en la computadora, no hace falta hacer nada más, ya que YaST ha hecho todo lo necesario durante la instalación. Más adelante se muestran algunos ejemplos para computadoras con varios sis- temas operativos que encuentran su complemento en las configuraciones local- izadas en /usr/share/doc/howto/en/mini/Linux+*.gz. 5.7.1. DOS/Windows 95/98 y Linux Requisito: DOS/Windows 95/98 y Linux deben tener cada uno una partición primaria por debajo del límite de los 1024 cilindros (ver en la página 113); la partición de arranque de Linux (/boot) también puede ser del tipo lógico, pero siempre debe estar completamente por debajo del límite de 1024 cilindros. Una configuración adecuada para este caso ya fue mencionada en el fichero 5.4.1 en la página 117. Solamente se adaptan los parámetros de las líneas root,image y other. LILO se instala en el MBR. Conviene guardar /etc/lilo.conf y un disquete de arranque en un lugar se- guro, ya que es justamente Windows 95/98 el que tiene una cierta tendencia a eliminar los MBR "ajenos". Si sucede esto y se puede arrancar Linux después con un disquete de arranque, el problema se resuelve con el sencillo comando tierra: # /sbin/lilo 5.7.2. Windows NT y Linux en un disco duro 1. Posibilidad: Uso del Gestor de arranque de NT. Este es capaz de iniciar sectores de arranque y sus imágenes. Con los siguientes pasos la coexistencia de Linux y Windows NT se hace posible: Instalación de Windows NT. Preparar un medio (partición de disco o disquete sin errores) sobre el cual Linux pueda escribir y NT pueda leer, p. ej. FAT. Instalar Linux "como es habitual" (aquí suponemos /dev/sda3 como partición raíz de Linux) y después montar el medio con FAT (p. ej. en /dosa). Cuidado: ¡No usar las opciones de mount conv=auto o conv=text! Instalar LILO en la partición raíz (o sea /dev/sda3) no en el MBR (/dev/ sda)! Se sigue teniendo la posibilidad de configurar LILO de modo que se pueda seleccionar entre varias imágenes de kernel. Como ejemplo para lilo.conf, consultar el fichero 5.7.1 en la página siguiente. 127 5 Arrancar y gestor de arranque # LILO fichero de configuración: Arrancar desde # partición raíz /dev/sda3 # Start LILO global Section boot=/dev/sda3 # destino de instalación backup=/boot/boot.sda3.980428 # respaldo sector arranque prompt timeout=100 # Espera al prompt: 10 s vga = normal # force sane state # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz # default image to boot root = /dev/sda3 # aquí la partición raíz! label = Linux # Linux bootable partition config ends Fichero 5.7.1: lilo.conf para arrancar una partición raíz Copiar el sector de arranque de LILO a un fichero en el medio FAT, p. ej. tierra: # dd if=/dev/sda3 of=/dosa/bootsek.lin bs=512 count=1 ¡Evidentemente hay que repetir este paso y también el siguiente después de cada actualización del kernel! Arrancar NT. Copiar bootsek.lin desde el medio FAT al directorio raíz de la unidad de sistema de NT, si no se encuentra ya en éste. Añadir al final del fichero boot.ini (definición de atributos) la línea: c:\bootsek.lin="Linux" Si todo va bien, debe existir una nueva opción en el gestor de arranque de NT cuando se arranque la computadora la próxima vez. 2. Posibilidad, (desafortunadamente no funciona siempre): Instalar LILO en el MBR y hacer como si fuera DOS (ver el ejemplo anterior); pero cuidado, se trata de algo que aparentemente ha dejado de funcionar con versiones más recientes de NT. Parece que solo quiere arrancar cuando encuentra unas secuencias especiales (y no documentadas) en el MBR, de las que LILO no sabe nada :-( Atención ¡Windows NT (3.5* y 4.0) no reconoce los tipos de partición 82 y 83 que usa Linux! Se debe vigilar que ningún programa de NT "repare" la tabla de partición en este sentido: se pueden perder datos! Lo mejor es mantener siempre un par de respaldos de seguridad válidos del MBR de LILO. 5.7.3. OS/2 y Linux 1. Posibilidad: Se usa el gestor de arranque de OS/2. Este es capaz de arran- car cualquier partición primaria o lógica dentro del límite de los 1024 cilin- 128 5.7 Ejemplos de Configuraciones dros. La responsabilidad de hacerlo realmente arrancable está en manos del usuario. Se configura el gestor de arranque (ingl. bootmanager) con el fdisk de OS/2. Preparación de Linux: Configurar el arranque a una partición primaria de Linux (normalmente la partición raíz) con LILO. La configuración útil para esto es otra vez lilo.conf como en el fichero 5.7.1 en la página anterior. Pero antes hay que considerar algo más. . . : Preparación de OS/2: OS/2 no se queda con la manera convencional de an- otar información sobre las particiones (en los MBR de los discos duros y en los sectores de partición) sino que usa el espacio libre en estos sectores para guardar información adicional. Si ésta es inconsistente, el fdisk de OS/2 ve la tabla de particiones como dañada y no presta los servicios del gestor de ar- ranque. Los programas fdisk de otros sistemas operativos no suelen guardar información adicional, así que la aparición de conflictos adicionales está pro- gramada. Por eso antes de instalar Linux se carga OS/2 (el sistema base de instalación es suficiente) y se generan las particiones Linux, como mínimo las lógicas, con el fdisk de OS/2. Esto crea en principio particiones adicionales de tipo OS/2 que pueden resultar bastante molestas. Solución: Cargar inmediatamente después el sistema de instalación de Linux (o también el sistema de rescate) desde el CD SuSE Linux y cambiar con el fdisk de Linux el tipo de partición a 83 (Linux native). Así OS/2 pasará a ignorar correctamente estas particiones. 2. Posibilidad: Se usa LILO como gestor de arranque principal en una partición primaria del primer disco duro. Se trata de un caso especial del ejemplo sigu- iente en el cual aparece también DOS. Peor sería usar el MBR, porque en cada cambio de partición con un fdisk ajeno éste graba el MBR de nuevo y así podría borrar LILO. 5.7.4. DOS, OS/2 y Linux 1. Posibilidad: Si ya está usando el OS/2 Bootmanager (gestor de arranque OS/2) para DOS y OS/2 y lo quiere seguir usando, basta con incorporar Linux en el menú de arranque tal como se ha explicado en el ejemplo anterior. 2. Posibilidad: Se usa LILO como gestor de arranque principal en una partición primaria del primer disco duro. El siguiente ejemplo para lilo.conf (fichero 5.7.2 en la página siguiente) es más complicado y supone que las particiones de arranque de DOS (pri- maria) y de Linux (primaria) se encuentran en el primer disco y la de OS/2 (lógica) en el segundo ­ todas dentro de los primeros 1024 cilindros. OS/2 se encuentra en el segundo disco por lo que se usa el loader especial /boot/ os2_d.b en lugar de /boot/chain.b. No importa si el código del MBR es de MS-DOS o de OS/2. En la tabla de particiones hay que activar con el programa fdisk la partición de LILO /dev/sda4. 129 5 Arrancar y gestor de arranque # LILO fichero de configuración # Start LILO global Section boot = /dev/sda4 # LILO en partición raíz de Linux backup = /boot/boot.sda4.970428 message = /boot/message # Mensaje de saludo prompt delay = 100 vga = normal ## Linux bootable partition config begins image = /boot/vmlinuz label = linux root = /dev/sda4 # Linux bootable partition config ends ## OS/2 bootable partition config begins other = /dev/sdb5 table = /dev/sdb label = os2 loader = /boot/os2_d.b # New for LILO v20 and newer: interchange disk drives: map-drive = 0x80 # first hd: BIOS number 0x80 to = 0x81 # second hd: BIOS number 0x81 map-drive = 0x81 to = 0x80 # OS/2 bootable partition config ends ## DOS bootable partition config begins other = /dev/sda1 table = /dev/sda label = dos # DOS bootable partition config ends Fichero 5.7.2: LILO con DOS, OS/2 y Linux en dos discos duros 130 5.8 Problemas con LILO 5.8. Problemas con LILO Algunas reglas Para comenzar, algunas reglas con las que se evitan desde un principio muchos problemas con LILO (tomadas del libro para usuarios de LILO [Alm96]): ¡Que no cunda el pánico! Antes de intentar arreglar el fallo se debe tratar de definirlo bien, encontrar su causa y después comprobar la diagnosis. Mantener siempre al alcance un disquete de arranque actual y comprobado. SuSE Linux contiene un sistema de rescate autónomo (ver apartado 13.6 en la página 325), con el cual se puede acceder a todas las particiones de Linux. También hay allí bastantes herramientas para resolver problemas de pérdida de acceso a los discos Consultar la documentación, especialmente cuando la computadora hace al- go que aparentemente no debería hacer. Antes de cualquier llamada al instalador map (/sbin/lilo), comprobar cuidadosamente el fichero de configuración /etc/lilo.conf. Ejecutar /sbin/lilo cada vez que se cambie algún componente de la maquinaria de arranque de LILO o cuando se haya modificado el fichero de configuración de LILO/etc/lilo.conf. Hace falta un cuidado especial teniendo varios discos o uno grande: considere el límite de 1024 cilindros! Hacer pruebas con y sin la opción linear (generalmente va mejor "sin"). 5.8.1. Diagnóstico de errores: Mensajes de inicio de LILO Lo que aquí se refleja es básicamente la traducción de un apartado de [Alm96], la descripción de LILO escrita por WERNER ALMESBERGER. El código de arranque de LILO se compone de dos partes: La primera en un sector de arranque y la segunda en /boot/boot.b. Durante la instalación de LILO se genera un fichero "map" (por defecto /boot/map), donde LILO puede encontrar los punteros necesarios (direcciones de sectores) que apuntan a los distintos sistemas operativos que se deben iniciar (kernel de Linux, etc.). Cuando LILO se carga, muestra en pantalla la palabra `LILO'. La aparición de cada letra indica la terminación de una determinada fase, por lo tanto, las letras que ya han salido en pantalla indican en qué momento apareció el problema. (nada) No se cargó ninguna parte de LILO. Puede que LILO no esté instalado o no se haya iniciado la partición con el sector de arranque de LILO. `L' error ... Se cargó e inició la "primera fase" pero no fue capaz de cargar la segunda (/boot/boot.b). Esto generalmente indica un error físico del medio de arranque (p. ej. disquete) o una geometría de disco errónea. 131 5 Arrancar y gestor de arranque `LI' Se cargó la segunda fase de LILO pero no pudo ser arrancada. Esto ocurre por una geometría falsa de disco o por haber movido /boot/boot.b sin reinstalación de LILO. `LIL' Arrancó la segunda fase de LILO, pero ésta no pudo cargar los datos necesarios (punteros, etc.) del fichero map. Se trata de un error provocado típicamente por un fallo físico del medio de arranque. `LIL?' La segunda fase de LILO se cargó en un área de memoria falsa. Esto lo provoca generalmente un pequeño fallo de la geometría del disco o por haber movido /boot/boot.b sin reinstalación de LILO. `LIL-' Los valores en el fichero map no son válidos. El error es generalmente provocado por un fallo en la geometría del disco o por haber movido /boot/ boot.b sin reinstalación de LILO. `LILO' Todas las partes de LILO fueron cargadas con éxito. Solucionar la causa del error El motivo más frecuente de los fallos de geometría no son defectos físicos o tablas de partición no válidas, sino fallos durante la instalación de LILO­ sobre todo negligencia respecto al límite de 1024 cilindros (ver el apartado 5.8.2 en la página siguiente). En la mayoría de los casos las tres siguientes medidas pueden remediar el prob- lema: 1. Instalar todos los datos de LILO por debajo de los 1024 cilindros (si no estu- viera hecho ya). Esto se refiere al kernel de Linux, al contenido del directorio /boot y al sector de arranque que debe albergar el código de arranque de LILO. 2. Instalar LILO de nuevo con el comando lilo como `root'. Es posible hacer a lilo más "completo" para que muestre más información y para que genere un fichero de registro; esto funciona de la siguiente forma: tierra: # lilo -v -v -v >/boot/lilo.log 2>/boot/lilo.logerr Si la configuración de arranque es correcta, /boot/lilo.logerr debe es- tar vacío. El fichero /boot/lilo.log menciona la forma en la que LILO guarda la ubicación de sus ficheros, los números de dispositivo de la BIOS que LILO usa para los disco duros en cuestión y muchos más detalles. 3. Comprobar la consistencia de la información sobre la geometría del disco duro. Hay que considerar hasta cuatro detalles diferentes: a) Geometría usada por LILO que se averigua en el fichero de registro arriba mencionado. Se puede tener influencia sobre ésta mediante el rótulo disk dentro de lilo.conf; ver en la página 120. 132 5.8 Problemas con LILO b) Geometría reconocida por el kernel de Linux. Para ello véase /var/log/ boot.msg o el resultado de dmesg. Se puede tener influencia sobre ésta mediante parámetros de kernel (limitado); ver también apartado 11.3.2 en la página 265. c) Geometría en la que está basada la tabla de particiones (ver el resultado de fdisk -l). Se puede tener influencia sobre ésta con comandos de experto de fdisk. Cuidado: ¡Esto es muy peligroso para los datos! Hay que hacer un respaldo total; realmente solo está pensado para expertos. d) Geometría tal como la reconoce la BIOS. Esta geometría la encuentra LILO al iniciar el sistema y se ha de trabajar con ella. Para modificarlo, ver el Setup de la BIOS o de la controladora SCSI (si ésta existe). Si hay inconsistencias en alguna parte y la pregunta es qué modificar, lo mejor es retocar donde sea más fácil. Es preciso averiguar los siguientes datos: /etc/lilo.conf Resultado del comando fdisk -l (Particiones) Los ficheros de registro mencionado arriba Configuración de la BIOS y de la BIOS-SCSI respecto a los discos duros. 5.8.2. El límite de 1024 cilindros Aviso Desde hace poco existen determinadas versiones de BIOS que permiten arrancar un sistema operativo que se encuentra por encima del límite de los 1024 cilindros. La versión actual de LILO es capaz de aprovechar esta nueva característica de la BIOS. YaST y YaST2 informan durante la insta- lación sobre las capacidades de la BIOS. Si la BIOS no tuviera la extensión, es importante seguir estudiando este capítulo. Como ya se ha mencionado varias veces (p. ej. en la página 113), toda la maquinar- ia de arranque de LILO, o sea todos los datos que LILO necesita para arrancar, deben ser accesibles usando solo las rutinas de la BIOS. Las zonas de disco ap- tas para ello ya fueron mencionadas y se denominarán de aquí en adelante zona permitida. ¿Cuáles son entonces las posibilidades que quedan con esta restricción? En real- idad quedan muchas, ya que se trata solo de la maquinaria de arranque que cae bajo esta restricción y no hay ninguna obligación de ponerla en la partición raíz. Incluso existe la posibilidad (que conlleva un cierto peligro) de albergar todos los ficheros del manejo de arranque en particiones de otros sistemas operativos cuando solo Linux tiene acceso de lectura y escritura sobre ellos. 133 5 Arrancar y gestor de arranque Atención ¡Lo que no se puede hacer es instalar el sector de arranque de LILO sobre una partición ajena, porque con esto generalmente se rompe el sistema de ficheros del otro sistema operativo! En todo caso la "solución más limpia" es la de generar una partición primaria de Linux completamente dentro de la zona permitida e instalar allí todos los ficheros de LILO (incluido el sector de arranque). Instalando con YaST se genera una partición (/boot) adicional, que a penas tiene suficiente tamaño para albergar los siguientes ficheros: * boot.b, map, message, * los kernel de Linux, que LILO debe arrancar. Esto significa que unos pocos megabytes son suficientes. Para todo el resto del sistema ya no hay ninguna restricción respecto a su ubicación en el (los) disco(s). Una vez que el kernel esté en marcha tiene acceso ilimitado a todos los discos en el sistema. ¿Pero qué hacer cuando ya no hay espacio para una partición así? Si no se quiere reparticionar el disco, ni se quiere pasar a SCSI y tampoco a una BIOS moderna, siguen existiendo dos posibilidades "provisionales": En lugar de instalar LILO en el disco duro se usa en un disquete o, si tiene también MS-DOS instalado, puede usar loadlin para arrancar Linux. Albergar toda la maquinaria de arranque de LILO en una partición no­Linux, que se encuentra completamente en la zona permitida y sobre la cual Linux puede escribir (p. ej. una partición con FAT/VFAT DOS). Evidentemente no se puede poner allí el sector de arranque de LILO. Esto deja como posibil- idades el comienzo de una partición extendida en el primer disco ­ si está por delante del cilindro 1024 ­ o el MBR. Supongamos que la partición en cuestión está montada bajo /mnt. LILO debe ponerse en el MBR (p. ej. /dev/hda) y además arrancar DOS desde /dev/hda1. En este caso hay que proceder de la siguiente manera: * Generar un directorio nuevo, p. ej. /mnt/LINUX y copiar los ficheros mencionados de LILO desde /boot hacia allí: boot.b, map, message, tal como los chain-loader para los otros sistemas operativos que estén in- stalados (generalmente chain.b) y los kernel de Linux, que LILO debe arrancar. * Generar un fichero /mnt/LINUX/lilo.cfg, en el que todos los path apuntan a /mnt/LINUX (fichero 5.8.1 en la página siguiente): * Instalar LILO con este lilo.cfg: tierra: # /sbin/lilo -C /mnt/LINUX/lilo.cfg 134 5.8 Problemas con LILO # LILO Fichero de configuración en directorio ajeno # Start LILO global Section boot=/dev/hda # destino instalación backup=/mnt/LINUX/hda.xxxx # respaldo MBR antiguo install=/mnt/LINUX/boot.b # LILO y el fichero map map=/mnt/LINUX/map # están en /mnt/LINUX! message=/mnt/LINUX/message # opcional prompt timeout=100 # Espera en el prompt: 10 s vga = normal # # End LILO global section ## Linux bootable partition config begins image = /mnt/LINUX/Primer_Kernel # default root = /dev/Su_Dispositivo_Raíz # Partición root de aquí! label = linux # Linux bootable partition config ends ## Aquí párrafos de sistema para los kernel adicionales: ## Fin Linux # DOS bootable partition config begins other = /dev/hda1 # Unidad de sistema de MSDOS label = dos loader = /mnt/LINUX/chain.b table = /dev/hda # DOS bootable partition config ends Fichero 5.8.1: lilo.cfg para partición ajena 135 5 Arrancar y gestor de arranque Después de este procedimiento LILO debería funcionar. Arranque MS- DOS y proteja los ficheros de LILO lo mejor que pueda contra accesos de escritura. (¡Ojo! Cualquier acceso de escritura y LILO dejará de fun- cionar.) Como mínimo se activan los atributos de DOS sistema y escon- dido (system and hidden) de todos los ficheros en X:\LINUX. X: indica aquí la unidad MS-DOS que se montó bajo /mnt. Para finalizar queremos indicar dos HOWTOs al respecto: LILO.gz y Large-Disk.gz que se encuentran en /usr/share/doc/howto/ en/mini/. 5.8.3. Problemas especiales de arranque con el kernel a partir de 2.0 Arrancando LILO ­ igual si es desde una disquetera o desde el disco duro ­ pueden aparecer problemas después de haber cargado un kernel grande (p. ej. el kernel de instalación de SuSE) :-( Aunque se puede elegir un kernel en el prompt de LILO y el kernel se carga (se muestran algunos puntitos), el inicio del kernel no funciona. Esto quiere de- cir que el sistema se cuelga con diferentes reacciones antes de que aparezca el mensaje "uncompressing Linux". Posibles reacciones o mensajes: La computadora se inicia de nuevo. La computadora simplemente se para. "crc-error" "no free space" "Error 0x00" "Error 0x01" "incomplete literal tree" Después de esto, en ocasiones aparece otro acceso a las disqueteras, pero la com- putadora queda "colgada". El motivo de ello es la combinación de un kernel grande, LILO y hardware de- fectuoso. Haciendo una aproximación, alrededor del uno por ciento de las com- putadoras reaccionan así. Sospechamos que por culpa de un error en la BIOS hay problemas con un acceso rápido a la memoria. ­ El problema no ocurre cuando: Linux ha sido arrancado con Loadlin (apartado 5.9 en la página siguiente), se copia un kernel p. ej. con tierra: # dd if=/boot/vmlinuz of=/dev/fd0 a un disquete arrancándolo directamente desde allí, 136 5.9 Configuración del mecanismo de arranque con loadlin se arranca con LILO un kernel pequeño, que fue generado con tierra: # make zImage Con los siguientes ajustes de la BIOS tampoco hay problemas de arrancar: Deshabilitar la cache interna (disable) DRAM Precharge Wait State a 1 y DRAM Wait Burst Timing a 0x3333 Solución En primer lugar es necesario poder instalar Linux de alguna forma. Si no se puede arrancar directamente con loadlin (o con setup.exe) lo mejor es usar un disquete de arranque antiguo con versión 1.2.13. Si no se dispone de él, se han de cambiar los parámetros de la BIOS. Después de una instalación exitosa aparece la pregunta sobre cómo arrancar su Linux. Primero arranque con el mismo medio de la instalación, ya que no hay problemas con loadlin desde la partición DOS. En caso de un disquete de ar- ranque, indique como parámetros: load_ramdisk=0 root=/dev/ donde es su partición raíz, p. ej. hda1. 5.9. Configuración del mecanismo de arranque con loadlin Aquí se presenta un método adicional de arrancar SuSE Linux, usando el load- lin. Se trata de un programa DOS capaz de arrancar el kernel de Linux que se encuentra en una partición DOS. loadlin se integra plenamente en un entorno DOS/Windows 9x y se puede arrancar de manera confortable con el gestor de ar- ranque de Windows. Como no se graba nada en el MBR lo único que Windows ve de Linux es una o varias particiones con identificadores desconocidos (ingl. IDs). Así se minimiza el peligro de efectos colaterales por la existencia de Linux en la computadora. El procedimiento que aquí se explica, funciona bajo Windows 95 y Windows 98 y los ficheros de configuración que se muestran fueron desarrollados bajo Win- dows 95, por lo que a partir de ahora solo se menciona a Windows 95. Usando loadlin hacen falta algunos preparativos y según las condiciones hay que modificar también algunos ficheros de arranque. En principio hay dos maneras distintas de activar loadlin: Elegirlo en el mo- mento de arrancar a través del menú de arranque de Windows o iniciarlo desde DOS/Windows y de este modo cambiar a Linux. Ambos métodos tienen sus ventajas y desventajas: 137 5 Arrancar y gestor de arranque El menú de arranque evita el desvío por otro sistema operativo para arrancar Linux. Es posible incorporar en un menú de arranque configuraciones adicionales y así construir un mecanismo de arranque universal. Es necesario modificar los ficheros de arranque para construir un menú de arranque y tal vez haga falta probar un poco. Los ficheros de ayuda de DOS probablemente pueden ayudar; pruebe con el comando help menu. En el prompt de DOS el cambio hacia a Linux es muy simple. Bajo Windows 95 se puede hacer la bonita integración del arranque de Lin- ux en el entorno gráfico lo que permite cambiar a Linux con un doble-click del mouse sobre un icono. No obstante, se puede montar también bajo Win- dows 95 un menú de arranque ya que éste contiene DOS 7.0. Truco Si se quiere arrancar Linux directamente después de encender la computa- dora, lo mejor es usar un menú de arranque. El método de arrancar desde el prompt de DOS o con el doble-click del mouse se puede usar adicional- mente para cambiar de DOS/Windows directamente a Linux. Los menús de arranque y la configuración de Windows 95 tienen muchas facetas, así que no entraremos en muchos detalles al respecto. 5.9.1. Ficheros necesarios para loadlin Lo siguiente hay que hacerlo siempre independientemente de la manera de ar- rancar con loadlin (válido para DOS, Windows 3.x y Windows 95): 1. Lo más probable es que ya esté loadlin instalado. Sino, hace falta instalarlo primero desde el CD 1 con setup. 2. Bajo MS-DOS se cambia al directorio c:\loadlin. Allí hay un fichero llamado linux.par. En este mismo directorio se genera un fichero, p. ej. startlin.bat o con el nombre que parezca oportuno. Este fichero debe contener una línea como la del fichero 5.9.1. c:\loadlin\loadlin @c:\loadlin\linux.par Fichero 5.9.1: Ejemplo de un fichero por lotes para arrancar Linux Ahora se escriben en el fichero linux.par las siguientes líneas como se indica en el fichero 5.9.2 en la página siguiente. xxx es el nombre de dispositivo de su partición raíz (debe haberse apuntado este nombre según el apartado 3.6.2 en la página 66. La entrada con initrd 138 5.9 Configuración del mecanismo de arranque con loadlin c:\loadlin\zimage # first value must be # the filename of the Linux-kernel initrd=c:\loadlin\initrd root=/dev/xxx # the device which gets mounted as root FS ro # mount root read-only Fichero 5.9.2: Ejemplo de un fichero de parámetros para el arranque de Linux solo se necesita cuando hace falta cargar el soporte SCSI directamente en el momento de arrancar (sobre el concepto del "initial ramdisk" véase el aparta- do 13.4 en la página 316). Con el fichero startlin.bat se puede arrancar Linux en cualquier momento desde DOS. Los ficheros startlin.bat y config.sys usan linux.par, el cual contiene todos los parámetros nece- sarios para arrancar Linux. Es posible introducir o reemplazar parámetros de arranque en linux.par una vez acostumbrados a trabajar con Linux. Cuando se haya construido un kernel propio, se copia del sistema de ficheros Linux a c:\loadlin\zimage y a partir de entonces se trabaja con este nue- vo kernel; en caso que haga falta, también debe guardar allí un disco initrd generado nuevamente. 5.9.2. Personalizar menús de arranque Para personalizar un menú de arranque bajo DOS o Windows 3.x se hace lo siguiente: 1. Primero hay que definir en el fichero c:\config.sys un menú de arranque. Para ello se introduce algo parecido a lo indicado en el fichero 5.9.3. [Menu] menuitem=Win, Arrancar Windows... menuitem=DOS, Arrancar MS-DOS... menuitem=Linux, Arrancar Linux... menucolor=15,1 menudefault=Win,5 Fichero 5.9.3: Ejemplo para config.sys (1ª parte) para arrancar Linux Bajo el rótulo [Menu] se definen las opciones del menú, su color y el tiempo de espera (segundos) antes del arranque de la opción por defecto. 2. A continuación se escriben los rótulos [Common], [Win], [DOS] y [Linux]. Bajo Common se anotan los comandos válidos para todas las opciones y bajo el rótulo de cada opción se anotan solo los comando válidos para dicha opción. Para ello se usan las líneas que se encuentran en el config.sys actual; un ejemplo se muestra en el fichero 5.9.4 en la página siguiente. Ahora se guarda el fichero. 139 5 Arrancar y gestor de arranque [Common] device=c:\dos\himem.sys /testmem:off device=c:\dos\emm386.exe noems dos=high,umb files=30 buffers=10 shell=c:\dos\command.com [Win] devicehigh=c:\dos\dblspace.sys /move devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C [DOS] devicehigh=c:\dos\dblspace.sys /move devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C [Linux] shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par [Common] rem Queda vacío Fichero 5.9.4: Ejemplo de config.sys (2ª parte) para el arranque de Linux 3. A continuación, abrir el fichero c:\autoexec.bat. En este fichero se deben apuntar los mismos rótulos y asignarles comandos pero con una sintaxis un poco diferente. El rótulo elegido en el menú de arranque está en la vari- able config. Se puede escribir, por ejemplo, algo como lo indicado en el fichero 5.9.5 en la página siguiente. 4. Arrancando ahora la computadora aparece un menú de arranque, el cual da 5 segundos de tiempo para elegir una opción; después de este tiempo, Win- dows arranca automáticamente. Si se selecciona `Linux', éste arranca y es- pera que se haga el login. 5.9.3. Iniciar Linux desde Windows Aquí se explica cómo activar y configurar un icono para Linux, que permite arrancarlo desde el sistema Windows 95 que esté en marcha: 1. Entrar a la carpeta c:\loadlin, marcar el fichero startlin.bat y selec- cionar en el menú de "Edición" `Copiar'. 2. Ir a una carpeta o al escritorio según donde se quiera tener el icono de acceso a Linux. Pulsar el botón derecho del mouse y seleccionar `Pegar acceso directo'. 3. Marcar el acceso directo recién creado y pulsar el botón derecho del mouse. Seleccionar `Propiedades'. Entrar en la ficha `Programa' y pulsar sobre 140 5.9 Configuración del mecanismo de arranque con loadlin @echo off rem Comandos para todas las configuraciones switches= /f set comspec=c:\dos\command.com prompt $p$g loadhigh c:\dos\keyb gr,,c:\dos\keyboard.sys loadhigh c:\dos\doskey set temp=c:\temp loadhigh c:\dos\mscdex.exe /D:SONY_000 /E /V /L:H c:\logimouse\mouse.exe goto %config% :Win c:\dos\smartdrv.exe a- b- c+ 2048 1024 path c:\windows;c:\dos;c:\util; win c:\dos\smartdrv /C goto fin :DOS path c:\dos;c:\util; goto fin :fin echo * ¡Hasta la vista! * Fichero 5.9.5: Ejemplo de autoexec.bat para el arranque de Linux 141 5 Arrancar y gestor de arranque el botón `Avanzada...'. Marcar la casilla `Modo MS-DOS' y confirmar con `Aceptar'. 4. Con el botón `Cambiar icono...' se puede elegir un icono diferente y finalmente dar un nombre adecuado al acceso directo. ¡Listo! 5. Un doble-click sobre el símbolo muestra una pantalla de advertencia indi- cando que Windows 95 está por entrar en el modo MS-DOS. Si no se quiere ver la advertencia, se desactiva en las propiedades del acceso directo. 5.9.4. El menú de arranque de Windows Así se ajusta el menú de arranque de Windows 95: 1. Primero hay que editar el fichero c:\msdos.sys. Para ello hay que hacer el fichero visible con: C:> attrib -R -S -H c:\msdos.sys Es un fichero de texto en el cual hay que añadir un par de líneas para activar el menú de inicio propio de Windows 95. Lo que se encuentra bajo la etiqueta [Options] debería parecerse a lo indicado en el fichero 5.9.6. [Options] BootGUI=0 BootDelay=0 BootMenu=0 Logo=0 Fichero 5.9.6: msdos.sys para el arranque de Linux El parámetro Logo=0 es opcional y evita que Windows 95 entre al modo gráfico antes de arrancar. Arrancar así es más rápido y además se tiene menos problemas si se usa más tarde el emulador de DOS. El parámetro BootGUI=0 hace, que Windows 95 arranque directamente en modo MS-DOS. Una vez editado el fichero se pone a sus atributos los valores originales. Para arrancar ahora Windows hay que introducir en el prompt de DOS: C:> win Nuestro fichero de ejemplo c:\autoexec.bat ya lo hace si se ha elegido Win95 en el menú. 2. Ahora se debe definir en el fichero c:\config.sys el propio menú de ar- ranque. Para ello se introduce al comienzo del fichero, por ejemplo el con- tenido del fichero 5.9.7 en la página siguiente. Las opciones del menú de arranque se definen bajo el rótulo [Menu] tal como los segundos de espera y la opción por defecto. 3. Más abajo estarán los rótulos [Win95], [DOS], [Linux] y [Common]. Bajo [Common] se apuntan los comandos que deben valer siempre (no deberían 142 5.9 Configuración del mecanismo de arranque con loadlin [Menu] menuitem=Win95, Arrancar Windows 95... menuitem=DOS, Arrancar MS-DOS... menuitem=Linux, Arrancar Linux... menudefault=Win95,5 Fichero 5.9.7: Ejemplo de config.sys (1ª parte) para el arranque de Linux bajo Windows 95 ser muchos para Windows 95) y bajo cada distinto rótulo se anotan los que solo valen para la opción en concreto. Para esto se usan las líneas que se en- cuentran en el config.sys actual; el ejemplo del fichero 5.9.8 puede servir como idea inicial. [Win95] dos=high,umb device=c:\windows\himem.sys /testmem:off [DOS] device=c:\plugplay\drivers\dos\dwcfgmg.sys dos=high,umb device=c:\windows\himem.sys /testmem:off device=c:\windows\emm386.exe noems I=B000-B7FF devicehigh=c:\cdrom\torisan.sys /D:TSYCD3 /P:SM [Linux] shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par [Common] accdate=C+ D+ H+ switches= /F buffers=20 Fichero 5.9.8: Ejemplo de config.sys (2ª parte) para el arranque de Linux bajo Windows 95 Ahora se guarda el fichero. 4. A continuación, abrir el fichero c:\autoexec.bat. En éste se deben apuntar los mismos rótulos y asignar comandos pero con una sintaxis un poco diferente. El rótulo elegido en el menú de arranque está en la vari- able %config %. Se puede escribir, por ejemplo, algo como lo indicado en el fichero 5.9.9 en la página siguiente. 5. Arrancando ahora la computadora aparece el propio menú de arranque y se dispone de 5 segundos para elegir una opción. Después de este lapso de tiem- po Windows 95 arranca automáticamente. Si se selecciona `Linux', éste ar- ranca y espera que se haga el login. 143 5 Arrancar y gestor de arranque @echo off loadhigh keyb gr,,c:\windows\command\keyboard.sys goto %config% :Win95 win goto fin :DOS path c:.;d:.;c:\windows\command;c:\util; loadhigh c:\windows\command\mscdex.exe /D:TSYCD3 /L:x loadhigh c:\windows\command\doskey c:\windows\command\mouse.exe goto fin :fin echo * ¿Y ahora qué? * Fichero 5.9.9: Ejemplo de autoexec.bat para el arranque de Linux bajo Win- dows 95 144 6 El sistema X Window 6 El sistema X Window 6.1. Historia de XFree86 El X Window System es prácticamente un estándar para entornos gráficos de usuario en Unix, pero este sistema, denominado también X11, es un sistema para redes. Las aplicaciones que corren en la computadora tierra pueden mostrar sus salidas en pantalla en la computadora solsi las computadoras están conec- tadas vía red. Esta red puede ser una LAN (Local Area Network ­ red de área local), pero también es posible que las computadoras se comuniquen a través de miles de kilómetros usando Internet. X11 se desarrolló gracias a la cooperación entre DEC (Digital Equipment Cor- poration) y el proyecto Athena del MIT (Massachusetts Institute of Technolo- gy). La primera versión (X11R1) salió en septiembre de 1987. Desde la versión 6 (Release 6) la X Consortium, Inc., y desde 1996 The Open Group, acogieron el desarrollo del X Window System. XFree86TM es una implementación libre de servidores X para sistemas Unix a base de PC (ver http://www.XFree86.org). XFree86 se sigue desarrollando por programadores en todo el mundo, que se unieron en 1992 para formar el XFree86-Team. De esta unión surgió en 1994 la empresa The XFree86 Project, Inc. cuyo objetivo es poner XFree86TM a la disposición de un amplio público y contribuir con el desarrollo e investigación del sistema X Window. Desde marzo del 2000 existe la versión XFree86 4.x, que está completamente actualizada. SuSE Linux incorpora por defecto XFree86 4.0, cuyas características se explican un poco más adelante. No queremos continuar sin antes agradecer al XFree86-Team por su gran coop- eración y por haber cedido versiones-beta que han sido cruciales para la elabo- ración de este libro1. Los siguientes capítulos se ocupan de la configuración del servidor X. Con este fin se explican SaX2 2 y xf86config, que permiten una configuración sencilla del sistema X Window. SaX2 está pensado para la configuración de XFree86 4.x y SaX para configurar las versiones XFree86 3.3.x. En comparación a xf86config, las dos versiones de SaX trabajan directamente con el servidor X y se pueden usar con el mouse; por tanto, lo mejor es instalar directamente con YaST el pro- grama SaX (paquete sax, serie x y SaX2 (paquete sax2, serie x) junto con los paquetes pendientes. Mientras que XFree86 4.x incorpora todos los drivers en el 1Algunas partes de la descripción del sistema X11 se sacaron del capítulo Configurar XFree86 del libro [HHMK96] que nos dejó amablemente Dirk Hohndel. 2SaX, (ingl. SuSE Advanced X Configuration Tool), el programa de configuración para XFree86 4.0, deja obsoleto a XF86Setup (paquete xfsetup, serie x). 145 6 El sistema X Window paquete base, XFree86 3.3.x requiere especialmente el paquete xvga16 y tam- bién ­ si ya se conoce ­ el servidor X que corresponde a la tarjeta gráfica. Los servidores X se encuentran en la serie xsrv (ver apartado 3.7.3 en la página 72). Si se olvida elegir un servidor X, SaX lo notará y le pide instalarlo mediante YaST. XFree86 4.x incorpora todos los driver dentro del paquete básico. Para usar el hardware existente (mouse, tarjeta de vídeo, monitor, teclado) de manera óptima, existe la posibilidad de optimizar la configuración a mano; solamente se discutirán los aspectos más importantes de esta optimización manual. Var- ios ficheros del directorio /usr/share/doc/packages/xf86 al igual que la página del manual de XF86Config (man XF86Config) contienen información adicional sobre el sistema X Window. Atención ¡Se recomienda tener mucho cuidado al configurar el sistema X Window. Jamás se debe arrancar X sin haber terminado la configuración. Un sis- tema mal ajustado puede provocar daños irreparables al hardware; están en peligro especialmente los monitores de frecuencia fija. Los autores de este libro y la SuSE GmbH no se responsabilizan de posibles daños. El pre- sente texto fue redactado con máximo cuidado, no obstante, no se puede garantizar que los métodos presentados sean correctos para su hardware y que no pueda causarles daño. 6.2. La versión 4.x de XFree86 SuSE Linux incorpora ahora la versión 4.x de XFree86, que se diferencia en algunos aspectos de la versión 3.3, incorporada anteriormente. Para el usuario solo existen pequeñas diferencias; los entornos gráficos como p. ej. GNOME y KDE se comportan igual a la versión 3.3.6 de XFree86. ¿Cuáles son las ventajas de esta versión? El nuevo servidor X ya no es un programa "monolítico", sino que ahora ex- iste una base relativamente pequeña sobre la que se cargan módulos adicionales según la necesidad. Por ejemplo, ya no existen servidores X especiales para las diferentes tarjetas gráficas; ahora existe un único ejecutable con nombre XFree86 que se encuentra en /usr/X11R6/bin. Este representa el servidor X y el driv- er que se encarga de la comunicación con la tarjeta es un módulo que se puede cargar. El soporte de diferentes dispositivos, fuentes o protocolos se realiza en la mis- ma forma con módulos que se cargan en tiempo de ejecución. Normalmente no hace falta preocuparse de esto ya que SaX2 se encarga en gran medida de la configuración de los módulos necesarios para el entorno gráfico. Debido al concepto de módulos, es mucho más fácil para los fabricantes de hard- ware, desarrollar un driver p. ej. para una pantalla táctil o una tarjeta gráfica muy 146 6.3 Configuración con SaX2 nueva. Incluso los desarrolladores de XFree86 procuraron la compatibilidad en- tre diferentes sistemas operativos. Un driver para una determinada tarjeta gráfica que fue compilado bajo FreeBSD se puede usar también en Linux y vice ver- sa. Esta portabilidad se restringe evidentemente a una determinada plataforma; un módulo compilado para Linux en PowerPC, no se puede usar en un PC con instrucciones x86 (AMDs, Cyrix, Intel, etc.). Además el soporte del mouse fue mejorado, lo que representa una respuesta más rápida cuando la máquina está muy cargada. En general todo el apartado gráfico funciona con más rapidez, debido sobre todo a la arquitectura de aceleración gráfica XAA mejorada (ingl. XFree86 Acceleration Architecture). El fichero de configuración es un poco diferente, en comparación a XFree86 3.3.x. Para ajustar el servidor X en detalle, se recomienda consultar las expli- caciones de la sintaxis del fichero de configuración que se encuentran en el apartado 6.6 en la página 171; el fichero de configuración se encuentra ahora en /etc/X11/XF86Config. Otra mejora es el registro de errores que se encuentra ahora en /var/log/XFree86.0.log. Una característica adicional de esta versión es el soporte de opciones especiales como p. ej. fuentes "true type", el soporte de la extensión del protocolo 3D glx, corrección gamma del monitor y el soporte de varias tarjetas gráficas para una configuración Multihead; hay información detallada en el apartado 6.6 en la página 171. ¿Cuáles son los cambios? XFree86 4.x está basado en la versión anterior 3.3.x. Desafortunadamente no ha sido posible portar todos los drivers a la nueva versión, ya que algunos son muy complejos y el cambio a la arquitectura XAA es otro obstáculo para algunos drivers. Estas tarjetas gráficas siguen siendo soportadas por XFree86 3.3.6 y se configuran igual que antes mediante SaX. En particular se trata de tarjetas gráficas que fueron soportadas por medio de los siguientes servidores X: XF86_S3, XF86_Mach8, XF86_Mach32 y XF86_8514. En cuanto a las tarjetas S3, significa que todas las tarjetas que necesitan el servi- dor S3 no están soportadas por XFree86 4.0; en cambio, las tarjetas S3 sopor- tadas por el servidor SVGA funcionan con XFree86 4.0; estas tarjetas son aquel- las con chip S3 Trio3D, Savage4, Savage3D, Savage2000 y casi todas las tarjetas S3 Virge. Las tarjetas que necesitan los servidores X Mach8, Mach32 o 8514 ya no se usan mucho y están ­ al igual que las tarjetas antiguas del tipo S3 ­ soportadas por medio de XFree86 3.3.x. 6.3. Configuración con SaX2 El programa SaX2, (ingl. SuSE Advanced X Configuration Tool), sirve para hac- er una instalación fácil del sistema X Window. Se trata del sucesor del ya conoci- do programa de configuración SaX, que se usaba para configurar XFree86 3.3.x. Los nuevos XFree86 4.x se configuran con SaX2. 147 6 El sistema X Window Para una explicación detallada de la configuración con SaX2 consulte el manual "Configuración". 6.3.1. Resolución de problemas Este apartado le ayuda a configurar el servidor X si la configuración gráfica no funciona desde el primer momento o si el resultado es "en principio" correcto pero con la posibilidad de perfeccionarlo. Para ello se comentan a continuación los problemas más frecuentes y los posibles remedios. Tarjeta gráfica no soportada Uso del "Framebuffers" ­ Desafortunadamente no hay drivers para todas las tarjetas gráficas bajo Linux. Por eso es posible que haga falta encaminar el sigu- iente método: El método tiene la ventaja de funcionar con casi cualquier tarjeta gráfica mod- erna y prácticamente con cualquier portátil. Como no existe un driver para la controladora gráfica, es necesario tomar un "desvío" y por eso los graficos no son acelerados; el servidor X accede directamente a la memoria de video (in- gl. framebuffer). El cambio al modo gráfico se realiza directamente después del arranque del kernel. El funcionamiento es el siguiente: El kernel inicializa durante el arranque la BIOS VGA de la tarjeta gráfica avisando a la tarjeta que cambie a un determinado modo gráfico VESA. De esta forma la consola de texto ya aparece en el modo gráfico seleccionado. Como la BIOS VGA se ha escrito en código de 16 bit, no es posible iniciarlo cuando el sistema Linux esta en ejecución. Por eso el modo gráfico seleccionado durante el arranque se mantiene hasta el momento de reiniciar la computadora. Para activar el "VESA-Framebuffer" el kernel debe incorporar soporte para ello y hay que seleccionar esto en el momento de arrancar. El soporte para el VESA- Framebuffer está incorporado en el kernel estándar de SuSE Linux. Lo único que hace falta es seleccionar el modo gráfico para el arranque. Para ello se indica vga=x en el prompt de LILO, donde x representa un valor de la tabla 6.1. Profundidad de color Resolución en puntos 640x480 800x600 1024x768 1280x1024 256 (8 bit) 769 771 773 775 32 768 (15 bit) 784 787 790 793 65 536 (16 bit) 785 788 791 794 16.7 Mill. (24 bit) 786 789 792 795 Cuadro 6.1: Posibles modos VESA También existe la posibilidad de indicar este parámetro directamente en el fichero /etc/lilo.conf. Hay que tener en cuenta que no se puede poner el parámetro 148 6.3 Configuración con SaX2 dentro de la línea append, sino que se indica directamente como vga=x en /etc/lilo.conf. La instalación de LILO se detalla en el apartado 5.4 en la página 115. Después de iniciar, entre de nuevo al sistema como superusuario root e inicie SaX2 de la siguiente forma: tierra:/root # sax2 -m 0=fbdev En este caso 0 es un "cero" y no una "O" mayúscula. Así se indica al servidor X que use el driver para el Framebuffer. La resolución, la profundidad de color y la frecuencia de refresco se fijan de tal forma que SaX2 pueda salir grabando directamente los valores detectados, salvo que no se esté de acuerdo con los valores de la configuración automática. Uso del servidor VGA16 Si su tarjeta no soporta ningún modo VESA o si se trata de una tarjeta ISA, existe también la posibilidad de utilizar el sucesor del servidor VGA16 que es el módulo vga. Este mismo módulo se presenta como propuesta cuando no es posible detectar automáticamente el driver para la tarje- ta. Dentro de SaX2 seleccione el driver vga en `Configuración de la tar- jeta gráfica' y `Driver'. Esto hace que después en el apartado `Desktop' solo se pueda seleccionar una resolución de 640x480 puntos con 16 colores (4 bit de profundidad de color). Si la tarjeta en cuestión soporta el VESA-Framebuffer, por lo general no hace falta recurrir al driver vga, ya que éste no permite ninguna resolución mayor a 640x480 puntos. Para usar el driver vga directamente desde el inicio de SaX2, introduzca el siguiente comando: tierra:/root # sax2 -m 0=vga El parámetro define solamente el servidor X que usa SaX2 durante la config- uración. Por lo tanto puede ser razonable iniciar incluso una tarjeta completa- mente soportada por XFree86 con el servidor VGA de reducidas prestaciones. Algunas tarjetas "extrañas" requieren una opción especial en el fichero de con- figuración para poder usarlas con el driver "normal" previsto para éstas. En tal caso se ha de iniciar la configuración con el módulo vga, seleccionando poste- riormente la opción del driver "normal", necesaria para que la tarjeta funcione satisfactoriamente. La opción se define en `Extendido' del diálogo `Tarjetas gráficas'. Selección del mouse antes iniciar SaX2 En el caso de que SaX2 no fuera capaz de detectar automáticamente el mouse, existe la posibilidad de seleccionarlo antes de iniciar SaX2 evitando así su de- tección automática. Para ello se usan 2 parámetros de la línea de comandos, que definen el protocolo del mouse y la interfaz de conexión. Los parámetros son -t para el protocolo usado y -n para determinar el fichero de dispositivo del mouse. Por ejemplo para usar un Intellimouse en el puerto PS/2 se debería escribir: root@tierra:/root > sax2 -t imps/2 -n /dev/psaux En cuanto a los protocolos existentes consulte la tabla la página de manual sobre el fichero de configuración del servidor X denominado XF86Config. 149 6 El sistema X Window La imagen no es perfecta En este apartado se mencionan los problemas más frecuentes de un servidor X en ejecución y se presentan posibles soluciones. Normalmente la imagen es per- fecta después de haber usado SaX2 para la configuración, sin embargo exis- ten algunas tarjetas gráficas que ocasionan problemas. Afortunadamente existen ciertas opciones para el fichero de configuración del servidor X (/etc/X11/ XF86Config) que permiten remediar estas imperfecciones. A veces la mala reproducción de la imagen se debe a ciertas limitaciones del hardware como p. ej. a causa de memoria DRAM de mala calidad. Con esta memoria de video puede pasar que la anchura de banda de la memoria no alcance para resoluciones altas con alta profundidad de color a una frecuencia de refresco alta. Algunos ajustes optimizados de la BIOS resultan a veces problemáticos, ya que a Linux o al servidor X no les conviene la opción Video memory cache mode que ofrecen algunas BIOS modernas. En modo texto todo va bien pero a la hora de cambiar al modo gráfico, el chipset de la computadora "optimiza" también el acceso a los registros de entrada y salida de la tarjeta gráfica. A menudo esto da como resultado una imagen distorsionada, con colores equivocados e incluso a veces el sistema se para totalmente. Si el servidor X ni siquiera llega a iniciarse, la razón de ello se encuentra casi siempre en un error lógico o de sintaxis en el fichero de configuración /etc/ X11/XF86Config. Puede ser sencillamente que la tarjeta configurada no corre- sponda con la que se encuentra en la computadora. Para averiguar la causa del error, analice el fichero de protocolo del servidor X y consulte el apartado 6.3.2 en la página 152. A continuación se encuentra una lista con los fallos más frecuentes y las posibil- idades para evitarlos modificando el fichero de configuración. La mayor causa de distorsiones es una frecuencia vsync demasiado alta. Como hsync y DotClock dependen linealmente de ello, resultan diversos problemas. La reducción del refresco de pantalla (p. ej. a 80 Hz) puede resolver el prob- lema y prácticamente la imagen continúa estando libre de parpadeo. Además, a esta frecuencia de refresco la imagen es más nítida, que con un refresco de 160 Hz. Lo mejor es intentar bajar el refresco del monitor. Para ello se selecciona en SaX2 el diálogo `Desktop' y se configura una frecuencia de refresco más baja. Para monitores modernos una frecuencia de refresco entre 80 y 90 Hz resulta agradable. A veces hay problemas con el "Hardwarecursor": Puede ocurrir que se muestre un bloque rectangular o algo que se parece a un código de barras en lugar del cursor del mouse (una flecha). Esto se resuelve indicando la Opción "sw_cursor" en la Sección "Device". Si existen problemas de configuración en general, consulte primero los ficheros README en el directorio /usr/X11R6/lib/X11/doc/ (están ordenados según 150 6.3 Configuración con SaX2 los nombres de los fabricantes de chipsets), las páginas de manual (Man- pages) acerca de los servidores X y también los FAQ acerca de XFree86 (http://www.xfree86.org); otra fuente de información son las páginas de SuSE sobre actualizaciones: http://www.suse.de/en/support/xsuse/ La siguiente lista está ordenada según la probabilidad de éxito, por lo que gen- eralmente el problema se resuelve con la primera opción y si no con la segunda. La tercera opción es el último recurso, empleando un poco de fuerza ;-) Todas las opciones que figuran aquí se anotan en la sección "Device" del fichero /etc/X11/XF86Config. En lugar de cursor, un código de barras o un rectángulo coloreado. 1. Opción sw_cursor en la sección "Device". 2. Opción no_imageblt o no_bitblt. 3. Opción noaccel. Imagen estrecha o aplastada con los ajustes de la pantalla en sus límites. 1. Probablemente la frecuencia de refresco o la frecuencia de sincronización horizontal hsync son demasiado altas y en el límite de la pantalla. Solu- ción: Reducir la frecuencia vsync y/o hsync. 2. Mover la imagen con el programa xvidtune. Es posible que, justamente el modo escogido, no "encaje" bien. 3. Añadir +hsync +vsync a la línea "Modeline" e intentar reemplazar + por -. Quedan rallas o restos de ventanas (fragmentos en general) en la pan- talla cuando se está moviendo ventanas. Estos restos no desaparecen antes de un refresco total del escritorio. 1. Reducir frecuencia de refresco o resolución. 2. Según el chipset gráfico introducir opciones que figuran en los ficheros README del directorio /usr/X11R6/lib/X11/doc/. Por ejemplo las opciones fifo_conservative o slow_dram. Atención: ¡Las opciones dependen evidentemente del chipset! 3. Usar la opción noaccel, tal vez ya alcanza no_imageblt o no_bitblt. "Noise" ­ Rallas intermitentes que aparecen en pantalla al mover una ventana o al mirar un video, pero que desaparecen cuando la imagen es estática. 1. Reducir frecuencia de refresco, profundidad de color o la resolución. 2. Reducir la frecuencia de la memoria o quitar (o bien introducir) "Wait- states". Se trata de una operación que funciona a veces con la opción set_mclk (¡no para todos los chipsets!); hay más detalles en los README. Cuidado, la opción es peligrosa ya que se puede forzar la frecuencia de la tarjeta gráfica. 151 6 El sistema X Window 3. Tal vez la frecuencia del bus es demasiado alta; compruebe la frecuencia del bus PCI/VLB o ISA. Iniciando XFree86 la pantalla se pone de color negro. 1. Reducir la frecuencia de refresco. 2. Comprobar los ajustes de la BIOS y desactivar todas las "opti- mizaciones" posibles. En caso de duda consulte el manual de la placa base. Las opciones más problemáticas son las opciones Video memory cache mode, AGP Aperture size y todas las demás opciones que regulan el acceso al bus PCI como p. ej. PCI Peer concurrency, etc. Estas opciones se encuentran casi siempre dentro de un menú llamado Advanced Chipset Features. 3. Considere otras fuentes de error como conflictos de IRQ (p. ej. un mouse PS/2 necesita la IRQ 12). 6.3.2. El fichero de registro (log) del servidor X Para analizar problemas relacionados con el servidor X se puede usar el fichero de registro que se genera al iniciar el servidor. El servidor XFree86 4.x genera este fichero con la clave /var/log/XFree86.Display. Número-de-pantalla.log. Iniciando un solo servidor X (el caso normal), ofreciendo este un display con número "0", el nombre del fichero de registro será /var/log/XFree86.0.log. SaX2 representa una excepción ya que ejecuta, al menos temporalmente, dos servidores X; uno para los diálogos de configuración (display :0) y otro para comprobar los ajustes hechos (display :1). Hay que tener en cuenta que el formato de este fichero ha cambiado mucho en comparación a XFree86 3.3.x. Sobre todo ahora se distingue de forma mucho más clara entre lo que son pura información, valores obtenidos desde el fichero de configuración, datos que provienen de los componentes de hardware y entre advertencias y errores. Desde dentro de SaX2 se puede acceder al fichero de registro del servidor X me- diante la tecla del medio del mouse. En esta representación, los distintos tipos de mensajes (errores, información, advertencias) se muestran en diferentes col- ores. Así se puede reconocer rápidamente el problema cuando el servidor X no arranca. Generalmente el comienzo de un fichero de registro aparece como se muestra en 6.3.1 en la página siguiente. El contenido del mensaje es lo siguiente: Se trata de un servidor X en la versión XFree86 4.x compatible con X11R6.4 "vendor release 6400". La fecha de edición es el 8 de marzo del 2000. La línea Operating System: Linux 2.2.13 i686 [ELF] SuSE se refiere al sis- tema sobre el cual fue compilado. Por eso la versión del kernel y la denominación del CPU pueden ser diferente a su computadora. Directamente por debajo de esta información sobre versiones, aparecen las primeras entradas de registro generadas durante el inicio del servidor X. Para saber si real- mente se trata del fichero de registro correcto, a la derecha de Time: se puede 152 6.3 Configuración con SaX2 XFree86 Version 4.x / X Window System (protocol Version 11, revision 0, vendor release 6400) Release Date: 8 March 2000 If the server is older than 6-12 months, or if your card is newer than the above date, look for a newer version before reporting problems. (see http://www.XFree86.Org/FAQ) Operating System: Linux 2.2.13 i686 [ELF] SuSE Module Loader present (==) Log file: "/var/log/XFree86.0.log", Time: Sat May 20 13:42:15 2000 (==) Using config file: "/etc/X11/XF86Config" Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (??) unknown. (==) ServerLayout "Layout[all]" (**) |-->Screen "Screen[0]" (0) (**) | |-->Monitor "Monitor[0]" Fichero 6.3.1: Extracto del fichero de registro del servidor X comprobar la hora en que fue creado; a veces se busca en un fichero equivocado ;-) Lo mismo vale para el fichero de configuración que se encuentra siempre en /etc/X11/XF86Config, salvo que se haya establecido otro nombre de fichero en la línea de comandos. La tabla 6.2 explica el significado de los dos símbolos dentro de paréntesis al comienzo de algunas líneas del fichero log: Símbolo Significado (==) Ajuste por defecto del servidor X (- -) Valores obtenidos mediante consulta al hardware. (**) Ajustes fijados en el fichero de configuración. (++) Parámetros indicados en la línea de comandos. (!!) Detalles sobre el procedimiento del servidor X. (II) Los números de las versiones de los módulos del servidor X se señalan generalmente como mensajes informativos (ingl. infor- mational messages). (WW) Advertencias: El servidor X informa aquí sobre determinadas op- eraciones que no se realizan aunque se encuentren en el fichero de configuración o que deberían estar activadas por defecto. (EE) Error! Estos mensajes se presentan al final del proceso de ini- cialización del servidor X. Cuando el servidor X no se levanta busque estas líneas; en base a estos mensajes se pueden solu- cionar la mayoría de los errores. Cuadro 6.2: Tipos de mensajes dentro del fichero de registro del servidor X Dentro de SaX2 se puede comprobar este fichero de configuración pulsando el botón del medio del mouse. Los fallos y advertencias se resaltan en color. Este fichero se muestra automáticamente cuando SaX2 no intenta iniciar el servi- 153 6 El sistema X Window dor X y el proceso falla. Cuando suceden imprevistos al iniciar SaX2 o durante el proceso de config- uración, todos los errores relacionados a SaX2 se guardan dentro del fichero /var/log/SaX.log. Los errores del servidor X se guardan ­ tal como se in- dicó antes ­ dentro del fichero /var/log/XFree86.0.log. Evaluando estos dos ficheros se pueden obtener pistas para remediar el problema. 6.3.3. Inicio del sistema X Window Ahora mediante startx cualquier usuario puede iniciar el sistema X Window. La cuenta del usuario de ejemplo se instala con un entorno gráfico preconfigurado para el gestor de ventanas fvwm. Por eso se recomienda ejecutar startx desde esta cuenta y no como usuario `root'. Los mensajes de error del servidor X se anotan dentro de los ficheros ~/.X.err y /var/log/XFree86.0.log. El comando startx entiende diferentes opciones como p. ej. tux@tierra: > startx -- -bpp 16 para seleccionar una profundidad de color de 16 bit. 6.4. Configuración con SaX SaX, (ingl. SuSE Advanced X Configuration Tool) es la utilidad para la configu- ración de XFree86 3.3.x. Si XFree86 4.x ya está configurado en la computadora y se pretende usar SaX, aparece como advertencia que se requiere usar SaX2 para la configuración del entorno gráfico. Haciendo caso omiso a la advertencia, la computadora se prepara para usar XFree86 3.3.x. Para ello se modifican al- gunos enlaces de tal modo que XFree86 3.3.x pueda arrancar correctamente en el futuro. Aviso Ejecute el programa SaX (sax) como usuario `root'. También se puede iniciar desde YaST: `Administración de sistema' y después `Config- urar XFree86[tm]' (ver apartado 3.9 en la página 78). En la línea de comando (el prompt de Linux) el programa se inicia con el co- mando: tierra:/root # sax Después del inicio se buscan tarjetas de expansión del tipo PCI. Si se encuentra una tarjeta de vídeo de este tipo, el programa la identifica y la muestra como `Tarjeta gráfica'. Después de escanear el Bus-PCI se abre la pantalla principal que contiene las fichas para el mouse `Ratón', el teclado `Teclado', la tarjeta de vídeo `Tar- jeta gráfica', el monitor `Monitor' y la superficie gráfica `Escritorio'. SaX carga entonces los datos sobre el hardware conocido. Los datos encontrados 154 6.4 Configuración con SaX durante la comprobación se encuentran después bajo sus respectivas fichas, así que la tarjeta gráfica que se tenga se encuentra en la ficha `Tarjeta gráfica'. SaX trata de reconocer el hardware del modo más exacto posible, no obstante, se recomienda comprobar y en su caso corregir todos los ajustes que hace SaX para asegurarse de que todo está bien y completo! Para ello el programa ofrece básicamente cinco "fichas" que son: `Ratón', `Teclado', `Tarjeta gráfica', `Monitor' y `Escritorio'. A todas las fichas se accede con un click del mouse sobre el correspondiente título. Existe también la posibilidad de manejar el programa con el teclado para el ca- so en que el mouse todavía no esté configurado correctamente. Pulsando varias § ¤ veces la tecla ¦Tab ¥se puede llegar a los distintos campos de cada ficha. Para § ¤ cambiar a otra ficha se pulsa ¦Tab ¥hasta que el título de la ficha actual se en- § ¤ § ¤ marque en negro. A continuación se usa § ¤ § ¤ ¦ ¥o ¦ ¥para seleccionar la ficha que se mostrará pulsando ¦ ¥(= ¦Enter ¥ ). En cada ficha hay varios elementos como p. ej. botones (ingl. buttons), listas de selección (ingl. listboxes) y cuadros de tex- to (ingl. entry fields). Estos objetos se pueden manipular también por completo § ¤ con el teclado. Para alcanzar un botón (p. ej. `Aplicar') se pulsa § ¤ § ¤ ¦Tab ¥hasta que el botón deseado se enmarque en negro. Con ¦ ¥o ¦ § ¤ ¥se puede pulsar la tecla y así poner en marcha la acción deseada. Con ¦F10 ¥se llega a las opciones de menú en el extremo superior de la pantalla. § ¤ Para seleccionar una opción de una lista se pulsa § ¤ § ¤ ¦Tab ¥hasta que el cuadro cor- respondiente se enmarque. Con ¦ ¥y ¦ ¥se puede seleccionar la opción que se encuentra resaltada por la barra de desplazamiento. Finalmente la opción se ac- § ¤ tiva pulsando ¦Enter ¥ . El mouse (ratón) La primera ficha que se ve después del arranque del programa es la del mouse `Ratón' (figura 6.1 en la página siguiente). Si el mouse ya fue configurado durante la primera instalación de Linux, p. ej. configurando gpm, estos datos se traspasan a SaX y el mouse está directamente a disposición cuando se inicia SaX. En este caso se puede continuar de inmediato con la configuración de los demás dispositivos. Si por el contrario no estuviera configurado el mouse, se tendría que hacer aho- § ¤ ra. Pulsar dos veces § ¤ ¦Tab § ¤ ¥y seleccionar el mouse adecuado bajo `Fabricante' § ¤ (repasar con ¦ ¥y ¦ ¥la lista). Después pulsar § ¤ ¦Enter ¥para seleccionar el fab- ricante de la lista. Usar ¦Tab ¥para activar la lista de los modelos `Modelo' y seleccionar el tipo correcto. Pulsando la tecla `Aplicar' es posible comprobar si la selección es correcta, ya que la flecha del mouse se debería mover ahora. El sub-menú por debajo de `Experto' permite definir directamente un protoco- lo de mouse, lo que se debería hacer cuando no se sabe qué tipo de mouse se tiene y cuando ya se ha intentado sin éxito usar el mouse de puerto serie como mouse `Microsoft' del tipo `Standard Mouse'. Allí se pueden activar tam- bién opciones adicionales como p. ej. la transferencia en baudios, emulación de tres teclas, etc. Las opciones de `Experto' son en detalle las siguientes: 155 6 El sistema X Window Figura 6.1: SaX: Ajustes del mouse `Dispositivo': (Driver) En el caso de un fabricante desconocido se puede definir aquí el `Protocolo' de mouse directamente. También se debe ele- gir el tipo de dispositivo. En caso de un mouse conectado al bus, se debería probar la variante PS/2. `Propiedades': Definir parámetros detallados sobre el tiempo de respuesta del mouse. `Opciones': Emulación de mouse de 3 botones, etc. `Probar': En la parte inferior del mouse simbólico de la `Zona de pruebas', se puede comprobar la configuración del mouse (figura 6.2 en la página sigu- iente); si está bien ajustado, los botones del mouse en el dibujo se alumbran cuando se pulsa uno de los botones reales. El teclado El teclado por defecto es uno del tipo Windows 95/98 con la distribución de teclado Spanish (figura 6.3 en la página 158). Si se tiene otro, se deben poner los valores correctos, ya que el teclado es uno de los pocos componentes que no pueden ser reconocidos automáticamente. Comparando el teclado con el que se muestra en pantalla `Teclado', es fácil ajustar el modelo adecuado bajo `Modelo'. Tampoco hay que olvidar de poner bajo `Lenguaje' `Spanish' (Español) para que todos los caracteres salgan cor- rectamente. Esto se puede comprobar en un área de pruebas al lado del botón `Borrar'. Lo más probable es que no haga falta ajustar nada bajo `Experto'. Al pulsar el botón `Aplicar', los ajustes realmente se activan. 156 6.4 Configuración con SaX Figura 6.2: SaX: Ajustes adicionales para configurar el mouse La tarjeta gráfica En la ficha `Tarjeta gráfica' se puede seleccionar el fabricante en la lista del lado izquierdo y, al lado derecho, el correspondiente modelo (figura 6.4 en la página 159). SaX intenta reconocer la tarjeta gráfica por sí mismo, lo que gen- eralmente funciona muy bien para tarjetas del tipo PCI. La utilidad se apoya en un banco de datos amplio y actualizado sobre tarjetas de vídeo; que se encuentra también en http://cdb.suse.de/. El hardware encontrado resalta en color. Aviso El mercado existen a veces tarjetas de vídeo que incorporan una cierta "re- visión" (p. ej.Ramdac modificado) de su estructura, sin que esto se reflejase en la denominación del tipo. Por eso es posible que SaX muestre valores que difieren de los que indica el manual de la tarjeta gráfica. En tal caso introduzca los datos que proporciona el fabricante en el manual. Para ello pulse sobre el botón `Experto'. El botón `Experto' alberga opciones de ajuste avanzadas (figura 6.5 en la pági- na 160). Estas se tocan cuando se elige el servidor X directamente (`Parámet- ros del servidor') o cuando se quiere especificar el tamaño de la memoria de la tarjeta, especificar el valor de "RamDAC" o seleccionar un Ramdac- o Clock-Chip (en `Chipsets'). Es aconsejable bajar el valor del Ramdac cuan- do aparecen imágenes raras efectuando operaciones de ventana, p. ej. cuando parpadean fragmentos de la línea de título de una ventana. Algunas tarjetas de vídeo necesitan `Opciones' especiales, que encuentran su lugar en el menú ampliado. Para el caso estándar no se necesitan estas opciones. Truco Las tarjetas del tipo ISA no se reconocen automáticamente; hay que elegir el servidor X adecuado "a mano". 157 6 El sistema X Window Figura 6.3: SaX: Teclado Si aparece el mensaje de error "The SVGA server is not installed..." cuando se está seleccionando la tarjeta gráfica, hace falta instalar con YaST el paquete indicado en dicho mensaje (ver apartado 3.7 en la página 70). El Monitor El último obstáculo para llegar a correr el sistema X Window es la configuración del monitor usado. La ficha de `Monitor' funciona como la de la tarjeta gráfica. En la lista a la izquierda se selecciona el fabricante del monitor (`Fabricante') y en la derecha el tipo (`Modelo'). Si la propia pantalla no se encontrara en la lista es posible definir los rangos de frecuencia horizontal y vertical de su monitor pulsando el botón `Experto'. Los rangos de frecuencia se encuentran generalmente en el manual de su monitor. Si no se tuviera ningún dato sobre el monitor, SaX utiliza como valores predeter- minados 29-61 kHz de frecuencia horizontal y 60-70 Hz de frecuencia vertical. Estos valores no provocan daños en la gran mayoría de monitores. No obstante, si la imagen se queda oscura o si parpadea mucho cuando arranca el servidor X, entonces se debería "eliminar" el servidor inmediatamente con la § ¤ § ¤ § ¤§ ¤ combinación de teclas ¦Ctrl ¥+ ¦Alt ¥+ ¦ - ¥ ; ¦ - ¥indica la tecla "Backspace" para borrar hacia atrás. ¡En caso de no parar inmediatamente el servidor X es posible que se dañe el monitor! La pantalla Si se ha tenido éxito con la instalación de la tarjeta gráfica, se tiene una multitud de resoluciones y de profundidades de color a disposición, que se administran en 158 6.4 Configuración con SaX Figura 6.4: SaX: Tarjeta de vídeo el menú `Escritorio' (figura 6.6 en la página 161). La ficha `Escritorio' tal vez se parece un poco al ajuste de pantalla de otro sistema operativo ;-) En el `Escritorio' se puede elegir para cada profundidad de color (`Col- ores') una resolución (`Resolución'). En el modo de experto (`Experto') es posible generar una lista con varias res- oluciones para una determinada profundidad de color (`Experto' figura 6.7 en la página 162). `Resolución': Esta ficha se divide en: `Posible' Resoluciones posibles. `Actual' Resoluciones actuales. `Colores' La lista con las profundidades de color. Seleccionar en la fila vertical de botones al lado derecho, la profundidad de color (`Colores') a la que se quiere configurar la resolución de pantalla. El servidor X puede arrancar en distintas profundidades de color, p. ej. en profundidad de 8 bit, equivalente a 256 colores que se pueden mostrar a la vez. A cada profundidad de color corresponden diferentes resoluciones de pantalla, p. ej. la resolución 800x600, pero no todas las resoluciones ex- isten para todas las profundidades de color. Por ejemplo una resolución de 1600x1200 a profundidad de color de 32 bit es imposible para la mayoría de las tarjetas, porque no contienen suficiente memoria. A una profundidad de 8 bit existen diferentes resoluciones desde p. ej. 640x480 hasta 1600x1200, que están apuntadas en la lista actual de res- oluciones. Durante la ejecución del servidor X se pueden cambiar tales res- § ¤ oluciones según el orden en la lista pulsando la combinación de teclas ¦Ctrl ¥ 159 6 El sistema X Window Figura 6.5: SaX: Tarjeta de vídeo ­ Opciones especiales § ¤ § ¤ § ¤ § ¤ § ¤ § ¤ § ¤ + ¦Alt ¥+ ¦+ ¥o ¦Ctrl ¥+ ¦Alt ¥+ ¦- ¥ , (hay que usar ¦+ ¥o ¦- ¥del bloque de teclas numéricas). El primer elemento de la lista representa la resolución en la que arranca el servidor X por defecto. De la lista de las resoluciones posibles (`Posible'), hay que mover las de- seadas a la lista de las actuales (`Actual'). Para hacerlo se hace un "click" sobre la resolución en cuestión y después sobre el botón `I' para entrar esta resolución a la lista de las actuales y con `R' se quitan los elementos de esta lista. El orden de los elementos en la lista `Actual' se puede modificar usando las teclas de flecha que están ubicadas por debajo de la ventana con el listado. Para efectuarlo, se marca el elemento a mover y posteriormente se pulsa con el botón izquierdo del mouse la flecha arriba o abajo. Así el elemento cambia de sitio con su sucesor o antecesor. Cuando se hayan hecho los ajustes de profundidad de color de 8 bit, se pueden usar los botones a la derecha para seleccionar otra profundidad, p. ej. 16 bit. Ahora aparecen en la lista `Posible' las resoluciones posibles para esta profundidad de color, que pueden ser manipuladas tal como se ha indi- cado antes. `Resolución virtual': Esta ficha permite configurar tamaños de pantalla virtuales. Si realmente se quiere tener una zona de pantalla virtual, entonces hay que aumentar los valores bajo `Virtual X' (= Anchura) o `Virtual Y' (= Altura). Por lo general se trata de algo no deseado. Explicación: El sistema X Window ofrece la posibilidad de definir un tamaño de escritorio virtual, lo que permite trabajar sobre un escritorio más grande que la pantalla visible. Por ejemplo se puede trabajar con un tamaño de es- critorio de 1152x864 teniendo una resolución de monitor de 800x600. `Especial': Esta ficha permite generar una resolución propia. Además se puede definir aquí la calidad (`Calidad') de los "Modelines", eligiendo dos man- eras diferentes de cálculo de los mismos. 160 6.4 Configuración con SaX Figura 6.6: SaX: Desktop Ahora se puede determinar con cuál profundidad de color arranca por defecto el servidor X, (ingl. default). Para ello hay que configurar en la ficha `Escritorio' la profundidad de color deseada (usando `Colores'). Después de esto se pulsa el botón `Configurar este modo' para arrancar el servidor X de prueba. . . Prueba de la configuración Después de un corto intervalo de cálculo aparece un cuadro de mensaje; si se está de acuerdo se pulsa `Siguiente'. Después debería aparecer una imagen de fondo y una ventana que muestra en el lado izquierdo información sobre la resolución actual y las frecuencias verticales y horizontales del modo de vídeo elegido. Las teclas de flecha en el campo `Tamaño' permiten aumentar o disminuir en dirección horizontal y vertical. El campo `Posición' sirve para cambiar la ubi- cación relativa de la imagen en el monitor. ¡Use las teclas para ajustar la imagen a gusto! En las cuatro esquinas de la pantalla hay pequeños cuadros para ver si la imagen esta bien ajustada. En caso de un ajuste correcto estas esquinas se deben ver completamente sin distorsión de color. Truco ¡SaX no permite más que el ajuste fino de la imagen en pantalla y por lo tanto no reemplaza el ajuste manual con las teclas del monitor! Después del ajuste de la imagen existen dos posibilidades de cerrar la ventana: 161 6 El sistema X Window Figura 6.7: SaX: Ajustes adicionales Desktop `Ok': Terminar la configuración de sistema X Window y grabar los ajustes ac- tuales, con lo cual se regresa al prompt de Linux. `Cancelar': Cancelación de SaX sin grabación de los ajustes. § ¤ § ¤ Para regresar a la primera consola se pulsa ¦Alt ¥+ ¦F1 ¥ . 6.4.1. Reconfiguración SaX también ayuda mucho ajustando un servidor X a las necesidades una vez que esté instalado. Para ello SaX lee y analiza la configuración en /etc/XF86Config, en la cual el sistema X Window graba sus propios datos de configuración. Por eso no hace falta configurar otra vez todo (de mouse a monitor), porque SaX acoge la con- figuración existente que funciona. Los datos leídos en /etc/XF86Config se muestran en sus correspondientes fichas. No obstante, el usuario tiene toda la libertad en la nueva configuración del servi- dor X: Puede seleccionar el modelo de monitor del amplio banco de datos y así, adaptar mejor la configuración a las capacidades del monitor como también ajustar cómodamente la posición de la imagen en pantalla. Además SaX ofrece una superficie confortable para la administración de todas las combinaciones de profundidad de color y de resolución de la tarjeta de vídeo a través de un simple "click" del mouse en la ficha `Escritorio'. 6.4.2. Resolución de problemas En este apartado tiene lugar la discusión sobre los problemas más grandes, que pueden ocurrir durante la configuración del servidor X usando SaX. 162 6.5 Configuración con xf86config Si al probar la configuración el monitor comienza a parpadear o a mostrar una imagen negra o torcida, "mate" inmediatamente el servidor X para que § ¤ § ¤ § ¤ no se dañe la pantalla. Para ello pulse ¤ § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦ - ¥(¡Cuidado, no § ¦Tab ¥ , sino la tecla ¦ - ¥(Backspace)!) Después de algo así, se entra en la ficha `Monitor' y se elige un monitor adecuado o se introducen los datos del monitor a mano. Lo mismo es válido cuando la imagen empieza a parpadear durante el ajuste de la pantalla. En casos complicados, SaX ofrece opciones para la línea de comando, p. ej.: --server vga16: En el primer inicio de SaX, se utiliza el servidor VGA16 en lugar del servidor X especial de la tarjeta de vídeo. Este servidor de- bería funcionar prácticamente con todas las tarjetas y se usará automáti- camente cuando SaX no la reconozca o cuando se use una tarjeta ISA. La documentación actual respecto a SaX se encuentra en el directorio /usr/ share/doc/packages/sax. Las excepciones en el arranque de SaX o du- rante su configuración se guardan en los ficheros /root/ServerLog y /root/ StartLog, que se pueden consultar en caso de problemas, para sacar conclu- siones de cómo resolver errores relacionados con SaX. 6.5. Configuración con xf86config SaX como herramienta de configuración supera casi siempre al programa xf86config cuando se trata de configuraciones simples del sistema X Window. En las pocas ocasiones en las que SaX no llega a configurar correctamente el servidor X, esto funciona casi siempre con xf86config. También para XFree86 4.x existe un programa de configuración a base de pan- tallas de texto (xf86config). La diferencia principal radica en que por una parte tiene algunos diálogos ligeramente cambiados y por otra guarda el fichero de configuración en /etc/X11/XF86Config. Con XFree86 4.x casi no hace falta usar xf86config, ya que las tarjetas gráficas "problemáticas" se pueden usar con el "Framebuffer" o con el módulo vga tal como se explica en los apartados 6.3.1 en la página 148 y 6.3.1 en la página 149. Por lo tanto, la siguiente descripción se refiere exclusivamente al programa xf86config de XFree86 3.3.x. Se necesita una serie de datos para la configuración: Tipo de mouse, puerto de conexión y velocidad de transferencia en baudios (lo último suele ser opcional). Especificación de la tarjeta de vídeo. Especificación del monitor (frecuencias, etc.). Conociendo estos datos se puede comenzar con la configuración, que solamente puede ser ejecutada por el usuario `root'. La configuración se inicia con: tierra:/root # xf86config 163 6 El sistema X Window Mouse Después de una pantalla de bienvenida, el primer menú pregunta por el tipo de mouse. Aparecen las siguientes opciones: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet Mensaje en pantalla 6.5.1: Selección de mouse para los X Configurando el tipo de mouse hay que considerar que, muchos de los mouse más recientes de Logitech son compatibles con Microsoft o que usan el protocolo MouseMan. ¡La selección de Bus Mouse se refiere a todos los tipos de mouse de bus, también los de Logitech! El tipo de mouse adecuado se selecciona indicando el número al comienzo de la fila. Después (p. ej. seleccionando el tipo 1) aparece la pregunta por la activación de ChordMiddle. Se trata de una opción necesaria para la activación del botón del medio de algunos mouse de Logitech o para algunos Trackballs: Please answer the following question with either `y' or `n'. Do you want to enable ChordMiddle? La afirmación (`y') de la siguiente pregunta permite la emulación de un tercer botón de mouse para aquellos que solo tienen dos botones: Please answer the following question with either `y' or `n'. Do you want to enable Emulate3Buttons? Para emular el tercer botón del mouse hay que pulsar simultáneamente los dos botones. Después se pregunta por el puerto en el cual está el mouse: Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. Mouse device: Durante la instalación ya se ha definido un puerto de mouse, así que se puede usar aquí esta definición (/dev/mouse). Teclado § ¤ Ahora viene la pregunta, si se debería asignar a la tecla izquierda de § ¤ ¦Alt ¥el valor Meta (ESC) y a la derecha de ¦Alt ¥el valor ModeShift (AltGr): Please answer the following question with either `y' or `n'. Do you want to enable these bindings for the Alt keys? Es aconsejable elegir `y' para llegar a los caracteres especiales que se alcanzan § ¤ § ¤ con ¦Alt Gr ¥y también para poder usar la tecla izquierda de ¦Alt ¥como Meta- tecla ­ especialmente práctico cuando se usa Emacs. 164 6.5 Configuración con xf86config Monitor Ahora hay que especificar el monitor. Los datos críticos son la frecuencia vertical y horizontal que están generalmente documentados en el manual del monitor. Atención ¡Indicar rangos de frecuencia equivocados puede provocar la destrucción del monitor! El sistema X Window solo usa los modos de vídeo que envían señales localizadas dentro del rango de frecuencias admitidas. Los valores admisibles para algunos monitores se encuentran en /usr/X11R6/ lib/X11/doc/Monitors. ¡No hay garantía para estos valores! Para elegir la frecuencia horizontal se presenta la siguiente selección: hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interl. (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz il., 800x600 @ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz 10 Enter your own horizontal sync range Enter your choice (1-10): Mensaje en pantalla 6.5.2: Definición de las frecuencias horizontales del monitor Solo en caso de no conocer los datos exactos del monitor, se escogerá una de las opciones predefinidas. Con `10' es posible introducir las frecuencias exactas. Después del diálogo que pregunta por las frecuencias horizontales hay que definir las verticales. Aquí se presenta también una selección: 1 50-70 2 50-90 3 50-100 4 40-150 5 Enter your own vertical sync range Enter your choice (1-5): Mensaje en pantalla 6.5.3: Frecuencias verticales detalladas Como en la anterior pregunta, es mejor introducir los valores exactos en lugar de recurrir a uno de los rangos dados de `1' a `4'. Después se pide introducir un nombre para la descripción del monitor, 165 6 El sistema X Window Enter an identifier for your monitor definition: el nombre del fabricante, Enter the vendor name of your monitor: y el modelo: Enter the model name of your monitor: En las anteriores preguntas se puede introducir el nombre correspondiente o usar § ¤ los valores predeterminados pulsando ¦Enter ¥ . Con esto se finaliza la especifi- cación del monitor. Tarjeta de vídeo/servidor X Se continúa con la especificación de la tarjeta gráfica usada: Do you want to look at the card database? Introduciendo `y' aparece una lista con tarjetas de vídeo preconfiguradas. Se puede seleccionar de esta lista la definición de una tarjeta indicando el número correspondiente. ¡Al elegir una tarjeta de vídeo hay que tener en cuenta que incluso tarjetas del mismo tipo pueden tener variaciones respecto a Clock-Chip y RAMDAC (ingl. Random Access Memory Digital-to-Analogue Converter)! Por eso existe más adelante la opción de configurar Clock-Chip y RAMDAC de manera individual, aunque la tarjeta ya haya sido elegida anteriormente de la lista de preconfiguraciones. Las definiciones del banco de datos de tarjetas, contienen información sobre Clock-Chip, RAMDAC y el servidor X a usar. Según el caso, se añaden también datos interesantes sobre la tarjeta en la sección Device del fichero XF86Config. Si la tarjeta gráfica buscada no se encuentra en el listado, no hay por qué preocu- parse. Es posible volver con `q' a la configuración normal. Al seleccionar una tarjeta, solamente se debería seleccionar una del listado, cuando el nombre de la lista corresponde exactamente con la tarjeta usada. No se recomienda elegir una tarjeta con un nombre parecido, ya que esto no significa que el hardware también lo sea. En el apartado 6.6 en la página 171 hay información adicional sobre la configu- ración de la tarjeta gráfica. Después de haber especificado la tarjeta viene la selección del servidor X: 1 Un servidor para monitores monocromáticos. Debería funcionar con cualquier tarjeta gráfica compatible a VGA con una resolución mínima de 640x480 puntos. 2 El servidor de 16 colores XF86_VGA16. Debería funcionar con cualquier tarjeta compatible a VGA. 3 El servidor SVGA XF86_SVGA. Este servidor de 256 colores soporta una gran cantidad de tarjetas SVGA. Algunas tarjetas de Cirrus y de WD aprovechan la aceleración de gráficos. Hay tarjetas de Cirrus que permiten una profundi- dad de color 16 o 32-Bit en modo color. 166 6.5 Configuración con xf86config 1 The XF86_Mono server. This a monochrome server that should work on any VGA-compatible card, in 640x480 (more on some SVGA chipsets). 2 The XF86_VGA16 server. This is a 16-color VGA server that should work on any VGA-compatible card. 3 The XF86_SVGA server. This is a 256 color SVGA server that supports a number of SVGA chipsets. It is accelerated on some Cirrus and WD chipsets; it supports 16/32-bit color on certain Cirrus configurations. 4 The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, XF86_W32 and XF86_Mach64. These four server types correspond to the four different "Screen" sections in XF86Config (vga2, vga16, svga, accel). 5 Choose the server from the card definition, XF86_S3. Which one of these four screen types do you intend to run by default (1-4)? Mensaje en pantalla 6.5.4: Selección del servidor X 4 Servidor para tarjetas aceleradoras. Hay varios servidores a disposición (ver más abajo) 5 Esta opción solo existe cuando se ha elegido una tarjeta en la lista anterior. Se propone el servidor adecuado para la tarjeta. Cuando se ha elegido un servidor, aparece una pregunta acerca de la generación de un enlace simbólico del servidor elegido en /usr/X11R6/bin/X. Al afirmar la pregunta con `y', el programa pide la confirmación para colocar el enlace en /var/X11R6/bin: Do you want to set it in /var/X11R6/bin? Afirme esta pregunta, porque es posible que no necesariamente se pueda escribir en el árbol /usr. Ahora aparece un menú con los servidores X disponibles para tarjetas acelerado- ras, si en la selección anterior se ha escogido `4': Select an accel server: 1 XF86_S3 2 XF86_Mach32 3 XF86_Mach8 4 XF86_8514 5 XF86_P9000 6 XF86_AGX 7 XF86_W32 8 XF86_MACH64 Which accel server: Mensaje en pantalla 6.5.5: Servidores X acelerados Estos servidores son especiales y soportan las prestaciones adicionales de las 167 6 El sistema X Window correspondientes tarjetas. La colocación del enlace supone que el servidor X correcto ya fue instalado durante la instalación del sistema X Window. Después de la selección del servidor X, hace falta especificar la tarjeta gráfica en más detalle. Primero se define la cantidad de memoria instalada. How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: Mensaje en pantalla 6.5.6: Definición de la cantidad de memoria gráfica Después pregunta por un nombre, el fabricante y el tipo de tarjeta gráfica. Si se § ¤ ha elegido antes la tarjeta desde el banco de datos es suficiente con pulsar ¦ ¥ . Enter an identifier for your video card definition: Enter the vendor name of your video card: Enter the model (board) name of your video card: Si se ha elegido como servidor X uno del tipo acelerado, aparece ahora la pregun- ta por el "RAMDAC-Setting". Solo es importante para tarjetas tipo S3 o AGX: 1 AT&T 20C490 (S3 server) att20c490 2 AT&T 20C498/21C498/22C498 (S3) att20c498 3 AT&T 20C505 (S3) att20c505 4 BrookTree BT481 (AGX) bt481 5 BrookTree BT482 (AGX) bt482 6 BrookTree BT485/9485 (S3) bt485 7 Sierra SC15025 (S3, AGX) sc15025 8 S3 GenDAC (86C708) (autodetected) s3gendac 9 S3 SDAC (86C716) (autodetected) s3_sdac 10 STG-1700 (S3) stg1700 11 TI 3020 (S3) ti3020 12 TI 3025 (S3) ti3025 13 TI 3020 (S3, autodetected) ti3020 14 TI 3025 (S3, autodetected) ti3025 15 TI 3026 (S3, autodetected) ti3026 16 IBM RGB 514 (S3, autodetected) ibm_rgb514 17 IBM RGB 524 (S3, autodetected) ibm_rgb524 18 IBM RGB 525 (S3, autodetected) ibm_rgb525 19 IBM RGB 526 (S3) ibm_rgb526 20 IBM RGB 528 (S3, autodetected) ibm_rgb528 21 ICS5342 (S3, ARK) ics5342 22 ICS5341 (W32) ics5341 23 IC Works w30C516 ZoomDac (ARK) zoomdac 24 Normal DAC normal Mensaje en pantalla 6.5.7: Indicación del RAMDAC § ¤ Generalmente lo mejor es pulsar ¦ ¥y no seleccionar nada, salvo que se haya 168 6.5 Configuración con xf86config elegido una tarjeta que soporta una configuración de RAMDAC especial. Este caso estará indicado y se recomienda seleccionarlo realmente. Después de haber contestado a esto se puede elegir el Clock-Chip de las tarjetas aceleradas si es que lo llevan. Seleccionando un Clock-Chip ya no se necesitan líneas de Clock, ya que los valores-Clock necesarios pueden ser programados: 1 Chrontel 8391 ch8391 2 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a 3 ICS2595 ics2595 4 ICS5342 (similar to SDAC, but not completely compatible) ics5342 5 ICS5341 ics5341 6 S3 GenDAC (86C708) and ICS5300 (autodetected) s3gendac 7 S3 SDAC (86C716) s3_sdac 8 STG 1703 (autodetected) stg1703 9 Sierra SC11412 sc11412 10 TI 3025 (autodetected) ti3025 11 TI 3026 (autodetected) ti3026 12 IBM RGB 51x/52x (autodetected) ibm_rgb5xx Mensaje en pantalla 6.5.8: Determinación del Clockchip § ¤ Si se usa una tarjeta gráfica sin "Clock-Chip", es suficiente con pulsar ¦ ¥ , para no seleccionar ninguno. Si la tarjeta fue seleccionada en el listado de tarjetas se indica automáticamente el Clock-Chip que exista. Sin haber seleccionado ningún Clock-Chip, xf86config propone iniciar el pro- grama X -probeonly para determinar los Clock-Timings que soporta la tarje- ta. Estos se apuntarán automáticamente en una línea de Clocks en el fichero XF86Config. Aquí hay que indicar claramente, por qué los Clock-Timings que se determinan automáticamente pueden ser muy peligrosos: Si la tarjeta tiene un Clock-Chip programable, el servidor X no puede cambiar entre los distintos Clocks de la tarjeta y por tanto solo reconoce los Clocks 0, 1 y a veces 2. Los demás valores son más o menos casuales (generalmente los Clocks 0, 1 y 2 se repiten y por eso se reemplazan por ceros). Los clocks distintos de 0 y 1 dependen mucho de la pre-programación del Clock- Chip, por lo que el valor del Clock 2 puede ser diferente cuando se efectúa la prueba (valor que se apunta en XF86Config) al valor del momento de arrancar el servidor X. De este modo todos los Timings son falsos y el monitor se puede dañar. Un buen indicio para un Clock-Chip programable y sus problemas son muchos ceros en los valores del Timing o valores que continuamente se repiten. ¡En ningún caso se deben introducir valores semejantes en el fichero XF86Config! Para determinar el Clock-Chip o el Clock-Timing se puede usar la siguiente es- trategia: Lo mejor es indicar un Clock-Chip programable si es que existe sobre la tarjeta. En este caso se programa correctamente y el fichero XF86Config no contendría ninguna referencia a los Clocks. Otra posibilidad es la com- paración de los circuitos (chips) que hay sobre la tarjeta con los Clock-Chips 169 6 El sistema X Window que se ofrecen en el menú, para averiguar así el que coincide. Casi todas las tarjetas modernas del tipo S3 llevan un Clock-Chip programable. Si no tiene ningún Clock-Chip programable sobre la tarjeta, lo mejor es ejecutar X -probeonly y comparar los valores encontrados con los del manual de la tarjeta (la computadora no debe correr ningún otro progra- ma). Si estos más o menos coinciden (±2), anote los valores en el fichero XF86Config. Si no es posible comparar los valores, compruebe la validez de los mismos (muchos ceros o valores que se repiten continuamente indican valores no válidos). Anote los valores válidos a mano en XF86Config, pero no suprima ningún valor ni intente reordenar o modificar de alguna manera los mismos. Hay que apuntar los valores en el mismo orden de aparición. Usando el servidor P9000 se introduce sencillamente, para cada modo, el clock deseado en la línea Clocks. El orden de los modos no es importante. Siempre es válido: Cuando el Clock-Chip es programable no debe existir ninguna línea de Clocks en XF86Config (Excepción: P9000). Al contrario, cuando el Clock-Chip no es programable, sí que debe haber una línea de Clocks en XF86Config. Así se evita la determinación automática pesada y tal vez peligrosa de los Clocks en cada arranque del sistema X Win- dow. Además en caso de tarjetas que no permiten leer los Clocks no aparecen valores falsos y así no habrá riesgo para el monitor. Para probar ahora los Clocks (tener en cuenta los párrafos anteriores), se contesta la siguiente pregunta con `y': Do you want me to run `X -probeonly' now? La pantalla se obscurece por un momento y después aparece una lista con los Clocks determinados o, un mensaje advirtiendo que no se ha encontrado ningún Clock. Si se ha definido un Clock-Chip con anterioridad no aparece la pregunta sobre ejecutar X -probeonly, ya que los Clocks se programarán automáticamente. En este caso aparece directamente la próxima opción de configuración. Atención ¡Si ha contestado la última pregunta con `y' y la pantalla se queda obscura por más de 30 segundos, debe terminar en todo caso la fase de prueba § ¤§ ¤§ ¤§ ¤§ ¤ con ¦Ctrl ¥+¦Alt ¥+¦ - ¥ o ¦Ctrl ¥+¦c ¥ ! Si no queda más remedio apague el monitor y la computadora para no poner en peligro estos componentes. Guardar la configuración Ahora se ha terminado la configuración pero el fichero de configuración aún no está guardado. Lo mejor es guardar el fichero de configuración de X-Window XF86Config en el directorio /etc. Así se asegura también en una red que cada computadora lleve su "propia" configuración, incluso cuando varias computado- ras comparten el árbol /usr. 170 6.6 Optimización de la instalación del sistema X Window Indique entonces `/etc/XF86Config' como destino del fichero de configu- ración. Con esto se termina el programa xf86config y la configuración del sistema X Window. 6.6. Optimización de la instalación del sistema X Window A continuación se presenta la sintaxis del fichero de configuración /etc/X11/ XF86Config. El fichero se divide en secciones que comienzan con la palabra clave Section "nombre" y terminan con EndSection. Estas secciones se ex- plican a grandes rasgos en este apartado. Además se explica cómo añadir fuentes adicionales, cómo configurar los dispos- itivos de entrada y cómo realizar la aceleración 3D. Todas estas configuraciones se realizan en determinadas secciones dentro de XF86Config. Añadir una fuente adicional requiere la ayuda de programas externos que están incluidos en SuSE Linux y que forman parte de la instalación por defecto. Los procedimientos que se detallan aquí demuestran las capacidades principales, sin pretender ser ex- haustivos pero que encambio sirvan de ejemplo. Los programas SaX2 y xf86config (para XFree86 4.x) generan el fichero XF86 Config y lo copian generalmente en el directorio /etc/X11. Este es el fichero de configuración principal del X Window System que contiene las definiciones de mouse, monitor y tarjeta de vídeo. XF86Config se compone de varios párrafos llamados "secciones" (ingl. sec- tions) y cada una contempla un determinado aspecto de la configuración. Cada sección tiene la forma: Section definición 1 definición 2 definición n EndSection Existen los siguientes tipos de secciones: Files Esta sección describe los path (las ramas) para los juegos de caracteres y la tabla de colores RGB. ServerFlags Aquí se apuntan indicadores generales (ingl. flags). InputDevice Esta es la sección de configuración de los dispositivos de entrada. En comparación a XFree86 3.3 se configuran teclados y mouses así como dispositivos especiales como Joysticks, tabletas digitalizadoras, etc. Las variables im- portantes aquí son Driver y las opciones Protocol y Device para determinar el protocolo y el dispositivo. Cuadro 6.3: Continúa en la página siguiente... 171 6 El sistema X Window Monitor Descripción del monitor usado. Los elementos de esta sec- ción son un nombre, que sirve más adelante de referen- cia en la definición del Screen, así como el valor de la anchura de banda (Bandwidth [MHz]) y de las frecuen- cias de sincronización permitidas (HorizSync [kHz] y VertRefresh [Hz]). El servidor "rechaza" cualquier Modeline que no cumple con la especificación del mon- itor; de esta forma se evita enviar al monitor frecuencias demasiado altas cuando se están manipulando los Mode- lines. Modes Aquí se definen los parámetros para las determinadas resoluciones de pantalla. SaX2 calcula estos parámet- ros en base a las indicaciones por parte del usuario y por lo general no se requiere ninguna modificación. Se puede realizar una intervención manual p. ej. en ca- so de usar un monitor con frecuencia fija. La expli- cación exacta de todos los parámetros se encuentra en el fichero HOWTO /usr/share/doc/howto/en/ XFree86-Video-Timings-HOWTO.gz, ya que para este libro resultaría demasiado extenso. Device Esta sección define una determinada tarjeta gráfica cuya referencia es el nombre que aparece por detrás de la pal- abra clave Device. Screen Esta sección une finalmente un Driver con un Device para formar así las indicaciones necesarias para XFree86. La sub-sección Display permite la definición de un tamaño de pantalla virtual (Virtual), del ViewPort y de los Modes usados con este Screen. ServerLayout Esta sección define el diseño de una configuración con uno o varios monitores ("single" o "multihead"). Los disposi- tivos de entrada InputDevice y los monitores Screen se unen para formar un conjunto. Cuadro 6.3: Secciones (ingl. sections) en /etc/X11/XF86Config A continuación se contemplan más de cerca las secciones Monitor, Device y Screen. En la página del manual de XF86Config (man XF86Config) y en la página del manual de XF86Config (man XF86Config) hay más información sobre las demás secciones. En el fichero XF86Config pueden aparecer varias secciones de los tipos Monitor y Device. También se pueden usar varias secciones Screen dependiendo su uso de la siguiente sección ServerLayout. 172 6.6 Optimización de la instalación del sistema X Window Screen-Section Primero queremos tratar de cerca la sección de Screen. Esta une una sección de Monitor y de Device y determina qué resolución es proporcional con qué profundidad de color. Una sección del tipo Screen puede parecerse p. ej. a la del fichero 6.6.1. Section "Screen" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" Virtual 1152x864 EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Fichero 6.6.1: La sección Screen del fichero /etc/X11/XF86Config La línea Identifier (en este ejemplo el identificador es Screen[0]) da un nombre único a la sección para poder referenciar esta sección de forma inequívo- ca en la siguiente sección ServerLayout. La tarjeta gráfica y el monitor definido se asignan mediante las líneas Device y Monitor a la pantalla Screen. No son más que referencias a las secciones de dispositivo (Device) y Monitor con los nombres correspondientes o identifi- cadores "Identifier". Estas secciones se explican más adelante. La variable DefaultColorDepth indica la profundidad de color por defecto que usa el servidor cuando arranca sin definición explícita de ella. Para cada profundidad de color prosigue una subsección de Display. La pro- fundidad de color de cada subsección se define por la palabra clave Depth. Los valores posibles para Depth son 8, 15, 16, 24 y 32 bpp. No todos los módulos de servidor X soportan todos los valores y, 24 y 32 dan como resultado la misma profundidad de color. 24bpp representa el modo "packed-pixel" y 32bpp el modo "padded-pixel". Después de definir la profundidad de color se define con Modes una lista de res- oluciones; el servidor X pasa por esta lista de izquierda a derecha. Para cada una de las resoluciones listadas, el servidor busca en la sección Modes un Modeline que corresponda a las capacidades gráficas del monitor y de la tarjeta gráfica. 173 6 El sistema X Window La primera resolución adecuada en este sentido es la que usa el servidor X para § ¤ § ¤ § ¤ arrancar el "Default-Mode". Con las teclas ¦Ctrl ¥+ § ¦Alt ¤ ¥+ § ¦gris + ¤ § ¥se puede ¤ ir en la lista de resoluciones a la derecha y con ¦Ctrl ¥+ ¦Alt ¥+ ¦gris - ¥a la izquierda3. Así se puede modificar la resolución en pantalla durante el tiempo de ejecución del sistema X Window. Las última línea de la subsección Display con la expresión Depth 16 se refiere al tamaño de la pantalla virtual . El tamaño máximo de la pantalla virtual depende de la cantidad de memoria instalada y de la profundidad de color deseada pero no depende de la resolución máxima del monitor. Como las tarjetas gráficas moder- nas ofrecen mucha memoria, se pueden crear escritorios virtuales muy grandes. En tal caso es posible que ya no se pueda aprovechar la aceleración 3D, por haber ocupado toda la memoria de vídeo con un escritorio virtual. Si la tarjeta tiene p. ej. 16 MB Vídeo RAM, entonces la pantalla virtual puede ser de hasta 4096x4096(!) puntos a una profundidad de color de 8 Bit. Para los servidores X acelerados no se recomienda de ninguna manera usar todo el espacio de memo- ria disponible para la pantalla virtual, ya que estos servidores usan la zona de memoria no usada de la tarjeta para diferentes cachés de juegos de caracteres y de zonas de gráficos. Device-Section Una sección de dispositivo (ingl. Device-Section), describe una determinada tar- jeta gráfica. Puede existir una cantidad infinita de secciones de dispositivo en XF86Config mientras que sus nombres, indicados con la palabra clave Identifier, se distingan. Si hay varias tarjetas gráficas montadas en la máquina, estas secciones reciben números consecutivos comenzando con Device[0] para la primera, Device[1] para la segunda, etc. El fichero 6.6.2 muestra el extracto de una sección del tipo Device de una computadora con una tarjeta PCI tipo Matrox Millennium. Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSection Fichero 6.6.2: Sección Device del fichero /etc/X11/XF86Config La apariencia de la sección Device debería ser semejante a la que se refleja arriba, en caso de usar SaX2 para la configuración. SaX2 determina Driver y BusID que dependen del hardware usado por la máquina a configurar. BusID determina la posición que ocupa la tarjeta gráfica en el bus PCI o AGP y es equiv- alente al número que lspci indica. ¡Hay que tener en cuenta que el servidor X usa valores decimales mientras que los de lspci con hexadecimales! 3"Gris" indica aquí que se trata de teclas del bloque numérico, ya que éstas se resaltan a veces en color gris. 174 6.6 Optimización de la instalación del sistema X Window El parámetro Driver determina el driver para la tarjeta gráfica que para el caso de la Matrox Millennium es mga. El servidor X busca el driver en el subdirectorio drivers de la rama ModulePath definido en el apartado Files. La rama com- pleta para una instalación estándar es /usr/X11R6/lib/modules/drivers. El nombre completo del driver se obtiene añadiendo _drv.o al identificador corto, lo que resulta en nuestro ejemplo en mga_drv.o. Existen opciones adicionales para activar ciertas características del servidor X y de su driver. En este caso se ha usado como ejemplo la opción sw_cursor que desactiva el cursor hecho por hardware para emularlo mediante software. Según el driver usado, hay diferentes opciones que se explican junto con los drivers en el directorio /usr/X11R6/lib/X11/doc. Hay opciones generales en la página del manual de XF86Config (man XF86Config) y la página del manual de XFree86 (man XFree86). Monitor- y Modes-Section Las secciones de monitor y de Modes tal como las de Device, describen un mon- itor por cada sección y puede haber una cantidad infinita de estas secciones en el fichero de configuración /etc/X11 /XF86Config. En la sección de Server- Layout se determina qué sección de monitor vale a efectos de la configuración. Solo usuarios muy experimentados deberían generar o ajustar una sección de Monitor (y sobre todo la de Modes) al igual que una sección de tarjeta gráfica. Una parte fundamental de la sección Modes son los "Modelines" que indican las sincronizaciones (ingl. timings) horizontales y verticales para cada resolución. La sección Monitor contiene las características del monitor y entre ellas sobre todo las frecuencias de refresco máximas. Atención ¡Sin un buen conocimiento de la función de monitor y de tarjeta gráfica no se debería cambiar ningún valor de los Modelines, ya que esto podría provocar la destrucción del monitor! Si realmente se atreve a hacer sus propias configuraciones de monitor, debería leer antes la documentación en /usr/X11/lib/X11/doc. Se recomienda es- pecialmente la lectura de [FCR93] que explica detalladamente la función del hardware y la definición de los Modelines. Por fortuna hoy en día, casi nunca hace falta generar Modelines o definiciones de monitores "a mano". Usando un monitor de multifrecuencia moderno, SaX2 puede leer vía DDC los rangos de frecuencia admitidas y las resoluciones ópti- mas, directamente desde el monitor. Si esto no fuera posible, siempre se puede recurrir a uno de los modos VESA del servidor X que funcionan prácticamente con todas las combinaciones posibles de monitor y de tarjeta gráfica. 175 6 El sistema X Window 6.6.1. Incorporar fuentes (TrueType) adicionales Junto con la instalación normal de un servidor X11R6, se instala una cierta canti- dad de fuentes que se encuentran dentro del directorio /usr/X11R6/lib/X11/ fonts ordenadas de forma lógica en sub-directorios. El servidor X solo tiene en cuenta un sub-directorio si se cumple que: está apuntado como FontPath en el apartado Files del fichero /etc/X11/ XF86Config. contiene un fichero fonts.dir válido. no fue dado de baja durante la ejecución del servidor X mediante el comando xset -fp. fue dado de alta durante la ejecución del servidor X mediante el comando xset +fp. Aparte del formato propio Type1 (un formato de PostScript) y de pcf para fuentes de bitmap escalables, con la versión 4.0 XFree86 maneja también el nuevo formato ttf (ingl. true type font). Estas fuentes se soportan como siempre mediante módulos que carga el servidor X. Para usar las fuentes TrueType ya no hacen falta muchos preparativos. Aparte de la buena escalabilidad, la gran ventaja de la mayoría de las fuentes TrueType es el gran abanico de caracteres incluidos que supera ampliamente los normales 255 caracteres del juego de caracteres "iso-8859-1" para Europa occidental. En consecuencia se puede trabajar sin problemas en cirílico, griego o en otros idiomas de Europa oriental. Con software adicional incluso funcionan las lenguas asiáticas. La presente explicación contempla sobre todo el uso de juegos se caracteres de 8 bit. Sin embargo también queda la posibilidad de introducir caracteres de un id- ioma asiático (japonés, chino) usando unos editores especiales que forman parte de SuSE Linux. Los juegos de caracteres de 8 bit están formados por 256 caracteres, ampliando así el juego ASCII que se restringe a los primeros 128 caracteres. De esta forma cada letra ocupa 8 bit en la memoria. Los 128 caracteres adicionales del juego ampliado no son suficiente para representar todos los caracteres especiales p. ej. de todos los idiomas europeos. Por tanto los idiomas están agrupados y se rep- resentan con una determinada abreviación que corresponde a la norma aplicada p. ej. "iso-8859-x". `x' es una cifra entre 1 y 15. La asignación exacta de los caracteres p. ej. en el juego de iso-8859-1 se puede encontrar en la página del manual de iso-8859-1 (man iso-8859-1). Algunos códigos de los juegos de caracteres se encuentran en la tabla 6.4 en la página siguiente, otros se encuentran en la página del manual mencionada. El usuario tiene que seleccionar la codificación de acuerdo al idioma usado. Transfiriendo texto entre diferentes computadoras, este se ha de transferir jun- to con su codificación. La ventaja de este sistema es la sencilla implementación del soporte de los caracteres especiales. Una vez seleccionada la codificación correcta, todos los programas (o casi todos) pueden visualizar estos caracteres, 176 6.6 Optimización de la instalación del sistema X Window Juego de Región, idiomas incluidos caracteres iso-8859-1 Idiomas de Europa occidental: Español, Alemán, Francés, Sueco, Finlandés, Danés etc. iso-8859-2 Centro-europeo y este: Checo, Rumano, Polaco, Alemán, etc. iso-8859-5 Caracteres del cirílico para el Ruso iso-8859-7 Caracteres para el Griego iso-8859-15 Igual a iso-8859-1, pero con caracteres para el Turco y el carácter para el Euro. Cuadro 6.4: Códigos de juegos de caracteres importantes ya que la gran mayoría trabaja con un valor de 8 bit (un byte) para cada letra. Por otra parte los caracteres especiales se muestran mal, cuando la codificación seleccionada no es la adecuada. Para la mayoría de los programas del sistema X Window y del entorno KDE se puede seleccionar la codificación del juego de caracteres; esto se realiza normalmente junto con la configuración del tipo de caracteres (p. ej. Helvética, Courier, Times, etc). Los programas del entorno gráfico denominan la codificación normalmente como Encoding. La desventaja de esta solución es la imposibilidad de representar en pantalla ciertas combinaciones de idiomas. Sin tomar medidas adicionales no es posible p. ej. mencionar nombre propios en Cirílico dentro de un texto en Castellano. Las solución a este dilema pasa por Unicode que codifica los caracteres medi- ante 2 o más bytes, por lo que se puede trabajar con muchos más caracteres al mismo tiempo. Solo gracias a Unicode es posible trabajar con idiomas asiáti- cos que tienen mucho más que 127 caracteres como p. ej. Chino, Japonés o Koreano. La desventaja es que la mayor parte del software no está preparada para procesar estas letras y solo mediante software especial es posible leer o escribir letras en Unicode. Hay información adicional sobre el uso de Unicode bajo Linux en http://www.unicode.org. Es de suponer que con el tiempo el soporte de Unicode vaya creciendo; SuSE Linux ya incorpora el programa yudit para introducir letras en Unicode. Este programa se encuentra en el paque- te yudit, serie xap y, una vez hecha la instalación, en el menú de SuSE bajo Business/Office y Editores. Después de esta introducción general, se presenta una descripción detallada de la instalación de fuentes adicionales, tomando como ejemplo fuentes TrueType. Averigüe dónde se encuentran las fuentes a instalar en el sistema X Window. Si su sistema incorpora fuentes con licencia especial resulta sencillo de usar, sólo necesita montar la partición con las fuentes. Si no existe cree un directorio para las fuentes y entre a éste. En SuSE Linux este directorio ya existe y se denomina /usr/X11R6/lib/X11/fonts/truetype; las fuentes se han de copiar en este sitio. tierra:/root # cd /usr/X11R6/lib/X11/fonts/truetype 177 6 El sistema X Window Como próximo paso hay que crear enlaces a los ficheros ttf y al directorio de las fuentes. Para fuentes TrueType se necesita un programa especial llamado ttmkfdir (paquete ttmkfdir, serie xap), para generar el fichero fonts.dir. Las fuentes tradicionales del sistema X Window se dan de alta con el comando mkfontdir. En el siguiente comando se reemplaza <>/directorio/de/las/fuentes con el directorio que realmente contiene las fuentes: tierra:/usr/X11R6/lib/X11/fonts/truetype # ln -s /*.ttf . tierra:/usr/X11R6/lib/X11/fonts/truetype # ttmkfdir -o fonts.dir Para dar de alta las fuentes cuando el servidor X ya está en ejecución, use el comando: tux@tierra:/home/tux > xset +fp /usr/X11R6/lib/X11/fonts/truetype Truco El comando xset accede al servidor X mediante el protocolo X, por lo que debe tener derechos de acceso al servidor en ejecución. Este se consigue p. ej., cuando tux es idéntico al usuario que ha iniciado el servidor X. Hay más información en la página del manual de xauth (man xauth). Para configurar las fuentes de forma permanente se recomienda incorporar el di- rectorio de las mismas al fichero XF86Config de tal forma que se pueda realizar con SaX2. Para añadir un directorio de fuentes hay que seleccionar `Add' dentro del diálogo `Directorio fuentes'. Para comprobar si las fuentes fueron configuradas correctamente se puede usar el programa xlsfonts. Si está todo correctamente configurado, éstas aparecen en una lista que debe incluir la fuente TrueType recién instalada. Otra posibilidad es usar kfontmanager que muestra las fuentes instaladas junto con un ejemplo de texto. tux@tierra:/home/tux > xlsfonts Todos los programas del sistema X Window pueden usar ahora las fuentes que se hayan configurado de esta forma. 6.6.2. Configurar los dispositivos de entrada La descripción completa de todos los dispositivos de entrada llegaría a formar un capítulo muy extenso, sencillamente por la gran cantidad de dispositivos. El siguiente apartado trata de ofrecer unos conceptos básicos sobre la configu- ración de dispositivos de entrada. El término genérico "dispositivo de entrada" se refiere al mouse, teclado y también a dispositivos más específicos como tabletas digitalizadoras, etc. En los apartados que figuran a continuación se ha de buscar sencillamente el que corresponda al dispositivo, para informarse sobre ello. Otra fuente de información detallada es la documentación sobre el servidor X, especialmente la página del manual de XF86Config (man XF86Config). 178 6.6 Optimización de la instalación del sistema X Window Mouse Wheelmouse La prestación normal de este dispositivo se puede aprovechar si ya se ha configurado con SaX2, pero para activar la(s) rueda(s) se requiere una configuración adicional (p. ej. para usar las ruedas para el desplazamiento vertical en pantallas). Algunos programas del sistema X Window interpretan los movimientos de las ruedas correctamente si el mouse fue configurado con SaX2. Los movimientos en las ruedas se interpretan como una pulsación sobre la tecla 4 o 5. Para que todos los programas del sistema X Window funcionen correc- tamente no hace falta más que iniciar el programa paquete imwheel, serie ap cuando el servidor X esté corriendo. Para automatizar el inicio de este programa, edite el fichero ~/.xinitrc, añadién- dole la llamada al programa, es decir su nombre (imwheel) (p. ej. por debajo de la línea finally start the window manager). El programa convierte las pulsaciones sobre los botones del mouse en pulsaciones de teclado config- § ¤ § ¤ urables. Estas son por defecto ¦Página ¥y ¦Página ¥ ; sin embargo esto se puede modificar mediante el fichero /etc/imwheelrc. Así cualquier programa del sistema X Window manejado con el teclado, se puede usar por medio del mouse con ruedas. Para individualizar el comportamiento del mouse, se puede copiar el fichero de configuración a ~/.imwheelrc y allí cada usuario "normal" lo puede modificar. Mouse para zurdos Para intercambiar el funcionamiento de los botones de izquierda y de derecha, introduzca el siguiente comando: tux@tierra:/home/tux > xmodmap -e "pointer = 3 2 1" Este comando se puede incorporar en el fichero ~/.xinitrc. Dos mouse o una tableta digitalizadora No hay grandes inconvenientes en la configuración de un segundo mouse o de una tableta digitalizadora; en todo ca- so se recomienda utilizar SaX2. En el menú `Mouse' añada un símbolo de mouse adicional mediante el botón `Añadir'. Este segundo mouse no se configura au- tomáticamente, sino que se ofrece la posibilidad de configurar todos los datos de forma manual. Bajo `Extendido' y `Driver' se selecciona el driver adecuado para la tableta digitalizadora o mouse con el fin de configurar un segundo mouse. A continuación con las opciones de `Conexión' se configura el conector usado. La opción `Protocolo' solo tiene sentido si se usa `mouse' como driver, por lo cual se debe indicar None en el apartado de `Protocolo'. Más abajo existe la opción de seleccionar el modelo de tableta con parámetros adicionales. Existe la posibilidad de afinar aún más la configuración, seleccionando en `Mis- celánea' el botón `Extendido' (ver el fichero /usr/X11R6/lib/X11/doc/ README.mouse que explica la mayoría de las opciones. Resulta muy interesante la opción Send Core Events ya que permite usar los dispositivos simultánea- mente. Si no se usa esta opción se usaría el comando xsetpointer para cambiar de un dispositivo a otro. Con el comando: tux@tierra:/home/tux > xsetpointer -l se puede ver una lista de los dispositivos de entrada disponibles. 179 6 El sistema X Window Teclado Los teclados suelen ser más uniformes por lo que este apartado resulta más corto que el anterior. En realidad lo más normal es que no haga falta configurar nada respecto al teclado. Sin embargo hay una serie de programas de manejo del teclado que son bastante útiles. Para modificar a modo de prueba la distribución de teclado (en tiempo de ejecución) se puede usar el programa xkeycaps, paquete xkeycaps, serie xap. Para que los cambios efectuados al teclado sean permanentes, edite el fichero ~/.Xmodmap. En cuanto al formato de este fichero consulte la página del manual de xmodmap (man xmodmap). El entorno KDE ofrece el programa kikbd (distribución de teclado internacional). Con ello se puede cambiar fácilmente de una distribución de teclado a otra. Esto resulta muy práctico en el caso de usar p. ej. un teclado con distribución inglesa (el acceso a los corchetes { y } o [ y ] es mucho más directo) para programar y otro con distribución española para escribir textos. Para utilizar la distribución de teclado "internacional" con el fin de escribir en diferentes idiomas, hay que considerar que los programas del sistema X Window muchas veces solo aceptan teclas que pertenecen al ajuste "locale" del país en cuestión. Los demás caracteres se ignoran, por lo que es preciso configurar cor- rectamente "locale". Esto se consigue asignando a la variable de entorno LANG, antes de iniciar el programa, el valor que corresponda al soporte de idioma de- seado. Los parámetros posibles se encuentran en la página del manual de locale (man locale). 6.6.3. Aceleración 3D El capítulo "Configuración OpenGL/3D" del manual "Configuración" informa sobre la aceleración 3D. 180 7 Linux y el hardware adicional 7 Linux y el hardware adicional 7.1. Introducción Hoy en día es posible incorporar la mayoría de los periféricos y hardware adi- cional a un PC con Linux. Este capítulo explica los detalles del "cómo" y men- ciona el software a disposición. El tema de la impresión ya fue tratado en el capítulo 9 en la página 213. El hardware especial para los portátiles como son las tarjetas PCMCIA y los dispositivos IrDA es tema del capítulo 8 en la pági- na 197. 7.2. Tarjetas de expansión En un PC estándar se utilizan mayoritariamente tarjetas de expansión del tipo PCI ("Peripheral Component Interconnect"), pero aún se encuentran con fre- cuencia tarjetas del tipo ISA ("Industry Standard Architecture"). El bus AGP ("Accelerated Graphics Port") es una cierta excepción, ya que los dispositivos que se encuentran sobre él se "ven" también en el bus PCI. Además no se diferencian en su tratamiento lógico. Las tarjetas del tipo PCMCIA se encuentran sobre todo en los portátiles; la con- figuración de éstas se explica en el capítulo 8 en la página 197. 7.2.1. Tarjetas PCI e ISA Los siguientes apartados exponen el funcionamiento de las tarjetas PCI e ISA; su configuración se explica mediante el ejemplo de una tarjeta de sonido. Tarjetas PCI Las tarjetas PCI normalmente no exigen ninguna configuración por parte del usuario. El acuerdo sobre el estándar del bus PCI trata de suprimir todas las desventajas de los buses anteriores; por eso está directamente prevista la auto- configuración de las tarjetas.Al arrancar la computadora, la BIOS configura todas las tarjetas PCI. Por lo general es posible intervenir en la distribución de las inter- rupciones configurando la BIOS. Linux lee la configuración de los dispositivos PCI directamente de la BIOS y usa estos datos para cualquier información sobre el subsistema PCI. Con el comando 181 7 Linux y el hardware adicional tierra:/ # lspci -tv es posible sacar una lista de todos los dispositivos que Linux reconoce en el bus PCI (véase la salida en pantalla 7.2.1). -[00]-+-00.0 Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge +-01.0-[01]----00.0 Nvidia Corporation Riva TNT +-04.0 Intel Corporation 82371AB PIIX4 ISA +-04.1 Intel Corporation 82371AB PIIX4 IDE +-04.2 Intel Corporation 82371AB PIIX4 USB +-04.3 Intel Corporation 82371AB PIIX4 ACPI +-06.0 Adaptec 7890 09.0 Digital Equipment Corporation DECchip 21140 [FasterNet] Mensaje en pantalla 7.2.1: Salida en pantalla del comando lspci -tv La siguiente sección ( 7.3 en la página 185) trata sobre la configuración de una tarjeta de sonido para bus PCI. Tarjetas ISA Estas tarjetas representan la forma más antigua de las tarjetas de expansión para PC. El bus es de 8 o 16 bit y su frecuencia máxima es de 8 MHz. Muchas placas base permiten el aumento de la frecuencia, pero esto puede producir problemas. Hay tres categorías de tarjetas ISA: Legacy-Cards: Estas tarjetas se configuran completamente "a mano". El usuario tiene que configurar los recursos como dirección de E/S, Interrup- ciones y canales DMA mediante "jumpers" o "microswitch", tratando de evitar el uso duplicado de recursos por parte de las tarjetas. Por lo tanto la configuración de estas tarjetas puede ser complicada. Jumperless-Cards: En comparación a la primera generación de tarjetas, éstas ya no exigen la configuración mediante "jumper", si no que se configuran con un programa especial. Este programa normalmente existe solo para DOS, por lo que no se puede usar en Linux. PnP-Cards: Las tarjetas "Plug and Play" son el avance lógico de las "Jumperless-Cards". Las tarjetas reciben una lista sobre las configuraciones posibles y un programa o driver especial se encarga de consultar las configu- raciones de todas las tarjetas PnP del sistema, configurándolas de tal manera que no interfieran unas con otras. Una tarjeta prácticamente no existe para el sistema hasta que no esté config- urada. En caso de un kernel de la versión 2.2.x, el paquete isapnp de la serie ap se encarga de la configuración de las tarjetas PnP. El paquete incorpora los programas pnpdump y isapnp. ¿Cómo activar tarjetas PnP con isapnp? Proceda de la siguiente forma: 182 7.2 Tarjetas de expansión Entre al sistema como `root'. Si encuentra un fichero isapnp.conf en el directorio /etc, primero se debe hacer un respaldo del mismo: tierra:/ # mv /etc/isapnp.conf /etc/isapnp.conf.bak Con el comando tierra:/ # pnpdump -c > /etc/isapnp.conf se genera el fichero /etc/isapnp.conf. Con el parámetro -c se consigue que pnpdump prepare directamente el fichero de salida para la inicialización de las tarjetas PnP. El comando tierra:/ # isapnp /etc/isapnp.conf inicializa las tarjetas PnP en la computadora; SuSE Linux las inicializa cada vez que se arranque Linux. Posibles fuentes de error Problema: El mensaje de pnpdump es: "No boards found". También es posible que se reconozcan algunas, pero no todas las tarjetas ISA-PnP. Soluciones: En realidad no hay ninguna tarjeta ISA-PnP en la computadora. Se debe comprobar qué tarjetas están instaladas y también leer la documentación que les corresponde. Para aclarar las dudas pregunte al distribuidor de las tarjetas o de su computadora. La(s) tarjeta(s) son defectuosas; comprobar su correcto ajuste en las ra- nuras y probar el funcionamiento de las mismas bajo otro sistema opera- tivo. Hay tarjetas que se pueden usar como tarjetas ISA-PnP o con asignación fija de los recursos (así son algunas tarjetas Ethernet ISA NE2000 de 10 Mbit/s). Generalmente existe un programa basado en DOS que permite cambiar de modalidad. Según la configuración de las tarjetas, éstas no aparecen en el resultado de pnpdump. Algunas tarjetas ISA-PnP no se pueden usar junto con otras. En estos casos, solo se ve una de ellas en el resultado de pnpdump. Para evitar este problema se puede intentar desactivar la característica PnP de una tarjeta (p. ej. con un jumper directo sobre la tarjeta) y usarla así con recursos fijos. Existen tarjetas que (en muy pocas ocasiones) se resetean después de eje- cutar pnpdump. Si la tarjeta en cuestión es la controladora SCSI que conecta el disco duro con la partición raíz, esto podría ocasionar el çuelgue"de la computadora. Si ocurre esto, se debe configurar la tarjeta de tal manera que deje de trabajar como dispositivo ISA-PnP (en el supuesto que la tarjeta lo soporte). Tal vez se puede prescindir completamente de la inicialización de la tarjeta bajo Linux arrancando el sistema con loadlin, por lo tanto la tarjeta ya estaría inicializada antes de entrar a Linux. 183 7 Linux y el hardware adicional Problema: Al ejecutar el comando isapnp o al iniciar Linux aparece un mensaje de error parecido al siguiente: * LD setting failed, this may not be a problem. * Try adding (VERIFYLD N) to the top of your script ** Error occured requested `LD2` on or around line 319 * --- further action aborted Solución: Siga el consejo del mensaje de error y añada al comienzo del fichero /etc/isapnp.conf la siguiente línea: (VERIFYLD N) o sea p. ej.: # [...] # (DEBUG) (VERIFYLD N) (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # [...] Problema: Al ejecutar el comando isapnp o al iniciar Linux aparece un mensaje de error parecido al siguiente: [...] /etc/isapnp.conf:66 -- Fatal - resource conflict allocating 16 bytes of IO at 220 (see /etc/isapnp.conf) /etc/isapnp.conf:66 -- Fatal - IO range check attempted while device activated /etc/isapnp.conf:66 -- Fatal - Error occurred executing request ' ' --- further action aborted Solución: Probablemente hay un conflicto entre los valores seleccionados en /etc/isapnp.conf/ y los usados por la computadora. Coordine la infor- mación sobre los recursos usados que se encuentran en /proc con la de /etc/isapnp.conf; esto no es necesario si pnpdump se ha encargado de ello usándolo con la opción -c. Atención Algunas veces se pueden presentar problemas cuando está activada la configuración automática por parte de la BIOS. En estos casos se debe entrar al "Setup" de la BIOS para desactivarla ya que pnpdump e isapnp se encargan de la configuración automática. Si los problemas persisten, consulte la documentación completa acerca de paque- te isapnp. Esta se encuentra en el directorio /usr/share/doc/packages/ isapnp. Tomando como ejemplo una tarjeta de sonido, al final de este apartado se puede observar de nuevo la configuración de una tarjeta PnP. 184 7.3 Tarjetas de sonido 7.3. Tarjetas de sonido Actualmente se ofrecen tarjetas de sonido sobre todo con bus PCI. En pocas ocasiones se encuentran aún tarjetas con bus ISA. En SuSE Linux hay dos posibilidades para soportar las tarjetas de sonido. Lo más sencillo es usar YaST2 para la configuración, ya que YaST2 usa el driver de- sarrollado dentro del proyecto ALSA. Hay más información sobre este proyecto en http://www.alsa-project.org. Los drivers de ALSA se pueden instalar también con el programa alsaconf. 7.3.1. Configurar la tarjeta de sonido con YaST2 Para configurar la tarjeta de sonido después de la primera instalación (p. ej. porque el sistema se ha ampliado con ésta), hay que iniciar YaST2 como usuario `root', seleccionando el módulo `Hardware/Sonido'. YaST2 intenta detectar la tarjeta de sonido automáticamente y presenta una lista de modelos con sus drivers que corresponde al hardware detectado. De esta lista se selecciona el driver y el modelo de la tarjeta de sonido; en caso de duda con- sulte el manual de esta tarjeta. Si la tarjeta de sonido no se reconociera, pulse sobre `Manual' y seleccione de la lista de tarjetas y drivers las entradas que corresponden a su modelo. Pulsando sobre `Opciones' se pueden introducir op- ciones específicas para la tarjeta; también en este paso de la configuración le puede ayudar el manual de la tarjeta. Pulsando el botón `Siguiente' aparece una pantalla para comprobar la config- uración. Mediante los botones `+' o `-' se puede regular el volumen. Lo mejor es comenzar con el 10 % del volumen máximo para no poner en peligro ni el equipo de sonido, ni el propio oído. El regulador de volumen de los altavoces influye también en el volumen de la reproducción de un sonido de prueba que sale pulsando sobre menueProbar. Si no se puede escuchar nada, compruebe los reguladores de volumen. Una vez que la prueba tenga éxito, pulse `Finalizar'. Al pulsar `Si', la configuración del sonido se termina y el nivel de volumen se guarda. Confirmando con `Aceptar', el sistema vuelve a `YaST2 Configu- ración y Administración del Sistema'. Para modificar posteriormente el mezclador de la tarjeta de sonido, se puede p. ej. utilizar kmix o gamix. 7.3.2. Configurar tarjeta de sonido con alsaconf El presente apartado sirve como información adicional para entender mejor la configuración de tarjetas de sonido con ALSA (Advanced Linux Sound Archi- tecture); por lo general YaST2 se encarga de la configuración usando ALSA. Con lo cual, la información dada sirve para arreglar problemas en caso de una configuración errónea. La cantidad de drivers que ALSA ofrece aumenta continuamente ya que hay muchos desarrolladores que lo apoyan. Aparte de la interfaz propia (nativa), AL- SA ofrece otra que es compatible con OSS (OpenSoundSystem). Por eso los 185 7 Linux y el hardware adicional programas desarrollados para OSS se puede seguir usando. Sin embargo, para aprovechar al máximo las posibilidades de ALSA, hay que recurrir a su propia interfaz. ALSA aprovecha totalmente el concepto modular del kernel. Los módulos de ALSA se encuentran dentro del directorio de los módulos de kernel (/lib/ modules/...) en el área misc. Como alternativa a YaST2, se puede utilizar alsaconf para la configuración de ALSA, que se realiza mediante entradas en el fichero /etc/modules.conf. ALSA ofrece también la posibilidad de utilizar varias tarjetas de sonido si- multáneamente. Para ello no hace falta nada más que ampliar /etc/modules. conf con los parámetros necesarios para ello. Siga el siguiente procedimiento para configurar la tarjeta de sonido mediante alsaconf: Entre al sistema como superusuario root utilizando una consola de texto. Inicie el programa alsaconf tierra:/ # alsaconf alsaconf trata de detectar tarjetas de sonido en el bus PCI así como en el bus ISA, incluidas las del tipo "Plug-and-Play". alsaconf muestra una lista de las tarjetas de sonido encontradas y ofrece con- figurarlas. En caso de no encontrar ninguna tarjeta aparece una lista de tarje- tas. Afirme la pregunta pulsando YES si el fichero /etc/modules.conf se debe modificar. Las entradas necesarias se añaden al fichero /etc/modules.conf y el driv- er se carga a modo de prueba. Existe la posibilidad de probar la tarjeta sonido con una secuencia de sonido; se recomienda empezar la prueba con un volumen bajo. La próxima vez que el sistema se inicie, los drivers se cargan automática- mente, pero existe también la posibilidad de cargar y descargar los drivers manualmente. Para cargar los drivers se usa: tierra:/ # rcalsasound start y para descargar tierra:/ # rcalsasound stop 7.4. Las interfaces de la computadora 7.4.1. Conexiones PS/2 Las conexiones del tipo PS/2 fueron desarrolladas por IBM para sus sistemas PS/2. Últimamente se han extendido debido al estándar ATX y están destinadas a la conexión de teclado y mouse. 186 7.4 Las interfaces de la computadora Bajo Linux no hace falta configurar las conexiones PS/2 ya que el soporte para ello está incorporado en el kernel. Linux reconoce automáticamente los dispos- itivos con conexión PS/2 y los representa mediante los ficheros de dispositivo path/dev/kbd y /dev/psaux. 7.4.2. Conexiones de puerto serie Los puertos serie (RS232) se utilizan con frecuencia para modems externos, pero sirven también para la conexión de un mouse con esta interfaz. Para soportar los puertos serie, Linux necesita el módulo de kernel serial.o. Este módulo se carga automáticamente cuando se pretende acceder a dispositivos que usan esta conexión. Si p. ej. el acceso a Internet está configurado con un mo- dem en COM1, el módulo se carga automáticamente en el momento de establecer la conexión al proveedor. El programa setserial permite modificar la configuración del puerto serie y de hecho se ejecuta en cada arranque de sistema por medio del script /etc/init. d. La página del manual de setserial expone detalles sobre el programa. Los puertos serie se representan por los fichero de dispositivo /dev/ttyS0, /dev/ ttyS1, etc. 7.4.3. Conexiones de puerto paralelo El puerto paralelo se usa sobre todo para la conexión de impresoras, pero también sirve para conectar unidades externas como p. ej. ZIP o lectores CD-Rom. El sub-sistema "Parport" del kernel, está diseñado para utilizar varios disposi- tivos simultáneamente en el puerto paralelo. Una aplicación es p. ej. una cadena formada por una unidad iomega ZIP y una impresora, con la impresora conectada al ZIP. Inicializar parport Se necesitan los soportes parport y parport_pc del kernel El verdadero sub- sistema del kernel es parport, mientras que parport_pc se encarga de la in- tegración del puerto paralelo en el PC. El comando tierra: # modprobe parport_pc permite cargar los módulos manualmente. Para comprobar si el puerto fue encon- trado y configurado, use el comando lsmod; en la lista de los módulos cargados deben aparecer parport y parport_pc. También es posible repasar el fichero /var/log/messages para ver los valores con los que se inicializó parport (ver fichero 7.4.1). Jun 3 09:15:53 tux kernel: parport0: PC-style at 0x378 [SPP, ECP] Fichero 7.4.1: /var/log/messages: Inicialización del parport 187 7 Linux y el hardware adicional Las entradas en el fichero 7.4.2, representan la configuración de la interfaz; las entradas deshabilitadas por el símbolo de comentario indican cómo incorporar un puerto paralelo adicional. alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,none Fichero 7.4.2: /etc/conf.modules: Configuración de parport Aviso Si se presenta alguna dificultad lo mejor es comprobar primero cómo está definido el puerto en la BIOS. Este debería tener una dirección de memoria explícita (lo mejor es 0x378) y una interrupción propia. En lo posible se deben evitar ajustes del tipo "auto". Muchas veces es importante el orden en el cual se encienden los dispositivos (consultar los manuales de los aparatos). Un buen procedimiento es el de encen- der primero la computadora e inmediatamente después ­ antes de que comience el arranque ­ los dispositivos externos. Usar parport: Impresora, unidad ZIP, PLIP etc. Para usar entonces un dispositivo conectado al puerto paralelo, es preciso cargar el módulo correspondiente; en el caso de la impresora es el módulo lp: tierra: # modprobe lp Ahora el comando lsmod debería resultar en: parport_pc 5568 1 (autoclean) parport 6884 1 [parport_pc lp] lp 5116 0 (unused) También para la carga de los módulos es posible conseguir más información mediante las entradas en el fichero /var/log/messages y en el sistema de ficheros proc bajo /proc/sys/dev/parport/. Si todo funciona correcta- mente, (ver el apartado 10.2 en la página 249), kmod se ocupa de cargar au- tomáticamente los módulos, p. ej. cuando se lanza una tarea de impresión, así que no hace falta cargarlos manualmente. Las unidades iomega-ZIP funcionan ya sea con el módulo ppa o bien con imm (ver el apartado 7.5.3 en la página 193). 188 7.4 Las interfaces de la computadora Información adicional Los ficheros parport.txt y paride.txt del directorio /usr/src/linux/ Documentation en las fuentes del kernel, ofrecen más información al respecto. Bajo http://www.torque.net/linux-pp.html o http://www.torque. net/parport/, hay información sobre el estado actual del parport. 7.4.4. USB ­ Universal Serial Bus En el año 1994 las empresas Compaq, Intel, Microsoft y NEC, determinaron con- juntamente la especificación del "Universal Serial Bus" (USB). El objetivo era lograr una conexión simple al teléfono y proporcionar una interfaz adicional a las ya existentes (serie y paralelo). El sistema USB permite conectar a la computa- dora diferentes dispositivos como mouse, teclado, impresora, escáner, joystick, etc. De esta forma se pueden reemplazar todos los cables aún existentes para las interfaces RS232 (serie) o Centronics (paralelo). Mediante el bus USB se pueden conectar dispositivos "en caliente" sin tener que parar la computadora. La primera versión del bus apareció en 1996 y ha ido desarrollando a lo largo del tiempo hasta la versión actual (USB 1.1.) que soporta hasta 127 dispositivos simultáneamente. La tasa de transferencia máxima se sitúa en 12 Mbit/s. Los avances en cuanto al soporte USB bajo Linux han sido muy importantes, de tal forma que ya es posible conectar y configurar fácilmente muchos disposi- tivos. Con la serie de kernel 2.4.x el uso de dispositivos USB se convierte en un estándar también bajo Linux. Módulos disponibles A continuación aparece un resumen sobre los módulos disponibles y los dispos- itivos correspondientes. Los módulos mencionados se encuentran dentro del di- rectorio /lib/modules/2.4.9/usb mientras que información detallada sobre ellos se encuentra en /usr/src/linux/Documentation/usb/. A continuación se usa el término "evento" que en este caso se refiere a "señales de entrada" como movimientos de mouse, pulsaciones de teclas, etc. input.o Este módulo se debe cargar antes de poner en marcha otros dispositivos USB. El módulo se encarga de procesar los eventos provocados por los dis- positivos nuevos en el bus USB. El fichero input.txt dentro del directorio /usr/src/linux/Documentation/usb contiene más información sobre el funcionamiento de este módulo. usbcore.o USB Core es el subsistema USB que facilita la comunicación con el hardware que depende de estructuras de datos definidas, de macros y de cier- tas funciones. Mediante una interfaz general hacia el sistema operativo (API) se ofrecen rutinas comunes de todos los dispositivos y controladoras USB. usb-uhci.o / usb-ohci.o Este módulo da soporte a la controladora USB de la placa base. La mayoría de las placas base actuales integran la controlado- ra USB en el chipset. Para actualizar placas antiguas, se puede utilizar tar- jetas de expansión del tipo PCI que incorporan la controladora USB en la 189 7 Linux y el hardware adicional tarjeta. Todas las controladoras USB son compatibles con el estándar Uni- versal Host Controller Interface (UHCI) de Intel o con Open Host Controller Interface (OHCI) de Compaq. El módulo usb-ohci.o da soporte a controladoras del tipo OHCI (Compaq, NEC, iMacs, OPTi, SiS, ALi, Lucent, CMD etc.), mientras que usb-uhci.o soporta a aquellas del tipo UHCI (Intel, VIA adapters). Truco El superusuario root tiene la posibilidad de averiguar el tipo de contro- ladora USB, utilizando el comando lspci -v | grep USB. El resul- tado del comando muestra ya sea las letras UHCI o bien OHCI. hid.o Los "HID" (Human Interface Devices) son dispositivos que se comunican mediante este tipo de driver; entre otros teclados, mouse, joystiscks, digital- izadores, etc. Dentro del directorio de los módulos hay algunos dispositivos a los que corre- sponden varios módulos: *dev.o es un módulo de nivel alto ("high-layer") donde "*" significa p. ej. "mouse". El módulo actúa como interfaz entre el hardware y el programa de usuario como p. ej. "X" o "games". usb*.o es un módulo de nivel bajo que genera los eventos de entrada. Ambos módulos son necesarios para realizar el soporte del dispositivo, pero el módulo de nivel bajo tiene como alternativa el módulo hid.o. Los dispositivos USB conocen dos modalidades para representar la apari- ción de eventos: El modo HID soporta todas las funciones de un dispositivo y necesita por ello el módulo complejo hid.o. HIDBP (HID boot protocol) es un modo muy simplificado y sólo soporta las funciones básicas del dis- positivo para el soporte en la BIOS. usbkbd.o Este módulo permite utilizar las funciones básicas de un teclado en modo HIDBP. En su lugar se recomienda utilizar el módulo hid.o ya que usbkbd.o únicamente soporta teclados. usbmouse.o Este módulo permite utilizar las funciones básicas de un mouse en modo HIDBP. En su lugar se recomienda utilizar el módulo hid.o ya que usbmouse.o únicamente da soporte a un mouse. keybdev.o Este módulo "traduce" los eventos al modo de datos, específico de la arquitectura (RAW), pero todavía no está totalmente desarrollado. La ventaja es que maneja casi todas las arquitecturas. mousedev.o es un módulo que convierte los eventos de mouse o tabletas digitalizadoras en expresiones del tipo PS/2. Todavía no está perfecta- mente desarrollado por lo que se recomienda utilizar el módulo evdev.o o ­ para los mouse con ruedas ­ hid.o. acm.o Este módulo se carga para dispositivos de comunicación como modems analógicos o del tipo RDSI que cumplen la especificación de disposi- tivo USB tipo "ACM" (Abstract Control Model); "ACM" es un méto- 190 7.4 Las interfaces de la computadora do de comunicación con modems. La lista de modems soportados se en- cuentra en el fichero acm.txt dentro del directorio /usr/src/linux/ Documentation/usb. audio.o soporta dispositivos de audio digitales así como mezcladores digitales y altavoces. dabusb.o soporta emisores de radio aficionado. dc2xx.o soporta cámaras digitales de Kodak de la serie DC-2xx y mode- los compatibles de otras marcas. El fichero dc2xx.txt en el directorio /usr/src/linux/Documentation/usb contiene más información. evdev.o "evdev" es una interfaz general (API) que normaliza los eventos de los dispositivos, ya que los códigos de eventos son iguales para todas las arquitecturas e independientes del hardware. El módulo soporta esta interfaz API. ibmcam.o sirve para soportar las funciones más importantes de las "webcams" de IBM-(C-It) y Xirlink. Más información en el fichero ibmcam.txt dentro del directorio /usr/src/linux/Documentation/usb. joydev.o facilita la comunicación con joysticks. ov511.o ofrece soporte para el "Chip OV511" de Omnivision Technologies y para cámaras con los chips OV511/OV511+- y OV7610/20/20AE CCD. El driver es compatible con la mayoría de las aplicaciones de "Video4Linux" pero no con todos los programas de video conferencia. Para conocer las res- oluciones que soporta el módulo y otros detalles más, consulte el fichero ov511.txt dentro del directorio /usr/src/linux/Documentation/ usb. printer.o sirve para la comunicación con impresoras USB. scanner.o es un módulo que se desarrolló originalmente para los es- cáneres USB de la empresa Hewlett Packard (HP), pero independientemente del fabricante y de la identificación del producto, se puede utilizar también para otros escáneres USB. Hay información detallada en el fichero input.txt dentro del directorio /usr/src/linux/Documentation/usb. usb-serial.o Este módulo sirve para controlar dispositivos USB que se conectan al puerto serie. Las señales del tipo serie se convierten en señales USB. Es posible administrar hasta 256 conexiones simultane- as. Hay información adicional sobre los dispositivos soportados en el fichero usb-serial.txt dentro del directorio /usr/src/linux/ Documentation/usb. usb-storage.o soporta dispositivos de almacenamiento como Zip, disqueteras, discos duros y la Smartmediacard. El driver no funciona de forma estable con todos los dispositivos. 191 7 Linux y el hardware adicional wacom.o sirve para conectar a la computadora la tableta digitalizadora Wacom Graphire/Intuos-Tablet. Aunque el módulo HID ya debería soportarlo, hasta ahora sólo ha llegado a funcionar con el Wacom PenPartner. wmforce.o permite conectar los joysticks Logitech WingMan Force con conec- tor USB. El módulo funciona bien pero no ofrece "Force Feedback" (vi- braciones en el joystick o en el volante como respuesta a las acciones del jugador). Configuración de teclado y mouse USB Para la configuración normal de mouse y teclado del tipo USB se han de cargar los siguientes módulos: input.o mousedev.o keybdev.o usbcore.o usb-uhci.o o bien usb-ohci.o hid.o Fuentes de información Para mayor información sobre la implementación de USB bajo Linux y sobre los dispositivos soportados, consulte: http://www.linux-usb.org http://www.qbik.ch/usb/devices/ 7.5. Unidades de almacenamiento removibles Con Linux se pueden usar muchas unidades de disco removibles: Disqueteras, Unidades iomega-Zip, JAZ-Drives, discos SyQuest, unidades magneto-ópticas ­ todo es posible. 7.5.1. Disqueteras Para poder acceder cómodamente a disquetes formateados en MS-DOS, se de- sarrollaron los "mtools". Los disquetes en formato ext2 o minix también se pueden usar, tal como mu- chos otros sistemas de fichero. Es preciso incorporar estos disquetes al sistema de ficheros mediante el comando mount. 192 7.5 Unidades de almacenamiento removibles 7.5.2. Disqueteras LS-120 Las disquetera del tipo LS-120 se conectan a la controladora IDE y por tanto el sistema las trata como discos duros. Hay que incorporarlas al igual que los discos duros con el comando mount al sistema de ficheros. 7.5.3. Disqueteras ZIP Hay disqueteras ZIP para distintas interfaces: Puerto paralelo, IDE, SCSI y USB. No se requiere ningún driver especial para los ZIPs del tipo SCSI o IDE; se conectan al bus correspondiente y los drivers para IDE o SCSI las reconocen. Después se accede a los dispositivos a través de los ficheros de dispositivo /dev/hda - /dev/hdd para IDE (ATAPI) y /dev/sda - /dev/sdm para SCSI En este caso también hay que usar mount para montar los dispositivos. Truco Los disquetes Zip suelen venir de fábrica particionados y formateados con un sistema de ficheros MSDOS. La partición utilizada es normal- mente /dev/hda4 o /dev/sda4; véase file:/usr/share/doc/sdb/ de/html/maddin_zip.html. La inicialización del mismo aparato con interfaz de puerto paralelo a veces resul- ta un poco más complicada, ya que se necesita el soporte de discos duros SCSI, el soporte parport y parport_pc (ver el apartado 7.4.3 en la página 187) tal co- mo los drivers de kernel ppa y imm. imm soporta las unidades más recientes (p. ej. el ZIP 250), por lo tanto es preferible tratar de cargar primero imm. Asegúrese de que el modo de trabajo del puerto paralelo esté configurado como EPP (a configurar en la BIOS): tierra: # modprobe imm Si esto no funciona, se puede probar con ppa: tierra: # modprobe ppa De esta forma el sub-sistema parport debería inicializarse automáticamente. Si no funciona, consulte en la página 187. A veces una entrada en /etc/conf.modules es suficiente para que todo fun- cione (ver fichero 7.5.1 en la página siguiente). Solo se puede definir un alias para scsi_hostadapter si la computadora no tiene ninguna controladora SC- SI real. Una alternativa sería incorporar los comandos modprobe necesarios en el script de arranque /etc/init.d/boot.local (ver el apartado 14.4 en la página 338). 193 7 Linux y el hardware adicional # alias scsi_hostadapter ppa pre-install ppa modprobe "-k" parport_pc Fichero 7.5.1: /etc/conf.modules: Configuración ppa Ahora se puede acceder a los disquetes ZIP así como a discos duros SCSI, por lo tanto también es necesario montar este medio. La instalación de una unidad Zip con interfaz USB es aún más fácil. Primero hay que comprobar que el subsistema USB realmente esté cargado (respecto a esto véase el apartado 7.4.4 en la página 189). Los siguientes módulos deben estar cargados: usbcore usb-uhci o bien usbcore usb-ohci Ahora se ha de cargar adicionalmente usb-storage. Ahora se puede acceder a los disquetes ZIP así como a discos duros SCSI, por lo tanto también es necesario montar este medio. 7.6. Modems 7.6.1. Modem externo Los modems externos se conectan directamente al puerto serie de la computado- ra. Los programas se comunican entonces con el modem a través de uno de los ficheros de dispositivo /dev/ttyS0, /dev/ttyS1, etc. 7.6.2. Modem interno Los modem internos se conectan bien con el bus PCI o bien con el bus ISA, así como se explica con más detalle en el apartado 7.2 en la página 181. Como los modems en general se controlan por medio de un puerto serie, también aquellos del tipo interno tienen que proporcionar un puerto serie. La tabla 7.1 en la página siguiente muestra un resumen de los recursos estándar para puertos serie. Modem-PCI Si tiene un modem del tipo PCI, lo más probable es que se trate de un "Win- modem". Winmodems no son en realidad modems ;-) ­ sino dispositivos que precisan de un driver especial que emula un modem normal. Este driver lo pro- porciona el fabricante del dispositivo y actualmente no suele estar disponible para Linux. 194 7.6 Modems Fichero de dispositivo Nombre Interrupción Dirección E/S /dev/ttyS0 COM1 4 0x3f8 /dev/ttyS1 COM2 3 0x2f8 /dev/ttyS2 COM3 4 0x3e8 /dev/ttyS3 COM4 3 0x2e8 Cuadro 7.1: Recursos estándar para un puerto serie Información más detallada sobre Winmodems y su soporte bajo Linux se encuen- tra en el artículo del SDB en file:/usr/share/doc/sdb/de/html/cep_ winmodem.html. Si no se trata de un Winmodem, evidentemente que es posible usarlo bajo Linux. Como estos modems no se configuran automáticamente se requiere un poco de trabajo manual. Modems-ISA Para usar modems del tipo ISA se requieren dos pasos: Hay que configurar el modem en sí, es decir, la interrupción (IRQ) y la di- rección de entrada y salida (IO-address) de la interfaz. Hay que informar al kernel sobre la interfaz nueva. Inicialización del modem Como ya se ha mencionado en el apartado 7.2 en la página 181, las tarjetas con bus ISA pueden ser del tipo Legacy, Jumperless o PnP. El presente apartado cubre (también) la activación de las tarjetas PnP. Consejos de configuración: Lo menos problemático es el uso de /dev/ttyS1 con IRQ 3 (COM2), ya que la otra posibilidad (/dev/ttyS3 con IRQ 4) puede ocasionar problemas con /dev/ttyS0 (COM1). Esta interfaz también usa normalmente la IRQ 4. Por eso nunca se ha de usar /dev/ttyS0 ni /dev/ttyS2, si existe un mouse de puerto serie en COM1. A su vez es mejor evitar las IRQs 5 y 7, que están muchas veces usadas por la interfaz de la impresora y la tarjeta de sonido. Pasar los parámetros al kernel Después de la configuración del modem, es necesario informar al kernel sobre la nueva interfaz. Si el modem se encuentra en /dev/ttyS0 o /dev/ttyS1 no hace falta modificar nada, sino que las interfaces se configuran de nuevo después del reinicio del sistema. 195 7 Linux y el hardware adicional Para otras combinaciones de puerto e IRQ, se requiere el uso de setserial para dar de alta la interfaz: tierra:/ # setserial /dev/ttyS3 irq 10 Posteriormente se puede proceder a configurar el acceso a Internet. Para automatizar la configuración mediante setserial, se puede modificar el fichero /etc/init.d/serial. Para el ejemplo de arriba habría que modificar la siguiente línea: # run_setserial /dev/ttyS3 $AUTO_IRQ autoconfig de forma que aparezca: run_setserial /dev/ttyS3 irq 10 IDE-Streamer Las unidades de cinta se conectan al bus IDE de la computadora y Linux los reconoce automáticamente. Se puede usar a través de los ficheros de dispositivo /dev/ht0 o /dev/nht0. Use el comando mt. Floppy-Streamer Las unidades de cinta tipo "floppy" se conectan en cadena al puerto de disquetera que existe en todas las computadoras. El control de estos dispositivos es difícil de sincronizar, por eso frecuentemente se presentan problemas al grabar datos. Con el driver especial ftape se pueden usar bajo Linux. Ese driver se sumin- istra junto con el kernel. Su configuración se detalla en /usr/src/linux/ Documentation/ftape.txt; la documentación completa sobre el subsistema ftape se encuentra en la "Homepage" del desarrollador del driver: http://www.instmath.rwth-aachen.de/~heine/ftape. 196 8 Portátiles ­ PCMCIA, APM, IrDA 8 Portátiles ­ PCMCIA, APM, IrDA Los portátiles suelen incorporar dispositivos especiales como p. ej. interfases de infrarrojo (IrDA), tarjetas PCMCIA o la administración avanzada de potencia "Advanced Power Management" (APM). Estos componentes se encuentran a ve- ces también en las computadoras de sobremesa y no se distinguen mucho de los que incorporan los portátiles. Por eso su configuración y su uso están resumidos en este capítulo. Pare conseguir información sobre determinados modelos de portátiles se re- comienda visitar la "Linux Laptop Homepage" en http://www.cs.utexas. edu/users/kharker/linux-laptop. Otra fuente de información es la "Moblix"-Homepage en http://mobilix.org/index.html (MobiliX ­ Mo- bile Computers and Unix) Allí se encuentran dos Howto's interesantes sobre Laptops en general y sobre IrDA. Además está dentro del banco de datos de soporte el artículo Laptops y Notebooks (PCMCIA) bajo Linux (file:/usr/ share/doc/sdb/de/html/laptop.html). 8.1. PCMCIA 8.1.1. El hardware PCMCIA es la abreviación de "Personal Computer Memory Card International Association" y se usa generalmente para todo el hardware y software relacionado con ello. El componente clave es la tarjeta PCMCIA, de la que se distinguen dos tipos diferentes: Tarjetas PC: Son las tarjetas con difusión más amplia y usan un bus de 16bit para la transferencia de datos. Estas tarjetas suelen ser económicas y muchas de ellas se soportan sin problemas y de forma estable. Tarjetas CardBus: Son tarjetas bajo un estándar más nuevo con un bus de 32 Bit de anchura y más rápidos pero también más caros. El gasto adicional para estas tarjetas normalmente no se justifica, ya que el cuello de botella para la transferencia suele estar en otra parte, que no es el bus. Ya existen varios drivers para estas tarjetas; algunos de ellos aún son inestables (en fun- ción de la combinación de la controladora PCMCIA y la tarjeta). Cuando el servicio PCMCIA esté activo, el comando cardctl ident indica la tarjeta que esté introducida en la ranura. Una lista de las tarjetas soportadas se encuentra en SUPPORTED_CARDS en el fichero /usr/share/doc/packages/ pcmcia. Allí se encuentra también la última versión del PCMCIA-HOWTO. 197 8 Portátiles ­ PCMCIA, APM, IrDA El segundo componente que se necesita para el soporte PCMCIA es la con- troladora o bien el PC-Card/CardBus-Bridge. Este puente establece la comu- nicación entre la tarjeta y el bus PCI o (en caso de máquinas antiguas) el bus ISA. Casi siempre las controladoras son compatibles con el chip i82365 de In- tel por lo que todos los modelos corrientes se soportan. Con el comando probe se puede averiguar el tipo de controladora. Si la controladora conecta al bus PCI se puede conseguir más información con lspci -vt. 8.1.2. El software Todos los programas y drivers que se necesitan y que no están incorporados en el kernel, se encuentran en el paquete PCMCIA, serie a1. La base de todo está formada por los módulos pcmcia_core, i82365, pocas veces tcic y ds. Estos módulos se cargan normalmente durante el inicio de la computadora, inicializan las controladoras PCMCIA y proporcionan funciones básicas. Es necesario un Daemon que vigile las actividades de las tarjetas, ya que es per- mitido cambiarlas en tiempo de ejecución. De esta tarea se ocupa el Cardman- ager (cardmgr), que se carga inmediatamente después de los módulos básicos. Cuando se inserta una tarjeta, el Cardmanager (ingl. administrador de tarjetas) averigua el tipo y la función de la tarjeta para cargar los módulos correspondi- entes; con lsmod se puede verificar los módulos cargados. Una vez que todos los módulos se hayan cargado con éxito, el Cardmanager inicia ­ según la fun- ción de la tarjeta ­ determinados scripts de inicialización, que se encargan p. ej. de establecer la conexión de red o de montar particiones de discos duros exter- nos del tipo SCSI. En el momento de quitar la tarjeta el cardmanager se encarga de desactivar mediante los mismos script las diversas actividades de la tarjeta. Finalmente los módulos que ya no se necesitan se descargan de la memoria. Por eso, "teóricamente", es posible quitar las tarjetas sin ninguna precaución especial. Es algo que funciona muy bien para las tarjetas de red, RDSI o los modems cuando ya no existe ninguna conexión de red. No funciona en relación a particiones montadas de un disco duro externo o con directorios NFS. En estos últimos casos hay que procurar sincronizar y desmontar las unidades correcta- mente (umount), ya que esto deja de ser posible una vez que se haya sacado la tarjeta. En caso de duda se debería usar: tierra: # cardctl eject Este comando desactiva las tarjetas mientras se encuentren aún en el portátil. 8.1.3. La configuración Cuando el paquete PCMCIA está instalado, se encuentran cuatro variables sobre éste dentro de /etc/rc.config. START_PCMCIA indica si el servicio PCM- CIA se inicia durante el arranque. Es posible iniciar este servicio manualmente, aunque START_PCMCIA esté en no. PCMCIA indica el tipo de controladora PCM- CIA y se configura automáticamente durante la instalación; casi siempre es i82365. Las otras dos variables (PCMCIA_PCIC_OPTS y PCMCIA_CORE_OPTS) son para opciones de los módulos básicos y normalmente se pueden quedar 198 8.1 PCMCIA vacíos. Normalmente no se requiere ninguna configuración adicional del hard- ware, ya que el Cardmanager (cardmgr) se encarga de la selección del módulo correcto. Ethernet y TokenRing Las conexiones de red tipo Ethernet o TokenRing se pueden configurar sin ningún problema con YaST. El formulario para la `Configuración básica de red' se encuentra bajo `Administración del sistema' `Configu- ración de red' y la red se configura igual como si las tarjetas fueran fijas. § ¤ Aparte de esto solo falta indicar con ¦F9 ¥que la tarjeta es del tipo PCMCIA; ver apartado 3.9.3 en la página 83. Tenga en cuenta los siguientes detalles: Con varios dispositivos de Ethernet o de TokenRing marcados como tipo PCMCIA, solo se tiene en cuenta la configuración del primer dispositivo. En comparación a las tarjetas de red normales, la configuración se activa § ¤ inmediatamente al apretar ¦F10 ¥ . Los nombres de dispositivo que se indican (eth0, eth1, tr0. . . ) se en- tienden como mera información sobre el tipo de dispositivo, ya que la enu- meración de los dispositivos es dinámica para PCMCIA. § ¤ Cuando un dispositivo está desactivado y se activa de nuevo con § ¤ ¦F4 ¥ , también es preciso marcarlo nuevamente con ¦F9 ¥como dispositivo PCMCIA. RDSI También las tarjetas PC del tipo RDSI se configuran como es habitual. La única diferencia es que hace falta marcar el dispositivo como PCMCIA, en `Configuración básica de red' (`Administración del sistema', § ¤ `Configuración de red') usando la tecla ¦F9 ¥ . No hace falta indicar ni la in- terrupción (IRQ) ni el puerto (IO-Port). Tampoco se puede modificar el protocolo de transmisión. Existen también tarjetas PCMCIA con modem RDSI. Estas suelen ser tarjetas multifunción con un "kit" de conexión RDSI y su tratamiento es equivalente al de un modem. Modem Las tarjetas PC con modem analógico normalmente no conocen ninguna config- uración específica para PCMCIA. Cuando se inserta un modem, éste está direc- tamente disponible bajo /dev/modem. La configuración con wvdial (wvdial) es equivalente a la de un modem normal. 199 8 Portátiles ­ PCMCIA, APM, IrDA SCSI y IDE El gestor de tarjetas (Cardmanager) carga los módulos adecuados. En el momen- to de insertar una tarjeta SCSI o IDE, los dispositivos conectados a ella están a disposición. Los nombres de dispositivo se averiguan de forma dinámica. La información sobre los dispositivos SCSI o IDE se encuentra bajo /proc/scsi o /proc/ide. Aviso Los dispositivos externos como discos duros o lectores CDROM deben es- tar encendidos, antes de introducir la tarjeta PCMCIA a su ranura. La ter- minación de los dispositivos SCSI debe ser activa. Cuidado: Hay que desmontar todas las particiones de los dispositivos que estén conectados a una tarjeta antes de extraerla. En caso de haberlo olvi- dado no se puede acceder a estos dispositivos antes de un reinicio del sistema, aunque el resto del sistema pueda funcionar perfectamente. Es posible instalar Linux completamente en un disco duro externo, pero el pro- cedimiento de arranque resulta un poco más complicado. En todo caso se necesi- ta un "Bootdisk" con el kernel y un Ramdisk inicial (initrd) ; más información sobre ello en el apartado 13.4 en la página 316 . La initrd contiene un sistema de ficheros virtual que contiene todos los módulos y programas necesarios para el soporte PCMCIA. El disquete de arranque "Bootdisk" de SuSE Linux y las imá- genes de estos disquetes tienen esta misma estructura, por lo que siempre sería posible arrancar la instalación externa mediante estos disquetes. La desventaja es que se requiere cargar manualmente el soporte PCMCIA en cada inicio. Para los usuarios avanzados existe la posibilidad de generar un disquete de arranque hecho a medida1. 8.1.4. Configuración variable ­ "Esquemas" Una computadora portátil muchas veces necesita una configuración diferente que depende del lugar en el cual debe operar (p. ej. en el trabajo y en casa). Se puede realizar fácilmente con dispositivos PCMCIA, pero se requiere la adaptación manual de los ficheros de configuración. La siguiente descripción no se refiere a tarjetas RDSI ni a modems. Hay información actualizada y muchos trucos en /usr/share/doc/packages/pcmcia/README.SuSE. Hablando de PCMCIA, una configuración se denomina "esquema", (ingl. Scheme). Los ficheros de configuración para los dispositivos PCMCIA que se encuentran bajo /etc/pcmcia/*.opts pueden albergar varios esquemas. Los datos de un esquema aparecen en estos ficheros en forma de bloques de con- figuración y se puede acceder a estos mediante una "dirección". Estas direc- ciones se separan con comas, siendo la primera palabra el nombre del esque- ma. Las demás cadenas de texto contienen información, p. ej. sobre la ranura 1Para más información consulte en el PCMCIA-HOWTO el apartado 5.3 "Booting from a PCMCIA device". 200 8.1 PCMCIA en la que se encuentra la tarjeta o el número de una partición del disco duro. Hay información más detallada sobre este tema al comienzo de los ficheros /etc/pcmcia/*.opts y en el PCMCIA-HOWTO. El esquema por defecto de SuSE Linux se denomina SuSE. Este esquema (SuSE) se modifica medi- ante SuSEconfig, si la conexión de red se ha configurado con YaST. Por eso los cambios hechos a mano en este esquema se pierden en el próximo inicio de SuSEconfig. Como ejemplo para la configuración de un esquema nos sirve aquí una tarje- ta Ethernet. Se generan dos esquemas denominados work y home. Para ello se necesitan varios bloques de configuración dentro del fichero /etc/pcmcia/ network.opts (ver fichero 8.1.1 en la página siguiente). Estos reciben las sigu- ientes direcciones: SuSE,*,*,*: Conserve este bloque para mantener la posibilidad de config- urar de forma fácil con YaST. work,*,*,*: Este bloque configura la red para el uso en el trabajo. De forma análoga, home,*,*,*: contiene los datos para conectarse en casa. *,*,*,*: Este bloque también aparece por defecto y sirve para configurar todos los esquemas que no han aparecido anteriormente. El camino más fácil para configurar un bloque es el de introducir los datos deseados mediante YaST, copiar el bloque SuSE generado por SuSEconfig y renombrarlo como work o home. Para configurar todo manualmente hace falta conocer el significado de términos como NETMASK, BROADCAST, etc. Esta infor- mación se encuentra y los valores específicos se detallan en el PCMCIA-HOWTO (en /usr/share/doc/packages/pcmcia se encuentra la última versión). Se puede cambiar de un esquema al otro en el momento de arrancar o igual- mente en tiempo de ejecución. Para conocer el esquema activo en un determi- nado momento se puede usar el comando cardctl scheme. Este mismo co- mando se usa para cambiar el esquema en tiempo de ejecución; en concreto con: cardctl scheme . La selección del esquema no se pierde reiniciando la computadora, salvo que se haya seleccionado explíci- tamente otro esquema durante el arranque. Para realizar esto se puede usar las `boot options' o directamente el "prompt" de arranque (LILO:) la variable SCHEME=; el apartado 11.3.2 en la página 258 le in- forma sobre el "prompt" de arranque. Para definir uno o varios esquemas de arranque fijos se puede "hacer un arreg- lo" con el gestor de arranque. Siguiendo el ejemplo expuesto se generan tres configuraciones de arranque. Se puede realizarlo usando el parámetro append en el fichero /etc/lilo.conf, así como se muestra en el fichero 8.1.2 en la página 203.Después de haber modificado /etc/lilo.conf hay que ejecutar el comando lilo. Según la configuración de ejemplo dada en el fichero 8.1.2 en la página 203 ahora se puede iniciar cada esquema fácilmente seleccionando w, h o s en el momento de arrancar. 201 8 Portátiles ­ PCMCIA, APM, IrDA # The address format is "scheme,socket,instance,hwaddr" . case "$ADDRESS" in SuSE,*,*,*) INFO="This scheme is to be configured by YaST/SuSEconfig" # [... gekürzt ...] ;; work,*,*,*) INFO="Configuración de red para el trabajo vía DHCP" IF_PORT="" BOOTP="n" DHCP="y" IPADDR="" NETMASK="" NETWORK="" BROADCAST="" GATEWAY="" DOMAIN="" SEARCH="" DNS_1="" MOUNTS="" start_fn () { return; } stop_fn () { return; } ;; home,*,*,*) INFO="Configuración de red para la casa con dirección fija" IF_PORT="" BOOTP="n" DHCP="n" IPADDR="10.0.1.23" NETMASK="255.255.255.0" NETWORK="10.0.1.0" BROADCAST="10.0.1.255" GATEWAY="10.0.1.1" DOMAIN="home.de" SEARCH="home.de work.de" DNS_1="10.0.1.1" MOUNTS="" start_fn () { return; } stop_fn () { return; } ;; *,*,*,*) INFO="Sample private network setup" # [... cortado ...] ;; esac Fichero 8.1.1: /etc/pcmcia/network.opts 202 8.1 PCMCIA image = /boot/vmlinuz root = /dev/hda7 label = work alias = w append = "SCHEME=work" #image = /boot/vmlinuz root = /dev/hda7 label = home alias = h append = "SCHEME=home" #image = /boot/vmlinuz root = /dev/hda7 label = suseconf alias = s append = "SCHEME=SuSE" Fichero 8.1.2: PCMCIA: Extracto de lilo.conf 8.1.5. En caso de problemas. . . Usar PCMCIA resulta complicado con algunos portátiles pero afortunadamente la mayoría de los problemas se resuelven fácilmente trabajando de forma sis- temática. Lo primero es averiguar la causa del problema, que puede ser la tarjeta o el sistema base PCMCIA. Por eso hay que iniciar la computadora sin ningu- na tarjeta insertada. Todos los mensajes de interés se protocolizan en el fichero /var/log/messages; lo mejor es observar este fichero durante las pruebas con: tierra: # tail -f /var/log/messages lo que permite determinar uno de los siguientes casos como causa del error. El sistema base PCMCIA no funciona Si el sistema llega a pararse durante el arranque con el mensaje "PCMCIA: Starting services:" o si hay otras incidencias "extrañas", es posible desha- bilitar el servicio PCMCIA para el próximo arranque, indicando NOPCMCIA=yes en el "prompt" (LILO:) . Para conocer mejor la causa del error, los tres módulos básicos se cargan secuencialmente. Pare ello se usan los coman- dos modprobe pcmcia_core, modprobe i82365 o ­ en pocas ocasiones ­ modprobe tcic y modprobe ds. Los módulos críticos son los dos primeros. La página del manual de pcmcia_core (man pcmcia_core) presta ayuda cuando el error aparece en el momento de cargar pcmcia_core. Las opciones que se mencionan en la página de manual se pueden usar en conjunto con el comando modprobe. Por ejemplo es posible deshabilitar el soporte APM de los módulos PCMCIA, ya que en pocos casos resulta problemático. Para realizarlo existe la opción do_apm; mediante do_apm=0 la gestión de potencia se desacti- va: tierra:~ # modprobe pcmcia_core do_apm=0 Una vez que la opción probada tenga éxito, ésta se guarda en el fichero /etc/ rc.config mediante la variable PCMCIA_CORE_OPTS: 203 8 Portátiles ­ PCMCIA, APM, IrDA PCMCIA_CORE_OPTS="do_apm=0" En pocas ocasiones la comprobación de áreas de memoria libres para la comuni- cación con el hardware es problemática, ya que hay interferencias con los com- ponentes. Para evitarlo se puede utilizar probe_io=0. Para combinar varias op- ciones, éstas se han de separar por una coma: PCMCIA_CORE_OPTS="do_apm=0 probe_io=0" Para resolver problemas cargando i82365 se puede recurrir a la página del man- ual de i82365 (man i82365). Un problema típico a la hora de cargar este módulo es un conflicto de recursos, es decir una interrupción, un puerto de E/S (I/O-Port) o un rango de memoria que se ocupan dos veces. En realidad el módulo i82365 comprueba los recursos antes de asignarlos a la tarjeta pero justamente esta comprobación es la que produce a veces un error. Por ejemplo hay computadoras que bloquean el teclado y/o el mouse en el momento de comprobar la interrupción 12 (dispositivos PS/2). En tal caso sirve como remedio el parámetro irq_list=. La lista debe contener todos los IRQs que se puede usar, p. ej.: tierra: # modprobe i82365 irq_list=5,7,9,10 o, para fijarlo en /etc/rc.config: PCMCIA_PCIC_OPTS="irq_list=5,7,9,10" Además el Cardmanager evalúa los ficheros /etc/pcmcia/config y /etc/ pcmcia/config.opts. Los parámetros definidos en estos no tienen relevancia antes de la carga de los drivers para las tarjetas PCMCIA. En /etc/pcmcia/ config.opts también se puede indicar las IRQs, puertos E/S y rangos de memoria excluidos. A diferencia de la opción irq_list, los recursos excluidos en config.opts no se usan para una tarjeta PCMCIA pero sí que se comprue- ban mediante el módulo base i82365. La tarjeta PCMCIA no funciona (bien) Hay tres explicaciones para una tarjeta PCMCIA que no funciona bien: No se reconoce la tarjeta, la tarjeta usa recursos indebidos o es poco fiable. Si la tarjeta no se reconoce, el mensaje "unsupported Card in Slot x" aparece en /var/log/messages. El mensaje solo indica que el gestor de tarje- tas (Cardmanager) no es capaz de asignar un driver a la tarjeta, ya que se nece- sita una especie de "banco de datos de drivers" (en /etc/pcmcia/config) para esta asignación. Para ampliar este "banco de datos de drivers" se pueden usar entradas existentes como plantilla para nuevas. Para identificar la tarjeta se puede usar cardctl ident. Para más información sobre el tema consulte el apartado 6 del PCMCIA-HOWTO ("Dealing with unsupported cards" ­ Tratar tarjetas no soportadas) y la página del manual de pcmcia (man pcmcia). De- spués de modificar /etc/pcmcia/config hay que cargarlo de nuevo mediante rcpcmcia reload. 204 8.1 PCMCIA La mayoría de las tarjetas PCMCIA trabajan correctamente con cualquier IRQ o puerto de E/S. Por eso muchas veces el problema radica en el uso posteri- or de un recurso por parte de otro dispositivo (CDROM en la 2ª controladora IDE: IRQ 15; puerto serie o IrDA: IRQ 3, IRQ 4; sonido, impresora IRQ 5, IRQ 7). Para estos casos es preciso excluir tales recursos en /etc/pcmcia/ config.opts. Si una determinada tarjeta necesitara una configuración especí- fica, es posible usar config.opts para pasar opciones al módulo en cuestión. Por ejemplo para usar el módulo pcnet_cs con la IRQ 5, se usa la siguiente entrada: module "pcnet_cs" opts "irq_list=5" Las diferentes opciones se explican en las páginas de manual que existen para la mayoría de los módulos2. Cuando no hay ninguna página de manual se puede recurrir a las opciones de la página del manual de i82365 (man i82365) o intentar entender el código fuente del módulo en cuestión. . . Un problema específico de las tarjetas de red 10/100 Mbit es una selección au- tomática equivocada del modo de transferencia. El problema se puede remediar con el comando ifport, que permite averiguar y modificar el modo de transfer- encia; ver la página del manual de ifport (man ifport). La configuración adecuada se puede indicar mediante la variable IFPORT en /etc/pcmcia/ network.opts. 8.1.6. Instalación vía PCMCIA En ciertas ocasiones ya se necesita el soporte PCMCIA para la instalación de SuSE Linux. Para ello hay que seleccionar en `Módulos del Kernel (Drivers)' la opción `Cargar driver PCMCIA'. Primero aparecen dos cuadros de diálogo que permiten introducir opciones para los módulos pcmcia_ core y i82365. Normalmente estos campos se quedan vacíos. Las páginas de manual para pcmcia_core y i82365 se encuentran en el primer CD dentro del directorio docu. Durante la instalación aparecen mensajes de sistema en las § ¤ § ¤ distintas consolas virtuales, que se pueden acceder mediante § ¤ § ¤ § ¤ ¦Alt ¥+ ¦F ¥ . Tra- bajando con YaST2 hay que usar ¦Ctrl ¥+ ¦Alt ¥+ ¦F ¥ , ya que YaST2 se ejecuta bajo el sistema X Window. Después del primer paso de instalación, el sistema se reinicia total- o parcial- mente. Raras veces el sistema se para al iniciar PCMCIA, pero en este punto la instalación ya está tan avanzada que se puede iniciar Linux sin PCMCIA y en modo texto usando la opción de arranque NOPCMCIA=yes. Para solventar este problema consulte el apartado 8.1.5 en la página 203. 8.1.7. Utilidades adicionales El programa cardctl ya ha sido mencionado varias veces. Es la herramienta prin- cipal para conseguir información sobre PCMCIA o para ejecutar determinadas acciones. Detalles sobre el programa se encuentran en la página del manual de 2A propósito: rpm -ql pcmcia | grep man genera una lista con todas las páginas de manual del paquete pcmcia. 205 8 Portátiles ­ PCMCIA, APM, IrDA cardctl (man cardctl). También es posible introducir cardctl sin ningún parámetro para que aparezca una línea con los comandos válidos. Figura 8.1: PCMCIA ­ Cardinfo Para este programa existe una superficie gráfica (sobre cardinfo véase la figu- ra 8.1), que permite controlar los aspectos más importantes. Desafortunadamente no es posible usarlo para cambiar de un esquema a otro. Dentro del entorno KDE existe también kardinfo. Esta herramienta es básica- mente igual a cardinfo. Otras utilidades del paquete pcmcia son ifport, ifuser, probe y rcpcmcia, pero estos no se usan con frecuencia. Para conocer exactamente el contenido completo del paquete pcmcia, se puede usar el comando rpm -ql pcmcia. 8.1.8. Compilar PCMCIA Cuando en el servidor FTP de SuSE falta el paquete PCMCIA correspondiente a un kernel actualizado, hace falta compilarlo. Al compilar este paquete, es esen- cial que el kernel nuevo ya se esté ejecutando, ya que cierta información se extrae de él. El propio paquete pcmcia ya debe estar instalado sin estar activado. Por la duda ejecute el comando rcpcmcia stop. Después de ello se procede a instalar (con YaST) el paquete de fuente de PCMCIA, indicando posteriormente: tierra: # rpm -ba /usr/src/packages/SPECS/pcmcia.spec Ya está todo listo. En /usr/src/packages/RPMS se encuentra ahora un pa- quete binario que se puede utilizar para otros sistemas cuando el mismo kernel esté instalado. 206 8.2 APM ­ Gestión de potencia 8.2. APM ­ Gestión de potencia 8.2.1. Fundamentos La gestión de potencia (ingl. Powermanagement) requiere hardware adecuado y Rutinas de la BIOS adecuadas. La mayoría de los portátiles y de las máquinas de sobremesa modernas cumplen los requerimientos. Las funciones de ahorro de energía realmente importan para los portátiles cuando no están conectados a la fuente de alimentación. A continuación se discuten estas funciones: Stand-by ­ Este modo de operación desactiva el panel/monitor y algunas com- putadoras reducen la potencia del procesador. Suspend (to memory) ­ Para este modo toda la información sobre el estado del sistema se guarda en la memoria y ­ aparte de ésta ­ todo el resto del sistema se para. Es un estado en el cual la computadora gasta muy poca en- ergía, así que se puede pasar desde 12 horas hasta varios días con la batería. La gran ventaja es la de volver dentro de pocos segundos al estado anterior de trabajo, sin necesidad de arrancar y cargar de nuevo los programas usados. ­ El atractivo especial de realizar esto con Linux es el no tener que parar la computadora nunca; hay otros sistemas operativos que se vuelven inestable después de cierto tiempo. Para la mayoría de los portátiles modernos es sufi- ciente cerrar la tapa para suspender y abrirla después para seguir trabajando. Hibernate (Suspend to disk) ­ En este modo la computadora aguanta todo el invierno (Hibernation == Invernar), ya que todo el contenido de la memoria se "vuelca" al disco duro y el sistema se para después. La computadora se tarda de 30 a 60 segundos y también se restablece por completo el estado anterior. Algunos fabricantes ofrecen ciertos modos híbridos. Control de la batería ­ Muy interesante. Apagado automático ­ Una característica también interesante para las com- putadoras de sobremesa. Después de un "Shutdown" la computadora se para completamente sin necesidad de pulsar el botón de apagar. Parar el disco duro ­ Puede ahorrar bastante energía y también nervios, si el disco es ruidoso. Es una función que depende de varios factores externos; si p. ej. hay un editor que regularmente hace respaldos, éste a su vez hace arrancar regularmente el disco duro. La BIOS misma realiza algunas de estas funciones directamente. En muchos portátiles no hace falta nada más que usar una combinación de teclas o cerrar la tapa para activar Stand-by o Suspend. Estos modos de operación se realizan sin intervención del sistema operativo. Para iniciarlos mediante un comando o si hace falta ejecutar ciertas acciones antes de suspender, hay que instalar determi- nados paquetes y un kernel adecuado. 207 8 Portátiles ­ PCMCIA, APM, IrDA 8.2.2. El kernel correcto Para realizar funciones adicionales de APM se necesita un kernel con so- porte de APM. Uno de los kernel estándar de SuSE que se puede instalar con YaST lo incorpora y se puede comprobar fácilmente con el comando cat /proc/apm. Si aparece una línea con diversos números, todo está bien y la instrucción shutdown -h debe parar y apagar la computadora. Algunas BIOS no cumplen el estándar APM al cien por cien, por lo que puede apare- cer un comportamiento "extraño". Algunos de estos problemas se remedian con una configuración especial del kernel; consulte nuestro banco de datos de so- porte http://sdb.suse.de/sdb/de/html/o la "Linux Laptop Homepage" en http://www.cs.utexas.edu/users/kharker/linux-laptop. 8.2.3. El daemon APM El Daemon apmd monitoriza el estado de la batería y es capaz de iniciar ciertas actividades cuando aparece un "Stand-by" o "Suspend". Se encuentra en el pa- quete apmd, serie ap, pero no es imprescindible para trabajar (sin embargo útil). La variable START_APMD en /etc/rc.config debe tener el valor yes, para que se inicie de forma automática en el arranque. Para iniciarlo manualmente se usa rcapmd start. El daemon se configura mediante algunas variables en /etc/rc.config.d/ apmd.rc.config. Este fichero ya contiene comentarios por lo que solo se dan algunos consejos a continuación. Aunque para SuSE Linux se compila PCMCIA con soporte APM, a veces hay problemas con ello. Algunos drivers de tarjetas PCMCIA no vuelven a un estado correcto después de suspender el sistema (p. ej.xirc2ps_cs). Por eso el daemon apmd es capaz de desactivar el sistema PCMCIA antes de suspender el sistema y después activarlo nuevamente. Para realizar esta característica la variable APMD_PCMCIA_EJECT_ON_SUSPEND debe estar en yes. Si la hora es incorrecta después de suspender, hay que poner APMD_SET_CLOCK_ON_RESUME en yes. Si el sistema X Window produce problemas cuando el sistema "se despierta" use APMD_LEAVE_X_BEFORE_SUSPEND=yes. Igualmente es posible descargar los módulos de sonido antes de suspender el sistema. Esto se puede realizar mediante APMD_STOP_SOUND_BEFORE_SUSPEND=yes. Al descargar los módu- los, los programas de sonido que se estén ejecutando se cierran para poder realizar la descarga de los módulos. Por tanto, para mayor seguridad, se deben guardar todos los ficheros de música que se estén editando. Además es posible adaptar el comportamiento de parada ("Spindown") del disco duro según la fuente de energía usada (batería o red eléctrica) y parar el sistema automáticamente cuando la capacidad de la batería cae por debajo de un nivel 208 8.3 IrDA ­ Infrared Data Association crítico. Para los usuarios avanzados queda la posibilidad de añadir funcionali- dades al fichero /usr/sbin/apmd_proxy. 8.2.4. Comandos adicionales El paquete apmd contiene algunas utilidades adicionales. apm indica p. ej. la ca- pacidad actual de la batería y se puede poner el sistema en "Stand-by" (apm -S) o "suspend" (apm -s); ver la página del manual de apm (man apm). Con el comando apmsleep se puede suspender el sistema para un tiempo deter- minado; ver página del manual de apmsleep (man apmsleep). Para visualizar un fichero log sin necesidad de mantener el disco duro girando, se puede usar tailf como reemplazo de tail -f. También hay herramientas para el sistema X Window como p. ej. xapm del pa- quete apmd que indica de forma gráfica la carga de la batería. Usando el entorno KDE ­ o al menos kpanel ­, se puede visualizar con kbatmon el estado de carga de la batería y suspender el sistema. 8.2.5. Parar el disco duro En Linux es posible parar el disco duro cuando no se necesita. Esto se realiza mediante el programa hdparm, que tiene varias opciones. Por ejemplo -y pone el disco duro inmediatamente en modo "stand-by" mientras que -Y lo para com- pletamente. El comando: tierra: # hdparm -S 6 hace que el disco se pare después de 30 segundos de inactividad. El valor 6 representa 6 5 = 30 segundos, mientras que 0 deshabilita la función. A valores más grandes el factor de multiplicación también se aumenta; para más detalles ver la página de manual. Para que este comportamiento dependa de la fuente de energía (batería o red eléctrica), es necesario tocar la configuración en /etc/rc.config.d/apmd. rc.config. En tal caso la variable APMD_CHECK_TIME debe estar en 0. Desafortunadamente se necesita el disco con frecuencia por lo que se "de- spierta" con igual frecuencia. Por una parte son los programas (p. ej. editores de texto) los que salvan los datos regularmente y por otra, herramientas como tail -f que producen accesos frecuentes al disco (el último se puede reemplazar con tailf ). 8.3. IrDA ­ Infrared Data Association IrDA (Infrared Data Association) es un estándar industrial para la comunicación inalámbrica por onda infrarroja. Muchos de los portátiles que se venden hoy en día incorporan un emisor/receptor que permite la comunicación con otros dispos- itivos como impresora, modem, LAN u otros portátiles. La tasa de transferencia se sitúa entre 2400 bps y 4 Mbps. 209 8 Portátiles ­ PCMCIA, APM, IrDA Aviso El kernel de Linux aún no tiene soporte total del protocolo IrDA, por lo que esta funcionalidad no está incorporada en el kernel estándar; se considera "experimental" (en fase beta). Al no estar totalmente probado, es posible que este driver reciente no presente tanta estabilidad como otros compo- nentes del kernel. Software El paquete irda, serie n incorpora el soporte de la interfaz por infrarrojos y el protocolo IrDA. La documentación al respecto se encuentra después de la instalación en /usr/share/doc/packages/irda/README. Si el paquete howto está instalado, se puede encontrar el IR-HOWTO en /usr/ share/doc/howto/en/IR-HOWTO.gz. Hay más información sobre el proyec- to IrDA de Linux en el URL http://irda.sourceforge.net/. Configuración Cuando el paquete irda se instala, las variables START_IRDA, IRDA_PORT y IRDA_IRQ se apuntan en el fichero /etc/rc.config. IrDA está normalmente desactivado, pero se puede activar manualmente en cualquier instante con el co- mando: tierra: # rcirda start Para desactivarlo se usa el parámetro stop. Activando el puerto de infrarrojos los módulos de kernel necesarios se cargan automáticamente. La interfaz usada para IrDA se configura con las variables IRDA_PORT (por defecto /dev/ttyS1) y IRDA_IRQ (por defecto 3); el script /etc/irda/ drivers se encarga de esta configuración cuando se inicia el soporte de in- frarrojos. Para activar el soporte IrDA directamente después del inicio del sistema, asigne a la variable START_IRDA el valor yes. Lamentablemente IrDA necesita bastante energía (batería), porque cada pocos segundos envía un paquete "Discovery" para "descubrir" automáticamente otros dispositivos. Aplicación Para imprimir por vía infrarroja, es posible enviar los datos a través del fichero de dispositivo /dev/irlpt0. Este se comporta igual que la interfaz o fichero de dispositivo /dev/lp0 con conexión "alámbrica" solo que los datos viajan por vía infrarroja. Se puede configurar una impresora que trabaja con el puerto IrDA tal como una impresora en el puerto paralelo o puerto serie, usando YaST (ver apartado 3.9.1 210 8.3 IrDA ­ Infrared Data Association en la página 79). Para imprimir vigile que la impresora esté "a la vista" del puerto IrDA de la computadora y que el soporte de infrarrojos se haya inicializado. El fichero de dispositivo /dev/ircomm0 permite comunicarse con otras com- putadoras o p. ej. con teléfonos móviles. Usando el programa wvdial se puede entrar vía infrarrojos a Internet usando por ejemplo el móvil S25 de Siemens. Solución de problemas Si los dispositivos en el puerto de infrarrojos no reaccionan, es posible com- probar con el comando irdadump, si la computadora llega a reconocer el otro dispositivo (entre al sistema como `root'). tierra: # irdadump Si hay una impresora Canon BJC-80 "a la vista" de la computadora tierra, el siguiente mensaje aparece en pantalla, repitiéndose periódicamente (ver salida en pantalla 8.3.1). 21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14) 21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14) 21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14) 21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14) 21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14) 21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14) 21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 \ hint=8804 [ Printer IrCOMM ] (23) 21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* erde \ hint=0500 [ PnP Computer ] (21) Mensaje en pantalla 8.3.1: IrDA: irdadump Si no aparece nada en pantalla o el otro dispositivo no responde, debe comprobar primero la configuración de la interfase. ¿Realmente está usando la interfase correcta? Esta se encuentra a veces también bajo /dev/ttyS2 o /dev/ttyS3 y también es posible que se use otra interrupción que no sea la 3. En casi todos los portátiles es posible modificar esta configuración en la BIOS. Además solo es posible acceder a dispositivos que soporten bien el proto- colo Printer o bien el protocolo IrComm. Usando programas especiales (irobex_palm3, irobex_receive, leer las instrucciones en IR-HOWTO) es posible comunicarse con dispositivos que se apoyan en el protocolo IROBEX (p. ej. 3Com Palm Pilot). El resultado del comando irdadump indica, por detrás del nombre de dispositivo y entre corchetes, el protocolo soportado. Actualmente se está trabajando en el soporte del protocolo IrLAN, pero aún no es estable; lo más probable es que exista dentro de poco también para Linux. Para comprobar si el diodo LED realmente se ilumina, es posible mirar por una cámara de vídeo, ya que ésta ­ al contrario del ser humano ­ es capaz de detectar la luz infrarroja. 211 8 Portátiles ­ PCMCIA, APM, IrDA 212 9 Impresoras 9 Impresoras El presente capítulo muestra lo más importante de lo que ocurre "detrás" del proceso. 9.1. Fundamentos y requisitos para la impresión En Linux normalmente se accede a todas las impresoras a través de "colas de impresión" (ingl. Printe queues). Los datos a imprimir se almacenan temporal- mente en una cola y desde allí el programa de impresión de-sincronizada (ingl. Spooler) los manda en el orden correcto a la impresora. El spooler se encarga de secuenciar tareas de impresión simultáneas evitando interferencias entre ellas. Con frecuencia los datos a imprimir no se encuentran en un formato adecuado en el que se puedan imprimir directamente. Por ejemplo un gráfico, se debe con- vertir a un formato diferente para la impresión. De esta tarea se encarga un filtro de impresión que convierte directamente los datos a imprimir al lenguaje que entiende la impresora. 9.1.1. Diversos lenguajes estándar de impresión Texto-ASCII ­ Normalmente cualquier impresora es capaz, al menos, de im- primir texto ASCII sin conversión. Sin embargo existen algunas impresoras que no pueden imprimir texto ASCII directamente, pero que "entienden" al- guno de los siguientes lenguajes estándar (una excepción son las "impresoras GDI" hechas para Windows que no son capaces de imprimir ni en ASCII ni en ninguno de los formatos mencionados): PostScript ­ PostScript es el lenguaje de impresión estándar en Unix/Linux. En caso de no disponer de una impresora PostScript, en Linux se usa un filtro (Ghostscript) para convertir los datos a otro lenguaje estándar de impresión. PCL 5 o PCL 6 ­ Son lenguajes de impresión usados por impresoras láser. PCL 3 ­ Casi todos las impresoras HP DeskJet y compatibles trabajan con este lenguaje. ESC/P, ESC/P2 o ESC/P Raster ­ Casi todos las impresoras de Epson y com- patibles trabajan con este lenguaje. 213 9 Impresoras 9.1.2. La problemática de las impresoras GDI En el mercado hay muchas impresoras que se venden con la etiqueta "for Win- dows" o "impresora-GDI". Tales impresoras muchas veces no funcionan bajo Linux o quizás lo hacen con muchas restricciones. Para mayor información con- sulte el CDB en http://cdb.suse.de/ o pregunte a su distribuidor. Las impresoras GDI "auténticas" no usan ningún protocolo estándar sino que se alimentan directamente con las órdenes de control de cada modelo específico. Por otra parte existen también impresoras GDI capaces de trabajar también con un lenguaje "verdadero". 9.1.3. Requerimientos de hardware y software SuSE Linux debe soportar la impresora; ver los listados en los siguientes ficheros o bajo las siguientes direcciones de web: * /usr/share/doc/packages/ghostscript/catalog.devices * http://cdb.suse.de * http://www.linuxprinting.org `The Database' (http:// www.linuxprinting.org/database.html) * http://www.cs.wisc.edu/~ghost/printer.html Aviso En el WWW se menciona a veces un driver de Ghostscript que necesita la versión actual de "Aladdin Ghostscript". Por razones de licencia SuSE Linux incorpora "GNU Ghostscript" (la versión anterior al actual Aladdin Ghostscript), pero por lo general existe un driver GNU Ghostscript que soporta la impresora. Técnicamente se puede acceder a la impresora; ver el apartado 9.2 en la pági- na 216. Se debe usar un kernel original de SuSE procedente de los CD-ROMs; es decir, ningún kernel compilado a medida. Si éste no fuera el caso, se ha de instalar con YaST un kernel original de SuSE y arrancarlo. Se recomienda instalar con YaST los paquetes del `SuSE Default Sys- tem' (Sistema SuSE por defecto) o durante la instalación con YaST2 selec- cionar al menos el `Sistema estándar'. Cuando falta espacio en el disco duro, se puede recurrir al `SuSE sistema mínimo', añadiendo a este sistemas los siguientes paquetes para la impresión de ficheros ASCII y Postscript: * paquete a2ps, serie ap 214 9.1 Fundamentos y requisitos para la impresión * paquete aps, serie ap * paquete gs_x11, serie ap * paquete gs_fonto, serie ap * paquete gs_fonts, serie ap * paquete gs_lib, serie ap * paquete lprold, serie n En cuanto a la instalación de paquetes adicionales consulte el apartado 3.7 en la página 70. Posibles problemas En caso de actualizar una versión anterior de SuSE Linux, es posible que los paquetes del sistema de impresión y sus ficheros de configuración queden en un estado inconsistente. En tal caso es razonable configurar el sistema de impresión desde cero. Proceda según el artículo "Instalando una impreso- ra" de la SDB que se encuetra en http://sdb.suse.de/es/sdb/html/ jsmeix_print-einrichten.html. 9.1.4. Determinar el driver de impresión correcto Las listas del apartado 9.1.3 en la página anterior mencionan también los drivers de Ghostscript para las impresoras. A veces ni siquiera el fabricante puede dar información sobre el uso de la impresora en combinación con Linux. En tal caso las siguientes pistas le pueden ayudar: Averigüe si su impresora es compatible con un modelo que funcione bajo Linux, para que use entonces el driver de Ghostscript del modelo compatible. Para que la impresora sea compatible ésta debe "entender" de forma nati- va el lenguaje de impresión, es decir, sin usar un driver o un programa de emulación (p. ej. de Windows). Impresoras con nombres parecidos no son necesariamente compatibles, ya que no siempre entienden de forma directa el mismo lenguaje de impresión. Lo más seguro para averiguar el lenguaje nativo de la impresora es consul- tar al fabricante. Esta información se encuentra generalmente también en el manual que acompaña la impresora. Hay ejemplos para lenguajes de impre- sión en el apartado 9.1.1 en la página 213. Los "drivers" de Ghostscript con la extensión .upp son especiales, ya que se trata de ficheros con parámetros para el driver uniprint de Ghostscript. En caso de encontrar un fichero de parámetros adecuado para la impresora, se recomienda usarlo para su configuración. 215 9 Impresoras 9.2. Impresión por puerto local 9.2.1. Puertos paralelos Para conectar una impresora a una máquina Linux por lo general se utiliza el puerto paralelo. Normalmente se accede a una impresora en el puerto paralelo mediante el subsistema parport. El subsistema parport necesita módulos de kernel específicos para reconocer los dispositivos conectados (ver el apartado 7.4.3 en la página 187). De esta for- ma se pueden usar simultáneamente varios dispositivos conectados en cadena al puerto paralelo. ¡La enumeración de los ficheros de dispositivo para la impre- sora comienza con /dev/lp0. Para poder imprimir a través del primer puer- to paralelo con el estándar de SuSE, es preciso cargar los módulos parport, parport_pc y lp. El kmod (ingl. Kernel Module Loader) por lo general los carga cuando un programa accede al fichero de dispositivo (p. ej. /dev/lp0); ver apartado 10.2 en la página 249. Configuración del primer puerto paralelo El primer puerto paralelo se configura mediante una entrada en /etc/ modules.conf (ver fichero 9.2.1) alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,none Fichero 9.2.1: /etc/modules.conf: Primer puerto paralelo Para io aparece la dirección de entrada y salida (ingl. IO-address) del puerto paralelo y para irq aparece none como configuración por defecto para el modo de operación "polling"; también puede aparecer la interrupción del puerto par- alelo. El modo "polling" es menos problemático que el modo de interrupciones y tal vez, solo en combinación con máquinas muy antiguas, un poco más lento. Para que estos ajustes funcionen, hace falta configurar lo siguiente en la BIOS de la computadora (o mediante el "firmware"): Dirección entrada/salida (ingl. IO-address) 378 (hexadecimal) Interrupción 7 (no importa en modo "polling") Modo Normal, SPP o Output-Only (los demás modos no necesariamente funcionan). DMA está desactivado (por defecto en modo Normal) 216 9.2 Impresión por puerto local Configuración del primer puerto paralelo Si el puerto funciona bien y la impresora es capaz de imprimir texto ASCII, el superusuario `root' (Administrador de sistema) debe poder imprimir una página con la palabra Hola mediante el siguiente comando: tierra: # echo -en "\rHola\r\f" >/dev/lp0 Configuración del segundo puerto paralelo El segundo puerto paralelo, al que se accede con la dirección de entrada y sal- ida estándar 278 (hexadecimal), se configura igualmente con una entrada en /etc/modules.conf (ver fichero 9.2.2). La dirección de E/S se configura p. ej. mediante jumper en una controladora ISA. alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0x278 irq=none,none Fichero 9.2.2: /etc/modules.conf: Dos puertos paralelos Después de reiniciar la computadora o de reiniciar todos los servicios, se puede disponer del segundo puerto paralelo (ver en la página siguiente). Prueba del segundo puerto paralelo Si el puerto funciona bien y la impresora es capaz de imprimir texto ASCII, el superusuario `root' debe poder imprimir una página con la palabra Hola mediante el siguiente comando: tierra: # echo -en "\rHola\r\f" >/dev/lp1 9.2.2. Tarjetas especiales: ISA-PnP y PCI En caso de no conocer de antemano la dirección de entrada/salida de un puerto adicional, haría falta averiguarla. Tarjetas ISA PnP Las tarjetas ISA PnP se configuran normalmente de forma automática, pero exis- ten también tarjetas antiguas que se configuran manualmente ­con valores fijos (IO-address, interrupción y modo de configuración). Estos se fijan ya sea me- diante "jumper" o bien por medio de un programa de DOS/Windows. Cuando sea posible, se deben fijar los valores para la dirección E/S, la interrupción y el modo. En el caso de la configuración automática, los valores para la dirección de E/S, la interrupción y el modo se configuran en el momento de arrancar Linux. Para conocer los valores se puede consultar los mensajes de arranque de Linux o se puede proceder tal como se explica en el apartado 7.2.1 en la página 182. 217 9 Impresoras Tarjetas PCI Para ver las direcciones E/S y la interrupciones posibles de una tarjeta PCI se puede usar el siguiente comando (ver salida en pantalla 9.2.1): tierra: # /sbin/lspci -vv | less ... 00:0a.0 Parallel controller: ... ... Flags: stepping, medium devsel, IRQ 10 I/O ports at b400 I/O ports at b000 I/O ports at a800 I/O ports at a400 ... Mensaje en pantalla 9.2.1: Extracto de lspci -v para una tarjeta de puertos PCI A cada puerto paralelo pertenecen 2 direcciones E/S corridas por el valor 400 (hexadecimal). Por eso la entrada en /etc/modules.conf para configurar los puertos debe ser como la que se refleja en el fichero 9.2.3. alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0xb400,0xa800 irq=none,none,none Fichero 9.2.3: /etc/modules.conf: Tarjeta PCI con 2 puertos paralelos Después de reiniciar la computadora o de reiniciar todos los servicios, se puede disponer de los tres puertos paralelos (ver en esta página). Prueba de todos los puertos paralelos Con una impresora conectada en cada puerto, capaz de imprimir ASCII, como superusuario `root' se puede imprimir una página en cada impresora con el contenido Hola, usando los siguientes comandos: tierra: # echo -en "\rHola\r\f" >/dev/lp0 tierra: # echo -en "\rHola\r\f" >/dev/lp1 tierra: # echo -en "\rHola\r\f" >/dev/lp2 En lugar de reiniciar la computadora, basta con actualizar como `root', la lista de las dependencias de módulos y parar el daemon de impresión ­ si solo hay impresoras en los puertos. A continuación se descargan los módulos de kernel que se comunican con los puertos paralelos. . . tierra: # depmod -a 2>/dev/null tierra: # rclpd stop tierra: # rmmod lp tierra: # rmmod parport_pc tierra: # rmmod parport . . . para cargarlos nuevamente e iniciar el daemon de impresión: 218 9.2 Impresión por puerto local tierra: # modprobe parport tierra: # modprobe parport_pc tierra: # modprobe lp tierra: # rclpd start 9.2.3. Puerto USB La BIOS de la computadora debe tener una interrupción activada para USB. Para ello, en caso de una BIOS de Award, se entra al menú `PNP AND PCI SETUP' (o similar) y se modifica la entrada `USB IRQ' (o similar) a Enabled. Para probar si se puede acceder a la impresora USB, se teclea como superusuario: tierra: # echo -en "\rHola\r\f" >/dev/usblp0 Si se encuentra una impresora en el primer puerto USB /dev/usblp0, debería salir impresa una página con la palabra Hola. Cuando la impresora deja de responder (p. ej. por haber quitado el enchufe USB durante la impresión), se pueden finalizar todos los procesos que acceden a /dev/usblp0. Además, se descargan y se cargan nuevamente todos los módulos de kernel relacionados con la impresora USB, mediante los siguientes comandos: tierra: # fuser -k /dev/usblp0 tierra: # rcusbmgr stop tierra: # rmmod printer tierra: # rmmod usb-uhci # o: rmmod usb-ohci tierra: # rmmod usbcore tierra: # modprobe usbcore tierra: # mount usbdevfs tierra: # modprobe usb-uhci # o: modprobe usb-ohci tierra: # modprobe printer tierra: # rcusbmgr start Previamente se debe comprobar con lsmod cuáles módulos USB están carga- dos (usb-uhci o usb-ohci) y si existen otras dependencias entre ellos. Por ejemplo : usbcore ... [printer usb-uhci] significa que el módulo usbcore es usado también por los módulos printer y usb-uhci. En este caso es preciso descargar los módulos printer y usb-uhci antes que el módulo usbcore. 9.2.4. Puerto serie El "Printing-Howto" explica la configuración básica de una impresora conectada al puerto serie. A continuación se especifican algunos detalles: 1. Utilice en lugar del Spooler de BSD (paquete lprold) el Spooler plp (pa- quete plp de la serie serie n). En caso de emplear el Spooler de BSD proceda tal como se indica más abajo en el texto. 219 9 Impresoras 2. Es importante averiguar que el fichero /etc/printcap contenga, aparte de las entradas normales, los parámetros del puerto serie: :br#9600:\ :ty=ixon -imaxbel -ixany -ixoff -crtscts:\ Con br se indica la velocidad del puerto serie en baudios (bit/s) y la línea con ty contiene las opciones de stty. Es preciso adaptar estos valores según el hardware usado. Por ejemplo la velocidad debe corresponder a la velocidad real del puerto; los valores usuales son: 2400, 4800, 9600, 19200, 38400, 57600, 115200 y 230400. La impresora HP DeskJet 500 p. ej., debe funcionar con los siguientes valores de stty: ixon -ixoff -imaxbel -opost La página del manual de stty (man stty) explica muchas opciones disponibles. 3. Utilizando el spooler BSD: Hay que considerar que este spooler conoce la instrucción br, pero no reconoce la opción ty dentro del fichero /etc/ printcap. Los parámetros del puerto serie se pueden configurar con el programa setserial. El siguiente comando establece las opciones de /etc/printcap menciona- do arriba: tierra: # stty 9600 ixon -imaxbel -ixany -ixoff \ -crtscts Hace falta adaptar ttyS al puerto real utilizado; normalmente es uno de los puertos ttyS0 o ttyS1. Para activar el comando del tipo setserial o stty en cada arranque, el co- mando se ha de incorporar en el fichero /etc/init.d/boot.local. Tam- bién es importante modificar el fichero /etc/printcap, quitando todas las líneas del tipo: :br#9600:\ :ty=ixon -imaxbel -ixany -ixoff -crtscts:\ Estas líneas activarían ciertos parámetros estándar poco adecuados para el puerto serie, ya que el Spooler BSD no reconoce la opción ty y se han de utilizar siempre aquellos parámetros que fueron definidos durante el arranque (en boot.local). 9.3. lpd: El gestor de impresión en segundo plano y sus utilidades 9.3.1. El gestor de impresión en segundo plano El lpd (ingl. Line Printer Daemon) se activa durante el arranque del sistema me- diante el script /etc/init.d/lpd en caso de definir START_LPD=yes dentro 220 9.3 lpd: El gestor de impresión en segundo plano y sus utilidades del fichero /etc/rc.config.lpd se ejecuta como Daemon en segundo plano. Cuando lpd se inicia, averigua mediante el fichero /etc/printcap las colas de impresión definidas. Su trabajo es organizar la impresión de las tareas (ingl. jobs) en la cola; este trabajo se desglosa de la siguiente manera: Organización de las colas locales: lpd hace pasar el fichero de datos por el filtro adecuado (definido por la entrada de la cola en /etc/printcap, así como por indicaciones explícitas en el fichero de control de la tarea) y lo envía después al puerto de la impresora. Consideración del orden de las tareas en la cola de impresión; Supervisión del estado de las colas y de la impresora (fichero status en los directorios "spool" locales) e información sobre los estados en caso de ser solicitado. Traspaso de solicitudes de impresión en colas remotas al lpd local de la máquina remota. Recogida de solicitudes de impresión dirigidas a colas locales y procedentes de máquinas remotas o rechazo de las mismas en caso de no ser autorizadas. Aviso Autorización: Solo se aceptan solicitudes de máquinas remotas si éstas se mencionan en el fichero /etc/hosts.lpd del servidor de impresión (in- gl. printserver). También es suficiente con mencionar la máquina remota en /etc/hosts.equiv pero esta posibilidad presenta muchos inconve- nientes respecto a los derechos de acceso desde la máquina remota a la local. Por razones de seguridad es mejor evitarloSi se añaden parámetros a la definición de la cola, estos pueden causar restricciones adicionales a los usuarios de un determinado grupo o a usuarios con cuenta en la máquina local. 9.3.2. Utilidades de control para el usuario Para manipular las colas de impresión se requieren derechos de superusuario. Por ejemplo para borrar tareas de impresión que no son propias es necesario trabajar como `root'. lpq muestra las propias tareas en la cola de impresión (usando la opción -P); el comando que viene a continuación da como resultado la salida en pan- talla 9.3.1 en la página siguiente: tux@tierra: > lpq -Pcola_impresión lprm borra las tareas propias de la cola de impresión; el comando que viene a continuación da como resultado la salida en pantalla 9.3.2 en la página siguiente: 221 9 Impresoras cola_impresión is ready and printing Rank Owner Job Files Total Size active tux 676 Hola.txt 259420 bytes 1st tux 677 carta.dvi 11578 bytes 2nd tux 683 imagen.gif 37464 bytes Mensaje en pantalla 9.3.1: Resultado del comando lpq. dfA676Aa05005 dequeued cfA676Aa05005 dequeued Mensaje en pantalla 9.3.2: Resultado del comando lprm. tux@tierra: > lprm -Pcola_impresión 676 Cualquier tarea de impresión pertenece siempre al usuario que la haya lan- zado; este usuario ­ al igual que un número de tarea ­ se muestra con el comando lpq. Un mismo número de tarea puede existir en varias colas de impresión, por lo que es preciso indicar el nombre de la cola. lprm -Pcola_impresión borra la tarea actual de impresión de la cola si ésta pertenece al usuario que ejecuta el comando lprm. La impresora sigue imprimiendo la parte del documento que se encuentra en su memoria. lprm -Pcola_impresión - borra todas las tareas de impresión de la cola nombrada. Si `root' ejecuta este comando, se borran todas las tareas de impresión de la cola. Truco Más información y muchos consejos sobre lprm se encuentran en el manual "Configuración"; véase allí el índice. lpc controla las colas de impresión. Las opciones más importantes figuran a continuación (como nombre de la cola de impresión se puede indicar también all = todos): status cola_impresión ­ informa sobre el estado de la cola. Si falta la indicación cola_impresión, es como haber indicado all, o sea, se informa sobre el estado de todas las colas. disable cola_impresión ­ deja de aceptar nuevas tareas en la cola de impresión. enable cola_impresión ­ activa la cola de impresión para aceptar nuevas tareas. stop cola_impresión ­ detiene la impresión de las tareas de la cola; la tarea que se está imprimiendo termina. start cola_impresión ­ reanuda la impresión de las tareas en la cola. down cola_impresión ­ tiene el mismo efecto que disable más stop . up cola_impresión ­ tiene el mismo efecto que enable más start. 222 9.3 lpd: El gestor de impresión en segundo plano y sus utilidades abort cola_impresión ­ actúa como down, con la diferencia de que de- tiene inmediatamente una tarea que se está imprimiendo. Las tareas se mantienen y es posible reanudarlas después del reinicio de la cola (up). Se pueden pasar estos comandos directamente desde la línea de comandos a lpc (p. ej. lpc status) o llamar a lpc sin parámetro. En el último caso se abre un cuadro de diálogo con su propio "prompt" lpc>, esperando que se introduzcan comandos de lpc. Con quit o exit se sale de esta ventana. Aviso Las tareas de impresión se mantienen en la cola, incluso si durante la im- presión se para a propósito la computadora y se reinicia de nuevo más tarde. Por eso se debe eliminar una tarea de impresión equivocada medi- ante los comandos que figuran arriba. lpr: Lanzar tareas de impresión El programa lpr representa la "interfaz de usuario" hacia las colas de impresión existentes. El procedimiento para imprimir es el siguiente: 1. El usuario lanza una tarea de impresión directamente con lpr o un programa usa el comando lpr, porque el usuario ha solicitado dentro de este programa la impresión de un fichero. 2. lpr guarda los datos a imprimir en la cola de impresión. El spooler de im- presión pasa los datos desde allí al filtro de impresión que corresponde a la cola. 3. El filtro se encarga de convertir los datos al formato que "entiende" la impre- sora para pasárselos posteriormente. 4. Cuando la impresora haya recibido completamente la tarea de impresión, ésta deja de existir en la cola de impresión. Normalmente se imprime mediante tux@tierra: > lpr fichero o bien con tux@tierra: > lpr -Pcola_impresión fichero Dejando la opción -Pcola_impresión ("Print-Queue", para el nombre de la cola de impresión), se usa como valor predeterminado el contenido de la variable de entorno PRINTER. Si ésta se encuentra vacía, se usa el nombre tradicional lp. Por las siguientes razones se necesitan varias colas de impresión: Si existen varias impresoras, éstas se acceden a través de las diferentes colas de impresión; p. ej. mediante: tux@tierra: > lpr -Pimpresora2 fichero se accede a la segunda impresora usando la cola impresora2. 223 9 Impresoras Por cada cola de impresión se puede usar un filtro propio; por esta razón se usan diferentes colas de impresión para la misma impresora, con el objeto de usar diferentes filtros de impresión. Un ejemplo sería una cola de impresión por defecto para el impreso rápido en blanco y negro y otra cola (p. ej. de- nominada color) con un filtro más lento, para el impreso en color. En este caso, para imprimir en color se introduce: tux@tierra: > lpr -Pcolor fichero Después de haber configurado la impresora con YaST1 o lprsetup, aparecen por defecto las siguientes colas de impresión (respecto a la configuración con YaST2 consulte el manual "Configuración"): lp ­ Imprimiendo a través de esta cola se usa siempre "apsfilter". Este filtro determina automáticamente el tipo de datos a imprimir y los convierte al respecto. ascii ­ Para imprimir un fichero a través de la cola ascii se usa tux@tierra: > lpr -Pascii fichero De este modo se usa también el apsfilter, pero sin la determinación automáti- ca del tipo de fichero. El parámetro -Pascii indica al filtro que se trata de un fichero con texto ASCII y el fichero se procesa entonces de la forma que corresponde. raw ­ Para imprimir un fichero a través de la cola raw se usa: tux@tierra: > lpr -Praw fichero De este modo se usa también el apsfilter, pero sin ninguna conversión del fichero. El fichero se envía "en crudo" (ingl. raw) a la impresora, por lo que éste ya debe contener los datos en el formato específico de la impresora. En todos los casos mencionados se usa siempre el mismo filtro, pero éste trabaja de forma distinta según la cola de impresión. Truco Cuando la tarea de impresión es muy grande, resulta bastante práctico generar en el directorio "spool" un enlace simbólico hacia el fichero de datos, en lugar de copiarlo. Esto se consigue con la opción -s de lpr. Ev- identemente, no se debe modificar el fichero antes de que finalice la tarea de impresión. Configuración con SETUP (lprsetup) El paquete aps contiene el programa de configuración SETUP /var/lib/ apsfilter/SETUP, que se puede iniciar fácilmente con lprsetup. Ofrece los siguientes servicios: Listado de todas las impresoras configuradas con apsfilter Añadir y quitar impresoras configuradas con apsfilter 224 9.3 lpd: El gestor de impresión en segundo plano y sus utilidades 9.3.3. Consejos sobre la configuración con lprsetup lprsetup funciona a base de menús y se usa con el teclado. En todos los menús § ¤ se selecciona entre `OK' y `Cancel' mediante § ¤ § ¤ ¦Tab ¥; dentro de las listas de selección se usa ¦ ¥y ¦ ¥. 1. Ejecute lprsetup como `root' en la consola de texto: § ¤ Pulse ¦ ¥para entrar al menú principal: `EXIT' (ingl. Exit apsfilter setup) ­ Finalizar lprsetup. `LISTING' (ingl. List all apsfilter entries) ­ Listado de todas las colas exis- tentes. `ENTRY' (ingl. Add/Overwrite/Delete an apsfilter entry) ­ Una impresora nueva se añade con la opción de menú `ENTRY'. Esta conduce al sub- menú `Choose your printer definition' para la definición de la impresora. `DELETE' (ingl. Fast delete an apsfilter entry) ­ Para borrar una impresora del apsfilter se pulsa `DELETE' y de este modo se obtiene una lista con todas las impresoras apsfilter disponibles. 2. Al seleccionar `ENTRY' aparecerán entre otras las siguientes opciones: RETURN Back to previous menu DEVICE Which printer interface 3. Seleccione `DEVICE' (Puerto de conexión). Para impresoras en el puerto paralelo o en un puerto USB se selecciona `PARALLEL' y para impresoras en el puerto serie se selecciona `SERIAL'. Los puertos paralelos son: /dev/lp0, /dev/lp1, /dev/lp2; los puer- tos USB: /dev/usblp0, /dev/usblp1, /dev/usblp2 y los puertos serie: /dev/ttyS0, /dev/ttyS1, /dev/ttyS2. Confirme la entrada con `OK'. 4. Seleccione `PRINTER' y después elija el tipo correcto de impresora de la siguiente lista: POSTSCRIPT For a real PostScript printer HEWLETT-PACKARD For a HP deskjet printer OTHER Another non-PostSript printer FREEDEF Free definition of driver name Confirme la selección con `COMMIT'. Dentro de la lista que aparece seleccione el driver de Ghostscript correspon- diente o el correspondiente fichero de parámetros (se reconoce por la exten- sión .upp) y seleccione entonces `OK'. 5. Indique la resolución de la impresora. Al no conocer la resolución deje la que está puesta por defecto y/o pruebe con los valores 300, 360, 600, y 720. Especialmente al usar el fichero de parámetros la resolución debe coincidir con la del fichero .upp. Seleccione `OK' y `RETURN'. 225 9 Impresoras 6. Seleccione `PAPER' y pase por la lista que aparece hasta encontrar el tamaño de papel adecuado; para impresoras láser normalmente a4 y para las im- presoras de chorro de tinta (ingl. Inkjet) normalmente es a4dj). Después seleccione `OK'. 7. Seleccione `COLOR', indicando `MONO' o `COLOR' para facilitar una configu- ración posterior que distingue entre impresión en color y blanco/negro ­ para ello véase la siguiente explicación y el apartado "Configuración del apsfil- ter". 8. Si aún no existe ninguna cola de impresión por defecto (lp), lprsetup pasa a configurar las colas de impresión estándar lp, ascii, raw y posiblemente también lp-mono (lp-mono se configura en caso de haber seleccionado an- teriormente la opción `COLOR'). Por el contrario, si las colas estándar ya es- tán configuradas, se puede introducir colas adicionales con otro nombre bajo `SPECIAL' y `NAME'. Los nombres de las colas deben componerse solo de letras y cifras; preferiblemente nombres cortos en minúsculas, p. ej. color para una cola de impresión en color. 9. Importante: Pulsando `ADD' la definición de la impresora finalmente se acti- va. De hecho, siempre se crean varias colas de impresión que permiten imprimir en diferentes formatos. ### cdjcolor a4dj mono 300 color ### color-ascii|lp10|cdjcolor-a4dj-ascii-mono-300-color |cdjcolor a4dj ascii mono 300 color|lp11|cdjcolor-a4dj-auto-mono-300-color |cdjcolor a4dj auto mono 300 color-raw|lp12|cdjcolor-a4dj-raw-color|cdjcolor a4dj raw Mensaje en pantalla 9.3.3: Listado de la colas de impresión Anote de forma análoga a la salida en pantalla 9.3.3 todas las colas de impre- sión que se hayan generado; en caso del ejemplo expuesto habría que apuntar color-ascii, color y color-raw. Seleccione ahora `OK'. 10. Ahora se muestran en pantalla los ficheros de configuración del apsfilter. No se deben realizar modificaciones en el fichero de configuración global /etc/ apsfilterrc, sino en el fichero que está asignado a las colas de impre- sión recientemente creadas. Este fichero se denomina /etc/apsfilterrc. , donde representa el driver de ghostscript seleccionado en el apartado 4. En estos ficheros de configuración se puede distinguir entre diferentes colas de impresión, por tanto se debe usar el mismo fichero incluso para varias con- figuraciones con el mismo driver de ghostscript. Para ello véase el apartado § ¤ "Configuración del apsfilter". Pulse ¦ ¥para continuar. 11. Seleccione sucesivamente `RETURN' y `EXIT'. 226 9.4 El apsfilter 9.3.4. Prueba de impresión Después de configurar las colas de impresión por defecto, mediante: tux@tierra: > lpr /etc/fstab debe ser posible imprimir el fichero /etc/fstab Si el driver de Ghostscript seleccionado soporta impresión en color, se puede probar mediante: tux@tierra: > lpr /usr/share/ghostscript/*/examples/colorcir.ps 9.3.5. Casos especiales Usando el comando lpr fichero el tipo de fichero se autodetecta (p. ej. ASCII o PostScript). En cambio, para forzar el tipo de fichero ASCII use para imprimir: tux@tierra: > lpr -Pascii fichero Por ejemplo código fuente de PostScript, para que éste no se interprete como tal. Para ficheros que ya se encuentran en el formato específico de la impresora use: tux@tierra: > lpr -Praw fichero Con el comando: tux@tierra: > lpr -Plp-mono fichero no se realiza automáticamente la impresión en blanco y negro; para ello es necesario definir algunos parámetros especiales de Ghostscript en un fichero apsfilterrc; ver el apartado 9.4.2 en la página siguiente. 9.4. El apsfilter 9.4.1. Modo de trabajo de apsfilter Si se configura la impresora con YaST1 o lprsetup, se guardan los siguientes parámetros en /etc/printcap: Driver de Ghostscript; p. ej.hpdj, ljet4, stcany.upp. Formato de papel; p. ej.a4, a4dj, letter, letterdj. Método; ascii o auto o raw. Color; en caso de que el método no fuera raw: mono o color. Resolución; en caso de que el método no fuera raw: p. ej. 300, 360, 600, 720. Nombre de la cola; en el caso de haberlo indicado explícitamente con lprsetup bajo `SPECIAL - Settings for your printer' 227 9 Impresoras color-ascii|lp4|hpdj-a4dj-ascii-mono-300-color\ |hpdj a4dj ascii mono 300:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color:\ :lf=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/log:\ :af=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/acct:\ :if=/var/lib/apsfilter/bin/hpdj-a4dj-ascii-mono-300-color:\ :la@:mx#0:\ :tr=:cl:sh: Fichero 9.4.1: Cola de impresión para color en /etc/printcap El filtro real, el script /var/lib/apsfilter/apsfilter se ejecuta mediante un enlace según la indicación if en /etc/printcap. Los parámetros arriba mencionados se pasan a través de este enlace al filtro de impresión. Ejemplo: Si se encuentra la entrada del fichero en 9.4.1, los siguientes parámetros se pasan al apsfilter: Driver Ghostscript : PRINTER="hpdj" Formato papel : PAPERSIZE="a4dj" Método : METHOD="ascii" Color : COLOR="mono" Resolución : DPI="300" Nombre de la cola : QUEUE="color" Según la definición de estas variables, el comportamiento de apsfilter varía: METHOD="raw" ­ Los datos se mandan sin ninguna conversión al dispositivo de la impresora (p. ej. /dev/lp0). METHOD="ascii" ­ Se supone que se trata de texto ASCII y que el texto se convierte con a2ps en formato PostScript; ver la página del manual de a2ps (man a2ps). Después Ghostscript (gs) se encarga de convertirlo al formato específico de la impresora y de enviar todo al dispositivo de la misma. El driver correspon- diente de Ghostscript y la resolución están configurados mediante las vari- ables indicadas arriba; otros parámetros de Ghostscript se pueden configurar junto con el apsfilter. METHOD="auto" ­ apsfilter trata de determinar automáticamente el tipo de datos. Se usa el programa de conversión correspondiente para convertir los datos a formato PostScript; Ghostscript convierte los datos en el formato es- pecífico de la impresora y los envía al dispositivo de impresión. 9.4.2. Configuración de apsfilter Mediante determinadas variables especiales es posible influenciar el compor- tamiento de apsfilter. Estas variables se anotan en uno de los siguientes ficheros de configuración: 228 9.4 El apsfilter /etc/apsfilterrc /etc/apsfilterrc. Hay que reemplazar por el valor real del driver de Ghostscript. El apsfilter lee los ficheros en el orden arriba indicado, de tal modo que los valores en el fichero específico del driver /etc/apsfilterrc. sobreescriban los valores por defecto en el fichero global /etc/apsfilterrc. El fichero /etc/apsfilterrc por defecto solo debe albergar ajustes globales para todas las colas de impresión, mientras que los ajustes especiales se deben colocar en /etc/apsfilterrc.. Configurando la impresora con YaST2, algunos de los parámetros se guardan en /etc/printcap, pero la mayoría de ellos lo hacen en /etc/gs.upp/ y2prn_.upp. La variable represen- ta normalmente el nombre de la cola de impresión por defecto lp o, el de una cola adicional, como p. ej. color. El filtro de impresión /var/lib/ apsfilter/apsfilter se inicia mediante un enlace según la entrada del tipo if en /etc/printcap. Este enlace sirve para pasar algunos de los parámet- ros al filtro de impresión y otros se pasan mediante /etc/gs.upp/y2prn_ .upp. Este último fichero contiene los parámetros de Ghostscript que se han configurado con YaST2, y se añaden solo algunos parámetros especiales que no se pueden definir mediante YaST2. Aquellas variables que determinan el comportamiento de apsfilter se deben ano- tar en uno de los siguientes ficheros de configuración: /etc/apsfilterrc /etc/apsfilterrc.y2prn_.upp Apsfilter lee los ficheros en el orden indicado, o sea los parámetros en /etc/ apsfilterrc.y2prn_.upp sobreescriben aquellos en /etc/apsfilterrc. El fichero /etc/apsfilterrc contiene muchos comentarios interesantes acer- ca de cada variable en concreto; los más importantes son: FEATURE Modifica la forma de impresión de textos ASCII; los modos actual- mente disponibles son: FEATURE=1 Una página de texto ASCII por hoja con cabecera FEATURE=2 Dos páginas de texto ASCII por hoja con cabeceras FEATURE=1n Una página de texto ASCII por hoja sin cabecera FEATURE=2n Dos páginas de texto ASCII por hoja sin cabeceras FEATURE=1l Impreso apaisado con cabecera FEATURE=1ln Impreso apaisado sin cabecera GS_FEATURES Indicación de parámetros de Ghostscript especiales; es- tos parámetros varían según el driver de Ghostscript. En los ficheros file:/usr/share/doc/packages/ghostscript/doc/Devices.htm 229 9 Impresoras und file:/usr/share/doc/packages/ghostscript/doc/hpdj/ gs-hpdj.txt y en el apartado 9.6 en la página 236 se encuentra informa- ción sobre los distintos parámetros. A continuación se prosigue con el ejemplo del fichero 9.4.1 en la página 228. En el fichero /etc/apsfilterrc.hpdj se debe introducir el extracto del fichero 9.4.2 para que la impresora siempre imprima en negro en el caso de $COLOR="mono". if [ "$COLOR" = "mono" ]; then GS_FEATURES="-sModel=unspec -sColorMode=mono" else GS_FEATURES="-sModel=unspec -sColorMode=CMYK" fi Fichero 9.4.2: /etc/apsfilterrc.hpdj: Configuración para impresión en blanco y negro Mediante la información que se encuentra en file:/usr/share/doc/ packages/ghostscript/doc/hpdj/gs-hpdj.txt, se puede compro- bar si estos ajustes son los adecuados para la impresora en cuestión. Un poco de información adicional: La variable -sModel= puede variar entre 500, 500C, 510, 520, 540, 550C, 560C, 850C, 855C y unspec. La variable -sColorMode= puede variar entre mono, CMY, CMY+K y CMYK. A continuación se proporciona información sobre los distintos mod- elos en color (véase también file:/usr/share/doc/packages/ ghostscript/doc/hpdj/gs-hpdj.txt) mono La impresora solo dispone de un cartucho con tinta negra p. ej. los modelos 500, 510 y 520. CMY La impresora puede imprimir tanto con el cartucho de color como con el negro; hace falta cambiar los cartuchos manualmente (p. ej. los modelos 500C y 540. CMY+K La impresora dispone de un cartucho de color y de uno negro al mismo tiempo, pero no se puede mezclar color y negro. Por lo tanto, el color negro resulta de la mezcla de los colores imprimiendo en modo color ­ como por ejemplo los modelos 550C y 560C. CMYK La impresora dispone de un cartucho en negro y de uno en color al mismo tiempo y es posible que los dos impriman simultáneamente; como por ejemplo los modelos 850C, 855C y todos los demás DeskJets moder- nos (unspec). PRELOADS permite indicar un fichero que apsfilter procesa antes de los ver- daderos datos a imprimir, p. ej.: 230 9.4 El apsfilter Ajuste de la claridad del impreso con impresoras de inyección de tinta; véase también file:/usr/share/doc/sdb/de/html/jsmeix_ print-gammakorrektur.html Ajuste de los márgenes laterales al imprimir ficheros en PostScript; véase también: file:/usr/share/doc/sdb/sdb/de/html/ke_ print-margins.html Cambio al impreso en doble página de una impresora PostScript o se- lección de otra bandeja; véase file:/usr/share/doc/sdb/sdb/de/ html/ke_print-duplex.html und file:/usr/share/doc/sdb/ sdb/de/html/ke_tray.html ENCODING permite imprimir texto en ASCII y páginas HTML desde Netscape con la codificación según ISO-8859-1 o ISO-8859-2 ­ véase los comen- tarios en /etc/apsfilterrc y file:/usr/share/doc/sdb/de/html/ jsmeix_print-iso88592.html. Búsqueda de problemas con el apsfilter Para seguir la pista a un error en el funcionamiento del apsfilter, se puede usar un protocolo que genera apsfilter al procesar una tarea de impresión. Procedimiento: 1. Entre al sistema como `root'. 2. Dentro de /var/lib/apsfilter/apsfilter quite el símbolo de comen- tario `#' por delante de set -x. 3. A partir de ahora se generan ficheros de registro ("log") con las activi- dades de apsfilter; estos ficheros se definen en /etc/printcap. Junto con lf se indica el fichero de registro de cada cola de impresión, p. ej. /var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/log; véase el fichero 9.4.1 en la página 228. El protocolo de la última impresión realizada se añade al fichero de registro existente, por lo que su tamaño aumenta mucho y el fichero pierde claridad. Por este motivo conviene "vaciar" (pero no borrar) los ficheros de registro antes de cada nuevo intento de impresión mediante: tierra: # cat /dev/null >/var/spool/lpd/hpdj-a4dj-ascii-mono- 300-color/log 4. Después de cada intento de impresión, los mensajes de error dentro de los ficheros de registro pueden ayudar a encontrar la causa del error. Por ejemplo usando less se pueden visualizar los ficheros de registro del ejemplo de arriba. 231 9 Impresoras 9.5. Imprimir en una red TCP/IP ¿De qué se trata? El objetivo es usar: una impresora en una red TCP/IP conectada localmente a otra computadora, o una impresora que se encuentra dentro de la red TCP/IP conectada a un servi- dor de impresión (ingl. Printserver-Box), o una impresora de red con tarjeta de red propia. Además, la idea es filtrar las tareas de impresión mediante apsfilter. Aclaración de términos A continuación se le denominará servidor de impresión (ingl. Print-Server) a una computadora en la red TCP/IP que tiene localmente una impresora conectada, en comparación a un Servidor de impresión dedicado (ingl. Printserver-Box) que es un pequeño aparato compuesto por un conector para la red y por otro para la impresora. Una impresora que tiene una conexión directa a la red TCP/IP se denominará Impresora de red. La computadora desde la cual se encarga la tarea de impresión se denomina cliente. 9.5.1. Resumen de los distintos casos Las diferencias están en la filtración del fichero a imprimir: En algún punto de la cadena de procedimientos, el fichero de entrada debe ser convertido en el forma- to que la impresora "entiende" ­ es decir, en PostScript, HP PCL o ESC/P, de lo cual se encarga el apsfilter. Este filtro se debe ejecutar en la máquina cliente, si se envían trabajos de impresión a una impresora de red o a una que esté conecta- da a un "Servidor de impresión dedicado"; de esta forma la información sale ya filtrada del cliente. En el caso de una impresora conectada a un servidor de im- presión, existen dos posibilidades de ejecutar apsfilter, ya sea en el cliente o bien en el servidor de impresión. En resumen, existen las siguientes posibilidades: Impresora de red con filtro en el cliente: 1. Cliente: Convertir fichero en formato de impresora (-apsfilter->) 2. Cliente: Enviar datos a la impresora de red (-remote->) Servidor de impresión dedicado con filtro en el cliente: 1. Cliente: Convertir fichero al formato de impresora (-apsfilter->) 2. Cliente: Enviar datos al servidor de impresión dedicado (-remote->) 3. Servidor de impresión dedicada: Enviar datos a la impresora Impresora en servidor de impresión con filtro en el cliente: 232 9.5 Imprimir en una red TCP/IP 1. Cliente: Convertir fichero al formato de impresora (-apsfilter->) 2. Cliente: Enviar datos al servidor de impresión (-remote->) 3. Servidor de impresión: Enviar datos a la impresora Impresora conectada a un servidor de impresión con filtro en el servidor de impresión: 1. Cliente: Enviar los datos al servidor de impresión (-remote->) 2. Servidor de impresión: Convertir fichero al formato de impresora (-apsfilter->) 3. Servidor de impresión: Enviar datos a la impresora En los sitios donde está escrito -remote-> , se necesita una cola de im- presión dedicada solo a pasar datos sin filtrarlos (ingl. Printer forwarding queue). En los sitios donde está escrito -apsfilter->, se necesita una cola de im- presión que filtre datos. Si el filtrado se realiza en el lado del cliente, la cola de filtración representa un "Prefiltro" para la cola de traspaso a la impresora "Printer forwarding queue". Por el contrario, cuando la filtración se lleva a cabo en el servidor de impresión, la cola de filtración es una más entre las que se encuentran en el servidor de impresión (p. ej. lp o ascii). Requisitos: SuSE Linux debe soportar la impresora, ya que el prefiltro genera los datos en formato de impresora exactamente igual que en el caso de una impresora con conexión local (ver 9.2 en la página 216) . La conexión TCP/IP a la impresora de red debe existir y debe funcionar correc- tamente. 9.5.2. Configuración: Cola de traspaso en el cliente Entre al sistema como Administrador de sistema `root' en una consola de tex- § ¤ § ¤ § ¤ to. Si usa un "login" gráfico, cambie primero con ¦Ctrl ¥+ ¦Alt ¥+ ¦F2 ¥a una consola de texto. 1. Introduzca /var/lib/apsfilter/SETUP o bien lprsetup. § ¤ 2. Pulse ¦ ¥, para entrar al menú `APSFILTER SETUP'. 3. Seleccione sucesivamente `ENTRY', `DEVICE' y `REMOTE'. 4. Introduzca la dirección IP de la impresora de red o del servidor de red dedica- do o del servidor de red en general. La resolución de nombres debe funcionar en el lado del cliente tal como en el lado del servidor de impresión. 233 9 Impresoras 5. Introduzca la denominación de la cola en el servidor de impresión o en la impresora de red o en el servidor de impresión dedicado. El manual de la impresora de red o del servidor dedicado menciona los posibles nombres para las colas. En el caso de un servidor de impresión se trata de una de las colas configuradas en el servidor, como p. ej. lp o ascii. 6. Seleccione `ADD'. § ¤ 7. Pulse ¦Enter ¥, para continuar. 8. Seleccione sucesivamente `RETURN' y `EXIT'. Ahora existe en el lado del cliente la cola remote. Para hacerla disponible se debe reiniciar el "daemon" de impresión mediante: tierra: # rclpd stop tierra: # rclpd start Al usar ahora el comando tierra: # lpr -Premote se envía a la impresora de red o al servidor de impresión dedicado sin ser filtrado. Si la impresora se encuentra en un servidor de impresión, se debe añadir el número IP del cliente al fichero /etc/hosts.lpd para que el servidor acepte las tareas de impresión de éste. También es posible indicar el nombre totalmente cualificado del cliente (FQDN), si la resolución de nombres funciona. Después de reiniciar el daemon de impresión en el servidor de impresión, éste acepta las tareas procedentes del cliente dado de alta. La configuración finaliza si la impresora está conectada a un servidor de impresión con filtrado local. 9.5.3. Configuración: Prefiltro en el cliente 1. Inicie lprsetup. § ¤ 2. Pulse ¦ ¥. 3. Seleccione sucesivamente `ENTRY', `DEVICE' y `PREFILTER'. 4. Seleccione la recién configurada cola remote. 5. Seleccione `PRINTER'. 6. Seleccione la opción adecuada entre `POSTSCRIPT', `HEWLETT-PACKARD', `OTHER' o `FREEDEF'. 7. Seleccione `COMMIT'. 8. Pase por la lista que aparece hasta encontrar el driver de Ghostscript o el fichero de parámetros correcto y entonces pulse `OK'. 9. Indique la resolución correcta y pulse `OK'. 10. Seleccione sucesivamente `RETURN' y `PAPER'. 11. Seleccione el tamaño correcto de papel y pulse `OK'. 234 9.5 Imprimir en una red TCP/IP 12. Seleccione `COLOR'. 13. Elija entre `MONO' o `COLOR' según el caso y pulse `OK'. 14. Seleccione `ADD'; ahora aparece información sobre las colas de prefiltrado que se hayan configurado en el sistema. Apunte las colas de prefiltrado gen- eradas y seleccione después `OK'. § ¤ 15. Pulse ¦Enter ¥para continuar. 16. Seleccione sucesivamente `RETURN' y `EXIT'. Al reiniciar el daemon de impresión en el cliente mediante tierra: # rclpd stop tierra: # rclpd start las colas de prefiltrado en el cliente quedan disponibles. Ahora el comando tierra: # lpr -Pcola_prefiltrado envía a la cola cola_prefiltrado indicada; allí apsfilter convierte los datos en formato de impresora y estos pasan a través de la cola remote a la impresora de red o al servidor de impresión dedicado o al servidor de impresión (este último sin filtrado local). Problemas durante la configuración Comprobar la configuración del prefiltro Conecte la impresora directamente al primer puerto paralelo de la computa- dora, configurándola como impresora local para evitar posibles problemas con la red. Para ello proceda del mismo modo que en el apartado 9.2 en la página 216. Una vez que la impresora funcione localmente se conoce el driver de Ghostscript y los demás parámetros para la configuración del pre- filtro. Ahora puede configurar la impresora como impresora de red, según las indicaciones anteriores. Impresora de red o servidor dedicado no son fiables Algunas veces hay problemas con el spooler de impresión que se ejecuta en el servidor de impresión dedicado o en la impresora de red (p. ej. cuando hay varias impresoras conectadas o cuando hay varias tareas de impresión simultáneas). Es un problema del spooler en el servidor dedicado o en la impresora de red, por lo cual no se puede tener mucha influencia sobre él. Por este motivo resulta, generalmente, menos problemático conectar la impresora a un servidor de impresión. Sin embargo, existe un procedimiento que puede mejorar la situación: Se asigna una sola computadora para trabajar como servidor de impresión para la impresora de red o para el servidor de impresión dedicado. Todos los clientes envían las tareas de impresión a esta computadora que se encarga de la secuenciación de las tareas (spooling) mandándolas al servidor de im- presión dedicado o a la impresora de red. En este caso también es posible filtrar los trabajos en el cliente o en el servidor; hay más detalles sobre ello 235 9 Impresoras en file:/usr/share/doc/sdb/de/html/jsmeix_print-netzwerk. html. Información adicional: No se puede unir la cola de traspaso (ingl. Printer forwarding queue) y la cola de prefiltro (ingl. Prefilter-Warteschlange), ya que el daemon de impresión lpd (del paquete lprold) ignora las indicaciones sobre filtros en /etc/printcap para las colas remotas; por tal motivo se requiere una cola propia para el proceso de prefiltrar. 9.6. Ghostscript Si no se dispone de una impresora que funcione con PostScript, Ghostscript es el programa más popular para hacer de filtro de impresión. Este recibe como en- trada ficheros en PostScript y, para su conversión a un formato específico apto para la impresora, contiene una multitud de "drivers". Sin embargo, Ghostscript es mucho más que una colección de drivers para impresoras ­ p. ej. Ghostscript es capaz de preparar ficheros para su visualización en pantalla (para gv) o con- vertirlos en formato PDF. Ghostscript es un programa complejo con muchas opciones para la línea de co- mandos y se explica en file:/usr/share/doc/packages/ghostscript/ doc/Use.htm. Si se ejecuta Ghostscript sin ninguna opción, aparecerá un diál- ogo con un prompt propio, GS>, del cual se sale con el comando quit. El siguiente comando de ayuda tux@tierra: > gs -h | less muestra las opciones más usadas, la versión actual así como la lista de las im- presoras soportadas; aparece también uniprint como soporte genérico ­ los ficheros de parámetros para uniprint se encuentran en file:/usr/share/ doc/packages/ghostscript/catalog.devices. 9.6.1. Ejemplos para el trabajo con Ghostscript En file:/usr/share/doc/packages/ghostscript/examples se en- cuentran múltiples ficheros en formato PostScript. file:/usr/share/doc/packages/ghostscript/examples/ colorcir.ps sirve para comprobar la impresión en blanco y negro y /usr/share/ghostscript/5.50/examples/colorcir.ps para compro- bar la impresión en color. Para visualizar un fichero de PostScript dentro del sistema X Window se puede usar el comando gs: tux@tierra: > gs /usr/share/doc/packages/ghostscript/examples/colorcir.ps § ¤ § ¤ Para terminarlo hay que pulsar ¦Ctrl ¥+ ¦c ¥dentro de la ventana de terminal desde la que se ha lanzado gs . 236 9.6 Ghostscript Para convertir un fichero PostScript al formato específico para una impresora PCL 5 o PCL 6 se usa el comando: tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=ljet4 -r300x300 \ /usr/share/doc/packages/ghostscript/colorcir.ps quit.ps Se debe introducir en una sola línea, suprimiendo la barra inversa (`\'); además se supone que el fichero /tmp/out.prn aún no existe. Para convertir un fichero PostScript al formato específico para una impresora PCL 3 se usa un de los siguientes comandos: tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=hpdj -r300x300 \ -sModel=500 -sColorMode=mono -dCompressionMethod=0 \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=cdjmono -r300x300 \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=cdj500 -r300x300 \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=cdj550 -r300x300 \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps (Todos los comandos se han de introducir en una sola línea sin\.) Para convertir un fichero PostScript al formato específico para una impresora ESC/P2, ESC/P o ESC/P Raster se usa p. ej. uno de los siguientes comandos: tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ @stcany.upp \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=stcolor -r360x360 \ -dBitsPerPixel=1 -sDithering=gsmono -dnoWeave - sOutputCode=plain \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps Con estos comandos se ve la diferencia entre la llamada a Ghostscript usando un fichero de parámetros para el driver uniprint o usando otro driver "normal" de Ghostscript. Dado que todos los parámetros específicos del driver se encuentran dentro del fichero de parámetros de uniprint, ya no hace falta indicar parámetros específicos, como es el caso en los demás drivers de Ghostscript. Después de cada uno de los comandos arriba indicados, los datos específicos de impresora se encuentran en /tmp/out.prn. En el caso de que la impresora se encuentre conectada al primer puerto paralelo /dev/lp0, `root' puede enviar estos parámetros directamente a la impresora mediante: tux@tierra: > cat /tmp/out.prn >/dev/lp0 Para imprimir un fichero ASCII con Ghostscript hay que convertirlo primero a PostScript, mediante: tux@tierra: > a2ps -1 --medium=A4dj --output=/tmp/out.ps fichero- texto para pasarlo después al formato específico de impresora, mediante: 237 9 Impresoras tux@tierra: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ \ /tmp/out.ps quit.ps `root' lo puede enviar a la impresora, mediante tux@tierra: > cat /tmp/out.prn > /dev/lp0 Para obtener información actualizada sobre Ghostscript (versiones, soporte de impresoras, etc.), consulte la Homepage de Ghostscript. El URL es http:// www.cs.wisc.edu/~ghost/. 9.7. Ejemplos para algunos filtros de impresión 9.7.1. Introducción Este apartado no pretende ofrecer una alternativa al apsfilter, sino que su objetivo es explicar el trasfondo de la impresión bajo Linux mediante el ejemplo de un filtro de impresión "hecho a mano". Evidentemente esto no excluye la posibili- dad de configurar una cola de impresión adicional con filtro de impresión propio para casos especiales en los que no sea posible configurar apsfilter. El ejemplo que figura aquí es lo más sencillo posible como para explicar los pasos esenciales y por tanto el script de filtración no contempla p. ej. medidas de corrección de errores. A continuación se supone que la impresora está conectada al primer puerto par- alelo /dev/lp0; si no es así habría que usar, en lugar de /dev/lp0, el disposi- tivo correspondiente del otro puerto (ver apartado 9.2 en la página 216). El filtro de impresión recibe del spooler de impresión los datos a imprimir a través de la entrada estándar de datos (ingl. standard in) y los ha de convertir al formato específico de la impresora para enviarlos luego a la salida estándar (ingl. standard out). El spooler se encarga de enviar todos los datos que salen del filtro al dispositivo /dev/lp0. El kernel, como otro elemento en la "cadena de mandos", envía al dispositivo de impresión todos los datos que llegan al puerto que corresponde según la configuración (p. ej. a la dirección de entrada/salida (ingl. IO-port) 0x378). El hardware de la computadora se encarga finalmente de pasar a la impresora todos los datos que lleguen a una cierta dirección (p. ej. 0x378) a través del cable. La impresora interpreta los datos y los imprime. Solo `root' tiene normalmente el permiso de ejecutar los comandos de prueba de impresión ya que los usuarios normales no tienen derecho de acceder directa- mente al dispositivo, salvo que `root' lo haya permitido mediante tierra: # chmod a=rw /dev/lp0 Los comandos en general se indican de la siguiente forma: tierra: # cat Fichero-ASCII > /dev/lp0 Debe quedar clara la diferencia entre las partes del comando que se han de copiar símbolo por símbolo y aquellas partes que solo sirven "de relleno", p. ej. para un nombre de fichero como Fichero-ASCII. 238 9.7 Ejemplos para algunos filtros de impresión 9.7.2. Ejemplo sencillo para explicar los fundamentos del trabajo Si se ejecuta el comando tierra: # echo -en "\rHola\r\f" >/dev/lp0 no se activa ningún spooler de impresión o filtro, ya que se accede directamente al dispositivo de impresión /dev/lp0. De esta forma solo se envían directa- mente a la impresora las letras ASCII `\r', `H', `o', `\r', `l', `a' y `\f'. Los "códigos" `\f' y `\r' representan el carácter ASCII para "FormFeed", es decir, un salto de página y el carácter ASCII para el retorno de carro. Si la impre- sora es capaz de imprimir letras ASCII de forma directa, la impresora procederá a imprimir la palabra Hola y expulsará la hoja de la impresora. Mediante el comando: tierra: # cat Fichero-ASCII >/dev/lp0 tampoco se activa ningún spooler de impresión o ningún filtro, ya que se accede directamente al dispositivo de impresión /dev/lp0. Las letras ASCII proce- dentes del fichero se envían directamente a la impresora. En Linux, dos líneas de texto en ASCII se separan mediante un carácter de salto de línea (LineFeed). En DOS/Windows, dos líneas de texto se separan por un "LineFeed" y por un símbolo de retorno de carro (CarriageReturn). Si se envía un fichero con texto ASCII directamente a la impresora mediante el comando descrito arriba, el resultado sería el siguiente: Primera línea Segunda líneaTercera línea... En este caso la impresora solo se dedica a ejecutar un salto de línea sin efectuar un retorno de carro, por no haber enviado ningún carácter ASCII de retorno de carro (CarriageReturn). Sin embargo, es posible configurar la impresora de tal forma que realice un salto de línea y un retorno de carro a base de recibir solo el carácter ASCII de salto de línea. Esto se consigue para impresoras con soporte del lenguaje PCL 3 mediante la secuencia de Escape \033&k2G. Esta secuencia de Escape se envía a la impresora mediante tierra: # echo -en "\033&k2G" >/dev/lp0 y después el fichero ASCII se imprime correctamente con el comando: tierra: # cat Fichero-ASCII >/dev/lp0 Es posible que para que salga la última página, después sea necesario enviar a la impresora el comando tierra: # echo -en "\f" >/dev/lp0 También puede ocurrir que algunos caracteres especiales se impriman mal (como p. ej. la diéresis) , ya que la codificación de estos es diferente en DOS/Windows y las impresoras suelen estar preconfiguradas para este sistema operativo. 239 9 Impresoras Pero con tierra: # cp Fichero-ASCII Fichero-ASCII.ibmpc tierra: # recode lat1..ibmpc Fichero-ASCII.ibmpc el Fichero-ASCII se copia primero a Fichero-ASCII.ibmpc y después se convierte de acuerdo a la codificación de DOS/Windows. Si se usa el comando tierra: # cat Fichero-ASCII.ibmpc >/dev/lp0 el fichero se debe imprimir correctamente con todos los caracteres especiales y saltos de línea. No hace falta enviar una secuencia de Escape especial, ya que to- dos los caracteres y los saltos de línea se han convertido conforme la codificación DOS/Windows. Es por eso que cualquier fichero de texto en ASCII se debe imprimir correcta- mente en una impresora capaz de procesarlo si se usa la siguiente secuencia de comandos: tierra: # cp Fichero-ASCII Fichero-ASCII.ibmpc tierra: # recode lat1..ibmpc Fichero-ASCII.ibmpc tierra: # cat Fichero-ASCII.ibmpc >/dev/lp0 Una vez que se conoce esta secuencia se ofrece la posibilidad de realizar un filtro de impresión que se encarga justamente de esta conversión de texto ASCII al formato específico de la impresora. Primero se genera un subdirectorio con ubicación análoga a la de /var/lib/ apsfilter y se entra a éste como usuario `root': tierra: # mkdir /var/lib/myprinterfilter tierra: # cd /var/lib/myprinterfilter Ahora se genera un script de la shell bash con el nombre asciifilter, tal como lo muestra el fichero 9.7.1 en la página siguiente. Este script se debe convertir en ejecutable y legible para todos los usuarios me- diante: tierra: # chmod a+rx /var/lib/myprinterfilter/asciifilter Con lprsetup se genera una cola de impresión adicional, seleccionando al- gún driver de Ghostscript que normalmente no está en uso. La resolución y el tamaño del papel son irrelevantes. Seleccione sencillamente `MONO'. Bajo la op- ción `SPECIAL Settings for your printer' introduzca "af" en la opción `NAME Optional name for the queue' como nombre de la nueva cola af (representa "asciifilter"). lprsetup genera entonces las siguientes colas de impre- sión: af-ascii , af und af-raw . A continuación solo se usa la cola af. Las demás colas de impresión son su- perfluas ya que el driver de Ghostscript seleccionado no va a funcionar con la impresora que está conectada. El fichero /etc/printcap también contiene ahora la entrada tal como se refleja en el extracto del fichero 9.7.2 en la página siguiente. Ahora se debe parar el spooler de impresión mediante: tierra: # rclpd stop y en la entrada del fichero /etc/printcap se modifica solamente la línea 240 9.7 Ejemplos para algunos filtros de impresión #! /bin/bash # make a temporary file INPUT="$(mktemp /tmp/asciifilter.$$.XXXXXX)" # First store everything from stdin in $INPUT # to have the input as a regular file cat > $INPUT # Recode the INPUT recode lat1..ibmpc $INPUT # Add a FormFeed at the end of $INPUT # to get the last page out of the printer echo -en "\f" » $INPUT # Send $INPUT to stdout cat $INPUT # Remove the INPUT file rm $INPUT Fichero 9.7.1: /var/lib/myprinterfilter/asciifilter af... :if=/var/lib/apsfilter/bin/...-af:\ :la@:mx#0:\ :tr=:cl:sh: Fichero 9.7.2: /etc/printcap: Filtro propio 241 9 Impresoras :if=/var/lib/apsfilter/bin/...-af:\ por :if=/var/lib/myprinterfilter/asciifilter:\ después de haber guardado /etc/printcap, el spooler de impresión se inicia de nuevo mediante tierra: # /etc/init.d/lpd start Ahora cualquier usuario del sistema debe ser capaz de imprimir a través de la nueva cola af usando el comando: tierra: # lpr -Paf Fichero-ASCII La nueva cola de impresión hace lo mismo que apsfilter cuando en un fichero apsfilterrc se pone USE_RECODE_NOT_A2PS="yes", ya que con esta con- figuración apsfilter deja de convertir texto ASCII en PostScript antes de imprim- irlo. Para evitar a toda costa que por equivocación se envíen datos a través de una de las colas en desuso (af-ascii y af-raw), en el fichero /etc/printcap se deben cambiar las líneas :lp=/dev/lp0:\ por :lp=/dev/null:\ 9.7.3. Un ejemplo más complejo Situación Se supone que el driver existente no es un driver de Ghostscript, por lo que es posible que sea necesario crear un filtro de impresión propio. Hay que distinguir entre dos posibilidades: 1. No existe ningún driver de Ghostscript para la impresora en cuestión, p. ej. porque la impresora es del tipo GDI. 2. Existe un driver de Ghostscript para la impresora, pero también hay uno que no lo es y que permite imprimir en mejor calidad por estar optimizado para un modelo de impresora específico. Estos drivers se utilizan normalmente como complemento de Ghostscript, con- virtiendo los datos salientes de Ghostscript al formato específico de la impresora. Este tipo de situación se presenta aquí, ya que se trata del caso más complica- do que puede servir de referencia para crear cualquier filtro de impresión para cualquier otro tipo de impresora. 242 9.7 Ejemplos para algunos filtros de impresión Requerimientos Se supone que existe un driver para la impresora compatible con la versión exis- tente de SuSE Linux o que éste se puede descargar de Internet. Para ello hace fal- ta estar acostumbrado a trabajar con fuentes en formato Unix (p. ej.con archivos del tipo .zip o .tar.gz o con paquetes .rpm); véase el apartado 12.3 en la página 304. Después de descomprimir o desempaquetar un archivo de estos, suele haber instrucciones de instalación dentro de los ficheros README, INSTALL o dentro de un sub-directorio denominado doc. Información adicional En el caso de archivos del tipo .tar.gz normalmente se debe compilar e instalar el driver. A continuación se supone que el driver se instala como /usr/local/bin/printerdriver En general el driver no se encarga de otra cosa que convertir los datos especiales que salen de Ghostscript a un formato específico para la impresora (véase el apartado 9.6 en la página 236). Para realizar esta conversión con un driver de Ghostscript a una resolución de 600 dpi, se usan las siguientes opciones: -sDEVICE=pbmraw -r600x600 -sDEVICE=pnmraw -r600x600 La documentación del driver indica la resolución que realmente se ha de utilizar al igual que la compatibilidad del driver de Ghostscript. Utilizando un filtro de impresión, los datos que se pasan a Ghostscript no entran directamente desde el fichero a imprimir, sino a través de la entrada estándar (ingl. standard in). Para realizarlo, en la llamada a Ghostscript un símbolo - debe reemplazar el nombre de fichero de entrada. Para pasar los datos salientes de Ghostscript al driver "real", se necesita el parámetro -sOutputFile=- . La salida de datos de Ghostscript se pasa mediante un "pipe" (tubería) al driver: | /usr/local/bin/printerdriver parámetro Los parámetros necesarios para el driver se encuentran en la documentación del propio driver. El comando completo que resulta es: gs -q -dNOPAUSE -dSAFER -sOutputFile=- \ -sDEVICE= -r \ - quit.ps \ | /usr/local/bin/printerdriver Los valores , (resolución), /usr/local/bin/ printerdriver y se han de rellenar de acuerdo a la docu- mentación del driver. El comando utilizado se simplifica para una impresora directamente soportada por Ghostscript de la siguiente forma: 243 9 Impresoras gs -q -dNOPAUSE -dSAFER -sOutputFile=- \ -sDEVICE= -r \ \ - quit.ps Los parámetros , y en su caso (parámetros específicos del driver de Ghostscript), se han de rellenar de acuerdo al apartado 9.6 en la página 236). Como Ghostscript procesa datos en formato PostScript hay que convertir los datos a imprimir a este formato salvo que se encuentren ya en tal formato. Normalmente basta convertir datos en formato ASCII a PostScript, ya que muchas aplicaciones (Netscape, StarOffice, etc.) generan directamente PostScript o bien están basados en ASCII (p. ej. editores de texto). El formato de los datos a imprimir se determina mediante el comando file. El texto en formato ASCII se convierte a PostScript mediante el comando a2ps; las amplias posibilidades de este conversor se explican en la página del manual de a2ps (man a2ps). Instalación y uso Si aún no existe, se ha de crear un directorio llamado /var/lib/ myprinterfilter y entrar al mismo. Ahora se ha de crear un script de la shell bash denominado printerfilter (véase el fichero 9.7.3 en la página siguiente). Es posible copiar este script letra por letra; sólo las variables GSDEVICE y DRIVER se han de cambiar según la impresora que se esté usando, lo cual quiere decir que se han de indicar los valores correctos para device, resolution, /usr/local/bin/printerdriver y parameter. Para una impresora soportada por Ghostscript hay que indicar: DRIVER='cat -' Para una impresora PostScript que no necesita Ghostscript se indica: GS='cat -' DRIVER='cat -' Es posible adaptar las variables A2PSLAYOUT y A2PSENCODING al gusto propio; ver la página del manual de a2ps (man a2ps). El script creado se ha de convertir en ejecutable para todos los usuarios. De- spués se crea una cola de impresión utilizando lprsetup, tal como lo indica el apartado 9.7.2 en la página 239. Si el filtro no trabaja correctamente, un fichero de registro puede facilitar el seguimiento del error, recogiendo toda la información de lo ocurrido durante el procesamiento de una tarea de impresión por parte del filtro. Para crear este fichero de registro, guíese con lo expuesto en el apartado 9.4.2 en la página 231. 244 9.7 Ejemplos para algunos filtros de impresión #! /bin/bash # For debugging see for stderr in /var/spool/.../log #set -x # Define the program calls for the filter pipes # The a2ps call A2PSLAYOUT="-1 --center-title= --borders=yes" kkkxA2PSENCODING='--encoding=ISO-8859-1' A2PS="a2ps $A2PSLAYOUT $A2PSENCODING --output=-" # The gs call # in GSDEVICE Ghostscript device and parameters have to be set GSDEVICE='-sDEVICE=Device -rResolution' GS="gs -q -dNOPAUSE -dSAFER -sOutputFile=- $GSDEVICE - quit.ps" # The call for an optional printerdriver DRIVER='/usr/local/bin/printerdriver Parameter' # make a temporary file INPUT="$(mktemp /tmp/printerfilter.$$.XXXXXX)" # First store everything from stdin in $INPUT # to have the input as a regular file cat > $INPUT # Determine the FILETYPE of the data in $INPUT FILESTRING=$(file $INPUT | tr 'A-Z' 'a-z') case "$FILESTRING" in *postscript*) FILETYPE=postscript ;; *ascii*|*text*|*english*|*script*) FILETYPE=ascii ;; *) FILETYPE=unknown ;; esac # Do the filter pipe according to the FILETYPE case "$FILETYPE" in postscript) cat $INPUT | eval $GS | eval $DRIVER ;; ascii) cat $INPUT | eval $A2PS | eval $GS | eval $DRIVER ;; unknown) echo "Unknown filetype: $FILESTRING" \ | mailx -s "printerfilter" root ;; esac # Remove the INPUT file rm $INPUT Fichero 9.7.3: Filtro de impresión complejo 245 9 Impresoras 246 10 El kernel 10 El kernel El kernel que se copia al disquete después de la instalación y que se encuentra también en el directorio root del sistema instalado, tiene una configuración que cubre un amplio espectro del hardware. Ya durante la instalación o actualización es posible seleccionar un kernel que fue optimizado en algunas aspectos (p. ej. para arquitectura Pentium), pero no en todos. Por eso es una ventaja ­ ¡aunque no es necesario! ­ generar un kernel propio. Además, si tiene el deseo de conocer características o drivers "experimentales", es prácticamente obligatorio compilar un kernel propio. Finalmente es la configuración de un kernel propio que permite conocer el estado del arte en el desarrollo de Linux. Ya existen Makefiles para el compilador C que permiten generar un kernel nuevo de un modo casi totalmente automatizado. Solo hace falta entrar en una utilidad de configuración y definir el hardware que el kernel debe soportar. El soporte de instalación no cubre la compilación de un kernel propio. Aviso La siguiente descripción contempla básicamente los kernel de la serie 2.2.x. y 2.4.x. Existen muchas cosas que coinciden con los kernel de la se- rie 2.0.x. ¡Sin embargo, en cuanto a los detalles, pueden existir pequeñas pero importantes diferencias! 10.1. Las fuentes del kernel Para poder generar un kernel propio se deben instalar las fuentes del kernel (pa- quete kernel-source), el compilador de C (paquete gcc), los GNU Binutils (paquete binutils) y las librerías de C (Include-files) (paquete glibc-devel). Estos paquetes se encuentran en la serie serie D (Development). En todo caso es muy recomendable instalar el compilador de C ya que el lenguaje C y el sistema operativo Linux están intrínsecamente vinculados. Las fuentes del kernel se encuentran en el directorio /usr/src/linux. Si le gusta experimentar con el kernel y tener varias versiones en el disco, resulta bastante práctico desempaquetar las fuentes de los diferentes kernel en diferentes directorios y acceder a las actualmente válidas mediante un enlace simbólico. YaST instala los paquetes de esta forma automáticamente. En realidad se podrían instalar y compilar las fuentes del kernel en cualquier di- rectorio, pero existe bastante software que espera encontrar las fuentes del kernel 247 10 El kernel en el directorio /usr/src/linux. Por lo tanto es mejor optar por este directorio para asegurar la compilación correcta de cualquier programa. 10.2. Módulos del kernel Existen muchos drivers y funciones adicionales que no deben formar parte fija del kernel necesariamente, sino que pueden ser cargados como módulos (ingl. kernel module) en tiempo de ejecución. Durante la configuración del kernel es cuando se determina cuáles drivers se incorporan de forma fija al mismo y cuáles como módulo. Los módulos del kernel se guardan en el directorio /lib/ modules/, donde corresponde a la versión actual del kernel (por ejemplo 2.4.9). Siempre que sea posible se debe aprovechar la posibilidad de usar módulos. Siga la pauta: las funciones del kernel que no se necesitan durante el arranque de la computadora, se deben realizar como módulos; de este modo se asegura que el kernel no crezca demasiado y que ni la BIOS ni ningún gestor de arranque tenga problemas al cargar el kernel. Esto significa que el driver del disco duro, el soporte de ext2 y otras funciones parecidas siempre deben formar parte del kernel, mientras que el soporte de isofs, msdos o sound siempre se deberían compilar como módulos. Manejo de los módulos Existen los siguientes comandos para trabajar con módulos: insmod El comando insmod carga el módulo indicado que se busca en un sub- directorio de /lib/modules/. A favor del mejor comando modprobe se debería dejar de usar insmod. rmmod Este comando descarga el módulo indicado, lo cual solo es posible cuando se ha dejado de usar esta función del módulo, y no es posible descargar p. ej. el módulo isofs cuando todavía hay un CD montado. depmod Este comando genera en el directorio /lib/modules/ el fichero modules.dep que registra la dependencia de los módulos entre sí. De este modo hay seguridad de que se cargan automáticamente todos los módulos que dependen del primero. Si el inicio del kernel-damon está pre- visto en /etc/rc.config, el fichero con las dependencias de los módulos se genera automáticamente cuando Linux se inicia (salvo que el fichero ya exista). 248 10.2 Módulos del kernel modprobe Carga o descarga de un módulo considerando las dependencias con otros. El comando es muy versátil así que se puede usar para muchas otras cosas (p. ej. para probar todos los módulos de un determinado tipo hasta que se car- gue uno exitosamente). Al contrario de insmod, modprobe evalúa el fichero /etc/modules.conf y por eso solo se debería usar para cargar módulos. La página de manual de modprobe explica todas las posibilidades. lsmod Muestra los módulos actualmente cargados y sus dependencias. Los módulos que fueron cargados por el kernel-daemon se identifican por (autoclean) al final de la línea. Esta palabra indica que se trata de un módulo que se descarga automáticamente cuando deja de ser usado para un determinado tiempo y si se hayan tomado las medidas necesarias para ello, ver en la página siguiente. /etc/modules.conf El fichero /etc/modules.conf influye sobre la carga de módulos (ver página del manual de depmod (man depmod)). Advertencia: Desde la versión 6.3 de SuSE Linux el nombre del fichero /etc/ conf.modules se ha cambiado a /etc/modules.conf. Es precisamente este fichero el que permite indicar los parámetros para aquellos módulos que acceden directamente al hardware y por lo tanto deben ser adap- tados a la computadora específica (p. ej. driver de unidades CD-ROM o driver para tarjetas red). Los parámetros que se indican en este fichero son en principio idénticos a los que se pasan al kernel (p. ej. con LILO) a la hora de arrancar (ver apartado 11.3.2 en la página 258), sin embargo, en muchos casos sus nombres son diferentes (ver el apartado 11.3.4 en la página 271). Si no se consigue cargar un módulo, intente especificar el hardware en el fichero /etc/conf.modules y para cargarlo se debe usar el módulo modprobe en lugar de insmod. Kmod ­ el "Kernel Module Loader" El modo más elegante para emplear módulos de kernel es ­ desde la versión 2.2.x ­ el uso del "Kernel Module Loader", que reemplaza al kernel-damon (kerneld) "antiguo". kmod permanece en segundo plano y se ocupa de cargar automática- mente los módulos con llamadas a modprobe cuando se necesita la correspondi- ente función del kernel. Para usar el kmod se debe activar, durante la configuración del kernel, la opción `Kernel module loader' (CONFIG_KMOD). ¡Los drivers que se necesitan para acceder al sistema de ficheros raíz deben estar incorporados al kernel!, por lo cual, no se debe configurar el driver SCSI ni el sistema de ficheros de la partición raíz (normalmente ext2) como módulos! 249 10 El kernel Atención SuSE Linux usa ahora el initrd (ingl. initial ramdisk) para incorporar de esta forma p. ej. el driver SCSI. Generando un kernel propio se precisa adaptar la variable INITRD_MODULES dentro del fichero /etc/rc.config (apartado 14.6 en la página 344) y es necesario poner la línea con initrd dentro del fichero /etc/lilo.conf en comentario (ver apartado 13.4.5 en la página 320). ­ ¡Si se omiten estos pasos, el kernel se cuelga durante el arranque! El uso de los módulos del kernel se ofrece sobre todo para funciones de uso poco frecuente como p. ej. parport y el soporte de impresora, driver para disqueteras, unidades iomega ZIP o determinados sistemas de ficheros. Kmod no está diseñado para descargar automáticamente módulos; pensando en la cantidad de memoria RAM de las computadoras de hoy en día, se trata de un operación no necesaria, ya que con la descarga de un módulo se desocuparía muy poca memoria (ver /usr/src/linux/Documentation/kmod.txt). Los servidores que cumplen tareas muy específicas trabajan más rápido con un kernel "monolítico". 10.3. Configuración del kernel La configuración del kernel que se instaló en el sistema durante la instalación o actualización está contenida en el fichero /usr/src/linux/.config (ver apartado 2.1.8 en la página 18). Se puede configurar el kernel de tres formas distintas: 1. En la línea de comando 2. En un menú en modo texto 3. En un menú bajo el sistema X Window Estas tres formas de configuración se presentan a continuación. Truco Para pasar un fichero de configuración .config existente a un kernel nue- vo solo hace falta utilizar el comando make oldconfig y terminar como se ha explicado en el apartado 10.5 en la página 252. 250 10.4 Ajustes en la configuración del kernel Configuración en la línea de comando Para configurar el kernel se cambia a /usr/src/linux y se introduce el sigu- iente comando: tierra:/usr/src/linux # make config Aparece una serie de preguntas sobre las funciones que el kernel debe soportar y para contestarlas existen generalmente dos o tres posibilidades: Ya sea el sencillo § ¤ § ¤ § ¤ § ¤ § ¤ ¦y ¥o ¦n ¥o bien ¦y ¥(ingl. yes), ¦n ¥(ingl. no) o ¦m ¥(ingl. module). `m' significa que el driver correspondiente no se incorpora fijo en el kernel, sino que es posible "añadirlo" en tiempo de ejecución. Por supuesto, todos los drivers que se necesi- tan para arrancar el sistema deben incorporarse de forma fija al kernel; para estos § ¤ módulos pulse ¦y ¥ . Al presionar cualquier otra tecla, aparece una ayuda corta sobre la correspondi- ente opción. Configuración en modo texto Una vía más asequible para configurar el kernel se consigue con el comando: tierra:/usr/src/linux # make menuconfig Una gran ventaja es p. ej. que no hace falta pasar por una gran cantidad de pre- guntas modificando solo un aspecto de la configuración; la configuración es más estructurada. Configuración bajo el sistema X Window Si está instalado el sistema X Window (paquete xf86) tal como Tcl/Tk (paquete tcl y paquete tk), queda la alternativa de iniciar el proceso de instalación con: tierra:/usr/src/linux # make xconfig De este modo se dispone de una superficie gráfica más confortable pero es pre- ciso iniciar el sistema X Window como superusuario `root', pues de lo con- trario habría que tomar medidas adicionales para tener acceso a la pantalla de otro usuario. 10.4. Ajustes en la configuración del kernel Debido a la cantidad no es posible detallar en este manual todas las opciones que ofrece la configuración del kernel , pero se puede usar la amplia ayuda en línea de la que se dispone durante la configuración del kernel . Lo más nuevo en cuanto a documentación se encuentra siempre en el paquete de las fuentes del kernel en el directorio /usr/src/linux/Documentation. 251 10 El kernel 10.5. Compilación del kernel Truco Si desea instalar su propio kernel en el directorio /boot, quite sencillamente el símbolo de comentario por delante de la línea export INSTALL_PATH=/boot (aprox. línea 92) en el Makefile princi- pal. Recomendamos generar un "bzImage" con el cual se evita el efecto de un kernel demasiado grande. Es algo que ocurre a menudo cuando se han seleccionado demasiadas características y luego se genera un "zImage". Con "bzImage" se evitan entonces los mensajes típicos como "kernel too big" o "System is too big". Una vez adaptado el kernel a sus necesidades, debe iniciar la compilación con: tierra:/usr/src/linux # make dep tierra:/usr/src/linux # make clean tierra:/usr/src/linux # make bzImage Se pueden introducir también los 3 comandos en una sola línea y así se ejecu- tan uno después del otro. De esta manera, la compilación se hace "automática- mente", lo que permite salir a tomar un café o dejar la computadora trabajando durante la noche. Para ello introduzca: tierra:/usr/src/linux # make dep clean bzImage Según la potencia de la computadora, ésta puede tardar desde algunos minutos (AMD Athlon / Intel Pentium III rápido) 1 hasta un par de horas (386 con 8 MB de RAM) para compilar el kernel. Durante la compilación se puede seguir trabajando en otro consola. Después de una compilación exitosa el kernel comprimido se encuentra en el directorio /usr/src/linux/arch/i386/boot. La imagen del kernel, o sea el fichero que contiene el kernel, se llama bzImage. Si este no se encuentra en el mencionado directorio, lo más probable es que haya ocurrido un error durante la compilación y que su respectivo mensaje se haya perdido entre todos los mensajes en pantalla. Para comprobar si realmente hubo un error se puede iniciar la compilación por segunda vez con: tierra:/usr/src/linux # make bzImage y observar si realmente aparecen errores. ¡No hay por qué asustarse, errores du- rante la compilación del kernel son más bien escasos! Si se trabaja con la shell "Bash", se pueden direccionar los mensajes de la com- pilación al fichero kernel.out con el comando: tierra:/usr/src/linux # make bzImage 2>&1 | tee kernel.out El mismo comando bajo Tcsh sería: tierra:/usr/src/linux # make bzImage |& tee kernel.out 1Una prueba común para hardware y software es la compilación del kernel con la opción make -j, que requiere de mucha memoria RAM (hasta más de 100 MB). En este caso se inicia un compi- lador para cada fichero fuente. 252 10.6 Instalación del kernel Si hay funciones del kernel que se realizan con módulos, es preciso compilarlos, lo cual se consigue con el siguiente comando: tierra:/usr/src/linux # make modules 10.6. Instalación del kernel Después de la compilación del kernel se debe procurar también que éste se ini- cie; si se usa LILO para arrancar, es preciso reinstalarlo. Lo más fácil es copi- ar el nuevo kernel a /boot/vmlinuz (ver apartado 10.5 en la página anteri- or) e iniciar después LILO. Sin embargo, es mejor conservar el kernel antiguo (/boot/vmlinuz.old) para evitar sorpresas, en caso de que el nuevo no fun- cione tal como se espera: tierra:/usr/src/linux # cp /boot/vmlinuz /boot/vmlinuz.old tierra:/usr/src/linux # cp arch/i386/boot/bzImage /boot/vmlinuz tierra:/usr/src/linux # lilo El comando make bzlilo realiza estos tres pasos con una sola orden. Los módulos compilados también se deben instalar; el siguiente comando: tierra:/usr/src/linux # make modules_install los copia en los directorios de destino correctos (/lib/modules/). Los módulos antiguos de la misma ver- sión de kernel se suprimen. Esto no representa mucho problema ya que se pueden instalar nuevamente desde los CDs, junto con el kernel. Truco Si se incorporan módulos al kernel, es necesario quitarlos en /lib/ modules , ya que en caso contrario pueden aparecer efectos extraños. Por eso se ruega encarecidamente a los principiantes en materia de Linux, no compilar un kernel propio. Se debe agregar al fichero /etc/lilo.conf (ver apartado 5.4.1 en la pági- na 116) un label (rótulo) adicional denominado Linux.old y modificar el nom- bre del kernel antiguo a /boot/vmlinuz.old. Así se puede arrancar seguro con el kernel antiguo en caso de que se presentara algún problema con el nuevo. Se trata de una posibilidad que se explica detalladamente en el capítulo 5 en la página 109. Si el fichero /etc/lilo.conf está adaptado a las propias necesidades, se debe ejecutar de nuevo: tierra:/usr/src/linux # make lilo Por otra parte, en caso de iniciar Linux desde DOS usando linux.bat ­ o sea con loadlin ­ se necesita copiar el kernel nuevo a /dosc/loadlin/ bzimage2, para que se active después del próximo arranque. 2O bien al lugar donde realmente está loadlin instalado. 253 10 El kernel Si se inicia Linux con el gestor de arranque de Windows NT no se debe olvidar de copiar nuevamente el sector de arranque de LILO (ver apartado 5.7.2 en la página 127) . Además tenga en cuenta lo siguiente: el fichero /boot/System.map contiene los símbolos del kernel necesarios para que los módulos puedan acceder cor- rectamente a las funciones del kernel. Este fichero depende de la versión actual del kernel por lo que se debería copiar el fichero actual3 /usr/src/linux/ System.map al directorio /boot una vez que la compilación haya finalizado. Si se usa el comando make bzlilo o make zlilo para generar el kernel, la mencionada copia se hace automáticamente. Un mensaje como "System.map does not match actual kernel" du- rante el arranque del sistema, indica que el fichero System.map no se ha copiado al directorio /boot. 10.7. Generar un disquete de arranque Para generar un disquete de arranque con el kernel nuevo, se puede usar sencil- lamente el siguiente comando: tierra:/usr/src/linux # make bzdisk 10.8. Limpieza del disco después de la compilación del kernel Los ficheros objeto que se generan durante la compilación del kernel se pueden borrar si estos ocupan demasiado espacio de disco: tierra: # cd /usr/src/linux tierra:/usr/src/linux # make clean Sin embargo, si dispone de suficiente espacio de disco y además piensa modificar la configuración del kernel puede saltarse este paso. De este modo una nueva compilación va mucho más rápido, ya que solo se compilan las partes del sistema que fueron modificadas. 3Después de cada compilación este fichero se genera de nuevo. 254 11 Parámetros del kernel 11 Parámetros del kernel 11.1. Drivers del kernel Existe una gran variedad de componentes y periféricos para PCs. El sistema operativo necesita una serie de "drivers" (en el caso de Linux el "kernel") para poder acceder a estos dispositivos. En principio existen dos mecanismos para dar al kernel la funcionalidad de un driver: 1. Los drivers se pueden incorporar fijamente al kernel. Un kernel de este tipo, de "una sola pieza", se denomina en este libro kernel monolítico. Algunos drivers solo se pueden usar en combinación con un kernel monolítico. 2. Los drivers se incorporan al kernel en el momento que se necesitan; un kernel de tal característica se denomina kernel modularizado. La ventaja es que solo los drivers necesarios se cargan en el momento necesario y así el kernel no arrastra ningún tipo de "lastre". El kernel del disquete de arranque de SuSE trabaja a base de módulos y así resulta útil para la mayoría de las computadoras. Algunos drivers aún no existen como módulos. Independientemente de la ubicación de los drivers (fijos en el kernel o cargables como módulos), es posible que existan componentes que el kernel no sea capaz de reconocer por sí mismo. Para tal caso existe la posibilidad de especificar más exactamente el componente, pasando parámetros adicionales al kernel. Proporcionar información al kernel sobre el tipo de hardware usado y cómo comunicarse con éste (p. ej. rango de memoria, número de interrupción, etc.). A veces el driver es capaz de averiguar esto por sí mismo pero resulta más seguro y rápido tomar la iniciativa. En casos problemáticos se puede conseguir un buen funcionamiento del sis- tema Linux usando parámetros especiales. En el caso de un kernel monolítico se deben pasar los parámetros al kernel a través de un "bootloader". Por esta razón los parámetros aún se denominan parámetros de LILO, por el "bootloader" tradicional de la arquitectura x86. Los drivers en forma de módulos reciben sus parámetros mediante los comandos in- smod o modprobe, que cargan simultáneamente el módulo. En cada inicio de sistema se deben indicar los parámetros, ya que el kernel desafortunadamente no "aprende" por sí mismo. Después de la instalación es posible colocar los parámetros de kernel en los ficheros /etc/lilo.conf o 255 11 Parámetros del kernel /etc/modules.conf. Con ello se consigue que LILO o modprobe los evalúen automáticamente. El formato de indicación de los parámetros para los drivers en forma de módulos, lamentablemente es diferente al de los drivers incorporados al kernel, por lo cual más adelante se detallan estos parámetros minuciosamente. Para algunos módu- los (lectores CD-ROM) el traspaso de los parámetros ya fue unificado, así que se pueden usar los mismos parámetros si se está cargando un módulo o pasando un parámetro al prompt de arranque. Figura 11.1: La distribución del teclado norteamericano En el momento del arranque, la distribución norteamericana del teclado aún está § ¤ § ¤ § ¤ § ¤ activa, por lo tanto el ¦= ¥está en la tecla de ¦¡ ¥y el ¦; ¥se "oculta" bajo la tecla ¦ñ ¥ , etc. La distribución del teclado se ve en la figura 11.1. 11.2. Algunos consejos Antes de que aparezcan las listas con los parámetros, le damos un par de consejos acerca del reconocimiento de hardware por parte de los drivers y acerca de la indicación de parámetros: La mayoría de los drivers son capaces de realizar un autoprobing, o sea, el driver va probando diferentes direcciones en las que se encuentra gen- eralmente el hardware. Haciendo esto, es posible que el driver encuentre un componente del cual no se encarga y que lo inicie equivocadamente, por lo tanto es posible también que la computadora se detenga (se cuelgue). También puede ocurrir que un módulo se cargue exitosamente aunque el hardware para el que fue diseñado no esté presente en la computadora (esto pasa sobre todo con los drivers para las tarjetas de red de 3 Com). Sin embargo, por razones de simplicidad, pruebe primero con el "autoprob- ing". Los drivers que se cargan mal se pueden descargar sin problemas. Si el hardware no se reconoce bien se puede intentar pasar parámetros al kernel para que éste pueda reconocer correctamente el componente en cuestión. Finalmente existen algunos componentes para los que existen varios drivers (NCR 53C810, Ultrastor). Según la información que tenemos, entre los dos Ultrastor-drivers no existe una ventaja importante del uno sobre el otro. 256 11.3 Los parámetros El BSD-driver para el NCR53C819 soporta también los demás productos NCR53C8xx (p. ej. 53C875) mientras que el NCR-driver antiguo soporta grabadoras de CD. En caso de duda pruebe simplemente cuál es el driver apropiado para el soporte de su hardware. 11.3. Los parámetros 11.3.1. Anotación y significado Las siguientes listas de parámetros del kernel, presentadas en orden alfabéti- co, mencionan los distintos dispositivos y sus respectivos drivers junto con los parámetros necesarios o admitidos. Los siguientes parámetros siempre aparecen con el mismo significado que se detalla a continuación: identificación de puerto hexadecimal, (p. ej. 0x300) Interrupción para el acceso al dispositivo (p. ej. 7) canal DMA a través del cual se comunica el dispositivo, (p. ej. 1) , zona de memoria hexadecimal para shared memory Cuadro 11.1: Nombres de variables para parámetros del kernel de uso frecuente A continuación se explican sobre todo los parámetros importantes para una in- stalación exitosa y no aquellos que pueden servir para fines muy especiales. Al indicar parámetros se debe tener en cuenta la diferencia entre mayúsculas y minúsculas. Después de la instalación se encuentra una introducción acerca de todas las posi- bilidades de los parámetros del kernel en el BootPrompt-HOWTO del directo- rio /usr/share/doc/howto y junto con las fuentes del kernel en el fichero /usr/src/linux/Documentation/kernel-parameters.txt. 257 11 Parámetros del kernel 11.3.2. Parámetros del kernel en el Boot-Prompt Los parámetros que se mencionan en este apartado solo se pueden pasar directa- mente al kernel, p. ej. mediante los `boot options' de SYSLINUX (en caso del disquete de arranque suministrado), al prompt de LILO o mediante loadlin. Si de- sea usar el driver en cuestión como módulo, consulte los parámetros aplicables, en este caso en el apartado 11.3.4 en la página 271. Aviso ¡Todos los parámetros importantes para un driver se deben indicar uno trás otro, separados por comas! No se debe agregar jamás un espacio entre los parámetros! Para indicar p. ej. los parámetros del driver aha1542 en el Bootprompt, se intro- duce lo siguiente (al comienzo siempre se indica el nombre del fichero que con- tiene el kernel; en los disquetes de arranque de SuSE el kernel se llama linux!): linux aha1542=0x300 Parámetros de arranque generales Mediante algunos parámetros generales es posible influir en el comportamiento general del kernel de Linux; ver la página del manual de bootparam (man 7 bootparam). Modo de reinicio (saliendo de Linux) reboot= donde puede tener los siguientes valores: variable valores / significado warm Reinicio en caliente (sin test de memoria) cold Reinicio en frío (con test de memoria) bios Reinicio por BIOS hard Reinicio por CPU-Crash (triple fault) Ejemplo: reboot=cold inicia la computadora después del "shutdown" de Linux como si se hubiera pulsado la tecla Reset. Protección de rangos E/S (Reservar) reserve=,,...,, Con este parámetro se pueden reservar rangos de E/S (entrada/salida) para el hardware que no resista el "autoprobing", reaccionando p. ej. con un cuelgue del sistema. Ejemplo: Con el comando: reserve=0x330,32 ether=5,0x330,eth0 258 11.3 Los parámetros se puede proteger una tarjeta de red sensible al autoprobing sin dejar de ini- cializarla. En el ejemplo dado la tarjeta tiene un rango de E/S de un ancho de 32 byte, que comienza a partir de la dirección de memoria 0x330 y el valor de la interrupción es 5. El significado de los parámetros de tarjetas de red se explica en el aparta- do 11.3.2 en la página 267. Indicar partición raíz root= variable valores / significado p. ej. /dev/hda1, /dev/sdb5 Ejemplo: root=/dev/hda5 Arranca el kernel e intenta montar la partición raíz del primer disco lógico en la partición extendida del primer disco duro (E)IDE. Cantidad de memoria RAM (RAM) mem= Puede indicar la cantidad de Memoria en bytes, kilo- bytes o megabytes. Los ejemplos muestran las diferentes anotaciones para 96 MB de RAM. Ejemplos: mem=96M mem=98304k En raras ocasiones es posible que la placa base o el chipset no puedan liberar toda la memoria ya que usan una cierta cantidad para "fines propios" (pueden ser hasta 512 K). Con el método de "prueba y error" sería posible determinar la cantidad exacta, pero para simplificar se puede suponer que se trata de 512 K; en nuestro ejemplo es lo siguiente: mem=5ff8000 Si la computadora es un Pentium clónico, el comando mem=nopentium puede hacer que trabaje una computadora que antes no funcionaba. Cantidad de CPUs en SMP maxcpus= Determinación de la cantidad máxima de CPUs para sistemas SMP. Ejemplo: maxcpus=1 Consola en puerto serie console=, Definición del dispositivo para conectar a la consola; es posible indicar el parámetro varias veces. 259 11 Parámetros del kernel Ejemplos: console=ttyS1,9600 console=tty0 Ver /usr/src/linux/Documentation/serial-console.txt, donde se mencionan varios ejemplos prácticos. Controladoras SCSI y el SCSI-subsistema Se puede influir en la mayoría de las controladoras SCSI a través de los parámet- ros. Unidades de cinta SCSI (Streamer) st=,[,] variable valores / significado Tamaño del búfer (número de bloques de 1 KB) Limite de escritura (número de bloques de 1 KB) (ingl. write threshold) Número máximo de búferes opcional (p. ej. 2) Ejemplo: st=1000,2000 Número de dispositivos SCSI por ID max_scsi_luns= variable valores / significado 1..8 Ejemplo: Si solo desea usar explícitamente el primer LUN (ingl. logical unit number), se debe definir el parámetro como: max_scsi_luns=1. Una aplicación típica son los lectores con múltiples CDs, para los que el número de CDs utilizables es igual al valor del parámetro max_scsi_luns. Adaptec AHA-1520 / 1522 / 1510 / 1515 / 1505 SCSI-hostadaptor aha152x=,,[,[,[,[, []]]]] variable valores / significado (SCSI-ID del hostadaptor) ID del hostadaptor, normal 7 (reconnect) 0, 1 (parity) 0, 1 comprobación de paridad (synchronous) 0, 1 transferencia sincrónica 100 retardo de bus, valor estándar 0, 1 C/H/S-transformación 260 11.3 Los parámetros Este driver permite usar muchas controladoras SCSI de bajo coste. Por ejem- plo, todas las tarjetas de sonido con controladora SCSI (aparte de la Pro Au- dio Spectrum) incorporan uno de estos chips de Adaptec y se pueden usar con este driver. Para todas las 152x no originales, es posible que se necesite siempre el cuar- to parámetro (RECONNECT) para hacerlas funcionar y este parámetro debe estar en `0' para casi todos los tipos; solamente la controladora AHA2825 necesita el valor `1'. Ejemplo: aha152x=0x300,10,7 Adaptec AHA-1540 / 1542 SCSI-hostadaptor aha1542=[,,[,]] variable valores / significado 2..15 1..64 5,6,7,8,10 Ejemplo: aha1542=0x300 Adaptec AHA-274x / 284x / 294x hostadaptor aic7xxx=[,[, ...]] variable valores / significado extended activa la transformación de la geometría de disco. no_reset evita resetear el Bus SCSI en la inicialización de la controladora SCSI. irq_trigger: Solo para sistema con bus Eisa 0: control por flanco del impulso, 1: control por nivel de impulso. verbose Para recibir más mensajes. reverse_scan Cuando la BIOS trata varias tarjetas en orden equivocado. 7895_irq_hack: -1 solo para placas madre Tyan II. pci_parity: sin definir pci_parity, la paridad es par: 0 sin control de paridad 1 paridad impar tag_info: Administración de colas para aumentar rendimiento (para expertos); ver las fuentes del kernel. 261 11 Parámetros del kernel Ejemplo: aic7xxx=no_reset, si la computadora se detiene reseteando el bus SCSI. Para controladoras SCSI a base de aic7xxx solo se necesitan parámetros si su funcionamiento es erróneo o insatisfactorio. La controladora AHA-2940 AU solo funciona bien a partir de la versión 1.3 de la BIOS; el soporte de Adaptec proporciona actualizaciones. ¡La controladora Adaptec 2920 no funciona con este driver, sino con el Fu- ture Domain-Driver (apartado 11.3.2 en la página siguiente)! AdvanSys SCSI-hostadaptor advansys=,,...,, Ejemplo: advansys=0x110,0x210 Este ejemplo indica al kernel que busque la controladora AdvanSys bajo las direcciones señaladas. AM53/79C974 SCSI-hostadaptor AM53C974=,,, variable valores / significado SCSI-ID de la controladora, típico 7 SCSI-ID del dispositivo 0..7 3,5,10 Mbit/s máxima tasa de transferencia Modo de transf.; 0 = asíncrono Cuando parece que la controladora "se atraganta" con el flujo de datos, se puede reducir la tasa máxima de transferencia para un dispositivo (p. ej. la primer unidad CD-ROM-SCSI /dev/scd0 con ID 5) en la cadena: Ejemplo: AM53C974=7,5,3,0 Se puede indicar una tasa y un modo de transferencia propios para cada dis- positivo, así que AM53C974=x,x,x,x puede aparecer hasta siete veces para una controladora. BusLogic SCSI-hostadaptor BusLogic= BusLogic= Ejemplo: BusLogic=0x300 262 11.3 Los parámetros variable valores / significado Dirección de la controladora, p. ej. 0x300 NoProbe No buscar la controladora NoProbeISA No buscar la controladora ISA NoProbePCI No buscar la controladora PCI NoSortPCI La BIOS determina el orden de las controladoras Multimaster MultiMasterFirst Multimaster por delante de Flashpoint FlashPointFirst Flashpoint por delante de Multimaster InhibitTargetInquiry Para dispositivos antiguos que tienen problemas con scsi_luns > 0 TraceProbe mensajes adicionales cuando la controladora se inicializa TraceHardwareReset mensajes adicionales en un reset por hardware de la controladora TraceConfiguration mensajes adicionales en la configuración de la controladora TraceErrors mensajes de error de los dispositivos conectados Debug todos los mensajes Para esta controladora hay más parámetros de configuración que sirven para afinar su ajuste. Se explica en /usr/src/linux/drivers/scsi/ README.BusLogic. Future Domain TMC-16x0-SCSI-hostadaptor fdomain=,[,] variable valores / significado SCSI-ID de la controladora 0..7 Se usa este driver también para la controladora SCSI Adaptec 2920. Ejemplo: fdomain=0x140,11,7 Future Domain TMC-885/950-hostadaptor tmc8xx=, Ejemplo: tmc8xx=0xca000,5 Familia de NCR 5380 SCSI-hostadaptor ncr5380=,, Ejemplo: ncr5380=0x340,10,3 263 11 Parámetros del kernel Familia de NCR 53c400 SCSI-hostadaptor ncr53c400=, Ejemplo: ncr53c400=0x350,5 Este driver puede trabajar p. ej. con la controladora Trantor T130B, que tiene una difusión amplia. Familia de NCR 53c406a SCSI-hostadaptor ncr53c406a=[,[,]] variable valores / significado 0, sin uso de un modo-PIO rápido Ejemplo: ncr53c406a=0x330,10,0 Seagate ST01/02 SCSI-hostadaptor st0x=, Ejemplo: st0x=0xc8000,5 Trantor T128/128F/228 SCSI-hostadaptor t128=, Ejemplo: t128=0x340,10 Controladoras (E)IDE-Controller y dispositivos ATAPI Hay muchos parámetros a disposición para configurar los dispositivos conecta- dos. ATAPI-CD-ROM y otros dispositivos en la controladora (E)IDE hd= variable valores / significado a, b, . . . , h 1º a 8º disco duro a, b, c, d, donde: a Maestro en 1ª controladora IDE b Esclavo en 1ª controladora IDE c Maestro en 2ª controladora IDE d Esclavo en 2ª controladora IDE etc. noprobe, si hay problemas con la comprobación de un disco duro none ignorar la entrada en la CMOS y no probar nowerr ignorar WREE_STAT-Bit cdrom no reconocido o reconocido como disco o fallo en arranque autotune uso del modo PIO más rápido slow después de cada acceso se introduce una pausa larga, lo que realmente ralentiza mucho pero a veces es el último recurso. 264 11.3 Los parámetros El driver soporta hasta seis controladoras IDE; en cada una puede haber ­ según la especificación ATA-2 ­ hasta 2 dispositivos. Un lector CD-Rom como maestro en la segunda controladora se anuncia con hdc=cdrom; ver /usr/src/linux/Documentation/ide.txt. Ejemplo: hdd=cdrom Disco duro hd=,,[,[,]] variable valores / significado a, b, . . . , h 1º a 8º disco duro número de cilindros número de cabezales número de sectores cilindro a partir del cual se aplica la compensación de escritura Interrupción Si la BIOS es un poco antigua, es posible que no se reconozca bien la ge- ometría del disco. En tal caso se pueden pasar los parámetros correctos al kernel para que éste la pueda reconocer correcta- y completamente. Ejemplo: hdc=1050,32,64 Chipsets de controladoras EIDE ide0= Hay algunas controladoras EIDE con chipsets defectuosos o con problemas a la hora de usar la segunda controladora. Por lo cual existe para muchas de ellas un soporte especial en el kernel que se debe activar con uno de sus parámetros. Están soportados los chipsets problemáticos que figuran en la tabla 11.2 en la página siguiente. CMD 640 Este chipset se encuentra en muchas placas base y tiene bastantes defectos, por lo cual el kernel in- corpora un soporte especial que lo reconoce para evitar problemas. Además, en muchos casos, so- lo por el código especial se puede usar la segunda controladora. El chipset se reconoce automática- mente en sistemas PCI , pero en aquellos a base de VLB hay que poner el parámetro de kernel: ide0=cmd640_vlb . Cuadro 11.2: Continúa en la página siguiente... 265 11 Parámetros del kernel RZ 1000 Este chip se usa en muchas placas base con chipset Neptun siendo defectuoso, sin embargo, al activar su soporte, el sistema deja de presentar errores aunque trabaje un poco más lento. No se precisa de ningún parámetro del kernel para acti- varlo. DTC-2278 Es preciso activar este driver especial mediante el comando ide0=dtc2278 para poder usar la segunda controladora. Holtek HT6560B Para activar la segunda controladora se necesita el siguiente parámetro: ide0=ht6560b. QDI QD6580 Con este driver se consigue mayor velocidad de transferencia: ide0=qd6580. UMC 8672 Para activar la segunda controladora se necesita el siguiente parámetro: ide0=umc8672. ALI M1439/M1445 Para activar la segunda controladora se necesita el siguiente parámetro: ide0=ali14xx. PROMISE DC4030 Para activar la segunda controladora se necesita el siguiente parámetro: ide0=dc4030. ¡Lectores CD-ROM y unidades de cinta (streamer) aún no están soportados! Cuadro 11.2: Chipsets EIDE especiales Si el chipset no se encuentra entre los reconocidos como defectuosos pero tampoco se reconoce bien, se pueden pasar los siguientes parámetros en lugar de los anteriormente mencionados: ide=[,[,]] variable valores / significado número controladora, normalmente 0 o 1, pero también 3 o 4 dirección base de la controladora, normalmente 0x1f0, 0x170, 0x1e8 o 0x168 registro de control de la controladora, normalmente 0x3f6, 0x376, 0x3ee o 0x36e interrupción de la controladora, normalmente 14, 15, 11 o 10 Si el chipset no se encuentra entre los reconocidos como defectuosos, no se reconoce bien y además los problemas persisten, se puede pasar los sigu- ientes parámetros en lugar de los anteriormente mencionados: ide= 266 11.3 Los parámetros variable valores / significado Número de controladora, normalmente 0 o 1, pero también 3 o 4. autotune para conseguir el modo PIO más rápido no lo soportan todos los chipsets. noautotune sin búsqueda del mejor PIO. serialize sin simultaneidad de operaciones de la siguiente controladora. reset resetear la controladora después de probar dma si es posible usar y configurar DMA Otros dispositivos Tarjeta de red Ethernet ether=,[,[,...]], Los distintos parámetros desde hasta pueden tener un sig- nificado diferente según el driver. Como máximo se indican dos parámetros de los que el primero es la dirección del comienzo del rango de memoria compartida (shared memory) y el segundo es el final del rango. El primer argumento no numérico se trata como el nombre. Interrupción usada; 0 para autoprobing. Dirección de puerto; 0 para autoprobing. Dirección del comienzo del rango de memoria comparti- da. Algunos drivers usan los 4 bits bajos para el debug- level; el Lance-driver usa estos bits para el canal DMA. Dirección del fin del rango de memoria compartida; el 3COM 3c503-driver usa este parámetro para distinguir entre transceptores internos y externos. Tipo de transceptor. La tarjeta Cabletron E21XX usa los 4 bits bajos para se- leccionar el medio. Nombre de la interfaz (típicamente eth0). Cuadro 11.3: Variables de tarjetas de red Ethernet La aplicación más frecuente de este parámetro es la de comunicar al kernel que existe más de una tarjeta para ser reconocida; normalmente solo busca una tarjeta red y para que busque dos se puede usar el comando: ether=0,0,eth1 Observe que al indicar 0 para la interrupción se solicita al driver efectuar el autoprobing, con lo cual prueba automáticamente diferentes valores. 267 11 Parámetros del kernel Un ejemplo más complejo sería: ether=10,0x310,3,0x3c509,eth0 Mediante estos parámetros la primera tarjeta 3c509 que se encuentre, se con- figura con la interrupción IRQ 10, la dirección de memoria 0x310 y con el conector 10base2 (BNC). Disquetera floppy=,,cmos variable valores / significado 0, 1, 2, 3 0 - Adopción de valores de la CMOS 1 - 5.25-pulgadas DD, 360 KB 2 - 5.25-pulgadas HD, 1,2 MB 3 - 3.5-pulgadas DD, 720 KB 4 - 3.5-pulgadas HD, 1,44 MB 5 - 3.5-pulgadas ED, 2,88 MB 6 - 3.5-pulgadas ED, 2,88 MB 16 - desconocido o no instalado floppy= La variable puede tener los siguientes valores (tabla 11.4 en la página siguiente): one_fdc exactamente una disquetera. asus_pci evita el acceso a la 3ª o 4ª disquetera. daring aumenta las prestaciones para con- troladoras no problemáticas. 0,daring lo contrario de daring. [,]two_fdc Si no se da ningún valor a y hay dos controladoras de disquete, la segunda recibe la dirección de puerto 0x370. thinkpad computadoras-IBM Thinkpad. 0,thinkpad no es computadora-Thinkpad. omnibook computadoras Omnibook de HP. nodma para computadoras Omnibook. dma estándar nofifo en caso que aparezca "Bus master arbitration error". fifo estándar. 0xX,fifo_depth barrera FIFO estándar 0xA. unexpected_interrupts Alertar cuando salen interrupciones inesperadas. Cuadro 11.4: Continúa en la página siguiente... 268 11.3 Los parámetros no_unexpected_interrupts Este es el contrario de unexpected_interrupts. L40SX Lo mismo de arriba. Cuadro 11.4: Valores para el parámetro de kernel floppy Busmouse de Logitech bmouse= Controladora de disco duro XT xd=,,, 11.3.3. Lectores CD-ROM en controladora propietaria Aztech CDA268-01 CD-ROM aztcd=[,0x79] Solo hace falta indicar el valor 0x79 en caso de no conocer la versión del "firmware". Ejemplo: aztcd=0x320 Goldstar R420-CD-ROM gscd= Mitsumi-CD-ROM mcd=, Ejemplo: mcd=0x300,10 Mitsumi-CD-ROM (Multisession) mcdx=,[,,] Ejemplo: mcd=0x300,10 Se soportan hasta 5 lectores Mozart Interface isp16=[[,[,]]][[,]] variable valores / significado Sanyo, Panasonic, Sony, Mitsumi Este driver da soporte a lectores CD-ROM conectados a una tarjeta de sonido del nombre ISP16, MAD16 o Mozart. El valor de la variable re- sulta del conector en la tarjeta de sonido a la que esta conectado el lector CD-ROM. Ejemplo: isp16=0x340,10,3,Sony 269 11 Parámetros del kernel Optics Storage 8000 AT CD-ROM optcd= Ejemplo: optcd=0x340 Philips CM206 CD-ROM cm206=, Ejemplo: cm206=0x340,10 Pro Audio Spectrum 16 - SCSI-hostadaptor pas16=, Sobre la tarjeta de sonido Pro Audio Spectrum 16 se encuentra una contro- ladora SCSI cuyas ajustes se pueden pasar al kernel con este parámetro. Ejemplo: pas16=0x340,10 Si la tarjeta no se reconoce bien se puede usar sin interrupción. En tal caso, la interrupción toma el valor 255. Ejemplo: pas16=0x340,255 Sanyo CD-ROM sjcd= Ejemplo: sjcd=0x340 Sony CDU 31/33 A cdu31a=,[,PAS] En el caso de este driver, el kernel ya no efectúa más el "autoprobing", así que la indicación de los parámetros es obligatoria. Ejemplo: cdu31a=0x340,5 Si no hay ninguna interrupción prevista para esta unidad, solo se puede ac- ceder a ella por "polling"; en tal caso el valor IRQ debe ser 0. Ejemplo: cdu31a=0x340,0 Si este lector esta conectado a una tarjeta Pro Audio Spectrum, el parámetro podría ser el siguiente: Ejemplo: cdu31a=0x1f88,0,PAS Sony CDU 535 sonycd535=, Ejemplo: sonycd535=0x340,10 Soundblaster Pro 16 MultiCD sbpcd=, variable valores / significado LaserMate, SPEA, SoundBlaster, SoundScape, Teac 16bit Ejemplo: sbpcd=0x230,SoundBlaster 270 11.3 Los parámetros El puerto paralelo Puerto paralelo parport=,[ [parport=,[ [parport=,[]]]]] variable valores / significado Dirección Interrupción Ejemplo: parport=0x3bc parport=0x378,7 parport=0x278,auto Impresora en el puerto paralelo lp= [lp= [lp=]] variable valores / significado Puerto paralelo Ejemplo: lp=parport0 lp=parport2 11.3.4. Parámetros de modprobe En este apartado se mencionan los parámetros que se pueden usar cuando un driver se carga como módulo. Si no fuera posible cargar un determinado driver con ningún parámetro, se tendrá que integrar en un kernel monolítico. Algunos drivers todavía no existen como módulos y otros solo reconocen bien el hardware cuando forman parte del kernel. En todo caso es recomendable probar en un principio si el driver en cuestión puede ser cargado como módulo. Si un driver se carga como módulo, todas las variables que se usan internamente pueden ser modificadas mediante los valores en la línea de comando. Por ejem- plo, el driver para tarjetas NE2000 usa la variable io para especificar el rango de entrada y salida (I/O) ocupado por la tarjeta. El comando correcto para cargar este módulo es (ver también el apartado 10.2 en la página 248): tierra:/ # modprobe ne io=0x300 irq=10 No se debe agregar ningún espacio por delante o por detrás del `=' cuando se están indicando parámetros. Además, los valores hexadecimales deben llevar siempre por delante un `0x'. Aviso ¡En caso de indicar varios parámetros para un solo driver, estos deben estar separados con espacios! Se trata de una diferencia fundamental en comparación al traspaso de parámetros en el prompt de LILO, ya que en éste no debe aparecer ningún espacio entre los parámetros de un driver. Los parámetros que se indican a continuación, se pueden pasar al fichero /etc/modules.conf. En éste es posible indicar para cada módulo una serie 271 11 Parámetros del kernel de parámetros que se colocan en líneas individuales. Una línea de tales carac- terísticas es la siguiente: options = ... donde: variable valores / significado Nombre del módulo sin extensión .o Parámetro 1 Valor, asignado al parámetro 1 La entrada para la tarjeta NE2000 del ejemplo de arriba sería entonces: options ne io=0x300 irq=10 A partir de aquí se apuntan los parámetros más importantes para la mayoría de los módulos. Controladoras SCSI y el SCSI-subsistema Adaptec AHA-1520 / 1522 / 1510 / 1515 / 1505 SCSI-hostadaptor Nombre del módulo: aha152x.o variable valores / significado SCSI-ID de controladora; por defecto 7 ; 0, 1 parity; 0, 1 modo de operación sincrónico; 0, 1 retardo del bus; por defecto 100 Transformación de geometría de disco; 0, 1 Igual al prompt de arranque: Ejemplo: modprobe aha152x aha152x=0x340,10,7,1,1,0,100,0 Para una segunda controladora: Ejemplo: modprobe aha152x aha152x1=0x140,12,7,1,1,0,100,0 Adaptec AHA-1540 / 1542 SCSI-hostadapter Nombre del módulo: aha1542.o variable valores / significado ; por defecto 0x330 y 0x334 2..15 1..64 5,6,7,8,10; por defecto 5 Igual al prompt de arranque: Ejemplo: modprobe aha1542 aha1542=0x130 272 11.3 Los parámetros Future Domain TMC-16x0-hostadaptor Nombre del módulo: fdomain.o Esta controladora funciona también con la controladora SCSI Adaptec 2920. fdomain=,[,] variable valores / significado Como en el prompt de arranque: Ejemplo: modprobe fdomain fdomain=0x140,11,7 NCR 5380 y NCR 53C400 SCSI-Hostadaptorfamily Nombre del módulo: g_NCR5380.o parámetros valores ncr_addr ncr_irq ; apapar con 255 ncr_dma ncr_5380 1 para el tipo NCR5380 ncr_53c400 1 para el tipo NCR53C400 Para la controladora NCR5380: Ejemplo: modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1 Para la controladora NCR53C400 con interrupciones apagadas: Ejemplo: modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1 Este driver funciona también con la controladora Trantor T130B que tiene amplia difusión. Tarjetas de red 3Com 3c501 / 3c503 / 3c505 / 3c507 tarjetas de red Nombre del módulo: 3c501.o,3c503.o,3c505.o,3c507.o parámetros valores io irq Ejemplo: modprobe 3c505 io=0x300 irq=10 3Com 3c509 / 3c579 tarjetas de red Nombre del módulo: 3c509.o 273 11 Parámetros del kernel parámetros valores irq xcvr 0: interno; 1: externo Ejemplo: modprobe 3c509 irq=10 xcvr=0 3Com 3c515 tarjeta de red Nombre del módulo: 3c515.o Ejemplo: modprobe 3c515 3Com 3c59x / 3c90x tarjetas de red ("Vortex"/"Boomerang") Nombre del módulo: 3c59x.o En el caso de las computadoras Compaq (PCI) se pueden probar los sigu- ientes parámetros: parámetros valores compaq_ioaddr compaq_irq compaq_prod_id Ejemplo: modprobe 3c59x compaq_irq=10 Allied Telesis AT1700 tarjeta de red Nombre del módulo: at1700.o parámetros valores io irq Ejemplo: modprobe at1700 io=0x300 irq=10 Cabletron E21xx tarjeta de red Nombre del módulo: e2100.o parámetros valores io irq mem xcvr 0: interno; 1: externo Ejemplo: modprobe e2100 io=0x300 irq=10 mem=0xd000 xcvr=0 Digital DE425 / 434 / 435 / 450 / 500 tarjetas de red Nombre del módulo: de4x5.o 274 11.3 Los parámetros io=0x parámetros valores bus Número del bus PCI, normal 0 id-dispositivo Número del dispositivo PCI Estos datos se muestran durante el arranque cuando la PCI-BIOS es "relati- vamente nueva". En Linux se pueden ver con: tierra: # cat /proc/pci Ejemplo: modprobe de4x5 io=0x007 Digital DEPCA / DE10x / DE20(012) / DE42, EtherWORKS tarjetas de red Nombre del módulo: depca.o parámetros valores io irq mem adaptor_name z.B. DEPCA, de100, de101, de200, de201, de202, de210, de422 Ejemplo: modprobe depca io=0x300 irq=10 EtherWORKS 3 (DE203, DE204, DE205) tarjetas de red Nombre del módulo: ewrk3.o parámetros valores io irq Ejemplo: modprobe ewrk3 io=0x300 irq=10 Intel EtherExpress 16 tarjeta de red Nombre del módulo: eexpress.o parámetros valores io irq Ejemplo: modprobe eexpress io=0x300 irq=10 275 11 Parámetros del kernel Intel EtherExpressPro tarjeta de red Nombre del módulo: eepro.o parámetros valores io irq mem Ejemplo: modprobe eepro io=0x300 irq=10 mem=0xd000 Intel EtherExpressPro 100 tarjeta de red Nombre del módulo: eepro100.o La tarjeta Intel EtherExpressPro incorpora los chips i82557/i82558. parámetros valores options 16 Operación en dúplex 32 Solo operación en 100 MBit 64 Solo operación en 10 MBit Ejemplo: modprobe eepro100 options=48 Con este ejemplo se establece operación dúplex y operación en 100 Mbit al mismo tiempo (48 = 32 + 16). SMSC 83c170 Tipo "EPIC" Nombre del módulo: epic100.o parámetros valores debug Mensajes de depurar 0..6 options Autodetectar: 0; para 10base2/BNC: 1 full_duplex Autodetectar: 0; Full-Duplex: 1 Ejemplo: modprobe epic100 debug=1 full_duplex=0,1 El ejemplo configura dos tarjetas; para la segunda se configura explícita- mente Full-Duplex. En http://www.scyld.com/network/epic100.html se encuentran parámetros de configuración adicionales. Fujitsu FMV-181/182/183/184 tarjetas de red Nombre del módulo: fmv18x.o parámetros valores io irq Ejemplo: modprobe fmv18x io=0x300 irq=10 276 11.3 Los parámetros HP PCLAN+ (27247B and 27252A) tarjeta de red Nombre del módulo: hp-plus.o parámetros valores io irq Ejemplo: modprobe hp-plus io=0x300 irq=10 HP PCLAN (27245 / 27xxx) Nombre del módulo: hp.o parámetros valores io irq Ejemplo: modprobe hp io=0x300 irq=10 HP 10/100 VG-AnyLAN (ISA, EISA, PCI) tarjetas de red Nombre del módulo: hp100.o parámetros valores hp100_port Ejemplo: modprobe hp100 hp100_port=0x300 ICL EtherTeam 16i / 32 tarjeta de red Nombre del módulo: eth16i.o parámetros valores io irq Ejemplo: modprobe eth16i io=0x300 irq=10 Novell NE2000 / NE1000 tarjetas de red Nombre del módulo: ne.o parámetros valores io irq bad bad, solo si la tarjeta no se reconoce Ejemplo: modprobe ne io=0x300 irq=10 277 11 Parámetros del kernel NI6510 (AM7990 "lance" Chip) tarjeta de red Nombre del módulo: ni65.o parámetros valores io irq dma Ejemplo: modprobe ni65 io=0x300 irq=10 SMC Ultra tarjeta de red Nombre del módulo: smc-ultra.o parámetros valores io irq Ejemplo: modprobe smc-ultra io=0x300 irq=10 SMC 9194 tarjeta de red Nombre del módulo: smc9194.o parámetros valores io irq if_port variable valores / significado 0 auto 1 TP 2 AUI, 10base2 Ejemplo: modprobe smc9194 io=0x300 irq=10 if_port=2 Western Digital WD80x3 tarjeta de red Nombre del módulo: wd.o parámetros valores io irq mem mem_end Ejemplo: modprobe wd io=0x300 irq=10 278 11.3 Los parámetros IBM Tropic chipset Token Ring tarjeta de red Nombre del módulo: ibmtr.o parámetros valores io irq mem_start Ejemplo: modprobe ibmtr io=0x300 D-Link DE620 Pocket-Adaptor tarjeta de red Nombre del módulo: de620.o parámetros valores io irq bnc 1 usando conector BNC utp 1 usando conector UTP clone 1 para tarjeta clónica Ejemplo: modprobe de620 io=0x300 irq=10 bnc=1 utp=0 Lectores CD-ROM propietarios Los siguientes parámetros son para activar lectores CD-ROM propietarios que están conectados a una controladora especial. Los dueños de una de estas "an- tiguas joyas" probablemente ya lo saben. . . Aztech CDA268-01 CD-ROM Nombre del módulo: aztcd.o parámetros valores aztcd Ejemplo: modprobe aztcd aztcd=0x300 Goldstar R420-CD-ROM Nombre del módulo: gscd.o parámetros valores gscd Ejemplo: modprobe gscd gscd=0x300 Mitsumi CD-ROM Nombre del módulo: mcd.o mcd=, Ejemplo: modprobe mcd mcd=0x300,10 279 11 Parámetros del kernel Mitsumi-CD-ROM (Multisession) Nombre del módulo: mcdx.o mcdx=,[,,] En el caso de varios drivers se pueden repetir los comandos y hasta cuatro veces. Tarjeta de sonido "Mozart" con interfaz de CD-ROM Nombre del módulo: isp16.o isp16_cdrom_base= isp16_cdrom_irq= isp16_cdrom_dma= isp16_cdrom_type= variable valores / significado Sanyo, Panasonic, Sony, Mitsumi Este no es realmente un driver para CD-ROM, sino que configura la inter- fase de los lectores CD-ROM conectados a una tarjeta de sonido de ISP16, MAD16 o Mozart. Después de cargar este driver solamente se configura la interfaz y el driver del CD-ROM se carga posteriormente. El valor de la variable resulta del conector en la tarjeta de sonido a la que esta conectado el lector CD-ROM. Ejemplo: modprobe isp16 isp16_cdrom_base=0x300 isp16_cdrom_irq=10 isp16_cdrom_dma=1 isp16_cdrom_type=sony Optics Storage 8000 AT CD-ROM Nombre del módulo: optcd.o parámetros valores optcd Ejemplo: modprobe optcd optcd=0x300 Philips CM206 CD-ROM Nombre del módulo: cm206.o cm206=, Ejemplo: modprobe cm206 cm206=0x300,10 Sanyo CD-ROM Nombre del módulo: sjcd.o parámetros valores sjcd Ejemplo: modprobe sjcd sjcd=0x300 280 11.3 Los parámetros Sony CDU 31/33 A Nombre del módulo: cdu31a.o parámetros valores cdu31a_port cdu31a_irq Ejemplo: modprobe cdu31a cdu31a_port=0x300 cdu31a_irq=10 Sony CDU 535 Nombre del módulo: sonycd535.o parámetros valores sonycd535 Ejemplo: modprobe sonycd535 sonycd535=0x300 Soundblaster Pro 16 MultiCD Nombre del módulo: sbpcd.o sbpcd=, donde puede tener los siguientes valores: variable valores / significado 0 LaserMate 1 SoundBlaster 2 SoundScape 3 Teac16bit Ejemplo: modprobe sbpcd sbpcd=0x300,0 Tarjetas de sonidos y sus chipsets Desde la versión 2.2.xx del kernel, el soporte de tarjetas de sonido se realiza por módulos y se controla mediante varios parámetros. AD1816 Chip Nombre del módulo: ad1816.o Entre otras se soporta: TerraTec Base 1, TerraTec Base 64, HP Kayak, Acer FX-3D, SY-1816, Highscreen Sound-Boostar 32 Wave 3D parámetros valores io irq dma dma2 ad1816_clockfreq 281 11 Parámetros del kernel Ejemplo: modprobe ad1816 io=0x530 irq=5 dma=1 dma2=3 ad1816_clockfreq=33000 AD1848/CS4248 Chip (MSS) Nombre del módulo: ad1848.o parámetros valores io irq dma dma2 type deskpro_xl Driver genérico OPLx Nombre del módulo: adlib_card.o parámetros valores io Ejemplo: modprobe adlib_card io=0x330 Crystal 423x chipsets Nombre del módulo: cs4232.o parámetros valores io irq dma dma2 Ejemplo: modprobe cs4232 io=0x530 irq=5 dma=1 dma2=3 Ensoniq 1370 chipset Nombre del módulo: es1370.o Ver también PCI64/128. parámetros valores joystick 1: activar Joystick lineout 1: cambiar Line-in en Line-out micz impedancia del micrófono Ejemplo: modprobe es1370 joystick=1 lineout=1 282 11.3 Los parámetros Creative Ensoniq 1371 chipset Nombre del módulo: es1371.o Ver también PCI64/128. parámetros valores joystick Los valores válidos para son 0x200, 0x208, 0x210 y 0x218. Ejemplo: modprobe es1371 joystick=0x200 Gravis Ultrasound Nombre del módulo: gus.o parámetros valores io irq dma dma16 type gus16 no_wave_dma db16 MAD16 Nombre del módulo: mad16.o Soporta OPTi 82C928, OAK OTI-601D, OPTi 82C929, OPTi 82C930 y OP- Ti 82C924. parámetros valores io irq dma dma16 Ejemplo: modprobe mad16 io=0x530 irq=7 dma=0 dma16=1 Turtle Beach Maui y Tropez Nombre del módulo: maui.o parámetros valores io irq Ejemplo: modprobe maui io=0x530 irq=5 283 11 Parámetros del kernel MPU401 Nombre del módulo: mpu401.o parámetros valores io Ejemplo: modprobe mpu401 io=0x330 Turtle Beach MultiSound Nombre del módulo: msnd.o Ejemplo: modprobe msnd Turtle Beach Classic/Monterey/Tahiti Nombre del módulo: msnd_classic.o parámetros valores io irq mem write_ndelay major fifosize calibrate_signal Ejemplo: modprobe msnd_classic io=0x290 irq=7 mem=0xd0000 Turtle Beach Pinnacle/Fiji Nombre del módulo: msnd_pinnacle.o Esta tarjeta trabaja con los siguientes parámetros, adicionales a los de Turtle Beach Classic/Monterey/Tahiti (apartado 11.3.4): parámetros valores digital cfg reset mpu_io mpu_irq ide_io0 ide_io1 ide_irq joystick_io Ejemplo: modprobe msnd_pinnacle cfg=0x250 io=0x290 irq=5 mem=0xd0000 284 11.3 Los parámetros OPL3 Nombre del módulo: opl3.o parámetros valores io Ejemplo: modprobe opl3 io=0x388 OPL3-SA1 Nombre del módulo: opl3sa.o parámetros valores io irq dma dma2 mpu_io mpu_irq Ejemplo: modprobe opl3sa io=0x530 irq=11 dma=0 dma2=1 mpu_io=0x330 mpu_irq=5 YMF711, YMF715, YMF719, OPL3-SA2, OPL3-SA3, OPL3-SAx Nombre del módulo: opl3sa2.o parámetros valores io irq dma dma2 mss_io mpu_io Ejemplo: modprobe opl3sa2 io=0x370 irq=7 dma=0 dma2=3 mss_io=0x530 mpu_io=0x330 Pro Audio Spectrum Nombre del módulo: pas2.o 285 11 Parámetros del kernel parámetros valores io irq dma dma16 sb_io sb_irq sb_dma sb_dma16 joystick symphony broken_bus_clock Personal Sound System (ECHO ESC614) Nombre del módulo: pss.o parámetros valores pss_io mss_io mss_irq mss_dma mpu_io mpu_irq pss_mixer 1 (activar) o 0 Sound Blaster y clónicos Nombre del módulo: sb.o parámetros valores io irq dma dma16 mpu_io mad16 1 (activar) trix 1 (activar) pas2 1 (activar) sm_games 1 (activar) acer 1 (activar), para Acer Notebooks mwave_bug 1 (activar) Ejemplo: Ejemplo: modprobe sb io=0x220 irq=5 dma=1 dma16=5mpu_io=0x330 286 11.3 Los parámetros Aztech Sound Galaxy Nombre del módulo: sgalaxy.o parámetros valores io irq dma dma2 sgbase S3 Sonic Vibes Nombre del módulo: sonicvibes.o Sin parámetros. Ensoniq SoundScape Nombre del módulo: sscape.o parámetros valores io irq dma mss mpu_io mpu_irq spea 1 MediaTrix AudioTrix Pro Nombre del módulo: trix.o parámetros valores io irq dma dma2 sb_io sb_irq sb_dma mpu_io mpu_irq UART401 Nombre del módulo: uart401.o 287 11 Parámetros del kernel parámetros valores io irq Ejemplo: modprobe io=0x330 irq=9 UART6850 Nombre del módulo: uart6850.o parámetros valores io irq Sound Blaster DSP chipsets Nombre del módulo: v_midi.o Sin parámetros. Turtle Beach Maui, Tropez, Tropez Plus Nombre del módulo: wavefront.o parámetros valores io irq Ejemplo: modprobe wavefront io=0x200 irq=9 El puerto paralelo La utilización del puerto paralelo es compleja. Después de su configuración hay un sub-sistema propio a disposición ; ver apartado 7.4.3 en la página 187. . Puerto paralelo Nombre del módulo: parport.o Ejemplo: modprobe parport Puerto paralelo ­ específico Nombre del módulo: parport_pc.o parámetros valores io irq Para tener p. ej. 3 puertos al estilo PC con uno en la dirección 0x3bc sin IRQ, otro en la dirección 0x378 con IRQ 7 y el tercero en la dirección 0x278 con el IRQ detectado automáticamente, se debe indicar (¡en una línea!): Ejemplo: modprobe parport_pc io=0x3bc,0x378,0x278 irq=none,7,auto 288 11.3 Los parámetros Driver de impresora Nombre del módulo: lp.o parámetros valores parport Ejemplo: modprobe lp parport=0,2 Dispositivos IDE en el puerto paralelo Nombre del módulo: paride.o ¡Al usar una cadena de dispositivos "Paride" en un puerto paralelo, es preciso cargar primero parport.o (ver apartado 11.3.4 en la página anterior)! Ejemplo: modprobe paride Si es posible, utilice el puerto paralelo en "modo EPP" ; para asegurarse, entre a la BIOS de la computadora y ajústelo. Driver de protocolo IDE de bajo nivel para el puerto paralelo Nombre del módulo: .o Protocolo Dispositivo aten ATEN EH-100 (HK) bpck Microsolutions backpack (US) comm DataStor (old-type) "commuter" adapter (TW) dstr DataStor EP-2000 (TW) epat Shuttle EPAT (UK) epia Shuttle EPIA (UK) fit2 FIT TD-2000 (US) fit3 FIT TD-3000 (US) friq Freecom IQ cable (DE) frpw Freecom Power (DE) kbic KingByte KBIC-951A and KBIC-971A (TW) ktti KT Technology PHd adapter (SG) on20 OnSpec 90c20 (US) on26 OnSpec 90c26 (US) Ejemplo: modprobe epat Disco duro IDE en puerto paralelo Nombre del módulo: pd.o parámetros valores verbose Cargue primero parport y el driver de bajo nivel (ver apartado 11.3.4). Ejemplo: modprobe pd verbose=1 289 11 Parámetros del kernel ATAPI CD-ROM en puerto paralelo Nombre del módulo: pcd.o Cargue primero parport y el driver de bajo nivel (ver apartado 11.3.4 en la página anterior). Ejemplo: modprobe pcd Disquetera ATAPI en puerto paralelo Nombre del módulo: pf.o Cargue primero parport y el driver de bajo nivel (ver apartado 11.3.4 en la página anterior). Ejemplo: modprobe pf Streamer ATAPI en puerto paralelo Nombre del módulo: pt.o Cargue primero parport y el driver de bajo nivel (ver apartado 11.3.4 en la página anterior). Ejemplo: modprobe pt Dispositivo ATAPI genérico en puerto paralelo Nombre del módulo: pg.o Cargue primero parport y el driver de bajo nivel (ver apartado 11.3.4 en la página anterior). Ejemplo: modprobe pg 290 12 Actualización del sistema ­ Gestión de paquetes 12 Actualización del sistema ­ Gestión de paquetes 12.1. Actualización de SuSE Linux SuSE Linux ofrece la posibilidad de actualizar un sistema existente sin necesidad de instalar todo desde cero. Hay que distinguir entre la actualización de algunos paquetes y la del sistema completo. Es un fenómeno conocido, el hecho de que el software "crezca" de versión en versión, por lo que se recomienda averiguar de cuánto espacio se dispone en las particiones, usando df, antes de la actualización. Si se tiene la impresión de estar un poco "justo" de espacio, se recomienda también hacer un respaldo de los datos y modificar las particiones (aumentar su tamaño). Es difícil determinar la cantidad de espacio necesario ya que éste depende en gran medida de las particiones actuales, del software elegido y desde qué versión se va a realizar la actualización. Aviso Para obtener información sobre cambios o suplementos posteriores a la impresión de este libro, se puede consultar el fichero README o bajo DOS/Windows el fichero README.DOS ­ ambos se encuentran en el CD. 12.1.1. Preparativos Antes de realizar cualquier actualización se deben copiar los ficheros de con- figuración a un medio independiente (cinta, disquetes, unidad-ZIP, etc.); sobre todo se trata de los ficheros contenidos en /etc pero también se debe tener en cuenta el directorio /var/lib donde están los ficheros de configuración de los "News" o de xdm. Además se deben respaldar los datos actuales de los usuarios en /home; son los directorios HOME. Este respaldo se debe efectuar como Ad- ministrador de sistema (`root') ya que solo `root' tiene los derechos de leer todos los ficheros locales. Antes de comenzar con la actualización se debe anotar el nombre de la partición raíz que se obtiene con el comando: tierra: # df / En el caso de la salida en pantalla 12.1.1 en la página siguiente, /dev/hda7 es la partición raíz que se debe anotar, ya que es ésta la que está montada bajo /. 291 12 Actualización del sistema ­ Gestión de paquetes Filesystem Size Used Avail Use % Mounted on /dev/hda7 3.0G 1.1G 1.7G 38 % / /dev/hda5 15M 2.4M 12M 17 % /boot shmfs 141M 0 141M 0 % /dev/shm /dev/hda1 1.9G 189M 1.7G 10 % /dos Mensaje en pantalla 12.1.1: Resumen de particiones con df -h Truco Antes de actualizar PostgreSQL (paquete postgres), se deben volcar (in- gl. dump) todos los bancos de datos al disco; ver página del manual de pg_dump (man pg_dump). Evidentemente esto solo es necesario si se ha usado PostgreSQL antes de la actualización. Ahora hace falta decidir entre una actualización en modo texto con YaST o en modo gráfico con YaST2. Actualizando una versión anterior a SuSE Linux 6.0 hay que usar siempre YaST, procediendo como se explica en el apartado 12.1.3 en la página siguiente. Se pueden actualizar todas las versiones 6.x con YaST2. 12.1.2. Actualización con YaST2 Después de los preparativos del apartado 12.1.1 en la página anterior se puede arrancar la computadora. Aviso La posibilidad de utilizar YaST2 se limita a la actualización de las ver- siones 6.x de SuSE Linux. Para actualizar las versiones anteriores (p. ej. SuSE Linux 5.3) hay que usar YaST1; ver el apartado 12.1.3 en la página siguiente. Arranque YaST2 y seleccione `Software' y después `Actualización del sistema'. Esta opción ejecuta varios pasos en los que YaST2 determina los paquetes que se han de actualizar y también es posible decidir individualmente para cada paquete si se ha de actualizar o no. No es posible actualizar el sistema base de esta forma, ya que para ello es preciso arrancar desde otro medio de instalación como p. ej. el CD. Mientras más antiguo sea el software instalado, más problemas hay en la actu- alización ya que los paquetes "antiguos" pueden diferir del estándar actual. Por eso a veces es imposible mantener la configuración antigua en todos los detalles y resulta mejor generar una configuración nueva desde cero. En tal caso es con- veniente respaldar la configuración existente antes de realizar la actualización. 292 12.1 Actualización de SuSE Linux 12.1.3. Actualización con YaST1 Actualización del sistema base Al actualizar el sistema base se cambian los componentes centrales del sistema (p. ej. las bibliotecas), por lo tanto esto no se puede llevar a cabo desde el sistema Linux en ejecución. Por esta razón se tendrá que arrancar el entorno de actualización ­ normalmente con el disquete de arranque incluido en el paquete, o introduciendo manual en el prompt del kernel como se explica en el apartado 2.1 en la página 7. Básicamente hay que seguir los pasos que se exponen a continuación: 1. Inmediatamente después del arranque del sistema desde el disquete de ar- ranque o desde el CD, se inicia automáticamente linuxrc. 2. linuxrc pide escoger en la opción `Configuración' del menú principal, el idioma, el color de la pantalla y el teclado (siempre se confirma pulsando `Ok'). 3. Con la opción `Módulos del Kernel (Drivers)' se cargan los drivers necesarios para el hardware (el procedimiento se detalla en la descripción de linuxrc, en la página 322). 4. Ahora se puede elegir el medio fuente de la instalación pasando por las op- ciones `Iniciar la instalación / Sistema' `Comenzar la in- stalación' (ver en la página 324). 5. linuxrc carga el entorno de instalación proporcionado por YaST, tal como se ha elegido. En el primer menú de YaST, seleccionar la opción `Actualizar sistema'; con esto YaST intenta reconocer la partición raíz y ofrece ­ si las hay ­ varias posibilidades de las cuales se debe seleccionar la partición raíz, tal como se ha anotado anteriormente (ejemplo: /dev/sda3). YaST lee la /etc/fstab "an- tigua" que se encuentra sobre esta partición, y monta los sistemas de ficheros anotados en ella; seleccionar ahora `Continuar'. § ¤ Después de volver con ¦Esc ¥al menú principal, se selecciona `Actualizar sistema' (ver apartado 3.2 en la página 50). YaST analiza el sistema actual y muestra el resultado de este análisis. A continuación se actualizan los componentes centrales del sistema y YaST genera automáticamente respaldos de los ficheros modificados a partir de la última instalación; además, los ficheros de configuración antiguos se guardan con la extensión pfad.rpmorig o .rpmsave (ver el apartado 12.3.2 en la pági- na 305). Todo el proceso de instalación y actualización se protocoliza en el fichero /var/adm/inst-log/installation-*. Actualización del resto de programas Una vez instalado el sistema base, se entra al modo especial de actualización de YaST que permite actualizar el resto del sistema según necesidades y/o preferen- cias. 293 12 Actualización del sistema ­ Gestión de paquetes YaST genera dos listas de paquetes a actualizar. En la primera se encuentran los paquetes en los que YaST reconoce automáticamente el sentido y la posibilidad de actualización, ya que el paquete nuevo tiene un número de versión más alto o, cuando ha cambiado un paquete con el cual tiene alguna dependencia. La segunda lista muestra los paquetes sobre los que no hay total seguridad de si deben ser actualizados o no, debido p. ej. a que el paquete antiguo no especifica un número de versión. En estas dos listas se pueden seleccionar a gusto propio los paquetes que se desean actualizar. La actualización no solo reemplaza los paquetes seleccionados por los de la nueva versión sino que se respaldan también todos los ficheros que han sido modificados desde la última instalación. Después de haber seleccionado los paquetes, el proceso se termina como una instalación desde cero; entre otras cosas, se tendrá que seleccionar también un kernel nuevo. Truco Si está acostumbrado a iniciar Linux con loadlin, es preciso copiar el nuevo kernel ­ y si es el caso ­ el initrd en el directorio de loadlin de la partición DOS! Para que el sistema no entre en el modo de operación normal después de la actualización (ver "runlevel" estándar en el apartado 14.2 en la página 336), se introduce en el prompt de LILO el siguiente comando: NO_AUTO_SETUP=true De este modo se inicia YaST inmediatamente después de entrar al sistema y se terminan las operaciones que comenzaron con la actualización. El uso del parámetro NO_AUTO_SETUP=true es especialmente razonable cuando se pre- sentan problemas durante el inicio del sistema. Estos pueden aparecer cuando algunas partes esenciales del sistema se cargan a través de una tarjeta SCSI del tipo PCMCIA. Para remediarlos y finalizar correctamente la configuración, se deben ejecutar los siguientes pasos: 1. Al iniciar el sistema, indicar en el prompt: NO_AUTO_SETUP=true 2. Entrar al sistema como superusuario `root' e iniciar una vez yast --nomenu para que se lleven a cabo las configuraciones necesarias. 3. Iniciar como `root' el script /lib/YaST/bootsetup.conf y esperar a que el proceso finalice. El resultado final es el mismo que se obtendría si YaST se hubiese ejecutado automáticamente. El usuario de Linux experimentado podría prescindir de entrar al nivel de eje- cución estándar e ir directamente al modo de usuario único (ingl. Single-User- Mode) (Runlevel 1), indicando single en el prompt de LILO. 294 12.2 De versión a versión 12.1.4. Actualización de paquetes específicos Independientemente de la actualización del sistema base, se pueden actualizar paquetes específicos en cualquier momento. Realizando una actualización par- cial, el usuario mismo se tiene que encargar de mantener la consistencia del sistema en cuanto a las dependencias de los paquetes: Consejos sobre la actual- ización se encuentran bajo http://www.suse.de/en/support/download/ updates/ Esto se realiza en YaST (ver el apartado 3.7.3 en la página 72), entrando al sub- menú `Escoger/Instalar paquetes'. Se puede seleccionar cualquier pa- quete, pero si selecciona uno que es esencial para el sistema, YaST advierte sobre la necesidad de actualizar tal paquete en el modo especial de actualización. Hay muchos paquetes que usan p. ej. librerías compartidas (ingl. shared libraries), que pueden estar en uso en el momento de la actualización y por tanto se podrían producir errores. 12.2. De versión a versión Los siguientes apartados mencionan los detalles que se han cambiado de una versión de SuSE Linux a otra, como p. ej. el cambio de lugar de un fichero de configuración o una modificación importante de un programa ya conocido. La lista es incompleta ya que solo se mencionan los aspectos importantes para el trabajo diario de los usuarios o del administrador de sistema. En la descripción de las diferencias y particularidades hay muchas referencias al banco de datos de soporte (SDB) del paquete sdb_en, serie doc. Los problemas y cambios de última hora de cada versión se publican en nue- stro servidor web; véase los links que se indican más abajo. Se puede actualizar determinados paquetes importantes vía http://www.suse.de/en/support/ download/updates/. 12.2.1. De versión 5.x a 6.0 Problemas y particularidades: file:/usr/share/doc/sdb/de/html/maddin_bugs60.html. Por razones de seguridad los servidores X ya no se instalan en modo suid root (o sea, sin la s-bit). Por lo tanto, se debe iniciar el sistema X Window con el Xwrapper a través del comando startx o con un gestor de pantalla como xdm o kdm. Los usuarios que deseen usar programas de comunicación como minicom, seyon, etc., deben estar de alta en el grupo `uucp'; ver file:/usr/share/ doc/sdb/en/html/ke_terminal-prog.html. La versión actual de Emacs es la 20.x, con la que se deben usar los ficheros de inicio del directorio /etc/skel (ver file:/usr/share/doc/sdb/en/ html/ke_emacs-update.html). 295 12 Actualización del sistema ­ Gestión de paquetes Las partes de /etc/rc.config que corresponden a programas con amplias posibilidades de configuración, se han trasladado a diferentes ficheros en el directorio /etc/rc.config.d. cron es capaz de ejecutar "scripts" en los directorios /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly y /etc/cron.monthly; la tabla crontab del sistema ya no se llama /root/bin/cron.daily sino que se denomina /etc/cron.daily/aaa_base; ver también en la página 299. 12.2.2. De versión 6.0 a 6.1 Problemas y particularidades: file:/usr/share/doc/sdb/en/html/bugs61.html. Para la primera instalación hay un disquete adicional con módulos que fun- cionan como drivers para lectores de CD-ROM especiales, unidades en el puerto paralelo, tarjetas PCMCIA, etc. En el momento en que se necesitan, linuxrc pide que se introduzca el disquete-modules. (ver apartado 2.1.2 en la página 8). 12.2.3. De versión 6.1 a 6.2 Problemas y particularidades: file:/usr/share/doc/sdb/en/html/bugs62.html. rpm (ver también el apartado 12.3 en la página 304) existe ahora en versión 3.0. El formato del banco de datos RPM se ha modificado, por lo tanto es preciso realizar la conversión en el momento de instalar rpm. Efectuando una actualización normal (del sistema base) con YaST, la conversión se llevará a cabo en el momento más indicado (el proceso se ejecuta en segundo plano). La librería de sistema glibc existe ahora en versión 2.1. En lo posible se suministran componentes que permiten seguir usando los programas basados en glibc-2.0. Esto tiene sus limitaciones cuando se trata de acceder a ciertos símbolos internos, por lo que se recomienda compilar de nuevo todos los programas propios. El nscd (ingl. Name Service Cache Daemon) forma parte de la glibc; se con- figura mediante el fichero /etc/nscd.conf (ver página del manual de nscd (man 8 nscd)). Con la glibc-2.1 se efectúa el cambio a los dispositivos sogUnix98 PTY, por lo que también se debe montar el sistema de ficheros devpts. Esto se puede conseguir p. ej. con la siguiente entrada en /etc/fstab: none /dev/pts devpts gid=5,mode=620 0 0 Ver también la documentación en /usr/src/linux/Documentation/ Changes junto con las fuentes del kernel. 296 12.2 De versión a versión PAM (ingl. Pluggable Authentication Modules): aparte de /etc/login. defs ahora existen también /etc/securetty, /etc/security/limits. conf y /etc/security/pam_env.conf.; ver en la página 87. La configuración de idioma se efectúa con variables en /etc/rc.config; ver en la página 342 y file:/usr/share/doc/sdb/en/html/ml_ locale_implementation.html. http://sdb.suse.de/sdb/de/html/ml_locale_implementation.html. Si no le agradan los mensajes en alemán, lo puede indicar, p. ej. en .bashrc: export LC_MESSAGES=C 12.2.4. De 6.2 a 6.3 Problemas y particularidades: file:/usr/share/doc/sdb/en/html/bugs63.html. Existen diferentes kernel, optimizados para distintas necesidades. Todos usan la "initrd" (ingl. Initial Ramdisk) (disco virtual de memoria). Es un aspecto a tener en cuenta cuando se compila un kernel propio; ver el apartado 13.4.5 en la página 320 y file:/usr/share/doc/sdb/en/html/adrian_6. 3_boot.html. El fichero de configuración de los módulos de kernel se llama /etc/ modules.conf, de acuerdo con muchos otros ficheros de configuración (antes: /etc/conf.modules). Aparte del "Userspace"-NFS-Daemon (paquete nfs-server, antes paquete nfsserv) existe ahora también el daemon NFS a nivel de kernel (paquete knfsd). Este daemon tiene menos prestaciones, pero en cambio es capaz de bloquear ficheros; una característica que necesita p. ej. StarOffice. Hay que configurar entonces USE_KERNEL_NFSD o NFS_SERVER del fichero /etc/ rc.config e instalar el paquete que corresponda. Las Manpages se encuentran en /usr/share/man, así como lo pide el FHS (ingl. Filesystem Hierarchy Standard) (estándar de jerarquía del sistema de ficheros); ver el apartado 13.1.1 en la página 313. La configuración de sendmail se encuentra en /etc/rc.config.d/ sendmail.rc.config en lugar de /etc/rc.config; ver file:/usr/ share/doc/sdb/en/html/mneden_6.3_sendmail.html. Por razones de seguridad el daemon WU-FTPD (paquete wuftpd, serie n) ya no se incluye en la instalación estándar. Desde la versión 1.9.2 de leafnode el directorio de los ficheros de configu- ración se ha modificado. En lugar de estar en /usr/lib/leafnode ahora se encuentran en /etc/leafnode. En caso de haber modificado el fichero de configuración, éste se encuentra como copia de seguridad en /usr/lib/leafnode/config.rpmsave. Las 297 12 Actualización del sistema ­ Gestión de paquetes modificaciones hechas se deben pasar manualmente al nuevo fichero de con- figuración. En caso de actualizar desde una versión antigua (anterior a 1.9.3), eje- cute primero el script /usr/share/doc/packages/leafnode/update. sh (Atención: Desde SuSE Linux 7.0 la documentación se encuentra bajo /usr/share/doc!): tierra: # cd /usr/share/doc/packages/leafnode tierra:/usr/share/doc/packages/leafnode # ./update.sh \ /var/spool/news/ /etc/leafnode /var/lock/news/fetchnews.lck Al ejecutar el script, el fichero groupinfo se organiza de nuevo (en el orden de groupinfo deja de importar la diferencia entre mayúsculas y minúscu- las). Si la reorganización del fichero no funciona, hay un respaldo que se encuentra en /var/spool/news/leaf.node/groupinfo.old. Después de una ejecución exitosa del script, se puede borrar este fichero (.old). Advertencia: Desde la versión 1.9.3 el programa fetch del directorio /usr/ sbin se llama /usr/sbin/fetchnews. Por lo tanto hay que modificar los "Cronjobs" u otros scripts (p. ej. /etc/ppp/ip-up) al respecto. Para aumentar el nivel de seguridad, se ejecuta MySQL con la UID `mysql' y la GID `daemon'. Fortify se encuentra en /opt/fortify; después de su aplicación se puede desinstalar. 12.2.5. De 6.3 a 6.4 Problemas y particularidades: Kernel: Ya no son necesarios paquete kernmod y paquete kernmods. Los módulos de kernel adecuadamente optimizados se instalan directamente jun- to con el kernel elegido (ver 3.9.2 en la página 80) (ver 3.9.2 en la página 80). Los fichero de configuración del kernel instalado se encuentran en /boot con los nombres vmlinuz.config-pentium (¡si el kernel es para Pentium!), vmlinuz.autoconf.h y vmlinuz.version.h. Si lo desea, YaST copia estos ficheros en el árbol de directorios de las fuentes del kernel. Los "Login-Shells" válidos están anotados en /etc/shells; ver página del manual de shells (man 5 shells). Un usuario que tiene /bin/true asignado, sólo puede entrar al sistema vía el sistema X Windowy no recibe ninguna shell. Para evitar cualquier login, se asigna /bin/false como "Login- Shell". La configuración de XDM (xdm) se ha cambiado de tal forma, que ya no se aceptan peticiones del tipo XDMCP- o Chooser; esto aumenta el niv- el de seguridad. Para trabajar p. ej. con un X terminal, es necesario poner dentro del fichero /var/X11R6/lib/xdm/xdm-config la línea con la op- ción DisplayManager.requestPort en comentario; esto se consigue an- teponiendo a esta línea el signo de admiración; ver la página del manual de xdm (man xdm): 298 12.2 De versión a versión !DisplayManager.requestPort: 0 Dentro del sistema X Windowla tecla Compose ("Multi_key") se emula me- § ¤ § ¤ diante la combinación de teclas ¦Shift ¥+ ¦Ctrl ¥(derecha); véase el aparta- do 13.8 en la página 330. paquete aaa_base: Las tareas de mantenimiento diarias se han distribuido sobre varios scripts. En /etc/cron.daily existen ahora aparte de aaa_ base los scripts backup_rpmdb, clean_catman, clean_core, clean_ instlog, clean_tmp, do_mandb, rotate_logs y updatedb ­ estos scripts se reconocen por su "prefijo" aaa_base_. Además aaa_base "eje- cuta" cron.daily.local, que es el fichero para ampliaciones personales. Respecto al sistema cron véase el apartado 13.3.2 en la página 314. Se instala una versión nueva de tar (tar), que se comporta diferente al so- breescribir ficheros existentes. Para volver al comportamiento antiguo se puede usar la opción --overwrite. Sobre el paquete SuSEfirewall (antes: paquete firewals): Para manten- er la consistencia del sistema /etc/rc.firewall cambió de nombre y se denomina ahora /etc/rc.config.d/firewall.rc.config. El paquete samba: Con la actualización a la versión 2.0.6 se cambia la sin- taxis del comando smbmount. El script /sbin/mount.smbfs tiene que eje- cutar el smbmount. A su vez es el comando mount que llama a este script; por ejemplo: tierra: # mount -t smbfs -o username=uname,password=passwd \ //smbserv/share /destination paquete postfix: Se añadieron posibilidades de configuración; las vari- ables de inicio se encuentran ahora en /etc/rc.config.d/postfix.rc. config; véase también el apartado 14.5 en la página 340. Ya no existe la versión 1.x del servidor proxy paquete squid, ya que la versión 2.x puede ser considerada como estable, por lo que se recomienda pasarse a ésta. Durante la actualización, paquete squid no se reemplaza au- tomáticamente por paquete squid2; se deben guardar los ficheros de config- uración antiguos y desinstalar el paquete squid para instalar posteriormente el paquete squid2. Ahora se puede comenzar a personalizar los ficheros de configuración nuevos ­ hay información suplementaria en http:///www. squid-cache.org. El cliente DHCP se encuentra en paquete dhcpcd; para casos especiales suministramos aún el paquete dhclient. Por razones de seguridad, el daemon FTP (in.ftpd) ya no acepta automáti- camente el FTP-anónimo. Para que lo acepte se debe quitar el símbolo de comentario `#' por delante de la línea: auth sufficient /lib/security/pam_ftp.so en el fichero /etc/pam.d/ftpd. 299 12 Actualización del sistema ­ Gestión de paquetes Modificar contraseña con PAM (ingl. Pluggable Authentication Modules): pam_unix puede modificar también las contraseñas NIS y sabe tratar md5- almohadilla como contraseña. Cuidado: Es mejor consultar el apartado 3.9.6 en la página 87. Además existe ahora un módulo nuevo (pam_pwcheck-Module), que se en- carga del control de contraseñas nuevas. Hace falta modificar la entrada an- tigua: password required /lib/security/pam_unix.so #strict=false hacia: password required /lib/security/pam_pwcheck.so \ nullok #use_cracklib password required /lib/security/pam_unix.so \ nullok use_first_pass use_authtok Cada comando debe estar en una sola línea; si no, debe aparecer un \ ("barra inversa") al final de la línea. Solo se requiere esta intervención cuando rpm no puede modificar por sí mismo los ficheros de configuración, en el caso en que el administrador de sistema haya realizado modificaciones individuales. Lo mismo es válido para todos los ficheros de configuración de PAM en el directorio /etc/pam.d. Aparte las páginas de manual Manual-Pages (ver apartado 12.2.4 en la pági- na 297), las páginas info también se encuentran en /usr/share. makewhatis (paquete makewhat) usa ahora la utilidad manpath para en- contrar las páginas de manual, (ingl. Manual-Pages). Ya no se debe definir la variable de entorno MANPATH en los ficheros tipo rc. ldconfig sólo se ejecuta cuando un directorio /lib es más reciente que /etc/ld.so.cache; según el caso se inicia como proceso de fon- do. Es posible forzar la ejecución de ldconfig poniendo la variable de entorno run_ldconfig en true. Otra posibilidad es la de indicar "run_ldconfig=true" directamente el prompt de arranque. La versión actual de paquete ncurses es ahora 5.0. Aún suministramos la versión 4.2 de la librería compartida, así que los programas precompilados deben seguir funcionando. El paquete apache ha sido dividido. Se han de instalar también los sub- paquetes del tipo mod_* para realizar ampliaciones específicas. Hay docu- mentación sobre PHP en el paquete phpdoc. Los ficheros de butaca (log) se encuentran en /var/log/httpd, para mejorar el orden. La estructura de Roxen es la siguiente: El paquete roxen, que no permite criptografía y el paquete roxen-ssl (antes: paquete roxenssl) con el so- porte de criptografía. Ya no existe el paquete changes. Se puede obtener la información corre- spondiente directamente con rpm: tux@tierra: > rpm -q --changelog 300 12.2 De versión a versión 12.2.6. De 6.4 a 7.0 Problemas y particularidades: file:/usr/share/doc/sdb/de/html/bugs70.html. Todos los módulos de kernel ("driver") forman parte del kernel instalado (kernel SMP, monoprocesador, etc.); así se asegura que los módulos instala- dos estén correctamente compilados. El sistema X Window4.0 ya no soporta algunas tarjetas gráficas antiguas y aún no soporta algunas nuevas; ver apartado 6.2 en la página 146. El progra- ma de instalación detecta esta circunstancia y cambia automáticamente a la versión anterior 3.3.x, que también se suministra. Para generar paquetes según la especificación "Linux Development Platform Specification" es necesario instalar el entorno de desarrollo de la versión 3.3.x; ver apartado 13.3.1 en la página 314. paquete openssh: Para aumentar la seguridad, "X11-forwarding" está de- shabilitado por defecto pero se puede habilitar mediante el parámetro -X. Dentro del fichero /etc/ssh/ssh_config es posible activar "Forwarding" globalmente mediante la entrada ForwardX11 yes o sólo para determi- nadas computadoras. Los usuarios tienen la posibilidad de configurar estas opciones dentro de ~/.ssh/config. ypserv del paquete ypserv ya no está enlazado con la biblioteca "tcp- wrapper", sino que usa ahora /var/yp/securenets. Después de una ac- tualización debe pasar la configuración de /etc/hosts.deny y de /etc/ hosts.allow al fichero /var/yp/securenets. El "Portmapper" se inicia mediante /sbin/init.d/portmap (desde la ver- sión 7.1 mediante /etc/init.d/portmap) o mediante rcportmap; /sbin/ init.d/rpc está ahora obsoleto. Según el estándar de jerarquía del sistema de ficheros FHS (ingl. Filesystem Hierarchy Standard) (ver 13.1.1 en la página 313), la documentación que no depende del tipo de sistema se debe encontrar ahora en /usr/share/doc y no (como antes) en /usr/share/doc. El paquete bttv ya no existe; los módulos de kernel correspondientes ahora forman parte del kernel instalado. La biblioteca gtk-XmHTML existe ahora como paquete aparte (paquete gxmhtml); fue separada del paquete gnlibs. Sobre el paquete cron: Tal como pide el estándar FHS, las tablas de cron se han de encontrar bajo /var/spool/cron/tabs; ver el apartado 13.3.2 en la página 314. Sobre el paquete postgres: PostgreSQL y todos sus componentes se han distribuido siguiendo en totalidad la distribución de los paquetes originales. Ya no se requiere del paquete pg_datab con el banco se datos de inicial- ización ya que de esto se encarga el script de inicio en caso de necesidad. 301 12 Actualización del sistema ­ Gestión de paquetes El paquete paquete mutt: Varios detalles se han cambiado. Los ficheros de configuración /etc/Muttrc y /etc/skel/.muttrc tratan de mantener al máximo la sintaxis conocida; dentro de .muttrc las líneas set autoedit=yes set edit_headers=yes hacen que el Editor se inicie inmediatamente cuando se quiere escribir un E-Mail. También existen cambios muy importantes (p. ej. en caso de PGP); lo mejor es leer la documentación que viene con mutt. 12.2.7. De 7.0 a 7.1 Problemas y Particularidades: http://sdb.suse.de/sdb/de/html/bugs71.html. Kernel: Los driver de bajo nivel para chipsets EIDE especiales están inte- grados en el kernel estándar; ya no se necesitan por separado las imágenes k_eide o eide por lo que se suprime la necesidad de crear un disquete de arranque especial, en caso de necesitar uno de estos drivers. El significado de los Runlevel ha cambiado; ver la tabla 14.1 en la página 336. Los scripts de inicio se encuentran ahora en el directorio /etc/init.d. Si tiene scripts propios, guárdelos antes de actualizar. DEFAULT_LANGUAGE: Este es el nuevo nombre para la anterior variable LANGUAGE dentro del fichero /etc/rc.config; ver apartado 13.9 en la página 331. YaST o YaST2 modifican directamente /etc/resolv.conf. Antes SuSEc- onfig se encargaba de ello. Desde la versión 7.2 el script /sbin/modify_ resolvconf del paquete aaa_base se encarga de ello. La limitación a 8 caracteres de la longitud de los nombres de paquetes ha caído y muchos tienen ahora un nombre explicativo. Actualizando el sistema, los programas siguen existiendo bajo sus nombres habituales. En caso de una instalación desde cero, hay que considerar que los paquetes se instalan bajo el nombre nuevo. Las funciones del paquete dochost fueron integrados en el paquete suse- help por lo que dochost ha quedado obsoleto. El antiguo paquete ypclient: Este paquete está ahora dividido en los pa- quetes ypbind y yp-tools y el script de inicialización se llamma ypbind. El paquete jade_dsl: para evitar un conflicto con el paquete rzsz, la utili- dad de la línea de comandos sx se llama ahora s2x o sgml2xml. 302 12.2 De versión a versión 12.2.8. De 7.1 a 7.2 Problemas y Particularidades: http://sdb.suse.de/sdb/de/html/bugs72.html. Casi todos los programas en paquete nkita y en el paquete nkitb han cam- biado de versión y traceroute se encuentra ahora en el paquete nkitb; véase el apartado 12.2.8. paquete nkitb tal como paquete nkita se han dividido; los programas se en- cuentran fácilmente en los paquetes talk, rsh, finger, rwho, telnet o en los paquetes correspondientes de -server. Por ejemplo el paquete iputils contiene ping . Algunos programas ya están preparados para IPv6, por lo que es importante configurar el DNS correctamente, sino, es posible que se tenga que esperar el DNS-Timeout para la consulta de IPv6; dentro del fichero /etc/nsswitch. conf hay que reemplazar la opción dns por dns6. Otros paquetes han sido renombrados (ver en la página anterior); p. ej.: serie sgm: paquete docbook-dsssl-stylesheets, paquete docbook_3 y paquete docbook_4. Ahora se debe instalar paquete mod_php4 en lugar de mod_php. Las partes de Emacs' se distribuyen sobre varios paquetes: * Paquete básico emacs. * A éste hay que añadirle normalmente el paquete emacs-x11, para tener el programa con soporte de X Windows. * El paquete emacs-nox contiene Emacs sin soporte de X Windows. * paquete emacs-info: Documentación en línea en formato info. * paquete emacs-el contiene los ficheros de biblioteca en Emacs Lisp que aún no están compilados ­ no se necesita en tiempo de ejecución! * Varios paquetes adicionales que se pueden instalar según demanda: pa- quete emacs-auctex (para LATEX); paquete psgml (para SGML/XML); paquete gnuserv (para uso en modo cliente/servidor) etc. Modificaciones respecto al estándar de jerarquía de sistemas de ficheros (FHS) (ver el apartado 13.1.1 en la página 313): * /media (eran /cdrom y /floppy) Para un cierto tiempo existirán enlaces para mantener la compatibilidad. 12.2.9. De 7.2 a 7.3 Problemas y Particularidades: http://sdb.suse.de/sdb/de/html/bugs73.html. 303 12 Actualización del sistema ­ Gestión de paquetes El kernel 2.4 de SuSE Linux tiene IDE-DMA activado. Por eso el módulo "Optimización del sistema" de YaST2 y la utilidad idedma se han quedado obsoletos. En caso de tener problemas respecto a DMA es posible apoyarse en la opción de arranque `Failsafe'; ver en la página 8. Es importante configurar en /etc/inittab el nivel de ejecución deseado, independiente del valor de la variable DISPLAYMANAGER en rc.config. YaST2 es capaz de coordinar estos valores; véase el apartado 4.6.2 en la página 98. MySQL utiliza ahora la bibliotéca del TCP-Wrapper para mejorar la seguri- dad. El nuevo subpaquete mysql-Max ofrece automáticamente después de su in- stalación las características de seguridad avanzadas. db2x.sh del paquete docbktls acepta documentos del tipo DocBook que utilizan determinadas características especiales. Para mantener la compati- bilidad total se puede trabajar con la opción --strict. 12.3. RPM ­ El gestor de paquetes SuSE Linux utiliza RPM (rpm) (ingl. RPM Package Manager) como gestor de paquetes. El amplio banco de datos de RPM facilita la gestión de los paquetes para todos los implicados: los usuarios, los administradores de sistema y los que generan los paquetes; RPM ofrece una gran cantidad de información sobre el software instalado. La función rpm puede actuar de tres maneras distintas: generar paquetes listos para instalar desde las fuentes vírgenes (ingl. pristine sources) instalación, actualización y desinstalación completa de los paquetes direccionar consultas al banco de datos RPM o a determinados archivos RPM. Los archivos RPM, listos para ser instalados, tienen un formato binario especial que incluye los ficheros con los programas e información adicional usada por rpm. Esta información adicional se usa para configurar el software del paquete o para la documentación en el banco de datos RPM. Estos archivos tienen la extensión .rpm. Truco En el caso de varios paquetes, los componentes necesarios para el desar- rollo del software (librerías, ficheros "header" e "include") han pasado a ser paquetes separados; se trata de un procedimiento que ya se llevó a cabo en versiones anteriores. Estos paquetes solo serán necesarios para de- sarrollos propios; p. ej. compilar paquetes de GNOME más recientes. Los paquetes de desarrollo se identifican normalmente con un suplemento en el nombre como: -devel (antes: dev o d); algunos ejemplos son: paquete alsa-devel, paquete gimp-devel, paquete kdelibs-devel, etc. 304 12.3 RPM ­ El gestor de paquetes 12.3.1. Comprobar la autenticidad de un paquete Desde la versión 7.1 los paquetes RPM de SuSE están firmados con GnuPG: 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA El comando tierra:~ # rpm --verbose --checksig apache-1.3.12.rpm comprueba la firma de un paquete RPM para averiguar si éste realmente fue hecho por SuSE o por otra entidad de confianza; es un procedimiento que se recomienda especialmente con los paquetes de actualización que se descargan de Internet. Nuestra clave pública para firmar los paquetes se encuentra por defecto en /root/.gnupg/. 12.3.2. Instalar, actualizar y desinstalar paquetes. Por lo general la instalación de un archivo RPM se realiza rápidamente: tierra: # rpm -i .rpm Este comando estándar solamente instala un paquete si se cumplen todas las "de- pendencias", ya que de lo contrario podrían aparecer "conflictos"; los mensajes de error de rpm indican los paquetes que faltan para cumplir con las depen- dencias. El banco de datos se ocupa de evitar conflictos: normalmente un fichero debe pertenecer a un solo paquete; también hay diferentes opciones que permiten pasar por alto esta regla, pero se debe estar muy seguro de ello ya que se puede perder la posibilidad de actualizar el paquete. Una opción muy interesante para la actualización de un paquete es -U o --upgrade. La versión anterior del mismo paquete se borra y la nueva se instala mientras que rpm trata los ficheros de configuración con cuidado, apoyándose en la siguiente estrategia: Si el administrador de sistema no ha cambiado ningún fichero de configu- ración, rpm instala la versión nueva y por lo tanto, el administrador de sis- tema no tiene que intervenir de ninguna manera. Si el administrador de sistema ha cambiado un fichero de configuración, rpm guarda el fichero con la extensión .rpmorig o .rpmsave e instala la nue- va versión del paquete RPM, salvo que el archivo de configuración de esta nueva versión no haya cambiado su estructura. En el caso de reemplazar el fichero de configuración, es muy probable que sea necesario adaptar el nuevo basándose en la copia con la extensión .rpmorig o .rpmsave. Ficheros con extensión .rpmnew siempre aparecen cuando el fichero de con- figuración ya existe y si el indicador noreplace aparece dentro del fichero .spec. Después de la actualización se deben borrar los ficheros .rpmorig, .rpmsave y .rpmnew para que estos no obstaculicen la siguiente actualización. La extensión 305 12 Actualización del sistema ­ Gestión de paquetes .rpmsave se selecciona cuando el banco de datos RPM ya conoce el fichero, en caso contrario se usa .rpmorig. Dicho en otras palabras, los ".rpmorig" se generan cuando se actualizan paquetes que no tienen formato RPM y los .rpmsave se generan actualizando paquetes RPM antiguos con RPM nuevos. La extensión .rpmnew se usa cuando no se puede determinar si el administrador de sistema realmente modificó el fichero de configuración o no. La opción -U (Update) es algo más que una equivalencia a la secuencia -e-i (Desinstalar/Borrar ­ Instalar). Siempre que sea posible, es preferible usar la opción -U. Aviso Después de cada actualización es necesario controlar las copias de se- guridad con las extensiones .rpmorig o .rpmsave generados por rpm. En caso de necesidad transfiera sus ajustes a los nuevos ficheros de con- figuración y borre después los antiguos con las extensiones .rpmorig o .rpmsave. Para borrar un paquete se procede de la siguiente manera: tierra: # rpm -e rpm solo borra un paquete en caso de no existir ninguna dependencia. Por lo tanto no es posible suprimir p. ej. Tcl/Tk si todavía existe algún programa que lo necesite para su ejecución; esta funcionalidad se debe al "control" por parte del banco de datos RPM. Si en algún caso excepcional no es posible borrar un paquete aunque haya deja- do de existir cualquier dependencia, es probable que el problema se resuelva al generar de nuevo el banco de datos RPM, usando la opción --rebuilddb (las explicaciones sobre el banco de datos se pueden ver en el apartado 12.3.3 en la página 309). 12.3.3. Consultas La opción -q (ingl. query) permite direccionar consultas a los archivos RPM (opción -p ) tal como al banco de datos RPM. El tipo de información a consultar depende de las opciones que figuran en la tabla 12.1 en la página siguiente. -i Mostrar información sobre un paquete -l Mostrar lista de ficheros del paquete -f Consultar por el paquete que contiene el fichero ; se requiere la especificación de con su rama completa! -s Mostrar estado de los ficheros (implica -l) Cuadro 12.1: Continúa en la página siguiente... 306 12.3 RPM ­ El gestor de paquetes -d Nombrar ficheros de documentación (implica -l) -c Nombrar ficheros de configuración (implica -l) --dump Mostrar toda la información de verificación de todos los ficheros (¡Úselo con -l, -c o -d!) --provides Mostrar posibilidades del paquete; otro paquete puede pedirlas con --requires --requires, -R Mostrar dependencias entre los paquetes --scripts Mostrar los distintos scripts de desinstalación Cuadro 12.1: Las opciones de consulta más importantes (-q [-p] . . . ) Por ejemplo el comando: tierra: # rpm -q -i rpm da como resultado la salida en pantalla 12.3.1: Name : rpm Relocations: (not relocateable) Version : 3.0.3 Vendor: SuSE GmbH, Germany Release : 47 Build Date: Fri Dec 10 13:50:27 Install date: Tue Dec 14 12:57:00 1999 Build Host: Cauchy.suse.de Group : unsorted Source RPM: rpm-3.0.3-47.src.rpm Size : 5740847 License: GPL Packager : feedback@suse.de Summary : RPM Package Manager Description : RPM Package Manager is the main tool for managing software packages of the SuSE Linux distribution. [...] Mensaje en pantalla 12.3.1: rpm -q -i rpm La opción -f solo funciona cuando se indica el nombre de fichero completo con la rama incluida; se pueden indicar tantos ficheros como se desee. Por ejemplo el comando: tierra: # rpm -q -f /bin/rpm /usr/bin/wget resulta en: rpm-3.0.3-3 wget-1.5.3-55 Si solo se conoce una parte del nombre del fichero, se puede obtener ayuda medi- ante un script (ver el fichero 12.3.1 en la página siguiente) al cual se pasa, como parámetro, el nombre del fichero buscado. Con el comando: tierra: # rpm -q --changelog rpm se puede ver información detallada (actualizaciones, configuración, cambios, etc.) sobre determinados paquetes; en este ejemplo sobre el paquete rpm. El banco de datos también permite efectuar verificaciones; éstas se introducen con la opción -V (equivalente a -y o --verify). Con la verificación, rpm mues- tra todos los ficheros del paquete que han sido modificados desde su instalación 307 12 Actualización del sistema ­ Gestión de paquetes #! /bin/sh for i in `rpm -q -a -l | grep $1 `; do echo "\"$i\" se encuentra en el paquete:" rpm -q -f $i echo "" done Fichero 12.3.1: Script para búsqueda de paquetes original. rpm coloca hasta ocho caracteres por delante del nombre de fichero que indican los siguientes cambios: 5 Número de control MD5 S Tamaño de fichero L Enlace simbólico T Tiempo de modificación D Número de dispositivo "major" y "minor" (ingl. device number) U Usuario (ingl. user) G Grupo (ingl. group) M Modo (con derecho y tipo) Cuadro 12.2: Las verificaciones 308 12.3 RPM ­ El gestor de paquetes Para los ficheros de configuración aparece como valor adicional la letra c, como lo muestra el ejemplo para el fichero /etc/wgetrc del paquete wget, que ha sido modificado: tierra: # rpm -V wget S.5....T c /etc/wgetrc Los ficheros del banco de datos RPM se encuentran en /var/lib/rpm. Estos pueden ocupar hasta 30 MB para una partición /usr de 1 GB, especialmente después de una actualización completa. Si el banco de datos parece demasiado grande, se puede reducir su tamaño usando la opción --rebuilddb; antes de reconstruir el banco de datos se debe hacer una copia del existente. El script cron.daily genera diariamente copias comprimidas del banco de datos y las guarda en /var/adm/backup/rpmdb. El número de estas copias está definido por la variable , cuyo valor por de- fecto es 5, pero se puede modificar en /etc/rc.config. Cada respaldo ocupa aproximadamente 3 MB para una partición /usr de 1 GB. Se trata de un gasto de espacio que se debe tener en cuenta al determinar el tamaño de la partición raíz, salvo que se cree una partición propia para /var. 309 12 Actualización del sistema ­ Gestión de paquetes 12.3.4. Instalar y compilar los paquetes fuente Todos los paquetes con fuentes (ingl. Sources) se encuentran en la serie zq y llevan la extensión .spm; estos archivos se llaman "Source-RPMs". Truco Los paquetes con fuentes se pueden instalar con YaST como cualquier otro paquete, con la diferencia que estos no se marcan como instalados, con una [i], como ocurre con los paquetes "regulares". Por esta razón los paquetes fuente no figuran en el banco de datos RPM, ya que éste solo anota el software instalado. Si no hay ninguna configuración personal activada (p. ej. a través del fichero /etc/rpmrc), los directorios de trabajo de rpm deben existir por debajo de /usr/src/packages. Estos son: SOURCES para las fuentes originales (ficheros-.tar.gz, etc.) y para las adapta- ciones específicas de las distintas distribuciones (ficheros-.dif). SPECS para los ficheros-.spec, que controlan el proceso "build" y de este modo actúan como "Makefiles". BUILD por debajo de este directorio se desempacan o se compilan las fuentes; también se añaden a éste los parches. RPMS en éste se graban los paquetes completos en formato binario. SRPMS y en éste los "Source"-RPMs (fuentes). Aviso ¡No deben hacerse experimentos de RPM con los componentes clave del sistema como paquete glibc, paquete rpm, paquete sysvinit, etc., porque se estaría poniendo en peligro el buen funcionamiento del sistema! Al instalar con YaST un paquete de fuentes de la serie zq, todos los compo- nentes necesarios para el proceso "build" se copian en el directorio /usr/src/ packages: Las fuentes y los parches se van al directorio SOURCES y el fichero- .spec correspondiente se copia en el directorio SPECS. Respecto a la generación propia de paquetes (ingl. build mode) ver [Bai97] y la página del manual de rpm (man rpm). Tomando como ejemplo el paquete wget.spm, después de ser instalado con YaST, aparecerán los siguientes ficheros: /usr/src/packages/SPECS/wget.spec /usr/src/packages/SOURCES/wget-1.4.5.dif /usr/src/packages/SOURCES/wget-1.4.5.tar.gz 310 12.3 RPM ­ El gestor de paquetes Con el comando rpm -b /usr/src/packages/SPECS/wget.spec comien- za la compilación. La variable puede representar diferentes pasos, de los cuales aquí figuran algunos (ver también la ayuda que aparece con la opción --help o la documentación de RPM): -bp preparar las fuentes en el directorio /usr/src/packages/BUILD; de- sempacar y poner los parches -bc igual a -bp, pero con compilación. -bi igual a -bc, pero con instalación del paquete. ¡Cuidado: Si hay algún pa- quete que no soporte la característica BuildRoot, es posible que durante la instalación se sobreescriban algunos ficheros de configuración importantes! -bb igual a -bi, pero con generación adicional del "Binary-RPM" que, en caso de éxito, se encuentra en el directorio /usr/src/packages/RPMS. -ba igual a -bb, pero genera adicionalmente el "Source-RPM" que se encuen- tra, en caso de éxito, en el directorio /usr/src/packages/SRPMS. La opción --short-circuit permite saltarse determinados pasos. El "Binary-RPM" se instala finalmente con rpm -i, o mejor con rpm -U, para que aparezca en el banco de datos RPM. 12.3.5. Herramientas para los archivos RPM y el banco de datos RPM El Midnight Commander (mc) es capaz de mostrar el contenido de un archivo RPM y copiar partes de él. El archivo RPM se muestra en un sistema de ficheros virtual para el cual se ponen a disposición todas las opciones del menú del mc. La información de los encabezamientos del "fichero" HEADER se visualiza con § ¤ § ¤ ¦F3 ¥ ; con las teclas del cursor y ¦ ¥se puede pasar por la estructura del archivo y § ¤ en caso de necesidad copiar componentes usando ¦F5 ¥ . ­ Por otra parte, ya existe rpm.el para Emacs, que es un "Frontend" para rpm :-) xrpm es el nombre de un gestor gráfico de RPM realizado con Python, un lengua- je de scripts "sofisticado". xrpm soporta la gestión de paquetes vía FTP. KDE incluye la herramienta krpm, que es una interfaz gráfica del sistema X Win- dow para la gestión de RPM; en caso de GNOME se incorpora gnorpm. Alien (alien) permite la conversión de los formatos de las distintas distribu- ciones. Con este programa se puede intentar convertir, antes de la instalación, los archivos antiguos del tipo TGZ al formato RPM, para que el banco de datos RPM reciba durante la instalación la información de los paquetes. Pero cuidado: alien es un script de Perl y según sus autores todavía se encuentra en fase alfa, aunque ya ha alcanzado un número de versión alto. Finalmente existe YaST y su funcionamiento se explica en el apartado 3.7.9 en la página 76. 311 12 Actualización del sistema ­ Gestión de paquetes 312 13 Particularidades de SuSE Linux 13 Particularidades de SuSE Linux 13.1. Filesystem Hierarchy Standard (FHS) y Linux Standard Base (LSB) 13.1.1. Filesystem Hierarchy Standard (FHS) SuSE Linux intenta cumplir al máximo el estándar sobre jerarquía del sistema de ficheros (ingl. Filesystem Hierarchy Standard (FHS, paquete fhs, serie doc)). Por lo tanto a veces es necesario mover ficheros o directorios al lugar "correcto" en el árbol de directorios. 13.1.2. Linux Standard Base (LSB) SuSE soporta activamente los esfuerzos del proyecto Linux Standard Base, sobre el cual es posible informarse en http://www.linuxbase.org. El diseño de LSB ya existe en su versión 0.3 e incluye ­ entre otras ­ la especifi- cación sobre la inicialización del sistema; véase el capítulo 14 en la página 335. 13.1.3. teTeX ­ TEX en SuSE Linux teTeX se instala según la estructura TEX Directory Structure (TDS) sin violación del FHS (ver ftp://ftp.dante.de/tex-archive/tds/). 13.2. Entornos de ejemplo para FTP y HTTP Sobre FTP El paquete ftpdir contiene un entorno de ejemplo para facilitar la configuración de un servidor FTP. Este entorno se instala en /usr/local/ftp. Sobre HTTP El servidor web predeterminado de SuSE Linux es Apache, que se instala jun- to con algunos documentos de ejemplo en el directorio /usr/local/httpd. Para poner en marcha un servidor de web propio se recomienda definir un DocumentRoot propio en el fichero /etc/httpd/httpd.conf. 313 13 Particularidades de SuSE Linux 13.3. Indicaciones sobre paquetes especiales 13.3.1. Paquete xdevel y xdevel33 La "Especificación de la plataforma de desarrollo de Linux" (ingl. Linux Devel- opment Platform Specification) pide que se use XFree86 3.3.6 para compilar y enlazar, con el fin de que el software se pueda ejecutar sobre una amplia variedad de plataformas. Sin embargo, desde la versión 7.0 de SuSE Linux 7.0 XFree86 4.0 es el estándar. Existe actualmente el paquete xdevel33 para que SuSE Linux siga cumpliendo los criterios de la especificación. Es por eso que se debe desinstalar el paquete xdevel e instalar paquete xdevel33, para tener la posibilidad de generar con SuSE Linux 7.2 un paquete de acuerdo con la "Linux Development Platform Specification". 13.3.2. Paquete cron Las tablas de cron ya no se encuentran en /var/cron/tabs sino en /var/ spool/cron/tabs. El fichero /etc/crontab se genera como tabla de coman- dos para todo el sistema. En este fichero hay que anotar, además de la hora, el usuario que ha encargado la tarea a ejecutar (ver fichero 13.3.1, donde se indica `root' como usuario); las tablas específicas de los paquetes (en /etc/cron.d) siguen la misma filosofía ­ ver página del manual de cron (man 8 cron). 1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun Fichero 13.3.1: Ejemplo para una indicación en /etc/crontab No se puede usar el comando crontab -e para modificar /etc/crontab; se debe modificar con un editor y posteriormente grabarlo. Hay algunos paquetes que instalan scripts dentro de los directorios /etc/cron. hourly, /etc/cron.daily, /etc/cron.weekly y /etc/cron.monthly. De la ejecución de estos se encarga /usr/lib/cron/run-crons, que se ini- cia cada 15 minutos desde la tabla principal (/etc/contrab). No se asombre entonces si el usuario `nobody' aparece poco después del arranque del sistema, con mucha actividad en la tabla de procesos. Lo más probable es que `nobody' esté actualizando en tales momentos el banco de datos locate (ver el aparta- do 14.6 en la página 351). 13.3.3. Paquete curses El CD contiene ahora el paquete ncurses cuyas bibliotecas se denominan libncurses.so.. Por eso hay que modificar en muchos Makefiles los comandos para el Linker. No se deberían traducir paquetes propios con -lcurses sino con -lncurses. Quienes lo deseen hacer a pesar de todo, deben usar los siguientes comandos: 314 13.3 Indicaciones sobre paquetes especiales -I/usr/include/termcap -I/usr/include/curses -L/usr/lib/termcap -L/usr/lib/curses 13.3.4. Fuentes del paquete uucp Las fuentes del paquete uucp se encuentran actualmente dentro de las fuentes source-RPM de Sendmail como sub-paquete. 13.3.5. Manual-Pages Para algunos programas GNU, no se siguen manteniendo las Manual-Pages (p. ej. tar). En su lugar se puede usar de ayuda rápida la extensión --help o los ficheros del tipo info. Info (info) es el sistema de hipertexto de GNU cuyo uso se explica con el comando info. Se puede llamar a info a través de Emacs con el coman- do emacs -f info o también sólo con el comando info. Un uso agradable lo ofrecen tkinfo, xinfo o el acceso a través del sistema de ayuda. 13.3.6. El comando ulimit El comando ulimit (ingl. user limits) permite limitar los recursos de sistema o visualizarlos. ulimit es especialmente útil para limitar es uso de la Memoria por parte de las aplicaciones. Así es posible evitar que una aplicación se reserve demasiada o toda la memoria lo que podría provocar el cuelgue del sistema. ulimit tiene varias opciones; algunas que pueden limitar el gasto de memoria figuran en la tabla 13.1. -m Tamaño máximo de memoria RAM -v Tamaño máximo del fichero de intercambio (Swap) -s Tamaño máximo de las pilas -c tamaño máximo de los fichero core -a Mostrar límites establecidos Cuadro 13.1: ulimit: Limitar los recursos para el usuario Los límites para todo el sistema se pueden establecer en /etc/profile. Tam- bién es en este fichero, dónde se debe dar de alta la creación de los ficheros core, que necesitan los programadores para depurar código (ingl. debugging). Los usuarios no pueden aumentar los valores que el administrador de sistema define en /etc/profile, pero si que pueden hacer una configuración personal en ~/.bashrc. Todos los valores se han de indicar en KB. Información más detallada se encuentra en página del manual de bash (man bash). 315 13 Particularidades de SuSE Linux # Limitar la memoria RAM: ulimit -m 98304 # Limitar la memoria virtual (swap): ulimit -v 98304 Fichero 13.3.2: Establecer límites con ulimit en ~/.bashrc 13.3.7. El fichero /etc/resolv.conf Sólo el script /sbin/modify_resolvconf se encarga de modificar el fichero /etc/resolv.conf. Ningún programa por sí mismo tiene el derecho de ac- tualizar /etc/resolv.conf. La configuración de red y los datos correspondi- entes sólo se pueden mantener consistentes si se cumple siempre esta regla. 13.4. Arrancar con "initial ramdisk" Situación de arranque En cuanto el kernel de Linux esté cargado y el sistema de ficheros raíz (/) mon- tado, es posible ejecutar programas y cargar módulos de kernel adicionales para proporcionar funciones adicionales. Para llegar al punto de montar el sistema de ficheros raíz, se tienen que cumplir varias condiciones. Por una parte, el kernel necesita el driver para acceder al dispositivo que contiene el sistema de ficheros raíz (sobre todo los drivers para SCSI) y por otra parte el kernel tiene que contener el código necesario para leer el sistema de ficheros (ext2, reiserfs, romfs, etc.). Además es posible que el sistema de ficheros raíz ya esté encriptado, con lo cual se tendría que introducir la contraseña para montarlo. Hay diferentes soluciones para resolver el problema de los drivers de SCSI. Una posibilidad sería un kernel que contenga todos los drivers existentes, lo que tiene como desventaja el aumento de su tamaño y que pueda haber conflictos entre todos los drivers. Otra solución sería proporcionar diferentes kernels, de los que cada uno contenga uno o un par de drivers SCSI. Esta solución es también com- plicada ya que requiere una gran cantidad de kernels diferentes, cantidad que además se multiplica por las diferentes optimizaciones para Pentium o SMP. La solución óptima es la de cargar el driver SCSI como módulo. Esta solución requiere la posibilidad de ejecutar programas del área (de memoria) de usuario antes de montar el sistema de ficheros raíz. Este procedimiento se puede realizar mediante el concepto del initial ramdisk (disco de memoria inicial). 13.4.1. El concepto "initial ramdisk" Los problemas mencionados arriba se resuelven mediante el initial ramdisk (tam- bién denominado "initdisk" o "initrd"). El kernel de Linux ofrece la posibilidad de cargar un sistema de ficheros pequeño a un disco de memoria (Ramdisk) 316 13.4 Arrancar con "initial ramdisk" para ejecutar programas dentro del mismo antes del montaje real del sistema de ficheros raíz. El "bootloader" (LILO, loadlin, etc.) se encarga de cargar el initrd. Todos los "bootloader" sólo necesitan rutinas de la BIOS para leer los datos del disco. Cuando el "bootloader" es capaz de cargar el kernel, éste también puede cargar el disco de memoria inicial por lo que ya no se necesitan drivers especiales. 13.4.2. Procedimiento del arranque con initrd El "bootloader" carga el kernel y la initrd a la memoria e inicia el kernel, indicándole la existencia de un disco de memoria initrd y su posición en la memoria. Normalmente el initrd está comprimido, por lo que el kernel lo descomprime y lo monta como sistema de ficheros temporal. Después de esto, dentro del dis- co initrd se inicia un programa denominado linuxrc, que es capaz de montar el sistema de ficheros "normal". En el momento que linuxrc finaliza, el disco temporal initrd se desmonta y el proceso de arranque sigue en su secuencia habitual, montando el sistema de ficheros raíz verdadero. El montaje de initrd y la ejecución de linuxrc se pueden observar como pasos intermedios durante el proceso de arranque normal. Si no es posible desmontar el initrd (lo que se puede considerar un error), el kernel trata de montar nuevamente el initrd pero esta vez sobre el directorio /initrd. En caso de que éste no exista, el kernel emite un mensaje de error. El sistema es completamente operativo, pero nunca será posible liberar el espacio de memoria que initrd ocupa. linuxrc Las condiciones para linuxrc dentro del initrd son las siguientes: Debe tener el nombre especial linuxrc y se debe encontrar dentro del directorio raíz del initrd. Aparte de ello solo hace falta que el kernel lo pueda ejecutar. Esto sig- nifica que linuxrc puede ser un programa con enlace (ingl. link) dinámico a las librerías, pero en este caso las librerías compartidas (ingl. shared libraries) se deben encontrar como es usual bajo /lib en el initrd. linuxrc también podría ser un script de la shell, pero para esto debería existir una Shell en /bin. Resum- iendo, se puede decir que el initrd debe contener un sistema Linux mínimo que permita ejecutar el programa linuxrc. Durante la instalación de SuSE Linux se usa un linuxrc enlazado estáticamente para mantener el initrd lo más pe- queño posible, ya que el espacio en los disquetes de arranque es muy reducido. linuxrc se ejecuta con derechos de superusuario `root'. El sistema de ficheros raíz verdadero En cuanto linuxrc termina, el initrd se desmonta y el proceso de arranque con- tinúa, con el kernel montando el sistema de ficheros raíz verdadero. linuxrc puede influir sobre el tipo de sistema de fichero raíz que se va a montar. Para ello 317 13 Particularidades de SuSE Linux solo es necesario que linuxrc monte el sistema de ficheros /proc y escriba el valor del sistema de ficheros raíz en forma numérica en /proc/sys/kernel/ real-root-dev. 13.4.3. Bootloader La mayoría de los "cargadores/gestores de arranque" (ingl. bootload- er/bootmanager) son capaces de tratar un initrd (especialmente loadlin y sys- linux). La forma de indicar a los "bootloader" que usen un initrd, es la sigu- iente: 1. LILO Apuntar la siguiente línea en /etc/lilo.conf: initrd=/boot/initrd El fichero /boot/initrd es el disco de memoria inicial (initial ramdisk). Es posible (pero no necesario) que se encuentre comprimido. 2. loadlin.exe Ejecución mediante: C:> loadlin \ initrd=C:\loadlin\initrd 3. syslinux Apuntar la siguiente línea en syslinux.cfg: append initrd=initrd 13.4.4. Uso de initrd en SuSE Linux Instalación del sistema Ya hace tiempos que se usa el initrd para la instalación. El usuario puede cargar módulos en linuxrc e introducir los datos necesarios para la instalación (sobre todo el medio fuente). Después linuxrc inicia YaST, que se encarga de la instalación. Cuando ésta haya terminado, YaST indica a linuxrc el lugar donde se encuentra el sistema recientemente instalado. Seguidamente linuxrc anota este valor en /proc, se termina y el kernel sigue iniciándose con el sistema recién instalado. Al instalar SuSE Linux se inicia desde un principio prácticamente el mismo sis- tema que se acaba de instalar ­ no está mal ;-) Sólo cuando el kernel en eje- cución no concuerda con los módulos que se hayan instalado en el sistema, se efectúa un reinicio del mismo. Esto solo hace falta cuando se ha instalado un ker- nel para máquinas multiprocesador junto con sus módulos, ya que actualmente SuSE Linux a la hora de arrancar, usa un kernel para computadoras monoproce- sador. Para poder usar todos los módulos, hace falta iniciar el kernel SMP del sistema. 318 13.4 Arrancar con "initial ramdisk" Arrancar el sistema instalado Anteriormente YaST ofrecía más de 40 kernels para la instalación, diferencián- dose unos de otros por diferentes drivers para controladoras SCSI. Esto era nece- sario para el montaje del sistema de ficheros raíz después del arranque. Los demás drivers se podían cargar posteriormente como módulos. Como ahora ofrecemos kernels optimizados, se trata de un concepto inválido, ya que harían falta más de 100 diferentes imágenes de kernel. Por lo tanto se usa ahora el initrd también para el inicio normal del sistema. El funcionamiento es análogo al de la instalación, con la diferencia de que el linuxrc es ahora un sencillo script que solo se ocupa de cargar unos determinados módulos. Por lo general se carga un solo módulo que es el driver SCSI, necesario para el acceso al sistema de ficheros raíz. Generar un initrd El initrd (ingl. Initial ram disk) se genera mediante el script mk_initrd. Los módulos que se han de cargar se definen, en el caso de SuSE Linux, con la vari- able INITRD_MODULES en /etc/rc.config. Después de una instalación esta variable contiene automáticamente los valores correctos, ya que linuxrc reconoce cuales módulos han sido cargados. Estos se cargan exactamente en el orden de aparición en la variable INITRD_MODULES, lo cual es importante cuando se car- gan varios drivers SCSI, ya que la enumeración de los discos cambia cuando los módulos se cargan en orden diferente. En realidad sería suficiente cargar só- lo el driver SCSI que proporciona acceso al sistema de ficheros raíz. La carga posterior automática de drivers SCSI es complicada (sería difícil secuenciarlo, si también hay discos conectados a la segunda controladora), por lo que preferimos cargar todos los drivers SCSI mediante el initrd. El mk_initrd actual comprueba si realmente se necesita un driver SCSI para acceder al sistema de ficheros raíz. Ejecutando mk_initrd en una computadora que tiene / sobre un disco EIDE, no se genera ningún initrd, ya que no hace falta (los kernels de SuSE Linux incorporan el soporte EIDE). De hecho cada vez aparecen más controladoras EIDE específicas, por lo que hará falta usar en un futuro un initrd también para estas controladoras. Aviso ¡La carga de initrd por parte del "bootloader" funciona igual que la carga del kernel mismo (LILO apunta en su fichero map la ubicación de estos datos) y por eso se requiere una nueva instalación de LILO después de cada cambio en initrd! O sea, después de cada mk_initrd hay que ejecutar lilo. 319 13 Particularidades de SuSE Linux 13.4.5. Posibles problemas ­ Kernel compilado a medida Después de haber compilado un kernel a medida es posible que aparezcan cier- tos problemas comunes. Por ejemplo el driver de SCSI se ha incorporado fijo al kernel, pero el initrd se ha quedado sin cambios. A la hora de arrancar pasa lo siguiente: El kernel ya contiene el driver para SCSI, que reconoce la controlado- ra. El initrd en cambio trata de cargar el driver otra vez como módulo, lo que puede paralizar el sistema (especialmente en caso del aic7xxx). En realidad es un fallo del kernel, ya que no debería ser posible cargar de nuevo un driver ya existente ­ el problema en sí ya se conoce por el driver para el puerto serie. Existen varias soluciones para solventar este problema: Se configura el driver como módulo (entonces se carga correctamente con el initrd) o bien, se quita la entrada del initrd de /etc/lilo.conf. Sería lo mismo si se quita el driver de INITRD_MODULES y se ejecuta mk_initrd; este comando reconoce entonces que no se requiere ningún initrd. 13.4.6. El futuro En el futuro es posible que se use initrd para tareas más sofisticadas que la sencilla carga de módulos necesarios para el acceso a /. Driver "High end" EIDE Sistema de ficheros raíz sobre un Software RAID (linuxrc configura los dis- positivos md) Sistema de ficheros raíz sobre LVM Sistema de ficheros raíz encriptado (linuxrc pide una contraseña) Sistema de ficheros raíz sobre un disco SCSI conectado a una tarjeta PCM- CIA. Más información Se puede encontrar información adicional en: /usr/src/linux/Documentation/ramdisk.txt /usr/src/linux/Documentation/initrd.txt página del manual de initrd (man 4 initrd). 320 13.5 linuxrc 13.5. linuxrc linuxrc es un programa que se comienza a ejecutar durante el inicio del kernel, antes de arrancar realmente. Esta propiedad es muy ventajosa, ya que permite arrancar un kernel pequeño y modularizado, haciendo posible cargar como mó- dulos los pocos drivers que realmente se necesitan. Esto se puede hacer incluso desde un segundo disquete. linuxrc ayuda a cargar los drivers relevantes para el hardware y no solo sirve para la instalación sino también como herramienta de arranque para el sistema Linux instalado, formando así una especie de disquete de rescate. También sirve para resolver algún problema grave en el disco duro o simplemente cuando se ha olvidado la contraseña de `root', ya que es posible arrancar un sistema de rescate a base de un RAM-Disk. Hay más información en el apartado 13.6 en la página 325. Menú principal Después de haber ajustado idioma, pantalla y teclado se entra al menú principal de linuxrc (ver figura 2.3 en la página 10). El punto a dónde llegar es en este momento la opción `Iniciar la insta- lación / Sistema'. Poder entrar en esa opción depende directamente del hardware de la computadora: Si el kernel reconoce directamente todos los componentes necesarios para la instalación, no hace falta cargar ningún driver adicional. Este es el caso para computadoras que solo tienen dispositivos conectados a una controladora del tipo (E)IDE. Si la computadora tiene una controladora SCSI y la necesita para la instalación, entonces hace falta cargar un módulo SCSI. Lo mismo para el caso en el que se efectúa la instalación a través de una red ya que para ello hay que cargar primero un driver (en forma de módulo de kernel) para la tarjeta red. Finalmente existen algunos lectores CD-ROM antiguos que fueron suministra- dos con su propia tarjeta controladora y por tanto necesitan sus propios módulos de kernel. También hace falta cargar módulos cuando se están usando tarjetas PCMCIA en un portátil. Información del sistema Si no se sabe exactamente qué hardware tiene la computadora, los mensajes del kernel que aparecen durante el arranque sirven de ayuda. Con la opción `Información del sistema' (figura 13.1 en la página sigu- iente) no solo se pueden ver los mensajes del kernel sino también otros datos importantes como las direcciones de entrada y salida (ingl. I/O address) de las tarjetas PCI o el tamaño de la memoria principal. Las siguientes líneas muestran cómo se presentan un disco duro y un lector CD- ROM conectados a una controladora EIDE. Es el caso en el que no hace falta cargar ningún módulo del kernel para la instalación: 321 13 Particularidades de SuSE Linux Figura 13.1: Información del sistema hda: ST32140A, 2015MB w/128kB Cache, LBA, CHS=1023/64/63 hdb: CD-ROM CDR-S1G, ATAPI CDROM drive Partition check: hda: hda1 hda2 hda3 < hda5 > Por otra parte, si se ha arrancado con un kernel que incorpora un driver de SCSI, tampoco hace falta cargar ningún módulo SCSI adicional. Las siguientes líneas muestran un mensaje típico de reconocimiento de una controladora SCSI y de los dispositivos conectados: scsi : 1 host. Started kswapd v 1.4.2.2 scsi0 : target 0 accepting period 100ns offset 8 10.00MHz FAST SCSI-II scsi0 : setting target 0 to period 100ns offset 8 10.00MHz FAST SCSI-II Vendor: QUANTUM Model: VP32210 Rev: 81H8 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 scsi0 : target 2 accepting period 236ns offset 8 4.23MHz synchronous SCSI scsi0 : setting target 2 to period 248ns offset 8 4.03MHz synchronous SCSI Vendor: TOSHIBA Model: CD-ROM XM-3401TA Rev: 0283 Type: CD-ROM ANSI SCSI revision: 02 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 4308352 [2103 MB] [2.1 GB] Partition check: sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 > Carga de módulos Aquí se puede elegir qué tipo de módulo se necesita. Si se ha arrancado desde disquete, linuxrc carga los datos necesarios y los presenta para elegir. Si se ha arrancado desde el CD o desde DOS con loadlin, todos los módulos ya están a disposición de linuxrc. Esto evita la demora en cargar, pero gasta más 322 13.5 linuxrc memoria, lo que significa que se debe arrancar desde disquete si la computadora tiene menos de 8 MB RAM, ya que todos los drivers que se carguen arrancando desde CD no tendrán suficiente espacio. Figura 13.2: Cargar módulos linuxrc ofrece los drivers disponibles en una lista. A la izquierda se ve el nombre de cada módulo y a la derecha una breve descripción del hardware para el cual está hecho el módulo (driver). Para algunos dispositivos existen varios drivers o también unos muy nuevos que aún se encuentran en fase alpha. Estos se ofrecen también aquí. Figura 13.3: Selección de los drivers SCSI Introducción de parámetros Si se ha encontrado el driver que corresponde al hardware, se coloca el cursor § ¤ sobre la línea en cuestión y se pulsa ¦ ¥ . Aparece una pantalla con la posibili- 323 13 Particularidades de SuSE Linux dad de introducir parámetros que pasarán al módulo que se cargue. En el aparta- do 11.3.4 en la página 271 hay explicaciones más detalladas sobre los parámetros de módulo. Figura 13.4: Introducción de los parámetros para la carga de los módulos Hay que tener en cuenta aquí, que múltiples parámetros deben estar separados por espacios, contrastando con la introducción de parámetros en el prompt del kernel (MILO, LILO o SYSLINUX). Por lo general no hace falta especificar el hardware, porque la mayoría de los drivers encuentran los componentes por sí mismos. Solamente las tarjetas de red y lectores CD-ROM con controladora propia exigen a veces la indicación de § ¤ parámetros. De todos modos se puede probar sencillamente pulsando ¦ ¥sin pasar ningún parámetro. Algunos módulos necesitan un buen tiempo para reconocer e inicializar el hard- § ¤ § ¤ ware. Cambiando a la consola virtual 4 (¦Alt ¥+ ¦F4 ¥ ) es posible ver los mensajes del kernel durante la carga del módulo. Sobre todo las controladoras SCSI son las que se toman su tiempo durante la carga, ya que esperan un rato la respuesta de todos los dispositivos conectados. Cuando se haya cargado el módulo exitosamente, linuxrc muestra los mensajes del kernel, así que es posible asegurarse del éxito de la operación. Si no es así, los mensajes pueden servir para encontrar la razón del fracaso. Iniciar la instalación / Sistema Una vez conseguido el soporte completo del hardware necesario para la insta- lación, se puede pasar a la opción `Iniciar la instalación / Sistema'. En este punto (figura 2.4 en la página 11) se puede comenzar con una serie de procesos: `Comenzar la instalación' (desde aquí comienza también la ac- tualización), `Iniciar el sistema instalado' (hace falta conocer la par- tición raíz), `Iniciar sistema de rescate' (ver apartado 13.6 en la pági- na siguiente) menueSacar CD (eject) La opción `Iniciar LiveEval-CD' só- lo existe después de haber arrancado desde un CD de evaluación (Live-CD). 324 13.6 El sistema de rescate de SuSE Imágenes de este CD en formato ISO están disponibles en el servidor FTP (live-eval-): ftp://ftp.suse.com/pub/suse/i386/ Truco La opción `Iniciar LiveEval-CD' es bastante útil a la hora de compro- bar la compatibilidad de una determinada computadora o de un portátil con Linux. Para ello no hace falta hacer una instalación real en el disco duro. ¡Se trata de una prueba que se podría efectuar sin más en cualquier tienda de PCs moderna! Figura 13.5: Selección del medio fuente en linuxrc Se pueden elegir diferentes fuentes para la instalación (figura 13.5) y también para generar un sistema de rescate (figura 13.6 en la página 327). 13.6. El sistema de rescate de SuSE SuSE Linux contiene varios sistemas de rescate que permiten acceder "desde afuera" a todas las particiones de Linux en los discos duros. Existe el disquete de arranque y un sistema de rescate que se puede cargar desde un CD, un disquete, la red o desde el servidor FTP de SuSE. Aparte de esto existe un CD arrancable (el "LiveEval-CD", que puede servir igualmente como sistema de rescate. El sistema de rescate contiene, entre otras, una buena selección de utilidades para brindar suficientes herramientas que permitan arreglar una serie de problemas, p. ej. respecto a la falta de acceso a los discos o respecto a problemas con ficheros de configuración. 325 13 Particularidades de SuSE Linux Truco Siempre se debe mantener un disquete de arranque y de rescate en un lugar seguro. El pequeño esfuerzo para generar y mantenerlos no tiene comparación con el trabajo y la pérdida de tiempo que representa no tener nada en un caso de emergencia. Preparativos Para crear el sistema de rescate se necesitan dos disquetes libres de daños: uno como disquete de arranque y el otro para la imagen comprimida de un pequeño sistema de ficheros raíz. El directorio /disks en el primer CD contiene las imágenes para el disquete de arranque (bootdisk) y para el sistema de rescate /disks/rescue. Hay tres posibilidades para crear el disquete con el sistema de ficheros raíz: con YaST en una consola de texto con los comandos de Linux: tierra: # /sbin/badblocks -v /dev/fd0 1440 tierra: # dd if=/cdrom/disks/rescue of=/dev/fd0 bs=18k o con los equivalentes de DOS (suponiendo aquí que Q: representa el lector CD-ROM bajo DOS): Q:\> cd \dosutils\rawrite Q:\dosutils\rawrite> rawrite.exe El disquete de rescate está actualmente basado a propósito en la librería libc5 (SuSE Linux 5.3); solo así caben varios programas (un Editor, fdisk, e2fsck, etc.) en un solo disquete. Aviso No se puede montar el disquete de rescate ya que no contiene ningún sistema de fichero, sino la imagen comprimida de uno. Si se desea verla alguna vez, lea el siguiente párrafo. Para contemplar la imagen descomprimida, primero se debe descomprimir y de- spués montarla como usuario `root'. Esto supone que el kernel soporta el loop- Device y funciona del siguiente modo: tierra: # cp /cdrom/disks/rescue /root/rescue.gz tierra: # gunzip /root/rescue.gz tierra: # mount -t ext2 -o loop /root/rescue /mnt 326 13.6 El sistema de rescate de SuSE Iniciar sistema de rescate El sistema de rescate se inicia como la instalación desde el disquete de arranque o desde el CD 1 de SuSE Linux. Es importante que se pueda arrancar desde la disquetera o desde el lector CD-ROM; si éste no fuera el caso se tendría que cambiar el orden de arranque en la BIOS. A continuación se detallan los pasos para iniciar el sistema de rescate: 1. Arrancar el sistema con el disquete de arranque (Bootdisk) o el CD 1 de SuSE Linux dentro del correspondiente dispositivo. 2. Se puede dejar que el sistema arranque sin intervención o bien se puede se- leccionar `Manual Installation' y ­ si esto fuera necesario ­ indicar parámetros en los `boot options'. Después existe la posibilidad de cargar los módulos de kernel manualmente. 3. Ajuste en linuxrc el idioma, la pantalla y el teclado. 4. En el menú principal seleccione `Iniciar la instalación, sistema'. 5. Si se ha arrancado con el disquete de arranque, se introduce el CD de in- stalación o el disquete (rescue) con la imagen comprimida del sistema de rescate. Figura 13.6: Elección del medio fuente del sistema rescue 6. En el menú `Iniciar la instalación, sistema' se selecciona la op- ción `Iniciar sistema de rescate' (ver figura 2.4 en la página 11) y se indica después el medio fuente (ver figura 13.6). A continuación se explican las diferentes posibilidades a elegir: `CD-ROM': Cargando el sistema de rescate la rama /cdrom se exporta. Es posible instalar desde este CD-ROM. 327 13 Particularidades de SuSE Linux Aviso Hay que configurar adecuadamente las variables en /etc/rc. config y ejecutar después SuSEconfig; ver apartado 14.5 en la página 340). `Red (NFS)': Acceder al sistema rescue por red vía NFS. Para ello hace falta cargar anteriormente el driver de la tarjeta de red ; ver también las indicaciones generales en el apartado 2.4.1 en la página 29 . `Red (FTP)': Para acceder al sistema rescue por red vía FTP hace falta cargar el driver de la tarjeta de red. `Disco duro': Cargar el sistema rescue desde el disco duro. `Disquete': Arrancar el sistema rescue desde un disquete, sobre todo cuando la computadora tiene poca memoria RAM. Independiente del medio seleccionado el sistema de rescate se descomprime y se carga como nuevo sistema de fichero raíz en un "RAM-Disk" (disco virtual), se monta, arranca y queda así operativo. Trabajar con el sistema de rescate § ¤ § ¤ § ¤ § ¤ El sistema de rescate proporciona, con las teclas ¦Alt ¥+ ¦F1 ¥hasta ¦Alt ¥+ ¦F3 ¥ , tres diferentes consolas virtuales en las que se puede efectuar un login (entrar en el sistema) como usuario `root' sin necesidad de contraseña. Con las teclas § ¤ § ¤ ¦Alt ¥+ ¦F10 ¥se llega a la consola de sistema para ver los mensajes del kernel y de syslog. En el directorio /bin se encuentran las shells y las utilidades (p. ej. mount) y un conjunto de utilidades para ficheros y red, como p. ej. e2fsck, que sirve para comprobar y arreglar sistemas de fichero. En /sbin se encuentran también los binarios más importantes para la administración del sistema como fdisk, mkfs, mkswap, init, shutdown y para el uso de red ifconfig, route y netstat. Bajo /usr/bin se encuentra el editor vi al igual que las herramientas (grep, find, less, etc.) y sobre todo telnet. Acceso al sistema "normal" Como punto de montaje del sistema SuSE Linux en el disco duro, está previsto el directorio /mnt, lo que no impide generar otros directorios y usarlos como puntos de montaje. Supongamos que el sistema normal contiene según /etc/fstab las particiones Linux, como se observa en el ejemplo del fichero 13.6.1 en la página siguiente. Atención En el siguiente apartado vigile el orden en el que se han de montar los dispositivos. 328 13.6 El sistema de rescate de SuSE /dev/sdb5 swap swap defaults 0 0 /dev/sdb3 / ext2 defaults 1 1 /dev/sdb6 /usr ext2 defaults 1 2 Fichero 13.6.1: Ejemplo de /etc/fstab Para tener acceso a todo el sistema hay que montarlo paso por paso mediante /mnt usando los siguientes comandos: tierra:/ # mount /dev/sdb3 /mnt tierra:/ # mount /dev/sdb6 /mnt/usr Ahora se tiene acceso a todo el sistema y se pueden corregir errores en los ficheros de configuración como en /etc/fstab, /etc/passwd o /etc/inittab. Estos ficheros se encuentran ahora bajo /mnt/etc en lugar de /etc. Es posible recuperar particiones totalmente perdidas, creándolas nuevamente con fdisk. Esto sólo funciona si se conoce con exactitud la posición en la que se encontraban antes en el disco duro. Por eso se recomienda guardar un impreso del fichero /etc/fstab y del resultado del comando: tierra: # fdisk -l /dev/ En lugar de hay que indicar uno por uno los nombres de dispositivo de los discos duros del sistema, p. ej.hda. Arreglar sistemas de ficheros Un sistema de fichero dañado es una razón seria para recurrir al sistema de rescate. Se produce p. ej. por no haber apagado correctamente la computadora (en caso de corte de la electricidad) o por un cuelgue de sistema. No se puede arreglar un sistema de fichero durante el uso normal de la computadora y en "ca- sos graves" ni siquiera se puede montar el sistema de fichero raíz y el arranque termina en el mensaje "kernel panic". En tal caso solo queda la posibilidad del arreglo "desde fuera" con un sistema de rescate. El sistema de rescate de SuSE Linux contiene las utilidades e2fsck y también dumpe2fs para el diagnóstico, lo que sirve para la mayoría de problemas. Gen- eralmente en casos de emergencia no se puede acceder a la Manual-Page de e2fsck, por lo tanto se encuentra impresa en el anexo A en la página 355. Ejemplo: Cuando un sistema de fichero se resiste a su montaje debido a un Súper-bloque no válido, lo más probable es que e2fsck fracase en el intento de arreglarlo. La solución es usar uno de los respaldos del Súper-bloque, que se encuentran cada 8192 bloques (bloque 8193, 16385. . . ) en el sistema de fichero. Se puede hacer con el comando: tierra: # e2fsck -f -b 8193 /dev/ La opción -f fuerza la comprobación del sistema de fichero para evitar que e2fsck asuma que todo está en orden por el hecho de haber detectado la copia intacta del Súper-bloque. 329 13 Particularidades de SuSE Linux 13.7. Consolas virtuales Linux es un sistema multitarea y multiusuario. Las ventajas que aportan estas características se agradecen incluso en un sistema PC con un solo usuario: El modo texto ofrece 6 consolas virtuales, a las que se puede acceder mediante § ¤ § ¤§ ¤ § ¤ las combinaciones de las teclas ¦Alt ¥+ ¦F1 ¥a¦Alt ¥+ ¦F6 ¥ . La séptima consola está reservada para X11.1 Si estando en X11 se desea trabajar en una consola virtual sin cerrar X11, se § ¤ § ¤ § ¤§ ¤ § ¤ § ¤ pulsan las combinaciones § ¤ § ¦Ctrl ¤ ¥+ ¦Alt ¥+ ¦F1 ¥a¦Ctrl ¥+ ¦Alt ¥+ ¦F6 ¥ . Para volver a X11 pulsar ¦Alt ¥+ ¦F7 ¥ . 13.8. Distribución de teclado Para normalizar la distribución del teclado de los distintos programas, se han modificado los siguientes ficheros: /etc/inputrc /usr/X11R6/lib/X11/Xmodmap /etc/skel/.Xmodmap /etc/skel/.exrc /etc/skel/.less /etc/skel/.lesskey /etc/csh.cshrc /etc/termcap /usr/lib/terminfo/x/xterm /usr/X11R6/lib/X11/app-defaults/XTerm /usr/share/emacs//site-lisp/term/*.el /usr/lib/joerc Estas modificaciones solo tienen efecto sobre las aplicaciones que leen los parámet- ros terminfo o sobre aquellas cuyos ficheros de configuración fueron modifi- cados directamente (vi, less, etc.). Se recomienda adaptar otras aplicaciones no-SuSE a estas definiciones. Dentro del entorno X Windows se puede acceder a la tecla Compose ("Mul- § ¤ § ¤ ti_key") mediante la combinación de teclas ¦Shift ¥+ ¦Ctrl ¥(derecha); véase el comentario en /usr/X11R6/lib/X11/Xmodmap. 1Modificando el fichero /etc/inittab se puede disponer de más o de menos consolas. 330 13.9 Configuración nacional ­ I18N/L10N 13.9. Configuración nacional ­ I18N/L10N Dado el nivel de internacionalización de SuSE Linux, es muy flexible para la adaptación a necesidades locales. En términos técnicos: La internacionalización ("I18N") permite implementar extensiones locales ("L10N"). Las abreviaciones I18N y L10N reemplazan los términos internationalization y localization, men- cionando siempre la letra inicial y final así como el número de caracteres que faltan entremedio. La configuración se realiza mediante las variables LC_* que se definen en el fichero /etc/rc.config.d/lang.rc.config. Aparte del idioma para la su- perficie de los programas y sus mensajes, se configuran también las categorías moneda, cifras, fecha y hora, emphel tipo de caracteres, el tipo de mensajes y el criterio de ordenar. Todas estas categorías se pueden definir dentro del fichero rc.config mediante una variable individual o de forma indirecta me- diante una variable de un nivel más alto (véase página del manual de locale (man 5 locale)): 1. RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_COLLATE, RC_LC_TIME, RC_LC_NUMERIC, RC_LC_MONETARY: Estas variables se pasan a la shell sin el "prefijo" RC_ y determinan las categorías arriba men- cionadas. A continuación se detalla el significado de las distintas variables. DEFAULT_LANGUAGE se encuentra directamente dentro de /etc/rc.config y no se exporta. Mediante el comando locale es posible consultar la configuración actual. 2. RC_LC_ALL: En caso de estar definido, esta variable sobreescribe los valores de las variables mencionadas en el apartado 1. 3. RC_LANG: Al no definir ninguna de las variables arriba mencionadas, ésta sirve de definición por defecto "Fallback". SuSE Linux por defecto solo de- fine RC_LANG para que el usuario tenga más facilidad de introducir valores propios. 4. ROOT_USES_LANG: Una variable booleana de valor yes/no; al tener no `root' siempre trabaja en el entorno POSIX. 5. DEFAULT_LANGUAGE: Esta variable cumple con dos funciones diferentes. Por una parte indica el idioma de inicio de YaST y a su vez sirve de respal- do cuando RC_LANG no está definido. YaST define esta variable según la selección hecha dentro del menú de selección de idioma. Para evitar equiv- ocaciones: SuSEconfig no pasa DEFAULT_LANGUAGE como LANGUAGE a la shell, sino que el valor de esta variable sirve en su caso para definir LANG. 6. LANGUAGE sirve para definir una "cascada" para el idioma soportado; ver. en la página 333. DEFAULT_LANGUAGE se puede modificar mediante YaST dentro de la opción de menú `Elegir el idioma'; véase el apartado 3.4.1 en la página 51. Las demás variables se determinan mediante el editor rc.config; véase el apartado 3.9.14 en la página 92. 331 13 Particularidades de SuSE Linux El valor de estas variables se compone de la identificación para el idioma (ingl. language code), del país o territorio (ingl. country code), del juego de caracteres (ingl. encoding) y de la opción (ingl. modifier). Todas estas indicaciones se unen mediante caracteres especiales: LANG=[[_].Encoding[@Modifier]] Algunos ejemplos Idioma y país se deben definir juntos. La indicación del idioma sigue la norma ISO 639 (http://www.indigo.ie/egt/standards/iso639/ iso639-1-en.html y http://www.loc.gov/standards/iso639-2/) y los códigos de país están definidos en la norma ISO 3166 (http://www. din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html). Solo se puede seleccionar valores que encuentran su homólogo en un fichero de descripción dentro del directorio /var/lib/locale. Es posible crear ficheros de descripción a partir de los ficheros /usr/share/i18n usando localedef. De esta forma un fichero de descripción para de_DE@euro.UTF-8 se crea mediante: tierra:~ # localedef -i de_DE@euro -f UTF-8 de_DE@euro.UTF-8 LANG=de_DE.ISO-8859-1 Esta el la forma de configurar el idioma alemán en Alemania con el juego de caracteres ISO-8859-1. Éste aún no incorpora el símbolo del Euro pero sigue siendo necesario para los programas que aún no han sido adaptados a la ISO-8859-15. Por ejemplo el programa Emacs analiza la codificación del juego de carac- teres (aquí ISO-8859-15). LANG=de_DE@euro Este es un ejemplo para la definición de una opción (euro). de_DE@euro es la configuración predeterminada de una instalación en alemán. LANG=de_DE.UTF-8 El parámetro UTF-8 sirve para trabajar en una xterm cpm Unicode. Para iniciar un xterm con UTF-8 se recomienda crear un script sencillo llamado p. ej.uxterm (véase el fichero 13.9.1). #!/bin/bash export LANG=de_DE.UTF-8 xterm -fn \ '-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1' \ -T 'xterm UTF-8' $* Fichero 13.9.1: uxterm para iniciar un xterm con Unicode SuSEconfig lee las variables en /etc/rc.config y escribe los valores en los ficheros /etc/SuSEconfig/profile y 332 13.9 Configuración nacional ­ I18N/L10N /etc/SuSEconfig/csh.cshrc. /etc/profile lee el fichero /etc/SuSEconfig/ profile (lo usa como fuente) y /etc/csh.cshrc lee /etc/SuSEconfig/ csh.cshrc. De esta forma la configuración está disponible para todo el sistema. La configuración del sistema puede ser modificada por los usuarios con el fichero de configuración individual de usuario ~/.bashrc. Por ejemplo, cuando la con- figuración del sistema es es_ES y el usuario prefiere los mensajes en inglés, es posible modificarlo mediante: LC_MESSAGES=en_US 13.9.1. Configuración del idioma soportado Los ficheros de la categoría Mensajes normalmente sólo se encuentran dentro del directorio de idioma (p. ej.de) para tener una solución de respaldo. Por ejem- plo cuando el valor de LANG está en de_AT y el fichero de mensajes no se en- cuentra en /usr/share/locale/de_AT/LC_MESSAGES, entonces el fichero /usr/share/locale/de/LC_MESSAGES sirve de respaldo para los mensajes. Otra posibilidad es la de definir una cadena de respaldos, p. ej.para bretón francés o para español gallego portugués: LC_MESSAGES="br_FR.ISO-8859-15:fr_FR.ISO-8859-15" LC_MESSAGES="es_ES.ISO-8859-15:gl_ES.ISO-8859-15\ :pt_PT.ISO-8859-15" Posibles problemas En cadenas de números no se reconoce el punto como separador de miles. Probablemente el valor de LANG esté en de. Como la descripción que usa la glibc se encuentra en /usr/share/locale/de_DE/LC_NUMERIC, LC_NUMERIC debe tener p. ej.el valor de_DE. Información adicional: The GNU C Library Reference Manual, capítulo "Locales and International- ization"; se encuentra dentro del paquete glibc-info, serie doc. Jochen Hein [Hei96], bajo la palabra clave "NLS". Spanish-HOWTO de Gonzalo García-Agulló file:/usr/share/doc/howto/ en/html/Spanish-HOWTO.html Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, actualizado en http: //www.cl.cam.ac.uk/~mgk25/unicode.html. Unicode-Howto de Bruno Haible file:/usr/share/doc/howto/en/html/Unicode-HOWTO.html. 333 13 Particularidades de SuSE Linux 334 14 El concepto de arranque de SuSE Linux 14 El concepto de arranque de SuSE Linux El arranque y la inicialización de un sistema UNIX provoca un hormigueo inclu- so al administrador de sistemas más experimentado. Este capítulo da una breve introducción al concepto de arranque de SuSE Linux. La implementación actu- al de este concepto la realiza el apartado System Initialization del diseño LSB (Versión 0.3); respecto a LSB véase el apartado 13.1.2 en la página 313. Con las específicas palabras "Uncompressing Linux..." el Kernel toma el mando de todo el Hardware del sistema; comprueba y fija la consola ­ más ex- actamente el registro de la BIOS de la tarjeta gráfica y el formato de salida de la pantalla ­, para después leer los valores predeterminados de la BIOS e inicializar las interfaces elementales de la placa base. En los próximos pasos los distintos drivers ­ que forman parte del Kernel ­ "prueban" el Hardware presente para realizar una inicialización, en caso necesario. Después del "Chequeo de la parti- ción" y la carga del Root-Filesystem, el Kernel ejecuta el /sbin/init, el cual realiza el auténtico arranque del sistema con sus múltiples programas auxiliares y sus configuraciones El Kernel sigue gestionando el sistema completo, el tiempo de cálculo de los programas y sus accesos al Hardware. 14.1. El programa init El programa init es el proceso correspondiente para una inicialización correcta del sistema; se puede decir que es el "Padre de todos los procesos" de sistema. Dentro de todos los programas, init tiene un status especial: init es ejecutado di- rectamente por el Kernel y por lo tanto no tiene efecto la señal 9, con la cual todos los procesos pueden ser "interrumpidos". Los procesos siguientes son ejecutados directamente por init o por uno de sus "Procesos subordinados". Se configura init centralizado a través del fichero /etc/inittab; aquí se de- finen los llamados "Runlevel" (se comenta más detenidamente en la sección siguiente) y se determina cuáles servicios y daemons deben estar disponibles en los diferentes niveles. Dependiendo de la escritura en /etc/inittab, init ejecu- ta diferentes scripts, que por razones de organización se reunen en el directorio /etc/init.d. Así, todo el proceso de arranque ­ y naturalmente la secuencia de apagado ­ es controlado por el proceso init; en este sentido se puede considerar el Kernel prácticamente como "Proceso en segundo plano", el cual tiene como objetivo gestionar los procesos arrancados, dedicarles tiempo de cálculo y posibilitar y controlar el acceso al Hardware. 335 14 El concepto de arranque de SuSE Linux 14.2. Los niveles de ejecución ­ "Runlevel" Bajo Linux existen diferentes Runlevel (nivel de ejecución), que definen qué es- tado debe tener el sistema. El Runlevel estándar, en el cual arranca el sistema, es- tá en el fichero /etc/inittab inscrito mediante initdefault; normalmente es 3 o 5 (ver tabla 14.1). Alternativamente se puede introducir el Runlevel re- querido en el proceso de arranque (p. ej. en LILO-Prompt); el Kernel transfiere parámetros que él no puede tratar sin modificar al proceso init. Se puede cambiar a otro Runlevel, solo introduciendo init con el número corre- spondiente; naturalmente el cambio a otro Runlevel solo puede ser gestionado por el Administrador de sistema. Por ejemplo, se logra entrar mediante el siguiente comando root@tierra:/ > init 1 en el modo monousuario (ingl. Single user mode), el cual se preocupa del man- tenimiento y administración del sistema. Después de que el administrador del sistema ha acabado su trabajo se puede iniciar, para que con root@tierra:/ > init 3 arranque el sistema en el Runlevel corriente, en el cual todos los programas nece- sarios se ejecutan y los usuarios individuales pueden dar un aviso al sistema. La tabla 14.1 da una orientación sobre los Runlevel disponibles. Runlevel 2 no debería ser utilizado en un sistema del cual /usr-Partition está cargado vía NFS! Runlevel Significado 0 Parada de sistema (ingl. System halt) S Modo monousuario (ingl. Single user mode); desde el prompt de arranque con distribución de teclado inglesa. 1 Modo monousuario (ingl. Single user mode) 2 Modo multiusuario local sin red (ingl. Full multiuser with net- work) 3 Modo multiusuario completo con red (ingl. Full multiuser with network) 4 Libre (ingl. Not used) 5 Modo multiusuario completo con red y KDM (estándar), GDM o XDM (ingl. Full multiuser with network and xdm) 6 Rebotar el sistema (ingl. System reboot) Cuadro 14.1: Lista de los Runlevel disponibles bajo Linux En consecuencia resulta que también se puede parar el sistema con root@tierra:/ > init 0 o reinicializándolo de nuevo con, root@tierra:/ > init 6. Si el sistema X Window ya está correctamente configurado (apartado 6.3 en la página 147) y los usuarios quieren entrar directamente al entorno gráfico del sistema, se puede cambiar el valor del Runlevel estándar a 5 en /etc/inittab. 336 14.3 Cambio del Runlevel Antes de realizar esta operación, se debería comprobar si el sistema funciona tal como se desea, introduciendo root@tierra:/ > init 5 Truco Un /etc/inittab alterado puede hacer que el sistema ya no ar- ranque correctamente. Hay que tener cuidado al modificar este fichero. ­ Para remediar el problema se puede intentar transferir el parámetro init=/bin/sh en el LILO-Prompt, para arrancar directamente dentro de una Shell (ver apartado 1 en la página 112); se puede hacer del siguiente modo: boot: linux init=/bin/sh 14.3. Cambio del Runlevel En un cambio del Runlevel ocurre generalmente lo siguiente: Los llamados scripts de parada del Runlevel actual se ejecutan­ los diferentes programas que se están ejecutando en este nivel se finalizan ­ y los scripts de arranque del nuevo Run- level se inicializan. En un procedimiento como éste, en la mayoría de los casos se ejecutan varios programas. Para aclarar esto consideramos en un ejemplo, qué ocurre si cambiamos del Run- level 3 a Runlevel 5: El administrador (`root') comunica al proceso init que debe cambiar el Runlevel: root@tierra:/ > init 5 init consulta el fichero de configuración /etc/inittab y detecta que el script /etc/init.d/rc debe ser llamado con el nuevo Runlevel como parámetro. Ahora llama rc a todos los Stop-scripts del Runlevel actual, para los cuales no existe un Start-script en el Runlevel nuevo; en nuestro ejemplo son todos los scripts que se encuentran en el subdirectorio /etc/init.d/rc3.d (el último Runlevel era 3) y que comienzan con la letra `K'. El número que sigue a la `K' asegura que se mantenga un cierto orden en el proceso, porque ocasionalmente algunos programas dependen de otros. Aviso Los nombres de los Stop-scripts empiezan siempre con `K' (ingl. kill), los de los Start-scripts con `S' (ingl. start). 337 14 El concepto de arranque de SuSE Linux Por último son llamados los Start-scripts del nuevo Runlevel; estos están en nuestro ejemplo en /etc/init.d/rc5.d y empiezan con una `S'. Tam- bién aquí se mantiene un orden determinado el cual está fijado por el número que sigue de la `S'. Si cambia al mismo Runlevel en cual se encuentra,init lee solo el /etc/inittab, comprueba el fichero para cambios existentes y en caso necesario realiza los pro- cedimientos adecuados (p. ej. ejecuta un getty en otra interfaz). 14.4. Los scriptsde inicio Los scripts bajo /etc/init.d se dividen en dos categorías: scripts llamados directamente por init: Esto solo sucede en caso de arranque así como también en caso de un apagado instantáneo (en caso de fallo de § ¤ § ¤ § ¤ tensión o por pulsar la combinación de teclas ¦Ctrl ¥+ ¦Alt ¥+ ¦Suppr ¥por parte del usuario). scripts llamados indirectamente por init: Esto ocurre en caso de un cambio del Runlevel; aquí generalmente se ejecuta el script superior /etc/init.d/rc, el que se encarga de que sean llamados los scripts correspondientes en su secuencia correcta. Todos los scripts se encuentran bajo /etc/init.d. Los que se usan para el cambio del Runlevel se encuentran también en este directorio, pero son llama- dos siempre como un enlace simbólico desde uno de los subdirectorios /etc/ init.d/rc0.d hasta /etc/init.d/rc6.d. Esto sirve para organizar y, evi- ta que los scripts tengan que estar presentes varias veces, por ser utilizados en diferentes Runlevel. Para que cada uno de los scripts pueda ser llamado como Start- o Stop-script, éstos tienen que entender los dos parámetros start y stop. A parte de estos dos parámetros, los scripts son capaces de procesar las opciones restart, reload, force-reload y status cuyas significados se detallan en la tabla 14.2. Opción Significado start Iniciar el servicio stop Parar el servicio restart Con el servicio en ejecución, pararlo y reiniciarlo; en ca- so contrario, iniciarlo reload Leer la configuración del servicio nuevamente sin parada y reinicio del servicio force-reload Leer nuevamente la configuración del servicio, si éste lo soporta; en caso contrario igual a restart status Mostrar estado actual Cuadro 14.2: Resumen de las opciones de los scripts de inicio 338 14.4 Los scriptsde inicio Al salir del Runlevel 3 es llamado /etc/init.d/rc3.d/K40network; /etc/ init.d/rc llama el script /etc/init.d/network con el parámetro stop. Por último, al entrar en Runlevel 3, se ejecuta el mismo script pero ahora con el parámetro start. Los enlaces en los subdirectorios específicos de los Runlevel solo sirven para unir cada script con un determinado Runlevel. Los enlaces necesarios se crean y se quitan mediante insserv (o mediante el en- lace /usr/lib/lsb/install_initd) en el momento de instalar o desinstalar el paquete; ver página del manual de insserv (man 8 insserv). A continuación hay una breve descripción del primer Boot- y del último Shut- down-scripts así como del script de control: boot Es ejecutado directamente por init en el arranque del sistema. Es indepen- diente del Default-Runlevel requerido y se ejecuta solo una vez. Aquí se ejecuta el Kernel-Daemon, que se encarga de la carga automática de los mó- dulos-Kernel. Se realiza la comprobación de los sistemas de ficheros, ficheros sobrantes bajo /var/lock se eliminan y la red se configura para el Loop- back-Device, en caso que sea apuntado en /etc/rc.config. Acto seguido se fija el tiempo real del sistema y el Plug-and-Play-Hardware es configurado mediante los isapnp-Tools (ver apartado 7.2.1 en la página 182) . Si aparece un fallo grave durante la comprobación y reparación automática de los sistemas de fichero, el administrador del sistema tiene la posibilidad de resolver el problema manualmente, después de haber entrado el código de seguridad. Este script tiene adjudicado además el directorio /etc/init.d/boot.d; todos los scripts encontrados, que comiencen con `S', son automáticamente ejecutados en el proceso de arranque del sistema. Este es el sitio ideal para ampliaciones personales, que solo tienen que ser activadas una vez en el pro- ceso de arranque. Por último se ejecuta el script boot.local. boot.local Aquí se pueden introducir más cosas que se deban ejecutar en el arranque, antes que el sistema entre en uno de los Runlevel; se puede hacer la com- paración con el fichero AUTOEXEC.BAT bajo DOS. boot.setup Son fijaciones básicas que se deben realizar cuando se cambia desde el Sin- gle user mode a cualquier otro Runlevel. Aquí se cargan la distribución del teclado y la configuración de la consola. halt Este script solo se ejecuta entrando en Runlevel 0 o 6. Entonces se ejecuta mediante el nombre halt o el nombre reboot. Dependiendo de cómo se denomine a halt, el sistema se reinicializa o se apaga totalmente. rc Es el script superior, el cual es llamado en cada cambio del Runlevel. Ejecuta los Stop-scripts del Runlevel actual y después los Start-scripts del nuevo. 339 14 El concepto de arranque de SuSE Linux Se pueden añadir scripts propios mediante este concepto; un patrón está prepara- do en /etc/init.d/skeleton. El diseño del LSB detalla el formato que debe tener este patrón. Particularmente se hace hincapié en el orden de procesamiento de los scripts y su asignación a los distintos niveles de ejecución. Para controlar la ejecución de un script propio mediante el /etc/rc.config, se debería crear una variable- y entonces usarla en el propio script; los parámetros adicionales solo se deben introducir en el /etc/rc.config en casos justifica- dos (ver p. ej. el script /etc/init.d/gpm). Ahora se deben crear enlaces desde cada directorio rc al script nuevo, para que éste se ejecute cambiando de Runlevel; ver apartado 14.3 en la página 337. También en la misma referencia se explica la asignación de nombres a los en- laces. Los detalles técnicos se describen en la página del manual de init.d (man 7 init.d). Atención Elaborando scripts propios hay que tener cuidado ­ un script con fallos es capaz de provocar el bloqueo de la computadora; ver apartado 14.2 en la página 336, si se diera el caso en que deje de funcionar el sistema. . . 14.5. /etc/rc.config y SuSEconfig Prácticamente toda la configuración de SuSE Linux se puede realizar mediante el fichero de configuración central /etc/rc.config. Este fichero contiene una serie de variables de entorno que son evaluadas por los spripts de inicialización (ingl. init scripts). Cada uno de los scripts en /etc/init.d carga como primer fichero /etc/rc.config para acoger los valores actuales de cada variable. Aviso Desde SuSE Linux 6.0 hay ciertos paquetes con amplias posibilidades de configuración, cuyas variables se traspasan a ficheros individuales en el directorio /etc/rc.config.d; algunos ejemplos son el paquete sendmail o elpaquete i4l (RDSI). ¡No obstante en este apartado se considera generalmente que todas las variables se encuentran en /etc/rc.config! Además se pueden generar muchos más ficheros de configuración del sistema en dependencia de /etc/rc.config; de esto se encarga /sbin/SuSEconfig. Así p. ej., después de un cambio en la configuración de la red se genera de nuevo el fichero /etc/host.conf, porque depende de la manera de cómo esté configu- rado. Entonces si se realizan cambios en /etc/rc.config, se debe ejecutar poste- riormente SuSEconfig, para asegurar, que los datos prefijados actúen en todos 340 14.6 Las variables en /etc/rc.config ­ Configuración de sistema los sitios correspondientes. Si se cambia la configuración con YaST, entonces no hay que preocuparse expresamente de esto; YaST ejecuta automáticamente SuSEconfig, con lo cual se actualizan los ficheros correspondientes. Este concepto permite realizar cambios fundamentales en la configuración de la computadora, sin necesidad de arrancar de nuevo; no obstante algunos cambios son muy profundos y, según las circunstancias, algunos programas tienen que ser arrancados nuevamente. La utilización de los comandos tierra:~ # rcnetwork stop tierra:~ # rcnetwork start se consigue que los programas afectados por los cambios se arrancan de nuevo. Como se puede observar, los Init-scripts también pueden ser ejecutados manual- mente. Generalmente para la configuración del sistema se aconseja el siguiente proced- imiento: Conmutar el sistema en el "single user mode" (Runlevel 1): tierra:~ # init 1 Realizar los cambios requeridos en el fichero de configuración /etc/rc. config. Esto se puede hacer con cualquier editor o con YaST bajo el punto `Modificar fichero de configuración' (ver apartado 14.6). Ejecutar SuSEconfig, para realizar los cambios en los diferentes ficheros de configuración. Esto ocurre automáticamente si el fichero /etc/rc.config es modificado con YaST. Regresar el sistema al Runlevel anterior: tierra:~ # init 3 Este procedimiento solo es necesario en caso de cambios amplios en la con- figuración del sistema (p. ej. configuración de la red); para tareas sencillas de administración no hace falta entrar en el "single user mode"; sin embargo, así se asegura que todos los programas afectados por las modificaciones arranquen de nuevo. Truco Para desconectar siempre la configuración automática vía SuSEconfig, se puede activar la variable en la /etc/rc. config (ver la advertencia en en la página siguiente). También es posible, mediante variables adecuadas de rc.config deshabilitar la configuración automática selectivamente. 14.6. Las variables en /etc/rc.config A continuación se comentarán brevemente los parámetros individuales del sis- tema y sus estados. Si no se trata el fichero de configuración /etc/rc.config 341 14 El concepto de arranque de SuSE Linux con YaST, se ha de tener cuidado de anotar un parámetro vacío como dos comil- las consecutivas (p. ej. KEYTABLE="") y de anotar también los parámetros que contienen espacios entre comillas. Para variables que se componen de una pal- abra no hace falta hacerlo. En la siguiente descripción, cada parámetro tiene un valor para explicar las posi- bles variaciones: Configuraciones básicas ENABLE_SUSECONFIG=yes Determina si SuSEconfig tiene que realizar una configuración. No se debe apagar nunca si se quiere utilizar el soporte de instalación ;-) MAIL_REPORTS_TO=tux Determina a quién envía SuSEconfig informes para la administración del sistema vía E-Mail. GMT=-u Si el Hardware-Reloj está fijado a GMT (Greenwich Mean Time), se fija esta variable a -u, sino se deja vacía. Este ajuste es importante para el cambio automático de tiempo de verano a invierno y viceversa. TIMEZONE=CET La franja horaria donde se vive. Es importante también para el cambio au- tomático de tiempo de verano a invierno y viceversa. DEFAULT_LANGUAGE="german" Lo define YaST, cuando se ha hecho una modificación al respecto con `Ele- gir el idioma' (ver apartado 3.4.1 en la página 51). El valor que se define aquí sirve también de referencia cuando no está definido RC_LANG; en tal ca- so el valor indicado se resuelve mediante el fichero /usr/share/locale/ locale.alias. RC_LANG="de_DE" Define LANG para locale; con ello es posible definir un valor por defecto para los usuarios. Este valor es válido hasta el momento en que se definan algunas variables RC_LC_* especiales. Las variables típicas de rc.config son: RC_LC_ALL (¡Con esta última se puede sobre-escribir la LC_* tal como la LANG!), RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_MONETARY, RC_LC_NUMERIC, RC_LC_TIME y RC_LC_COLLATE. Ver el apartado 13.9 en la página 331. ROOT_USES_LANG="no" Esto es para definir si también se deben usar los ajustes tipo locale para `root'. ENABLE_SYSRQ="no" Observar el interior del kernel; antes de activarlo es imprescindible leer /usr/ src/linux/Documentation/sysrq.txt! 342 14.6 Las variables en /etc/rc.config ­ Configuración de sistema Inicializar hardware local (Teclado, modem, mouse, PCMCIA etc.) KEYTABLE=de-latin1-nodeadkeys Define la distribución del teclado. KBD_NUMLOCK=no § ¤ ¦Bloq Num ¥no conectar en el proceso de arranque. KBD_CAPSLOCK=no § ¤ ¦Bloq Mayús ¥no conectar en el proceso de arranque. KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6" § ¤ § ¤ El efecto de ¦Bloq Num ¥y ¦Bloq Mayús ¥se puede restringir a determinados TTY's; "" representa todos los TTY's KBD_RATE=30 Determina la velocidad de repetición de teclas. Posibles configuraciones son de 2 a 30 veces por segundo. Para que tengan efecto los valores determinados, al mismo tiempo se tiene que determinar el retardo (ver KBD_DELAY)! KBD_DELAY=250 Aquí se puede introducir el retardo, después de que entre la función de repeti- ción. El valor es en milisegundos, pero los pasos no son muy exactos. Tam- bién se tiene que fijar KBD_RATE! CONSOLE_FONT=mr.fnt La fuente que se debe cargar para la consola. No todas las fuentes soportan la diéresis alemana! Con YaST se pueden probar tranquilamente todas las fuentes y fijar la que más guste. Ajustes adicionales se realizan mediante: CONSOLE_SCREENMAP, CONSOLE_UNICODEMAP y CONSOLE_MAGIC. MODEM=/dev/ttyS1 La interfaz a la cual está conectado el modem. Desde YaST o SuSEconfig se crea un enlace desde /dev/modem al device determinado. MOUSE=/dev/ttyS2 La interfaz a la cual está conectado el mouse. Desde YaST o SuSEconfig se crea un enlace desde /dev/mouse al device determinado. START_GPM=yes Controla si se inicia el soporte del mouse para la consola; con ello se puede transferir texto mediante el mouse entre diferentes consolas. GPM presenta problemas al trabajar con algunos mouse de Bus, por tanto, si ocurren prob- lemas con el mouse al manejar X, se debería dejar de iniciar GPM o utilizar directamente xdm, ya que en el Runlevel 5 normalmente no se ejecuta GPM. GPM_PARAM=" -t logi -m /dev/mouse" Los parámetros para el GPM; normalmente se abastecen de YaST. 343 14 El concepto de arranque de SuSE Linux PCMCIA=i82365 Sirve para ajustar el chipset; valores válidos son i82365 o tcic. Si se define la variable como "", no arranca el PCMCIA-Subsystem. Es posi- ble realizar ajustes finos mediante las variables PCMCIA_PCIC_OPTS y PCMCIA_CORE_OPTS. START_ISAPNP=yes Inicializar ISA PnP durante el arranque. INITRD_MODULES="aic7xxx" Los nombres de los módulos que el kernel debe cargar durante el arranque (p. ej.para poder acceder al disco duro). Todas las entradas razonables y nece- sarias se efectúan durante la instalación o la actualización; ver apartado 13.4 en la página 316. START_KERNELD=yes Esta opción determina si se inicia automáticamente el daemon del kernel cuando arranca la computadora o no. Este daemon se encarga de levantar módulos de kernel según necesidad. Con el kernel estándar actual (versión 2.2.xx) no se necesita kerneld. ­ En el apartado 10.2 en la página 249 hay una introducción corta sobre el concepto de módulos. Configurar e iniciar servicios de red y locales START_LOOPBACK=yes Determina si se instala una Mini-Red, en la cual se configura el denominado Loopback-Device. Debería ser activado ya que muchos programas necesitan esta funcionalidad 1. CHECK_ETC_HOSTS=yes Determina si SuSEconfig ha de comprobar y modificar /etc/hosts. BEAUTIFY_ETC_HOSTS=no Si quiere que SuSEConfig se encargue de ordenar /etc/hosts. SETUPDUMMYDEV=no Determina si el Dummy-Device debe estar instalado; esto es útil en casos de conexiones no-permanentes de red (p. ej. SLIP oder PPP), sin embargo, si tiene una tarjeta Ethernet, a veces esta función deja de ser útil. CREATE_HOSTCONF=yes Determina si SuSEconfig ha de comprobar y modificar /etc/host.conf. MODIFY_RESOLV_CONF_DYNAMICALLY=yes Algunos servicios como ppp, ippp, dhclient y pcmcia ("hotplug") de- penden de la posibilidad de modificar /etc/resolv.conf dinámicamente. Un ejemplo es el establecimiento de una conexión PPP o IPPP en la que la contraparte informa sobre el servidor de nombres que se ha de utilizar; en el 1Naturalmente el Kernel debe dar soporte de red l! 344 14.6 Las variables en /etc/rc.config ­ Configuración de sistema caso de PCMCIA es importante configurar el servidor de nombres correcto según el esquema PCMCIA utilizado. Al poner la variable en no, ninguno de los servicios mencionados modificará por sí mismo /etc/resolv.conf. En caso de duda se recomienda manten- er el valor por defecto yes. NETCONFIG=_0 Determina cuántas tarjetas (u otros dispositivos de red) tiene instalada la computadora. Aquí se indica el ejemplo para una tarjeta de red (se enu- meran empezando por 0); en una máquina con dos tarjetas debería aparecer NETCONFIG="_0 _1". En una computadora sin tarjeta de red no se intro- duce nada. IPADDR_0=193.141.17.202 La dirección-IP para la primera tarjeta de red. NETDEV_0=eth0 El nombre del primer dispositivo de red (normalmente una tarjeta de red Eth- ernet), por esto el valor eth0. Otros posibles valores son str1 o plip1. Si la computadora dispone de más de una tarjeta de red, se activan paralelamente las variables NETDEV_1 hasta NETDEV_3. IFCONFIG_0="193.141.17.205 broadcast 193.141.17.255 netmask 255.255.255.192" El comando de configuración para el primer dispositivo de red. Se activa muy fácilmente con YaST. Si se tiene más de una tarjeta de red se introducen aquí las correspondientes variables en la línea de comandos. NETWORK_0="-net 193.141.17.0" La dirección de red para la primera tarjeta. Si se utilizan conexiones Point- To-Point (p. ej. con PLIP) YaST pone esta variable al valor "-host 193.141.17.202", que corresponde a la dirección IP de la con- traparte PPP. CLOSE_CONNECTIONS=false Si está activado true y el "Runlevel" es 0 ó 6 (halt o reboot), /etc/init.d/route envía una señal SIGTERM a todos los procesos que tienen una conexión "remote tcp"- o "udp" abierta. IP_DYNIP=no Activar el "dynamic IP patch" durante el tiempo de arranque; con yes el script /etc/init.d/boot libera este parche mediante una entrada en el sistema de ficheros /proc. IP_TCP_SYNCOOKIES=yes Activar la protección contra "Syn Flooding" (ingl. syn flood protection). IP_FORWARD=no Para que la computadora pase información a través de dos interfaces de red, la variable IP_FORWARD debe estar en yes. Se trata de algo deseado o quizás necesario en el caso de un enrutador o para "Masquerading". El script /etc/init.d/boot pone en funcionamiento "IP-Forwarding" medi- ante una entrada en el sistema de ficheros /proc. 345 14 El concepto de arranque de SuSE Linux FQHOSTNAME=tierra.cosmos.univ El nombre totalmente cualificado, es decir, el nombre completo compuesto de nombre de computadora y nombre de dominio. ORGANIZATION="Duck, Patolandia" El texto introducido aquí aparece en cada News-Posting que se envía desde la computadora correspondiente. NNTPSERVER=sol.cosmos.univ La dirección del Servidor de Noticias; si se recibe las noticias vía UUCP y se almacenan localmente, se debe introducir aquí localhost. IRCSERVER=sol.cosmos.univ Aquí se pueden introducir varios IRC-Server (Internet Relay Chat). Los nom- bres de los diferentes servidores se separan aquí mediante espacios. START_FW=no Activa el cortafuegos. START_INETD=yes Activa el "súper-daemon" del tipo inetd, que reacciona frente a peticiones de conexión por parte de otras computadoras e inicia, según el puerto elegido, el servicio correspondiente. Se necesita para poder acceder a la computadora vía rlogin o telnet. No obstante, se pone START_INETD en no, si se quiere usar el xinetd (ver a en esta página). START_XINETD=no Activa el "súper-daemon" xinetd, el inetd extendido (ver en esta página). Usando este "extended Internet services daemon", START_INETD debe estar seleccionado con el valor no. SENDMAIL_xxxx= Variables de sendmail. START_POSTFIX=no Activa el servidor de correo postfix. Las variables que le corresponden son POSTFIX_CREATECF, POSTFIX_RELAYHOST, POSTFIX_MASQUERADE_DOMAIN y POSTFIX_LOCALDOMAINS. SMTP=no Determina si el daemon de Sendmail debe correr. No hace falta activar esta opción si recibe su E-Mail exclusivamente por UUCP, suponiendo que eje- cuta sendmail -q después de cada recepción de correo (polling), ya que UUCP llama a rmail y éste solamente coloca el mensaje adentro de la cola de recepción pero no lo "entrega". En una red, en la que todos los directorios de recepción de mensajes se montan vía NFS y donde cada computadora no tiene más que mensajes salientes, esta variable también puede estar en no; lo mismo es válido usando un "Relay Hosts". START_PORTMAP=no La variable determina si el "Portmapper" (mapeador de puertos) debe arran- car, lo que hace falta si la computadora debe actuar como servidor NFS. Sin 346 14.6 Las variables en /etc/rc.config ­ Configuración de sistema el Portmapper no se pueden arrancar los daemons rpc.mountd y rpc.nfsd, por lo que el Portmapper se inicia también cuando esta variable vale no con NFS_SERVER activado. El Portmapper también es necesario para usar NIS. NFS_SERVER=no Poner esta variable en yes para que la computadora actúe como servidor NFS. El efecto es el inicio de lo daemons rpc.nfsd y rpc.mountd. REEXPORT_NFS=no Poner el valor de esta variable a yes, para poder reexportar directorios mon- tados del tipo NFS o NetWare. NFS_SERVER_UGID=yes Aquí se determina si el daemon para la conversión de los IDs de usuario y grupo (rcp.ugidd) se debe activar; hay que activar este servicio sobre el cliente NFS en cuestión. USE_KERNEL_NFSD="no" Es posible usar el daemon NFS basado en el kernel, si el paquete knfsd está instalado. Este daemon permite "Locking"; ver la variable correspondiente USE_KERNEL_NFSD_NUMBER. START_AMD=no Iniciar el Automounter; si no existen buenas razones para ello, es preferible usar el módulo del kernel autofs (ver más abajo en esta página). START_AUTOFS=no Este daemon permite montar automáticamente directorios locales (lectores CD-ROM, Disqueteras, etc.) al igual que aquellos que se accedan vía NFS. El paquete autofs, serie n debe estar instalado y configurado. USE_NIS_FOR_AUTOFS=yes Acceso a la configuración Autofs mediante NIS-Maps. START_RWHOD=no Decide sobre el arranque de rwhod. Se debe tener cuidado, ya que el rwhod envía continuamente "Broadcasts" que pueden provocar costes si se levantan conexiones por demanda de RDSI y/o diald. START_ROUTED=no Este daemon de encaminar (ingl. route daemon) solo se necesita para el "routing" dinámico (ver página del manual de routed (man routed)). ¡Aten- ción! se trata de un servicio que provoca tráfico de red cada 30 segundos. Por eso carece completamente de sentido activar la opción con yes si la com- putadora está conectada a Internet por Dialup (p. ej. RDSI). START_NSCD=yes Iniciar durante el arranque el daemon NSCD (ingl. Name Service Caching Daemon). START_NAMED=no Determina si arranca o no el daemon de nombre. 347 14 El concepto de arranque de SuSE Linux CREATE_YP_CONF=yes Aquí se define si SuSEconfig debe generar automáticamente los ficheros necesarios para el uso de YP. Además se adaptan según necesidad los ficheros de configuración /etc/passwd y /etc/group. YP_DOMAINNAME=cosmos.univ El nombre de dominio YP de la computadora. YP_SERVER=sol.cosmos.univ El nombre del servidor NIS. USE_NIS_FOR_RESOLVING=no Usar o no usar NIS para resolver los nombres de las computadores. START_CIPED=no Iniciar el daemon CIPE para un túnel IPIP. START_DHCPD=no Iniciar el servidor de DHCP (ingl. Dynamic Host Configuration Proto- col). A esta configuración pertenecen las variables DHCPD_INTERFACE, START_DHCRELAY y DHCRELAY_SERVERS. START_LDAP=no Iniciar el servidor LDAP. START_RADIUSD=yes Iniciar Radius-Accounting y Authentication Service. Existen p. ej. determi- nados servidores Dialin que usan este servicio para la autentificación de usuario; ver la documentación en /usr/doc/packages/radiusd. START_LPD=yes Iniciar el daemon de impresión lpd (ingl. Line Printer Daemon), que se nece- sita generalmente para imprimir. START_NNTPD=yes Iniciar nntpd, que permite el acceso a noticias locales vía NNTP. START_INN=no Iniciar servidor de noticias INN. START_ATD=yes Con esta variable se puede iniciar el daemon AT. Este permite ejecutar ciertas tareas en un determinado momento. En comparación al daemon Cron, se trata de una acción que se realiza una sola vez. START_HTTPD=yes Indica si se debe iniciar el daemon http Apache. START_HTTPSD=yes Determina si se debe iniciar el servidor web "seguro" Apache-httpsd usando SSL y PHP3. START_SQUID=no Indica si Squid debe iniciarse. 348 14.6 Las variables en /etc/rc.config ­ Configuración de sistema DOC_HOST="" Si existe un servidor central con documentación que contiene el sistema de ayuda de SuSE, se debería indicar aquí el nombre del mismo p. ej. "sol.cosmos.univ". DOC_SERVER=no El servidor que lleva la documentación debe tener esta variable definida en yes. En este caso el acceso a http-rman se otorga en función de las indica- ciones en DOC_ALLOW (ver la próxima variable) y los ficheros de índice del servidor se reconfiguran al respecto. En lugar de indicar http://localhost indicarán http://`hostname-f`. DOC_ALLOW="LOCAL" Lista de las computadoras o de los dominios como plantilla de /etc/hosts. allow, para determinar aquellas que tienen acceso al servidor de documentación. La variable solo se contempla cuando DOC_SERVER está en yes. También es posible indicar un sub-dominio (p. ej. ".cosmos.univ"). HTTP_PROXY="" Hay algunos programas (p. ej. lynx, arena o wget) que son capaces de usar un servidor proxy si esta variable está configurada al respecto. SuSEconfig puede definirla en /etc/SuSEconfig/* (ver en el banco de datos de soporte SDB file:/usr/share/doc/sdb/de/html/lynx_proxy.html). Ejemplo: "http://proxy.provider.de:3128/". FTP_PROXY="" Proxy para FTP. Ejemplo: "http://proxy.provider.de:3128/". GOPHER_PROXY="" Proxy para Gopher. Ejemplo: "http://proxy.provider.de:3128/". NO_PROXY="" Con esta variable es posible excluir sub-dominios del proxy. Ejemplo: "www.me.de, do.main, localhost". START_HYLAFAX=no Con esa variable se inicia Hylafax. Antes de ponerla en yes hay que ejecutar faxsetup. START_SMB=no Iniciar el servidor Samba, que es un servidor de ficheros y de impresión para clientes Windows. START_MARSNWE=no Indica si se debe iniciar la emulación de servidor de Novell START_SSHD=yes Iniciar el "Secure Shell Daemon"; antes de iniciarlo asegure la existencia de un "host key" ­ ver la documentación en /usr/doc/packages/ssh y las Manpages. 349 14 El concepto de arranque de SuSE Linux START_XNTPD=yes Inicia el "Network Time Protocol (NTP) Daemon" del paquete xntp; la con- figuración misma se realiza en el fichero /etc/ntp.conf. Los relojes de ajuste automático vía onda electromagnética ("Reloj atómi- co") tienen direcciones IP de la forma wert127.127.T.U. T representa el tipo de reloj y U es el número de unidad entre 0 y 3. ­ La mayoría de estos relojes necesitan un puerto serie o un bus especial. El fichero de dispositivo pre- visto para ello (Dispositivo) se indica normalmente con un enlace simbólico /dev/device-U hacia el hardware real. U debe coincidir con el número de unidad mencionado anteriormente; ver también /usr/doc/packages/ xntp/html/refclock.htm. Ejemplo: Teniendo un "reloj atómico", que se conecta al puerto serie, se debe establecer el enlace simbólico correspondiente. El nombre del mismo se indica en refclock.htm. ­ El driver "PARSE" se encarga de los receptores de onda típicos del tipo DCF77. ## Type 8 Generic Reference Driver (PARSE) ## Address: 127.127.8.u ## Serial Port: /dev/refclock-u Si se selecciona p. ej. server 127.127.8.0 mediante una entrada en ntp. conf, también hace falta definir un enlace simbólico de /dev/refclock-0 a ttySx; x representa aquí la interfaz usada para la conexión. XNTPD_INITIAL_NTPDATE="" Lista de los servidores NTP que proporcionan la hora antes de iniciar el servi- dor local; p. ej."sol.cosmos.univ". Cuando se indican varios servidores es necesario separarlos con un espacio. DISPLAYMANAGER="kdm" Esta variable determina el gestor utilizado para el "login" gráfico. Los valores admitidos son xdm (administrador de ventanas estándar del sistema X Win- dow), kdm (administrador de ventanas estándar de KDE) o wdm (el gestor de ventanas "WINGs"). KDM_SHUTDOWN=root Indica cuáles son los usuarios que tienen el derecho de apagar (Reboot o Shutdown) la computadora a través de kdm. Los valores admitidos son root (`root' tiene que identificarse con su con- traseña), all (todos los usuarios), none (nadie puede apagar la computadora vía kdm) y local (solo hay permiso de parar la computadora si el usuario ha entrado al sistema desde la consola y no a través de la red). Si se indica "", se usa root como el valor por defecto. CONSOLE_SHUTDOWN=reboot Aquí se determina el comportamiento del proceso init respecto a la intro- § ¤ § ¤ § ¤ ducción de la combinación de teclas ¦Control ¥+ ¦Alt ¥+ ¦Suppr ¥. Los valores admitidos son: reboot (la computadora cierra el sistema y se reinicia), halt (la computadora se para y según el tipo también se apaga) e ignore (pulsar 350 14.6 Las variables en /etc/rc.config ­ Configuración de sistema la combinación de teclas no tiene ningún efecto). La variable está por defecto en reboot. START_AXNET=no Servidor para Applixware . START_MYSQL=no Servidor para MySQL. START_ADABAS=no Servidor para el programa Adabas, al cual pertenecen las siguientes vari- ables: DBROOT, DBNAME, DBUSER y DBCONTROL ­ ver los comentarios al re- specto en rc.config. START_DB2=no Servidor para DB2. START_ARKEIA=no Iniciar el servidor de respaldo Arkeia. START_ARGUS=no Servidor para Argus (monitor de red). ARGUS_INTERFACE=eth0 La interfaz que Argus debe "vigilar". ARGUS_LOGFILE="/var/log/argus.log" El fichero de registro de Argus. ¡Puede llegar a tener un tamaño muy grande! CRON=yes Manipula el inicio y la terminación del daemon cron. ¡Este daemon inicia automáticamente programas a una determinada hora y solamente se puede iniciar en los niveles de ejecución 2 y 3! Se recomienda encarecidamente su uso en computadoras que están en funcionamiento las 24h del día. El daemon AT es una alternativa o un suplemento (ver en la página 348). Aviso Hay una serie de opciones que requieren la ejecución periódica de de- terminados programas. Es por eso que el daemon cron debe estar acti- vado en todos los sistemas. Seguridad y servicios de mantenimiento locales RUN_UPDATEDB=yes Determina si se debe actualizar una vez por noche el banco de datos para el programa locate (locate); locate sirve para encontrar rápida- mente ficheros en el sistema. Es posible adaptar el servicio updatedb a las necesidades con las variables RUN_UPDATEDB_AS, UPDATEDB_NETPATHS, UPDATEDB_NETUSER y UPDATEDB_PRUNEPATHS (ver los comentarios en 351 14 El concepto de arranque de SuSE Linux rc.config). ­ Si la computadora no está continuamente encendida, es posi- ble que esta actualización se lleve a cabo poco después del inicio de la misma (ver apartado 13.3.2 en la página 314. REINIT_MANDB=yes Activar esta opción si se quiere que cron.daily actualice diariamente el banco de datos de las Manpages. CREATE_INFO_DIR=yes Determina si se debe generar automáticamente el fichero /usr/info/dir que contiene un índice de todas las páginas de información existentes. Es especialmente interesante cuando se ha instalado un paquete que contiene una página del tipo Info. ¡Tenga en cuenta que se debe instalar perl para aprovechar esta característica! CHECK_PERMISSIONS=set Esta variable determina si las autorizaciones de un fichero se comprueban mediante la información en /etc/permissions. Definiendo set se cor- rigen las configuraciones falsas, con warn solo aparecen "Advertencias", y con no se apaga esta característica. PERMISSION_SECURITY="easy local" Hay tres niveles de seguridad preparados /etc/permissions.paranoid, /etc/permissions.secure y /etc/permissions.easy. Indicar aquí easy, secure o /etc/permissions.paranoid. Se puede definir una configuración propia p. ej. en /etc/permissions.local e indicarla de- spués con local. RPMDB_BACKUP_DIR=/var/adm/backup/rpmdb Determina el lugar en el cual cron.daily debe escribir respaldos del banco de datos RPM; si no se desean respaldos de esto, se ha de poner la variable en "". MAX_RPMDB_BACKUPS=5 Determina la cantidad de respaldos del banco de datos RPM. DELETE_OLD_CORE=yes Corefiles son imágenes de la memoria RAM de programas que se termi- naron por una violación de la protección de memoria y se pueden usar para averiguar el error ocurrido. La variable permite activar la búsqueda periódica de ficheros Core antiguos para su posterior eliminación automática. MAX_DAYS_FOR_CORE=7 Esta variable determina la edad máxima (en días) de los ficheros de core antes de borrarlos automáticamente. MAX_DAYS_FOR_LOG_FILES=365 Cuando un fichero de registro (generalmente en /var/log) alcanza un de- terminado tamaño, éste se comprime automáticamente y se archiva. Después, un mensaje por correo lo indica al súper-usuario root. Esta variable determi- na cuánto tiempo se almacenan estos ficheros de registro antes de borrarlos automáticamente. Si el valor está en 0 no se comprime ni se archiva nada. 352 14.6 Las variables en /etc/rc.config ­ Configuración de sistema ¡Los ficheros de registro se siguen escribiendo entonces para la eternidad y pueden por tanto llegar a ser muy grandes! Para ver los ficheros comprimidos se puede usar less. CLEAR_TMP_DIRS_AT_BOOTUP="no" Asigne yes a esta variable para borrar (rm-fr) todos los ficheros y subdirectorios dentro de los directorios temporales definidos mediante TMP_DIRS_TO_CLEAR. Atención: Si esta variable tiene el valor yes, no se consideran las restric- ciones en OWNER_TO_KEEP_IN_TMP; todos los ficheros se borrarán sin ex- cepción. MAX_DAYS_IN_TMP=30 Cada día se comprueba si existen en el directorio tmp ficheros que no hayan sido usados para más días que los indicados en la variable. Si existe un fichero así, se borra automáticamente. TMP_DIRS_TO_CLEAR="/tmp /var/tmp" Indicación de aquellos directorios para los que se realiza la búsqueda de ficheros "antiguos". OWNER_TO_KEEP_IN_TMP="root bs" Los ficheros de los usuarios que se indican aquí no se borran de los directo- rios temporales aunque ya se les considere "antiguos". CWD_IN_ROOT_PATH=no El directorio actual forma parte (o no) de la rama de búsqueda de `root'. ROOT_LOGIN_REMOTE=no Permitir (o no) el Login para `root' vía telnet o vía rlogin. SUSEWM_UPDATE=yes Aquí se determina si SuSEconfig debe adaptar los ficheros de con- figuración del sistema para los gestores de ventas, en función de los paquetes de software instalados. Esto se puede personalizar mediante las variables SUSEWM_WM, SUSEWM_MWM, SUSEWM_XPM, SUSEWM_ADD y SUSEWM_COMPAT. 353 14 El concepto de arranque de SuSE Linux 354 A Manual-Page de e2fsck A Manual-Page de e2fsck E2FSCK(8) E2FSCK(8) NAME e2fsck - check a Linux second extended file system SYNOPSISe2fsck [ -pacnyrdfvstFSV ] [ -b superblock ] [ -B block- size ] [ -l|-L bad_blocks_file ] [ -C fd ] device DESCRIPTION e2fsck is used to check a Linux second extended file sys- tem. device is the special file corresponding to the device (e.g /dev/hdc1). OPTIONS-a This option does the same thing as the -p option. It is provided for backwards compatibility only; it is suggested that people use -p option whenever possible. -b superblock Instead of using the normal superblock, use an alternative superblock specified by superblock. This option is normally used when the primary superblock has been corrupted. The location of the backup superblock is dependent on the filesystem's blocksize. For filesystems with 1k blocksizes, a backup superblock can be found at block 8193; for filesystems with 2k blocksizes, at block 16384; and for 4k blocksizes, at block 32768. If an alterna- tive superblock is specified and the filesystem is not opened read-only, e2fsck will make sure that the primary superblock is updated appropriately upon completion of the filesystem check. -B blocksize Normally, e2fsck will search for the superblock at various different block sizes in an attempt to find the appropriate block size. This search can be fooled in some cases. This option forces e2fsck to only try locating the superblock at a particular blocksize. If the superblock is not found, e2fsck will terminate with a fatal error. -c This option causes e2fsck to run the badblocks(8) program to find any blocks which are bad on the filesystem, and then marks them as bad by adding them to the bad block inode. 355 A Manual-Page de e2fsck -C This option causes e2fsck to write completion information to the specified file descriptor so that the progress of the filesystem check can be monitored. This option is typically used by pro- grams which are running e2fsck. If the file descriptor specified is 0, e2fsck will print a com- pletion bar as it goes about its business. This requires that e2fsck is running on a video console or terminal. -d Print debugging output (useless unless you are debugging e2fsck). -f Force checking even if the file system seems clean. -F Flush the filesystem device's buffer caches before beginning. Only really useful for doing e2fsck time trials. -l filename Add the blocks listed in the file specified by filename to the list of bad blocks. The format of this file is the same as the one generated by the badblocks(8) program. -L filename Set the bad blocks list to be the list of blocks specified by filename. (This option is the same as the -l option, except the bad blocks list is cleared before the blocks listed in the file are added to the bad blocks list.) -n Open the filesystem read-only, and assume an answer of 'No' to all questions. Allows e2fsck to be used non-interactively. (Note: if the -c, -l, or -L options are specified in addition to the -n option, then the filesystem will be opened read-write, to permit the bad-blocks list to be updated. However, no other changes will be made to the filesystem.) -p Automatically repair ("preen") the file system without any questions. -r This option does nothing at all; it is provided only for backwards compatibility. -s This option will byte-swap the filesystem so that it is using the normalized, standard byte-order (which is i386 or little endian). If the filesys- tem is already in the standard byte-order, e2fsck will take no action. -S This option will byte-swap the filesystem, regard- less of its current byte-order. -t Print timing statistics for e2fsck. If this option is used twice, additional timing statistics are printed on a pass by pass basis. -v Verbose mode. 356 A Manual-Page de e2fsck -V Print version information and exit. -y Assume an answer of 'Yes' to all questions; allows e2fsck to be used non-interactively. EXIT CODE The exit code returned by e2fsck is the sum of the follow- ing conditions: 0 - No errors 1 - File system errors corrected 2 - File system errors corrected, system should be rebooted if file system was mounted 4 - File system errors left uncorrected 8 - Operational error 16 - Usage or syntax error 128 - Shared library error SIGNALSThe following signals have the following effect when sent to e2fsck. SIGUSR1This signal causes e2fsck to start displaying a completion bar. (See discussion of the -C option.) SIGUSR2This signal causes e2fsck to stop displaying a com- pletion bar. REPORTING BUGS Almost any piece of software will have bugs. If you man- age to find a filesystem which causes e2fsck to crash, or which e2fsck is unable to repair, please report it to the author. Please include as much information as possible in your bug report. Ideally, include a complete transcript of the e2fsck run, so I can see exactly what error messages are displayed. If you have a writeable filesystem where the transcript can be stored, the script(1) program is a handy way to save the output of e2fsck to a file. It is also useful to send the output of dumpe2fs(8). If a specific inode or inodes seems to be giving e2fsck trou- ble, try running the debugfs(8) command and send the out- put of the stat(1u) command run on the relevant inode(s). If the inode is a directory, the debugfs dump command will allow you to extract the contents of the directory inode, which can sent to me after being first run through uuen- code(1). Always include the full version string which e2fsck dis- plays when it is run, so I know which version you are run- ning. AUTHOR This version of e2fsck was written by Theodore Ts'o . 357 A Manual-Page de e2fsck SEE ALSOmke2fs(8), tune2fs(8), dumpe2fs(8), debugfs(8) E2fsprogs version 1.19 July 2000 3 358 B La licencia pública general GNU (GPL) B La licencia pública general GNU (GPL) Esta traducción de la GPL se ofrece con el fin de mejorar el entendimiento de la licencia. No se trata de una traducción oficial o jurídicamente reconocida. La Free Software Foundation (FSF) no edita esta traducción y tampoco la ha reconocido como reemplazo oficial de la versión original en inglés (disponible en http://www.gnu.org). Los traductores de la licencia no pueden garantizar que la traducción reproduzca exactamente las definiciones jurídicas. Para estar seguro que las actividades que esté planificando estén permitidas bajo la licencia GNU-GPL, consulte el original en inglés. La Free Software Foundation ruega no utilizar esta traducción como licencia oficial para los programas que Usted escriba. En su lugar, acompañe su software con la versión original inglesa de la licencia. This is a translation of the GNU General Public License into Spanish. This trans- lation is distributed in the hope that it will facilitate understanding, but it is not an official or legally approved translation. The Free Software Foundation is not the publisher of this translation and has not approved it as a legal substitute for the authentic GNU General Public License. The translation has not been reviewed carefully by lawyers, and therefore the translator cannot be sure that it exactly represents the legal meaning of the GNU General Public License. If you wish to be sure whether your planned activities are permitted by the GNU General Public License, please refer to the authentic English version. The Free Software Foundation strongly urges you not to use this translation as the official distribution terms for your programs; instead, please use the authen- tic English version published by the Free Software Foundation. 359 B La licencia pública general GNU (GPL) GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Se permite a todo el mundo la copia y distribución de copias literales de este documento de licencia, pero no se permite su modificación. Esta traducción no reemplaza la versión original en inglés de la GPL en el sentido jurídico. Preámbulo Las licencias que cubren la mayor parte del software están diseñadas para quitar- le a usted la libertad de compartirlo y modificarlo. Por el contrario, la Licencia Pública General GNU pretende garantizarle la libertad de compartir y modificar software libre­para asegurar que el software es libre para todos sus usuarios. Es- ta Licencia Pública General se aplica a la mayor parte del software de la Free Software Foundation y a cualquier otro programa cuyos autores se comprome- ten a utilizarla. (Alguna parte del software de la Free Software Foundation está cubierto por la Licencia Pública General GNU para Librerías). Usted también la puede aplicar a sus programas. Cuando hablamos de software libre, estamos refiriéndonos a la libertad, no al precio. Nuestras Licencias Públicas Generales están diseñadas para asegurarnos de que tenga la libertad de distribuir copias de software libre (y cobrar por ese servicio si quiere), que reciba el código fuente o que pueda conseguirlo si lo quiere, que pueda modificar el software o usar fragmentos de él en nuevos pro- gramas libres, y que sepa que puede hacer todas estas cosas. Para proteger sus derechos necesitamos algunas restricciones que prohiban a cualquiera negarle a usted estos derechos o pedirle que renuncie a ellos. Es- tas restricciones se traducen en ciertas obligaciones que le afectan si distribuye copias del software, o si lo modifica. Por ejemplo, si distribuye copias de uno de estos programas, sea gratuitamente, o a cambio de una contraprestación, debe dar a los receptores todos los derechos que tiene. Debe asegurarse de que ellos también reciben, o pueden conseguir, el código fuente. Y debe mostrarles estas condiciones de forma que conozcan sus derechos. Protegemos sus derechos con la combinación de dos medidas: (1) ponemos el software bajo copyright y (2) le ofrecemos esta licencia, que le da permiso legal para copiar, distribuir y/o modificar el software. También, para la protección de cada autor y la nuestra propia, queremos asegu- rarnos de que todo el mundo comprende que no se proporciona ninguna garantía para este software libre. Si el software es modificado por cualquiera y éste a su vez lo distribuye, queremos que sus receptores sepan que lo que tienen no es el original, de forma que cualquier problema introducido por otros no afecte a la reputación de los autores originales. 360 B La licencia pública general GNU (GPL) Por último, cualquier programa libre está constantemente amenazado por patentes sobre el software. Queremos evitar el riesgo de que los redistribuidores de un programa libre individualmente obtengan patentes, haciendo el programa propi- etario a todos los efectos. Para prevenir esto, hemos dejado claro que cualquier patente debe ser concedida para el uso libre de cualquiera, o no ser concedida en absoluto. Los términos exactos y las condiciones para la copia, distribución y modificación se exponen a continuación. Licencia pública general GNU Términos y condiciones para la copia, distribución y modificación 0. Esta Licencia se aplica a cualquier programa u otra obra que contenga un aviso colocado por el propietario del copyright diciendo que puede ser distribui- do bajo los términos de esta Licencia Pública General. En adelante, "Progra- ma"se referirá a cualquier programa u obra de esta clase y üna obra basada en el Programa"se referirá bien al Programa o a cualquier obra derivada de este según la ley de copyright. Esto es, una obra que contenga el programa o una porción de este, bien en forma literal o con modificaciones y/o traducido en otro lenguaje. Por lo tanto, la traducción está incluida sin limitaciones en el término "modifi- cación". Cada propietario de una licencia será tratado como üsted". Cualquier otra actividad que no sea la copia, distribución o modificación no está cubierta por esta Licencia, está fuera de su ámbito. El acto de ejecutar el Progra- ma no está restringido, y los resultados del Programa están cubiertos únicamente si sus contenidos constituyen una obra basada en el Programa, independiente- mente de haberlo producido mediante la ejecución del programa. Que esto se cumpla, depende de lo que haga el programa. 1. Usted puede copiar y distribuir copias literales del código fuente del Progra- ma, tal y como lo recibió, por cualquier medio, supuesto que de forma adecuada y bien visible publique en cada copia un anuncio de copyright adecuado y una renuncia de garantía, mantenga intactos todos los anuncios que se refieran a esta Licencia y a la ausencia de garantía, y proporcione a cualquier otro receptor del programa una copia de esta Licencia junto con el Programa. Puede cobrar un precio por el acto físico de transferir una copia, y puede a su elección ofrecer garantía a cambio de unos honorarios. 2. Usted puede modificar su copia o copias del Programa o cualquier porción de él, formando de esta manera una obra basada en el Programa, y copiar y dis- tribuir esa modificación u obra bajo los términos del apartado 1 anterior, siempre que además cumpla las siguientes condiciones: a) Debe procurar que los ficheros modificados incluyan notificaciones desta- cadas manifestando que los ha cambiado y la fecha de cualquier cambio. 361 B La licencia pública general GNU (GPL) b) Usted debe procurar que cualquier obra que distribuya o publique, que en todo o en parte contenga o sea derivada del Programa o de cualquier parte de él, sea licenciada como un todo, sin cargo alguno para terceras partes bajo los términos de esta Licencia. c) Si el programa modificado lee normalmente órdenes interactivamente cuando al ejecutarse, debe hacer que cuando comience su ejecución para ese uso in- teractivo de la forma más habitual, muestre o escriba un mensaje que incluya un anuncio de copyright y un anuncio de que no se ofrece ninguna garantía (o por el contrario que sí se ofrece garantía) y que los usuarios pueden redis- tribuir el programa bajo estas condiciones, e indicando al usuario cómo ver una copia de esta licencia. (Excepción: si el propio programa es interactivo pero normalmente no muestra ese anuncio, no está obligado a que su obra basada en el Programa muestre ningún anuncio). Estos requisitos se aplican a la obra modificada como un todo. Si algunas sec- ciones claramente identificables de esa obra no están derivadas del Programa, y pueden razonablemente ser consideradas como obras independientes y separados por sí mismas, entonces esta Licencia y sus términos no se aplican a esas partes cuando sean distribuidas como trabajos separados. Pero cuando distribuya esas mismas secciones como partes de un todo que es una obra basada en el Progra- ma, la distribución de ese todo debe cumplir los términos de esta Licencia, cuyos permisos para otros licenciatarios se extienden al todo completo, y por lo tanto a todas y cada una de sus partes, con independencia de quién la escribió. Por lo tanto, no es intención de este apartado reclamar derechos u oponerse a sus derechos sobre obras escritas enteramente por usted; sino que la intención es ejercer el derecho de controlar la distribución de obras derivadas o colectivas basadas en el Programa. Además, el simple hecho de reunir otro trabajo no basado en el Programa con el Programa (o con un trabajo basado en el Programa) en un medio de almace- namiento o en un medio de distribución no hace que dicho trabajo entre dentro del ámbito cubierto por esta Licencia. 3. Usted puede copiar y distribuir el Programa (o una obra basada en él, según se especifica en la Sección 2) en forma de código objeto o ejecutable bajo los términos de las Secciones 1 y 2 anteriores mientras cumpla además una de las siguientes condiciones: a) Acompañarlo con el código fuente completo correspondiente en formato leg- ible para un ordenador, que debe ser distribuido bajo los términos de las Secciones 1 y 2 anteriores en un medio utilizado habitualmente para el inter- cambio de programas, o b) Acompañarlo con una oferta por escrito, válida durante al menos tres años, por un coste no mayor que el de realizar físicamente la distribución del fuente, de proporcionar a cualquier tercera parte una copia completa en for- mato legible para un ordenador del código fuente correspondiente, que será distribuido bajo las condiciones descritas en las Secciones 1 y 2 anteriores, en un medio utilizado habitualmente para el intercambio de programas, o 362 B La licencia pública general GNU (GPL) c) Acompañarlo con la información que usted recibió referida al ofrecimiento de distribuir el código fuente correspondiente. (Esta opción se permite sólo para la distribución no comercial y sólo si usted recibió el programa como código objeto o en formato ejecutable con una oferta de este tipo, de acuerdo con la Sección b anterior). Se entiende por código fuente de un trabajo a la forma preferida de la obra para hacer modificaciones sobre este. Para una obra ejecutable, se entiende por código fuente completo todo el código fuente para todos los módulos que contiene, más cualquier fichero asociado de definición de interfaces, más los guiones utiliza- dos para controlar la compilación e instalación del ejecutable. Como excepción especial el código fuente distribuido no necesita incluir nada que sea distribuido normalmente (ya sea en formato fuente o binario) con los componentes funda- mentales (compilador, kernel y similares) del sistema operativo en el cual fun- ciona el ejecutable, a no ser que el propio componente acompañe al ejecutable. Si la distribución del ejecutable o del código objeto se realiza ofreciendo acceso a una copia desde un lugar designado, entonces se considera el ofrecimiento del acceso para copiar el código fuente del mismo lugar como distribución del códi- go fuente, incluso aunque terceras partes no estén obligadas a copiar el fuente junto al código objeto. 4. No puede copiar, modificar, sublicenciar o distribuir el Programa excepto como está expresamente permitido por esta Licencia. Cualquier intento de copi- ar, modificar sublicenciar o distribuir el Programa de otra forma es inválido, y hará que cesen automáticamente los derechos que le proporciona esta Licen- cia. En cualquier caso, las partes que hayan recibido copias o derechos bajo esta Licencia no verán sus Licencias canceladas, mientras esas partes continúen cumpliendo totalmente la Licencia. 5. No está obligado a aceptar esta licencia, ya que no la ha firmado. Sin em- bargo, no hay hada más que le proporcione permiso para modificar o distribuir el Programa o sus trabajos derivados. Estas acciones están prohibidas por la ley si no acepta esta Licencia. Por lo tanto, si modifica o distribuye el Programa (o cualquier trabajo basado en el Programa), está indicando que acepta esta Licen- cia para poder hacerlo, y todos sus términos y condiciones para copiar, distribuir o modificar el Programa o trabajos basados en él. 6. Cada vez que redistribuya el Programa (o cualquier trabajo basado en el Pro- grama), el receptor recibe automáticamente una licencia del licenciatario original para copiar, distribuir o modificar el Programa, de forma sujeta a estos términos y condiciones. No puede imponer al receptor ninguna restricción más sobre el ejercicio de los derechos aquí garantizados. No es usted responsable de hacer cumplir esta licencia por terceras partes. 7. Si como consecuencia de una resolución judicial o de una alegación de in- fracción de patente o por cualquier otra razón (no limitada a asuntos relacionados 363 B La licencia pública general GNU (GPL) con patentes) se le imponen condiciones (ya sea por mandato judicial, por acuer- do o por cualquier otra causa) que contradigan las condiciones de esta Licencia, ello no le exime de cumplir las condiciones de esta Licencia. Si no puede realizar distribuciones de forma que se satisfagan simultáneamente sus obligaciones bajo esta licencia y cualquier otra obligación pertinente entonces, como consecuencia, no puede distribuir el Programa de ninguna forma. Por ejemplo, si una patente no permite la redistribución libre de derechos de autor del Programa por parte de todos aquellos que reciban copias directa o indirectamente a través de usted, entonces la única forma en que podría satisfacer tanto esa condición como esta Licencia sería evitar completamente la distribución del Programa. Si cualquier porción de este apartado se considera no válido o imposible de cumplir bajo cualquier circunstancia particular ha de cumplirse el resto y la sec- ción por entero ha de cumplirse en cualquier otra circunstancia. No es el propósito de este apartado inducirle a infringir ninguna patente ni ningún otro derecho de propiedad o impugnar la validez de ninguna de dichas recla- maciones. Este apartado tiene el único propósito de proteger la integridad del sistema de distribución de software libre, que se realiza mediante prácticas de licencia pública. Mucha gente ha hecho contribuciones generosas a la gran var- iedad de software distribuido mediante ese sistema con la confianza de que el sis- tema se aplicará consistentemente. Será el autor/donante quien decida si quiere distribuir software mediante cualquier otro sistema y una licencia no puede im- poner esa elección. Este apartado pretende dejar completamente claro lo que se cree que es una con- secuencia del resto de esta Licencia. 8. Si la distribución y/o uso de el Programa está restringido en ciertos países, bien por patentes o por interfaces bajo copyright, el poseedor del copyright que coloca este Programa bajo esta Licencia puede añadir una limitación explícita de distribución geográfica excluyendo esos países, de forma que la distribución se permita sólo en o entre los países no excluidos de esta manera. En ese caso, esta Licencia incorporará la limitación como si estuviese escrita en el cuerpo de esta Licencia. 9. La Free Software Foundation puede publicar versiones revisadas y/o nuevas de la Licencia Pública General de tiempo en tiempo. Dichas versiones nuevas serán similares en espíritu a la presente versión, pero pueden ser diferentes en detalles para considerar nuevos problemas o situaciones. Cada versión recibe un número de versión que la distingue de otras. Si el Pro- grama especifica un número de versión de esta Licencia que se aplica a ella y a çualquier versión posterior", tiene la opción de seguir los términos y condi- ciones, bien de esa versión, bien de cualquier versión posterior publicada por la Free Software Foundation. Si el Programa no especifica un número de versión de esta Licencia, puede escoger cualquier versión publicada por la Free Software Foundation. 364 B La licencia pública general GNU (GPL) 10. Si usted desea incorporar partes del Programa en otros programas libres cuyas condiciones de distribución son diferentes, escriba al autor para pedirle permiso. Si el software tiene copyright de la Free Software Foundation, escriba a la Free Software Foundation: algunas veces hacemos excepciones en estos casos. Nuestra decisión estará guiada por el doble objetivo de preservar la libertad de todos los derivados de nuestro software libre y promover el que se comparta y reutilice el software en general. Ausencia de garantía 11. YA QUE EL PROGRAMA SE LICENCIA LIBRE DE CARGAS, NO SE OFRECE NINGUNA GARANTÍA SOBRE EL PROGRAMA, HASTA LO PERMITIDO POR LAS LEYES APLICABLES. EXCEPTO CUANDO SE IN- DIQUE LO CONTRARIO POR ESCRITO, LOS POSEEDORES DEL COPY- RIGHT Y/U OTRAS PARTES PROVEEN EL PROGRAMA "TAL Y COMO ESTÁ", SIN GARANTÍA DE NINGUNA CLASE, YA SEA EXPRESA O IM- PLÍCITA, INCLUYENDO, PERO NO LIMITÁNDOSE A, LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD Y APTITUD PARA UN PROPÓSITO PARTICULAR. TODO EL RIESGO EN CUANTO A LA CALIDAD Y FUN- CIONAMIENTO DEL PROGRAMA LO ASUME USTED. SI EL PROGRA- MA SE COMPROBARA QUE ESTÁ DEFECTUOSO, USTED ASUME EL COSTO DE TODO SERVICIO, REPARACIÓN O CORRECCIÓN QUE SEA NECESARIO. 12. EN NINGÚN CASO, A NO SER QUE SE REQUIERA POR LAS LEYES APLICABLES O SE ACUERDE POR ESCRITO, PODRÁ NINGÚN POSEE- DOR DE COPYRIGHT O CUALQUIER OTRA PARTE QUE HAYA MOD- IFICADO Y/O REDISTRIBUIDO EL PROGRAMA, SER RESPONSABLE ANTE USTED POR DAÑOS O PERJUICIOS, INCLUYENDO CUALQUIER DAÑO GENERAL, ESPECIAL, INCIDENTAL O CONSECUENTE DEBIDO AL USO O LA IMPOSIBILIDAD DE PODER USAR EL PROGRAMA (IN- CLUYENDO PERO NO LIMITÁNDOSE A LA PÉRDIDA DE DATOS O LA PRODUCCIÓN DE DATOS INCORRECTOS O PÉRDIDAS SUFRIDAS POR USTED O POR TERCERAS PARTES O LA IMPOSIBILIDAD DEL PRO- GRAMA DE OPERAR JUNTO A OTROS PROGRAMAS), INCLUSO SI EL POSEEDOR DEL COPYRIGHT U OTRA PARTE HA SIDO AVISADO DE LA POSIBILIDAD DE TALES DAÑOS. FIN DE TÉRMINOS Y CONDICIONES Anexo: Cómo aplicar estos términos a sus nuevos programas propios. Si usted desarrolla un nuevo Programa, y quiere que sea del mayor uso posible para el público en general, la mejor forma de conseguirlo es convirtiéndolo en software libre que cualquiera pueda redistribuir y cambiar bajo estos términos. Para hacerlo, añada los siguientes avisos al programa. Lo más seguro es añadirlos al principio de cada fichero fuente para comunicar lo más efectivamente posible 365 B La licencia pública general GNU (GPL) la ausencia de garantía. Además cada fichero debería tener al menos la línea de çopyright 2 una indicación del lugar donde se encuentra la notificación completa. una línea para indicar el nombre del programa y una rápida idea de lo que hace Copyright (C) 19yy nombre del autor 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 WITH- OUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. En castellano: Este programa es software libre; usted puede redistribuirlo y/o modifi- carlo bajo los términos de la Licencia Pública General GNU tal y como está publicada por la Free Software Foundation; ya sea la versión 2 de la Licencia o (a su elección) cualquier versión posterior. Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMER- CIABILIDAD o APTITUD PARA UN PROPÓSITO ESPECÍFICO. Vea la Licencia Pública General GNU para más detalles. Usted debería haber recibido una copia de la Licencia Pública General junto con este programa. Si no ha sido así, escriba a la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Añada también información sobre cómo contactar con usted mediante correo electrónico y postal. Si el programa es interactivo, haga que muestre un pequeño anuncio como el siguiente, cuando comience a funcionar en modo interactivo: Gnomovision versión 69, Copyright (C) 19yy nombre del autor 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. En castellano: Gnomovision no ofrece ABSOLUTAMENTE NINGUNA GARAN- TÍA; para más detalles escriba `show w'. Esto es software libre, y se le invita a redistribuirlo bajo ciertas condiciones. Escriba `show c' para más detalles. 366 B La licencia pública general GNU (GPL) Los comandos hipotéticos `show w' y `show c' deberían mostrar las partes ade- cuadas de la Licencia Pública General. Por supuesto, los comandos que use pueden llamarse de cualquier otra manera. Podrían incluso ser pulsaciones del ratón o elementos de un menú-lo que sea apropiado para su programa). También debería conseguir que el empresario (si trabaja como programador) o su centro académico, si es el caso, firme una renuncia de copyright"para el progra- ma, si es necesario. A continuación se ofrece un ejemplo, cambie los nombres: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hack- er.Signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice En castellano: Yoyodyne, Inc. con la presente renuncia a cualquier interés de derechos de copyright con respecto al programa `Gnomovision' (que hace pasadas a compiladores) escrito por Pepe Programador. firma de Pepito Grillo, 1 de abril de 1989 Pepito Grillo, Presidente de Asuntillos Varios. Esta Licencia Pública General no permite incorporar su programa a programas propietarios. Si su programa es una librería de subrutinas, puede considerar más útil el permitir el enlazado de aplicaciones propietarias con la librería. Si este es el caso, use la Licencia Pública General GNU para Librerías en lugar de esta Licencia. 367 B La licencia pública general GNU (GPL) 368 C Teclas y combinaciones importantes C Teclas y combinaciones importantes A continuación se presenta el resumen de algunas teclas o combinaciones de teclas importantes. § ¤ ¦ ¥ Ejecutar un comando en la línea de comandos o retorno de carro. § ¤§ ¤§ ¤ ¦Alt ¥+¦F1 ¥ -¦F6 ¥ Cambiar a otra consola en modo texto. § ¤ § ¤§ ¤§ ¤ ¦Ctrl ¥+ ¦Alt ¥+¦F1 ¥ -¦F6 ¥ Cambiar a otra consola bajo el sistema X Win- dow o el emulador de DOS. § ¤ § ¤ ¦Alt ¥+ ¦F7 ¥ Regresar a los X. § ¤ § ¤ ¦Ctrl ¥ +¤ ¦Alt ¥ + § Finalizar los X. ¦Backspace ¥ § ¤ § ¤ ¦Shift ¥+ ¦Re Pág ¥ Mostrar pantallas anteriores de la consola. Fun- ciona hasta el próximo cambio de consola. § ¤ § ¤ § ¤§ ¤ ¦Shift ¥+ ¦Av Pág ¥ Inversión de ¦Shift ¥+¦Re Pág ¥ . § ¤ ¦ ¥ Muestra en la línea de comandos el comando anterior. § ¤ § ¤ ¦ ¥ Inversión de ¦ ¥. § ¤ § ¤ ¦Shift ¥ + ¤ ¦Alt ¥ + § Bajo el sistema X Window: Cambio a la ¦Cursor ¥ ventana más cercana del escritorio virtual en la dirección de la flecha. La cantidad de ventanas a disposición se determina en el fichero .fvwm[2]rc mediante el parámetro DeskTopSize. § ¤§ ¤§ ¤ ¦Ctrl ¥+¦Alt ¥+¦±(gris) ¥ Modifica la resolución de la pantalla en el or- den de las entradas hechas en el fichero /etc/ XF86Config. § ¤ § ¤ ¦Ctrl ¥+ ¦D ¥ Logout. Equivale al comando exit. Con ignoreeof=x se puede indicar en /etc/ profile la cantidad de repeticiones nece- sarias (=x) para que el comando sea aceptado. § ¤ § ¤ ¦Shift ¥+ ¦Ctrl ¥ Tecla Compose ("Multi_key"). 369 C Teclas y combinaciones importantes 370 Bibliografía Bibliografía [Alm96] ALMESBERGER, Werner: LILO User's guide, 1996. ­ (siehe Datei /usr/share/doc/ lilo/user.dvi) [Bai97] BAILEY, Edward C.: Maximum RPM. Red Hat, 1997. ­ (ISBN 1-888172-78-9) [BBD+97] BECK, Michael; BÖHME, Harald; DZIADZKA, Mirko; KUNITZ, Ulrich; MAGNUS, Robert ; VERWORNER, Dirk: Linux-Kernel-Programmierung. 4. Aufl. Addison Wesley GmbH, 1997. ­ (ISBN 3-8273-1144-6) [BD98] BORKNER-DELCARLO, Olaf: Linux im kommerziellen Einsatz. Carl Hanser Verlag, 1998. ­ (ISBN 3-446-19465-7) [BD99] BORKNER-DELCARLO, Olaf: Das Samba-Buch. SuSE PRESS, 1999. ­ (ISBN 3-930419- 93-9) [CAR93] COSTALES, Bryan; ALLMAN, Eric ; RICKERT, Neil: sendmail. O'Reilly & Associates, Inc., 1993. ­ (ISBN 1-56592-056-2) [CB96] CHESWICK, William R.; BELLOVIN, Steven M.: Firewalls und Sicherheit im Internet. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-875-x) [CR91] CAMERON, Debra; ROSENBLATT, Bill: Learning GNU Emacs. O'Reilly & Associates, Inc., 1991. ­ (ISBN 0 937175-84-6) [CZ96] CHAPMAN, Brent; ZWICKY, Elisabeth D.: Einrichten von Internet Firewalls. Sicherheit im Internet gewährleisten.. O'Reilly & Associates, Inc., 1996. ­ (ISBN 3-930673312) [DR98] DAWSON, Terry; RUBINI, Alessandro: NET-3 HOWTO, v1.4, August 1998. ­ (siehe Datei /usr/share/doc/howto/en/NET-3-HOWTO.gz) [DR99] DAWSON, Terry; RUBINI, Alessandro: NET3-4 HOWTO, v1.5, August 1999. ­ (siehe Datei /usr/share/doc/howto/en/NET3-4-HOWTO.gz) [EH98] ECKEL, George; HARE, Chris: Linux ­ Internet Server. Carl Hanser Verlag, 1998. ­ (ISBN 3-446-19044-9) [FCR93] FANG, Chin; CROSSON, Bob ; RAYMOND, Eric S.: The Hitchhiker's Guide to X386/XFree86 Video Timing (or, Tweaking your Monitor for Fun and Profit), 1993. ­ (siehe Datei /usr/X11/lib/X11/doc/VideoModes.doc) [Fis00] FISCHER, Thorsten: GUI-Programmierung mit GTK+ (Handbuch und Referenz). SuSE PRESS, 2000. ­ ISBN (3­934678­42­4) [Fri93] FRISCH, Æleen: Essential System Administration. O'Reilly & Associates, Inc., 1993. ­ (ISBN 0-937175-80-3) 371 Bibliografía [Gil92] GILLY, Daniel: UNIX in a nutshell: System V Edition. O'Reilly & Associates, Inc., 1992. ­ (ISBN 1-56592-001-5) [GMR97] GOOSSENS, Michel; MITTELBACH, Frank ; RAHTZ, Sebastian: The LATEX Graphics Com- panion. Addison Wesley Longman, 1997. ­ (ISBN 0-201-85469-4) [GMS94] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander: The LATEX Companion. Addison Wesley GmbH, 1994. ­ (ISBN 0-201-54199-8) [GMS96] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander: Der LATEX-Begleiter. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-646-3) [GR99] GOOSSENS, Michel; RAHTZ, Sebastian: The LATEX Web Companion. Addison Wesley Longman, 1999. ­ (ISBN 0-201-43322-7) [Gri94] GRIEGER, W.: Wer hat Angst vorm Emacs?. Addison Wesley GmbH, 1994. ­ (ISBN 3-89319-620-X) [GS93] GARFINKEL, Simson; SPAFFORD, Gene: Practical UNIX Security. O'Reilly & Asso- ciates, Inc., 1993. ­ (ISBN 0-937175-72-2) [Hei96] HEIN, Jochen: Linux-Companion zur Systemadministration. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-869-5) [Her92] HEROLD, H.: UNIX Grundlagen. Addison Wesley GmbH, 1992. ­ (ISBN 3-89319-542-8) [HHMK96]HETZE, Sebastian; HOHNDEL, Dirk; MÜLLER, Martin ; KIRCH, Olaf: Linux Anwender- handbuch. 6. Aufl. LunetIX Softfair, 1996. ­ (ISBN 3-929764-05-9) [Hof97] HOFFMANN, Erwin: EMail-Gateway mit qmail. In: iX 12 (1997), S. 108ff. [HR98] HÖLZER, Matthias; RÖHRIG, Bernhard: KDE ­ Das K Desktop Environment. Computer & Literatur, 1998. ­ (ISBN 3-932311-50-7) [HST97] HOLZ, Helmut; SCHMITT, Bernd ; TIKART, Andreas: Linux für Internet & Intranet. International Thomson Publishing, 1997. ­ (ISBN 3-8266-0342-7) [Hun95] HUNT, Craig: TCP/IP Netzwerk Administration. O'Reilly & Associates, Inc., 1995. ­ (ISBN 3-930673-02-9) [JT98] JOHNSON, Michael K.; TROAN, Erik W.: Anwendungen entwickeln unter Linux. Addison Wesley GmbH, 1998. ­ (ISBN 3-8273-1449-6) [Kie95] KIENLE, Micheal: TIS: Toolkit für anwendungsorientierte Firewall-Systeme. In: iX 8 (1995), S. 140ff. [Kir95] KIRCH, Olaf: LINUX Network Administrator's Guide. O'Reilly & Associates, Inc., 1995. ­ (ISBN 1-56592-087-2) [Kof99] KOFLER, Michael: Linux ­ Installation, Konfiguration, Anwendung. 4. Aufl. Addison Wesley GmbH, 1999. ­ (ISBN 3-8273-1475-5) [Kop94] KOPKA, Helmut: LATEX-Einführung. Addison Wesley GmbH, 1994. ­ (ISBN 3-89319- 664-1) 372 Bibliografía [Kopff] KOPKA, Helmut: LATEX. Addison Wesley GmbH, 1996 ff. ­ 3 Bde. (ISBN 3-8273-1025-3; 3-8273-1229-9; 3-89319-666-8) [Kun95] KUNITZ, Ulrich: Sicherheit fast kostenlos: Einrichtung eines kostenlosen Firewall- Systems. In: iX 9 (1995), S. 176ff. [Lam90] LAMB, Linda: Learning the vi Editor. O'Reilly & Associates, Inc., 1990. ­ (ISBN 0- 937175-67-6) [Lef96] LEFFLER, Sam: HylaFAX Home Page, 1996 [Meg98] MEGGINSON, David: Structuring XML Documents. Prentice-Hall, 1998. ­ ISBN (0­13­ 642299­3) [Moh98] MOHR, James: UNIX-Windows-Integration. International Thomson Publishing, 1998. ­ (ISBN 3-8266-4032-2) [OT92] O'REILLY, Tim; TODINO, Grace: Managing UUCP and Usenet. O'Reilly & Associates, Inc., 1992. ­ (ISBN 0-937175-93-5) [Per94] PERLMAN, G.: Unix For Software Developers. Prentice-Hall, 1994. ­ (ISBN 13-932997- 8) [POL97] PEEK, Jerry; O'REILLY, Tim ; LOUKIDES, Mike: Unix Power Tools. 2. Aufl. Sebastopol : O'Reilly & Associates, Inc., 1997 [Pug94] PUGH, K.: UNIX For The MS-DOS User. Prentice-Hall, 1994. ­ (ISBN 13-146077-3) [Rub98] RUBINI, Alessandro: Linux-Gerätetreiber. O'Reilly & Associates, Inc., 1998. ­ (ISBN 3-89721-122-X) [SB92] SCHOONOVER, M.; BOWIE, J.: GNU Emacs. Addison Wesley GmbH, 1992. ­ (ISBN 0-201-56345-2) [Sch98] SCHEIDERER, Jürgen: Sicherheit Kostenlos - Firewall mit Linux. In: iX 12 (1998) [Sto98] STOLL, Clifford: Kuckucksei; Die Jagd auf die deutschen Hacker, die das Pentagon knack- ten. Fischer-TB.-Vlg., 1998. ­ (ISBN 3596139848) [The96] THE XFREE86TM-TEAM: XF86Config(4/5) - Configuration File for Xfree86TM, 1996. ­ Manual-Page zu XFree86TM [TSP93] TODINO, Grace; STRANG, John ; PEEK, Jerry: Learning the UNIX operating system. O'Reilly & Associates, Inc., 1993. ­ (ISBN 1-56592-060-0) [Wel94] WELSH, Matt: Linux Installation and Getting Started. 2. Aulf. SuSE GmbH, 1994. ­ (ISBN 3-930419-03-3) [WK95] WELSH, Matt; KAUFMAN, Lars: Running Linux. O'Reilly & Associates, Inc., 1995. ­ (ISBN 1-56592-100-3) [WK98] WELSH, Matt; KAUFMAN, Lars: Linux ­ Wegweiser zur Installation & Konfiguration. 2. Aufl. O'Reilly & Associates, Inc., 1998. ­ (ISBN 3-930673-58-4) [WM99] WALSH, Norman; MUELLNER, Leonard: DocBook. The Definiteve Guide. O'Reilly & Associates, Inc., 1999. ­ ISBN (1­56592­580­7) [WWH98] WITHERSPOON, Craig; WITHERSPOON, Coletta ; HALL, Jon: Linux für Dummies. Inter- national Thomson Publishing, 1998. ­ (ISBN 3-8266-2725-3) 373 Bibliografía 374 Índice alfabético Índice alfabético Símbolos 3COM 3c579 . . . . . . . . . . . . . 269 AMD Athlon / Intel Pentium III /bin . . . . . . . . . . . . . . . . . . . . . . . 45 3COM 3c590 . . . . . . . . . . . . . 270 248 /etc/conf.modules . . . véase 3COM 3c900 . . . . . . . . . . . . . 270 Andries Brouwer . . . . . . . . . . . 60 /etc/modules.conf apache . . . . . . . . . . . . . . . . . . 296 /etc/fstab . . . . . . . . . . . . . . 60 A Apache . . . . . . . . . . . . . . . . . . . 309 /etc/init.d/rc . . . . . . . . . . . . . . 334 a2ps . . . . . . . . . . . . . . . . . . . . . 224 mod_php4 . . . . . . . . . . . . . . 299 /etc/inittab . . . . . . . . . . . 331 a2ps . . . . . . . . . . . . . . . . . . . . . 210 Apagar . . . . . . . . . . . . . . . . . . . . 23 /etc/modules.conf . . . . . 245 aaa_base . . . . . . . . . . . 295, 298 APM . . . . . . . . . . . . . . . . . . . . . 202 /etc/rc.config . . . . . 88, 337 Actualización . . . . . . . . . . . 2, 287 Seleccionar kernel . . . . . . . . 77 /etc/resolv.conf . 298, 312 apmd . . . . . . . . . . . . . . . . . . . . 204 /sbin/SuSEconfig . . . . . . . . . . 336 Instalar paquetes . . . . . . . . . 73 apmd . . . . . . . . . . . . . . . . 204, 205 /sbin/init . . . . . . . . . . . . . . . . . 331 Actualizar sistema Applixware . . . . . . . . . . . . . . . . 40 Applixware . . . . . . . . . . . 41, 346 YaST . . . . . . . . . . . . . . . . . . . . 74 aps . . . . . . . . . . . . . . . . . 210, 220 reboot . . . . . . . . . . . . . . . . . . 346 Adabas . . . . . . . . . . . . . . . . . . . 346 apsfilter . . 76, 77, 220, 221, 223, shutdown . . . . . . . . . . . . . . . . 346 Adabas D . . . . . . . . . . . . . . . . . . . 3 224­226, 228, 231, 234 LILO . . . . . . . . . . . . . . . . . . . . . . 78 Adaptec Impresora de red . . . . . . . . 227 Componentes . . . . . . . . . . . 108 AHA-152x/151x/1505 . . 256, Apsfilter . . . . . . . . . . . . . . . . . . 225 Configuración . . . . . . . . . . 111 268 Arcad . . . . . . . . . . . . . . . . . . . . . 41 Dónde instalar . . . . . . . . . . 109 AHA-1540/1542 . . . . . . . . 268 arena . . . . . . . . . . . . . . . . . . . . . 345 Interfaz . . . . . . . . . . . . . . . . 108 AHA-154x . . . . . . . . . . . . . 257 Argus . . . . . . . . . . . . . . . . . . . . 347 Lo que es . . . . . . . . . . . . . . . 108 AHA-274x . . . . . . . . . . . . . 257 Arkeia . . . . . . . . . . . . . . . . . . . 347 LILO . . . . . . . . . . . . . . . . . . . . . 125 AHA-284x . . . . . . . . . . . . . 257 Arrancar . . . . . . . . . . . . . . 23, 331 /etc/resolv.conf . . . . . . 340 AHA-294x . . . . . . . . . . . . . 257 Bootmanager . . . . . . . . . . . 107 /etc/host.conf . . . . . . . . 340 Adaptec 2920 . . . . . . . . 259, 269 Con CD2 . . . . . . . . . . . . . . . . 34 /etc/hosts . . . . . . . . . . . . . 340 Administración Conceptos . . . . . . . . . . . . . . 106 /opt . . . . . . . . . . . . . . . . . . . . . . 41 Grupos . . . . . . . . . . . . . . . . . . 85 de disquete . . . . . . . . . . . . . . 33 kdm . . . . . . . . . . . . . . . . . . . . . . 346 Usuarios . . . . . . . . . . . . . . . . . 83 desde disquetes . . . . . . . . . . 34 xdm . . . . . . . . . . . . . . . . . . . . . . 346 YaST . . . . . . . . . . . . . . . . . . . . 75 Failsafe . . . . . . . . . . . . . . . . 299 SaX2 . . . . . . . . . . . . . . . . 141, 167 Advanced Power Management . . Gestor de arranque . . . . . . 107 SuSE-logo . . . . . . véase Pantalla véase APM initial ramdisk . . . . . . . . . . 312 gráfica, desactivar AdvanSys . . . . . . . . . . . . . . . . 258 LILO . . . . . . . . . . . . . . . . . . . 105 sistema X Window . . véase X11 aic7xxx . . . . . . . . . . . . . . . . . . 258 Métodos . . . . . . . . . . . . . . . . . 25 YaST . . . . . . . . . . . . . . . . . . . 2, 22 AIRCOP . . . . . . . . . . . . . . . . . 109 Mecanismo de arranque con YaST Ajustar hora . . . . . . . . . . . . . . 345 loadlin . . . . . . . . . . . . . . . 133 en la primera instalación . . 13 alice . . . . . . . . . . . . . . . . . . . . . 30 Parámetros . . . . . . . . . . . . . 251 1024 cilindros ALICE . . . . . . . . . . . . . . . . . 29, 30 Problemas . . . . . . . . . . . . . . 299 LILO Problemas . . . . . . . . 129 alien . . . . . . . . . . . . . . . . . . . 307 Proceso . . . . . . . . . . . . . . . . 105 3COM 3c501 . . . . . . . . . . . . . 269 Alien . . . . . . . . . . . . . . . . . . . . 307 Arranque . . . . . . . . . . . . 105, 351 3COM 3c503 . . . . . . . . . 263, 269 ALSA . . . . . . . . . . . . . . . 181, 182 Pantalla . . . . . . . . . . . . . . . . 117 3COM 3c505 . . . . . . . . . . . . . 269 alsa-devel . . . . . . . . . . . . . 300 Partición raíz . . . . . . . . . . . 255 3COM 3c507 . . . . . . . . . . . . . 269 alsaconf . . . . . . . . . . . . . 181, 182 AT1700 . . . . . . . . . . . . . . . . . . 270 3COM 3c509 . . . . . . . . . . . . . 269 AM53/79C974 . . . . . . . . . . . . 258 atd . . . . . . . . . . . . . . . . . . . . . . . 344 3COM 3c515 . . . . . . . . . . . . . 270 AMD 53/79C974 . . . . . . . . . . 258 Autentificación . . . . . . . . . . . . 293 375 Índice alfabético autoexec.bat . . . . . . . . . . . . . . 133 Mitsumi Multisession . . . 265, CPU . . . véase SMP, Cantidad de autoexec.bat . . . . . . . . . . . 335 276 CPUs autofs . . . . . . . . . . . . . . . . . . . . 343 Mozart . . . . . . . . . . . . 265, 276 Crash . . . . . . . . . . . . . . . . . . . . 351 autofs . . . . . . . . . . . . . . . . . . 343 Optics Storage . . . . . . 266, 276 cron . . . 292, 295, 297, 310, 310, Automounter . . . . . . . . . . . . . 343 Panasonic . . . . . . . . . . 266, 277 347 Autorizaciones . . . . . . . . . . . . 348 Philips CM206 . . . . . 266, 276 cron . . . . . . . . . . . . . . . . . . . . . 297 awk . . . . . . . . . . . . . . . . . . . . . . . . 1 Sanyo . . . . . . . . . . . . . 266, 276 cron.daily . . . . . . . . . . . . 347, 348 Ayuda . . . . . . . . . . . . . . . . . . . . 344 Sony CDU31A . . . . . 266, 277 Crontab Aztech CD-ROM . . . . . . . . . . 275 Sony CDU33A . . . . . 266, 277 Diario . . . . . . . . . . . . . . . . . . 295 Sony CDU535 . . . . . . 266, 277 Cuelgue . . . . . . . . . . . . . . . . . . 351 B SoundBlaster Pro 16 . . . . . 277 CUPS . 103, véase YaST2,CUPS Backup . . . . . . . . . . . . . . . . . . . . 86 CD-ROM-ATAPI se traba . . . 37 curses . . . . . . . . . . . . . . . . . . . 310 bash . . . . . . . . . . . . . . . . . . . . . 236 CD-ROM-se traba . . . . . . . 37, 38 Cyberscheduler Software . . . . 41 binutils . . . . . . . . . . . . . . . . 243 changes . . . . . . . . . . . . . . . . . 296 Cygnus Source-Navigator . . . 41 Boot . . . . . . . . . . . . . . . . . . . . . 351 Chris Mason . . . . . . . . . . . . . . . 57 Cyrix . . véase Procesador, Cyrix boot.local . . . . . . . . . . . . . . . . . 335 chroot-entorno . . . . . . . . . . . . . 66 686 boot.sys . . . . . . . . . . . . . . . . . . 107 Cinta Bootdisk . . . . . . . . . . . . . . . . . . 33 SCSI . . . . . . . . . . . . . . . . . . . 256 D Bootloader . . . . . . . . . . . . . . . 105 Clock-Chip . . . . . . . . . . . . . . . 162 Bootmanager . . . . . . . . . . . . . 105 D-Link DE620 . . . . . . . . . . . . 275 Comando boot.sys . . . . . . . . . . . . . . . . 107 Daemon ulimit . . . . . . . . . . . . . . . . 311 named . . . . . . . . . . . . . . . . . 343 LILO . . . . . . . . . . . . . . . . . . . 107 OS/2 . . . . . . . . . . . . . . . . . . . 107 command not found . . . . . . . 349 nscd . . . . . . . . . . . . . . . . . . . 343 Windows NT . . . . . . . . . . . 107 Compose . . . . . . . véase Teclado, routed . . . . . . . . . . . . . . . . . . 343 Borrar Compose rwhod . . . . . . . . . . . . . . . . . . 343 Conceptos de arranque . . . . . 106 LILO . . . . . . . . . . . . . . . . . . . 120 Daemon de kernel . . . . . . . . . 340 Linux . . . . . . . . . . . . . . . . . . 120 conf.modules . . . . . . . . . . . . véase DB2 . . . . . . . . . . . . . . . . . . . . . 347 modules.conf bttv . . . . . . . . . . . . . . . . . . . . . 297 DCF77 . . . . . . . . . . . . . . . . . . . 346 BusLogic . . . . . . . . . . . . . . . . . 258 conf.modules . . . . . . . . . véase DE203 . . . . . . . . . . . . . . . . . . . 271 Busmouse . . . . . . . . . . . . . . . . 160 /etc/modules.conf DE204 . . . . . . . . . . . . . . . . . . . 271 Logitech . . . . . . . . . . . . . . . 265 config.sys . . . . . . . . . . . . . . . . 133 DE205 . . . . . . . . . . . . . . . . . . . 271 Configuración DEC . . . . . . . . . . . . . . . . . . . . . 141 C Cambiar . . . . . . . . . . . . 68, 336 defrag . . . . . . . . . . . . . . . . . . . . . 32 C . . . . . . . . . . . . . . . . . . . . . . . . 243 Cargar . . . . . . . . . . . . . . . . . . 67 defrag.exe . . . . . . . . . . . . . . . . . 32 Código fuente . . . . . . . . . . . . . . 69 LILO . . . . . . . . . . . . . . . . . . . 111 depmod . . . . . . . . . . . . . . . . . . 244 Cabletron E21xx . . . . . . . . . . 270 Primera instalación . . . . . . . 19 Derechos . . . . . . . . . . . . . . . . . 348 Cabletron E21XX . . . . . . . . . 263 Salvar . . . . . . . . . . . . . . . . . . . 68 Descripción de paquetes . . . . 69 Cambiar nombre . . . . . . . . . . . 80 Tiempo de red . . . . . . . . . . 345 Desinstalación CardBus . . . . . . véase Hardware, X11 . . . . . . . . . . . . . . . 143, 159 LILO . . . . . . . . . . . . . . . . . . . 118 CardBus Configuración del sistema . . 88, dhclient . . . . . . . . . . . . . . . . 295 CardBus-Tarjeta de red con 337 DHCP . . . . . . . . . . . . . . . . . . . 344 SMSC 83c170 . . . . . . . . 272 Configuraciones . . . . . . . . . . . . 67 Configurar . . . . . . . . . . . . . . . 80 cardctl . . . . . . . . . . . . . . . . . . . 201 Configurar seguridad de sistema dhcpcd . . . . . . . . . . . . . . . . . . 295 Cardmanager . . . . 194, 195, 200 87 diald . . . . . . . . . . . . . . . . . . . . . 343 cardmgr . . . . . . . . . . . . . . . . . . 194 Consola . . . . . . . . . . . . . . . . . . 346 Digital . . . . . . . . . . . . . . . . . . . 270 cardmgr . . . . . . . . . . . . 194, 195 virtual . . . . . . . . . . . . . . . . . . 326 Digital DEPCA . . . . . . . . . . . 271 CD-ROM Consola de texto . . . . . . . . . . 346 Digital Equipment Corporation . ATAPI . . . . . . . . . . . . . . . . . 260 Consola en puerto serie . . . . 255 141 Aztech . . . . . . . . . . . . . 265, 275 Consolas virtuales . . . . . . . . . 326 Dirección IP . . . . . . . . . . . . . . . 52 EIDE . . . . . . . . . . . . . . . . . . 260 Console-Font dinámica . . . . . . . . . . . . . . . 341 Goldstar . . . . . . . . . . . 265, 275 Configurar . . . . . . . . . . . . . . . 87 Dirección IP dinámica . . . . . 341 Mitsumi . . . . . . . . . . . 265, 275 Constructirola . . . . . . . . . . . . . . . 4 Disco duro Mitsumi FX-001(D) 265, 275 Contenido de la instalación . . 67 Parámetro . . . . . . . . . . . . . . 261 376 Índice alfabético Disminuir tamaño de partición . . emacs-auctex . . . . . . . . . . . 299 Frecuencia vertical . . . . . . . . 161 31 emacs-el . . . . . . . . . . . . . . . . 299 Freecom . . . . . . . . . . . . . . . . . . . 38 Disquete emacs-info . . . . . . . . . . . . . 299 fsck . . . . . . . . . . . . . . . . . . . . . . . 63 Arrancar de . . . . . . . . . . . . . 107 emacs-nox . . . . . . . . . . . . . . 299 ftape . . . . . . . . . . . . . . . . . . . . . 192 Formatear . . . . . . . . . . . . . . . 36 emacs-x11 . . . . . . . . . . . . . . 299 ftp . . . . . . . . . . . . . . . . . . . . . . . . 80 Disquete de arranque . . 33, 107, Emergencia FTP-anónimo . . . . . . . . . . . . . 295 110 Sistema de rescate . . . . . . . 321 FTP-Server Crear con rawrite . . . . . . . . . 35 emm386.exe . . . . . . . . . . . . . . . 25 Configurar . . . . . . . . . . . . . . 309 Crear con Setup . . . . . . . . . . 35 Emulación servidor Novell . 345 ftpdir . . . . . . . . . . . . . . . . . . 309 Generar (con LILO) . . . . . 121 Entorno chroot . . . . . . . . . . . . . 66 Fuentes . . . . . . . . . . . . . . . . . . . . 69 Generar con dd . . . . . . . . . . . 36 Escáner Compilar . . . . . . . . . . . . . . . 306 Instalar con . . . . . . . . . . . . . . . 8 Configuración . . . . . . . . . . . . 75 Fujitsu FMV-181/182/183/184 . . Disquete de rescate . . . . . . . . 321 Esquema . . . . . . véase PCMCIA, 272 Disquetera . . . . . . . . . . . 188, 264 Esquema Future Domain . . . . . . . 259, 269 Distribución de teclado . . . . 326 Establecer sistemas de fichero 56 fvwm . . . . . . . . . . . . . . . . . . . . 150 YaST . . . . . . . . . . . . . . . . . . . . 47 EtherTeam 16i/32 . . . . . . . . . 273 DMA . . . . . . . . véase IDE-DMA G DNS F gamix . . . . . . . . . . . . . . . . . . . . 181 Timeout . . . . . . . . . . . . . . . . 299 Failsafe véase Arrancar, Failsafe Gateway docbktls . . . . . . . . . . . . . . . . 300 FAT32 . . . . . . . . . . . . . . . . . . . . . 33 2 Tarjetas de red . . . . . . . . 263 DocBook . . . . . . . . véase SGML, Fax DocBook Hylafax . . . . . . . . . . . . . . . . 345 gcc . . . . . . . . . . . . . . . . . . . . . . 243 gdm . . . . . . . . . . . . . . . . . . . . . . . 82 docbook-dsssl-stylesheets faxsetup . . . . . . . . . . . . . . . . . . 345 299 fdisk . 32, 33, 61, 110, 118, 120, GDM . . . . . . . . . . . . . . . . . . . . . 82 GDT RAID5-Controller . . véase docbook_3 . . . . . . . . . . . . . . 299 121, 125, 322, 324, 325 ICP Vortex docbook_4 . . . . . . . . . . . . . . 299 mbr . . . . . . . . . . . . . . . . . . . . 120 Gestor de arranque . . . . . . . . 105 dochost . . . . . . . . . . . . . . . . . 298 fhs . . . . . . . . . . . . . . . . . . . . . . 309 Documentación FHS . véase Sistema de ficheros, boot.sys . . . . . . . . . . . . . . . . 107 Servidor para documentación . FHS LILO . . . . . . . . . . . . . . . . . . . 107 344 Fichero de configuración . . . 337 OS/2 . . . . . . . . . . . . . . . . . . . 107 DOS Ficheros Windows NT . . . . . . . . . . . 107 Arrancar . . . . . . . . . . . . . . . 125 Buscar . . . . . . . . . . . . . . . . . . 73 Gestor de impresión (lpd) . . 216 Booten . . . . . . . . . . . . . . . . . 123 Ficheros Core . . . . . . . . . . . . . 311 Gestor de paquetes . . . . . . . . 300 Generar particiones Linux 32, Ficheros de registro . . . . . . . . 348 Ghostscript . . . . . . 224, 232, 232 33 Ficheros temporales gimp-devel . . . . . . . . . . . . . 300 Menú de arranque . . . . . . . 133 Borrar . . . . . . . . . . . . . . . . . . 349 glibc . . . . . . . . . . . . . . . . . . . . . 292 Driver de impresora . . . . . . . 285 Borrar al arrancar . . . . . . . 348 glibc . . . . . . . . . . . . . . . . . . . 306 Drivespace . . . . . . . . . . . . . . . . . 39 Filtro de impresión glibc-devel . . . . . . . . . . . . 243 Dummy-Device . . . . . . . . . . . 340 para impresora de red . . . . 227 glibc-info . . . . . . . . . . . . . 329 dump . . . . . . . . . . . . . . . . . . . . . 63 find . . . . . . . . . . . . . . . . . . . . . . 324 gnlibs . . . . . . . . . . . . . . . . . . 297 dumpe2fs . . . . . . . . . . . . . . . . . 325 finger . . . . . . . . . . . . . . . . . . 299 GNOME . . . . . . . . 1, 40, 41, 307 fips . . . . . . . . . . . . . . . . . 16, 31, 31 Compilar . . . . . . . . . . . . . . . 300 E fips.exe . . . . . . . . . . . . . . . . 32, 33 gnorpm . . . . . . . . . . . . . . . . . . 307 e2fsck . . . . . . . . . . . 322, 324, 325 FireGL . . . . . . . . . . . . . . . . . . . . . 8 GNU . . . . . . . . . . . . . . . . . . 1, 311 Manpage . . . . . . . . . . . . . . . 351 Firewall GNU C/C++ Compiler . . . . . . . 1 2fsck . . . . . . . . . . . . . . . . . . . 351 Activar . . . . . . . . . . . . . . . . . 342 gnuserv . . . . . . . . . . . . . . . . . 299 Eagle . . . . . . . . . . . . . . . . . . . . . . 41 firewals . . . . . . . . . . . . . . . . 295 Goldstar CD-ROM . . . . 265, 275 Eberhard Mönkeberg . . . . . . . . . 4 Floppy . . . . . . . . . . . . . . . . . . . 264 GPL . . . . . . . . . . . . . . . . . 355, 355 EIDE Formatear gpm . . . . . . . . . . . . . . . . . . 88, 151 Chipsets especiales . . . . . . 298 Partición . . . . véase Partición, Configurar . . . . . . . . . . . . . . . 88 EIDE-Chipsets . . . . . . . . . . . . 261 Formatear GPM . . . . . . . . . . . . . . . . . . . . . 339 emacs . . . . . . . . . . . . . . . . . . . 299 Fortify . . . . . . . . . . . . . . . . 41, 294 grep . . . . . . . . . . . . . . . . . . . . . . 324 Emacs 1, 42, 291, 299, 307, 311 Frecuencia horizontal . . . . . . 161 Grupos 377 Índice alfabético Administración . . . . . . . . . . 85 I Información de paquetes . . . . 69 gs . . . . . . . . . . . véase Ghostscript I18N . . . . . . . . . . . . . . . . . . . . . 327 Información del sistema . . . . 317 gs . . . . . . . . . . . . . . . . . . . . . . . 224 i4l . . . . . . . . . . . . . . . . . . 81, 336 Infrared Data Association véase gs_fonto . . . . . . . . . . . . . . . . 211 i82365 . . . . . . . . . . . . . . . . . . . 200 IrDA gs_fonts . . . . . . . . . . . . . . . . 211 i82557/i82558 . . . . . . . . . . . . 272 Infrarrojo . . . . . . . . . . véase IrDA gs_lib . . . . . . . . . . . . . . . . . . 211 IBM Thinkpad . . . . . . . . . . . . 264 init . . 2, 121, 324, 331, 331­335 gs_x11 . . . . . . . . . . . . . . . . . . 211 ICL EtherTeam . . . . . . . . . . . 273 scripts . . . . . . . . . . . . . . . . . . 334 gv . . . . . . . . . . . . . . . . . . . . . . . 232 ICP Vortex-Controller Initial ramdisk . . . . . . . . . . . . 312 gxmhtml . . . . . . . . . . . . . . . . . 297 Problemas de instalación . . 12 initrd . . . . . . . . . . . . . . . . . . . . . 340 gzip . . . . . . . . . . . . . . . . . . . . . . . 45 IDE-DMA . . . . . . . . . . . . . . . . 299 SCSI-Driver . . . . . . . . . . . . 246 idedma . . . . . . . . . . . . . . . . . . 299 inittab . . . . . . . . . . . . . . . . . . . . 331 H Identifier . . . . . . . . . . . . . . . . . 170 INN . . . . . . . . . . . . . . . . . . . . . . 344 Inode . . . . . . . . . . . . . . . . . . . . . . 58 halt . . . . . . . . . . . . . . . . . . . . . . 335 Idioma Densidad . . . . . . . . . . . . . . . . 58 Hans Lermen . . . . . . . . . . . . . . . . 4 Configurar . . . . . . . . . . . . . . 338 Definir . . . . . . . . . . . . . . . . . . 49 insmod . . . . . . . . . . 244, 245, 251 Hans Reiser . . . . . . . . . . . . . . . . 57 ifconfig . . . . . . . . . . . . . . 324, 341 Parámetros . . . . . . . . . . . . . 251 Hardware ifport . . . . . . . . . . . . . . . . . . . . 201 insserv . . . . . . . . . . . . . . . . . . . 335 AGP . . . . . . . . . . . . . . . . . . . 177 Impresión Instalación CardBus . . . . . . . . . . . . . . . . 193 Printserver . . . . . . . . . . . . . . 217 con YaST1 en modo texto . . 7 Disquetera . . . . . . . . . 188, 264 Servidor de impresión . . . 217 Contenido . . . . . . . . . . . . . . . 67 Instalar . . . . . . . . . . . . . . . . . 177 Terminar . . . . . . . . . . . . . . . 219 desde CD-ROM . . . . . . . . . . 50 IrDA . . . . . . . . . . . . véase IrDA Impresora desde DVD . . . . . . . . . . . . . . 50 ISA . . . . . . . . . . . . . . . . . . . . 177 Configuración . . . . . . . . . . . . 75 desde partición . . . . . . . . . . . 52 ISApnp . . . . . . . véase ISApnp Daemon . . . . . . . . . . . . . . . . 216 desde partición de disco duro . Laptop . . . . . . . . véase Portátil Impresora de red . . . . . . véase 50 LS120-Disquetera . . . . . . . 189 Impresora de red Desde... . . . . . . . . . . . . . . . . . 49 Modem . . . . . . . . . . . . . . . . 190 Impresora-GDI . . . . . . . . . 210 Desinstalar paquetes . . . . . 301 Modem externo . . . . . . . . . 190 Novell NetWare como servidor FTP . . . . . . . . . . . . . . . . . . . . . 28 Modem interno . . . . . . . . . 190 de impresión . . . . . . . . . . 81 Fuente . . . . . . . . . . . . . . . . . . 49 PCI . . . . . . . . . . . . . . . . . . . . 177 Parámetro de kernel . . . . . 267 lector CD-ROM en puerto Plug-and-Play . . . . . . . . . . 335 Puerto paralelo . . . . . . . . véase paralelo . . . . . . . . . . . . . . . 38 PlugAndPlay . . . . . . . . . . . 178 Hardware, Puerto paralelo LILO . . . . . . . . . . . . . . . . . . . 118 Portátil . . . . . . . . véase Portátil solo Windows . . . . . . . . . . . 210 Medio . . . . . . . . . . . . . . . . . . . 49 Puerto paralelo . . . . . . . . . . 183 Windows-computadora como NFS . . . . . . . . . . . . . . . . . . . . 28 Tarjetas de expansión . . . . 177 servidor de impresión . . 81 Paquetes . . . . . . . . . . . . 72, 301 Tarjetas PC . . . . . . . . . . . . . 193 Impresora de red . . . . . . 217, 227 PCMCIA . . . . . . . . . . . . . . . 201 USB . . . . . . . . . . . . véase USB Configuración . . . . . . . . . . . . 81 Primera instalación . . . . . . . . 7 Winmodem . . . . . . . . . . . . . 191 Pre-filtro . . . . . . . . . . . . . . . 227 Red como fuente . . . . . . . . . 28 ZIP-Disquetera . . . . . . . . . 189 Impresora-GDI . . . . . . . . . . . . 210 vía FTP . . . . . . . . . . . . . . . . . 53 hdparm . . . . . . . . . . . . . . . . . . . 205 Impresoras . . . . . . . . . . . . . . . 209 vía NFS . . . . . . . . . . . . . . . . . 51 Hibernation . . . . . . . . . . . . . . . 202 Lexmark . . . . . . . . . . . . . . . 210 Instalación de paquetes . . . . . 69 HOME . . . . . . . . . . . . . . . . . . . . . 287 Imprimir Insure++ . . . . . . . . . . . . . . . . . . 41 howto . . . . . . . . . . . . . . . . . . . 206 lpd arrancar . . . . . . . . . . . . . 344 Intel EtherExpress 16 . . . . . . 271 HP 10/100 VG-AnyLAN . . . 273 Con CUPS . . . . . . . . . . . . . 103 Intel EtherExpressPro . . . . . . 272 HP PCLAN . . . . . . . . . . . . . . . 273 Novell NetWare . . . . . . . . . . 81 Intel EtherExpressPro 100 . . 272 HP PCLAN+ . . . . . . . . . . . . . 273 Samba . . . . . . . . . . . . . . . . . . 81 Interface htdig . . . . . . . . . . . . . . . . . . . . . . 41 imwheel . . . . . . . . . . . . . . . . . . 175 USB . . . . . . . . . . . . . . . . . . . 215 http-rman . . . . . . . . . . . . . . . . . 344 imwheel . . . . . . . . . . . . . . . . . 175 Internet Services Daemon HTTP-Server inetd . . . . . . . . . . . . . . 20, 80, 342 inetd . . . . . . . . . . . . . . . . . . . 342 Configurar . . . . . . . . . . . . . . 309 info . . . . . . . . . . . . . . . . . . . . . 311 xinetd . . . . . . . . . . . . . . . . . . 342 httpd . . . . . . . . . . . . . . . . . . . . . 344 Info . . . . . . . . . . . . . . . . . . . . . . 311 IP-Forwarding . . . . . . . . . . . . 341 Huso horario . . . . . . . . . . . . . . . 87 Info (info) . . . . . . . . . . . . . . . 311 iputils . . . . . . . . . . . . . . . . . 299 378 Índice alfabético IRC . . . . . . . . . . . . . . . . . . . . . . 342 kpanel . . . . . . . . . . . . . . . . . . . 205 Desinstalar . . . . . . . . . . . . . 120 irda . . . . . . . . . . . . . . . . . . . . . 206 krpm . . . . . . . . . . . . . . . . . . . . . 307 Primera instalación . . . . . . . . 7 IrDA . . . . . . . . . . . . . . . . . . . . . 205 kterm . . . . . . . . . . . . . . . . . . . . . 87 Update . . . . . . . . . . . . . . . . . 287 Impresora . . . . . . . . . . . . . . 206 Linux Development Platform ISA PnP L Specification . . . . . . . . . . 310 Inicializar . . . . . . . . . . . . . . 339 L10N . . . . . . . . . . . . . . . . . . . . 327 Linux Standard Base . . . . . . 309 isapnp . . . . . . . . . . . . . . . 178, 180 Lance . . . . . . . . . . . . . . . . . . . . 263 linux.par . . . . . . . . . . . . . . . . . 133 isapnp . . . . . . . . . . . . . . 178, 180 LANG . . . . . . . . . . . . . . . . . . . . . 338 linuxrc 4, 7­13, 28, 34, 38, 289, ISApnp . . . . . . . . . . . . . . . . . . 178 Laptop . . . . . . . . . . . . . . . . . . . 193 292, 313­316, 317, iso-8859 . . . . . . . . . . . . . . . . . . 172 LC_* . . . . . . . . . . . . . . . . . . . . . 338 317­321, 323 ISP16 . . . . . . . . . . . . . . . 265, 276 LDAP-Server . . . . . . . . . . . . . 344 Listado de las series y paquetes . ldconfig . . . . . . . . . . . . . . . . . . 296 73 J leafnode . . . . . . . . . . . . . . . . . . 293 loadlin . . . 4, 25, 26, 39, 41, 105, jade_dsl . . . . . . . . . . . . . . . . 298 Lector CD-ROM 107, 130, 133, 133, 134, Instalación . . . . . . . . . . . . . . . 75 179, 254, 290, 312, 314, 318 K Puerto paralelo . . . . . . . . véase no funciona . . . . . . . . . . . . . . 39 kardinfo . . . . . . . . . . . . . . . . . . 202 Hardware, Puerto paralelo no se inicia . . . . . . . . . . . . . . 39 kbatmon . . . . . . . . . . . . . . . . . . 205 Lector CD-ROM loadlin.exe . . . . . . . . . . . 107, 314 KDE . . . . . . . . . . . . 1, 40, 41, 307 en el puerto paralelo . . . . . . 37 loadlin.exe . . . . . . . . . . . . . . 4 KDE2 . . . . . . . . . . . . . . . . . . . . . 41 Lectores CD-ROM locale . . . . . . . . . . . . . . . . . . . . 338 kdelibs-devel . . . . . . . . . . 300 Soporte por Linux . . . . . . . . 36 locate . . . . . . . . . . . . . . . . 310, 347 kdm . . . . . . . . . . . . . . . . . . 82, 291 less . . . . . . . . . . . . . . . . . . . . . . 324 locate . . . . . . . . . . . . . . . . . . 347 KDM . . . . . . . . . . . . . . . . . . 23, 82 libc5 . . . . . . . . . . . . . . . . . . . . . 322 Log-Files . . . . . . . . . . . . . . . . . 348 Kernel . . . . . . . . . . . . . . . . . . . 243 Licencia . . . . . . . . . . . . . . . . . . 355 Logical Volume Manager . . . 66, Cantidad de CPUs . . . . . . . 255 LILO . . . . . . . . . . . . . . . . . . . . . 105 véase YaST2,Gestor Compilación . . . . . . . . . . . . 243 LILO . . . . . . . . . . . . . . . . . . . . . 105 Volúmenes Lógicos Configuración . . . . . . . . . . 246 LILO 18, 19, 25, 26, 34, 40, 57, Login . . . . . . . . . . . . . . . . . . . . 346 Consola en puerto serie . . 255 77­80, 105, 106, 107, Login-Shell . . . . . . . . . . . . . 294 Debugging . . . . . . . . . . . . . 338 107­112, 114­130, 132, PAM . . . . . . . . . . . . . . 293, 296 Driver de impresora . . . . . 285 144, 145, 245, 248, 249, remote . . . . . . . . . . . . . . . . . 349 Módulos . . . . . . . . . . . . . . . 244 251, 252, 254, 267, 290, Logitech . . . . . . . . . . . . . . . . . 160 Módulos separados . . . . . . 297 312, 314, 315, 320 Logitech Busmouse . . . . . . . 265 Parámetros . . . . . . . . . . . . . 251 Arrancar DOS y OS/2 . . . 125 Loopback . . . . . . . . . . . . . . . . 340 Seleccionar . . . . . . . . . . . . . 102 Arrancar Windows NT . . . 123 lpc . . . . . . . . . . . . . . . . . . 217, 218 Seleccionar kernel SMP . . . 77 Configuraciones de ejemplo . . lpd . . . . 216, 216, 217, 231, 344 Seleccionar Kernel SMP . . 19 123 LPD . . . . . . . . . . . . . . . . . . . . . 103 Sysrq . . . . . . . . . . . . . . . . . . 338 Desinstalación . . . . . . . . . . 118 lpq . . . . . . . . . . . . . . . . . . 217, 217 Kernel Module Loader . . . . . 245 Desinstalar . . . . . . . . . . . . . 120 lpr . . . . . . . . . . . . . . 219, 219, 220 Kernel panic . . . . . . . . . . . . . . . 19 Disquete de arranque . . . . 121 lprm . . . . . . . . . . . . . . . . . 217, 217 Kernel too big . . . . . . . . . . . . 248 DOS/Win95 arrancar . . . . 123 lprold . . . . . 103, 211, 215, 232 kernel-source . . . . . . . . . . 243 Instalación . . . . . . . . . . . . . . 118 lprsetup . . . . . . . . . . . . . . . . 220 kerneld . . . . . . . . . . . . . . 245, 340 OS/2 arrancar . . . . . . . . . . . 124 LS120-Disquetera . . . . . . . véase kerneld . . . . . . . . . . . . . . . . . . . 245 Parámetros . . . . . . . . . . . . . 251 Hardware, Kerneldamon . . . . . . . . . . . . . 245 Problemas . . . . . . . . . . . . . . 127 LS120-Disquetera kernmod . . . . . . . . . . . . . . . . . 294 1024 cilindros . . . . . . . . . . . 129 LSB véase Linux Standard Base kernmods . . . . . . . . . . . . . . . . 294 Diagnóstico . . . . . . . . . . . . . . 127 lsmod . . . . . . . . . . . . . . . . . . . . 245 kfontmanager . . . . . . . . . . . . . 174 Kernel a partir de 2.0 . . . . . 132 lspci . . . . . . . . . . . . . . . . . . . . . 170 kikbd . . . . . . . . . . . . . . . . . . . . 176 Mensajes de inicio . . . . . . . 127 LUN . . . . . . . . . . . . . . . . . . . . . 256 kmix . . . . . . . . . . . . . . . . . . . . . 181 lilo.conf . . . . . . . . . . . . . 111, 112 LVM . . . 66, véase YaST2,LVM kmod . . . . . . . . . . . 184, 212, 245 Linus Torvalds . . . . . . . . . . . . 3, 5 lynx . . . . . . . . . . . . . . . . . . . . . 345 Kmod . . . . . . . . . . . . . . . 245, 246 Linux . . . . . . . . . . . . . . . . . . . . . . 1 knfsd . . . . . . . . . . . . . . . . . . . . . . 57 Actualización . . . . . . . . . . . 287 M knfsd . . . . . . . . . . . . . . . 293, 343 Borrar . . . . . . . . . . . . . . . . . . 120 Módulo 379 Índice alfabético Cargar . . . . . . . . . . . . . . . . . 318 Monitor . . . . . . . . . . . . . . . . . . 161 nfsserv . . . . . . . . . . . . . . . . . 293 Parámetros . . . . . . . . . . . . . 319 Monitor de red NI6510 . . . . . . . . . . . . . . . . . . . 274 Módulos . . . . . . . . . . . . . . . . . 244 Argus . . . . . . . . . . . . . . . . . . 347 NIS . . . . . . . . . . . . véase YP, 297 Compilar . . . . . . . . . . . . . . . 248 mount . . . . . . . . . . . 188, 189, 324 Client . . . . . . . . . . . . . . . . . . 298 Manejo . . . . . . . . . . . . . . . . . 244 Mountpoint . . . . . . . . . . . . . . . . 58 Nivel de ejecución . . . . 300, 332 Módulos de kernel mouse . . . . . . . . . . . . . . . . . . . . 339 Nuevo significado . . . . . . . 298 Fichero de configuración . 293 Mouse nkita . . . . . . . . . . . . . . . . . . . 299 MAD16 . . . . . . . . . . . . . 265, 276 Bus . . . . . . . . . . . . . . . . . . . . 160 nkitb . . . . . . . . . . . . . . . . . . . 299 Mail-Server Configuración . . . . . . . . . . . . 75 NNTP . . . . . . . . . . . . . . . . . . . . 344 Postfix . . . . . . . . . . . . . . . . . 342 En consola . . . . . . . . . . . . . . . 88 NNTP-Server . . . . . . . . . . . . . 341 makewhat . . . . . . . . . . . . . . . . 296 HiTablet . . . . . . . . . . . . . . . . 160 nntpd . . . . . . . . . . . . . . . . . . . . 344 makewhatis . . . . . . . . . . . . . . . 296 Logitech . . . . . . . . . . . . . . . 160 nobody . . . . . . . . . . . . . . . . . . . 347 Manpages . véase Manual-Pages Logitech (MouseMan) . . . 160 Notebook . . . . . . . . . . . . . . . . . 193 Index . . . . . . . . . . . . . . . . . . 296 Microsoft . . . . . . . . . . . . . . . 160 IrDA . . . . . . . . . . . . véase IrDA MANPATH . . . . . . . . . . . . . . . . . 296 MM-Serie . . . . . . . . . . . . . . 160 PCMCIA . . . . . . . . . . . . . . . 339 Manual-Pages . . . . . . . . . . . . . 311 Mouse Systems . . . . . . . . . 160 Novell NE1000/2000 . . . . . . 273 Masquerading PS/2 . . . . . . . . . . . . . . . . . . . 160 nscd . . . . . . . . . . . . . . . . . . . . . 292 IP-Forwarding . . . . . . . . . . 341 Tipo . . . . . . . . . . . . . . . . . . . 160 Massachusetts Institute of Mozart . . . . . . . . . . . . . . 265, 276 O Technology . . . . . . . . . . . 141 Mozart CD-ROM . . . . . 265, 276 Omnibook . . . . . . . . . . . . . . . . 264 MBR . . . . . 105, 106, 110, véase Mozilla . . . . . . . . . . . . . . . . 40, 41 openssh . . . . . . . . . . . . . . . . . 297 Master Boot Record msdos.sys . . . . . . . . . . . . . . . . 133 Optics Storage CD-ROM . . 266, mc . . . . . . . . . . . . . . . . . . . . . . . 307 mt . . . . . . . . . . . . . . . . . . . . . . . 192 276 mc . . . . . . . . . . . . . . . . . . . . . . . 307 Multiprocesador . . . véase SMP, Oracle 8.1.7 . . . . . . . . . . . . . . . . 41 Medio de instalación . . . . . . . . 49 véase SMP OS/2 Memoria Multisession CD-ROM 265, 276 Arrancar . . . . . . . . . . . 124, 125 Cantidad no reconocida . . 255 mutt . . . . . . . . . . . . . . . . . . . . . 298 Bootmanager . . . . . . . . . . . 107 Reservar . . . . . . . . . . . . . . . 254 MySQL . . . . . . . . . 294, 300, 346 Gestor de arranque . . . . . . 107 Memory . . . . . . . véase Memoria mysql-Max . . . . . . . . . . . . . . 300 OSS . . . . . . . . . . . . . . . . . 181, 182 Memtest86 . . . . . . . . . . . . . . . 112 N P Menú de arranque . . . . . . . . . 133 Name Service Caching Daemon package.tar.gz . . . . . . . . . . . . . . 45 Menú principal . . . . . . . . . . . . . 48 Inicializar . . . . . . . . . . . . . . 343 PAM . . . . . . . . . . . . . . . . . 85, 293 Mensaje inicial . . . . . . . . . . . . 117 ncpfs . . . . . . . . . . . . . . . . . . . . . 81 Contraseñas-MD5 . . . . . . . . 85 Midnight Commander . . . . . 307 NCR 5380 . . . . . . . . . . . 259, 269 Panasonic CD-ROM . . 266, 277 minicom . . . . . . . . . . . . . . . . . 291 NCR 53c400 . . . . . . . . . . . . . . 260 Pantalla de arranque . . . . . . . 117 MIT . . . . . . . . . . . . . . . . . . . . . 141 NCR 53C400 . . . . . . . . . . . . . 269 Pantalla de inicio . . . . . . . . . . 117 Mitsumi CD-ROM . . . . 265, 275 NCR 53c406a . . . . . . . . . . . . . 260 Pantalla gráfica Mitsumi FX-001(D) . . 265, 275 NCR 53C810 . . . . . . . . . . . . . 252 desactivar . . . . . . . . . . . . . . . . 26 mkfs . . . . . . . . . . . . . . . . . . . . . 324 ncurses . . . . . . . . . . . . 296, 310 Pantalla virtual . . . . . . . . . . . . 170 mkswap . véase Swap-Partición, NE1000/2000 . . . . . . . . . . . . . 273 paquete 324 NE2000 . . . . . . . . . . . . . . . . . . 267 a2ps . . . . . . . . . . . . . . . . . . . 210 mod_php4 . . . . . . . . . . . . . . . . 299 Netscape . . . . . . . . . . . . . . . 40­42 aaa_base . . . . . . . . . 295, 298 mod_php4 . . . . . . . . . . . . . . . . 299 netstat . . . . . . . . . . . . . . . . . . . . 324 alice . . . . . . . . . . . . . . . . . . 30 Modeline . . . . . . . . . . . . . . . . . 171 NetWare . véase Novell Netware alsa-devel . . . . . . . . . . . 300 modem . . . . . . . . . . . . . . . . . . . 339 NFS apache . . . . . . . . . . . . . . . . 296 Modem Daemon . . . . . . . . . . . . . . . . 293 apmd . . . . . . . . . . . . . . 204, 205 Configuración . . . . . . . . . . . . 75 Group-IDs . . . . . . . . . . . . . . 343 aps . . . . . . . . . . . . . . . 210, 220 modprobe . . . . . . . 245, 251, 252 Instalación desde . . . . . . . . . 51 autofs . . . . . . . . . . . . . . . . 343 Parámetros . . . . . . . . . . . . . 251 Kernel NFS-Daemon . . . . 343 binutils . . . . . . . . . . . . . . 243 modules.conf . . . . . . . . . . . . . 293 Servidor . . . . . . . . . . . . . . . . 342 bttv . . . . . . . . . . . . . . . . . . . 297 modules.conf . . . . . . . . . véase User-IDs . . . . . . . . . . . . . . . 343 changes . . . . . . . . . . . . . . . 296 /etc/modules.conf nfs-server . . . . . . . . . . . . . 293 cron . . . . . . . . . . . . . . . . . . . 297 380 Índice alfabético dhclient . . . . . . . . . . . . . . 295 nkita . . . . . . . . . . . . . . . . . 299 Formato . . . . . . . . . . . . . . . . 300 dhcpcd . . . . . . . . . . . . . . . . 295 nkitb . . . . . . . . . . . . . . . . . 299 Selección . . . . . . . . . . . . . . . . 68 docbktls . . . . . . . . . . . . . . 300 openssh . . . . . . . . . . . . . . . 297 Paquetes docbook-dsssl-stylesheets pcmcia . . . . . . . . . . . . 201, 202 Borrar . . . . . . . . . . . . . . . . . . . 74 299 PCMCIA . . . . . . . . . . . . . . . . 194 Buscar . . . . . . . . . . . . . . . . . . 73 docbook_3 . . . . . . . . . . . . 299 pg_datab . . . . . . . . . . . . . . 297 Compilar . . . . . . . . . . . . . . . 306 docbook_4 . . . . . . . . . . . . 299 phpdoc . . . . . . . . . . . . . . . . 296 Comprobar dependencias . 70 dochost . . . . . . . . . . . . . . . 298 plp . . . . . . . . . . . . . . . . . . . . 215 Configuraciones . . . . . . . . . . 67 emacs . . . . . . . . . . . . . . . . . 299 postfix . . . . . . . . . . . . . . . 295 Instalación . . . . . . . . . . . . . . . 72 emacs-auctex . . . . . . . . . 299 postgres . . . . . . . . . 288, 297 Instalar . . . . . . . . . . . . . . . . . . 73 emacs-el . . . . . . . . . . . . . . 299 psgml . . . . . . . . . . . . . . . . . 299 Listado . . . . . . . . . . . . . . . . . . 73 emacs-info . . . . . . . . . . . 299 reiserfs . . . . . . . . . . . . . . . 57 Paride . . . . . . . . . . . . . . . . . . . . 285 emacs-nox . . . . . . . . . . . . 299 roxen . . . . . . . . . . . . . . . . . 296 Parport-subsistema . . . . . . . . 183 emacs-x11 . . . . . . . . . . . . 299 roxen-ssl . . . . . . . . . . . . 296 Partición fhs . . . . . . . . . . . . . . . . . . . . 309 roxenssl . . . . . . . . . . . . . . 296 Formatear . . . . . . . . . . . . . . . 60 finger . . . . . . . . . . . . . . . . 299 rpm . . . . . . . . . . . . . . . . . . . . 306 Swap . . . . . . . . . . . . . . . . . . . . 42 firewals . . . . . . . . . . . . . . 295 rsh . . . . . . . . . . . . . . . . . . . . 299 Partición de intercambio . 42, 55 ftpdir . . . . . . . . . . . . . . . . 309 rwho . . . . . . . . . . . . . . . . . . . 299 Generar . . . . . . . . . . . . . . . . . 62 gcc . . . . . . . . . . . . . . . . . . . . 243 rzsz . . . . . . . . . . . . . . . . . . . 298 Partición extendida . . . . . . . . . 56 gimp-devel . . . . . . . . . . . 300 samba . . . . . . . . . . . . . . 81, 295 Partición raíz . . . . . . . . . . . . . 255 glibc . . . . . . . . . . . . . . . . . 306 sax . . . . . . . . . . . . . . . . . . . . 141 Particionar . . . . . . . 31, 54, véase glibc-devel . . . . . . . . . . 243 sax2 . . . . . . . . . . . . . . . . . . . 141 YaST2,Particionar glibc-info . . . . . . . . . . . 329 sdb_en . . . . . . . . . . . . . . . . 291 Disco duro . . . . . . . . . . . . . . . 39 gnlibs . . . . . . . . . . . . . . . . 297 sendmail . . . . . . . . . . . . . . 336 Experto . . . . . . . . . . . . . . . . . 42 gnuserv . . . . . . . . . . . . . . . 299 squid . . . . . . . . . . . . . . . . . 295 Particiones gs_fonto . . . . . . . . . . . . . . 211 squid2 . . . . . . . . . . . . . . . . 295 Configurar . . . . . . . . . . . 54, 60 gs_fonts . . . . . . . . . . . . . . 211 SuSEfirewall . . . . . . . . . 295 extendidas . . . . . . . . . . . . . . . 56 gs_lib . . . . . . . . . . . . . . . . 211 susehelp . . . . . . . . . . . . . . 298 lógica . . . . . . . . . . . . . . . . . . . 56 gs_x11 . . . . . . . . . . . . . . . . 211 syslinux . . . . . . . . . . . . . . . 33 primarias . . . . . . . . . . . . . . . . 56 gxmhtml . . . . . . . . . . . . . . . 297 sysvinit . . . . . . . . . . . . . . 306 Swap . . . . . . . . . . . . . . . . . . . . 55 howto . . . . . . . . . . . . . . . . . 206 talk . . . . . . . . . . . . . . . . . . . 299 Tipos . . . . . . . . . . . . . . . . . . . . 39 i4l . . . . . . . . . . . . . . . . 81, 336 tcl . . . . . . . . . . . . . . . . . . . . 247 Particiones lógicas . . . . . . . . . . 56 idedma . . . . . . . . . . . . . . . . 299 telnet . . . . . . . . . . . . . . . . 299 Particiones primarias . . . . . . . 56 imwheel . . . . . . . . . . . . . . . 175 tk . . . . . . . . . . . . . . . . . . . . . 247 Patch-CD-Update . . . . . . . . véase iputils . . . . . . . . . . . . . . . 299 ttmkfdir . . . . . . . . . . . . . . 174 YaST2,Patch-CD-Update irda . . . . . . . . . . . . . . . . . . . 206 uucp . . . . . . . . . . . . . . . . . . . 311 PATH . . . . . . . . . . . . . . . . . . . . . . . 3 isapnp . . . . . . . . . . . . 178, 180 wget . . . . . . . . . . . . . . . . . . . 305 Patrick Volkerding . . . . . . . . . . . 5 jade_dsl . . . . . . . . . . . . . . 298 wuftpd . . . . . . . . . . . . . . . . 293 PC Comprar . . . . . . . . . . . . . . 321 kdelibs-devel . . . . . . . . 300 xdevel . . . . . . . . . . . . . . . . 310 pcmcia . . . . . . . . . . . . . . 201, 202 kernel-source . . . . . . . . 243 xdevel33 . . . . . . . . . . . . . . 310 PCMCIA . . . . . . . . 193, 290, 339 kernmod . . . . . . . . . . . . . . . 294 xf86 . . . . . . . . . . . . . . . . . . . 247 cardmgr . . . . . . . . . . . . . . . . 194 kernmods . . . . . . . . . . . . . . 294 xfsetup . . . . . . . . . . . . . . . 141 Configuración . . . . . . 194, 196 knfsd . . . . . . . . . . . . . 293, 343 xkeycaps . . . . . . . . . . . . . . 176 Esquema . . . . . . . . . . . . . . . 196 lprold . . 103, 211, 215, 232 xntp . . . . . . . . . . . . . . . . . . . 345 Ethernet . . . . . . . . . . . . . . . . 195 makewhat . . . . . . . . . . . . . . 296 xvga16 . . . . . . . . . . . . . . . . 141 IDE . . . . . . . . . . . . . . . . . . . . 196 mod_php4 . . . . . . . . . . . . . . 299 yp-tools . . . . . . . . . . . . . . 298 Instalación . . . . . . . . . . . . . . 201 mutt . . . . . . . . . . . . . . . . . . . 298 ypbind . . . . . . . . . . . . . . . . 298 Modem . . . . . . . . . . . . . . . . 195 mysql-Max . . . . . . . . . . . . 300 ypclient . . . . . . . . . . 81, 298 Probleme . . . . . . . . . . . . . . . 197 ncpfs . . . . . . . . . . . . . . . . . . 81 ypserv . . . . . . . . . . . . . . . . 297 RDSI . . . . . . . . . . . . . . . . . . 195 ncurses . . . . . . . . . . 296, 310 yudit . . . . . . . . . . . . . . . . . 173 Script de inicio . . . . . . . . . . 196 nfs-server . . . . . . . . . . . 293 Paquete SCSI . . . . . . . . . . . . . . . . . . . 196 nfsserv . . . . . . . . . . . . . . . 293 ¿Dónde se encuentra? . . . 298 software . . . . . . . . . . . . . . . . 194 381 Índice alfabético TokenRing . . . . . . . . . . . . . 195 Instalar software . . . . . . . . . 17 RAID . . . . . . . . . . . . . . . . . . . . 101 Utilidades . . . . . . . . . . . . . . 201 linuxrc . . . . . . . . . . . . . . . . . . . 8 RAM . . . . . . . . . . véase Memoria PCMCIA . . . . . . . . . . . . . . . . . . 194 Login . . . . . . . . . . . . . . . . . . . 21 Ramdac . . . . . . . . . . . . . . . . . . 162 pep . . . . . . . . . . . . . . . . . . . . . . . 41 Mecanismo de arranque con Ramdisk perl . . . . . . . . . . . . . . . . . . . . 1, 347 loadlin . . . . . . . . . . . . . . . 133 Initial Ramdisk . . . . . . . . . 340 Permissions . . . . . . . . . . . . . . . 348 Modem . . . . . . . . . . . . . . . . . . 20 Rango de memoria pg_datab . . . . . . . . . . . . . . . . 297 Mouse . . . . . . . . . . . . . . . . . . 21 Reservar . . . . . . . . . . . . . . . 254 PGP . . . . . . . . . . . . . . . . . . . . . 301 Pantalla de inicio . . . . . . . . . . 7 rawrite . . . . . . . . . . . . . . . . . . . . 35 Philips CM206 . . . . . . . 266, 276 Particionar . . . . . . . . . . . . . . . 31 rawrite.exe . . . . . . . . . . . . . . . . . 35 PHP . . . . . . . . . . . . . . . . . . . . . 296 Requisitos . . . . . . . . . . . . . . . . 7 rc . . . . . . . . . . . . . . . . . . . . . . . . 333 phpdoc . . . . . . . . . . . . . . . . . . 296 Seleccionar Configuración 17 rc.config . . . . . . . . . . . . . . . . . . 337 ping . . . . . . . . . . . . . . . . . . . . . 299 Seleccionar kernel . . . . . . . . 18 /etc/rc.config . . . . . . . . 336 PLIP Seleccionar Software . . . . . 17 rc.config . . . . . . . . . . . . . . 337 Puerto paralelo . . . . . . . . véase Sendmail . . . . . . . . . . . . . . . . 20 RC.Config-Editor . . . . . . . . véase Hardware, Puerto paralelo Situación previa . . . . . . . . . . . 7 YaST2,Editor RC.Config plp . . . . . . . . . . . . . . . . . . . . . . 215 Print-Server . . . . . . . . . . . . . . 228 rcp.ugidd . . . . . . . . . . . . . . . . . 343 PlugAndPlay . . . . . . . . . . . . . 178 PRINTER . . . . . . . . . . . . . . . . . 219 reboot . . . . . . . . . . . . . . . . . . . . . 23 pnpdump . . . . . . . . . . . . 178­180 Printserver-Box . . . . . . . . . . . 228 Reboot . . . . . . . . . . . . . . 254, 346 Portátil . . . . . . . . . . . . . . . . . . . 193 Pro Audio Spectrum . . 257, 266 Red Gestión de potencia . . . . véase Pro Audio Spectrum 16 . . . . 266 YaST . . . . . . . . . . . . . . . . . . . . 80 APM Probar PC . . . . . . . . . . . . . . . . 321 Dummy-Device . . . . . . . . . 340 IrDA . . . . . . . . . . . . véase IrDA Procesador Herramientas . . . . . . . . . . . 299 Powermanagement . . . . véase Cyrix 686 . . . . . . . . . . . . . . . 19 reiserfs . . . . . . . . . . . . . . . . . 57 APM Programar ReiserFS . . . . . véase Sistema de portmap . . . . . . . . . . . . . . . . 20, 80 Ficheros-Core . . . . . . . . . . 311 ficheros, ReiserFS Portmapper . . . . . . . . . . 297, 342 Programas Reloj "atómico" . . . . . . . . . . . 345 postfix . . . . . . . . . . . . . . . . . . . 342 Código fuente . . . . . . . . . . . . 69 Rescate postfix . . . . . . . . . . . . . . . . . 295 Compilar . . . . . . . . . . . . . . . 306 Generar disquete . . . . . . . . . 77 Postfix . . . . . . . . . . . . . . . . . . . 342 Red . . . . . . . . . . . . . . . . . . . . 299 Proxy Rescue-Disk . . . . . . . . . . . . . . 321 postgres . . . . . . . . . . . 288, 297 Rescue-System . . . . . . . . . . . . 321 PostgreSQL . . . . . . . . . . 288, 297 FTP . . . . . . . . . . . . . . . . . . . . 345 Reservar rango E/S . . . . . . . . 254 Powermanagement . . . . . . . . 202 Gopher . . . . . . . . . . . . . . . . . 345 Reset . . . . . . . . . . . . . . . . . . . . 254 Primera instalación . . . . . . . . . . 7 HTTP . . . . . . . . . . . . . . . . . . 345 Resolución de pantalla . . . . . 170 Arrancar psgml . . . . . . . . . . . . . . . . . . . 299 YaST . . . . . . . . . . . 13 Puerto resolv.conf . . . . . . . . . . . . . . véase Arrancar con CD2 . . . . . . . . 34 Paralelo . . . . . . . . . . . . . . . . 212 /etc/resolv.conf, véase Arrancar con disquete . . . . . 33 serie . . . . . . . . . . . . . . . . . . . 215 /etc/resolv.conf Configuración básica . . . . . 19 Puerto paralelo véase Hardware, Respaldo . . . . . . . . . . . . . . . . . . 86 Configuración de red . . . . . 20 Puerto paralelo rlogin . . . . . . . . . . . . . . . . 342, 349 Configuración inicial . . . . . 19 ATAPI CD-ROM . . . . . . . . 286 rmmod . . . . . . . . . . . . . . . . . . . 244 Configurar particiones . . . . 60 ATAPI Disks . . . . . . . . . . . . 286 root . . . . . . . . . . . . . . . . . . . . . . . 20 Definir contraseña de root . 20 Disco duro IDE . . . . . . . . . 285 Root Disquetes de arranque . . . . 34 Dispositivo ATAPI genérico . . Login, remote . . . . . . . . . . . 349 Entrar al sistema . . . . . . . . . 21 286 route . . . . . . . . . . . . . . . . . . . . . 324 Fijar puntos de montaje . . . 63 Dispositivos IDE . . . . . . . . 285 Router Fijar sistemas de fichero . . 63 Driver de protocolo IDE . 285 IP-Forwarding . . . . . . . . . . 341 Formatear . . . . . . . . . . . . . . . 63 Específico . . . . . . . . . . . . . . 284 roxen . . . . . . . . . . . . . . . . . . . 296 Formatear disco duro . . . . . 63 Parámetros de kernel 267, 284 Roxen . . . . . . . . . . . . . . . . . . . . 296 Futuro método de arranque 25 Streamer ATAPI . . . . . . . . 286 roxen-ssl . . . . . . . . . . . . . . 296 Generar disquete de arranque Punto de anclaje . . . . . . . . . . . . 58 roxenssl . . . . . . . . . . . . . . . . 296 bajo Unix . . . . . . . . . . . . . . 36 rpc.mountd . . . . . . . . . . . . . . . 342 Instalación de paquetes . . . 21 R rpc.nfsd . . . . . . . . . . . . . . . 80, 342 Instalar paquetes . . . . . . . . . 17 Radius . . . . . . . . . . . . . . . . . . . 344 rpm . . . . . . . . 292, 296, 306, 307 382 Índice alfabético rpm . . . . . . . . . . . . . . . . . . . . . . 300 Secure Shell Daemon . . . . . . 345 Reconstruir . . . . . . . . . . . . . 351 rpm . . . . . . . . . . . . . . . . . . . . . . 306 sed . . . . . . . . . . . . . . . . . . . . . . . . . 1 ReiserFS . . . . . . . . . . . . . . . . 57 RPM . . . . . . . . . . . . . . . . 300, 300 Seguridad TeX . . . . . . . . . . . . . . . . . . . . 309 Banco de datos . . . . . . . . . . 348 Impresión . . . . . . . . . . . . . . 217 Sistema de impresión . . . . véase rpmnew . . . . . . . . . . . . . . . . 301 Selección Spool-system rpmorig . . . . . . . . . . . . . . . 301 Medio de instalación . . . . . . 49 Sistema de rescate . . . . . . . . . 321 rpmsave . . . . . . . . . . . . . . . 301 Selección de series . . . . . . . . . 68 Iniciar . . . . . . . . . . . . . . . . . . 323 rsh . . . . . . . . . . . . . . . . . . . . . . 299 Seleccionar kernel . . . . . . . . . . 77 Uso . . . . . . . . . . . . . . . . . . . . 324 run_ldconfig . . . . . . . . . . . 296 Seleccionar paquetes . . . . . . . . 17 sistema X Window . . . . . . . . . . . 1 Runlevel . . . . . . . . . . . . . 300, 332 Seleccionar software . . . . . . . . 17 Sistemas de fichero cambiar . . . . . . . . . . . . . . . . 333 sendmail . . . . . . . . . 81, 293, 342 fijar . . . . . . . . . . . . . . . . . . . . . 63 Nuevo significado . . . . . . . 298 sendmail . . . . . . . . . . . . . . . . 336 smbmount . . . . . . . . . . . . . . . . 295 Runlevel-Editor . . . . . . . . . . . . 94 Sendmail . . . . . . . . . . . . . . . . . 311 SMC 9194 . . . . . . . . . . . . . . . . 274 rwho . . . . . . . . . . . . . . . . . . . . . 299 Configuración . . . . . . . . . . . . 81 SMC 9432TX EtherPower II 272 rwhod . . . . . . . . . . . . . . . . . . . . 343 serie SMC EPIC/100 rzsz . . . . . . . . . . . . . . . . . . . . . 298 a . . . . . . . . . . . . . . . . . 57, 69, 71 83C170/83c171/83c172/83c175 S a1 . . . . . . . . . . . . . . . . . . . . . 194 272 ap . . . 175, 178, 204, 210, 211 SMC Ultra . . . . . . . . . . . . . . . . 274 samba . . . . . . . . . . . . . . . . 81, 295 SMP Samba . . . . . . . . . . . . . . . . . . . 345 D . . . . . . . . . . . . . . . . . . . . . . 243 Sanyo CD-ROM . . . . . . 266, 276 doc . . . . . . . . . . . 291, 309, 329 Cantidad de CPUs . . . . . . . 255 n . 81, 206, 211, 215, 293, 343 Seleccionar kernel . . . . 19, 77 sax . . . . . . . . . . . . . . . . . . . . . . 141 SaX 88, 141­143, 150, 150­159 sgm . . . . . . . . . . . . . . . . . . . . 299 SMTP . . . . . . . . . . . . . . . . . . . . 342 SNiFF+ . . . . . . . . . . . . . . . . . . . 41 sax2 . . . . . . . . . . . . . . . . . . . . . 141 x . . . . . . . . . . . . . . . . . . . . . . 141 SaX2 . . 141, 142, 143, 143­146, xap . . . . . . . . . . . 173, 174, 176 Soft-RAID . . . . . . . . . . . . . . véase 148­150, 167, 168, 170, xsrv . . . . . . . . . . . . . . . . . . . 142 YaST2,Soft-RAID 171, 174, 175 zq . . . . . . . . . . . . . . . . . . . . . 306 Sonido SCSI Series Configuración . . . . . . . . . . 181 Adaptec Buscar . . . . . . . . . . . . . . . . . . 73 Sony CDU31A . . . . . . . 266, 277 AHA-152x/151x/1505 . 268 Listado . . . . . . . . . . . . . . . . . . 73 Sony CDU33A . . . . . . . 266, 277 Adaptec AHA-1540/1542 268 server.exe . . . . . . . . . . . . . . . . 107 Sony CDU535 CD-ROM . . 266, AdvanSys . . . . . . . . . . . . . . 258 Servidor de impresión . . . . . 228 277 AHA-152x/151x/1505 . . . 256 Servidor de nombres Sound AHA-154x . . . . . . . . . . . . . 257 Configuración . . . . . . . . . . . . 81 AD1816 Chip . . . . . . . . . . . 277 AHA-274x . . . . . . . . . . . . . 257 Servidor HTTP AD1848/CS4248 Chip (MSS) AHA-284x . . . . . . . . . . . . . 257 Configurar . . . . . . . . . . . . . . 309 278 AHA-294x . . . . . . . . . . . . . 257 Servidor-FTP Aztech Sound Galaxy . . . . 283 AM53/79C974 . . . . . . . . . . 258 Configurar . . . . . . . . . . . . . . 309 Creative Ensoniq 1371 chipset Future Domain . . . . . 259, 269 setserial . . . . . . . . . 183, 191, 192 279 LUN . . . . . . . . . . . . . . . . . . . 256 setup . . . . . . . . . . . . . . . . . . . . . . 34 Crystal 423x chipsets . . . . 278 NCR 5380 . . . . . . . . . 259, 269 Setup . . . . . . . . . . . . . . . . . . . 4, 35 Driver genérico OPLx . . . 278 NCR 53c400 . . . . . . . . . . . . 260 SETUP . . . . . . . . . . . . . . . . . . . 220 Ensoniq 1370 chipset . . . . 278 NCR 53C400 . . . . . . . . . . . 269 setup.exe . . . . . . . . . . . . . . . . . 133 Ensoniq SoundScape . . . . 283 NCR 53c406a . . . . . . . . . . . 260 setup.exe . . . . . . . . . . . . . . . . . 4 Gravis Ultrasound . . . . . . . 279 Seagate ST01/02 . . . . . . . . 260 seyon . . . . . . . . . . . . . . . . . . . . 291 MAD16 . . . . . . . . . . . . . . . . 279 Streamer . . . . . . . . . . . . . . . 256 SGML MediaTrix AudioTrix Pro 283 TMC-16x0 . . . . . . . . . 259, 269 DocBook . . . . . . . . . . . . . . . 300 MPU401 . . . . . . . . . . . . . . . 280 TMC-885/950 . . . . . . . . . . 259 shutdown . . . . . . . . . . . . . . . . . 324 OPL3 . . . . . . . . . . . . . . . . . . 281 Trantor T128/128F/228 . . 260 Shutdown . . . . . . . . . . . . . 23, 346 OPL3-SA1 . . . . . . . . . . . . . 281 Trantor T130B . . . . . 260, 269 Sistema OPL3-SAx . . . . . . . . . . . . . 281 sdb_en . . . . . . . . . . . . . . . . . . 291 Actualización . . . . . . . . . . . 287 Personal Sound System Seagate ST01/02 . . . . . . . . . . 260 Sistema de ficheros (ECHO ESC614) . . . . . . 282 Sector de arranque . . . . 105, 106 FHS . . . . . . . . . . . . . . . . . . . 309 Pro Audio Spectrum . . . . . 281 383 Índice alfabético S3 Sonic Vibes . . . . . . . . . . 283 Generar . . . . . . . . . . . . . . . . . 55 Fujitsu FMV-181/182/183/184 Sound Blaster DSP chipsets . . sx . . . . . . . . . . . . . . . . . . . . . . . 298 272 284 Sybase . . . . . . . . . . . . . . . . . . . . 41 HP 10/100 VG-AnyLAN . 273 Sound Blaster y clónicos . 282 Syn Flood Protection . . . . . . 341 HP 27245 . . . . . . . . . . . . . . 273 Turtle Beach syslinux . . . . . . . . . . . . . . . . . . 314 HP 27247B . . . . . . . . . . . . . 273 Classic/Monterey/Tahiti 280 syslinux . . . . . . . . . . . . . . . . . 33 HP 27252A . . . . . . . . . . . . . 273 Turtle Beach Maui y Tropez . . Syslinux . . . . . . . . . . . . . . . . . . . 34 HP 27xxx . . . . . . . . . . . . . . 273 279 SYSLINUX . . . . . . . 33, 34, 254 HP PCLAN . . . . . . . . . . . . . 273 Turtle Beach Maui, Tropez, syslog . . . . . . . . . . . . . . . . . . . . 324 HP PCLAN+ . . . . . . . . . . . 273 Tropez Plus . . . . . . . . . . . 284 Sysrq . . . . . . véase Kernel, Sysrq IBM Token Ring . . . . . . . . 275 Turtle Beach MultiSound 280 System ICL EtherTeam . . . . . . . . . 273 Turtle Beach Pinnacle/Fiji 280 Update . . . . . . . . . . . . . . . . . 287 Intel EtherExpress 16 . . . . 271 UART401 . . . . . . . . . . . . . . 283 System is too big . . . . . . . . . . 248 Intel EtherExpress Pro . . . 272 UART6850 . . . . . . . . . . . . . 284 sysvinit . . . . . . . . . . . . . . . . 306 Intel EtherExpress Pro 100 . . . YMF71x . . . . . . . . . . . . . . . 281 272 Sourcecode T Lance . . . . . . . . . . . . . . . . . . 274 Compilar . . . . . . . . . . . . . . . 306 Tabla de partición . . . . . . . . . 105 Novell NE1000/2000 . . . . 273 spindown . . . . . . . . . . . . . . . . . 205 talk . . . . . . . . . . . . . . . . . . . . . 299 SMC 9194 . . . . . . . . . . . . . . 274 Spool-system . . . . . . . . . . . . . 209 tar . . . . . . . . . . . . . . . 45, 295, 311 SMC 9432TX EtherPower II . Control . . . . . . . . . . . . . . . . . 217 tar . . . . . . . . . . . . . . . . . . . . . . 295 272 Daemon . . . . . . . . . . . . . . . . 216 Tarjeta de red SMC Ultra . . . . . . . . . . . . . 274 Impresora de red . . . . . . . . 227 3COM 3c501 . . . . . . . . . . . 269 Token Ring . . . . . . . . . . . . . 275 squid . . . . . . . . . . . . . . . . . . . . . 344 3COM 3c503 . . . . . . . . . . . 269 3COM 3c505 . . . . . . . . . . . 269 WD80x3 . . . . . . . . . . . . . . . 274 squid . . . . . . . . . . . . . . . . . . . 295 3COM 3c507 . . . . . . . . . . . 269 Western Digital . . . . . . . . . 274 squid2 . . . . . . . . . . . . . . . . . . 295 Tarjeta de sonido ssh . . . . . . . . . . . . . . . . . . . . . . . . 87 3COM 3c509 . . . . . . . . . . . 269 Pro Audio Spectrum . . . . . 266 Stand-by . . . . . . . . . . . . . . . . . 202 3COM 3c515 . . . . . . . . . . . 270 3COM 3c579 . . . . . . . . . . . 269 Tarjetas de red . . . . . . . . . . . . 263 Staroffice . . . . . . . . . . . . . . . . . . 40 3COM 3c590 . . . . . . . . . . . 270 Tarjetas ISA . . . . . . . . . . . . . . 178 StarOffice . . . . . . . . . . . . . 41, 293 3COM 3c900 . . . . . . . . . . . 270 Tarjetas PC . . . véase Hardware, startx . . . . . . . . . . . . . . . . . 82, 150 AM7990 chipset . . . . . . . . 274 Tarjetas PC Streamer AT1700 . . . . . . . . . . . . . . . . 270 Tarjetas PCI . . . . . . . . . . . . . . 177 SCSI . . . . . . . . . . . . . . . . . . . 256 Cabletron . . . . . . . . . . . . . . . 270 Tastatur SuSE . . . . . . . . . . . . . . . . . . . . 309 Configuración . . . . . . . . . . . . 75 Compose . . . . . . . . . . . . . . . 295 SuSEconfig . . . 20, 89, 197, 298, D-Link DE620 . . . . . . . . . . 275 tcl . . . . . . . . . . . . . . . . . . . . . . 247 324, 327, 328, 336­339, DE10x . . . . . . . . . . . . . . . . . 271 Teclado 343, 345 DE20 . . . . . . . . . . . . . . . . . . 271 Elegir distribución . . . . . . . . 49 SuSEconfig . . . . . . . . . . . . . . . 336 DE203 . . . . . . . . . . . . . . . . . 271 CapsLock . . . . . . . . . . . . . . 339 SuSEConfig . . . . . . . . . . . . . . 336 DE204 . . . . . . . . . . . . . . . . . 271 Compose . . . . . . . . . . . . . . . 365 SuSEfirewall . . . . . . . . . . . 295 DE205 . . . . . . . . . . . . . . . . . 271 Distribución . . . . . . . . . . . . 338 susehelp . . . . . . . . . . . . . . . . . . . 41 DE42 . . . . . . . . . . . . . . . . . . 271 NumLock . . . . . . . . . . . . . . 338 susehelp . . . . . . . . . . . . . . . . 298 DE425 . . . . . . . . . . . . . . . . . 270 Repetición . . . . . . . . . . . . . . 339 SuSE Linux . . . . . . . . . . . . . . 309 DE434 . . . . . . . . . . . . . . . . . 270 Retardo . . . . . . . . . . . . . . . . 339 Distribución de teclado . . 326 DE435 . . . . . . . . . . . . . . . . . 270 Teclas . . . . . . . . . . . . . . . . . . . . 365 Instalación . . . . . . . . . . . . . . 317 DE450 . . . . . . . . . . . . . . . . . 270 Teclas de funciones Particularidades . . . . . . . . . 309 DE500 . . . . . . . . . . . . . . . . . 270 no funcionan . . . . . . . . . . . . . 47 Sistema de rescate . . . . . . . 321 DEC EtherWORKS . . . . . 271 Teclas de mouse . . . . . . . . . . . 160 susewm . . . . . . . . . . . . . . . . . . . 83 Digital . . . . . . . . . . . . . . . . . 270 telnet . . . . . . . . 80, 324, 342, 349 Ajustar . . . . . . . . . . . . . . . . . . 83 Digital DEPCA . . . . . . . . . 271 telnet . . . . . . . . . . . . . . . . . . 299 Suspend . . . . . . . . . . . . . . . . . . 202 E21xx . . . . . . . . . . . . . . . . . . 270 termcap . . . . . . . . . . . . . . . . . . 310 Swap . . . . . . . . . . . . . . . . . . . . . . 55 EtherBlaster . . . . . . . . . . . . 274 Test de memoria . . . . . . . . . . 254 Generar . . . . . . . . . . . . . . . . . 62 EtherTeam 16i/32 . . . . . . . 273 teTeX . . . . . . . . . . . . . . . . . . . . 309 Swap-Partición . . . . . . . . . . . . . 42 EtherWORKS 3 . . . . . . . . . 271 Texinfo . . . . . . . . . . . . . . . . . . . 311 384 Índice alfabético The Open Group . . . . . . . . . . 141 W ttmkfdir . . . . . . . . . . . . . . . . 172 The XFree86 Project, Inc. . . 141 Wabi . . . . . . . . . . . . . . . . . . . . . . 41 VGA . . . . . . . . . . . . . . . . . . . 145 Thinkpad . . . . . . . . . . . . . . . . . 264 WD80x3 . . . . . . . . . . . . . . . . . 274 VGA16 . . . . . . . . . . . . . . . . 145 Tiempo Werner Almesberger . . . . . . . 127 X11R1 . . . . . . . . . . . . . . . . . . . 141 Zona . . . . . . . . . . . . . . . . . . . . 87 Western Digital WD80x3 . . 274 X11R6.4 . . . . . . . . . . . . . . . . . 141 tk . . . . . . . . . . . . . . . . . . . . . . . 247 wget . . . . . . . . . . . . . . . . . . . . . 345 X Window System . . . . . . . . 167 Tkinfo (tkinfo) . . . . . . . . . . 311 wget . . . . . . . . . . . . . . . . . . . . . 305 xdevel . . . . . . . . . . . . . . . . . . 310 TMC-16x0 . . . . . . . . . . . 259, 269 Windowmanager xdevel33 . . . . . . . . . . . . . . . . 310 TMC-885/950 . . . . . . . . . . . . 259 Ajustar . . . . . . . . . . . . . . . . . . 83 xdm . . . . . . . . . 82, 287, 291, 339 Token Ring . . . . . . . . . . . . . . . 275 Windows xdm . . . . . . . . . . . . . . . . . . . . . . 294 traceroute . . . . . . . . . . . . . . . . 299 Samba . . . . . . . . . . . . . . . . . 345 XDM . . . . . . . . . . . . . . . . . 82, 294 Trantor T128/128F/228 . . . . 260 Windows NT Configuración . . . . . . . . . . 294 Trantor T130B . . . . . . . 260, 269 Arrancar . . . . . . . . . . . . . . . 123 xf86 . . . . . . . . . . . . . . . . . . . . . 247 TrueType . véase X11, TrueType Bootmanager . . . . . . . . . . . 107 xf86config . . 141, 159, 165, 167 ttmkfdir . . . . . . . . . . . . . . . . . . 174 Gestor de arranque . . . . . . 107 XF86Config . . . . . . . . . . . . . . 159 ttmkfdir . . . . . . . . . . . . . . . . 174 Windows 95 Clocks . . . . . . . . . . . . . . . . . 169 Tux . . . . . . . . . . . . . . . . . . . . . . . . 3 Arrancar . . . . . . . . . . . . . . . 123 Depth . . . . . . . . . . . . . . . . . . 169 Generar particiones Linux 32, Device . . . . . . . . . . . . . 168­170 U 33 Files . . . . . . . . . . . . . . . . . . . 167 ulimit . . . . . . . . . . . . . . . . . . 311 Windows 98 . véase Windows 95 InputDevice . . . . . . . . . . . . 167 Ultrastor . . . . . . . . . . . . . . . . . 252 Windows 9x modeline . . . . . . . . . . . . . . . 169 unfsd . . . . . . . . . . . . . . . . . . . . . . 57 Menú de arranque . . . . . . . 133 Modeline . . . . . . . . . . . . . . . 168 Unicode . . . . . . . . . . . . . . . . . . 173 WU-FTPD . . . . . . . . . . . . . . . 293 Modes . . . . . . . . 168, 169, 171 Universal Serial Bus véase USB wuftpd . . . . . . . . . . . . . . . . . . 293 Monitor . . . . . . . 168, 169, 171 Unix98 PTY . . . . . . . . . . . . . . 292 wvdial . . . . . . . . . . . . . . . 195, 206 Screen . . . . . . . . . . . . . 168, 169 Update . . . . . . . . . . . . . . . . . . . 287 wvdial . . . . . . . . . . . . . . . . . . 195 ServerFlags . . . . . . . . . . . . . 167 Instalar paquetes . . . . . . . . . 73 ServerLayout . . . . . . . . . . . 168 X updatedb . . . . . . . . . . . . . . . . . 347 Subsection X . . . . . . . . . . . . . . . . . . véase X11 USB . . . . . . . . . . . . . . . . . . . . . 185 Display . . . . . . . . . . . . . . . . . 169 X -probeonly . . . . . . . . . 165, 166 Configuración de teclado y Virtual . . . . . . . . . . . . . . . . . 170 X Consortium, Inc. . . . . . . 1, 141 mouse . . . . . . . . . . . . . . . . 188 XF86Setup . . . . . . . . . . . . . . . 141 X Window System . . . . 141, 141 Módulos . . . . . . . . . . . . . . . 185 XFree configurar . . . . . . . . . . . 88 X-Terminal useradd . . . . . . . . . . . . . . . . . . . . 84 XFree86 . . . . . . . . 141, 141, 142 Configurar . . . . . . . . . . . . . . 294 userdel . . . . . . . . . . . . . . . . . . . . 84 Historia . . . . . . . . . . . . . . . . 141 X11 . . . . . . . . . . . . . . . . . . . . . . 141 Usuarios xfsetup . . . . . . . . . . . . . . . . . 141 Configuración . . . . . . 143, 159 Administración . . . . . . . . . . 83 xinetd . . . . . . . . . . . . . . . . . . . . 342 Monitores . . . . . . . . . . . . . . . 161 XInfo (xinfo) . . . . . . . . . . . . . 311 uucp . . . . . . . . . . . . . . . . . . . . . 311 Mouse . . . . . . . . . . . . . . . . . . 160 xkeycaps . . . . . . . . . . . . . . . . . 176 uucp . . . . . . . . . . . . . . . . . . . . . 311 Servidor X . . . . . . . . . . . . . . 162 xkeycaps . . . . . . . . . . . . . . . . 176 Teclado . . . . . . . . . . . . . . . . . 160 xlsfonts . . . . . . . . . . . . . . . . . . 174 V Displaymanager . . . . . . . . . 346 xntp . . . . . . . . . . . . . . . . . . . . . 345 Variable de entorno Driver . . . . . . . . . . . . . . . . . . 170 xrpm . . . . . . . . . . . . . . . . . . . . . 307 HOME . . . . . . . . . . . . . . . . . . . 287 Font . . . . . . . . . . . . . . . . . . . 172 xset -fp . . . . . . . . . . . . . . . . . . 172 LANG . . . . . . . . . . . . . . . . . . . 338 Framebuffer . . . . . . . . . . . . 144 xset +fp . . . . . . . . . . . . . . . . . . 172 LC_* . . . . . . . . . . . . . . . . . . . 338 Fuentes . . . . . . . . . . . . . . . . 172 xsetpointer . . . . . . . . . . . . . . . 175 MANPATH . . . . . . . . . . . . . . . 296 Iniciar . . . . . . . . . . . . . . . . . . 150 XT-controladora de disco . . 265 PATH . . . . . . . . . . . . . . . . . . . . . 3 mkfontdir . . . . . . . . . . . . . . 172 xterm . . . . . . . . . . . . . . . . . 87, 328 PRINTER . . . . . . . . . . . . . . . 219 Optimización . . . . . . . . . . . 167 xvga16 . . . . . . . . . . . . . . . . . . 141 run_ldconfig . . . . . . . . . 296 Protocolo . . . . . . . . . . . . . . . 148 xvidtune . . . . . . . . . . . . . . . . . . 147 VG-AnyLAN . . . . . . . . . . . . . 273 Resolver problemas . . . . . 144 Xwrapper . . . . . . . . . . . . . . . . 291 vi . . . . . . . . . . . . . . . . . . . . . 1, 324 Shutdown . . . . . . . . . . . . . . 346 virtuoso . . . . . . . . . . . . . . . . . . . 41 Tarjetas de vídeo . . . . . . . . 162 Y Virus . . . . . . . . . . . . . . . . . 26, 109 TrueType-Font . . . . . . . . . . 172 yast . . . . . . . . . . . . . . . . 3, 22, 47 385 Índice alfabético YaST . . 2­4, 7­9, 12­25, 33, 40, Distribución de teclado . . . 47 181, 182, 201, 210, 220, 47, 47­50, 52, 54, 60­64, Elegir distribución de teclado . 225, 288, 298­300 66­70, 72­78, 80, 83­87, 49 CUPS . . . . . . . . . . . . . . . . . . 103 89, 90, 111, 118, 123, 129, Fichero de configuración . . 88 Editor RC.Config . . . . . . . . . 93 130, 141, 142, 150, 154, Formatear . . . . . . . . . . . . . . . 60 Gestor Volúmenes Lógicos 95 195, 197, 202, 203, 206, gdm . . . . . . . . . . . . . . . . . . . . . 82 Hardware . . . . . . . . . . . . . . . . 92 210, 243, 288­292, 294, Generar disquete de rescate 77 Logical Volume Manager . 95 298, 306, 307, 314, 315, gpm . . . . . . . . . . . . . . . . . . . . . 88 LVM . . . . . . . . . . . . . . . . . . . . 95 322, 327, 336­339, 341 Huso horario . . . . . . . . . . . . . 87 Particionar . . . . . . . . . . . . . . . 95 LILO . . . . . . . . . . . . . . . . . 77, 78 Instalar nuevo hardware . . . 75 Patch-CD-Update . . . . . . . . 93 Actualizar sistema . . . . . . . . 74 Instalar paquetes . . . . . . . . . 73 Runlevel-Editor . . . . . . . . . . 94 Administración . . . . . . . . . . 75 kdm . . . . . . . . . . . . . . . . . . . . . 82 Seleccionar Kernel . . . . . . 102 Administración de grupos . 85 Kernel de arranque . . . . . . . 77 Administración de usuarios 83 Soft-RAID . . . . . . . . . . . . . 101 fstab-fichero leer . . . . . . . 60 Ajustes . . . . . . . . . . . . . . . . . . 49 Listado de las series y paquetes Yellow Pages . . . . . . . . véase YP Ayuda . . . . . . . . . . . . . . . . . . . 48 73 YP Backup . . . . . . . . . . . . . . . . . . 86 LVM . . . . . . . . . . . . . . . . . . . . 66 Configurar cliente . . . . . . . . 81 Comprobar dependencias de Medio de instalación . . . . . . 49 Domainname . . . . . . . . . . . 343 paquetes . . . . . . . . . . . . . . . 70 Menú principal . . . . . . . . . . . 48 Server . . . . . . . . . . . . . . . . . . 343 Configuración de arranque 77 Paquetes borrar . . . . . . . . . . 74 YP-Server Configuraciones . . . . . . . . . . 67 Particionar . . . . . . . . . . . . . . . 54 Update . . . . . . . . . . . . . . . . . 297 Configurar escáner . . . . . . . 75 Red . . . . . . . . . . . . . . . . . . . . . 80 yp-tools . . . . . . . . . . . . . . . . 298 Configurar impresora . . . . . 75 Respaldo . . . . . . . . . . . . . . . . 86 ypbind . . . . . . . . . . . . . . . . . . 298 Configurar lector CD-ROM 75 Seguridad de sistema . . . . . 87 ypclient . . . . . . . . . . . . 81, 298 Configurar modem . . . . . . . 75 Selección de paquetes . . . . . 68 ypserv . . . . . . . . . . . . . . . . . . 297 Configurar mouse . . . . . . . . 75 Selección de series . . . . . . . 68 yudit . . . . . . . . . . . . . . . . . . . . . 173 Configurar tarjeta de red . . 75 Seleccionar kernel . . . . . . . . 77 yudit . . . . . . . . . . . . . . . . . . . 173 Console-Font . . . . . . . . . . . . 87 susewm . . . . . . . . . . . . . . . . . 83 Contenido de la instalación 67 Teclas de funciones . . . . . . . 47 Crear sistema de ficheros . . 56 xdm . . . . . . . . . . . . . . . . . . . . . 82 Z Definir idioma . . . . . . . . . . . 49 XFree . . . . . . . . . . . . . . . . . . . 88 ZIP-Disquetera véase Hardware, Definir mountpoint . . . . . . . 58 YaST1 . . . 12, 30, 220, 223, 288, ZIP-Disquetera Definir tipo del sistema de 289 Puerto paralelo . . . . . . . . véase ficheros . . . . . . . . . . . . . . . 57 YaST2 . 7, 13, 25, 26, 66, 76, 87, Hardware, Puerto paralelo Densidad de inodes . . . . . . . 58 91­94, 96­101, 103, 129, Zona horaria . . . . . . . . . . . . . . 338 386