621
SuSE Linux MANUAL DE A DMINISTRACIÓN

SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

  • Upload
    vananh

  • View
    284

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

SuSE LinuxMANUAL DE ADMINISTRACIÓN

Page 2: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5ª edición 2003

Copyright ©

Esta obra es propiedad intelectual de SuSE Linux AG.

Se permite su reproducción total o parcial siempre que cada una de las copias contengaesta nota de copyright.

Toda la información contenida en este libro ha sido compilada minuciosamente. Sin em-bargo, no es posible excluir cualquier tipo de error. Los autores, traductores y SuSE LinuxAG no se hacen responsables de posibles errores ni aceptarán responsabilidad jurídicaalguna derivada de estos errores o sus consecuencias.

Los productos de software o hardware mencionados en este libro son en muchos casosmarcas registradas. SuSE Linux AG se atiene esencialmente a la grafía de los fabricantes.

La reproducción de nombres comerciales, marcas registradas, etc. en este documento nojustifica, aún sin una indicación explícita, la suposición de que tales nombres se puedanconsiderar como libres según la legislación de nombres comerciales y protección de mar-cas.

Dirija sus comentarios y sugerencias a [email protected]

Autores: Frank Bodammer, Stefan Dirsch, Olaf Donjak, Torsten Duwe, RomanDrahtmüller, Thorsten Dubiel, Karl Eichwalder, Thomas Fehr, StefanFent, Werner Fink, Kurt Garloff, Carsten Groß, Andreas Grünbacher,Franz Hassels, Hendrik Vogelsang, Klaus Kämpf, Hubert Mantel, AnasNashif, Johannes Meixner, Lars Müller, Matthias Nagorni, Peter Pöml,Siegfried Olschner, Heiko Rommel, Marcus Schaefer, Klaus Singvogel,Klaus G. Wagner, Christian Zoz

Traducción: Inés Pozo MuñozRedacción: Jörg Arndt, Antje Faber, Berthold Gunreben, Roland Haidl, Jana Jaeger,

Edith Parzefall, Peter Reinhart, Thomas Rölz, Marc Rührschneck,Thomas Schraitle, Rebecca Walter

Diseño: Manuela Piotrowski, Thomas SchraitleComposición: LATEX

Este libro fue impreso sobre papel blanqueado 100 % libre de cloro.

Page 3: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Índice general

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Novedades del Manual de Administración . . . . . . . . . . . . . . . . 2

Los gráficos de la distribución SuSE 8.2 . . . . . . . . . . . . . . . . . . 3

Personal Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Professional Edition . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Convenciones tipográficas . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

I Instalación 7

1. La instalación 9

Instalación en modo texto con YaST2 . . . . . . . . . . . . . . . . . . . . 10

La pantalla de bienvenida . . . . . . . . . . . . . . . . . . . . . . . 10

La base: linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Iniciar SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Instalaciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Consejos y trucos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Crear un disquete de arranque bajo DOS . . . . . . . . . . . . . . . 22

Crear un disquete de arranque bajo un sistema tipo Unix . . . . . . 23

Arrancar con un disquete (SYSLINUX) . . . . . . . . . . . . . . . . 24

Arrancar con el CD 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 25

¿Soporta Linux mi lector CD-ROM? . . . . . . . . . . . . . . . . . 25

Page 4: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Un lector CD-ROM ATAPI se traba leyendo . . . . . . . . . . . . . 26

Particionar para usuarios avanzados . . . . . . . . . . . . . . . . . . . . 27

El tamaño de la partición de intercambio (swap) . . . . . . . . . . 28

Formas de uso del ordenador . . . . . . . . . . . . . . . . . . . . . 28

Posibilidades de optimización . . . . . . . . . . . . . . . . . . . . . 30

Configuración de LVM con YaST . . . . . . . . . . . . . . . . . . . . . . 32

Gestor de volúmenes lógicos (LVM) . . . . . . . . . . . . . . . . . . . . 33

Configurar el LVM con YaST2 . . . . . . . . . . . . . . . . . . . . . 34

LVM – Particionador . . . . . . . . . . . . . . . . . . . . . . . . . . 34

LVM – Configuración de los volúmenes físicos . . . . . . . . . . . 36

Volúmenes lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Soft-RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Niveles de RAID habituales . . . . . . . . . . . . . . . . . . . . . . 41

Configurar un Soft-RAID con YaST2 . . . . . . . . . . . . . . . . . 42

2. Actualización del sistema – Gestión de paquetes 45

Actualización de SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . 46

Preparativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Actualización con YaST2 . . . . . . . . . . . . . . . . . . . . . . . . 48

Actualización manual . . . . . . . . . . . . . . . . . . . . . . . . . 48

Actualización de paquetes individuales . . . . . . . . . . . . . . . 51

Cambio del software de una versión a otra . . . . . . . . . . . . . . . . . 51

De 7.0 a 7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

De 7.1 a 7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

De 7.2 a 7.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

De 7.3 a 8.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

De la 8.0 a la 8.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

De 8.1 a 8.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

RPM – El gestor de paquetes . . . . . . . . . . . . . . . . . . . . . . . . 56

Comprobar la autenticidad de un paquete . . . . . . . . . . . . . . 57

Instalar, actualizar y desinstalar paquetes. . . . . . . . . . . . . . . 58

Consultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Instalar y compilar los paquetes fuente . . . . . . . . . . . . . . . . 63

RPM y parches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Herramientas para los archivos RPM y la base de datos RPM . . . 67

iv Índice general

Page 5: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

II Configuración 69

3. YaST2 en modo texto (ncurses) 71

Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Trabajar con los módulos . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Arranque de módulos individuales . . . . . . . . . . . . . . . . . . . . . 74

La actualización online de YaST . . . . . . . . . . . . . . . . . . . . . . . 75

4. El proceso de arranque y el gestor de arranque 77

El proceso de arranque en un PC . . . . . . . . . . . . . . . . . . . . . . 78

Concepto de arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Ficheros map, GRUB y LILO . . . . . . . . . . . . . . . . . . . . . . . . . 80

Configuración del cargador de arranque con YaST2 . . . . . . . . . . . . 81

La ventana principal . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Opciones de configuración del cargador de arranque . . . . . . . . 82

Arrancar con GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

El menú . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Nombres para dispositivos de la BIOS . . . . . . . . . . . . . . . . 86

Instalación con GRUB shell . . . . . . . . . . . . . . . . . . . . . . 87

Información adicional . . . . . . . . . . . . . . . . . . . . . . . . . 87

Arrancar con LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Configuración de LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

El contenido del fichero lilo.conf . . . . . . . . . . . . . . . . . . . 89

Instalar y desinstalar LILO . . . . . . . . . . . . . . . . . . . . . . . 93

Crear un CD de arranque . . . . . . . . . . . . . . . . . . . . . . . . . . 95

CD de arranque con ISOLINUX . . . . . . . . . . . . . . . . . . . . 96

vSuSE Linux – Manual de Administración

Page 6: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5. El sistema X Window 99

Historia de XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

La versión 4.x de XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Configuración con xf86config . . . . . . . . . . . . . . . . . . . . . . . . 102

Optimizar la instalación del sistema X Window . . . . . . . . . . . . . . 111

Incorporar fuentes (TrueType) adicionales . . . . . . . . . . . . . . 117

Configuración de OpenGL/3D . . . . . . . . . . . . . . . . . . . . . . . 120

Hardware Soportado . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Herramienta de diagnóstico 3Ddiag . . . . . . . . . . . . . . . . . 123

Aplicaciones de prueba OpenGL . . . . . . . . . . . . . . . . . . . 123

Soporte de instalación . . . . . . . . . . . . . . . . . . . . . . . . . 124

Documentación online más ampliada . . . . . . . . . . . . . . . . . 124

6. Sonido con ALSA 125

Los tipos PCM fundamentales de ALSA . . . . . . . . . . . . . . . . . . 126

Parámetros de mezclado para las tarjetas Soundblaster Live y Audigy . 126

El mezclador envy24control . . . . . . . . . . . . . . . . . . . . . . . . . 127

Monitor y panel de conexiones de envy24control . . . . . . . . . . 127

Entradas y salidas analógicas . . . . . . . . . . . . . . . . . . . . . 128

Configuración de los canales S/PDIF . . . . . . . . . . . . . . . . . 128

Búfers y latencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

JACK Audio Connection Kit . . . . . . . . . . . . . . . . . . . . . . . . . 131

Grabar en el disco duro con Audacity . . . . . . . . . . . . . . . . . . . 132

Grabar e importar ficheros WAV . . . . . . . . . . . . . . . . . . . 132

Editar ficheros de audio . . . . . . . . . . . . . . . . . . . . . . . . 133

Guardar y exportar . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

arecord, aplay y qaRecord . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Compresión de datos de audio . . . . . . . . . . . . . . . . . . . . . . . 135

ALSA y MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Midi sin tarjeta WaveTable . . . . . . . . . . . . . . . . . . . . . . . . . . 143

El sintetizador de fuentes de sonido iiwusynth . . . . . . . . . . . 143

AlsaModularSynth: sintetizador y procesador de efectos . . . . . . . . . 146

vi Índice general

Page 7: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Parches que se reproducen de forma independiente . . . . . . . . . 146

AlsaModularSynth como procesador de efectos . . . . . . . . . . . 148

Parches del sintetizador . . . . . . . . . . . . . . . . . . . . . . . . 149

Todo bajo control con el Control Center . . . . . . . . . . . . . . . 149

El módulo MIDI Out . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Escribir ficheros WAV con el módulo WAV Out . . . . . . . . . . . 151

NoteEdit y secuenciador MIDI . . . . . . . . . . . . . . . . . . . . 151

7. Impresoras 153

Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Ejemplos de lenguajes de impresión estándar . . . . . . . . . . . . 154

Desarrollo de un trabajo de impresión . . . . . . . . . . . . . . . . 154

Distintos sistemas de impresión . . . . . . . . . . . . . . . . . . . . 157

Indicaciones generales para problemas de impresión . . . . . . . . 157

Requisitos para imprimir . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Requisitos generales . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Determinar el controlador de impresión correcto . . . . . . . . . . 159

La problemática de las impresoras GDI . . . . . . . . . . . . . . . . 160

Instalar una impresora con YaST . . . . . . . . . . . . . . . . . . . . . . . 163

Colas de impresión y configuración . . . . . . . . . . . . . . . . . . 163

Fundamentos de la configuración de impresoras con YaST2 . . . . 163

Configuración automática . . . . . . . . . . . . . . . . . . . . . . . 165

Configuración manual . . . . . . . . . . . . . . . . . . . . . . . . . 166

Configuración para aplicaciones . . . . . . . . . . . . . . . . . . . . . . 169

Imprimir desde la línea de comandos . . . . . . . . . . . . . . . . . 169

El sistema de impresión LPRng/filtro lpd . . . . . . . . . . . . . . 169

El sistema de impresión CUPS . . . . . . . . . . . . . . . . . . . . 170

Configuración manual de puertos locales . . . . . . . . . . . . . . . . . 170

Puertos paralelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Puerto USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

Puerto IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Puerto serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

viiSuSE Linux – Manual de Administración

Page 8: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Configuración manual de LPRng/lpdfilter . . . . . . . . . . . . . . . . . 178

El gestor de impresión LPRng . . . . . . . . . . . . . . . . . . . . . . . . 178

Herramientas de línea de comandos para LPRng . . . . . . . . . . . . . 180

Para colas de impresión locales . . . . . . . . . . . . . . . . . . . . 180

Para colas de impresión remotas . . . . . . . . . . . . . . . . . . . 182

El filtro de impresión del sistema LPRng/lpdfilter . . . . . . . . . . . . 184

Configuración del filtro de lpdfilter . . . . . . . . . . . . . . . . . . 186

Complementos para lpdfilter . . . . . . . . . . . . . . . . . . . . . 187

Buscar errores relacionados con lpdfilter . . . . . . . . . . . . . . . 193

Creación de filtros de impresión para LPRng . . . . . . . . . . . . . . . 194

Ejemplo sencillo para explicar los fundamentos del método detrabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Ejemplo de un filtro de impresión hecho a mano . . . . . . . . . . 197

El sistema de impresión CUPS . . . . . . . . . . . . . . . . . . . . . . . 198

Convenciones lingüísticas . . . . . . . . . . . . . . . . . . . . . . . 198

IPP y servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

Configuración del servidor CUPS . . . . . . . . . . . . . . . . . . . 200

Impresoras de red . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

Procesamiento interno de los trabajos . . . . . . . . . . . . . . . . . 202

Consejos y trucos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Herramientas de línea de comandos para sistemas de impresión CUPS . 205

Para colas de impresión locales . . . . . . . . . . . . . . . . . . . . 206

Para colas de impresión remotas . . . . . . . . . . . . . . . . . . . 208

Resolución de problemas en CUPS . . . . . . . . . . . . . . . . . . 209

Algo sobre Ghostscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Ejemplos de trabajo con Ghostscript . . . . . . . . . . . . . . . . . 211

Algo sobre a2ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

Ejemplos de trabajo con a2ps . . . . . . . . . . . . . . . . . . . . . 215

Modificar el formato PostScript con psutils . . . . . . . . . . . . . . . . 216

psnup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

pstops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

psselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

viii Índice general

Page 9: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Control de la pantalla con Ghostscript . . . . . . . . . . . . . . . . 221

Codificación de texto ASCII . . . . . . . . . . . . . . . . . . . . . . . . . 221

Ilustración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Imprimir en una red TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . 223

Aclaración de términos . . . . . . . . . . . . . . . . . . . . . . . . 224

Configuración rápida de un cliente . . . . . . . . . . . . . . . . . . 225

Resolución de problemas . . . . . . . . . . . . . . . . . . . . . . . 235

Servidor de impresión LPD y IPP . . . . . . . . . . . . . . . . . . . 239

Sólo con CUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

LPRng/lpdfilter y CUPS . . . . . . . . . . . . . . . . . . . . . . . . 239

8. Hotplug 241

Hotplug en Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

Arrancar Hotplug y Coldplug . . . . . . . . . . . . . . . . . . . . . . . . 242

USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

PCI y PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Otros dispositivos y el desarrollo posterior . . . . . . . . . . . . . . . . 246

9. Ordenadores portátiles – PCMCIA, APM, IrDA 247

PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

El hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

El software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

La configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

Configuración variable - SCPM . . . . . . . . . . . . . . . . . . . . 252

Si aún no funciona . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Instalación vía PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . 257

Utilidades adicionales . . . . . . . . . . . . . . . . . . . . . . . . . 258

Actualizar el paquete Kernel o PCMCIA . . . . . . . . . . . . . . . 258

Información adicional . . . . . . . . . . . . . . . . . . . . . . . . . 259

SCPM – System Configuration Profile Management . . . . . . . . . . . . 260

Fundamentos y conceptos básicos . . . . . . . . . . . . . . . . . . 260

El módulo SCPM de YaST2 y documentación adicional . . . . . . . 261

ixSuSE Linux – Manual de Administración

Page 10: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Configurar SCPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

Crear y administrar perfiles . . . . . . . . . . . . . . . . . . . . . . 262

Cambiar de un perfil a otro . . . . . . . . . . . . . . . . . . . . . . 263

Configuración avanzada del perfil . . . . . . . . . . . . . . . . . . 264

Selección de perfiles al arrancar . . . . . . . . . . . . . . . . . . . . 265

APM y ACPI – Powermanagement . . . . . . . . . . . . . . . . . . . . . 266

Funciones para el ahorro de energía . . . . . . . . . . . . . . . . . 267

APM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

El daemon APM (apmd) . . . . . . . . . . . . . . . . . . . . . . . . 269

Comandos adicionales . . . . . . . . . . . . . . . . . . . . . . . . . 271

ACPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Parar el disco duro . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

IrDA – Infrared Data Association . . . . . . . . . . . . . . . . . . . . . . 281

Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

Solución de problemas . . . . . . . . . . . . . . . . . . . . . . . . . 283

III El sistema 285

10. El kernel de Linux 287

Actualización del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

Las fuentes del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Configuración del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Módulos del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

Ajustes en la configuración del kernel . . . . . . . . . . . . . . . . . . . 293

Compilación del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

Instalación del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Limpieza del disco después de la compilación . . . . . . . . . . . . . . . 295

x Índice general

Page 11: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11. Características del sistema 297

Estándares de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

Filesystem Hierarchy Standard (FHS) . . . . . . . . . . . . . . . . . 298

Linux Standard Base (LSB) . . . . . . . . . . . . . . . . . . . . . . . 298

teTeX – TeX en SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . 298

Entornos de ejemplo para FTP y HTTP . . . . . . . . . . . . . . . . . . . 298

Observaciones sobre paquetes especiales . . . . . . . . . . . . . . . . . . 299

El paquete bash y /etc/profile . . . . . . . . . . . . . . . . . . . . 299

El paquete cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

Archivos de registro – el paquete logrotate . . . . . . . . . . . . . . 300

Páginas man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

El comando ulimit . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

El comando free . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

El fichero /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . 304

Configuración de GNU Emacs . . . . . . . . . . . . . . . . . . . . 304

Arrancar con initial ramdisk . . . . . . . . . . . . . . . . . . . . . . . . . 305

El concepto ”initial ramdisk” . . . . . . . . . . . . . . . . . . . . . 306

Procedimiento del arranque con initrd . . . . . . . . . . . . . . . . 306

Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

Uso de initrd en SuSE . . . . . . . . . . . . . . . . . . . . . . . . . 308

Posibles problemas – Kernel compilado a medida . . . . . . . . . . 309

El futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

El sistema de rescate de SuSE . . . . . . . . . . . . . . . . . . . . . . . . 315

Iniciar el sistema de rescate . . . . . . . . . . . . . . . . . . . . . . 318

Trabajar con el sistema de rescate . . . . . . . . . . . . . . . . . . . 319

Consolas virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Distribución del teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Configuración nacional – I18N/L10N . . . . . . . . . . . . . . . . . . . 323

xiSuSE Linux – Manual de Administración

Page 12: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12. El concepto de arranque de SuSE Linux 327

El programa init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

Los niveles de ejecución – ”Runlevel” . . . . . . . . . . . . . . . . . . . 329

Cambio de nivel de ejecución . . . . . . . . . . . . . . . . . . . . . . . . 331

Los scripts de inicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

El editor de niveles de ejecución de YaST2 . . . . . . . . . . . . . . . . . 334

SuSEconfig y /etc/sysconfig . . . . . . . . . . . . . . . . . . . . . . . . 335

Configuración del sistema con el editor Sysconfig de YaST2 . . . . . . . 337

Scripts y variables – Configuración del sistema . . . . . . . . . . . . . . 338

IV La red 371

13. Fundamentos de conexión a redes 373

TCP/IP - El protocolo de red utilizado por Linux . . . . . . . . . . . . . 374

Modelo de capas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

Direcciones IP y routing . . . . . . . . . . . . . . . . . . . . . . . . 378

Domain Name System . . . . . . . . . . . . . . . . . . . . . . . . . 381

IPv6 – La próxima generación de Internet . . . . . . . . . . . . . . . . . 382

El por qué del nuevo protocolo de Internet . . . . . . . . . . . . . . 382

Estructura de una dirección IPv6 . . . . . . . . . . . . . . . . . . . 384

Máscaras de red en IPv6 . . . . . . . . . . . . . . . . . . . . . . . . 386

Literatura y enlaces sobre IPv6 . . . . . . . . . . . . . . . . . . . . 387

El acceso a la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

Preparativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

Configuración de red con YaST2 . . . . . . . . . . . . . . . . . . . 388

Hotplug/PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

Configurar IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

Configuración manual de la red . . . . . . . . . . . . . . . . . . . . . . . 391

Ficheros de configuración . . . . . . . . . . . . . . . . . . . . . . . 392

Scripts de arranque (ingl. ()Startup-Scripts) . . . . . . . . . . . . . 399

Routing en SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

DNS – Domain Name Service . . . . . . . . . . . . . . . . . . . . . . . . 401

xii Índice general

Page 13: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Iniciar el servidor de nombres BIND . . . . . . . . . . . . . . . . . 401

El fichero de configuración /etc/named.conf . . . . . . . . . . . . 403

NIS – Network Information Service . . . . . . . . . . . . . . . . . . . . . 411

Servidor NIS-Master y Slave . . . . . . . . . . . . . . . . . . . . . . 411

El módulo del ciente NIS en YaST2 . . . . . . . . . . . . . . . . . . 413

NFS – Sistema de ficheros distribuidos . . . . . . . . . . . . . . . . . . . 415

Importar sistemas de ficheros con YaST2 . . . . . . . . . . . . . . . 415

Importación manual de sistemas de ficheros . . . . . . . . . . . . . 415

Exportar sistemas de ficheros con YaST2 . . . . . . . . . . . . . . . 416

Exportar manualmente sistemas de ficheros . . . . . . . . . . . . . 417

DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

El protocolo DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

Los paquetes de software DHCP . . . . . . . . . . . . . . . . . . . 420

El servidor DHCP: dhcpd . . . . . . . . . . . . . . . . . . . . . . . 420

Ordenador con dirección IP fija . . . . . . . . . . . . . . . . . . . . 422

Más información . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

14. Sincronización de ficheros 425

Software para sincronizar datos . . . . . . . . . . . . . . . . . . . . . . . 426

Inter-Mezzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

unison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

mailsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

Criterios para la elección de programa . . . . . . . . . . . . . . . . . . . 428

Cliente-servidor o igualdad de derechos . . . . . . . . . . . . . . . 428

Portabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

Interactivo o automático . . . . . . . . . . . . . . . . . . . . . . . . 428

Velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429

Conflictos: cuando aparecen y cómo resolverlos . . . . . . . . . . . 429

Seleccionar y añadir ficheros . . . . . . . . . . . . . . . . . . . . . . 429

Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

Cantidad de datos y requisitos de espacio . . . . . . . . . . . . . . 430

xiiiSuSE Linux – Manual de Administración

Page 14: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

Requisitos que debe cumplir el usuario . . . . . . . . . . . . . . . . 430

Seguridad frente a agresiones externas . . . . . . . . . . . . . . . . 431

Seguridad frente a pérdida de datos . . . . . . . . . . . . . . . . . 431

Introducción a InterMezzo . . . . . . . . . . . . . . . . . . . . . . . . . . 432

Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432

Configuración de un servidor InterMezzo . . . . . . . . . . . . . . 433

Configuración de clientes InterMezzo . . . . . . . . . . . . . . . . 434

Resolución de problemas . . . . . . . . . . . . . . . . . . . . . . . 435

Introducción a unison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

Campos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . 435

Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

Manejo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

Información adicional . . . . . . . . . . . . . . . . . . . . . . . . . 437

Introducción a CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

Campos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . 437

Configuración del servidor CVS . . . . . . . . . . . . . . . . . . . . 437

Manejo de CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

Información adicional . . . . . . . . . . . . . . . . . . . . . . . . . 440

Introducción a mailsync . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

Campos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . 440

Configuración y manejo . . . . . . . . . . . . . . . . . . . . . . . . 441

Posibles problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

Información adicional . . . . . . . . . . . . . . . . . . . . . . . . . 444

15. Redes heterogéneas 445

Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446

Instalación y configuración del servidor . . . . . . . . . . . . . . . 447

Samba como servidor de dominio . . . . . . . . . . . . . . . . . . . 451

Instalación de los clientes . . . . . . . . . . . . . . . . . . . . . . . 453

Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

Netatalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455

xiv Índice general

Page 15: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Configuración del servidor de ficheros . . . . . . . . . . . . . . . . 456

Configuración del servidor de impresión . . . . . . . . . . . . . . . 459

Arrancar el servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 460

Emulación de Novell Netware con MARSNWE . . . . . . . . . . . . . . 462

Iniciar el emulador de netware MARSNWE . . . . . . . . . . . . . 462

El fichero de configuración /etc/nwserv.conf . . . . . . . . . . . . 462

Administración de servidores Netware . . . . . . . . . . . . . . . . 465

Router de IPX mediante ipxrip . . . . . . . . . . . . . . . . . . . . 466

16. Internet 467

smpppd como asistente para la conexión telefónica . . . . . . . . . . . . 468

Componentes del programa para la conexión a Internet vía tele-fónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468

La configuración de smpppd . . . . . . . . . . . . . . . . . . . . . 468

Preparación de kinternet y cinternet para el uso remoto . . . . . . 469

Configuración de una conexión ADSL . . . . . . . . . . . . . . . . . . . 470

Configuración estándar . . . . . . . . . . . . . . . . . . . . . . . . 470

Conexión ADSL vía ”Dial-on-Demand” . . . . . . . . . . . . . . . 471

Servidor proxy: Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

¿Qué es un caché proxy? . . . . . . . . . . . . . . . . . . . . . . . . 472

Información general sobre cachés proxy . . . . . . . . . . . . . . . 473

Requerimientos del sistema . . . . . . . . . . . . . . . . . . . . . . 474

Arrancar Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

El fichero de configuración /etc/squid/squid.conf . . . . . . . . . 478

Configuración de un proxy transparente . . . . . . . . . . . . . . . 484

Squid y otros programas . . . . . . . . . . . . . . . . . . . . . . . . 487

Más información sobre Squid . . . . . . . . . . . . . . . . . . . . . 492

xvSuSE Linux – Manual de Administración

Page 16: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17. Seguridad en la red 493

Cortafuegos y masquerading . . . . . . . . . . . . . . . . . . . . . . . . 494

Fundamentos del masquerading . . . . . . . . . . . . . . . . . . . 494

Fundamentos del cortafuegos . . . . . . . . . . . . . . . . . . . . . 496

SuSEfirewall2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497

SSH – secure shell, la alternativa segura . . . . . . . . . . . . . . . . . . 500

El paquete OpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . . 501

El programa ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

scp – copiar con seguridad . . . . . . . . . . . . . . . . . . . . . . . 502

sftp - transmisión segura de datos . . . . . . . . . . . . . . . . . . . 503

El daemon SSH (sshd) – el lado del servidor . . . . . . . . . . . . . 503

Mecanismos de autentificación de SSH . . . . . . . . . . . . . . . . 504

”X” y autentificación remota . . . . . . . . . . . . . . . . . . . . . . 506

Autentificación en la red — Kerberos . . . . . . . . . . . . . . . . . . . . 507

Terminología de Kerberos . . . . . . . . . . . . . . . . . . . . . . . 508

¿Cómo funciona? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

Efectos de Kerberos a nivel de usuario . . . . . . . . . . . . . . . . 512

Información adicional sobre Kerberos . . . . . . . . . . . . . . . . 513

Instalación y administración de Kerberos . . . . . . . . . . . . . . . . . 514

Elección de Realms en Kerberos . . . . . . . . . . . . . . . . . . . . 514

Configuración del hardware KDC . . . . . . . . . . . . . . . . . . . 515

Sincronización del reloj . . . . . . . . . . . . . . . . . . . . . . . . 516

Configuración del registro . . . . . . . . . . . . . . . . . . . . . . . 517

Instalación del KDC . . . . . . . . . . . . . . . . . . . . . . . . . . 518

Configuración de los clientes Kerberos . . . . . . . . . . . . . . . . 520

Configuración de la administración remota . . . . . . . . . . . . . 524

Creación de principales de host en Kerberos . . . . . . . . . . . . . 526

Activación del soporte PAM para Kerberos . . . . . . . . . . . . . 527

Configuración de SSH para la autentificación con Kerberos . . . . 531

Utilización de LDAP y Kerberos . . . . . . . . . . . . . . . . . . . 532

La seguridad, una cuestión de confianza . . . . . . . . . . . . . . . . . . 535

Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 535

Seguridad local y seguridad en la red . . . . . . . . . . . . . . . . . 535

Trucos y consejos: indicaciones generales . . . . . . . . . . . . . . . 544

Informe a SuSE sobre nuevos problemas de seguridad . . . . . . . 547

xvi Índice general

Page 17: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

V Anexo 549

A. Sistemas de ficheros en Linux 551

Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551

Los sistemas de ficheros más importantes en Linux . . . . . . . . . . . . 552

Ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552

Ext3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553

ReiserFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

JFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555

XFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556

Otros sistemas de ficheros soportados . . . . . . . . . . . . . . . . . . . 557

Soporte de ficheros grandes en Linux . . . . . . . . . . . . . . . . . . . . 558

Más información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

B. Listas de control de acceso (ACLs) en Linux 561

¿Por qué ACLs? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562

Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563

Funcionamiento de las ACLs . . . . . . . . . . . . . . . . . . . . . . . . 563

Estructura de las entradas ACL . . . . . . . . . . . . . . . . . . . . 564

Entradas ACL y bits de permiso . . . . . . . . . . . . . . . . . . . . 565

Un directorio con access ACL . . . . . . . . . . . . . . . . . . . . . 566

Directorios con ACLs predeterminadas . . . . . . . . . . . . . . . . 569

Evaluación de una ACL . . . . . . . . . . . . . . . . . . . . . . . . 572

El futuro de las ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573

C. Página man de e2fsck 575

D. Manual-Page di reiserfsck 579

E. La licencia pública general GNU (GPL) 583

Bibliografía 593

xviiSuSE Linux – Manual de Administración

Page 18: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 19: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Introducción

El Manual de Administración le permite profundizar en la técnica de SuSE Linuxy conocer los detalles de la instalación, la administración del sistema y la confi-guración de componentes especiales. Además aprenderá los fundamentos teóri-cos de algunas particularidades de Linux, y en especial de SuSE Linux. Puedeencontrar, por ejemplo, información general acerca del sistema X Window, delconcepto de arranque, de la impresión o del kernel de Linux.

El trabajo con redes sigue siendo uno de los puntos fuertes de Linux. De ahí quese dedique una gran parte del manual a la teoría, la configuración y la adminis-tración de redes con sus distintos protocolos y servicios. Encontrará una grancantidad de información sobre protocolos, enrutadores, NFS y NIS, así como so-bre redes heterogéneas con Samba y Netatalk, y sobre proxies. En la parte finalse recoge un detallado capítulo sobre el tema de la seguridad en redes.

Descubrirá que SuSE Linux es sencillamente el mejor sistema operativo se mirepor donde se mire, desde la idea del movimiento Open Source hasta el concep-to de arranque y la sencillez de la instalación, pasando por el funcionamientoestable y seguro en red o la extremada flexibilidad del entorno X11.

Las versiones digitales de ambos manuales SuSE Linux están disponibles en elsistema instalado en la sección SuSE Linux de la Ayuda de SuSE.

Page 20: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Novedades del Manual de Administración

En este apartado encontrará un listado de los cambios que se han realizado en ladocumentación de la actual versión respecto a la anterior:

El capítulo dedicado a Kerberos ha sido completado en cuanto a la ins-talación y configuración (véase la sección Instalación y administración deKerberos en la página 514).

Se ha añadido información sobre la gestión de energía (”powermanage-ment”) en la sección APM y ACPI – Powermanagement en la página 266.

Puede encontrar instrucciones para configurar el editor Emacs en elapartado Configuración de GNU Emacs en la página 304.

Muchas otras secciones del manual han sido actualizadas para adaptarlasa las novedades de SuSE Linux 8.2.

Se ha eliminado el capítulo sobre la configuración de YaST. La informaciónha sido trasladada al Manual de Usuario o a los capítulos correspondientesdel Manual de Administración en el caso de temas específicos.

Los siguientes capítulos son totalmente nuevos:

• Un capítulo sobre las listas de control de acceso (Access Control Lists)en Linux B en la página 561.

• Información sobre ”smpppd” en la sección smpppd como asistentepara la conexión telefónica en la página 468.

• Información sobre la instalación de parches RPM en el aparta-do RPM y parches en la página 65.

• Una nueva sección sobre la sincronización de ficheros en el aparta-do Sincronización de ficheros en la página 425.

2 Novedades del Manual de Administración

Page 21: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Los gráficos de la distribución SuSE 8.2

Personal Edition

El gráfico de la edición personal muestra una superficie construida por WernerBoy en 1901, que representa una inserción del plano proyectivo real en el espa-cio tridimensional real. Para calcular la superficie con el software surf (véasehttp://surf.sourceforge.net ) se ha utilizado la ecuación:

36zy4 + 36x2z4 + 36x4z − 243x4y2 − 243x2y4 + 36z4y2 + 72x2zy2

−48√

2z3y3 + 72√

2y2z3x− 90y4z2 − 16y2z2 − 16z2x2 − 90z2x4

−81y6 − 24z6 + 48z5 − 32z4 + 64/9z3 − 81x6 − 180y2z2x2

−24√

2z3x3 + 48√

2y3z2 − 144√

2yz2x2 − 324√

2y4zx

−216√

2y2zx3 + 108√

2zx5 + 144√

2x2z3y = 0

En la URL http://www.OliverLabs.net/suse/ puede encontrar informa-ción adicional y además descargar el fichero surf utilizado para dibujar estasuperficie.

Professional Edition

El gráfico de la edición profesional es una quíntica construida por Stagnaro queposee cuatro puntos dobles de orden superior.

(x + z)2(y3 + w3) + (y + w)2(x3 + z3)+(8yzw + 8xzw + 8xyw + 8xyz)(y + w)(x + z)

+4y2w2(x + z) + 4x2z2(y + w) = 0

Para dibujar con el software surf (véase http://surf.sourceforge.net )la ecuación de proyección de la superficie con tetraedros simétricos, se uti-lizaron las coordenadas de tetraedros

x′ = z−1+√

2x, y′ = z−1−√

2x, z′ = −(z+1+√

2y), w′ = −(z+1−√

2y)

En la URL http://www.OliverLabs.net/suse/ puede encontrar información adicionaly además descargar el fichero surf utilizado para dibujar esta superficie.

3SuSE Linux – Manual de Administración

Page 22: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Convenciones tipográficas

En este manual se utilizan las siguientes convenciones tipográficas:

Convención Significado

YaST indica el nombre de un programa

/etc/passwd indica un fichero o un directorio

〈fichero〉 una sucesión de signos fichero que debeser sustituida por el valor correspondiente(incluidos los paréntesis)

PATH una variable de entorno con el nombre PATH

192.168.1.2 el valor de una variable

ls indica el comando que se debe introducir

usuario indica un usuario

tierra:~ # ls indica que se debe introducir el comando ls enla shell del usuario root , en el directorio delordenador ”tierra”

tux@tierra:~ > ls indica que se debe introducir el comando lsen la shell del usuario tux (nombre oficial delpingüino de Linux), en el directorio raíz delordenador ”tierra”

C:\> fdisk DOS-Prompt con la entrada del comandofdisk�� ��Alt tecla para pulsar; si están separadas por espa-cios en blanco se deben pulsar una detrás deotra�� ��Control +

�� ��Alt +�� ��Supr separadas por el signo ‘+’ se deben pulsar

simultáneamente

"Permission denied" mensajes del sistema

‘Actualizar sistema’ la opción de menú ‘Actualizar sistema’

”DMA-Modus” convenciones de nombres, definiciones y de losdenominados . . .

4 Convenciones tipográficas

Page 23: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Agradecimientos

La lista de todas las personas que han contribuido al éxito de esta distribuciónllenaría por sí sola todo un libro. Por tanto, agradecemos conjuntamente a todosaquellos que han aportado un esfuerzo infatigable, grandes cantidades de caféy de tabaco, incontables horas extra y noches sin dormir, por haber conseguidouna vez más una excelente distribución de SuSE Linux que supera a todas lasanteriores.

Los desarrolladores de Linux han hecho posible que Linux se convierta en unarealidad gracias a su trabajo voluntario y conjunto en todo el mundo. Les damoslas gracias por su dedicación, sin la cual no sería posible esta distribución. Tam-bién nos gustaría darles las gracias a Frank Zappa y Pawar.

Por último -pero no por eso menos importante- nuestro agradecimiento especiala Linus Torvalds.

Have a lot of fun!

Su equipo SuSE

5SuSE Linux – Manual de Administración

Page 24: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 25: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Parte I

Instalación

Page 26: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 27: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

La instalación

SuSE Linux puede instalarse de forma flexible atendiendo a las necesidades in-dividuales; las modalidades varían desde una instalación ”rápida” en modográfico hasta una instalación en modo texto donde se permite la interacción ma-nual.

A continuación sigue información sobre la distintas opciones de instalación, co-mo p. ej.la instalación en modo texto con YaST2 o el uso de diferentes medios deinstalación (CD-ROM, NFS). La descripción detallada de la instalación gráficaestándar se encuentra al principio del manual del usuario. En este capítulo seincluyen consejos respecto a problemas en la instalación así como instruccionespara solucionarlos. Al final del capítulo encontrará una sección que describe endetalle el proceso de particionamiento.

Instalación en modo texto con YaST2 . . . . . . . . . . . . . 10Iniciar SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . 17Instalaciones especiales . . . . . . . . . . . . . . . . . . . . 19Consejos y trucos . . . . . . . . . . . . . . . . . . . . . . . . 22Particionar para usuarios avanzados . . . . . . . . . . . . . 27Configuración de LVM con YaST . . . . . . . . . . . . . . . 32Gestor de volúmenes lógicos (LVM) . . . . . . . . . . . . . 33Soft-RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 28: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

AtenciónEn este manual de administración solamente puede encontrar opcionesespeciales de instalación. La descripción detallada de la instalación gráfi-ca estándar se encuentra al inicio del manual del usuario.

Atención

Instalación en modo texto con YaST2

Información adicional

Además de la instalación con interfaz gráfica también existe la posibilidad deinstalar SuSE Linux mediante los menús de texto de YaST2 (modo de consola).Todos los módulos YaST2 se encuentran disponibles también en modo texto. Elmodo texto se puede emplear sobre todo si no existe necesidad de un entornográfico (sistemas de servidor) o si la tarjeta gráfica no está soportada por el sis-tema X Window. Las personas ciegas que no pueden prescindir de una interfaztextual por supuesto también emplearán este modo texto.

La pantalla de bienvenida

Introduzca el CD1 en el dispositivo correspondiente y reinicie el ordenador. Siéste no arranca, es posible que tenga que cambiar el orden de arranque del orde-nador en la BIOS a CDROM,C,A.

Al cabo de unos instantes aparece la pantalla de bienvenida Tiene 10 segun-dos para elegir ‘Manual Installation’ con las teclas

�� ��↑ y�� ��↓ para que YaST2 no

arranque automáticamente. Indique en la línea boot options los parámetrosde arranque que su hardware pudiera requerir. Normalmente no es necesarioindicar parámetros especiales. Con el parámetro textmode=1 puede hacer queYaST2 utilice toda la pantalla en modo texto. A la hora de introducir texto, ten-ga en cuenta que en esta fase del proceso de arranque estará trabajando con unteclado norteamericano.

Las teclas�� ��F2 a

�� ��F5 le permiten definir la resolución de la pantalla para la insta-lación. Si lo desea, pulse

�� ��F2=texto para cambiar al modo de sólo texto y después�� ��↵ .

Ahora aparece una ventana con una indicación de progreso "Loading Linux ker-nel"; después arranca el kernel y se inicia linuxrc.

El programa linuxrc está basado en menús y espera las indicaciones del usuario.

10 Instalación en modo texto con YaST2

Page 29: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Posibles problemas

El resto de problemas durante el arranque suelen poder evitarse conparámetros del kernel. Para aquellos casos en los que DMA sea causa deproblemas, se ofrece la opción de inicio ‘Installation - Safe Settings’.

Si su unidad de CD-ROM (ATAPI) se cuelga al arrancar el sistema, con-sulte por favor el apartado Un lector CD-ROM ATAPI se traba leyendo en lapágina 26.

El CD1, que contiene un kernel optimizado para procesadores Pentium,no se reconoce como medio de arranque. Intente usar como alternativa el”disquete de arranque” o el CD2 (ver apartados Arrancar con un disquete(SYSLINUX) en la página 24 y Arrancar con el CD 2 en la página 25).

Con tarjetas gráficas como FireGL 1, 2 o 3 no se puede arrancar en modográfico. En este caso hay que realizar la instalación en modo texto. Por lotanto, seleccione

�� ��F2=Text en el menú de arranque.

Escoja la opción ‘Memory Test’, para comprobar el estado de la memoria,cuando aparezcan problemas ”imprevistos” al cargar el kernel o durantela instalación. ¡Linux plantea grandes exigencias al hardware y a la memo-ria, por lo que el timing debe configurarse sin ningún fallo! Más informa-ción en:

http://sdb.suse.de/en/sdb/html/thallma_memtest86.html

Se recomienda realizar la prueba de memoria por la noche.

La base: linuxrc

Con el programa linuxrc puede realizar ajustes para la instalación, y cargar loscontroladores que necesite como módulos de kernel. Al final linuxrc arrancará elprograma de instalación YaST2 y puede comenzar la verdadera instalación delsoftware de sistema y de las aplicaciones.

Con�� ��↑ y

�� ��↓ se selecciona un punto de menú, y con�� ��← y

�� ��→ se selecciona uncomando como ‘Aceptar’ o ‘Cancelar’. Con

�� ��↵ se ejecuta el comando. Unadescripción detallada de linuxrc se encuentra en el apartado linuxrc en la pági-na 310.

11SuSE Linux – Manual de Administración

Page 30: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 1.1: Selección del idioma

Configuración

El programa linuxrc se inicia automáticamente con la selección del idioma y dela distribución del teclado.

Elija un idioma para la instalación (p. ej. ‘Español’) y confirme con�� ��↵ .

Seleccione la distribución del teclado (p. ej.‘Español’).

Posibles problemas

linuxrc no ofrece la distribución del teclado deseada. En este caso selec-cione primero una distribución alternativa (en caso de dudas ‘English(US)’: después de la instalación puede cambiar a la distribución exactamediante YaST2.

Menú principal de linuxrc

Ahora nos encontramos en el menú principal de linuxrc (figura 1.2 en la páginasiguiente).

Aquí hay las siguientes opciones:

‘Configuración’ Aquí puede adaptar el idioma, la pantalla o el teclado. Esto yalo hemos hecho.

12 Instalación en modo texto con YaST2

Page 31: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Figura 1.2: Menú principal de linuxrc

‘Información del sistema’ En este punto hay gran cantidad de informaciónsobre el hardware, siempre que éste haya sido detectado por el kernel oaccedido por módulos ya cargados.

‘Módulos del Kernel (Driver)’ Aquí debe cargar los módulos adecuados parasu hardware. Además es posible optar por un sistema de ficheros alterna-tivo como ReiserFS.

Por regla general no es necesario elegir este punto de menú si tanto losdiscos duros como la unidad de CD (ATAPI) están conectados a una con-troladora (E)IDE, ya que el soporte para (E)IDE está integrado en el ker-nel. Puede encontrar más información sobre la selección de módulos en lasiguiente sección.

‘Iniciar la instalación / Sistema’ Aquí se pasa a la verdadera instalación.

‘Salir/Reiniciar’ Por si ha cambiado de idea. . .

‘Apagar’ Para parar y apagar el sistema.

13SuSE Linux – Manual de Administración

Page 32: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

La integración de hardware mediante módulos

La carga de módulos adicionales mediante la opción ‘Módulos de kernel(Drivers)’, se requiere para habilitar características especiales del sistema, comoel soporte para SCSI, tarjetas red o PCMCIA o en caso de no tener un lector deCDs tipo ATAPI. Últimamente también se han modularizado componentes co-mo IDE y añadido otros nuevos como p. ej. USB, FireWire o sistemas de ficheros.

La carga de módulos se explica en el apartado linuxrc en la página 310. En elsiguiente 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 controladora(E)IDE ni a la controladora SCSI. Esto afecta sobre todo a unidades an-tiguas de CD-ROM conectadas al ordenador a través de una controladorapropietaria.

Un módulo de red En el caso de que se realice la instalación a través de NFS oFTP – lo cual no se trata en este apartado, sino en el apartado Instalacióndesde una fuente en la ”red” en la página 19.

Uno o varios sistemas de ficheros p. ej. ReiserFS o ext3.

TrucoSi no se encuentra soporte para el medio de instalación usado (Tarje-ta PCMCIA, tarjeta de red, lector CD-ROM en controladora propia oen puerto paralelo) dentro de los módulos estándar, se puede recur-rir a los drivers adicionales de un disquete de módulos. La creación detal disquete está explicado Crear un disquete de arranque bajo DOS en lapágina 22. Diríjase al final de la lista,y seleccione allí la opción ‘-- Otrosmódulos --’; linuxrc pide en este caso el disquete de módulos.

Truco

Iniciar instalación

Como generalmente ya está seleccionado ‘Iniciar la instalación / Sistema’, sólotiene que pulsar

�� ��↵ para llegar a la auténtica instalación.

Aquí puede elegir entre los siguientes puntos:

‘Comenzar la instalación/actualización’ Supuestamente la opción que elegiráahora.

14 Instalación en modo texto con YaST2

Page 33: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Figura 1.3: Menú de instalación de linuxrc

‘Iniciar el sistema instalado’ Puede recurrir a este punto más adelante si sepresentan problemas con el cargador de arranque.

‘Iniciar sistema de rescate’ Aquí puede iniciar un sistema de rescate que leayudará en caso de problemas serios con el sistema instalado.

‘Expulsar CD’ Expulsar el CD de la unidad de CD.

Para llegar a la instalación pulse ahora�� ��Intro con el punto de menú ‘Comenzar

la instalación/actualización’ seleccionado. Después tiene que elegir el mediofuente; generalmente no hace falta hacer más que dejar el cursor en la preselec-ción: ‘CD-ROM’.

Pulse ahora�� ��↵ . Se inicia el entorno de instalación directamente del CD 1.

En cuanto haya terminado este proceso se inicia YaST2 en la versión de interfaztextual (ncurses). Después, respecto al contenido, la instalación continúa comose describe en ?, capítulo Instalación.

15SuSE Linux – Manual de Administración

Page 34: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 1.4: Selección del medio fuente linuxrc

Posibles problemas

No se detecta la controladora SCSI conectada:

• Intente cargar el módulo de un driver compatible.

• Emplee un kernel que tenga integrado el driver SCSI correspondien-te. Un kernel de estas características debe ser creado por usted.

La unidad de CD (ATAPI) se cuelga al leer: ver apartado Un lector CD-ROM ATAPI se traba leyendo en la página 26

En ciertas circunstancias pueden ocurrir problemas al cargar los datos aldisco RAM, dando como resultado que no se pueda cargar YaST2. En lamayoría de los casos con el procedimiento siguiente se obtiene una confi-guración que se pueda usar:

Seleccione en el menú ‘Configuración’ del menú principal de linuxrc ➝‘Debug (expertos)’; allí elija ‘Cargar imagen raíz (rootimage)’ (ingl. forceroot image) y responda no . Vuelva al menú principal y vuelva a comenzarla instalación.

16 Instalación en modo texto con YaST2

Page 35: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Iniciar SuSE Linux

Una vez completada la instalación, sólo queda decidir cómo quiere arrancarLinux en el día a día (Arrancar).

A continuación le ofrecemos un resumen de las distintas alternativas para ini-ciar Linux. La decisión de cuál de estos métodos de inicio es el más adecuadopara usted, depende sobre todo del propósito previsto.

Disquete de arranque Para arrancar Linux con el disquete de arranque. Estaposibilidad siempre funciona y no representa ningún trabajo. El disquetede arranque puede generarse con YaST2; véase ?, capítulo YaST2– Configu-ración, sección Crear un disco de arranque, rescate o módulos.

El disquete es una buena solución intermedia si no se tiene en el momen-to 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 dearranque puede representar una solución.

Linux Bootloader La solución más limpia desde un punto de vista técnico ymás universal, es el uso de un gestor de arranque de Linux, como GRUB(GRand Unified Bootloader) o LILO (LInux LOader), que permiten selec-cionar entre distintos sistemas operativos antes de arrancar. El gestor dearranque se puede instalar directamente durante la primera instalación desistema o bien más tarde, p. ej.mediante YaST2.

Aviso

Hay determinadas versiones de BIOS que comprueban la estructura delsector de arranque (MBR) y que emiten – por equivocación – la adver-tencia de presencia de virus después de la instalación de GRUB o LILO.Lo más sencillo para resolverlo es entrar en la BIOS y tratar de desacti-var la protección antivirus (‘Virus Protection’). – Una vez que Linux estéinstalado es posible activar esta característica de nuevo, pero si se usa elordenador exclusivamente con Linux tampoco hace falta.

Aviso

Se puede encontrar una amplia explicación sobre los diferentes métodos de ar-ranque y en especial sobre GRUB y LILO en el capítulo 4 en la página 77 ff.

17SuSE Linux – Manual de Administración

Page 36: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

La pantalla gráfica de SuSE

Desde la versión SuSE Linux 7.2 aparece una pantalla gráfica con el logo deSuSE en la consola 1, si como parámetro del kernel se ha activado la opción"vga=<valor>". En la instalación con YaST2 esta opción es anotada automáti-camente en correspondencia con la resolución seleccionada y la tarjeta gráficaempleada.

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

Con el siguiente comando

tierra:~ # echo 0x0f01 >/proc/splash

se enciende la pantalla gráfica nuevamente.

Desactivar la pantalla de SuSE definitivamente:

Para realizarlo se ha de añadir el parámetro de kernel splash=0 a la con-figuración del gestor de arranque. En el capítulo El proceso de arranque y elgestor de arranque en la página 77 encontrará más información.

Para trabajar en el modo texto habitual de las versiones anteriores de SuSELinux se puede escribir "vga=normal" .

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

TrucoAl desactivar el soporte de framebuffer dentro del kernel, el”Splash-Screen” se desactiva automáticamente. ¡SuSE no ofreceningún soporte en caso de haber compilado un kernel propio!

Truco

18 Iniciar SuSE Linux

Page 37: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Instalaciones especiales

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 setenga una unidad CD-ROM en un segundo ordenador (p. ej. un portátil) peroque sí se tenga una tarjeta Ethernet.

SuSE Linux ofrece también la posibilidad de instalar el sistema en un ordenadorsin soporte CD-ROM pero con una conexión de red Ethernet. En estos casos sesuele utilizar NFS o FTP vía Ethernet, que será lo que se describa a continua-ción.

Instalación desde una fuente en la ”red”

El soporte no cubre esta vía de instalación, por lo que sólo los usuarios experi-mentados deberían usar este método.

Para instalar SuSE Linux a través de una fuente en la red, son necesarios dospasos:

1. Depositar los datos necesarios para la instalación (CDs, DVD) en un orde-nador que actuará posteriormente como fuente de la instalación.

2. Arrancar el sistema que se va a instalar con un disquete o CD y configurarla red.

Crear una fuente de instalación en la red

Para crear la autorización de acceso a la red, copie los CDs de instalación a di-rectorios individuales y guarde éstos en un sistema con prestaciones de servidorNFS. Por ejemplo, puede utilizar el siguiente comando para copiar cada CD enun ordenador con SuSE Linux:

tierra:/ # cp -a /mnt/cdrom /suse-share/

Después cambie el nombre del directorio (por ejemplo a ”CD1”):

tierra:/ # mv /suse-share/cdrom /suse-share/CD1

Repita este procedimiento para el resto de CDs. Finalmente, liberalice el direc-torio /suse-share mediante NFS ; véase la sección NFS – Sistema de ficherosdistribuidos en la página 415.

19SuSE Linux – Manual de Administración

Page 38: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Arrancar para instalar a través de la red

Introduzca el medio de arranque en la unidad correspondiente. En las seccionesCrear un disquete de arranque bajo DOS en la página 22 y Crear un disquete de ar-ranque bajo un sistema tipo Unix en la página 23 se describe cómo crear un dis-quete de arranque. Poco después aparecerá el menú de arranque. Seleccioneaquí la entrada ‘Instalación Manual’. En este punto también puede añadirparámetros para la instalación. Confirme la selección con

�� ��Intro . El kernel se car-gará y se le pedirá que introduzca el primer disquete de módulos.

A continuación aparece linuxrc y tendrá que definir algunos parámetros:

1. Seleccione el idioma y la distribución del teclado en linuxrc.

2. Seleccione ‘Módulos del kernel (controladores de hardware)’.

3. Si su sistema lo requiere, cargue los controladores IDE, RAID o SCSI nece-sarios.

4. Seleccione ‘Cargar controlador de red’ y cargue el controlador de rednecesario en su caso (p. ej.eepro100 ).

5. Seleccione ‘Cargar controlador para el sistema de ficheros’ y cargue el con-trolador requerido (p. ej.reiserfs ).

6. Seleccione ‘Atrás’ y a continuación ‘Iniciar instalación / sistema’.

7. Seleccione ‘Iniciar instalación / actualización’.

8. Seleccione ‘Red’ y NFScomo protocolo de red.

9. Seleccione la tarjeta de red que quiere utilizar.

10. Introduzca las direcciones IP y la información adicional de red.

11. Introduzca la dirección IP del servidor NFS que proporciona los datospara la instalación.

12. Introduzca la ruta al recurso compartido NFS (p. ej./suse-share/CD1 ).

linuxrc carga de la fuente de red el entorno de instalación y a continuación iniciaYaST2.

Finalice la instalación como se describe en ?, Capítulo Instalación.

20 Instalaciones especiales

Page 39: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Posibles problemas

La instalación termina antes de haber comenzado realmente: El directoriode instalación del ”otro” ordenador no se ha sido exportado con derechosde ejecución (exec ) – modifíquelo.

El servidor desconoce en qué ordenador se ha de instalar SuSE Linux. In-troduzca en el fichero /etc/hosts del servidor, el nombre y la direcciónIP del nuevo ordenador.

21SuSE Linux – Manual de Administración

Page 40: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Consejos y trucos

Crear un disquete de arranque bajo DOS

Requisitos

Se necesita un disquete HD de 3.5 pulgadas formateado y la disquetera corres-pondiente que permita el arranque.

Información adicional

En el directorio boot del CD 1 se encuentran algunas representaciones o imá-genes (images) de disquetes (images). Estas imágenes pueden copiarse en dis-quetes utilizando los programas de ayuda adecuados. Las disquetes pasan allamarse entonces disquetes de arranque. Estas imágenes de disquete contienentambién el ”Loader” Syslinux y el programa linuxrc. El programa Syslinux per-mite seleccionar un kernel durante el arranque y pasar parámetros al hardware.El programa linuxrc presta asistencia cuando se cargan módulos del kernel espe-ciales para el hardware y finalmente inicia la instalación.

Procedimiento

Para crear los disquetes de arranque y de los módulos se usa el programa DOSrawrite.exe (CD 1, \dosutils\rawrite ). Para esto se necesita un ordenadorcon DOS (p. ej. FreeDOS) o Windows instalado.

A continuación se describen los pasos que tiene que seguir si trabaja con Win-dows:

1. Introduzca el CD 1 de SuSE Linux.

2. Abra una ventana de DOS (en el menú Start bajo ‘Programas’ ➝ ‘MS-DOSPrompt’).

3. Ejecute el programa rawrite.exe con la ruta correcta del lector de CD. Enel siguiente ejemplo Usted se encuentra en el disco duro C: , en el directo-rio Windows y el lector de CD tiene asignada la letra D: .

C:\Windows> d: \ dosutils \ rawrite \ rawrite

4. Después de arrancar, el programa solicita el tipo de fuente (ingl. source)y el destino (ingl. destination) del fichero a copiar. En nuestro ejemplose trata del disquete de arranque que pertenece a nuestro juego de CDscuya imagen se encuentra en el CD 1 en el directorio \boot . El nombre

22 Consejos y trucos

Page 41: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

de fichero es sencillamente bootdisk . No olvide indicar aquí también laruta del lector de CD.

C:\Windows> d: \ dosutils \ rawrite \ rawriteRaWrite 1.2 - Write disk file to raw floppy disketteEnter source file name: d:\boot\bootdisk

Enter destination drive: a:

Después de indicar como destino a: rawrite le solicita introducir un disqueteformateado y pulsar

�� ��Enter . A continuación se muestra el progreso del procesode copiar. Es posible interrumpir la acción pulsando

�� ��Control +�� ��c .

De la misma manera puede crear los otros disquetes modules1 , modules2 ,modules3 y modules4 . Los necesita si tiene dispositivos SCSI, USB, una tarjetade red o una tarjeta PCMCIA, y quiere acceder a éstos durante el proceso deinstalación. El disquete de módulos puede resultar también muy útil si quiereutilizar un sistema de ficheros especial ya durante la instalación.

Crear un disquete de arranque bajo un sistema tipo Unix

Requisitos

Dispone de un sistema Linux o tipo Unix equipado con un lector CD-ROM;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. Cambiar al directorio boot 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

En el fichero READMEen el directorio boot puede encontrar más infor-mación sobre las imágenes de disquetes. Puede visualizar este fichero conmore o less .

23SuSE Linux – Manual de Administración

Page 42: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

De la misma manera puede crear los otros disquetes modules1 , modules2 ,modules3 y modules4 . Los necesita si tiene dispositivos SCSI, USB, una tarjetared o PCMCIA y quiere acceder a estos durante el proceso de instalación. El dis-quete de módulos puede resultar también muy útil si quiere utilizar un sistemade ficheros especial durante la instalación.

El asunto se complica un poco si durante la instalación se quiere utilizar unkernel que ha compilado usted mismo. En este caso se copia primero la ima-gen estándar (bootdisk ) en el disquete y se sobreescribe el kernel del disquete(linux ) con el kernel propio (véase el apartado Compilación del kernel en la pági-na 293):

tierra:~ # dd if=/media/cdrom/boot/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

Arrancar con un disquete (SYSLINUX)

El ”disquete de arranque” puede utilizarse siempre que existan requisitosespeciales a la hora de realizar la instalación (p. ej.unidad de CD-ROM nodisponible). Para ver cómo se crea un disquete de arranque, consulte las sec-ciones Crear un disquete de arranque bajo DOS en la página 22 o Crear un disquetede arranque bajo un sistema tipo Unix en la página anterior.

El proceso de arranque es iniciado por el cargador de arranque SYSLINUX (pa-quete syslinux ). SYSLINUX está configurado de tal modo que durante el ar-ranque se lleva a cabo una pequeña detección de hardware.Esta consta básica-mente de los siguientes pasos:

Comprobar si la BIOS soporta un framebuffer adecuado para VESA 2.0 ysi el kernel puede arrancarse en consecuencia.

Evaluar los datos del monitor (información DDC).

Se lee el primer bloque del primer disco duro (”MBR”) para definir poste-riormente la asignación de BIOS IDs a los nombres de dispositivos Linux(ingl. devices) durante la configuración de LILO. Durante este procedimien-to se intenta leer el bloque a través de las funciones lba32 de la BIOS paraver si la BIOS soporta estas funciones.

24 Consejos y trucos

Page 43: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Truco

Si la tecla�� ��Mayús o

�� ��Shift está pulsada durante el inicio de SYSLINUX, sesaltará estos pasos.

Para faciliar la búsqueda de errores es posible insertar la línea

verbose 1

en el fichero syslinux.cfg . De esta forma el cargador de arranquesiempre informa sobre qué acción se va a llevar a cabo a continuación.

Truco

Posibles problemas

Si el ordenador no quiere arrancar desde el disquete, puede que tenga quecambiar previamente el orden de arranque en la BIOS a A,C,CDROM.

Arrancar con el CD 2

Además de con el CD 1, también es posible arrancar con el segundo CD. Mien-tras que el CD 1 trabaja con una imagen ISO arrancable, el CD 2 arranca me-diante una imagen de disco de 2,88 MB.

Utilice el CD 2 en aquellos casos en los que sabe que, aunque se puede arran-car desde un CD, no es posible hacerlo con el CD 1 (solución alternativa o ”fall-back”).

¿Soporta Linux 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 sólo importa que la controladora SCSI,que lleva la conexión al CD-ROM, sea soportada por Linux. Hay una listade controladoras soportadas en la base de datos de componentes CDB(http://cdb.suse.de/ ). Si no encuentra soporte para su controladoraSCSI y el disco duro está conectado a la misma, entonces tiene un proble-ma . . .

25SuSE Linux – Manual de Administración

Page 44: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

También hay muchos lectores CD-ROM propietarios que funcionan conLinux. No obstante, pueden presentarse problemas con este grupo de dis-positivos. Si no se menciona explícitamente su lector, se puede probar conuno similar del mismo fabricante.

Los lectores CD-ROM USB también están soportados. Si la BIOS de su or-denador todavía no soporta el arranque de dispositivos USB, debe iniciarla instalación a través de un disquete de arranque. Puede encontrar másinformación al respecto en la sección Arrancar con un disquete (SYSLINUX)en la página 24. Antes de arrancar desde el disquete, asegúrese de que losdispositivos USB están conectados y encendidos.

Un lector CD-ROM ATAPI se traba leyendo

Cuando no se reconoce bien un lector CD-ROM ATAPI o él mismo se trabaleyendo, 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)IDEdeben estar conectados en fila, es decir, que el primer dispositivo es el master enel primer canal y el segundo es el esclavo. El tercer dispositivo debe ser entoncesmaster en el segundo canal y el cuarto allí el esclavo.

En realidad resulta que muchas computadoras solamente contienen un dis-co duro y un CD-ROM que se encuentra entonces como master en el segundocanal. En algunas ocasiones Linux no maneja bien este vacío. Muchas veces sepuede ayudar al kernel introduciendo un parámetro adicional (hdc=cdrom .

También puede ocurrir que un dispositivo tenga los ”jumpers” mal colocados;esto quiere decir que está configurado como esclavo pero se encuentra comomaster en el segundo canal o viceversa. En caso de duda es recomendable com-probar y eventualmente corregir estas configuraciones.

Aparte de esto, hay una serie de ”chipsets” EIDE defectuosos que en gran parteya se conocen y el kernel contiene código para solventar los problemas. Existeun kernel especial para estos casos (ver el READMEen /boot del CD–ROM deinstalación).

Si no se puede arrancar en un principio, se puede probar con los siguientesparámetros del kernel:

hd〈x 〉=cdrom 〈x〉 simboliza a, b, c , d etc. y tiene el siguiente significado:

a – Maestro en la 1ª controladora IDE

b – Esclavo en la 1ª controladora IDE

c – Maestro en la 2ª controladora IDE

26 Consejos y trucos

Page 45: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

. . .

Ejemplo para 〈Parámetro a introducir〉: 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 〈x 〉=noautotune 〈x〉 simboliza 0, 1, 2, 3 etc. y tiene el siguiente significa-do:

0 – 1ª controladora IDE

1 – 2ª controladora IDE

. . .

Ejemplo para 〈Parámetro a introducir〉: ide0=noautotune

Este parámetro ayuda normalmente en combinación con discos duros deltipo (E)IDE.

Particionar para usuarios avanzados

En el capítulo de instalación estándar (véase ?) se ha comentado brevementecómo particionar el sistema. El presente apartado quiere proporcionar informa-ción detallada con la cual se pueda crear un esquema de partición optimizadopara el sistema. Es además especialmente interesante para aquellos que quieranconfigurar el sistema de manera óptima, respecto a seguridad y velocidad y queestán – según las circunstancias – dispuestos a crear todo desde cero. ¡Arrasarcon 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 delas particiones lógicas y extendidas, se deben haber entendido.Al principio es importante destacar que no existe un solo camino óptimo paratodos 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 aplica-ciones Compute-Server, estación de trabajo)?

¿Cuántas personas trabajarán en el ordenador (contado en logins simultá-neos)?

¿Cuántos discos duros tiene el ordenador, qué tamaño tienen y qué tipode interfaz (EIDE, SCSI o una controladora RAID)?

27SuSE Linux – Manual de Administración

Page 46: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El tamaño de la partición de intercambio (swap)

Todavía se puede leer en muchas partes: ”La cantidad de Swap debe ser comomínimo el doble de la de RAM”. Esta regla pertenece a la época en la cual 8 MBde RAM eran suficiente. Estos tiempos han pasado. La persona que compra hoyen día un ordenador con menos de 64 MB ha sido muy mal aconsejada. Volvien-do a la regla anterior: El fin era conseguir un ordenador con cerca de 30 a 40 MBde Memoria virtual, es decir, de RAM más swap.

Con las aplicaciones modernas, hambrientas de memoria, hay que corregir es-tos valores hacia arriba. Normalmente 128 MB de memoria virtual es suficiente,pero es mejor no ser tacaño a este respecto. Si se compila el kernel en el entornoKDE y se miran las páginas de ayuda con Netscape mientras que en algún lu-gar se ejecuta Emacs, con 128 MB de memoria virtual no se dispone de muchasreservas.

Esto significa que al usuario normal le bastará con 256 MB de memoria virtuala medio plazo. Lo que no se debería hacer, bajo ningún pretexto, es no propor-cionar ningún tipo de memoria swap. Incluso una máquina con 256 MB RAMdebería tener una zona de swap. No obstante, es suficiente con 64 MB de memo-ria swap para cubrir las necesidades básicas. La razón para ello se detalla en elapartado Tasa de transferencia a discos y tamaño de memoria en la página 32.

En el caso de que ejecute simulaciones con gasto de memoria del orden de giga-bytes, puede que necesite mucha memoria swap. Si se tienen dudas acerca desi Linux puede soportar o no semejante carga, se aconseja leer el apartado Usocomo servidor en la página 30 (tipo de uso: Compute-Server).

Formas de uso del ordenador

Como estación de trabajo autónoma

Este es el tipo de uso más frecuente de un ordenador con Linux. Para poder ori-entarse con valores concretos, hemos compilado un par de configuraciones deejemplo, que pueden ser usadas según sea necesario, en casa o en la empresa.Los espacios requeridos para un determinado tipo de instalación se encuentranen la tabla 1.1 en la página siguiente

Naturalmente estos valores se incrementan si se quiere guardar ficheros adi-cionales, 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. Eneste caso genere una partición de intercambio (swap) de 64 MB y reserve el restopara la partición root / .

28 Particionar para usuarios avanzados

Page 47: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Instalación espacio necesario en discomuy pe-queña

180 MB hasta 400 MB

pequeña 400 MB hasta 1500 MBmediana 1500 MB hasta 4 GBgrande más de 4 GB

Cuadro 1.1: Ejemplos de tamaños de instalación

Estación de trabajo estándar (promedio)

Le quedan 1,5 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 restopara una partición /home aparte.

Estación de trabajo (lujo)

Si tiene 1,5 GB o incluso más en varios discos, entonces no existe ninguna for-ma estándar de particionar. A este respecto consulte el apartado Posibilidades deoptimización en la página siguiente.

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 cuen-ta la potencia del disco (SCSI, SCSI Ultra Wide, revoluciones, etc.) y de la con-troladora. Un servidor de ficheros ofrece la posibilidad de almacenar datos demanera centralizada. Se puede tratar de directorio de usuario (directorios deusuario), de una base de datos o de otros ficheros diversos. La ventaja es básica-mente una administración simplificada. Si el servidor de ficheros debe trabajaren una red amplia (a partir de 20 usuarios) la optimización del acceso al disco esesencial.

Supongamos que se quiere configurar un servidor de ficheros de base Linuxpara servir con los directorios personales a 25 usuarios. Se calcula que cadausuario ocupará un máximo de 100-150 MB para sus datos personales. Una par-tición de 4 GB para montar /home es suficiente, suponiendo que los usuarios nosiempre compilan en su directorio personal (home). Con 50 usuarios, el simplecálculo indica que es suficiente con una partición de 8 GB. En realidad resultamejor montar /home en dos discos de 4 GB, porque éstos se distribuyen entre síla carga y el tiempo de acceso.

29SuSE Linux – Manual de Administración

Page 48: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Truco¡La memoria intermedia (caché) de un navegador web se debe encontrarsobre un disco duro local!

Truco

Uso como servidor

Un servidor (Compute-Server) es generalmente un ordenador potente que seencarga de tareas de cálculo grandes en una red. Típicamente una máquinade estas características tiene mucha memoria (a partir de 512 MB). El cuello debotella se encuentra aquí, en las particiones de swap. En este caso también cuen-ta que es mejor distribuir varias particiones swap en varios discos.

Posibilidades de optimización

Generalmente los discos duros son el factor limitador. Existen tres posibilidadesdiferentes (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).

Paralelizar con varios discos

Hay que explicar el primer método con más detenimiento. El tiempo total quetranscurre hasta que se pueden proporcionar los datos pedidos a un disco, seconstituye (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.

30 Particionar para usuarios avanzados

Page 49: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

El punto 1 depende de la conexión a la red, se regula allí y no nos debe ocuparahora. El tiempo mencionado en el punto 2 es muy corto y depende de la con-troladora misma. Los puntos 3 y 4 suelen ser los más espinosos, ya que se tratade un tiempo que se mide en ms. Comparado con los tiempos de acceso a lamemoria RAM, que son del orden de ns, hablamos de un factor de 1 millón(!). Elpunto 4 depende de las revoluciones del disco y suele sumar varios ms. El pun-to 5 de esas revoluciones y de la cantidad y posición actual de los cabezales (enla zona interior o exterior del disco).

Lo mejor para un buen rendimiento es entonces ”atacar” en el punto 3. Los dis-cos 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 aldispositivo 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 queponer en marcha. Si el disco es inteligente (o maneja ”disconnect”) y el driver dela controladora también conoce esta característica, entonces la controladora deldisco envía inmediatamente la orden ”disconnect” y el disco se separa del busSCSI. A partir de ahora, otros dispositivos SCSI pueden llevar a cabo la transfer-encia de datos. Después de un rato (dependiendo de la estrategia o de la cargaen el bus SCSI), se reanudará la conexión al disco duro. En el caso ideal, éste yahabrá llegado con su cabezal a la posición de lectura deseada.

En un sistema multitarea y multiusuario como Linux, quedan muchas posibil-idades para optimizar. Se puede observar entonces el resultado de la salida delcomando df (ver la salida en pantalla 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/libshmfs 185M 0 184M 0 % /dev/shm

Mensaje en pantalla 1: Salida de ejemplo del comando df

¿Qué ventaja proporciona esta paralelización? Supongamos que se introduce en/usr/src lo siguiente:

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, lashell invoca los programas tar y gzip (se encuentran en /bin y por lo tanto sobre

31SuSE Linux – Manual de Administración

Page 50: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

/dev/sda ), después se lee package.tar.gz desde /usr/src (se encuen-tra 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 sepuede decir que /usr y /usr/lib se deben encontrar en diferentes discos si setrata de un sistema de varios discos igual de rápidos. La ruta /usr/lib debetener cerca del 70 % de la capacidad de /usr . Por la gran cantidad de accesos esconveniente 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 considerarseriamente una solución RAID por software o (mejor) la adquisición de una con-troladora RAID. Con ella, las operaciones en los discos se ejecutarán no solo demanera casi–paralela sino realmente de forma paralela. La tolerancia respecto afallos 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 puederesultar 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 generarbúferes dinámicos con datos del disco duro. Haciendo esto, Linux usa muchostrucos sofisticados como ”read ahead” (saca sectores adicionales del disco co-mo provisión para el futuro) y ”delayed write” (ahorra grabar datos para luegoguardar una mayor cantidad de información de una sola vez). Esto último esla razón por la cual no se puede simplemente apagar un ordenador con Linux.Ambos trucos son los responsables del hecho que la memoria aparezca con eltiempo más llena y de que Linux sea tan rápido.; ver también apartado El co-mando free en la página 303

Configuración de LVM con YaST

Con esta herramienta de particionamiento para expertos podrá editar parti-ciones ya existentes, borrarlas o crear nuevas particiones. También la ofrece laposibilidad de configurar un Soft-RAID o LVM.

AtenciónPuede encontrar información más detallada y consejos para particionaren el capítulo Particionar para usuarios avanzados en la página 27.

Atención

32 Configuración de LVM con YaST

Page 51: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Aunque todas las particiones se configuran durante la instalación, si deseaañadir un disco duro tendrá que particionar primero el disco nuevo, formateary montar las particiones para posteriormente darles de alta en /etc/fstab . Esposible que sea necesario mover algunos datos al disco nuevo, p. ej. para moveruna 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 ese momento. Aunque en principio es posible, es necesario arran-car el sistema inmediatamente después de realizarlo, por lo que arrancar desdeCD y reparticionar conlleva mucho menos riesgo.

El botón ‘Opciones Experto’ dentro del particionador abre un menú con las si-guientes opciones:

Reset and Re-Read Leer nuevamente las particiones del disco duro. Se necesitap. 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 antiguasirve para instalar el sistema nuevamente en lugar de actualizarlo. Leyen-do la fstab antigua no hace falta introducir los puntos de anclaje man-ualmente.

Delete old Partition Table Borrar la tabla de particiones completamente.Puede ser útil en caso de tener p. ej. problemas con ciertos formatos dedisco extraños; todos los datos en el disco duro se pierden.

Gestor de volúmenes lógicos (LVM)

El gestor de volúmenes lógicos (ingl. Logical Volume Manager (LVM)) per-mite distribuir el espacio del disco de forma flexible en diferentes sistemas deficheros. El LVM se desarrolló por la dificultad que supone modificar las parti-ciones en un sistema en ejecución. LVM pone en común un depósito o ”pool”virtual (Volume Group – abreviado VG) de espacio en disco. De este VG se for-man los volúmenes lógicos en caso necesario. El sistema operativo accede en-tonces a éstos en lugar de acceder a las particiones físicas.

Particularidades:

Es posible juntar varias particiones o discos para formar una gran parti-ción lógica.

Si un LV se queda (p. ej. /usr ) sin espacio, es posible aumentar su tamañosi está correctamente configurado.

33SuSE Linux – Manual de Administración

Page 52: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

LVM permite añadir discos duros o LV incluso cuando el sistema está enmarcha. Esto requiere, evidentemente, hardware que se pueda cambiar encaliente (hot swap).

Es posible utilizar varios discos duros en modo RAID 0 (striping) con elconsiguiente incremento de rendimiento.

La función ”snapshot” permite, sobre todo en servidores, realizar copiasde seguridad coherentes mientras el sistema está en funcionamiento.

El uso de LVM vale la pena ya a partir de PCs domésticos muy utilizados o enservidores pequeños. LVM resulta ideal para un volumen de datos crecientecomo p. ej. en el caso de bases de datos, colecciones de MP3, directorios de usu-arios, etc. En tal caso es posible configurar sistemas de ficheros más grandes queun solo disco duro. Otra ventaja del LVM es la de poder crear hasta 256 LVs. Sinembargo, es importante considerar que el trabajo con el LVM se diferencia mu-cho del trabajo con particiones convencionales.

Puede encontrar información en inglés sobre la configuración del gestor devolúmenes lógicos en el HowTo oficial de LVM o en un white paper de SuSE:

http://www.sistina.com/lvm/Pages/howto.html

http://www.suse.com/us/support/oracle/

Configurar el LVM con YaST2

La configuración del LVM mediante YaST2 se activa seleccionando ‘Particionarcon LVM’ en el primer paso de la preparación del disco duro durante la insta-lación. En la siguiente pantalla, haga clic en ‘(’Desechar) o en ‘(’Modificar), traslo cual debe crear una partición para LVM. Para ello, elija ‘(’Crear) ➝ ‘(’No for-matear) y allí escoja el punto ‘(’0X8e Linux LVM). Puede realizar la partición conLVM directamente o más tarde sobre el sistema instalado, para lo cual deberámarcar la partición LVM en el particionador y luego pulsar en ‘(’LVM...).

LVM – Particionador

Tras haber escogido ‘(’LVM...) en el particionador, aparecerá un primer diálogoen el que puede modificar las particiones de su disco duro; le permite borrar omodificar particiones existentes, así como crear otras nuevas. Las particionesque formarán parte del LVM debe llevar el indicador 8E y estar marcadas con eltexto ”Linux LVM” en de la lista de particiones (ver último apartado).

34 Gestor de volúmenes lógicos (LVM)

Page 53: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Figura 1.5: YaST2: Activar LVM durante la instalación

Truco

Reparticionar volúmenes lógicos

Al principio de los volúmenes físicos o PVs, se escribe información sobreel volumen en la partición. De esta forma, el PV ”sabe” a qué grupo devolumen pertenece. Si desea volver a particionar, se recomienda borrarel inicio de estos volúnenes. Por ejemplo, en el caso de un grupo de vol-umen ”system” y un volumen físico ”/dev/sda2”, esto se realiza con elcomando dd if=/dev/zero of=/dev/sda2 bs=512 count=1

Truco

No hace falta que configure uno por uno el indicador 8E para todas las parti-ciones que compondrán el LVM, ya que YaST2 se ocupa de modificar el indi-cador de una partición integrante de un grupo de volúmenes cuando es nece-sario.

Si hay espacios sin particionar en el disco duro, es recomendable crear parti-ciones LVM para todas estas zonas y asignarles inmediatamente el indicador 8E.Estas particiones no tienen que ser formateadas y no se puede indicar ningúnpunto de anclaje para ellas.

Si tuviera instalado un LVM válido en la máquina, éste se activaría automática-mente al comienzo de la configuración de LVM. Después de esta activación yano se pueden modificar las particiones de ningún disco duro que albergue una

35SuSE Linux – Manual de Administración

Page 54: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 1.6: YaST2: Particionador LVM

partición integrante de un grupo de volúmenes (VG) activado. El kernel de Li-nux deniega el permiso para leer la tabla de particiones modificada de un discoduro mientras alguna partición de este disco esté en uso.

Aquellos discos que no forman parte de un grupo de volúmenes LVM sepueden reparticionar sin problemas, pero al disponer ya de una configuraciónválida de LVM, normalmente no hace falta cambiar las particiones. En la pan-talla actual debe configurar todos los puntos de anclaje que no estén vinculadosal LVM. YaST2 pide que al menos el sistema de ficheros raíz se encuentre sobreuna partición normal. Seleccione esta partición de la lista y utilice ‘Editar’ paradefinirla como sistema de ficheros raíz (ingl. root file system). Debido a la mayorflexibilidad de LVM, recomendamos ubicar los demás sistemas de ficheros sobrevolúmenes lógicos. – Una vez definida la partición raíz, puede salir del diálogo.

LVM – Configuración de los volúmenes físicos

En el diálogo ‘LVM’ se administran los grupos de volúmenes LVM (abreviadoscomo VG). Si aún no se ha creado ningún VG aparecerá una ventana que pidesu creación. La propuesta para el nombre del VG que albergará los datos delsistema SuSE Linux es el nombre system .

El valor ”Physical Extent Size” (abreviado PE size) determina el tamaño máxi-mo de un volumen físico y lógico dentro del grupo de volúmenes. Este valor se

36 Gestor de volúmenes lógicos (LVM)

Page 55: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Figura 1.7: YaST2: Crear partición LVM

sitúa normalmente en 4 megabytes y permite 256 gigabytes como tamaño má-ximo para un volumen físico y lógico. No aumente el PE size (p. ej. a 8, 16 ó 32megabytes), si no necesita volúmenes lógicos más grandes de 256 gigabytes.

Figura 1.8: YaST2: Crear un grupo de volúmenes

La siguiente ventana muestra todas las particiones de los tipos "Linux LVM" o"Linux native" (no se muestra ninguna partición DOS o de intercambio (swap)).En el caso de las particiones que ya forman parte del grupo de volúmenes, lalista muestra el nombre del grupo de volúmenes al que pertenecen. Las parti-ciones no asignadas están marcadas con "--".

Se puede cambiar el grupo de volúmenes sobre el que se trabaja en la ventana

37SuSE Linux – Manual de Administración

Page 56: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

de selección que se encuentra en la parte superior izquierda. Con los botonesde la parte superior derecha se pueden crear nuevos grupos de volúmenes yeliminar los ya existentes. Sin embargo, sólo se pueden eliminar los VGs que noestén asignados a ninguna partición. Para un sistema SuSE Linux normal no esnecesario crear más de un grupo de volúmenes. Una partición asignada a un VGse denomina volumen físico (ingl. Physical Volume o PV).

Figura 1.9: YaST2: Resumen de las particiones

Para añadir 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’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 paraLVM deben ser asignadas a un grupo de volúmenes para aprovechar todo elespacio en el disco. No se puede salir del diálogo antes de haber asignado almenos 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 oLV)

Los volúmenes lógicos siempre están asignados a un grupo de volúmenes ytienen un determinado tamaño. Si desea crear un RAID 0 durante la creacióndel volumen lógico, ha de crear en primer lugar el LV con un número mayor de

38 Gestor de volúmenes lógicos (LVM)

Page 57: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

Figura 1.10: YaST2: Administración de volúmenes lógicos

bandas (”stripes”). Un LV con n bandas sólo puede crearse correctamente cuan-do el espacio de disco requerido por LV puede distribuirse de forma uniformeen n volúmenes físicos. Si sólo están disponibles dos PVs, un LV con 3 bandasno sería viable.

Sobre un volumen lógico se crea normalmente un sistema de ficheros (p. ej. reis-erfs, ext2) y se asigna un punto de anclaje al volumen. Éste es el punto de accesopara llegar posteriormente a los datos que se guardan sobre este volumen lógi-co. La lista muestra todas las particiones normales de Linux que ya tienen unpunto de anclaje asignado, todas las particiones de swap y todos los volúmeneslógicos ya existentes. A los volúmenes lógicos ya existentes en el sistema hacefalta asignarles un punto de anclaje. Al configurar LVM por primera vez, aúnno existen volúmenes lógicos en la lista y es necesario crear un volumen lógicopara cada punto de anclaje. Esto se lleva a cabo con el botón ‘Añadir’, indican-do el tamaño, el tipo de sistema de ficheros (p. ej. reiserfs o ext2) y el punto deanclaje (p. ej. /var , /usr , /home ).

En caso de haber creado varios grupos de volúmenes, es posible cambiar entrelos diferentes grupos de volúmenes con la lista de selección en la parte supe-rior izquierda. Todos los volúmenes lógicos creados se encuentran en el grupomostrado en el recuadro. Una vez que todos los volúmenes lógicos se hayanconfigurado correctamente, la configuración de LVM finaliza. Ahora ya puedesalir de este apartado y, si se encuentra dentro de la instalación de sistema, con-tinuar con la selección de software.

39SuSE Linux – Manual de Administración

Page 58: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 1.11: YaST2: Crear volúmenes lógicos

AvisoLa configuración del LVM puede implicar riesgos como p. ej. la pérdidade datos. Algunos de los peligros potenciales son la caída de programas,los cortes de suministro eléctrico o los comandos equivocados.

Por eso es importante realizar copias de seguridad de los datos antesde configurar el LVM o antes de modificar volúmenes. ¡Nunca se debetrabajar sin una copia de seguridad!

Aviso

Soft-RAID

La idea de un RAID (ingl. Redundant Array of Inexpensive Disks) es el de juntarvarias particiones para formar un disco duro ”virtual” grande y así optimizar elrendimiento o la seguridad de los datos. El ”RAID-Level” determina la forma de

40 Soft-RAID

Page 59: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

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 decontrolar 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, que puede resultar muy costosa, el Soft-RAID es también capaz de encargarse de estas tareas. SuSE Linux ofrece la posi-bilidad de unir mediante YaST2 varios discos duros en un Soft-RAID. Es unaalternativa muy económica al hardware RAID.

Niveles de RAID habituales

RAID 0 Este nivel mejora la velocidad de acceso a los datos. En realidad nose trata de un RAID porque no existe ninguna seguridad de datos perola denominación ”RAID 0” se ha hecho habitual para esta constelacióncon al menos dos discos duros. El rendimiento es muy alto, pero todo elsistema RAID se estropea al dañarse un solo disco y todos los datos sepierden.

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 dis-cos ”espejados”. Esto quiere decir que existe una duplicación simultáneade los datos en uno o varios discos. Cuando un disco se estropea existeuna copia en otro, así que se pueden romper todos los discos a excepciónde uno sin perder datos. La velocidad de escritura baja del 10 al 20 % porla necesidad de escribir los datos en más de un disco, pero la velocidad delectura es bastante más alta porque los datos se pueden leer simultánea-mente en varios discos.

RAID 5 RAID 5 es el resultado optimizado de los dos anteriores niveles deRAID en cuanto al rendimiento y la seguridad de datos. La capacidadde almacenamiento del RAID equivale a la capacidad total de los discosduros menos uno; es decir, los datos se distribuyen igual que en el casode RAID 0 sobre todos los discos y la seguridad de los datos está dadapor la información de paridad que se encuentra, en el caso de RAID 5,sobre uno de los discos. Estos ”bloques de paridad” se enlazan medianteun XOR lógico para conseguir la recuperación de una partición despuésde su rotura. En el caso de RAID 5 nunca se debe estropear más de undisco duro en el mismo momento para no perder información. Por eso esimportante reemplazar un disco duro dañado lo más rápidamente posible.

41SuSE Linux – Manual de Administración

Page 60: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

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

Paso 1: Particionar

La primera pantalla de la ‘Configuración avanzada’ de la herramienta de parti-cionar muestra todas las particiones existentes. Si ya ha creado particiones parael Soft-Raid, éstas aparecerán dentro de la lista. En caso contrario se han de crearparticiones 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 menostres 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 datospor daño de un disco para RAID 1 y 5 o para aumentar el rendimiento en casode RAID 0.

Paso 2: Crear el RAID

Pulsando sobre ‘RAID’ aparece el diálogo para seleccionar el nivel de RAID (0,1o 5). La siguiente pantalla permite asignar las particiones al RAID nuevo. Las‘Opciones avanzadas’ permiten ajustar la configuración con más detalle, comola modificación del ”chunk-size” para aumentar la eficiencia del RAID. Al mar-car la casilla ‘Superbloque persistente’, las particiones RAID se reconocen comotales directamente al arrancar el ordenador.

Después de haber terminado la configuración aparecerá el dispositivo /dev/md0marcado como RAID dentro del apartado experto en el módulo de parti-cionar.

Resolución de problemas

El contenido del fichero /proc/mdstats informa sobre daños en una particiónRAID. En caso de daños hay que parar el sistema Linux y reemplazar el discodañado por uno equivalente y con las mismas particiones. Después se puedereiniciar el sistema y ejecutar el comando raidhotadd /dev/mdX /dev/sdX ,que automáticamente integra el disco duro nuevo en el RAID y lo reconstruye.

Puede encontrar una introducción a la configuración de Soft Raid así como in-formación adicional (en inglés) en los siguientes Howto:

/usr/share/doc/packages/raidtools/Software-RAID-HOWTO.html

http://en.tldp.org/HOWTO/Software-RAID-HOWTO.html

o en la lista de correo de Linux RAID p. ej. en

42 Soft-RAID

Page 61: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

1La

insta

lac

ión

http://www.mail-archive.com/[email protected]

en la que puede encontrar también ayuda para problemas más complejos.

43SuSE Linux – Manual de Administración

Page 62: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 63: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

Actualización del sistema– Gestión de paquetes

SuSE Linux ofrece la posibilidad de actualizar un sistema existente sin necesi-dad de instalar todo desde cero. Hay que distinguir entre la actualización de al-gunos paquetes y la actualización del sistema completo.

Paquetes particulares También se puede instalar manualmente con el gestor depaquetes rpm.

Actualización de SuSE Linux . . . . . . . . . . . . . . . . . 46Cambio del software de una versión a otra . . . . . . . . . . 51RPM – El gestor de paquetes . . . . . . . . . . . . . . . . . 56

Page 64: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Actualización de SuSE Linux

Es un fenómeno conocido, el hecho de que el software ”crezca” de versión enversión, por lo que se recomienda averiguar de cuánto espacio se dispone enlas particiones, usando df , antes de la actualización. Si se tiene la impresión deestar un poco ”justo” de espacio, se recomienda hacer una copia de seguridadde los datos antes de empezar con la actualización y modificar las particiones(aumentar su tamaño). Es difícil determinar la cantidad de espacio necesarioya que éste depende en gran medida de las particiones actuales, del softwareelegido y desde qué versión se va a realizar la actualización.

AtenciónPara obtener información sobre cambios o suplementos posteriores a laimpresión de este libro, se puede consultar el fichero READMEo bajoDOS/Windows el fichero README.DOS– ambos se encuentran en el CD.

Atención

Preparativos

Antes de realizar cualquier actualización se deben copiar los ficheros de confi-guración a un medio independiente (cinta, disquetes, unidad-ZIP, etc.); sobretodo se trata de los ficheros contenidos en /etc pero también se debe tener encuenta el directorio /var/lib . Además se deben respaldar los datos actualesde los usuarios en /home ; son los directorios HOME. Esta copia de seguridad sedebe efectuar como Administrador de sistema (root ) ya que sólo root tiene losderechos de lectura de todos los ficheros locales.

Antes de comenzar con la actualización se debe anotar el nombre de la particiónraíz que se obtiene con el comando:

tierra:~ # df /

En el caso de la salida en pantalla 2, /dev/hda7 es la partición raíz que se debeanotar, ya que es ésta la que está montada bajo / .

Filesystem Size Used Avail Use % Mounted on/dev/hda1 1.9G 189M 1.7G 10 % /dos/dev/hda7 3.0G 1.1G 1.7G 38 % //dev/hda5 15M 2.4M 12M 17 % /bootshmfs 141M 0 141M 0 % /dev/shm

Mensaje en pantalla 2: Resumen con df -h

46 Actualización de SuSE Linux

Page 65: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

Posibles problemas

PostgreSQL Antes de actualizar PostgreSQL (paquete postgres ), se debenvolcar (ingl. dump) todas las bases de datos al disco; ver página del manu-al de pg_dump (man pg_dump). Evidentemente esto solo es necesario sise ha usado PostgreSQL antes de la actualización.

Controladora Promise Hoy en día en diversos ordenadores se encuentran lascontroladoras IDE de la empresa Promise, en placas base de alta calidad.Algunas veces como controladoras puras de IDE (para UDMA 100) yotras como controladoras IDE-RAID. A partir de SuSE Linux 8.0 hay so-porte directo del kernel para estas controladoras y las trata como si fuerancontroladoras normales para discos duros IDE. Sólo el módulo del kernelpdcraid habilita la funcionalidad RAID.

Al actualizar puede ocurrir en algunos casos que se detecta discos durosconectados a la controladora de Promise antes de los discos duros en lacontroladora normal de IDE. En este caso el sistema no arrancará despuésde una actualización del kernel y típicamente se despedirá con "Kernelpanic: VFS unable to mount root fs". Para arreglarlo al arrancar se debeindicar el parámetro de kernel ide=reverse para invertir el orden de ladetección de los discos duros; ver apartado La pantalla de bienvenida en lapágina 10. Use YaST para introducir este parámetro de forma duradera enla configuración de arranque; ver el capítulo YaST2, Modo de arranque en elmanual ?

AvisoSólo se pueden encontrar las controladoras que estén activadas enla BIOS. La activación o desactivación anterior o posterior de lascontroladoras en la BIOS tiene una influencia directa en la denom-inación de los dispositivos. ¡Proceder de forma desconsideradapuede tener como consecuencia la imposibilidad de arrancar elsistema!

Aviso

Explicación técnicaEl orden de las controladoras depende de la placa base. Cada fabricantetiene su propia estrategia de integrar controladoras adicionales. Median-te el comando lspci se puede visualizar la orden. Si se lista la contro-ladora Promise como controladora IDE normal hay que indicar, des-pués de actualizar el parámetro de kernel, ide=reverse . El kernel viejo(sin soporte directo para Promise) ignoraba la controladora y detecta-ba primero la controladora IDE normal. El primer disco duro era en-tonces /dev/hda . Con el nuevo kernel se detecta directamente la con-

47SuSE Linux – Manual de Administración

Page 66: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

troladora Promise y por consiguiente sus discos duros (hasta cuatro) con/dev/hda , /dev/hda , /dev/hdb , /dev/hdc y /dev/hdd . El hasta aho-ra disco /dev/hda se convierte de repente en /dev/hde y en consecuen-cia no se encuentra en el proceso de arranque.

Actualización con YaST2

Después de los preparativos del apartado Preparativos en la página 46, inicie elproceso de arranque.

1. Inicie el sistema como para la instalación (véase el manual de usuario) y,después de seleccionar el idioma, no elija en YaST ‘Nueva instalación’, sino‘Actualizar un sistema ya existente’.

2. YaST determinará si existe más de una partición raíz. En caso negativo,pase a la sección 3. En caso de que existan varias particiones, seleccione lapartición correcta y confirme con ‘Siguiente’. En el ejemplo de la secciónPreparativos en la página 46 seleccionó /dev/hda7 .

YaST también lee el ”antiguo” fstab que se encuentra en esta particiónpara analizar y a continuación montar los sistemas de ficheros allí exis-tentes.

3. Posteriormente existe la posibilidad de crear una copia de seguridad delos ficheros del sistema durante la actualización. Aunque esta opciónralentiza el proceso de actualización, debe seleccionarse si no dispone deuna copia de seguridad actual del sistema.

4. En el siguiente diálogo se puede decidir si sólo se debe actualizar el soft-ware instalado o si se deben añadir al sistema nuevos componentes desoftware importantes (”modo upgrade”). Se recomienda aceptar la combi-nación predeterminada (por ejemplo ‘sistema estándar’). Si existe algunadiscrepancia, se puede eliminar posteriormente con YaST.

Actualización manual

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 sistemaLinux en ejecución.

48 Actualización de SuSE Linux

Page 67: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

Figura 2.1: Actualización del sistema

Por esta razón se tendrá que arrancar el entorno de actualización. Esto se hacenormalmente bien con el CD,con el DVD o con el disquete de arranque (”Boot-disk” que se ha creado anteriormente). Si quiere efectuar intervenciones man-uales o realizar la actualización entera con el ”ncurser-ui” de YaST (modo texto),hay que seguir esencialmente los pasos que ya se han descrito detalladamenteen el apartado Instalación en modo texto con YaST2 en la página 10:

Básicamente hay que seguir los pasos que se exponen a continuación:

1. Inmediatamente después del arranque del sistema, desde el disquete dearranque o desde el CD o bien DVD, se inicia automáticamente linuxrc.

2. linuxrc pide escoger en la opción ‘Configuración’ del menú principal, elidioma y el teclado (siempre se confirma pulsando ‘Ok’).

3. Con la opción ‘Módulos del Kernel (Drivers)’ se cargan los drivers nece-sarios para el hardware. El procedimiento se detalla en el apartado La base:linuxrc en la página 11 y en la descripción de linuxrc, en la página 312.

4. Ahora se puede elegir el medio fuente de la instalación pasando por lasopciones ‘Iniciar la instalación / Sistema’→ ‘Comenzar la instalación’(ver en la página 314).

5. linuxrc carga el entorno de instalación proporcionado por YaST, tal comose ha elegido.

49SuSE Linux – Manual de Administración

Page 68: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

En el primer menú de YaST, seleccione – después de haber elegido el idioma – laopción ‘Actualizar sistema’. A continuación YaST intenta reconocer la particiónraíz y ofrece varias posibilidades de las cuales se debe seleccionar la particiónraíz, tal como se ha anotado anteriormente (ejemplo: /dev/sda3 ). YaST lee la/etc/fstab ”antigua” que se encuentra sobre esta partición, y monta los sis-temas de ficheros anotados en ella.

Después existe la posibilidad de realizar una copia de seguridad de los archivosdel sistema durante la actualización.

En el diálogo siguiente puede definir que solo se actualice el software ya insta-lado o bien que se añadan nuevos e importantes componentes de software alsistema. Se recomienda aceptar la composición propuesta (p. ej. ‘Sistema prede-terminado’). Con YaST se pueden eliminar eventuales divergencias.

Diálogo de advertencia: ‘Sí - instalar’ para que pueda realizarse la transferenciadel nuevo software desde el medio fuente al disco duro del sistema.

Revisión de la base de datos RPM

A continuación se actualizan los componentes centrales del sistema y YaST ge-nera automáticamente copias de seguirdad de los ficheros modificados a par-tir de la última instalación; además, los ficheros de configuración antiguosse guardan con la extensión pfad.rpmorig o .rpmsave (ver el apartado Ins-talar, actualizar y desinstalar paquetes en la página 58). Todo el proceso de ins-talació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 deYaST que permite actualizar el resto del sistema según necesidades y/o preferen-cias.

Después de haber seleccionado los paquetes, el proceso se termina como unainstalación desde cero; entre otras cosas, se tendrá que seleccionar también unkernel nuevo.

TrucoSi está acostumbrado a iniciar Linux con loadlin, es preciso copiar el nue-vo kernel – y si es el caso – el initrd en el directorio de loadlin de lapartición DOS!

Truco

50 Actualización de SuSE Linux

Page 69: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

Posibles problemas

En caso de que el entorno shell no se comporte del modo esperado, re-vise los ficheros de su home que comienzan con un punto y compruebeque todavía son adecuados para su sistema. Si no es así coja por favor lasversiones actuales de /etc/skel ; p. ej.:

tux@tierra: ~ > cp /etc/skel/.profile ~/.profile

Actualización de paquetes individuales

Independientemente de la actualización del sistema base, se pueden actualizarpaquetes sueltos en cualquier momento. Realizando una actualización parcial,el usuario mismo se tiene que encargar de mantener la consistencia del sistemaen cuanto a las dependencias de los paquetes. Consejos sobre la actualización seencuentran bajo http://www.suse.de/en/support/download/updates/

Esto se realiza en YaST entrando al submenú ‘Escoger/Instalar paquetes’. Sepuede seleccionar cualquier paquete, pero si selecciona uno que es esencialpara el sistema, YaST advierte sobre la necesidad de actualizar tal paquete enel modo especial de actualización. Hay muchos paquetes que usan p. ej. libreríascompartidas (ingl. shared libraries), que pueden estar en uso en el momento de laactualización y por tanto se podrían producir errores.

Cambio del software de una versión a otra

Los siguientes apartados mencionan los detalles que se han cambiado de unaversión de SuSE Linux a otra, como por ejemplo el cambio de lugar de unfichero de configuración o una modificación importante de un programa cono-cido. La lista es incompleta ya que solo se mencionan los aspectos importantespara el trabajo diario de los usuarios o del administrador de sistema. En la des-cripción de las diferencias y particularidades hay muchas referencias a la basede datos de soporte (SDB) del paquete sdb_en .

Los problemas y cambios de última hora de cada versión se publican en nuestroservidor web; véase los links que se indican más abajo. Se puede actualizar de-terminados paquetes importantes vía http://www.suse.de/en/support/download/updates/ .

De 7.0 a 7.1

Problemas y Particularidades:

51SuSE Linux – Manual de Administración

Page 70: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

http://sdb.suse.de/sdb/de/html/bugs71.html .

Kernel: Los driver de bajo nivel para chipsets EIDE especiales están in-tegrados 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 dis-quete de arranque especial, en caso de necesitar uno de estos drivers.

El significado de los Runlevel ha cambiado; ver la tabla 12.1 en la pági-na 330. Los scripts de inicio se encuentran ahora en el directorio /etc/init.d . Si tiene scripts propios, guárdelos antes de actualizar.

La limitación a 8 caracteres en la longitud de los nombres de paquetes hadesaparecido y muchos tienen ahora un nombre explicativo.

Las funciones del paquete dochost fueron integradas en el paquetesusehelp por lo que dochost ha quedado obsoleto.

El antiguo paquete ypclient : Este paquete está ahora dividido en lospaquete ypbind y yp-tools y el script de inicialización se llammaypbind .

De 7.1 a 7.2

Problemas y Particularidades:http://sdb.suse.de/sdb/de/html/bugs72.html .

paquete nkitb tal como paquete nkita se han dividido; los programasse encuentran en los paquetes talk , rsh , finger , rwho , telnet o en lospaquetes correspondientes de -server . Por ejemplo el paquete iputilscontiene ping .

Algunos programas ya están preparados para IPv6, por lo que es im-portante configurar el DNS correctamente, sino, es posible que se tengaque 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 esta página); p. ej.:paquete docbook-dsssl-stylesheets , paquete docbook_3 y paque-te docbook_4 .

Ahora se debe instalar paquete mod_php4 en lugar de mod_php.

Modificaciones respecto al estándar de jerarquía de sistemas de ficheros(FHS) (ver el apartado Filesystem Hierarchy Standard (FHS) en la pági-na 298):

• /media (eran /cdrom y /floppy )

52 Cambio del software de una versión a otra

Page 71: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

De 7.2 a 7.3

Problemas y Particularidades:http://sdb.suse.de/sdb/de/html/bugs73.html .

El kernel 2.4 de SuSE Linux tiene IDE-DMA activado. En caso de tenerproblemas respecto a DMA es posible apoyarse en la opción de arranque‘Instalación - Safe Settings’; ver en la página 11.

Es importante configurar en /etc/inittab el nivel de ejecucióndeseado, independiente del valor de la variable DISPLAYMANAGERen rc.config (a partir de SuSE Linux 8.0 en /etc/sysconfig/displaymanager ). YaST es capaz de coordinar estos valores.

Samba: Los ficheros de configuración se encuentran ahora en /etc/samba.

MySQL utiliza ahora la biblioteca del TCP-Wrapper para mejorar la seguri-dad.

El nuevo subpaquete mysql-Max ofrece automáticamente después de suinstalación las características de seguridad avanzadas.

Con el fin de ahorrar espacio (más de 30 MB) ya no se distribuye el paque-te allman . No obstante las páginas de manual acompañan sus correspon-dientes paquetes.

db2x.sh del paquete docbktls (ahora paquete docbook-toys ) aceptadocumentos del tipo DocBook que utilizan determinadas característicasespeciales. Para mantener la compatibilidad total se puede trabajar con laopción --strict .

De 7.3 a 8.0

Problemas y Particularidades:http://sdb.suse.de/sdb/en/html/bugs80.html .

Los disquetes de arranque sólo se distribuyen en forma de imágenes dedisquetes (antiguo directorio disks , ahora directorio boot ). Un disquetede arranque se necesita solamente si no es posible arrancar desde CD; de-pendiendo del hardware y de la intención de la instalación hay que crearadicionalmente disquetes de las imágenes modules1 , modules2 , etc. Elprocedimiento está descrito en Crear un disquete de arranque bajo DOS en lapágina 22 o bien en Crear un disquete de arranque bajo un sistema tipo Unixen la página 23.

53SuSE Linux – Manual de Administración

Page 72: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

YaST 2 sustituye por completo a YaST1, también en los modos de texto oconsola. Cuando en estas línas se hable de ”YaST”, nos estamos refiriendosiempre a la nueva versión.

Algunas BIOS necesitan el parámetro del kernel realmode-power-off ;hasta versión 2.4.12 del kernel se llamaba real-mode-poweroff

Las variables STARTde rc.config para el arranque de servicios sonobsoletos. Todos los servicios se arrancan si existen los enlaces correspon-dientes en los directorios de Runlevel; los enlaces se crean con insserv .

Los servicios del sistema se configuran mediante variables en los ficherosde /etc/sysconfig ; al actualizar el sistema se toma en consideraciónlas configuraciones de los ficheros en /etc/rc.config.d .

Se ha dividido /etc/init.d/boot en varios scripts y movido a otrospaquetes ( ) en caso oportuno. (ver paquete kbd , paquete isapnp , paque-te lvm etc); véase en la página 333.

En el tema de redes se han realizado una gran cantidad de modificaciones;véase el apartado El acceso a la red en la página 388.

Para la gestión de los archivos de registro (ingl. logfiles) se hace use delogrotate; /etc/logfiles es obsoleto; ver apartado Archivos de regis-tro – el paquete logrotate en la página 300.

Se puede permitir un login de root via telnet o rlogin mediante entradasen los ficheros en /etc/pam.d . Por razones de seguridad ya no se per-mite la inicialización de ROOT_LOGIN_REMOTEcon yes .

Se puede activar PASSWD_USE_CRACKLIBcon YaST.

Cuando se deben compartir ficheros NIS para autofs via NIS, se debeutilizar el módulo NIS-Client de YaST para la configuración. Una vez allí,active ‘Arrancar automontador’. La variable USE_NIS_FOR_AUTOFSseha quedado obsoleta.

locate para la búsqueda rápida de ficheros ya no forma parte delsoftware instalado por defecto. En caso necesario, instálelo (paquetefind-locate ) y se iniciará como de costumbre automáticamente unos15 minutos después de haber arrancado el proceso updatedb

El soporte del ratón se encuentra activo para pine, lo cual significa quese puede hacer funcionar Pine en una xterm haciendo clic en una opcióndel menú. Sin embargo también significa que sólo se puede copiar y pegarpulsando la tecla del tabulador, si el soporte del ratón está activo, lo que

54 Cambio del software de una versión a otra

Page 73: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

no es el caso en una nueva instalación. Al actualizar no se debe descartarque esta opción está activa (si hay un antiguo ~/.pinerc disponible. Eneste caso, se puede deactivar la opción wertenable-mouse-in-xterm en laconfiguración de Pine, con lo que todo vuelve a la normalidad.

De la 8.0 a la 8.1

Problemas y particularidades:http://sdb.suse.de/sdb/de/html/bugs81.html .

Modificaciones en los nombres de usuario y grupo del sistema: Para queconcuerden en UnitedLinux se ajustaron algunas entradas en /etc/passwd o /etc/group .

• Usuario modificado: ftp se encuentra en el grupo ftp (y no endaemon).

• Grupos que han cambiado de nombre: www(era wwwadmin); games(era game).

• Grupos nuevos: ftp (con GID 50); floppy (con GID 19); cdrom(con GID 20); console (con GID 21); utmp (con GID 22).

Modificaciones relacionadas con FHS (véase apartado Filesystem HierarchyStandard (FHS) en la página 298):

• Un entorno de ejemplo para HTTPD (Apache) se encuentra en/srv/httpd (antes era /usr/local/httpd ).

• Un entorno de ejemplo para FTP se encuentra en /srv/ftp (antesera /usr/local/ftp )

Para facilitar el acceso al software deseado, los paquetes ya no se encuen-tran en unas pocas y complicadas series, sino en ”grupos RPM”. La con-secuencia de esto es que en los CDs ya no hay directorios encriptados bajosuse , sino sólo unos pocos directorios denominados en función de la ar-quitectura, como p. ej.ppc , i586 o noarch .

En una instalación nueva se configuran los siguientes programas, o dichode otro modo, ya no se instalan automáticamente:

• El gestor de arranque GRUB, que ofrece más posibilidades que LILO.LILO se mantiene al actualizar un sistema ya existente.

• El programa de correo postfix en vez de sendmail.

55SuSE Linux – Manual de Administración

Page 74: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

• En vez de majordomo se instala mailman, el moderno software delistas de correo.

• ¡harden_suse se debe escoger a mano y leer la documentación alrespecto!

Paquetes divididos: rpm en rpm y rpm-devel ; popt en popt ypopt-devel ; libz en zlib y zlib-devel .

yast2-trans-* ahora dividido por idiomas: yast2-trans-cs (checo),yast2-trans-de (alemán), yast2-trans-es (español) etc.; en la insta-lación ya no se instalan todos los idiomas con el fin de ahorrar espacio enel disco duro. En caso de ser necesario, instale posteriormente el resto delos paquetes con el soporte de idiomas de YaST.

Paquetes que han cambiado de nombre: bzip en bzip2 .

Paquetes que no se incluyen: openldap , en su lugar utilizar ahoraopenldap2 . su1 : a partir de ahora le rogamos utilizar sudo .

De 8.1 a 8.2

Problemas y peculiaridades:http://sdb.suse.de/sdb/en/html/bugs82.html .

En caso de una nueva instalación, xinetd se instala en vez de inetd y esconfigurado de forma segura con valores predeterminados (véase el di-rectorio /etc/xinetd.d ). En caso de una actualización, se mantendráinetd.

openjade (paquete openjade ) es el motor DSSSL que, sustituyendo ajade (paquete jade_dsl ), se activa cuando se inicia db2x.sh (paquetedocbook-toys ). Debido a motivos de compatibilidad, los programastambién están disponibles sin el prefijo ‘o’ .

Para evitar un conflicto con el paquete paquete rzsz , la herramienta de lalínea de comandos sx se sigue llamando s2x , sgml2xml u osx .

RPM – El gestor de paquetes

SuSE Linux utiliza RPM (rpm) (ingl. RPM Package Manager) como gestor de pa-quetes. La gran base de datos de RPM facilita la gestión de los paquetes para

56 RPM – El gestor de paquetes

Page 75: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

todos los implicados: los usuarios, los administradores de sistema y los que gen-eran los paquetes; RPM ofrece una gran cantidad de información sobre el soft-ware instalado.

Básicamente, rpm puede actuar de tres maneras distintas: puede generar pa-quetes listos para instalar a partir de las fuentes originales (ingl. pristine sources);puede instalar estos paquetes así como actualizarlos y desinstalarlos por com-pleto; y puede direccionar consultas a la base de datos RPM o a determinadosficheros RPM.

Los archivos RPM, listos para ser instalados tienen un formato binario especialque incluye los ficheros con los programas e información adicional usada porrpm . Esta información adicional se usa para configurar el software del paquete opara la documentación en la base de datos RPM. Estos archivos tienen la exten-sión .rpm .

Con rpm se pueden gestionar los paquetes LSB; más sobre LSB en el apartadoLinux Standard Base (LSB) en la página 298.

TrucoEn el caso de varios paquetes, los componentes necesarios para el desar-rollo del software (librerías, ficheros ”header” e ”include”) han pasadoa ser paquetes separados; se trata de un procedimiento que ya se llevó acabo en versiones anteriores. Estos paquetes sólo serán necesarios paradesarrollos propios; p. ej. compilar paquetes de GNOME más recientes.Este tipo de paquetes se identifica normalmente con un suplemento en elnombre como: -devel (antes: dev o d); algunos ejemplos son: paquetealsa-devel , paquete gimp-devel , paquete kdelibs-devel , etc.

Truco

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 <[email protected]>Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA

57SuSE Linux – Manual de Administración

Page 76: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El comando

tierra: ~ # rpm --checksig apache-1.3.12.rpm

comprueba la firma de un paquete RPM para averiguar si este realmente fuehecho por SuSE o por otra entidad de confianza; es un procedimiento quese recomienda especialmente con los paquetes de actualización de Internet.Nuestra clave pública para firmar los paquetes se encuentra por defecto en/root/.gnupg/ . Desde la versión 8.1, esta clave también se incluye en el direc-torio /usr/lib/rpm/gnupg/ para que los usuarios normales también puedancomprobar la firma de los paquetes RPM.

Instalar, actualizar y desinstalar paquetes.

Por lo general la instalación de un archivo RPM se realiza rápidamente:

tierra:~ # rpm -i 〈paquete 〉.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 deerror de rpm indican los paquetes que faltan para cumplir con las dependencias.La base de datos se ocupa de evitar conflictos: normalmente un fichero debepertenecer a un solo paquete; también hay diferentes opciones que permitenpasar por alto esta regla, pero se debe estar muy seguro de ello ya que se puedeperder la posibilidad de actualizar el paquete.

Algunas opciones muy interesantes para la actualización de un paquete sonwert-U o --upgrade y -F o --freshen .

tierra:~ # rpm -F 〈paquete 〉.rpm

Por medio de este comando se borra la antigua versión de un paquete y se in-stala la nueva. La diferencia entre ambas opciones radica en que en el caso de-U también se instalan paquetes que hasta ahora no estaban disponibles en en elsistema, mientras que la opción -F sólo actualiza un paquete que ya estuvierainstalado. Por su parte, 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 confi-guración, rpm instala la versión nueva y por lo tanto, el administrador desistema no tiene que intervenir de ninguna manera.

Si el administrador de sistema ha cambiado un fichero de configuraciónantes de realizar la actualización, rpm guarda el fichero con la extensión

58 RPM – El gestor de paquetes

Page 77: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

.rpmorig o .rpmsave e instala la nueva versión del paquete RPM, salvoque el archivo de configuración de esta nueva versión no haya cambia-do su estructura. En el caso de reemplazar el fichero de configuración, esmuy probable que sea necesario adaptar el nuevo basándose en la copiacon la extensión .rpmorig o .rpmsave .

Ficheros con extensión .rpmnew siempre aparecen cuando el fichero deconfiguración ya existe y si el indicador noreplace aparece dentro delfichero .spec .

Después de la actualización se deben borrar los ficheros .rpmorig , .rpmsavey .rpmnew para que estos no obstaculicen la siguiente actualización. La exten-sión .rpmsave se selecciona cuando la base 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 administra-dor de sistema realmente modificó el fichero de configuración o no.

Puede encontrar una lista de estos ficheros en /var/adm/rpmconfigcheck .

Compruebe que no se sobreescriben determinados ficheros de configura-ción (p. ej./etc/httpd/httpd.conf ), para posibilitar una inmediato fun-cionamiento con las configuraciones propias.

La opción -U (Update) es algo más que una equivalencia a la secuencia -e-i(Desinstalar/Eliminar – Instalar). Siempre que sea posible, es preferible usar laopción -U .

AtenciónDespués de cada actualización es necesario controlar las copias de seguri-dad con las extensiones .rpmorig o .rpmsave generados por rpm . Encaso de necesidad transfiera sus ajustes a los nuevos ficheros de configu-ración y elimine después los antiguos con las extensiones .rpmorig o.rpmsave .

Atención

Para eliminar un paquete se procede de la siguiente manera:

tierra:~ # rpm -e 〈paquete 〉

rpm sólo borra un paquete en caso de no existir ninguna dependencia. Por lotanto no es posible suprimir p. ej. Tcl/Tk si todavía existe algún programa que lonecesite para su ejecución; esta funcionalidad se debe al ”control” por parte dela base de datos RPM.

59SuSE Linux – Manual de Administración

Page 78: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si en algún caso excepcional no es posible eliminar un paquete aunque hayadejado de existir toda dependencia, es probable que el problema se resuelva algenerar de nuevo la base de datos RPM, usando la opción --rebuilddb (lasexplicaciones sobre la base de datos se pueden ver en el apartado Consultas en lapágina 62).

Consultas

La opción -q (ingl. query) permite direccionar consultas a los archivos RPM (op-ción -p 〈fichero_paquete〉), así como a la base de datos RPM. El tipo de informa-ción a consultar depende de las opciones que figuren en la tabla 2.1.

-i Mostrar información sobre un paquete-l Mostrar lista de ficheros del paquete-f 〈Fichero 〉 Consultar por el paquete que contiene el fichero

〈Fichero〉; se requiere la especificación de 〈Fichero〉 consu rama completa!

-s Mostrar estado de los ficheros (implica -l )-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 2.1: Las opciones de consulta más importantes (-q [-p ]. . . 〈paquete〉)

Por ejemplo el comando:

tierra:~ # rpm -q -i rpm

da como resultado la salida en pantalla 3:

Name : wget elocations: (not relocateable)Version : 1.8.1 Vendor: SuSE AG, Nuernberg, GermanyRelease : 142 Build Date: Fri Apr 5 16:08:13 2002Install date: Mon Apr 8 13:54:08 2002 Build Host: knox.suse.deGroup : Productivity/Networking/Web/Utilities Source RPM:

60 RPM – El gestor de paquetes

Page 79: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

wget-1.8.1-142.src.rpmSize : 2166418 License: GPLPackager : [email protected] : A tool for mirroring FTP and HTTP serversDescription :Wget enables you to retrieve WWW documents or FTP files from a server.This might be done in script files or via command line.[...]

Mensaje en pantalla 3: rpm -q -i wget

La opción -f sólo funciona cuando se indica el nombre de fichero completo conla ruta incluida; se pueden indicar tantos ficheros como se desee. Por ejemplo elcomando:

tierra:~ # rpm -q -f /bin/rpm /usr/bin/wget

resulta en:

rpm-3.0.3-3wget-1.5.3-55

Si sólo se conoce una parte del nombre del fichero, se puede obtener ayuda me-diante un script (ver el fichero 1) al cual se pasa, como parámetro, el nombre delfichero buscado.

#! /bin/shfor i in $(rpm -q -a -l | grep $1); do

echo "\"$i\" ist in Paket:"rpm -q -f $iecho ""

done

Fichero 1: Paket-Suchskript

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. Sólo semuestran las últimas 5 entradas de la base de datos RPM, el paquete en sí con-tiene todas las entradas (de los últimos 2 años) – la siguiente consulta funcionasi el CD 1 está montado en /cdrom :

61SuSE Linux – Manual de Administración

Page 80: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

tierra:~ # rpm -qp --changelog /cdrom/suse/i586/rpm-3*.rpm

La base de datos instalada también permite efectuar verificaciones.Éstas se in-troducen con la opción -V (equivalente a -y o --verify ). Con la verificación,rpm muestra todos los ficheros del paquete que han sido modificados desde suinstalación original. rpm coloca hasta ocho caracteres por delante del nombre defichero que indican los siguientes cambios:

5 Número de control MD5S Tamaño de ficheroL Enlace simbólicoT Tiempo de modificaciónD 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 2.2: Las verificaciones

Para los ficheros de configuración aparece como valor adicional la letra c , comolo muestra el ejemplo para el fichero /etc/wgetrc del paquete wget , que hasido modificado:

tierra:~ # rpm -V wget

S.5....T c /etc/wgetrc

Los ficheros de la base de datos RPM se encuentran en /var/lib/rpm . Estospueden ocupar hasta 30 MB para una partición /usr de 1 GB, especialmentedespués de una actualización completa. Si la base de datos parece demasiadogrande, se puede reducir su tamaño usando la opción --rebuilddb . Antesde reconstruir la base de datos se debe hacer una copia de seguridad de la exis-tente.

El script cron.daily genera diariamente copias comprimidas de la base dedatos y las guarda en /var/adm/backup/rpmdb . El número de estas copiasestá definido por la variable 〈MAX_RPMDB_BACKUPS〉, cuyo valor por defectoes 5, pero se puede modificar en /etc/sysconfig/backup . Cada backupocupa aproximadamente 3 MB para una partición /usr de 1 GB. Se trata deun gasto de espacio que se debe tener en cuenta al determinar el tamaño de lapartición raíz, salvo que se cree una partición propia para /var .

62 RPM – El gestor de paquetes

Page 81: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

Instalar y compilar los paquetes fuente

Todos los paquetes con fuentes (ingl. sources) de SuSE Linux tienen la extensión.src.rpm ; estos archivos se llaman ”Source-RPMs”.

TrucoLos paquetes con fuentes se pueden instalar con YaST como cualquierotro paquete, con la diferencia que estos no se marcan como instalados,con una [i] , como ocurre con los paquetes ”regulares”. Por esta razónlos paquetes fuente no figuran en la base de datos RPM, ya que este sóloanota el software instalado.

Truco

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:

SOURCESpara las fuentes originales (ficheros-.tar.gz , etc.) y para lasadaptaciones específicas de las distintas distribuciones (ficheros-.dif ).

SPECS para los ficheros-.spec , que controlan el proceso ”build” y de este mo-do actúan como ”Makefiles”.

BUILD por debajo de este directorio se desempacan o se compilan las fuentes;también se añaden a este los parches.

RPMS en este se graban los paquetes completos en formato binario.

SRPMS y en este los ”Source”-RPMs (fuentes).

Al instalar con YaST un paquete de fuentes, todos los componentes necesariospara el proceso ”build” se copian en el directorio /usr/src/packages : Lasfuentes y los parches se van al directorio SOURCESy el fichero-.spec corres-pondiente se copia en el directorio SPECS.

AtenciónNo haga experimentos con RPM y componentes importantes del sis-tema como pueden ser paquete glibc , paquete rpm , paquete sysvinitetc.: la operatividad de su sistema está en juego. Para construir paquetes”limpiamente”, utilice paquete build . build puede crear un entornode desarrollo separado en el que puede se cambiar con chroot y dondepuede construir los paquetes deseados sin influir para nada en el sistemaactivo.

Atención

63SuSE Linux – Manual de Administración

Page 82: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Tomando como ejemplo el paquete wget.src.rpm , después de ser instaladocon 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

Con el comando rpm -b 〈X〉 /usr/src/packages/SPECS/wget.speccomienza la compilación. La variable 〈X〉 puede representar diferentes pasos, delos cuales aquí figuran algunos (ver también la ayuda que aparece con la opción--help o la documentación de RPM):

-bp prepara las fuentes en el directorio /usr/src/packages/BUILD ; lasdesempaqueta y pone 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 durantela instalación se sobreescriban algunos ficheros de configuración impor-tantes!

-bb igual a -bi , pero con generación adicional del ”Binary-RPM” que, en casode é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 , paraque aparezca en la base de datos RPM.

Al construir muchos paquetes se corre el riesgo de que se instalen ficheros nodeseados en el sistema. Para evitarlo se puede emplear el paquete paquetebuild , el cual crea un entorno definido dentro del que se contruye el paque-te. Para crear este entorno ”chroot”, se debe proporcionar un árbol completode paquetes al script build , ya sea en el disco duro, mediante NFS o desdeun DVD. La ubicación concreta se comunica al script por medio del coman-do build --rpms <ruta> . A diferencia de rpm , el comando build quieretener el fichero SPEC en el mismo directorio que las fuentes. Para volver acompilar wget en el ejemplo superior con el DVD montado en el sistema en/media/dvd , ejecute los siguientes comandos como usuario root :

64 RPM – El gestor de paquetes

Page 83: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

cd /usr/src/packages/SOURCES/mv ../SPECS/wget.spec .build --rpms /media/dvd/suse/ wget.spec

A continuación se creará en /var/tmp/build-root un entorno mínimodonde se construirá el paquete. Los paquetes resultantes se almacenarán pos-teriormente en /var/tmp/build-root/usr/src/packages/RPMS

El script build ofrece además otras opciones. Así, se puede definir la utilizaciónde los propios RPMs frente al resto, omitir la iniciación del entorno build orestringir el comando rpm a una de las fases descritas anteriormente. Puedeobtener más información con el comando build --help y en página del ma-nual de build (man 1 build ).

RPM y parches

Para garantizar la seguridad en la operación de un sistema es necesario instalarperiódicamente en el sistema paquetes que lo actualicen. Hasta ahora, un falloen un paquete sólo podía ser resuelto sustituyendo el paquete entero. En el casode paquetes grandes con fallos pequeños, podemos encontrarnos rápidamenteante una gran cantidad de datos. A partir de la versión 8.1, SuSE ha incorporadouna nueva función a RPM que permiten instalar parches en paquetes.

La información más interesante sobre un parche RPM se mostrará tomando co-mo ejemplo al programa pine:

¿Es el parche RPM el adecuado para mi sistema?

Para comprobarlo, debe averiguarse en primer lugar la versión instaladadel paquete. En el caso de pine, esto sucede con el comando

# rpm -q pinepine-4.44-188

A continuación se examina el parche RPM para comprobar si resulta ade-cuado para esta versión de pine:

# rpm -qp --basedon pine-4.44-224.i586.patch.rpmpine = 4.44-188pine = 4.44-195pine = 4.44-207

Este parche sirve para tres versiones distintas de pine, incluyendo la ver-sión instalada en nuestro ejemplo. Por tanto, el parche puede ser instala-do.

65SuSE Linux – Manual de Administración

Page 84: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

¿Qué ficheros va a sustituir el parche?

Los ficheros afectados por el parche pueden leerse fácilmente del parcheRPM. El parámetro -P de rpm sirve para seleccionar características espe-ciales del parche. Así, es posible obtener una lista de los ficheros con

# rpm -qpPl pine-4.44-224.i586.patch.rpm/etc/pine.conf/etc/pine.conf.fixed/usr/bin/pine

o, si el parche ya está instalado, con

# rpm -qPl pine/etc/pine.conf/etc/pine.conf.fixed/usr/bin/pine

¿Cómo se instala un parche RPM en el sistema?

Los parches RPMs se utilizan como RPMs normales. La única diferenciaradica en que en el caso de los parches, el RPM apropiado ya debe estarinstalado.

¿Qué parches están ya instalados en el sistema y a qué versiones de pa-quetes se han aplicado?

Puede obtener una lista con los parches instalados en el sistema con el co-mando rpm -qPa . Si en un sistema nuevo se ha instalado sólo un parche,como en nuestro ejemplo, la salida del comando será semejante a:

# rpm -qPapine-4.44-224

Si transcurrido un cierto tiempo quiere saber qué versión del paquete fueinstalada en primer lugar, puede consultar la base de datos RPM. En elcaso de pine , esta información se obtiene con el comando:

# rpm -q --basedon pinepine = 4.44-188

Puede obtener más información sobre RPM (incluyendo la característica de losparches) en página del manual de rpm (man 1 rpm).

66 RPM – El gestor de paquetes

Page 85: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2A

ctu

aliza

ció

nd

elsiste

ma

–G

estió

nd

ep

aq

ue

tes

Herramientas para los archivos RPM y la base de datos RPM

El Midnight Commander (mc) puede mostrar el contenido de un archivo RPMy copiar partes de él. El archivo RPM se muestra en un sistema de ficheros vir-tual para el cual se ponen a disposición todas las opciones del menú del mc. Lainformación de los encabezamientos del ”fichero” HEADERse visualiza con

�� ��F3 ;con las teclas del cursor y

�� ��↵ se puede ”navegar” por la estructura del archi-vo y en caso de necesidad, copiar componentes usando

�� ��F5 . – Por otra parte, yaexiste rpm.el para Emacs, que es un ”frontal” para rpm

KDE incluye la herramienta kpackage. En GNOME se incluye 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 la base de datosRPM 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 bastante alto.

67SuSE Linux – Manual de Administración

Page 86: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 87: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Parte II

Configuración

Page 88: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 89: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

3Ya

ST2e

nm

od

ote

xto(n

curse

s)

YaST2 en modo texto (ncurses)

Este capítulo está dirigido a administradores de sistemas y expertos que nodisponen de un servidor X en su ordenador y por tanto deben utilizar la her-ramienta de instalación en modo texto.

En este capítulo se incluye información básica para trabajar con YaST2 en modotexto (ncurses). Además le explicaremos cómo se puede actualizar su sistemaonline de forma automática.

Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . 72Trabajar con los módulos . . . . . . . . . . . . . . . . . . . 73Arranque de módulos individuales . . . . . . . . . . . . . . 74La actualización online de YaST . . . . . . . . . . . . . . . . 75

Page 90: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Funcionamiento

El funcionamiento puede resultar algo raro al principio pero es de hecho muysencillo. Con las teclas

�� ��Tab ,�� ��Alt +

�� ��Tab ,�� ��Espacio , flechas de dirección (

�� ��↑ o�� ��↓ ) y�� ��Intro , así como con los atajos de teclado, se puede manejar en principio todo el

programa. Si arranca YaST2 en modo texto, lo primero que aparece es la ventanaprincipal (véase figura 3.1).

Figura 3.1: La ventana principal de YaST2-ncurses

Aquí pueden observar tres áreas: En la parte izquierda, enmarcada por unagruesa línea blanca, se presentan las categorías en las que están clasificados losdistintos módulos. La categoría activa está resaltada por un fondo de color. Ala derecha, enmarcados por un fino cuadro blanco, se encuentran los móduloscorrespondientes a la categoría activa. En la parte inferior están los botones de‘Ayuda’ y ‘Salir’.

Después de iniciar por primera vez el Centro de Control de YaST2, se seleccionaautomáticamente la categoría de ‘Software’. Puede cambiar de categoría con lasteclas

�� ��↓ y�� ��↑ . Para iniciar un módulo de la categoría seleccionada pulse la tecla�� ��→ . La lista de módulos aparece ahora enmarcada con una línea gruesa. Selec-

cione el módulo deseado con las teclas�� ��↓ y

�� ��↑ . El pulsar de manera continua lasteclas de flechas le permite ”navegar” por la lista de módulos disponibles. Unavez que un módulo ha sido seleccionado, su nombre aparece resaltado en colory en la ventana inferior aparece una breve descripción del mismo.

Con la tecla�� ��Intro puede iniciar el módulo deseado. Los diversos botones o cam-

pos de selección del módulo contienen una letra de otro color (amarillo en la

72 Funcionamiento

Page 91: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

3Ya

ST2e

nm

od

ote

xto(n

curse

s)

configuración por defecto). La combinación�� ��Alt +

�� ��letra_amarilla le permite selec-cionar directamente el botón en cuestión sin tener que navegar con

�� ��Tab .

Abandone el Centro de Control de YaST2 con el botón ‘Salir’ o seleccionando elpunto ‘Salir’ en la lista de categorías y pulsando a continuación

�� ��Intro .

Limitaciones de las combinaciones deteclas

Si en su sistema con un servidor X en funcionamiento se puede utilizar combi-naciones de teclas con ALT, puede que estas no funcionen con YaST2. Ademáspuede que teclas como

�� ��Alt o�� ��⇑ ya estén ocupadas por otras configuraciones

del terminal que se utiliza.�� ��Alt en lugar de�� ��Esc : Las combinaciones con Alt pueden realizarse con

�� ��Esc envez de

�� ��Alt , p. ej.�� ��Esc +

�� ��h en vez de�� ��Alt +

�� ��h .

Saltar hacia adelante o hacia atrás con�� ��Control +

�� ��f y�� ��Control +

�� ��b : En casode que las combinaciones con

�� ��Alt y�� ��⇑ ya estén ocupadas por el gestor

de ventanas o el terminal, utilice de forma alternativa las combinaciones�� ��Control +�� ��f (hacia adelante) y

�� ��Control +�� ��b (hacia atrás).

Limitaciones de las teclas de función: En SuSE Linux 8.2 las teclas F tambiénestán ocupadas con funciones (véase abajo). También aquí puede que de-terminadas teclas F ya estén ocupadas según el terminal escogido y porlo tanto no estén disponibles para YaST Sin embargo en una consola detexto, las combinaciones con

�� ��Alt y las teclas de función deberían estar to-talmente disponibles.

A continuación, se parte de que las combinaciones de teclas con�� ��Alt funcionan

correctamente.

Trabajar con los módulos

Navegación entre botones/listas de selección: Con�� ��Tab y

�� ��Alt +�� ��Tab puede

navegar entre los botones y los cuadros de listas de selección.

Navegación por listas de selección: Siempre que esté en un cuadro activo en elque se encuentre una lista de selección, se puede mover con las teclas dedirección (

�� ��↑ y�� ��↓ ) entre los distintos elementos, p. ej. entre los módulos

de un grupo de módulos en el centro de control.

73SuSE Linux – Manual de Administración

Page 92: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Activar botones y casillas de control La selección de botones con un corchetevacío (casillas de control) o de aquellos con un paréntesis redondo se rea-liza con

�� ��Espacio o�� ��Intro . La selección de botones en la parte inferior de los

módulos se realiza con�� ��Intro cuando están seleccionados (en color verde),

o más rápidamente, con la combinación�� ��Alt +

�� ��letra_amarilla (véase la Figu-ra 3.2).

Las teclas de función: Las teclas F (de�� ��F1 a

�� ��F12 ) están asimismo ocupadascon funciones. Sirven de acceso rápido a los distintos botones disponibles.Qué teclas F están ocupadas con qué funciones depende del módulo deYaST en el que se encuentre, ya que se ofrecen distintos botones en cadamódulo (p. ej. detalles, infos, añadir, eliminar. . . ). La Ayuda de YaST, ala que puede acceder con

�� ��F1 , le proporciona información sobre las fun-ciones que hay en cada tecla F.

Figura 3.2: El módulo de instalación de software

Arranque de módulos individuales

Para ahorrar tiempo, los módulos de YaST2 se pueden iniciar individualmente.Basta con introducir:

yast 〈nombremódulo 〉

El módulo de red p. ej. se arranca con yast lan .

74 Arranque de módulos individuales

Page 93: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

3Ya

ST2e

nm

od

ote

xto(n

curse

s)

Puede obtener una lista con el nombre de todos los módulos disponibles en susistema con yast -l o con yast --list .

La actualización online de YaST

La actualización en línea de YaST (YOU – YaST Online Update) puede contro-larse e iniciarse desde una consola. Como usuario root , puede utilizar el co-mando

tierra:/root # yast2 online_update .auto.get

para recibir desde el servidor que se encuentre en primera posición en la lista/etc/suseservers la lista de los parches actuales de todos los rpm. Si só-lo quiere cargar unos determinados parches, se pueden utilizar opciones adi-cionales como security , recommended , document , YaST2 y optional .

security sólo carga parches relacionados con la seguridad; recommendedsirve para cargar los parches que SuSE recomienda; document ofrece infor-mación sobre los parches o el servidor FTP; YaST2 sólo carga los parches paraYaST2; y con optional se cargan los parches de menor importancia.

La información sobre los parches se guarda en /var/lib/YaST/you/i386/update/8.2_o_X.Y/patches . Sólo root está autorizado a leerlos; X.Y rep-resenta la versión de SuSE Linux en cuestión.

El comando para descargar p. ej.los parches de seguridad es:

tierra:/root # yast2 online_update .auto.get security

Cada vez que utiliza .auto.get , se actualiza la lista de los servidores FTP en/etc/suseservers . Para desactivarlo, modifique dentro del fichero /etc/rc.config la línea:

tierra:/root # YAST2_LOADFTPSERVER="yes"

poniendo no en lugar de yes .

La instalación de los parches se lleva a cabo mediante:

tierra:/root # yast2 online_update .auto.install

Con este comando se instalan todos los parches que se hayan bajado de Internet.Para instalar un sólo un determinado grupo de parches, se pueden utilizar lasmismas opciones como en el caso de .auto.get .

La ventaja de este método es la automatización; como administrador de sistematiene la posibilidad de descargar los paquetes p. ej.durante la noche e instalarlosa la mañana siguiente.

75SuSE Linux – Manual de Administración

Page 94: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Cronjobs para YOU

Puesto que no todo el que quiere o debe utilizar YOU está familiarizado concronjobs, a continuación presentamos una breve introducción. Existen princi-palmente dos posibilidades para un cronjob; aquí se describe la más sencilla:

1. Entre al sistema como ( root)

2. Arranque el editor de Crontab con el comando crontab -e .

3. Escriba i para acceder al modo de inserción del programa vi

4. Introduzca las siguientes líneas:

MAILTO=” ”13 3 * * 0 /sbin/yast2 online_update auto.get

53 3 * * 0 /sbin/yast2 online_update auto.install

Las primeras 5 posiciones de las dos últimas líneas indican de izquierda aderecha: 13=minutos, 3=horas, *=es igual el día del mes, *=es igual el mesdel año, 0=domingo. Esto quiere decir que se iniciará un Cronjob cadadomingo a las 3 horas y 13 minutos de la noche. Por tanto la siguiente en-trada indica 40 minutos después, los domingos a las 3 horas y 53 minutos.La línea MAILTO=” ” impide que ( root) reciba un mail de YaST2-ncurses,por lo que puede quedar vacío.

AvisoIntroduzca la hora para los Cronjobs arbitrariamente, es decir, no esnecesario que sea la misma hora que en el ejemplo anterior, ya quede ser así habría una sobrecarga en el servidor FTP, o se rebasaríael número máximo de accesos que se pueden realizar simultánea-mente.

Aviso

5. Guarde el Cronjob con la siguiente sucesión de teclas (una detrás de otra)�� ��Esc :wq seguido de�� ��↵ o bien

�� ��Esc ZZ.

El daemon Cron se reiniciará automáticamente y su Cronjob quedará guardadoen el fichero /var/spool/cron/tabs/root .

76 La actualización online de YaST

Page 95: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

El proceso de arranquey el gestor de arranque

En este capítulo se presentan diferentes métodos para arrancar el sistema. Paraque se pueda comprender cada uno de ellos, al principio se explican algunosdetalles sobre el proceso de arranque. Después se describe detalladamente elgestor de arranque LILO comparándolo con GRUB.

Hasta ahora LILO era el gestor de arranque empleado por defecto. Si realiza unaactualización de una versión anterior, también se instalará LILO. En cambio, si setrata de una nueva instalación, se instalará GRUB.

El proceso de arranque en un PC . . . . . . . . . . . . . . . 78Concepto de arranque . . . . . . . . . . . . . . . . . . . . . 79Ficheros map, GRUB y LILO . . . . . . . . . . . . . . . . . . 80Configuración del cargador de arranque con YaST2 . . . . . 81Arrancar con GRUB . . . . . . . . . . . . . . . . . . . . . . 84Arrancar con LILO . . . . . . . . . . . . . . . . . . . . . . . 87Configuración de LILO . . . . . . . . . . . . . . . . . . . . 89Crear un CD de arranque . . . . . . . . . . . . . . . . . . . 95

Page 96: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El proceso de arranque en un PC

Después de encender el ordenador, la BIOS ((ingl. Basic Input Output System))inicia la pantalla y el teclado y comprueba la memoria RAM. Hasta este mo-mento el ordenador aún no utiliza ningún medio de almacenamiento (disquete,disco duro).

A continuación, de los valores que están en la CMOS (CMOS setup) se lee la in-formación sobre los periféricos más importantes, la hora y la fecha. En este mo-mento se ha de conocer ya el primer disco duro y su geometría, así que la cargadel sistema operativo desde este disco puede comenzar.

Para ello se lee desde el primer disco duro, el primer sector físico de datos deltamaño de 512 bytes y se carga a la memoria. El control pasa a este pequeñoprograma y la ejecución de los comandos en este determina a partir de ahorael proceso de arranque. Estos primeros 512 bytes en el primer disco duro se de-nominan en inglés Master Boot Record (MBR).

Hasta el mismo momento de cargar el MBR, el arranque es exactamente el mis-mo en cualquier PC y completamente independiente del sistema operativo ins-talado; el ordenador sólo 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 lossistemas operativos. Los primeros 446 bytes están reservados para código deprogramas. Los próximos 64 bytes ofrecen espacio para una tabla de particionescon hasta 4 entradas; apartado Particionar para usuarios avanzados en la página 27.. Sin la tabla de particiones no puede existir ningún sistema de ficheros, es decir,es prácticamente imposible usar el disco duro. Los últimos 2 bytes deben con-tener una ”cifra mágica” (AA55): un MBR que tenga otra cifra será tratado comono 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 lapartición extendida que es un ”contenedor” para otras particiones. Los sectoresde arranque ofrecen 512 bytes de espacio y sirven para albergar código, quepuede ser ejecutado por el sistema operativo que resida en esta partición. Enel caso de los sectores de arranque de DOS, Windows u OS/2, esto es realmenteasí y aparte del código ejecutable también contienen información importante

78 El proceso de arranque en un PC

Page 97: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

del sistema de ficheros. Por el contrario, los sectores de arranque de una parti-ción Linux están en principio vacíos (!), incluso después de haber generado elsistema de ficheros. Por lo tanto, una partición Linux no es autoarrancable aunquetenga 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 últimos2 bytes la misma ”cifra mágica” que el MBR (AA55).

Arranque de DOS o Windows 95/98

En el MBR de DOS del primer disco duro hay una entrada de partición marcadacomo activa (ingl. bootable), es decir, que se busca allí el sistema a cargar por loque DOS debe estar instalado, en todo caso, en el primer disco duro. El códigode 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álidoen la partición indicada.

Si fuera el caso, el código en este sector de arranque se ejecuta como segundopaso del Bootloader (ingl. secondary stage loader). Este código carga los progra-mas de sistema y finalmente aparece el conocido prompt del DOS o la interfazgráfica de Windows 95/98.

En DOS una sola partición primaria puede ser marcada como activa, lo cual sig-nifica que el sistema DOS no puede residir en una unidad lógica dentro de unapartición extendida.

Concepto de arranque

El ”concepto de arranque” más simple que uno se puede imaginar es el de unordenador con un solo sistema operativo. Para este caso, acabamos de comentarlos procesos que transcurren durante el inicio. Un proceso de arranque seme-jante también sería imaginable para un ordenador de ”sólo-Linux” y en estecaso no sería necesaria la instalación de GRUB o LILO. Pero no se podría indicaral kernel una línea de comandos para el inicio (con información adicional sobreel hardware o con indicaciones especiales respecto al arranque, etc.).

En cuanto existen varios sistemas operativos instalados en un ordenador, exis-ten también diferentes conceptos de arranque:

Arrancar sistemas operativos adicionales de disquete El primer sistemaoperativo se carga desde el disco duro y los demás desde la disqueterausando un disquete de arranque.

79SuSE Linux – Manual de Administración

Page 98: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Condición: Existe una disquetera desde la cual se puede arrancar.

Ejemplo: Linux se instala como sistema adicional a Windows y searranca siempre desde un disquete de arranque.

Ventajas: Se ahorra la instalación del gestor de arranque.

Desventajas: Se debe mantener siempre un buen stock de disquetes dearranque que funcionen y el arranque tarda más.

El hecho de que Linux no pueda arrancar sin el disquete de arranquepuede ser una ventaja tanto como una desventaja según las condi-ciones de uso.

Instalación de un gestor de arranque Un gestor de arranque (ingl. bootman-ager), permite mantener varios sistemas operativos en un ordenador y al-ternar entre ellos. El usuario selecciona el sistema operativo durante el ar-ranque; para cambiar de sistema operativo se debe reiniciar el ordenador.La condición previa es que el gestor de arranque que se elija se ”adapte” atodos los sistemas operativos instalados.

Ficheros map, GRUB y LILO

El mayor problema al arrancar el sistema operativo consiste en que el kernel seencuentra en un fichero dentro de un sistema de ficheros dentro de una parti-ción dentro de un disco duro. Sin embargo, para la BIOS los conceptos de sis-tema de ficheros y particiones son totalmente desconocidos.

Para solucionar este problema, se crearon los denominados ”maps” y ”ficherosmap”. En los mapas se anotan los bloques físicos del disco duro que contienenlos ficheros lógicos. Cuando se trabaja con uno de estos mapas, la BIOS carga losbloques físicos en el mismo orden en que se encuentran en el fichero de mapas,y de este modo produce los ficheros lógicos en la memoria.

La diferencia fundamental entre LILO y GRUB consiste en que LILO confía casipor completo en los maps, mientras que GRUB intenta liberarse de los maps fi-jos durante el arranque lo más rápidamente posible. GRUB consigue hacer estomediante el código del sistema de archivos (ingl. ()file system code), que le posi-bilita acceder a los ficheros a través de la ruta y no mediante los números debloque.

Esta diferencia tiene un fundamento histórico. En los primeros días de Linux ex-istían muchos sistemas de ficheros distintos que se peleaban por la supremacía.Werner Almesberger desarrolló un gestor de arranque (LILO) que no necesita-ba saber el tipo de ficheros en que se encontraba el kernel que se quería arran-car. La idea que se esconde detrás de GRUB se remonta más atrás, a los días del

80 Ficheros map, GRUB y LILO

Page 99: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

Unix y BSD tradicionales. Estos sistemas se habían acostumbrado a un deter-minado tipo de sistema de ficheros y, desde el principio, habían reservado unespacio para el gestor de arranque. Este gestor conocía la estructura del sistemade ficheros al que estaba ligado, por lo que era capaz de encontrar el kernel consu nombre en el directorio root.

Otra diferencia fundamental consiste en que el código de arranque (ingl.()bootcode) de LILO está escrito con un ”assembler” de 16 bits, mientras queGRUB está implementado en su mayor parte en un código C portable de 32 bits.Las consecuencias de esto nos llevarían más allá del marco de este libro.

En el siguiente apartado se describe la instalación y configuración de ungestor de arranque tomando como ejemplo al gestor GRUB. A continua-ción se describirán las diferencias con respecto al uso de LILO. Una descrip-ción más detallada de LILO se encuentra en ?lilo). Las indicaciones se encuen-tran en: /usr/share/doc/packages/lilo/user.dvi . Puede leer el tex-to en la pantalla con programas como ( xdvi) o imprimirlo con el comandolpr /usr/share/doc/packages/lilo/user.dvi .

Configuración del cargador de arranquecon YaST2

Si bien la configuración del cargador de arranque se ha simplificado enorme-mente gracias al módulo de YaST, no se recomienda realizarla sin conocer antesel concepto en el que se basa. Por eso le aconsejamos leer el apartado Arrancarcon GRUB en la página 84 para GRUB o Arrancar con LILO en la página 87 antesde modificar la configuración del cargador de arranque. Las explicaciones si-guientes se refieren sobre todo al cargador de arranque estándar GRUB.

En el centro de control de YaST2, ejecute el módulo ‘Configuración del cargadorde arranque’ del menú ‘Sistema’. En este módulo puede ver y modificar la confi-guración actual del cargador de arranque.

La ventana principal

La casilla de configuración con el fondo blanco está dividido en tres columnas.A la izquierda bajo ‘Ch.’ se marcan como modificadas las opciones que aparecenen la columna del medio. Los valores actuales se indican en la columna de laderecha.

Pulse el botón ‘Añadir’ para agregar una nueva opción. Si sólo desea cambiar elvalor de una opción, pulse en ‘Editar’; y si no quiere usar una opción existente,pulse ‘Borrar’.

81SuSE Linux – Manual de Administración

Page 100: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

A la derecha bajo la ventana de configuración se encuentra el cuadro de menú‘Restablecer’ que contiene las siguientes opciones:

Proponer nueva configuración Se elabora una nueva propuesta de configu-ración. Si durante el proceso se encuentra en otra partición una versiónanterior de Linux u otro sistema operativo, serán integrados en el menúde arranque. Allí puede seleccionar si Linux debe arrancar directamenteo bien su antiguo cargador de arranque. En este último caso aparece alarrancar un segundo menú de arranque.

Iniciar nueva configuración desde cero Usted lleva a cabo toda la configura-ción sin servirse de las propuestas de configuración.

Recargar configuración del disco Se leen los ficheros de configuración exis-tentes y a continuación puede modificarlos.

Proponer nueva configuración y fusionar con otros menús existentes En casode que otro sistema operativo o una antigua versión de Linux estén insta-lados en otra partición, el menú constará de una entrada para el nuevoSuSE Linux, una entrada para el otro sistema y todas las entradas del an-tiguo menú de arranque. Este procedimiento puede tardar un poco. Encaso de utilizar LILO, esta posibilidad no existe.

Junto al cuadro de menú de Restablecer se encuentra el botón ‘Editar archivosde configuración’ que permite modificar los archivos de configuración rele-vantes directamente en un editor. Puede acceder al fichero deseado a travésde la casilla de selección y allí editarlo directamente. Para guardar los cambiospulse en ‘OK’. Con ‘Cancelar’ puede salir de la configuración del cargador dearranque y con ‘Atrás’ volver a la máscara principal.

AtenciónTenga en cuenta que el orden de las opciones o de los comandos en ca-so de GRUB desempeña un papel muy importante. Aténgase al ordenpredefinido, ya que de no ser así el ordenador podría no arrancar.

Atención

Opciones de configuración del cargador de arranque

Para usuarios con menos experiencia, la configuración dirigida por YaST esquizá más larga pero también más sencilla que editar los ficheros directamente.Seleccionando una opción con el ratón y pulsando en ‘Editar’, aparece un diálo-go en el que puede modificar la configuración según sus necesidades. Al pulsar

82 Configuración del cargador de arranque con YaST2

Page 101: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

en ‘OK’ confirma los cambios y vuelve al diálogo principal, desde donde puedeeditar otras opciones. Estas opciones varían dependiendo del cargador de ar-ranque. A continuación le presentamos algunas opciones de GRUB:

Tipo de cargador de arranque: A través de esta opción puede cambiar entreGRUB y LILO. A continuación aparece otro diálogo en el que puede es-pecificar el tipo de cambio. Por ejemplo, puede convertir la configuraciónactual de GRUB en una configuración parecida de LILO, aunque durante elproceso se puede perder alguna información si no existen opciones equi-valentes. También puede realizar una nueva configuración o bien dejarque YaST elabore una nueva propuesta de configuración que puede modi-ficar si lo desea. Otra posibilidad adicional consiste en cargar la configu-ración del disco duro. Si decide volver al cargador de arranque definidoanteriormente, puede cargar su configuración mediante la última opción.No obstante, esto sólo es posible si no abandona el módulo del cargadorde arranque.

Ubicación del cargador de arranque: En este diálogo se define dónde debeinstalarse el cargador de arranque: en el Master Boot Record (MBR), enel sector de arranque de la partición boot, en el sector de arranque de lapartición raíz, o en un disquete. La opción ‘Otros’ le permite seleccionarlibremente el destino de la instalación. Puede encontrar más información aeste respecto en la sección Fundamentos en la página 88.

Orden de los discos: Si su ordenador contiene dos o más discos duros, indiqueaquí el orden correspondiente a las opciones de la BIOS del ordenador.

Entrada estándar: En esta opción puede definir qué kernel o sistema operativose cargará de manera estándar si no selecciona ninguna opción en el menúde arranque. Una vez transcurrido el tiempo de espera definido, se ar-ranca el sistema estándar. Pulsando en esta opción y en el botón ‘Editar’,obtiene una lista con todas las entradas del menú de arranque. Elija unaentrada de la lista y pulse en ‘Definir como opción por defecto’. Tambiénpuede editar una entrada pulsando en ‘Editar’. Este diálogo no se dife-rencia de los siguientes; en todos ellos tiene la posibilidad de cambiar elorden del menú de arranque, añadir, editar o borrar entradas, o definirlascomo opciones por defecto.

Entradas disponibles Con esta opción puede ver en la ventana principal lasentradas de menú disponibles. Al seleccionar esta entrada y pulsar ‘Edi-tar’, aparece el mismo diálogo que en ‘Entrada estándar’.

Activar la partición del cargador de arranque Esta opción le permite activarla partición en la que se ha instalado el cargador de arranque, indepen-

83SuSE Linux – Manual de Administración

Page 102: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

dientemente de dónde se encuentre el directorio /boot o / (root) con losficheros del cargador de arranque.

Sustituir código en MBR Si cambia la ubicación del cargador de arranque,aquí puede decidir si se sobreescribe el MBR.

No se mencionarán aquí las opciones incluidas en la última sección. Interesantees sin duda la opción ‘tiempo de espera’, con la que se puede definir el tiempoen segundos que el cargador de arranque espera instrucciones antes de arrancarel sistema estándar. Aquí tiene la oportunidad de añadir una serie de opcionesmediante el botón correspondiente.

Según el cargador de arranque utilizado, puede encontrar información adi-cional sobre el resto de opciones en el apartado Arrancar con GRUB en es-ta página o en El contenido del fichero lilo.conf en la página 89. En el caso deGRUB, existe además un completo manual en línea en la página web: http://www.gnu.org/software/grub/ . Las páginas del manual de lilo.conf ,a las que puede acceder con el comando man lilo.conf , contienen abundantedocumentación sobre todas las opciones de LILO.

Arrancar con GRUB

Aparte de los puntos ya mencionados, la mayoría de las funciones de LILO tam-bién sirven para GRUB. Sin embargo, el usuario notará algunas diferencias.

Al igual que LILO, GRUB está compuesto por dos etapas: la primera es de 512bytes y está guardada en el MBR o en el bloque de arranque de una partición;la segunda etapa (”stage2”) es más grande y se puede encontrar mediante unfichero map. Pero a partir de este punto, GRUB se diferencia de LILO, ya questage2 puede acceder directamente al sistema de ficheros. Actualmente, se so-portan ext2, ext3, reiser FS, jfs, xfs, minix y el sistema DOS FAT FS utilizado porWindows. Los ficheros de tales sistemas de un dispositivo de disco BIOS so-portado (disquete o discos duros reconocidos por la BIOS) se pueden mostrar,utilizar como comando o como fichero de menú, o cargarse como kernel o initrden la memoria, exclusivamente mediante la ejecución de los comandos corres-pondientes, seguidos por el dispositivo de la BIOS y una ruta.

La mayor diferencia con LILO consiste en que, una vez que GRUB está instalado,se puede cambiar o añadir entradas en el menú y en el kernel sin más. Al arran-car GRUB encontrará de forma dinámica el contenido de los ficheros y los podráleer.

84 Arrancar con GRUB

Page 103: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

El menú

Tras la instalación, el fichero de menú es el fichero de GRUB más importantepara el usuario. Normalmente se suele encontrar en /boot/grub/menu.lst .Contiene toda la información sobre otras particiones o sistemas operativos, quese pueden arrancar con ayuda del menú.

En cada arranque del sistema, GRUB vuelve a leer el fichero de menú del sis-tema de ficheros. Por lo tanto, no hay ninguna necesidad de actualizar GRUBdespués de modificar el fichero; sencillamente utilice YaST2 o su editor favorito.

Este fichero de menú contiene comandos. La sintaxis es muy sencilla. Cada líneaincluye un comando, seguido de los parámetros opcionales separados por espa-cios en blanco al igual que en la shell. Por razones históricas, algunos comandostienen un signo de igualdad como primer parámetro. Las líneas de comentarioscomienzan con ‘#’ .

Para reconocer las entradas de menú en la vista del menú, debe dar un nombreo un title a cada entrada. El texto que aparece tras la palabra clave titlese mostrará, incluyendo los espacios en blanco, en el menú como opción paraseleccionar. Según la elección de las entradas del menú, se ejecutarán todos loscomandos que se encuentren antes del siguiente title .

El caso más sencillo es la ramificación en el arranque de otro sistema operativo.El comando es chainloader y el argumento suele ser el bloque de arranque deotra partición en GRUBs anotación por bloque (ingl. block-notation), por ejemplo:

chainloader (hd0,3)+1

Los nombre de dispositivo que se encuentran en GRUB se explican en el aparta-do Nombres para dispositivos de la BIOS en la página siguiente. El ejemplo anteriorespecifica el primer bloque de la cuarta partición del primer disco duro.

Con el comando kernel se puede especificar una copia del kernel (ingl.()kernel image). El primer argumento es la ruta a la copia del kernel de una par-tición. El resto de los argumentos mostrarán el kernel en la línea de comandos.

Si el kernel no tiene compilado el driver adecuado para el acceso a la particiónroot, se debe introducir initrd . Aquí se trata de un comando GRUB, que tienela ruta al fichero initrd como único argumento. Puesto que la dirección de cargadel initrd se encuentra en la copia del kernel cargada, el comando initrd debeseguir a kernel .

El comando root facilita la especificación de los ficheros del kernel y de initrd.Dicho con exactitud, este comando no hace nada, sencillamente facilita la en-trada de rutas en el sistema de ficheros. root tiene como único argumento o undispositivo GRUB o una partición de aquel. Todas las rutas del kernel, de initrd

85SuSE Linux – Manual de Administración

Page 104: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

o de otros ficheros en las que no se ha introducido explícitamente un dispositi-vo, anticiparán el dispositivo hasta el siguiente comando root .

Al final de cada entrada de menú se encuentra implícito el comando boot , porlo que no es necesario escribirlo en el fichero de menú. Si se encuentra en lasituación de utilizar GRUB de forma interactiva en el arranque, debe introducirel comando boot al final. boot no tiene argumentos; simplemente controla lacopia cargada del kernel o el ”chain loader” indicado.

Si ha introducido todas las entradas de menú, debe fijar una entrada comodefault . En caso contrario, se utilizará la primera (entrada 0). También tiene laposibilidad de dar un timeout en segundos antes de que ocurra esto. timeout ydefault se escriben normalmente antes de las entradas de menú.

Nombres para dispositivos de la BIOS

Se ve el origen de GRUB en la forma en que se adjudican los nombres de losdispositivos de la BIOS. Se utiliza un esquema similar a BSD: a las disqueteras0x00, 0x01 se les denomina fd0 y fd1, y a los discos duros (0x80, 0x81,0x82 ), reconocidos por la BIOS o mediante controladoras adicionales, se les de-nomina hd0, hd1, etc., independientemente del tipo de controladora. Pero losnombres de dispositivo de Linux no pueden ser asignados de forma inequívocaa los nombres de dispositivos de la BIOS. Este problema existe tanto con LILOcomo con GRUB. Ambos utilizan algoritmos similares para generar esta asig-nación. Sin embargo GRUB guarda esta asignación en un fichero con el que sepuede trabajar.

Las particiones del disco duro se especifican añadiendo comas y el número de lapartición. La ruta completa de GRUB está compuesta de un nombre de disposi-tivo, escrito entre paréntesis así como la ruta del fichero del sistema de ficherosde la partición indicada. La ruta comienza con ‘(’ #). Por ejemplo, en un sis-tema con un sólo disco duro IDE y Linux en la primera partición, el kernel dearranque podría ser

(hd0,0)/boot/vmlinuz

AtenciónLa cuenta de las particiones en GRUB comienza con cero. (hd0,0) equiv-ale a /dev/hda1.

Atención

86 Arrancar con GRUB

Page 105: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

Instalación con GRUB shell

GRUB existe en dos versiones. Una como ”gestor de arranque” (ingl.()bootloader) y otra como programa Linux normal. Este programa se denomi-na GRUB shell. La posibilidad de instalar GRUB como gestor de arranque en undisco duro o en un disquete está directamente integrada en GRUB, ya sea conel comando install o con setup . Así está disponible en la GRUB shell cuan-do Linux está funcionando y GRUB se ha cargado al arrancar, lo que facilita elrescate de un sistema defectuoso.

Pero cuando se ejecuta como programa Linux, se debe tomar en cuenta el al-goritmo de asignación. El programa lee el fichero device.map , compuesto delíneas que contienen los nombres de dispositivo de GRUB y de Linux. Puestoque el orden de IDE, SCSI y otros discos duros depende de distintos factores yLinux no puede reconocer esta asignación, existe la posibilidad de establecer elorden en device.map . Si hay problemas al arrancar, compruebe que el ordenen este fichero se corresponde con el orden de la BIOS. El fichero se encuentra enel directorio GRUB /boot/grub/ .

Información adicional

La página web http://www.gnu.org/software/grub/ contiene abun-dante información sobre GRUB en alemán, inglés y japonés. el manual onlineestá disponible sólo en inglés.

En caso de que texinfo esté instalado en su sistema, puede utilizar el comandoinfo grub para ver en la shell las páginas de información sobre GRUB.

Arrancar con LILO

LILO el gestor de arranque de Linux, resulta idóneo para su instalación en elMBR. LILO tiene acceso a ambos discos duros en modo real y, ya desde su ins-talación, es capaz de encontrar todos los datos que necesita en los discos duros”crudos”, sin tener información acerca de la partición. Es por eso que existe tam-bié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 tablade particiones.

Pero la mayor diferencia respecto al arranque tipo DOS es la posibilidad de ele-gir entre diferentes sistemas operativos, siendo uno de ellos Linux. Después dela carga del MBR en la memoria RAM se ejecuta LILO, que le permite al usuarioelegir de una lista de sistemas operativos instalados.

87SuSE Linux – Manual de Administración

Page 106: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Durante el inicio es capaz de cargar y arrancar sectores de arranque de parti-ciones, con el fin de arrancar un sistema operativo desde esa partición, o cargarun kernel de Linux para arrancar Linux. Además ofrece la posibilidad de pasaruna línea de comando al kernel de Linux. Por razones de seguridad, los servi-cios de LILO pueden ser protegidos total o parcialmente por contraseña .

Fundamentos

La maquinaria de arranque de LILO se compone de las siguientes partes:

sector de arranque tipo LILO con un comienzo del código de LILO (”primerafase”) que activa el LILO real

código máquina de LILO por lo general en: /boot/boot-menu.b

fichero map (/boot/map ), que genera LILO durante su instalación y quecontiene información sobre la ubicación del kernel de Linux y de otrosdatos adicionales.

opcional: el fichero de mensaje (/boot/message ), que crea regularmenteuna selección de arranque gráfica.

los distintos kernel de Linux y sectores de arranque, que LILO debe ofre-cer para el arranque.

Aviso¡Cualquier acceso de escritura y también el movimiento de alguno de estoscomponentes convierte el fichero map en no válido y pide por lo tantouna reinstalación de LILO (ver en la página 93)! Esto se refiere especial-mente a cualquier cambio del kernel (p. ej. la actualización).

Aviso

El sector de arranque de LILO puede instalarse en los siguientes destinos:

En un disquete

Este es el método más fácil, pero a la vez el más lento, para arrancar conLILO. Escoja este método si no desea sobreescribir sobre el sector de ar-ranque existente.

88 Arrancar con LILO

Page 107: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

En el sector de arranque de una partición Linux primaria del primer disco duroEsta variante no toca el MBR. Antes de arrancar hace falta marcar la par-tición con fdisk como activa. Para ello, escriba como ( root) ( fdisk -s <Par-tition>). fdisk le pregunta otra entrada; ‘(’ m) le proporciona una lista delas posibles entradas, y con ‘(’ a) se podrá arrancar desde la particiónindicada.

(En el Master Boot Record)

Ésta es la variante que ofrece mayor flexibilidad. Se trata especialmentede la única posibilidad de arrancar Linux desde el disco duro, cuandotodas las particiones de Linux se encuentran en el segundo disco y no hayninguna partición extendida en el primero. No obstante, la modificacióndel MBR conlleva ciertos riesgos en caso de una instalación indebida.

Si se ha usado hasta ahora otro gestor de arranque . . .

. . . y se quiere seguir usando el mismo, existen, dependiendo de susprestaciones, un par de posibilidades adicionales. Un caso muy frecuente:Tiene una partición primaria en el segundo disco y desde allí quiere arran-car su SuSE Linux; suponiendo además que el ”otro” gestor de arranquepuede iniciar esa partición. En este caso puede hacerlo instalando LILO enel sector de arranque e indicando al otro gestor que la partición se puedearrancar.

Configuración de LILO

Como gestor de arranque flexible, LILO ofrece múltiples posibilidades paraadaptarse a las necesidades individuales. A continuación se explican las op-ciones más importantes; explicaciones más exhaustivas se encuentran en ?.

La configuración de LILO se graba en el fichero /etc/lilo.conf . Es aconse-jable guardar bien el fichero de configuración de la última instalación de LILOy hacer una copia de seguridad antes de cualquier cambio. Ningún cambio seaplica si antes no se instala nuevamente LILO con la última versión del fichero deconfiguración (apartado Instalar y desinstalar LILO en la página 93)!

El contenido del fichero lilo.conf

El fichero /etc/lilo.conf comienza con un apartado global (ingl. global optionssection), con parámetros generales seguido de uno o varios apartados de sistema(ingl. image sections), para los distintos sistemas operativos que LILO debe arran-car. Cada nuevo apartado de sistema se introduce por la opción image o other .

89SuSE Linux – Manual de Administración

Page 108: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El orden de aparición de los sistemas operativos en lilo.conf es importantepor el hecho de que se arranca automáticamente el que aparece primero, en casode que el usuario no intervenga. Esta intervención se puede realizar dentro deun tiempo de espera definido por las opciones delay o timeout .

El fichero 2 muestra una configuración de ejemplo para un ordenador con Linuxy Windows. Al arrancar, se encontrará con las siguientes opciones definidas poreste fichero: un kernel de Linux nuevo (/boot/vmlinuz ), uno como soluciónde cautela (/boot/vmlinuz.suse ), MS-DOS (o Windows 95/98) en /dev/hda1 y el programa Memtest86.

### LILO global sectionboot = /dev/hda # LILO installation target: MBRbackup = /boot/MBR.hda.990428 # backup file for the old MBR

# 1999-04-28vga = normal # normal text mode (80x25 chars)read-onlymenu-scheme = Wg:kw:Wg:Wglba32 # Use BIOS to ignore

# 1024 cylinder limitpromptpassword = q99iwr4 # LILO password (example)timeout = 80 # Wait at prompt for 8 s before

# default is bootedmessage = /boot/message # LILO’s greeting

### LILO Linux section (default)image = /boot/vmlinuz # Defaultlabel = linuxroot = /dev/hda7 # Root partition for the kernelinitrd = /boot/initrd

### LILO Linux section (fallback)image = /boot/vmlinuz.suselabel = Fallsaferoot = /dev/hda7initrd = /boot/initrd.suseoptional

### LILO other system section (Windows)other = /dev/hda1 # Windows partitionlabel = windows

### LILO Memory Test)image = /boot/memtest.binlabel = memtest86

90 Configuración de LILO

Page 109: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

Fichero 2: Configuración de ejemplo en /etc/lilo.conf

Todo lo que está en /etc/lilo.conf entre un símbolo # y el fin de la líneacuenta como comentario. LILO lo ignora igual que el espacio en blanco y usándo-lo se mejora la legibilidad. A continuación, repasamos brevemente las entradasimprescindibles; las opciones adicionales se describen en el apartado El con-tenido del fichero lilo.conf en la página 89.

Sección global (Apartado de parámetros)

• boot= 〈bootdevice 〉Dispositivo sobre el cual se debe instalar (en el primer sector) el sec-tor de arranque de LILO (el destino de la instalación). 〈bootdevice〉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 insta-lación en el MBR.Configuración por defecto: Si falta este parámetro, LILO se instala enla partición raíz actual.

• lba32Esta opción sobrepasa el límite de 1024 cilindros de LILO. Es algo quesólo funciona con el soporte apropiado de la BIOS.

• prompt

Fuerza la aparición del Prompt de LILO. ¡Por defecto no sale ningúnprompt! (ver apartado El contenido del fichero lilo.conf en la página 89,opción delay ).Se recomienda ponerlo cuando LILO debe arrancar más de un sis-tema operativo. Junto con esta opción se debería definir también laopción timeout para que se pueda efectuar un reinicio automáticocuando el usuario no introduce nada.

• timeout= 〈décimas de segundo 〉Define un tiempo de selección y permite así un arranque automáti-co, si no se selecciona nada.. 〈décimas de segundo〉 es el tiempo de quese dispone para realizar una entrada. Al pulsar

�� ��⇑ esta función sedesactiva y el ordenador se queda esperando una entrada. La confi-guración por defecto es 80.

Sección Linux

• image= 〈kernelimage 〉Aquí tiene que aparecer el nombre de la imagen del kernel a arran-car. Esto será por lo general /boot/vmlinuz .

91SuSE Linux – Manual de Administración

Page 110: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

• label= 〈nombre 〉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 permiten espacios o caracteres especiales como la ñ o la Ü, etc.Las reglas exactas para los caracteres permitidos se encuentran en?, capítulo 3.2.1. El valor por defecto es el nombre de la imagen delkernel (p. ej. /boot/vmlinuz ).Con este nombre se selecciona el sistema operativo deseado y encaso de usar varios es recomendable proporcionar una explicaciónmás detallada de los nombres y sistemas en un fichero de mensaje(ver apartado El contenido del fichero lilo.conf en la página 89, opciónmessage ).

• root= 〈rootdevice 〉Esta opción indica al kernel la partición root del sistema Linux (p. ej./dev/hda2 ). ¡Se recomienda definirlo por seguridad! Sin esta op-ción el kernel toma la partición root que está anotada en él mismo.

Apartado Linux [Linux – Ajustes seguros]

En caso de haber instalado un kernel propio, siempre es posible acceder aeste y arrancar el sistema.

• optional

Al borrar /boot/vmlinuz.suse (no se recomienda!), la instalaciónde LILO pasa por alto este apartado sin producir ningún mensaje deerror.

Otro sistema

• other= 〈partition 〉La variable other indica a LILO las particiones de arranque de otrossistemas para poder iniciarlos (p. ej. /dev/hda1 ).

• label= 〈name〉Escoja aquí un nombre para este sistema. La configuración por defec-to – el mero nombre de dispositivo de la partición – no brinda muchainformación.

Memory Test

Aquí sólo aparece el programa para el chequeo de memoria.

92 Configuración de LILO

Page 111: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

En este apartado se han comentado únicamente las entradas más significativasde /etc/lilo.conf . Puede encontrar más información sobre otras opcionesde gran utilidad en la página del manual de lilo.conf , que se muestra con elcomando man lilo.conf .

Instalar y desinstalar LILO

Debido a que GRUB se instala por defecto en una nueva instalación, la siguientedescripción se refiere a aquellos casos en los que LILO deba ser integrado algu-nas opciones especiales en un sistema ya instalado.

AvisoAntes de instalar LILO asegúrese en cualquier caso de que los demás sis-temas operativos disponibles pueden arrancarse con disquete (lo queno funciona en el caso de Windows XP). Sobre todo se tiene que poderusar fdisk. Si es necesario, SuSE Linux puede arrancarse también del CD oDVD de instalación.

Aviso

Instalar después de modificar la configuración

Si se ha cambiado alguno de los componentes de LILO (ver en la página 88) o sise ha modificado su configuración en /etc/lilo.conf , hace falta instalar LILOde nuevo. Esto se lleva a cabo activando el instalador map (ingl. map-installer):

tierra:~ # /sbin/lilo

Primero LILO genera un backup del sector de arranque de destino, graba allí su”primera fase” y genera después un nuevo fichero map (ver en la página 88).LILO confirma en pantalla los sistemas instalados, lo que resulta para el ejemplode arriba en el salida en pantalla:

Added linux *Added suseAdded windowsAdded memtest86

Una vez terminada la instalación, se puede arrancar el ordenador de nuevo:

tierra:~ # shutdown -r now

Después del test de sistema de la BIOS, LILO muestra el prompt que permitepasar parámetros al kernel y elegir la imagen de arranque. Con

�� ��Tab se puedenver los nombres de las configuraciones instaladas.

93SuSE Linux – Manual de Administración

Page 112: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Desinstalar LILO

Para desinstalar LILO se sobreescribe el sector de arranque donde está instaladoLILO con su contenido original. Bajo Linux esto no representa ningún proble-ma, si existe una copia de seguridad válida (ver apartado El contenido del ficherolilo.conf en la página 89 Opción backup ). En este caso también puede recurrir aYaST2.

AvisoLa copia de seguridad de un sector de arranque deja de ser válida cuandola partición correspondiente ha recibido un nuevo sistema de ficheros.La tabla de partición en un backup de MBR pierde completamente suvalidez cuando el disco ha sido reparticionado. Un backup de este estiloes una ”bomba” que puede estallar en cualquier momento, por eso lomejor es borrar backups caducados inmediatamente.

Aviso

Recuperar el MBRD de DOS o Windows 95/98

Lo más fácil es la recuperación de un MBR de DOS, Windows o OS/2. Se efectúacon el siguiente comando de MS-DOS (disponible a partir de la versión DOS 5.0en 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ódigode arranque) y dejan la tabla de partición sin tocar, salvo que el MBR (ver enla página 78) se encuentre como no válido por una ”cifra mágica” falsa; en estecaso se borra la tabla! No olvide activar con fdisk la partición de arranque, ya quelas rutinas del MBR de DOS, Windows y OS/2 lo necesitan.

Antes de continuar conviene hacer otro backup reciente del sector de LILO encuestión; mejor un backup de más que uno de menos. Después se comprueba siel backup antiguo es correcto y si su tamaño es de exactamente 512 bytes. Final-mente devuelva esta información a su ubicación original usando los siguientescomandos:

Si LILO está en la partición yyyy (p. ej. hda1, hda2,. . . ):

tierra:~ # dd if=/dev/yyyy of=fichero-nuevo bs=512 count=1

94 Configuración de LILO

Page 113: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

tierra:~ # dd if=fichero-copia 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-copia 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.

Recuperar el MBR de Windows XPArranque con el CD de Windows XP y pulse la tecla

�� ��R en el Setup para iniciarla consola de recuperación. A continuación seleccione de la lista su instalaciónde Windows XP e introduzca la contraseña del administrador. Introduzca en elprompt el comando FIXMBRy responda con y a la pregunta de confirmación.Finalmente, reinicie el ordenador con exit .

Recuperar el MBR de Windows 2000Arranque con el CD de Windows 2000 CD y pulse la tecla

�� ��R en el Setup y latecla

�� ��K en el siguiente menú para iniciar la consola de recuperación. A conti-nuación seleccione en la lista su instalación de Windows 2000 e introduzca lacontraseña del administrador. Introduzca en el prompt el comando FIXMBRyresponda con y a la pregunta de confirmación. Finalmente, reinicie el ordenadorcon exit .

Crear un CD de arranqueDebe crear un CD de arranque si tiene problemas al arrancar el sistema insta-lado con el gestor de arranque LILO, que ha configurado con ayuda de YaST2.La creación de un disquete de arranque no funciona en las nuevas versiones deSuSE Linux, puesto que los ficheros de arranque ya no caben en un disquete.

ProcedimientoSi su ordenador dispone de una grabadora, se puede crear un CD de arranqueen el que queden grabados los ficheros necesarios para el arranque.Tenga en cuenta que se trata de un ”rodeo”. Por lo general debería ser posi-ble configurar adecuadamente el gestor de arranque LILO. Eche un vistazo a ladocumentación que se encuentra en /usr/share/doc/packages/lilo/README, y a las páginas man de lilo.conf y lilo , que puede invocar con loscomandos man lilo.conf y man lilo .

95SuSE Linux – Manual de Administración

Page 114: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

CD de arranque con ISOLINUX

La forma más sencilla de crear un CD de arranque es utilizar el gestor de ar-ranque Isolinux. Con Isolinux también se puede convertir los CDs de instalaciónde SuSE en CDs de arranque.

Arranque el sistema instalado de la siguiente forma (a partir de SuSE Li-nux 7.2):

• Arranque con el CD o DVD de instalación, tal y como lo hizo en lainstalación.

• Escoja la opción ‘Instalación’ (por defecto).

• Después escoja el idioma y la disposición del teclado.

• En el siguiente menú, escoja el punto ‘Arrancar sistema instalado’.

• Se reconocerá automáticamente la partición root y el sistema arran-cará.

Instale el paquete syslinux con ayuda de YaST2.

Abra una shell como root. Con ayuda de los siguientes comandos secreará un directorio temporal para el CD, en el que copiará todos losficheros necesarios para el arranque del sistema Linux (el gestor de ar-ranque Isolinux, así como el kernel y el initrd.

tierra:~ # mkdir /tmp/CDroot

tierra:~ # cp /usr/share/syslinux/isolinux.bin /tmp/CDroot/

tierra:~ # cp /boot/vmlinuz /tmp/CDroot/linux

tierra:~ # cp /boot/initrd /tmp/CDroot

Ahora edite con su editor preferido el fichero de configuración del gestorde arranque /tmp/CDroot/isolinux.cfg . Cuando quiera utilizarp. ej.pico , invóquelo

pico /tmp/CDroot/isolinux.cfg

Introduzca el siguiente contenido:

DEFAULT linuxLABEL linux

KERNEL linuxAPPEND initrd=initrd root=/dev/hdXY [bootparameter]

96 Crear un CD de arranque

Page 115: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

4Elp

roc

eso

de

arra

nq

uey

elg

esto

rde

arra

nq

ue

Introduzca en el parámetro root=/dev/hdXY , su partición de root. Si noestá seguro de la descripción de la partición, la encontrará en el fichero/etc/fstab . Puede añadir otras opciones al valor [bootparameter]que se utilizarán al arrancar. Los ficheros de configuración serán algoparecido a esto:

DEFAULT linux LABEL linux KERNEL linux APPEND initrd=initrd

root=/dev/hda7 hdd=ide-scsi

Finalmente se creará un sistema de ficheros ISO9660 para el CD sacado delos ficheros con la siguiente orden (escriba todo el comando en la mismalínea):

mkisofs -o /tmp/bootcd.iso -b isolinux.bin -c boot.cat-no-emul-boot -boot-load-size 4-boot-info-table /tmp/CDroot

Compruebe que toda la orden se encuentra dentro de la misma línea

Ahora se puede grabar el fichero /tmp/bootcd.iso en el CD, ya seacon un programa gráfico como KonCD o XCDroast, o desde la línea decomandos:

cdrecord -v speed=2 dev=0,0,0 /tmp/bootcd.iso -eject

Eventualmente el parámetro dev=0,0,0 deberá adecuarse al ID SCSI dela grabadora (lo que puede comprobar mediante la entrada del comandocdrecord -scanbus , o también en la página del manual de cdrecord(man cdrecord )).

¡Pruebe el CD de arranque! Para ello reinicie el ordenador y compruebe sisu sistema Linux arranca correctamente desde el CD.

97SuSE Linux – Manual de Administración

Page 116: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 117: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

El sistema X Window

El sistema X Window o X Window System es prácticamente un estándar paraentornos gráficos de usuario en Unix. Pero sistema X Window, denominadotambién X11, es todavía mucho más: es un sistema basado en redes. Las apli-caciones que estén funcionando en el ordenador tierra pueden mostrar sussalidas en pantalla en el ordenador sol si ambas máquinas están conectadas através de una red. Esta red puede ser una LAN (Local Area Network – red deárea local), pero también es posible que los ordenadores se encuentren separa-dos por miles de kilómetros de distancia y se comuniquen entre sí por medio deInternet.

A continuación le presentamos, entre muchas otras cosas, al programamxf86config, que puede emplearse para configurar monitor, tarjeta gráfica, tecla-do y ratón como alternativa al programa SaX2 . También se explicará la configu-ración 3D de OpenGL. La descripción de los módulos de YaST2 está incluida en?.

Historia de XFree86 . . . . . . . . . . . . . . . . . . . . . . 100La versión 4.x de XFree86 . . . . . . . . . . . . . . . . . . . 101Configuración con xf86config . . . . . . . . . . . . . . . . . 102Optimizar la instalación del sistema X Window . . . . . . . 111Configuración de OpenGL/3D . . . . . . . . . . . . . . . . 120

Page 118: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Historia de XFree86

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 eldesarrollo del X Window System.

XFree86™ es una implementación libre de servidores X para sistemas Unix abase de PC (ver http://www.XFree86.org ). XFree86 se sigue desarrollandopor programadores en todo el mundo, que se unieron en 1992 para formar elXFree86-Team. De esta unión surgió en 1994 la empresa The XFree86 Project,Inc. cuyo objetivo es poner XFree86™ a la disposición de un amplio público ycontribuir con el desarrollo e investigación del sistema X Window. Desde marzodel 2000 existe la versión XFree86 4.x, que está completamente actualizada. SuSELinux incorpora por defecto XFree86 4.0, cuyas características se explican unpoco más adelante.

Los siguientes apartados se ocupan de la configuración del servidor X. Con estefin se explica xf86config, una aplicación que puede utilizarse como alternativa aSaX2 para configurar el sistema X Window.

Para usar el hardware existente (ratón, tarjeta de vídeo, monitor, teclado) de lamejor forma, existe la posibilidad de optimizar la configuración a mano; sola-mente se discutirán los aspectos más importantes de esta optimización manual.Varios ficheros del directorio /usr/share/doc/packages/xf86 al igual quela página del manual de XF86Config (man XF86Config ) contienen informa-ción adicional sobre el sistema X Window.

Aviso

Se recomienda mucha precaución a la hora de configurar el sistemaX Window. Jamás se debe arrancar X sin haber terminado la configu-ración. Un sistema mal ajustado puede provocar daños irreparables alhardware; los monitores de frecuencia fija corren un riesgo especial. Losautores de este libro y SuSE Linux AG no se responsabilizan de posiblesdaños. El presente texto fue redactado con máximo cuidado, no obstante,no se puede garantizar que los métodos presentados sean correctos parasu hardware y que no pueda causarles daño.

Aviso

100 Historia de XFree86

Page 119: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

La versión 4.x de XFree86

SuSE Linux incorpora ahora la versión 4.x de XFree86, que se diferencia en al-gunos aspectos de la versión 3.3, incorporada anteriormente. Para el usuariosolo existen pequeñas diferencias; los entornos gráficos como p. ej. GNOME yKDE 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 existeuna base relativamente pequeña sobre la que se cargan módulos adicionalessegún la necesidad. Por ejemplo, ya no existen servidores X especiales para lasdiferentes tarjetas gráficas; ahora existe un único ejecutable con nombre XFree86que se encuentra en /usr/X11R6/bin . Este representa el servidor X y el driverque se encarga de la comunicación con la tarjeta es un módulo que se puedecargar.

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 nohace falta preocuparse de esto ya que SaX2 se encarga en gran medida de la con-figuració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 dehardware, desarrollar un driver p. ej. para una pantalla táctil o una tarjeta grá-fica muy nueva. Incluso los desarrolladores de XFree86 procuraron la compa-tibilidad entre diferentes sistemas operativos. Un driver para una determinadatarjeta gráfica que fue compilado bajo FreeBSD se puede usar también en Linuxy vice versa. Esta portabilidad se restringe evidentemente a una determinadaplataforma; un módulo compilado para Linux en PowerPC, no se puede usar enun PC con instrucciones x86 (AMDs, Cyrix, Intel, etc.).

Además el soporte del ratón fue mejorado, lo que representa una respuesta másrápida cuando la máquina está muy cargada. En general todo el apartado gráfi-co funciona con más rapidez, debido sobre todo a la arquitectura de aceleracióngráfica XAA mejorada (ingl. XFree86 Acceleration Architecture).

El fichero de configuración es un poco diferente, en comparación a XFree863.3.x. Para ajustar el servidor X en detalle, se recomienda consultar las explica-ciones de la sintaxis del fichero de configuración que se encuentran en el aparta-do Optimizar la instalación del sistema X Window en la página 111. El fichero deconfiguración se encuentra ahora en /etc/X11/XF86Config . Otra mejora esel 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 especialescomo p. ej. fuentes ”true type”, el soporte de la extensión del protocolo 3D glx ,

101SuSE Linux – Manual de Administración

Page 120: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

corrección gamma del monitor y el soporte de varias tarjetas gráficas para unaconfiguración Multihead . Puede encontrar información detallada en el aparta-do Optimizar la instalación del sistema X Window en la página 111.

¿Qué ha cambiado?

XFree86 4.x está basado en la versión anterior 3.3.x. Desafortunadamente no hasido posible portar todos los drivers a la nueva versión, ya que algunos son muycomplejos y el cambio a la arquitectura XAA es otro obstáculo para algunosdrivers. Estas tarjetas gráficas siguen siendo soportadas por XFree86 3.3.6 y seconfiguran igual que antes mediante SaX.

En particular se trata de tarjetas gráficas que fueron soportadas por mediode los siguientes servidores X: XF86_S3, XF86_Mach8, XF86_Mach32 yXF86_8514 . En cuanto a las tarjetas S3, significa que todas las tarjetas que nece-sitan el servidor S3 no están soportadas por XFree86 4.0; en cambio, las tarje-tas S3 soportadas por el servidor SVGA funcionan con XFree86 4.0; estas tarje-tas son aquellas con chip S3 Trio3D, Savage4, Savage3D, Savage2000 y casi todaslas tarjetas S3 Virge.

Las tarjetas que necesitan los servidores X Mach8, Mach32 o 8514 ya no se usanmucho y están – al igual que las tarjetas antiguas del tipo S3 – soportadas pormedio de XFree86 3.3.x.

Configuración con xf86config

SaX como herramienta de configuración supera casi siempre al programaxf86config cuando se trata de configuraciones simples del sistema X Window.En las pocas ocasiones en las que SaX no llega a configurar correctamente elservidor 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 partetiene algunos diálogos ligeramente cambiados y por otra guarda el fichero deconfiguración en /etc/X11/XF86Config .

Por lo tanto, la siguiente descripción se refiere exclusivamente al programaxf86config de XFree86 3.3.x.

En el caso de XFree86 4.x, la utilización de xf86config no es necesaria en la ma-yoría de los casos, ya que aquí las tarjetas gráficas ”problemáticas” tambiénpueden configurarse con el framebuffer o el módulo vga .

Para la configuración se necesita una serie de datos:

102 Configuración con xf86config

Page 121: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

Tipo de ratón, 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 solamentepuede ser ejecutada por el usuario root .

La configuración se inicia con:

tierra:/root # xf86config

Ratón

Después de una pantalla de bienvenida, el primer menú pregunta por el tipo deratón. Aparecen las siguientes opciones:

1. Microsoft compatible (2-button protocol)2. Mouse Systems (3-button protocol)3. Bus Mouse4. PS/2 Mouse5. Logitech Mouse (serial, old type, Logitech protocol)6. Logitech MouseMan (Microsoft compatible)7. MM Series8. MM HitTablet

Mensaje en pantalla 4: Selección de ratón para las X

Configurando el tipo de ratón hay que considerar que, muchos de los ratonesmás recientes de Logitech son compatibles con Microsoft o que usan el protoco-lo MouseMan. ¡La selección de Bus Mouse se refiere a todos los tipos de ratónde bus, también los de Logitech!

El tipo de ratón adecuado se selecciona indicando el número al comienzo de lafila. Después (p. ej. seleccionando el tipo 1) aparece la pregunta por la activaciónde ChordMiddle . Se trata de una opción necesaria para la activación del botóndel medio de algunos ratones 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 tercerbotón de ratón para aquellos que solo tienen dos botones:

103SuSE Linux – Manual de Administración

Page 122: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Please answer the following question with either ‘y’ or ‘n’.Do you want to enable Emulate3Buttons?

Para emular el tercer botón del ratón hay que pulsar simultáneamente los dosbotones.

Después se pregunta por el puerto en el cual está el ratón:Now give the full device name that the mouse is connected to, forexample /dev/tty00. Just pressing enter will use the default,/dev/mouse. Mouse device:

Durante la instalación ya se ha definido un puerto de ratón, así que se puedeusar 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 alcanzancon

�� ��Alt Gr y también para poder usar la tecla izquierda de�� ��Alt como Meta-tecla

– especialmente práctico cuando se usa Emacs.

Monitor

Ahora hay que especificar el monitor. Los datos críticos son la frecuencia verti-cal y horizontal que están generalmente documentados en el manual del moni-tor.

Aviso¡Indicar rangos de frecuencia equivocados puede provocar la destruc-ción del monitor! El sistema X Window solo usa los modos de vídeo queenvían señales localizadas dentro del rango de frecuencias admitidas.

Aviso

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 modes1 31.5; Standard VGA, 640x480 @ 60 Hz2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz

104 Configuración con xf86config

Page 123: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

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 Hz8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz

10 Enter your own horizontal sync rangeEnter your choice (1-10):

Mensaje en pantalla 5: Definición de las frecuencias horizontales del monitor

Sólo en caso de no conocer los datos exactos del monitor, se escogerá una de lasopciones predefinidas. Con ‘10’ es posible introducir las frecuencias exactas.

Después del diálogo que pregunta por las frecuencias horizontales hay quedefinir las verticales. Aquí se presenta también una selección:

1 50-702 50-903 50-1004 40-1505 Enter your own vertical sync range

Enter your choice (1-5):

Mensaje en pantalla 6: Frecuencias verticales detalladas

Como en la anterior pregunta, es mejor introducir los valores exactos en lugarde recurrir a uno de los rangos dados de ‘1’ a ‘4’.

Después se pide introducir un nombre para la descripción del monitor,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 ousar los valores predeterminados pulsando

�� ��Intro . Con esto se finaliza la especifi-cación del monitor.

105SuSE Linux – Manual de Administración

Page 124: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Tarjeta gráfica/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 elnúmero correspondiente. ¡Al elegir una tarjeta gráfica hay que tener en cuentaque 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 demanera individual, aunque la tarjeta ya haya sido elegida anteriormente de lalista de preconfiguraciones.

Las definiciones de la base de datos de tarjetas, contienen información sobreClock-Chip, RAMDAC y el servidor X a usar. Según el caso, se añaden tambiéndatos 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é pre-ocuparse. Es posible volver con ‘q’ a la configuración normal. Al seleccionar unatarjeta, solamente se debería seleccionar una del listado, cuando el nombre dela lista corresponde exactamente con la tarjeta usada. No se recomienda elegiruna tarjeta con un nombre parecido, ya que esto no significa que el hardwaretambién lo sea.

En el apartado Optimizar la instalación del sistema X Window en la página 111 hayinformación adicional sobre la configuración de la tarjeta gráfica.

Después de haber especificado la tarjeta viene la selección del servidor X:

1 The XF86_Mono server. This a monochrome server that should work onany VGA-compatible card, in 640x480 (more on some SVGA chipsets).

2 The XF86_VGA16 server. This is a 16-color VGA server that shouldwork on any VGA-compatible card.

3 The XF86_SVGA server. This is a 256 color SVGA server that supportsa number of SVGA chipsets. It is accelerated on some Cirrus and WDchipsets; it supports 16/32-bit color on certain Cirrusconfigurations.

4 The accelerated servers. These include XF86_S3, XF86_Mach32,XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, XF86_W32 andXF86_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.

106 Configuración con xf86config

Page 125: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

Which one of these four screen types do you intend to runby default (1-4)?

Mensaje en pantalla 7: Selección del servidor X

1 Un servidor para monitores monocromáticos. Debería funcionar concualquier tarjeta gráfica compatible a VGA con una resolución mínimade 640x480 puntos.

2 El servidor de 16 colores XF86_VGA16. Debería funcionar con cualquier tar-jeta compatible a VGA.

3 El servidor SVGA XF86_SVGA. Este servidor de 256 colores soporta unagran cantidad de tarjetas SVGA. Algunas tarjetas de Cirrus y de WDaprovechan la aceleración de gráficos. Hay tarjetas de Cirrus que permitenuna profundidad de color 16 o 32-Bit en modo color.

4 Servidor para tarjetas aceleradoras. Hay varios servidores disponibles (vermás abajo)

5 Esta opción solo existe cuando se ha elegido una tarjeta en la lista anterior. Sepropone el servidor adecuado para la tarjeta.

Cuando se ha elegido un servidor, aparece una pregunta acerca de la generaciónde un enlace simbólico del servidor elegido en /usr/X11R6/bin/X . Al afirmarla 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 es-cribir en el árbol /usr .

Ahora aparece un menú con los servidores X disponibles para tarjetas aceler-adoras, si en la selección anterior se ha escogido ‘4’:

Select an accel server:

1 XF86_S32 XF86_Mach323 XF86_Mach84 XF86_85145 XF86_P90006 XF86_AGX7 XF86_W328 XF86_MACH64

Which accel server:

107SuSE Linux – Manual de Administración

Page 126: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Estos servidores son especiales y soportan las prestaciones adicionales de lascorrespondientes tarjetas. La colocación del enlace supone que el servidor Xcorrecto 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 enmás detalle. Primero se define la cantidad de memoria instalada.

How much video memory do you have on your video card:

1 256K2 512K3 1024K4 2048K5 4096K6 Other

Enter your choice:

Mensaje en pantalla 8: 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 seha elegido antes la tarjeta desde la base 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 pre-gunta por el ”RAMDAC-Setting”. Solo es importante para tarjetas tipo S3 oAGX:

1 AT&T 20C490 (S3 server) att20c4902 AT&T 20C498/21C498/22C498 (S3) att20c4983 AT&T 20C505 (S3) att20c5054 BrookTree BT481 (AGX) bt4815 BrookTree BT482 (AGX) bt4826 BrookTree BT485/9485 (S3) bt4857 Sierra SC15025 (S3, AGX) sc150258 S3 GenDAC (86C708) (autodetected) s3gendac9 S3 SDAC (86C716) (autodetected) s3_sdac

10 STG-1700 (S3) stg170011 TI 3020 (S3) ti302012 TI 3025 (S3) ti3025

108 Configuración con xf86config

Page 127: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

13 TI 3020 (S3, autodetected) ti302014 TI 3025 (S3, autodetected) ti302515 TI 3026 (S3, autodetected) ti302616 IBM RGB 514 (S3, autodetected) ibm_rgb51417 IBM RGB 524 (S3, autodetected) ibm_rgb52418 IBM RGB 525 (S3, autodetected) ibm_rgb52519 IBM RGB 526 (S3) ibm_rgb52620 IBM RGB 528 (S3, autodetected) ibm_rgb52821 ICS5342 (S3, ARK) ics534222 ICS5341 (W32) ics534123 IC Works w30C516 ZoomDac (ARK) zoomdac24 Normal DAC normal

Mensaje en pantalla 9: Indicación del RAMDAC

Generalmente lo mejor es pulsar�� ��↵ y no seleccionar nada, salvo que se haya

elegido una tarjeta que soporta una configuración de RAMDAC especial. Estecaso estará indicado y se recomienda seleccionarlo realmente.

Después de haber contestado a esto se puede elegir el Clock-Chip de las tarjetasaceleradas si es que lo llevan. Seleccionando un Clock-Chip ya no se necesitanlíneas de Clock, ya que los valores Clock necesarios pueden ser programados:

1 Chrontel 8391 ch83912 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a3 ICS2595 ics25954 ICS5342 (similar to SDAC, but not completely compatible)

ics53425 ICS5341 ics53416 S3 GenDAC (86C708) and ICS5300 (autodetected) s3gendac7 S3 SDAC (86C716) s3_sdac8 STG 1703 (autodetected) stg17039 Sierra SC11412 sc11412

10 TI 3025 (autodetected) ti302511 TI 3026 (autodetected) ti302612 IBM RGB 51x/52x (autodetected) ibm_rgb5xx

Mensaje en pantalla 10: 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 seindica 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 ficheroXF86Config .

109SuSE Linux – Manual de Administración

Page 128: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Aquí hay que indicar claramente, por qué los Clock-Timings que se determinanautomáticamente pueden ser muy peligrosos: Si la tarjeta tiene un Clock-Chipprogramable, el servidor X no puede cambiar entre los distintos Clocks de latarjeta y por tanto solo reconoce los Clocks 0, 1 y a veces 2. Los demás valoresson más o menos casuales (generalmente los Clocks 0, 1 y 2 se repiten y por esose reemplazan por ceros).

Los clocks distintos de 0 y 1 dependen mucho de la pre-programación delClock-Chip, por lo que el valor del Clock 2 puede ser diferente cuando se efec-túa la prueba (valor que se apunta en XF86Config ) al valor del momento dearrancar el servidor X. De este modo todos los Timings son falsos y el monitorse puede dañar.

Un buen indicio para un Clock-Chip programable y sus problemas son mu-chos ceros en los valores del Timing o valores que continuamente se repiten. ¡Enningú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 latarjeta. En este caso se programa correctamente y el fichero XF86Configno 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 que se ofrecen en el menú, para averiguar así el que coincide. Casitodas las tarjetas modernas del tipo S3 llevan un Clock-Chip programable.

Si no tiene ningún Clock-Chip programable sobre la tarjeta, lo mejores ejecutar X -probeonly y comparar los valores encontrados con losdel manual de la tarjeta (en el ordenador no debe funcionar ningún otroprograma). Si estos más o menos coinciden (±2), anote los valores en elfichero XF86Config .

Si no es posible comparar los valores, compruebe la validez de los mismos(muchos ceros o valores que se repiten continuamente indican valoresno válidos). Anote los valores válidos a mano en XF86Config , pero nosuprima ningún valor ni intente reordenar o modificar de alguna maneralos 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 impor-tante.

Siempre es válido: Cuando el Clock-Chip es programable no debe existirninguna línea de Clocks en XF86Config (Excepción: P9000).

110 Configuración con xf86config

Page 129: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

Al contrario, cuando el Clock-Chip no es programable, sí que debe haberuna línea de Clocks en XF86Config . Así se evita la determinación au-tomática pesada y tal vez peligrosa de los Clocks en cada arranque delsistema X Window. Además en caso de tarjetas que no permiten leer losClocks no aparecen valores falsos y así no habrá riesgo para el monitor.

Para probar ahora los Clocks (tenga en cuenta los párrafos anteriores), se contes-ta 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 conlos Clocks determinados o, un mensaje advirtiendo que no se ha encontradoningún Clock. Si se ha definido un Clock-Chip con anterioridad no aparece lapregunta sobre ejecutar X -probeonly, ya que los Clocks se programarán au-tomáticamente. En este caso aparece directamente la próxima opción de confi-guración.

Aviso¡Si ha contestado la última pregunta con ‘y’ y la pantalla se queda obscu-ra por más de 30 segundos, debe terminar en todo caso la fase de pruebacon

�� ��Control +�� ��Alt +

�� ��7−→o�� ��Control +

�� ��c ! Si no queda más remedio apagueel monitor y el ordenador para no poner en peligro estos componentes.

Aviso

Guardar la configuración

Ahora se ha terminado la configuración pero el fichero de configuración aún noestá guardado. Lo mejor es guardar el fichero de configuración de X-WindowXF86Config en el directorio /etc . Así se asegura también en una red que cadaordenador lleve su ”propia” configuración, incluso cuando varios ordenadorescomparten el árbol /usr .

Indique entonces ‘/etc/XF86Config’ como destino del fichero de configura-ción. Con esto se termina el programa xf86config y la configuración del sistemaX Window.

Optimizar la instalación del sistema X Win-dow

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

111SuSE Linux – Manual de Administración

Page 130: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

clave Section "nombre" y terminan con EndSection . Estas secciones seexplican a grandes rasgos en este apartado.

Además se explica cómo añadir fuentes adicionales, cómo configurar los dis-positivos de entrada y cómo realizar la aceleración 3D. Todas estas configura-ciones se realizan en determinadas secciones dentro de XF86Config . Añadiruna fuente adicional requiere la ayuda de programas externos que están inclu-idos en SuSE Linux y que forman parte de la instalación por defecto. Los pro-cedimientos que se detallan aquí demuestran las capacidades principales, sinpretender ser exhaustivos pero que en cambio sirvan de ejemplo.

Los programas SaX2 y xf86config (para XFree86 4.x) generan el fichero XF86Config y lo copian generalmente en el directorio /etc/X11 . Este es el ficherode configuración principal del X Window System que contiene las definicionesde ratón, 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. Cadasección tiene la forma:

Section 〈Denominador de sección 〉definición 1definición 2definición n

EndSection

Existen los siguientes tipos de secciones:

Files Esta sección describe las rutas para los juegos de carac-teres 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 dispositivosde entrada. En comparación a XFree86 3.3 se configuranteclados y ratones así como dispositivos especiales comoJoysticks, tabletas digitalizadoras, etc. Las variables im-portantes aquí son Driver y las opciones Protocol yDevice para determinar el protocolo y el dispositivo.

Cuadro 5.1: Continúa en la página siguiente. . .

112 Optimizar la instalación del sistema X Window

Page 131: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

Monitor Descripción del monitor usado. Los elementos de estasección son un nombre, que sirve más adelante de ref-erencia en la definición del Screen , así como el valorde la anchura de banda (Bandwidth [MHz] ) y de lasfrecuencias de sincronización permitidas (HorizSync[kHz] y VertRefresh [Hz] ). El servidor ”rechaza”cualquier Modeline que no cumple con la especificacióndel monitor; de esta forma se evita enviar al monitor fre-cuencias demasiado altas cuando se están manipulandolos Modelines.

Modes Aquí se definen los parámetros para las determinadasresoluciones de pantalla. SaX2 calcula estos parámet-ros en base a las indicaciones por parte del usuario ypor lo general no se requiere ninguna modificación.Se puede realizar una intervención manual p. ej. encaso de usar un monitor con frecuencia fija. La expli-cación exacta de todos los parámetros se encuentra enel fichero HOWTO /usr/share/doc/howto/en/XFree86-Video-Timings-HOWTO.gz , ya que para estelibro resultaría demasiado extenso.

Device Esta sección define una determinada tarjeta gráfica cuyareferencia es el nombre que aparece por detrás de la pala-bra clave Device .

Screen Esta sección une finalmente un Driver con un Devicepara formar así las indicaciones necesarias para XFree86.La sub-sección Display permite la definición de untamaño de pantalla virtual (Virtual ), del ViewPort y delos Modes usados con este Screen .

ServerLayout Esta sección define el diseño de una configuración conuno o varios monitores (”single” o ”multihead”). Losdispositivos de entrada InputDevice y los monitoresScreen se unen para formar un conjunto.

Cuadro 5.1: Secciones (”sections”) en /etc/X11/XF86Config

A continuación se contemplan más de cerca las secciones Monitor , Device yScreen . En la página del manual de XF86Config (man XF86Config ) y en lapágina del manual de XF86Config (man XF86Config ) hay más informaciónsobre las demás secciones.

En el fichero XF86Config pueden aparecer varias secciones de los tipos

113SuSE Linux – Manual de Administración

Page 132: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Monitor y Device . También se pueden usar varias secciones Screen depen-diendo su uso de la siguiente sección ServerLayout .

Sección Screen

Primero queremos tratar de cerca la sección de Screen . Esta une una secciónde 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 3.

Section "Screen"DefaultDepth 16SubSection "Display"

Depth 16Modes "1152x864" "1024x768" "800x600"Virtual 1152x864

EndSubSectionSubSection "Display"

Depth 24Modes "1280x1024"

EndSubSectionSubSection "Display"

Depth 32Modes "640x480"

EndSubSectionSubSection "Display"

Depth 8Modes "1280x1024"

EndSubSectionDevice "Device[0]"Identifier "Screen[0]"Monitor "Monitor[0]"

EndSection

Fichero 3: La sección Screen del fichero /etc/X11/XF86Config

La línea Identifier (en este ejemplo el identificador es Screen[0] ) da unnombre único a la sección para poder referenciar esta sección de forma in-equívoca en la siguiente sección ServerLayout .

La tarjeta gráfica y el monitor definido se asignan mediante las líneas Devicey Monitor a la pantalla Screen . No son más que referencias a las seccionesde 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 defectoque usa el servidor cuando arranca sin definición explícita de ella.

114 Optimizar la instalación del sistema X Window

Page 133: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

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 . Losvalores posibles para Depth son 8, 15, 16, 24 y 32 bpp. No todos los módulosde servidor X soportan todos los valores y, 24 y 32 dan como resultado la mis-ma profundidad de color. 24bpp representa el modo ”packed-pixel” y 32bpp elmodo ”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 unade las resoluciones listadas, el servidor busca en la sección Modes un Modelineque corresponda a las capacidades gráficas del monitor y de la tarjeta gráfica.

La primera resolución adecuada en este sentido es la que usa el servidor X paraarrancar el ”Default-Mode ”. Con las teclas

�� ��Control +�� ��Alt +

�� ��gris + se puede iren la lista de resoluciones a la derecha y con

�� ��Control +�� ��Alt +

�� ��gris - a la izquier-da1. Así se puede modificar la resolución en pantalla durante el tiempo de ejecu-ción del sistema X Window.

La última línea de la subsección Display con la expresión Depth 16 se re-fiere al tamaño de la pantalla virtual . El tamaño máximo de la pantalla virtu-al depende de la cantidad de memoria instalada y de la profundidad de colordeseada pero no depende de la resolución máxima del monitor. Como las tar-jetas gráficas modernas ofrecen mucha memoria, se pueden crear escritoriosvirtuales muy grandes. En tal caso es posible que ya no se pueda aprovechar laaceleración 3D, por haber ocupado toda la memoria de vídeo con un escritoriovirtual. Si la tarjeta tiene p. ej. 16 MB Vídeo RAM, entonces la pantalla virtu-al 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 todoel espacio de memoria disponible para la pantalla virtual, ya que estos servi-dores usan la zona de memoria no usada de la tarjeta para diferentes cachés dejuegos de caracteres y de zonas de gráficos.

Sección Device

Una sección de dispositivo (ingl. Device-Section), describe una determinada tar-jeta gráfica. Puede existir una cantidad infinita de secciones de dispositivo enXF86Config mientras que sus nombres, indicados con la palabra claveIdentifier , se distingan. Si hay varias tarjetas gráficas montadas en lamáquina, estas secciones reciben números consecutivos comenzando conDevice[0] para la primera, Device[1] para la segunda, etc. El siguientefichero muestra el extracto de una sección del tipo Device de un ordenadorcon una tarjeta PCI tipo Matrox Millennium:

1”Gris” indica aquí que se trata de teclas del bloque numérico, ya que éstas se resaltan a veces encolor gris.

115SuSE Linux – Manual de Administración

Page 134: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Section "Device"BoardName "MGA2064W"BusID "0:19:0"Driver "mga"Identifier "Device[0]"VendorName "Matrox"Option "sw_cursor"

EndSection

La apariencia de la sección Device debería ser semejante a la que se reflejaarriba, en caso de usar SaX2 para la configuración. SaX2 determina Driver yBusID que dependen del hardware usado por la máquina a configurar. BusIDdetermina la posición que ocupa la tarjeta gráfica en el bus PCI o AGP y esequivalente al número que lspci indica. ¡Hay que tener en cuenta que el servi-dor X usa valores decimales mientras que los de lspci con hexadecimales!

El parámetro Driver determina el driver para la tarjeta gráfica que para el ca-so de la Matrox Millennium es mga. El servidor X busca el driver en el subdi-rectorio drivers de la rama ModulePath definido en el apartado Files . Larama completa para una instalación estándar es /usr/X11R6/lib/modules/drivers . El nombre completo del driver se obtiene añadiendo _drv.o al iden-tificador corto, lo que resulta en nuestro ejemplo en mga_drv.o .

Existen opciones adicionales para activar ciertas características del servidor Xy de su driver. En este caso se ha usado como ejemplo la opción sw_cursorque desactiva el cursor hecho por hardware para emularlo mediante software.Según el driver usado, hay diferentes opciones que se explican junto con losdrivers en el directorio /usr/X11R6/lib/X11/doc . Hay opciones generalesen la página del manual de XF86Config (man XF86Config ) y la página delmanual de XFree86 (man XFree86 ).

Secciones Monitor y Modes

Las secciones de Monitor y de Modes, así como las de Device, describen un mo-nitor por cada sección y puede haber una cantidad infinita de estas secciones enel 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.

Sólo usuarios muy experimentados deberían generar o ajustar una sección deMonitor (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 indicanlas sincronizaciones (ingl. timings) horizontales y verticales para cada resolu-ción. La sección Monitor contiene las características del monitor y entre ellassobre todo las frecuencias de refresco máximas.

116 Optimizar la instalación del sistema X Window

Page 135: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

Aviso¡Sin un buen conocimiento de la función de monitor y de tarjeta gráficano se debería cambiar ningún valor de los Modelines, ya que esto podríaprovocar la destrucción del monitor!

Aviso

Si realmente se atreve a hacer sus propias configuraciones de monitor, deberíaleer antes la documentación en /usr/X11/lib/X11/doc . Se recomienda espe-cialmente la lectura de ? que explica detalladamente la función del hardware yla definición de los Modelines.

Por fortuna hoy en día, casi nunca hace falta generar Modelines o definicionesde monitores ”a mano”. Usando un monitor de multifrecuencia moderno, SaX2puede 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 puederecurrir a uno de los modos VESA del servidor X que funcionan prácticamentecon todas las combinaciones posibles de monitor y de tarjeta gráfica.

Incorporar fuentes (TrueType) adicionales

Junto con la instalación normal de un servidor X11R6, se instala una cierta can-tidad de fuentes que se encuentran dentro del directorio /usr/X11R6/lib/X11/fonts ordenadas de forma lógica en sub-directorios. El servidor X solotiene 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 co-mando xset -fp.

fue dado de alta durante la ejecución del servidor X mediante el comandoxset +fp.

Aparte del formato propio Type1 (un formato de PostScript) y de pcf parafuentes de bitmap escalables, con la versión 4.0 XFree86 maneja también elnuevo formato ttf (ingl. true type font). Estas fuentes se soportan, como en elapartado La versión 4.x de XFree86 en la página 101, mediante módulos que cargael servidor X. Para usar las fuentes TrueType ya no hacen falta muchos prepara-tivos.

117SuSE Linux – Manual de Administración

Page 136: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Aparte de la buena escalabilidad, la gran ventaja de la mayoría de las fuentesTrueType es el gran abanico de caracteres incluidos que supera ampliamentelos normales 255 caracteres del juego de caracteres ”iso-8859-1” para Europaoccidental. En consecuencia se puede trabajar sin problemas en cirílico, griego oen otros idiomas de Europa oriental. Con software adicional incluso funcionanlas lenguas asiáticas.

La presente explicación contempla sobre todo el uso de juegos de caracteres de8 bits. Sin embargo también queda la posibilidad de introducir caracteres de unidioma asiático (japonés, chino) usando unos editores especiales que formanparte de SuSE Linux.

Los juegos de caracteres de 8 bits están formados por 256 caracteres, ampliandoasí el juego ASCII que se restringe a los primeros 128 caracteres. De esta formacada letra ocupa 8 bits en la memoria. Los 128 caracteres adicionales del juegoampliado 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 abreviatura que corresponde a la norma aplica-da p. ej. ”iso-8859-x”. ‘x’ es una cifra entre 1 y 15. La asignación exacta de loscaracteres p. ej. en el juego de iso-8859-1 respectivamente iso-8859-15 sepuede encontrar en la página del manual de iso-8859-1 (man iso-8859-1 )respectivamente página del manual de iso-8859-15 (man iso-8859-15 ).

Algunos códigos de los juegos de caracteres se encuentran en la tabla 5.2, otrosse encuentran en la página del manual mencionada.

Juego decaracteres

Región, idiomas incluidos

iso-8859-1 Idiomas de Europa occidental: español, alemán, francés, sue-co, finlandés, danés, etc.; para finlandés y francés ahora esmás adecuado iso-8859-15

iso-8859-2 Centro-Europa y del este: húngaro, checo, rumano, polaco,alemán, etc.

iso-8859-5 Caracteres del cirílico para el rusoiso-8859-7 Caracteres para el griegoiso-8859-15 Igual a iso-8859-1, pero con caracteres para el turco y el carác-

ter para el Euro.

Cuadro 5.2: Códigos de juegos de caracteres importantes

El usuario tiene que seleccionar la codificación de acuerdo al idioma usado.Transfiriendo texto entre diferentes ordenadores, éste se ha de transferir jun-

118 Optimizar la instalación del sistema X Window

Page 137: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

to con su codificación. La ventaja de este sistema es la sencilla implementacióndel soporte de los caracteres especiales. Una vez seleccionada la codificacióncorrecta, todos los programas (o casi todos) pueden visualizar estos caracteres,ya que la gran mayoría trabaja con un valor de 8 bits (un byte) para cada letra.Por otra parte los caracteres especiales se muestran mal, cuando la codificaciónseleccionada no es la adecuada. Para la mayoría de los programas del sistemaX Window y del entorno KDE se puede seleccionar la codificación del juego decaracteres; esto se realiza normalmente junto con la configuración del tipo decaracteres (p. ej. Helvética, Courier, Times, etc). Los programas del entorno gráfi-co denominan la codificación normalmente como Encoding .

La desventaja de esta solución es la imposibilidad de representar en pantallaciertas combinaciones de idiomas. Sin tomar medidas adicionales no es posiblep. 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 me-diante 2 o más bytes, por lo que se puede trabajar con muchos más caracteresal mismo tiempo. Sólo gracias a Unicode es posible trabajar con idiomas asiáti-cos que tienen muchos más de 127 caracteres como p. ej. chino, japonés o core-ano. La desventaja es que la mayor parte del software no está preparada paraprocesar estas letras y sólo mediante software especial es posible leer o escribirletras en Unicode. Hay información adicional sobre el uso de Unicode en Li-nux en http://www.unicode.org . Es de suponer que con el tiempo el so-porte de Unicode vaya creciendo; SuSE Linux ya incorpora el programa yuditpara 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 bajoBusiness/Office y Editores .

Después de esta introducción general, se presenta una descripción paso a pasode la instalación de fuentes adicionales, tomando como ejemplo fuentes True-Type.

Averigüe dónde se encuentran las fuentes que quiere instalar en el sistemaX Window. Si su sistema dispone de fuentes TrueType con licencia, puede usaréstas mismas. Para ello monte simplemente la partición que contiene estas fuen-tas y cambie al directorio de las fuentes. SuSE Linux ya ha preparado un direc-torio denominado /usr/X11R6/lib/X11/fonts/truetype , donde puedecopiar las fuentes en cuestión.

tierra:/root # cd /usr/X11R6/lib/X11/fonts/truetype

Ahora cree enlaces simbólicos a los ficheros ttf . Sustituya 〈/ruta/a/las/fuentes 〉 por la ruta bajo la que se encuentran estas fuentes. A continuaciónejecute SuSEconfig, que creará las entradas necesarias en el fichero fonts.dir .

119SuSE Linux – Manual de Administración

Page 138: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

tierra:/usr/X11R6/lib/X11/fonts/truetype #ln -s 〈/ruta/a/las/fuentes 〉/*.ttf .

tierra:/usr/X11R6/lib/X11/fonts/truetype #SuSEconfig -module fonts

Para dar de alta las fuentes cuando el servidor X ya está en ejecución, use el co-mando:

tierra:~ # xset fp rehash

TrucoEl comando xset accede al servidor X mediante el protocolo X, porlo que debe tener derechos de acceso al servidor en ejecución. Este seconsigue p. ej., cuando tux es idéntico al usuario que ha iniciado elservidor X. Hay más información en la página del manual de xauth(man xauth ).

Truco

Puede comprobar si las fuentes han sido configuradas correctamente con el pro-grama xlsfonts. Si está todo correctamente configurado, éstas aparecen en unalista que debe incluir la fuente TrueType recién instalada. Otra posibilidad esusar el gestor de fuentes de KDE que muestra las fuentes instaladas junto conun ejemplo de texto. Se arranca desde el centro de control de KDE.

tierra:~ # xlsfonts

Todos los programas del sistema X Window pueden usar ahora las fuentes quese hayan configurado de esta forma.

Configuración de OpenGL/3D

OpenGL y GLIDE son interfaces para utilizar tarjetas Voodoo 3Dfx bajo Linux.La mayoría de las aplicaciones modernas de 3D usan la interfaz OpenGL, demodo que casi todas las aceleradoras hardware de 3D sólo pueden ser imple-mentadas usando la interfaz OpenGL, incluso en el caso de las tarjetas Voodoo3Dfx. No obstante, algunas viejas aplicaciones pueden utilizar directamente lainterfaz GLIDE. El controlador de OpenGL para las tarjetas gráficas Voodoo3Dfx también puede hacer uso de la interfaz GLIDE. El controlador Direct3D deMicrosoft no está disponible para Linux.

120 Configuración de OpenGL/3D

Page 139: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

Controlador OpenGL Hardware soportadoMesa Software Rendering para todas las tarjetas gráficas soportadas por

XFree86(muy lento)

nVidia-GLX / XFree86 4.x nVidia Chips: todos aparte de 128(ZX)

DRI / XFree86 4.x 3Dfx Voodoo Banshee3Dfx Voodoo-3/4/5Intel i810/i815/i830/i845Matrox G200/G400/G450/G550ATI Rage 128(Pro)/RadeonSiS 300/540/630

Mesa/Glide 3Dfx Voodoo Graphics3Dfx Voodoo II

Cuadro 5.3: Hardware 3D soportado

Hardware Soportado

SuSE Linux incluye varios controladores OpenGL para el siguiente hardware3D. La Tabla 5.3 le proporciona una visión general.

Si lo está instalando con YaST2 por primera vez, puede activar el soporte 3Ddurante la instalación, con tal de que YaST2 reconozca el soporte compatible.Los chips gráficos nVidia son la única excepción; en este caso, el controladorincluido ”Dummy” deberá ser reemplazado por el controlador nVidia oficial.Utilice YOU (la actualización Online de YaST) para actualizar los paquetesNVIDIA_GLX y NVIDIA_kernel . Si no es posible una actualización con YOU,deberá bajarse los paquetes RPM NVIDIA_GLX y NVIDIA_kernel del servi-dor web nVidia (http://www.nvidia.com ), instalarlos con YaST2. Debidoa las cláusulas de la licencia, sólo podemos ofrecerle los controladores nVidia”Dummy”. Si dispone de chips gráficos SiS en la memoria gráfica, compruebeque están configurados a un mínimo de 32 MB en la BIOS, y que el soporte delframebuffer en el kernel se encuentra desactivado..

Si debe realizar una actualización o configurar una tarjeta gráfica Addon 3Dfx(Voodoo Graphics/Voodoo-2), el soporte de hardware 3D tendrá que configu-rarse de manera diferente. El método depende del controlador OpenGL que estéutilizando y se describe con más detalle en la siguiente sección.

121SuSE Linux – Manual de Administración

Page 140: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Controladores OpenGL

Mesa Software Rendering

Este controlador de OpenGL sólo debe aplicarse si durante la instalación no fueconfigurado el soporte 3D, o si no se encuentra disponible en Linux para su tar-jeta.

Mesa Software Rendering solamente debe ser aplicado si el controlador 3Dcausa problemas (da errores o causa inestabilidad en el sistema). Asegúrese deque el paquete paquete mesasoft fue instalado, y switch2mesasoft . Si tieneuna tarjeta nVidia, además deberá ejecutar el script switch2nv de manera quese utilice el controlador nv para XFree86 en lugar del controlador nvidia. Con elcomando3Ddiag --mesasoftpuede comprobar si el Mesa Software Rendering está configurado adecuada-mente.

nVidia-GLX y DRI

Este controlador OpenGL puede instalarse muy fácilmente utilizando SaX2.Si dispone de una tarjeta nVidia, SaX2 necesitará reemplazar el controlador deSuSE ”Dummy” por los controladores oficiales de nVidia mediante una actuali-zación Online. El comando 3Ddiag le permite comprobar si el nVidia-GLX ó DRIestán configurados adecuadamente.

Por razones de seguridad, sólo los usuarios que pertenecen al grupo videopueden tener acceso al hardware 3D. Compruebe que todos los usuarios quetrabajan localmente en la máquina pertenecen a ese grupo. De no ser así, cuandointente ejecutar aplicaciones OpenGL se ejecutará el Software Rendering Fallbackdel controlador OpenGL. Utilice el comando id para comprobar si el usuario ac-tual pertenece al grupo video . Si este no es el caso, utilice YaST2 para añadirloal grupo.

Mesa/Glide

Este controlador OpenGL necesita ser configurado manualmente con ayuda dela información proporcionada por el comando 3Ddiag -mesaglide . Encon-trará más detalles en la Sección Herramienta de diagnóstico 3Ddiag en la páginasiguiente.

Si tiene el controlador Mesa/Glide, ejecute las aplicaciones OpenGL comousuario root , ya que solamente el root puede acceder al hardware. Para per-mitir esto, el usuario actual deberá tener habilitado 〈DISPLAY〉 para root . Estopuede hacerse con el comando xhost localhost . Las resoluciones utilizadas

122 Configuración de OpenGL/3D

Page 141: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

5Elsiste

ma

XW

ind

ow

por las aplicaciones OpenGL necesitan el soporte GLIDE (puede soportar res-oluciones de 640×480 y 800×600). De otro modo el Software Rendering Fallbackdel controlador OpenGL utilizado es muy lento.

Herramienta de diagnóstico 3Ddiag

Puede verificar la configuración 3D en SuSE Linux con la herramienta de di-agnóstico 3Ddiag que se encuentra disponible. Se debe llamar a este comandodesde una terminal de línea de comandos.

La aplicación repasará, por ejemplo, la configuración de XFree86 para verificarque los paquetes de soporte de 3D están instalados y las librerías OpenGL es-tán siendo utilizadas con la extensión GLX. Siga las instrucciones de 3Ddiag siaparecen mensajes de "fallado". Si todo ha ido a la perfección, verá en la pantallael mensaje "hecho".

Si dispone del controlador OpenGL Mesa/Glide se puede realizar la configu-ración 3D con mayor dificultad utilizando esta herramienta de diagnóstico, encaso de que no se haya configurado el soporte 3D durante la instalación.

3Ddiag -h proporciona información sobre las opciones admitidas por 3Ddiag.

Aplicaciones de prueba OpenGL

Juegos tales como tuxracer y armagetron (del paquete del mismo nom-bre), junto con gears , son herramientas de prueba adecuadas para las apli-caciones OpenGL. Si el soporte 3D ha sido activado, estos juegos funcionanbien en ordenadores medianamente actuales. Sin embargo, no es posible conMesa Software Rendering puesto que puede mermar los resultados y pro-ducirse efectos de distorsión. La salida del comando glxinfo le informará desi el soporte 3D está activado. La variable "direct rendering" ha de tener el valor"Yes".

Solución de problemas

Si los resultados de la prueba de 3D de OpenGL fueron negativos (los juegos nose visualizaron adecuadamente), utilice 3Ddiag para asegurarse de que no exis-ten errores en la configuración (mensajes de "fallo"). Si la corrección de estos noayuda o no han aparecido mensajes de error, mire los ficheros log de XFree86.A menudo, encontrará aquí la linea "DRI está deshabilitado" en los ficherosXFree86 4.x /var/log/XFree86.0.log . Se puede descubrir la causa exactaexaminando con detalle los ficheros log, lo que quizá sea demasiado complicadopara un usuario no experimentado.

123SuSE Linux – Manual de Administración

Page 142: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

En tales casos, lo normal es que no exista ningún error en la configuración,puesto que ya habría sido detectado por 3Ddiag. Por lo tanto, en este pun-to, lo mejor es el controlador OpenGL del Mesa Software Rendering, elcual no ofrece soporte del hardware 3D. Aproveche esta característica deMesa Software Rendering y prescinda de la aceleración de hardware 3D cuan-do se produzcan mensajes de error o haya problemas de inestabilidad.

Soporte de instalación

Aparte del Mesa Software Rendering, todos los controladores de Linux estánen fase de desarrollo y por tanto se consideran en pruebas. Se incluyen los con-troladores en la distribución debido a la alta demanda de aceleración de hard-ware 3D en Linux. Considerando el estado experimental de los controladoresde OpenGL, no podemos ofrecer un soporte de instalación para configurar laaceleración de hardware 3D o proporcionar ningún otro tipo de ayuda. La confi-guración básica de la interfaz gráfico X11 no interviene en la configuración de laaceleración de hardware 3D.Este capítulo contesta a muchas preguntas sobre este tema. Si tieneproblemas con la aceleración de hardware 3D, utilice el programaMesa Software Rendering, como se describe en la sección 5.

Documentación online más ampliada

nVidia-GLX: /usr/share/doc/packages/nv_glx/ ,/usr/src/kernel-modules/nv_glx/README (paquetesNVIDIA_GLX y NVIDIA_kernel del servidor de nVidia)

DRI: /usr/X11R6/lib/X11/doc/README.DRI (paquete XFree86 )

Mesa/Glide: /usr/share/doc/packages/mesa3dfx/ (paquetemesa3dfx )

Mesa general: /usr/share/doc/packages/mesa/ (paquete mesa)

124 Configuración de OpenGL/3D

Page 143: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

Sonido con ALSA

Mientras que en el manual de usuario se describen únicamente algunas apli-caciones básicas parar reproducir datos de audio, aquí encontrará una visiónmucho más amplia del estado actual del software de audio en Linux así comoinformación adicional.

Los tipos PCM fundamentales de ALSA . . . . . . . . . . . 126Parámetros de mezclado para las tarjetas Soundblaster Live

y Audigy . . . . . . . . . . . . . . . . . . . . . . . . . 126El mezclador envy24control . . . . . . . . . . . . . . . . . . 127Búfers y latencia . . . . . . . . . . . . . . . . . . . . . . . . 129JACK Audio Connection Kit . . . . . . . . . . . . . . . . . . 131Grabar en el disco duro con Audacity . . . . . . . . . . . . 132arecord, aplay y qaRecord . . . . . . . . . . . . . . . . . . . 135Compresión de datos de audio . . . . . . . . . . . . . . . . 135ALSA y MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . 136Midi sin tarjeta WaveTable . . . . . . . . . . . . . . . . . . . 143AlsaModularSynth: sintetizador y procesador de efectos . . 146

Page 144: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Los tipos PCM fundamentales: hw y plughw

Con la versión 0.9 de ALSA (”Advanced Linux Sound Architecture”), el concep-to para los dispositivos PCM ha cambiado fundamentalmente y se ha ampliado.Mediante la selección de un tipo de PCM determinado, el usuario ya puede in-fluir en la forma en que ALSA accede a la tarjeta de sonido. Los tipos PCM másimportantes se llaman hw y plughw .

Para ilustrar la diferencia hay que explicar el procedimiento de abrir un dispo-sitivo PCM. Este último se debe abrir indicando determinados valores para (almenos) los siguientes parámetros: formato del sample, frecuencia del sample,número de canales, número de periodos (antes ”fragmentos”) y el tamaño deun periodo. Ahora puede darse el caso que una aplicación quiere reproducir unarchivo WAV con una frecuencia de 44,1kHz, pero la tarjeta de sonido no sopor-ta esta frecuencia. En este caso ALSA puede efectuar una conversión automáticade los datos a un formato soportado por la tarjeta de sonido. La conversión afec-ta a los parámetros, formato y frecuencia del sample y número de canales.

La activación de la capa plugin se realiza mediante la selección del tipo PCMplughw . En cambio con el tipo de PCM hw ALSA intenta abrir directamente losdispositivos PCM con los parámetros que necesita la aplicación.

Los números deseados para la tarjeta de sonido y para el dispositivo se indicandetrás del tipo PCM y un doble punto. Primero se indica el número de la tarjeta,después el del dispositivo. El denominador completo para un dispositivo tienep. ej. la siguiente forma:

tierra:~ # plughw:0,0

Parámetros de mezclado para las tarjetasSoundblaster Live y Audigy

Además de los parámetros del estándar AC97 descritos en el manual, existenpara las tarjetas Soundblaster Live y Audigy muchas más posibilidades de con-figuración. Por ejemplo, para la reproducción encontramos además los regu-ladores ‘AC97’, ‘Wave’ y ‘Music’. ‘AC97’ permite regular el nivel de la mezcla‘AC97’. A esta mezcla también se incorporan las señales de ‘Line’, ‘Mic’ y ‘CD’.‘Wave’ sirve para regular el nivel de los canales PCM. ‘Music’ se ocupa del volu-men de la síntesis Wavetable interna de datos MIDI.

Para la grabación encontramos, además del parámetro ‘Capture’, el regu-lador ‘AC97 Capture’ con el que se regula el nivel de las fuentes de grabación

126 Los tipos PCM fundamentales de ALSA

Page 145: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

de ‘AC97’. ‘Wave’ y ‘Music’ también pueden seleccionarse como fuentes degrabación. Puede activar este circuito cerrado interno ”capture” en el estándar‘AC97’ seleccionando el regulador ‘Mix’ como fuente de grabación.

El mezclador para el chip Envy24

Figura 6.1: Monitor y mezclador digital de envy24control

envy24control es un mezclador para tarjetas de sonido con un chip Envy24(= ice1712). Puede arrancar este mezclador mediante el menú ‘SuSE’ ➝ ‘Mul-timedia’ ➝ ‘Sonido’ o bien desde la línea de comandos con:

tierra:~ # envy24control &

A continuación se describe las características más importantes deenvy24control. La funcionalidad del chip Envy puede variar mucho entre lasdiferentes tarjetas debido a la flexibilidad del Envy24. Información actual y de-tallada sobre este chip de sonido se encuentra en:/usr/share/doc/packages/alsa/alsa-tools/envy24control

Monitor y panel de conexiones de envy24control

En ‘Monitor Mixer’ de envy24control se muestran los niveles de las señalesque se mezclan digitalmente dentro de la tarjeta de sonido. Las señales denomi-nadas ‘PCM Out’ son creadas por programas que envían datos PCM a la tarjetade sonido.

127SuSE Linux – Manual de Administración

Page 146: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 6.2: En la patchbay se determina los caminos de los señales.

El punto ‘H/W In’ visualiza las señales de las entradas analógicas. A la derechade éstos se encuentra la indicación de las entradas ‘S/PDIF’. Los niveles de en-trada y salida de los canales analógicos se han de ajustar bajo ‘Analog Volume’.

Con los reguladores de ‘Monitor Mixer’ se realiza la mezcla digital cuyo nivel sevisualiza en ‘Digital Mixer’. En ‘Patchbay’ se define cuáles son las salidas paraeste mix. ‘Patchbay’(panel de conexiones) contiene una columna de botonesde radio para cada canal de salida mediante los cuales se puede seleccionar lafuente deseada para el canal correspondiente.

Entradas y salidas analógicas

Bajo ‘Analog Volume’ se especifica las amplificaciones para los transformadoresanalógico/digital y digital/analógico. Los reguladores ‘DAC’ se usan para loscanales de salida y los reguladores ‘ADC’ para los canales de entrada. Con losbotones puede especificar los niveles de entre +4 dBu y -10 dBV. El primer va-lor está previsto para el uso en el ámbito profesional de audio, mientras en elámbito casero se trabaja con -10 dBV.

Configuración de los canales S/PDIF

En ‘Hardware Settings’ puede ajustar – entre otras cosas – los canales S/PDIF. Elchip ‘Envy24’ reacciona a cambios de nivel con un retardo configurable. Este sepuede determinar con el parámetro ‘Volume Change’.

128 El mezclador envy24control

Page 147: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

Figura 6.3: El mezclador para las entradas y salidas analógicas

Búfers y latencia

Tal como el título indica, este capítulo da las pautas sobre cómo asegurar la re-producción continua de audio. Se trata de un problema inherente de todos lossistemas operativos de multitarea y no sólo de Linux. Estos sistemas suelen eje-cutar varios procesos al mismo instante, pero el propio procesador no puedeatender a más de una proceso en el mismo instante. Por eso existe un ”plani-ficador” ((ingl. scheduler)) que asigna tiempo de CPU a los diferentes procesosen ejecución. El cambio de un proceso al otro se realiza tan rápidamente que elusuario normalmente no lo nota.

Sin embargo, cortes muy breves durante la reproducción de una pista de audio,son perceptibles y por eso los programas de reproducción de audio utilizan unbúfer de datos. De esta forma la tarjeta de sonido sigue reproduciendo el sonidocuando el planificador detiene el programa de audio. El tamaño del búfer si eslo suficientemente grande como para ”amortiguar” el corte máximo permitiráoír la música sin cortes.

El tamaño del búfer determina el tiempo de demora (latencia) para que el pro-grama de audio reaccione. Por eso la tendencia es de mantener el búfer cuantomás pequeño posible en caso de los sintetizadores en tiempo real y consolasde mezcla para DJs. La duración de los cortes depende básicamente de la car-ga de sistema y de la prioridad de los procesos. Esto quiere decir que se puededisminuir el tamaño de búfer, necesario para la reproducción sin pausas, au-mentando la prioridad de ejecución del programa de audio. Por eso hay muchosprogramas que tratan de conseguir prioridad para ejecución en tiempo real. Esalgo que sólo funciona trabajando con privilegios de root .

129SuSE Linux – Manual de Administración

Page 148: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 6.4: Configurar los parámetros para S/PDIF con envy24control

Siempre representa un cierto riesgo de ejecutar un programa en modo rootcon todos los permisos otorgados. Este riesgo es demasiado grande cuando elordenador está conectado a Internet, porque puede haber huecos de seguridaden el programa que permitan acceder al sistema con derechos del superusuario.

AvisoLos comandos que se comentan a continuación nunca se deben utilizaren ordenadores conectados a Internet o que contengan datos muy impor-tantes.

Aviso

Para ejecutar un programa en modo root , lo mejor es utilizar el mecanis-mo sudo que se explica a continuación mediante el ejemplo de timidity++.Por medio de una modificación del fichero /etc/sudoers se puede otorgarderechos de root sobre el programa de timidity a todos los usuarios; véasepágina del manual de sudo (man sudo) y página del manual de sudoers(man sudoers ). Si no está familiarizado con el editor vi, puede seleccionar otroeditor, aquí por ejemplo joe, con el comando:

tierra:~ # export EDITOR=joe

Ejecute visudo como root y añada la siguiente línea al final del fichero /etc/sudoers :

ALL ALL=(ALL) /usr/bin/timidity

Ahora todos los usuario del sistema pueden ejecutar el programa timidity conderechos de root utilizando el comando

130 Búfers y latencia

Page 149: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

tierra:~ # sudo timidity

Se le pedirá una contraseña (la del usuario que utiliza sudo ), si han transcurridomás de cinco minutos desde el último comando de sudo

JACK Audio Connection Kit

paquete jack, qjackconnect . El programa JACK Audio Connection Kit per-mite el intercambio de datos de audio entre aplicaciones y también con la tarjetade sonido. El único requisito es que dichas aplicaciones dispongan de una in-terfaz JACK. El soporte de JACK ha adquirido bastante popularidad, por lo quehoy en día son muy numerosas las aplicaciones que cuentan con tales interfaces.

Figura 6.5: QJackConnect, un panel de conexiones para Jack Audio Connection Kit

Para utilizar JACK, primero ha de iniciar el ”engine” con

tierra:~ # jackd -d alsa -d hw:0

JACK fue desarrollado con el objetivo de lograr una latencia tan baja comofuera posible. Por lo tanto, el motor o ”engine” debe funcionar con prioridad detiempo real. Puede obtener más información en el fichero /usr/share/doc/packages/README.SuSE .

131SuSE Linux – Manual de Administración

Page 150: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El panel de conexiones (”patchbay” QJackConnect sirve mantener siempre elcontrol sobre los clientes JACK existentes en su sistema. Después de iniciar elprograma con

tierra:~ # qjackconnect

aparecen a la izquierda los clientes con puertos de lectura y a la derecha losclientes con puertos de escritura. Si no se ha iniciado ningún cliente JACK, enla lista se muestran únicamente los datos de entrada y salida de la tarjeta desonido. Las listas son actualizadas automáticamente tan pronto como la configu-ración de los puertos cambia. Los puertos se muestran por debajo de los clientesen una vista de árbol. Puede conectar puertos individuales seleccionándolos enla lista y pulsando a continuación en ‘Connect’. También es posible conectar va-rios puertos simultáneamente al seleccionar un cliente.

Grabar en el disco duro con Audacity

paquete audacity

audacity le permite grabar y editar ficheros de audio. La intuitiva interfaz deusuario no requiere muchas explicaciones. Después de iniciar el programa porprimera vez, se puede seleccionar el idioma. Debido a que las traducciones noestán completas, nos referimos aquí a los nombres del menú en inglés. Puedecambiar el idioma en cualquier momento con ‘File’ ➝ ‘Preferences’ ➝ ‘Inter-face’. El nuevo idioma seleccionado se aplica la próxima vez que se inicia el pro-grama.

Grabar e importar ficheros WAV

Normalmente basta con pulsar el botón rojo de grabación parar crear una pistaestéreo vacía e iniciar la grabación. Sólo en aquellos casos en los que se debacambiar los parámetros estándar, será necesario modificar la configuración en‘File’ ➝ ‘Preferences’. Los puntos relevantes para la grabación son ‘Audio I/O’y ‘Quality’. Tenga en cuenta que cada vez que se pulsa el botón de grabación secrean pistas nuevas aunque ya existan otras. Esto puede resultar algo confuso alprincipio, sobre todo porque estas pistas no son visibles con el tamaño predeter-minado de la ventana del programa.

Puede importar ficheros de audio con ‘Project’ ➝ ‘Import Audio’. Además deWAV, están soportados los formatos comprimidos MP3 y Ogg Vorbis (vea másinformación sobre estos formatos en el apartado 6.

132 Grabar en el disco duro con Audacity

Page 151: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

Figura 6.6: Audacity puede mostrar los datos de audio en forma de espectro.

Editar ficheros de audio

Observemos en primer lugar el menú ‘AudioTrack’ que se puede abrir a laizquierda al comienzo de cada pista. Aquí puede, por ejemplo, cambiar entreformas distintas de representación. Tenga en cuenta que ‘Waveform dB’ siemprelleva a cabo una normalización de los datos en la amplitud máxima de la pista,por lo que no resulta adecuado para comprobar la modulación de la señal.

Dependiendo de la aplicación, en ‘Set Selection Format’ puede seleccionardistintos formatos de representación para ciertas secciones. Con ‘Set Snap-ToMode’ puede decidir si los límites de las secciones han de adaptarse automáti-camente a determinados tamaños del formato de representación elegido. Si porejemplo selecciona ‘PAL frames’ como formato de representación y activa ‘Snap-To’, los límites de las secciones siempre se seleccionarán en múltiplos de frames.

Las múltiples herramientas de edición incluyen numerosos consejos de uti-lización, por lo que su manejo resulta muy rápido e intuitivo. Una opción muyútil es la llamada ‘Undo History’, a la que se accede con ‘View’ ➝ ‘History’.Aquí puede observar las últimas acciones efectuadas y, si es necesario, deshac-erlas pulsando con el ratón en la lista. El botón ‘Discard’ ha de utilizarse conprecaución, ya que elimina de la lista las acciones realizadas, que entonces ya no

133SuSE Linux – Manual de Administración

Page 152: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

pueden deshacerse.

Figura 6.7: En el espectro de sonidos es posible identi-ficar rápidamente la altura de los tonos y las interferencias.

Gracias al análisis espectral incorporado es muy fácil detectar posibles interfer-encias. Con ‘View’ ➝ ‘Plot Spectrum’ puede ver el espectro de la sección selec-cionada en ese momento. Mediante ‘Log frequency’ también puede seleccionaruna escala logarítmica de frecuencias en octavas. Al mover el puntero del ratónen el espectro, se muestran automáticamente las frecuencias más altas junto conlas notas correspondientes.Utilice el filtro ‘FFT Filter’ del menú ‘Effect’ para eliminar frecuencias molestas.Volver a ajustar el nivel de la señal con ‘Amplify’ puede resultar necesario nosólo en relación con el filtrado, sino también para comprobar la modulación. Pordefecto, ‘New Peak Amplitude’ muestra siempre 0,0 decibelios, lo que equivalea la máxima amplitud posible en el formato de audio seleccionado. En ‘Ampli-fication’ aparece la amplificación que sería necesaria para llegar a esta modu-lación máxima en la sección seleccionada. Cuando este número es negativo, nosencontramos ante una sobremodulación.

Guardar y exportar

Se puede guardar todo el proyecto con ‘File’ ➝ ‘Save Project’ o ‘Save Project As’.De esta forma se crea un fichero XML con la terminación .aup que describe el

134 Grabar en el disco duro con Audacity

Page 153: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

proyecto. Los verdaderos datos de audio se guardan en un directorio que llevael mismo nombre que el proyecto más el sufijo _data .

También existe la posibilidad de exportar el proyecto completo o la secciónelegida en ese momento como fichero WAV estéreo. Para exportar al formatoMP3, consulte el apartado 6.

Grabar y reproducir ficheros WAV directa-mente

paquete kalsatools

arecord y aplay resultan muy interesantes porque pertenecen directamenteal paquete ALSA y constituyen una interfaz fácil y flexible para los dispositivosPCM.

arecord y aplay permiten grabar y reproducir datos de audio en formatoWAV (entre otros). El comando

tierra:~ # arecord -d 10 -f cd -t wav mysong.wav

graba un fichero WAV de 10 segundos de duración con calidad de CD (16 bits,44.1 kHz). Si activa los programas con la opción -help , aparece la lista comple-ta de las opciones para arecord y aplay .

qaRecord es un sencillo programa de grabación con interfaz gráfica e indicadorde nivel. Este programa utiliza internamente un búfer de aproximadamente 1MB (configurable con -buffersize ), garantizando así grabaciones sin inter-rupciones incluso en hardware lento, especialmente si se inician con prioridadde tiempo real (véase la sección 6). Durante la grabación se puede ver en la líneade estado el tamaño del búfer utilizado en ese momento (‘Buffer’), y el tamañodel búfer que será necesario como máximo para esta grabación (‘Peak’).

Compresión de datos de audio

paquete vorbis-tools

Los datos de audio con calidad de CD sin comprimir ocupan por minuto casi10 MB. Para comprimir de forma drástica esta cantidad de datos, la organi-zación alemana Frauenhofer Institut desarrolló el método MP3, por desgra-cia patentado. Por este motivo, las empresas que comercializan codificadoresMP3 deben pagar tasas de licencia. Para Linux se ha desarrollado el potente

135SuSE Linux – Manual de Administración

Page 154: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

codificador MP3 Lame, que desgraciadamente no podemos incluir en nues-tra distribución a pesar de que su código fuente está bajo la GPL. Puede infor-marse sobre la actual situación legal en la página web del proyecto en http://lame.sourceforge.net . El uso de Lame está restringido en algunos país-es (entre ellos Alemania y los EE.UU) a fines de investigación.

Ogg Vorbis es un formato libre de compresión de datos de audio. Hoy en día, lamayoría de reproductores de audio soportan el formato Ogg. La página web delproyecto es http://www.xiph.org/ogg/vorbis . En el paquete vorbis-toolsse incluye, entre otras cosas, un codificador y un sencillo reproductor. Puedeiniciar el codificador desde la línea de comandos con oggenc . Como únicoparámetro se debe introducir el fichero WAV que se quiere comprimir. La opción-h le proporciona un resumen de los posibles parámetros. En su última versión,el codificador Ogg soporta incluso la codificación con tasa de bits variable. Deesta forma se logra una mayor compresión manteniendo la calidad. En lugarde la tasa de bits se puede introducir el parámetro -q para la calidad deseada.Aunque de manera alternativa es posible seguir utilizando el parámetro para latasa de bits. Con el parámetro -b se define la tasa de bits media y con -m y -M sepuede especificar la tasa mínima y máxima.

ogg123 es un reproductor Ogg para la línea de comandos. Es necesario pasaral programa un dispositivo para la reproducción. El programa se inicia con uncomando como:

tierra:~ # ogg123 -d alsa09 mysong.ogg

ALSA y MIDI

paquete pmidi, aseqview, vkeybdpaquete awesfx, snd_sf2, kalsatools

Además de reproducir datos PCM, muchas tarjetas de sonido ofrecen funcionesMidi. El secuenciador MIDI de ALSA implementa una arquitectura potente paratraspasar datos MIDI entre aplicaciones.

Muchas tarjetas de sonido tienen un puerto exterior MIDI para la conexiónde dispositivos MIDI como pueden ser sintetizadores, teclados y módulos desonido. Si ALSA apoya el puerto MIDI de la tarjeta de sonido, a través de estepuerto se podrán grabar y reproducir ficheros MIDI con un programa secuen-ciador (p.ej. jazz). En el centro de control KDE bajo la opción de menú ‘Sonido’➝ ‘MIDI’ se accede a una lista general de los dispositivos MIDI ofrecidos por latarjeta de sonido. Aquí también se puede configurar el dispositivo que se debeusar para reproducir ficheros MIDI. Se puede ver en una lista los dispositivos

136 ALSA y MIDI

Page 155: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

MIDI disponibles así como el número de puerto interno ALSA. Para visualizaresta lista, introduzca el comando

tierra:~ # pmidi -l

En el caso de una tarjeta ”Soundblaster Live!” esta lista puede tener el siguienteaspecto:

Port Client name Port name72:0 External MIDI 0 MIDI 0-073:0 Emu10k1 WaveTable Emu10k1 Port 073:1 Emu10k1 WaveTable Emu10k1 Port 173:2 Emu10k1 WaveTable Emu10k1 Port 273:3 Emu10k1 WaveTable Emu10k1 Port 3

Fichero 4: Dispositivos midi de una tarjeta Soundblaster Live!

En la primera columna se encuentran los números de puerto interno median-te los cuales el controlador ALSA accederá al dispositivo. En las columnasrestantes hallará la denominación y el nombre del puerto del dispositivo. Jun-to al recientemente nombrado puerto externo Midi se pueden ver varios puertosWaveTable. Por ej. con el comando

tierra:~ # pmidi -p 73:0 mysong.mid

se puede reproducir un fichero MIDI a través de uno de los puertos menciona-dos en la lista.

AtenciónAl interrumpir un reproductor de MIDI durante la reproducción, es posi-ble que se mantenga un sonido constante. En tal caso ejecute el scriptall_notes_off . Si esto no funciona, es posible reiniciar ALSA comple-tamente mediante el comando de root : rcalsasound restart .

Atención

Muchas tarjetas de sonido (como p. ej. Soundblaster AWE y Live!) poseen unsintetizador interno de WaveTable. Este se encarga de transformar los acontec-imientos del tipo MIDI en sonidos audibles.

Estos eventos MIDI pueden ser enviados al sintetizador WaveTable tanto desdeun teclado MIDI externo como desde un programa interno (p.ej. MIDI-Playero secuenciador). En el caso de las tarjetas Soundblaster AWE y Live! para quese puedan escuchar los sonidos primero se tiene que inicializar el sintetizadorWaveTable con una fuente de sonido. A continuación se describe el proceso deinicialización para las tarjetas del tipo anteriormente mencionado.

137SuSE Linux – Manual de Administración

Page 156: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Cargar fuentes de sonido (SB Live! y AWE)

En el paquete paquete awesfx se encuentra incluido el comando sfxload , en-cargado de cargar las fuentes de sonido en tarjetas Soundblaster AWE y Live!.Los ficheros de fuentes de sonido adecuados se encuentran en el CD de ins-talación de la tarjeta de sonido. El script de arranque de ALSA puede cargarautomáticamente las fuentes de sonido necesarias para la síntesis WaveTable,a condición de que se haya instalado con YaST2 los archivos correspondientesdel CD de drivers de Creative. El script soporta por el momento sólo tarjetas desonido. De todos modos ALSA puede gestionar hasta 8 tarjetas de sonido sindemasiada dificultad. Puede cargar las fuentes de sonido con un comando como

tierra:~ # sfxload -D 〈n〉 /usr/share/sfbank/creative/8MBGMSFX.SF2

donde n significa el número de tarjeta de sonido (0, 1, ...). Tenga presente quen no tiene que tener el mismo número de tarjeta de sonido con el que fueronconfiguradas, ya que corresponde al orden individual en el que se cargaron loscontroladores. En caso de que no se tenga a mano el CD de instalación, tambiénse puede cargar uno de los SoundFonts instalados en /usr/share/sounds/sf2 .

El Soundfont Vintage_Dreams_Waves_v2.sf2 de Ian Wilson contiene 128sonidos analógicos de sintetizador así como 8 baterías y resulta apropiado tantopara las tarjetas SB AWE como para las SB Live!

El ROM-Soundfont gu11-rom.sf2 de Samuel Collins sólo es apropiado paralas tarjetas SB AWE y pone a disposición de estas tarjetas un Banco General MI-DI ampliado. Es importante leer los ficheros del copyright y la documentaciónrespectiva en /usr/share/doc/packages/snd_sf2 .

En la siguiente dirección de Internet se pueden encontrar más soundfontshttp://www.hammersound.net .

vkeybd – El teclado virtual MIDI

Si no hay un teclado externo MIDI conectado a la tarjeta de sonido se puedeusar el teclado virtualvkeybd. Los números de puerto interno que vimos anteri-ormente gracias a pmidi -l cobran aquí relevancia. El programa será ejecuta-do con el comando

tierra:~ # vkeybd --addr 73:0 &

Evidentemente, la dirección del puerto puede ser diferente de ordenador a or-denador. Aquí se debe introducir el primer puerto WaveTable que aparece en la

138 ALSA y MIDI

Page 157: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

Figura 6.8: vkeybd – Un teclado virtual MIDI muycompleto y con muchas posibilidades de configuración.

lista. Si se ha conectado un generador de sonido externo también se puede intro-ducir el número de puerto del puerto MIDI externo. El programa vkeybd ofrecetodavía más opciones. Con

tierra:~ # vkeybd --addr 73:0 --octave 5 &

se puede p.ej. ampliar a 5 el número de las octavas representadas. Para obten-er una lista de las opciones disponibles se pueden introducir los comandosvkeybd --help o man vkeybd .

La opción --preset permite configurar los nombres de los instrumentosde la lista predefinida a través de un fichero preestablecido. Los nombres delos instrumentos se pueden extraer de un fichero Soundfont con el comando:sftovkb . Con:

tierra:~ # cd /usr/share/sounds/sf2

tierra:/usr/share/sounds/sf2 # sftovkbVintage_Dreams_Waves_v2.sf2 > ~/vintage.vkb

se guardan los nombres en el directorio de usuario, en el archivo vintage.vkb .

La interfaz de vkeybd puede ser configurada a través del menú ‘view’.

139SuSE Linux – Manual de Administración

Page 158: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

La correspondencia de las teclas con las notas MIDI enviadas está almacena-da en el fichero ~/.vkeybdrc , en el que es posible realizar ampliaciones.Puede encontrar ejemplos de ficheros de configuración ampliados en /usr/share/doc/packages/vkeybd/vkeybdrc_su_idioma . La utilizaciónde este fichero presupone que vkeybd se ha iniciado (al menos) con la opción--octave 5 . Si desea realizar alguna modificación, puede utilizar el programaxev para averiguar los nombres de los eventos de teclado.

Establecer conexiones entre puertos MIDI

Figura 6.9: Viendo los puertos MIDI con kaconnect.

ALSA ofrece una infraestructura eficaz para unir puertos MIDI. Las tarjetas desonido y los programas MIDI poseen (siempre y cuando soporten la estructuradel secuenciador ALSA) uno o varios puertos MIDI que les permiten comu-nicarse entre sí, a través del comando aconnect o con el programa de KDEkaconnect. Para demostrarlo escriba

tierra:~ # vkeybd

tierra:~ # aseqview

para iniciar dos aplicaciones MIDI. En la barra de título, junto al nombre delprograma, se verá la dirección de puerto que utiliza la aplicación. Al primer pro-grama se le asignará p.ej. el número de puerto 128:0 , y al segundo el 129:0 .Ya que el programa vkeybd se inició sin el parámetro --addr , se tendrá queunir manualmente el puerto de la aplicación con el puerto WaveTable (o el puer-to externo Midi). Para ello introduzca la siguiente línea (o una equivalente):

140 ALSA y MIDI

Page 159: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

tierra:~ # aconnect 128:0 73:0

De este modo se establece una unión (unidireccional) entre el puerto emisor128:0 y el puerto receptor 73:0. A continuación se podrá oír nuevamente el tecla-do. También es posible unir el puerto Midi del teclado y el puerto Midi delviewer del secuenciador ALSA con

tierra:~ # aconnect 128:0 73:0

Si por ejemplo ahora se cambia en el teclado el panning o la Pitchwheel (quese debe activar antes en ‘View’), esto se reflejará de forma inmediata en el pro-grama aseqview. Con aconnect -il o con aconnect -ol se obtiene unalista con los puertos de entrada o de salida y sus correspondientes estados deconexión. Se puede obtener una representación gráfica de las conexiones de lospuertos utilizando el programa kaconnect.

Las conexiones establecidas con aconnect se pueden cortar con la opción -d .Por ejemplo,

tierra:~ # aconnect -d 128:0 129:0

El siguiente comando corta todas las conexiones existentes. aconnect -x .Puede obtener una presentación de las opciones de línea de comandos deaconnect con man aconnect .

TrucoUn consejo para los expertos: Con aseqnet se pueden establecer cone-xiones más allá de los límites del ordenador. Es decir, conexiones en lared. Tal vez se desea tocar el piano a cuatro manos con un viejo amigo enEEUU. . .

Truco

El programa QMidiRoute permite un enrutamiento MIDI ampliado. Esta apli-cación clasifica los eventos MIDI recibidos en el puerto de escritura MIDI segúnla altura de su tono, la fuerza de percusión (velocity) o el canal, y los repro-duce inmediatamente en los puertos de lectura. Con los parámetros ‘Channel’y ‘Transpose’ puede modificar el canal y la altura de tono en la ventana inferior(”split zone”). Por ejemplo, si selecciona el canal 9 podrá tocar la batería en laventana inferior al mismo tiempo que toca otro instrumento en la ventana supe-rior.

kmid – El reproductor Midi de KDE

paquete kdemultimedia

141SuSE Linux – Manual de Administración

Page 160: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 6.10: Crear varias ventanas con QMidiRoute

En el menú de inicio de KDE, en la opción ‘Multimedia’ se encuentra la entradade menú ‘Reproductor de Midi/Karaoke’. El directorio /opt/kde2/share/apps/kmid contiene algunos ficheros de ejemplo para kmid en formato .kar .Estos ficheros albergan también el texto de las canciones, texto que se muestrasincronizado con la reproducción.

Hay un sinfín de direcciones de Internet donde se pueden encontrar ficherostipo MIDI. Una de estas direcciones es p. ej.

http://www.midi.net

En el sitio

http://www.classicalarchives.com

se puede acceder a una extensa biblioteca de ficheros MIDI de música clásica.

Con la tecla�� ��F1 se puede consultar una ayuda detallada online de kmid. Tam-

bién en el caso de este programa se debe elegir correctamente el puerto MIDI.Elegir para ello la opción ‘Opciones’ y a continuación ‘Configuración MIDI’.

Es de destacar la lista de canales que se obtiene al hacer clic sobre el botón deteclado en la barras de herramientas (tal vez sea necesario ampliar la ventanahacia la derecha para poder ver este botón). En la lista de canales (quizás tam-bién sea necesario agrandar el tamaño de esta ventana) se muestran de formagráfica sobre varios teclados los diferentes acontecimientos. Aquí también sepueden seleccionar los instrumentos.

Una posible trampa: Si se ejecuta kmid haciendo clic sobre el icono de un ficheroMidi en el administrador de archivos Konqueror, la configuración de Midi quese activará será la que se ha definido en el centro de control KDE. Si el programa

142 ALSA y MIDI

Page 161: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

Figura 6.11: Ventana principal y vista de canales en kmid

se arranca directamente, se activará la configuración que se ha definido dentrodel propio programa.

Midi sin tarjeta WaveTable

paquete iiwusynth, timidity

No todas las tarjetas de sonido poseen un sintetizador WaveTable con el cualreproducir las muestras o fuentes de sonido (”soundfonts”) cargados conel fichero Midi. En estos casos sirven de ayuda los sintetizadores softwareWaveTable timidity++ e iiwusynth

El sintetizador de fuentes de sonido iiwusynth

Tras iniciar el programa con un comando semejante a:

143SuSE Linux – Manual de Administración

Page 162: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

tierra:tux # iiwusynth -a alsa -m alsa_seq gm.sf2

el programa iiwusynth aparece entre los puertos de escritura MIDI y puedeser utilizado como fuente de sonidos. gm.sf2 representa aquí un fichero conun formato muy extendido para fuentes de sonido. Puede encontrar ficherosapropiados en Internet. iiwusynth dispone de numerosas opciones para la líneade comandos. Con iiwusynth -h puede ver una lista de las mismas .

Configuración de timidity++

timidity++ se configura con el fichero /usr/share/timidity/timidity.cfg . Para acceder a la documentación de ayuda para la configuración detimidity++, ejecute el comando man timidity.cfg . También existe docu-mentación a tal respecto en /usr/share/doc/packages/timidity . En lasiguiente página de Internet encontrará parches de instrumentos adecuados:http://www.stardate.bc.ca/eawpatches/html/default.htm .

Desde este sitio se puede descargar el fichero eawpats12_full.rar . Tieneun tamaño de 22 MB, pero descargarlo vale la pena ya que contiene un juegocompleto de instrumentos GM/GS/XG. Para utilizar los parches con timidity,tiene que cambiar al modo de usuario root , crear a continuación el directorio/usr/share/timidity/eawpats y copiar en éste el fichero eawpats12_full.rar . A continuación cambie al directorio y desempaquete el archivo conel comando

tierra:~ # unrar x eawpats12_full.rar

Hace falta ajustar el archivo timidity.cfg en el directorio /usr/share/timidity/ . Éste debería constar sólo de las dos líneas siguientes:

dir /usr/share/timidity/eawpatssource timidity.cfg

Fichero 5: timidity.cfg

Atención: También el archivo eawpats12_full.rar contiene un ficherotimidity.cfg , que una vez descomprimido se encuentra en el directorio eaw-pats. Este fichero será añadido con el comando source . Las únicas líneas im-portantes de este fichero son

144 Midi sin tarjeta WaveTable

Page 163: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

source gravis.cfgsource gsdrums.cfgsource gssfx.cfgsource xgmap2.cfg

Las demás líneas se pueden eliminar. Aún se deben actualizar lospermisos de los ficheros, para lo que deberá escribir el comandochmod -R a+r /usr/share/timidity/eawpats .

Si se desea usar Soundfonts en lugar de Gravis Instrument Patches, se tendráque modificar el fichero /usr/share/timidity/timidity.cfg . Para usarpor ejemplo el Vintage Dreams Soundfont con timidity++, sólo es necesario quetimidity.cfg contenga la siguiente línea:

soundfont /usr/share/sounds/sf2/Vintage_Dreams_Waves_v2.sf2

Más información sobre este tema en /usr/share/doc/packages/timidity/C/README.sf

Iniciar timidity++ con interfaz gráfica

Hay muy pocos programas que ofrezcan tantas interfaces diferentes comotimidity++. man timidity ofrece un resumen de ello. Una interfaz muy de-sarrollada es Athena Widget Interface que se inicia mediante:

tierra:~ # /usr/bin/timidity -iatv &

AtenciónAl arrancar timidity, Usted no se debe encontrar dentro del directoriousr/share/timidity .

Atención

Un fichero MIDI impresionante que muestra el sonido total de una orquestaes p. ej. la grabación del comienzo de la 1ª sinfonía de Brahms (http://www.classicalarchives.com/brahms.html )

El modo servidor ALSA de timidity++

timidity++ se inicia en modo servidor ALSA mediante:

tierra:~ # /usr/bin/timidity -iA -B2,8 -Os &

Entre otros aparece una mensaje como:

145SuSE Linux – Manual de Administración

Page 164: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Opening sequencer port: 128:0 128:1

que indica el puerto MIDI para acceder al sintetizador (p. ej. convkeybd --addr 128:0 ).

timidity++ se termina con el comando

tierra:~ # killall timidity

que ”mata” todos los procesos de timidity.

AlsaModularSynth: sintetizador y proce-sador de efectos

paquete alsamodular

AlsaModularSynth es la reproducción digital de un sintetizador modularanalógico. El programa dispone de una interfaz JACK y puede cargar unnúmero indeterminado de plugins de efectos LADSPA, por lo que puede uti-lizarse también como procesador de efectos.

Puede iniciar AlsaModularSynth desde la línea de comando con ams. Con elparámetro -j puede activar el modo JACK, que presupone que el motor JACKjackd está funcionando (véase el apartado 6) y que con QJackConnect realizalas conexiones de puertos necesarias. En el modo JACK, los módulos PCM sonconvertidos automáticamente en módulos JACK (y viceversa). Tenga en cuentaque se generará un puerto distinto para cada módulo JACK. AlsaModularSynthsólo aparece en la lista de QJackConnect cuando existe al menos un móduloJACK.

El directorio /usr/share/doc/packages/alsamodular contiene nu-merosos parches de muestra que demuestran las múltiples posibilidades. Enel subdirectorio html encontrará abundante documentación en inglés.

Tomando como base los parches de muestra, a continuación se explicarán breve-mente las distintas posibilidades.

Parches que se reproducen de forma independiente

Los parches que emiten sonidos de forma independiente, sin teclado MIDI oinput de audio, le ayudarán a explorar rápidamente todas las posibilidades desonido.

146 AlsaModularSynth: sintetizador y procesador de efectos

Page 165: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

Figura 6.12: AlsaModularSynth con Scope y Spectrum Viewer

example_ams_demo.ams crea una impresionante pieza de música aleatoria.En example_ams_demo_scope_spectrum.ams se puede incluso visualizarésta con los módulos Scope y Spectrum Viewer. Para ello abra la ventana de estemódulo con el botón derecho del ratón. Compruebe cómo cambia el carácterde la música cuando la cuantificación en el módulo Quantizer (ID 7) se pasa depentatónica a 1/6 (escala de tonos enteros).

Uno de los sintetizadores analógicos más legendarios (y caros) es el Frequen-cy Shifter, inventado por H. Bode y construido por R.A. Moog. Este móduloha sido implementado recientemente por S.W. Harris como plugin LADSPAy está por tanto también disponible para AlsaModularSynth.En example_ams_demo_bode.ams el efecto se aplica a la pieza de música ya conocida.example_bode.ams hace una demostración del Frequency Shifter en el mó-dulo Spectrum Viewer. example_bode_wail.ams es un ejemplo del propioautor del plugin. Aquí puede también realizar en modo JACK un proceso derealimentación a través del módulo JACK In.

example_wind.ams demuestra que con AlsaModularSynth se pueden recrearincluso los sonidos del viento. example_random_* y sequence0* son al-gunos parches de muestra adicionales.

147SuSE Linux – Manual de Administración

Page 166: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

AlsaModularSynth como procesador de efectos

Figura 6.13: El navegador Ladspa le conduce rápidamente al efecto deseado

Especialmente en modo JACK, AlsaModularSynth puede utilizarse como unprocesador de efectos de múltiples posibilidades como se ve ,por ejemplo, enexample_capture.ams . Si ha conectado una fuenta externa de sonido a sutarjeta de sonido y ha realizado una configuración correcta con alsamixer parael proceso de ”capture”, el ejemplo funciona también sin JACK. El navegadorLadspa (‘Ladspa Browser’), al que se accede con ‘Module’ ➝ ‘Show LadspaBrowser’, puede crear módulos para efectos LADSPA. Mientras no utiliceAlsaModularSynth como sintetizador polifónico, los plugins han de ser gen-erados siempre con ‘Create Plugin’. ‘Create Poly Plugin’ crearía una instanciapropia del plugin para cada voz.

148 AlsaModularSynth: sintetizador y procesador de efectos

Page 167: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

Parches del sintetizador

Para utilizar AlsaModularSynth como sintetizador, ha de conectarlo con unteclado maestro (un teclado externo o bien vkeybd) por medio del panel de co-nexiones MIDI kaconnect. En caso de no haber mencionado explícitamentela polifonía con el parámetro --poly , AlsaModularSynth será monofónico demanera análoga al modelo clásico. example_basic.ams es el parche mássencillo para sintetizador. En example_basic_vcf.ams , un filtro modificael sonido mientras que en example_basic_vcf_reverb.ams al filtro se leañaden Portamento y Hall. En la mayoría de los parches, una rueda de inflex-ión de tono (”pitchbender”) y otra de modulación (”modulation wheel”) estánintegradas en los parámetros del módulo. Para evitar saltos de parámetros, losmovimientos de este controlador MIDI se aplican sólo cuando el valor actualdel parámetro se ha tomado una vez. Los módulos Envelope son, como sucedecon frecuencia en los sintetizadores analógicos, ”Single Triggered”. Esto signifi-ca que no son reiniciados en caso de una interpretación ligada (tipo "legato"), loque permite fraseos muy interesantes.

example_full_midi.ams contiene los primeros 16 mensajes de controladorMIDI unidos a parámetros de módulos. Si no dispone de ningún aparato quepueda enviar estos mensajes, puede utilizar la caja de software para contro-ladores MIDI QMidiControl, que se inicia con qmidicontrol . Cuando exper-imente con ella, abra el ‘Control Center’ con ‘Control Center’ ➝ ‘Show Con-trol Center’. Si la casilla de control ‘Follow Midi’ está activada, se mostraránautomáticamente el controlador MIDI movido en último lugar y el primerparámetro conectado al mismo. En el siguiente apartado se explicará con másdetalle el ‘Control Center’.

Todo bajo control con el Control Center

La función principal del ‘Control Center’ consiste en establecer conexiones entrecontroladores MIDI y parámetros de módulos. No obstante, también incluye op-ciones avanzadas de configuración para la regulación de los parámetros, comolos límites de secciones para reguladores de desplazamiento.

En la lista de la izquierda aparecen los controladores MIDI utilizados en unparche. En esta vista de árbol, los parámetros conectados a un controlador semuestran debajo del controlador respectivo. Tan pronto como se recibe un men-saje MIDI que todavía no está incluido en la lista, se añade a la misma.

En la lista de la derecha aparecen los módulos y sus parámetros. Al seleccionarun parámetro, aparece el regulador correspondiente y puede modificar dichoparámetro y, por ejemplo, también los límites de sección.

149SuSE Linux – Manual de Administración

Page 168: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 6.14: Controladores MIDI y parámetros de módulos en el Control Center

Puede crear conexiones MIDI seleccionando un controlador de la lista de laizquierda y un parámetro de la lista de la derecha, y pulsando a continuaciónen ‘Bind’. Para eliminar una conexión MIDI basta con seleccionar el parámetroen cuestión en la lista de la izquierda debajo del controlador y pulsar en ‘ClearBinding’. La opción ‘Clear All’ borra la lista completa de conexiones y contro-ladores MIDI. Con ‘Toggle MIDI Sign’ puede definir si un parámetro debe au-mentar con valores de controlador crecientes o bien avanzar en dirección con-traria.

El módulo MIDI Out

Puede que ya se haya fijado en los dos puertos MIDI de lectura del programaAlsaModularSynth en la lista izquierda de kaconnect. Los mensajes MIDIgenerados por el módulo MIDI Out son emitidos a través de estos puertos. Sise utilizan varios módulos MIDI Out simultáneamente, los mensajes MIDI sesumarán de forma correspondiente. Puesto que no sólo es posible enviar men-sajes de notas sino también de controlador, este módulo también puede ser uti-lizado para regular cualquier parámetro por tensión de control. Para ello se pre-supone que los puertos MIDI de lectura están conectados a los puertos MIDIde escritura. Por ejemplo, example_midiout_controller.ams muestra la

150 AlsaModularSynth: sintetizador y procesador de efectos

Page 169: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

6So

nid

oc

on

ALSA

modificación de una envolvente con mensajes de controlador generados au-tomáticamente. Puede seguir el movimiento de la envolvente abriendo con elbotón derecho del ratón el diálogo de configuración del módulo ENV (ID 5).Mientras el parche está en funcionamiento, la opción ‘Follow MIDI’ del ‘ControlCenter’ ha de estar desactivada.

Si conecta los puertos MIDI de lectura de AlsaModularSynth con un generadorde tonos MIDI, example_midiout_note.ams emite escalas controladas porun oscilador de baja frecuencia (LFO). example_midiout_note_velocity.ams demuestra que los datos para la fuerza de percusión también pueden gen-erase automáticamente. example_midiout_random.ams crea una músicaaleatoria con batería.

Escribir ficheros WAV con el módulo WAV Out

Con el módulo WAV Out puede grabar con calidad de CD señales generadas oeditadas por AlsaModularSynth directamente como fichero WAV. Abra un na-vegador de ficheros con el apartado ‘New File’ en el menú de configuración delmódulo. Si el fichero que aparece bajo ‘File’ ha sido generado correctamente,los botones que se encuentran debajo de ‘Record’ estarán activos y podrán serutilizados.

NoteEdit y secuenciador MIDI

paquete noteedit, jazz, muse, rosegarden

NoteEdit es el software más completo para editar partituras con una interfazgráfica que existe para Linux Este programa ofrece toda la notación musicalpara escribir partituras. noteedit le permite no sólo escribir notas, sino tambiénreproducir y grabar ficheros MIDI. Las partituras pueden exportarse a variosformatos (por ejemplo MusixTeX y LilyPond).

Puede iniciar el programa con noteedit . En /usr/share/doc/packages/noteedit/examples encontrará algunos ejemplos que puede abrir con ‘File’➝ ‘Open’. Con el menú ‘TSE3’ ➝ ‘TSE3 Midi In’ es posible importar ficherosMIDI, que luego se cargan en el editor con ‘TSE3–>Score’. Puede definir distin-tas opciones para la conversión, como por ejemplo la cuantificación, en ‘FilterDialog’.

Utilice el menú ‘Midi’ ➝ ‘Devices’ para seleccionar uno de los dispositivos MI-DI ALSA configurados en su sistema. Este dispositivo será utilizado posterior-mente tanto para grabar como para reproducir.En ‘Staff’ ➝ ‘Staff Properties’ puede seleccionar el instrumento, el canal Midi ymuchos parámetros como el panorama estéreo.

151SuSE Linux – Manual de Administración

Page 170: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Las notas pueden introducirse simplemente con el ratón. Seleccione la longitudy el accidente de la nota en la barra de herramientas. Las notas se generan con elbotón del medio del ratón y las pausas con el botón derecho. En el menú ‘Insert’encontrará objetos como claves, metro y accidentes, que se pueden insertar conel botón medio del ratón.

Con el menú ‘Edit’ ➝ ‘General properties’ ➝ ‘allow insertion from keyboard’puede configurar el teclado para introducir las notas. La altura del tono se de-termina con las teclas del cursor y la longitud de la nota con el bloque numérico(habiendo activado previamente la tecla

�� ��Núm ). Las notas se introducen pulsan-do

�� ��Enter y las pausas con la barra de espacio.

Puede encontrar más información sobre noteedit en el directorio /usr/share/doc/packages/noteedit .

Existen para Linux diversos secuenciadores MIDI, algunos de ellos bastantesofisticados. Jazz es un programa probado y estable. Por otra parte, el desarrollode Rosegarden, el ”clásico” entre los secuenciadores y programas de notaciónmusical para Linux, se ha reanudado recientemente, por lo que merece la penatenerlo en cuenta. MusE es otro proyecto bastante activo cuyo programa puedeutilizarse como secuenciador.

Figura 6.15: El editor de composición musical noteedit

152 AlsaModularSynth: sintetizador y procesador de efectos

Page 171: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Impresoras

El presente capítulo ofrece información detallada sobre el trabajo con impreso-ras. Los ejemplos adicionales posibilitan una comprensión más profunda delentorno de impresión. Le serán de ayuda para encontrar la solución adecuada adistintos problemas, así como a reconocer rápidamente diagnósticos incorrectosde los problemas que se puedan presentar.

Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . 154Requisitos para imprimir . . . . . . . . . . . . . . . . . . . 158Instalar una impresora con YaST . . . . . . . . . . . . . . . . 163Configuración para aplicaciones . . . . . . . . . . . . . . . 169Configuración manual de puertos locales . . . . . . . . . . 170Configuración manual de LPRng/lpdfilter . . . . . . . . . . 178El gestor de impresión LPRng . . . . . . . . . . . . . . . . . 178Herramientas de línea de comandos para LPRng . . . . . . 180El filtro de impresión del sistema LPRng/lpdfilter . . . . . 184Creación de filtros de impresión para LPRng . . . . . . . . 194El sistema de impresión CUPS . . . . . . . . . . . . . . . . 198Herramientas de línea de comandos para sistemas de im-

presión CUPS . . . . . . . . . . . . . . . . . . . . . . . 205Algo sobre Ghostscript . . . . . . . . . . . . . . . . . . . . . 210Algo sobre a2ps . . . . . . . . . . . . . . . . . . . . . . . . . 214Modificar el formato PostScript con psutils . . . . . . . . . 216Codificación de texto ASCII . . . . . . . . . . . . . . . . . . 221Imprimir en una red TCP/IP . . . . . . . . . . . . . . . . . 223

Page 172: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Fundamentos

En Linux las impresoras funcionan mediante colas de impresión.

Los datos a imprimir se envían a una cola de impresión que los almacena hastaque esta los reenvía posteriormente a la impresora a través del spooler de im-presión.

La mayoría de las veces los datos a imprimir no se encuentran en la forma ade-cuada para enviarlos a la impresora. Así por ejemplo un gráfico debe ser antesgeneralmente convertido a otro formato que la impresora pueda utilizar. Estaconversión al ”lenguaje de impresión” se realiza mediante el ”filtro de impre-sión”, que el spooler conecta para que los datos a imprimir sean convertidos y laimpresora pueda imprimirlos directamente.

Ejemplos de lenguajes de impresión estándar

Texto ASCII La mayoría de las impresoras pueden al menos imprimir directa-mente texto ASCII. Las pocas excepciones que existen entienden algunode los siguientes lenguajes de impresión.

PostScript PostScript es el lenguaje de impresión estándar utilizado para ta-reas de impresión en Unix/Linux, las cuales pueden ser imprimidas porlas impresoras PostScript directamente. Este tipo de impresoras es relati-vamente caro, ya que PostScript es un complejo y poderoso lenguaje queexige un alto rendimiento por parte del ordenador a la hora de imprimir.Además la licencia provoca costes adicionales.

PCL3, PCL4, PCL5e, PCL6, ESC/P, ESC/P2 o ESC/P Raster Si no hay una im-presora PostScript conectada, el filtro de impresión utiliza el programaGhostscript para convertir los datos en uno de los otros lenguajes de im-presión estándar. Para ello se debe utilizar un controlador Ghostscriptadecuado para el modelo de impresora de que se trate, con el fin de podertener en cuenta las particularidades específicas de cada modelo (p.ej. op-ciones de color).

Desarrollo de un trabajo de impresión

1. El usuario o un programa en uso lanza un trabajo de impresión..

2. Los datos a imprimir se guardan en la cola de impresión. El spooler deimpresión pasa los datos desde ahí al filtro de impresión correspondiente.

154 Fundamentos

Page 173: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

3. El filtro de impresión realiza por lo general lo siguiente:

a) Se identifica el tipo de datos que se deben imprimir.

b) Si no se trata de datos PostScript, se transforman en datos de estelenguaje estándar. En especial, el programa a2ps transforma el textoASCII en lenguaje PostScript.

c) Los datos PostScript se convierten a otro lenguaje que la impresorapueda entender.

Si se trata de una impresora PostScript, se envían los datosPostScript directamente a la impresora.Si no se trata de una impresora PostScript, el programaGhostscript emplea un controlador que se acomoda al lengua-je de impresión del modelo de impresora utilizado para trans-formar los datos PostScript en datos escritos en el lenguaje deimpresión correspondiente, que luego enviará a la impresora.

4. Una vez que la orden de impresión ha sido enviada en su totalidad a laimpresora, desaparece de la cola de impresión.

155SuSE Linux – Manual de Administración

Page 174: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

printout printout

printing engine printing engine

? ?

? ?

PostScript interpreter PCL interpreter

PostScript printer PCL printer

PCL data

PCL driver

conversion fromPostScript into

raster data

Ghostscript

?

?

?

PostScript

?

?

conversion from conversion fromASCII text graphics data

into PostScript into PostScript

? ?

PostScript ASCII text graphics data

? ?

?

determination of the type of the data

print filter

print job print job

? ?

print spooler with queues

156 Fundamentos

Page 175: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Distintos sistemas de impresión

SuSE Linux soporta dos tipos de sistemas de impresión:

LPRng/lpdfilter Este es un sistema tradicional compuesto de un spooler deimpresión ”LPRng” y de un filtro de impresión ”filtro lpd”. En sistemastradicionales, el administrador del sistema establece toda la configuraciónde una cola de impresión y el usuario sólo puede escoger entre distintascolas. Para elegir una determinada configuración, deben fijarse varias co-las de impresión con distintas configuraciones para la misma impresora.En impresoras de blanco y negro (p. ej. la mayoría de las impresoras láser)basta con una configuración estándar, pero con las modernas impresorasa chorro de tinta en color es necesario realizar distintas configuracionespara imprimir en blanco y negro, en color, en color a gran resolución o concalidad fotográfica. Mediante este tipo de configuraciones se garantizaautomáticamente que sólo se utilizarán aquellas configuraciones que eladministrador del sistema ha realizado. Por otro lado, ya que el usuariono puede realizar configuraciones individuales, el administrador del sis-tema debe configurar muchas colas de impresión, para poder aprovechartodas las posibilidades que ofrecen las impresoras actuales y ponerlas adisposición de los usuarios,

CUPS Con el sistema CUPS, el usuario tiene la posibilidad de establecer paracada impresión unas propiedades específicas de impresión, puesto queaquí, el administrador del sistema no determina la configuración total deuna cola de impresión. Las distintas posibilidades de configuración se en-cuentran en un ”archivo PPD” (ingl. ()PostScript Printer Description) en lacola de impresión, que se le presenta al usuario en una ventana de diálo-go. Normalmente en el fichero PPD se encuentran todas las posibilidadesque ofrece la impresora, pero el administrador del sistema puede modifi-car este fichero y limitar estas posibilidades.

Puesto que hay coincidencias en los ficheros de configuración, en circunstanciasnormales sólo se puede instalar uno de los dos sistemas de impresión, pero conYaST2 se puede cambiar de un sistema a otro (ver sección Instalar una impresoracon YaST en la página 163).

Indicaciones generales para problemas de impresión

La documentación incluye la mayor parte de las preguntas generales y sus posi-bles respuestas.

157SuSE Linux – Manual de Administración

Page 176: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Para muchos casos especiales puede encontrarse una solución en la base dedatos de soporte.

Para problemas de impresión los siguientes artículos de la base de datos de so-porte son un buen punto de partida: Instalando una impresora y Printer Configura-tion with SuSE Linux 8.2:http://sdb.suse.de/es/sdb/html/jsmeix_print-einrichten.htmlhttp://sdb.suse.de/en/sdb/html/jsmeix_print-einrichten-82.htmlEspecialmente en esta última dirección encontrará la información más actualrelativa a la ”configuración de la impresora en SuSE Linux 8.2”.

Puede encontrar la base de datos de soporte en la ayuda del sistema SuSE o laversión actual online en http://sdb.suse.de/es/sdb/html/

Los problemas más importantes de cada versión se encuentran recogidos en unartículo:Known Problems and Special Features in SuSE Linux 8.2http://sdb.suse.de/en/sdb/html/bugs82.htmlKnown Problems and Special Features in SuSE Linux 8.1http://sdb.suse.de/en/sdb/html/bugs81.htmlSi no encuentra la información buscada ni la documentación ni en la base dedatos de soporte, estaremos encantados de ayudarle mediante los Servicios deSoporte de SuSE.Para clientes particulares:http://www.suse.de/es/private/support/index.htmlPara clientes corporativos:http://www.suse.de/es/business/services/index.html

Requisitos para imprimir

Requisitos generales

SuSE Linux debe soportar la impresora; véase las siguientes fuentes deinformación.

Base de datos de impresoras de SuSE – http://cdb.suse.de ohttp://hardwaredb.suse.de/

Base de datos de impresoras de Linuxprinting.org – http://www.linuxprinting.org/ → ‘The Database’ (http://www.linuxprinting.org/database.html ) ohttp://www.linuxprinting.org/printer_list.cgi

158 Requisitos para imprimir

Page 177: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Ghostscript – http://www.cs.wisc.edu/~ghost/

Controladores Ghostscript en SuSE Linux – file:/usr/share/doc/packages/ghostscript/catalog.devices Aquí puede encon-trar una lista de controladores Ghostscript que de hecho acompañana la versión actual de SuSE Linux. Esto es importante ya que a ve-ces en WWW se menciona un controlador Ghostscript que no estáincluido en SuSE Linux. Por motivos de licencias, en SuSE Linux seincluyen ”Ghostscript GNU”. Pero por lo general, habrá un contro-lador Ghostscript que funcione con la impresora.

Es posible comunicarse con la impresora; véase sección Configuración ma-nual de puertos locales en la página 170 o Configuración manual en la pági-na 166.

Utiliza un kernel original de SuSE sacado de los CD-ROMs, en especialkernels que no haya compilado Vd. mismo. Si existen problemas instaleun kernel original de SuSE y arranque de nuevo.

Le recomendamos que realice la instalación del ‘sistema estándar’ conYaST2, para que todos los paquetes necesarios estén disponibles. Si en lainstalación del sistema estándar no ha cambiado la selección predetermi-nada de paquetes, está todo en regla. En caso contrario, instale al menos el‘(’sistema estándar). Los ‘(’sistemas mínimos) no bastan para imprimir.

Determinar el controlador de impresión correcto

No es necesario ningún controlador de impresión especial para una impreso-ra PostScript. Véase la sección Desarrollo de un trabajo de impresión en la pági-na 154. Para impresoras que no soporten PostScript, un controlador Ghostscriptse encargará de crear los datos específicos para esa impresora. Por tanto loscontroladores Ghostscript son el punto decisivo en el que se determina el tipode impresión de impresoras que no soporten PostScript. Los datos impresosvienen entonces determinados por las configuraciones específicas del contro-lador Ghostscript seleccionado.

Las listas del apartado Requisitos generales en la página anterior indican tambiénlos controladores de Ghostscript específicos para determinados modelos de im-presoras.

Pregunte al fabricante de la impresora qué lenguaje de impresión entiende sumodelo o con qué modelo de la base de datos de impresoras es compatible suimpresora (véase más abajo). En especial, cuando se trata de modelos nuevos,el fabricante puede probar fácilmente si funciona con Linux. Existen grandesdiferencias en el soporte de Linux por parte de los distintos fabricantes.

159SuSE Linux – Manual de Administración

Page 178: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si tampoco el fabricante puede dar información sobre el uso de la impresora encombinación con Linux, puede que le ayuden las siguientes pistas:

Averigüe si su impresora es compatible con un modelo que funcione conLinux y utilice entonces el controlador de Ghostscript del modelo compat-ible.

Ser compatible con Linux significa que su impresora puede imprimir cor-rectamente la misma secuencia binaria que el modelo compatible, ambasimpresoras ”entienden” directamente el mismo lenguaje de impresión, sinnecesidad de usar un controlador o un programa de emulación (p. ej. deotro sistema operativo).

Las impresoras con descripciones parecidas no son necesariamente com-patibles, ya que no siempre entienden de forma directa el mismo lenguajede impresión.

La forma más segura de averiguar el lenguaje de la impresora es consultaral fabricante. Esta información se encuentra generalmente también en elmanual que acompaña a la impresora.

PCL5e o PCL6 – Las impresoras que entienden directamente PCL5eo PCL6 deberían funcionar con un controlador Ghostscript ljet4 a600x600 dpi. A menudo también se indica PCL5e como PCL5.

PCL4 o PCL5 – Las impresoras que entienden directamente PCL4 oPCL5, deberían funcionar con un controlador Ghostscript laserjet,ljetplus, ljet2p o ljet3, pero están limitadas a 300x300 dpi.

PCL3 Las impresoras que entienden PCL3 directamente deberían fun-cionar con un controlador Ghostscript deskjet, hpdj, pcl3, cdjmono,cdj500 o cdj550.

ESC/P2, ESC/P o ESC/P Raster Las impresoras que entienden directa-mente ESC/P2, ESC/P o ESC/P Raster deberían funcionar con uncontrolador Ghostscript stcolor o con uniprint junto con el uso deladecuado fichero de parámetros *.upp (p. ej.stcany.upp).

La problemática de las impresoras GDI

Puesto que normalmente los fabricantes de hardware no desarrollan contro-ladores de impresoras para Linux, se recomienda que la impresora a instalar en-tienda uno de los lenguajes de impresión más conocidos como PostScript, PCL oESC/P.

160 Requisitos para imprimir

Page 179: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Las impresoras normales entienden al menos uno de los lenguajes de impresiónmás conocidos. Pero hay fabricantes que desarrollan impresoras con las que sóloes posible comunicarse con la versión específica del sistema operativo para laque el fabricante proporciona el controlador; a estas impresoras se las denomina”impresoras GDI”. Puesto que tales impresoras no siguen normas estándar, amenudo se producen dificultades cuando se las quiere utilizar con Linux.GDI es una interfaz desarrollada por Microsoft para la representación gráfica.El problema no es la interfaz, sino que sólo se puede hablar a la impresora GDIutilizando el lenguaje de impresión propietario del correspondiente modelode impresora. En realidad sería más correcto decir: la impresora a la que sólo esposible hablar utilizando un lenguaje de impresión propietario.Pero hay impresoras que, además del modo GDI, entienden un lenguaje de pro-gramación estándar, para lo cual hay que configurar o cambiar el modo de laimpresora convenientemente. Si junto a Linux utiliza otro sistema operativo,puede que el controlador de impresión del otro sistema operativo haya puestola impresora en modo GDI, con lo que ésta no funcionaría después con Linux.O vuelve a poner la impresora en el otro sistema operativo en modo estándar,o la utiliza solamente en modo estándar también en el otro sistema operativo,aunque pueda ocurrir a menudo que existen menos posibilidades de impresióna su disposición (p. ej.una menor resolución).De un tipo especial son las impresoras que sólo entienden partes rudimentariasde un lenguaje de impresión estándar, como pueden ser los comandos necesar-ios para la impresión de datos gráficos. A veces tales impresoras pueden uti-lizarse normalmente, ya que por lo general los controladores Ghostscript sóloutilizan los comandos para la impresión de datos gráficos. Puede ocurrir en-tonces que no se pueda enviar texto ASCII directamente a la impresora, peroGhostscript suele estar siempre disponible. Especialmente problemáticas son lasimpresoras que deben ser adaptadas mediante secuencias especiales. Aquí no sepuede utilizar ningún controlador Ghostscript normal, sino que se necesita uncontrolador especial que realice esta adaptación.Existen controladores específicos del fabricante para algunas impresoras GDI.La desventaja de estos controladores en Linux para impresoras GDI consiste enque no se puede garantizar que funcionen con las distintas versiones (futuras)de Linux.Las impresoras, que entienden un lenguaje de impresión estándar y sacado ala luz, no dependen ni de un sistema operativo determinado ni de una versiónespecial de un sistema operativo, y los controladores Linux específicos del fabri-cante para tales impresoras a menudo ofrecen los mejores resultados de impre-sión.En SuSE Linux se soportan las siguientes impresoras GDI a través de la confi-guración de impresoras con YaST2, pero puesto que estas impresoras siempre

161SuSE Linux – Manual de Administración

Page 180: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

dan problemas, puede que algún modelo no funcione o que existan grandes re-stricciones como, p. ej. que sólo se pueda imprimir en blanco y negro y con bajaresolución. Tenga en cuenta que no podemos garantizar la fiabilidad de esta in-formación puesto que no probamos los controladores de impresoras GDI (nocompramos este tipo de impresoras).

Brother HL 720/730/820/1020/1040, MFC 4650/6550MC/9050 y los cor-respondientes modelos compatibles.

HP DeskJet 710/712/720/722/820/1000 y los correspondientes modeloscompatibles.

Lexmark 1000/1020/1100/2030/2050/2070/3200/5000/5700/7000/7200,Z11/42/43/51/52 y los correspondientes modelos compatible. Puedeencontrar controladores para Linux en http://www.lexmark.com/printers/linuxprinters.html

Oki Okipage 4w/4w+/6w/8w/8wLite/8z/400w y los correspondientesmodelos compatibles.

Samsung ML-200/210/1000/1010/1020/1200/1210/1220/4500/5080/6040y los correspondientes modelos compatibles.

Por lo que sabemos, al menos la siguientes impresoras GDI no están soportadaspor SuSE Linux, pero seguramente esta lista no esté completa:

Brother DCP-1000, MP-21C, WL-660

Canon BJC 5000/5100/8000/8500, LBP 460/600/660/800, MultiPASSL6000

Epson AcuLaser C1000, EPL 5500W/5700L/5800L

HP LaserJet 1000/3100/3150

Lexmark Z12/22/23/31/32/33/82, Winwriter 100/150c/200

Minolta PagePro 6L/1100L/18L, Color PagePro L, Magicolor6100DeskLaser/2DeskLaserPlus/2DeskLaserDuplex

Nec SuperScript 610plus/660/660plus

Oki Okijet 2010

Samsung ML 85G/5050G, QL 85G

Sharp AJ 2100, AL 1000/800/840/F880/121

162 Requisitos para imprimir

Page 181: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Instalar una impresora con YaST

Colas de impresión y configuración

Normalmente se necesitan varias colas de impresión por los siguientes motivos:

Se debe hablar a distintas impresoras a través de distintas colas de impre-sión.

En cada cola de impresión se puede configurar el filtro de impresión in-dividualmente. Así pues, se pueden utilizar distintas colas de impresiónpara la misma impresora para poner distintas configuraciones a disposi-ción de los usuarios. En CUPS no es necesario, ya que el propio usuariopuede definir la configuración adecuada. Véase a este efecto la secciónDistintos sistemas de impresión en la página 157

Para imprimir en blanco y negro (p. ej. la mayoría de las impresoras láser) bastauna sola configuración estándar, pero para las impresoras a chorro de tinta encolor se necesita al menos dos configuraciones, o sea, dos colas de impresión.

Una configuración estándar ”lp” con la que la impresora puede imprimiren blanco y negro rápidamente y con un bajo coste. El nombre tradicionalde una cola de impresión estándar es lp .

Una configuración ”en color” o, lo que es lo mismo, una cola de impresiónpara impresión en color.

Fundamentos de la configuración de impresoras con YaST2

La configuración de impresoras de YaST2 no sólo se puede iniciar me-diante menús, sino también como usuario ( root) directamente des-de la línea de comandos con el comando yast2 printer . Conyast2 printer .nodetection se puede evitar la detección automática deimpresoras. Véase la sección Puertos paralelos en la página 170.

No todas las impresoras pueden configurarse para ambos sistemas de im-presión. Algunas configuraciones son soportadas o sólo por CUPS o sólo porLPRng/lpdfilter. La configuración de impresoras de YaST2 se lo indica cuandoes pertinente.

Con la configuración de impresoras de YaST2 se puede cambiar entre CUPS yLPRng/lpdfilter con facilidad a través de una rama de menú avanzado.

Con YaST2 se puede cambiar entre los siguientes sistemas de impresión:

163SuSE Linux – Manual de Administración

Page 182: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

CUPS como servidor (configuración por defecto en la instalación estándar)Si una impresora está conectada localmente, CUPS debe funcionar comoservidor. En caso de no configurar ninguna cola local con YaST2, el dae-mon de CUPS ”cupsd” no será iniciado automáticamente. Si a pesar detodo quiere que cupsd funcione, ha de activar el servicio ‘cups’ (normal-mente para los niveles de ejecución 3 y 5). Véase la sección Configuraciónrápida de un cliente en la página 225. Se debe instalar los siguientes paque-tes para este sistema de impresión:

paquete cups-libs

paquete cups-client

paquete cups

paquete cups-drivers

paquete cups-drivers-stp

CUPS exclusivamente como cliente Si hay un servidor de red CUPS en la redlocal (véase la sección Aclaración de términos en la página 224) y el usuariosólo quiere imprimir a través de esa cola de impresión, basta con queCUPS funcione exclusivamente como cliente (véase la sección Configu-ración rápida de un cliente en la página 225). Son necesarios los siguientespaquetes:

paquete cups-libs

paquete cups-client

LPRng Si se debe utilizar el sistema de impresión LPRng/lpdfilter.

Si la red local sólo dispone de un servidor de red LPD (véase secciónAclaración de términos en la página 224), y el usuario quiere impri-mir a través de esta cola de impresión (ver Configuración rápida de uncliente en la página 225).. Los paquetes a instalar son los siguientes:

• paquete lprng

• paquete lpdfilter

Los paquetes paquete cups-client y paquete lprng se excluyen mutua-mente y por tanto no pueden ser instalados a la vez. El paquete cups-libssiempre debe estar instalado, ya que algunos programas (p. ej. Samba,Ghostscript, KDE, Wine y la configuración de impresoras de YaST2) necesitanlas bibliotecas CUPS.

Para disponer de un sistema de impresión completo normalmente se necesitantambién algunos paquetes adicionales, instalados automáticamente con el ‘(’sis-tema estándar), en especial:

164 Instalar una impresora con YaST

Page 183: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

paquete ghostscript-library

paquete ghostscript-fonts-std

paquete ghostscript-x11

paquete libgimpprint

paquete a2ps

paquete file

La configuración de impresoras de YaST2 muestra las configuraciones que sepueden realizar sin que ocurra ningún error. Puesto que la realización de lasconfiguraciones ocurre de hecho al terminar la configuración de YaST2, se debearrancar de nuevo la configuración para comprobar.

La configuración de impresoras de YaST2 distingue entre colas de impresióndefinidas con YaST2 (colas de impresión YaST2) y aquellas que no se definieroncon YaST2 (colas de impresión sin YaST2), las cuales YaST2 no modifica. El con-flicto llega cuando el nombre es idéntico. Al editar una cola de impresión sepuede elegir si YaST2 ha de ocuparse de su configuración o no. Al convertir unacola YaST2 en una cola sin YaST2, es posible realizar modificaciones propias sinque YaST2 sobreescriba los cambios efectuados. El proceso inverso también esposible (convertir una cola sin YaST2 en una cola YaST2). En este caso la configu-ración de la cola podrá sobreescribirse con la configuración de YaST2.

Configuración automática

. En función del hardware que YaST2 reconozca automáticamente y de la canti-dad de información sobre el correspondiente modelo de impresora que se en-cuentre en la base de datos de impresoras de YaST2, éste podrá proporcionar losdatos necesarios automáticamente u ofrecer una preselección adecuada. En casocontrario, el usuario debe dar la información necesaria en los cuadros de diálo-go.

Con YaST2 se puede configurar la impresora automáticamente si se cumplen lossiguientes requisitos:

La configuración automática del puerto paralelo o USB funciona y la im-presora conectada es reconocida automáticamente.

La base de datos de impresoras contiene la identificación del modelo deimpresora que obtiene YaST2 durante el reconocimiento automático. Estereconocimiento puede diferir de la denominación de modelo y es posibleque el modelo sólo pueda ser seleccionado manualmente.

165SuSE Linux – Manual de Administración

Page 184: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Es esencial comprobar cada configuración mediante la página de prueba deYaST2, ya que a menudo las configuraciones se introducen en la base de datosde impresoras sin un soporte explícito del fabricante de la impresora, y por tan-to no se puede garantizar toda la información.

Además la página de prueba de YaST2 ofrece mucha información importanteacerca de la configuración en cuestión.

Configuración manual

Se precisa de una configuración manual cuando alguno de los requisitos para elfuncionamiento de la configuración automática no se cumple o cuando se tratade realizar una configuración individual.

En total, debe configurarse los siguientes valores:

Conexión de hardware (puerto)

En el caso de que YaST2 haya reconocido el modelo de impresora au-tomáticamente, se supone que el puerto de conexión a la impresorafunciona correctamente y por lo tanto no es necesario configurarlo.

Pero si YaST2 no detecta el modelo de impresora automáticamente,esto indica que el puerto de conexión a la impresora debe ser config-urado manualmente.

/dev/lp0 es el primer puerto paralelo/dev/usb/lp0 es el puerto para una impresora USB

En una configuración manual se debe escoger el puerto apropiado.En este caso se debe realizar sin falta la correspondiente prueba enYaST2 para probar si se le puede hablar a la impresora a través delpuerto elegido.Lo más seguro para que funcione es conectar la impresora directa-mente en el primer puerto paralelo y establecer las siguientes config-uraciones para el puerto paralelo en la BIOS:

• Dirección E/S 378 (hexadecimal)• Interrupt no es importante• Modo Normal , SPPo Output-Only

• No se utiliza DMA.

Si a pesar de esto, no se puede acceder a la impresora a través delprimer puerto paralelo, entonces se debe introducir la dirección E/Scorrespondiente a la configuración de la BIOS de manera explícitacon la forma 0x378 en las configuraciones detalladas del puerto par-alelo. Si hay dos puertos paralelos disponibles configurados con las

166 Instalar una impresora con YaST

Page 185: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

direcciones E/S 378 y 278 (hexadecimal), se deben introducir con laforma 0x378,0x278 . Véase la sección Puertos paralelos en la pági-na 170.

Nombre de la cola de impresión Puesto que a menudo al imprimir se debeescribir el nombre de la cola de impresión, es recomendable que este nom-bre sea corto y esté compuesto sólo de minúsculas y de números.

En sistemas de impresión LPRng/lpdfilter existen las siguientes posibili-dades especiales de configuración:

Para casos especiales se puede crear una cola tipo raw . En una colatipo raw no se efectúa ninguna conversión de los datos a imprimirpor el filtro de impresión, sino que se envían los datos a imprimir di-rectamente (en ”crudo”) a la impresora. Por esta razón teniendo unacola de impresión tipo raw los datos a imprimir ya deben estar pre-sentes en el lenguaje de impresión de la impresora correspondiente.

Una cola de impresión se puede configurar con o sin ”avance depágina completo” (ingl. formfeed), dependiendo de si el gestor deimpresión provoca explícitamente un avance de hoja después decada tarea de impresión, con el fin de que también salga de la impre-sora la última hoja. De esto se encarga normalmente el controladorGhostscript, con lo cual no es necesario un avance de hoja explícito.

Controladores Ghostscript o lenguaje de impresión (modelo de impresora)El controlador Ghostscript y el lenguaje de impresión vienen dados conel modelo de impresora correspondiente y se determinan en función de laselección de una configuración predeterminada adecuada para ese mode-lo de impresora. Esta configuración se puede adecuar de forma individuala una determinada máscara. Esto quiere decir que al seleccionar el fabri-cante y modelo es cuando de hecho se selecciona el lenguaje de impresióno un controlador Ghostscript con una configuración predefinida adecuadopara la impresora.

El controlador Ghostscript es el que genera los datos específicos para im-presoras que no tienen soporte para PostScript. Por consiguiente la confi-guración del controlador Ghostscript es el punto decisivo para definir eltipo de impresión. La selección del controlador GhostScript y la configu-ración específica del controlador adecuado es lo que determina la imagende impresión. Aquí es donde se definen las diferencias de la imagen deimpresión entre las diferentes configuraciones para la misma impresora.

Si YaST2 ha detectado automáticamente el modelo de su impresora o bienel modelo existe en la base de datos de impresoras, se realiza una preselec-

167SuSE Linux – Manual de Administración

Page 186: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ción razonable de los controladores Ghostscript adecuados. En este casoYaST2 suele proporcionar varias configuraciones predeterminadas, p. ej.

Impresión en blanco y negro

Impresión en color 300 dpi

Calidad fotográfica 600 dpi

En una configuración predeterminada se incluye el controladorGhostscript específico y las configuraciones apropiadas del controladorpara un tipo determinado de impresión.

Si existen configuraciones específicas del controlador, estas pueden modi-ficarse individualmente mediante una máscara especial.

La relación entre el valor seleccionado y las posibles opciones de una se-lección subordinada puede distinguirse por la sangría de las entradas delmenú.

No todas las combinaciones seleccionables de las diferentes configura-ciones del controlador funcionan con todos los modelos de impresora;especialmente en combinación con resoluciones altas.

Es imprescindible realizar una comprobación imprimiendo la página deprueba. Si el resultado de esta impresión es incorrecto (p. ej. muchas pági-nas casi vacías) puede parar la impresión inmediatamente sacando todoel papel y pulsando después el botón ‘Parar’. Pero en algunos casos no esposible realizar después otra impresión, con lo cual es menos problemáti-co pulsar el botón ‘Parar’ y esperar a que la impresión termine.

Si el modelo de la impresora no se encuentra en la base de datos de im-presoras existe una serie de controladores Ghostscript genéricos para loslenguajes de impresión estándar. Éstos se encuentran bajo un ”fabricante”genérico.

Algunas configuraciones especiales En cuanto a las configuraciones espe-ciales, deberían dejarse las opciones predeterminadas en caso de duda.

En el sistema de impresión CUPS existen las siguientes configuracionesespeciales:

Restricciones de acceso para determinados usuarios.

Estado de la cola de impresión: Si se ha realizado la impresión o no,y si la cola de impresión debe aceptar las tareas de impresión o no.

Páginas de cubierta y de corrección: Si se debe imprimir y en quémomento las páginas de cubierta o de corrección.

168 Instalar una impresora con YaST

Page 187: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

En el sistema de impresión LPRng/lpdfilter existen las siguientes configu-raciones especiales independientes del hardware:

Se puede fijar aquí la disposición de las hojas para la impresión detextos ASCII, pero no para gráficos y documentos creados con aplica-ciones especiales.

Se puede configurar una cola de impresión ascii para casos espe-ciales. Para este tipo de colas ascii se fuerza al filtro de impresión arealizar la impresión como texto ASCII. Esto es necesario para forzarla impresión en texto ASCII de ficheros de texto ASCII no reconoci-dos como tales por el filtro de impresión (p. ej.para imprimir textosfuente de PostScript).

La codificación específica de cada país afecta a la presentación designos especiales específicos de cada país al imprimir textos ASCII,así como a la presentación de texto sencillo de páginas HTML deNetscape.

Configuración para aplicaciones

Las distintas aplicaciones utilizan las colas de impresión existentes para impri-mir desde la línea de comandos. Por tanto, en casos normales, no tiene que con-figurar de nuevo la impresora en cada aplicación, sino que puede emplear lacola de impresión existente.

Imprimir desde la línea de comandos

Se puede imprimir desde la línea de comandos escribiendo ( lpr -Plp nom-bre_archivo), introduciendo en el valor Nombrearchivo el archivo que sequiere imprimir. En este caso se utiliza la cola de impresión estándar lp . Con laopción -P puede determinar explícitamente la cola de impresión a la que quiereenviarlo. Por ejemplo, con ( lpr -Pcolor nombre_archivo) la cola de impresiónutilizará color .

El sistema de impresión LPRng/filtro lpd

Las aplicaciones utilizan el comando lpr para imprimir. Escoja en la aplicaciónel nombre de una cola de impresión que ya exista (p. ej. lp o color ), o intro-duzca el comando de impresión (p. ej. lpr -Plp o lpr -Pcolor en la ventanade impresión de la aplicación.

169SuSE Linux – Manual de Administración

Page 188: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El sistema de impresión CUPS

El paquete paquete cups-client contiene herramientas de línea de comandospara imprimir con CUPS, como p. ej. el comando lpr , así que lo dicho anteri-ormente también funciona con CUPS (véase la sección Herramientas de línea decomandos para sistemas de impresión CUPS en la página 205).

No obstante, en este caso el diálogo de impresión en los programas KDE ha decambiarse a la opción ‘Imprime a través de un programa externo’. De no serasí, no será posible introducir ningún comando de impresión (véase la secciónConfiguración rápida de un cliente en la página 225).

Además hay programas como xpp o el diálogo de impresión integrado en KDE,kprinter, que permiten escoger la cola de impresión y también establecer op-ciones estándar para CUPS y específicas de la impresora del archivo PPD me-diante menús gráficos de selección.

Para que kprinter sea el diálogo de impresión que aparece por defecto en las dis-tintas aplicaciones, introduzca kprinter o kprinter -stdin como comandode impresión en la interfaz de impresión de cada aplicación. Cuál de los dos de-pende de la aplicación en cuestión. De esta forma, tras la interfaz de impresióndel programa aparece el diálogo de kprinter, en el que puede configurar la colade impresión y otras opciones. Al utilizar este método, tenga en cuenta que lasopciones de la interfaz de impresión de la aplicación y de kprinter no puedenexcluirse. Si es posible, realice la configuración únicamente en kprinter.

Configuración manual de puertos locales

Puertos paralelos

En un sistema Linux la conexión a una impresora suele ocurrir a través deun puerto paralelo. A estas impresoras se las habla mediante el subsistemaparport del kernel.

La configuración básica de un puerto paralelo con YaST2 se encuentra en la sec-ción Configuración manual en la página 166, por lo que aquí sólo se incluirá infor-mación general:

Al subsistema parport se le debe dar a conocer los puertos paralelos me-diante la carga de módulos del kernel específicos de la arquitectura. Así, sepuede trabajar con varios dispositivos al mismo tiempo (p. ej. una unidad ZIPde puerto paralelo y una impresora) conectados a través de un puerto par-alelo. La numeración de ficheros de dispositivos para impresoras de puertoparalelo comienza con /dev/lp0 . Para poder imprimir a través del primer

170 Configuración manual de puertos locales

Page 189: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

puerto paralelo, se debe cargar los siguientes módulos en el kernel estándarde SuSE: parport , parport_pc y lp . Esto, por lo general, ejecuta tambiénautomáticamente el cargador de módulos del kernel (ingl. ()Kernel ModuleLoader), kmod, en cuanto se accede por primera vez a los ficheros de disposi-tivo (p. ej./dev/lp0 ).

Cuando el módulo parport_pc del kernel se carga sin parámetros especiales,intenta reconocer y configurar automáticamente los puertos paralelos. En pocasocasiones no lo consigue y el sistema se ”cuelga”. En este caso, se debe confi-gurar manualmente e introducir explícitamente los parámetros correctos paraparport_pc . Por eso se puede impedir el reconocimiento automático de im-presoras por YaST2 tal y como se explica en la sección Instalar una impresora conYaST en la página 163.

Configuración manual de los puertos paralelos

El puerto paralelo /dev/lp0 se configura mediante una entrada en /etc/modules.conf (ver fichero 6)

alias parport_lowlevel parport_pcoptions parport_pc io=0x378 irq=none

Fichero 6: /etc/modules.conf: Primer puerto paralelo

Para io aparece la dirección de entrada y salida (ingl. IO-address) del puerto par-alelo y para irq aparece none como configuración predeterminada para el mo-do de operación ”polling”; también puede aparecer la interrupción del puertoparalelo. El modo ”polling” es menos problemático que el modo de interrup-ciones ya que se evitan sobre todo conflictos de interrupciones. Sin embargoexisten placas bases o impresoras que sólo funcionan correctamente en modode interrupciones. Además este modo posibilita que la impresora reciba datossuficientes en momentos de sobrecarga del sistema.

Para que estos ajustes funcionen, hace falta configurar los siguientes valores(siempre que existan) para el puerto paralelo en la BIOS del ordenador (o me-diante el ”firmware”):

Dirección entrada/salida (ingl. IO-address) 378 (hexadecimal)

Interrupt 7 (no importa en modo ”polling”)

Modo Normal , SPPo Output-Only (los demás modos no funcionannecesariamente).

DMAestá desactivado (por defecto en modo Normal )

171SuSE Linux – Manual de Administración

Page 190: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si la interrupción 7 aún está libre, se puede activar el funcionamiento de inter-rupciones con

alias parport_lowlevel parport_pcoptions parport_pc io=0x378 irq=7

Fichero 7: /etc/modules.conf: Modo de interrupciones para el primer puerto paralelo

Antes de que el modo de interrupciones esté activado, con

tierra:~ # cat /proc/interrupts

se puede averiguar qué interrupciones ya se están utilizando, con lo que sólo semostrarán las interrupciones que se encuentren funcionando en este momento;lo que puede cambiar en función del hardware que se esté usando. No se debeutilizar la interrupción del puerto paralelo de otro modo. En caso de duda, lomejor es tomar el modo polling.

Configuración de puertos paralelos adicionales

El segundo puerto paralelo /dev/lp1 , al que se accede con la dirección de en-trada y salida estándar 278 (hexadecimal), se configura igualmente con una en-trada en /etc/modules.conf (ver fichero 8). La dirección de E/S se configurap. ej. mediante jumper en una controladora ISA.

alias parport_lowlevel parport_pcoptions parport_pc io=0x378,0x278 irq=none,none

Fichero 8: /etc/modules.conf: Dos puertos paralelos

Tarjetas especiales: ISA-PnP y PCI

En caso de no conocer de antemano la dirección de entrada/salida de un puertoadicional, haría falta averiguarla.

Tarjetas ISA PnP

Si tales tarjetas permiten configurar valores fijos para direcciones de E/S,interrupción y modo de configuración (p. ej. mediante ”jumper”), con-figúrelas con valores fijos.En el caso de la configuración automática, los valores para la dirección deE/S, la interrupción y el modo se configuran en el momento de arrancarLinux. Para conocer los valores se puede consultar los mensajes de ar-ranque de Linux (en el fichero /var/log/boot.msg ) o determinar losvalores mediante el comando pnpdump (paquete isapnp )..

172 Configuración manual de puertos locales

Page 191: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Tarjetas PCI

Para ver las direcciones de E/S y la interrupciones posibles de una tarjetaPCI se puede usar el siguiente comando (ver salida en pantalla 11):

tierra:~ # /sbin/lspci -v | less

%

00:0a.0 Parallel controller: ......Flags: stepping, medium devsel, IRQ 10I/O ports at b400

173SuSE Linux – Manual de Administración

Page 192: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

I/O ports at b000I/O ports at a800I/O ports at a400

Mensaje en pantalla 11: Extracto delspci -v para una tarjeta de puertos PCI

A cada puerto paralelo le pertenecen 2 direcciones de E/S desplazadaspor el valor 400 (hexadecimal); en este ejemplo, a un puerto le pertenecenb000 y b400, al otro a400 y a800. Dado el caso hay que probar con cuálde los dos valores finalmente funciona; la entrada en /etc/modules.conf para configurar los puertos podría parecerse a la que se muestra enel fichero 9.

alias parport_lowlevel parport_pcoptions parport_pc io=0x378,0xb400,0xa800 irq=none,none,none

Fichero 9: /etc/modules.conf: Tarjeta PCI con 2 puertos paralelos

Activación y prueba de un puerto paralelo

Después de reiniciar el ordenador el puerto paralelo está disponible.

En lugar de reiniciar la máquina, basta con actualizar como root la lista de lasdependencias de módulos y descargar los módulos de kernel que se comunicancon el puerto paralelo. . .

tierra:~ # depmod -a 2>/dev/null

tierra:~ # rmmod lp

tierra:~ # rmmod parport_pc

tierra:~ # rmmod parport

. . . para cargarlos nuevamente:

tierra:~ # modprobe parport

tierra:~ # modprobe parport_pc

tierra:~ # modprobe lp

Si la impresora es capaz de imprimir texto ASCII, el superusuario root ha depoder imprimir una página con la palabra Hola mediante el siguiente comando:

174 Configuración manual de puertos locales

Page 193: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

tierra:~ # echo -en "\rHola\r\f" >/dev/lp0

Aquí, la palabra Hola está preparada para la impresión, encontrándose entre elcarácter ASCII \r que representa el retorno de carro, y el carácter ASCII \f queprovoca un salto de página.

Para el segundo puerto paralelo hay que indicar /dev/lp1 y para el tercero/dev/lp2 .

Puerto USB

La BIOS del ordenador debe tener una interrupción activada para USB. Paraello, en caso de una BIOS de Award, entre al menú ‘PNP AND PCI SETUP’ (osimilar) y modifique la entrada ‘USB IRQ’ (o similar) a Enabled . Según la ver-sión de la BIOS, pueden utilizarse otras denominaciones.

Para probar si se puede acceder a la impresora USB, teclee como superusuario:

tierra:~ # echo -en "\rHola\r\f" >/dev/usb/lp0

Presuponiendo que sólo haya una impresora USB conectada y que esta impreso-ra pueda imprimir texto ASCII, deberá salir impresa una página con la palabraHola .

Algunas impresoras requieren una secuencia especial de control antes de acep-tar los datos USB. El siguiente comando envía esta secuencia de control, adecua-da para una impresora USB Epson Stylus Color (introduzca el comando en unasola línea sin espacios en blanco):

echo -en "\x0\x0\x0\x1b\x01\x40\x45\x4a\x4c\x20\x31\x32\x38\x34\x2e\x34\x0a\x40\x45\x4a\x4c\x20\x20\x20\x20\x20\x0a" >/dev/usb/lp0

Puede encontrar más información en la base de datos de soporte introduciendocomo palabras clave ”Epson” y ”usb”.

Por lo general, tras introducir el siguiente comando, debería aparecer el fabri-cante y la descripción del producto:

tierra:~ # cat /proc/bus/usb/devices

Si no es así, puede ser debido a uno de los siguientes motivos:

El sistema USB (aún) no ha reconocido el dispositivo, quizás porque laimpresora USB está apagada y por tanto no se puede establecer contactocon ella.

175SuSE Linux – Manual de Administración

Page 194: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El sistema USB ha reconocido el dispositivo pero no sabe ni el fabricanteni la descripción del producto por lo que no muestra nada. Sin embargo síes posible comunicarse con la impresora.

A veces sucede que la impresora deja de responder (p. ej. por haber quitado elenchufe USB durante la impresión). En general debería bastar con utilizar lossiguientes comandos para reiniciar el sistema USB:

tierra:~ # rchotplug stop

tierra:~ # rchotplug start

Si esto no ayuda, se pueden finalizar todos los procesos que acceden a /dev/usb/lp0 . Además, se descargan y se cargan nuevamente todos los módulos dekernel relacionados con la impresora USB. Previamente se debe comprobar conlsmod qué módulos USB están cargados (usb-uhci o usb-ohci o uhci ) y siexisten otras dependencias entre ellos. Por ejemplo

usbcore ... [printer usb-uhci]

significa que el módulo usbcore es usado también por los módulos printery usb-uhci . En este caso es preciso descargar los módulos printer yusb-uhci antes que el módulo usbcore .

Introduzca como usuario root)lossiguientescomandos en vez deusb-uhci ) y según el sistema también uhci o usb-ohci .

tierra:~ # fuser -k /dev/usb/lp0

tierra:~ # rchotplug stop

tierra:~ # rmmod printer

tierra:~ # rmmod usb-uhci

tierra:~ # umount usbdevfs

tierra:~ # rmmod usbcore

tierra:~ # modprobe usbcore

tierra:~ # mount usbdevfs

tierra:~ # modprobe usb-uhci

tierra:~ # modprobe printer

tierra:~ # rchotplug start

176 Configuración manual de puertos locales

Page 195: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Si hay más de una impresora conectada, se debe tener en cuenta lo siguiente: Elsubsistema USB reconoce automáticamente la impresora USB conectada. Nospodemos comunicar con la primera impresora USB reconocida mediante el dis-positivo /dev/usb/lp0 . Con la segunda impresora USB reconocida medianteel dispositivo /dev/usb/lp1 . Dependiendo del modelo de impresora puedeque también se reconozcan las impresoras apagadas. Esto es debido a que tam-bién es posible comunicarse con algunas impresoras en estado de apagado através del puerto USB. Para evitar una confusión entre dispositivos USB, se de-bería encender todas las impresoras USB antes de arrancar Linux y dejarlas en-cendidas en la medida de lo posible durante el funcionamiento del sistema.

Puerto IrDA

Es una emulación de un puerto paralelo a través de una conexión de infrarro-jos. El controlador en el kernel de Linux pone a disposición un puerto paralelosimulado en el dispositivo /dev/irlpt0 . Es posible comunicarse con una im-presora a través de un puerto de infrarrojos de la misma forma que a través deun puerto paralelo; la única diferencia es que se utilizará /dev/irlpt0 en vezde /dev/lp0 .

Compruebe si es posible comunicarse con la impresora IrDA introduciendo co-mo ( root):

tierra:~ # echo -en "\rHola\r\f" >/dev/irlpt0

Suponiendo que la impresora puede imprimir texto ASCII, debería imprimiruna página con la palabra Hola .

En cualquier caso se debería mostrar la impresora tras los siguientes comandos:

tierra:~ # irdadump

Si el comando irdadump no existe, hay que instalar el paquete paquete irda .

Si la impresora no se muestra tras ejecutar irdadump, es que no es posible co-municarse con ella.

Si no aparece nada de ninguna manera, lo más probable es que no se haya inici-ado el servicio del sistema IrDA, puesto que este no se arranca automáticamenteal arrancar. Se puede iniciar y para el sistema IrDA con

tierra:~ # rcirda start

tierra:~ # rcirda stop

177SuSE Linux – Manual de Administración

Page 196: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Puerto serie

La configuración de una impresora conectada al puerto serie se explica para elspooler LPRng en LPRng-Howto(file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html )y en particular enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#SECSERIALy en la página del manual de printcap (man printcap ). También puede en-contrar más información en la base de datos de soporte introduciendo la palabraclave ”serie”.

Configuración manual de LPRng/lpdfilter

Normalmente se configura el sistema de impresión con YaST2, tal y como se in-dica en la sección Instalar una impresora con YaST en la página 163.

Adicionalmente existe el programa lprsetup. La funcionalidad completa delprsetup es accesible desde la línea de comandos.

Al configurar una impresora con YaST2, este se encarga de compilar la in-formación precisa y después hace una llamada al sistema de impresiónLPRng/lpdfilter lprsetup con las opciones necesarias para que este cree la confi-guración.

El programa lprsetup está concebido como herramienta para expertos. Al con-trario de YaST2 lprsetup no ayuda al usuario a encontrar los valores correctospara las diferentes opciones.

lprsetup -help explica brevemente todas las posibles opciones; página delmanual de lprsetup (man lprsetup ) y página del manual de lpdfilter(man lpdfilter ) proporcionan más información.

Véanse las secciones Determinar el controlador de impresión correcto en la pági-na 159 y Algo sobre Ghostscript en la página 210 para encontrar más informaciónsobre controladores Ghostscript y parámetros específicos de los diferentes con-troladores.

El gestor de impresión LPRng

Como gestor de impresión estándar se instala el LPRng (paquete (lprng ).

178 Configuración manual de LPRng/lpdfilter

Page 197: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

El gestor de impresión lpd (ingl. Line Printer Daemon) normalmente se activa du-rante el arranque del sistema mediante el script /etc/init.d/lpd . El lpd seejecuta como daemon en segundo plano y se puede arrancar y parar mediantelos siguientes comandos:

tierra:~ # rclpd start

tierra:~ # rclpd stop

Los ficheros de configuración para LPRng son:

/etc/printcap Configuración de cada cola de impresión

/etc/lpd.conf Configuración global del spooler

/etc/lpd.perms Configuración de los permisos de acceso

Con rclpd start también se llama a checkpc -f en conformidad con/etc/init.d/lpd , que crea los directorios de spool /var/spool/lpd/*dependiendo de las entradas en /etc/printcap , además de adecuar los per-misos de acceso.

Cuando el gestor de impresión lpd se inicia, averigua mediante el fichero deconfiguración /etc/printcap las colas de impresión definidas. Su trabajo esorganizar la impresión de las tareas (ingl. jobs) en la cola; este trabajo se desglosade la siguiente manera:

Administra las colas de impresión locales: Envía los ficheros de datos deuna tarea a través del filtro de impresión, tras lo cual o lo envía directa-mente a la impresora o lo envía a otra cola de espera.

Considera el orden de las tareas en las colas de impresión.

Vigila el estado de las colas de impresión y de la impresora y da informa-ción cuando se le pide.

Recoge las solicitudes de impresión dirigidas a colas locales y procedentesde máquinas remotas o rechaza las mismas en caso de no ser autorizadas.El daemon espera las peticiones en el puerto 515.

Envía solicitudes de impresión en colas remotas al gestor de impresión dela máquina remota (o bien al puerto 515 de ’rsta).

Más detalles sobre el spooler LPRng se encuentran en LPRng-Howto enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.htmly en página del manual de printcap (man printcap ) y página del manual delpd (man lpd ).

179SuSE Linux – Manual de Administración

Page 198: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Herramientas de línea de comandos paraLPRng

Las herramientas de la línea de comandos están detalladas en LPRng-Howto enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRNGCLIENTSpor lo que aquí sólo presentamos una breve recopilación.

Para colas de impresión locales

Generar trabajos de impresión

El comando lpr se explica en LPRng-Howto defile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRcon lo cual nos limitamos aquí a información general:

Normalmente se imprime mediante

tux@tierra:~ > lpr -P 〈colaimpresión 〉 〈fichero 〉

Si se omite la opción -P 〈colaimpresión 〉 para el nombre de la cola de im-presión), se usa como valor predeterminado el contenido de la variable de en-torno PRINTER. Lo mismo vale también para los comandos lpq y lprm – véasetambién las página del manual de lpr (man lpr ), página del manual de lpq(man lpq ) y página del manual de lprm (man lprm ). Al arrancar se inicializaautomáticamente la variable de entorno PRINTERy se puede inspeccionar conel comando echo $PRINTER . Con

tux@tierra:~ > export PRINTER= 〈colaimpresión 〉

se fija una (otra) cola de impresión.

Mostrar el estado

tux@tierra:~ > lpq -P 〈colaimpresión 〉

muestra las tareas de impresión que se encuentran en la cola de impresión in-dicada. Si en el gestor LPRng se indica all (todas) como cola de impresión semostrarán todas las tareas de todas las colas.

Con lpq -s -P 〈colaimpresión 〉 se mostrará lo mínimo y conlpq -l -P 〈colaimpresión 〉más información.

Con lpq -L -P 〈colaimpresión 〉 se mostrará un detallado informe del esta-do, de gran ayuda para el diagnóstico de problemas.

180 Herramientas de línea de comandos para LPRng

Page 199: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Puede encontrar más información en la sección Mostrar el estado de colas de impre-sión remotas y en página del manual de lpq (man lpq ) yfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPQen LPRng-Howto.

Eliminar trabajos de impresión

tux@tierra:~ > lprm -P 〈colaimpresión 〉 〈númerotarea 〉

elimina la tarea de impresión que tenga el número indicado en la cola indicada,siempre que la tarea pertenezca al usuario que ha ejecutado el comando lprm .Una tarea de impresión pertenece al usuario del ordenador que ha generadola tarea. Para saber quién es este usuario y qué número se le ha asignado a esatarea, utilice el comando lpq .

Con el comando

tierra:~ # lprm -Pall all

se eliminarán todas las tareas de todas las colas de impresión que pertenezcan alusuario que ha introducido el comando lprm . El usuario root puede eliminartodas las tareas (de todas las colas).

Más información en página del manual de lprm (man lprm ) y enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRMen LPRng-Howto.

Control de las colas de impresión

tux@tierra:~ > lpc option 〈colaimpresión 〉

muestra el estado de las colas indicadas y permite modificarlas.

Las opciones más importantes son:

help explica brevemente todas las posibles opciones

status 〈colaimpresión 〉 informa sobre el estado de la cola.

disable 〈colaimpresión 〉 – deja de aceptar nuevas tareas en la cola deimpresión.

enable 〈colaimpresión 〉 – activa la cola de impresión para aceptar nuevastareas.

stop 〈colaimpresión 〉 – detiene la impresión de las tareas de la cola; latarea que se está imprimiendo termina.

181SuSE Linux – Manual de Administración

Page 200: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

start 〈colaimpresión 〉 – reanuda la impresión de las tareas en la cola.

down 〈colaimpresión 〉 – tiene el mismo efecto que disable más stop

up 〈colaimpresión 〉 – tiene el mismo efecto que enable añadiéndolestart .

abort 〈colaimpresión 〉 – actúa como down, con la diferencia de que de-tiene inmediatamente una tarea que se está imprimiendo. Las tareas semantienen y es posible reanudarlas después del reinicio de la cola (up).

Se necesitan derechos de superusuario ( root) para modificar las colas de impre-sión.

Estos comandos se pueden introducir directamente en la línea de comandos(p. ej. lpc status all ) o llamar a lpc sin parámetros. En el último caso seabre un cuadro de diálogo con su propio ”prompt” | lpc>|, esperando que seintroduzcan las opciones mencionadas arriba. Con quit o exit se sale de estaventana.

Un ejemplo del resultado de lpc status all

Printer Printing Spooling Jobs Server Subserverlp@earth enabled enabled 2 123 456color@earth disabled disabled 0 none nonelaser@earth disabled enabled 8 none none

indica que la cola lp está en funcionamiento y contiene dos tareas de impresión(una de ellas ya se está imprimiendo). La cola color está totalmente apagada.La cola laser no puede imprimir p. ej. debido a trabajos de reparación tempo-rales, pero permite que se generen tareas de impresión, que se van acumulandoen la cola (8 en este caso).

Más información en página del manual de ( (man ( )lpc) y enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRMen LPRng-Howto.

Para colas de impresión remotas

Aquí se puede fijar un 〈print-server 〉 (servidor de impresión) mediante elnombre y la dirección IP de dicho servidor. 〈colaimpresión 〉 debe ser unacola que exista en el servidor de impresión.

182 Herramientas de línea de comandos para LPRng

Page 201: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Generar trabajos de impresión

El gestor de impresión LPRng permite acceder directamente a colas remotasmediante el comando lpr :

tux@tierra:~ > lpr -P 〈colaimpresión 〉@servidorimpresión 〈fichero 〉

El servidor de impresión debe estar configurado de manera que permita la im-presión en sus colas; esto es estándar en LPRng.

Mostrar el estado de colas de impresión remotas

Con los comandos:

tux@tierra:~ > lpq -P 〈colaimpresión 〉@〈servidorimpresión 〉tux@tierra:~ > lpq -s -P 〈colaimpresión 〉@〈servidorimpresión 〉tux@tierra:~ > lpq -l -P 〈colaimpresión 〉@〈servidorimpresión 〉tux@tierra:~ > lpq -L -P 〈colaimpresión 〉@〈servidorimpresión 〉

y con

tux@tierra:~ > lpc status 〈colaimpresión 〉@〈servidorimpresión 〉tux@tierra:~ > lpc status all@ 〈servidorimpresión 〉

se puede inspeccionar el estado de una cola de impresión remota.Especialmente con lpq -s -Pall@ 〈servidorimpresión 〉 olpc status all@ 〈servidorimpresión 〉 se puede solicitar el nombre detodas las colas en dicho servidor de impresión, si se utilizan también en el servi-dor LPRng.Esto puede ser útil sobre todo cuando resulte imposible imprimir en la cola re-mota.Con lpq -L -P 〈colaimpresión 〉@〈servidorimpresión 〉 se muestra uninforme detallado del estado para realizar un diagnóstico a distancia.

Eliminar trabajos de impresión

Con los comandos

tux@tierra:~ > lprm -P 〈colaimpresión 〉@〈servidorimpresión 〉〈númerotarea 〉

tux@tierra:~ > lprm -P 〈colaimpresión 〉@〈servidorimpresión 〉 all

tux@tierra:~ > lprm -Pall@ 〈servidorimpresión 〉 all

se puede eliminar todas las tareas de impresión en colas remotas creadas porVd. mismo. ( root) no posee ningún permiso especial en colas remotas.all sólo funciona cuando también se utiliza un servidor de impresión LPRng.

183SuSE Linux – Manual de Administración

Page 202: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Resolución de problemas con los comandos anteriores enLPRng

Las tareas de impresión permanecen en las colas de impresión cuando, enmedio de la impresión, el ordenador se para y es necesario reiniciar Linux; siuna tarea causa problemas, elimínela de la cola con los comandos descritos másarriba.

En caso de averías en la comunicación entre el ordenador y la impresora, ésta nopuede interpretar correctamente los datos obtenidos y puede ocurrir que acabeimprimiendo una gran cantidad de páginas llenas de signos ininteligibles.

1. Primero retire todo el papel en las impresoras a chorro de tinta, o abra labandeja del papel en impresoras láser, para que la impresión se detenga.

2. Puesto que la tarea de impresión sólo desaparecerá de la cola después dehaber sido enviada por completo a la impresora, lo más probable es queaún aparezca en la cola. Compruebe con lpq o lpc status de qué colase está imprimiendo y elimine con lprm la tarea correspondiente.

3. Puede que se hayan enviado algunos datos a la impresora a pesar de quela tarea ya no esté en la cola. Con el comando fuser -k /dev/lp0 parauna impresora en puerto paralelo o fuser -k /dev/usb/lp0 para unaimpresora USB, se pueden parar todos los procesos.

4. Desconecte la impresora durante unos minutos. Después vuelva a colocarel papel y encienda la impresora.

El filtro de impresión del sistemaLPRng/lpdfilter

Como filtro de impresión se usa lpdfilter (paquete lpdfilter ).

A continuación se describe de forma detallada el transcurso de una tarea de im-presión. Para un análisis exacto del filtro de impresión, revise los scripts del fil-tro de impresión (de forma especial /usr/lib/lpdfilter/bin/if ) y en casonecesario siga los pasos descritos en el apartado Buscar errores relacionados conlpdfilter en la página 193.

1. El filtro de impresión (/usr/lib/lpdfilter/bin/if ) evalúalas opciones que le pasa directamente el gestor de impresión o bien

184 El filtro de impresión del sistema LPRng/lpdfilter

Page 203: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

las lee del ”fichero de control” (ingl. control file) de las tareas de im-presión y de los ficheros /etc{printcap} y /etc/lpdfilter/\variable{colaimpresión}/conf . (reemplace colaimpresión porel verdadero nombre de la cola de impresión).

2. Se determina el tipo de datos a imprimir. Para ello /usr/lib/lpdfilter/bin/guess aplica el comando file a los datos a imprimiry según la salida de este comando se determina, mediante las especifica-ciones en el fichero /etc/lpdfilter/types , el tipo de datos a impri-mir.

Tratándose de una cola ascii el filtro de impresión se ve forzado aprocesar los datos a imprimir como texto ASCII.

Si la cola no es del tipo ascii , el filtro de impresión intenta determi-nar automáticamente el tipo de datos a imprimir.

3. Según el tipo de datos a imprimir y de la cola, se efectúa otra conversiónpara generar los datos específicos para la impresora:

Tratándose de una cola raw los datos a imprimir se reen-vían directamente a la impresora (o a otra cola). Depen-diendo de la configuración en /etc/lpdfilter/)\variable{colaimpresión}\path(/conf puede efectuarseuna recodificación sencilla con recode . Para una cola raw pu-ra – quiere decir totalmente sin lpdfilter – hay que borrar la línea:if=/usr/lib/lpdfilter/bin/if:\ de la cola correspondien-te.

Si no se trata de una cola raw :

a) Si los datos a imprimir no son del tipo PostScript, se conviertena PostScript ejecutando /usr/lib/lpdfilter/filter/tipo2ps (hay que reemplazar tipo por el verdadero tipode datos a imprimir). Sobre todo el texto ASCII se convierte aPostScript, de acuerdo a /usr/lib/lpdfilter/filter/ascii2ps con el programa a2ps. Este proceso recurre a la cod-ificación de país de la cola de impresión, con el fin de poder im-primir también correctamente caracteres especiales específicosdel país en texto plano; ver también página del manual de a2ps(man a2ps).

b) En caso necesario se puede formatear otra vez los datosPostScript, siempre que exista un script correspondienteen /etc/lpdfilter/)\variable{colaimpresión}\path(/pre (reemplace colaimpresión por el verdaderonombre de la cola).

185SuSE Linux – Manual de Administración

Page 204: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

c) Dado el caso, los datos PostScript son convertidos a otro lengua-je de impresión.

• Si la impresora conectada tiene soporte PostScript, losdatos son enviados directamente a la impresora (o a algu-nas de las otras colas). Si es necesario se activan las fun-ciones bash ”dúplex” y ”tray”, que están definidas en/usr/lib/lpdfilter/global/functions , para ha-bilitar la impresión dúplex y la selección de la bandeja dealimentación de papel a través de comandos PostScript,siempre que la impresora sea capaz de procesar estos co-mandos.

• Si la impresora conectada no tiene soporte PostScript, se em-plea Ghostscript con un controlador Ghostscript adecuadopara el lenguaje de impresión de la impresora usada, con elfin de generar los datos específicos para esta. Estos últimosson enviados finalmente a la impresora (o a una cola).Los parámetros para ejecutar Ghostscript están guarda-dos en /etc/printcap en la línea cmo bien en el fichero/etc/lpdfilter/)\variable{colaimpresión}\path(/upp (reemplace colaimpresión por el verdaderonombre de la cola).En caso necesario es posible formatear nuevamente la sal-ida de Ghostscript, siempre que exista un script adecuadoen /etc/lpdfilter/)\variable{colaimpresión}\path(/post (reemplace colaimpresión por el ver-dadero nombre de la cola).

d) Los datos específicos para la impresora son enviados a la im-presora (o a una cola). Tanto delante como detrás de los datosespecíficos para la impresora se pueden enviar secuencias decontrol específicas para la impresora, si han sido configuradasen /etc/lpdfilter/)\variable{colaimpresión}\path(/conf

Configuración del filtro de lpdfilter

Al configurar el sistema de impresión con YaST2, como se describe en Instalaruna impresora con YaST en la página 163, normalmente se configura también elfiltro de impresión.

Para configuraciones especiales hay que adaptar manualmente los ficheros deconfiguración del filtro de impresión.

186 El filtro de impresión del sistema LPRng/lpdfilter

Page 205: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Cada cola de impresión tiene su propio fichero de configuración /etc/lpdfilter/)\variable{colaimpresión}\path(/conf (reemplacecolaimpresión por el verdadero nombre de la cola), que también contieneinformaciones sobre cada opción.

Complementos para lpdfilter

1. Si los datos a imprimir no son del tipo PostScript, por defecto son con-vertidos a PostScript mediante la ejecución de /usr/lib/lpdfilter/filter/tipo2ps (reemplace tipo por el tipo de datos a imprimir).

Poniendo en /etc/lpdfilter/)\variable(colaimpresión)(/tipo2ps un script adecuado, éste convierte los datos a imprimir aPostScript. Este script obtiene los datos a imprimir de stdin y tiene queemitir PostScript en stdout .

2. Dado el caso se puede formatear los datos PostScript otra vez,siempre que exista un script adecuado en /etc/lpdfilter/)\variable{colaimpresión}\path(/pre . También es posible cargarsus propios PostScript-Preloads con un script adecuado. Este script ob-tiene datos PostScript de stdin y tiene que emitir PostScript en stdout .En el paquete psutils hay programas para reformatear datos PostScript.Sobre todo el programa pstops ofrece amplias posibilidades para refor-matear; ver también la página del manual de pstops (man pstops ).

3. Parámetros especiales de Ghostscript: Al configurar con YaST2, losparámetros para la activación de Ghostscript se guardan en el fichero/etc/lpdfilter/)\variable{colaimpresión}\path(/upp(reemplace colaimpresión por el verdadero nombre de la cola). Estefichero se puede editar manualmente y añadir parámetros especiales. Paramás información sobre los parámetros Ghostscript consulte el apartadoAlgo sobre Ghostscript en la página 210.

4. Existe la posibilidad de formatear otra vez la salida de Ghostscript,siempre que exista un script adecuado en /etc/lpdfilter/)\variable{colaimpresión}\path(/post . Este script obtiene la sal-ida de Ghostscript de stdin y tiene que emitir datos específicos para laimpresora en stdout .

Un ejemplo independiente del hardware

Suponiendo que existe una cola de impresión test que tiene la característica detexto ASCII, se debe imprimir con los números de línea antepuestos. Además

187SuSE Linux – Manual de Administración

Page 206: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

se debe disminuir cada salida de impresión con el fin de imprimir dos páginasen una hoja. Para conseguirlo se podrían crear los scripts /etc/lpdfilter/test/ascii2ps y /etc/lpdfilter/test/pre siguientes:

#!/bin/bashcat -n - | a2ps -1 --stdin=’ ’ -o -

Fichero 10: /etc/lpdfilter/test/ascii2ps: Conversión de ASCII a PostScript

#!/bin/bashpstops -q ’2:[email protected](20cm,2cm)[email protected](20cm,15cm)’

Fichero 11: /etc/lpdfilter/test/pre: Reformatear PostScript

Estos scripts deben ser ejecutables para todos los usuarios, lo cual se puede con-seguir utilizando chmod:

tierra:~ # chmod -v a+rx /etc/lpdfilter/test/ascii2ps

tierra:~ # chmod -v a+rx /etc/lpdfilter/test/pre

El comando pstops funciona sólo para ficheros PostScript creados de tal formaque permita reformatearlos (es el caso habitual).

Usar sus propios PostScript-Preloads

PostScript-Preloads son pequeños ficheros PostScript que contienen comandosespeciales. Se usan para inicializar correctamente impresoras PostScript y tam-bién de Ghostscript, con comandos especiales de PostScript.

En general se usa PostScript-Preloads para activar la impresión dúplex o el usode determinados alimentadores de una impresora PostScript. Otro uso habituales la configuración de la corrección gamma y el ajuste de los márgenes de unaimpresora PostScript o de Ghostscript.

Es preciso que GhostScript o bien la impresora PostScript puedan procesar ade-cuadamente los comandos especiales de PostScript indicados abajo (Ghostscriptno reacciona a los comandos para la impresión dúplex o específicos para ali-mentadores).

En la siguiente configuración se supone que la cola correspondiente tiene elnombre test .

Impresión dúplex – Para habilitar y deshabilitar la impresión dúplex puedecrear los ficheros /etc/lpdfilter/test/duplexon.ps y /etc/lpdfilter/test/duplexoff.ps siguientes:

188 El filtro de impresión del sistema LPRng/lpdfilter

Page 207: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

%!PSstatusdict /setduplexmode knownstatusdict begin true setduplexmode end if pop

Fichero 12: /etc/lpdfilter/test/duplexon.ps: Habilitar la impresión dúplex

%!PSstatusdict /setduplexmode knownstatusdict begin false setduplexmode end if pop

Fichero 13: /etc/lpdfilter/test/duplexoff.ps: Deshabilitar la impresión dúplex

Selección de la bandeja del papel – Para activar la bandeja estándar con elnúmero 0 o la bandeja p. ej. con el número 2 puede crear los ficheros/etc/lpdfilter/test/tray0.ps y /etc/lpdfilter/test/tray2.ps siguientes:

%!PSstatusdict /setpapertray knownstatusdict begin 0 setpapertray end if pop

Fichero 14: /etc/lpdfilter/test/tray0.ps: Activar bandeja 0

%!PSstatusdict /setpapertray knownstatusdict begin 2 setpapertray end if pop

Fichero 15: /etc/lpdfilter/test/tray2.ps: Activar bandeja 2

Ajuste de los márgenes – Para modificar la configuración de los márgenespuede crear el fichero /etc/lpdfilter/test/margin.ps siguiente:

%!PS«/.HWMargins [left bottom right top]/PageSize [width height]

189SuSE Linux – Manual de Administración

Page 208: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

/Margins [left-offset top-offset]»setpagedevice

Fichero 16: /etc/lpdfilter/test/margin.ps: Ajuste de márgenes

Los valores de los márgenes left , bottom , right y top , y del tamañode la hoja width y height se indican en puntos; equivaliendo el tamañode un punto a 1/72 de pulgada (unos 0,35 mm). Los desplazamientosleft-offset y top-offset en cambio se especifican en puntos raster,con lo cual, dependen de la resolución respectiva.

Para mover la posición de la impresión en la hoja se utiliza el fichero/etc/lpdfilter/test/offset.ps siguiente:

%!PS« /Margins [left-offset top-offset] » setpagedevice

Fichero 17: /etc/lpdfilter/test/offset.ps: Posición de la impresión

Corrección gamma Para ajustar el brillo de los colores puede crear los ficheros/etc/lpdfilter/test/cmyk.ps y /etc/lpdfilter/test/rgb.pssiguientes:

%!PScyan exp magenta exp yellow exp black exp setcolortransfer

Fichero 18: /etc/lpdfilter/test/cmyk.ps: Corrección gamma CMYK

%!PS{red exp} {green exp} {blue exp} currenttransfer setcolortransfer

Fichero 19: /etc/lpdfilter/test/rgb.ps: Corrección gamma RGB

El modelo de colores (CMYK o RGB) tiene que ser el adecuado para suimpresora. Los valores indicados para cyan , magenta , yellow , black ,red , green y blue deben estar entre 0,001 y 0,999 .

Suponiendo que trabaja con el sistema X Windows, lo puede probar en lapantalla de un terminal, introduciendo el siguiente comando

Sin corrección gamma:

190 El filtro de impresión del sistema LPRng/lpdfilter

Page 209: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

tierra:~ # gs -r60 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

Con corrección gamma uno de los siguientes ejemplos:

tierra:~ # gs -r60 /etc/lpdfilter/test/cmyk.ps \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

tierra:~ # gs -r60 /etc/lpdfilter/test/rgb.ps \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

El comando debe introducirse en una sola línea sin la barra inversa (ingl.backslash, ‘(’ \)).

Para terminar pulse�� ��Control +

�� ��c .

Reiniciar la impresora – Para devolver la impresora a su estado original puedecrear el fichero /etc/lpdfilter/test/reset.ps siguiente:

%!PSserverdict begin 0 exitserver

Fichero 20: /etc/lpdfilter/test/reset.ps: Reinicio de la impresora

Para activar el uso de un fichero PostScript-Preload puede crear el script /etc/lpdfilter/test/pre siguiente:

#!/bin/bashcat /etc/lpdfilter/test/preload.ps -

Fichero 21: /etc/lpdfilter/test/pre: cargar PostScript-Preload

En vez de preload hay que poner el nombre del fichero Preload corre-sponiente. Además el script debe ser ejecutable y el fichero Preload legible paracualquier usuario. Estos permisos se pueden definir con chmod:

tierra:~ # chmod -v a+rx /etc/lpdfilter/test/pre

tierra:~ # chmod -v a+r /etc/lpdfilter/test/preload.ps

El mismo mecanismo se puede utilizar para enviar un fichero PostScript no sóloantes, sino también después de los propios datos de impresión PostScript a laimpresora.

Si desea por ejemplo reinicializar la impresora después de terminar una tarea,puede crear el script /etc/lpdfilter/test/pre siguiente:

191SuSE Linux – Manual de Administración

Page 210: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

#!/bin/bashcat /etc/lpdfilter/test/preload.ps - /etc/lpdfilter/test/reset.ps

Fichero 22: /etc/lpdfilter/test/pre: PostScript-Preload y reinicio PostScript

Ejemplo de configuración de una ”impresora GDI”

Se debe configurar una cola gdi para una impresora GDI.

Tales impresoras normalmente no se pueden usar bajo Linux; véase arriba elapartado La problemática de las impresoras GDI.

Existen controladores especiales para algunas impresoras GDI, que sirven decomplemento al controlador de Ghostscript; estos controladores adicionalesconvierten la salida de Ghostscript al formato específico de la impresora. Hayque mencionar que tales controladores a menudo sólo permiten una impresiónlimitada; p. ej. sólo impresión en blanco y negro.

Ghostscript y el controlador colaboran entonces de la siguiente manera (véasetambién el apartado abajo Algo sobre Ghostscript)

1. Ghostscript convierte los datos PostScript en un raster de píxeles individ-uales. Un controlador GhostScript adecuado para el controlador ”acopla-do” da como salida datos raster en el formato y la resolución adecuados.

2. El controlador convierte los datos raster en el formato específico de la im-presora.

A continuación se supone que existe un controlador de la impresora adecua-do para la presente versión de SuSE Linux, o bien que lo puede descargar deInternet. Además, este controlador debe funcionar como se ha expuesto ar-riba y el lector ha de estar familiarizado con el manejo de fuentes Unix (p. ej.con archivos .zip o .tar.gz o paquetes .rpm . Después de descomprimirtales archivos, normalmente se encuentra instrucciones para la instalación, enficheros con los nombres READMEo INSTALL o en un subdirectorio doc . Si setrata de un archivo .tar.gz , por regla general hay que compilar e instalar elpropio controlador.

A continuación se supone que:

Existe el controlador como /usr/local/bin/printerdriver .

Se necesita el controlador Ghostscript pbmraw con una resolución de 600dpi

192 El filtro de impresión del sistema LPRng/lpdfilter

Page 211: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

La impresora está conectada al primer puerto paralelo /dev/lp0 .

Consulte la documentación del controlador para saber qué controladorGhostscript y qué resolución debe emplear realmente.

Primero hay que crear (como usuario root ) la cola gdi con lprsetup:

tierra:~ # lprsetup -add gdi -lprng -device /dev/lp0 \-driver pbmraw -dpi 600 -size a4dj -auto -sf

Debe introducir el comando en una sola línea suprimiendo la barra inversa (in-gl. backslash, ‘\’ ).

Después cree el script /etc/lpdfilter/gdi/post siguiente:

#!/bin/bash/usr/local/bin/printerdriver 〈parámetros_específicos_del_controlador 〉

Fichero 23: /etc/lpdfilter/gdi/post: ejecución del controlador

En caso necesario hay que indicar los 〈parámetros_específicos_del_controlador〉 ade-cuados. Consulte la documentación del controlador para saber qué parámetrosdebe aplicar realmente.

Hay que modificar los permisos del script a fin de que cualquier usuario puedaejecutarlo; después el gestor de impresión se puede reiniciar :

tierra:~ # chmod -v a+rx /etc/lpdfilter/gdi/post

tierra:~ # rclpd stop

tierra:~ # rclpd start

Ahora cualquier usuario puede imprimir mediante:

tux@tierra:~ > lpr -Pgdi 〈nombrefichero 〉

Buscar errores relacionados con lpdfilter

El grado de depuración (ingl. ()debug level) adecuado se activa quitando el sím-bolo de comentario # delante de la línea correspondiente en el script principal/usr/lib/lpdfilter/bin/if del filtro de impresión.

# DEBUG="off"# DEBUG="low"DEBUG="medium"# DEBUG="high"

193SuSE Linux – Manual de Administración

Page 212: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Fichero 24: /usr/lib/lpdfilter/bin/if: Grado de depuración

Al indicar DEBUG="low" sólo se guarda la salida de stderr de /usr/lib/lpdfilter/bin/if en un fichero /tmp/lpdfilter.if-\$\$.XXXXXX ($$se reemplaza por el identificador de proceso y XXXXXXpor una combinación desímbolos aleatoria pero única).

Un valor de DEBUG="medium" significa que además se guarda la salidastderr de los scripts en /usr/lib/lpdfilter/filter/ , que se llama des-de /usr/lib/lpdfilter/bin/if . La salida se guarda en ficheros de la for-ma /tmp/lpdfilter.name-\$\$.XXXXXX (se reemplaza name por el nom-bre del script llamado y $$.XXXXXX como se ha descrito arriba).

Con el valor DEBUG="high" la salida no se envía a la impresora sino que seguarda en un fichero de la forma /tmp/lpdfilter.out-\$\$.XXXXXX (sereemplaza $$.XXXXXX como ya se ha descrito).

Para no perder la orientación es recomendable eliminar estos ficheros antes deempezar las pruebas con rm -v /tmp/lpdfilter* .

Creación de filtros de impresión para LPRng

Introducción

Este apartado no pretende ofrecer una alternativa al lpdfilter, sino explicar a fon-do la impresión con Linux mediante un sencillo ejemplo de un filtro de impre-sión ”hecho a mano”. El ejemplo que figura aquí es lo más sencillo posible conel fin de explicar los pasos esenciales y por tanto el script de filtrado no contem-pla 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 .

El filtro de impresión recibe del gestor (ingl. ()spooler) de impresión los datosa imprimir a través de la entrada estándar de datos (ingl. standard in), que debeconvertir al formato específico de la impresora para enviarlos luego a la sali-da estándar (ingl. standard out). El gestor se encarga de enviar todos los datosque salen del filtro al dispositivo /dev/lp0 . El kernel envía todo lo que llega aldispositivo de impresión al puerto correspondiente (p. ej. a la dirección de en-trada/salida (ingl. IO-port) 0x378 ). El hardware del ordenador se encarga final-mente 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.

Sólo root tiene normalmente el permiso de ejecutar los comandos de pruebade impresión ya que los usuarios normales no tienen derecho a acceder directa-mente al dispositivo.

194 Creación de filtros de impresión para LPRng

Page 213: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Los comandos en general se indican de la siguiente forma:

tierra:~ # cat fichero-ascii > /dev/lp0

Se debe sustituir fichero-ascii por el nombre del fichero ASCII existente.

Ejemplo sencillo para explicar los fundamentos del método detrabajo

Si se ejecuta el comando

tierra:~ # echo -en ”\rHola\r\f” >/dev/lp0

no se activa ningún gestor o filtro de impresión, ya que se accede directamenteal dispositivo de impresión /dev/lp0 . De esta forma sólo se envían directa-mente a la impresora los signos ASCII ‘\r’ , ‘H’ , ‘o’ , ‘\r’ , ‘l’ , ‘a’ y ‘\f’ .Los ”códigos” ‘\f’ y ‘\r’ representan el carácter ASCII para ”avance de pági-na completo” (ingl. formfeed), es decir, un salto de página y el carácter ASCIIpara el retorno de carro.

Con el comando:

tierra:~ # cat fichero-ascii >/dev/lp0

tierra:~ # echo -en "\f" >/dev/lp0

tampoco se activa ningún gestor o filtro de impresión, ya que se accede directa-mente al dispositivo de impresión /dev/lp0 . Los caracteres ASCII procedentesdel fichero se envían directamente a la impresora y a continuación un carácterASCII para el avance de página para que la última hoja salga de la impresora.

En Linux, dos líneas de texto en ASCII se separan mediante un carácter de saltode línea (ingl. 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 p. ej.con

tierra:~ # cat /etc/hosts >/dev/lp0

tierra:~ # echo -en "\f" >/dev/lp0

el fichero de texto ASCII /etc/hosts directamente a la impresora mediante elcomando descrito arriba, el resultado sería el siguiente:

first linesecond line

...... ...

195SuSE Linux – Manual de Administración

Page 214: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

En este caso la impresora sólo se dedica a ejecutar un salto de línea sin efectuarun retorno de carro, por no haber enviado ningún carácter ASCII de retorno decarro (ingl. carriage return).Sin embargo, es posible configurar la impresora de tal forma que realice un saltode línea y un retorno de carro a base de recibir sólo el carácter ASCII de salto delínea.Esto se consigue para impresoras con soporte del lenguaje PCL3 mediante lasecuencia de escape \033&k2G .Esta secuencia de escape se envía a la impresora mediante

tierra:~ # echo -en "\033&k2G" >/dev/lp0

y finalmente el fichero ASCII se puede imprimir correctamente como se describearriba.También puede ocurrir que algunos caracteres especiales se imprimanmal (como p. ej. la diéresis) , ya que la codificación de estos es diferente enDOS/Windows y las impresoras suelen estar preconfiguradas para este sistemaoperativo.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 seconvierte de acuerdo a la codificación de DOS/Windows. Si se usa el comando

tierra:~ # cat fichero-ascii.ibmpc >/dev/lp0

tierra:~ # echo -en "\f" >/dev/lp0

el fichero se debe imprimir correctamente con todos los caracteres especiales ysaltos de línea. No hace falta enviar una secuencia de escape especial, ya quetodos los caracteres y los saltos de línea se han convertido conforme a la codifi-cación DOS/Windows.Es por eso que un fichero de texto en ASCII se debe imprimir correctamente enuna 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

tierra:~ # echo -en "\f" >/dev/lp0

Una vez que se conoce esta secuencia se ofrece la posibilidad de crear un filtrode impresión que se encarga justamente de esta conversión de texto ASCII alformato específico de la impresora.

196 Creación de filtros de impresión para LPRng

Page 215: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Ejemplo de un filtro de impresión hecho a mano

Primero se genera un subdirectorio para el filtro de impresión propio y se entraa este como usuario root :

tierra:~ # mkdir /usr/local/myprinterfilter

tierra:~ # cd /usr/local/myprinterfilter

Ahora se genera un script de la shell bash con el nombre asciifilter , talcomo lo muestra el fichero 25.

#! /bin/bash

# make a temporary fileINPUT="$(mktemp /tmp/asciifilter.$$.XXXXXX)"

# First store everything from stdin in $INPUT# to have the input as a regular filecat >$INPUT

# Recode the INPUTrecode lat1..ibmpc $INPUT

# Add a FormFeed at the end of $INPUT# to get the last page out of the printerecho -en "\f" »$INPUT

# Send $INPUT to stdoutcat $INPUT

# Remove the INPUT filerm $INPUT

Fichero 25: /usr/local/myprinterfilter/asciifilter

Este script se debe convertir en ejecutable para todos los usuarios mediante:

tierra:~ # chmod -v a+x /usr/local/myprinterfilter/

tierra:~ # chmod -v a+rx /usr/local/myprinterfilter/asciifilter

Con lprsetup se genera una cola de impresión adicional (verlprsetup -help ). Como nombre de la cola de impresión empleamos af envez de ”asciifilter”.

tierra:~ # lprsetup -add af -lprng -device /dev/lp0 -raw -sf

197SuSE Linux – Manual de Administración

Page 216: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Reemplace en la entrada de ag en /etc/printcap denla línea if sólo /usr/lib/lpdfilter/bin/if por/usr/local/myprinterfilter/asciifilter , tal como se refleja enel extracto del fichero:

af:\:cm=lpdfilter drv= method=raw color=no:\:lp=/dev/lp0:\:sd=/var/spool/lpd/af:\:lf=/var/spool/lpd/af/log:\:af=/var/spool/lpd/af/acct:\:if=/usr/local/myprinterfilter/asciifilter:\:la@:mx#0:\:tr=:cl:sh:

Fichero 26: /etc/printcap: filtro hecho a mano

Ahora apague y reinicie el gestor de impresión mediante

tierra:~ # rclpd stop

tierra:~ # rclpd start

Ahora cualquier usuario debería poder imprimir a la nueva cola af mediante:

tux@tierra:~ > lpr -Paf fichero-ascii

El sistema de impresión CUPS

Convenciones lingüísticas

Con ”cliente” o ”programa cliente” se indica un programa que se iniciará paraenviar tareas de impresión al daemon CUPS.

un ”daemon” es un servicio local que acepta tareas de impresión, que luegoreenvía o procesa él mismo.

Un ”servidor” es un daemon que puede enviar datos a una o más impresoras.Cada servidor tiene simultáneamente la funcionalidad de un daemon.

En la mayoría de los casos ni los usuarios ni los desarrolladores de CUPS dis-tinguen especialmente entre los conceptos ”servidor” y ”daemon”.

198 El sistema de impresión CUPS

Page 217: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

IPP y servidor

Las tareas de impresión se envían con programas basados en CUPS, como lpr ,kprinter o xpp , y con ayuda de IPP, Internet Printing Protocols – Protocolos deimpresión de Internet. IPP está definido con los ”Estándares de Internet” (ingl.Internet-Standards) RFC-2910 y RFC-2911 (véase http://www.rfc-editor.org/rfc.html ). IPP es parecido al protocolo web HTTP: tienen la mismacabecera pero distintos datos de uso. Para la comunicación también se utilizaun puerto distinto y específico, el puerto 631, registrado por IANA ((ingl. Inter-net Authority for Number Allocation) (Autoridad en Internet para la asignación denombres)).

Los datos se envían al daemon CUPS configurado que suele ser el servidor local.También es posible comunicarse con otros daemons, por ejemplo, con ayuda dela variable shell CUPS_SERVER.

Con ayuda de la función de ”broadcast” del daemon CUPS se puede hacer unbroadcast en la red que busca las impresoras locales que este daemon admi-nistra (puerto 631 UDP), con lo que aparecerán en las colas de impresión detodos los daemons que reciban este paquete de broadcast o que lo puedan uti-lizar (configurable). Esto tiene ventajas para las redes de empresas ya que deeste modo, nada más arrancar el ordenador se pueden ”ver” todas las impre-soras disponibles, sin tener que configurarlas manualmente. Pero esto conllevaun peligro si el ordenador se conecta a Internet. Con la configuración de la fun-ción broadcast se debe tener cuidado de que sólo se retransmita en la red local,de que sólo pueda acceder la red local, y de que la dirección IP pública para laconexión a Internet no se encuentre dentro del campo de la dirección de la redlocal. De no ser así, otros usuarios con el mismo proveedor de servicios de Inter-net (ingl. ()Internet Service Providers) también podrían ”ver” y utilizar estas im-presoras. Además estos broadcasts generan tráfico en la red, que implica costesañadidos. Por eso siempre se debe estar seguro de que tales paquetes de broad-cast no son enviados a Internet por las impresoras locales, p. ej. con ayuda delfiltro de paquetes SuSE Firewall. Para recibir el broadcast no se debe configurarnada en especial. Sólo al enviar se debe añadir una dirección de broadcast (p. ej.que se puede configurar con YaST2).

IPP se utiliza para la comunicación entre daemons CUPS locales y remotos (tam-bién servidores CUPS). Las impresoras de red más modernas (de diversos fabri-cantes) también soportan IPP. Puede encontrar más información en las páginasweb del fabricante o en el manual de la impresora.

Asimismo Windows 2000 (y posteriores) ofrece soporte para IPP. Lamentable-mente hubo problemas con el formato de implementación, que o han sido re-sueltos o pueden resolverse con el pack de servicios (ingl. ()service pack).

199SuSE Linux – Manual de Administración

Page 218: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Configuración del servidor CUPS

Hay muchas maneras de configurar impresoras y el daemon con CUPS: a travésde la línea de comandos, con YaST2, el centro del control de KDE, interfacesweb, etc. En las siguientes secciones se hablará de las herramientas para la líneade comandos y de YaST2, pero estas no son las únicas posibilidades.

AvisoLa interfaz web conlleva el riesgo de poner en peligro la contraseña delsuperusuario, ya que esta se puede enviar a la red en texto sencillo paraque se pueda dar el nombre del ordenador en la URL. Por tanto utilicesiempre exclusivamente http://localhost:631/ , y ninguna otradirección bajo ninguna circunstancia.

Aviso

Por este motivo se ha restringido también el acceso de administración del dae-mon CUPS; para que sólo pueda ser configurado cuando la comunicación serealiza mediante ”localhost” (lo que es idéntico a la dirección IP 127.0.0.1 ) Sise realiza de otra forma, se recibe el correspondiente mensaje de error.Para administrar impresoras locales es necesario que haya un daemon CUPSen funcionamiento en el ordenador local. Para ello se instala el paquete cupsy los ficheros PPD generados por SuSE en los paquetes cups-drivers ycups-drivers-stp . Después arranque el servidor (como root ) con el co-mando: /etc/rc.d/cups restart . Al configurar con YaST2 se realiza im-plícitamente la instalación y el arranque cuando se elige CUPS como sistema deimpresión.PPD son las siglas de ”PostScript Printer Description – Descripción de impre-soras PostScript” y es un estándar para describir opciones de impresión concomandos PostScript. En CUPS son necesarios para la instalación de la impre-sora. SuSE Linux proporciona ficheros PPD generados para diversas impresorasde varios fabricantes. Pero también los fabricantes proporcionan en sus páginasweb y CDs de instalación ficheros PPD para impresoras PostScript (mayormenteen el campo de la ”instalación de Windows NT”).También se puede iniciar el daemon local con la intención de poner a disposi-ción todas las impresoras de todos los servidores de broadcast, aunque no existaninguna impresora local.El broadcast se configura con YaST2, o dando el valor On (por defecto) a la va-riable ”Browsing” en el fichero /etc/cups/cupsd.conf , y un valor ade-cuado (por ejemplo 192.168.255.255 ) a la variable ”BrowseAddress”.Para que se puedan aceptar tareas de impresión, se debe permitir la recogi-da al menos de <Location /printers> , o mejor <Location /> . Para el-lo se debe complementar con Allow From xyz-host.mydomain ; véase

200 El sistema de impresión CUPS

Page 219: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

file:/usr/share/doc/packages/cups/sam.html . Con el comando/etc/rc.d/cups reload (como superusuario) se acepta la nueva configu-ración después de haber trabajado con los ficheros del daemon.

Impresoras de red

Las impresoras de red son impresoras definidas por un servidor de impresióno interfaz de red (como la que ofrece HP con la interfaz JetDirect), o impresorasconectadas a un servidor de impresión o enrutador con la funcionalidad de unservidor de impresión, o similar. No nos referimos a ordenadores Windows queponen a disposición una impresora compartida o ”share”. Aunque también sepuede establecer comunicación fácilmente con estas por medio de CUPS.

La mayor parte de las impresoras de red soportan el protocolo LPD (puerto515). Esto se puede comprobar con el siguiente comando:netcat -z nombre_ordenador.dominio 515 && echo ok || echo failed

Después se puede configurar con el dispositivo URI (terminología CUPS)lpd://Server/Queue . Más sobre los dispositivos URIs en file:/usr/share/doc/packages/cups/sam.html

Suele ser mejor comunicarse con tales impresoras a través del puerto 9100 (HP,Kyocera, ...) o el puerto 35 (QMS), sin un protocolo LPD conectado de ante-mano. Entonces el dispositivo URI dice socket://Server:Port/

Para imprimir en impresoras Windows, debe estar instalado el paquete pa-quete samba-client y tener Samba correctamente configurado, el ”grupode trabajo” (ingl. workgroup) debe estar bien definido, etc. Los dispositivos URIpara ordenadores Windows pueden tener diferentes formas. La más común es:smb://user:password@host/printer . Para todas las demás formas posi-bles, véase file:/usr/share/doc/packages/cups/sam.html y páginadel manual de smbspool (man smbspool ).

Si tiene una impresora de red configurada y posee una pequeña red con variosPCs (Linux), es útil no tener que configurar las impresoras de red en todos losclientes. Por eso en este caso se debe activar la funcionalidad ”broadcast” deldaemon. Asimismo no es necesario realizar los cambios en las configuraciones,tales como fijar el tamaño estándar del papel con el valor Letter (carta), en ca-da uno de los clientes, sino que basta con hacerlo una vez en el servidor. (véasesección Configuración de la cola de impresión en la página 207). Estas configura-ciones se almacenarán localmente pero, mediante las herramientas CUPS o elprotocolo IPP, aparecerán en todos los clientes.

201SuSE Linux – Manual de Administración

Page 220: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Procesamiento interno de los trabajos

Convertir a PostScript

En principio se envía cada tipo de fichero a un daemon CUPS. Los ficherosPostScript son los que causan menos problemas. Una conversión a PostScriptmediante CUPS se realiza correctamente cuando el tipo de fichero se identifi-ca mediante /etc/cups/mime.types , tras lo que se invoca a la herramientacorrespondiente que se encuentra en /etc/cups/mime.convs . Esta conver-sión tiene lugar en el servidor y no en el cliente, en contraposición al gestor LPRtradicional. Con esto se quiere conseguir que las conversiones especiales sólo sepuedan realizar en el servidor previsto para esta tarea.

Recuento (ingl. accounting)

Después de la conversión PostScript se averigua el número de páginas de latarea de impresión. Para ello CUPS arranca una herramienta (propia) pstops(/usr/lib/cups/filter/pstops ). El número de hojas se describe en /var/log/cups/page_log .

Las entradas de una línea tienen el siguiente significado:

nombre de la impresora (por ejemplo lp ),

nombre de usuario (por ejemplo root ),

número de tarea,

fecha entre paréntesis [],

página de la tarea que se está imprimiendo,

número de copias.

Filtros de conversión adicionales

También se pueden activar otros filtros y de esta forma escoger las opciones cor-respondientes de la impresión. Los siguiente tienen un interés especial:

psselect: si sólo se debe imprimir algunas hojas del documento,

ps-n-up: en caso de que se quiera imprimir varias páginas del documento enun sola hoja.

Estos filtros no se pueden configurar. En file:/usr/share/doc/packages/cups/sum.html se describe cómo se puede activar las opciones.

202 El sistema de impresión CUPS

Page 221: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Conversiones específicas de impresoras

En el siguiente paso se arranca el filtro necesario para generar datos específi-cos de la impresora. Estos filtros se encuentran en /usr/lib/cups/filter/ .Qué filtro es el adecuado se indica mediante una entrada *cupsFilter en elfichero PPD. Si no hay ninguna entrada, se partirá de que se usa una impresoraPostScript. Todas las opciones de impresión que dependen del dispositivo, talescomo la resolución y el tamaño del papel, se elaboran en este filtro.

Por su complejidad no se recomienda escribir filtros propios específicos de im-presora.

Resultado de la impresión

Finalmente se activará el ”backend”. Se trata de un filtro especial que en-vía los datos de impresión a un dispositivo o a una impresora de red (véase/usr/share/doc/packages/cups/overview.html ). El ”backend” posi-bilita la comunicación con el dispositivo o con la impresora de red (dependedel dispositivo URI indicado en la instalación ). Por ejemplo, un backend puedeser usb , y el programa que lo invoca /usr/lib/cups/backend/usb . En estepunto se abrirá (y sellará) el dispositivo USB en el sistema de ficheros, se re-alizará una iniciación preliminar, y se enviará los datos procedentes del filtro. Alfinal el dispositivo se cierra y libera al sistema.

Estos son los backends disponibles hoy en día: paralelo, serie, usb,ipp, lpd, http, socket (del paquete CUPS), así como canon y epson (decups-drivers-stp ), y smb (de samba-client ).

Sin filtro

Si quiere imprimir sin filtros, indique la opción -l en el comando lpr o la op-ción -oraw en lp . Normalmente las impresoras no funcionan porque no re-aliza una conversión específica de impresora (véase arriba) o no se ponen enfuncionamiento otros filtros importantes. Con otras herramientas CUPS, las op-ciones son similares.

Consejos y trucos

OpenOffice

Al imprimir desde OpenOffice, CUPS se soporta de tal manera que no es nece-sario configurar la impresora, como ocurría en StarOffice 5.2. OpenOffice ”re-conoce” si hay un daemon CUPS en funcionamiento y solicita a éste las impre-soras y opciones disponibles. Una configuración adicional de OpenOffice seráinnecesaria en un futuro.

203SuSE Linux – Manual de Administración

Page 222: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Windows

Nos podemos comunicar con las impresoras de una máquina Windows median-te el dispositivo URI smb://server/printer ; véase más arriba.

En el caso contrario, o sea, si quiera imprimir desde Windows en un servidorCUPS, se debe fijar en el fichero de configuración de Samba /etc/samba/smb.conf las entradas printing = cups y printcap name = CUPScomo corresponde a la preconfiguración en SuSE Linux. Después de modifi-car /etc/samba/smb.conf hay que volver a iniciar el servidor smb; véasefile:/usr/share/doc/packages/cups/sam.html

Impresoras ”en crudo” (ingl. ()raw)

Una impresora ”raw” se configura de tal forma que, en la instalación, se dejande lado los ficheros PPD, no se realiza ni el filtrado ni el recuento. Para ello sedebe enviar los datos en un formato adecuado a la impresora.

Opciones de la impresora

Las opciones de configuración (p. ej. de forma estándar otra resolución) se al-macenan en el fichero ~/.lpoptions . Si se elimina del servidor una impresorade este tipo (sin configurar), de aquí sigue siendo visible en las diversas her-ramientas, como kprinter o xpp . Incluso aunque ya no exista, se puede selec-cionar, lo cual causa problemas. Los usuarios experimentados podrán eliminarlas líneas problemáticas de ~/.lpoptions con un editor.

Compatibilidad con LPR

CUPS también puede recibir tareas de impresión de sistemas LPR. Se puede re-alizar la configuración necesaria en /etc/inetd.conf con YaST2. O se debeeliminar el signo de comentario del inicio de la línea de ”impresora” (ingl.()printer) en /etc/inetd.conf . A continuación un ejemplo (como root ):

perl -pi -e ’s:^\# (printer):$1:’ /etc/inetd.confrcinetd reload

Si desea volver a LPRng, debe volver a introducir el signo de comentario:

perl -pi -e ’s:^(printer):# $1:’ /etc/inetd.confrcinetd reload

204 El sistema de impresión CUPS

Page 223: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Búsqueda de errores en CUPS

En el fichero de configuración /etc/cups/cupsd.conf se encuentra normal-mente la siguiente sección:

# LogLevel: controls the number of messages logged to the ErrorLog# file and can be one of the following:## debug2 Log everything.# debug Log almost everything.# info Log all requests and state changes.# warn Log errors and warnings.# error Log only errors.# none Log nothing.#

LogLevel info

Para buscar errores en CUPS, se define el nivel de depuración o LogLeveldebug y se vuelve a cargar la configuración con rccups reload para que lalea cupsd. Una vez hecho esto, encontrará abundantes mensajes en /var/log/cups/error_log , que le ayudarán a detectar el problema.

Ejecutando antes de una prueba el comando

tierra:~ # echo "LABEL $(date)" | tee -a /var/log/cups/error_log

se producirá una marca que se transcribirá literalmente en /var/log/cups/error_log . De esta forma resultará más fácil encontrar los mensajes despuésde realizar la prueba.

Herramientas de línea de comandos parasistemas de impresión CUPS

Las herramientas de línea de comandos y las páginas man correspondien-tes para sistemas CUPS se encuentran en el paquete cups-client ; la docu-mentación se encuentra en el paquete cups dentro de /usr/share/doc/packages/cups/ . En especial el ”CUPS Software Users Manual” enfile:/usr/share/doc/packages/cups/sum.htmly el ”CUPS Software Administrators Manual” enfile:/usr/share/doc/packages/cups/sam.html

205SuSE Linux – Manual de Administración

Page 224: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

y sobre cupsd locales en funcionamiento enhttp://localhost:631/documentation.htmlPara estas herramientas es importante el orden de las opciones. Es caso de duda,eche un vistazo a la correspondiente página man.

Para colas de impresión locales

Generar trabajos de impresión

Por lo general se imprime en ”System V Art” con

tux@tierra:~ > lp -d 〈colaimpresión 〉 〈fichero 〉

o en ”Berkeley Art” con

tux@tierra:~ > lpr -P 〈colaimpresión 〉 〈fichero 〉

Más información en página del manual de lpr (man lpr ) y página del manualde lp (man lp ) y en la sección ”Using the Printing System” enfile:/usr/share/doc/packages/cups/sum.html#USING_SYSTEMen CUPS Software Users Manual.

Con el parámetro adicional -o se puede fijar opciones adicionales acerca deltipo de impresión. Más información en página del manual de lpr (man lpr ) ypágina del manual de lp (man lp ) y en la sección ”Standard Printer Options”enfile:/usr/share/doc/packages/cups/sum.html#STANDARD_OPTIONSen CUPS Software Users Manual.

Mostrar el estado

El estado de una cola de impresión se muestra en ”System V Art” con

tux@tierra:~ > lpstat -o 〈colaimpresión 〉 -p 〈colaimpresión 〉

o en ”Berkeley Art” con

tux@tierra:~ > lpq -P 〈colaimpresión 〉

Sin la indicación de la cola de impresión se mostrarán todas las colas; ylpstat -o mostrará todas las tareas de impresión activas con la forma〈colaimpresión〉-〈númerotarea〉.Con lpstat -l -o 〈colaimpresión 〉 -p 〈colaimpresión 〉 se mostrarámás información y con lpstat -t bzw. lpstat -l -t se mostrará toda lainformación disponible.

206 Herramientas de línea de comandos para sistemas de impresión CUPS

Page 225: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Más información en la página del manual de lpq (man lpq ), la página del ma-nual de lpstat (man lpstat ) y en la sección ”Using the Printing System” enfile:/usr/share/doc/packages/cups/sum.html#USING_SYSTEMde CUPS Software Users Manual.

Eliminar trabajos de impresión

En ”System V Art”

tux@tierra:~ > cancel 〈colaimpresión 〉- 〈númerotarea 〉

o en ”Berkeley Art”

tux@tierra:~ > lprm -P 〈colaimpresión 〉 〈númerotarea 〉

eliminan las tareas que tengan esos números en las colas indicadas.

Más información en la página del manual de lprm (man lprm ), la página delmanual de cancel (man cancel ) y en la sección ”Using the Printing System”enfile:/usr/share/doc/packages/cups/sum.html#USING_SYSTEMde CUPS Software Users Manual.

Configuración de la cola de impresión

En la sección ”Standard Printer Options” del CUPS Software Users Manual que seencuentra enfile:/usr/share/doc/packages/cups/sum.html#STANDARD_OPTIONSse describen las opciones estándar independientes del hardware para definir eltipo de impresión, y en la sección ”Saving Printer Options and Defaults” enfile:/usr/share/doc/packages/cups/sum.html#SAVING_OPTIONSse describe cómo se pueden guardar las distintas opciones.

Las opciones específicas de impresoras para determinar el tipo de impresión sefijan en los ficheros PPD, que pertenecen a la cola de impresión correspondiente,y con el comando

tux@tierra:~ > lpoptions -p 〈colaimpresión 〉 -l

se muestran de la siguiente manera:

Option/Text: Valor valor valor ...

donde un * delante del valor de una opción representa la configuración actual.

Ejemplo:

207SuSE Linux – Manual de Administración

Page 226: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

PageSize/Page Size: A3 *A4 A5 Legal LetterResolution/Resolution: 150 *300 600

Aquí la opción PageSize está fijada en A4 y la resolución en 300 .

Con

tux@tierra:~ > lpoptions -p 〈colaimpresión 〉 -o option=wert

se puede configurar otro valor

Así en el ejemplo anterior con

tux@tierra:~ > lpoptions -p 〈colaimpresión 〉 -o PageSize=Letter

se cambia el tamaño del papel en la cola de impresión correspondiente al valorLetter .

Si un usuario normal escribe este comando lpoptions , las configuracionessólo se guardarán para ese usuario en el fichero ~/.lpoptions .

Si lo hace el administrador del sistema root lpoptions , las configuracionesquedarán predeterminadas para todos los usuarios del ordenador local y seguardarán en el fichero /etc/cups/lpoptions . Los ficheros PPD no se modi-ficarán.

Sólo cuando se modifiquen las configuraciones estándar de un fichero PPD deuna cola de impresión, será válido para los usuarios de toda la red que impri-man en esa cola.

El administrador del sistema puede modificar las configuraciones estándar enlos ficheros PPD de una cola de impresión con

tierra:~ # lpadmin -p 〈colaimpresión 〉 -o option=wert

Así en el ejemplo anterior con

tierra:~ # lpadmin -p 〈colaimpreión 〉 -o PageSize=Letter

se cambiará el tamaño de papel predeterminado al valor Letter en la cola cor-respondiente para todos los usuarios de la red..

Para colas de impresión remotas

Se sustituye el servidor de impresión (ingl. ()print-server) por el nombreo la dirección IP del servidor de impresión, y la variable 〈colaimpresión〉 debe seruna cola que se encuentre en ese servidor.

Aquí se indican los comandos básicos. Más posibilidades y fuentes de informa-ción en la sección Para colas de impresión locales en la página 206.

208 Herramientas de línea de comandos para sistemas de impresión CUPS

Page 227: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Generar trabajos de impresión

En ”System V Art” con

tux@tierra:~ > lp -d 〈colaimpresión 〉 -h 〈servidorimpresión 〉〈fichero 〉

se generará una tarea de impresión en la cola de impresión del servidor indica-do.

Se supone que el servidor de impresión está configurado de tal forma que sepueda imprimir en sus colas de impresión. De forma estándar éste no es el ca-so con CUPS, pero se puede configurar con la configuración de impresorasde YaST2 en una rama de menú avanzado en las configuraciones del servidorCUPS.

Mostrar estado

En ”System V Art” con

tux@tierra:~ > lpstat -h 〈servidorimpresión 〉 -o 〈colaimpresión 〉-p 〈colaimpresión 〉

se mostrará el estado de dicha cola en el servidor de impresión indicado.

Eliminar trabajos de impresión

El comando ”System V Art”

tux@tierra:~ > cancel -h 〈servidorimpresión 〉 〈colaimpresión 〉-〈númerotarea 〉

elimina la tarea de impresión que tenga ese número en la cola del servidor indi-cado.

Resolución de problemas en CUPS

La resolución de problemas ocurre de forma similar a la sección Resolución deproblemas con los comandos anteriores en LPRng en la página 184, sólo que conCUPS se necesitan otros comandos en el segundo paso:

1. Primero retire todo el papel para que se detenga la impresión.

209SuSE Linux – Manual de Administración

Page 228: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

2. Compruebe con lpstat -o (o conlpstat -h 〈servidorimpresión 〉 -o ) de qué co-la es el trabajo que se está imprimiendo y elimínelo concancel 〈colaimpresión 〉- 〈númerotrabajo 〉 (o concancel -h 〈servidorimpresión 〉 〈colaimpresión 〉- 〈númerotarea 〉).

3. Utilice el comando fuser .

4. Desconecte completamente la impresora.

Algo sobre Ghostscript

Ghostscript acepta como entrada ficheros PostScript y PDF y ofrece una can-tidad de controladores Ghostscript para la conversión a otros formatos, queGhostscript denomina ”devices”.

Ghostscript realiza la conversión en dos pasos:

1. Los datos PostScript son ”rasterizados” – es decir, que el gráfico descritoen PostScript es descompuesto en un raster fino de píxeles. Este paso serealiza independientemente del controlador Ghostscript empleado. Cuan-to más fino es el raster (por tanto cuanto más alta es la resolución), másalta es la calidad de la salida. Hay que tener en cuenta que con una dobleresolución, tanto horizontal como verticalmente, se cuadruplica el númerode puntos de raster, con lo cual se cuadruplica también el gasto de tiempode cpu y de memoria.

2. El controlador Ghostscript convierte ahora el gráfico descompuesto enpuntos de raster al formato finalmente deseado (p. ej. al lenguaje de im-presión deseado).

Ghostscript no se limita a ofrecer controladores de impresoras. También es ca-paz de procesar ficheros PostScript para la salida en pantalla o de convertirlos aPDF.

Se recomienda recurrir al programa gv (paquete gv ) para visualizar en pantallaficheros PostScript, ya que es una interfaz gráfica para GhostScript.

Ghostscript es un programa muy amplio con varias opciones en la línea de co-mando. La documentación más importante, aparte de página del manual de gs(man gs) y una lista de los controladores Ghostscript, se encuentra en:

file:/usr/share/doc/packages/ghostscript/catalog.devices

210 Algo sobre Ghostscript

Page 229: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

y sobre todo en:

file:/usr/share/doc/packages/ghostscript/doc/index.htmlfile:/usr/share/doc/packages/ghostscript/doc/Use.htmfile:/usr/share/doc/packages/ghostscript/doc/Devices.htmfile:/usr/share/doc/packages/ghostscript/doc/hpdj/gs-hpdj.txtfile:/usr/share/doc/packages/ghostscript/doc/hpijs/hpijs_readme.htmlfile:/usr/share/doc/packages/ghostscript/doc/stp/README

Después de haber procesado en la línea de comandos una llamada directa aGhostscript, se lanza un diálogo con un prompt propio GS>, del cual se puedesalir con el comando quit .

El comando de ayuda gs -h da una lista de las opciones más importantesy una lista actual de los dispositivos soportados. Tratándose de un contro-lador que tiene soporte para varios modelos, sólo aparece la denominacióngeneral del controlador como uniprint o stp . Los ficheros de parámet-ros para uniprint y los modelos de stp están listados explícitamente enfile:/usr/share/doc/packages/ghostscript/catalog.devices .

Ejemplos de trabajo con Ghostscript

En file:/usr/share/doc/packages/ghostscript/examples se en-cuentran múltiples ficheros en formato PostScript.

La ”elipse de color” file:/usr/share/doc/packages/ghostscript/examples/colorcir.ps sirve para comprobar el funcionamiento de la im-presora.

Visualización en X11

Para visualizar un fichero de PostScript en sistema X Window se puede usar elcomando gs :

tux@tierra:~ > gs -r60 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

El comando se introduce en una sola línea sin la barra inversa (‘\’ ).

Con la opción -r se especifica la resolución, que tiene que ser adecuada para elrespectivo dispositivo de salida (impresora o pantalla) (pruebe p. ej. -r30 ). Paraterminar hay que pulsar

�� ��Control +�� ��c dentro de la ventana de terminal desde la

que se ha lanzado gs .

211SuSE Linux – Manual de Administración

Page 230: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Conversión a PCL5e o PCL6

Para convertir un fichero PostScript al formato específico para una impresoraPCL5e o PCL6 se usa el comando:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=ljet4 -r300x300 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

Se debe introducir en una sola línea suprimiendo la barra inversa (‘\’ ); ademásse supone que el fichero /tmp/out.prn aún no existe.

Conversión a PCL3

Para convertir un fichero PostScript al formato específico para una impresoraPCL3 se usa uno de los siguientes comandos:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=deskjet -r300x300 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

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

212 Algo sobre Ghostscript

Page 231: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

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

Conversión a ESC/P, ESC/P2 o ESC/P-Raster

Para convertir un fichero PostScript al formato específico para una impresoraESC/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 usandoun fichero de parámetros stcany.upp para el controlador uniprint o usan-do otro controlador ”normal” de Ghostscript. Dado que todos los parámetrosespecíficos del controlador se encuentran dentro del fichero de parámetros deuniprint, ya no hace falta indicar parámetros específicos, como es el caso en losdemás controladores de Ghostscript.

Envío directo a la impresora

Después de cada uno de los comandos arriba indicados, los datos específicos deimpresora se encuentran en /tmp/out.prn . Suponiendo que la impresora estéconectada al primer puerto paralelo el root puede enviar estos datos directa-mente a la impresora mediante:

tierra:~ # cat /tmp/out.prn >/dev/lp0

213SuSE Linux – Manual de Administración

Page 232: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Procesamiento de PostScript y PDF

Ghostscript puede generar ficheros PostScript y PDF, convertir de un formato aotro y enlazar ficheros PostScript y PDF entre sí en orden alternante.Conversión de PostScript a PDF:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/colorcir.pdf \-sDEVICE=pdfwrite \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

Conversión del fichero PDF /tmp/colorcir.pdf recién creado a PostScript:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/colorcir.ps \-sDEVICE=pswrite /tmp/colorcir.pdf quit.ps

Después de reconvertir de PDF a PostScript, el fichero /tmp/colorcir.ps yano coincide con el /usr/share/doc/packages/ghostscript/examples/colorcir.ps original. No obstante, en la impresión no debería apreciarseninguna diferencia.Enlazar ficheros PostScript y PDF a un fichero PostScript:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.ps\-sDEVICE=pswrite \/usr/share/doc/packages/ghostscript/examples/escher.ps \/tmp/colorcir.pdf quit.ps

Enlazar ficheros PostScript y PDF a un fichero PDF:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.pdf\-sDEVICE=pdfwrite /tmp/out.ps \/usr/share/doc/packages/ghostscript/examples/golfer.ps \/tmp/colorcir.pdf quit.ps

Desgraciadamente, el enlazar ficheros PostScript y PDF entre sí no funciona entodos los casos y depende de los ficheros utilizados.

Algo sobre a2ps

Para imprimir un fichero ASCII con Ghostscript hay que convertirlo primeromediante el programa a2ps (paquete a2ps ) a PostScript. La conversión es nece-saria porque Ghostscript espera PostScript como formato de entrada. Debido a

214 Algo sobre a2ps

Page 233: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

que paquete a2ps no está incluido en la instalación estándar, normalmente hade ser instalado manualmente.

a2ps es una herramienta potente para convertir texto plano a un formatoPostScript de alta calidad.

a2ps es un programa muy flexible con varias opciones de la línea de comando.La documentación más importante se encuentra en página del manual de a2ps(man a2ps).

Ejemplos de trabajo con a2ps

Impresión directa de un fichero de texto con a2ps

Para convertir un fichero de texto a PostScript con a2ps, para que se impriman 2páginas en tamaño reducido en una sola hoja, se puede usar el siguiente coman-do:

tux@tierra:~ > a2ps -2 -medium=A4dj \--output=/tmp/out.ps ficherotexto

Para controlar la salida de a2ps puede ejecutar

tux@tierra:~ > gs -r60 /tmp/out.ps

visualizando en la pantalla el fichero PostScript generado. Pulsando�� ��return en la

ventana de terminal desde la que ha llamado el comando gs , puede saltar a lapágina siguiente (

�� ��Control +�� ��c para terminar).

Puede pasarlo después al formato específico de impresora, definiendo〈driver_parameter〉 según el apartado anterior, mediante:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\ 〈driver_parameter 〉 \/tmp/out.ps quit.ps

En el caso de que la impresora se encuentre conectada al primer puerto paralelo/dev/lp0 , root puede enviar la salida de PostScript directamente (sin gestorde impresión o filtro de impresión) a la impresora, mediante:

tierra:~ # cat /tmp/out.prn > /dev/lp0

Imprimir tarjetas de visita

Para demostrar las capacidades de a2ps seguimos con la impresión de tarjetasde visita sencillas.

Para crear una tarjeta de visita como fichero de texto plano tarjeta

215SuSE Linux – Manual de Administración

Page 234: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Título Nombre ApellidoCalleCódigo postal LocalidadE-Mail: user@domainTeléfono: Número

Fichero 27: card: Una tarjeta de visita

Añadir el carácter ASCII \f (avance de página completo) (ingl. formfeed) paraempezar una nueva hoja, con el fin de que a2ps pueda tratar las tarjetas de visitaindividuales como páginas individuales.

tux@tierra:~ > echo -en "\f" >>tarjeta

Reproducción de 10 piezas en el fichero tarjetas :

tux@tierra:~ > for i in $(seq 1 10) ; do cat tarjeta >>tarjetas; done

Determinar la línea más larga de tarjetas :

tux@tierra:~ > cat tarjetas | wc -L

Al convertir a PostScript, con las 10 tarjetas de visita en una sola hoja, dispues-tas en dos columnas con 5 tarjetas en cada columna y disponiendo de un marcopara cada una de las tarjetas, se maximiza el tamaño de fuente de acuerdo a lalínea más larga, y la página no contiene encabezamiento o pie de página adi-cionales:

tux@tierra:~ > a2ps -i -j --medium=a4dj --columns=2 --rows=5 \--no-header --chars-per-line=número --output=tarjetas.pstarjetas

El comando se debe introducir en una sola línea, suprimiendo la barra inversa(‘\’ ); para número hay que indicar el número que previamente ha sido mostra-do al determinar la línea más larga.

Después de comprobar el resultado en la pantalla con gs -r60 tarjetas.ps ,se puede imprimir directamente a la impresora como se ha indicado arriba. Otraopción es usar el comando lpr sirviéndose del sistema de impresión haciendouna llamada a lpr tarjetas.ps

Modificar el formato PostScript con psutils

Para modificar el formato se debe imprimir en un fichero /tmp/in.ps desdeuna aplicación y comprobar con file /tmp/in.ps que realmente se trata de

216 Modificar el formato PostScript con psutils

Page 235: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

un fichero PostScript.

Programas para el cambio de formato de datos PostScript se encuentran en pa-quete psutils . En especial el programa pstops posibilita cambios de granalcance. Véase la página del manual de pstops (man pstops ). Puesto que elpaquete psutils no está instalado de forma estándar, se deberá hacer antes deutilizarlo.

Las siguientes llamadas sólo funcionan para ficheros PostScript que fueron gen-erados ”tan bien” que es posible modificar el formato. Aunque éste suele ser elcaso normal, dependiendo de la aplicación que ha generado el fichero PostScriptpuede llegar a ser imposible.

psnup

Con

tux@tierra:~ > psnup -2 /tmp/in.ps /tmp/out.ps

se puede cambiar de /tmp/in.ps a /tmp/out.ps , con lo que se presentarándos páginas reducidas en una sola hoja. Puesto que se incrementa la compleji-dad de la impresión cuando se reducen dos páginas para que quepan en unahoja, algunas impresoras PostScript que no disponen de la memoria suficientepueden no funcionar correctamente.

pstops

Se puede fijar un tamaño y posición individual con pstops de la forma siguiente:

tux@tierra:~ > pstops ’1:[email protected](2cm,3cm)’ /tmp/in.ps /tmp/out.ps

Aquí se escala con el factor 0.8, con lo que una página A4 de ca. 21x30 cm se re-duce a ca. 17x24 cm. Eso provoca que haya un margen adicional a la derecha deca. 4 cm y en la parte superior de ca. 6 cm. Así todo se moverá 2 cm a la derechay 3 cm hacia arriba, para que los márgenes tengan el mismo grosor en toda lapágina.

Este comando de pstops también funciona para aplicaciones que tienen pre-sentaciones óptimas en las que todo debe caber en una sola página, esto es, enlas que la impresión procedente de la aplicación en /tmp/in.ps era demasiadogrande.

Con

tux@tierra:~ > pstops ’1:[email protected](2cm,3cm)’ /tmp/in.ps /tmp/out1.ps

217SuSE Linux – Manual de Administración

Page 236: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

tux@tierra:~ > psnup -2 /tmp/out1.ps /tmp/out.ps

se consigue que quepan dos páginas reducidas en una sola hoja, pero con mu-cho espacio entre las páginas reducidas.

Es mejor posicionar individualmente cada página:

tux@tierra:~ > pstops ’2:[email protected](20cm,2cm)[email protected](20cm,15cm)’ \/tmp/in.ps /tmp/out.ps

El comando debe introducirse en una sola línea sin barra inversa ‘\’ .

El resultado de pstops ’2:[email protected](20cm,2cm)[email protected](20cm,15cm)’ :

2:0 ... +1 significa que cada dos páginas se sitúan la una al lado de la otra,donde las páginas módulo 2 se cuenta también como página 0 (módulo2) y página 1 (módulo 2).

[email protected](20cm,2cm) significa que la correspondiente página 0 (módulo 2) se gira90 grados a la izquierda, se escala con el factor 0.6 y se mueve 20 cm haciala derecha y 2 cm hacia arriba.

[email protected](20cm,15cm) de forma análoga se gira la correspondiente página 1 (mó-dulo 2) 90 grados, se escala con el factor 0.6 y se mueve 20 cm hacia laderecha y 15 cm hacia arriba.

Ilustración:

En PostScript el punto cero del sistema de coordenadas es la esquina inferiorizquierda de la hoja de papel, aquí indicado con +.

Aquí una página 0 (múdulo 2) con tres líneas de texto:

+

Giro a la izquierda de 90 grados:

218 Modificar el formato PostScript con psutils

Page 237: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

+

Escalar con el factor 0.6:

+

Mover 20 cm a la derecha y 2 cm hacia arriba:

+

Una página 1 (módulo 2) con dos líneas de texto:

+

219SuSE Linux – Manual de Administración

Page 238: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Giro a la izquierda de 90 grados de la página 1 (módulo 2):

+

Escalar la página 1 (módulo 2) con el factor 0.6:

+

Mover la página 1 (módulo 2) 20 cm a la derecha y 15 cm hacia arriba:

+

psselect

Con psselect se pueden seleccionar páginas sueltas.

Con

tux@tierra:~ > psselect -p2-5 /tmp/in.ps /tmp/out.ps

220 Modificar el formato PostScript con psutils

Page 239: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

se seleccionan las páginas 2, 3, 4 y 5 de /tmp/in.ps y se distribuyen a/tmp/out.ps.

Con

tux@tierra:~ > psselect -p-3 /tmp/in.ps /tmp/out.ps

selecciona todas las páginas hasta la página 3.

Con

tux@tierra:~ > psselect -r -p4- /tmp/in.ps /tmp/out.ps

selecciona desde la página 4 hasta el final y se imprimen en orden inverso.

Control de la pantalla con Ghostscript

Se puede mostrar el fichero PostScript /tmp/out.ps página por página en lainterfaz gráfica de Ghostscript con gs -r60 /tmp/out.ps . Al pulsar la teclaEnter en la ventana de terminal, con la que se llama a Ghostscript, se muestra elfichero PostScript página por página; para finalizar pulse las teclas

�� ��Control +�� ��C .

El programa gv de paquete gv es un frontal gráfico (ingl. ()frontend) paraGhostscript. Se llama desde la interfaz gráfica con gv /tmp/out.ps y permiteuna presentación apropiada de formatos ”extraños”, ampliaciones o reduccionesde la presentación (pero no del propio fichero PostScript) y la selección de pági-nas sueltas (para imprimirlas directamente desde gv ).

Codificación de texto ASCII

En texto plano, cada carácter se guarda codificado como un determinadonúmero. El símbolo visual que corresponde con el carácter codificado está de-terminado en las tablas de código. Dependiendo de la tabla de código usado porun programa, puede diferir la visualización del mismo código en la pantalla yen la impresora.

Las combinaciones estándar de caracteres son códigos numéricos de 0 a 255.

Los caracteres con los códigos de 0 a 127 son los llamados caracteres ASCII (enespecial las letras ”normales”, cifras y signos especiales, pero no signos específi-cos de país), y siempre vienen determinados igual.

Los códigos de 128 a 255 son específicos de país (como p. ej.los acentos).

221SuSE Linux – Manual de Administración

Page 240: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Puesto que de hecho hay más de 128 caracteres específicos de país, los códigosde 128 a 255 no se ocupan siempre de la misma forma, sino que en cada país seutiliza el mismo código para signos distintos.

ISO-8859-1 (o Latin 1) es la codificación usada para idiomas de Europa Occiden-tal, ISO-8859-2 (o Latin 2) se usa para codificar los idiomas de Europa del Este yCentral. El código 241 (octal) significa, según ISO-8859-1, el signo de abrir excla-mación, mientras que en ISO-8859-2 representa una A con Ogonek. ISO-8859-15equivale en lo esencial a ISO-8859-1, y particularmente el código 244 (octal) rep-resenta el símbolo del Euro.

Ilustración

Hay que introducir todos los comandos en una sola línea, suprimiendo la barrainversa (‘\’ ).

Creación de un fichero ejemplo de texto ASCII con:

tux@tierra:~ > echo -en "\rCode 241(octal): \\241\r\nCode 244(octal): \244\r\f" >ejemplo

Presentación en la pantalla

Abrir tres ventanas de terminal en el entorno gráfico mediante:

tux@tierra:~ > xterm -fn -*-*-*-*-*-*-14-*-*-*-*-*-iso8859-1 \-title iso8859-1 &

tux@tierra:~ > xterm -fn -*-*-*-*-*-*-14-*-*-*-*-*-iso8859-15 \-title iso8859-15 &

tux@tierra:~ > xterm -fn -*-*-*-*-*-*-14-*-*-*-*-*-iso8859-2 \-title iso8859-2 &

Visualizar el fichero ejemplo en cada una de las ventanas de terminal, ejecutan-do para cada uno:

tux@tierra:~ > cat ejemplo

En ”iso8859-1” se ve: Código 241 como signo de abrir exclamación (castellano)Código 244 como círculo con ganchillo (signo común de moneda)

En ”iso8859-15” se ve: Código 241 como signo de abrir exclamación (castellano)Código 244 como signo de Euro

En ”iso8859-2” se ve: Código 241 como A mayúscula con ganchillo (A conOgonek) Código 244 como círculo con ganchillo (signo común de moneda)

222 Codificación de texto ASCII

Page 241: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Debido a la codificación establecida no se pueden utilizar a la vez dos signosespeciales específicos de distintos países. Así por ejemplo el símbolo del Euro nose puede representar en el mismo texto junto con una A con Ogonek.

Más información en la visualización correcta respectivamente:

En ”iso8859-1” con la página del manual de iso_8859-1 (man iso_8859-1 ).

En ”iso8859-15” con la página del manual de iso_8859-15(man iso_8859-15 ).

En ”iso8859-2” con la página del manual de iso_8859-2 (man iso_8859-2 ).

Resultado

Dependiendo de la codificación establecida para la correspondiente cola de im-presión, el resultado impreso del texto ASCII (así p. ej.el resultado impreso delfichero ejemplo ) será parecido a estos casos. El resultado impreso de documen-tos generados con sistemas de tratamiento de textos no suele depender de esto,ya que estos sistemas de tratamiento de textos proporcionan la tarea de impre-sión en PostScript y no en texto ASCII.

Al imprimir el fichero ejemplo , el resultado vendrá codificado según la codifi-cación de texto ASCII utilizada en el sistema de impresión.

Con a2ps se puede cambiar el fichero ejemplo a PostScript y así establecer lacodificación individualmente:

tux@tierra:~ > a2ps -1 -X ISO-8859-1 \-o example-ISO-8859-1.ps ejemplo

tux@tierra:~ > a2ps -1 -X ISO-8859-15 \-o example-ISO-8859-15.ps ejemplo

tux@tierra:~ > a2ps -1 -X ISO-8859-2 \-o example-ISO-8859-2.ps ejemplo

Al imprimir los ficheros PostScript example-ISO-8859-1.ps ,example-ISO-8859-15.ps y example-ISO-8859-2.ps , obtendrá el re-sultado en la codificación establecida para a2ps .

Imprimir en una red TCP/IP

Puede encontrar información más detallada sobre el gestor de impresión enLPRng-Howto enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html

Respecto a CUPS, véase CUPS Software Administrators Manual en

223SuSE Linux – Manual de Administración

Page 242: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

file:/usr/share/doc/packages/cups/sam.html

Aclaración de términos

Servidor de impresión Por ”servidor de impresión” se entenderá sólo un orde-nador completo con tiempo de CPU y capacidad de memoria suficientes.

224 Imprimir en una red TCP/IP

Page 243: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Printserver-box o impresoras de red

Un servidor de impresión dedicado (ingl. printserver-box) es un pequeñoaparato compuesto por dos conexiones: una para la red TCP/IP yotra local para la impresora. También hay ”enrutadores dedicados”(ingl. ()router-box), disponibles para trabajar con una impresora me-diante una conexión local. .

Una impresora de red tiene una conexión propia a la red TCP/IP, queen última instancia es una impresora que ha incorporado un servidorde impresión dedicado. Se trabaja de la misma forma con servidoresde impresión dedicados que con impresoras de red.

Existe una diferencia importante entre una impresora de red o un servidorde impresión dedicado por un lado y un verdadero servidor de impresiónpor otro lado. Asimismo hay impresoras grandes con las que se sumin-istra un ordenador que hace las funciones de servidor de impresión paraimprimir en la red. Pero en este caso, las tareas de impresión no se envíana las impresoras, sino al servidor de impresión que las acompaña.

Servidor LPD Un ”servidor LPD” es un servidor de impresión al que se puedeacceder a través del protocolo LPD. Éste es el caso cuando en el servidorde impresión funciona el sistema de impresión LPRng/lpdfilter (o másexactamente lpd), o bien el sistema de impresión CUPS configurado de talforma que el ordenador responda al protocolo LPD.

Servidor IPP servidor CUPS Un ”servidor IPP” o ”servidor CUPS” es unservidor de impresión al que puede accederse por medio del protocoloIPP. Éste es el caso cuando en el servidor de impresión funciona el sistemade impresión CUPS (o más exactamente cupsd).

Servidor de red CUPS Denominamos ”servidor de red CUPS” a un servidorCUPS configurado de tal forma que comunique vía broadcast UDP (através del puerto UDP 631) sus colas de impresión a otros ordenadoresen la red.

Configuración rápida de un cliente

Generalmente, un cliente en la red no dispone de una impresora conectada lo-calmente, sino que los trabajos de impresión son enviados por el cliente a unservidor de impresión.

En caso de tener un servidor de impresión además de una impresora conectadalocalmente al cliente, deberá configurar no sólo el cliente sino también la impre-sora conectada localmente.

225SuSE Linux – Manual de Administración

Page 244: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

En el cliente se ha de seleccionar un sistema de impresión adecuado al que exis-te en el servidor de impresión.

Configuración con un servidor LPD

Si en la red no existe ningún servidor de red CUPS sino tan sólo un servidorLPD, debe utilizar el sistema de impresión LPRng/lpdfilter en el cliente. No esnecesario configurar el cliente de manera adicional, ya que con el spooler LPRngse puede acceder directamente a colas de impresión remotas con el comando lpr.Véase la sección Herramientas de línea de comandos para LPRng en la página 180.

El único requisito es que el servidor LPD esté configurado de forma que elcliente pueda imprimir en su cola de impresión.

Para imprimir desde aplicaciones, introduzca como comando de impresión:

tux@tierra:~ > lpr -P 〈colaimpresión 〉@〈servidorimpresión 〉

Es decir, como en el apartado Para colas de impresión remotas en la página 182pero sin especificar ningún fichero.

Algunos programas están ya preconfigurados para CUPS y su configuraciónha de modificarse para LPRng. Especialmente en el caso de KDE y su progra-ma de impresión kprinter ha de seleccionarse la opción ‘Imprime a través de unprograma externo’. En caso contrario no será posible introducir el comando deimpresión mencionado arriba.

Los métodos por comando de impresión e ‘Imprime a través de un programaexterno’ no se limitan a LPRng, sino que funcionan también para CUPS. En elcaso de CUPS, el comando de impresión que debe introducirse es

tux@tierra:~ > lp -d 〈colaimpresión 〉 -h 〈servidorimpresión 〉

Como se describe en el apartado Herramientas de línea de comandos para sistemasde impresión CUPS en la página 205, pero sin introducir un fichero.

Configuración con un servidor de red CUPS

Si el servidor de impresión es un servidor de red CUPS, la configuración de im-presora de YaST2 le permite elegir entre las siguientes posibilidades:

CUPS como servidor (por defecto en la instalación estándar) Si no existeninguna impresora conectada localmente, no se ha configurado ningu-na cola local con YaST2. En este caso, cupsd no se inicia automáticamente.Para iniciar cupsd tiene que activar el servicio ‘cups’ (normalmente paralos niveles de ejecución 3 y 5).

226 Imprimir en una red TCP/IP

Page 245: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

No es necesario configurar el cliente de manera adicional, ya que un servi-dor de red CUPS comunica periódicamente sus colas a todos los orde-nadores de la red por medio de un broadcast. De esta forma, las colas delservidor de red CUPS estarán disponibles automáticamente en el clienteen muy poco tiempo.

Como único requisito, el servidor de red CUPS ha de estar configuradode tal forma que la función de broadcast esté activada, que se utilice unadirección broadcast adaptada al cliente y que el cliente esté autorizado aimprimir en las colas del servidor de red CUPS.

CUPS exclusivamente como cliente Para imprimir en las colas de impresióndel servidor de red CUPS, es suficiente con que CUPS funcione sólo comocliente. Para ello basta con introducir el nombre del servidor de red CUPSen la configuración de impresión ”client-only” de YaST2.

En este caso, en el cliente no funciona ningún cupsd y no existe por tantoel fichero /etc/printcap. Sin embargo, los programas que no son compati-bles con CUPS ofrecen sólo las colas incluidas en el fichero /etc/printcaplocal. En este caso se recomienda que, cuando CUPS funcione como servi-dor, el cupsd local cree automáticamente un fichero /etc/printcap con elnombre de las colas del servidor de red CUPS.

Protocolos para imprimir en una red TCP/IP

A continuación presentamos las distintas posibilidades de impresión en una redTCP/IP, las cuales no dependen tanto del hardware como del protocolo utiliza-do. Por eso en la configuración con YaST2 se pregunta por el protocolo y no porel hardware.

Imprimir vía protocolo LPDEn este caso se envía la tarea de impresión vía protocolo LPD a una colade impresión remota. Para que esto sea posible, tanto el remitente como eldestinatario deben utilizar el protocolo LPD.

227SuSE Linux – Manual de Administración

Page 246: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Remitente

LPRngLPRng soporta el protocolo LPD mediante lpd. Para ello se nece-sita una cola de impresión local mediante la cual el lpd localreenvía la tarea de impresión a una cola remota utilizando elprotocolo LPD.Con LPRng también se puede hacer sin lpd local. El programalpr del paquete paquete lprng puede reenviar la tarea de im-presión directamente a una cola remota utilizando el protocoloLPD.

CUPSCUPS soporta el protocolo LPD sólo a través del daemon cupsd.Para ello se necesita una cola de impresión local mediante lacual el cupsd local reenvía la tarea de impresión a la cola remotautilizando el protocolo LPD.

Destinatario

Servidor de impresiónLa impresora está conectada localmente a un servidor de impre-sión con el que es posible comunicarse utilizando el protocoloLPD.

Impresora de red o servidor de impresión dedicadoDebe ser posible comunicarse con el servidor de impresión dedi-cado (ingl. ()printserver-box) o la impresora de red utilizando elprotocolo LPD, lo que suele ser normal.

Imprimir vía protocolo IPPAquí se envía la tarea de impresión vía protocolo IPP a una cola de impre-sión remota. Para ello tanto remitente como destinatario deben soportareste tipo de protocolo.

Remitente

LPRngLPRng aún no soporta el protocolo IPP.

CUPSCUPS soporta el protocolo IPP a través de cupsd. Para ello senecesita una cola de impresión local mediante la cual el lpd lo-cal reenvía la tarea de impresión a la cola remota utilizando elprotocolo IPP.Con CUPS también funciona sin cupsd local. El programa lpdel paquete cups-client o el programa xpp o el programa de

228 Imprimir en una red TCP/IP

Page 247: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

KDE kprinter pueden reenviar directamente tareas de im-presión a una cola remota utilizando el protocolo IPP.

Destinatario

Servidor de impresiónLa impresora está conectada localmente a un servidor de impre-sión con el que es posible comunicarse utilizando el protocoloIPP.

Impresora de red o servidor de impresión dedicadoDebe ser posible comunicarse con el servidor de impresión dedi-cado (ingl. ()printserver-box) o la impresora de red utilizando elprotocolo IPP, lo que sólo ocurre en algunas máquinas actuales.

Imprimir directamente vía socket TCPAquí no se envía ninguna tarea de impresión a una cola de impresión re-mota, ya que no existe ningún protocolo (LPD o IPP) que pueda trabajartanto con tareas como con colas de impresión. En vez de esto se envíandatos específicos de la impresora a un puerto TCP remoto utilizando elsocket TCP. Debe estar soportado tanto por el remitente como por el desti-natario.

Remitente

LPRng/lpdfilterLPRng soporta la impresión directamente vía socket TCP me-diante lpd. Para ello se necesita una cola de impresión localmediante la cual el lpd local pueda convertir la tarea de impre-sión a datos específicos de la impresora con lpdfilter; tras lo cualenvía estos datos al puerto TCP remoto utilizando para ello elsocket TCP.Con LPRng también funciona sin lpd local. El programa lpr delpaquete paquete lprng puede enviar los datos de la tarea deimpresión al puerto TCP remoto vía socket TCP utilizando laopción -Y . Véase página del manual de lpr (man lpr ). Puestoque esto ocurre sin filtros de impresión intermedios, la tarea deimpresión ya debe contener los datos específicos de la impreso-ra.

CUPSCUPS soporta la impresión directa vía socket TCP sólo concupsd. Para ello se necesita una cola de impresión local, me-diante la cual el cupsd local convierte la tarea de impresión adatos específicos de la impresora; tras lo cual envía estos datosal puerto TCP remoto via socket TCP.

229SuSE Linux – Manual de Administración

Page 248: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Destinatario

Impresora de red o servidor de impresión dedicadoEl servidor de impresión dedicado (ingl. ()printserver-box) ola impresora de red disponen normalmente de un puerto TCPabierto mediante el cual se pueden enviar directamente losdatos específicos a la impresora, que de esta forma también lospuede imprimir directamente.Con impresoras de red HP o servidores de impresión dedicadosHP JetDirect, este suele ser el puerto 9100, o con servidores deimpresión dedicados JetDirect con dos o tres conexiones paraimpresoras suele ser los puertos 9100, 9101 y 9102. Estos puertostambién son utilizados por muchos otros servidores de impre-sión dedicados. Consulte el manual de servidores de impresióndedicados y, en caso de duda, pregunte al fabricante del servi-dor o de la impresora de red qué puerto utiliza la impresorapara comunicarse. Puede encontrar más información en LPRng-Howto defile:/usr/share/doc/packages/lprng/LPRng-HOWTO.htmly especialmente enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#SECNETWORKfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#SOCKETAPIfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#AEN4858

Imprimir vía protocolo SMBAquí se envía una tarea de impresión, que ya contenga datos específicosde la impresora, a un ”share” remoto asignado a una impresora remo-ta utilizando el protocolo SMB. Tanto el remitente como el destinatariodeben soportar el protocolo SMB. Ni LPRng ni CUPS soportan directa-mente el protocolo SMB. Pero el sistema LPRng/lpdfilter utiliza smbclienty CUPS usa smbspool (ambos del paquete paquete samba-client , quepermiten a estos sistemas de impresión soportar el protocolo SMB indirec-tamente.

Remitente

LPRng/lpdfilterLPRng soporta el protocolo SMB mediante lpdfiler. Para ello senecesita una cola de impresión local mediante la cual el lpd localconvierte la tarea de impresión con lpdfilter en datos específicos

230 Imprimir en una red TCP/IP

Page 249: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

de la impresora; tras lo cual lpdfilter, con ayuda de smbclient,envía estos datos al share remoto utilizando el protocolo SMB.

CUPSPara ello se necesita una cola de impresión local mediante lacual el cupsd local convierte la tarea de impresión en datos es-pecíficos de la impresora; tras lo cual estos datos se envían conayuda de smbspool al share remoto utilizando el protocolo SMB.

Destinatario

Servidor de impresión SMBLa impresora está conectada a un servidor de impresión SMB.Este tipo de servidor suele ser un ordenador DOS/Windows,aunque también puede tratarse de un servidor Samba de Linux.Es posible comunicarse con el servidor de impresión SMB uti-lizando el protocolo SMB. Allí está libre el acceso a la impresora(el acceso al share correspondiente a esa impresora).

Filtros al imprimir en la red

A continuación se exponen las distintas posibilidades de filtros al imprimir en lared. En un determinado punto de la cadena el fichero de salida debe ser conver-tido a un formato que la impresora pueda imprimir, o sea, a un formato que laimpresora entienda (PostScript, PCL, ESC/P).

La conversión se realiza por medio de filtros de impresión que sólo funcionanen un ordenador que tenga la cantidad de memoria y el rendimiento necesarios.Si los datos específicos de la impresora se generan con Ghostscript para impre-soras que no soportan PostScript, se necesitará ante todo un alto rendimientodel ordenador para impresiones con calidad fotográfica o con una alta resolu-ción de color.

Las impresoras de red y los servidores de impresión dedicados no suelen dis-poner de un filtro de impresión, por lo que suele ser necesario un servidor deimpresión.

Si se utiliza una impresora PostScript se puede renunciar a un servidor de im-presión. Las impresoras PostScript a menudo pueden distinguir automática-mente entre texto ASCII y PostScript, e imprimir ambos. Con signos específi-cos de país en textos ASCII, se debe configurar en la impresora la codificaciónde signos adecuada. Antes con ( a2ps) se debe haber convertido el texto ASCIIa PostScript con la codificación de signos adecuada. Véase a este respecto elapartado Codificación de texto ASCII en la página 221. Puesto que las aplicacionessuelen ofrecer texto ASCII o PostScript para imprimir, en este caso no es del to-do necesario un servidor de impresión, si sólo se imprime ocasionalmente.

231SuSE Linux – Manual de Administración

Page 250: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Cuando se trata de impresiones que requieren una alta resolución o calidad fi-nal, no basta con una impresora de red o un servidor de impresión dedicado. Eneste caso se necesita un servidor de impresión con suficiente cantidad de memo-ria disponible para poder almacenar las tareas de impresión.

Requisitos

La impresora debe estar soportada por SuSE Linux, ya que el filtro genera losdatos específicos de la impresora de la misma forma que para una impresoralocal; véase la sección Configuración manual de puertos locales en la página 170.

Aclaración de términos

El ”cliente” es el ordenador que genera la tarea de impresión.

”Servidor de impresión dedicado” indica tanto una impresora de red co-mo un servidor de impresión dedicado propiamente dicho, ya que conambos se puede trabajar de la misma forma.

Un ”servidor de impresión” es un ordenador central al que todos losclientes envían las tareas de impresión. El servidor de impresión redirigelos datos a las impresoras locales conectadas o a los servidores de impre-sión dedicados vía red TCP/IP.

Por ”cola de reenvío” (ingl. forward) se entiende una cola de impresiónque no filtra tareas de impresión, sino que las reenvía a una cola remota.

”Filtro” indica en general una cola de impresión que filtra tareas de impre-sión

”Prefiltro” es una cola de impresión que filtra tareas de impresión y cuyoresultado se envía a una cola de reenvío del mismo ordenador.

”Filtro+Reenvío” es una cola de impresión que filtra las tareas de impre-sión y reenvía el resultado a una cola de impresión remota.

”Filtro+Puerto” indica una cola de impresión que filtra tareas de impre-sión y reenvía el resultado a un puerto TCP remoto.

Se utilizan los términos ”LPD”, ”IPP” y ”SMB” para indicar el protocoloutilizado.

232 Imprimir en una red TCP/IP

Page 251: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Posibles filtros para imprimir en la red

Servidor de impresión dedicado con filtro en el clienteYa que el filtrado se realiza en el cliente, este también debe disponer de uncompleto sistema de impresión, ya sea LPRng/lpdfilter o CUPS.

El cliente utiliza el protocolo LPD (LPRng y CUPS)

Primero prefiltro y después reenvío (ingl. ()forward) (sólo LPRng)

Este es un método clásico con dos colas de impresión en elcliente: una para filtrar y otra para reenviar.1. Cliente: Se convierte la tarea de impresión a datos de impre-

sión (prefiltro) y se entrega como nueva tarea a la cola dereenvío.

2. Cliente: La cola de reenvío dirige la tarea de impresión alservidor de impresión dedicado (reenvío LPD)

3. Servidor de impresión dedicado LPD: Envía los datos deimpresión a la impresora

Filtro+Reenvío (LPRng y CUPS) Aquí tanto el filtro como el reen-vío se realizan en una sola cola de impresión. En LPRng esto sedescribe como ”lpr-bounce” o ”lpd-bounce”.1. Cliente: Se convierte la tarea de impresión a datos de im-

presión y se reenvía al servidor de impresión dedicado (Fil-tro+LPD+Reenvío)

2. Servidor de impresión dedicado LPD: Enviar datos de im-presión a la impresora

El cliente utiliza el protocolo IPP (sólo CUPS)

Filtro+Reenvío (sólo CUPS)1. Cliente: Se convierte la tarea de impresión a datos de im-

presión y se envía al servidor de impresión dedicado(Filtro+IPP-Reenvío)

2. Servidor de impresión dedicado IPP: Se envían los datos deimpresión a la impresora

El cliente utiliza un socket TCP (LPRng y CUPS)

Filtro+Puerto (LPRng y CUPS)1. Cliente: Se convierte la tarea de impresión a datos de im-

presión y se envía al servidor de impresión dedicado (Fil-tro+Puerto)

2. Servidor de impresión dedicado: Se envían los datos de im-presión a la impresora

233SuSE Linux – Manual de Administración

Page 252: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Servidor de impresión dedicado con filtro en el servidor de impresiónYa que el filtrado se realiza en el servidor de impresión, este tambiéndebe disponer de un completo sistema de impresión con daemon, ya seaLPRng/lpdfilter o CUPS.

Si las tareas de impresión en el cliente se envían directamente al servidorde impresión con los comandos lpr (para LPRng) o los comandos lp oxpp o kprinter (para CUPS) y, ya que el filtrado se realiza en el servidorde impresión, no es totalmente necesario disponer de un completo sistemade impresión en el cliente. En este caso se requiere que el servidor de im-presión soporte el protocolo que el cliente utiliza (LPD o IPP).

Después de que el servidor de impresión reciba una tarea de impresión,éste lo transforma tal y como se explica para el cliente en la sección Servi-dor de impresión dedicado con filtro en el cliente.

El cliente puede enviar la tarea de impresión al servidor de impresiónmediante un protocolo distinto al que este último utiliza para enviar losdatos de impresión al servidor de impresión dedicado.

El cliente utiliza el protocolo LPD (sólo LPRng)

Directamente (sólo LPRng)

1. Cliente: Se envía la tarea de impresión al servidor de impre-sión (comando lpr )

2. Servidor de impresión LPD: Se convierte la tarea de impre-sión a datos de impresión y estos se envían al servidor deimpresión dedicado

Reenvío (sólo LPRng)

1. Cliente: Se envía la tarea de impresión al servidor de impre-sión (Reenvío LPD)

2. Servidor de impresión LPD: Se convierte la tarea de impre-sión a datos de impresión y estos se envían al servidor deimpresión dedicado

El cliente utiliza el protocolo IPP (sólo CUPS)

Directamente (sólo CUPS)1. Cliente: Se envía la tarea de impresión al servidor de impre-

sión (comandos lp o xpp o kprinter )2. Servidor de impresión IPP: La tarea de impresión se con-

vierte a datos de impresión y estos se envían al servidor deimpresión dedicado

234 Imprimir en una red TCP/IP

Page 253: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Imprimir en un servidor de impresión con filtro en el servidor de impresiónSi la impresora está directamente conectada al servidor de impresión, elproceso es igual que el descrito en Servidor de impresión dedicado con filtroen el servidor de impresión (véase pág. 233), sólo que en vez de ”enviar losdatos a un servidor de impresión dedicado” ahora ”se envían a una im-presora”.

Imprimir en un servidor de impresión con filtro en el clienteEsto no suele tener sentido para un servidor de impresión LPD o IPP. Paraello debería haber en cada cliente un completo sistema de impresión con-figurado; una configuración como la que se describe en la sección Imprimiren un servidor de impresión con filtro en el servidor de impresión debería bastar.

Servidor de impresión SMB con filtro en el clienteEl filtrado no está previsto en un servidor de impresión SMB. En este sen-tido se puede comparar este servidor de impresión SMB con un servidorde impresión dedicado.

El cliente utiliza el protocolo SMB (LPRng y CUPS)

Filtro+SMB-Reenvío (LPRng y CUPS)1. Cliente: Se convierte la tarea de impresión en datos de

impresión y se envían al servidor de impresión SMB(Filtro+SMB-Reenvío)

2. Servidor de impresión SMB: Se envían los datos de impre-sión a la impresora

Resolución de problemas

Red TCP/IPLa red TCP/IP, resolución de nombres incluida, debe funcionar adecuada-mente (véase Fundamentos de conexión a redes en la página 373).

235SuSE Linux – Manual de Administración

Page 254: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Comprobar la configuración del filtroConecte la impresora directamente al primer puerto paralelo del orde-nador, configurándola como impresora local para evitar posibles proble-mas con la red. Una vez que la impresora funciona localmente ya conoceel controlador de Ghostscript y los demás parámetros para la configura-ción del filtro.

Comprobar el lpd remotoCon

tierra:~ # netcat -z host 515 && echo ok || echo failed

puede comprobar si es posible una conexión TCP a lpd (puerto 515) en elordenador host . Si no lo es, o bien no funciona el lpd, o existen proble-mas importantes en la red.

Al ejecutar

tierra:~ # echo -e "\004queue" | netcat -w 2 -p 722 host515

como usuario root se puede solicitar un informe (que puede llegar a sermuy largo) sobre el estado de la cola de impresión queue en un orde-nador (remoto) host , siempre que el lpd remoto esté funcionando y seaaccesible. Si no se recibe respuesta del lpd puede que no funcione el lpdo que haya problemas importantes en la red. Si hay respuesta del lpd es-ta debería aclarar por qué no se puede imprimir a la cola de impresiónqueue del ordenador host – Ejemplos:

lpd: your host does not have line printer accesslpd: queue does not existprinter: spooling disabledprinter: printing disabled

Mensaje en pantalla 12: Mensaje de error del lpd

Si se recibe tal respuesta del lpd, se trata de un problema del lpd remoto.

Comprobar un cupsd remotoCon

tierra:~ # netcat -u -l -p 631 & PID=$! ; sleep 40 ; kill \$PID

se puede comprobar si en la red existe un servidor de red CUPS, ya queéste debería anunciar su cola de impresión por broadcast a través del

236 Imprimir en una red TCP/IP

Page 255: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

puerto UDP 631 cada 30 segundos. Después de 40 segundos de espera ysi el servidor de red CUPS realiza el broadcast, se producirá una salidasemejante a ésta:

... ipp://nombre-servidor.Domain:631/printers/coladeimpresión

Mensaje en pantalla 13: broadcast del servidor de red CUPS

Con

tierra:~ # netcat -z host 631 && echo ok || echo failed

es posible comprobar si es posible establecer una conexión TCP al cupsd(puerto 631) del ordenador host . Si no lo es, o no funciona el cupsd oexisten problemas importantes en la red.

Con

tierra:~ # lpstat -h host -l -t

se puede solicitar un informe (que a veces puede llegar a ser muy largo)del estado de todas las colas de impresión del ordenador host , siempreque haya un cupsd en funcionamiento y que sea posible conectarse con él.

Con

tierra:~ # echo -en "\r" | lp -d queue -h host

se puede comprobar si la cola de impresión queue del ordenador hostacepta una tarea de impresión compuesta de un único signo de retornode carro. Es decir, es sólo una prueba y no debería imprimirse nada, y siocurre, entonces sólo una hoja en blanco.

Comprobar un servidor SMB remotoSe puede comprobar con el siguiente comando

tierra:~ # echo -en "\r" \| smbclient ’//HOST/SHARE’ ’PASSWORD’ \-c ’print -’ -N -U ’USER’ \&& echo ok || echo failed

El comando se debe introducir en una sola línea sin la barra inversa (in-gl. backslash). Introduzca en HOST el nombre del ordenador del servidorSamba, en SHARE el nombre de la cola de impresión remota ( el nombredel share Samba); en PASSWORD la contraseña y en USER el nombre de

237SuSE Linux – Manual de Administración

Page 256: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

usuario. Sólo se comprueba y no debería imprimirse nada, y si ocurre, en-tonces sólo una hoja en blanco.

Con

tierra:~ # smbclient -N -L host

se muestran los tres shares disponibles en el ordenador host ; véase pági-na del manual de smbclient (man smbclient ).

La impresora de red o el servidor de impresión dedicado no son fiablesA veces hay problemas con el gestor (ingl. ()spooler) de impresión quese 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 ta-reas de impresión simultáneas). Puesto que es un problema del gestor enel servidor de impresión dedicado o en la impresora de red, no se puedehacer nada.

Sin embargo, existe un procedimiento que puede mejorar la situación yque consiste en comunicarse directamente con el servidor de impresióndedicado conectado a la impresora.

De esta forma el servidor de impresión dedicado sólo funciona como in-termediario entre las distintas formas de tráfico de datos (red TCP/IP yconexión local a la impresora). Así la impresora conectada al servidor deimpresión dedicado se comporta como una impresora local. Asimismo seconsigue un control más directo sobre la impresora, tal y como si el gestorestuviera funcionando.

Para esto debe conocer el puerto TCP correspondiente del servidor deimpresión dedicado.

Con la impresora encendida y conectada al servidor de impresión dedi-cado, este puerto TCP se puede averiguar normalmente con el programanmap del paquete ( nmap) un poco después de haber arrancado el servi-dor de impresión dedicado.

Este es el ejemplo de un resultado de ( nmap) con un servidor de impre-sión dedicado:

Port State Service23/tcp open telnet80/tcp open http515/tcp open printer631/tcp open cups9100/tcp open jetdirect

238 Imprimir en una red TCP/IP

Page 257: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

7Im

pre

sora

s

Es posible anunciarse en el servidor de impresión dedicado via( telnet). Allí puede solicitar información básica y realizar configu-raciones básicas.

Vía HTTP es posible comunicarse con un servidor web que esté enfuncionamiento en el servidor de impresión dedicado. Este normal-mente proporciona información detallada con la que se puede re-alizar configuraciones detalladas.

Es posible comunicarse con el gestor de impresión que está en fun-cionamiento en el servidor de impresión dedicado a través del puer-to 515 y utilizando el protocolo LPD.

Es posible comunicarse con el gestor de impresión que está en fun-cionamiento en el servidor de impresión dedicado a través del puer-to 631 y utilizando el protocolo IPP.

Es posible comunicarse con la impresora conectada al servidor deimpresión dedicado a través del puerto 9100 y utilizando un socketTCP.

Servidor de impresión LPD y IPP

Sólo con CUPS

Por lo general un servidor CUPS sólo soporta el protocolo IPP. Pero el progra-ma /usr/lib/cups/daemon/cups-lpd del paquete cups hace posible queun servidor CUPS pueda aceptar tareas de impresión, que le han sido enviadasal puerto 515 mediante el protocolo LPD. Para ello se debe activar el serviciocorrespondiente para inetd ; con YaST2 o manualmente activando la línea cor-respondiente en el fichero /etc/inetd.conf .

LPRng/lpdfilter y CUPS

Puede ocurrir que desee ejecutar ambos sistemas de impresión LPRng/lpdfiltery CUPS en el mismo ordenador, ya sea por ampliar un servidor de impre-sión LPD con CUPS, o porque en algunos casos sea necesario el sistemaLPRng/lpdfilter.

Lo normal es que haya dificultades cuando los dos sistemas se ejecutan en elmismo ordenador. Aquí se expondrá brevemente los problemas y limitacionesque puedan ocurrir. Pero este tema es demasiado complejo como para presentaruna solución.

239SuSE Linux – Manual de Administración

Page 258: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Según cada caso particular existen distintas posibilidades. Le ayudamos gus-tosamente en el marco de nuestros servicios SuSEhttp://www.suse.de/es/business/services/index.html

La configuración de la impresora no se debe realizar con YaST2 ya que laconfiguración de YaST2 no se dispuso para estos casos.

Los paquetes lprng y cups-client provocan conflictos entre ellos,porque contienen ficheros con el mismo nombre p. ej./usr/bin/lpr y/usr/bin/lp . Por eso el paquete cups-client no debe estar instalado. Laconsecuencia es que no hay herramientas CUPS de línea de comandosdisponibles, sino sólo para LPRng. Sin embargo, se puede imprimir desdeinterfaz gráfica con xpp o kprinter en colas de impresión CUPS, así comodesde todas las aplicaciones que soportan CUPS directamente.

Por lo general, al arrancar, cupsd vuelve a crear el fichero /etc/printcap , que sólo contiene los nombres de todas las colas de impre-sión CUPS. Esto ocurre por razones de compatibilidad, ya que muchasaplicaciones leen las colas de impresión de /etc/printcap , con elobjetivo de poder ofrecerlas en el menú de impresión. Este servicio de/etc/printcap debe estar desactivado para cupsd, y así estar sólodisponible para LPRng/lpdfilter. La consecuencia es que las aplicacionesque sólo utilizan los nombres de colas de impresión que se encuentran en/etc/printcap , sólo mostrarán las colas locales, pero no las colas CUPSdisponibles en la red.

240 Imprimir en una red TCP/IP

Page 259: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

8H

otp

lugHotplug

Con el transcurso del tiempo se han comenzado a usar componentes de hard-ware que se pueden conectar y desconectar mientras el ordenador está en fun-cionamiento. Junto con USB, un ejemplo conocido, se encuentran también PCI,PCMCIA, Firewire, SCSI y otras conexiones.

Los sistemas hotplug reconocen nuevo hardware añadido con el fin de config-urarlo automáticamente y hacerlo disponible. Asimismo, se debe preparar a loscomponentes extraíbles para esta extracción o volver a dejar libres los recursos,en caso de que se retiren los componentes sin previo aviso.

Hotplug en Linux . . . . . . . . . . . . . . . . . . . . . . . 242Arrancar Hotplug y Coldplug . . . . . . . . . . . . . . . . . 242USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243PCI y PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . 244Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Otros dispositivos y el desarrollo posterior . . . . . . . . . 246

Page 260: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Hotplug en Linux

Es habitual que las partes de un sistema denominadas daemon controlen suce-sos externos; por ello p. ej. inetd controla las solicitudes de la red. El daemonen hotplug es el mismo kernel. Para ello el driver de un bus debe ser capaz dereconocer nuevos dispositivos y comunicar su presencia al sistema de manerauniforme. En el kernel 2.4 esto lo puede hacer USB, PCMCIA, Firewire, PCI par-cialmente y el subsistema de red. Esta parte de hotplug está integrada en losmódulos correspondientes y no se puede tocar sin realizar cambios en el kernel.

AtenciónHotplug sólo maneja dispositivos PCMCIA si se trata de tarjetas CardBusy se elige el kernel del sistema PCMCIA, por lo que aparecerán comodispositivos PCI. Más información en la sección sobre PCMCIA.

Atención

La segunda parte de hotplug nos guía por los pasos necesarios para insertar odesconectar dispositivos, y consiste en una serie de scripts que se encuentran enel directorio /etc/hotplug junto con el script principal /sbin/hotplug . Estescript es el punto de conexión entre el kernel y la serie de scripts de hotplug.A lo largo de este capítulo designaremos a estos scripts como ”sistema hotplug”.

Cuando se inserta o extrae un dispositivo hotplug, el kernel llama al script/sbin/hotplug y le da información adicional sobre los correspondientes com-ponentes de hardware. Este script divide el trabajo, según el tipo de hardware,en más scripts, los cuales cargan o descargan el módulo del kernel y llaman a suvez a otros programas para la configuración de los componentes. Los programasestán en /etc/hotplug y siempre acaban con .agent .

Arrancar Hotplug y Coldplug

A pesar de que el kernel siempre envía los sucesos de hotplug a /sbin/hotplug , el sistema hotplug primero debe ser arrancado con el comandorchotplug start . Mientras no se arranque hotplug, se desecharán todos lossucesos correspondientes.

Además hay componentes reconocidos por el kernel incluso antes de que seaposible el acceso al sistema de ficheros. Estos acontecimientos se pierden sinmás. Por tanto en los scripts /etc/hotplug/*.rc se intenta crear de forma ar-tificial los acontecimientos correspondientes al hardware que ya está disponible.Aquí es donde también se habla de ”Coldplug”.

242 Hotplug en Linux

Page 261: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

8H

otp

lug

Si llegados a este punto aún no se ha cargado el módulo base USB, estos se car-garán y se colgará el sistema de dispositivos USB (usbdevfs ).

Si se para hotplug con rchotplug stop , no se analizará ningún otro suceso.Si no piensa cambiar el hardware de su sistema mientras trabaje con él, puededesactivar hotplug con toda tranquilidad. Sin embargo se debe configurar dis-positivos USB y PCMCIA de otra forma.

En el directorio /etc/sysconfig/hotplug hay algunas variablesque controlan el comportamiento de hotplug. Así, p. ej. con la variable〈HOTPLUG_DEBUG〉 se puede modificar la ”comunicabilidad” de hot-plug. Las variables 〈HOTPLUG_START_USB〉, 〈HOTPLUG_START_PCI〉 y〈HOTPLUG_START_NET〉 pueden fijarse para que sólo manejen acontecimien-tos de un tipo determinado. Todas las demás variables aparecen en la seccióncorrespondiente.

Todos los mensajes de hotplug quedan registrados en el fichero (/var/log/messages ) (log del sistema).

USB

Si ha insertado un dispositivo USB, el script /etc/hotplug/usb.agent pro-porciona un driver adecuado y se asegura de que se cargue. Este driver no tienepor qué ser un módulo del kernel, y así es como muchas cámaras USB se comu-nican directamente con la aplicación correspondiente.

La asignación de drivers al hardware sucede en varias etapas. En la primeraetapa se comprueba en el fichero /etc/hotplug/usb.usermap si existe unaaplicación o un script de inicialización especial que se haga cargo del hard-ware. En caso de que no, se busca en /etc/hotplug/usb.handmap unaposible asignación a un módulo del kernel. Si tampoco se encuentra nada al-lí, (lo que sucede en la mayor parte de los casos) se acude a la tabla de asig-nación del kernel /lib/modules/ 〈versiónkernel〉/modules.usbmap . Aquíse realiza un nuevo escaneo del hardware USB, que desencadena nuevas ac-ciones al utilizarse KDS como interfaz gráfica. p. ej. a los dispositivos que seutilizan por primera vez, se les ofrece un módulo propio YaST para la confi-guración, o se arrancan determinadas aplicaciones para el uso de este disposi-tivo. Este mecanismo funciona paralelamente a otras acciones desencadenas por/etc/hotplug/usb.agent .

usb.agent se encarga de manejar los dispositivos USB dependiendo del tipo:

Dispositivos de almacenamiento como p. ej. discos duros, manejados por elscript path/usr/sbin/checkhotmounts, una vez cargado el driver adecua-do.

243SuSE Linux – Manual de Administración

Page 262: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Dispositivos de red desencadenan un acontecimiento hotplug en el kernel,tras haber sido dados de alta. usb.agent tan sólo deja información delhardware, que el tráfico de la red utilizará más tarde. Se trata de una solu-ción pasajera para el kernel 2.4 que no funciona cuando se utilizan más deun dispositivo de red USB, lo cual no suele ocurrir.

Cámaras la comunicación con ellas se produce a través del mecanismoKDE/escaneo de hardware. Para ello aún se fijan los permisos de ac-ceso a los ficheros del dispositivo de un usuario dado de alta mediante/etc/hotplug/usb/usbcam , para que este pueda acceder con KDE.

Mouse sólo necesitan un módulo cargado para comenzar a utilizarlos inmedia-tamente.

Teclado ya son necesarios en el arranque por lo que hotplug no se encarga deellos.

ISDN/Módem en la actualidad aún no se configura automáticamente.

Aún hay algunas variables específicas USB en /etc/sysconfig/hotplug . En〈HOTPLUG_USB_HOSTCONTROLLER_LIST〉 se encuentran los drivers para lacontroladora USB en el orden en que se intenta cargarlos. Si se carga un driveradecuadamente, se introducen en 〈HOTPLUG_USB_MODULES_TO_UNLOAD〉los módulos que se deberán descargar al extraer los componentes. No sedescargará toda la sucesión de módulos USB porque no es posible deter-minar con exactitud si algún otro dispositivo los necesitará. La variable〈HOTPLUG_USB_NET_MODULES〉 contiene los nombres de los módulosdisponibles en una interfaz de red. En cuanto se cargue uno de estos módulos,se elaborará una descripción del hardware que será utilizada más tarde por eltráfico de la red. Este procedimiento quedará registrado en el log del sistema.

PCI y PCMCIA

Se debe diferenciar entre tarjetas PCMCIA, ya que a excepción de las tarjetasCardBus, hotplug no se encarga de tarjetas PC; y de aquellas solamente cuandoel sistema PCMCIA del kernel está activo. Este estado de cosas se explica conmás detalle en la sección de software (xxPCMCIA-SOFTWARExx) del capítuloPCMCIA.

Las tarjetas CardBus son, desde el punto de vista técnico, dispositivos PCI.Por ello, de ambas se encarga el mismo script hotplug /etc/hotplug/pci.agent . Allí, se facilitará y cargará un driver para la tarjeta. Además se dará

244 PCI y PCMCIA

Page 263: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

8H

otp

lug

la información sobre el lugar en el que se ha insertado la nueva tarjeta (PCI-Bus/PCMCIA-Slots y el número de slot), para que el posterior tráfico de redhotplug lea esta información y escoja la configuración correcta.

La asignación de drivers tiene dos etapas. Primero se busca en el fichero /etc/hotplug/pci.handmap configuraciones individuales y, en caso de que nose encuentren, se sigue buscando en la tabla de drivers PCI del kernel /lib/modules/ 〈versiónkernel〉/modules.pcimap . Si quiere cambiar la asignaciónde drivers, deberá cambiar también /etc/hotplug/pci.handmap , ya que sesobreescribirá la otra tabla al actualizar el kernel.

Contrariamente a USB, no se realizará ninguna acción especial dependiendo deque la tarjeta sea PCI o CardBus. Con tarjetas de red el kernel crea un suceso enla red hotplug, que da lugar a la configuración de la interfaz. Con el resto de lastarjetas se debe ejecutar las acciones manualmente.

En cuanto se extraen las tarjetas, se descargan los módulos utilizados..En caso de que la descarga de determinados módulos cause problemas,esto se puede evitar introduciendo el nombre del módulo en la variable〈HOTPLUG_PCI_MODULES_NOT_TO_UNLOAD〉 que se encuentra en/etc/sysconfig/hotplug .

Red

Una vez que se anuncia en el kernel el inicio o la terminación de una nuevainterfaz de red, este crea un suceso hotplug en la red, que será utilizado por/etc/hotplug/net.agent . Allí sólo se tiene en cuenta las interfaces Ether-net, Tokenring y WirelessLAN. Para todos los otros tipos de redes, como módemo ISDN, existen otros mecanismos. Tampoco se trata aquí de las interfaces dered fijadas por tarjetas PCMCIA manipuladas por el gestor de tarjetas y no porhotplug. Aparecerá el mensaje correspondiente en el log del sistema.

Primero se intentará averiguar el hardware que la interfaz pone a disposición.Puesto que el kernel 2.4 no puede ofrecer dicha información, se utilizará la in-formación ya elaborada por anteriores sucesos hotplug con USB o PCI. Aunqueen la mayoría de los casos esto funciona correctamente, se debe considerar comouna solución pasajera. Por tanto de hecho no está permitido insertar dos tarjetasde red simultáneamente. Si utiliza más de una tarjeta de red hotplug, conéctelasal ordenador una detrás de otra.

Basta con un intervalo entre una y otra de unos pocos segundos. Esta informa-ción queda registrada en /var/log/messages .

Con esta información sobre el hardware se llama el script /sbin/ifup (oifdown ). ifup puede asignar la configuración correcta a una determinada tar-jeta, incluso cuando la interfaz tiene otro nombre. De hecho el kernel no asignalos nombres de interfaces siguiendo unas reglas.

245SuSE Linux – Manual de Administración

Page 264: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

También se pueden anotar en /sbin/ifup otras acciones individuales que sepueden ejecutar después de haber establecido una nueva interfaz de red. Másdetalles en las páginas man sobre página del manual de ifup (man ifup ).También es posible utilizar diferentes rutas por defecto según el hardwareconectado; véase página del manual de route (man route ).

En caso de que falle la indagación del hardware que se encuentra tras la in-terfaz (p. ej. con un Firewire) y que sólo se utilice un dispositivo de red hot-plug, se puede introducir la descripción del hardware de red en la varia-ble 〈HOTPLUG_NET_DEFAULT_HARDWARE〉 que se encuentra en /etc/sysconfig/hotplug . Se debe utilizar esta cadena de signos se debe corre-sponder con /sbin/ifup para la asignación de la configuración adecuada. Enla variable 〈HOTPLUG_NET_TIMEOUT〉 se puede fijar cuánto tiempo debe es-perar net.agent a que se produzca una descripción dinámica del hardware.

Otros dispositivos y el desarrollo posterior

No se soportan los tipos de hardware hotplug que no se hayan descrito aquí.Sin embargo hotplug se está desarrollando enormemente en la actualidad, locual depende en gran medida de las utilidades del kernel. Se espera que con lanueva versión del kernel 2.6 se puedan ofrecer nuevas utilidades.

246 Otros dispositivos y el desarrollo posterior

Page 265: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

Ordenadores portátiles– PCMCIA, APM, IrDA

Los ordenadores portátiles suelen incorporar dispositivos especiales como p. ej.interfaces de infrarrojo (IrDA), tarjetas PCMCIA o la administración avanzadade potencia ”Advanced Power Management” (APM). Estos componentes seencuentran a veces también en los ordenadores de sobremesa y no se distinguenmucho de los específicos que incorporan los portátiles. Por eso su configuracióny su uso se encuentran resumidos en este capítulo.

PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248SCPM – System Configuration Profile Management . . . . . 260APM y ACPI – Powermanagement . . . . . . . . . . . . . . 266IrDA – Infrared Data Association . . . . . . . . . . . . . . . 281

Page 266: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

PCMCIA

PCMCIA es la abreviatura de ”Personal Computer Memory Card InternationalAssociation” y se usa generalmente para todo el hardware y software relaciona-do con ello.

El hardware

El componente clave es la tarjeta PCMCIA, de la que se distinguen dos tiposdiferentes:

Tarjetas PC Son las tarjetas que se emplean más a menudo y usan un bus de 16bits para la transferencia de datos. Estas tarjetas suelen ser económicas ypor lo general son estables y no presentan problemas.

Tarjetas CardBus Son tarjetas de un estándar más nuevo con un bus de 32 bitsde anchura, por lo que son más rápidas pero también más caras. El gastoadicional de estas tarjetas normalmente no está justificado, ya que el cuel-lo de botella de la transferencia de datos suele estar en otra parte, y no enel bus. Ya existen varios drivers para estas tarjetas; aunque algunos de el-los aún son inestables (en función de la combinación de la controladoraPCMCIA y la tarjeta).

Cuando el servicio PCMCIA está activo, el comando cardctl ident indica latarjeta introducida en la ranura. Una lista de las tarjetas soportadas se encuentraen SUPPORTED.CARDSen el fichero /usr/share/doc/packages/pcmcia .Allí se encuentra también la última versión del PCMCIA-HOWTO.

El segundo componente que se necesita para el soporte PCMCIA es la contro-ladora o bien el PC-Card/CardBus-Bridge. Este puente establece la comuni-cació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 Intel por loque todos los modelos corrientes se soportan. Con el comando ( probe) se puedeaveriguar el tipo de controladora. Si la controladora conecta al bus PCI se puedeconseguir más información con lspci -vt .

El software

Diferencias entre los dos sistemas PCMCIA

Existen dos sistemas PCMCIA: el externo y el integrado en el kernel. El sistemaPCMCIA externo de David Hinds es el más antiguo, por lo que ha sido probado

248 PCMCIA

Page 267: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

y mejorado durante más tiempo. Las fuentes de los módulos que emplea noestán integrados en las del kernel, y es por esto por lo que se denomina sistema”externo”. Sin embargo, a partir del kernel 2.4, existe otro módulo alternativo enlas fuentes: las del sistema PCMCIA integrado en el kernel. Los módulos básicosfueron escritos por Linus Torvalds y soportan mejor los puentes Cardbus másnuevos.

Desgraciadamente, ambos sistemas son incompatibles. Además, en ambos sis-temas se encuentran entradas diferentes para los drivers. Por esta razón, de-pendiendo del hardware, sólo se puede emplear uno de los dos sistemas. Lanorma en SuSE Linux es utilizar el PCMCIA integrado en el kernel, aunquetambién se puede cambiar de sistema. Para ello, se debe asignar a la variable〈PCMCIA_SYSTEM〉 el valor external o kernel , y después arrancar de nue-vo PCMCIA con rcpcmcia restart . Para un cambio temporal también sepuede utilizar rcpcmcia [re]start external,kernel . Puede encon-trar información más detallada en /usr/share/doc/packages/pcmcia/README.SuSE

El módulo base

El módulo del kernel de ambos sistemas se encuentra en el paquete del kernel.También se necesitan el paquete pcmcia y hotplug .

Al arrancar un PCMCIA se cargan los módulos pcmcia_core , i82365 (PCM-CIA externo) o yenta_socket (PCMCIA integrado en el kernel) y ds

En muy raras ocasiones se necesita el módulo tcic en vez de i82365 oyenta_socket . Estos inicializan las controladoras PCMCIA que se encuen-tran disponibles y proporcionan funciones básicas.

El administrador de tarjetas

Para que las tarjetas PCMCIA puedan intercambiarse, debe existir un Daemonque controle la actividad de las ranuras de conexión. Según el sistema PCMCIAelegido y el hardware utilizado, esta tarea será realizada por el administrador detarjetas (ingl. ()cardmanager) o por el sistema Hotplug del kernel. Para los PCM-CIA externos se emplea el administrador de tarjetas. En el caso de los PCMCIAintegrados en el kernel, el administrador sólo manipula la tarjeta PC, mientrasque las tarjetas CardBus son controladas por Hotplug. El script de arranque delPCMCIA inicia el administrador de tarjetas después de que el módulo básico sehaya cargado. Puesto que el Hotplug también soporta otros subsistemas ademásdel PCMCIA, dispone de un script de arranque propio. (Ver también el capítuloHotplug en la página 241).

249SuSE Linux – Manual de Administración

Page 268: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Cuando se introduce una tarjeta, el administrador de tarjetas o el Hotplugaverigua el tipo y la función para cargar los módulos correspondientes. Unavez que todos los módulos se hayan cargado correctamente y según la fun-ción de la tarjeta, el administrador de tarjetas o el Hotplug inicia determina-dos scripts de arranque que se encargan de establecer la conexión de red, demontar particiones de discos SCSI externos o llevan a cabo otras acciones es-pecíficas del hardware. Los scripts del administrador de tarjetas se encuentranen /etc/pcmcia y los del Hotplug en /etc/hotplug . Al retirar la tarjeta,tanto el administrador de tarjetas como el Hotplug se encarga de desactivar, uti-lizando los mismos scripts, las diversas actividades de la tarjeta. Finalmente, losmódulos que ya no se necesitan se descargan de la memoria.

Tanto los protocolos de inicio de los sistemas PCMCIA como todas las ac-ciones de la tarjeta quedan guardados en el archivo log del sistema (/var/log/messages ). Allí se puede comprobar el sistema PCMCIA, el daemon yel script utilizados para la instalación. En teoría una tarjeta PCMCIA puede re-tirarse fácilmente, especialmente si se trata de una tarjeta RDSI, de módem o dered, siempre que ya se hayan acabado las conexiones a la red. Sin embargo nofunciona en combinación con particiones de un disco externo o con directoriosNFS. En este caso se debe tener un cuidado especial para que las unidades esténsincronizadas y se desmonten correctamente. Por supuesto, esto no es posiblecuando la tarjeta ya se ha sacado. En caso de duda, utilice

cardctl eject

Esta orden desactiva todas las tarjetas que se encuentren en el portátil.Si quiere desactivar solamente una tarjeta, añada el número de slot.p. ej.cardctl eject 0 .

La configuración

Para especificar si se debe iniciar el PCMCIA o Hotplug al encender el orde-nador, utilice el editor de runlevels de YaST2 o escriba chkconfig en la línea decomandos.

En el /etc/sysconfig/pcmcia se encuentran cuatro variables:

〈PCMCIA_SYSTEM〉 determina el sistema PCMCIA que se empleará.

〈PCMCIA_PCIC〉 incluye el nombre del módulo hacia el que se dirige la con-troladora PCMCIA. En casos normales, el script de inicio ya facilita estenombre, y esta variable queda vacía. Introduzca aquí el módulo sólo si seproducen errores.

250 PCMCIA

Page 269: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

〈PCMCIA_CORE_OPTS〉 está pensada como parámetro para el mó-dulo pcmcia_core , pero casi nunca es necesario utilizarlo. Estasopciones están descritas en página del manual de pcmcia_core(man pcmcia_core ).

〈PCMCIA_PCIC_OPTS〉 recoge el parámetro para el módulo i82365 .También para este caso existe una página del manual de i82365(man i82365 ). Si se utiliza yenta_socket , olvídese de estas opciones,puesto que yenta_socket no reconoce ninguna opción.

La disposición de los drivers de las tarjetas PCMCIA para el administrador detarjetas se encuentra en los ficheros /etc/pcmcia/config y /etc/pcmcia/*.conf . En primer lugar se lee config y después *.conf siguiendo un ordenalfabético. La última entrada para una tarjeta es la decisiva. Los detalles sobre lasintaxis se encuentran en la página del manual de pcmcia (man pcmcia ).La disposición de los drivers de las tarjetas PCMCIA para Hotplug se describenen el capítulo que trata sobre Hotplug (ver Hotplug en la página 241).

Tarjetas de red (Ethernet, Wireless LAN y TokenRing)

Estas tarjetas se pueden instalar como tarjetas de red corrientes con YaST2, es-cogiendo la opción ’PCMCIA’ en tipo de tarjeta. Todos los detalles adicionalesde la configuración de red se encuentran en el capítulo sobre la conexión a red.Preste atención a las indicaciones para las tarjetas que funcionan con Hotplug.

RDSI

La configuración de las tarjetas PC RDSI funciona en gran medida como ladel resto de tarjetas RDSI con YaST2. No importa cuál de las dos tarjetas RDSIPCMCIA se escoje; lo que importa es que sea una tarjeta PCMCIA. Al configu-rar el hardware y el proveedor, compruebe que el modo de funcionamiento eshotplug y no onboot .También existen módems RDSI para tarjetas PCMCIA. Son tarjetas de módemo multitarea que incorporan un kit de conexión RDSI y se comportan como unmódem.

Módem

Las tarjetas PC de módem normalmente no conocen ninguna configuración es-pecífica para PCMCIA. Cuando se inserta un módem, este está directamentedisponible en /dev/modem .También existen los llamados Softmodems para las tarjetas PCMCIA, pero porlo general no los soportan. En caso de que exista un driver, debe unirse al sis-tema de forma individual

251SuSE Linux – Manual de Administración

Page 270: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

SCSI e IDE

El administrador de tarjetas o Hotplug carga el módulo adecuado. Nada másinsertar una tarjeta SCSI o IDE, se encuentran disponibles los dispositivos aso-ciados, cuyos nombres se averiguan dinámicamente. Puede encontrar más in-formación sobre los dispositivos SCSI e IDE disponibles en /proc/scsi o/proc/ide .

Los discos duros externos, los lectores CD-ROM y otros dispositivos similaresdeben estar encendidos antes de introducir la tarjeta PCMCIA. La terminaciónde los dispositivos SCSI debe realizarse de forma activa.

AtenciónHay que desmontar todas las particiones de los dispositivos que esténconectados a una tarjeta SCSI o IDE antes de extraerla. En caso de haberloolvidado, no se puede acceder a estos dispositivos antes de un reiniciodel sistema, aunque el resto del sistema funcione perfectamente.

Atención

Puede instalar Linux completamente en un disco duro externo, pero el proced-imiento de arranque resulta un poco más complicado. En todo caso se necesitaun disquete de arranque que incluya el kernel y un Ramdisk inicial initrd; másinformación en el apartado Arrancar con initial ramdisk en la página 305 . La ini-trd contiene un sistema de ficheros virtual con todos los módulos y programasnecesarios para el soporte PCMCIA. El disquete de arranque y las imágenes deeste disquete tienen esta misma estructura, lo que le permite arrancar siemprela instalación externa mediante estos disquetes. La desventaja es que se debecargar manualmente el soporte PCMCIA en cada inicio. Para los usuarios avan-zados existe la posibilidad de generar un disquete de arranque hecho a medida.Puede encontrar más información en inglés en el PCMCIA-HOWTO del aparta-do 5.3 Booting from a PCMCIA device.

Configuración variable - SCPM

A menudo un ordenador portátil necesita configuraciones diferentes dependien-do del lugar en el cual debe operar (p. ej. en el trabajo o en casa).

Gracias a los esquemas PCMCIA, se puede realizar fácilmente con dispositivosPCMCIA. Puesto que los drivers de las tarjetas de red incluidas o de los dispos-itivos USB-FireWire también requieren perfiles distintos para la configuracióndel sistema, existe desde Linux 8.0 el paquete SCPM (System Configuration Pro-file Management). Esta es la razón de que SuSE no dé soporte a los esquemasPCMCIA. No obstante, si Vd. quiere seguir empleando estos esquemas, deberealizar manualmente la configuración en /etc/pcmcia . De todas formas, leaconsejamos que cambie a SCPM, para que pueda administrar la parte de la

252 PCMCIA

Page 271: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

configuración del sistema que desee, y no sólo las que estén relacionadas conPCMCIA.

La documentación sobre SCPM se encuentra en el apartado SCPM – System Con-figuration Profile Management en la página 260.

Si aún no funciona

Puede ocurrir que haya problemas con el uso de PCMCIA en algunos orde-nadores portátiles o en combinación con determinadas tarjetas. La mayoría delas problemas se pueden solucionar sin demasiado esfuerzo, siempre que seproceda sistemáticamente.

AvisoPuesto que en SuSE Linux coexisten tanto PCMCIA externos como inte-grados en el kernel, se debe tener en cuenta una peculiaridad al cargar losmódulos manualmente. Ambos sistemas PCMCIA emplean módulos quetienen el mismo nombre pero que se encuentran en subdirectorios dife-rentes en /lib/modules/ 〈kernelversion〉. Estos subdirectorios se llamanpcmcia para el PCMCIA integrado en el kernel y pcmcia-externalpara el PCMCIA externo. Por lo tanto, al cargar estos módulos manual-mente se debe indicar el subdirectorio correspondiente, ya sea insmod/lib/modules/ 〈versión del kernel〉/〈subdirectorio〉/〈nombre de archivo delmódulo〉 o modprobe -t 〈subdirectorio〉 〈nombre del módulo〉.

Aviso

Lo primero es averiguar si la causa del problema está relacionada con una tar-jeta o con el sistema base PCMCIA. Por eso hay que iniciar el ordenador sinninguna tarjeta insertada. Todos los mensajes de interés se protocolizan en elfichero /var/log/messages ; por lo que es necesario observar este ficheromientras se realicen 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: "Start-ing services" o si hay otras incidencias extrañas, se puede deshabilitar el servicioPCMCIA para el próximo arranque, indicando NOPCMCIA=yesen la ventana dearranque.

253SuSE Linux – Manual de Administración

Page 272: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Para conocer mejor la causa del error, se deben cargar manual y secuencialmentelos tres módulos básicos. Pare ello, se usan los comandos

tierra:~ # modprobe -t 〈dir 〉 pcmcia_core

tierra:~ # modprobe -t pcmcia-external i82365 (para PCMCIA externos)

tierra:~ # modprobe -t pcmcia yenta_socket (para PCMCIA en kernel)

o – en pocas ocasiones –

tierra:~ # modprobe -t 〈dir 〉 tcic

y

tierra:~ # modprobe -t 〈dir 〉 ds

Los módulos críticos son los dos primeros.

La página man pcmcia_core presta ayuda cuando el error aparece en el mo-mento de cargar pcmcia_core . Las opciones que se mencionan en la páginadel manual se pueden usar en combinación con el comando modprobe. Comoejemplo, se puede deshabilitar el soporte APM de los módulos PCMCIA, ya queen pocos casos resulta problemático. Para realizarlo existe la opción doapm; condo_apm=0 se desactiva la gestión de potencia:

modprobe -t 〈dir 〉 pcmciacore do_apm=0

Una vez que la opción probada tenga éxito, esta se guarda en el fichero /etc/sysconfig/pcmcia mediante la variable 〈PCMCIA_CORE_OPTS〉:

PCMCIA_CORE_OPTS="do_apm=0"

En muy pocas ocasiones, la comprobación de áreas de memoria libres es prob-lemática, debido a interferencias con los componentes del hardware. Para evitaresto, se puede utilizar probe_io=0 . Para combinar varias opciones, éstas sehan de separar con un espacio en blanco:

PCMCIA_CORE_OPTS="do_apm=0 probe_io=0"

Para resolver problemas que surjan al cargar los módulos i82365 , se puederecurrir a la página del manual de i82365 (man i82365 ).

Un problema típico a la hora de cargar este módulo es un conflicto de recursos,una interrupción, un puerto de E/S (I/O-Port) o un rango de memoria que seocupa dos veces. En realidad el módulo i82365 comprueba los recursos antesde asignarlos a la tarjeta pero justamente esta comprobación es la que a vecesproduce un error. Por ello, hay ordenadores que bloquean el teclado y/o elratón en el momento de comprobar la interrupción 12 (dispositivos PS/2). En

254 PCMCIA

Page 273: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

tal caso sirve como remedio el parámetro irq_list= 〈ListevonIRQs 〉. La listadebe contener todos los IRQs que se pueden usar, Así:

modprobe i82365 irq_list=5,7,9,10

o, para fijarlo, en /ets/sysconfig/pcmcia :

PCMCIA_PCIC_OPTS="irq_list=5,7,9,10"

Además el administrador de tareas (ingl. ()Cardmanager) evalúa los ficheros/etc/pcmcia/config y /etc/pcmcia/config.opts . Los parámetrosdefinidos en estos ficheros no tienen relevancia antes de la carga de los driverspara las tarjetas PCMCIA. En /etc/pcmcia/config.opts también se puedeindicar las IRQs, los puertos E/S y los rangos de memoria a incluir o excluir. Adiferencia de la opción irqlist, los recursos excluidos en config.opts no se usanpara una tarjeta PCMCIA pero sí que se comprueban mediante el módulo basei82365.

La tarjeta PCMCIA no funciona (bien)

Fundamentalmente, hay tres razones por las que una tarjeta PCMCIA no fun-ciona bien: no se reconoce la tarjeta, no se puede cargar el driver, o la interfazque el driver pone a disposición está mal configurada.

Se debe comprobar que la tarjeta es manipulada por el administrador de tarjetaso por el Hotplug. Como recordatorio: el administrador gestiona los PCMCIA ex-ternos, el administrador de tarjetas PC-Card maneja los PCMCIA integrados enel kernel y Hotplug se encarga de las tarjetas Cardbus. Aquí sólo se trata del ad-ministrador de tarjetas. Los problemas con Hotplug se encuentran en el capítulosobre Hotplug (ver capítulo Hotplug en la página 241).

No se reconoce la tarjeta.Si no se reconoce la tarjeta, aparece el mensaje "unsupported Card in Slotx" en /var/log/messages . El mensaje sólo indica que el administra-dor de tarjetas no es capaz de asignar un driver a la tarjeta, ya que senecesita /etc/pcmcia/config ) o /etc/pcmcia/*.conf para es-ta asignación. Estos archivos son, por así decirlo, una base de datos dedrivers, que se puede ampliar fácilmente usando entradas existentes co-mo plantilla para las nuevas. Para identificar la tarjeta, puede emplear elcomando cardctl ident . Para más información sobre el tema, con-sulte el apartado 6 del PCMCIA-HOWTO y la página del manual depcmcia (man pcmcia ). Después de modificar /etc/pcmcia/configo /etc/pcmcia/*.conf debe cargar de nuevo la disposición del drivermediante rcpcmcia reload .

255SuSE Linux – Manual de Administración

Page 274: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El driver no se cargaUna de las causas es que exista una disposición incorrecta en la base dedatos de drivers. Esto puede ocurrir p. ej. si el fabricante ha insertado unchip distinto en un modelo de tarjeta que no ha cambiado externamente.A veces se dispone de drivers opcionales, que funcionan mejor (o exclu-sivamente) con modelos distintos al driver especificado. En estos casos,se necesita información exacta sobre la tarjeta. También sirve de ayudapreguntar en listas de correo o en el Servicio de Soporte Avanzado (ingl.()Advanced Support Service).

Otra causa puede ser un conflicto de recursos. Con la mayoría de las tar-jetas PCMCIA no importa qué IRQ, puerto E/S o rango de memoria uti-lizan, pero hay excepciones. Por eso, se debe siempre probar una tarjetay, en determinadas ocasiones también, desconectar temporalmente otroscomponentes del sistema p. ej.tarjetas de sonido, IrDA, módems e impre-soras. Se puede ver la distribución de recursos del sistema con ( lsdev). (Esnormal que varios dispositivos PCI empleen el mismo IRQ).

Una posible solución consiste en emplear la opción adecuada para el mó-dulo i82365 (ver arriba en PCMCIA_PCIC_OPTS). No obstante, exis-ten opciones para determinados drivers de tarjeta; dichas opciones sepueden averiguar en /lib/modules/ 〈directorio correcto pcmcia〉/〈driver〉(se necesita toda la ruta para dirigirse al sistema PCMCIA correspon-diente). Para la mayoría de los módulos existe una página man. Consejo:rpm -ql pcmcia | grep man elabora una lista de todas las páginasdel manual relacionadas con pcmcia. Para probar las opciones, los driversde tarjeta se pueden cargar manualmente. Una vez más, compruebe que elmódulo utiliza el sistema PCMCIA empleado. Lea el aviso que se encuen-tra más arriba.

Cuando encuentre la solución, se puede permitir o prohibir el empleo deun determinado recurso en /etc/pcmcia/config.opts ; también seencuentran aquí las opciones para los drives de tarjeta.

256 PCMCIA

Page 275: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

Si p. ej. el módulo pcnet_cs sólo se puede gestionar con el IRQ 5, se de-berá realizar la siguiente entrada:

module pcnet_cs opts irq_list=5

Un problema específico de las tarjetas de red 10/100 Mbit es una selecciónautomática equivocada del modo de transferencia. El problema se puederemediar con el comando ifport o ( mii_tool), que permiten averiguar ymodificar el modo de transferencia. Para que estos comandos se ejecutenautomáticamente, es necesario adaptar individualmente el script /etc/pcmcia/network .

Interfaz mal configuradaEn este caso, es aconsejable comprobar adecuadamente la configuraciónde la interfaz para descartar errores de configuración. Además, con tarje-tas de red, se puede aumentar el rango de diálogo del script de red, me-diante la asignación de la variable DEBUG=yesen /etc/sysconfig/network/config . Con otro tipo de tarjetas, o en caso de que sirva deayuda, existe la posibilidad de incluir una línea set -x en el script quellama el administrador de tarjetas (ver /var/log/messages ). De es-ta forma, cada comando del script quedará protocolizado en el log delsistema. Si encuentra la posición crucial en un script, puede introducir yprobar dichos comandos en una terminal.

Instalación vía PCMCIA

En ciertas ocasiones ya se requiere el soporte PCMCIA en la instalación, al insta-lar a través de la red o al usar el CDROM mediante PCMCIA. Para ello se debeemplear un disquete de arranque, con lo que se empleará uno de los disquetesde módulo.

Después de arrancar con el disquete (o de haber elegido ‘(’Instalación manual)al arrancar con CD) se inicia el programa linuxrc . Entonces, en el menú ‘(’Mó-dulos del kernel (driver de hardware)), se debe elegir la opción ‘(’Cargar driverPCMCIA). En primer lugar, aparecen dos cuadros de diálogo que permiten in-troducir opciones para los módulos pcmcia_core y i82365 . Normalmente es-tos campos se quedan vacíos. Las páginas man para pcmcia_core y i82365 seencuentran en el primer CD como ficheros de texto dentro del directorio docu .

En SuSE Linux 8.2 está instalado, como en las versiones anteriores, el sistemaPCMCIA externo.

257SuSE Linux – Manual de Administración

Page 276: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Durante la instalación aparecen mensajes del sistema en las distintas consolasvirtuales, a las que se puede acceder mediante

�� ��Alt

+�� ��Teclas de función . Más adelante, cuando una interfaz gráfica esté activa, debe

utilizar�� ��Control +

�� ��Alt +�� ��Teclas de función .

También durante la instalación existen terminales en las que se puede ejecutarcomandos. Mientras linuxrc está en funcionamiento, esta terminal se encuentraen la consola 9 (una shell muy rudimentaria); una vez cargado el sistema deinstalación (YaST2 se ha iniciado), hay una bash y herramientas de sistema en laconsola 2.

Si durante la instalación se ha cargado el driver equivocado para una tarjetaPCMCIA, se debe ajustar el disquete de arranque manualmente. Para ello, nece-sita tener conocimientos avanzados de Linux.

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 lainstalación ya está tan avanzada que se puede iniciar Linux sin PCMCIA y enmodo texto usando la opción de arranque NOPCMCIA=yes. Para solventar esteproblema consulte el apartado Si aún no funciona en la página 253.

Ocasionalmente, también se pueden realizar diversos ajustes del sistema en laconsola 2, antes de que finalice la primera parte de la instalación, para que nosucedan fallos en el arranque.

Utilidades adicionales

El programa cardctl ya ha sido mencionado varias veces. Es la herramientaprincipal para conseguir información sobre PCMCIA, así como para ejecutardeterminadas acciones. Puede encontrar detalles sobre el programa en cardctl.También se puede introducir cardctl para que aparezca una lista con los co-mandos válidos.

Para este programa también existe una interfaz gráfica cardinfo (ver figu-ra 9.1 en la página siguiente), que permite controlar los aspectos más impor-tantes. Sin embargo, el paquete pcmcia-cardinfo debe estar instalado.

Otras utilidades del paquete pcmcia son ifport , ifuser , probe yrcpcmcia , pero no se usan con frecuencia. Para conocer exactamenteel contenido completo del paquete pcmcia , se puede usar el comandorpm -ql pcmcia .

Actualizar el paquete Kernel o PCMCIA

Si quiere actualizar el kernel, utilice el paquete kernel ya preparado por SuSE. Sinecesita compilar un kernel propio, también debe compilar el módulo PCMCIA.

258 PCMCIA

Page 277: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

Figura 9.1: El Programa Cardinfo

Es esencial que el kernel nuevo ya se esté ejecutando, ya que cierta informaciónse extrae de aquí. El paquete pcmcia ya debe estar instalado pero no iniciado;en caso de duda, ejecute un ( rcpcmcia stop). Después instale el paquete fuentePCMCIA y a continuación introduzca:

rpm -ba /usr/src/packages/SPECS/pcmcia.spec

Ya está todo listo. En /usr/src/packages/RPMS se encuentra ahora un nue-vo paquete. El paquete pcmcia-modules incluye los módulos PCMCIA paraPCMCIA externos. Este paquete se debe instalar con rpm -force , ya que losarchivos del módulo pertenecen oficialmente al paquete kernel.

Información adicional

Si está interesado en conocer más sobre el funcionamiento de determina-dos ordenadores portátiles, visite la Linux Laptop Homepage http://linux-laptop.net . Otra buena fuente de información es la TuxMobilHomepage http://tuxmobil.org/ (TuxMobil – Ordenadores Móviles yUnix). Allí puede encontrar, además de información interesante, un Howtopara ordenadores portátiles y otro para IrDA. También hay un artículo so-bre ordenadores portátiles (PCMCIA) con Linux en la base de datos de so-porte http://sdb.suse.de/es/sdb/html/laptop.html (o local enfile:/usr/share/doc/sdb/es/html/laptop.html ).

259SuSE Linux – Manual de Administración

Page 278: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

SCPM – System Configuration Profile Man-agement

Hay situaciones en las que es necesario modificar la configuración del sistema.Esto ocurre a menudo en ordenadores portátiles con los que se trabaja desdelugares distintos. Pero también puede ocurrir que un ordenador de sobremesautilice algunos componentes del hardware de forma temporal. O simplementese quiere probar algo. En cualquier caso debería ser fácil volver al sistema departida. Aún mejor si fuera posible volver a reproducir fácilmente la configura-ción modificada.

Hasta ahora esto sólo era posible con hardware PCMCIA. Allí se podían estable-cer distintas configuraciones en ciertos esquemas. Partiendo de esto hemos de-sarrollado SCPM, que anula la restricción a PCMCIA. Con ”System Configura-tion Profile Management”, se puede configurar una parte de la configuracióndel sistema partiendo de diferentes perfiles de configuración. Dicho de otro mo-do, sería como sacar instantáneas de las distintas configuraciones del sistema,para que puedan volver a recrearse en cualquier momento. Y se puede escogerlo que se fotografía.

En los portátiles las aplicaciones principales dependen de la configuración dered. Pero con distintas configuraciones de red se puede cambiar en muchos ca-sos otros elementos, p. ej. la configuración para e-mail o proxies. A esto se leañade la configuración de distintas impresoras en casa o en el trabajo, o la confi-guración especial XFree86, los distintos modos de ahorro de energía para cuan-do se está de viaje o en otra zona horaria.

Estas herramientas están cada vez más extendidas y deben cumplir más exi-gencias. Si tiene alguna crítica o sugerencia respecto a SCPM, no dude en pon-erse en contacto con nosotros. Estamos muy interesados en su opinión. Hemosprocurado fijar unos fundamentos flexibles para SCPM, para que también seaposible p. ej. el control de distintos perfiles de servidores. Contacte con nosotrosen: http://www.suse.com/feedback

Fundamentos y conceptos básicos

A continuación se exponen unos conceptos básicos que se utilizarán en el restode la documentación sobre SCPM y en el módulo YaST2.

Por Configuración del sistema entendemos toda la configuración del orde-nador; todas las configuraciones básicas, como p. ej. el uso de las parti-ciones de los discos duros o configuraciones de red, selección de zona ho-raria o disposición del teclado.

260 SCPM – System Configuration Profile Management

Page 279: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

Un Perfil o Perfil de configuración es el estado de la configuración del sis-tema que ha quedado fijado y puede recrearse si se solicita.

Perfil activo se refiere al último perfil activado. Eso no quiere decir que laconfiguración actual del sistema se corresponda exactamente con este per-fil, puesto que la configuración puede modificarse en cualquier momento.

Recursos en relación a SCPM son todos los elementos que contribuyen ala configuración del sistema. Puede tratarse de un fichero o de un enlacesuave junto con los metadatos correspondientes, tales como usuarios, per-misos, o tiempo de acceso. Pero también puede ser un servicio del sis-tema, que se ha ejecutado una vez y ha sido desactivado en otro perfil.

Para los usos más frecuentes existen sets de recursos predeterminados. Alelegir uno de estos sets, se puede establecer fácilmente los elementos dela configuración del sistema que SCPM tendrá en cuenta. También puededefinir sus propios sets de recursos. En el nivel de desarrollo actual deSCPM todos los perfiles utilizan el mismo set. Sin embargo, ya se estápensando en desarrollar perfiles que gestionen distintos recursos.

El módulo SCPM de YaST2 y documentación adicional

Existe un módulo gráfico de YaST2 para SCPM que sirve de alternativa a la líneade comandos. Puesto que la funcionalidad de ambos es esencialmente la mismay es interesante para algunos fines conocer la pantalla de línea de comandos,aquí sólo se describirá esta última. Gracias al texto de ayuda incluido en el mó-dulo SCPM de YaST2, el manejo de éste es muy sencillo. Las pocas particulari-dades del módulo YaST2 se mencionan en el lugar apropiado.

La documentación actual se encuentra en la sección SCPM de las páginas deinformación. Estas se pueden consultar con herramientas como Konqueror oEmacs (konqueror info:scpm ). En la consola se puede usar info o pinfo .La información técnica para aquellos que quieran meter las manos en SCPMestá en /usr/share/doc/packages/scpm .

Si escribe scpm sin más argumentos aparecerá un resumen del comando.

261SuSE Linux – Manual de Administración

Page 280: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Configurar SCPM

Antes de poder trabajar con SCPM, hay que iniciarlo. Por tanto primero esmuy recomendable escoger un set de recursos /lib/scpm/resource_sets/ . Se introducirá el set elegido en /etc/scpm.conf en la variable〈RESOURCE_SET〉. Si no se introduce ningún set, SCPM intenta reunir una can-tidad razonable de recursos de distintas fuentes de información, la cual suele serdemasiado exhaustiva para la mayoría de los casos.

Para responder con más precisión a sus expectativas, puede configurar sus pro-pios sets de recursos en /var/lib/scpm/resource_sets . Cada modifi-cación válida para todos los perfiles que se realice en un fichero guardado porSCPM, debe ejecutarse tantas veces como perfiles haya. Por tanto cuanto máscompleja sea la configuración total de los perfiles, más grande es el set de recur-sos. Se puede modificar la selección entre distintos sets en todo momento, perorecuerde que sólo se realiza sin problemas el cambio de un set más pequeño aotro más grande. Al disminuir el set de recursos utilizados siempre se debe te-ner en cuenta la versión que conserva un recurso (en qué perfil se encuentra) ycuál se desecha.

Con scpm enable se arranca SCPM. La primera vez que se inicia tarda unossegundos. Con scpm disable se puede apagar SCPM en cualquier momento,para evitar el cambio de perfiles no intencionado. En los siguientes encendidosde la máquina, continuará la inicialización.

Crear y administrar perfiles

Al encender SCPM, ya existe un perfil denominado default (por defecto). Elcomando ( scpm list) le ofrece una lista de los perfiles disponibles. Este únicoperfil es por fuerza el perfil activo, lo que se puede ver con scpm active . Elperfil default está pensado como configuración básica, de la cual se derivaránel resto de los perfiles. Por ello primero se deben realizar todas las configura-ciones que aparezcan en todos los perfiles. scpm reload guarda las mod-ificaciones en el perfil activo. Puede utilizar, renombrar o eliminar el perfildefault .

Hay dos maneras de crear un perfil. Si el nuevo perfil (aquí conel nombre work ) p. ej. debe partir del perfil default , escribascpm copy default work . A continuación escriba scpm switch workpara cambiar al nuevo perfil y configurarlo. Pero a veces ya se ha modificadola configuración del sistema para unos determinados fines y éstas se quierenguardar en un nuevo perfil; para esto escriba scpm add work .

262 SCPM – System Configuration Profile Management

Page 281: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

Ahora la configuración actual del sistema ha quedado guardada en el perfilwork , que se marcará como activo; esto es, scpm reload guarda los cambiosen el perfil work .

Por supuesto que se puede renombrar o eliminar perfiles. Para ello es-tán los comandos scpm rename x y y scpm delete x . Para renom-brar p. ej.work como trabajo y eliminarlo posteriormente, escribascpm rename work trabajo y luego scpm delete trabajo . Sólo seeliminará el perfil activo.

De nuevo los comandos por separado:

scpm list muestra todos los perfiles disponibles

scpm active muestra el perfil activo

scpm add 〈nombre 〉 guarda la configuración actual del sistema en un perfilnuevo y lo vuelve activo

scpm copy 〈nombreorigen 〉 〈nombredestino 〉 copia un perfil

scpm rename 〈nombreorigen 〉 〈nombredestino 〉 renombra un perfil

scpm delete 〈nombre 〉 elimina un perfil

Indicaciones sobre el módulo YaST2: Aquí sólo existe el botón ‘Add’, lo quepuede originar la pregunta de si es posible copiar un perfil existente o guardarla configuración actual. Para renombrar utilice el botón ‘Edit’.

Cambiar de un perfil a otro

Para cambiar a otro perfil (aquí llamado work ) escriba el comandoscpm switch work . Es lícito cambiar al perfil activo para guardar las op-ciones modificadas de la configuración del sistema. De forma alternativa, sepuede utilizar el comando scpm reload .

Para comprender mejor el proceso de cambio entre perfiles y las preguntas queesto pueda causar, se lo explicaremos con un poco más de detalle.

Primero, SCPM comprueba los recursos del perfil activo que fueron modificadosdesde el último cambio de un perfil a otro. A continuación se preguntará, paratodos los recursos modificados, si los cambios realizados en ese recurso debenguardarse en el perfil o eliminarse. Estas preguntas sólo conciernen al perfil quese quiere abandonar.

Después SCPM compara la configuración actual del sistema con el perfil nuevoal que se quiere cambiar. En este proceso se averiguará qué servicios del sistema

263SuSE Linux – Manual de Administración

Page 282: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

se deben conservar o (re)iniciar debido a las modificaciones realizadas en la con-figuración o a las dependencias mutuas. Nos podríamos imaginar esto comoun reinicio parcial del sistema que sólo afecta a una pequeña parte del sistemamientras que el resto sigue trabajando.

Primero:

1. se detendrán los servicios del sistema,

2. se escribirán todos los recursos modificados (en los ficheros de configura-ción), y

3. se (re)iniciarán los servicios del sistema.

Configuración avanzada del perfil

Para cada perfil puede dar una descripción que aparezca con scpm list .Para dar una descripción para el perfil activo utilice el comando scpm setdescription "texto" . Para perfiles no activos, debe dar además el nom-bre del perfil: scpm set description "texto" work . A veces ocurre que,al cambiar de un perfil a otro, se ejecutan acciones que (aún) no están previstasen SCPM. Por eso se puede añadir a cada perfil cuatro programas ejecutableso scripts que se ejecuten en distintos momentos del proceso de cambio de unperfil a otro. Estos momentos son:

prestop antes de la parada de los servicios al abandonar un perfil

poststop después de la parada de los servicios al abandonar un perfil

prestart antes del inicio de servicios al activar un perfil

poststart después del inicio de servicios al activar un perfil

El cambio del perfil work al perfil home transcurre de la siguiente forma:

1. Se ejecuta la acción prestop del Perfil work .

2. Parada de servicios.

3. Se ejecuta la accción poststop del Perfil work .

4. Cambio de la configuración del sistema.

5. Se ejecuta la acción prestart del perfil home.

264 SCPM – System Configuration Profile Management

Page 283: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

6. Inicio de los servicios.

7. Se ejecuta la acción poststart del perfil home.

Con el comando ( set) también se pueden añadir estas acciones: scpm setprestop 〈nombrefichero 〉, scpm set poststop 〈nombrefichero 〉,scpm set prestart 〈nombrefichero 〉 o scpm set poststart〈nombrefichero 〉. Se debe tratar de un programa ejecutable, es decir, losscripts deben incluir los intérpretes adecuados y al menos poder ser ejecutadospor el superusuario.

Se puede preguntar por las configuraciones añadidas con set mediante el co-mando get . Por ejemplo scpm get poststart ofrece el nombre del progra-ma poststart o nada si no se ha añadido ningún programa. Se puede eliminarestas configuraciones con "" ; esto es, scpm set prestop "" retira el programapoststop.

Al igual que al incluir la descripción, se puede utilizar todos los comandos sety get para cualquier perfil. Para ello se añadirá al final el nombre del perfil. Porejemplo scpm get prestop 〈nombrefichero 〉 work o scpm get prestopwork .

AvisoPuesto que se pueden ejecutar estos scripts o programas con permisos desuperusuario, no deberían poder ser modificados por cualquier usuario.Puesto que los scripts pueden contener información confidencial, se re-comienda que el superusuario sea el único que los pueda leer. Lo mejor esque proteja estos programas con los permisos -rwx---- root root .

(chmod 700 〈nombrefichero 〉 y chown root.root 〈nombrefichero 〉)Aviso

Selección de perfiles al arrancar

Se puede escoger un perfil nada más arrancar. Para ello sólo se debe introducirel parámetro de arranque PROFILE=〈nombre del perfil 〉 en el prompt dearranque.

Si le resulta muy aparatoso, puede colocar más imágenes de arranque (ingl.bootimages) en la configuración del ”bootloader”. Con LILO todas las imágenespueden incluir la opción append="PROFILE= 〈nombre del perfil〉" Con la opciónlabel se utiliza igualmente el nombre del perfil. Un ejemplo:

265SuSE Linux – Manual de Administración

Page 284: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

boot = /dev/hdachange-rulesresetread-onlymenu-scheme = Wg:kw:Wg:Wgprompttimeout = 80message = /boot/message

image = /boot/vmlinuzlabel = homeroot = /dev/hda6initrd = /boot/initrdappend = "vga=0x317 hde=ide-scsi PROFILE=home"

image = /boot/vmlinuzlabel = workroot = /dev/hda6initrd = /boot/initrdappend = "vga=0x317 hde=ide-scsi PROFILE=work"

image = /boot/vmlinuzlabel = roadroot = /dev/hda6initrd = /boot/initrdappend = "vga=0x317 hde=ide-scsi PROFILE=road"

Fichero 28: Fichero /etc/lilo.conf

Ahora al arrancar se puede seleccionar fácilmente el perfil deseado.

APM y ACPI – Powermanagement

El sistema de control de energía (ingl. powermanagement) requiere un hardwarey una rutina de la BIOS apropiados. La mayoría de los ordenadores portátilesy muchos ordenadores de sobremesa cumplen estos requisitos. Hasta ahora seutilizó principalmente el estándar APM (Advanced Power Management). Bási-camente se trata de funciones implementadas en la BIOS del ordenador. Por estarazón el control de energía no funcionaba igual de bien con todos los dispos-itivos. Si tiene un portátil con una implementación APM en funcionamiento,

266 APM y ACPI – Powermanagement

Page 285: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

hace bien en utilizarla. Sin embargo, desde hace un tiempo, algunos fabricantesquieren dejar de lado APM y pasar a utilizar totalmente el nuevo estándar ACPI(Advanced Configuration and Power Interface). Pero ACPI es más complicado yrequiere una buena colaboración entre fabricantes de hardware, programadoresde BIOS y expertos del sistema operativo. Además la implementación ACPI enel kernel de Linux aún no está acabada, por lo que sólo se puede utilizar parcial-mente. Con el kernel 2.6 se espera una mejora sustancial.

Funciones para el ahorro de energía

Muchas de estas funciones son de interés general, pero sólo llegan a ser real-mente importantes cuando se trata de ordenadores portátiles. A continuación sedescriben estas funciones y se explica en qué sistema se pueden llevar a cabo.

En reposo (ingl. ()stand-by) Sólo se desactiva la pantalla y en algunos disposi-tivos se reduce también el rendimiento del procesador. No todos los APMtienen disponible esta función. En ACPI este estado se corresponde conS1.

Suspensión (a memoria) Para este modo toda la información sobre el esta-do del sistema se guarda en la memoria y, aparte de esta, todo el restodel sistema se para. Es un estado en el cual el ordenador gasta muy pocaenergía, así que se puede pasar desde 12 horas hasta varios días con labatería. La gran ventaja es la de volver dentro de pocos segundos al es-tado anterior de trabajo, sin necesidad de arrancar y cargar de nuevo losprogramas usados. El atractivo especial de realizar esto con Linux es elno tener que parar el ordenador nunca; hay otros sistemas operativosque se vuelven inestables después de cierto tiempo. En la mayoría de losportátiles actuales basta con cerrar la tapa para suspender y abrirla des-pués para seguir trabajando. En ACPI este estado se corresponde con S3.

Hibernación (suspensión a disco) En este modo el ordenador aguanta todo elinvierno (Hibernation == Invernar), ya que todo el contenido de la memo-ria se ”vuelca” al disco duro y el sistema se para después. El ordenadortarda de 30 a 90 segundos y también se restablece por completo el estadoanterior. Algunos fabricantes ofrecen ciertos modos híbridos (p. ej. RediS-afe en IBM Thinkpads). En ACPI el estado de hibernación se correspondecon S4.

267SuSE Linux – Manual de Administración

Page 286: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Para Linux también existe una gran cantidad de soluciones de softwareque sin embargo no se incluyen en SuSE Linux. Si quiere utilizarlas:http://falcon.sch.bme.hu/~seasons/linux/swsusp.html

Control de batería Junto a la información del estado de la batería también esimportante tener algo previsto en caso de que disminuyan las reservasde energía. La mayor parte de las veces las rutinas APM de la BIOS seencargan de ello. De forma alternativa, se puede utilizar los comandosapmd/acpid o klaptopdaemon .

Apagado automático Después de un ”Shutdown” el ordenador se para com-pletamente sin necesidad de pulsar el botón de apagar. Esto es impor-tante en caso de que se realice un apagado automático poco antes de quese vacíe la batería.

Apagado de los componentes del sistema Los componentes esenciales a la ho-ra de ahorrar energía son los discos duros. Dependiendo de la fiabilidad,se puede ”poner a dormir” el sistema durante más o menos tiempo. Elriesgo de una pérdida de datos se incrementa con la duración del períodode reposo de los discos. Se puede desactivar otros componentes via ACPI(al menos en teoría) o de forma duradera en el setup de la BIOS. Ante to-do el puerto de infrarrojos debería permanecer apagado siempre que nose esté utilizando (véase la sección IrDA – Infrared Data Association en lapágina 281).

Control del rendimiento del procesador Junto con APM suele existir la posi-bilidad de escoger distintas configuraciones en el setup de la BIOS. Paraalgunos dispositivos existen herramientas especiales para controlar estetipo de opciones de configuración. Por ejemplo, para los Thinkpads deIBM se encuentran tpctl y apmiser del paquete paquete tpctl . Elprograma ( procspeed) del paquete apmd permite controlar la frecuen-cia del procesador. Sólo es posible influir directamente en el rendimientodel procesador por medio de ACPI. Por este motivo, esta posibilidad seexplica posteriormente en el apartado sobre ACPI.

APM

Algunas de las funciones de ahorro de energía las realiza sólo el APM de laBIOS. El estado de reposo y el de suspensión se pueden activar con una combi-nación de teclas o cerrando la tapa en la mayoría de los ordenadores portátiles.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

268 APM y ACPI – Powermanagement

Page 287: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

antes de suspender, hay que instalar determinados paquetes y un kernel ade-cuado.

El soporte APM forma parte integral de los kernels de SuSE Linux, pero sólose activa si en la BIOS no se ha implementado ACPI y si se encuentra un APM-BIOS. Para activar el soporte APM, ACPI ha desactivarse en el prompt de ar-ranque con acpi=off . Puede comprobar si APM ha sido activado ejecutandoel comando cat /proc/apm . Si aparece una línea con diversos números, to-do está en orden. A continuación deberá apagar el ordenador con el comandoshutdown -h .

Algunas BIOS no cumplen el estándar APM al cien por cien, por lo que puedeaparecer un comportamiento ”extraño”. Algunos problemas se pueden resolvercon parámetros especiales (antiguamente eran opciones de configuración delkernel). Todos los parámetros se introducen en un prompt de arranque con laforma apm=〈parameter 〉:

on/off Activar o desactivar el soporte APM.

(no-)allow-ints Permitir interrupciones durante la ejecución de funciones de laBIOS.

(no-)broken-psr La BIOS tiene una función arruinada ”GetPowerStatus”

(no-)realmode-power-off Reducir la velocidad del procesador antes del apaga-do

(no-)debug Registrar acontecimientos APM en Syslog

(no-)power-off Desconectar todo el sistema tras el apagado

bounce-interval=〈n〉 Tiempo en 1/100 segundos, durante el cual se debenpasar por alto otros acontecimientos de suspensión tras haberse produci-do el primero

idle-threshold=〈n〉 Porcentaje de la actividad del sistema, a partir del cual lafunción de la BIOS se volverá inactiva (0=siempre, 100=nunca)

idle-period=〈n〉 Tiempo en 1/100 segundos, por encima del cual se deducirá laactividad o inactividad del sistema

El daemon APM (apmd)

El daemon apmd controla el estado de la batería y es capaz de iniciar ciertasactividades cuando se pone el ordenador en estado de ”reposo” o ”suspensión”.

269SuSE Linux – Manual de Administración

Page 288: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Se encuentra en el paquete paquete apmd y, aunque no es imprescindible paratrabajar, sí resulta muy útil.

El apmd no se inicia automáticamente en el arranque. Pero si se requiere,se puede cambiar la configuración de los servicios del sistema con el mó-dulo YaST2 Runlevel. De forma alternativa, se puede emplear el programachkconfig . Para iniciarlo manualmente se usa rcapmd start .

El daemon se configura mediante algunas variables que se encuentran en/etc/sysconfig/powermanagement . Este fichero ya contiene comentariospor lo que a continuación sólo se dan algunas indicaciones.

APMD_ADJUST_DISK_PERF De esta forma se puede determinar que el com-portamiento del disco duro se adapte al suministro de energía. Para estohay una gran cantidad de variables que comienzan con APMD_BATTERYocon APMD_AC. La primera contiene las opciones de la batería; la última, elfuncionamiento de la fuente de alimentación externa.

APMD_BATTERY/AC_DISK_TIMEOUT Indica el tiempo que durará la in-actividad del disco. Los valores se encuentran en el apartado Parar el discoduro en la página 280 o en las páginas man con ( hdparm) con la opción -S

APMD_BATTERY/AC_KUPDATED_INTERVAL El tiempo que debe tran-scurrir entre dos acciones del Kernel Update Daemon.

APMD_BATTERY/AC_DATA_TIMEOUT La edad máxima de los datos en elbúfer.

APMD_BATTERY/AC_FILL_LEVEL La capacidad máxima del búfer del discoduro

APMD_PCMCIA_EJECT_ON_SUSPEND Aunque para SuSE Linux se com-pila PCMCIA con soporte APM, a veces surgen problemas. Algunosdrivers de tarjetas PCMCIA no vuelven a un estado correcto despuésde suspender el sistema (p. ej.xirc2ps_cs ). Por eso el apmd es capazde desactivar el sistema PCMCIA antes de suspender el sistema y des-pués activarlo nuevamente. Para realizar esta característica, la variableAPMD_PCMCIA_EJECT_ON_SUSPENDdebe estar en yes .

APMD_INTERFACES_TO_STOP Aquí se pueden indicar interfaces de redque deben ser apagadas antes de suspender el sistema y reiniciadas des-pués.

APMD_INTERFACES_TO_UNLOAD Si además hay que descargar el módu-lo de las interfaces, utilice esta variable.

270 APM y ACPI – Powermanagement

Page 289: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

APMD_TURN_OFF_IDEDMA_BEFORE_SUSPEND A veces no funcionael sistema – no vuelve a reactivarse después de una suspensión –, si undispositivo IDE (disco duro) aún se encuentra en modo DMA.

Existen más posibilidades, como p. ej. el tiempo de repetición del teclado o lahora, que se deben corregir tras una suspensión o un apagado automático delportátil, al enviar el APM de la BIOS un acontecimiento de ”estado crítico dela batería”. Para los usuarios avanzados queda la posibilidad de añadir fun-cionalidades al fichero /usr/sbin/apmd_proxy , que lleva a cabo las accionesmencionadas arriba.

Comandos adicionales

apmd contiene algunas utilidades adicionales. apm indica la capacidad actualde la batería y pone el sistema en ”reposo” (apm -S) o ”suspenso” (apm -s );ver página del manual de apm (man apm).

Con el comando apmsleep se puede suspender el sistema por un tiempo deter-minado; ver 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 sistema X Window como p. ej. xapm apmdque indica de forma gráfica la carga de la batería. Usando el entorno KDE, o almenos kpanel, se puede visualizar con kbatmon el estado de carga de la bateríay suspender el sistema. Como alternativa también es interesante ( xosview).

ACPI

Información general

ACPI significa (ingl. Advanced Configuration and Power Interface). La función deACPI es permitir al sistema operativo configurar y controlar cada componentede hardware por separado. De este modo, ACPI sustituye tanto a Plug and Playcomo a APM. En este capítulo no se tratará la parte de ACPI que se encarga deiniciar el hardware (donde apenas interviene el usuario).

La BIOS dispone de tablas donde se recoge información sobre cada componentey sobre los métodos para acceder al hardware. El sistema operativo utiliza estainformación, por ejemplo, para asignar Interrupts o para activar y desactivarcomponentes de hardware.

271SuSE Linux – Manual de Administración

Page 290: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

No obstante, debido a que el sistema operativo sigue las instrucciones alma-cenadas en la BIOS, aquí también se está supeditado a la implementaciónde la BIOS. Los mensajes producidos durante el arranque se almacenan en/var/log/boot.msg . Allí, ACPI informa de qué tablas ha encontrado y evalu-ado con éxito.

DSDT Differentiated System Description Table: Contiene información sobrelos componentes del ordenador y cómo se pueden configurar dichos com-ponentes.

FADT Fixed ACPI Description Table: Contiene información sobre la imple-mentación del bloque de registro para el hardware ACPI además de ladirección física de DSDT.

MADT Multiple APIC Description Table: Describe la implementación y confi-guración de APIC.

RSDT Root System Description Table: Tabla de indicadores al resto de tablas.El indicador a RSDT (RSDP) debe encontrarse en la zona baja de la memo-ria.

SSDT Secondary System Description Table: Esta tabla es una continuaciónde DSDT. Puede haber varias SSDT. La distribución entre varias tablasaumenta la flexibilidad, sobre todo para OEM.

XSDT Extended Root System Description Table: Contiene la misma informa-ción que la tabla RSDT, pero puede incluir indicadores mayores de 32 bitsen la cabecera de descripción. Por su parte, la tabla RSDP puede hacer ref-erencia a la XSDT.

El estándar ACPI define una variedad de estados en los que se puede econtrar elsistema. En primer lugar se encuentran los estados principales:

G0 El sistema está trabajando.

G1 El sistema duerme, cambio a G0 sin arrancar el sistema operativo (sus-pend).

G2 Soft off, el sistema operativo debe arrancar al encencer el ordenador.

G3 Interruptor apagado, el sistema no tiene electricidad (el interruptor princi-pal está apagado)

Además hay 6 estados de sueño con los que se puede diferenciar aún más entreG0/G1/G2:

272 APM y ACPI – Powermanagement

Page 291: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

S0 El sistema está trabajando.

S 1 Stand-by (reducido consumo de energía, vuelve a "despertarse" muy rápi-damente).

S2 Otra modalidad de stand-by que no suele estar implementada en los dis-positivos.

S3 Suspend (consumo mínimo de energía, vuelve a "despertarse" muy rápida-mente).

S4 Hibernation o Suspend To Disk (ningún consumo de energía, tarda un pocomás en "despertarse" (de 20a 100 segundos dependiendo del hardware))

S5 Soft off (G2)

A éstos se suman los estados D0 - D3, en los que cada componente de hardwareestá activo, en suspenso, o apagado. Solamente el procesador conoce aún másestados para circunstancias especiales de funcionamiento. Los estados C sonactivados por comandos del CPU sobre los que el usuario no puede influir di-rectamente:

C0 El procesador está trabajando.

C1 El procesador ejecuta instrucciones especiales para interrupciones que, pre-cisando poca energía, permiten reanudar el trabajo muy rápidamente.

C2 Como C1, sólo que con un consumo de energía aún más bajo y mayor tiem-po requerido para reanudar el trabajo.

C3 Como C2, sólo que con mayor ahorro de energía. El caché de primer niveltendrá inconsistencias. (Implementado sólo en algunos dispositivos y deuso muy poco extendido).

Los estados en cuanto a potencia dependen de técnicas especiales para el proce-sador como Speedstep (Intel) o PowerNow (AMD), en las que se modifica lafrecuencia de reloj y la tensión del núcleo del CPU.

P0 Máxima frecuencia de reloj y tensión del núcleo

P1 Primer nivel de ahorro, se reducen la frecuencia y la tensión

P2 Siguiente nivel de ahorro (si está disponible)

P3 . . .

273SuSE Linux – Manual de Administración

Page 292: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

La tercera posibilidad de ahorro de energía en el procesador es el throttling, queconsiste en interrumpir periódicamente la señal de reloj del procesador.

T0 0 % desconexión del reloj

T1 12 % desconexión del reloj

T2 25 % desconexión del reloj

T4 . . .

Los estados P y T pueden ser activados directamente por el usuario (o un dae-mon). La principal diferencia radica en el ahorro de energía. El throttling per-mite tan sólo un ahorro lineal, es decir, 25 % de desconexión del reloj se tra-duce en 25 % menos de rendimiento con un ahorro de energía del 25 % (sólodel procesador). En cambio, si se modifica la potencia, la cantidad de energíaque se ahorra es mayor que el rendimiento que se pierde gracias a la menor ten-sión del núcleo. La disminución de rendimiento se utiliza también como ”en-friamiento pasivo” en contraposición al enfriamiento activo mediante venti-ladores. Además puede resultar de utilidad si se quiere recargar las baterías másrápidamente mientras se usa el ordenador.

ACPI recoge información sobre las baterías, el adaptador de red, la temperaturay los ventiladores, e informa sobre eventos del sistema como bajar la cubierta opoca carga en la batería.

ACPI en la práctica

Cuando el kernel reconoce una BIOS ACPI durante el arranque, ACPI es ac-tivado automáticamente (y APM desactivado). El parámetro de arranqueacpi=on podría ser necesario, como máximo, en máquinas antiguas. No ob-stante, el ordenador tiene que soportar ACPI 2.0 o superior. Para compro-bar si ACPI está activado, consulte los mensajes de arranque del kernel en/var/log/boot.msg . También existe un directorio /proc/acpi que se ex-plicará más adelante.

A continuación es necesario cargar una serie de módulos para el OSPM (”Op-erating System Power Management”), de lo que se ocupa el script de inicio deldaemon ACPI. Si alguno de estos módulos causa problemas, puede impedirsesu carga o descarga en /etc/sysconfig/powermanagement . En el registrodel sistema (/var/log/messages ) se encuentran los mensajes del módulo ypuede observarse qué componentes han sido detectados.

En /proc/acpi aparecen ahora varios ficheros que informan sobre el estadodel sistema o permiten modificar de forma activa algunos de estos estados. No

274 APM y ACPI – Powermanagement

Page 293: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

obstante, esta funcionalidad no es ni mucho menos completa porque, o bien estátodavía en desarrollo, o bien depende de lo que haya implementado el fabri-cante. La mayor limitación:

AvisoEl modo en suspenso todavía no funciona con ACPI: ni suspend to RAMni to disk (hibernation). Por motivos internos del kernel, estas funcionesestarán disponibles para el kernel 2.6 (ó 2.5 para los mañosos). Los másvalientes pueden integrar el parche sw-susp en el kernel. Véanse lasfunciones de ahorro de energía: hibernation.

Aviso

Se puede leer todos los ficheros (excepto dsdt y fadt) con cat . En algunosse puede incluso modificar opciones pasando a X valores adecuados conecho X > fichero . (Todo lo que se encuentra en /proc no son ficheros enel disco duro sino más bien una interfaz al kernel). A continuación se describenlos ficheros más importantes:

/proc/acpi/info Información general sobre ACPI

/proc/acpi/alarm Aquí puede definirse cuándo el sistema "de-spierta" de un estado de sueño. La hora se indica medianteecho año-mes-día hora:minutos:segundos > /proc/acpi/alarmPero puesto que los estados de sueño actualmente no funcionan, no tienemucho sentido poner el "despertador".

/proc/acpi/sleep Proporciona información sobre los posibles estados de sueño.Aquí se podrá provocar un estado suspend próximamente. En la actuali-dad funcionan como máximo S1 (stand-by) y S5 (no se recomienda porqueel sistema no se apaga correctamente): ’echo 1 > /proc/acpi/sleep’.

/proc/acpi/event Aquí se registran los eventos del sistema. Éstos son procesa-dos por daemons como ’acpid’ o ’ospmd’. Si no interviene ningún dae-mon, los eventos de pueden leer con ’cat /proc/acpi/event’ (salir conCtrl-C). Un ejemplo de evento es pulsar el interruptor principal o cerrarla cubierta del portátil.

/proc/acpi/dsdt y /proc/acpi/fadt Aquí se almacenan las tablas ACPI DSDT yFADT. Éstas pueden leerse con acpidmp , acpidisasm y dmdecode .

275SuSE Linux – Manual de Administración

Page 294: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Puede encontrar estos programas junto con la correspon-diente documentación en paquete pmtools . Por ejemplo:acpidmp DSDT | acpidisasm .

/proc/acpi/ac_adapter/AC/state ¿Está conectado el adaptador de red?

/proc/acpi/battery/BAT*/{alarm,info,state} Contienen abundante informa-ción sobre el estado de la batería. Para comprobar el nivel de carga esnecesario comparar last full capacity de info con remainingcapacity de state . Aunque esto también puede hacerse más fácilmentecon la ayuda de programas especiales que se describirán más adelante. Enalarm se puede introducir qué cantidad de carga provocará un evento enla batería.

/proc/acpi/button Este directorio contiene información sobre diversos botones.

/proc/acpi/fan/FAN/state Muestra si el ventilador está funcionando en ese mo-mento. También puede encenderse o apagarse manualmente escribiendoen el fichero 0 (=encender) ó 3 (=apagar). No obstante, hay que tener encuenta que tanto el código ACPI del kernel como el hardware (o la BIOS)sobreescriben estos valores cuando la temperatura es demasiado elevada.

/proc/acpi/processor/CPU0/info Información sobre las posibilidades de ahorrode energía del procesador.

/proc/acpi/processor/CPU0/power Información sobre el estado actual delprocesador. Un asterisco en C2 significa inactividad y es el estado másfrecuente, como puede apreciarse en el número usage .

/proc/acpi/processor/CPU0/performance Aquí se puede leer o ajustar la poten-cia, es decir, utilizar las prestaciones Speedstep o PowerNow del proce-sador.

/proc/acpi/processor/CPU0/throttling Permite aumentar de forma lineal elahorro de energía del procesador.

/proc/acpi/processor/CPU0/limit Si un daemon se encarga de regular au-tomáticamente la potencia y el throttling, aquí se pueden definir loslímites que no se deben sobrepasar en ningún caso. Existen límites fi-jados por el sistema y uno que puede ser definido por el usuario. Conecho 1:5 > /proc/acpi/processor/CPU0/limit se consigue quelos estados P0 ó T0-T4 nunca sean utilizados.

/proc/acpi/thermal_zone/ Aquí se encuentra un subdirectorio para cada zonatérmica. Una zona térmica es una sección con características térmicas se-mejantes, cuyo número y nombre de fabricante de hardware puede ser

276 APM y ACPI – Powermanagement

Page 295: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

seleccionado. Muchas de las posibilidades ofrecidas por ACPI se imple-mentan rara vez. En su lugar, la BIOS se ocupa normalmente de controlarla temperatura sin que el sistema operativo intervenga, ya que aquí setrata nada menos que de la duración del hardware. Por lo tanto, las de-scripciones siguientes son en parte puramente teóricas.

/proc/acpi/thermal_zone/*/temperature La temperatura actual de la zona tér-mica.

/proc/acpi/thermal_zone/*/state El estado indica si todo está en orden (”ok”)o si (ACPI) refrigera de forma ”activa” o ”pasiva”. En los casos donde elcontrol del ventilador no depende de ACPI, el estado es siempre ”ok”.

/proc/acpi/thermal_zone/*/cooling_mode Bajo un control total por parte deACPI, aquí se puede seleccionar el método de refrigeración preferido: pa-sivo (menor rendimiento pero mayor ahorro) o activo (siempre máximorendimiento pero con el ruido del ventilador a toda potencia).

/proc/acpi/thermal_zone/*/trip_points Aquí se puede definir la temperaturaa partir de la cual se emprende alguna acción. Esta acción puede abarcardesde la refrigeración activa o pasiva hasta apagar el ordenador (”criti-cal”), pasando por suspend (”hot”).

/proc/acpi/thermal_zone/*/polling_frequency Si el valor de ”tempera-ture” no se actualiza automáticamente cuando se modifica la tem-peratura, se puede cambiar aquí al modo ”polling”. El comandoecho X > /proc/acpi/thermal_zone/*/polling_frequencyhace que cada X segundos se pregunte la temperatura. El modo ”polling”se desconecta con X=0.

El daemon ACPI (acpid)

De forma semejante al daemon APM, el daemon ACPI procesa determina-dos eventos ACPI, tales como los que activan el encendido y apagado o elcontacto de la tapa. Todos los acontecimientos quedan registrados en el logdel sistema. En /etc/sysconfig/powermanagement con las variablesACPI_BUTTON_POWERy ACPI_BUTTON_LID se puede establecer qué debeocurrir en esos acontecimientos. Si no es suficiente, puede adaptar el script/usr/sbin/acpid_proxy o cambiar la configuración de acpid en /etc/acpi/ .

Al contrario que en apmd, aquí no hay muchas opciones preconfiguradas yaque ACPI para Linux está todavía en pleno desarollo. Dado el caso, es nece-sario configurar acpid por sí mismo. Puede enviar sus sugerencias de accionespreparadas a [email protected] .

277SuSE Linux – Manual de Administración

Page 296: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ospmd

El ospmd (Operating System Power Management Daemon) es un alternativa aacpid que por desgracia está poco desarrollada en la actualidad. Equivale másque nada a un estudio de factibilidad.

Existe una serie de herramientas ACPI más o menos completas. Entre ellas seencuentran herramientas puramente informativas que muestran el estado dela batería o la temperatura (acpi, klaptopdaemon, wmacpimon, etc.). Otrasfacilitan el acceso a las estructuras bajo /proc/acpi (akpi, kacpi, gtkacpiw),y otras a su vez son daemons que, dependendiendo de la configuración, tem-peratura y carga del sistema, regulan el rendimiento del CPU (speedstep yheatload).

En el momento de escribir este manual no se sabe con seguridad qué herramien-tas estarán incluidas en SuSE Linux 8.2. Le recomendamos consultar el módulode software de YaST y buscar en él ”acpi”. Los programas incluidos dispondránde documentación en línea.

Posibles problemas y soluciones

Se puede distinguir entre dos tipos de problemas. Por una parte, puede haberfallos en el código ACPI del kernel que no se han detectado a tiempo. En estecaso se proporcionará una solución para descargar. Otros problemas más incó-modos y, por desgracia, también más frecuentes, son los problemas en la BIOSdel ordenador. Se da incluso el caso de que se integran en la BIOS desviacionesde las especificaciones ACPI para evitar fallos en la implementación ACPI enotros sistemas operativos de uso extendido. Existe también hardware en el quese conocen fallos graves en la implementación ACPI. Por este motivo, estoscomponentes de hardware se incluyen en una lista negra para que el kernel deLinux no utilice en ellos ACPI.

En caso de problemas, en primer lugar se debe actualizar la BIOS, lo que fun-ciona con éxito en muchas ocasiones. Si el ordenador ni siquiera arranca correc-tamente, pruebe a utilizar algunos de los siguientes parámetros de arranque:

pci=noacpi No utilizar ACPI para configurar los dispositivos PCI.

acpi=oldboot Ejecutar sólo recursos simples de configuración, en caso con-trario no utilizar ACPI.

acpi=off No utilizar ACPI en absoluto.

Es muy importante examinar los mensajes de arranque cuidadosamente. Paraello lo mejor es utilizar el comando dmesg | grep -2i acpi después del

278 APM y ACPI – Powermanagement

Page 297: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

arranque (o incluso examinar todos los mensajes, ya que el problema no deberadicar necesariamente en ACPI). Si ocurre un error durante el análisis sintác-tico de una tabla ACPI, existe la posibilidad (al menos para la tabla más impor-tante, DSDT) de integrar una tabla mejorada en un kernel personalizado. Noobstante, esta no es tarea fácil y requiere la ayuda de expertos. Para algunos or-denadores, ya existen en Internet tablas DSDT libres de fallos.

En la configuración del kernel existe un botón para activar los mensajes dedepuración de ACPI. Si se ha compilado e instalado un kernel con depuraciónACPI, puede ayudar con información detallada a los expertos que busquen unposible fallo.

En cualquier caso, siempre resulta una buena idea ponerse en contacto con elfabricante del aparato si ocurriesen problemas con el hardware o la BIOS. Aúncuando los fabricantes no siempre pueden ayudar cuando se trata de Linux,es importante que escuchen el término Linux lo más a menudo posible. Notomarán a Linux en serio hasta que no se den cuenta de que un número impor-tante de sus clientes lo utilizan. Aunque no tenga ningún problema, tampocoestá de más que informe al fabricante de su hardware de que lo usa con Linux.

Puede encontrar ayuda y documentación adicional (en inglés) en:

http://www.columbia.edu/~ariel/acpi/acpi_howto.txt (how-to ACPI, algo incompleto y poco actual)

http://www.cpqlinux.com/acpi-howto.html (más completo queel anterior, incluye parches para la tabla DSDT)

http://www.intel.com/technology/iapc/acpi/faq.htm (pre-guntas de uso frecuengte sobre ACPI de @Intel)

http://www.brodo.de/english/pub/acpi/proc/processor.html (descripción de los subdirectorios de /proc/acpi/processor )

http://acpi.sourceforge.net/ (el proyecto ACPI4Linux enSourceforge)

http://www.brodo.de/english/pub/acpi/index.html (parchesACPI)

http://codecs.home.sapo.pt/acpi/index.html (parches ACPI)

http://www.poupinou.org/acpi/ (parches DSDT de Bruno Ducrot)

http://www.brodo.de/cpufreq/ (el proyecto Linux CPUFreq)

http://falcon.sch.bme.hu/~seasons/linux/swsusp.html (hi-bernación del kernel: proyecto swsusp)

279SuSE Linux – Manual de Administración

Page 298: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Parar el disco duro

En Linux es posible parar el disco duro cuando no se necesita. Esto se realizamediante el programa hdparm, que tiene varias opciones. Por ejemplo -y poneel disco duro inmediatamente en modo de ”reposo”, mientras que -Y lo paracompletamente. Con ( hdparm -S 〈x〉 se consigue que el disco duro se apaguetras un determinado período de inactividad. La posición 〈x〉 tiene distintos sig-nificados: 0 apaga el mecanismo, el disco sigue funcionando; los valores entre 1y 240 se multiplican por 5 segundos; entre 241 y 251 corresponden desde 1 a11 veces 30 minutos.

Sin embargo a menudo no es tan sencillo puesto que existe una gran cantidadde procesos en Linux que escriben datos en el disco y lo reactivan una y otravez. Por tanto es importante comprender la forma en que Linux trabaja con losdatos que se deben escribir en el disco.

Primero se envían todos los datos a un búfer que escribe en la memoria de tra-bajo, el cual es controlado por el ’Kernel Update Daemon’ (kupdated). Siempreque un dato alcance una determinada ”edad” o el búfer se llena hasta un deter-minado nivel, el búfer se vacía y se pasan los datos al disco duro. El tamaño delbúfer es dinámico y depende del tamaño de la memoria y del sistema. Puestoque la prioridad es la seguridad de los datos, el kupdated funciona a pequeñosintervalos de tiempo: prueba el búfer cada 5 segundos e informa al daemon ’bd-flush’ de qué datos llevan más de 30 segundos en el búfer o si este se encuentralleno al 30 %. Entonces el daemon bdflush escribe los datos en el disco, aunquetambién lo hace independientemente de kupdated. Si tiene un sistema establepuede cambiar estas configuraciones, pero no olvide que puede disminuir elnivel de seguridad de sus datos.

Se puede encontrar las configuraciones con cat /proc/sys/vm/bdflush .El primer valor es el nivel de llenado del búfer a partir del cual este se vacía.El sexto valor es la edad máxima de los datos en el búfer, contada en 1//100segundos.

280 APM y ACPI – Powermanagement

Page 299: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

El quinto valor es el intervalo en que kupdated prueba el búfer, también en1//100 segundos. Para p. ej. aumentar el intervalo de kupdated a un minuto,introduzca nuevos números en este fichero.

echo 30 500 0 0 6000 > /proc/sys/vm/bdflush

Así

echo 60 > /proc/sys/vm/bdflush

cambia el nivel de llenado del búfer al 60 %. El resto de los valores están de-scritos en el fichero Documentation/filesystems/proc.txt de las fuentesdel kernel.

Cuidado: Las modificaciones en la configuración del Kernel Update Daemoninfluyen en la seguridad de los datos. Si no está seguro, no lo haga.

Las opciones del timeout del disco duro, del intervalo kupdated, del nivel dellenado del búfer y de la edad de los datos se pueden depositar dos veces en/etc/sysconfig/powermanagement : una para la batería y otra para el fun-cionamiento del suministro externo de energía. Las variables se describen en elapartado ’apmd’ y en el mismo fichero.

Además de todo lo anterior, los denominados ”sistema de ficheros Jounaling”,como p. ej. reiserfs o ext3, escriben sus metadatos en el disco duro independien-temente de bdflush, lo cual también impide que el disco duro quede inactivo. Enel momento de la elaboración de esta documentación, ext3/jbd respeta el quintovalor en /proc/sys/vm/bdflush y en raras ocasiones escribe sus metadatoscuando se aumenta este valor. Pero lamentablemente esto no funciona con reis-erfs. En caso de duda, es mejor recurrir al viejo y efectivo sistema de ficheros’ext2’.

Naturalmente también se debe tener en cuenta la forma en que se comportan losprogramas que se están utilizando. p. ej. los buenos editores de texto escribencon regularidad los ficheros modificados en el disco, lo cual hace que el discose reactive una y otra vez. Tales propiedades se pueden desactivar pero estoprovoca una disminución en el nivel de seguridad de los datos.

IrDA – Infrared Data Association

IrDA (”Infrared Data Association”) es un estándar industrial para la comuni-cación inalámbrica por onda infrarroja. Muchos de los portátiles que se vendenhoy en día incorporan un emisor/receptor que permite la comunicación conotros dispositivos tales como impresoras, módems, LAN u otros portátiles. Latasa de transferencia se sitúa entre 2400 bps y 4 Mbps.

281SuSE Linux – Manual de Administración

Page 300: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Hay dos modos de funcionamiento para IrDA. El modo estándar SIR se comu-nica con el puerto infrarrojo a través de una conexión serie. Este modo funcionacon casi todos los dispositivos y cumple todas las exigencias. El modo más rápi-do FIR requiere un driver especial para el chip IrDA, pero no existen driverspara todos los chips. Además se debe configurar el modo deseado en el setup dela BIOS. Allí se puede averiguar la conexión serial que se utiliza para el modoSIR.

Puede encontrar información sobre IrDA en el IrDA-Howto de Werner Heuseren http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html yen la página web del Proyecto IrDA de LInux http://irda.sourceforge.net/ .

Software

Los módulos necesarios se incluyen en el paquete del kernel. El paquete irdacontiene los programas de ayuda necesarios para el soporte de la conexión deinfrarrojos. La documentación al respecto se encuentra después de la instalaciónen /usr/share/doc/packages/irda/README .

Configuración

IrDA no se instala automáticamente al arrancar. Utilice el módulo Runlevel deYaST2 para cambiar las configuraciones de este servicio del sistema. Otra opciónes utilizar el programa ( chkconfig). Desgraciadamente, IrDA requiere más en-ergía (corriente externa o batería), puesto que envía un paquete Discovery cadados segundos, con el fin de reconocer automáticamente otros dispositivos per-iféricos. Por esto, si trabaja con batería, debería arrancar IrDA sólo cuando lovaya a utilizar. Con el comando

rcirda start

puede activar manualmente la conexión, o desactivarla (con el parámetro stop ).Al activar la conexión se cargarán automáticamente los módulos del kernelnecesarios.

En el fichero path/etc/sysconfig/irda sólo hay una variable 〈IRDA_PORT〉. Allípuede configurar la conexión que se va a utilizar en modo SIR; el script /etc/irda/drivers se encarga de esta configuración cuando se inicia el soporte deinfrarrojos.

282 IrDA – Infrared Data Association

Page 301: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

9O

rde

na

do

res

po

rtátile

s–

PCM

CIA

,APM

,IrDA

Uso

Para imprimir por vía infrarroja, es posible enviar los datos a través del ficherode dispositivo /dev/irlpt0 . Este se comporta igual que la interfaz o ficherode dispositivo /dev/lp0 con conexión ”alámbrica” sólo que los datos viajanpor vía infrarroja.

Se puede configurar una impresora que trabaja con el puerto IrDA tal como unaimpresora en el puerto paralelo o puerto serie.Al imprimir, asegúrese de que laimpresora esté ”a la vista” del puerto IrDA del ordenador y de que el soporte deinfrarrojos se haya iniciado.

El fichero de dispositivo /dev/ircomm0 permite comunicarse con otros orde-nadores, con teléfonos móviles o con dispositivos similares. Con el programawvdial se puede entrar vía infrarrojos a Internet usando por ejemplo el móvilS25 de Siemens. También es posible comparar datos con la Palm Pilot, para locual sólo tiene que introducir /dev/ircomm0 como dispositivo en el programacorrespondiente.

Tenga en cuenta que sólo se puede comunicar directamente con dispositivosque soportan los protocolos Printer o IrCOMM. Con programas especiales (co-mo irobexpalm3 , irobexreceive , teniendo en cuenta la descripción en IR-HOWTO) también nos puede comunicar con dispositivos que utilizan el proto-colo IROBEX (3Com Palm Pilot). En la distribución de nombres de dispositivosde irdadump se muestra entre paréntesis los protocolos soportados por el dis-positivo. El soporte del protocolo IrLAN está en proceso ”work in progress”:en este momento aún no es estable, pero estará disponible con Linux próxima-mente.

Solución de problemas

Si los dispositivos en el puerto de infrarrojos no reaccionan, se puede comprobarcon el comando irdadump si el ordenador llega a reconocer el otro dispositivo:

irdadump

Si hay una impresora Canon BJC-80 ”a la vista” del ordemador, aparece el si-guiente mensaje en la pantalla, repitiéndose periódicamente (ver salida en pan-talla 14).

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)

283SuSE Linux – Manual de Administración

Page 302: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

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 14: IrDA: irdadump

Si no aparece nada en pantalla o el otro dispositivo no responde, debe compro-bar primero la configuración de la interfaz. ¿Realmente está usando la interfazcorrecta? Esta se encuentra a veces también en /dev/ttyS2 o /dev/ttyS3 ytambién puede que se use otra interrupción que no sea la 3. En casi todos losportátiles es posible modificar esta configuración en la BIOS.

Con una sencilla cámara de vídeo puede comprobar si el diodo LED se iluminarealmente; en contraposición a los ojos humanos, la mayoría de las cámaras devídeo pueden ver la luz infrarroja.

284 IrDA – Infrared Data Association

Page 303: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Parte III

El sistema

Page 304: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 305: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

10Elke

rne

lde

Linux

El kernel de Linux

El kernel es el corazón del sistema. En las siguientes páginas no aprenderá cómoconvertirse en un ”hacker” del kernel, pero se explicará cómo se realiza unaactualización del kernel, y llegará a ser capaz de compilar e instalar un kernelconfigurado. Si procede como se indica en este capítulo, el kernel funcionaráadecuadamente y lo podrá arrancar en cualquier momento.

Actualización del kernel . . . . . . . . . . . . . . . . . . . . 288Las fuentes del kernel . . . . . . . . . . . . . . . . . . . . . 289Configuración del kernel . . . . . . . . . . . . . . . . . . . 289Módulos del kernel . . . . . . . . . . . . . . . . . . . . . . . 290Ajustes en la configuración del kernel . . . . . . . . . . . . 293Compilación del kernel . . . . . . . . . . . . . . . . . . . . 293Instalación del kernel . . . . . . . . . . . . . . . . . . . . . 294Limpieza del disco después de la compilación . . . . . . . . 295

Page 306: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El kernel, que se copia al directorio /boot durante la instalación, está configu-rado de tal forma que cubre un amplio espectro de hardware. Por eso no es nece-sario generar un kernel propio, a no ser que quiera probar utilidades o driversen fase de experimentación.

Ya existen makefiles para la creación de un nuevo kernel; con ayuda de estasel proceso se realiza casi de forma automática. Sólo la selección del hardwareque el kernel debe soportar tiene que realizarse de forma interactiva. Puestoque para realizar la selección correcta, debe conocer su sistema bastante bien, lerecomendamos – al menos en el primer intento – que modifique ficheros de con-figuración ya existentes y en funcionamiento, con el fin de disminuir el riesgo deuna realizar una configuración inadecuada.

Actualización del kernel

Para instalar un kernel de actualización de SuSE, descargue en su ordenadorel paquete de actualización del servidor FTP de SuSE o de un mirror como porejemplo: ftp://ftp.gwdg.de/pub/linux/suse/ . Antes de la instalaciónhaga una copia de seguridad del kernel original y del initrd correspondiente.Para ello ejecute los siguientes comandos como root :

cp /boot/vmlinuz /boot/vmlinuz.oldcp /boot/initrd /boot/initrd.old

Instale ahora el nuevo paquete con el comando:

rpm -Uvh <nombre_paquete>

Introduzca el número de versión correspondiente.

A partir de SuSE Linux 7.3 se utiliza reiserfs como sistema de ficheros estándar,lo que presupone un ”initial ramdisk”. Este se escribirá de nuevo con el coman-do mk_initrd .

Si se da el caso de que quiere arrancar el antiguo kernel, debe configurar el car-gador de arranque (ingl. bootloader). Puede encontrar más información en elcapítulo El proceso de arranque y el gestor de arranque en la página 77.

El proceso para instalar el kernel original desde los CDs de SuSE Linux es simi-lar. En el directorio suse/images del CD1 o DVD puede encontrar el kernelestándar como paquete rpm. Instálelo como se ha descrito anteriormente. En ca-so de que reciba un mensaje de error indicando que ya existe un nuevo paqueteinstalado, añada la opción --force al comando rpm.

288 Actualización del kernel

Page 307: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

10Elke

rne

lde

Linux

Las fuentes del kernel

Para poder generar un kernel propio se deben instalar las fuentes del kernel(paquete kernel-source ). El resto de los paquetes necesarios – el compiladorde C (paquete gcc ), los GNU Binutils (paquete binutils ) y las librerías de C(Include-files) (paquete glibc-devel ) – se instalarán automáticamente.

Tras la instalación, las fuentes del kernel se encuentran en el directorio /usr/src/linux-<kernel-versión>.SuSE . Si le gusta experimentar con el ker-nel y tener varias versiones en el disco, resulta bastante práctico desempaquetarlas fuentes de los diferentes kernel en diferentes directorios y acceder a las ac-tualmente válidas mediante un enlace, ya que existen paquetes de software queesperan encontrar las fuentes del kernel de /usr/src/linux . YaST instala lospaquetes de esta forma automáticamente.

Configuración del kernel

La configuración del kernel que se instaló en el sistema durante la instala-ción o actualización está contenida en el fichero /boot/vmlinuz.config .Para modificar esta configuración conforme a sus necesidades, cambie co-mo usuario root al directorio /usr/src/linux y ejecute bien el comandomake oldconfig que creará el fichero .config , o bien el siguiente comando:

tierra:/usr/src/linux # cp /boot/vmlinuz.config .config

Las herramientas de configuración del kernel evalúan entonces el fichero.config . El kernel se puede configurar de tres formas distintas: mediante lalínea de comandos, mediante un menú en modo texto, o mediante un menú ensistema X Window. A continuación se presentan brevemente estos tres modos.

Configuración en la línea de comandos

Para configurar el kernel, cambie a /usr/src/linux e introduzca el siguientecomando: make config .

Aparece una serie de preguntas sobre las funciones que el kernel debe soportary para contestarlas existen generalmente dos o tres posibilidades: Ya sea el sen-cillo

����y o�� ��n o bien

����y (ingl. yes),�� ��n (ingl. no) o

�� ��m (ingl. module). ‘m’ significaque el driver correspondiente no se incorpora fijo en el kernel, sino que es posi-ble ”añadirlo” en tiempo de ejecución.

Por supuesto, todos los drivers que se necesitan para arrancar el sistema debenincorporarse de forma fija al kernel; para estos módulos pulse

����y . Pulse�� ��Intro

para confirmar la selección que se leerá de .config . Al presionar cualquier otratecla, aparece una ayuda corta sobre la correspondiente opción.

289SuSE Linux – Manual de Administración

Page 308: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Configuración en modo texto

Una vía más asequible para configurar el kernel se consigue con ”menuconfig”,para lo que debe instalar el paquete(ncurses-devel) con YaST2. Arranque la con-figuración del kernel con el comando make menuconfig .

Si el cambio en la configuración es pequeño, no tiene por qué pasar por todaslas preguntas. sino que también puede elegir directamente en el menú los cam-pos que le interesan. Las configuraciones predeterminadas se encuentran en.config . Para cargar otra configuración, escoja el punto del menú ‘Load anAlternate Configuration File’ e introduzca el nombre del fichero.

Configuración mediante sistema X Window

Si están instalados los paquetes sistema X Window (paquete xf86 ), Tcl/Tk (pa-quete tcl y paquete tk ), queda la alternativa de iniciar el proceso de instala-ción con:

tierra:/usr/src/linux # make xconfig

De este modo se dispone de una interfaz gráfica más confortable pero es pre-ciso iniciar el sistema X Window como superusuario root , o primero en Shellintroducir xhost + como usuario normal, para poder tener acceso a la pantallacomo root . Las configuraciones predeterminadas se encuentran en .config ,por lo que mientras no realice una nueva configuración, las configuraciones eneste fichero son las que se corresponden con el kernel estándar de SuSE.

Módulos del kernel

Existe una gran cantidad de componentes de hardware para PCs. Para utilizareste hardware correctamente, se necesita un driver que haga de intermediarioentre el sistema operativo (en Linux es el kernel) y el hardware. Normalmenteexisten dos mecanismos para integrar drivers en el kernel:

Drivers unidos al kernel. En este manual denominaremos a este tipo dekernel ”de una sola pieza” como kernel monolítico. Algunos drivers sólopueden funcionar de esta forma.

Drivers cargados en el kernel cuando se necesitan, lo que denominaremoscomo kernel modularizado. La ventaja aquí es que sólo se cargan los driversque se necesitan realmente y por lo tanto el kernel no contiene ningunacarga innecesaria.

290 Módulos del kernel

Page 309: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

10Elke

rne

lde

Linux

En la configuración del kernel, se establece qué drivers se unirán al módulo ycuáles se añadirán como módulos. Todos los componentes del kernel que nosean necesarios durante el proceso de arranque deberán añadirse como módu-los. De esta forma nos aseguramos de que el kernel no aumente excesivamentede tamaño, lo que provocaría dificultades al ser cargado por la BIOS y por elcargador de arranque (ingl. bootloader). El driver de los discos duros, soportepara ext2 y otros similares se suelen compilar directamente en el kernel; mien-tras que el soporte para isofs , msdos o sound se debe compilar como módulo.

Los módulos del kernel se guardan en el directorio /lib/modules/ 〈pathversión〉, donde 〈versión〉 corresponde a la versión actualdel kernel (por ejemplo 2.4.18).

Manejo de los módulos

Existen los siguientes comandos para trabajar con módulos:

insmodEl comando insmod carga el módulo indicado que se busca en un sub-directorio de /lib/modules/ 〈versión 〉. A favor del mejor comandomodprobe se debería dejar de usar insmod .

rmmodEste comando descarga el módulo indicado, lo cual solo es posible cuandose ha dejado de usar esta función del módulo, y no es posible descargarp. ej. el módulo isofs cuando todavía hay un CD montado.

depmodEste comando genera en el directorio /lib/modules/ 〈versión 〉 elfichero modules.dep que registra la dependencia de los módulos entresí. De este modo hay seguridad de que se cargan automáticamente todoslos módulos que dependen del primero. El fichero con las dependenciasde los módulos se genera automáticamente cuando Linux se inicia (salvoque el fichero ya exista).

modprobeCarga 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 secargue uno exitosamente). Al contrario de insmod, modprobe evalúa elfichero /etc/modules.conf y por eso solo se debería usar para cargarmódulos. La página de manual de modprobe explica todas las posibili-dades.

291SuSE Linux – Manual de Administración

Page 310: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

lsmodMuestra los módulos actualmente cargados y sus dependencias. Losmó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 unmódulo que se descarga automáticamente cuando deja de ser usado paraun determinado tiempo y si se hayan tomado las medidas necesarias paraello, ver en esta página.

modinfoMuestra información sobre un módulo.

/etc/modules.conf

El fichero /etc/modules.conf influye sobre la carga de módulos (ver páginadel manual de depmod (man depmod)).

Es precisamente este fichero el que permite indicar los parámetros para aquellosmódulos que acceden directamente al hardware y por lo tanto deben ser adap-tados específicamente al ordenador (p. ej. driver de unidades CD-ROM o driverpara tarjetas red). Los parámetros que se indican en este fichero son en princi-pio idénticos a los que se pasan al kernel a la hora de arrancar; sin embargo, enmuchos casos sus nombres son diferentes. Si no se consigue cargar un módu-lo, intente especificar el hardware en el fichero /etc/conf.modules y paracargarlo se debe usar el módulo modprobe en lugar de insmod.

Kmod – el cargador de módulos del kernel (ingl. Kernel ModuleLoader)

El modo más elegante para emplear módulos de kernel es el uso del cargador demódulos del kernel. Kmod permanece en segundo plano y se ocupa de cargarautomáticamente los módulos con llamadas a modprobe cuando se necesita lacorrespondiente 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).

Kmod no está diseñado para descargar automáticamente módulos; pensandoen la cantidad de memoria RAM de los ordenadores de hoy en día, se trata deun operación no necesaria, ya que con la descarga de un módulo se desocuparíamuy poca memoria (ver /usr/src/linux/Documentation/kmod.txt ).Los servidores que cumplen tareas muy específicas trabajan más rápido con unkernel ”monolítico”.

292 Módulos del kernel

Page 311: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

10Elke

rne

lde

Linux

Ajustes en la configuración del kernel

Debido a la gran cantidad no es posible detallar en este manual todas las op-ciones que ofrece la configuración del kernel, pero se puede usar la amplia ayu-da en línea de la que se dispone durante la configuración del kernel. Lo másnuevo en cuanto a documentación se encuentra siempre en el paquete de lasfuentes del kernel en el directorio /usr/src/linux/Documentation .

Compilación del kernel

Recomendamos generar un ”bzImage” con el cual se evita el efecto de un kerneldemasiado grande. Es algo que ocurre a menudo cuando se han seleccionadodemasiadas características y luego se genera un ”zImage”. Con ”bzImage” seevitan 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:

tierra:/usr/src/linux # make dep clean bzImage

Después de una compilación correcta, pueda encontrar el kernel comprimidoen /usr/src/linux/arch/i386/boot La imagen del kernel – el fichero quecontiene el kernel – se llama bzImage .

293SuSE Linux – Manual de Administración

Page 312: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si este no se encuentra en el mencionado directorio, lo más probable es que hayaocurrido un error durante la compilación. Con la bash,

Si se trabaja con el bash, se puede volver a iniciar el proceso de compilación ydejar que se escriba en el fichero kernel.out :

tierra:/usr/src/linux # make bzImage 2>&1 | tee kernel.out

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

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 copiar elnuevo kernel a /boot/vmlinuz e iniciar después LILO.

Sin embargo, es mejor conservar el kernel antiguo (como /boot/vmlinuz.old ) para evitar sorpresas, en caso de que el nuevo no funcione tal como se es-pera:

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.

AtenciónEn caso de utilizar GRUB como cargador de arranque, no es necesarioreinstalar éste. Así pues, realice sólo los dos primeros pasos para copiar elkernel en el lugar adecuado del sistema.

Atención

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/ 〈versión 〉).Los módulos antiguos de la misma versión de kernel se suprimen. Esto no rep-resenta mucho problema ya que se pueden instalar nuevamente desde los CDs,junto con el kernel.

294 Instalación del kernel

Page 313: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

10Elke

rne

lde

Linux

TrucoSi se incorporan módulos al kernel, es necesario quitarlos en /lib/modules/ 〈versión 〉 , ya que en caso contrario pueden aparecer efectosextraños. Por eso se ruega encarecidamente a los principiantes en materiade Linux, no compilar un kernel propio.

Truco

Para que LILO o GRUB puedan arrancar el kernel antiguo (ahora /boot/vmlinuz.old ), introduzca en el fichero /etc/lilo.conf o /boot/grub/menu.lst una etiqueta adicional Linux.old como imagen de arranque (ingl.boot-image). Este procedimiento se describe de forma detallada en el capítulo Elproceso de arranque y el gestor de arranque en la página 77.

Si utiliza LILO como cargador de arranque, ha de volver a ejecutar lilo ca-da vez que modifique el fichero /etc/lilo.conf . En el caso de GRUB no esnecesario reinstalarlo.

Además tenga en cuenta lo siguiente: el fichero /boot/System.map contienelos 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 actualdel kernel por lo que se debería copiar el fichero actual (después de cada com-pilación este fichero se genera de nuevo) /usr/src/linux/System.map aldirectorio /boot una vez que la compilación haya finalizado. Si se usa el co-mando make bzlilo o make zlilo para generar el kernel, la mencionadacopia se hace automáticamente.

Un mensaje como "System.map does not match actual kernel" durante el ar-ranque del sistema, indica que el fichero System.map no se ha copiado al direc-torio /boot .

Limpieza del disco después de la compi-lación

Los ficheros objeto que se generan durante la compilación del kernel se puedenborrar si estos ocupan demasiado espacio de disco:

tierra:~ # cd /usr/src/linux

tierra:/usr/src/linux # make clean

295SuSE Linux – Manual de Administración

Page 314: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Sin embargo, si dispone de suficiente espacio de disco y además piensa modifi-car la configuración del kernel puede saltarse este paso. De este modo una nue-va compilación va mucho más rápido, ya que solo se compilan las partes delsistema que fueron modificadas.

296 Limpieza del disco después de la compilación

Page 315: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Características del sistema

Indicaciones sobre Filesystem Hierarchy Standard (FHS) y Linux Standard Base(LSB), paquetes individuales de software y particularidades, como el ”initrd”al arrancar, el programa linuxrc y el ”sistema de rescate”.

Estándares de Linux . . . . . . . . . . . . . . . . . . . . . . 298Entornos de ejemplo para FTP y HTTP . . . . . . . . . . . . 298Observaciones sobre paquetes especiales . . . . . . . . . . . 299Arrancar con initial ramdisk . . . . . . . . . . . . . . . . . . 305linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310El sistema de rescate de SuSE . . . . . . . . . . . . . . . . . 315Consolas virtuales . . . . . . . . . . . . . . . . . . . . . . . 321Distribución del teclado . . . . . . . . . . . . . . . . . . . . 322Configuración nacional – I18N/L10N . . . . . . . . . . . . 323

Page 316: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Estándares de Linux

Filesystem Hierarchy Standard (FHS)

SuSE Linux intenta cumplir al máximo el estándar sobre jerarquía del sistemade ficheros (ingl. Filesystem Hierarchy Standard) (FHS, paquete fhs ), véasehttp://www.pathname.com/fhs/ . Por lo tanto a veces es necesario moverficheros o directorios al lugar ”correcto” en el árbol de directorios, tal y comoestá establecido en FHS.

Linux Standard Base (LSB)

SuSE soporta activamente los esfuerzos del proyecto Linux Standard Base, sobreel cual es posible informarse en http://www.linuxbase.org .

La especificación de LSB existe en la versión 1.2; el estándar sobre jerarquía delsistema de ficheros (FHS) forma ahora parte del LSB, y entre otras cosas incluyeuna especificación del formato de paquetes y de la inicialización del sistema;véase el capítulo 12 en la página 327

teTeX – TeX en SuSE Linux

TEX es un completo sistema que funciona en una gran cantidad de plataformasy se puede ampliar mediante paquetes macros como LATEX. Está compuesto demuchos ficheros individuales, que se combinan conforme a la estructura de di-rectorios TEX (TDS, TEX Directory Structure) (véase ftp://ftp.dante.de/tex-archive/tds/ ). teTeX es la combinación del actual software TEX.

Con SuSE Linux, teTeX está disponible con una configuración que cumple lasexigencias tanto de TDS como de FHS.

Entornos de ejemplo para FTP y HTTP

Sobre FTP

El paquete ftpdir contiene un entorno de ejemplo para facilitar la configura-ción de un servidor FTP. Este entorno se instala en /srv/ftp .

298 Estándares de Linux

Page 317: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Sobre HTTP

El servidor web predeterminado de SuSE Linux es Apache, que se instala juntocon algunos documentos de ejemplo en el directorio /srv/www . Para poner enmarcha un servidor de web propio se recomienda definir un DocumentRootpropio en el fichero /etc/httpd/httpd.conf en el que colocará sus ficheros(documentos, imágenes, etc.).

Observaciones sobre paquetes especiales

El paquete bash y /etc/profile

Cuando se le llama como shell de login, bash utiliza los ficheros de inicializa-ción en el siguiente orden:

1. /etc/profile

2. ~/.profile

3. /etc/bash.bashrc

4. ~/.bashrc

Los usuarios pueden efectuar las entradas propias en ~/.profile o ~/.bashrc . Para garantizar el trabajo ordenado de estos ficheros, recomendamoshacerse cargo de la configuración básica actual de /etc/skel/.profile o/etc/skel/.bashrc en el directorio del usuario. Por tanto, después de unaactualización le recomendamos que recoja las configuraciones de /etc/skel ;para no perder las propias adaptaciones, ejecute los siguiente comandos en lashell:

mv ~/.bashrc ~/.bashrc.oldcp /etc/skel/.bashrc ~/.bashrcmv ~/.profile ~/.profile.oldcp /etc/skel/.profile ~/.profile

Una vez hecho, puede buscar sus adaptaciones en los ficheros *.old .

299SuSE Linux – Manual de Administración

Page 318: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El paquete cron

Las tablas de cron se encuentran en /var/spool/cron/tabs . El fichero/etc/crontab se genera como tabla de comandos para todo el sistema. Eneste fichero hay que anotar, además de la hora, el usuario que ha encargado latarea a ejecutar (ver fichero 29, en el que figura root como usuario); las tablasespecíficas de los paquetes (en /etc/cron.d ) siguen la misma filosofía – verpágina del manual de cron (man 8 cron ).

1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun

Fichero 29: Ejemplo de entrada en /etc/crontab

No se puede usar el comando crontab -e para modificar /etc/crontab ; sedebe 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 inicia cada 15 minutos desde la tabla principal (/etc/contrab ). Portanto, no se asombre si el usuario nobody aparece poco después del arranquedel sistema, con mucha actividad en la tabla de procesos. Lo más probable esque nobody esté actualizando la base de datos locate (ver el apartado Configu-raciones básicas en /etc/sysconfig en la página 354).

Las tareas diarias de mantenimiento del sistema están divididas en variosscripts en aras de la claridad. (paquete paquete aaa_base ). Por tanto, en/etc/cron.daily puede encontrar junto a aaa_base p. ej.los componentesbackup-rpmdb , clean-tmp o clean-vi .

Archivos de registro – el paquete logrotate

Muchos servicios del sistema (”Daemons”) y también el kernel mismo vuelcanperiódicamente el estado del sistema y sucesos especiales en archivos de regis-tro (ingl. logfiles). Así el administrador puede controlar de forma eficaz en queestado se encontró el sistema en un momento determinado, detectar errores ofunciones erróneas y solucionarlos adecuadamente. Estos archivos de registro seguardan según el FHS en /var/log y aumentan cada día su tamaño. Con ayu-da del paquete logrotate se puede controlar el crecimiento de los archivos deregistro.

300 Observaciones sobre paquetes especiales

Page 319: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Migración a logrotate (8.0)

Al actualizar una versión anterior a SuSE Linux 8.0 se guardan parámetros de laconfiguración anterior:

Se mueven a /etc/logrotate.d/aaa_base las entradas de /etc/logfile , que no están relacionadas con un paquete concreto.

La antigua variable de rc.config MAX_DAYS_FOR_LOG_FILES se rep-resenta como dateext y maxage en el fichero de configuración; ver pági-na del manual de logrotate (man 8 logrotate ).

Configuración

El fichero de configuración /etc/logrotate.conf define el comportamien-to general. Mediante la indicación include se determina principalmente quéficheros se deben evaluar; en SuSE Linux está previsto que los paquetes individ-uales instalen ficheros en /etc/logrotate.d (p. ej. syslog o yast ).

# see "man logrotate" for details# rotate log files weeklyweekly

# keep 4 weeks worth of backlogsrotate 4

# create new (empty) log files after rotating old onescreate

# uncomment this if you want your log files compressed#compress

# RPM packages drop log rotation information into this directoryinclude /etc/logrotate.d

# no packages own lastlog or wtmp - we’ll rotate them here#/var/log/wtmp {# monthly# create 0664 root utmp# rotate 1#}# system-specific logs may be also be configured here.

Fichero 30: Ejemplo de /etc/logrotate.conf

301SuSE Linux – Manual de Administración

Page 320: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

logrotate se controla con cron; se arranca una vez al día mediante /etc/cron.daily/logrotate .

Atención

La opción create no reconsidera eventuales ajustes efectuados como ad-ministrador en los ficheros /etc/permissions* . Por favor, asegúresede que no se produzcan conflictos al realizar sus propios ajustes .

Atención

Páginas man

Para algunos programas GNU, no se siguen manteniendo las páginas man (p. ej.tar). En su lugar se puede usar como ayuda rápida la extensión --help o losficheros del tipo info. Info (info ) es el sistema de hipertexto de GNU cuyo usose explica con el comando info info . Se puede llamar a info a través deEmacs con el comando emacs -f info o también sólo con el comando info .De uso agradable son tkinfo , xinfo o el acceso a través del sistema de ayuda.

El comando ulimit

El comando ulimit (ingl. user limits) permite limitar los recursos del sistemao visualizarlos. ulimit es especialmente útil para limitar el uso de la Memoriapor parte de las aplicaciones. Así es posible evitar que una aplicación se reservedemasiada o toda la memoria, lo que podría provocar el cuelgue del sistema.

ulimit tiene varias opciones; las que limitan el gasto de memoria figuran en latabla 11.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 11.1: ulimit : Limitar los recursos para el usuario

Los límites para todo el sistema se pueden establecer en /etc/profile . Tam-

302 Observaciones sobre paquetes especiales

Page 321: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

bién es en este fichero donde se debe dar de alta la creación de los ficheros core,que necesitan los programadores para depurar código (ingl. debugging). Los usu-arios no pueden aumentar los valores que el administrador del sistema defineen /etc/profile , pero sí que pueden hacer una configuración personal en~/.bashrc .

# Limitar la memoria RAM:ulimit -m 98304

# Limitar la memoria virtual (swap):ulimit -v 98304

Fichero 31: Establecer límites con ulimit en \tld/.bashrc

Todos los valores se han de indicar en KB. Información más detallada se encuen-tra en página del manual de bash (man bash).

AtenciónNo todas las shells soportan entradas para ulimit . Si debe realizar unaconfiguración más avanzada, PAM (p. ej. pam_limits ) le ofrece másposibilidades.

Atención

El comando free

El comando free es bastante engañoso cuando se trata de averiguar la memo-ria de trabajo que se está utilizando. . .

Puede encontrar información útil en /proc/meminfo . Hoy en día no se deberíapreocupar por esto ningún usuario que utilice un sistema de trabajo modernocomo Linux. El concepto de ”memoria de trabajo libre” viene de la época enque aún no existía ningún administrador de memoria unificado (ingl. unifiedmemory management). En Linux existe el lema: memoria libre es memoria mala (ingl.free memory is bad memory). Como consecuencia, Linux siempre se esfuerza porequilibrar el uso de la memoria caché sin llegar nunca a dejar memoria libre(=sin usar).

Básicamente, el kernel no sabe directamente de programas o datos de usuarios;se dedica a administrar programas y datos en los denominados ”page cache”.

303SuSE Linux – Manual de Administración

Page 322: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Cuando la memoria se queda pequeña, algunos trozos se escriben en la zonade intercambio (ingl. swap) o en los ficheros de los cuales leía al principio conayuda de mmap; véase página del manual de mmap(man 2 mmap).

Además el kernel dispone de otra memoria caché adicional, como la ”slabcache”, que p. ej.contiene los búferes empleados para el acceso a redes. Deesta forma se solucionan las diferencias que puedan surgir entre los conta-dores de /proc/meminfo . La mayoría, pero no todos, se pueden pedir en/proc/slabinfo .

El fichero /etc/resolv.conf

La resolución de nombres se regula en el fichero /etc/resolv.conf ; véaseapartado DNS – Domain Name Service en la página 401.

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 actu-alizar /etc/resolv.conf . La configuración de red y los datos correspondien-tes sólo se pueden mantener consistentes si se cumple siempre esta regla.

Configuración de GNU Emacs

GNU Emacs es un entorno de trabajo bastante complejo. Puede encontrar másinformación sobre el mismo en:

vgl. http://www.gnu.org/software/emacs/ .

En los siguientes párrafos se mencionan los ficheros de configuración queGNU Emacs procesa durante el inicio.

Al iniciarse, Emacs lee diversos ficheros para adaptarse o preconfigurarse con-forme a las especificaciones del usuario, administrador de sistemas o del dis-tribuidor según corresponda.

El fichero de inicio ~/.emacs es instalado en el directorio local de cada usuariopor /etc/skel ; .emacs lee a su vez el fichero /etc/skel/.gnu-emacs . Siun usuario desea modificar este fichero, se recomienda copiarlo en el propiodirectorio local de usuario y allí realizar los cambios deseados:

cp /etc/skel/.gnu-emacs /.gnu-emacs

El fichero ~/.gnu-emacs-custom es creado en .gnu-emacs comocustom-file . Si el usuario quiere realizar su propia configuración por mediode de customize, los cambios se guardarán en ~/.gnu-emacs-custom .

304 Observaciones sobre paquetes especiales

Page 323: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Junto con paquete emacs se instala en SuSE Linux el fichero site-start.elen el directorio /usr/share/emacs/site-lisp . El fichero site-start.else carga antes que el fichero de inicio ~/.emacs . site-start.el se ocupa,por ejemplo, de cargar automáticamente ficheros de configuración que han sidoinstalados con paquetes complementarios de Emacs incluidos en la distribución(ej.paquete psgml ). Tales ficheros de configuración se encuentran también en/usr/share/emacs/site-lisp y comienzan siempre con suse-start- .

El administrador local de sistemas puede definir opciones de configuración váli-das en todo el sistema con default.el .

El fichero info sobre Emacs en el nodo Init File: info:/emacs/InitFile , con-tiene más información sobre estos ficheros. Allí también se describe cómo evitarque se carguen los mismos (en caso de que sea necesario).

Los componentes de Emacs están distribuidos en varios paquetes:

Paquete básico emacs.

Además hay que instalar normalmente el paquete paquete emacs-x11 , elcual contiene el programa con soporte para X11.

En el paquete paquete emacs-nox se incluye el programa sin soporteX11.

paquete emacs-info : documentación en línea en formato info.

paquete emacs-el contiene los ficheros de librerías no compiladas enEmacs Lisp. Actualmente no es necesario.

Numerosos paquetes adicionales que pueden ser instalados en casonecesario: paquete emacs-auctex (para LATEX); paquete psgml (paraSGML/XML); paquete gnuserv (para Client-/Serverbetrieb), etc.

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 otros módulos de kernel para pro-porcionar funciones adicionales.

Para llegar al punto de montar el sistema de ficheros raíz, se tienen que cumplirvarias condiciones.

305SuSE Linux – Manual de Administración

Page 324: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Por una parte, el kernel necesita el driver para acceder al dispositivo que con-tiene el sistema de ficheros raíz (sobre todo los drivers para SCSI) y por otraparte el kernel tiene que contener el código necesario para leer el sistema deficheros (ext2 , reiserfs , romfs , etc.). Además es posible que el sistema deficheros raíz ya esté codificado, con lo cual se tendría que introducir la con-traseña para montarlo.

Hay diferentes soluciones para resolver el problema de los drivers de SCSI. Unaposibilidad sería un kernel que contenga todos los drivers existentes, lo quetiene como desventaja el aumento de su tamaño y que pueda haber conflictosentre todos los drivers. Otra solución sería proporcionar diferentes kernels, delos que cada uno contenga uno o un par de drivers SCSI. Esta solución es tam-bién complicada ya que requiere una gran cantidad de kernels diferentes, canti-dad que además se multiplica por las diferentes optimizaciones para Pentium oSMP.

La solución óptima es la de cargar el driver SCSI como módulo. Esta soluciónrequiere la posibilidad de ejecutar programas del área (de memoria) de usuarioantes de montar el sistema de ficheros raíz. Este procedimiento se puede realizarmediante el concepto del initial ramdisk (disco de memoria inicial).

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 posibili-dad de cargar un sistema de ficheros pequeño a un disco de memoria (ramdisk)para ejecutar programas dentro del mismo antes del montaje real del sistema deficheros raíz. El ”bootloader” (GRUB, LILO, etc.) se encarga de cargar el initrd .Todos los ”bootloader” sólo necesitan rutinas de la BIOS para leer los datos deldisco. Cuando el ”bootloader” es capaz de cargar el kernel, este también puedecargar el disco de memoria inicial por lo que ya no se necesitan drivers espe-ciales.

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

Normalmente el initrd está comprimido, por lo que el kernel lo descomprimey 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 montarel sistema de ficheros ”normal”. En el momento que linuxrc finaliza, el disco

306 Arrancar con initial ramdisk

Page 325: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

temporal initrd se desmonta y el proceso de arranque sigue en su secuenciahabitual, montando el sistema de ficheros raíz verdadero. El montaje de initrdy la ejecución de linuxrc se pueden observar como pasos intermedios durante elproceso de arranque normal.

Después de montar las particiones raíz verdaderas el kernel intenta de remon-tar el initrd al directorio /initrd . En caso de error, p. ej. porque el punto demontaje no existe, el kernel intentará desmontar el initrd . Si esto fracasa tam-bién el sistema es completamente operativo, pero nunca será posible liberar elespacio de memoria que initrd ocupa.

El programa linuxrc

Las condiciones para linuxrc dentro del initrd son las siguientes: Debe tenerel nombre especial linuxrc y se debe encontrar dentro del directorio raíz delinitrd . Aparte de esto sólo 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 li-brerías, pero en este caso las librerías compartidas (ingl. shared libraries) se debenencontrar como es usual bajo /lib en el initrd . linuxrc también podría ser unscript de la shell, pero para esto debería existir una Shell en /bin . Resumien-do, se puede decir que el initrd debe contener un sistema Linux mínimo quepermita ejecutar el programa linuxrc. Durante la instalación de SuSE Linux seusa un linuxrc enlazado estáticamente para mantener el initrd lo más pequeñoposible, ya que el espacio en los disquetes de arranque es muy reducido. linuxrcse 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 arranquecontinúa, con el kernel montando el sistema de ficheros raíz verdadero. linuxrcpuede influir sobre el tipo de sistema de fichero raíz que se va a montar. Para el-lo solo es necesario que linuxrc monte el sistema de ficheros /proc y escriba elvalor del sistema de ficheros raíz en forma numérica en /proc/sys/kernel/real-root-dev .

Bootloader

La mayoría de los ”cargadores/gestores de arranque” (ingl. bootload-er/bootmanager) son capaces de tratar un initrd (especialmente GRUB, LILOy syslinux). La forma de indicar a los ”bootloader” que usen un initrd es lasiguiente:

GRUB Introducir la siguiente línea en /boot/grub/menu.lst :

307SuSE Linux – Manual de Administración

Page 326: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

initrd (hd0,0)/initrd

Puesto que la dirección de carga de initrd se escribe en la imagen del ker-nel ya cargada, el comando initrd ha de ejecutarse a continuación delcomando del kernel .

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

syslinux Apuntar la siguiente línea en syslinux.cfg :

append initrd=initrd 〈parámetros adicionales 〉

Uso de initrd en SuSE

Instalación del sistema

Ya hace tiempos que se usa el initrd para la instalación. El usuario puede car-gar módulos en linuxrc e introducir los datos necesarios para la instalación (so-bre todo el medio fuente). Después linuxrc inicia YaST, que se encarga de la ins-talación. Cuando ésta haya terminado, YaST indica a linuxrc el lugar donde seencuentra el sistema recientemente instalado. Seguidamente linuxrc anota estevalor en /proc , se termina y el kernel sigue iniciándose con el sistema reciéninstalado.

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 ejecuciónno concuerda con los módulos que se hayan instalado en el sistema, se efectúaun reinicio del mismo. Esto solo hace falta cuando se ha instalado un kernelpara máquinas multiprocesador junto con sus módulos, ya que actualmenteSuSE Linux a la hora de arrancar, usa un kernel para ordenadores monoproce-sador. Para poder usar todos los módulos, hace falta iniciar el kernel SMP delsistema.

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 eranecesario para el montaje del sistema de ficheros raíz después del arranque. Losdemás drivers se podían cargar posteriormente como módulos.

308 Arrancar con initial ramdisk

Page 327: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Como ahora ofrecemos kernels optimizados, se trata de un concepto inválido,ya que harían falta más de 100 imágenes de kernel diferentes.

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 ellinuxrc es ahora un sencillo script que sólo se ocupa de cargar unos determi-nados 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 ramdisk) se genera mediante el script mk_initrd . Losmódulos que se han de cargar se definen, en el caso de SuSE Linux, con la varia-ble INITRD_MODULESen /etc/sysconfig/kernel . Después de una instala-ción esta variable contiene automáticamente los valores correctos, ya que linuxrcreconoce los módulos que se han cargado. Estos se cargan exactamente en el or-den de aparición en la variable INITRD_MODULES, lo cual es importante cuandose cargan varios drivers SCSI, ya que la enumeración de los discos cambia cuan-do los módulos se cargan en orden diferente. En realidad sería suficiente cargarsólo el driver SCSI que proporciona acceso al sistema de ficheros raíz. La cargaposterior automática de drivers SCSI es complicada (sería difícil secuenciarlo, sitambién hay discos conectados a la segunda controladora), por lo que preferi-mos cargar todos los drivers SCSI mediante el initrd .

El mk_initrd actual comprueba si realmente se necesita un driver SCSI paraacceder al sistema de ficheros raíz. Ejecutando mk_initrd en un ordenadorque tiene / sobre un disco EIDE, no se genera ningún initrd , ya que no hacefalta (los kernels de SuSE Linux incorporan el soporte EIDE). De hecho cada vezaparecen más controladoras EIDE específicas, por lo que hará falta usar en unfuturo un initrd también para estas controladoras.

Atención¡La carga de initrd por parte del ”bootloader” funciona igual que lacarga del kernel mismo (LILO anota en su fichero map la ubicación deestos datos) y por eso se requiere una nueva instalación de LILO despuésde cada cambio en initrd ! O sea, después de cada mk_initrd hay queejecutar lilo .

Atención

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

309SuSE Linux – Manual de Administración

Page 328: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

kernel, pero el initrd se ha quedado sin cambios. A la hora de arrancar pasa losiguiente: 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 quepuede paralizar el sistema (especialmente en caso del aic7xxx ). En realidad esun fallo del kernel, ya que no debería ser posible cargar de nuevo un driver yaexistente – el problema en sí ya se conoce por el driver para el puerto serie.

Existen varias soluciones para solventar este problema: Se configura el drivercomo módulo (entonces se carga correctamente con el initrd ) o bien, se qui-ta la entrada del initrd de /etc/lilo.conf . Sería lo mismo si se quita eldriver de INITRD_MODULESy se ejecuta mk_initrd ; este comando reconoceentonces que no se requiere ningún initrd .

El futuro

En el futuro es posible que se use initrd para tareas más sofisticadas que lasencilla carga de módulos necesarios para el acceso a / .

Driver ”High end” EIDE

Sistema de ficheros raíz sobre un software RAID (linuxrc configura losdispositivos 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.txtpágina del manual de initrd (man 4 initrd ).

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

310 linuxrc

Page 329: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

arrancar un kernel pequeño y modularizado, haciendo posible cargar como mó-dulos los pocos drivers que realmente se necesitan,lo cual se puede hacer inclu-so desde un disquete de módulos.

linuxrc ayuda en caso necesario a cargar manualmente los drivers relevantespara el hardware; aunque hoy en día generalmente se puede confiar en la detec-ción automática de hardware que se realiza antes de arrancar YaST2. linuxrc nosólo sirve para la instalación sino también como herramienta de arranque paraun 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 simple-mente cuando se ha olvidado la contraseña de root , ya que es posible arrancarun sistema de rescate a base de un ramdisk. Hay más información en el aparta-do El sistema de rescate de SuSE en la página 315.

Menú principal

Después de haber ajustado el idioma y el teclado se entra al menú principal delinuxrc (ver figura 1.2 en la página 13). Normalmente se usa linuxrc para arrancarLinux; por consiguiente el punto al que se debe llegar en este momento es laopción ‘Iniciar la instalación / Sistema’. Depende del hardware de su ordenadory del propósito de la instalación que se pueda entrar directamente a esta opción;puede encontrar más información en el apartado Instalación en modo texto conYaST2 en la página 10

Ajustes

Se puede realizar ajustes en las opciones ‘Idioma’, ‘Pantalla’, ‘Teclado’ y ‘Debug(experto)’.

Información del sistema

Con la opción ‘Información del sistema’ (figura 11.1 en la página siguiente)no sólo se pueden ver los mensajes del kernel sino también otros datos impor-tantes, como las direcciones de entrada y salida (ingl. I/O address) de las tarjetasPCI o el tamaño de la memoria principal.

Las siguientes líneas muestran cómo se presenta un disco duro y un lector CD--ROM conectados a una controladora EIDE. Es el caso en el que no hace faltacargar ningún módulo del kernel para la instalación:

hda: ST32140A, 2015MB w/128kB Cache, LBA, CHS=1023/64/63hdb: CD-ROM CDR-S1G, ATAPI CDROM drivePartition check:

hda: hda1 hda2 hda3 < hda5 >

311SuSE Linux – Manual de Administración

Page 330: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 11.1: Información del sistema

Por otra parte, si se ha arrancado con un kernel que incorpora un driver SCSI,tampoco hace falta cargar ningún módulo SCSI adicional. Las siguientes líneasmuestran un mensaje típico de reconocimiento de una controladora SCSI y delos dispositivos conectados:

scsi : 1 host.Started kswapd v 1.4.2.2scsi0 : target 0 accepting period 100ns offset 8 10.00MHz FAST SCSI-IIscsi0 : setting target 0 to period 100ns offset 8 10.00MHz FAST SCSI-II

Vendor: QUANTUM Model: VP32210 Rev: 81H8Type: Direct-Access ANSI SCSI revision: 02

Detected scsi disk sda at scsi0, channel 0, id 0, lun 0scsi0 : target 2 accepting period 236ns offset 8 4.23MHz synchronous SCSIscsi0 : setting target 2 to period 248ns offset 8 4.03MHz synchronous SCSI

Vendor: TOSHIBA Model: CD-ROM XM-3401TA Rev: 0283Type: 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 desdedisquete, linuxrc carga los datos necesarios y los presenta para elegir.

312 linuxrc

Page 331: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Si se ha arrancado desde el CD o desde DOS con loadlin, todos los módulos yaestán a disposición de linuxrc. Esto evita la demora en cargar, pero gasta másmemoria.

Figura 11.2: Cargar módulos

linuxrc ofrece los drivers disponibles en una lista. A la izquierda se ve el nombrede cada módulo y a la derecha una breve descripción del hardware para el cualestá hecho el módulo (driver).

Para algunos dispositivos existen varios drivers o también unos muy nuevosque aún se encuentran en fase alpha. Estos se ofrecen también aquí.

Introducción de parámetros

Si se ha encontrado el driver que corresponde al hardware, se coloca el cursorsobre la línea en cuestión y se pulsa

�� ��↵ . Aparece una pantalla con la posibili-dad de introducir parámetros que pasarán al módulo que se cargue.

Hay que tener en cuenta aquí, que múltiples parámetros deben estar separadospor espacios, contrastando con la introducción de parámetros en el prompt delkernel (MILO, LILO o SYSLINUX).

Por lo general no hace falta especificar el hardware, porque la mayoría de losdrivers encuentran los componentes por sí mismos. Solamente las tarjetas dered y lectores CD-ROM con controladora propia exigen a veces la indicación deparámetros. De todos modos se puede probar sencillamente pulsando

�� ��↵ sinpasar ningún parámetro.

313SuSE Linux – Manual de Administración

Page 332: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 11.3: Selección de los drivers SCSI

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 sonlas que se toman su tiempo durante la carga, ya que esperan un rato la respuestade todos los dispositivos conectados.

Cuando se haya cargado el módulo correctamente, linuxrc muestra los mensajesdel 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 instala-ción, se puede pasar a la opción ‘Iniciar la instalación / Sistema’.

En este punto (figura 1.3 en la página 15) se puede comenzar con una serie deprocesos: ‘Comenzar la instalación’ (desde aquí comienza también la actualiza-ción), ‘Iniciar el sistema instalado’ (hace falta conocer la partición raíz), ‘Iniciarsistema de rescate’ (ver apartado El sistema de rescate de SuSE en la página si-guiente) ‘Sacar CD (eject)’.

La opción ‘Iniciar LiveEval-CD’ sólo existe después de haber arrancado des-de un CD de evaluación (Live-CD). Imágenes de este CD en formato ISO estándisponibles en el servidor FTP (live-eval- 〈VERSION〉):

ftp://ftp.suse.com/pub/suse/i386/

314 linuxrc

Page 333: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Figura 11.4: Introducción de los parámetros para la carga de los módulos

Truco

La opción ‘Iniciar LiveEval-CD’ es bastante útil a la hora de comprobar lacompatibilidad de un determinado ordenador o de un portátil con Linux.Para ello no hace falta hacer una instalación real en el disco duro. ¡Se tratade una prueba que se podría efectuar sin más en cualquier tienda de PCsactual!

Truco

Se pueden elegir diferentes fuentes para la instalación (figura 11.5 en la páginasiguiente) y también para generar un sistema de rescate (figura 11.6 en la pági-na 319).

El sistema de rescate de SuSE

SuSE Linux contiene varios sistemas de rescate que permiten acceder ”desdefuera” a todas las particiones de Linux en los discos duros.

315SuSE Linux – Manual de Administración

Page 334: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 11.5: Selección del medio fuente en linuxrc

Existe el disquete de arranque y un sistema de rescate que se puede cargar des-de un CD, un disquete, la red o desde el servidor FTP de SuSE. Aparte de estoexiste un CD arrancable (el ”LiveEval-CD”, que puede servir igualmente comosistema de rescate.

El sistema de rescate contiene, entre otras, una buena selección de utilidadespara brindar suficientes herramientas que permitan arreglar una serie de prob-lemas, p. ej. imposibilidad de acceso a los discos o problemas con ficheros deconfiguración. parted(Parted) forma parte del sistema de arranque y sirve paramodificar el tamaño de las particiones; en caso de necesidad se le puede invocarmanualmente desde el sistema de rescate si no quiere utilizar el modificador detamaño integrado en /yastii. Puede encontrar más información sobre Parted en:

http://www.gnu.org/software/parted/

TrucoSiempre se debe mantener los disquetes de arranque y de rescate en unlugar seguro. El pequeño esfuerzo que se necesita para generarlos y man-tenerlos no tiene comparación con el trabajo y la pérdida de tiempo querepresenta no tener nada en un caso de emergencia.

Truco

316 El sistema de rescate de SuSE

Page 335: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Preparativos

Para crear el sistema de rescate se necesitan dos disquetes libres de daños: unocomo disquete de arranque y el otro para la imagen comprimida de un pequeñosistema 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 lec-tor CD-ROM bajo DOS):

Q:\> cd \ dosutils \ rawrite Q:\dosutils\rawrite> rawrite.exe

El disquete de rescate está actualmente ???(8.1) basado en la librería libc5 (SuSELinux 5.3); sólo así caben varios programas (un Editor, fdisk, e2fsck, etc.) en unsolo disquete.

AtenciónNo se puede montar el disquete de rescate ya que no contiene ningúnsistema de fichero, sino la imagen comprimida de uno. Si se desea verlaalguna vez, lea el siguiente párrafo.

Atención

Para contemplar la imagen descomprimida, primero se debe descomprimir ydespué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

317SuSE Linux – Manual de Administración

Page 336: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Iniciar el sistema de rescate

El sistema de rescate se inicia desde el disquete de arranque creado anterior-mente, desde el CD, o bien desde el DVD de SuSE Linux. Es importante que sepueda arrancar desde la disquetera o desde el lector CD-ROM/DVD respectiva-mente; si este no fuera el caso se tendría que cambiar el orden de arranque en laBIOS.

A continuación se detallan los pasos para iniciar el sistema de rescate:

1. Arranque el sistema con el disquete de arranque (bootdisk ) creado ante-riormente, el CD, o bien DVD de SuSE Linux.

2. Se puede dejar que el sistema arranque sin intervención o bien se puedeseleccionar ‘Manual Installation’ y – si esto fuera necesario – indicarparámetros en los ‘boot options’. Después existe la posibilidad de cargarlos módulos de kernel manualmente.

3. Ajuste en linuxrc el idioma y el teclado.

4. En el menú principal seleccione ‘Iniciar la instalación, sistema’.

5. Si ha arrancado con el disquete de arranque, introduzca el CD de insta-lación o el disquete (rescue ) con la imagen comprimida del sistema derescate.

6. En el menú ‘Iniciar la instalación / sistema’ seleccione la opción ‘Iniciarsistema de rescate’ (ver figura 1.3 en la página 15) e indique después elmedio fuente (ver figura 11.6 en la página siguiente).

A continuación se explican las diferentes posibilidades a elegir:

‘CD-ROM’: Al cargar el sistema de rescate, se exporta la ruta /cdrom .Lo que hace posible instalar desde este CD.

‘Red’: Para acceder al sistema rescue por red hace falta cargar el driverde la tarjeta de red.; ver también los consejos genéricos en el aparta-do Instalación desde una fuente en la ”red” en la página 19. En un sub-menú puede elegir entre varios protocolos: NFS, FTP, SMB etc. (verfigura 11.7 en la página 320).

‘Disco duro’: Cargue el sistema rescue desde el disco duro.

‘Disquete’: Arranque el sistema rescue desde un disquete, especial-mente si el ordenador tiene poca memoria RAM.

Independientemente del medio seleccionado, el sistema de rescate se descom-prime y se carga como nuevo sistema de fichero raíz en un ”ramdisk” (discovirtual), se monta, arranca y queda así operativo.

318 El sistema de rescate de SuSE

Page 337: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Figura 11.6: Elección del medio fuente del sistema de rescate

Trabajar con el sistema de rescate

El sistema de rescate proporciona, con las teclas�� ��Alt +

�� ��F1 hasta�� ��Alt +

�� ��F3 , tresdiferentes consolas virtuales en las que se puede efectuar un login (entrar en elsistema) 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 unconjunto de utilidades para ficheros y red, como p. ej. e2fsck, que sirven paracomprobar y arreglar sistemas de fichero. En /sbin se encuentran también losbinarios 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.

En /usr/bin se encuentra el editor vi al igual que las herramientas (grep, find,less, etc.) y también telnet.

Acceso al sistema ”normal”

Como punto de montaje del sistema SuSE Linux en el disco duro, está previstoel directorio /mnt , lo que no impide generar otros directorios y usarlos comopuntos de montaje.

Supongamos que el sistema normal contiene según /etc/fstab las particionesLinux, como se observa en el ejemplo del fichero 32.

319SuSE Linux – Manual de Administración

Page 338: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 11.7: Netzwerkprotokolle

/dev/sdb5 swap swap defaults 0 0/dev/sdb3 / ext2 defaults 1 1/dev/sdb6 /usr ext2 defaults 1 2

Fichero 32: Ejemplo de /etc/fstab

AvisoEn el siguiente apartado vigile el orden en el que se han de montar losdispositivos.

Aviso

Para tener acceso a todo el sistema hay que montarlo paso por paso mediante/mnt con 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 losficheros de configuración como en /etc/fstab , /etc/passwd o /etc/inittab . Estos ficheros se encuentran ahora en /mnt/etc y no en /etc .

Es posible recuperar particiones totalmente perdidas, creándolas nuevamentecon fdisk. Esto sólo funciona si se conoce con exactitud la posición en la que se

320 El sistema de rescate de SuSE

Page 339: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

encontraban antes en el disco duro. Por eso se recomienda guardar un impresodel fichero /etc/fstab y del resultado del comando:

tierra:~ # fdisk -l /dev/ 〈disk 〉

En lugar de 〈disk〉 hay que indicar uno por uno los nombres de dispositivo delos 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 derescate. Se produce p. ej. por no haber apagado correctamente el ordenador (encaso de corte de la electricidad) o por un cuelgue de sistema. No se puede ar-reglar un sistema de fichero durante el uso normal del ordenador y en ”casosgraves” ni siquiera se puede montar el sistema de fichero raíz y el arranque ter-mina con el mensaje "kernel panic". En tal caso sólo queda la posibilidad delarreglo ”desde fuera” con un sistema de rescate.

El sistema de rescate de SuSE Linux contiene las utilidades e2fsck y tambiéndumpe2fs 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 página man e2fsck,por lo que se encuentra impresa en el anexo C en la página 575.

Ejemplo: Cuando un sistema de fichero se resiste a su montaje debido a un su-perbloque no válido, lo más probable es que e2fsck fracase en el intento de ar-reglarlo. La solución es usar uno de los backups del superbloque, que se en-cuentran cada 8192 bloques (bloque 8193, 16385. . . ) en el sistema de ficheros.Esto se puede hacer con el comando:

tierra:~ # e2fsck -f -b 8193 /dev/ 〈Partición_Dañada 〉

La opción -f fuerza la comprobación del sistema de ficheros para evitar quee2fsck asuma que todo está en orden por el hecho de haber detectado la copiaintacta del Súper-bloque.

Consolas virtuales

Linux es un sistema multitarea y multiusuario. Las ventajas que aportan estascaracterí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 mediantelas combinaciones de teclas

�� ��Alt +�� ��F1 a

�� ��Alt +�� ��F6 .

321SuSE Linux – Manual de Administración

Page 340: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

La séptima consola está reservada para X11. Modificando el fichero /etc/inittab se puede disponer de más o de menos consolas.

Si estando en X11 desea trabajar en una consola virtual sin cerrar X11, pulse lascombinaciones

�� ��Control +�� ��Alt +

�� ��F1 a�� ��Control +

�� ��Alt +�� ��F6 . Para volver a X11,

pulse�� ��Alt +

�� ��F7 .

Distribución del teclado

Para normalizar la distribución del teclado de los distintos programas, se hanmodificado 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/ 〈VERSION〉/site-lisp/term/*.el/usr/lib/joerc

Estas modificaciones sólo tienen efecto sobre las aplicaciones que leen losparámetros terminfo o sobre aquellas cuyos ficheros de configuración fueronmodificados directamente (vi , less , etc.). Se recomienda adaptar otras aplica-ciones que no sean de 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

�� ��⇑ +�� ��Control (derecha); véase el

comentario en /usr/X11R6/lib/X11/Xmodmap .

322 Distribución del teclado

Page 341: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

Configuración nacional – I18N/L10N

Dado el nivel de internacionalización de SuSE Linux, es muy flexible para laadaptación a necesidades locales. En términos técnicos: La internacionalización(”I18N”) permite implementar extensiones locales (”L10N”). Las abreviacionesI18N y L10N reemplazan los términos internationalization y localization, mencio-nando siempre la letra inicial y final así como el número de caracteres que faltanentremedio.

La configuración se realiza mediante las variables LC_* que se definen en elfichero /etc/sysconfig/language . Aparte del idioma para la interfaz gráfi-ca de los programas y sus mensajes, se configuran también las categorías mone-da, cifras, fecha y hora, el tipo de caracteres, el tipo de mensajes y el criterio de ordenar.Todas estas categorías se pueden definir dentro del fichero language medianteuna variable individual o de forma indirecta mediante una variable de un nivelmá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 shellsin el ”prefijo” RC_y determinan las categorías arriba mencionadas. Acontinuación se detalla el significado de las distintas variables.

Mediante el comando locale es posible consultar la configuración actu-al.

2. RC_LC_ALL: En caso de estar definido, esta variable sobreescribe los valo-res de las variables mencionadas en el apartado 1.

3. RC_LANG: Al no definir ninguna de las variables arriba mencionadas, éstasirve de definición por defecto ”Fallback”. SuSE Linux por defecto solodefine RC_LANGpara que el usuario tenga más facilidad de introducirvalores propios.

4. ROOT_USES_LANG: Una variable booleana de valor yes /no ; al tener noroot siempre trabaja en el entorno POSIX.

Las demás variables se determinan mediante el editor sysconfig .

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 unenmediante caracteres especiales:

LANG=〈language 〉[[_ 〈COUNTRY〉].Encoding[@Modifier]]

323SuSE Linux – Manual de Administración

Page 342: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Algunos ejemplos

Idioma y país se deben definir juntos. La indicación del idioma sigue la nor-ma ISO 639 (http://www.evertype.com/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 ). Solose puede seleccionar valores que encuentran su homólogo en un fichero de des-cripción dentro del directorio /var/lib/locale . Es posible crear ficheros dedescripción a partir de los ficheros /usr/share/i18n usando localedef . Deesta forma un fichero de descripción para [email protected] se crea median-te:

tierra: ~ # localedef -i es_ES@euro -f UTF-8 [email protected]

LANG=es_ES.ISO-8859-1Esta el la forma de configurar el idioma alemán en Alemania con el juegode caracteres ISO-8859-1 . Éste aún no incorpora el símbolo del Eu-ro pero sigue siendo necesario para los programas que aún no han sidoadaptados a la ISO-8859-15 .

Por ejemplo el programa Emacs analiza la codificación del juego de carac-teres (aquí ISO-8859-15 ).

LANG=es_ES@euroEste es un ejemplo para la definición de una opción (euro ). es_ES@euroes la configuración predeterminada de una instalación en alemán.

LANG=es_ES.UTF-8El parámetro UTF-8 sirve para trabajar en una xterm cpm Unicode. Parainiciar un xterm con UTF-8 se recomienda crear un script sencillo llamadop. ej. uxterm (véase el fichero 33).

#!/bin/bashexport LANG=es_ES.UTF-8xterm -fn \

’-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1’ \-T ’xterm UTF-8’ $*

Fichero 33: uxterm para iniciar un xterm con Unicode

SuSEconfig lee las variables de /etc/sysconfig/language y escribe losvalores en los ficheros /etc/SuSEconfig/profile y /etc/SuSEconfig/csh.cshrc .

324 Configuración nacional – I18N/L10N

Page 343: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

11C

ara

cte

rística

sd

elsiste

ma

/etc/profile lee el fichero /etc/SuSEconfig/profile (lo usa comofuente) y /etc/csh.cshrc lee /etc/SuSEconfig/csh.cshrc . De esta for-ma la configuración está disponible para todo el sistema.

La configuración del sistema puede ser modificada por los usuarios con elfichero de configuración individual de usuario ~/.bashrc . Por ejemplo, cuan-do la configuración del sistema es es_ES y el usuario prefiere los mensajes eninglés, es posible modificarlo mediante:

LC_MESSAGES=en_US

Configuración del idioma soportado

Los ficheros de la categoría Mensajes normalmente sólo se encuentran dentro deldirectorio de idioma (p. ej.de) para tener una solución de respaldo. Por ejemplocuando el valor de LANGestá en de_AT y el fichero de mensajes no se encuentraen /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"

O para – dependiendo de las preferencias – cambiar a las variantes noruegas”nyorsk” o bien ”bokmål” (con fallback automático a no):

LANG="nn_NO"LANGUAGE="nn_NO:nb_NO:no"

o

LANG="nb_NO"LANGUAGE="nb_NO:nn_NO:no"

Con el noruego también hay que tener en cuenta que se trata LC_TIME de formadiferente.

325SuSE Linux – Manual de Administración

Page 344: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Posibles problemas

En cadenas de números no se reconoce el punto como separador de miles.Probablemente el valor de LANGesté en de . Como la descripción que usala glibc se encuentra en /usr/share/locale/de_DE/LC_NUMERIC ,LC_NUMERICdebe tener p. ej.el valor es_ES.

Información adicional:

The GNU C Library Reference Manual, capítulo "Locales and International-ization"; se encuentra dentro de paquete glibc-info .

Jochen Hein ?, 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 enhttp://www.cl.cam.ac.uk/~mgk25/unicode.html .

Unicode-Howto de Bruno Haiblefile:/usr/share/doc/howto/en/html/Unicode-HOWTO.html .

326 Configuración nacional – I18N/L10N

Page 345: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

El concepto dearranque de SuSE Linux

El arranque e inicio de un sistema UNIX provoca un hormigueo incluso al ad-ministrador de sistemas más experimentado. Este capítulo es una breve intro-ducción al concepto de arranque de SuSE Linux. La implementación actual de lainiciación del sistema utiliza la especificación LSB versión 1.3 (véase el aparta-do Linux Standard Base (LSB) en la página 298.

El programa init . . . . . . . . . . . . . . . . . . . . . . . . 328Los niveles de ejecución – ”Runlevel” . . . . . . . . . . . . 329Cambio de nivel de ejecución . . . . . . . . . . . . . . . . . 331Los scripts de inicio . . . . . . . . . . . . . . . . . . . . . . 332El editor de niveles de ejecución de YaST2 . . . . . . . . . . 334SuSEconfig y /etc/sysconfig . . . . . . . . . . . . . . . . . 335Configuración del sistema con el editor Sysconfig de YaST2 337Scripts y variables – Configuración del sistema . . . . . . . 338

Page 346: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Con las lapidarias palabras "Uncompressing Linux..." el Kernel toma las riendasde todo el hardware del sistema; comprueba y fija la consola – más exactamenteel 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 inter-faces elementales de la placa base. En los próximos pasos los distintos contro-ladores – que forman parte del kernel – ”prueban” el hardware presente parainiciarlo en caso necesario. Después del ”chequeo de la partición” y la carga delRoot-Filesystem, el kernel ejecuta el init, el cual realiza el auténtico arranque delsistema con sus múltiples programas auxiliares y sus configuraciones El kernelsigue gestionando el sistema completo, el tiempo de cálculo de los programas ylos accesos al hardware.

El programa init

El programa init es el proceso correspondiente para una inicialización correctadel sistema; se puede decir que es el ”Padre de todos los procesos” de sistema.

Dentro de todos los programas, init tiene una jerarquía especial: init es ejecutadodirectamente por el Kernel y por lo tanto no tiene efecto la señal 9, con la cualtodos los procesos pueden ser ”interrumpidos”. Los procesos siguientes sonejecutados directamente por init o por uno de sus ”Procesos subordinados”.

Se configura init de forma centralizada a través del fichero /etc/inittab ; aquíse definen los llamados ”niveles de ejecución” (ingl. Runlevel) (se comenta conmás detalle en el apartado Los niveles de ejecución – ”Runlevel” en la página si-guiente) y se determina qué servicios y daemons deben estar disponibles en losdiferentes 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 kernelprácticamente como ”proceso en segundo plano”, el cual tiene como objetivogestionar los procesos arrancados, dedicarles tiempo de cálculo y posibilitar ycontrolar el acceso al hardware.

328 El programa init

Page 347: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Los niveles de ejecución – ”Runlevel”

Bajo Linux existen diferentes Runlevels (niveles de ejecución), que definen quéestado debe tener el sistema. El nivel estándar, en el cual arranca el sistema, estáen el fichero /etc/inittab inscrito mediante initdefault ; normalmente es3 o 5 (ver tabla 12.1 en la página siguiente). Alternativamente se puede intro-ducir el nivel de ejecución requerido en el proceso de arranque (p. ej. en LILO--Prompt); el kernel transfiere parámetros que él no puede tratar sin modificar alproceso init.

Se puede cambiar a otro nivel de ejecución introduciendo sólo init con el númerocorrespondiente; naturalmente el cambio a otro nivel sólo puede ser gestionadopor 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 ocupa del mantenimien-to y administración del sistema. Después de que el administrador del sistemahaya acabado su trabajo, puede utilizar que con

root@tierra:/ > init 3

para arrancar el sistema en el nivel de ejecución corriente, en el cual se ejecutantodos los programas necesarios y los usuarios individuales pueden entrar alsistema.

La tabla 12.1 en la página siguiente da una orientación sobre los niveles de eje-cución disponibles. ¡El nivel 2 nunca debería ser utilizado en un sistema en elque la partición /usr está cargada vía NFS!

Por consiguiente, también se puede parar el sistema con

root@tierra:/ > init 0

o reiniciarlo de nuevo con

root@tierra:/ > init 6

En una instalación estándar de SuSE Linux normalmente se configura el nivelde ejecución 5 como valor por defecto, de modo que los usuarios puedan entrardirectamente al entorno gráfico del sistema. Si por un ajuste manual la configu-ración de nivel de ejecución 5 no se hubiera realizado, es posible efectuar poste-riormente una reconfiguración.

329SuSE Linux – Manual de Administración

Page 348: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Nivel deejecu-ción

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 network)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 Reiniciar el sistema (ingl. system reboot)

Cuadro 12.1: Lista de los niveles de ejecución disponibles en Linux

Si quiere cambiar el valor del nivel de ejecución estándar de 3 a 5, tiene que ase-gurarse de que sistema X Window ya está correctamente configurado; (aparta-do El sistema X Window en la página 99) . Para comprobar que el sistema fun-ciona tal como se desea, introduzca:

root@tierra:/ > init 5

Una vez realizada la comprobación con éxito se puede cambiar el nivel de ejecu-ción por defecto mediante YaST al valor 5.

AvisoModificaciones en /etc/inittab

Un /etc/inittab alterado puede provocar que el sistema ya no ar-ranque correctamente. Hay que tener mucho cuidado al modificar estefichero y no olvidarse de conservar siempre una copia del fichero intacto.– Para remediar el problema se puede intentar transferir el parámetroinit=/bin/sh en el LILO-Prompt, para arrancar directamente dentrode una shell y desde allí recuperar el fichero. Después del arranque, sepuede recuperar la copia de seguridad con cp .

Aviso

330 Los niveles de ejecución – ”Runlevel”

Page 349: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Cambio de nivel de ejecución

En un cambio de nivel de ejecución suele ocurrir lo siguiente. Los llamadosscripts de parada del nivel actual se ejecutan– los diferentes programas que seestán ejecutando en este nivel se finalizan – y los scripts de arranque del nuevonivel se inicializan. En un procedimiento como este, en la mayoría de los casosse ejecutan varios programas.

Para que sea más claro, veamos en un ejemplo qué ocurre si cambiamos del niv-el 3 al 5:

El administrador (root ) comunica al proceso init que debe cambiar el niv-el de ejecución:

root@tierra:/ > init 5

init consulta el fichero de configuración /etc/inittab y detecta que elscript /etc/init.d/rc debe ser llamado con el nuevo nivel de ejecu-ción como parámetro.

Ahora llama rc a todos los scripts de parada del nivel actual, para loscuales no existe un script de arranque en el nivel nuevo; en nuestroejemplo son todos los scripts que se encuentran en el subdirectorio/etc/init.d/rc3.d (el último nivel de ejecución era 3) y que comien-zan con la letra ‘K’ . El número que sigue a la ‘K’ asegura que se manten-ga un cierto orden en el proceso, porque ocasionalmente algunos progra-mas dependen de otros.

AtenciónLos nombres de los scripts de parada comienzan siempre con ‘K’(ingl. kill), los de los scripts de arranque con ‘S’ (ingl. start).

Atención

Por último se llama a los scripts de arranque del nuevo nivel de ejecución;estos están en nuestro ejemplo en /etc/init.d/rc5.d y comienzan conuna ‘S’ . También aquí se mantiene un orden determinado el cual quedafijado por el número que sigue a la ‘S’ .

Si cambia al mismo nivel en el cual se encuentra,init lee solamente el /etc/inittab , comprueba el fichero para cambios existentes y en caso necesario rea-liza los procedimientos adecuados (p. ej. ejecuta un getty en otra interfaz).

331SuSE Linux – Manual de Administración

Page 350: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Opción Significadostart Iniciar el serviciostop Parar el serviciorestart Con el servicio en ejecución, pararlo y reiniciarlo; en caso

contrario, iniciarloreload Leer la configuración del servicio nuevamente sin parada

y reinicio del servicioforce-reload Leer nuevamente la configuración del servicio, si este lo

soporta; en caso contrario igual a restartstatus Mostrar estado actual

Cuadro 12.2: Resumen de las opciones de los scripts de inicio

Los scripts de inicio

Los scripts bajo /etc/init.d se dividen en dos categorías:

scripts llamados directamente por init: Esto sólo sucede en caso de ar-ranque así como también en caso de un apagado instantáneo (en caso deun corte del suministro eléctrico o por pulsar la combinación de teclas�� ��Control +

�� ��Alt +�� ��Supr por parte del usuario).

scripts llamados indirectamente por init: Esto ocurre en caso de un cam-bio del nivel de ejecución; aquí generalmente se ejecuta el script superior/etc/init.d/rc, el que se encarga de que sean llamados los scripts corres-pondientes en su secuencia correcta.

Todos los scripts se encuentran bajo /etc/init.d . Los que se usan para elcambio del nivel de ejecución se encuentran también en este directorio, peroson llamados 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 organizary evita que los scripts tengan que estar presentes varias veces, por ser utiliza-dos en diferentes niveles. Para que cada uno de los scripts pueda ser llamadocomo script de arranque o de parada script, estos tienen que entender los dosparámetros start y stop . Aparte de estos dos parámetros, los scripts son ca-paces de procesar las opciones restart , reload , force-reload y status ,cuyo significado se explica con más detalle en la tabla 12.2.

Al salir del nivel 3 se invoca /etc/init.d/rc3.d/K40network ; /etc/init.d/rc invoca el script /etc/init.d/network con el parámetro stop .

332 Los scripts de inicio

Page 351: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Por último, al entrar en un nivel 3, se ejecuta el mismo script pero ahora con elparámetro start .

Los enlaces en los subdirectorios específicos de los niveles de ejecución sólo sir-ven para unir cada script con un determinado nivel.

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 desinstalarel paquete; ver página del manual de insserv (man 8 insserv ).

A continuación hay una breve descripción del primer script de arranque y delúltimo script de parada, así como del script de control:

boot Este script es ejecutado directamente por init en el arranque del sistema,es independiente del nivel de ejecución por defecto requerido y se eje-cuta sólo una vez. Fundamentalmente, se montan los volúmenes proc ydevpts , se arranca el blogd y – después de la primera instalación o deuna actualización – se ejecuta una configuración básica.

Adicionalmente, este script se hace cargo del directorio /etc/init.d/boot.d ; al arrancar el sistema se ejecutan en este directorio todos losscripts cuyos nombres comienzan con ‘S’ . Se realiza la comprobación delos sistemas de ficheros, se eliminan los ficheros sobrantes en /var/locky se configura la red para el Loopback-Device. Acto seguido se fija el tiem-po real del sistema. Si aparece un fallo grave durante la comprobación yreparación automática de los sistemas de fichero, el administrador del sis-tema tiene la posibilidad de resolver el problema manualmente, despuésde haber introducido la contraseña de root.

Por último se ejecuta el script boot.local.

boot.local Aquí se pueden introducir más cosas que se deban ejecutar en elarranque, antes de que el sistema entre en uno de los niveles de ejecución;se puede hacer la comparación con el fichero AUTOEXEC.BATbajo DOS.

boot.setup Son fijaciones básicas que se deben realizar cuando se cambiadesde el modo de usuario único a cualquier otro nivel de ejecución. Aquíse cargan la distribución del teclado y la configuración de la consola.

halt Este script sólo se ejecuta entrando en los niveles 0 o 6. Entonces se ejecu-ta con el nombre halt o con reboot . Dependiendo de cómo se denominea halt, el sistema se reinicializa o se apaga totalmente.

rc Es el script superior, el cual es invocado en cada cambio del nivel de ejecu-ción. Ejecuta los scripts de parada del nivel actual y después los scripts dearranque del nuevo.

333SuSE Linux – Manual de Administración

Page 352: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Se pueden añadir scripts propios mediante este concepto; un patrón estápreparado en /etc/init.d/skeleton . El diseño del LSB detalla el forma-to que debe tener este patrón. Particularmente se hace hincapié en el ordende procesamiento de los scripts y su asignación a los distintos niveles de eje-cución. Ahora se deben crear con insserv enlaces desde cada directorio rcal script nuevo, para que este se ejecute cambiando de nivel de ejecución; co-mo se describe más arriba. También en la misma referencia se explica la asig-nación de nombres a los enlaces. Los detalles técnicos se describen en páginadel manual de init.d (man 7 init.d ) y página del manual de insserv(man 8 insserv ). Con el editor de Runlevels de YaST existe una herramien-ta gráfica para la creación de los enlaces simbólicos; ver apartado 12.

AvisoElaboración de scripts de inicio propios: Los scripts defectuosos puedenprovocar el bloqueo del ordenador. Tenga mucho cuidado a la hora deelaborar scritps propios y pruébelos tanto como le sea posible antes deejecutarlos en un entorno multiusuario. Para más información básica so-bre cómo manejar scritps de inicio y niveles de ejecución, vea el apartadoLos niveles de ejecución – ”Runlevel” en la página 329.

Aviso

El editor de niveles de ejecución de YaST2

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 iniciatras el arranque del sistema y en el caso de SuSE Linux generalmente es el niv-el de ejecución 5 (modo multiusuario con red y XDM). Otro nivel de ejecuciónrazonable es el nivel 3 (modo multiusuario con red). En esta pantalla, se podríamodificar el nivel de ejecución por defecto; véase la tabla 12.1 en la página 330‘Editar’ muestra un resumen de todos los servicios y daemons que estén activosy en qué nivel de ejecución lo están. Al marcar una línea con el ratón existe laposibilidad de activar una de las casillas ‘0’, ‘1’, ‘2’, ‘3’, ‘5’, ‘6’ y ‘S’ para determi-nar el nivel de ejecución en el que se debe iniciar el servicio en cuestión. El nivelde ejecución 4 se mantiene libre para una configuración individual del usuario.Justo debajo del resumen se ofrece una breve descripción del servicio o daemonseleccionado.‘Iniciar’ y ‘Parar’ sirven para activar o desactivar un determinado servicio. ‘Ac-tualizar’ comprueba el estado actual en caso de que no funcione automática-mente. ‘Valor por defecto’ representa la posibilidad de recuperar la configura-ción estándar (el estado posterior a la instalación del sistema). ‘Activar servicio’

334 El editor de niveles de ejecución de YaST2

Page 353: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

sólo aparece si el servicio estuviera desactivado. ‘Configuración estándar paratodos los servicios’ devuelve todos los servicios al estado original posterior a lainstalación. ‘Terminar’ guarda esta configuración de sistema.

AvisoEditar las configuraciones del Runlevel

La configuración defectuosa de los servicios del sistema y de los nivelesde ejecución pueden provocar un fallo general en su sistema. Infórmeseantes de realizar una modificación en las configuraciones de las posiblesconsecuencias, con el fin de proteger el funcionamiento del sistema.

Aviso

SuSEconfig y /etc/sysconfig

Gran parte de la configuración de SuSE Linux se puede realizar mediante losficheros de configuración en /etc/sysconfig . Las antiguas versiones de SuSELinux utilizaban el fichero /etc/rc.config para la configuración del sistema.Este fichero es obsoleto y ya no se crea al realizar una nueva instalación de SuSELinux La completa configuración del sistema se lleva a cabo en los ficheros situ-ados en /etc/sysconfig . No obstante, el fichero /etc/rc.config ya exis-tente se mantiene al actualizar.

A los ficheros en /etc/sysconfig sólo se accede de forma puntual desde de-terminados scripts; de esta manera se garantiza que las configuraciones de redsólo sean utilizadas por los scripts de red.

Además se pueden generar muchos más ficheros de configuración del sistemaen dependencia de los ficheros generados en /etc/sysconfig ; de lo cual seencarga /sbin/SuSEconfig. Así p. ej., después de un cambio en la configuraciónde la red se genera de nuevo el fichero /etc/host.conf , puesto que dependede la forma en que esté configurado.

Por tanto, si se realizan cambios en los ficheros mencionados, se debe ejecutarposteriormente SuSEconfig, para garantizar que la nueva configuración se apli-ca en todos los sitios correspondientes. Si se cambia la configuración con YaST,entonces no hay que preocuparse expresamente de esto; YaST ejecuta automáti-camente SuSEconfig, con lo cual ya se actualizan los ficheros correspondientes.

Este concepto permite realizar cambios fundamentales en la configuración delordenador, sin necesidad de arrancar de nuevo; no obstante algunos cambiosson muy profundos y, según las circunstancias, algunos programas tienen queser arrancados nuevamente. La utilización de los comandos

335SuSE Linux – Manual de Administración

Page 354: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

tierra: # rcnetwork stop

tierra: # rcnetwork start

se consigue que los programas de red afectados por los cambios se arranquen denuevo. Como se puede observar, los scripts de inicio también se pueden ejecutarmanualmente.

Generalmente para la configuración del sistema se aconseja el siguiente proced-imiento:

Conmutar el sistema en el ”single user mode” (nivel de ejecución 1):

tierra: # init 1

Realizar los cambios requeridos en los ficheros de configuración . Esto sepuede hacer con un editor de texto o mejor con el editor de sysconfig deYaST; ver apartado Configuración del sistema con el editor Sysconfig de YaST2en la página siguiente.

Ejecutar SuSEconfig para realizar los cambios en los diferentes ficheros deconfiguración. Esto ocurre automáticamente si se hacen las modificacionescon YaST2.

Regresar el sistema al nivel de ejecución anterior (en este ejemplo 3):

tierra: # init 3

Este procedimiento solo es necesario en caso de cambios amplios en la confi-guración del sistema (p. ej. configuración de la red); para tareas sencillas de ad-ministración no hace falta entrar en el ”single user mode”; sin embargo, así seasegura que todos los programas afectados por las modificaciones arranquen denuevo.

TrucoPara desconectar por completo la configuración automática víaSuSEconfig, se puede activar la variable 〈ENABLE_SUSECONFIG〉 en/etc/sysconfig/suseconfig dándole el valor no . Si quiere re-currir al soporte de la instalación, debe dar el valor yes a la variable〈ENABLE_SUSECONFIG〉. También es posible deshabilitar la configura-ción automática selectivamente.

Truco

336 SuSEconfig y /etc/sysconfig

Page 355: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Configuración del sistema con el editorSysconfig de YaST2

En el directorio /etc/sysconfig se encuentran los ficheros que contienen lasconfiguraciones más importantes de SuSE Linux (antiguamente gestionadasdesde el fichero /etc/rc.config ). El editor Sysconfig de YaST muestra unresumen de todas las posibilidades de configuración. Se pueden modificar losvalores para pasarlos posteriormente a los ficheros de configuración que losalbergan. Por lo general no hace falta realizar este tipo de modificación man-ualmente, ya que cuando un paquete se instala o se configura un determinadoservicio, los ficheros se modifican automáticamente.

AvisoModificaciones en los ficheros /etc/sysconfig/*

No se deben realizar modificaciones en /etc/sysconfig/* sin tenersuficiente conocimiento previo, ya que partes importantes del sistemapodrían dejar de funcionar.

Aviso

Figura 12.1: YaST2: Configuración con el editor sysconfig

El editor sysconfig YaST se inicia con una ventana dividida en tres partes. Enla parte izquierda aparece una vista de árbol en la que puede seleccionarse la

337SuSE Linux – Manual de Administración

Page 356: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

variable que se va a configurar. Una vez seleccionada la variable, aparece en laventana de la derecha el nombre de la selección y la configuración actualmenteactiva de esa variable. Por debajo de la variable se muestra una breve descrip-ción de la misma, sus valores posibles, el valor por defecto y los ficheros en losque se almacena esta variable. Realice su selección y abandone la ventana con‘Finalizar’.

Scripts y variables – Configuración del sis-tema

A continuación se comentarán brevemente los parámetros individuales del sis-tema y sus opciones. Si no utiliza YaST para trabajar con los ficheros de confi-guración en /etc/sysconfig , no olvide anotar entre comillas un parámetrovacío (p. ej. 〈KEYTABLE=""〉), así como los parámetros que contienen espa-cios vacíos. No hace falta con variables que se componen de una sola palabra.El número de ficheros situados en /etc/sysconfig varía dependiendo delalcance de la instalación. En la sección siguiente se presentan los ficheros deconfiguración más importantes. En el caso de los ficheros y variables que no semencionen, diríjase a la documentación de las variables en los mismos ficheros/etc/sysconfig .

Configuraciones básicas en /etc/sysconfig

apache Configuración del servidor web Apache. Esta configuración abarcasolamente los parámetros estándar o los que son imprescindibles paraApache. Para todas las demás variables y módulos, así como los mo-dos de funcionamiento, le remitimos a la documentación de Apache,que puede instalar con YaST como paquete apache-doc o bajar de lassiguientes URLs:http://httpd.apache.org/docs/ y http://modules.apache.org

HTTPD_PERFORMANCE="slim"Aquí puede configurar la cantidad de clientes a los que sirve su servi-dor. Puede elegir entre las clases ”slim”, ”mid”, ”thick” y ”enterprise”.SuSEconfig determina MinSpareServers , MaxSpareServers ,StartServers y MaxClients en la correspondiente configuración deApache /sbin/conf.d/SuSEconfig.apache .

338 Scripts y variables – Configuración del sistema

Page 357: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

HTTPD_START_TIMEOUT="2"Aquí puede establecer el intervalo de tiempo (en segundos) dentro delcual el inicio de arranque comprueba si el proceso http puede comenzarsin problemas. Si utiliza el mod_ssl y su certificado SSL está protegidocon una contraseña, debe aumentar este valor.

HTTPD_SEC_ACCESS_SERVERINFO="no"Esta configuración activa los módulos mod_status y mod_info , que in-forman respectivamente sobre el estado, el rendimiento y la configuracióndel servidor.

HTTPD_SEC_SAY_FULLNAME="no"¿Qué información debe salir del servidor en forma de pie de página endocumentos generados por el servidor (p. ej. mensajes de error)? Puedeelegir entre yes para que se muestren la versión y el nombre del servidor;no para que no aparezca ninguna información y e-mail para la versióny el nombre, y mailto: para enviar una notificación al administradordel servidor. Estas variables están relacionadas con la directiva de ApacheServerSignature .

HTTPD_SEC_SERVERADMIN=""Introduzca aquí la dirección de correo electrónico del administrador delsistema. Si ha fijado la variable 〈HTTPD_SEC_SAY_FULLNAME〉 enyes esta se enviará fuera del servidor. Si deja este espacio vacío, se uti-lizará la dirección estándar webmaster@$HOSTNAME. 〈HOSTNAME〉 (elnombre completo del servidor) se fijará en el archivo /etc/HOSTNAME .〈HTTPD_SEC_SERVERADMIN〉 se corresponde con las directivas deApache ServerAdmin . ServerAdmin Las directivas en VirtualHostno se modificarán – como tampoco lo hará el registro del SSL VirtualHosts.

HTTPD_SEC_PUBLIC_HTML="yes"¿Se debe abrir el directorio public_html que se encuentra en el directo-rio raíz del usuario? Responda a esta pregunta con yes , para que puedaefectuar configuraciones adicionales en /etc/httpd/suse_public_html.conf .

HTTPD_CONF_INCLUDE_FILES=""Introduzca aquí los ficheros que /etc/httpd/httpd.conf debe incluir,separados por un espacio en blanco. De esta forma, puede p. ej. definirnuevos VirtualHost , sin realizar más modificaciones en /etc/httpd/httpd.conf . Mientras SuSEconfig no constate ningún cambio medianteel mecanismo de suma MD5 en /etc/httpd/httpd.conf , la configura-ción de Apache no tocará este fichero.

339SuSE Linux – Manual de Administración

Page 358: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

HTTPD_AWSTATS_COMBINED_LOG="yes"¿Debe Apache realizar un fichero de registro extra para que lo utiliceawstats (ingl. Advanced Web Statistics)?

HTTPD_DDT="yes"Se activa el DDT Admin CGI. Puede utilizarlo para crear y administrarcuentas locales de servidor DDT (ingl. Dynamic DNS Tools).

MAILMAN_APACHE="yes"¿Debe activarse Mailman para la administración de listas de correo?

HTTPD_SEC_MOD_MIDGARD="yes"Activa el módulo midgard . Midgard es un un sistema de gestión de con-tenido de código libre (ingl. Open Source Content Management System).

HTTPD_SEC_MOD_PERL="yes"Activa el módulo mod_perl .

HTTPD_SEC_MOD_PHP="yes"Activa el módulo mod_php

HTTPD_SEC_MOD_PYTHON="yes"¿Quiere activar el módulo Python de Apache? yes es aquí el valor pordefecto.

HTTPD_SEC_NAGIOS="yes"Permite el acceso a la interfaz web Nagios. Lo puede configurar en /etc/httpd/nagios.conf .

HTTPD_SEC_MOD_SSL="no"Activa el módulo SSL. La configuración por defecto es no , puesto quese deben realizar algunas tareas previas antes de que SSL funcione ade-cuadamente.Cree un certificado del servidor. Para crear un certificado de prueba. intro-duzca los siguientes comandos en este orden como root :

cd /usr/share/doc/packages/mod_ssl./certificate.sh

Establezca la 〈ServerName〉 en VirtualHost _default_:443 delhttpd.conf con el nombre completo del servidor (ingl. Fully QualifiedDomain Name) (véase 〈HOSTNAME〉 /etc/HOSTNAME ).Aumente 〈HTTPD_START_TIMEOUT〉 si el certificado de su sistema estáprotegido con una contraseña. (véase más arriba).

ZOPE_PCGI="no"¿Se deben realizar consultas de Zope mediante la interfaz PCGI deApache? Si deja esta variable con la configuración por defecto no ,

340 Scripts y variables – Configuración del sistema

Page 359: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Zope se arranca como servidor web ”Standalone”; si indica el valor yes ,Apache debe estar instalado para poder utilizar PCGI. Puede encontrarmás opciones en /etc/sysconfig/zope .

ZOPE_KEEP_HOMES="yes"Si se pueden realizar consultas Zope mediante apache-pcgi y〈ZOPE_KEEP_HOMES〉 tiene el valor yes , Apache pondrá a disposiciónlos directorios raíz de los usuarios.

apache2 Configuración de Apache2.

ENABLE_SUSECONFIG_APACHE_MPM="yes"Apache dispone de varios módulos de multiprocesamiento (MPMs) quepueden instalarse por separado. SuSEconfig puede mantener enlaces sim-bólicos a httpd binary y los módulos.El asignar a esta variable el valor no implica que〈ENABLE_SUSECONFIG_APACHE〉 también está desactivada.

ENABLE_SUSECONFIG_APACHE="yes"¿Se le permite a SuSEconfig.apache modificar la configuración?

APACHE_MPM=""¿Qué módulos de multiprocesamiento (MPMs) debe usar Apache?

APACHE_START_TIMEOUT="2"Defina aquí el espacio de tiempo (en segundos) dentro del cual el scriptde inicio comprueba que el proceso http se ha iniciado correctamente. Encaso de que utilicen mod_ssl y su certificado SSL está protegido por con-traseña, asigne un valor mayor.

APACHE_SERVERSIGNATURE="on"¿Qué información ha de transmitirse al exterior a través del servidor enforma de un pié de página en los documentos generados por el servi-dor (p. ej. mensajes de error)? Tiene las opciones on para el número deversión y nombre del servidor, off para ninguna información y emailpara número de versión, nombre y mensaje mailto: al administrador delservidor. Esta variable es correlativa con la directiva ServerSignaturede Apache.

APACHE_SERVERADMIN=""Introduzca aquí la dirección de correo electrónico del administrador delservidor. Si ha asignado a la variable 〈HTTPD_SEC_SAY_FULLNAME〉 elvalor yes , está información se transmitirá al exterior. Si la entrada se dejavacía, se utilizará webmaster@$HOSTNAMEcomo la dirección de correopor defecto. 〈HOSTNAME〉 (el nombre de servidor completo) se define enel fichero /etc/HOSTNAME . 〈HTTPD_SEC_SERVERADMIN〉 equivale a ladirectiva ServerAdmin de Apache.

341SuSE Linux – Manual de Administración

Page 360: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Las directivas ServerAdmin en las declaraciones VirtualHost no seránmodificadas por estas entradas, al igual que la entrada del SSL VirtualHost.

APACHE_SERVERTOKENS="OS"¿Cuánta información sobre el servidor ha de incluirse en el encabezamien-to de la respuesta generada por el servidor (módulos instalados, versión,sistema operativo, etc.)? Puede encontrar más información en http://httpd.apache.org/docs-2.0/mod/core.html#servertokens

APACHE_EXTENDED_STATUS="off"Si se utiliza mod_status , el informe de estado puede incluir informaciónadicional sobre el servidor (p. ej.utilización del CPU, etc.).

APACHE_CONF_INCLUDE_FILES=""Aquí puede introducir los nombres separados por espacios de los ficherosque han de ser adoptados por /etc/httpd/httpd.conf . De este mo-do puede p. ej. crear nuevas declaraciones VirtualHost sin tener quemodificar /etc/httpd/httpd.conf adicionalmente. Siempre queSuSEconfig no detecte ningún cambio en /etc/httpd/httpd.confmedianet el mecanismo de sumas MD5, no es necesario editar este ficherodurante la configuración de Apache.

APACHE_CONF_INCLUDE_DIRS=""Aquí puede introducir qué directorios han de ser incluidos por httpd.conf . Todos los ficheros incluidos en uno de estos directorios serán inte-grados de forma recursiva. Apache lee los patrones de búsqueda utiliza-dos, como p. ej. *.conf .

LOADMODULES="access actions alias auth auth_dbmautoindex cgi dir env expires include log_config mimenegotiation setenvif status suexec userdir"Esta variable sirve para informar a SuSEconfig de los módulos que debenser cargados para Apache sin tener que editar httpd.conf .

APACHE_SERVER_FLAGS=""Introduzca aquí banderas adicionales con las que Apache2 debe iniciarse.De esta forma ya no tiene que introducir las banderas desde la línea decomandos.

APACHE_HTTPD_CONF=""¿Qué httpd.conf desea utilizar? Si esta entrada permanece vacía, seempleará /etc/apache2/httpd.conf .

HTTPD_AWSTATS_COMBINED_LOG="yes"¿Debe Apache2 crear un fichero de registro (logfile) adicional para que loevalúe awstats (ingl. Advanced Web Statistics)?

342 Scripts y variables – Configuración del sistema

Page 361: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

autoinstall AutoYaST2 es el programa de instalación automática de YaST2.

REPOSITORY="/var/lib/autoinstall/repository"Depósito de todas los ”perfiles” (ingl. profiles). Estos son ficheros de con-trol incluidos en la descripción de las configuraciones de los hosts que sequiere instalar.

CLASS_DIR="/var/lib/autoinstall/classes"Al crear perfiles/ficheros de control para instalaciones complejas, puededefinir clases que facilitan el trabajo y que representan los diferentes tiposy grupos de hosts. YaST los sitúa en /var/lib/autoinstall/classes .

PACKAGE_REPOSITORY=""Este directorio incluye los datos/paquete de instalación para SuSE Linux.

backup Copia de la base de datos RPM.

RPMDB_BACKUP_DIR="/var/adm/backup/rpmdb"Establece dónde debe escribir cron.daily los backups o copias de seguri-dad de la base de datos RPM; en caso de que no se quiera disponer debackups, se le da el valor "" a esta variable.

MAX_RPMDB_BACKUPS="5"Determina la cantidad de backups de la base de datos RPM.

RCCONFIG_BACKUP_DIR="/var/adm/backup/rpmdb"cron.daily deja en este directorio los backups de /etc/rc.config ylos ficheros de etc/sysconfig/ . Cada vez que se modifiquen estosficheros, cron.daily creará backups. Si no desea ningún backup, fije estavariable en "" .

MAX_RCCONFIG_BACKUPS="5"Aquí puede establecer cuántos backups de los archivos que se encuentranen /etc/sysconfig se deben conservar.

boot Opciones del proceso de arranque.

PROMPT_FOR_CONFIRM="no"Esta variable regula la depuración interactiva del proceso de inicio. Sise le asigna el valor yes , el sistema pedirá la confirmación por parte delusuario en cada uno de los pasos del proceso de inicio.

CONFIRM_PROMPT_TIMEOUT="5"Espacio de tiempo (en segundos) que el sistema ha de esperar a la confir-mación antes de que se presuponga la respuesta estándar.

FLOW_CONTROL="no"Con yes se permite detener el proceso de arranque con

�� ��Control +����S y

reanudarlo con�� ��Control +

�� ��Q (xon/xoff control).

343SuSE Linux – Manual de Administración

Page 362: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

FSCK_MAX_INST="10"EstaDiese variable define cuántos procesos para comprobar el sistema deficheros se pueden iniciar de forma simultánea. Especialmente en sistemascon varios discos duros, un número demasiado alto de comprobacionesdel sistema de ficheros pueden sobrecargar el CPU y la memoria.

bootsplash Opciones para la splash screen.

THEME=""Hay diversos temas o estilos disponibles. Puede seleccionar una opcióndel directorio /usr/share/splash/themes/ y fijarla aquí.

SPLASH="yes"¿Ha de mostrarse la splash screen durante el inicio del sistema? La opciónpredeterminada es yes .

clock Configuración del tiempo.

GMT=""Si el tiempo de su hardware está fijado en GMT (Greenwich MeanTime), ponga el valor -u a esta variable; si no es el caso, ponga el va-lor --localtime . Esta configuración es importante para el cambio au-tomático de horario de verano a invierno y viceversa.

TIMEZONE=""La zona horaria en la que vive. Esta configuración también es importantepara el cambio automático de horario de verano a invierno y viceversa.Con ella se establece /usr/lib/zoneinfo/localtime .

console Configuraciones para la consola.

FB_MODULES=""¿Quiere cargar un módulo framebuffer en el kernel? Antes de decidirse,debe tener en cuenta que las configuraciones no funcionarán si vesafbya está activo. Además conlleva más ventajas haber compilado el soportedel framebuffer directamente en el kernel. Finalmente, algunos módulosXFree86 (en especial los de la serie XFree86-4.x) tienen problemas con elmodo texto del framebuffer.

FBSET_PARAMS=""Si el kernel de que dispone soporta framebuffers (o se pueden cargar co-mo módulos), deseará cambiar la resolución u otros parámetros. Asignea fbset los parámetros correspondientes con (Detalles: man fbset y/ofbset -h ).

344 Scripts y variables – Configuración del sistema

Page 363: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Aviso

Configuración de los parámetros del Framebuffer

Las configuraciones posibles dependen en gran medida del hard-ware y software de que disponga. En determinadas circunstancias,tomar una decisión incorrecta puede causar daños a su monitor.Tenga en cuenta lo siguiente:

vesafb (aún) no soporta el cambio del modo de presentación. Noescoja un modo de presentación que su monitor no soporte.

Aviso

CONSOLE_FONT=""La fuente que se debe cargar para la consola. Los ajustes adi-cionales se realizan mediante: 〈CONSOLE_SCREENMAP〉,〈CONSOLE_UNICODEMAP〉 y 〈CONSOLE_MAGIC〉.CONSOLE_UNICODEMAP=""Algunas fuentes no disponen de un único ”Unicode Map”. Introduzcaaquí explícitamente el Unicode Mapping que desea. Los ficheros se en-cuentran en /usr/share/kbd/unimaps/ . Por regla general, esta opciónno es necesaria.

CONSOLE_SCREENMAP=""¿Debe cambiarse la fuente que utiliza en signos de Unicode? Introduzcaaquí el screenmap apropiado. Los screenmaps se encuentran en /usr/share/kbd/consoletrans/ .

CONSOLE_MAGIC=""Para determinadas fuentes la consola debe inicializarse con〈CONSEOLE_MAGIC〉. Por regla general, no es necesario realizar aquíninguna modificación.

SVGATEXTMODE="80x25"El correspondiente paquete svgatext permite la configuración de res-oluciones de texto más altas. (hasta 160x60) con tarjetas SVGA. Estas vari-ables incluyen un valor procedente de /etc/TextConfig . Acomode estefichero a las propiedades de su tarjeta gráfica. Para saber cómo puede hac-er esto, diríjase a /usr/share/doc/packages/svgatext . La configu-ración por defecto para 〈SVGATEXTMODE〉 es ”80x25”. Las resolucionesmodo texto de SVGA se utilizan en los niveles de ejecución 1,2,3 y 5.

345SuSE Linux – Manual de Administración

Page 364: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

cron Tareas diarias de mantenimiento en el sistema

El daemon cron inicia de forma automática determinados programas aciertas horas. La activación de este daemon es muy recomendable en orde-nadores que están constantemente en funcionamiento. Una alternativa ocomplemento es el daemon AT.

AtenciónExiste una gran cantidad de configuraciones de sistema que re-quieren el arranque de determinados programas. El daemon crondebe haber sido activado con anterioridad.

Atención

MAX_DAYS_IN_TMP="0"Diariamente se comprueba si en los directorios de tmp (seevariableTMP_DIRS_TO_CLEAR) existen ficheros a los que no se ha acce-dido durante un tiempo fijado (en días). En caso de que este tiempo seasuperior al fijado, el fichero correspondiente será eliminado.Este mecanismo puede desactivarse con "" o 0 (ventaja). Esta variable de-bería fijarse cuando el sistema es utilizado por varios usuarios, con el finde evitar la sobrecarga de los directorios tmp .

TMP_DIRS_TO_CLEAR="/tmp /var/tmp"Indicación de los directorios en los que se debe buscar diariamenteficheros ”viejos”; véase 〈MAX_DAYS_IN_TMP〉.OWNER_TO_KEEP_IN_TMP="root"Los ficheros del usuario del sistema indicado aquí no deben ser elimina-dos del directorio tmp (véase 〈TMP_DIRS_TO_CLEAR〉), aunque no sehayan accedido durante más tiempo del establecido.Atención: ¡Si 〈CLEAR_TMP_DIRS_AT_BOOTUP〉 tiene el valor yes , no setendrá en cuenta esta configuración!

CLEAR_TMP_DIRS_AT_BOOTUP="no"Asigne el valor yes a esta variable si se deben eliminar todos los ficherosy subdirectorios que se encuentran en los directorios temporales men-cionados en 〈TMP_DIRS_TO_CLEAR〉 (rm -fr ).Atención: ¡Si esta variable tiene el valor yes , no se tendrá en cuenta laconfiguración de 〈OWNER_TO_KEEP_IN_TMP〉 y se eliminarán todos losficheros sin excepción!

DELETE_OLD_CORE="no"Corefiles son copias de los documentos de almacenamiento de programas,que han sido interrumpidos bruscamente debido a un fallo en el sistemade protección del almacenamiento; estas copias son útiles a la hora de bus-car el error.

346 Scripts y variables – Configuración del sistema

Page 365: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Aquí puede configurar la búsqueda y posterior eliminación de viejas vol-cadas de pila. Para ello, el paquete paquete findutils-locate debeestar instalado y 〈RUN_UPDATEDB〉 tener el valor yes .

MAX_DAYS_FOR_CORE="7"Establezca aquí cuántos días deben transcurrir como máximo antes deeliminar viejas volcadas de pila.

REINIT_MANDB="yes"En qué momento del día el cron.daily debe poner nuevamente a disposi-ción las bases de datos man (mandb y whatis).

DELETE_OLD_CATMAN="yes"¿Se debe eliminar de las páginas man que se encuentran en /var/catman la información que se ha quedado anticuada?

CATMAN_ATIME="7"¿Cuántos días se deben conservar las páginas man antes de ser elimi-nadas?

dhcpd Configuración de un servidor DHCP

DHCPD_INTERFACE="eth0"La interfaz o interfaces que el servidor DHCP debe escuchar.

DHCPD_RUN_CHROOTED="yes"¿Debe activarse dhcpd en un ”chroot jail”? Lea la información enREADME.SuSE sobre dhcp que se encuentra en /usr/share/doc/packages/dhcp/README.SuSE .

DHCPD_CONF_INCLUDE_FILES=""El fichero dhcpd.conf puede incluir include . Indique en〈DHCPD_CONF_INCLUDE_FILES〉 todos los ficheros que quiera in-cluir. De esta forma se copiarán todos los ficheros .conf , así como/etc/dhcpd.conf en el directorio Chroot (\$chroot/etc/ ).

DHCPD_RUN_AS="nobody"Establezca el usuario con el que se arrancará dhcpd Si deja esta variablevacía o escribe root , dhcpd arrancará como root . Con nobody arrancacomo el usuario nobody del grupo nogroup .

DHCPD_OTHER_ARGS=""Aquí puede añadir más argumentos al dhcpd (véase man dhcpd ).

dhcrelay Configuración del DHCP-Relay-Agents. Sirve como ”intermedi-ario” entre subredes con y sin un servidor DHCP propio. Dirige las con-sultas DHCP (y Bootp) que parten de una subred sin servidor propio auno o más servidores DHCP de la red y transmite la respuesta.

347SuSE Linux – Manual de Administración

Page 366: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

DHCRELAY_INTERFACES=""Las interfaces que debe escuchar el DHCP-Relay-Agent. Separe las en-tradas con espacios en blanco.

DHCRELAY_SERVERS=""¿A qué servidor DHCP se debe dirigir el DHCP-Relay-Agent? Indiqueaquí uno o más servidores separados por espacios en blanco.

displaymanager Configurar el administrador de ventanas.

DISPLAYMANAGER=""Esta variable determina el administrador de ventanas que se debe uti-lizar en el ”login”. Posibles valores son console , xdm (displaymanagertradicional del sistema X Window), kdm (displaymanager de KDE), gdm(displaymanager de GNOME) o wdm(el displaymanager ”WINGs”).

DISPLAYMANAGER_REMOTE_ACCESS="no"¿Quiere permitir un acceso remoto a su administrador de ventanas? Laconfiguración por defecto es no .

DISPLAYMANAGER_ROOT_LOGIN_REMOTE="no"¿Quiere permitir al usuario root el acceso remoto a su administrador deventanas? La configuración por defecto es no .

DISPLAYMANAGER_STARTS_XSERVER="yes"¿Debe arrancar el administrador de ventanas un servidor X local? Si per-miten el acceso remoto, esta variable debe estar fijada en no .

KDM_SHUTDOWN="auto"Aquí se fija quién puede cerrar el sistema en kdm. Los valores posiblesson root , all , none , local y auto .

KDM_USERS=""Introduzca, separados por espacios en blanco, la lista de los usuarios paralos que debe mostrarse iconos en kdm. Si no introducen ningún valor, seutilizará la configuración por defecto del sistema.

KDM_BACKGROUND=""Aquí puede escoger la imagen de fondo para kdm.

KDM_GREETSTRING=""¿Desea un saludo especial en kdm?

gconf2 Opcioes para el daemon gconf.

GCONF2_CONF_SOURCE="distribution"Defina aquí la configuración estándar para el daemon gconf. El nuevousuario creado en el escritorio GNOME será configurado conforme a

348 Scripts y variables – Configuración del sistema

Page 367: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

las opciones definidas aquí. Las alternativas son source (opciones pre-determinadas de las fuentes de GNOME2) y distribution (opcionespredefinidas según la distribución utilizada). La opción por defecto esdistribution , pero también puede utilizar sus propias fuentes.

hardware Configuraciones del hardware.

DEVICES_FORCE_IDE_DMA_ON=""Activar DMA en los dispositivos indicados.

DEVICES_FORCE_IDE_DMA_OFF=""Apagar DMA en los dispositivos indicados.

hotplug Configuraciones de Hotplug.

HOTPLUG_DEBUG="default"Con esta variable puede controlar la cantidad de mensajes de error queel servicio hotplug envía a syslog. Los valores default , "" , o no pro-ducen una cantidad moderada de mensajes, off hace que hotplug ”en-mudezca” y verbose o yes envían algunas mensajes adicionales. maxprovoca que syslog se inunde de mensajes.

HOTPLUG_START_USB="yes"Aquí puede arrancar o se detener el hotplug USB.

AtenciónDesactivar hotplug USB

Si ha desactivado hotplug USB y cargado dispositivos de entradaUSB como módulo, el teclado no reaccionará, puesto que de estaforma también se desactiva el soporte del teclado.

Atención

HOTPLUG_USB_USE_USBMODULES="no"Aquí se desactiva /sbin/usbmodules .

HOTPLUG_USB_HOSTCONTROLLER_LIST="usb-uhci uhciusb-ohci ehci-hcd"Aquí se fija el orden para la prueba de carga de los módulos del contro-lador. USB.

HOTPLUG_USB_STATIC_MODULES="evdev joydev"Estos módulos se cargan durante el inicio de hotplug. Éstos son los mó-dulos para los que no se genera ningún suceso hotplug. Si utiliza una an-tigua versión de XFree86 3.x Version, debería añadir mousedev e input .

349SuSE Linux – Manual de Administración

Page 368: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

HOTPLUG_USB_MODULES_TO_UNLOAD="scanner"Estos módulos son eliminados por un ”remove” de USB. Para determina-do hardware se recomienda una reinicialización.

HOTPLUG_USB_NET_MODULES="pegasus usbnet catc kawethCDCEther"Si uno de estos módulos se carga o descarga del almacén, el sistema dapor sentado que se trata de un dispositivo de red y elabora una descrip-ción de hardware para el correspondiente suceso en la red (net event).

HOTPLUG_USB_DELAY="3"La pila USB carga en segundo término algunos controladores. Es posibleejecutar otros scripts de niveles de ejecución antes de que se cargue el con-trolador necesario.

HOTPLUG_START_NET="yes"Activa o desactiva el ”NET Hotplug Event Handling” (tratamiento desucesos hotplug en la red).

HOTPLUG_NET_DEFAULT_HARDWARE=""Hasta que hotplug reconozca el tipo de hardware que se encuentra trasuna interfaz de red, USB o PCI Hotplug Events elaboran descripcionesdel hardware. Añadir al mismo tiempo más dispositivos Hotplug puedeprovocar que se eliminen las condiciones necesarias para reconocer el dis-positivo (”Race Conditions”). En caso de que no funcione el reconocimien-to automático de los nuevos dispositivos, se utilizará el contenido de〈HOTPLUG_NET_DEFAULT_HARDWARE〉 al llamar a if{up,down}. Intro-duzca aquí lo que utiliza como tarjeta de red: pcmcia , usb o firewire .

HOTPLUG_NET_TIMEOUT="8"Introduzca aquí el valor que fija cuánto tiempo (en segundos) se debe es-perar a que USB o PCI Hotplug Event elaboren una descripción del hard-ware. Si a esta variable se le da el valor 0, se utilizará automáticamente〈HOTPLUG_NET_DEFAULT_HARDWARE〉. Tenga en cuenta la configu-ración predeterminada de ocho segundos en algunas tarjetas de red PCM-CIA.

HOTPLUG_START_PCI="yes"Activa o desactiva el manejo del PCI Hotplug Event Handling.

HOTPLUG_PCI_MODULES_NOT_TO_UNLOAD=""Los siguientes módulos no se deben cargar desde la memoria mientrasque exista un anuncio de haber quitado una tarjeta PCI ”PCI removeEvent”.

HOTPLUG_START_IEEE1394="yes"Permite activar/desactivar IEEE1394 (Firewire) Hotplug Event Handling.

350 Scripts y variables – Configuración del sistema

Page 369: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

HOTPLUG_IEEE1394_NET_MODULES="eth1394"Si uno de estos módulos se carga en/de la memoria, el sistema suponeque se trata de un dispositivo de red y crea una descripción de hardwarepara el siguiente ”net event”.HOTPLUG_IEEE1394_MODULES_NOT_TO_UNLOAD=""Los siguientes módulos no deben descargarse de la memoria en caso de”IEEE1394 remove Event”.

irda IrDA es la interfaz de infrarrojos que hay que habilitar en la mayoría delos ordenadores portátiles.

IRDA_PORT="/dev/ttyS1"De momento sólo se soporta el modo serie (UART (SIR)) en la configu-ración estándar. Se debe buscar el puerto serie que se utiliza en el setupde la BIOS. Si tiene un chipset FIR soportado, indique aquí el módulodel kernel correspondiente (p. ej.toshoboe . Primero, FIR debe ser ac-tivado en las configuraciones de la BIOS. En casos concretos, puede sernecesario desactivar el puerto serie por medio del comando setserial/dev/ttyS<x> uart none .

isdn/ Todos los scripts importantes para RDSI.

ispell Comprobación de la ortografía.

ENGLISH_DICTIONARY="system american british"SuSEconfig.ispell gestiona un enlace simbólico al diccionario inglés conuno de los dos valores american o british . Si están instalados tantoispell-american como ispell-british, se utiliza 〈ENGLISH_DICTIONARY〉.El valor system comprueba el idioma estándar del sistema (fijado en/etc/sysconfig/language en la variable 〈RC_LANG〉), por lo queéste es uno de las dos variantes del idioma inglés. En caso contrario,system no tiene ningún efecto. Se establece un enlace simbólico con elprimer diccionario instalado de esta lista.

java Configuraciones para Java

CREATE_JAVALINK="yes"Si le da el valor yes a esta variable, SuSEconfig establecerá en /usr/lib/java y /usr/lib/jre enlaces a los correspondientes JDK (ingl.Java Development Kit) y JRE (ingl. Java Runtime Environment). Si prefiere laconfiguración manual, ponga el valor no a 〈CREATE_JAVALINK〉.JAVA_JRE_THREADS_TYPE="green"Configuración del paquete java-jre . Si desea un auténtico fun-cionamiento ”Multithreading”, ponga el valor native a esta variable.Esto se recomienda p. ej.tenga en combinaciones con sistemas SMP.

351SuSE Linux – Manual de Administración

Page 370: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

joystick Configuraciones para el joystick.

GAMEPORT_MODULE_0=""Nombre del módulo Gameport, p. ej.ns558 para un Gameport que tengamuchos años.

JOYSTICK_MODULE_0=""Normalmente analog .

JOYSTICK_MODULE_OPTION_0=""Por ejemplo "js=gameport " para analog .

JOYSTICK_CONTROL_0=""Por ejemplo yes .

JOYSTICK_CONTROL_PORT_0=""Las tarjetas de sonido como ens1371 requieren una dirección de puerto;normalmente 0x200 .

kernel Kernel.

INITRD_MODULES=""Los nombres de los módulos que deben añadirse vía mk_initrd alRamdisk inicial. (p. ej.módulos para controladores SCSI, LVM o ReiserFS) ;véase apartado Arrancar con initial ramdisk en la página 305 .

SHMFS=""Introduzca aquí los parámetros de tamaño para montar el sistema deficheros shmfs. Normalmente el kernel utilizar el 50 % de la memoriadisponible, lo cual dependiendo del setup individual a veces puede noser suficiente.

keyboard Configuración para el teclado.

KEYTABLE="de-latin1-nodeadkeys"Aquí se define la distribución del teclado. Si se utiliza un teclado norteam-ericano, se puede dejar vacía esta variable.

KBD_RATE="24.0"Determina la velocidad de repetición automática del teclado. Las entradasposibles varían entre 2 y 30 veces por segundo. ¡Para que esta configu-ración tenga efecto, se debe indicar al mismo tiempo el retardo (véase〈KBD_DELAY〉)!KBD_DELAY="500"Los valores posibles son: 250 , 500 , 750 y 1000 . Aquí puede establecerel retardo que a su vez determinará la función de repetición automática.El valor es en milisegundos, pero los pasos no son muy exactos. ¡Tambiéndebe fijar la variable 〈KBD_RATE〉!

352 Scripts y variables – Configuración del sistema

Page 371: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

KBD_NUMLOCK="bios"Con el valor no ,

�� ��BloqNum no estará activa al iniciar el ordenador. Otrasconfiguraciones posibles son yes , "" y bios para la configuración de laBIOS.

KBD_SCRLOCK="no"¿Activar

�� ��BloqDespl ?

KBD_CAPSLOCK="no"No activar

�� ��BloqMayús al arrancar.

KBD_DISABLE_CAPS_LOCK="no"¿Debe desactivarse

�� ��BloqMayús y comportarse como una tecla�� ��Shift nor-

mal?

KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9tty10 tty12 tty13 tty14 tty15 tty16 tty17 tty18 tty19tty20"�� ��BloqNum ,

�� ��BloqMayús y�� ��BloqDespl pueden estar limitados a determinados

TTYs; "" es para todas las TTYs.

COMPOSETABLE="clear winkeys shiftctrl latin1.add"Aquí puede establecer la tabla de signos especiales (ingl. Compose Table).De esta forma se pueden especificar signos especiales (tildes, símbolosmonetarios, etc.) que no se encuentran directamente en el teclado, me-diante combinaciones de teclas. Puede encontrar una explicación más de-tallada en /usr/share/doc/packages/kbd/README.SuSE .

language Configuración del idioma y de la ubicación.

RC_LANG="de_DE@euro"Define LANGpara locale; con ello es posible definir un valor por defectopara los usuarios. Este valor es válido hasta el momento en que se definanalgunas variables RC_LC_* especiales.Las variables típicas de rc.config son: RC_LC_ALL(¡Con esta últimase puede sobreescribir la LC_* tal como la LANG!), RC_LC_MESSAGES,RC_LC_CTYPE, RC_LC_MONETARY, RC_LC_NUMERIC, RC_LC_TIMEyRC_LC_COLLATE.Ver el apartado Configuración nacional – I18N/L10N en la página 323.

ROOT_USES_LANG="ctype"Aquí se define si también se deben usar las configuraciones de localepara root . ctype significa que se utilizará el valor de 〈LC_CTYPE〉.

locate La base de datos de locate posibilita la búsqueda rápida de ficherosen el sistema. Si el ordenador no está continuamente encendida, es posibleque esta actualización se lleve a cabo poco después del inicio de la misma(ver apartado El paquete cron en la página 300.

353SuSE Linux – Manual de Administración

Page 372: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

RUN_UPDATEDB="no"Una vez al día se debe actualizar la base de datos de locate (locate ).Una configuración más detallada del programa updatedb se puedeobtener con las siguientes variables (véase los comentarios que aparecenallí).

RUN_UPDATEDB_AS="nobody"La identidad del usuario que updatedb debe utilizar para ejecutarse. Porrazones de seguridad, la configuración estándar aquí es nobody .

UPDATEDB_NETPATHS=""updatedb por sí mismo sólo cachea directorios locales. Pero puede fijarque cachee también directorios de red.

UPDATEDB_PRUNEPATHS="/mnt /cdrom /tmp /usr/tmp/var/tmp /var/spool /proc /media"updatedb dejará de lado todos los directorios que se introduzcan aquí.

UPDATEDB_NETUSER=""Ver arriba; aquí puede establecer el usuario, cuya identidad se utilizarápara cachear la red. El valor nobody es un ejemplo.

UPDATEDB_PRUNEFS=""updatedb no sólo puede pasar por alto determinados directorios, sinotambién tipos de sistemas de ficheros.

mail Opciones de configuración para el correo electrónico.

FROM_HEADER=""Utilización en todo el sistema de la línea From: . Si "", entonces se utilizaráFQDN; véase Domain Name System en la página 381.

MAIL_CREATE_CONFIG="yes"SuSEconfig agrupará todas las entradas de sendmail en /etc/sendmail.cf . Si realiza una configuración manual, fije esta variable enno .

SMTPD_LISTEN_REMOTE="no"Se fijará yes cuando se deba recibir correos del exterior. Para un servidorde correo, esta configuración es ”imprescindible”.

354 Scripts y variables – Configuración del sistema

Page 373: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

mouse Configuración del ratón.

MOUSE=""¿Cuál es el dispositivo de ratón utilizado por GPM en la consola? YaSTdefine el valor predeterminado.

MOUSETYPE=""El tipo de ratón determina el protocolo que va a usarse para el dispositivodefinido por GPM en 〈MOUSEDEVICE〉.GPM_PARAM=""El parámetro de arranque de gpm. Si esta variable permanece vacía, GPMse inicia con el parámetro -m MOUSEDEVICE -t MOUSETYPE.

network Directorio para la configuración de la red.

network/config Configuración general de la red.

DEFAULT_BROADCAST="+"〈DEFAULT_BROADCAST〉 se utilizará cuando no haya ningún otroBROADCAST. Puede escoger entre "" en caso de que no haya ningunadirección de retransmisión, - para 〈IPADDR〉 sin Host Bits y + para todaslas entradas de 〈IPADDR〉 con todos los Host Bits.

GLOBAL_POST_UP_EXEC="yes"Si se quiere activar determinados scripts después del inicio de una in-terfaz, la variable 〈GLOBAL_POST_UP_EXEC〉 ha de contener el va-lor yes y los scripts correspondientes han de estar almacenados en/etc/sysconfig/network/if-up.d .

GLOBAL_PRE_DOWN_EXEC="yes"Para scripts que deben iniciarse antes de apagar una interfaz, la variable〈GLOBAL_PRE_DOWN_EXEC〉 ha de contener el valor yes y los scriptshan de estar almacenados en /etc/sysconfig/network/if-down.d .

CHECK_FOR_MASTER="yes"Esta entrada provoca que se deba activar primero una interfaz ”master”antes de poder establecer direcciones alias (”labelled address”). Técnica-mente esta entrada no tiene ningún efecto, pero los usuarios de ifconfigpueden sacarle provecho.

CHECK_DUPLICATE_IP="no"yes provoca que el script ifup compruebe si ya se ha utilizado una de-terminada dirección IP. Compruebe que el se soporta el Kernel Packet-Sockets (〈CONFIG_PACKET〉), para sacar provecho de la utilidad ARP dela que depende esta faceta.

355SuSE Linux – Manual de Administración

Page 374: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Esta comprobación dura un segundo por cada interfaz, lo que se notará encaso de una gran cantidad de direcciones IP.

DEBUG="no"Activa o desactiva todos los mensajes de error en todos los scripts de red.Con el valor no y la opción -o debug puede activar mensajes de error endeterminados scripts.

USE_SYSLOG="yes"¿Deben producirse mensajes de error en los scripts de configuraciónsegún syslog ?

MODIFY_RESOLV_CONF_DYNAMICALLY="yes"Algunos servicios como ppp , ippp , dhcp-client , pcmcia y hotplugpueden modificar /etc/resolv.conf en determinados momentos. Elvalor estándar es yes .

MODIFY_NAMED_CONF_DYNAMICALLY="no"Véase 〈MODIFY_RESOLV_CONF_DYNAMICALLY〉. Si no está seguro,deje la configuración por defecto no .

network/dhcp Configuraciones para DHCP (ingl. Dynamic Host ConfigurationProtocol).

AtenciónPara hacer posible la configuración de una o más interfaces so-bre DHCP, la 〈BOOTPROTO〉 debe tomar en /etc/sysconfig/network/ifcfg-<interface> el valor dhcp . En determinadoscasos la variable 〈STARTMODE〉 debe adquirir el valor onboot .

Atención

La mayoría de estas opciones sólo son utilizadas por dhcpcd;ISC dhclient utiliza sus propios ficheros de configuración. Algunas op-ciones pueden sobreescribirse en los ficheros ifcfg-* debido a la confi-guración.

DHCLIENT_BIN=""¿Qué cliente DHCP se debe utilizar? dhcpcd para DHCP Client Daemono dhclient para el ISC dhclient? Si deja esta entrada vacía, primero in-tentará arrancar dhcpcd. En caso de no conseguirlo, lo vuelve a intentarcon dhclient.

DHCLIENT_DEBUG="no"¿Se debe arrancar DHCP Client en modo de búsqueda de errores?Los ficheros de error de DHCP Client Daemon se encuentran en/var/log/messagesfordhcpcd ; los de ISC dhclient en /var/log/dhclient-script .

356 Scripts y variables – Configuración del sistema

Page 375: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

DHCLIENT_SET_HOSTNAME="no"¿Debe fijar DHCP Client el nombre del host? Tenga cuidado al dar el valoryes de no encontrarse en una sesión X cuando se restablezca el nombredel host. Puede que la variable 〈DISPLAY〉 no funcione correctamente yno se puedan abrir nuevas ventanas.

DHCLIENT_MODIFY_RESOLV_CONF="yes"¿Puede DHCP Client modificar /etc/resolv.conf ?La configuración por defecto es yes . Si da el valor no o la〈MODIFY_RESOLV_CONF_DYNAMICALLY〉 contiene el valor noen /etc/sysconfig/network/config , no se tocarán los ficheros/etc/resolv.conf .

DHCLIENT_SET_DEFAULT_ROUTE="yes"¿Puede determinar DHCP Client la pasarela por defecto? Si se están ejecu-tando varios procesos dhcpcd, sólo uno de ellos debería poder hacerlo.

DHCLIENT_MODIFY_NTP_CONF="no"¿Puede DHCP Client modificar la configuración NTP (/etc/ntp.conf )?

DHCLIENT_MODIFY_NIS_CONF="no"¿Puede DHCP Client modificar la configuración NIS (/etc/yp.conf )?

DHCLIENT_SET_DOMAINNAME="yes"¿Puede DHCP Client establecer el nombre de dominio NIS? (Esto sóloresulta de utilidad si el servidor ofrece la opción nis-domain .)

DHCLIENT_KEEP_SEARCHLIST="no"¿Puede DHCP Client, al escribir un nuevo /etc/resolv.conf , conser-var la lista de búsqueda de dominios ya existente y añadir aquellos que seencuentran en el servidor DHCP?

DHCLIENT_LEASE_TIME=""Aquí puede indicar (en segundos) el intervalo de tiempo durante el cual elservidor DHCP entrega una IP dinámica al cliente.

DHCLIENT_TIMEOUT="999999"Aquí puede fijar un determinado ”timeout”, tras el cual el cliente au-tomáticamente interrumpe la conexión si no recibe ninguna respuesta delservidor. Esta configuración sólo sirve para dhcpcd.

DHCLIENT_REBOOT_TIMEOUT=""Esta opción determina cuánto tiempo intenta dhcpcd recibir de nuevouna antigua ”Lease” (al reiniciar) antes de utilizar una nueva.

DHCLIENT_HOSTNAME_OPTION="AUTO"Puede establecer un determinado nombre de host que dhcpcd utilizarápara los mensajes DHCP. La configuración por defecto AUTOprovoca quese envíe el nombre del host automáticamente.

357SuSE Linux – Manual de Administración

Page 376: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

DHCLIENT_CLIENT_ID=""Aquí se fija una cadena de tiempo que se enviará como ID del cliente. Sideja esta variable vacía, se enviará la dirección de hardware de la tarjetade red.

DHCLIENT_VENDOR_CLASS_ID=""Establece el ”Vendor Class Identifier”.

DHCLIENT_RELEASE_BEFORE_QUIT="no"¿Debe el cliente avisar al servidor de que ya no necesita una determinadadirección para que pueda volver a estar disponible? Esta opción sólo lasoporta dhcpcd.

DHCLIENT_SCRIPT_EXE=""En caso de modificarse la dirección IP (con la opción -c ), el script /etc/sysconfig/network/scripts/dhcpcd.exe se iniciará por defecto.

DHCLIENT_ADDITIONAL_OPTIONS=""Espacio para añadir opciones adicionales, p. ej.-B .

DHCLIENT_SLEEP="0"Algunas interfaces requieren una determinada cantidad de tiempo antesque se inicializan correctamente. Aquí puede introducir un tiempo de in-actividad en segundos durante el cual DHCP Client espera la inicializa-ción. Esta configuración debe fijarse separadamente para cada interfaz.

network/ifcfg-eth0 Configuración de la primera tarjeta de red. Las con-figuraciones que vienen a continuación se pueden efectuar cómodamentecon YaST.

STARTMODE=""¿Cuándo se activará la interfaz? onboot confirma que la interfaz se inicieen el momento del arranque; manual , que ifup se deba iniciar manual-mente; y hotplug hace posible que Hotplug o PCMCIA la activen.

BOOTPROTO=""Escoja entre configuración de IP estática o asignación dinámica de la di-rección con DHCP (dhcp ).

IPADDR=""Introduzca aquí la dirección IP para la primera tarjeta de red.

NETMASK=""Introduzca aquí la máscara de red de su propia red.

BROADCAST=""Indique la dirección de retransmisión de su red.

PREFIXLEN=""Indique la longitud del prefijo.

358 Scripts y variables – Configuración del sistema

Page 377: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

NETWORK=""La dirección de su red.

network/ifcfg-lo La configuración del dispositivo Loopback.

network/wireless La configuración para LAN wireless (sin cables). UtiliceYaST2 para la configuración.

news Configuraciones para el acceso a un servidor NNTP.

ORGANIZATION=""El texto introducido aquí aparecerá en todas las noticias que se envíendesde el ordenador en cuestión. Por ejemplo:Tux Waddle, Linuxlandia

NNTPSERVER="news"La dirección del servidor de noticias; si se reciben las noticias vía UUCP yse almacenan localmente, se debe indicar aquí localhost .

onlineupdate Configuraciones para una actualización online de YaST2.

YAST2_LOADFTPSERVER="yes"Al iniciar YOU (”actualización online de YaST2”), se actualiza la lista deservidores FTP con wget disponible en http://www.suse.de . Esta listase colocará en /etc/suseservers . Si se le da el valor no a esta variable,la lista no se actualizará.

pcmcia Sistema PCMCIA/Tarjetas PC.

PCMCIA_SYSTEM="kernel"Escoja uno de los dos sistemas PCMCIA: external o kernel . Si sólotiene instalado uno de los dos sistemas, no se tendrá en cuenta el con-tenido de esta variable.

PCMCIA_PCIC=""Fija el módulo del socket (chipsets). Los valores posibles son i82365o tcic , en caso de que se utilice un sistema PCMCIA ”externo” (véase〈PCMCIA_SYSTEM〉); y yenta_socket , i82365 o tcic si se utiliza unsistema instalado en el kernel.

359SuSE Linux – Manual de Administración

Page 378: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si se deja esta variable vacía (""), el script intenta averiguar el módulo ade-cuado; por tanto, sólo hay que dar un valor a esta variable cuando falla elreconocimiento automático.

PCMCIA_PCIC_OPTS=""Establece los parámetros de tiempo del módulo del socket. Puede encon-trar una descripción más detallada en man i82365 o man tcic , así co-mo en PCMCIA-HOWTO (/usr/share/doc/packages/pcmcia ) quese encuentra en ”PCIC_OPTS”.

PCMCIA_CORE_OPTS=""Aquí puede establecerlas opciones de ”pcmcia_core”. La descripción másdetallada se encuentra en /usr/share/doc/packages/pcmcia como”CORE_OPTS”. Estas opciones son válidas para los dos tipos de PCM-CIA.

postfix Configuración de las variables de Postfix. Para ello utilice el módulomail de YaST.

postgresql PostgreSQL.

powermanagement apmd.

APMD_DEBUG="no"Los scripts de apmd y apmd_proxy pueden transformarse en”locuaces”. Con el valor yes se le informará de cuándo y cómo se llama aapmd_proxy. Si quiere ver todo lo que sucede en apmd_proxy – stdouty stderr –, escoja error . Con all no se le escapará nada. La configura-ción por defecto es no .

ACPI_MODULES_NOT_TO_LOAD=""El script acpid carga automáticamente todos los módulos necesarios paraACPI. Si alguno de estos módulos causa problemas, introdúzcalo aquí.Esta variable define qué módulos no han de cargarse.

ACPI_BUTTON_POWER="shutdown"¿Qué sucede al pulsar el botón de ”POWER”?

ACPI_BUTTON_LID="ignore"¿?ué debe ocurrir al cerrar la cubierta?

APMD_WARN_LEVEL="10"¿Quiere que el sistema le avise en cuanto la capacidad de la batería seencuentre por debajo de un determinado nivel (en tanto por ciento)? Laconfiguración por defecto es 10 ; con 0 desactiva esta y las tres opciones si-guientes. Puede encontrar más información sobre apmd en man 8 apmdo en el correspondiente script de inicio /etc/init.d/apmd .

360 Scripts y variables – Configuración del sistema

Page 379: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

APMD_WARN_ALL="no"¿Se deben enviar los avisos de apmd a todas las terminales? Si es así, es-coja el valor yes ; en caso contrario, quedarán recogidas en los ficherossyslog. La configuración por defecto es no .

APMD_WARN_STEP="0"Los mensajes de aviso se repetirán cada vez que la capacidad de la bateríase reduzca en una determinada cantidad (〈APMD_WARN_STEP〉). 0 de-sactiva esta configuración.

APMD_CHECK_TIME="0"apmd comprueba el estado de la batería, siempre que la BIOS avisa de unsuceso. Si quiere que se compruebe más a menudo, fije esta variable a unvalor superior a 0 segundos. Pero no olvide que el disco duro arrancarácada vez que se realice la comprobación. La configuración por defecto es0.

APMD_ADJUST_DISK_PERF="no"Para ahorrar energía, la velocidad de rotación de su disco duro puedereducirse tras un determinado periodo de inactividad (ingl. idle time).Asigne el valor yes a 〈ADJUST_DISK_PERF〉 si desea este efecto (só-lo necesario en casos donde el sistema no funciona conectado a la redeléctrica). Puede obtener más información en la Sección APM y ACPI –Powermanagement en la página 266 de este manual.

APMD_BATTERY_DISK_TIMEOUT="12"Determine el ”timeout” tras el cual el disco duro ha de apagarse. Perorecuerde que el valor de esta variable se limita a minutos o segundos.Puede encontrar más detalles en la página man de hdparm. Esta con-figuración sólo se aplica si antes ha dado el valor yes a la variable〈ADJUST_DISK_PERF〉. El valor estándar 12 hace que el disco duro seapague después de un minuto de inactividad. Puede obtener más infor-mación sobre cómo fijar este valor ”timeout” en página del manual dehdparm (man hdparm).

APMD_AC_DISK_TIMEOUT="0"La opción por defecto en sistemas conectados a la red eléctrica es no apa-gar el disco duro.

APMD_BATTERY_LOW_SHUTDOWN="0"Al encontrarse por debajo de una determinada capacidad de la batería,la BIOS de algunos ordenadores portátiles envían un mensaje ”batterylow”. El sistema puede apagarse después de este suceso. Fije un valor enminutos: 1 es el mínimo, 0 desactiva este comportamiento.

361SuSE Linux – Manual de Administración

Page 380: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

APMD_SET_CLOCK_ON_RESUME="no"Si quiere que las configuraciones de tiempo desaparezcan tras un standbyo suspensión del sistema, asigne el valor yes a esta variable. De este mo-do, la configuración horaria del kernel se ajustará automáticamente con lavariable GMT. Por defecto, esta opción es inactiva.

APMD_SUSPEND_ON_AC="yes"Su sistema también se apagará si está enchufado a la corriente. Con nodesactivará este comportamiento.

APMD_PCMCIA_SUSPEND_ON_SUSPEND="no"Si su PCMCIA no soporta APM, deje a apmd que ponga a su tarjeta ensuspenso antes de que todo el sistema quede en suspensión.

APMD_PCMCIA_EJECT_ON_SUSPEND="no"Algunas tarjetas PCMCIA (especialmente las tarjetas SCSI) no reaccionanante una suspensión. Por tanto puede ser necesario desactivarlas median-te cardctl eject .

APMD_INTERFACES_TO_STOP=""Si el setup de su tarjeta de red integrada no funciona correctamente con elciclo suspensión/reinicio, determine aquí el nombre de la interfaz. Aho-ra la interfaz indicada se apagará y volverá a encender correctamente encaso de una suspensión del sistema.

APMD_INTERFACES_TO_UNLOAD=""Si la interfaz de red no se apaga correctamente con〈APMD_INTERFACES_TO_STOP〉, introduzca aquí el módulo decontroladores de la interfaz de red. En caso de una suspensión, éste secargará de la memoria y se volverá a leer cuando el equipo se reinicie.

APMD_LEAVE_X_BEFORE_SUSPEND="no"Dependiendo de la tarjeta gráfica, puede que no se restablezca correcta-mente el modo gráfico después de una suspensión. Antes de la suspen-sión puede cambiar a una consola de texto y volver a la consola X despuésdel reinicio. La configuración por defecto es 0.

APMD_LEAVE_X_BEFORE_STANDBY="no"Véase 〈APMD_LEAVE_X_BEFORE_SUSPEND〉. También la vuelta delstandby puede ser difícil. La configuración por defecto es no .

APMD_LOCK_X_ON_SUSPEND="no"¿Debe apmd bloquear la pantalla? Si sólo está en funcionamiento unservidor X en su sistema y nadie tiene acceso a una terminal virtual delsistema, este estado se puede considerar ”seguro”. Además, una particiónde datos codificada es una protección muy buena en caso de que le robenel ordenador portátil. La configuración por defecto es 0.

362 Scripts y variables – Configuración del sistema

Page 381: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

APMD_STOP_SOUND_BEFORE_SUSPEND="no"A veces los módulos de sonido tampoco resisten el ciclo de suspen-sión/reinicio. Puede indicar aquí que el módulo de sonido se descarguede la memoria y se vuelva a cargar al reiniciar. Antes de suspender el sis-tema, cierre todas las aplicaciones de sonido. Según el tipo de sistema desonido utilizado, asigne a esta variable el valor alsa , oss o kernel . Conno no se descargará el módulo de sonido.

APMD_KBD_RATE=""A veces, también es necesario restaurar el intervalo de repetición y retardo(〈APMD_KBD_DELAY〉) del teclado. Indique aquí un valor numérico odeje vacías estas dos variables, si no desea este comportamiento.

APMD_KBD_DELAY=""

APMD_TURN_OFF_IDEDMA_BEFORE_SUSPEND=""Algunos portátiles no vuelven correctamente al estado anterior normal,después de que el disco duro estuviera en modo DMA. Indique aquí todoslos discos que requieran una parada del modo DMA, para restaurar elmodo normal de funcionamiento.

proxy Configuraciones del Proxy.

PROXY_ENABLED="yes"La configuración del proxy es generada y añadida al perfil. Aquí puedeencender y apagar el proxy manteniendo la configuración del proxy.

HTTP_PROXY=""Hay algunos programas (p. ej. lynx, arena o wget) que son capaces deusar un servidor proxy si la correspondiente variable está configurada.SuSEconfig puede definirla en /etc/SuSEconfig/* (ver la base dedatos 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. Por ejemplo:"http://proxy.provider.de:3128/" .

NO_PROXY="localhost"Con esta variable es posible excluir (sub)dominios del proxy. Ejemplo:"www.me.de, do.main, localhost" .

363SuSE Linux – Manual de Administración

Page 382: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

security Configuraciones para la seguridad del sistema.

CHECK_PERMISSIONS="set"Esta variable determina si se deben comprobar los permisos de un ficheromediante la información en /etc/permissions . Con set se corrigenlas configuraciones falsas, con warn sólo aparecen ”advertencias”, y conno se desactiva esta característica.

PERMISSION_SECURITY="easy local"Hay tres niveles de seguridad preparado en /etc/permissions.paranoid , /etc/permissions.secure y /etc/permissions.easy . Indique aquí easy , secure o /etc/permissions.paranoid .Puede definir una configuración propia p. ej. en /etc/permissions.local e indicarla después con local .Tenga en cuenta que si elije la opción paranoid , puede que algunos ser-vicios del sistema no se encuentren disponibles tal y como le gustarían; locual quiere decir que ha conseguido justamente lo que deseaba.Atención: Si realiza entradas en /etc/permissions.local asegúresede que no entran en conflicto con el mecanismo de rotación (pa-quete logrotate ). logrotate sobreescribe las entradas de /etc/permissions.local ; véase apartado Archivos de registro – el paquetelogrotate en la página 300.

sendmail Las variables de sendmail; utilice el módulo mail de YaST para laconfiguración.

suseconfig Configuración básica de SuSEconfig.

ENABLE_SUSECONFIG="yes"Determina si SuSEconfig debe realizar una configuración. No se debe apa-gar nunca si se quiere utilizar el soporte de instalación

MAIL_REPORTS_TO="root"Determina a quién envía SuSEconfig vía E-Mail informes generados du-rante la administración automática del sistema.

MAIL_LEVEL="warn"Existen dos opciones: si se indica warn sólo se envían los mensajes im-portantes; con el valor all también se envían los archivos de registro(”logs”).

CREATE_INFO_DIR="yes"Determina si se debe generar automáticamente el fichero /usr/share/info/dir que contiene un índice de todas las páginas de informaciónexistentes. ¡Tenga en cuenta que se debe instalar perl para aprovechar estacaracterística!

364 Scripts y variables – Configuración del sistema

Page 383: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

CHECK_ETC_HOSTS="yes"Determina si SuSEconfig debe comprobar y modificar el fichero /etc/hosts .

BEAUTIFY_ETC_HOSTS="no"Si quiere que se encargue de ordenar /etc/hosts .

SORT_PASSWD_BY_UID="no"Para ordenar /etc/passwd y /etc/group según ”UID” o ”GID”.

CWD_IN_ROOT_PATH="no"Directorio actual (ingl. current working directory) en la ruta de root ; porrazones de seguridad se lo desaconsejamos. Esta configuración afecta atodos los usuarios con un UID fijado en 100 (ingl. system users).

CWD_IN_USER_PATH="yes"¿Debe estar el directorio actual (ingl. current working directory) en la rutade un usuario normal?

HALT_SOUND="no"yes o bien quint ocasiona el sonido de una quinta cuando se cierra elsistema para apagarlo (ingl. halt) o reiniciarlo (ingl. reboot). octave tocauna octava.

CREATE_PERLLOCAL_POD="yes"yes permite que SuSEconfig modifique el fichero perllocal.pod . Enperllocal.pod se encuentra la instalación específica del módulo Perl.

UPDATE_GROFF_CONF="yes"DESCactualizar para establecer el tamaño adecuado de hoja.

GROFF_PAGESIZE=""Si el tamaño de hoja no procede de /etc/printcap , es aquí donde sedebe configurar. letter , legal , a4 y a5 son soportados por groff yghostscript.

SuSEfirewall2 Activar el cortafuegos; véase la descripción en paqueteSuSEfirewall2 .

sysctl Controlar el sistema al nivel de kernel.

IP_DYNIP="no"Activar el ”dynamic IP patch” durante el tiempo de arranque; con yes elscript /etc/init.d/boot.proc libera este parche mediante una entra-da en el sistema de ficheros /proc .

IP_TCP_SYNCOOKIES="yes"Activar la protección contra ”syn flooding” (ingl. syn flood protection);véase /usr/src/linux/Documentation/Configure.help .

365SuSE Linux – Manual de Administración

Page 384: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

IP_FORWARD="no"Si el ordenador debe transmitir dos interfaces de red, se debe dar el valoryes a la variable 〈IP_FORWARD〉; es el caso si se trata de un enrutador(ingl. router).

ENABLE_SYSRQ="no"Mirar el interior del kernel. ¡Es imprescindible leer antes /usr/src/linux/Documentation/sysrq.txt !

DISABLE_ECN="yes"Con yes se desactivará ECN (ingl. early congestion notification) en el mo-mento del arranque. Esto es útil cuando existen dificultades para estable-cer contacto con otros ordenadores en Internet, que rechazan paquetes deconfiguración de firewall propios y con las cuales ha sido posible estable-cer conexión con el kernel 2.2 de Linux.

syslog Configurar el Syslog-Daemon.

SYSLOGD_ADDITIONAL_SOCKET_DHCP="/var/lib/dhcp/dev/log"Entrada adicional generada por el paquete dhcp-server . Los nombresde fichero que se escriban aquí -a <Nombrefichero> se añadirán au-tomáticamente como socket adicional vía 〈SYSLOGD_PARAMS〉, tanpronto como se inicie syslogd. Esto es necesario para que sea posible unlogin en un dhcpd en funcionamiento ”chrooted”, después de un reiniciode syslogd.SYSLOGD_ADDITIONAL_SOCKET_FROX="/var/lib/frox/dev/log"Entrada adicional generada por el paquete frox . Los nombres de ficheroque se escriban aquí -a <Nombrefichero> se añadirán automática-mente como socket adicional vía 〈SYSLOGD_PARAMS〉, tan pronto co-mo se inicie syslogd. Esto es necesario para que sea posible un login en elprograma frox en funcionamiento ”chrooted”, después de un reinicio desyslogd.SYSLOGD_ADDITIONAL_SOCKET_STUNNEL="/var/lib/stunnel/dev/log"Entrada adicional generada por el paquete stunnel . Los nombres defichero que se escriban aquí -a <Nombrefichero> se añadirán au-tomáticamente como socket adicional vía 〈SYSLOGD_PARAMS〉, tanpronto como se inicie syslogd. Esto es necesario para que sea posible unlogin en el programa stunnel en funcionamiento ”chrooted”, después deun reinicio de syslogd.KERNEL_LOGLEVEL="1"Nivel de registro (ingl. loglevel) para klogd.SYSLOGD_PARAMS=""Parámetros para syslogd; p. ej. "-r -s my.dom.ain ".

366 Scripts y variables – Configuración del sistema

Page 385: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

KLOGD_PARAMS="-2"Parámetros para klogd.

syslog-ng Configurar Syslog-ng.

SYSLOG_NG_REPLACE="yes"¿Debe syslog-ng sustituir al anterior syslogd? Si se le da el valor no , searrancarán los dos programas.SYSLOG_NG_PARAMS=""Traspaso de parámetros a syslog-ng. Obtenga los detalles necesarios deman 8 syslog-ng .

windowmanager Administrador de ventanas.

DEFAULT_WM="kde"Posibles configuraciones: kde , gnome, fvwm etc.INSTALL_DESKTOP_EXTENSIONS="yes"Instalar las ampliaciones de SuSE para nuevos usuarios. Se trata de”temas” y funciones adicionales que hacen al sistema más atractivo.KDE_USE_FAM="no"Utilizar el daemon de fam; sólo tiene sentido en directorios conectadoscon NFS.KDE_USE_FAST_MALLOC="yes"Utilizar el malloc mejorado.SUSEWM_UPDATE="yes"Determina si SuSEconfig debe ajustar los ficheros de configuración deladministrador de ventanas a los paquetes de software instalados.SUSEWM_WM="all"Elabora una lista del administrador de ventanas para los ficheros de con-figuración; valores posibles: fvwm, fvwm2 , fvwm95 , bowman, mwm, ctwm,kwmy all (para todos).SUSEWM_XPM="yes"Debe instalarse el paquete paquete 3dpixms , para que aparezcan losPixmaps de fvwm/fvwm95 en los menús. Si esto provoca que el admi-nistrador de ventanas se ralentice, se debe dar el valor no a esta variable.

xntp Arranca el ”Network Time Protocol (NTP) Daemon” de paquetexntp ; la configuración en sí se encuentra en el fichero /etc/ntp.conf .

XNTPD_INITIAL_NTPDATE="AUTO-2"Lista de servidores NTP, separados por un espacio en blanco, con los quese debe consultar la hora antes de arrancar el servidor local; p. ej."sol .cosmos.univ ".También es posible introducir el valor AUTO, con lo que se preguntará atodos los servidores y ”peers”, configurados en /etc/ntpd.conf . Se

367SuSE Linux – Manual de Administración

Page 386: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

puede limitar el número total de servidores a los que se pregunta; el prefi-jado es AUTO-2.Los relojes de ajuste automático vía onda electromagnética (”reloj atómi-co”) tienen direcciones IP del tipo wert127.127.T.U. T representa el tipode reloj y Ues el número de unidad entre 0 y 3. – La mayoría de estosrelojes necesitan un puerto serie o un bus especial. El fichero de dispo-sitivo previsto para ello (Dispositivo) se indica normalmente con un en-lace simbólico /dev/device-U hacia el hardware real. Udebe coin-cidir con el número de unidad mencionado anteriormente; ver también/usr/doc/packages/xntp-doc/html/refclock.htm .Ejemplo: Si se tiene un ”reloj atómico”, que se conecta al puerto serie, sedebe establecer el enlace simbólico correspondiente. El nombre del mis-mo se indica en refclock.htm . – El driver ”PARSE” se encarga de losreceptores 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 entra-da en ntp.conf , también hace falta definir un enlace simbólico de/dev/refclock-0 a ttySx ; x representa aquí la interfaz usada parala conexión.

XNTPD_OPTIONS="-U ntp"Argumentos adicionales para el daemon NTP Daemon. Vea para más de-talles la completa documentación incluida en paquete xntp-doc .

ypbind Configuración de un cliente NIS. Información adicional: El fichero/etc/defaultdomain contiene el nombre de dominio en texto plano. Elprograma de configuración de YaST escribe el nombre del servidor direc-tamente a /etc/yp.conf ; ver apartado NIS – Network Information Serviceen la página 411.

YPBIND_OPTIONS=""Opciones.

YPBIND_LOCAL_ONLY="no"Si le da a esta opción el valor yes , ypbind se conectará solamente con lainterfaz loopback local. Otros hosts no pueden preguntar.

YPBIND_BROADCAST="no"Si se le da el valor yes a esta opción, ypbind deja de lado el fichero/etc/yp.conf e intenta encontrar un servidor NIS disponible en la sub-red local mediante una ”broadcast-call”. Procure evitar esta opción puestoque da lugar a un gran agujero de seguridad.

368 Scripts y variables – Configuración del sistema

Page 387: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

12Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

YPBIND_BROKEN_SERVER="no"Si tiene un servidor NIS en su red, que sólo se conecta con puertos supe-riores a 1024, asigne el valor yes a esta opción. Lo cual también provocaun riesgo de seguridad; debería considerar una implementación de otroservidor NIS.

ypserv Configuración de un servidor NIS

YPPWD_SRCDIR="/etc"Si quiere determinar un directorio distinto a /etc para los ficheros fuentede passwd , shadow y group , hágalo aquí.

YPPWD_CHFN="no"¿Puede modificar un usuario su campo GECOS con ypchfn (con informa-ción adicional como el número de teléfono, etc.)?

YPPWD_CHSH="no"¿Puede modificar un usuario su login estándar con ypchsh?

zope Configuración de un sistema ZOPE.

ZOPE_FTP="yes"¿Debe Zope ofrecer un acceso FTP?

ZOPE_FTP_PORT="8021"¿Sobre qué puerto debe ser accesible?

ZOPE_HTTP_PORT="8080"Si Zope debe hacer las veces de servidor web ”standalone”, determine elpuerto que ocupará.

369SuSE Linux – Manual de Administración

Page 388: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 389: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Parte IV

La red

Page 390: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 391: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Fundamentos deconexión a redes

Linux, que de hecho nació en Internet, proporciona todas las herramientas yprestaciones de red necesarias para la integración en estructuras de red de todotipo.

A continuación se expone una introducción al protocolo de red TCP/IP - nor-malmente utilizado por Linux - con sus características y particularidades.

Después de los fundamentos se explica cómo configurar una tarjeta de red me-diante YaST2. Se explica el significado de los ficheros de configuración más im-portantes y algunas de la herramientas más comunes.

Puesto que la configuración de una red puede llegar a ser muy compleja, en estecapítulo sólo le explicaremos los conceptos más fundamentales.

Con YaST2 también puede configurar cómodamente la conexión a Internet víaPPP, módem, RDSI o DSL, lo cual se explica en Manual del usuario.

TCP/IP - El protocolo de red utilizado por Linux . . . . . . 374IPv6 – La próxima generación de Internet . . . . . . . . . . 382El acceso a la red . . . . . . . . . . . . . . . . . . . . . . . . 388Configuración manual de la red . . . . . . . . . . . . . . . . 391Routing en SuSE Linux . . . . . . . . . . . . . . . . . . . . 400DNS – Domain Name Service . . . . . . . . . . . . . . . . . 401NIS – Network Information Service . . . . . . . . . . . . . . 411NFS – Sistema de ficheros distribuidos . . . . . . . . . . . . 415DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

Page 392: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

TCP/IP - El protocolo de red utilizado porLinux

Linux utiliza al igual que otros sistemas operativos un protocolo de comuni-cación que se llama TCP/IP. En realidad no se trata de un solo protocolo de redsino de una familia de protocolos con diferentes prestaciones. TCP/IP se desar-rolló a base de una aplicación militar y su especificación actual se fijó en el año1981 en un documento RFC (ingl. Request for comments). Los RFC son documen-tos que describen los diferentes protocolos de Internet y la implementación deellos en un sistema operativo o en aplicaciones. Estos documentos se encuentranen Internet en la dirección http://www.ietf.org/ . Desde 1981 el protocolosólo se ha modificado en algunos detalles; la base del protocolo sigue siendo lamisma.

TrucoLos documentos RFC describen la estructura de los protocolos de Inter-net. Para profundizar sobre un determinado protocolo, en el documentoRFC del protocolo concreto, encuentra una fuente de información muybuena; consulte http://www.ietf.org/rfc.html

Truco .

Para el intercambio de datos vía TCP/IP entre dos ordenadores con Linux, exis-ten los servicios que se mencionan en la tabla 13.1 en la página siguiente:

Protocolos DescripciónTCP (ingl. Transmission control protocol) es un protocolo asegu-

rado orientado a la conexión. Desde el punto de vista delas aplicaciones, los datos se transmiten como un caudaly es el sistema operativo que se encarga de convertirlos alformato adecuado para su transmisión. Las aplicaciones enla máquina remota reciben el caudal de datos tal como fueenviado y TCP se encarga de que el caudal llegue completoy ordenado. Por eso TCP se utiliza cuando el orden de losdatos importa y cuando se puede hablar de una conexión.

Cuadro 13.1: Continúa en la página siguiente. . .

374 TCP/IP - El protocolo de red utilizado por Linux

Page 393: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

UDP (ingl. User Datagram protocol) es un protocolo no asegurado ysin conexión. La transferencia de datos está orientada a pa-quetes que se creen directamente por parte de la aplicación.El orden de llegada de los paquetes no está garantizadoy tampoco la llegada en sí. UDP sirve para aplicacionesque transmiten bloques de datos y tiene menos tiempo derespuesta que TCP.

ICMP (ingl. Internet control message protocol) es un protocolo quebásicamente no puede ser usado por el usuario, ya quesu tarea es la de transmitir errores y de controlar los orde-nadores que participan en el intercambio de datos. AdemásICMP incorpora un modo especial de eco, que se puedecomprobar mediante ping.

IGMP (ingl. Internet group management protocol) es un protocolo quecontrola el comportamiento de los ordenadores utilizandoIP-Multicast. Lamentablemente no se puede presentar esteprotocolo dentro del marco de este libro.

Cuadro 13.1: Diferentes protocolos de la familia TCP/IP

Todas las redes en el mundo que estén interconectadas vía TCP/IP, forman unasola red que se suele llamar Internet.

Casi todos los protocolos de hardware están basados en paquetes. Los datos atransmitir se han de dividir en pequeños ”paquetes”, ya que es imposible trans-mitirlos ”de golpe”.

TCP/IP también trabaja con paquetes, cuyo tamaño máximo es de casi 64 Kilo-byte. En realidad los paquetes suelen tener un tamaño mucho menor, ya que eltamaño máximo de un paquete sobre una Ethernet es de 1500 Byte. Por eso eltamaño de cada paquete TCP/IP se limita a estos 1500 Byte, cuando el paquetepasa por una red del tipo Ethernet. Para transmitir más datos, el sistema opera-tivo tiene que enviar la cantidad correspondiente de paquetes.

Modelo de capas

Para ser exactos, el protocolo no se debería llamar TCP/IP sino sólo IP. Con IP(ingl. Internet protocol) no se asegura la transferencia. TCP (ingl. Transmission con-trol protocol) es una capa de control por encima del protocolo IP, que garantiza latransmisión de los datos.

375SuSE Linux – Manual de Administración

Page 394: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Finalmente el protocolo IP es superpuesto al protocolo que se encuentre pordebajo y que depende directamente del hardware (p. ej. Ethernet). Los expertoshablan aquí de ”modelo de capas”. Compare la figura 13.1.

Figura 13.1: Modelo de capas simplificado para TCP/IP

La imagen muestra uno o dos ejemplos para cada capa. Las capas se ordenansegún su nivel de abstracción; la capa inferior se encuentra más próxima alhardware, mientras que la capa superior ”envuelve” el nivel de abstracción masalto. Cada capa tiene una determinada función que se explica a continuación.

La función de cada capa se deduce en buena medida de su denominación. Lared está representada por la capa de transmisión de bits y por la capa de seguri-dad.

La primera capa se encarga de detalles como los tipos de cables, tipos deseñales, la codificación de las mismas, etc y se denomina Capa física .La segunda capa se encarga del procedimiento de acceso a los datos y dela corrección de errores, por eso la capa se denomina Capa de enlace .

La tercera capa es la Capa de red que se encarga de la transmisión dedatos a distancia. Esta capa asegura que los datos encuentren el camino aldestinatario a través de diversas redes.

La Capa de transporte como cuarta capa se encarga de la llegada delos datos de las aplicaciones y del orden de los mismos. La capa de enlace

376 TCP/IP - El protocolo de red utilizado por Linux

Page 395: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

sólo asegura la llegada correcta de los datos, mientras que la capa detransporte evita la ”pérdida” de estos.

La quinta capa representa finalmente el procesamiento de datos por partede la aplicación.

Cada capa necesita un cierta información adicional para poder cumplir con sutarea. Esta información se encuentra en el encabezado (ingl. header) de cadapaquete. Cada capa añade un pequeño bloque de datos (denominado ”cabezade protocolo” (ingl. Protocol header)) al paquete que se está formando. La figu-ra 13.2 muestra el ejemplo de la composición de un paquete TCP/IP que viajasobre un cable de una red tipo Ethernet.

Figura 13.2: Paquete TCP/IP sobre Ethernet

Una excepción de la estructura del encabezado son los dígitos de control queno se encuentran en el encabezado sino al final. De esta forma el hardware dered lo tiene más fácil. Como se puede observar, el máximo útil de datos en unpaquete sobre una red Ethernet es de 1460 Bytes.Cuando una aplicación quiere enviar datos por la red, los datos pasan por lasdiferentes capas que se encuentran (con excepción de la primera) implemen-tadas en el kernel de Linux. Cada capa se encarga de preparar los datos de talforma que puedan ser pasados a la capa inferior. La capa más baja se encargafinalmente del envío de los datos.Al recibir los datos, todo el proceso se invierte. Similar al proceso de pelar unacebolla, cada capa separa los encabezados de la parte útil de datos. Finalmentela cuarta capa se encarga de preparar los datos para la aplicación en la máquinaremota.Durante el proceso de transferencia, cada capa solo se comunica con aquellaque se encuentra directamente encima o por debajo. Por eso para una aplicaciónes totalmente irrelevante si los datos viajan a través de una red de 100 MBit/s-FDDI o a través de una línea de módem de 56 kbit/s. Igualmente para la líneano son importantes los datos que se han de transferir sino que estos estén cor-rectamente empaquetados.

377SuSE Linux – Manual de Administración

Page 396: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Dirección IP (binario): 11000000 10101000 00000000 00010100Dirección IP (decimal): 192. 168. 0. 20

Cuadro 13.2: Formas de anotar una dirección IP

Direcciones IP y routing

Direcciones IP

Cada ordenador en Internet dispone de una dirección IP única de 32 bits. Estos32 bits o bien 4 byte se representan normalmente como se muestra en la segundafila de la tabla 13.2.

Como se puede observar, los cuatros bytes se anotan en el sistema decimal comocuatro cifras de 0 a 255 separadas por un punto. Esta dirección asignada al or-denador o a su interfaz de red es única y no puede ser utilizada en ningún otrolugar del mundo. Hay excepciones, pero estas no tienen relevancia en el ejemploexpuesto.

La tarjeta Ethernet por sí misma tiene un número único llamado MAC(ingl. Me-dia access control). Este número es de 48 bit y único en el mundo; su fabricantelo almacena de forma fija en la tarjeta red. La asignación de los números MACpor parte de los fabricantes tiene una desventaja fatal: No hay ninguna jerarquíaentre las tarjetas, sino que están distribuidas ”al azar”. Por eso no es posible uti-lizarlas para comunicarse con un ordenador a mucha distancia. Sin embargo ladirección MACes de mucha importancia en una red local (es la parte importantede la cabeza del protocolo en la capa 2).

Volviendo a las direcciones IP: Los puntos separadores ya indican la estructurajerárquica de las direcciones. Hasta mediados de los noventa, había una sepa-ración estricta en clases. Este sistema resultó muy poco flexible por lo que se hadejado de utilizar. Ahora se usa ”routing sin clases” (CIDR (ingl. classless interdomain routing)).

Routing y máscaras de red

Puesto que los ordenadores con la dirección IP 192.168.0.20 no puedensaber dónde se encuentra la máquina con la dirección IP 192.168.0.1 , secrearon las máscaras de red.

Simplificando se puede decir que la máscara de (sub-)red define para una com-putadora lo que se encuentra ”fuera” y lo que se encuentra ”dentro”. Se puedeacceder directamente a aquellos ordenadores que se encuentren ”dentro” (den-tro de la misma sub-red) mientras que a las máquinas que estén ”fuera” solo se

378 TCP/IP - El protocolo de red utilizado por Linux

Page 397: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Dirección IP:192.168.0.20 11000000 10101000 00000000 00010100Máscara de red: 255.255.255.0 11111111 11111111 11111111 00000000

Resultado binario 11000000 10101000 00000000 00000000Resultado decimal 192. 168. 0. 0

Dirección IP: 213.95.15.200 11010101 10111111 00001111 11001000Máscara de red: 255.255.255.0 11111111 11111111 11111111 00000000

Resultado binario 11010101 10111111 00001111 00000000Resultado decimal 213. 95. 15. 0

Cuadro 13.3: Conjunción de direcciones IP con una máscara de red

llega a través de un enrutador (ingl. router) o una pasarela (ingl. gateway). Comocada interfaz de red recibe una IP propia todo puede llegar a ser muy complejo.

Antes de que un paquete empiece a tomar rumbo por la red, el ordenador reali-za lo siguiente: Una conjunción bit por bit de la dirección de destino con la más-cara de red (operación lógica Y) y de la dirección del remitente con la máscara(ver tabla 13.3). Si hay varias interfaces de red a disposición, se comprueban to-das las direcciones de remitente posibles.

Los resultados de las conjunciones se comparan; en caso de que fueran idénti-cas, la máquina remota se encuentra en la misma subred que la máquina local.En cualquier otro caso hace falta acceder al ordenador remoto a través de unapasarela. Es decir, por más bits con valor ”1” que se encuentren en la máscarade red, más ordenadores se accederán a través de la pasarela y menos se encon-trarán en la propia subred. Para su explicación, la tabla 13.3 contiene un par deejemplos.

La máscara de red se anota – tal como la dirección IP – con valores decimalesseparados por puntos. Esta máscara es también un valor de 32 bit y por eso seanotan igualmente en forma de cuatro cifras de tres dígitos cada una.

El usuario se encarga de definir qué ordenadores trabajan como pasarelas y aqué rangos de direcciones se accede mediante qué interfaces de red.

Un ejemplo práctico son todas las máquinas que se encuentran conectadas almismo cable Ethernet.

379SuSE Linux – Manual de Administración

Page 398: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Estas se encuentran entonces por lo general en la misma subred y se puedenacceder directamente. Igualmente si la Ethernet está dividida por switches obridges, hay acceso directo a todos estos ordenadores.

Para atravesar distancias largas, ya no se puede utilizar la Ethernet económica,sino que hace falta pasar los paquetes IP por un soporte diferente (p. ej. FDDI oRDSI). Tales aparatos se denominan router (enrutador) o gateway (pasarela). Unordenador con Linux también se puede encargar de esto; la funcionalidad que lorealiza se denomina ip_forwarding .

En caso de trabajar con una pasarela, el paquete IP se manda a ésta y la pasarelatrata de pasar el paquetes según el mismo esquema. Este proceso se repite hastael momento de alcanzar el ordenador de destino o hasta que el ”tiempo de vidadel paquete” TTL (ingl. time to live) se haya agotado.

Tipo de direc-ciones

Descripción

La dirección base Es la dirección de la máscara de red operada conla conjunción lógica AND (Y) con cualquier direc-ción de la red. Es exactamente lo que se refleja en latabla 13.3 en la página anterior como Resultado dela conjunción . No se puede asignar esta dirección aningún ordenador.

La direcciónbroadcast

Con esta dirección se puede contactar con todas lascomputadoras de la subred al mismo tiempo. La direc-ción se crea invirtiendo su valor binario y realizandouna OR lógica con la dirección base de la red. En el casodel ejemplo mencionado resulta el valor 192.168.0.255.Esta dirección tampoco puede ser asignada a ningunacomputadora.

Localhost En cada ordenador la dirección 127.0.0.1 corre-sponde al dispositivo ”Loopback”. La dirección sirvepara crear una conexión en la propia máquina.

Cuadro 13.4: Direcciones especiales

No se pueden utilizar direcciones IP al azar, ya que estas deben ser únicas entodo el mundo. Para configurar un red privada con direcciones IP existen tresrangos de direcciones que pueden ser utilizados sin problema. Como desventa-ja, no es posible realizar con estas direcciones una conexión directa a Internet sin

380 TCP/IP - El protocolo de red utilizado por Linux

Page 399: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

realizar algunas conversiones.

Los tres rangos reservados en RFC 1597 son los siguientes:

Red, máscara de red Rango10.0.0.0, 255.0.0.0 10.x.x.x172.16.0.0, 255.240.0.0 172.16.x.x - 172.31.x.x192.168.0.0, 255.255.0.0 192.168.x.x

Cuadro 13.5: Rangos para direcciones IP privadas

Domain Name System

DNS

Gracias al DNS no hace falta recordar direcciones IP, ya que este sistema reali-za la asignación de una dirección IP a uno o varios nombres así como la asig-nación inversa de un nombre a una dirección IP. En Linux, un software especialllamado bind es el que se encarga de establecer el vínculo entre nombres y di-recciones IP. Un ordenador que presta este servicio se denomina Servidor denombres (ingl. Nameserver).

Los nombres también están estructurados dentro de una jerarquía; las diferen-tes partes funcionales de los nombres se separan por puntos. Esta jerarquía denombres es independiente de la ya mencionada jerarquía de direcciones IP.

A continuación figura el ejemplo de un nombre completo:

laurent.suse.de escrito en formato nombre_ordenador.dominio . Unnombre completo se denomina ”Nombre de dominio totalmente cualificado”(ingl. Fully qualified domain name o FQDN) y se compone del nombre del orde-nador y de la parte del dominio. Este nombre de dominio se compone de unaparte de libre elección – en el ejemplo suse – y del ”dominio de primer nivel”(ingl. Top level domain TLD).

Por razones históricas la asignación de los TLDs no es del todo contundente.En los EE.UU. se utilizan TLDs de tres letras mientras que el resto del mundoutiliza los códigos de país ISO de dos letras.

En los primeros tiempos de Internet (antes de 1990) el fichero /etc/hosts al-bergaba los nombres de todos los ordenadores disponibles en Internet. Esta for-ma de resolución de nombre se tornó poco práctica debido al rápido crecimien-to de Internet. Por eso se diseñó una base de datos descentralizada, capaz deguardar los nombres de las máquinas de forma distribuida.

381SuSE Linux – Manual de Administración

Page 400: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Esta base de datos, representado por un servidor de nombres, no dispone de losdatos de todas los ordenadores en Internet, sino que es capaz de consultar otrosservidores de nombres en un nivel más alto.

En la punta de la jerarquía de servidores de nombres se encuentran los ”Root-Nameserver” que administran los dominios de primer nivel (TLD). El ”Net-work Information Center” (NIC) se encarga de la administración de estosservidores. El Root-Nameserver conoce los servidores de nombres que seencargan de cada dominio de primer nivel. En el caso de la TLD de Alema-nia (de) es DE-NIC que se encarga de todos los dominios de este tipo. En lapágina web http://www.denic.de hay más información sobre DE-NIC;http://www.internic.net informa sobre el NIC.

El ordenador de sobremesa tiene que conocer la dirección IP de al menos unservidor de nombres para que sea capaz de convertir nombres en direccionesIP. Con YaST2 es muy fácil configurar el servidor de nombres. En el caso de unaconexión vía módem, puede que no sea necesario configurarlo manualmente,ya que el protocolo utilizado para la conexión proporciona esta informacióndurante el proceso de conexión.

DNS es capaz de realizar otras tareas a parte de la resolución de nombres. Elservidor de nombres ”conoce” igualmente el ordenador que acepta los mensajesde todo un dominio. Este ordenador se conoce como ”Mail exchanger (MX)”.

El apartado DNS – Domain Name Service en la página 401 explica la configura-ción de un servidor de nombres en SuSE Linux.

whois

El protocolo whois es muy similar al de DNS y sirve para averiguar rápida-mente quién se responsabiliza de un determinado dominio.

IPv6 – La próxima generación de Internet

El por qué del nuevo protocolo de Internet

Debido a la aparición de la WWW (ingl. World Wide Web), Internet y la cantidadde ordenadores que se comunican vía TCP/IP han crecido vertiginosamente.Desde la invención de la WWW por parte de Tim Berners-Lee, que trabajaba enel CERN (http://public.web.cern.ch/ ) en el año 1990, la cantidad de loshosts en Internet ha crecido de algunos miles hasta alrededor de 100 millones,actualmente.

382 IPv6 – La próxima generación de Internet

Page 401: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Como ya sabemos, una dirección IP ”sólo” tiene 32 bits. Muchas de las direc-ciones IP se pierden por su estructuración. Internet se divide en subredes. Cadasubred dispone de 2 elevado a N - 2 direcciones. Por eso una subred se com-pone por ejemplo de 2, 6, 14, 30, etc. direcciones IP. Para conectar p. ej. 128 orde-nadores a Internet, se necesita una subred de ”clase C” con 256 direcciones IP delas que hay 254 útiles. Hay que restar dos direcciones para la dirección base dela red y para la de broadcast.

La configuración de un ordenador dentro de una red TCP/IP es relativamentecomplicada. Como se acaba de mencionar, hace falta configurar los siguientesparámetros en el ordenador: La dirección IP propia, la máscara de subred, ladirección de la pasarela (si existe) y el servidor de nombres. Es preciso conocerexactamente estos valores (p. ej. dados por parte del proveedor), ya que no sepueden deducir.

Cada paquete IP incorpora unos dígitos de control que se han de comprobar yde calcular cada vez que un paquete pasa por un router. Por eso los routers muyrápidos necesitan mucha potencia de cálculo, lo cual los encarece.

Hay algunos servicios que se realizan hasta ahora mediante Broadcasts (p. ej.elprotocolo de red SMB de Windows). Los ordenadores que no participan en esteservicio están igualmente obligados a procesar los paquetes para finalmenteignorarlos. Es algo que puede provocar problemas en redes con alta demandade velocidad.

El sucesor de IP, IPv6, resuelve todos estos problemas. La meta principal deldesarrollo era una fuerte ampliación del rango de direcciones y la simplificaciónde la configuración de clientes de sobremesa (hasta llegar a su automatización).Este apartado denomina IPv4 o IP al protocolo de Internet utilizado hasta lafecha, e IPv6 al protocolo de la nueva versión 6.

RFC 1752 expone los detalles de IPv6. La característica principal de IPv6 sonlas direcciones de 128 bits, que permiten muchos billones de direcciones. Conesta enorme cantidad es posible ”permitirse el lujo” de definir como subred máspequeña una red de 48 bits.

De esta forma se puede utilizar la dirección MAC como una parte de la direc-ción. Como la MAC es única en el mundo, configurada por parte del fabricante,la configuración se simplifica mucho. En realidad los primeros 64 bits forman un”EUI-64 -Token”. Los últimos 48 bits vienen de la dirección MAC y los restantes24 bits contienen información especial, que informa sobre el tipo de Token. Asíes posible asignar EUI-64 -Token a los dispositivos sin dirección MAC (en casode conexiones por RDSI o PPP).

383SuSE Linux – Manual de Administración

Page 402: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

IPv6 incorpora una innovación: Se suele asignar a cada interfaz de red variasdirecciones IP. La ventaja es que así se tiene directamente acceso a varias redes.Una de estas redes se puede formar con la dirección MAC y un prefijo conoci-do. Con esta red configurada automáticamente, se puede acceder a todos losordenadores dentro de la red local, inmediatamente después del inicio de IPv6,utilizando la dirección ”Link-local”.

El resto de la configuración de un cliente también puede se puede automatizar.Para ello existe un protocolo especial para configurar los clientes en una red.Estos reciben su dirección IP desde un router.

Es muy importante que todos los ordenadores que trabajen con IPv6 soporten”Multicast”. Multicast permite acceder simultáneamente y de forma selectiva aun grupo de ordenadores. No se accede a todos ”de golpe” (broadcast) y tam-poco a uno solo (unicast), sino a un determinado grupo. El grupo para accederdepende de la aplicación. Hay algunos grupos totalmente definidos como ”to-dos los servidores de nombres” (ingl. all nameservers multicast group), o ”todoslos enrutadores” (ingl. all routers multicast group).

Existe un modo de compatibilidad, ya que no sería posible cambiar en un solomomento todos los ordenadores en Internet, de IPv4 a IPv6. Este modo traducelas direcciones actuales a las nuevas IPv6. A parte de esto existen mecanismoscomo ”Tunneling” (paquetes del tipo IPv6 se envían dentro de un paquete IPv4.También es posible convertir direcciones IPv6 en direcciones IPv4, pero paraacceder a un ordenador IPv6 desde una con IPv4 hace falta que la máquina conIPv6 tenga un dirección de compatibilidad con IPv4.

Estructura de una dirección IPv6

Es fácil de imaginar que la dirección IPv6 por sus 128 bits (16 Bytes) resulta mu-cho más larga que la IPv4 con apenas 32 bits.

Debido a su tamaño, las nuevas direcciones del tipo IPv6 se anotan en unaforma distinta a las del tipo IPv4. Esto se ve reflejado en los ejemplos de latabla 13.6 en la página siguiente.

Como se puede ver en la tabla, las direcciones IPv6 se representan mediantecifras hexadecimales. Éstas siempre se reunen en grupos de dos bytes separadaspor un : (dos puntos). Por esta razón cada dirección tiene un máximo de ochogrupos y siete doble puntos. Es permitido suprimir bytes de cero por delante,pero no en medio ni al final de un grupo. Es posible saltarse más de cuatro bytesde cero sucesivos utilizando el comodín :: (doble dos puntos). No se permiteutilizar más de un comodín en una dirección. El proceso de suprimir los ceros sedenomina en inglés ”collapsing”. Las direcciones compatibles con IPv4 tienen

384 IPv6 – La próxima generación de Internet

Page 403: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Descripción Valor de la direcciónLocalhost ::1Dirección IPv6 compatible IPv4 ::10.10.11.102

(IPv6 está soportado)Dirección IPv6 mapeado a IPv4 ::ffff:10.10.11.102

(IPv6 no está soportado)Dirección en general 3ffe:400:10:100:200:c0ff:fed0:a4c3Dirección Link-local fe80::10:1000:1a4Dirección Site-local fec0:1:1:0:210:10ff:fe00:1a4Grupo Multicast ff02:0:0:0:0:0:0:2”todos los routers locales”

Cuadro 13.6: Diferentes direcciones IPv6

una forma especial: La dirección IPv4 se añade sencillamente al prefijo definidopara las direcciones compatibles IPv4.

Cada parte de una dirección IPv6 tiene un determinado significado. Losprimeros bytes forman un prefijo que indica el tipo de la dirección. La parte delmedio representa una red o bien no representa nada y el final de la dirección esla parte del host.

La tabla 13.7 en la página siguiente muestra el significado de algunos prefijosque se utilizan con frecuencia.

Prefijo (hexadeci-mal)

Uso

00 Direcciones IPv4 y IPv4 compatibles sobre IPv6. Sondirecciones compatibles con IPv4. Un router adecua-do tiene que convertir el paquete IPv6 en IPv4. Hayotras direcciones especiales (p. ej. Loopback Device)que utilizan este prefijo.

primera cifra 2 o 3 (ingl. provider-based-unicast) Direcciones unicastasignadas por un proveedor. Igual que ahora, tam-bién en el caso de IPv6 se puede recibir la asig-nación de subredes a través de un proveedor.

Cuadro 13.7: Continúa en la página siguiente. . .

385SuSE Linux – Manual de Administración

Page 404: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

fe80 hasta febf (ingl. link-local) Direcciones con este prefijo nopueden ser ruteadas y por tanto solo se puedenacceder en la misma subred.

fec0 bis feff (ingl. site-local) Estas direcciones pueden serruteadas, pero solamente dentro de una mismaorganización. Estas direcciones corresponden a lasdirecciones ”privadas” actuales (p. ej. 10.x.x.x ).

ff (ingl. multicast) Las direcciones IPv6 que comienzancon ff son direcciones Multicast.

Cuadro 13.7: Diferentes prefijos IPv6

Como se puede observar, especialmente las direcciones Unicast llegan a ser muylargas y es muy difícil memorizarlas. Por eso el buen funcionamiento del servi-dor de nombres es para IPv6 aún más importante que para IPv4.

Debido a la importancia del servidor de nombres existe un programa especialpara la autoconfiguración del mismo.

Máscaras de red en IPv6

La representación de las máscaras de red en IPv6 es un poco diferente. La se-paración de las redes en clases carece de sentido, ya que desde un principio elenrutamiento es independiente de las clases de red y la subred más pequeña yapuede albergar una cantidad enorme de máquinas. Como las máscaras de redpueden llegar a ser muy largas, la anotación de las mismas es ahora muy dife-rente. En el siguiente número:

fec0:1:1:0:210:10ff:fe00:1a4/64

los últimos 64 bits forman la parte de host y los primeros 64 bits la parte de lared.

La cifra 64 significa que la máscara de red se rellena bit por bit comenzando enla izquierda. Por eso la máscara de red tiene 64 bits. Igual que en el caso de IPv4,una conjunción del tipo ”Y” de la máscara de red con la dirección IP determinasi el ordenador se encuentra en la misma subred o en otra.

386 IPv6 – La próxima generación de Internet

Page 405: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Literatura y enlaces sobre IPv6

El resumen de IPv6 presentado no pretende ser una introducción completa acer-ca del amplio tema IPv6. Para más información, ver la literatura y libros onlineque se presenta a continuación:

http://www.bieringer.de/linux/IPv6/ CÓMOs de IPv6 en Linux ymuchos enlaces.

http://www.6bone.de/ Acceder a IPv6 a través de un túnel.

http://www.ipv6.org/ Todo acerca IPv6.

RFC 1725 El RFC introductorio sobre IPv6.

387SuSE Linux – Manual de Administración

Page 406: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El acceso a la red

Finalmente TCP/IP se ha impuesto como el protocolo de red estándar y todoslos sistemas operativos modernos son capaces de comunicarse con este protoco-lo. Sin embargo Linux sigue soportando otros protocolos de red como p. ej. IPXusado (anteriormente) por Novell Netware y Appletalk utilizado por los Macin-tosh. Este capítulo sólo explica la integración de un ordenador con Linux en unared TCP/IP.

La configuración de tarjetas de red ”exóticas” como Arcnet, Token-Ring o FDDIse explica en la documentación de la fuentes del kernel en /usr/src/linux/Documentation . Desde SuSE Linux 8.0, las modificaciones en la configuraciónde redes se encuentran documentadas en el siguiente fichero: /usr/share/doc/packages/sysconfig/README .

Preparativos

Tarjeta de red!Prueba) El ordenador debe disponer de una tarjeta red soporta-da. Normalmente ésta se reconoce durante la instalación y el driver adecuadose activa. El reconocimiento correcto de la tarjeta se nota entre otras cuando elresultado del comando ifstatus eth0 muestra el dispositivo de red eth0 .

Por defecto el kernel de SuSE realiza el soporte de la tarjeta de red medianteun módulo. En este caso el nombre del módulo debe aparecer como alias en elfichero /etc/modules.conf . Para la primera tarjeta Ethernet p. ej. de la si-guiente forma:Módulo kernel!Tarjeta de red) alias eth0 tulipEsto funciona automáticamente cuando se carga durante la primera instalacióndesde linuxrc el driver de la tarjeta de red. Posteriormente se puede realizar estatarea con YaST2.

Las tarjetas de red que soportan hotplug (p. ej.PCMCIA o USB) proporcionaránautomáticamente los drivers al insertarlas; por lo tanto no se debe configurarnada. Puede encontrar más detalles en el capítulo Hotplug en la página 241.

Configuración de red con YaST2

YaST2 permite la configuración rápida de la tarjeta de red. Escoja enCentro de control la opción ‘Red/Dispositivos’ y después ‘Configurar tar-jeta de red’. En este diálogo, puede integrar una tarjeta de red con ‘(’Añadir);con ‘(’Retirar) se eliminará la configuración de la tarjeta correspondiente; y con‘(’Cambiar) se puede modificar la configuración de la tarjeta.

388 El acceso a la red

Page 407: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Active la opción ‘(’Hardware) para modificar con ‘(’Editar) los datos de hard-ware de una tarjeta de red ya configurada. Aparece un menú para la configura-ción del hardware tal como se refleja en la figura 13.3

YaST2 suele configurar y activar correctamente la tarjeta de red durante la ins-talación. Por eso normalmente sólo se requiere una configuración manual tra-bajando con más de una tarjeta de red o cuando la autodetección del hardwarefalla. En tal caso hay que seleccionar ‘Añadir’ para seleccionar un driver nuevo.

Figura 13.3: Configuración de los parámetros de hardware

Este diálogo permite seleccionar el tipo de tarjeta de red y, en caso de las tar-jetas tipo ISA, también la interrupción y la dirección de entrada y salida (IO).Algunos drivers admiten parámetros especiales como la selección de la interfazentre el conector RJ-45 o el del tipo BNC. Para averiguarlo, consulte la docu-mentación del driver. Para PCMCIA y USB basta con activar las casillas corres-pondientes.

Después de haber introducido los parámetros de hardware, se pueden confi-gurar los parámetros adicionales de la interfaz de red. Dentro del diálogo de la‘Configuración básica de red’ seleccione el botón ‘Interfaz’ para activar la tar-jeta recientemente configurada y para asignarle una dirección IP. Después dehaber elegido la tarjeta pulse sobre ‘Editar’. Aparece un nuevo diálogo que per-mite asignar la dirección IP y definir datos adicionales de la red IP Al configuraruna red propia, se puede asignar las direcciones IP tal como lo expone el aparta-do 13 en la página 374 y la tabla 13.5 en la página 381.

389SuSE Linux – Manual de Administración

Page 408: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si no es así, los campos se han de rellenar con las direcciones asignadas porparte del administrador de la red.

No olvide configurar un servidor de nombres en ‘Hostname y nameserver’ paraque la resolución de nombres, tal como se explica en el apartado 13 en la pági-na 401, funcione correctamente. La opción ‘Routing’ permite configurar el ”rout-ing” y mediante ‘Configuración para expertos’ se pueden realizar ajustes avan-zados.

Si utiliza tarjetas de red inalámbricas, active la casilla ‘(’Dispositivo wireless).Ahora podrá llevar a cabo las configuraciones más importantes en el diálogoapropiado. En esencia estas son el modo de funcionamiento, el nombre de la redy la clave de la transmisión de datos encriptada.

Aquí se termina la configuración de la red y YaST2 inicia SuSEconfig, que se en-carga de introducir las indicaciones hechas en los correspondientes ficheros.Para activar los ajustes y usar la nueva configuración hay que iniciar de nue-vo los daemons correspondientes. Esto se consigue introduciendo el siguientecomando:

tierra: ~ # rcnetwork restart

Hotplug/PCMCIA

Las tarjetas de red compatibles con hotplug, como p. ej.dispositivos PCMCIA oUSB, son un caso especial dado que su denominación como dispositivo puedevariar. Las tarjetas de red ”fijas” siempre se identifican igual (p. ej. eth0 ) mien-tras que a este otro tipo se les asigna un nombre variable. Para evitar conflictoscon tarjetas fijas, el servicio PCMCIA o hotplug se inicia siempre después de losservicios de red.

Por eso no hace falta iniciar los servicios PCMCIA antes de los servicios de red.Al contrario: Si estas tarjetas sólo fueran accionadas por el script de arranque dela red, existe la posibilidad de que se pierdan según avanza el funcionamientodel sistema.

Configurar IPv6

Configuración!IPv6)

Para utilizar IPv6 normalmente no hace falta configurar nada especial en el ladode los clientes. Lo único que hace falta es cargar el soporte de IPv6 p. ej. median-te el comando

tierra: ~ # modprobe ipv6

390 El acceso a la red

Page 409: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

De acuerdo con la filosofía de autoconfiguración en IPv6, se asigna a la tarje-ta una dirección de red dentro de la red link-local . Normalmente no semantiene ninguna tabla de routing en un ordenador cliente, que puede con-sultar mediante el Router Advertisment Protocol los enrutadores queexisten en la red y el prefijo que se ha de utilizar.

El programa radvd del paquete radvd sirve para configurar un enrutador IPv6.Este programa indica a los clientes el prefijo utilizado para las direcciones IPv6 yel/los router(s) en la red.

Es muy aconsejable instalar un enrutador con el programa radvd ya que ésterealiza la asignación de las direcciones IPv6 de forma totalmente automática.

Configuración manual de la red

La configuración manual de la red no es muy aconsejable, ya que es más sencillousar YaST2.

Lo esencial aquí es que todas las interfaces de red estén redactadas con el script/sbin/ifup . Para detener o probar una interfaz, se puede utilizar ifdown yifstatus .

Si sólo dispone de una tarjeta de red integrada en el ordenador, basta con queconfigure las interfaces a través del nombre. Con ifup eth0 , ifstatus eth0y ifdown eth0 puede iniciar, probar y parar la interfaz de red eth0 . Losdatos de configuración que se utilizan se encuentran en /etc/sysconfig/network/ifcfg-eth0 . eth0 es aquí tanto el nombre de la interfaz como elnombre de la configuración de la red.

De forma alternativa, la configuración de la red también puedeasignar la dirección de hardware (dirección MAC) de una tar-jeta de red. Para ello se utiliza un fichero de configuraciónifcfg-<direccióndehardwaresinlosdospuntos> . Se debe escribirlas letras de la dirección de hardware en minúsculas, tal y como se muestra conip link (ifconfig utiliza mayúsculas). Cuando ifup encuentra un ficherode configuración que se adecúa a la dirección de hardware, se pasará por alto unifcfg-eth0 que pueda estar disponible.

Con las tarjetas de red que soportan hotplug es un poco más complicado. Si notiene este tipo de tarjeta, puede pasar a la sección Ficheros de configuración en lapágina siguiente.

391SuSE Linux – Manual de Administración

Page 410: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Puesto que con tarjetas de red que soportan hotplug la asignación del nombrede la interfaz es aleatoria, las configuraciones de este tipo de tarjetas no se en-cuentran bajo del nombre de la interfaz, sino bajo un denominador que describeel tipo de hardware utilizado y el punto de anclaje mencionados en la descrip-ción de hardware que viene a continuación. En este caso ifup debe ser utiliza-do con dos argumentos: la descripción exacta del hardware y el nombre actualde la interfaz. Finalmente, ifup proveerá la configuración que más se ajusta a ladescripción del hardware.

Como ejemplo tenemos un portátil con dos conexiones PCMCIA y una tarjetade red Ethernet PCMCIA. Además en este aparato hay una tarjeta de red in-tegrada con el nombre de interfaz eth0 . Cuando insertamos esta tarjeta en ellugar de conexión 0, la descripción del hardware es eth-pcmcia-0 . Ahoracardmgr o el script de red de hotplug invocan a ifup eth-pcmcia-0 eth1 .ifup busca si existe un fichero ifcfg-eth-pcmcia-0 en /etc/sysconfig/network/ . Si no lo hay, seguirá buscando en ifcfg-eth-pcmcia ,ifcfg-pcmcia-0 , ifcfg-pcmcia , ifcfg-eth1 y ifcfg-eth . El primerfichero que encuentre será el que utilice para la configuración. Cuando se debadefinir una configuración de red válida para todas las tarjetas de red PCMCIA(en todos los puntos de conexión), esta se deberá llamar ifcfg-pcmcia . Estaservirá entonces tanto para eth-pcmcia-0 como para una tarjeta Tokenring enel punto de conexión 1 tr-pcmcia-1 .

También aquí tiene preferencia una configuración en función de la dirección dehardware, lo cual no hemos mencionado en el ejemplo por cuestiones de clari-dad.

YaST2 da un rodeo cuando se trata de configurar tarjetas de red que soportenhotplug. Allí se numeran las configuraciones para tales tarjetas. Por esoYaST2 siempre escribe las configuraciones para una tarjeta PCMCIA segúnifcfg-eth-pcmcia-<númeroactual> . Para que a pesar de todo esta con-figuración sea válida para todos los puntos de conexión, se introduce un enlaceifcfg-eth-pcmcia en este fichero. Téngalo en cuenta si configura con YaST2sólo parcialmente.

Ficheros de configuración

En resumen, este apartado explica la función de los ficheros de configuración dered y expone sus formatos.

/etc/sysconfig/network/ifcfg-* En estos ficheros se incluyen losdatos específicos de una interfaz de red. Se les puede denominar segúnel nombre de la interfaz (ifcfg-eth2 ), según la dirección de hardware

392 Configuración manual de la red

Page 411: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

de una tarjeta de red (ifcfg-000086386be3 ) o según la descripciónde hardware de una tarjeta (ifcfg-usb ). Si se utilizan alias de red,los ficheros necesarios se denominan simplemente ifcfg-eth2:1 oifcfg-usb:1 . El script ifup recibe, junto al nombre de la interfaz, unaprecisa descripción de hardware, tras lo que busca el fichero de configura-ción más adecuado para la configuración.

Los ficheros contienen la dirección IP (BOOTPROTO="static", IPAD-DR="10.10.11.214") o la indicación de utilizar DHCP (BOOTPRO-TO="dhcp"). Puede que l dirección IP ya contenga la máscara de red(IPADDR="10.10.11.214/16") o se puede introducir aparte (NET-MASK="255.255.0.0"). La lista completa de variables está en página delmanual de ifup (man ifup ). Además se pueden utilizar todas las vari-ables de los ficheros dhcp , wireless y config en ifcfg-* , en casode que se deba utilizar una configuración general para una determinadainterfaz. Con las variables POST_UP_SCRIPTy PRE_DOWN_SCRIPTsepueden tocar scripts individuales después del arranque o antes de la para-da de la interfaz.

/etc/sysconfig/network/config,dhcp,wireless El fichero configincluye configuraciones generales para el comportamiento de ifup ,ifdown y ifstatus . Este fichero está completamente comentado; tam-bién hay comentarios en dhcp y wireless , en los que tiene lugar lasconfiguraciones generales para DHCP y tarjetas de red inalámbrica. Tam-bién se pueden utilizar todas las variables de estos ficheros en ifcfg-* ,donde naturalmente tienen preferencia.

/etc/resolv.conf

Al igual que el fichero /etc/host.conf , este también juega un papel enla resolución de nombres de ordenadores a través de la librería resolver.

En este fichero se indica el dominio al que pertenece el ordenador. (Pala-bra clave search ) y la dirección del servidor de nombres (palabra clavenameserver ), al que se debe dirigir. Se puede introducir más nombresde dominio. Al resolver nombres que no estén totalmente cualificados seintentará generar un nombre válido y cualificado añadiendo entradas úni-cas en search . Se puede dar a conocer otros servidores de nombres aña-diendo más líneas que comiencen con nameserver . Se puede introducircomentarios con ‘#’ .

393SuSE Linux – Manual de Administración

Page 412: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

En el fichero 34, se muestra un ejemplo para /etc/resolv.conf .

# Our domainsearch cosmos.univ## We use sol (192.168.0.1) as nameservernameserver 192.168.0.1

Fichero 34: /etc/resolv.conf

¡YaST escribe aquí los servidores de nombres indicados!

Algunos servicios, como pppd (wvdial), ipppd (isdn), dhcp (dhcpcdy dhclient), pcmcia y hotplug pueden modificar los ficheros /etc/resolv.conf mediante el script modify_resolvconf .

Al modificar el archivo /etc/resolv.conf con este script, aquel con-tendrá un comentario que da información sobre los servicios que se hanmodificado, el lugar donde se encuentra el fichero original y cómo sepuede detener las modificaciones automáticas.

Si /etc/resolv.conf es modificado más veces, se volverá a limpiareste cúmulo de modificaciones cuando se recojan en otro orden; lo cualpuede ocurrir con isdn, pcmcia y hotplug.

Si un servicio no ha finalizado ”(”limpiamente),se puede restaurar el es-tado original con ayuda del script modify_resolvconf . Al arrancar seprobará si un resolv.conf se ha quedado modificado (p. ej.debido a uncuelgue del sistema); en ese caso se volverá a restaurar el resolv.conforiginal (sin modificar).

Por medio de modify_resolvconf check , YaST averigua si elresolv.conf fue modificado, tras lo cual avisa al usuario de que se hanperdido sus cambios tras la restauración. En caso contrario, YaST no uti-liza modify_resolvconf , lo que quiere decir que una modificación enel fichero resolv.conf mediante YaST equivale a una modificación manu-al. Ambas indican una modificación duradera mientras que las realizadaspor los servicios mencionados sólo son pasajeras.

/etc/hosts

Este fichero (ver fichero 35 en la página siguiente) tiene una tabla de asig-nación entre nombres de ordenadores y direcciones IP. En esta tabla debenaparecer todos los ordenadores con los que se quiere establecer una cone-xión IP cuando no se usa un servidor de nombres. Cada ordenador ocupauna línea en la tabla que contiene el número IP, el nombre completo de

394 Configuración manual de la red

Page 413: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

la máquina y el nombre (abreviado), p. ej. tierra . La línea debe comen-zar con la dirección IP y las demás indicaciones se separan con espacios otabuladores. Los comentarios comienzan con ‘#’ .

127.0.0.1 localhost192.168.0.1 sol.cosmos.univ sol192.168.0.20 tierra.cosmos.univ tierra

Fichero 35: /etc/hosts

/etc/networks

En este fichero se convierten los nombres de redes en direcciones de red.El formato se parece al del fichero hosts sólo que aquí los nombres de lasredes aparecen por delante de sus direcciones IP (ver fichero 36).

loopback 127.0.0.0localnet 192.168.0.0

Fichero 36: /etc/networks

/etc/host.conf

La resolución de nombres, o sea, la traducción del nombre del orde-nador o de la red mediante la librería (resolver), se gestiona a través deeste fichero. El cual sólo se utiliza para programas con enlaces a libc4o libc5; ¡para programas glibc actuales, véase las configuraciones enetc/nsswitch.conf ! Un parámetro debe ocupar una sola línea y loscomentarios comienzan con ‘#’ . Los parámetros posibles se muestran enla tabla 13.8 en la página siguiente.

order hosts, bind Determina el orden de llamada a los servicios deresolución de nombres. Los parámetros posibles,separados por espacios o comas, son :hosts: Búsqueda en el fichero /etc/hostsbind: Llamada a un servidor de nombresnis: Mediante NIS

multi on/off Determina si un ordenador dado de alta en/etc/hosts puede tener varias direcciones IP.

Cuadro 13.8: Continúa en la página siguiente. . .

395SuSE Linux – Manual de Administración

Page 414: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

nospoof onalert on/off

Estos parámetros influyen sobre el ”spoofing” delservidor de nombres, pero no tienen ningunainfluencia adicional sobre la configuración dered.

trim〈domainname〉

El nombre de dominio que se indica aquí, seresta del nombre totalmente cualificado del orde-nador que lo contiene (antes de asignar la direc-ción IP al nombre de ordenador). Se trata de unaopción muy útil cuando el fichero /etc/hostssólo contiene nombres de ordenadores locales(alias) y éstos deben ser reconocidos tambiéncuando se añade el nombre del dominio.

Cuadro 13.8: Parámetros de /etc/host.conf

/etc/host.conf

Este fichero controla el funcionamiento de la librería de resolución, queconvierte nombres de ordenadores en direcciones IP; este fichero solo seusa para programas que han sido enlazados con las librerías libc4 o libc5.¡Para los programas actuales, enlazados con glibc, la configuración se en-cuentra en /etc/nsswitch.conf ! Cada parámetro debe estar en unalínea aparte. Los parámetros admitidos figuran en la tabla 13.8; los comen-tarios comienzan con el símbolo ‘#’ .

El fichero 37 muestra un ejemplo de /etc/host.conf .

# We have named runningorder hosts bind# Allow multiple addrsmulti on

Fichero 37: /etc/host.conf

/etc/nsswitch.conf

Con la version 2.0 de la librería GNU de C comenzó el uso del ”NameService Switch” (NSS) (verpágina del manual de nsswitch.conf (man 5 nsswitch.conf ) ymás explícito en The GNU C Library Reference Manual, capítulo "SystemDatabases and Name Service Switch" – ver paquete libcinfo ).

396 Configuración manual de la red

Page 415: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

El fichero /etc/nsswitch.conf determina en cuál orden se solici-tan determinadas informaciones. El fichero 38, muestra un ejemplo paransswitch.conf en el cual las líneas de comentarios comienzan con ‘#’ .Respecto a la ”base de datos” hosts , el ejemplo siguiente indica que seenvía una solicitud al servicio DNS (ver el apartado 13 en la página 401)después de consultar /etc/hosts (files ).

passwd: compatgroup: compat

hosts: files dnsnetworks: files dns

services: db filesprotocols: db files

netgroup: filesautomount: files nis

Fichero 38: /etc/nsswitch.conf

Las ”bases de datos” accesibles vía NSS se mencionan en la tabla 13.9 enla página siguiente. Para el futuro se espera también la disponibilidad deautomount , bootparams , netmasks y publickey .

aliases Mail-Alias, usado por sendmail (8); ver página delmanual de aliases (man 5 aliases ).

ethers Direcciones de ethernet.group Usado por getgrent (3) para grupos de usuarios; ver

página del manual de group (man 5 group ).hosts Para nombres de host y direcciones IP, los usan fun-

ciones como gethostbyname (3) o parecidas.netgroup Lista de hosts y de usuarios válida en la red para admi-

nistrar los derechos de acceso; ver página del manualde netgroup (man 5 netgroup ).

networks Nombres y direcciones de redes, lo usa getnetent (3).passwd Contraseñas de usuarios, que usa getpwent (3); ver

página del manual de passwd (man 5 passwd ).

Cuadro 13.9: Continúa en la página siguiente. . .

397SuSE Linux – Manual de Administración

Page 416: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

protocols Protocolos de red; información usada porgetprotoent (3); ver página del manual deprotocols (man 5 protocols ).

rpc Nombres y direcciones del tipo ”Remote ProcedureCall”; lo usan getrpcbyname (3) y otras funcionesparecidas.

services Servicios de red; lo usa getservent (3).shadow Las contraseñas ”Shadow” de los usuarios, usado

por getspnam (3); ver página del manual de shadow(man 5 shadow).

Cuadro 13.9: Bases de datos accesibles a través de /etc/nsswitch.conf

Las opciones de configuración de las ”bases de datos” NSS se encuentranen tabla 13.10.

files acceso directo a los ficheros, p. ej. a /etc/aliases .

db acceso a través de una base de datos.nis NIS, ver apartado 13 en la página 411.nisplusdns Parámetro adicional, solo aplicable para hosts y

networks .compat Parámetro adicional para passwd , shadow y

group .adicionalmente es posible conseguir diferentes resultados en

caso de determinados eventos ”Lookup”; hay de-talles en página del manual de nsswitch.conf(man 5 nsswitch.conf ).

Cuadro 13.10: Opciones de configuración de las ”bases de datos” NSS

/etc/nscd.conf

Este es el fichero para configurar el nscd (ingl. Name Service Cache Dae-mon); ver página del manual de nscd (man 8 nscd ) y página del manualde nscd.conf (man 5 nscd.conf ). La información en cuestión es laque se encuentra en passwd y groups . hosts no es leído para no tener

398 Configuración manual de la red

Page 417: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

que reiniciar el daemon p. ej.cuando se cambia la resolución de nombresde dominio (DNS) modificando /etc/resolv.conf .

Cuando está activada la característica ”caching” para passwd , normal-mente pasan unos 15 segundos hasta que un usuario creado de nuevo seconozca en el sistema. Reiniciando nscd este tiempo de espera se puedereducir.

tierra:~ # rcnscd restart

/etc/HOSTNAME

Aquí se encuentra el nombre del ordenador, es decir, sólo el nombre delhost sin el nombre de dominio. Hay distintos scripts que leen este ficherodurante el arranque del ordenador. ¡No debe contener más que una solalínea con el nombre del ordenador!

Scripts de arranque (ingl. ()Startup-Scripts)

Aparte de los ficheros de configuración mencionados, existen diferentes scripts(macros) que inician los programas de red cuando el ordenador arranca. Estosscripts se inician cuando el sistema entra en uno de los niveles de ejecución demultiusuario (ingl. Multiuser-Runlevel) (ver tabla 13.11).

/etc/init.d/network Este script se encarga de la configuracióndel hardware y software de la red durante elarranque.

/etc/init.d/inetd Inicia el inetd. Este se necesita p. ej. paraacceder desde la red al ordenador en cuestión.

/etc/init.d/portmap Inicia el ”portmapper”, que se necesita parausar servidores RPC como p. ej. un servidorNFS.

/etc/init.d/nfsserver

Inicia el servidor NFS.

/etc/init.d/sendmail Controla el proceso de sendmail./etc/init.d/ypserv Inicia el servidor NIS./etc/init.d/ypbind Inicia el cliente NIS.

Cuadro 13.11: Algunos scripts de arranque de las utilidades de red

399SuSE Linux – Manual de Administración

Page 418: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Routing en SuSE Linux

A partir de SuSE Linux 8.0 la tabla de ”routing” es administrada en los ficherosde configuración /etc/sysconfig/network/routes y (etc/sysconfig/network/ifroute-* .

El fichero /etc/sysconfig/network/routes define todas las rutas estáticasnecesarias para las distintas tareas en un sistema: ruta hacia un ordenador, rutahacia un ordenador a través de un gateway y ruta hacia una red..

Para todos las interfaces que tienen necesidad de ”routing” individual exis-te la posibilidad de definir esto en un propio fichero por interfaz: /etc/sysconfig/network/ifroute-* . Cambie el símbolo ‘*’ por el nombre deldispositivo. Un fichero podría contener líneas como estas:

DESTINATION GATEWAY NETMASK INTERFACE [ TYPE ] [ OPTIONS ]DESTINATION GATEWAY PREFIXLEN INTERFACE [ TYPE ] [ OPTIONS ]DESTINATION/PREFIXLEN GATEWAY - INTERFACE [ TYPE ] [ OPTIONS ]

Si GATEWAY, NETMASK, PREFIXLEN o INTERFACE no están indicadas hayque rellenar el campo correspondiente con el símbolo ‘-’ . Los campos TYPE yOPTIONS pueden quedarse vacíos.

El destino de una ruta se encuentra en la primera columna en forma dela dirección IP de una red o un ordenador. Si hay acceso a un servidor denombres, se puede usar también el nombre totalmente cualificado de lared o del ordenador.

La segunda columna contiene el gateway por defecto o un gateway através del cual se puede acceder a otro ordenador o red.

La tercera columna contiene la máscara de red para redes u ordenadoresdetrás de un gateway. Por ejemplo, para un ordenador por detrás de ungateway el valor de la máscara es 255.255.255.255 .

La última columna solo es importante para las redes locales del ordenador(Loopback, Ethernet, RDSI, PPP, . . . ); en ella se apunta el nombre del dis-positivo.

400 Routing en SuSE Linux

Page 419: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

DNS – Domain Name Service

El servicio DNS (ingl. Domain Name Service) se necesita para convertir nom-bres de dominio y nombres de ordenadores en direcciones IP; generalmente sehabla de ”resolver nombres”. Por ejemplo al nombre de ordenador tierra sele asigna la dirección IP 192.168.0.20 . Antes de configurar un DNS propioconsulte la información general sobre DNS en el apartado 13 en la página 381

Iniciar el servidor de nombres BIND

El servidor de nombres BIND ya están preconfigurados en SuSE Linux por loque no resulta difícil iniciarlo directamente después de la instalación.

Cuando la conexión a Internet ya funciona, no hace falta más que indicar127.0.0.1 (localhost) como servidor de nombres en /etc/resolv.conf paraque la resolución de nombres funcione, sin necesidad de conocer el DNS delproveedor. De esta forma BIND utiliza los ”Root-Nameserver” para la resolu-ción de los nombres y el proceso es mucho más lento. Por lo general siemprese debería indicar la dirección IP del DNS del proveedor en el fichero de confi-guración /etc/named.conf en el apartado forwarders para conseguir unaresolución de nombres eficaz y segura. Funcionando de este modo, el servidorde nombres actúa en modo ”caching-only”. Configurándolo con zonas, se con-vierte en un DNS real. En el directorio de la documentación hay un ejemplo sen-cillo para ello: /usr/share/doc/packages/bind8/sample-config . Nose debería configurar ningún dominio oficial, mientras éste no haya sido asig-nado por parte de la institución en cuestión – para ”.es” la organización ES-NICes la que se encarga de ello. Al disponer de un dominio propio, tampoco se de-bería utilizar mientras que el proveedor se encargue de administrarlo. En casocontrario BIND deja de pasar (forward) consultas para ese dominio y (p. ej.) elservidor web que se encuentra en el centro de datos del proveedor deja de estaraccesible.

Como superusuario se puede iniciar el servidor de nombres mediante el coman-do: rcnamed start

Si a la derecha de la pantalla se muestra ”done” en color verde, es porque eldaemon del servidor de nombres (nombrado named) se ha iniciado correcta-mente. Se puede comprobar el funcionamiento en la máquina local inmediata-mente con los programas host oder dig . Como servidor predeterminado hade constar localhost con la dirección 127.0.0.1. Si esto no fuera el caso, es posibleque /etc/resolv.conf contenga un servidor de nombres equivocado o queeste fichero sencillamente no exista.

401SuSE Linux – Manual de Administración

Page 420: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Con el comando host 127.0.0.1 se puede comprobar si todo va bien. Siaparece un mensaje de error lo mejor es utilizar el comando

rcnamed status

para ver si el daemon named realmente está en funcionamiento. En caso de er-ror, es posible averiguar el origen del mismo mediante los mensajes en el fichero/var/log/messages .

En caso de tener una conexión discontinua, hay que considerar que BIND8 tratade comprobar los ”Root-Nameserver” en el momento de iniciarse. Si esto fallaes posible que ya no se resuelva ninguna petición al DNS salvo para las zonaslocalmente definidas. El comportamiento de BIND9 en este caso es diferente,pero BIND9 consume muchos más recursos.

Para utilizar el servidor de nombres del proveedor o cualquier otro que ya existeen la red propia como ”forwarder”, se apunta éste mismo o varios en el aparta-do options dentro de forwarders ; véase el ejemplo 39.

options {directory "/var/named";forwarders { 10.11.12.13; 10.11.12.14; };listen-on { 127.0.0.1; 192.168.0.99; };allow-query { 127/8; 192.168.0/24; };notify no;

};

Fichero 39: Opciones de reenvío o forwarding en named.conf

Las direcciones IP del ejemplo se han de adaptar a los valores reales del casoconcreto.

Detrás de options llegan las entradas para las zonas. ”localhost”, ”0.0.127.in-addr.arpa”, tal como ”.” del tipo ”hint” siempre deberían existir. No hace faltamodificar los ficheros correspondientes, ya que funcionan tal como están.

Aparte de esto es importante que exista un ”;” por detrás de todas las entradas yque los corchetes } estén correctamente puestos.

Al haber modificado el fichero de configuración /etc/named.conf o losficheros de zona, es preciso que BIND lea estos ficheros nuevamente. Esto serealiza con el comando rcnamed reload .

Otra posibilidad es la de reiniciar el servidor mediante rcnamed restart ; elcomando para pararlo es rcnamed stop .

402 DNS – Domain Name Service

Page 421: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

El fichero de configuración /etc/named.conf

La configuración de BIND8 y BIND9 se realiza por completo con el fichero/etc/named.conf . Los datos propios de la zona, que son los nombres de losordenadores, direcciones IP, etc. de los dominios administrados, se han de ano-tar en ficheros aparte dentro del directorio /var/named ; el siguiente capítuloamplía esta información.

A grandes rasgos /etc/named.conf se estructura en dos secciones; la primeraes options para la configuración general y la siguiente es la que contiene lasentradas zone para los diferentes dominios. También es posible utilizar una sec-ción logging o una con entradas del tipo acl . Las líneas comentadas comien-zan con el símbolo ‘#’ o ‘//’ .

El ejemplo 40 muestra un fichero /etc/named.conf muy sencillo:

options {directory "/var/named";forwarders { 10.0.0.1; };notify no;

};

zone "localhost" in {type master;file "localhost.zone";

};

zone "0.0.127.in-addr.arpa" in {type master;file "127.0.0.zone";

};

zone "." in {type hint;file "root.hint";

};

Fichero 40: Fichero /etc/named.conf muy sencillo

El ejemplo funciona para Bind8 y Bind9, porque no se ha utilizado ninguna op-ción que sólo pueda ser entendida por una de las dos versiones. Bind9 aceptatodos los comandos de Bind8 y sólo se limita a mostrar un mensaje durante elarranque cuando una determinada opción no está implementada.

403SuSE Linux – Manual de Administración

Page 422: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Las opciones más importantes del apartado options

directory "/var/named"; indica el directorio que contiene los ficheros con losdatos de zona,

forwarders { 10.0.0.1; }; se utiliza para indicar uno o varios servidores de nom-bres (generalmente los del proveedor) para pasarles las consultas DNSque no se pueden resolver directamente.

forward first; hace que las consultas DNS se pasen primero antes de tratar deresolverlas mediante un root-Nameserver. En lugar de forward firsttambién es posible poner forward only para que todas las consultassiempre se pasen sin acceder nunca a los root-Nameserver. Es una opciónrazonable para una configuración con cortafuegos.

listen-on port 53 { 127.0.0.1; 192.168.0.1; }; indica las interfaces de red y el puer-to que debe utilizar BIND para atender a las peticiones DNS por parte delos clientes. Es posible suprimir port 53 , ya que éste es el puerto están-dar. Al suprimir esta entrada completamente, BIND atiende en todas lasinterfaces de red.

query-source address * port 53; Cuando un cortafuegos bloquea las consultasDNS externas, es posible que esta entrada resulte útil, ya que BIND dejade utilizar los puertos altos (> 1024) y realiza entonces las consultas haciafuera desde el puerto 53.

allow-query { 127.0.0.1; 192.168.1/24; }; determina desde qué redes se permitenhacer consultas DNS. /24 es una abreviación para la máscara de red, eneste caso 255.255.255.0.

allow-transfer { ! *; }; determina qué ordenador tienen permiso para solicitar eltraslado de una zona. ! * hace que el traslado esté totalmente prohibido.Suprimiendo esta entrada, cualquier ordenador puede solicitar el trasladode zona.

statistics-interval 0; Sin esta entrada Bind8 crea cada hora varias líneas condatos estadísticos en /var/log/messages . Indicando 0 los mensajes sesuprimen; también es posible indicar el tiempo en minutos.

cleaning-interval 720; Esta opción indica el intervalo de limpieza de la cachede Bind8. Cada vez que se realiza esta acción se crea una entrada en/var/log/messages . El tiempo se indica en minutos y 60 minutos esel valor predeterminado.

interface-interval 0; Bind8 busca continuamente interfaces de red nuevas ocanceladas, esta opción se suprime poniendo el valor en 0. De este modo

404 DNS – Domain Name Service

Page 423: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

bind8 solo atiende las interfaces que existían en el momento del inicio. Esposible indicar un intervalo en minutos; el valor predeterminado es 60minutos.

notify no; significa que no se notifica a ningún otro Nameserver el cambio delos datos de zona o cuando se reinicia el servidor de nombres.

El apartado de configuración Logging

Hay muchas posibilidades de protocolar eventos con Bind8. Normalmente laconfiguración predeterminada es suficiente. El ejemplo 41 es la forma más sen-cilla de una configuración que suprime el ”Logging” totalmente:

logging {category default { null; };

};

Fichero 41: Logging suprimido

Estructura de las entradas de zona

Después de zone se indica el nombre de dominio a administrar (en este casomi-dominio.es ) seguido de in y un bloque de opciones entre corchetes; véaseel archivo 42

zone "mi-dominio.es" in {type master;file "mi-dominio.zone";notify no;

};

Fichero 42: Configuración de mi-dominio.es

Para definir una ”Slave-Zone” sólo hace falta cambiar type en slave e indicarun servidor de nombres que administra esta zona como master (igualmentepuede ser un ”slave”); véase el archivo 43 en la página siguiente.

405SuSE Linux – Manual de Administración

Page 424: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

zone "otro-dominio.es" in {type slave;file "slave/otro-dominio.zone";masters { 10.0.0.1; };

};

Fichero 43: Configuración para otro-dominio.es

Las opciones:

type master; master significa que esta zona se administra en este servidor denombres. Es algo que requiere un fichero de zona muy bien configurado.

type slave; Esta zona se transfiere de otro servidor de nombres. Hay que usarlojunto con masters .

type hint; La zona . del tipo hint se utiliza para indicar los Root-Nameserver.Es una definición de zona que no se modifica.

file "mi-dominio.zone"; file "slave/otro-dominio.zone"; Esta entrada indicael fichero que contiene los datos de zona para el dominio. En caso de unslave no hace falta que el fichero exista, ya que se trae desde otro servi-dor de nombres. Para separar los ficheros de esclavo y de maestro, se indi-ca slave como directorio de los ficheros slave.

masters { 10.0.0.1; }; Esta entrada sólo se requiere para zonas esclavo e indicadesde qué servidor de nombres se debe transferir el fichero de zona.

allow-update { ! *; }; Esta opción regula el acceso de escritura desde el exteriora los datos de zona. Es una opción que abre la posibilidad a los clientes decrear su propia entrada en el DNS cosa que, por razones de seguridad, noes deseable. Sin esta entrada las actualizaciones de zona están prohibidas,cosa que no cambia nada en este ejemplo, ya que ! * prohibe igualmentetodo.

Sintaxis de los ficheros de zona

Existen dos tipos de ficheros de zona; el primero sirve para asignar la direcciónIP a un nombre de ordenador y el segundo entrega el nombre del ordenadoren función de una dirección IP. El símbolo del punto (’.’) tiene un significadoimportante en los ficheros de zona. A todos los nombres de ordenadores que seindican sin el punto por detrás, se les añade la zona.

406 DNS – Domain Name Service

Page 425: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Por eso es importante terminar con un ’.’ los nombres de las máquinas que sehayan anotado con el dominio completo. La falta o la posición equivocada deun punto suele ser la causa de error más frecuente en la configuración de unservidor de nombres. El primer ejemplo forma el fichero de zona solar.zoneque corresponde al dominio solar.sis ; véase el fichero 44.

1. $TTL 2D2. welt.all. IN SOA gateway root.solar.sis. (3. 2001040901 ; serial4. 1D ; refresh5. 2H ; retry6. 1W ; expiry7. 2D ) ; minimum8.9. IN NS gateway10. IN MX 10 sol11.12. gateway IN A 192.168.0.113. IN A 192.168.1.114. sonne IN A 192.168.0.215. mond IN A 192.168.0.316. erde IN A 192.168.1.217. mars IN A 192.168.1.3

Fichero 44: Fichero /var/named/welt.zone

Línea 1: $TTL define el TTL estándar, que vale para todas las anotaciones eneste fichero y es en este caso de 2 días (2D = 2 days). TTL ”time to live” esel tiempo de vencimiento.

Línea 2: Aquí comienza la parte del SOA control record :

En primer lugar figura el nombre del dominio a administrarsolar.sis , terminado con un ’.’ para que no se añada otra vez elnombre de la zona. La alternativa es la de anotar el símbolo ‘@’ paraque se busque el nombre de la zona en /etc/named.conf .

Por detrás de IN SOA se anota el nombre del servidor de nom-bres que actúa como master para esta zona. En este caso el nombregateway se amplia a gateway.solar.sis , ya que no termina conun punto.

407SuSE Linux – Manual de Administración

Page 426: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Detrás sigue una dirección de E-mail de la persona que se encar-ga de este servidor de nombres. Como el símbolo ‘@’ ya tieneun significado especial, se lo reemplaza por un ’.’; en lugar [email protected] se escribe entonces root.solar.sis. . No sedebe olvidar el punto al final para que no se añada la zona.

Al final hay un ‘(’ , para incorporar las siguientes líneas hasta el‘)’ con todo el SOA-Record.

Línea 3: El número de serie en la línea serial es un número al azar que debeaumentarse después de cada modificación del fichero. El cambio delnúmero informa a los servidores de nombres secundarios sobre la mod-ificación. Es típico utilizar una cifra de diez dígitos formada por la fecha yde un número de orden en la forma AAAAMMDDNN.

Línea 4: El intervalo de refresco en la línea refresh indica el servidor denombres secundario cuando debe comprobar nuevamente la zona. En estecaso es un día (1D = 1 day).

Línea 5: El intervalo de reintento en la línea retry indica cuánto tiempo des-pués el servidor de nombres secundario debe intentar conectar nueva-mente con el primario. En este caso son 2 horas (2H = 2 hours).

Línea 6: El tiempo de expiración en la línea expiry indica el tiempo despuésdel cual el servidor de nombres secundario debe descartar los datos den-tro de la caché, cuando la conexión con el servidor primario haya dejadode funcionar. En este caso es una semana (1W = 1 week).

Línea 7: El tiempo mínimo de vida en la línea minimum indica cuanto tiem-po los otros servidores pueden mantener las consultas DNS hechas en lacaché, antes de que éstas pierdan su validez y se deba consultar nueva-mente.

Línea 9: IN NS indica el servidor de nombres que se encarga de este dominio.En este caso se convierte otra vez gateway en gateway.solar.sis ,porque no se terminó con el punto. Puede haber varias líneas de este tipo,una para el servidor de nombres primario y otra para cada servidor denombres secundario. Con la variable notify dentro de /etc/named.conf en yes se informará de todos los servidores de nombres aquí men-cionados y de los cambios en los datos de zona.

Línea 10: El MX-Record indica el servidor de correo que recibe, procesa otraspasa los mails para el dominio solar.sis . En este ejemplo se tratadel ordenador sol.solar.sis . La cifra por delante del nombre de orde-nador es el valor de preferencia. Si existen varias entradas MX, primero se

408 DNS – Domain Name Service

Page 427: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

utiliza el servidor de correo con el valor de preferencia más bajo y si la en-trega del correo a este servidor falla, se utiliza el servidor con el siguientevalor más alto.

Líneas 12-17: Estos son los registros de direcciones en los que se asignan unao varias direcciones IP a una máquina. Todos los nombres se anotaronsin terminarlos con el punto ’.’, de tal forma que a todos se les añadesolar.sis . El ordenador con el nombre gateway tiene dos direc-ciones IP asignadas, porque dispone de dos tarjetas de red.

Para la resolución inversa de direcciones IP (reverse lookup) se utilizael pseudo-dominio in-addr.arpa . Éste se añade por detrás a la partede red de la dirección IP escrita al revés. 192.168.1 se convierte así en1.168.192.in-addr.arpa ; véase 45.

1. $TTL 2D2. 1.168.192.in-addr.arpa. IN SOA gateway.solar.sis. root.solar.sis. (3. 2001040901 ; serial4. 1D ; refresh5. 2H ; retry6. 1W ; expiry7. 2D ) ; minimum8.9. IN NS gateway.solar.sis.10.11. 1 IN PTR gateway.solar.sis.12. 2 IN PTR tierra.solar.sis.13. 3 IN PTR marte.solar.sis.

Fichero 45: Resolución de nombres inversa

Línea 1: $TTL define el TTL estándar que sirve, en este caso , para todas lasconfiguraciones.

Línea 2: La resolución inversa (’reverse lookup’) se debe realizar para la red192.168.1.0. En este caso la zona se denomina 1.168.192.in-addr.arpa y estesufijo no se debe añadir a los nombres de las máquinas, por eso todos losnombres terminan con el punto. Para el resto vale lo mismo, tal como seexplicó en el ejemplo anterior de "solar.sis".

Línea 3-7: Véase el ejemplo anterior de "solar.sis".

Línea 9: Esta línea indica también el servidor de nombres que se responsabi-liza de la zona pero en este caso se anota completamente con el ’.’ comoterminación.

409SuSE Linux – Manual de Administración

Page 428: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Líneas 11-13: Aquí se encuentran los registros de los punteros que apunten deuna dirección IP a un nombre. Al comienzo de la línea sólo se encuentra laúltima cifra de la dirección IP sin el punto ’.’ como terminación. Añadién-dole la zona y quitando mentalmente la parte ’.in-addr.arpa’, se obtiene ladirección IP completa en orden inverso.

Estos ficheros de zona se pueden utilizar de esta forma tanto para Bind8 comopara Bind9. Normalmente las transferencias de zonas entre las dos versiones nodeberían representar ningún problema.

410 DNS – Domain Name Service

Page 429: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

NIS – Network Information Service

Cuando en una red existen varios sistemas Unix que quieren acceder a recur-sos comunes, hay que asegurar la armonía de las identidades de usuarios yde grupos en todos los ordenadores de la red. La red debe ser completamentetransparente para el usuario; independientemente del ordenador en que tra-baje, el usuario siempre debe encontrar el mismo entorno, lo cual se consiguemediante los servicios NIS y NFS; este último sirve para la distribución de sis-temas de ficheros en la red y se describe en el apartado NFS – Sistema de ficherosdistribuidos en la página 415.

NIS (ingl. Network Information Service), se puede entender como un servicio debase de datos que da acceso a los ficheros /etc/passwd , /etc/shadow o/etc/group en toda la red. NIS puede prestar también servicios adicionales,p. ej. para /etc/hosts o /etc/services , pero estos no son objeto de dis-cusión aquí. Muchas veces se usan las letras ‘YP’ como sinónimo para NIS;éstas se derivan de las yellow pages, es decir, las páginas amarillas en la red.

Servidor NIS-Master y Slave

Para realizar la instalación, escoja en YaST2 la opción ‘Red - Servicios’ y allí‘Servidor NIS’.

En caso de que aún no exista ningún servidor NIS en su red, en la siguientemáscara que aparece debe activar el punto ‘Configurar un servidor master NIS’.En caso de que ya exista un servidor NIS (es decir, un ”master”), puede añadirun servidor slave NIS (p. ej. si quiere configurar una nueva subred). Lo primeroque se detalla es la configuración del servidor master. En caso de que algunode los paquetes necesarios no esté instalado, YaST le pedirá que introduzca elCD o DVD correspondiente para que los paquetes que faltan puedan instalarseautomáticamente. En la primera máscara de configuración (figura 13.4 en lapágina siguiente), introduzca arriba el nombre del dominio. En la caja inferior,puede establecer si el ordenador también debe ser un cliente NIS, es decir si losusuarios pueden realizar logins y por tanto acceder a los datos del servidor NIS.

Si quiere configurar servidores NIS (”servidores slave”) adicionales, debe ac-tivar la caja ‘Disponer de servidor esclavo activo para NIS’. Además tambiéndebe activar ‘Distribución rápida de mapeo’, lo cual provoca que las entradas dela base de datos se envíen rápidamente del servidor master al esclavo.

Si quiere permitir que los usuarios de la red puedan cambiar sus contraseñas(con el comando yppasswd , no sólo las locales sino también las que se encuen-tran en el servidor NIS), puede activar esta opción aquí.

411SuSE Linux – Manual de Administración

Page 430: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 13.4: YaST2: Herramienta de configuración de un servidor NIS

Entonces también se activarán las opciones ‘Permitir el cambio de GECOS’y ‘Permitir el cambio de SHELL’. ”GECOS” significa que el usuario tambiénpuede modificar su nombre y dirección (con el comando ypchfn ). ”SHELL”quiere decir que también puede modificar su shell (con el comando ypchsh ,p. ej.de bash a sh).

Pulsando en el apartado ‘Otras configuraciones globales...’ accede a un diálo-go (Figura 13.5 en la página siguiente) en el que puede modificar el directoriofuente del servidor NIS (por defecto /etc ). Además aquí también se puedenreunir contraseñas y grupos. La configuración se debe dejar en ‘Sí’, para que losarchivos correspondientes (/etc/passwd y /etc/shadow , ó /etc/groupy /etc/gshadow ) concuerden mutuamente. Además se puede establecer elnúmero más pequeño de usuarios y grupos. Con ‘OK’ confirma las entradas re-alizadas y vuelve a la máscara anterior. Aquí haga clic en ‘Siguiente’.

Si ya ha activado ‘Disponer de servidor esclavo activo para NIS’, ahora debeintroducir el nombre del ordenador que hará las veces de esclavo. Tras dar elnombre, diríjase a ‘Siguiente’.

También puede acceder directamente al menú que aparece a continuación si noha activado la configuración del servidor esclavo. A continuación se puedenespecificar los ”maps”, es decir, las bases de datos parciales que se deben enviardel servidor NIS al cliente correspondiente.

412 NIS – Network Information Service

Page 431: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Figura 13.5: YaST2: Servidor NIS: Cambiar directorios y sincronizar ficheros

En la mayoría de los casos pueden usarse las configuraciones predeterminadas.Por eso, en los casos normales no se debe cambiar nada. Para realizar modifica-ciones ha de ser un gran conocedor de la materia.

Con ‘Siguiente’ se llega al último diálogo, en el que se puede determinar quéredes pueden realizar consultas al servidor NIS (ver Figura. 13.6 en la páginasiguiente). Normalmente se tratará de la red de su empresa, por lo que deberáintroducir las entradas:

255.0.0.0 127.0.0.0

0.0.0.0 0.0.0.0

La primera permite las conexiones desde el propio ordenador; la segunda haceposible que todos los ordenadores que tienen acceso a la red envíen solicitudesal servidor.

El módulo del ciente NIS en YaST2

Con este módulo puede configurar fácilmente el cliente NIS. En la ventana deinicio, puede indicar el NIS que quiere utilizar. En la siguiente ventana de diálo-go, puede introducir el dominio NIS y el número IP del servidor NIS..

413SuSE Linux – Manual de Administración

Page 432: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura 13.6: YaST2: Servidor NIS: Permiso de solicitud

La opción ‘Broadcast’ le permite buscar un servidor NIS en la red cuando el in-dicado no responde. También puede añadir múltiples dominios con un dominiopor defecto. Para cada dominio, con la opción ‘Añadir’ puede indicar más servi-dores e incluso la función broadcast.

Las opciones avanzadas de configuración le permiten activar DHCP para la con-figuración NIS a través de una casilla de control. Posteriormente ya no podráeditar los apartados correspondientes al dominio y el servidor, ya que éstas en-tradas se transmiten automáticamente con DHCP. Puede encontrar más infor-mación sobre DHCP en la sección DHCP en la página 419.

414 NIS – Network Information Service

Page 433: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

NFS – Sistema de ficheros distribuidos

Como ya se ha mencionado en el apartado 13 en la página 411, el servicio NFSsirve, junto con el servicio NIS, para hacer una red transparente al usuario.NFS consiente la distribución de sistemas de fichero en la red, lo que permiteal usuario encontrar siempre el mismo entorno, independientemente del orde-nador en el que trabaje.

Al igual que NIS, NFS es un servicio asimétrico de estructura cliente-servidor,pero a diferencia de este, NFS puede ofrecer sistemas de fichero a la red (”ex-portar”) y a su vez montar los de otros ordenadores (”importar”). Normalmenteson sólo los servidores los que exportan sistemas de ficheros, ya que son estoslos que tienen una gran capacidad de almacenamiento de datos.

Importar sistemas de ficheros con YaST2

Todo usuario (al que le han asignado ciertos derechos), puede distribuir direc-torios NFS de servidores NFS en su propio árbol de ficheros. La forma más fácilde hacer esto es mediante el módulo ‘Cliente NFS’ que aparece en YaST2. Allíse debe introducir el nombre de host del ordenador que hace las veces de servi-dor NFS, el directorio a exportar del servidor, y el punto de montaje en el que sedebe montar el ordenador. En la primera ventana de diálogo escoja ‘Añadir’ eintroduzca lo ya mencionado .

Importación manual de sistemas de ficheros

Importar manualmente sistemas de ficheros desde un servidor NFS esmuy simple y tiene como única condición que el mapeador de puertos oportmapper RPC. esté activo. Para iniciar este servidor, ejecute el comandorcportmap start como usuario benutzerroot. Una vez iniciado este servicioes posible incorporar sistemas de ficheros externos al sistema de ficheros local,siempre que puedan exportarse de las máquinas correspondientes, análoga-mente a la incorporación de discos locales usando el comando mount . La sin-taxis del comando es la siguiente:

mount 〈ordenador 〉: 〈ruta remota 〉 〈ruta local 〉Se pueden importar p. ej. los directorios de usuario del ordenador sol con elsiguiente comando:

tierra: ~ # mount sol:/home /home

415SuSE Linux – Manual de Administración

Page 434: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Exportar sistemas de ficheros con YaST2

Con YaST2 puede convertir rápidamente un ordenador de su red en un servidorNFS, la cual pone a disposición de todos los ordenadores a los que ha otorgadoacceso un servidor, directorios y archivos. Muchas aplicaciones pueden p. ej.ponerse a disposición del resto de trabajadores sin que sea necesario instalarlasen sus PCs.

Para realizar la instalación, escoja en YaST2 la opción ‘Red - Servicios’ y allí laopción ‘Servidor NFS’ .

En el siguiente paso puede activar la opción ‘Arrancar el servidor NFS’ y hagaclic en ‘Siguiente’

Ahora ya sólo queda un paso. En el campo superior introduzca los directoriosque deben exportarse y en el inferior los ordenadores de la red a los que se lespermite el acceso (figura 13.7). Existen cuatro opciones disponibles para los or-denadores: 〈single host〉, 〈netgroups〉, 〈wildcards〉 y 〈IP networks〉. Puede encon-trar explicaciones más detalladas de estas opciones en las páginas man paqueteexports (man exports ).

Figura 13.7: YaST2: Servidor NFS: Introducir el host y los directorios de exportación

Con ‘Fin’ cierra la ventana de configuración.

416 NFS – Sistema de ficheros distribuidos

Page 435: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Exportar manualmente sistemas de ficheros

Si prescinde del apoyo de YaST, asegúrese de que los siguientes servicios esténen funcionamiento en el servidor NFS:

RPC-Portmapper (portmap)

RPC-Mount-Daemon (rpc.mountd)

RPC-NFS-Daemon (rpc.nfsd)

Introduzca los comandos insserv /etc/init.d/nfsserver einsserv /etc/init.d/portmap para que los servicios sean activados porlos scripts /etc/init.d/portmap y /etc/init.d/nfsserver al arrancar el ordenador.

Aparte de iniciar estos daemons es preciso definir qué sistemas de ficherosse deben exportar a qué ordenadores. Esto se realiza con el fichero /etc/exports .

Por cada directorio a exportar se necesita una línea que constate qué ordendordebe acceder a él y de qué forma; los sub-directorios se exportan automática-mente. Los ordenadores con permiso de acceso se indican generalmente porsus nombres (con el nombre del dominio incluido). También puede usar los co-modines ‘*’ y ‘?’ con sus funciones conocidas de la shell bash. Si no se indicaningún nombre, cada ordenador tiene la posibilidad de montar el directorio conlos derechos de acceso indicados para el mismo.

Los derechos de exportación del directorio se indican en paréntesis en una listadetrás del nombre de ordenador. La siguiente tabla resume las opciones de acce-so más importantes.

Opciones Usoro Exportación sólo con derecho de lectura (por defecto).

rw Exportación con derecho de escritura y lectura.

root_squash Esta opción hace que el usuario root del ordenadorindicado no tenga sobre el directorio los derechos espe-ciales típicos para root . Esto se logra modificando losaccesos con la identidad de usuario (ingl. User-ID) 0 alde 65534 (-2) . Esta identidad debe estar asignada alusuario nobody (es así por defecto).

no_root_squash Ninguna modificación de los derechos de root .

Cuadro 13.12: Continúa en la página siguiente. . .

417SuSE Linux – Manual de Administración

Page 436: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

link_relative Modificación de enlaces simbólicos absolutos (aquel-los que comienzan con ‘/’ ) a una secuencia de ‘../’ .Esta opción solo tiene sentido si se monta el sistema deficheros completo de un ordenador (es así por defecto).

link_absolute No se modifican los enlaces simbólicos.

map_identity El cliente usa la misma identidad (ingl. User-ID) que elservidor (es así por defecto).

map_daemon Las identidades de usuario, de cliente y de servidor, nocoinciden. Con esta opción el nfsd genera una tabla parala conversión de las identidades de usuario. El requisitopara ello es la activación del daemon ugidd.

Cuadro 13.12: Derechos de acceso a directorios exportados

El fichero 46 muestra un ejemplo de un fichero exports .

## /etc/exports#/home sol(rw) venus(rw)/usr/X11 sol(ro) venus(ro)/usr/lib/texmf sol(ro) venus(rw)/ tierra(ro,root_squash)/home/ftp (ro)# End of exports

Fichero 46: /etc/exports

Los programas mountd y nfsd leen el fichero /etc/exports . Después dehaberlo modificado, es preciso reiniciar mountd y nfsd para que los cambiosse activen. Lo más sencillo para conseguirlo es introducir del comando:

tierra: ~ # rcnfsserver restart

418 NFS – Sistema de ficheros distribuidos

Page 437: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

DHCP

El protocolo DHCP

El denominado ”Dynamic Host Configuration Protocol” tiene como funciónproveer configuraciones desde un servidor en la central de la red, para no tenerque hacerlo de forma descentralizada, desde cada estación de trabajo. Un clienteque ha sido configurado con DHCP no posee direcciones estáticas si no que seconfigura totalmente a sí mismo según las especificaciones del servidor DHCP.

Existe la posibilidad de identificar a cada cliente y proveerle siempre con la mis-ma configuración mediante la dirección de hardware de su tarjeta de red (por logeneral definida de forma fija), así como otorgar a cada ordenador ”interesado”las direcciones, desde un conjunto determinado para ello de forma ”dinámica”.De ser este el caso, el servidor DHCP procurará otorgar siempre la misma direc-ción (igualmente a lo largo de grandes espacios de tiempo) – claro que esto nofuncionará si en la red hay más ordenadores que direcciones.

De esta forma el administrador del sistema podrá sacarle provecho a DHCP dedos formas. Por una parte es posible realizar de forma central, cómoda y por símismo grandes modificaciones, sean estas de configuración y/o de direccionesde red desde el fichero de configuración del servidor DHCP y todo ello sin tenerque configurar uno a uno cada cliente. Por otra parte y sobre todo, se puedenintegrar fácilmente nuevos ordenadores a la red, debiendo otorgárseles desde elconjunto de direcciones un determinado número IP. También es de gran interés,para portátiles que operan de forma regular en varias redes, la posibilidad deobtener la configuración de red apropiada del respectivo servidor DHCP.

Además de otorgar al cliente la dirección IP y la máscara de red se le entregarántambién el nombre del ordenador y del dominio, la pasarela (gateway) a serusada y las direcciones de los servidores de nombres.

Además también se pueden configurar de forma central algunos parámetros,como p. ej. un servidor horario (ingl. Timeserver), desde el cual se puede accedera la hora actual

A continuación le ofrecemos, sin entrar mucho en detalles, una descripción ge-neral del mundo de DHCP. También deseamos mostrarle, con ayuda de dhcpd(servidor DHCP), cómo se puede realizar sencillamente toda la configuración desu red de forma central mediante DHCP.

419SuSE Linux – Manual de Administración

Page 438: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Los paquetes de software DHCP

Mientras que por lo general sólo entra en consideración dhcpd , publicado porel Internet Software Consortium, como servidor para SuSE Linux, como clientesDHCP tenemos dos alternativas de elección. Por un lado, se encuentra dhcp-client, también realizado por ISC, y por el otro lado ”DHCP Client Daemon”,incluido en el paquete dhcpcd .

dhcpcd está instalado de forma estándar en SuSE Linux y su manejo es muysencillo. Ya durante el arranque del ordenador éste se ejecuta de forma au-tomática y busca un servidor DHCP. A dhcpcd no le hace falta un archivo deconfiguración y normalmente funciona sin ninguna configuración adicional.

Para situaciones más complejas se puede usar el dhclient de ISC, el cual se con-trola desde el fichero de configuración /etc/dhclient.conf

El servidor DHCP: dhcpd

El Dynamic Host Configuration Protocol Daemon es el corazón de todo sistemaDHCP. Éste se encarga de ”alquilar” direcciones y de vigilar su uso como estéestipulado en el archivo de configuración /etc/dhcpd.conf . El administra-dor del sistema puede determinar según sus preferencias el comportamiento delDHCP mediante los parámetros y valores definidos en este archivo.

Un ejemplo para un fichero /etc/dhcpd.conf sencillo:

default-lease-time 600; # 10 minutesmax-lease-time 7200; # 2 hours

option domain-name "cosmos.sol";option domain-name-servers 192.168.1.1, 192.168.1.2;option broadcast-address 192.168.1.255;option routers 192.168.1.254;option subnet-mask 255.255.255.0;

subnet 192.168.1.0 netmask 255.255.255.0{

range 192.168.1.10 192.168.1.20;range 192.168.1.100 192.168.1.200;

}

Fichero 47: El fichero de configuración /etc/dhcpd.conf

Este sencillo fichero de configuración es suficiente para que DHCP pueda otor-gar direcciones IP en la red. Fíjese especialmente en los puntos y coma al finalde cada línea. ¡Sin ellos dhcpd no arrancará!

420 DHCP

Page 439: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Como se puede observar, el anterior ejemplo puede dividirse en tres bloques. Enla primera parte se define de forma estándar cuántos segundos se ”alquilará”una dirección IP a un ordenador que quiera una, antes de que éste tenga quepedir una prórroga (default-lease-time ). Aquí también se define cuántotiempo puede conservar un ordenador como máximo un número IP, otorgadopor el servidor DHCP, sin tener que tramitar para ello una prórroga (max-lease-time).

En el segundo bloque se definen globalmente algunos parámetros de red bási-cos:

Con option domain-name se define el dominio por defecto de su red.

En option domain-name-servers se pueden introducir hasta tresservidores DNS, que se encargarán de distribuir direcciones IP en nombrede host (y viceversa). Lo ideal sería que en su sistema o en su red hubieseya un servidor de nombres en funcionamiento, que también tuviese listoa su vez un nombre de host para las direcciones dinámicas y viceversa.Obtendrá más información sobre la creación de un propio servidor denombres en el capítulo sobre DNS.

option broadcast-address define qué dirección Broadcast debe usarel ordenador que efectúa la consulta.

option routers define dónde deben ser enviados los paquetes dedatos que no pueden ser entregados en la red local (a causa de la direccióndel host de origen y el host de destino así como de la máscara de subred).Este router es por lo general en pequeñas redes la pasarela a Internet.

option subnet-mask da al cliente la plantilla de red a ser entregada.

Por debajo de esta configuración general se define una red con su más-cara de subred y después no hace falta nada más que seleccionar un rangode direcciones que utiliza el daemon DHCP para asignar direcciones IP aclientes que lo consultan. Para el ejemplo dado, son todas las direcciones entre192.168.1.10 y 192.168.1.20 y también en el rango de 192.168.1.100hasta 192.168.1.200 .

Después de esta corta configuración, ya debería ser posible iniciar el daemonDHCP mediante el comando rcdhcpd start .

421SuSE Linux – Manual de Administración

Page 440: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Igualmente es posible controlar la sintaxis de la configuración mediante el co-mando rcdhcpd check-syntax . Si hay algún problema y el servidor da unerror en lugar de indicar ”done”, el fichero /var/log/messages tal como laconsola 10 (

�� ��Control +�� ��Alt +

�� ��F10 ) dan más información.

¡Felicidades por haber conseguido un servidor DHCP propio!

Ordenador con dirección IP fija

Como ya se ha mencionado, también existe la posibilidad de asignar a un deter-minado ordenador en cada consulta la misma dirección IP.

La asignación fija de una dirección a un ordenador tiene prioridad a la asig-nación de las direcciones desde un conjunto de direcciones dinámicas. En com-paración a las direcciones dinámicas, las fijas no se pierden, tampoco cuando yano quedan direcciones y se requiere de una redistribución de las mismas.

Para identificar un ordenador que debe obtener una dirección estática, dhcpdutiliza la dirección de hardware. Esta es una dirección única en el mundo paraidentificar las interfaces de red. Se compone de seis grupos de dos cifras hexade-cimales, p. ej.00:00:45:12:EE:F4 .

Al ampliar el fichero de configuración que se refleja en el extracto 47 en la pági-na 420 por una entrada como se ve en el extracto 48, DHCPD siempre entregalos mismos datos al ordenador correspondiente.

host tierrahardware ethernet 00:00:45:12:EE:F4;fixed-address 192.168.1.21;

Fichero 48: Extensiones del fichero de configuración

El significado de estas líneas prácticamente se explica por sí mismo:

Primero aparece el nombre del ordenador que se va a definir (host hostname) yen la línea siguiente se introduce la dirección MAC. Es muy fácil de averiguaren Linux ejecutando el comando ifstatus seguido de la interfaz de red(p. ej.eth0). Dado el caso antes tiene que activar la tarjeta: ifup eth0 . Este co-mando produce una salida como: "link/ether 00:00:45:12:EE:F4".

422 DHCP

Page 441: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

13Fun

da

me

nto

sd

ec

on

exió

na

red

es

Siguiendo el ejemplo expuesto, el ordenador con la dirección MAC00:00:45:12:EE:F4 recibe automáticamente la dirección IP 192.168.1.21y el nombre tierra .

Como tipo de hardware hoy en día se suele utilizar ethernet , pero tampocohay problemas con token-ring que se encuentra en muchos sistemas de IBM.

Más información

Tal como se ha mencionado al principio, el capítulo no pretende más que in-troducir al lector en el mundo de DHCP. En la página web del Internet SoftwareConsortium (http://www.isc.org/products/DHCP/ ) se encuentra infor-mación detallada sobre DHCP y sobre la versión 3 de este protocolo que ac-tualmente se está desarrollando. A parte de esto existen las páginas man comoman dhcpd , man dhcpd.conf , man dhcpd.leases y man dhcp-options .También hay una serie de libros en el mercado que detallan las posibilidades delDynamic Host Name Configuration Protocol.

Otra característica interesante de dhcpd es la posibilidad de entregar un ficherocon un kernel a los clientes que lo consulten. Es algo que se define medianteel parámetro filename en el fichero de configuración. Así se pueden configurarclientes sin disco duro y cargar el sistema operativo tal como los datos, exclu-sivamente a través de la red. Es algo que puede resultar muy interesante porrazones de costo y de seguridad.

423SuSE Linux – Manual de Administración

Page 442: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 443: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

Sincronización de ficheros

Hoy en día son muchas las personas que utilizan varios ordenadores: un orde-nador en casa, otro en la oficina e incluso puede que un portátil o un PDA paralos viajes. Algunos ficheros se necesitan en todos los ordenadores. Lo ideal seríapoder trabajar con todos ellos y especialmente modificar los ficheros, pero quetodos los ordenadores contuvieran la versión actual de los datos.

Software para sincronizar datos . . . . . . . . . . . . . . . . 426Criterios para la elección de programa . . . . . . . . . . . . 428Introducción a InterMezzo . . . . . . . . . . . . . . . . . . . 432Introducción a unison . . . . . . . . . . . . . . . . . . . . . 435Introducción a CVS . . . . . . . . . . . . . . . . . . . . . . . 437Introducción a mailsync . . . . . . . . . . . . . . . . . . . . 440

Page 444: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Software para sincronizar datos

La sincronización de datos no supone ningún problema en ordenadores queestén conectados entre sí permanentemente a través de una red rápida. Bastacon elegir un sistema de ficheros de red como NFS y guardar los ficheros en unservidor. De esta forma, todos los ordenadores accederán a los mismos datos através de la red.

Este planteamiento no es posible si la conexión en red es mala o parcialmenteinexistente. Quien viaje con un ordenador portátil deberá tener copias de todoslos ficheros que necesite en el disco duro local. No obstante, cuando los ficherosson editados no tarda en surgir el problema de la sincronización. Al modificarun fichero en un ordenador debe intentarse actualizar la copia de ese fichero enlos demás ordenadores. Esto puede realizarse manualmente con ayuda de scpo rsync en caso de que se trate de pocas copias. Pero con un número elevadode ficheros resulta un proceso muy laborioso que requiere mucha atención porparte del usuario para no cometer fallos como, por ejemplo, sobreescribir unnuevo fichero con uno antiguo.

Aviso

Peligro de pérdida de datos

En cualquier caso hay que familiarizarse con el programa utilizado yprobar su funcionamiento antes de administrar los propios datos a travésde un sistema de sincronización. En caso de ficheros importantes resultaindispensable hacer antes una copia de seguridad.

Aviso

Para evitar el procedimiento largo y propenso a fallos de la sincronización ma-nual de datos, existe software que, basándose en distintos planteamientos, seencarga de automatizar este proceso.

El soporte de instalación de SuSE NO cubre los programas descritos en estecapítulo. El propósito de las breves descripciones que aparecen a continuaciónes simplemente dar al usuario una ligera idea sobre el funcionamiento de estosprogramas y cómo pueden ser utilizados. En caso de querer aplicar estos pro-gramas, le recomendamos leer atentamente la documentación de los mismos.

Inter-Mezzo

La idea de Intermezzo consiste en construir un sistema de ficheros que, comoNFS intercambie ficheros a través de la red, pero que al mismo tiempo guardecopias locales en cada ordenador para que los ficheros estén disponibles aún

426 Software para sincronizar datos

Page 445: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

cuando no exista la conexión de red. Las copias locales pueden editarse y loscambios se almacenan en un fichero especial de registro. Cuando la conexión serestablece, los cambios se pasan automáticamente a los demás ordenadores ylos ficheros son sincronizados. Si el paquete está instalado, puede encontrar másinformación sobre el programa InterMezzo en /usr/share/doc/packages/InterMezzo/InterMezzo-HOWTO.html .

unison

En el caso de unison no se trata de un sistema de ficheros, sino que los ficherosse guardan y editan normalmente de forma local. El programa unison puedeejecutarse manualmente para sincronizar ficheros. Durante la primera sin-cronización, se crea en cada una de las dos máquinas participantes una base dedatos en la que se recogen la suma de control, marca de tiempo y permisos delos ficheros seleccionados.

La próxima vez que se ejecute, unison reconoce qué ficheros han sido modifica-dos y sugiere la transferencia de datos de uno u otro ordenador. En el mejor delos casos es posible aceptar todas las sugerencias.

CVS

CVS se utiliza sobre todo para administrar versiones de textos fuente de pro-gramas y ofrece la posibilidad de guardar copias de ficheros en distintos orde-nadores, por lo que también resulta adecuado para la sincronización.

En el caso de CVS existe una base de datos central o repositorio (repository) enel servidor que no sólo guarda los ficheros sino también los cambios realizadosen ellos. Las modificaciones efectuadas localmente pueden enviarse al reposito-rio (commit) y ser recogidos por otros ordenadores (update). Ambos procesosdeben ser iniciados por el usuario.

CVS tolera muchos fallos en lo que se refiere a cambios en varios ordenadores.Así, los cambios son fusionados y sólo se produce un conflicto si se han realiza-do cambios en la misma línea. En caso de conflicto, los datos en el repositoriomantienen su coherencia y el conflicto sólo es visible y puede resolverse en elcliente.

427SuSE Linux – Manual de Administración

Page 446: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

mailsync

A diferencia de las herramientas de sincronización mencionadas hasta ahora,mailsync se ocupa únicamente de sincronizar mensajes entre varios buzones decorreo. Puede tratarse de ficheros de buzones locales o de buzones ubicados enun servidor IMAP.

Dependiendo del "message ID" incluido en la cabecera de cada mensaje, se de-cide individualmente si éste ha de borrarse o ser sincronizado.

Se permite la sincronización tanto entre buzones sueltos como entre jerarquíasde buzones.

Criterios para la elección de programa

Cliente-servidor o igualdad de derechos

Existen dos modelos diferentes para la distribución de datos. Por un lado,es posible utilizar un servidor central con el que el resto de ordenadores(”clientes”) compare sus ficheros. Para ello, todos los clientes han de poder ac-ceder al servidor, por lo menos de vez en cuando, a través de una red. Este mod-elo es el utilizado por CVS e Intermezzo.

La alternativa consiste en que todos los ordenadores tengan los mismos dere-chos y comparen sus datos entre sí. Éste es el planteamiento empleado porunison.

Portabilidad

InterMezzo es una solución que hoy en día sólo funciona en sistemas Linux. An-teriormente estuvo incluso limitada a arquitecturas de 32 bits con el bit menossignificativo primero (ix86). Esta restricción ya no existe gracias a la sustitucióndel programa lento basado en perl por InterSync. No obstante, se recomiendaprecaución a la hora de sincronizar entre distintas arquitecturas, ya que estafunción no ha sido probada en profundidad.

cvs y unison están disponibles para muchos otros sistemas operativos, como esel caso de otros Unix y Windows.

Interactivo o automático

Con InterMezzo, la sincronización de datos se ejecuta normalmente de maneraautomática como proceso de fondo tan pronto como la conexión al servidor se

428 Criterios para la elección de programa

Page 447: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

establece. Sólo es necesario intervenir en caso de que se produzca algún conflic-to.La sincronización de datos en cvs y unison es iniciada por el usuario. Esto per-mite un mayor control sobre los ficheros que se van a sincronizar y una resolu-ción más fácil de posibles conflictos. Por otra parte, puede suceder que la sin-cronización se lleve a cabo con demasiada poca frecuencia, lo que aumenta elriesgo de conflictos.

Velocidad

Debido a su carácter interactivo, unison y cvs parecen más lentos queintermezzo, que funciona en segundo plano. En conjunto, cvs es algo más rápi-do que unison.

Conflictos: cuando aparecen y cómo resolverlos

En cvs aparecen conflictos rara vez, incluso aunque varias personas trabajenen un gran proyecto de programa. Los distintos documentos se fusionan líneaa línea y, en caso de que ocurra un conflicto, sólo afectará a un cliente. Por logeneral, los conflictos en cvs se resuelven fácilmente.Los conflictos en unison se notifican al usuario y el fichero se puede entoncesexcluir de la sincronización. Por otra parte, los cambios no se fusionan tan fácil-mente como en cvs.Debido al carácter no interactivo de InterMezzo, los conflictos no pueden re-solverse fácilmente de forma interactiva. Cuando aparece algún conflicto,InterSync se interrumpe con un mensaje de error. En este caso, el administradordel sistema ha de intervenir y si es necesario transferir ficheros manualmente(rsync/scp) para obtener de nuevo un estado coherente.

Seleccionar y añadir ficheros

InterMezzo sincroniza sistemas completos de ficheros. Los nuevos ficheros aña-didos aparecen automáticamente en los demás ordenadores.En la opción de configuración más sencilla de unison se sincroniza un árbolcompleto de directorios. Los nuevos ficheros presentes en el árbol se incorpo-ran automáticamente a la sincronización.En el caso de CVS es necesario añadir explícitamente nuevos directorios yficheros por medio de cvs add . La consecuencia es un mayor control sobre losficheros que van a formar parte de la sincronización. Por otra parte, los nuevosficheros tienden a olvidarse; sobre todo si debido al número de ficheros se igno-ra el signo ’?’ que aparece en la salida de cvs update.

429SuSE Linux – Manual de Administración

Page 448: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Historia

Como función adicional, cvs permite reconstruir las versiones anteriores de losficheros. Cada vez que se realiza un cambio es posible añadir una pequeña notay posteriormente reproducir el desarrollo del fichero basándose en el contenidoy en los comentarios. Esto resulta de gran utilidad en el caso de tesis o textos deprogramas.

Cantidad de datos y requisitos de espacio

En cada uno de los ordenadores participantes se necesita espacio suficiente en eldisco duro para todos los datos distribuidos.

En el caso de cvs se necesita además espacio adicional para la base de datos(”repository”) en el servidor. Allí también se guarda la historia de los ficheros,por lo que los requisitos de espacio son mucho mayores que el espacio nece-sario en sí. En el caso de ficheros en formato texto, los requisitos de espacio semantiene dentro de límites razonables, ya que sólo hay que volver a guardar laslíneas que han sido modificadas. Pero en el caso de ficheros binarios, el espaciorequerido aumenta en el orden del tamaño del fichero con cada cambio que seproduce.

GUI

unison está equipado con una interfaz gráfica que muestra la sincronizaciónsugerida por unison. Se puede aceptar esta propuesta o bien excluir ficherossueltos del proceso de sincronización. Además es posible confirmar cada uno delos procesos de forma interactiva en modo texto.

Los usuarios más experimentados suelen utilizar cvs desde la línea de coman-dos. No obstante, también existen interfaces gráficas para Linux (cervisia, ...) yWindows (wincvs). Numerosas herramientas de desarrollo (ej. kdevelop) y edi-tores de texto (ej. emacs) tienen soporte para CVS. A menudo, el uso de estasfrontales simplifica en gran medida la resolución de conflictos.

El programa InterMezzo no es tan confortable. Por otra parte, normalmente norequiere ninguna interacción y, una vez configurado, sólo hay que dejarle ejecu-tarse en segundo plano.

Requisitos que debe cumplir el usuario

La configuración de InterMezzo es relativamente difícil y debe ser realizada porun administrador de sistemas con experiencia en Linux. Para configurar el pro-grama son necesarios permisos root .

430 Criterios para la elección de programa

Page 449: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

unison es muy fácil de usar y resulta adecuado también para usuarios principi-antes.

El manejo de CVS es algo más complejo. Para utilizarlo es necesario haber com-prendido la interacción entre el repositorio y los datos locales. Siempre hay quefusionar primero los cambios en los datos locales con el repositorio. Para ello seutiliza el comando cvs update . Una vez hecho esto, los datos deben volver aenviarse al repositorio con cvs commit . Siempre que se respeten estos proce-sos, el uso de CVS es muy sencillo incluso para principiantes.

Seguridad frente a agresiones externas

En un escenario ideal, la seguridad de la transferencia de datos debería estargarantizada en caso de accesos no autorizados o incluso de la modificación delos datos.

Tanto unison como cvs pueden utilizarse vía ssh (Secure Shell) y están por lotanto bien protegidos frente a posibles agresiones como las mencionadas arriba.Se recomienda no utilizar cvs o unison a través de rsh (Remote Shell) y evitartambién el acceso a través del mecanismo cvs ”pserver” en redes poco protegi-das.

En el caso de InterMezzo, la sincronización de datos se lleva a cabo a través dehttp, un protocolo que puede ser espiado o falsificado fácilmente. Para incre-mentar la seguridad puede utilizarse SSL, lo que por otra parte complica bas-tante la configuración. Sin el uso de SSL, InterMezzo sólo debe emplearse en re-des protegidas y de confianza.

Seguridad frente a pérdida de datos

Numerosos desarrolladores utilizan desde hace mucho tiempo el excepcional-mente estable CVS para administrar sus proyectos de programación. Además, elalmacenamiento de la historia de los cambios hace que en CVS se esté protegi-do incluso frente a determinados fallos del usuario (por ejemplo la eliminaciónaccidental de un fichero).

431SuSE Linux – Manual de Administración

Page 450: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

InterMezzo unison CVS mailsync

CS/Igualdad C-S igualdad C-S igualdadPortabilidad Linux(i386) Lin,Un*x,Win Lin,Un*x,Win Lin,Un*xInteracción - x x -Velocidad ++ - o +Conflictos - o ++ +Selecc.fich. sist.fich. directorio selección buzónHistoria - - x -Esp. disco o o – +GUI - + o -Dificultad - + o oAgresiones - +(ssh) +(ssh) +(SSL)Pérdida datos o + ++ +

Cuadro 14.1: Características de las herramientas de sincronización de datos – = muymalo, - = malo o no disponible, o = regular, + = bueno, ++ = muy bueno, x = disponible

unison es todavía relativamente nuevo, pero demuestra ya un alto grado de es-tabilidad. Es más sensible frente a fallos del usuario. Una vez confirmado unproceso de eliminación de un fichero durante la sincronización, no hay vueltaatrás.

Actualmente InterMezzo puede todavía calificarse como experimental. Debidoa que los ficheros están almacenados en un sistema de ficheros subyacente, laprobabilidad de perder los datos es bastante pequeña. No obstante, el procesode sincronización en sí puede salir mal y producir como resultado ficheros de-fectuosos. La tolerancia a fallos del usuario es bastante reducida: la eliminaciónlocal de un fichero es reproducida por todos los ordenadores sincronizados. Poreste motivo, se recomienda el uso de copias de seguridad.

Introducción a InterMezzo

Arquitectura

InterMezzo dispone de su propio tipo de sistema de ficheros. Los ficheros seguardan localmente en el disco duro de cada ordenador. Para ello se utiliza unode los sistemas de ficheros Linux disponibles, preferiblemente ext3 u otro delos sistemas de ficheros transaccionales. Después de preparar la partición, semonta el sistema de ficheros de tipo intermezzo y el kernel carga el módulo

432 Introducción a InterMezzo

Page 451: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

con soporte para InterMezzo. A partir de ese momento, todos los cambios quese realicen en este sistema de ficheros serán registrados en un fichero log.

Tras completar estas tareas preliminares, puede iniciarse InterSync. Éste a su vezinicia un servidor web, como por ejemplo apache, al que el resto de ordenadorespuede acceder para intercambiar datos. Al configurar un cliente hay que infor-mar a InterSync del nombre del servidor para que pueda establecer conexióncon él. Para detectar el sistema de ficheros se transmite una denominación arbi-traria del sistema de ficheros, el llamado ”fileset”.

InterSync es una versión evolucionada del antiguo sistema InterMezzo, que uti-lizaba un daemon llamado lento escrito en perl para la sincronización de datos.En la documentación de InterSync aparecen a veces referencias a este antiguosistema que ha sido sustituido completamente por InterSync. Desgraciada-mente, el módulo incluido en el kernel estándar está aún al nivel de lento y nofunciona con InterSync. El kernel SuSE contiene un nuevo módulo. En el casode kernels de construcción propia, el módulo del kernel puede construirse conayuda del paquete km_intersync.

Para la configuración de InterMezzo se requieren permisos root. Como se vióen la comparación, la configuración de InterMezzo es muy compleja y debe serllevada a cabo por personas con un nivel de conocimientos equivalente al de unadministrador de sistemas. La configuración que se describe a continuación noprevé ningún mecanismo de protección, por lo que es posible que alguien desdela red pueda espiar y modificar sin grandes dificultades los datos sincronizadosa través de InterMezzo. Por este motivo, la instalación y configuración deberíantener lugar sólo en un entorno de confianza como por ejemplo una red por cableprivada detrás de un cortafuegos.

Configuración de un servidor InterMezzo

El papel de servidor se le asigna a un ordenador que preferentemente tenga unabuena conexión a la red. A través de este servidor discurrirá todo el tráfico parala sincronización de datos.

Para guardar los datos es necesario configurar un sistema de ficheros propio. Siya no existe ninguna partición disponible y el usuario no utiliza LVM, la opciónmás fácil es crear el fichero en un dispositivo bucle (”loop device”). A través deeste procedimiento, un fichero del sistema de ficheros local será consideradocomo sistema de ficheros propio.

En el siguiente ejemplo se describe la configuración de un sistema de ficherosInterMezzo/ext3 en el directorio root con un tamaño de 256MB. Al fileset se le

433SuSE Linux – Manual de Administración

Page 452: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

asignará la denominación fset0.

dd if=/dev/zero of=/izo0 bs=1024 count=262144

mkizofs -r fset0 /izo0 # La advertencia puede ignorarse

Este sistema de ficheros será montado en /var/cache/intermezzo

mount -t intermezzo -ofileset=fset0,loop /izo /var/cache/intermezzo

Para que el proceso se lleve a cabo automáticamente durante el proceso dearranque, debe añadirse una entrada en el fichero /etc/fstab . Ahora hayque configurar InterSync. Para ello es necesario adaptar el fichero /etc/sysconfig/intersync , para lo que se añaden las entradas

INTERSYNC_CLIENT_OPTS="--fset=fset0"INTERSYNC_CACHE=/var/cache/intermezzoINTERSYNC_PROXY=""

A continuación intersync puede iniciarse por medio del comando

/etc/init.d/intersync start

Para hacer que este proceso se realice automáticamente al iniciar el sistema, bas-ta con introducir el servicio en la lista de los servicios que deben ser iniciados:

insserv intersync

Configuración de clientes InterMezzo

La configuración de los clientes (un servidor puede servir a numerosos clientes)apenas se distingue de la configuración del servidor. La única diferencia es queen la configuración de /etc/sysconfig/intersync es necesario introducirel nombre del servidor en la variable INTERSYNC_CLIENT_OPTS:

INTERSYNC_CLIENT_OPTS="-fset=fset0 -server=sol.cosmos.univ"

sol .cosmos.univ ha de sustituirse por el nombre de red del servidor. Ademásse recomienda crear un sistema de ficheros de igual tamaño en todos los orde-nadores.

434 Introducción a InterMezzo

Page 453: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

Resolución de problemas

En cuanto un cliente ha sido iniciado, los cambios realizados en ficherospertenecientes al directorio /var/cache/intermezzo/ deberían ser visi-bles también en el servidor y en los demás clientes. Si éste no es el caso, puededeberse a que no se ha podido establecer conexión con el servidor o a un fal-lo de configuración como que la denominación del ”fileset” no coincide siem-pre. Para realizar el diagnóstico correspondiente se recomienda examinar losmensajes en el registro del sistema /var/log/messages . El servidor web ini-ciado lleva el registro de sus datos en /var/intermezzo-X/ . El fichero logdel kernel, el cual registra los cambios en el sistema de ficheros se encuentra en/var/cache/intermezzo/.intermezzo/fset0/kml y puede volcarse conkmlprint .En caso de conflictos, uno de los procesos de InterSync suele bloquearse.Si la sincronización de datos se ha detenido, se aconseja analizar los men-sajes correspondientes en los ficheros de registro y comprobar por medio de/etc/init.d/intersync status si el servicio de sincronización todavíaestá en funcionamiento.También puede consultarse la documentación del paquete:

/usr/share/doc/packages/intersync/

http://www.inter-mezzo.org/

Introducción a unison

Campos de aplicación

Unison resulta muy adecuado para la sincronización y transferencia de árbolesde directorios completos. La sincronización se lleva a cabo de manera bidirec-cional y puede controlarse a través de un intuitivo frontal gráfico (también exis-te una versión para la consola). El proceso de sincronización puede automati-zarse (es decir, sin necesidad de intervención por parte del usuario) si se poseenlos suficientes conocimientos.

Requisitos

Unison debe estar instalado tanto en el servidor como en el cliente. Por servidorse entiende aquí un segundo ordenador remoto (al contrario que en el caso deCVS, véase el capítulo 6).A continuación nos limitamos al uso de unison con ssh, por lo que en el clientedebe haber instalado un cliente ssh y en el servidor un servidor ssh.

435SuSE Linux – Manual de Administración

Page 454: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Manejo

El principio básico de unison consiste en la unión de dos directorios (llamados"roots"). Esta unión no debe entenderse en sentido literal, no se trata por tantode ninguna conexión. Asumiendo que tengamos la siguiente estructura de di-rectorios:

Client: Server:/home/tux/dir1 /home/geeko/dir2

Estos dos directorios han de ser sincronizados. En el cliente se conoce al usuariocomo tux , en el servidor como geeko . En primer lugar se comprueba si la co-municación entre cliente y servidor funciona:

unison -testserver /home/tux/dir1 ssh://geeko@server//homes/geeko/dir2

Los problemas más frecuentes que pueden aparecer a estas alturas son:

las versiones de unison utilizadas en cliente y servidor no son compatibles

el servidor no permite una conexión SSH

las rutas introducidas no existen

Si todo funciona correctamente, se omite la opción -testserver .

Durante la primera sincronización, unison todavía no conoce el comportamien-to de ambos directorios, por lo que sugiere el sentido de la transmisión de losficheros y directorios individuales. La flecha en la columna "Action" defineel sentido de la transmisión. El signo ’?’ significa que unison no puede hacerninguna sugerencia sobre el sentido de transmisión porque ambas versiones sonnuevas o porque entre tanto han sido modificadas.

Las teclas de cursor permiten definir el sentido de transmisión para cada entra-da. Si los sentidos de transmisión para todas las entradas mostradas son correc-tos, pulse ”Go”.

El comportamiento de unison (por ejemplo, si la sincronización debe automati-zarse en casos muy claros) puede controlarse mediante parámetros de la líneade comandos al iniciar el programa. La lista completa de todos los parámetrosposibles puede consultarse con unison -help .

Para cada unión se lleva un registro en el directorio de usuario (~/.unison ).En este directorio también pueden guardarse conjuntos de configuración como~/.unison/example.prefs :

root=/home/foobar/dir1root=ssh://fbar@server//homes/fbar/dir2batch=true

436 Introducción a unison

Page 455: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

Fichero 49: El fichero ~/.unison/example.prefs

Para iniciar la sincronización, basta con introducir este fichero como argumentoen la línea de comandos:

unison example.prefs

Información adicional

La documentación oficial de Unison es muy completa, por lo que en estas líneassólo se incluye una breve descripción del programa. Puede encontrar un manu-al íntegro en http://www.cis.upenn.edu/~bcpierce/unison/ o en elpaquete SuSE unison .

Introducción a CVS

Campos de aplicación

El uso de CVS se recomienda para tareas de sincronización en el caso de ficherosindividuales editados muy a menudo y cuyo formato es ASCII, texto fuentede programas o similar. Si bien es posible utilizar CVS para sincronizar datosen otros formatos (como por ejemplo JPEG), esto se traduce rápidamente engrandes cantidades de datos, ya que todas las versiones de un fichero se almace-nan permanentemente en el servidor CVS. Además, en estos casos no se explotani remotamente todo el potencial de CVS

El uso de CVS para sincronizar datos sólo es posible cuando todas las estacionesde trabajo tiene acceso al mismo servidor.

A diferencia de CVS, el siguiente escenario también sería posible en el caso deunison:

A > B > C > S

A, B, C son ordenadores que pueden editar los datos en cuestión.

Configuración del servidor CVS

El ”servidor” es el lugar donde están situados todos los ficheros válidos, es de-cir, especialmente la versión actual de cada fichero. Como servidor se puedeutilizar una estación de trabajo de instalación fija. Se recomienda realizar per-iódicamente copias de seguridad de los datos del servidor CVS.

437SuSE Linux – Manual de Administración

Page 456: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Una forma adecuada de configurar el servidor CVS consiste, por ejemplo, en au-torizar a los usuarios el acceso vía SSH al mismo. De este modo, un ordenadorde instalación fija pueda actuar como servidor.

Si el usuario es conocido en el servidor como tux y el software CVS está ins-talado tanto en el servidor como en el cliente (ej. un notebook), en la parte delcliente hay que definir además las siguientes variables de entorno:

CVS_RSH=ssh

CVS_ROOT=tux@server:/serverdir

El comando cvs init permite iniciar el servidor CVS desde la parte delcliente. Esta acción sólo debe realizarse una vez.

Finalmente hay que definir un nombre para la sincronización. Para ello, en uncliente se cambia al directorio que contiene exclusivamente datos administradospor CVS (también puede estar vacío). El nombre del directorio carece de impor-tancia y en este ejemplo se llamará synchome . Para asignar a la sincronizaciónel nombre de synchome , se ejecuta el comando:

cvs import synchome tux tux_0

Nota: Muchos comandos de CVS requieren un comentario. Para ello, cvs iniciaun editor (aquél que ha sido definido en la variable de entorno $EDITORo ensu defecto vi). El inicio del editor se puede evitar introduciendo directamente elcomentario en la línea de comandos, como por ejemplo en

cvs import -m ’es una prueba’ synchome tux tux_0

Manejo de CVS

A partir de este momento, el repositorio de la sincronización puede extraersedesde cualquier ordenador:

cvs co synchome

Al ejecutar este comando se crea un nuevo subdirectorio synchome en elcliente. Si se han realizado modificaciones que quieren transmitirse al servidor,se cambia al directorio synchome (o a uno de sus subdirectorios) y se ejecuta elsiguiente comando.

cvs commit

Este comando transmite por defecto todos los ficheros (incluyendo subdirecto-rios) al servidor.

438 Introducción a CVS

Page 457: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

Si sólo se quieren transmitir determinados ficheros o directorios, éstos debenespecificarse en el comando:

cvs commit fichero1 ... directorio1 ...

Antes de ser transmitidos al servidor, los nuevos ficheros o directorios han dedeclararse parte integrante de CVS:

cvs add fichero1 ... directorio1 ...

y a continuación pueden enviarse al servidor

cvs commit fichero1 ... directorio1 ...

Si se cambia el puesto de trabajo, debe en primer lugar extraerse el repositoriode la sincronización (véase arriba) si no se ha hecho ya en el transcurso de se-siones anteriores en ese mismo lugar de trabajo.

La sincronización con el servidor se inicia mediante el comando:

cvs update

También es posible actualizar ficheros o directorios de manera selectiva:

cvs update fichero1 ... directorio1 ...

Si se quieren ver las diferencias entre las versiones almacenadas en el servidor,se utiliza el comando

cvs diff

o bien

cvs diff fichero1 ... directorio1 ...

De manera alternativa, se puede utilizar el siguiente comando para mostrar losficheros afectados por una actualización:

cvs -nq update

439SuSE Linux – Manual de Administración

Page 458: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

En la actualización se utilizan entre otros, los siguientes símbolos indicadores deestado:

U la versión local ha sido actualizada

M la versión local ha sido modificada pero no actualizada

P la versión local ha sido parcheada. Es decir, CVS ha intentado fusionar laversión en el servidor CVS con la versión local

? este fichero no se encuentra en CVS

El estado Mseñaliza un conflicto que es necesario resolver. Para ello, se envía lacopia local al servidor (”commit”) o se elimina la copia local y se lleva a cabouna actualización, con lo que el fichero que falta se obtiene del servidor.

Información adicional

Las posibilidades de CVS son muy extensas y aquí sólo se han mencionado al-gunas de ellas. Puede encontrar más información en las siguientes direcciones:

http://www.cvshome.org/http://www.gnu.org/manual/

Introducción a mailsync

Campos de aplicación

Básicamente, mailsync resulta adecuado para realizar tres tareas:

sincronización de mensajes de correo electrónico archivados localmentecon mensajes almacenados en un servidor

migración de buzones a otro formato o a otro servidor

comprobación de la integridad de un buzón o búsqueda de duplicados

440 Introducción a mailsync

Page 459: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

Configuración y manejo

Mailsync distingue entre el buzón en sí (lo que se conoce como store) y el en-lace entre dos buzones (que se denomina channel). Las definiciones de store ychannel se encuentra en el fichero ~/.mailsync .A continuación se mencionanalgunos ejemplos de stores:

Una definición sencilla sería la siguiente:

store saved-messages {pat Mail/saved-messagesprefix Mail/

}

En las líneas superiores, Mail/ es un subdirectorio del directorio person-al de usuario que contiene carpetas con mensajes, entre ellas la carpetasaved-messages .

Si se ejecuta mailsync con

mailsync -m saved-messages

se mostrará un índice de todos los mensajes guardados en saved-messages. Si sedefine

store localdir {pat Mail/*prefix Mail/

}

la ejecución de

mailsync -m localdir

produce una lista de todos los mensajes almacenados en las carpetas de Mail/.El comando

mailsync localdir

produce una lista con los nombres de las carpetas. La definición de un store enun servidor IMAP sería por ejemplo:

store imapinbox {server {mail.uni-hannover.de/user=gulliver}ref {mail.uni-hannover.de}pat INBOX

}

441SuSE Linux – Manual de Administración

Page 460: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El ejemplo superior sólo se refiere a la carpeta principal del servidor IMAP. Unstore para una subcarpeta se definiría así:

store imapdir {server {mail.uni-hannover.de/user=gulliver}ref {mail.uni-hannover.de}pat INBOX.*prefix INBOX.

}

Si el servidor IMAP soporta conexiones cifradas, la definición del servidor ha decambiarse a

server {mail.uni-hannover.de/ssl/user=gulliver}

o, en caso de que el certificado del servidor no se conozca, a

server {mail.uni-hannover.de/ssl/novalidate-cert/user=gulliver}

El prefijo se explicará más adelante.

Ahora es necesario conectar las carpetas de Mail/ con los subdirectorios delservidor IMAP:

channel carpeta localdir imapdir {msinfo .mailsync.info

}

Durante este proceso, mailsync registra en el fichero definido con msinfo quémensajes han sido ya sincronizados.

La ejecución de

mailsync carpeta

produce como resultado lo siguiente:

el patrón del buzón (pat) se amplía en ambas partes

se elimina el prefijo (prefix) de los nombres de carpetas creados con esteprocedimiento

las carpetas se sincronizan por pares (o son creadas en caso de no estartodavía disponibles)

442 Introducción a mailsync

Page 461: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

14Sin

cro

niza

ció

nd

efic

he

ros

Por lo tanto, la carpeta INBOX.sent-mail del servidor IMAP es sincronizadacon la carpeta local Mail/sent-mail (suponiendo las definiciones anteriores).La sincronización entre las carpetas individuales se producen del siguiente mo-do:

si un mensaje existe en ambas partes, no sucede nada

si un mensaje falta en un lado y es nuevo (es decir, no está registrado en elfichero msinfo) será transmitido a esa parte

si un mensaje existe sólo en una parte y es antiguo (ya está registrado enel fichero msinfo), será eliminado (ya que al parecer ya había existido en elotro lado y ha sido borrado)

Para obtener a priori una idea de qué mensajes serán transmitidos y cuálesserán borrados al realizar la sincronización, se puede activar mailsync con unchannel y un store simultáneamente:

mailsync carpeta localdir

De esta forma se obtiene una lista de todos los mensajes que son nuevos local-mente y otra lista de los mensajes que serían borrados en la parte del servidorIMAP si se realizase una sincronización.

De manera inversa, con

mailsync carpeta imapdir

se obtiene una lista con todos los mensajes nuevos en la parte del servidor yotra con los mensajes que serían borrados localmente si se realizase la sin-cronización.

Posibles problemas

En caso de pérdida de datos, el procedimiento más seguro consiste en borrar elfichero de registro ”msinfo” correspondiente al canal. De esta forma, todos losmensajes que sólo existan en una parte se considerarán como nuevos y serántransmitidos con la siguiente sincronización.

En la sincronización se tienen en cuenta sólo los mensajes que tienen un mes-sage ID. Los mensajes que carezcan de éste serán ignorados, es decir, ni transmi-tidos ni eliminados. El message ID puede faltar debido a programas defectuososen el proceso de entrega de correo o en el de creación de mensajes.

En algunos servidores IMAP, la carpeta principal se conoce con el nombre deINBOX y las subcarpetas con nombres arbitrarios (al contrario que en INBOX

443SuSE Linux – Manual de Administración

Page 462: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

e INBOX.name). Esto provoca que en estos servidores IMAP no sea posibledefinir un patrón exclusivamente para las subcarpetas.

Después de la transmisión exitosa de mensajes a un servidor IMAP, los contro-ladores para buzones (c-client) utilizados por mailsync colocan una bandera deestado especial. Esta bandera no permite a algunos programas de correo comomutt detectar el mensaje como nuevo. Para evitar la colocación de estas ban-deras de estado en mailsync, puede utilizar la opción -n .

Información adicional

Puede encontrar más información en el READMEincluido en el paquete mailsyncen /usr/share/doc/packages/mailsync/ .

El RFC 2076 "Common Internet Message Headers" también contiene informa-ción de gran interés.

444 Introducción a mailsync

Page 463: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

Redes heterogéneas

Linux no sólo se puede comunicar con otros ordenadores Linux, sino tambiéncon máquinas Windows y Macintosh, así como con redes Novell. Este capítulole muestra cómo puede configurar las correspondientes redes heterogéneas yqué debe tener en cuenta.

Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446Netatalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455Emulación de Novell Netware con MARSNWE . . . . . . . 462

Page 464: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Samba

Con la ayuda del programa Samba, del australiano Andrew Tridgell, un orde-nador Unix puede convertirse en un servidor de ficheros y de impresión paramáquinas DOS, Windows u OS/2. Desde el comienzo de su desarrollo en 1991,Samba se ha convertido en un producto muy estable ocupando un sitio fijo en elmundo empresarial, donde se usa como complemento o incluso como reempla-zo de los servidores Novell NetWare o Windows NT.

Samba es ya un producto muy completo y, por eso, aquí nos centramos ex-clusivamente en su funcionalidad. Sin embargo el software viene con unacompleta documentación digital, compuesta por un lado de páginas de ma-nual – escriba apropos samba en la línea de comandos – y por otro de do-cumentos y ejemplos que se instalaron en su sistema junto con Samba – en/usr/share/doc/packages/samba . Allí, en el subdirectorio examplestambién encontrará un ejemplo de configuración comentado /smb.conf.SuSE .

Samba usa el protocolo SMB (Server Message Block) que se basa en los serviciosde NetBIOS. Por la insistencia de la empresa IBM, Microsoft publicó el protocolopara que otras empresas pudieran desarrollar software para conectar a una redcon dominios de Microsoft. Como Samba usa el protocolo SMB sobre TCP/IP,en todos los clientes se debe instalar el protocolo TCP/IP. Le recomendamosutilizar TCP/IP de forma exclusiva.

NetBIOS

NetBIOS es una interfaz para programas de aplicación (ingl. Application Pro-gram Interface, API), que se diseñó para la comunicación entre ordenadores. En-tre otros, ofrece un servicio de nombres (ingl. name service) mediante el cual losordenadores se identifican entre sí. No existe ningún control centralizado paraotorgar o controlar los nombres. Cada ordenador puede reservar en la red tantosnombres como quiera, mientras no se haya adelantado otra.

Se puede implementar la interfaz NetBIOS sobre diferentes arquitecturas de red.Hay una implementación que se encuentra relativamente ”cerca” al hardwarede red llamada NetBEUI. NetBEUI es lo que se denomina frecuentemente comoNetBIOS.

Protocolos de red que se han implementado son NetBIOS son IPX (NetBIOS víaTCP/IP) de Novell y TCP/IP.

Los nombres de NetBIOS no tienen nada en común con aquellos asignados enel fichero /etc/hosts o por DNS – NetBIOS es un área de nombres comple-tamente propio. Esto es válido también para los nombres que se asignan en laimplementación de NetBIOS mediante TCP/IP. Sin embargo, para simplificar

446 Samba

Page 465: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

la administración se recomienda usar, como mínimo para los servidores, nom-bres de NetBIOS equivalentes a los del DNS. Para un servidor Samba ésta es laopción por defecto.

Los clientes

Todos los sistemas operativos ordinarios como Mac OS X, Windows y OS/2 so-portan el protocolo SMB. Los ordenadores deben tener TCP/IP instalado. Sam-ba proporciona también un cliente para las diversas versiones UNIX. En el casode Linux, existe para SMB un módulo del kernel para el sistema de ficheros quepermite integrar recursos SMB a nivel del sistema en Linux.

Los servidores SMB ofrecen a los clientes espacio en disco en forma de ”Shares”.Un Share es un directorio en el servidor con todos los sub-directorios. Este seexporta con su nombre y los clientes pueden acceder a él bajo este nombre. Elnombre del Share es completamente libre, no hace falta que coincida con elnombre del directorio exportado. De la misma manera se asigna un nombre auna impresora exportada, para que los clientes puedan acceder a ella.

Instalación y configuración del servidor

Si quiere utilizar Samba como servidor, instale el paquete paquetesamba. Los servicios necesarios para Samba se inician manualmentecon el comando rcnmb start && rcsmb start y se paran conrcsmb stop && rcnmb stop .

El fichero de configuración central de Samba es /etc/samba/smb.conf , Éstepuede dividirse en dos secciones lógicas: la sección [global] y la [share] . Laprimera sección sirve para las configuraciones globales y la segunda determinalas autorizaciones de acceso a ficheros e impresoras. Este procedimiento per-mite que algunos detalles de las autorizaciones de acceso sean distintos o bienfijarlos para todo el sistema en la sección [globals] , lo que se recomienda pormotivos de claridad.

A continuación se explicarán algunos parámetros con más detalle,

Sección global en base a una configuración de muestra

Los siguientes parámetros de la sección global residen en su red para que suservidor Samba en una red Windows puede ser accesible desde otros sistemasvía SMB.

workgroup = TUX-NET Con esta línea, el servidor Samba asignará un grupode trabajo. Para el funcionamiento, acomode TUX-NETal grupo de tra-bajo que tenga a su disposición o configure su cliente con el valor que se

447SuSE Linux – Manual de Administración

Page 466: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

encuentra aquí. En esta configuración su servidor Samba aparece con sunombre DNS en el grupo de trabajo elegido, siempre que no se haya cedi-do el nombre.

Si ya se ha adjudicado el nombre, puede establecer algo diferente delnombre DNS mediante netbiosname=MINOMBRE . Los detalles de esteparámetro están disponible vía man smb.conf .

os level = 2 En función de este parámetro el servidor Samba decide si quiereconvertirse en un LMB (ingl. Local Master Browser) para su grupo de tra-bajo. Se ha escogido un valor bajo en el ejemplo a propósito para que lared de Windows disponible no se vea perturbada por un servidor Sambamal configurado. Puede encontrar más detalles sobre este tema tan im-portante en los ficheros BROWSING.txt y BROWSING-Config.txt quese encuentran en el subdirectorio textdocs de la documentación del pa-quete.

Si no hay en funcionamiento un servidor SMB — p. ej.Windows NT,2000 Server — y el servidor Samba debe ordenar los nombres de los sis-temas disponibles en la red local, aumente os level a un valor más alto(p. ej.65), para conseguir convertirse en LMB.

Tenga mucho cuidado al modificar este valor, ya que puede perturbar elfuncionamiento de una red Windows ya disponible. Hable con el admi-nistrador, pruebe los cambios primero en una red aislada o en momentoscríticos.

wins support y wins server Si quiere integrar el servidor Samba en una redWindows ya disponible en la que existe un servidor WINS, debe activar elparámetro wins server eliminando el punto y coma, y acomodando ladirección IP a sus características.

Sus sistemas Windows funcionarán en subredes separadas si observaque no existe un servidor WINS en la red Windows y su servidor Sambadebe convertirse en el servidor WINS. Para ello active la línea con winssupport = yes . Compruebe que este parámetro se activa exclusiva-mente para un servidor Samba. Además no se debe activar wins serveren este entorno.

Autorizaciones de acceso

En los siguientes ejemplos se libera por una parte la unidad de CD-ROM y porotra los directorios del usuario homes para el cliente SMB.

[cdrom]

448 Samba

Page 467: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

;[cdrom]; comment = Linux CD-ROM; path = /media/cdrom; locking = No

Fichero 50: Acceso al CD-ROM

Para impedir el acceso libre a un CD-ROM por error, se han desactivadoen este ejemplo todas las líneas correspondientes a esta autorización deacceso por medio de un signo de comentario. Si desea autorizar el accesoa la unidad de CD-ROM por Samba, borre los signos de punto y coma enla primera columna.

[cdrom] y [comment] La sección [cdrom] es el nombre de laautorización de acceso visible al cliente SMB. Con [comment] sepuede dar una descripción de la autorización al cliente.

path = /media/cdrom Con path se exporta el directorio/media/cdrom .

Debido a una configuración hecha restrictiva a propósito, este tipo de au-torizaciones de acceso sólo están disponibles para el usuario que se en-cuentre en el sistema. Si debe estar disponible para todo el mundo, añadaotra línea guest ok = yes . Debido a las posibilidades de lectura queofrece, se debe tener mucho cuidado con esta configuración y utilizarlasolamente en autorizaciones escogidas. Se ha de tener un cuidado especialen la sección [global] .

[homes]La autorización [home] tiene un significado especial: Si el usuario encuestión dispone de una cuenta válida en el servidor de ficheros y de undirectorio personal en el mismo, es posible conectarse a este directoriomediante nombre y contraseña.

[homes]comment = Home Directoriesvalid users = %Sbrowseable = Noread only = Nocreate mask = 0640directory mask = 0750

Fichero 51: homes de autorizaciones

449SuSE Linux – Manual de Administración

Page 468: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

[homes] Mientras no exista una autorización de acceso expresa conel nombre de autorización del usuario asociado, se creará una auto-rización de forma dinámica debido a la autorización [homes] . Elnombre de esta autorización será idéntica al nombre de usuario.

valid users = %S %S será reemplazada por el nombre concretode la autorización tras haber realizado la conexión adecuadamente.Puesto que la autorización [homes] siempre es idéntica al nombrede usuario, los usuarios autorizados están restringidos como dueñosdel directorio de uso. Esta es una posibilidad para permitir el accesoal dueño solamente.

browseable = No Con esta configuración no aparecerá la autori-zación [homes] en la lista de autorizaciones.

read only = No En la configuración predeterminada, Samba de-niega el permiso de escritura a autorizaciones exportables, readonly = Yes . Si un directorio debe tener también permiso de es-critura, dé el valor read only = No , que equivale a writeable =Yes .

create mask = 0640 Los sistemas no basados en MS WindowsNT no conocen el concepto de permisos de acceso de Unix. Por lotanto, al crear los ficheros, no pueden establecer los permisos de ac-ceso correspondientes.El parámetro create mask establece los permisos de acceso quecorresponden a los ficheros. Esto sólo es válido para autorizacionesen las que se pueda escribir. En concreto, al dueño se le permitiráleer y escribir, y a los componentes del grupo primario del usuariosólo la lectura. Tenga en cuenta que valid users = %S impide lalectura aún cuando el grupo esté autorizado. Para otorgar al grupoderechos de lectura y escritura, la línea valid users = %S ha deser desactivada.

Niveles de seguridad

El protocolo SMB viene del mundo DOS y Windows y contempla los problemasde seguridad directamente. Todos los accesos a un share se protegen con unacontraseña. SMB ofrece tres posibilidades para comprobar la autorización:

Share Level Security: En este caso cada share tiene una contraseña fija.Cada persona que conoce la contraseña tiene acceso al share.

User Level Security: Esta variante introduce el concepto de usuario SMB.Cada usuario tiene que darse de alta en el servidor con una contraseña

450 Samba

Page 469: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

propia. Después de la autentificación, el servidor puede otorgar dere-chos de acceso a los distintos shares exportados en función del nombrede usuario.

Server Level Security: Samba aparenta frente a los clientes trabajar en el”User Level Mode”, pero en realidad pasa todas las peticiones de entradaa otro ordenador que se encarga de la autentificación. Esta configuraciónrequiere de un parámetro adicional (password server = ).

La decisión sobre el tipo de autentificación es algo que afecta a todo el servi-dor. No es posible exportar algunos shares de la configuración de un servidoren modalidad ”Share Level Security” y otros en ”User Level Security”. No ob-stante, en un sistema puede operar un servidor Samba propio para cada direc-ción IP configurada.

El fichero textdocs/security_level.txt contiene más información alrespecto. En el caso de un sistema con varios servidores, tenga en cuenta losparámetros interfaces y bind interfaces only .

TrucoExiste un programa denominado swat que permite administrar fácil-mente el servidor samba, ya que ofrece una interfaz de web sencillapara configurarlo cómodamente. Dentro de un navegador introduzcahttp://localhost:901 y entre al sistema como root. Hay que con-siderar que swat se activa también en los fichero /etc/inetd.conf y/etc/services . Hay más información acerca de este programa en lapágina del manual de swat (man swat ).

Truco

Samba como servidor de dominio

En redes con gran cantidad de clientes Windows, se prefiere que los usuariossólo puedan acceder a los recursos con su nombre de usuario y una contraseña.Un servidor Samba puede realizar esta autentificación. En una red basada enWindows, un servidor de Windows-NT se encarga de esta tarea cuando estáconfigurado como Primary Domain Controller (PDC). Para realizarlo con Sam-ba es necesario introducir en la sección [globals] de smb.conf las entradascorrespondientes como en el ejemplo 52 en la página siguiente.

451SuSE Linux – Manual de Administración

Page 470: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

[global]workgroup = TUX-NETdomain logons = Yesdomain master = Yes

Fichero 52: Sección global en smb.conf

Para usar contraseñas encriptadas para la autentificación, como sucede de man-era estándar en versiones mantenidas de MS Windows 9x, MS Windows NT 4.0a partir del service pack 3 y todos los productos posteriores, hay que configurarel servidor Samba de tal forma que sepa manejarlas. Esto se realiza mediantela entrada encrypt passwords = yes dentro de la sección [globals] .Además, las cuentas de los usuarios y las contraseñas se deben encriptar enuna forma que Windows entienda; se puede realizar mediante el comandosmbpasswd -a name . Según el concepto de dominio de Windows NT, los pro-pios ordenadores necesitan una cuenta de dominio que se genera mediante lossiguientes comandos:

useradd nombre_ordenador\$smbpasswd -a -m nombre_ordenador

Fichero 53: Creación de una cuenta de ordenador

En el caso del comando useradd se ha añadido el símbolo del dólar mientrasque el comando smbpasswd añade este carácter automáticamente al usar elparámetro -m.

En el ejemplo de configuración comentado se encuentran configuraciones queautomatizan este trabajo.

add user script = /usr/sbin/useradd -g machines \-c "NT Machine Account" -d \/dev/null -s /bin/false %m\$

Fichero 54: Creación automática de una cuenta de ordenador

En el caso de la autentificación aquí elegida, todos los datos de usuario seguardan en /etc/samba/smbpasswd . Si quiere almacenar estos datos en unservidor LDAP, debe cambiar la variable wertSAMBA_SAM a ldap en YaST |Sistema | Editor para /etc/sysconfig | Servicios de red | Samba y a continua-ción activar el módulo samba de SuSEconfig.

452 Samba

Page 471: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

Instalación de los clientes

Los clientes sólo pueden acceder al servidor Samba vía TCP/IP. Actualmente noes posible usar con Samba NetBEUI o NetBIOS sobre IPX.

Windows 95/98

Windows 95/98 trae el soporte de TCP/IP incorporado, pero al igual que Win-dows 3.11 no se instala con la configuración por defecto. Para la instalación deTCP/IP en un Windows ya instalado, se selecciona el icono de red en el panelde control y después ‘Agregar...’, ‘Protocolo’ TCP/IP de Microsoft. Después dereiniciar el ordenador Windows puede encontrar el servidor Samba en el en-torno de red haciendo doble clic con el ratón sobre el icono correspondiente enel escritorio.

TrucoPara usar una impresora conectada al servidor Samba, se recomienda ins-talar en el cliente el driver general para impresoras PostScript o el usadopara impresoras Postscript de Apple (se usan los drivers que vienen juntocon la versión de Windows). Después se conecta con la cola de impresiónde Linux que acepta PostScript como formato de entrada.

Truco

Optimización

socket options ofrece una posibilidad de optimización. La configura-ción predeterminada del ejemplo de configuración incluido está orientadaa una red Ethernet local. Más detalles en página del manual de smb.conf(man smb.conf ) en la sección socket options y en página del manual desocket(7) (man socket(7) ). Más información en textdocs/Speed.txt ytextdocs/Speed2.txt .

La configuración estándar en /etc/samba/smb.conf intenta proponervalores de amplio alcance orientándose a la configuración por defecto delequipo de Samba. Sin embargo, el ofrecer una configuración ya preparada re-sulta imposible desde el punto de vista de la configuración de red y de losnombres de grupos de trabajo. En el ejemplo de configuración comentadoexamples/smb.conf.SuSE se encuentran indicaciones que le serán de ayu-da para adaptarse a las circunstancias locales.

453SuSE Linux – Manual de Administración

Page 472: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

TrucoEl equipo Samba incluye en textdocs/DIAGNOSIS.txt una introduc-ción paso a paso para probar la configuración.

Truco

454 Samba

Page 473: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

Netatalk

Con el paquete netatalk se puede generar un servidor de ficheros y de impre-sión potente para dar servicios a clientes Apple.

Netatalk es un conjunto de programas Unix, que incorporan el DDP (ingl. Data-gram Delivery Protocol) en el kernel, e implementan la familia de protocolos deAppleTalk (ADSP, ATP, ASP, RTMP, NBP, ZIP, AEP y PAP).

En principio, AppleTalk es el equivalente del ampliado TCP (Transmission Con-trol Protocol). Muchos de los servicios TCP/IP, p. ej. la resolución de nombres yla sincronización horaria, equivalen a los de AppleTalk. Así, por ejemplo, en vezdel comando ping (ICMP ECHO_REQUEST, Internet Control Message Proto-col) utiliza aecho (AEP, AppleTalk Echo Protocol).

Normalmente, los tres daemons que vienen a continuación se inician en el servi-dor:

El atalkd (”Administrador de red de AppleTalk”), se corresponde por asídecirlo con ifconfig y routed;

El afpd (AppleTalk Filing Protocol Daemon), que pone una interfaz desistema de datos Unix para clientes de Macintosh.

El papd (Printer Access Protocol Daemon), que incorpora la impresora ala red (de AppleTalk).

En el servidor, puede exportar al mismo tiempo a través de Samba (para clientesde Windows, ver el capítulo anterior) y de NFS (ver 13 en la página 415) sinnecesidad de más directorios, lo cual es muy útil en entornos de red heterogé-neos. La protección de datos y la administración de los derechos de acceso sepueden realizar centralmente en el servidor de Linux.

Tenga en cuenta lo siguiente:

Debido a las restricciones de los clientes de Macintosh, las contraseñas delos usuarios en el servidor han de tener 8 dígitos como máximo.

Los clientes de Macintosh no tienen acceso a ficheros de Unix cuyo nom-bre tenga más de 31 dígitos.

Los nombres de archivo no deben incluir dos puntos (‘:’ ), porque estesigno funciona como separador en los nombres de ruta de MacOS.

Para realizar la instalación está el paquete netatalk .

455SuSE Linux – Manual de Administración

Page 474: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Configuración del servidor de ficheros

”Netatalk” es ya un servidor de ficheros completamente funcional para todoslos usuarios que estén dados de alta mediante la configuración estándar. Parausar otras características adicionales hay que realizar algunos ajustes en losficheros de configuración que se encuentran en el directorio /etc/atalk .

Todos los ficheros de configuración son ficheros de texto. Las líneas que comien-zan con el símbolo ‘#’ y las vacías se ignoran ya que se consideran comenta-rios.

Configurar la red – atalkd.conf

El fichero /etc/atalk/atalkd.conf define las interfaces a través de lascuales se ofrecen los servicios de AppleTalk. A menudo es eth0 , lo cual es su-ficiente cuando se introduce

eth0

como valor único (es el caso de este ejemplo). Aquí puede añadir más interfaces,p. ej. si utiliza más de una tarjeta de red simultáneamente. Cuando arranca elservidor, este busca en la red zonas y servidores que ya estén disponibles, tras locual modifica las líneas correspondientes que contienen las direcciones de la redde AppleTalk tal como están configuradas. Se encontrará una línea como

eth0 -phase 2 -net 0-65534 -addr 65280.57

al final del archivo. Si quiere realizar configuraciones más complejas, puede en-contrar varios ejemplos en el fichero de configuración. Además, para más docu-mentación sobre opciones adicionales, consulte la página del manual de afpd.

Definir el servidor de ficheros – afpd.conf

En el fichero afpd.conf se define el nombre del servidor tal como aparece paralos clientes Apple en el ‘Selección’. Como el resto de archivos de configuración,este también incluye comentarios detallados que le explicarán las diversas op-ciones.

Si no se modifica nada aquí, el servidor por defecto arrancará, lo cual semostrará en el ‘Selección’ con el nombre del host. Por lo tanto, no es necesarioque introduzca algo aquí. En este fichero además se puede definir otro servidorcon un nombre diferente p. ej. definir un servidor ”público” que permite a ”invi-tados” dejar ficheros en él.

456 Netatalk

Page 475: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

"Guest server" -uamlist uams_guest.so

O puede definir un servidor que no permite la entrada a invitados, sino sólo ausuarios que ya existan en el sistema Linux:

"Font server" -uamlist uams_clrtxt.so,uams_dhx.so

Este comportamiento quedará guardado a través de la opción uamlist seguidode una lista de módulos de autentificación empleados separados por una coma.Por defecto todos los comportamientos están activos.

Por regla general, un servidor AppleShare no sólo ofrece sus servicios a travésde AppleTalk, sino también ”encapsulado” a través de TCP/IP. El puerto pordefecto es 548. Si quiere disponer de más servidores AppleShare (en el mismoordenador), y también deben funcionar a través de TCP/IP, debe asignar lospuertos. La preparación del servicio vía TCP/IP hace posible el acceso al servi-dor a través de Internet por ejemplo.

La sintaxis sería p. ej.:

"Font server" -uamlist uams_clrtxt.so,uams_dhx.so -port 12000

Aquí el servidor AppleShare aparece en la red con el nombre ”Font Server”, nopermite ningún acceso a los invitados y el puerto es 12 000. Por lo tanto, tam-bién se puede acceder a través de un router TCP/IP.

En el archivo AppleVolumes.default quedan definidos los directorios delservidor AppleShare que pondrán a disposición la red ”Volumes”. Mediante laopción -defaultvol puede fijar otro directorio para un único servidor Apple-Share, directorio en el cual se realizarán procesos diferentes, p. ej. (en una línea):

"Guest server" -uamlist uams_guest.so -defaultvol/etc/atalk/AppleVolumes.guest

En el archivo afpd.conf se explican otras opciones.

Directorios y derechos de acceso – AppleVolumes.default

Aquí se establecen los directorios que deben ser exportados. Los derechos deacceso quedan establecidos mediante los derechos de usuario y grupo normalesen Unix.

Esto se configura en el archivo AppleVolumes.default .

457SuSE Linux – Manual de Administración

Page 476: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

AtenciónAquí ha cambiado parcialmente la sintaxis. Tenga esto en cuenta si haactualizado una versión antigua, p. ej. en vez de access= , ahora esallow: (un síntoma característico sería si en los clientes Mac con Ap-pleTalk se le muestran las opciones en vez de la descripción de unaunidad determinada.) Puesto que con la actualización han aparecidonuevos archivos con la extensión .rpmnew , puede que, en determinadascircunstancias y debido al cambio de sintaxis, no funcionen las configura-ciones de que disponía.

Le recomendamos que haga un backup de los archivos de configura-ción, con el fin de incorporar las configuraciones anteriores en los nuevosarchivos y renombrarlos. De este modo puede aprovecharse de los detal-lados comentarios que se incluyen ahora y que le explicarán las diversasopciones posibles en los archivos de configuración.

Atención

Es posible que existan ficheros adicionales junto a AppleVolumes.default ,p. ej.AppleVolumes.guest , utilizados por determinados servidores (en elarchivo afpd.conf se usa la opción -defaultvol – ver apartado anterior).

La sintaxis es bastante sencilla:

/usr/local/psfonts "PostScript Fonts"

significa que, en el directorio root, se encuentra el directorio Linux /usr/local/psfonts como AppleShare-Volume con el nombre ”PostScript Fonts”.

Las distintas opciones, separadas por espacios en blanco, se añaden a la línea.Una opción muy útil es la de restricción de accesos.

/usr/local/psfonts "PostScript Fonts" allow:Usuario1,@grupo0

limita el acceso al Volume ”PostScript Fonts” al usuario ”Usuario1” y a todoslos miembros del grupo ”grupo0”, los cuales ya deberán ser conocidos por elservidor. De forma análoga se puede excluir explícitamente a un usuario condeny:Usuario2 .

Tenga en cuenta que estas limitaciones tienen validez para el acceso vía Ap-pleTalk, pero no tienen nada que ver con los derechos de acceso de un usuarioal hacer un login en el servidor.

Netatalk coloca en el Ressource-Fork de archivos típico de Mac el directorio.AppleDouble . Con la opción noadouble puede determinar si el directorioha de fijarse cuando se le necesita realmente. La sintaxis es:

458 Netatalk

Page 477: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

/usr/local/guests "Guests" options:noadouble

Puede encontrar explicaciones más detalladas de las distintas opciones en elfichero en cuestión.

Por lo demás: En los archivos de configuración puede encontrar un pequeño einocente signo (‘~’ ). Este signo simboliza el directorio raíz de cada usuario enel servidor. Con él, todos los usuarios pueden preparar su directorio raíz au-tomáticamente, sin necesidad de incluirlos aquí de forma explícita. El archivo deejemplo que se encuentra instalado incluye este signo, puesto que Netatalk yaprepara por defecto el directorio raíz si Vd. no modifica nada en el archivo.

Además, el afpd busca en el directorio raíz de un usuario que se ha dado dealta los archivos Applevolumes o .Applevolumes . Las asignaciones de es-tos archivos se combinan con las de los archivos del servidor AppleVolumes.system y AppleVolumes.default , para posibilitar la asignación de más”type/creator” individuales y acceder al sistema de archivos. Estas asignacionesson combinaciones y no posibilitan ningún acceso que no se permita a través delservidor.

El archivo netatalk.pamd ofrece autentificación mediante PAM (PluggableAuthentication Modules), lo cual no tiene interés en el marco de este manual.

Asignación de archivos – AppleVolumes.system

El fichero AppleVolumes.System establece también la asignación de tipo(Type) y creador (Creator) a las terminaciones de los ficheros. Algunas asig-naciones estándar ya están predefinidas. Si un fichero aparece con un iconogenérico en blanco es porque aún no se ha realizado ninguna asignación. En ca-so de problemas al abrir un archivo de texto de otro sistema Mac, o lo contrario,puede controlar allí las entradas.

Configuración del servidor de impresión

Mediante el fichero papd.conf se puede ofrecer un servicio del tipo ”AppleLaserwriter”. Esta impresora ya debe funcionar localmente mediante lpd . Elprimer paso ha finalizado cuando se puede imprimir localmente usando el co-mando lpr fichero.txt .

No debe añadir nada al papd.conf , si se ha configurado una impresora localen Linux, puesto que los trabajos de impresión se envían directamente al dae-mon de impresión lpd . La impresora se presenta en la red AppleTalk como”Laserwriter”. Pero también puede dar de alta una impresora de la siguienteforma:

459SuSE Linux – Manual de Administración

Page 478: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Drucker_Empfang:pr=lp:pd=/etc/atalk/kyocera.ppd

Con esta configuración aparece en la selección una impresora denominadaImpresora_oficina3 . El fabricante de la misma suministra normalmente elfichero de descripción correspondiente. En caso de no disponer de él, se puedeusar en su lugar el fichero Laserwriter de la carpeta ‘Extensiones de sistema’pero con la desventaja de no poder disponer de todas las características de laimpresora.

Arrancar el servidor

El servidor arranca mediante el script de inicialización, ”Init-Script”, o man-ualmente con rcatalk start . El script de inicialización se encuentra en/etc/init.d/atalk . El script realiza el arranque en segundo plano; duramás o menos un minuto hasta que las interfaces de AppleTalk se configuran y seponen a disposición. Solicite un informe de la situación para comprobar si ya loha realizado (el OKdebe aparecer tres veces):

tierra:~ # rcatalk status

"Checking for service atalk:OKOKOK"

Ahora diríjase a un ordenador Mac que funcione con Mac OS. Compruebe queAppleTalk está activado, escoja ‘Filesharing’, haga doble clic en ‘Appleshare’y verá el nombre del servidor en la ventana que aparece. Haga doble clic en elnombre y regístrese. Escoja la unidad y – voilà – ahí se encuentra su unidad dered con Mac OS.

Para conectarse con servidores que sólo funcionan con TCP y no con DDP, dirí-jase al ‘Selección’, haga clic en ‘Dirección IP del servidor’ e introduzca la direc-ción IP correspondiente, y de ser necesario, seguida de dos puntos y el númerode puerto.

Información adicional

Para sacar el máximo provecho de todas las posibilidades que le ofrece el pa-quete netatalk , le recomendamos que hojee las correspondientes páginasman, que encontrará con el comando: rpm -qd netatalk Otra indicación:El archivo /etc/atalk/netatalk.conf no se utiliza en nuestra versión denetatalk, por lo tanto puede pasarlo por alto.

URLs con amplia información:

http://netatalk.sourceforge.net/

460 Netatalk

Page 479: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

http://www.umich.edu/~rsug/netatalk/

http://www.anders.com/projects/netatalk/

http://cgi.zettabyte.net/fom-serve/netatalk/cache/1.html

¿Puedo acceder a una unidad AppleShare con Linux? La verdadera respuestaes: Mejor no lo haga, porque el paquete correspondiente se encuentra en fasede desarrollo. Si quiere conocer las experiencias de valientes experimentadores:http://www.panix.com/~dfoster/afpfs/

461SuSE Linux – Manual de Administración

Page 480: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Emulación de Novell Netware conMARSNWE

Es relativamente fácil reemplazar un servidor de ficheros y de impresión deNovell-Netware 2.2 o 3.11 mediante el emulador de Netware MARSNWE. Éstetambién permite que funcione como router IPX. Por otra parte, no es capaz deemular las funcionalidades adicionales de versiones más recientes como p. ej.losservicios de directorio NDS (ingl. Netware Directoy Services). Las estaciones detrabajo a base de DOS o Windows que ya están configuradas para acceder a unservidor Netware 2.2/3.11/3.12 casi no necesitan modificaciones para trabajarcon el servidor Linux y la emulación MARSNWE. La administración del servi-dor se realiza directamente desde Linux, ya que los programas de Novell parala administración no funcionarían completamente y se tuviera que considerar lalicencia de los mismos.

Iniciar el emulador de netware MARSNWE

En SuSE Linux se puede iniciar y probar MARSNWE directamente después dela instalación ya que está correctamente preconfigurado. El soporte de IPX quenecesita el kernel se realiza mediante un módulo que se carga automáticamentepor el script de inicio. MARSNWE se encarga de configurar automáticamentela interfaz IPX, tomando como referencia los valores del número de red y delprotocolo a utilizar desde el fichero de configuración /etc/nwserv.conf . Elcomando para inicializar MARSNWE es rcnwe start . El mensaje done en laderecha de la pantalla indica el inicio correcto del programa.

rcnwe status es el comando para comprobar el estado de ejecución del emu-lador de Netware; para terminarlo se utiliza rcnwe stop .

El fichero de configuración /etc/nwserv.conf

Las opciones de configuración se agrupan en secciones (”Sections”) numeradas.Cada línea de configuración comienza con el número de la sección correspon-diente. Las secciones interesantes son aquellas con números de 1 hasta 22. Nor-malmente las siguientes secciones alcanzan para la configuración:

1 Volumen es de Netware

2 Nombre del servidor

4 Red/Dispositivos IPX

462 Emulación de Novell Netware con MARSNWE

Page 481: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

13 Nombres de usuarios

21 Colas de impresión

Hay que reiniciar MARSNWE con el comando rcnwe restart después decualquier cambio de la configuración.

Las opciones de configuración en detalle:

Volúmenes (Sección 1):

1 SYS /usr/local/nwe/SYS/ kt 711 600

Sección para definir los volúmenes a exportar. Cada línea comienza conel número de la sección (en este caso 1) seguido del nombre de volumen yde la trayectoria del directorio en el servidor. Se puede indicar varias op-ciones adicionales, representadas por letras tal como un ”UMASK” parala creación de directorios y de ficheros. En caso de no especificar ningún”UMASK” se utiliza el valor por defecto de la sección 9. El volumen paraSYS ya está configurado. En cuanto a las opciones se recomienda utilizark para evitar problemas con mayúsculas y minúsculas en los nombres deficheros. Activando la opción todos los nombres de ficheros se conviertena minúsculas.

Nombre del servidor (Sección 2):

2 MARS

Este parámetro es opcional; por defecto se utiliza el nombre del host.

Número de la red interna (Sección 3):

3 auto

Mediante el parámetro auto el número de red interno se genera a base dela dirección MAC de la tarjeta de red. Normalmente se ha de mantener elparámetro en auto .

Configuración IPX (Sección 4):

4 0x0 * AUTO 14 0x22 eth0 ethernet_ii 1

463SuSE Linux – Manual de Administración

Page 482: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

En este sección se puede indicar el número de red de netware, la interfazde red y el protocolo que se debe utilizar. En el primer ejemplo la confi-guración es totalmente automática mientras que en el segundo caso seasigna el número de red 0x22 a la tarjeta de red eth0 con el protocoloEthernet-II . Los paquetes IPX se rutean entre varias tarjetas que esténdadas de alta con diferentes números de red.

Modo de creación (Sección 9):

9 0751 0640

Definición de los permisos estándar para la creación de directorios yficheros.

UID y GID con derechos mínimos (Sección 10, 11):

10 6553411 65534

Número de identificación (ID) de grupo y de usuario para usuarios noregistrados; en este caso nogroup y nobody .

Login de supervisor (Section 12):

12 SUPERVISOR root

El supervisor se representa por el usuario root.

Logins de usuarios (Sección 13):

13 LINUX linux

En este apartado se realiza la asignación entre usuarios de Netware y losusuarios de Linux. Como opción se puede indicar una contraseña fija.

Proyección automática de usuarios (Sección 15):

15 0 top-secret

Para hacer de los ”logins” de Linux automáticamente logins de Netwarehay que reemplazar 0 por 1. En este caso la contraseña es ”top-secret”.

Colas de impresión (Sección 21):

464 Emulación de Novell Netware con MARSNWE

Page 483: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

15Re

de

sh

ete

rog

én

ea

s

21 LP - lpr -

El primer parámetro (LP) es el nombre de la impresora Netware, comosegundo parámetro se puede indicar el directorio temporal de impresión(spooling) y el tercero es el comando de impresión.

Servidor de impresión (Sección 22):

22 PS_NWE LP_PS 1

En esta línea se pueden configurar las impresoras a las que se accedenmediante pserver del paquete ncpfs .

Administración de servidores Netware

El paquete ncpfs es una recopilación de utilidades para la administración deservidores Netware 2.2/3.11 desde Linux. Estas sirven también para montarvolúmenes de Netware o administrar impresoras. Hay que activar IPX y la emu-lación ”Bindery” para acceder a servidores Netware a partir de la versión 4.

Existen las siguientes utilidades, cuyas funcionalidades se detallan en las pági-nas de manual de las mismas:

nwmsg ncopy ncpmount ncpumountnprint nsend nwauth nwbocreatenwbols nwboprops nwborm nwbpaddnwbpcreate nwbprm nwbpset nwbpvaluesnwdir nwdpvalues nwfsctrl nwfsinfonwfstime nwgrant nwpasswd nwpurgenwrevoke nwrights nwsfind nwtrusteenwtrustee2 nwuserlist nwvolinfo pqlistpqrm pqstat pserver slist

Un comando muy importante es ncpmount que sirve para montar volúmenesde un servidor de Netware bajo Linux y su homólogo ncpumount paradesmontar el volumen nuevamente.

El paquete ncpfs contiene también herramientas para la configuración del pro-tocolo IPX y para ”routing” bajo IPX.

465SuSE Linux – Manual de Administración

Page 484: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ipx_cmdipx_configureipx_interfaceipx_internal_netipx_route

ipx_configure o ipx_interface son las utilidades para la configuración deIPX de la tarjeta de red. Al iniciar MARSNWE, éste se encarga automáticamentede la configuración.

Router de IPX mediante ipxrip

Una alternativa para convertir un ordenador con Linux en un enrutador de IPXes el paquete ipxrip . Normalmente no se necesita debido a que MARSNWE olas herramientas del paquete ncpfs ya son capaces de configurar un enrutadorde IPX.

466 Emulación de Novell Netware con MARSNWE

Page 485: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

etInternet

Se puede escribir mucho sobre el tema de Internet, pero en el contexto de estemanual nos limitaremos a dos temas principales: la configuración manual deuna conexión ADSL – en caso de que surjan problemas en la configuración conYaST2– y la configuración del proxy squid.

smpppd como asistente para la conexión telefónica . . . . . 468Configuración de una conexión ADSL . . . . . . . . . . . . 470Servidor proxy: Squid . . . . . . . . . . . . . . . . . . . . . 472

Page 486: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

smpppd como asistente para la conexióntelefónica

Componentes del programa para la conexión a Internet víatelefónica

La mayoría de los usuarios particulares no tiene una conexión fija a Internet,sino que se conecta vía telefónica cada vez que lo necesita. Dependiendo deltipo de conexión (RDSI o ADSL), los programas ipppd o pppd se encargan decontrolar esta conexión. En principio basta con iniciar estos programas correcta-mente para poder estar en línea.

Si se dispone de tarifa plana y la conexión no supone costes adicionales, es su-ficiente con iniciar el daemon de la manera adecuada. No obstante, a veces esdeseable poder controlar mejor la conexión telefónica, ya sea mediante un ap-plet de KDE o una interfaz de línea de comandos. Además, la pasarela a Internetno es siempre el propio ordenador de trabajo, por lo que resulta convenienteregular la conexión telefónica en un ordenador accesible en red.

Aquí es donde interviene el programa smpppd. Éste facilita a los programasde ayuda una interfaz uniforme que funciona en dos direcciones. Por un ladoprograma la herramienta necesaria pppd o ipppd y regula su funcionamientodurante el marcado. Por el otro, proporciona a los programas de usuario diver-sos proveedores y transmite información sobre el estado actual de la conexión.Debido a que smpppd también puede controlarse en red, resulta muy adecua-do para dirigir la conexión a Internet desde una estación de trabajo en la subredprivada.

La configuración de smpppd

YaST asume automáticamente la configuración de las conexiones propor-cionadas por smpppd. Los programas de marcado kinternet y cinternet estántambién preconfigurados. Sólo tendrá que configurar manualmente funcionesadicionales de smpppd, como por ejemplo el manejo de forma remota.

El fichero de configuración de smpppd se encuentra en /etc/smpppd.conf .Está configurado de tal forma que no permite el manejo remoto por defecto. Lasopciones más interesantes de este fichero de configuración son:

open-inet-socket = <yes|no> Si se desea controlar smpppd a través de lared, esta opción ha de tener el valor yes . El puerto en el que smpppd "es-cucha" es 3185 . Si asigna el valor yes a este parámetro, los parámetros

468 smpppd como asistente para la conexión telefónica

Page 487: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

bind-address , host-range y password han de configurarse en con-secuencia.

bind-address = <ip> Si un ordenador dispone de varias direcciones IP, estaopción permite definir sobre qué dirección IP acepta conexiones smpppd.

host-range = <min ip> <max ip> El parámetro host-range puede uti-lizarse para definir una sección de red. El acceso a smpppd se permitirásólo a los ordenadores cuyas direcciones IP estén dentro de esta sección; elresto de ordenadores será rechazado.

password = <password> Mediante la asignación de una contraseña es posiblerestringir los clientes sólo a ordenadores autorizados. Debido a que la con-traseña está en texto plano, no hay que sobrevalorar su valor como me-dida de seguridad. Si no se define ninguna contraseña, todos los clientespueden acceder a smpppd.

Puede encontrar más información sobre smpppd en página del manu-al de smpppd (man 8 smpppd) y página del manual de smpppd.conf(man 5 smpppd.conf ).

Preparación de kinternet y cinternet para el uso remoto

Los programas kinternet y cinternet no sólo pueden utilizarse localmente, sinotambién controlar un smpppd remoto. cinternet es el equivalente en la líneade comandos al programa gráfico kinternet. Para preparar ambas herramien-tas para su uso con un smpppd remoto, debe editar el fichero de configuración/etc/smpppd-c.conf de forma manual o con kinternet. Este fichero sólo re-conoce tres opciones:

server = <server> Aquí se puede especificar el servidor sobre el que funcionasmpppd. Si el servidor es además la pasarela predeterminada del orde-nador, basta con asignar el valor yes a gateway-fallback .

gateway-fallback = <yes|no> Si no se ha indicado ningún servidor o no fun-ciona ninguno localmente, se puede intentar acceder a smpppd a travésde la pasarela predeterminada. Esta opción está activada por defecto.

password = <password> Introduzca aquí la contraseña elegida también parasmpppd.

Si smpppd se está ejecutando, puede intentar acceder a smpppd me-diante el comando cinternet --verbose --interface-list .

469SuSE Linux – Manual de Administración

Page 488: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si se presentan dificultades, puede consultar página del manual desmpppd-c.conf (man 5 smpppd-c.conf ) y página del manual decinternet (man 8 cinternet ).

Configuración de una conexión ADSL

AtenciónEl procedimiento expuesto en este capítulo se basa en la implementaciónde la tecnología xDSL en Alemania. Según el país y la compañía es posi-ble que se utilicen tecnologías diferentes, con lo cual, la configuraciónlocal en su país podría ser diferente.

Atención

Configuración estándar

Actualmente SuSE Linux soporta aquellos accesos xDSL que trabajan con el pro-tocolo Point-to-Point-over-Ethernet (PPPoE). Es el protocolo que emplean todoslos proveedores grandes. Si no está seguro de qué protocolo usa su proveedor,éste seguramente le puede facilitar dicha información.

1. Los paquetes ppp y smpppd deben estar instalados; use YaST2 para insta-larlos.

2. Configure su tarjeta red con YaST2. No seleccione dhcp , sino especifiqueuna dirección IP estática, p. ej.: 192.168.2.22 .

3. Los parámetros que se modifican con el módulo DSL de YaST2 se guardanen en el fichero /etc/sysconfig/network/providers/provider0 .Adicionalmente existen ficheros de configuración para smpppd, elDaemon-Meta-PPP de SuSE y sus frontales kinternet y cinternet.Tengaen cuenta la página de manual refman smpppd .

4. Si es necesario active la red con el comando rcnetwork start y a conti-nuación el daemon smpppd con rcsmpppd start .

5. Con los comandos cinternet -start y cinternet -stop puedeestablecer o interrumpir una conexión en un sistema sin entorno gráfi-co. Si trabaja en un entorno gráfico, puede utilizar para ello el programakinternet, el cual arranca automáticamente en KDE si ha configurado DSL

470 Configuración de una conexión ADSL

Page 489: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

con YaST2. Pulse sobre el icono de la rueda dentada en la barra de botonespara establecer una conexión. Seleccione ‘Comunicación/Internet’→ ‘In-ternet Tools’→ ‘kinternet’. Ahora aparece el símbolo de un enchufe en labarra de botones. Pulsando sobre él, la conexión se establece y un segundoclic cierra la conexión.

Conexión ADSL vía ”Dial-on-Demand”

Dial-on-Demand o conexión bajo demanda, significa que la conexión se es-tablece justo en el momento en que un usuario accede a Internet, p. ej.cuandoselecciona una página web en el navegador o manda un E-Mail. Después de untiempo determinado sin tráfico de red, la conexión se corta. Debido a que el es-tablecimiento de la conexión por parte del protocolo PPPoE de ADSL es muyrápido, se tiene la impresión de que la conexión fuera continua.

Esta forma de conexión sólo se recomienda si tiene tarifa plana. De no ser así, esdecir, si el proveedor le cobra por el tiempo de conexión, es importante vigilarque no exista ningún proceso que provoque una conexión periódica (p. ej. uncronjob) ya que los gastos podrían aumentar de forma considerable.

Hay algunas objeciones contra una conexión continua a Internet, incluso cuandola modalidad de acceso es la tarifa plana:

La mayoría de los proveedores cortan la conexión después de un ciertotiempo.

Una conexión continua es un cierto despilfarro de recursos (p. ej. de lasdirecciones IP).

La conexión continua es sobre todo un gran riesgo de seguridad, ya queel atacador tiene tiempo para averiguar sistemáticamente posibles pun-tos débiles del sistema. Es mucho más difícil atacar un sistema que soloconecta a Internet bajo demanda y que obtiene cada vez una dirección IPdiferente.

Es posible activar la conexión bajo demanda (dial on demand) con YaST2(ver el manual del usuario) o configurándolo manualmente. En el fichero/etc/sysconfig/network/providers/provider0 fije el parámetro DE-MAND= a ”yes” y defina el período de inactividad (ingl. idle time) con la varia-ble: IDLETIME="60" .

De esta forma una conexión en la que no existe ninguna actividad se corta des-pués de 60 segundos.

Para la configuración de gateways DSL para redes privadas, le recomendamosel siguiente artículo de nuestra base de datos de soporte: http://sdb.suse.de/es/sdb/html/masq80.html

471SuSE Linux – Manual de Administración

Page 490: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Servidor proxy: Squid

El caché proxy por excelencia para plataformas Linux/UNIX es squid, del queveremos cómo realizar su configuración, qué especificaciones requerirá el sis-tema donde lo vayamos a instalar, cómo llevar a cabo la configuración de unservidor proxy transparente, y finalmente cómo obtener estadísticas sobre eluso del caché con la ayuda de programas como Calamaris y cachemgr o cómoutilizar la aplicación squidGuard para realizar filtrado de páginas web.

¿Qué es un caché proxy?

Squid se comporta como un caché proxy: esto es, actúa como un agente querecibe peticiones de clientes (en este caso navegadores web) y pasa estas peti-ciones al proveedor de servicios apropiado. Cuando los datos llegan de nuevo alagente, éste almacena una copia de los datos en un caché de disco.

Las ventajas de este sistema aparecen cuando varios clientes intentan acceder alos mismos datos: ya no hará falta ir a buscarlos otra vez en Internet, sino que seservirán directamente desde el caché de disco, beneficiándose los usuarios de unahorro importante en el ancho de banda y en el tiempo de descarga.

Truco

Squid ofrece ventajas como la posibilidad de intercomunicar jerarquíasde servidores proxys para repartir la carga entre ellos, establecer estrictasreglas de control de acceso para los clientes de las redes que quieran ac-ceder al proxy, y con la ayuda de otras aplicaciones es posible controlarel acceso a determinadas páginas web u obtener estadísticas sobre cuálesson las webs más visitadas, con qué frecuencia los usuarios se conectan,etc.

Truco

472 Servidor proxy: Squid

Page 491: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

Squid no es un proxy genérico. Actúa como proxy entre conexiones vía HTTP;igualmente soporta los protocolos FTP, Gopher, SSL y WAIS, pero no soportaotros protocolos de Internet como por ejemplo Real Audio, News o videoconfe-rencia. Squid sólo soporta el protocolo UDP para realizar comunicaciones entrediferentes cachés, con lo que muchos programas multimedia quedarán igual-mente excluidos.

Información general sobre cachés proxy

Squid y seguridad

También es posible emplear Squid junto con un cortafuegos para proteger unared interna del exterior mediante un caché proxy. Exceptuando a Squid, el corta-fuego impide a todos los clientes establecer conexiones a servicios externos,forzando a que sea el proxy quien establezca todas las comunicaciones con laWorld Wide Web.

Si la configuración del cortafuegos incluye un DMZ, es allí donde aplicaremos elservidor proxy. En ese caso, es importante que todos los ordenadores de la DMZenvíen sus ficheros de archivo (o logfiles) a ordenadores dentro de la red segura.

Una forma de implementar un proxy ”transparente” se tratará en el aparta-do Configuración de un proxy transparente en la página 484.

Cachés multinivel

Es posible configurar varios proxys para que cooperen intercambiando objetosentre ellos. De esta forma se reduce la carga total del sistema y se aumenta laprobabilidad de que el objeto se encuentre ya en la red local. Es posible configu-rar incluso jerarquías de cachés, de forma que se puede pedir páginas a cachésdel mismo nivel o enviar peticiones a otros proxys de jerarquía más alta paraque pidan las páginas a otros cachés existentes en la red, o bien para obtener losdocumentos directamente desde la fuente.

Elegir una buena topología para los cachés es muy importante para no acabarcreando más tráfico del que ya había en la red antes de instalar los cachés. Porejemplo, para una red local muy extensa puede configurarse un servidor proxypara cada subred, y conectar éstos a un proxy ”padre”, que esté a su vez conec-tado, por ejemplo, al caché proxy del ISP.

Todo esta comunicación se lleva a cabo mediante el protocolo ICP (InternetCache Protocol), basado en UDP. Las transferencias de datos entre la mayoríade cachés se realizan mediante HTTP, protocolo basado en TCP.

Para encontrar el servidor más apropiado desde el que obtener un objeto, uncaché envía una petición ICP a sus proxys vecinos. Éstos le enviarán respuestas

473SuSE Linux – Manual de Administración

Page 492: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ICP con código HIT, si el objeto se encuentra efectivamente allí, o bien MISS encaso contrario. En caso que haya varios HIT, el proxy se decidirá por un servi-dor en especial en función de factores como la velocidad de respuesta o la prox-imidad, entre otros. Si las respuestas de los proxys vecinos no son satisfactorias,la petición se realizará al caché principal.

TrucoPara evitar duplicaciones de los objetos en varios cachés en la red, se uti-liza otros protocolos ICP como CARP (Cache Array Routing Protocol) oHTCP (Hyper-Text Cache Protocol). Cuantos más objetos tengamos en lared, mayor será la posibilidad que esté el que buscamos.

Truco

Objetos cacheados en Internet

No todos los objetos disponibles en la red son estáticos. Existen páginas genera-das dinámicamente por CGIs, contadores de visitantes o bien documentos queincluyen SSL para encriptar el contenido y hacerlos más seguros. Por esos mo-tivos se considera este tipo de objetos como no cacheable, ya que cada vez quese accede a estos ya han cambiado.

Pero para todos los demás objetos que se guardan en el caché existe el problemade cuánto tiempo deben quedarse allí. Para determinarlo se asigna a todos losobjetos del caché 3 estados diferentes:

Los servidores web y los cachés proxy controlan el estado de un objeto añadien-do cabeceras como Last modified (última modificación) o Expires (expira)y la fecha correspondiente. También se utilizan otras cabeceras para especificarlos objetos que no deben cachearse.

Normalmente, los objetos desaparecerán antes del caché por la falta de espacioen el disco. Se utiliza algoritmos para sustituir objetos en el caché, como el LRU(Last Recently Used) que consiste en sustituir los objetos menos utilizados pornuevos.

Requerimientos del sistema

Lo más importante es cuantificar la carga que va a tener que soportar nuestrosistema. Para esto es importante fijarse más en los picos de carga del sistemaque en la media total, ya que los picos pueden llegar a ser varias veces la mediadel día. En caso de duda siempre es mucho mejor sobreestimar los requerimien-tos del sistema, ya que si Squid trabaja al límite de su capacidad se puede llegara degradar de forma sustancial las condiciones de servicio.

474 Servidor proxy: Squid

Page 493: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

Discos duros

Cuando se trata de cachés, la velocidad es un parámetro importantísimo. En losdiscos duros este parámetro se mide mediante su ”tiempo medio de acceso” (eninglés random-seek time) en milisegundos, que debe ser lo más bajo posible.

Tamaño del caché de disco

Depende de varios factores. En un caché pequeño la probabilidad de un HIT (elobjeto ya se encuentre en e caché) será pequeña, ya que el caché se llenará confacilidad y se deberá sustituir los objetos antiguos por nuevos. Bien al contrario,en el caso de disponer de 1 GBde disco para cachear, y en caso que los usua-rios naveguen solamente 10 MBde datos al día, se tardará al menos 100 días enllenar el caché.

Quizás lo más fácil es pensar en el tráfico máximo que pasará por el caché. Sidisponemos de una conexión de 1 Mb/s , como mucho se transferirán 125KBpor segundo. Si todo este tráfico va a parar al caché, en una hora será 450MB, y suponiendo que este tráfico se genera durante las 8 horas de trabajo, ten-dremos en total 3.6 GB diarios. Como la línea no trabaja al máximo (si fueraasí ya habríamos puesto otra de más capacidad), los datos de todo un día sepodrían almacenar en, digamos, unos 2 GB. Así pues, para guardar todos losdatos navegados por la WWW en un día, necesitaremos 2 GBde espacio en dis-co para Squid.

A modo de conclusión, Squid tiende a leer y escribir pequeños bloques en eldisco duro, así que será mucho más importante la velocidad con que encuentreesos datos que no su capacidad de transferencia de datos.

Memoria RAM

La cantidad de memoria requerida por Squid está directamente relacionada conla cantidad de objetos que se encuentran en el caché. Squid también almacenareferencias a los objetos en el caché y objetos utilizados frecuentemente en lamemoria RAM para optimizar la obtención de los mismos. ¡La memoria RAMes hasta un millón de veces más rápida que el disco duro! (Compare el tiempomedio de acceso de un disco duro, sobre los 10 milisegundos, con los 10 nanose-gundos de tiempo de acceso de las nuevas memorias RAM).

Squid también guarda datos en la memoria para muchas otras cosas como unatabla con todas las direcciones IP utilizadas, un caché para los nombres de do-minio totalmente cualificados, objetos ”calientes” (los que más se solicitan),buffers, listas de control de acceso, etc.

Es muy importante tener memoria de sobras para el proceso de Squid, ya queen el caso de tener que pasar el proceso la zona de swap (o de intercambio) del

475SuSE Linux – Manual de Administración

Page 494: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

disco duro las prestaciones del sistema se reducirán dramáticamente. Para facil-itar la administración de la memoria utilizada por el caché, podemos utilizar laherramienta cachemgr.cgi, tal y como veremos en el apartado cachemgr.cgi enla página 487.

Potencia del procesador

Squid no es un programa que consuma mucho potencia de procesador. Sola-mente al arrancar y comprobar el contenido del caché es cuando se trabaja másintensamente con el procesador. Tampoco hay partes de la ejecución que se opti-micen notablemente utilizando máquinas con capacidad multiprocesador. Paraobtener un mayor rendimiento es preferible aumentar la cantidad de memoriaRAM o bien utilizar discos más rápidos, antes que cambiar el procesador porotro más potente.

Algunos ejemplos de sistemas configurados y que utilizan Squid se encuentrandisponibles en http://wwwcache.ja.net/servers/squids.html .

Arrancar Squid

Squid ya se encuentra preconfigurado en SuSE Linux así que casi se puedeiniciar directamente después de la instalación. Los prerrequisitos en este ca-so son: tener una red ya configurada, al menos un servidor de nombres, y, porsupuesto, acceso a Internet. Pueden aparecer problemas en caso de utilizar unaconexión de tipo dial-up que utilice configuración dinámica de DNS. En casoscomo este, al menos el servidor de nombres debe estar claramente especifica-do, ya que Squid solamente se iniciará si detecta un servidor DNS en el archivo/etc/resolv.conf .

Para iniciar Squid, introduzca desde la línea de comandos como usuario root :

rcsquid start

Durante la primera inicialización del programa se define la estructura de di-rectorios en var/squid/cache . Esta operación es llevada a cabo automáti-camente por el script de inicialización /etc/rc.d/squid y puede tardardesde pocos segundos a minutos. Cuando aparezca el mensaje done en colorverde a la derecha de la pantalla, significa que Squid ya se ha cargado correc-tamente. Se puede comprobar si Squid funciona correctamente en el sistemalocal dando los valores localhost y Port 3128 como proxy en cualquiernavegador web. Para permitir a todos los usuarios el acceso a Squid y porende a Internet, solamente es necesario cambiar una entrada en el fichero deconfiguración /etc/squid/squid.conf de http_acces deny all ahttp_acces allow all . Sin embargo, haciendo esto Squid se hace accesible

476 Servidor proxy: Squid

Page 495: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

para cualquiera. Por tanto, en cualquier caso deberá configurar listas de controlde acceso o ACL para controlar el acceso al proxy. Más sobre esto en el apartadoListas de control de acceso o acl en la página 481.

Cada vez que se produce un cambio en el fichero de configuración /etc/squid/squid.conf , hay que decirle a Squid que a partir de este momentodebe utilizar el nuevo fichero de configuración. Esto se puede hacer con el si-guiente comando:

rcsquid reload

O bien reiniciar completamente Squid:

rcsquid restart

Los siguientes comandos son igualmente importantes:

rcsquid status

Con este se determina si el proxy se encuentra funcionando y con

rcsquid stop

se puede parar Squid. Este último comando puede tardar unos momentos yaque Squid espera hasta medio minuto (opción shutdown_lifetime en /etc/squid/squid.conf ) antes de cortar las conexiones con los clientes y entoncestodavía tendrá que guardar los datos en el disco.

AvisoTerminar Squid

En caso que Squid sea terminado con un comando kill o bien killall ,esto puede llevar a la destrucción del caché, que en ese caso tendrá queser borrado completamente para poder reiniciar Squid

Aviso .

477SuSE Linux – Manual de Administración

Page 496: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Si Squid finaliza de forma inesperada tras un corto periodo de tiempo, aunquepareciera que se había iniciado correctamente, puede ser debido a una entra-da de DNS incorrecta o bien por no encontrar el archivo /etc/resolv.conf .Squid almacena la causa del error en el fichero /etc/rc.config .

Si Squid debe cargarse automáticamente cada vez que se inicie el sistema, sola-mente es necesario activarlo en el ”Runlevel-Editor” de YaST2.

Al desinstalar Squid no se borrará ni el caché ni en los ficheros de error. Se de-berá borrar manualmente el directorio /var/cache/squid .

Servidor DNS local

Configurar un servidor DNS localmente como BIND-8 o bien BIND-9 es igual-mente importante, incluso aunque el servidor proxy no controle su propio do-minio. En ese caso actuará solamente como ”caché-solamente DNS” y de estamanera será capaz de resolver peticiones DNS a través del servidor de nombresprincipal sin necesidad de realizar ninguna configuración especial. Si introduceen el archivo /etc/resolv.conf una entrada con dirección IP 127.0.0.1para localhost , Squid detectará un servidor de nombres válido al iniciarse.La configuración de un servidor DNS ya es un capítulo en si misma y no serádescrita con detalle en este capítulo. Será suficiente instalar el paquete e inicia-rlo. El servidor de nombres del proveedor deberá especificarse en el fichero deconfiguración /etc/named.conf bajo forwarders junto con su direcciónIP. En caso de disponer de un cortafuegos activado, incluso aunque se trate delcortafuegos personal, tendrá que asegurarse que deje pasar las peticiones DNS através suyo.

El fichero de configuración /etc/squid/squid.conf

La configuración de Squid se almacena en este archivo de configuración. Parapoder iniciar Squid por primera vez, no es necesario hacer cambios en estearchivo, aunque los clientes externos tendrán inicialmente el acceso denegado.El proxy necesita ejecutarse en localhost y, normalmente utilizará el puer-to 3128 . Las opciones son muy extensas y están documentadas con muchosejemplos en el archivo /etc/squid/squid.conf preinstalado. Casi todaslas líneas comienzan por el símbolo # (significa que la línea está comentada ysu contenido no se evaluará); las opciones relevantes se encuentran en el fin delínea. Los valores por defecto corresponden casi siempre a los valores que nece-sitaremos, así que para muchas opciones sólo será necesario quitar el símbolo decomentario al principio de la líneas. De cualquier modo es mejor dejar el ejem-plo comentado y reescribir la línea con los nuevos parámetros una línea más

478 Servidor proxy: Squid

Page 497: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

abajo. De esta manera se puede ver fácilmente cuales son los valores por defectoy cuales son los cambios introducidos.

Atención

Actualización de la versión 2.4 a la versión 2.5

Después de actualizar Squid de la versión 2.4 a la versión 2.5 es necesarioborrar el caché de Squid, ya que el esquema de la estructura de directo-rios ha cambiado.

Atención

Si está actualizando desde una versión anterior de Squid, se recomienda editarel nuevo /etc/squid/squid.conf y añadirle la configuración del archivoanterior. Si trata de implementar directamente el antiguo fichero de configura-ción /etc/squid.conf , es posible que no funcione correctamente debido amodificaciones en algunas opciones o a los nuevos cambios en la nueva versión.

Opciones generales de configuración (selección)

http_port 3128 Este es el puerto en el que Squid escuchará las peticiones delos clientes. El puerto por defecto es 3128 , aunque 8080 se usa tambiéncomúnmente. Es posible especificar varios puertos separándolos por espa-cios en blanco.

cache_peer <hostname> <tipo> <puerto-proxy> <puerto-icp> En esta opciónpodemos especificar otro servidor proxy como ”padre” (ingl. parent), porejemplo, si lo desea, o prefiere usar el de su proveedor o ISP. En la opción<hostname> , se especifica el nombre y la dirección IP del proxy al quenos vayamos a conectar, en la opción <tipo> , especificamos parent .Para <puerto-proxy> , se debe escribir el número de puerto, el que tam-bién se especifica para los navegadores, normalmente se utiliza el 8080 .Se puede fijar el <puerto-icp> a 7 o bien 0 si no se conoce el puerto ICPdel proxy padre y su uso carece de interés para el proveedor. Además deesto, default y no-query se deben especificar después de los númerosde puerto para no permitir el uso del protocolo ICP. Squid se comportaráen ese caso como un navegador normal en lo que respecta al proxy delproveedor.

cache_mem 8 MB Esta entrada define la cantidad máxima de memoria RAMque utilizará Squid para los cachés. El valor por defecto es 8 MB.

479SuSE Linux – Manual de Administración

Page 498: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

cache_dir ufs /var/cache/squid 100 16 256 La entrada correspondiente acache_dir fija el directorio donde se almacenarán los datos. Losnúmeros al final indican: el tamaño máximo en MBque se va a uti-lizar, seguido del número de directorios de primer y segundo nivel. Elparámetro ufs debe dejarse tal y como está. El valor por defecto es 100MBde espacio en disco ocupado en el directorio /var/cache/squid ,para luego crear 16 sub-directorios más, y en cada uno de ellos se crearán256 directorios más. Al especificar el espacio de disco a utilizar, siemprese debe dejar espacio suficiente de reserva. Tiene sentido manejar valo-res de tamaño para el caché entre el 50 a un 80 por ciento del espacio totaldisponible. Los últimos dos números sólo deben ser incrementados conprecaución ya que demasiados directorios pueden provocar problemasde funcionamiento. En caso de disponer de más discos para repartir entreellos el caché, se pueden especificar varias líneas de cache_dir .

cache_access_log /var/log/squid/access.log ruta para ficheros log.

cache_log /var/log/squid/cache.log ruta para ficheros log.

cache_store_log /var/log/squid/store.log ruta para ficheros log.Estas tres entradas especifican la ruta donde Squid guardará sus ficherosde control. Normalmente no hace falta cambiar nada. Si Squid soportauna carga relativamente elevada, puede ser necesario distribuir el caché yestos archivos de control en discos diferentes.

emulate_httpd_log off Si la entrada está configurada a on , se puede obtenerficheros de log en formato legible. Sin embargo, algunos programas deevaluación no pueden interpretarlos.

client_netmask 255.255.255.255 Con esta entrada, es posible enmascarar lasdirecciones IP en los ficheros de control para ocultar la identidad de losclientes. Especificando en esta opción el valor 255.255.255.0 , el últimodígito de la dirección IP se interpretará como cero.

ftp_user Squid@ Con esta opción se puede fijar la contraseña que Squid uti-lizará para realizar el registro (ingl. login) para FTP anónimo. Es impor-tante especificar una dirección de correo electrónico válida, ya que al-gunos servidores FTP pueden comprobar si es válida o no.

cache_mgr webmaster Dirección de e-mail a la que el Squid enviará un men-saje en caso que termine inesperadamente. Por defecto se enviarán al web-master.

logfile_rotate 0 Squid puede rotar archivos de registro al ejecutar la orden

480 Servidor proxy: Squid

Page 499: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

squid -k rotate . Los archivos serán enumerados en este proceso ydespués de alcanzar el valor especificado, el fichero más antiguo será so-breescrito. El valor que se utiliza normalmente es 0 ya que para archivary borrar archivos de registro en SuSE Linux se utiliza un cronjob quese puede encontrar en el archivo de configuración /etc/logrotate/syslog .

append_domain <dominio> Con la opción append_domain , se puede es-pecificar qué dominio se añadirá automáticamente en caso de que no sefacilite ninguno. Normalmente se especifica el propio dominio, de formaque al introducir wwwen el navegador es suficiente para acceder al servi-dor web propio.

forwarded_for on Al apagar esta opción y ponerla a off , Squid eliminará lasdirecciones IP y el nombre de la máquina de los clientes en las peticionesHTTP.

negative_ttl 5 minutes; negative_dns_ttl 5 minutes Normalmente no es nece-sario cambiar estos valores. En caso de disponer de una conexión detipo dial-up puede ser que a veces no se pueda acceder a Internet. Squidtomará nota de las peticiones fallidas y se negará a realizarlas otra vez,incluso aunque la conexión ya se haya restablecido. En ese caso puedecambiar el valor minutes a seconds . Después de esto, al pulsar en elbotón de Recargar en el navegador la conexión se reiniciará al cabo deunos segundos.

never_direct allow <acl_name> Si desea impedir que Squid conteste a peti-ciones que vengan directamente de Internet, puede utilizar el siguientecomando para forzar la conexión a otro proxy. Éste debe estar ya intro-ducido en la opción cache_peer . Si se especifica como <acl_name>el valor all , todas las peticiones serán redirigidas al caché padre . Estopuede ser necesario, por ejemplo, en caso de disponer de un proveedorque estipule estrictamente el uso de sus proxys o que no permita accesodirecto a Internet a través de su cortafuegos.

Listas de control de acceso o acl

Squid implementa un inteligente sistema para controlar el acceso al proxy. Me-diante las ACL’s, se puede configurar de forma fácil y extensa. Se trata de nor-mas procesadas secuencialmente. Las ACLs deben ser definidas antes de poder-se utilizar. Algunas ACLs como all y localhost ya están definidas.

481SuSE Linux – Manual de Administración

Page 500: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Sólo por definir una ACL no se consigue ningún resultado hasta que no se pon-ga en funcionamiento, conjuntamente p. ej. con http_access , para utilizar lasreglas definidas anteriormente.

acl <acl_nombre> <tipo> <datos> Una ACL necesita por lo menos tres especi-ficaciones para definirla. El nombre <acl_nombre> se puede elegir arbi-trariamente. Para el <tipo> , se puede elegir de entre diferentes opcionesque se pueden encontrar en la parte de ACCESS CONTROLSen el fichero/etc/squid/squid.conf . La parte de datos depende del tipo de ACLy también puede ser leída desde un fichero, p. ej. que contenga nombresde máquinas, direcciones IP o bien URLs. A continuación unos ejemplos:

acl usuarios srcdomain .mi-dominio.comacl profesores src 192.168.1.0/255.255.0.0acl alumnos src 192.168.7.0-192.168.9.0/255.255.0.0acl mediodía time MTWHF 12:00-15:00

http_access allow <acl_nombre> http_access define a quién le está per-mitido usar el proxy y quién puede acceder a Internet. Para todo esto sedeberá definir primero las ACL correspondientes. localhost y all yahan sido definidas con anterioridad. En general se puede permitir el ac-ceso mediante allow o bien negarlo con deny . Se puede crear una listacompleta de entradas http_access que será procesada de arriba haciaabajo y dependiendo de cómo estén configuradas las reglas se accederá ono a Internet para cada URL. Por eso la última entrada de todas debe serhttp_access deny all . En el ejemplo siguiente localhost disponede acceso libre mientras que todos los otros hosts tienen el acceso negado.

http_access allow localhosthttp_access deny all

Otro ejemplo donde se utilizan las reglas definidas anteriormente: elgrupo profesores siempre tendrá acceso a Internet, mientras que elgrupo alumnos solamente tiene acceso de lunes a viernes durante elmediodía.

http_access deny localhosthttp_access allow profesoreshttp_access allow alumnos mediodía timehttp_access deny all

482 Servidor proxy: Squid

Page 501: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

Esta lista con las entradas para http_access deberá colocarse en la partedel fichero /etc/squid/squid.conf a partir de la entrada

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR# CLIENTS

y finalizar en

http_access deny all

redirect_program /usr/bin/squidGuard Con esta opción, se puede especificarun programa redirector como squidGuard, capaz de bloquear el acceso aURL no deseadas. El acceso a Internet puede ser controlado individual-mente para varios grupos de usuarios con la ayuda de autentificación porproxy y apropiadas ACL. squidGuard es un paquete independiente quese debe instalar y configurar separadamente.

authenticate_program /usr/sbin/pam_auth Si los usuarios deben ser autentifi-cados en el proxy, se puede especificar un programa que realice esta fun-ción como pam_auth. Cuando se accede a pam_auth por primera vez, elusuario verá una pantalla de login donde se deberá introducir el nombrede usuario y la contraseña. Además será necesario especificar una ACLcorrespondiente para que sólo los usuarios registrados puedan acceder aInternet:

acl password proxy_auth REQUIRED

http_access allow passwordhttp_access deny all

El texto REQUIREDdespués de proxy_auth debe ser sustituido por unalista de usuarios permitidos o por la trayectoria a una lista.

ident_lookup_access allow <acl_nombre> Con esta opción, se consigue quepara todos los clientes que pertenezcan a la ACL especificada corra unprograma que determine la identidad del cliente. Al especificar el valorall como <acl_nombre> , esto será válido para todos los clientes. Paraesto deberá correr un daemon denominado ident en todos los clientes;en Linux, se puede utilizar para este propósito el paquete pidentd, paraWindows , hay software libre disponible para descargar desde Internet.Para asegurar que sólo se permite acceso a clientes correctamente identi-ficados, se deberá igualmente especificar otra ACL, tal y como se define acontinuación:

483SuSE Linux – Manual de Administración

Page 502: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

acl identhosts ident REQUIRED

http_access allow identhostshttp_access deny all

Aquí también se puede cambiar el valor REQUIREDpor una lista de usua-rios autorizados. El uso de ident puede reducir la velocidad del sistemadebido a que el proceso de autentificación se repite para cada petición.

Configuración de un proxy transparente

Normalmente la manera como se trabaja con servidores proxy es la siguiente: elnavegador web envía peticiones a un puerto determinado del servidor proxy, yéste se encarga de servirle las páginas, se encuentren o no en su caché. A la horade trabajar con una red real se pueden dar los siguientes casos:

Por motivos de seguridad, es más seguro que todos los usuarios utilicenun proxy para navegar por Internet.

Se requiere que todos los usuarios utilicen un proxy, sean los usuariosconscientes de ello o no.

Si el proxy de una red cambia de ubicación, los clientes existentesmantienen su antigua configuración.

En cualquiera de estos casos se puede utilizar un proxy transparente. El princi-pio es muy sencillo: el proxy intercepta y responde a las peticiones del navega-dor web, así que el navegador recibirá las páginas solicitadas sin saber exacta-mente de dónde provienen. El proceso completo se realiza de forma transpar-ente, de ahí el nombre que este procedimiento recibe.

Configuración del kernel

Primero hay que comprobar que el kernel del servidor proxy dispone de soportepara proxy transparente. En caso contrario habrá que añadir estas opciones alkernel y compilarlo de nuevo. Más detalles sobre este proceso en el capitulo Elkernel de Linux en la página 287.

Los módulos del kernel cambian en cada versión. Compruebe el es-tado del actual en /usr/share/doc/howto/en/html/mini/TransparentProxy-3.html ó en Internet: http://www.tldp.org/HOWTO/mini/TransparentProxy-3.html . Ahora debe grabar la nueva con-figuración, compilar el nuevo kernel, instalarlo y configurar nuevamente LILO sihace falta. Finalmente, se deberá reiniciar el sistema.

484 Servidor proxy: Squid

Page 503: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

Opciones de configuración en /etc/squid/squid.conf

Ahora vamos a ocuparnos de las opciones que hay que activar en el fichero/etc/squid/squid.conf para activar el proxy transparente.

Las opciones son:

httpd_accel_host virtual

httpd_accel_port 80 # número de puerto del servidorHTTP

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

Configuración del cortafuegos con SuSEfirewall2

Ahora sólo falta redirigir las peticiones de los clientes por el cortafuegos hacia elpuerto en el que está Squid.

Para la configuración utilizaremos la herramienta proporcionada por SuSESuSEfirewall2. El archivo de configuración correspondiente se encuentra en/etc/sysconfig/scripts/SuSEfirewall2-custom . El archivo está có-modamente ordenado por diferentes entradas muy bien documentadas. Ten-dremos que configurar algunas opciones más. En nuestro ejemplo:

Dispositivo apuntando a Internet: FW_DEV_EXT="eth1"

Dispositivo apuntando a la red: FW_DEV_INT="eth0"

Puertos y servicios (ver /etc/exports ) en el cortafuegos accedidos desde re-des no seguras como Internet. En este ejemplo sólo se especifican servicios webhacia el exterior:

FW_SERVICES_EXT_TCP=”www”

Puertos o servicios (ver /etc/exports ) a los que se accede desde la red segu-ra. Tanto TCP como UDP:

FW_SERVICES_INT_TCP=”domain www 3128”

FW_SERVICES_INT_UDP=”domain”

Accedemos a servicios de web y al programa Squid (cuyo puerto por defectoes 3128). El servicio ”domain” especificado anteriormente se trata del DNS oDomain Name Server. Lo más normal es utilizar este servicio, pero en caso con-trario, se elimina de las entradas superiores y se configura la opción siguiente ano :

FW_SERVICE_DNS=”yes”

La opción más importante es la número 15:

485SuSE Linux – Manual de Administración

Page 504: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

## 15.)# Which accesses to services should be redirected to a localport# on the firewall machine?## This can be used to force all internal users to surf via your# squid proxy, or transparently redirect incoming webtraffic to# a secure webserver.## Choice: leave empty or use the following explained syntax of# redirecting rules, separated by a space.# A redirecting rule consists of 1) source IP/net, 2) destination# IP/net, 3) original destination port and 4) local port to# redirect the traffic to, separated by a colon. e.g.# "10.0.0.0/8,0/0,80,3128 0/0,172.20.1.1,80,8080"#

Fichero 55: Opción 15 de la configuración del cortafuegos

Los comentarios indican la sintaxis que hay que seguir. En primer lugar, se es-cribe la dirección IP y la máscara de las ”redes internas”, de donde vienen nue-stros datos. En segundo lugar, la dirección IP y la máscara de red a dónde se”dirigen” las peticiones. En el caso de navegadores web, especificaremos ladirección de red 0/0 , un comodín que quiere decir ”a cualquier dirección”. Acontinuación, el número de puerto ”original” al que se dirigen las peticiones, yfinalmente, el puerto a donde ”redirigimos” las peticiones.Como Squid tiene soporte para más protocolos además de http; existe la posi-bilidad de desviar las peticiones dirigidas a otros puertos al proxy, como porejemplo FTP (puerto 21), HTTPS o SSL (Puerto 443).En el ejemplo dado, los servicios de Web (Puerto 80) se desvían al puerto delproxy (aquí 3128 ). En el caso de disponer de más redes para añadir, sólo hacefalta separar las diferentes entradas con un espacio en blanco en la línea corres-pondiente.FW_REDIRECT_TCP="192.168.0.0/16,0/0,80,3128 192.168.0.0/16,0/0,21,3128"FW_REDIRECT_UDP="192.168.0.0/16,0/0,80,3128 192.168.0.0/16,0/0,21,3128"Para que el cortafuegos se inicie, y con éste la nueva configuración, se debe edi-tar una entrada en el archivo /etc/sysconfig/SuSEfirewall2 y poner laentrada FW_STARTen ”yes”:Inicie Squid tal como se mostró en el apartado Arrancar Squid en la página 476.Para comprobar que todo funciona correctamente, compruebe los archivos deregistro de Squid en /var/log/squid/access.log

486 Servidor proxy: Squid

Page 505: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

Para verificar que todos los puertos están correctamente configurados, se puederealizar un escaneo de puertos en la máquina, desde un ordenador que estéfuera de la red local. Sólo deberá estar abierto el puerto de servicios web (80).Para llevar a cabo el portscan se puede utilizar nmap con la siguiente sintaxis:

nmap -O direccion_IP

Squid y otros programas

En este capítulo veremos cómo otros programas interactúan con Squid.cachemgr.cgi permite al administrador del sistema comprobar la cantidadde memoria necesaria para cachear los objetos, squidGuard filtra páginas web,y calamaris es un generador de informes para Squid.

cachemgr.cgi

El administrador de caché (cachemgr.cgi) es una utilidad CGI para mostrar es-tadísticas sobre cómo el proceso Squid consume la memoria . Es quizás una for-ma más amigable para controlar el uso del caché y ver estadísticas sin necesidadde registrarse en el servidor.

Configuración

En primer lugar, se necesita tener un servidor web corriendo en nuestro sistema.Para comprobar si Apache está funcionando, escriba como usuario root :

rcapache status .

Si aparece un mensaje como el siguiente:

Checking for service httpd: OKServer uptime: 1 day 18 hours 29 minutes 39 seconds

Es porque Apache ya se está ejecutando en su máquina. Si no es así, escriba:

rcapache start

para iniciar Apache con la configuración por defecto de SuSE Linux.

El último paso es copiar el archivo cachemgr.cgi al directorio de Apache paralas cgi-bin :

cp /usr/share/doc/packages/squid/scripts/cachemgr.cgi

/srv/www/cgi-bin/

487SuSE Linux – Manual de Administración

Page 506: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Opciones en /etc/squid/squid.conf

Hay algunas opciones configuradas ya por defecto en el archivo de configura-ción para el administrador de caché:

acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255

Con las siguientes normas de acceso:

http_access allow manager localhosthttp_access deny manager

La primera ACL es la más importante, ya que el administrador de caché trataráde comunicarse con Squid mediante el protocolo cache_object.

Las normas siguientes asumen que el servidor web y Squid se encuentran enla misma máquina. Si la comunicación entre el administrador de caché y Squidse origina en el servidor de web en otro ordenador, tendremos que incluir unaACL extra como en la figura 56.

acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl webserver src 192.168.1.7/255.255.255.255 # IP del servidor web

Fichero 56: Añadiendo una ACL extra

Entonces hay que añadir las reglas siguientes como en la figura 57 en la páginasiguiente.

488 Servidor proxy: Squid

Page 507: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

http_access allow manager localhosthttp_access allow manager webserverhttp_access deny manager

Fichero 57: Reglas de acceso

Igualmente también se puede configurar una contraseña para el administra-dor si deseamos tener acceso a más opciones, como por ejemplo poder cerrar elcaché de forma remota o ver más información sobre el mismo. En ese caso sólohay que configurar la entrada cachemgr_passwd con una contraseña para eladministrador y la lista de opciones que deseamos ver. Esta lista aparece comouna parte de los comentarios a la entrada en /etc/squid/squid.conf .

Cada vez que se modifique el fichero de configuración es necesario reiniciarSquid. Utilice para ello el comando

rcsquid reload

Leer las estadísticas

Hay que ir a la página web correspondiente:http://miservidor.ejemplo.org/cgi-bin/cachemgr.cgi

Pulse en ‘continúe’ y navegue a través de las diferentes estadísticas. Hay másdetalles para cada entrada mostrada por el administrador de cachés en la FAQde Squid en la http://www.squid-cache.org/Doc/FAQ/FAQ-9.html

squidGuard

Este capítulo no pretende mostrar una configuración completa de squidGuard,sino más bien presentarlo y comentar sus principios de uso. Para ver las op-ciones de configuración con más detalle, visite la web de squidGuard en http://www.squidguard.org .

squidGuard es un programa gratuito, bajo licencia GPL, que funciona como unfiltro flexible ultra rápido, capaz de redireccionar páginas web, y que funcionacomo ”plugin de control de acceso” para Squid. Permite definir diferentes reglasde acceso con diferentes restricciones para diferentes grupos de usuarios quetrabajen sobre un caché de Squid. squidGuard utiliza la interfaz estándar deredirección de Squid.

489SuSE Linux – Manual de Administración

Page 508: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

squidGuard se puede utilizar para lo siguiente:

Limitar el acceso por web para una serie de usuarios a una lista de servi-dores web o URL conocidas y aceptadas.

Bloquear el acceso para algunos usuarios a servidores web o URLs queestén en alguna lista negra.

Bloquear para algunos usuarios el acceso a URLs que coincidan con unadeterminada lista de expresiones o palabras.

Redireccionar URLs bloqueadas a una página de información ”in-teligente” basada en CGI.

Redireccionar usuarios no registrados a una página de registro.

Redireccionar banners a un GIF vacío.

Tener diferentes normas de acceso basadas en la hora del día, día de lasemana, etc.

Tener diferentes normas para diferentes grupos de usuarios.

Y muchas más..

Ni squidGuard ni Squid se pueden usar para:

Editar, filtrar o censurar texto dentro de documentos.

Editar, filtrar o censurar lenguajes de script con HTML-embebido comoJavaScript o VBscript.

Utilizar squidGuard

Instale el paquete squidgrd . Edite un fichero mínimo de configuración/etc/squidguard.conf . Hay muchos ejemplos diferentes de configuraciónen http://www.squidguard.org/config/ . Siempre se puede experimen-tar más tarde con configuraciones más complicadas.

El paso siguiente es crear una página web que será la página que mostrará elmensaje de ”acceso denegado”, o una página CGI más o menos inteligente a lacual redirigir Squid en caso que algún cliente pida algún sitio web que esté en lalista negra. Una vez más el uso de Apache es altamente recomendable.

490 Servidor proxy: Squid

Page 509: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

16In

tern

et

Ahora debemos decirle a Squid que utilice squidGuard. Lo haremos mediantelas siguientes entradas en el archivo /etc/squid/squid.conf :

redirect_program /usr/bin/squidGuard

Existe todavía otra opción llamada redirect_children que configurael número de procesos diferentes para ”redirigir” (en este caso procesos desquidGuard). squidGuard es suficientemente rápido para procesar grandescantidades de solicitudes (squidGuard es realmente rápido: 100.000 consultasen 10 segundos en un Pentium 500MHz con 5.900 dominios, 7.880 URLs, en to-tal 13.780). Por eso no se recomienda configurar más de cuatro procesos a la vezpara no gastar memoria innecesariamente en la asignación de los procesos.

redirect_children 4

Por último vuelve a cargar la configuración de Squid:

rcsquid reload

A continuación ya se puede comprobar la configuración con cualquier navega-dor.

Generación de informes con Calamaris

Calamaris es un script en Perl utilizado para generar informes de la actividaddel caché en formatos ASCII o HTML. Funciona directamente con los ficherosde registro de acceso de Squid. La página web de Calamaris está en http://Calamaris.Cord.de/

La utilización del programa es bastante fácil. Regístrese como root , y entonces:

cat access.log.files | calamaris [options] > reportfile

Es importante al enviar más de un archivo de registro, que éstos estén cronológi-camente ordenados, esto es, primero los ficheros más antiguos.

Las diferentes opciones:

-a utiliza todos los informes disponibles

-w muestra los resultados en formato HTML

-l muestra un mensaje o un logo en la cabecera del informe

Más información sobre las diferentes opciones del programa se puede encontraren la página de manual de calamaris: man calamaris

491SuSE Linux – Manual de Administración

Page 510: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Un ejemplo típico:

cat access.log.2 access.log.1 access.log | calamaris -a -w \

>/usr/local/httpd/htdocs/Squid/squidreport.html

Colocamos el informe en el directorio del servidor web. Otra vez es necesario elprograma Apache para ver los informes.

Otro completo generador de informes es SARG (Squid Analysis Report Gen-erator). Más información sobre SARG se puede encontrar en las páginas webcorrespondientes en: http://web.onda.com.br/orso/

Más información sobre Squid

Visite la página web de Squid: http://www.squid-cache.org/ . Aquí en-contrará la Guía de Usuario de Squid y una extensa colección de FAQ sobreSquid.

El Mini-Howto sobre proxys transparentes se encuentra en el paquete howtoen ,bajo /usr/share/doc/howto/en/mini/TransparentProxy.gz

También existen listas de correo para Squid en:[email protected] .

El archivo para estas listas se encuentra en:http://www.squid-cache.org/mail-archive/squid-users/

492 Servidor proxy: Squid

Page 511: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Seguridad en la red

Enmascarar (ingl. masquerading), cortafuegos (ingl. firewall) y ”Kerberos” sonlos fundamentos de una red segura y se encargan de controlar la trasmisión dedatos. La SSH, (ingl. Secure Shell), ofrece al usuario la oportunidad de realizaruna conexión codificada con un ordenador remoto. En el apartado que viene acontinuación, le explicamos cómo puede utilizar este gran abanico de posibili-dades.

Cortafuegos y masquerading . . . . . . . . . . . . . . . . . 494SSH – secure shell, la alternativa segura . . . . . . . . . . . 500Autentificación en la red — Kerberos . . . . . . . . . . . . . 507Instalación y administración de Kerberos . . . . . . . . . . 514La seguridad, una cuestión de confianza . . . . . . . . . . . 535

Page 512: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Cortafuegos y masquerading

Debido a las extraordinarias características de Linux en lo que se refiere a redes,este sistema se utiliza cada vez más como enrutador (ingl. router) en conexionestanto adicionales como estándar. Con el concepto de ”enrutador” nos referimosaquí a un ordenador que tiene más de una interfaz de red y que reenvía paque-tes que no son para una de sus propias interfaces de red a sus equivalentes enotras redes. A menudo a un enrutador se le denomina ”pasarela” (ingl. gateway).Los filtros de paquetes disponibles en el kernel de Linux posibilitan un controladecuado sobre los paquetes del tráfico de datos en la red a los que se permitepasar y a los que no.

La configuración de las normas adecuadas para este filtrado de datos requierealgo de experiencia por parte del administrador. SuSE Linux incluye, para losusuarios con menos experiencia un paquete independiente que facilitan la confi-guración de estas normas: paquete SuSEfirewall2 .

SuSEfirewall2 puede configurarse con gran flexibilidad, lo que le hace muyapropiado para la construcción de complejos filtros.

Mediante esta solución de filtro de paquetes y por medio de masquerading,un ordenador Linux puede actuar como enrutador para unir una red interna auna única dirección IP visible desde el exterior a través de una línea telefónica odedicada. El masquerading se lleva a cabo con ayuda de las normas del filtradode paquetes.

AvisoEste capítulo describe un procedimiento estándar que debería funcionarcorrectamente en la mayoría de los casos. Sin embargo, aunque la in-formación es lo más exacta y completa posible, no se ofrece ningunagarantía. SuSE no asume ninguna responsabilidad sobre el éxito o fracasode sus medidas de seguridad. Le agradecemos de antemano sus críticasy sugerencias. Aún cuando no reciba una respuesta directa de nuestraparte, puede estar seguro de que agradecemos la crítica y las sugerenciasy de que intentaremos incorporar las mejoras.

Aviso

Fundamentos del masquerading

Masquerading es la adaptación a Linux de NAT (Network Address Transla-tion), la traducción de direcciones de red. El principio en el que se sustenta noes muy complicado: Su enrutador tiene más de una interfaz de red, que por

494 Cortafuegos y masquerading

Page 513: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

regla general suelen ser una tarjeta de red y un módem (o una interfaz RDSI).Vd. se conecta con el exterior por medio de una de estas interfaces; otra u otrasconectan su ordenador con otros ordenadores en su misma red. Por ejemplo,se debe conectar al exterior vía RDSI y la interfaz de red exterior es ippp0 . Vd.tiene más de un ordenador en la red local conectados con la tarjeta de red de suenrutador Linux, que en este ejemplo es eth0 . Los ordenadores de la red reen-vían todos los paquetes que no son para la propia red al enrutador o pasarela(ingl. gateway) por defecto.

Atención¡Al configurar su red, tenga cuidado siempre con direcciones de retrans-misión (ingl. broadcast) y máscaras de red coincidentes!

Atención

Si uno de los ordenadores de su red envía un paquete a Internet, éste ater-rizará en el enrutador por defecto. Éste debe estar configurado de tal man-era que reenvía dichos paquetes. ¡Por razones de seguridad, una instala-ción de SuSE-Linux no lo hará! Modifique la variable IP_FORWARDen elfichero /etc/sysconfig/sysctl y asígnele el valor IP_FORWARD=yes.Para que el reenvío se active, debe reiniciar o escribir el siguiente comando:echo 1 > /proc/sys/net/ipv4/ip_forward

La máquina destino sólo conoce el enrutador, y no el ordenador en sí de su redinterna desde la que se envió el paquete, puesto que esta queda escondida de-trás del enrutador. De ahí viene el concepto ”enmascarar” (ingl. masquerading).Debido a la traducción de direcciones, la dirección de destino del paquete derespuesta es de nuevo el enrutador. Este debe reconocer el paquete y modificarla dirección de destino para que aterrice en el ordenador correcto de la red local.

Este reconocimiento de paquetes, de conexiones originadas por el masquerad-ing del enrutador, ocurre con ayuda de una tabla que se mantiene directamenteen el kernel del enrutador, mientras las conexiones correspondientes estén acti-vas. El superusuario (root ) puede ver estas tablas con los comandos ipchainso iptables . Consulte estos comandos en las páginas man para encontrar indi-caciones más precisas. A la hora de identificar una determinada conexión ”en-mascarada”, también son importantes las direcciones del remitente y de destino,así como el número de protocolo y los protocolos que participan. Con todo estoes posible que su enrutador pueda ”esconder” simultáneamente varios miles deconexiones para cada uno de los ordenadores locales.

495SuSE Linux – Manual de Administración

Page 514: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Puesto que el camino que realizan los paquetes de fuera adentro depende delas tablas del masquerading, no hay ninguna posibilidad de abrir una conexióndesde fuera hacia adentro. No habría ninguna entrada para esta conexión es lastablas. Una conexión ya establecida tiene un estado asignado en las tablas, de talforma que esta entrada no pueda ser utilizada por una segunda conexión.

En lo sucesivo esto da lugar a problemas con algunas aplicaciones, como porejemplo, con ICQ, cucme, IRC (DCC, CTCP), Quake y FTP (en modo PORT).Netscape, el programa estándar de FTP y muchas otras utilizan el modo PASV,que causa pocos problemas con el filtrado de paquetes y el masquerading.

Fundamentos del cortafuegos

El ”cortafuegos” (ingl. firewall) es de hecho el concepto más extendido para unmecanismo que conecta dos redes y que pretende controlar el tráfico de datos enla medida de lo posible. Existen distintos tipos de cortafuegos que de hecho sediferencian en el nivel lógico y abstracto en el que se examina y controla el tráfi-co de datos. En realidad, los métodos que presentamos aquí se deberían llamarcon más precisión ”filtro de paquetes”. Un filtro de paquetes regula el pasajesiguiendo criterios como el protocolo, el puerto y la dirección IP. De esta for-ma, también pueden interceptar paquetes que, debido a las señas que incluyen,no deberían entrar en su red. Por ejemplo, deben interceptar paquetes que ten-gan como destino el puerto 23 del servicio de telnet de su ordenador. Si quiere,por ejemplo, permitir el acceso a su servidor de web, entonces debe dejar libreel puerto correspondiente. No se examinará el contenido de estos paquetes, sila dirección es la correcta (por ejemplo, que el destino sea su servidor web). Elpaquete podría contener un ataque a un programa CGI de su servidor web y elfiltro de paquetes lo dejaría pasar.

Una construcción eficaz, aunque compleja, es la combinación de distintos tiposde elaboración, por ejemplo, un filtro de paquetes al que se le añaden otras apli-caciones gateway/proxy. El filtro rechazaría paquetes que, por ejemplo, se diri-gen a puertos que no están liberados. Sólo dejarían pasar a paquetes para unaaplicación gateway. Este proxy actuaría como si fuera el equivalente comunica-tivo real del servidor que establece una conexión con otros. En este sentido, sepuede considerar a un proxy de este tipo como una máquina masquerading enel nivel del protocolo de la aplicación correspondiente. Un ejemplo de este tipode proxies es Squid, un servidor proxy HTTP, para el que debe configurar suservidor de tal manera que las solicitudes de páginas html pasen primero porla memoria del proxy y, sólo en caso de no encontrar allí la página, se envíen aInternet.

496 Cortafuegos y masquerading

Page 515: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

El paquete proxy de SuSE (el paquete proxy-suite de la serie sec) contiene apropósito un servidor proxy para el protocolo FTP.

A continuación nos concentraremos en dos paquetes de filtros deSuSE-Linux. Para más información y enlaces sobre cortafuegos, leael Firewall HOWTO, que se incluye en paquete howtoes . Si paque-te howtoes está instalado, también lo puede leer con el comandoless /usr/share/doc/howto/es/Cortafuegos-Como.gz .

SuSEfirewall2

La configuración de SuSEfirewall2 requiere un cierto grado de experiencia yconocimientos. En /usr/share/doc/packages/SuSEfirewall2 se encuen-tra la documentación de SuSEfirewall2.

La configuración se puede realizar con YaST (véase la sección Configuracióncon YaST en la página 499) o directamente en el fichero /etc/sysconfig/SuSEfirewall2 .

Configuración manual

Le guiaremos paso a paso para que pueda realizar una configuración adecuada.En cada punto se indica si es válido para masquerading o para cortafuegos. Enlos ficheros de configuración también se habla de una DMZ (”zona desmilita-rizada”), que no se tratará con más detalle.

En caso de que sólo necesite masquerading, rellene sólo las líneas en las que seindica Masquerading.

Active SuSEfirewall2 con el editor de niveles de ejecución de YaST para sunivel de ejecución (probablemente 3 o 5). De este modo, se introduciránenlaces simbólicos para los scripts SuSEfirewall2_* en los directorios/etc/init.d/rc?.d/ .

FW_DEV_WORLD(firewall, masquerading): Por ejemplo eth0 , como dispo-sitivo que conduce a Internet. Con RDSI es p. ej.ippp0 .

FW_DEV_INT(firewall, masquerading): Introduzca aquí el dispositivo quele indica la red interna, ”privada”. Si no hay ninguna disponibles, déjelovacío.

FW_ROUTE(firewall, masquerading): Si necesita masquerading, debe in-troducir yes en este punto. Las máquinas internas no serán visibles desdeafuera, ya que tienen direcciones de red privadas (p. ej.192.168.x.x ),que no se muestran en Internet.

497SuSE Linux – Manual de Administración

Page 516: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Con un cortafuegos sin masquerading, escoja aquí yes , si quiere permi-tir el acceso a la red interna. Para ello, las máquinas internas deben tenerdirecciones IP asignadas oficialmente. ¡En casos normales, no debería per-mitir el acceso desde fuera a las máquinas internas!

FW_MASQUERADE(masquerading): Si necesita masquerading, introduzcayes . Tenga en cuenta que es más seguro es que la red interna acceda aInternet a través de un servidor proxy.

FW_MASQ_NETS(masquerading): Indique aquí el ordenador o red parala que se realizará masquerading. Separe las entradas con un espacio enblanco. Por ejemplo: FW_MASQ_NETS="192.168.0.0/24 192.168.10.1"

FW_PROTECT_FROM_INTERNAL(firewall): Introduzca yes , si tambiénquiere proteger el ordenador que hace de cortafuegos. Para ello debe dejarlibres explícitamente los servicios disponibles para la red interna. Ver tam-bién FW_SERVICES_INTERNAL_TCPy FW_SERVICES_INTERNAL_UDP.

FW_AUTOPROTECT_GLOBAL_SERVICES(firewall): En casos normalesdéjelo en yes .

FW_SERVICES_EXTERNAL_TCP(firewall): Introduzca aquí los serviciosa los que se debe tener acceso; p. ej."www smtp ftp domain 443" –para el ordenador en casa que no ofrece ningún servicio no escriba nada.

FW_SERVICES_EXTERNAL_UDP(firewall): Si no utiliza aún un servidorde nombres al que se debe acceder desde fuera, déjelo vacío. En caso con-trario, indique aquí los puertos adecuados.

FW_SERVICES_INTERNAL_TCP(firewall): Aquí se definen los servi-cios a disposición de la red interna. Las entradas son similares a las deFW_SERVICES_EXTERNAL_TCP, pero aquí se refieren a la red interna.

FW_SERVICES_INTERNAL_UDP(firewall): Ver arriba.

FW_TRUSTED_NETS(firewall): Indique aquí los ordenadores ”de confian-za” (ingl. ()trusted hosts). Tenga en cuenta que éstos también deben estarprotegidos de posibles invasiones. "172.20.0.0/16 172.30.4.2"significa que todos los ordenadores cuya dirección IP empieza con172.20.x.x , así como el ordenador con la dirección IP 172.30.4.2 ,pueden atravesar el cortafuegos.

FW_SERVICES_TRUSTED_TCP(firewall): Indique dirección del puertoTCP que utilizarán los ordenadores de confianza. Escriba p. ej.1:65535 , sitodos los ordenadores de confianza pueden acceder a todos los servicios.Normalmente basta con indicar ssh como servicio.

498 Cortafuegos y masquerading

Page 517: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

FW_SERVICES_TRUSTED_UDP(firewall): Como arriba, pero en relación aUDP.

FW_ALLOW_INCOMING_HIGHPORTS_TCP(firewall): Si trabaja con un FTPnormal (activo), introduzca ftp-data .

FW_ALLOW_INCOMING_HIGHPORTS_UDP(firewall): Escriba dns , parapoder utilizar los servidores de nombres introducidos en /etc/resolv.conf . Con yes deja libres todos los números altos de puertos.

FW_SERVICE_DNS(firewall): Si dispone de un servidor de nom-bres, al que debe poder accederse desde fuera, introduzca yes ; enFW_TCP_SERVICES_*se debe liberar el puerto 53.

FW_SERVICE_DHCLIENT(firewall): Si utiliza dhclient, para recibir unadirección IP, introduzca yes .

FW_LOG_*: Aquí puede configurar con lo que quiere hacer el login. Parael sistema en funcionamiento, basta con yes en FW_LOG_DENY_CRIT.

FW_STOP_KEEP_ROUTING_STATE(firewall): Si accede a Internet au-tomáticamente con diald o vía RDSI (dial on demand), introduzca yes .

La configuración ha finalizado. No olvide probar el cortafuegos (p. ej.telnetdesde fuera); deberá ver las siguientes entradas en /var/log/messages :

Feb 7 01:54:14 www kernel: Packet log: input DENY eth0PROTO=6 129.27.43.9:1427 195.58.178.210:23 L=60 S=0x00I=36981 F=0x4000 T=59 SYN (#119)

Configuración con YaST

La configuración gráfica con YaST se realiza en el Centro de Control de YaST.Una vez allí, seleccione el apartado ‘Firewall’ del menú ‘Seguridad y Usuarios’.La configuración está dividida en cuatro secciones:

Configuración básica Defina aquí las interfaces que quiere proteger. Si se tratade un único ordenador o una red interna, introduzca la interfaz dirigidahacia el exterior (hacia Internet). Si detrás de su sistema se encuentra unared interna, ha de introducir también la interfaz dirigida hacia dentro.Salga de este diálogo con ‘Siguiente’.

499SuSE Linux – Manual de Administración

Page 518: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Servicios Esta opción sólo es relevante en caso de que, a través de su sistema,quiera ofrecer servicios que estén disponibles desde Internet (servidorweb, servidor de correo, etc.). Active las casillas de control correspondien-tes y/o pulse el botón ‘Experto ...’ para activar determinados servicios através de su número de puerto (puede consultarse en /etc/services ).Si su máquina no va a actuar como servidor, salga de este diálogo sin efec-tuar ningún cambio con ‘Siguiente’.

Características Seleccione aquí las características principales de su cortafuegos:

‘Permitir traceroute’ ayuda a comprobar el enrutamiento a su corta-fuegos.‘Tráfico reenviado y enmascaramiento’ protege a los ordenadores dela red local frente a Internet. Parecerá que es su cortafuegos el queutiliza todos los servicios de Internet mientras que los ordenadoresinternos permanecen invisibles.‘Proteger todos los servicios en ejecución’ significa que se evitan to-dos los accesos de la red a servicios TCP y UDP del cortafuegos, ex-ceptuando aquellos activados explícitamente en el paso anterior.‘Proteger desde la red interna’ Sólo los servicios activados del corta-fuegos estarán disponibles para los ordenadores internos. Debido aque aquí no es posible activar ningún servicio, es mejor desactivaresta opción si quiere permitir accesos desde la red local.

Una vez completada la configuración de las características, abandone estediálogo con ‘Siguiente’.

Opciones de logging Aquí puede definir el alcance del registro de su cortafue-gos. Antes de activar las ‘Opciones de depuración’, tenga en cuenta quelos ficheros de registro producen una gran cantidad de datos. Con la confi-guración del registro o logging concluye la configuración del cortafuegos.Salga de este diálogo con ‘Siguiente’ y confirme el mensaje que aparece acontinuación para activar el cortafuegos.

SSH – secure shell, la alternativa segura

En estos tiempos en los que las redes ya son omnipresentes, el acceso a un sis-tema es algo evidente. Antes de acceder siempre deberemos autentificarnos.Por norma general los usuarios hoy en día deberían ser conscientes de que elnombre de usuario y la contraseña son sólo y exclusivamente para ellos. Lle-gar a un acuerdo sobre esta relación entre datos y personas es ya norma generalentre las empresas, los centros de informática o los distribuidores del servicio.

500 SSH – secure shell, la alternativa segura

Page 519: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Por lo contrario sigue siendo temeraria la práctica que aún existe de enviardatos y autentificaciones en texto legible. Esto atañe principalmente a serviciostan usados como son el Post Office Protocol (POP) , usado para recogercorreo y telnet , que se usa para identificarse en un ordenador remoto. Estascondiciones de trabajo hacen que datos e informaciones del usuario, consider-adas privadas (como son p. ej. el contenido de cartas o conversaciones realizadasa través del comando talk), circulen sin protección alguna a través de la red. Es-to compromete por una parte la privacidad del usuario y por la otra deja abiertala puerta para posibles ataques. Este tipo de accesos se usan generalmente parapoder desde ellos atacar a otros sistemas o para conseguir los derechos de admi-nistrador de ese sistema.El peligro de un sistema se hace evidente, cuando se trabaja a distancia (ingl. re-mote) a través de la red como usuario root . ¿Usted anunciaría por radio dóndeguarda la llave de recambio de su casa?Todos los aparatos encargados del transporte de datos o aparatos usados enla misma red local como son firewall, router, switch, mailserver, estaciones detrabajo, etc., pueden examinar los datos. Al contrario de lo que sucedería conuna carta que ha sido leída por una tercera persona sin autorización durante sutransporte y cuyas modificaciones son perceptibles para todo el mundo, el des-tinatario de datos digitales no tendría posibilidad alguna de percatarse si susdatos fueron copiados.Las leyes vigentes prohiben de forma general hechos de este tipo, y hasta exis-ten sanciones para estos delitos. A pesar de ello es mejor no confiarse, ya queexiste una gran variedad de formas de ataque y hay muy pocas formas de prote-gerse de ellos.Conociendo estos peligros en realidad solo existe como posibilidad de pro-tección separarse de la red. Pero esto es solo posible y deseado en casos muyparticulares. Tampoco es factible desactivar los servicios que pueden ser inter-venidos y que carecen de reemplazo.El software SSH ofrece una buena alternativa a nuestros problemas. Una aut-entificación completa, por norma general se compone de nombre de usuario ycontraseña, y además las comunicaciones se realizan de forma codificada. Y si escierto que aún así es posible el robo de los datos transmitidos, estos no podríanser leídos porque están encriptados. De esta manera es posible comunicarse deforma segura a través de redes inseguras como InternetSuSE Linux ofrece el paquete paquete openssh .

El paquete OpenSSH

En SuSE Linux se instala por defecto el paquete OpenSSH, por lo que tendrá asu servicio los programas ssh, scp y sftp como alternativa a telnet, rlogin, rsh,

501SuSE Linux – Manual de Administración

Page 520: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

rcp y ftp.

El programa ssh

Con el programa ssh se puede conectar a un sistema a distancia y trabajar conél de forma interactiva. Es por ello que se convierte a la vez en un substituto detelnet y de rlogin. Por razones de parentesco con rlogin, el enlace simbólico adi-cional de nombre slogin apunta igualmente a ssh. Por ejemplo con el comandossh sol podremos registrarnos en el ordenador sol . Después de haber intro-ducido el comando, el sistema preguntará mediante.

Después de haber conseguido una autentificación válida se podrá trabajar yasea con la línea de comando, p. ej. con el comando ls o bien de forma interacti-va, p. ej. con el programa de administración de SuSE YaST. Si se debe diferenciarel nombre de usuario local del sistema remoto, esto se puede hacer por mediode p. ej.ssh -l juan sol o bien con ssh juan@sol .

Además de ello ssh nos ofrece la posibilidad ya conocida en rsh de ejecutarcomandos en otro sistema. En el siguiente ejemplo se ejecutará el comandouptime en el ordenador sol y se creará un directorio con el nombre tmp . Losresultados del programa se visualizarán en la terminal local del ordenadortierra .

tux@tierra:~ > ssh tierra "uptime; mkdir tmp"

tux@tierra’s password:

1:21pm up 2:17, 9 users, load average: 0.15, 0.04, 0.02

Las comillas son en este caso necesarios para unir los comandos. Sólo de estaforma se ejecutará también el segundo comando en el ordenador sol .

scp – copiar con seguridad

Con la ayuda de scp se pueden copiar ficheros a un ordenador remoto. scpes un sustituto seguro y codificado de rcp. Por ejemplo con el comando:scp MiCarta.tex sol: se copiará el fichero MiCarta.tex del orde-nador tierra al ordenador sol . En el caso de que los nombres de usua-rios en tierra y sol sean diferentes, en scp habrá que recurrir a escribirNombreUsuario@NombreComputadora . No existe la opción -l .

Después de consultar la contraseña, scp comienza con la transmisión de datosy muestra el avance mediante una barra formada por estrellas que crece deizquierda a derecha. Además se muestra en el lado derecho el tiempo restantepara completar la transmisión (ingl. estimated time of arrival). La opción -qsuprime todas las indicaciones en pantalla.

502 SSH – secure shell, la alternativa segura

Page 521: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

scp ofrece también la posibilidad de transferir de forma recursiva todo un direc-torio. El comando: scp -r src/ sol:backup/

copia el contenido completo del directorio src/ con todos los subdirectoriosincluidos al ordenador sol . Debido al nombre de directorio backup/ indicadopor detrás del nombre del ordenador (sol :), los datos se guardan en sol dentrodel directorio backup , que se crea automáticamente en caso de que no existiera.

Mediante la opción -p , scp mantiene fecha y hora de los ficheros que se copian.Con -C se realiza una transferencia comprimida. Como ventaja el volumen dedatos se disminuye mientras que el esfuerzo de cálculo es más elevado. Con lapotencia de cálculo de hoy en día se puede despreciar este efecto.

sftp - transmisión segura de datos

Otra posibilidad para la transferencia segura de datos es sftp, que ofrece muchosde los comandos conocidos de ftp una vez que la conexión se haya establecido.En comparación a scp resulta mejor cuando se transfieren ficheros cuyos nom-bres no se conocen.

El daemon SSH (sshd) – el lado del servidor

Para que se puedan utilizar los programas cliente ssh y scp, en el segundo planose debe ejecutar el SSH-Daemon que espera las conexiones en el puerto TCP/IPPort 22 .

Al iniciarse por primera vez, el daemon genera tres pares de llaves que se com-ponen de una parte pública y una privada. Por el uso de una llave pública, todoel procedimiento se considera como un proceso basado en ”public-key”. Paragarantizar la comunicación segura, sólo el administrador de sistema debe tenerel derecho de acceder a las claves privadas. Por eso en la configuración predeter-minada los derechos sobre los ficheros se configuran al respecto. El daemon deSSH utiliza localmente las claves privadas que no se deben pasar a nadie.

Al contrario las partes públicas de las llaves (se reconocen p. ej. por la extensión.pub ) se traspasan a todos los partners en comunicación y son por tanto legiblespara todos los usuarios.

El cliente SSH inicia la conexión. El daemon de SSH que se encontraba en esperay el cliente que pide una conexión intercambian datos de identificación para uti-lizar las mismas versiones de protocolo y para evitar la conexión a un puertoequivocado. En realidad es un ”proceso hijo” del daemon SSH inicial que re-sponde por lo que se pueden mantener al mismo instante muchas conexionesSSH.

503SuSE Linux – Manual de Administración

Page 522: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Al utilizar el protocolo SSH versión 1, el servidor procede a mandar su clavepública host key y un server key que crea el SSH-Daemon cada hora denuevo. Por medio de estas dos clave el cliente SSH encripta una clave que varíade sesión en sesión (ingl. session key). Aparte de esto indica al servidor el tipo deencriptado (ingl. cipher).

El protocolo SSH versión 2 viene sin el server key . En su lugar utiliza un al-goritmo de Diffie-Hellman para intemcambiar las llaves.

Para desencriptar la clave de sesión es imprescindible disponer de lasclaves privadas de host y server; estas no se pueden obtener a base delas partes públicas. Por eso únicamente el SSH-Daemon contactado escapaz de descifrar la clave de sesión mediante su clave privada (verman /usr/share/doc/packages/openssh/RFC.nroff ).

Es posible seguir esta fase de establecimiento de conexión mediante la opciónde búsqueda de errores del programa cliente de SSH (opción -v ). Por defecto seutiliza el protocolo SSH versión 2, pero sin embargo se puede forzar el protocoloSSH versión 1 con el parámetro -1 .

Los ataques del tipo ”man-in-the-middle” se evitan, porque el cliente guar-da en ~/.ssh/known_hosts todas las claves públicas del host después dehaber tomado el primer contacto. Los servidores SSH que tratan de camu-flarse con el nombre y la IP de otro ordenador se descubren con una alerta.Se delatan ya sea por una clave de host diferente a la que está guardada en~/.ssh/known_hosts o bien no pueden descifrar la clave de sesión por fal-ta de la clave privada correcta.

Es muy recomendable guardar bien las claves públicas y privadas del direc-torio /etc/ssh/ y respaldarlas. Así es posible averiguar modificaciones delas claves y restaurarlas después de una reinstalación. Esta restauración de lasclaves evita sobre todo que los usuarios se preocupen por el mensaje de adver-tencia. Al estar seguro que se trata del servidor SSH correcto, hace falta quitar laentrada que se refiere a éste del fichero ~/.ssh/known_hosts .

Mecanismos de autentificación de SSH

Al final se realiza la verdadera autentificación en su forma más simple mediantela indicación de nombre de usuario y contraseña tal como se ha mencionado enlos ejemplos anteriores.

SSH quiere cumplir también con la meta de ser tan sencillo de usar como rsh yrlogin para poder reemplazar también a estos programas.

SSH puede realizar la autentificación mediante otro juego de llaves creados apetición del usuario. Para ello el paquete SSH dispone de la utilidad ssh-keygen.

504 SSH – secure shell, la alternativa segura

Page 523: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Después de introducir ssh-keygen -t rsa o ssh-keygen -t dsa pasaun rato hasta que el juego de llaves está creado. A continuación el programaconsulta el nombre de fichero para guardar las claves:

Enter file in which to save the key (/home/tux/.ssh/id_rsa):

Al confirmar el lugar predeterminado aparece la pregunta por una frase de ac-ceso. Aunque el programa admite una frase vacía, es mejor introducir un textode diez a treinta caracteres. Es preferible no utilizar palabras o frases demasiadosencillas o cortas. Después de introducirlo, el programa pide una confirmación.El programa indica entonces el lugar donde se guardan la clave privada y lapública; en el ejemplo concreto estos son los ficheros id_rsa y id_rsa.pub .

Enter same passphrase again:Your identification has been saved in /home/tux/.ssh/id_rsa.Your public key has been saved in /home/tux/.ssh/id_rsa.pub.The key fingerprint is:79:c1:79:b2:e1:c8:20:c1:89:0f:99:94:a8:4e:da:e8 tux@sol

El ssh-keygen -p -t rsa o ssh-keygen -p -t dsa sirve para cam-biar su frase de acceso. La parte pública de la clave (en nuestro ejemploid_rsa.pub ) se ha de copiar al ordenador remoto, guardándola allí como~/.ssh/authorized_keys2 . En el siguiente intento de conectar, SSH pregun-ta por la frase de acceso. Si esto no funciona, compruebe el lugar y contenidocorrecto de los ficheros anteriormente mencionados.

A la larga este procedimiento es más complicado que la introducción de unacontraseña. Por eso el paquete SSH incorpora otra utilidad llamado ssh-agentque mantiene claves privadas durante una sesión en entorno X. Para realizarlo,todo el entorno X Windows se inicia como un proceso hijo de ssh-agent.

505SuSE Linux – Manual de Administración

Page 524: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Lo más fácil para conseguirlo es editar el fichero .xsession , poniendo la va-riable usessh en yes y después entrar al sistema con un gestor como p. ej. KDMo XDM. Otra posibilidad es la de iniciar el entorno gráfico mediante ssh-agentstartx.

Ahora se puede utilizar ssh o scp como es habitual y si la clava pública estádistribuida como antes, no debería aparecer ninguna comprobación de la con-traseña.

Al salir del ordenador es importante terminar la sesión X o bloquearla medianteun protector de pantalla con contraseña (p. ej. xlock).

Todas las modificaciones importantes realizadas con la implantación del pro-tocolo SSH versión 2, también se encuentran documentadas en el fichero/usr/share/doc/packages/openssh/README.SuSE .

”X” y autentificación remota

Aparte de las mejoras en cuanto a la seguridad del sistema, ssh facilita tambiénel trabajo con aplicaciones de X-Windows remotas. Al utilizar ssh con la op-ción -X , la variable DISPLAY en el ordenador remoto se configura automática-mente y todas las ventanas del X-Windows se mandan a través de la conexiónssh existente al ordenador cliente. Esta sencilla función evita las posibilidadesde captura de datos por parte de terceros en caso de aplicaciones-X remotas convisualización local.

La opción -A traspasa el mecanismo de autentificación de ssh-agent al siguienteordenador. Así se puede acceder de un ordenador a otro sin necesidad de intro-ducir una contraseña. Es algo que sólo funciona si la clave pública se encuentracorrectamente en todos los ordenadores destino.

Por razones de seguridad los dos mecanismos están desactivados en la confi-guración predeterminada pero se pueden activar de forma permanente en elfichero de configuración global /etc/ssh/ssh_config o en el personal decada usuario ~/.ssh/config .

También se puede utilizar ssh para el desvío de cualquier conexión TCP/IP. Co-mo ejemplo se muestra el desvío del puerto SMTP y POP3:

tierra: ~ # ssh -L 25:sol:25 sol

En este caso cualquier conexión a ”tierra Port 25” se desvía al puerto SMTPde sol a través del canal encriptado. Es un procedimiento especialmente útilpara usuarios de servidores SMTP que no disponen de SMTP-AUTH o de ca-pacidades POP-before-SMTP. Así el servidor de correo ”en casa” puede entregarel correo a cualquier lugar con conexión a Internet.

506 SSH – secure shell, la alternativa segura

Page 525: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

De forma análoga, el comando:

tierra: ~ # ssh -L 110:sol:110 sol

desvía todas las consultas hechas al puerto 110 (POP3) en tierra al puertoPOP3 de sol .

Ambos ejemplos exigen la introducción de los comandos como superusuarioroot , ya que las conexiones se realizan con puertos locales privilegiados. Con laconexión SSH establecida, el correo se envía y se recibe como siempre en modode usuario normal. En tal caso hay que configurar como Host SMTP y POP3 lamáquina local localhost .

Se puede conseguir información adicional en la páginas de manual de los dis-tintos programas y en los ficheros que se encuentran dentro del directorio/usr/share/doc/packages/openssh .

Autentificación en la red — Kerberos

Aparte de los mecanismos habituales de identificación que son inherente-mente inseguros, no existe ninguna forma de autentificar exactamente en unared abierta, los usuarios de un determinado ordenador. Esto quiere decir quecualquier persona puede ser capaz de falsificar su identidad y así recoger los e-mails de otra persona, acceder a los datos privados de ella o iniciar un determi-nado servicio. Por eso la red debe cumplir los siguientes requisitos para poderser considerada como segura:

Los usuarios deben acreditar su identidad para cada servicio y se debeasegurar que ningún usuario acoja la identidad de otro.

Cada servidor en la red debe acreditar su identidad. En caso contrarioun atacante puede identificarse como el servidor solicitado y capturar lainformación confidencial que se esté mandando a éste. Este proceso sellama ”Mutual Authentication”, ya que el cliente se identifica frente alservidor y vice versa.

La autentificación codificada de Kerberos cumple los requisitos mencionados.A continuación se explica el funcionamiento básico de Kerberos. La imple-mentación utilizada de Kerberos incorpora documentación más detallada alrespecto.

507SuSE Linux – Manual de Administración

Page 526: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

AtenciónKerberos original se desarrolló en el MIT. Aparte de éste (MIT Kerberos)existen otras implementaciones de Kerberos. SuSE Linux contiene unaimplementación libre de Kerberos 5 llamada Heimdal Kerberos 5 KTH.Este capítulo se refiere a las propiedades generales de diferentes Ker-beros, por lo que siempre se utiliza el término Kerberos salvo que se tratede propiedades específicas de Heimdal.

Atención

Terminología de Kerberos

Antes de comentar los detalles de Kerberos es importante tomar nota de los si-guientes términos:

Credential Los usuarios o clientes tienen que disponer de credenciales queles autorizan a solicitar determinados servicios. Kerberos dispone de dostipos de credenciales: Tickets y Authenticators.

Ticket Un Ticket es una credencial utilizada por un cliente para solicitar unservicio de un servidor. Contiene el nombre del servidor, el nombre delcliente, la dirección de Internet del cliente, una marca de tiempo (ingl.timestamp), el tiempo de vida de la credencial y una clave de sesión al azar.Todos estos datos se encriptan con la clave del servidor.

Authenticator Junto con el ticket se utiliza el autentificador (ingl. Authentica-tor) para asegurar que el cliente que presenta un ticket realmente es él quepresume ser. El autentificador se genera en la estación de trabajo median-te su nombre, su dirección IP, la hora actual y se encripta con la clave sesesión solamente conocida por parte del cliente y del servidor al que se so-licita el servicio. En comparación a un ticket, el autentificador sólo puedeser usado una vez. El cliente por sí mismo es capaz de crear un autentifi-cador.

Principal Un Principal de Kerberos es una unidad única (un servicio o uncliente) al que se puede asignar un ticket. El Principal se compone de lassiguientes partes:

Primary – Es la primera parte que puede ser equivalente al nombrede usuario.

Instance – Información opcional, describiendo el Primary. Esta cade-na se separa por el símbolo ‘/’ del Primary.

508 Autentificación en la red — Kerberos

Page 527: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Realm – Realm determina el área de funcionamiento de Kerberos.Normalmente el Realm es equivalente al nombre de dominio enmayúsculas.

Mutual Authentication Al usar Kerberos, el cliente tal como el servidorpueden estar seguros sobre al autenticidad de su contraparte ya que seautentifican mutuamente con una clave de sesión.

Session Key Las claves de sesión (ingl. session key) son claves privadas tem-porales, generadas por parte de Kerberos. Se utilizan para encriptar lacomunicación entre cliente y servidor.

Replay Casi toda información que pasa por una red se puede interceptar,desviar o mandarla nuevamente. En el caso de Kerberos es muy peligrososi un atacante consigue interceptar la petición de servicio que contiene elticket y el autentificador. Podría intentar mandar esta información nueva-mente (”Replay”) y acoger así otra identidad. Afortunadamente Kerberosdispone de diferentes mecanismos para evitar este problema.

Server o Service ”Service” (servicio) se utiliza para realizar una determinadaoperación en un ”Server”.

¿Cómo funciona?

Kerberos se denomina frecuentemente como servicio de autentificación deltipo ”Trusted Third Party”. Esto quiere decir que todos los clientes confían enKerberos respecto a la identidad de otros ordenadores. Kerberos mantiene unabase de datos con todos los usuarios y sus claves privadas.

Para que Kerberos merezca la confianza depositada en él, el servidor de auten-tificación y el servidor que otorga los tickets han de ejecutarse en una máquinaaparte. Sólo el administrador debe tener acceso al servidor y los servicios que seejecutan en él deben reducirse a un mínimo — ni siquiera sshd debe estar levan-tado.

Primer contacto El primer contacto con Kerberos se parece al login decualquier sistema en red. Al introducir la contraseña, esa informacióntal como el nombre del sistema de otorgamiento de tickets, se envía alservidor de autentificación (Kerberos). Si este servidor reconoce la iden-tidad, éste genera una clave de sesión al azar para el uso entre el cliente yel servidor de otorgamiento de tickets.

509SuSE Linux – Manual de Administración

Page 528: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Ahora el servidor de autentificación genera un ticket para el servidor deotorgamiento de tickets que se compone de los siguientes elementos (todainformación se encripta con una clave de sesión solamente conocida porparte de los servidores de autentificación y de otorgamiento de tickets):

los nombres de los clientes y del servidor de otorgamiento de tickets

la hora actual

el tiempo de vida del ticket

la dirección IP del cliente

la clave de sesión nueva

Ahora el ticket se envía – junto con la clave de sesión – de forma codifica-da al cliente, pero en esta ocasión utilizando la clave privada del cliente.Solo el cliente y Kerberos conocen esta clave, ya que fue generada a partirde la contraseña de usuario. Cuando el cliente recibe esta información, elusuario tiene que introducir la contraseña. Esta contraseña se convierteen la clave que es capaz de descifrar la información que fue enviada delservidor de autentificación. Después de descifrar, la contraseña y la clavese borran de la memoria de la estación de trabajo; ésta es capaz de iden-tificarse correctamente hasta que el tiempo de vida del ticket otorgadoexpire.

Solicitud de un servicio Para pedir un servicio de cualquier servidor en la red,la aplicación del cliente tiene que compulsar su identidad. Por eso la apli-cación genera un identificador (ingl. Authenticator) que se compone de lassiguientes partes:

el Principal del cliente

la dirección IP del cliente

la hora actual

Toda esa información se encripta con la clave de sesión que ya recibió elcliente particularmente para ese servidor. El identificador y el ticket parael servidor se mandan a éste. El servidor por su parte utiliza su copia dela clave de sesión para decodificar el identificador que le permite obtenertoda la información necesaria del cliente que solicita el servicio. Esta infor-mación se compara con la del ticket. De esta forma el servidor compruebasi el ticket y el identificador proceden del mismo cliente.

Si por parte del servidor no existieran medidas de seguridad, este puntosería ideal para un ataque de repetición (ingl. replay). El agresor puede in-tentar enviar nuevamente una solicitud de servicio que haya sido captura-da anteriormente en la red. Para evitar este tipo de ataque, el servidor no

510 Autentificación en la red — Kerberos

Page 529: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

acepta ningún paquete que se envía con una marca de tiempo y un ticketya recibidos. Además es posible rechazar peticiones de servicio cuya mar-ca de tiempo difiere demasiado del tiempo actual (hacia el futuro o haciael pasado).

Autentificación mutua Es posible realizar la autentificación de Kerberos enambas direcciones. No sólo se trata del cliente que se identifica frente alservidor, el servidor también debe identificarse frente al cliente que solici-ta un cierto servicio. Por eso el servidor envía también un cierto identifi-cador. Este se forma sumando 1 a la suma de control que fue recibida delcliente y el resultado se encripta con la clave de sesión compartida con elcliente. Para el cliente esta respuesta es la compulsa de la autenticidad delservidor y el trabajo entre cliente y servidor puede comenzar.

Ticket-Granting — Contactar con todos los servidores Los tickets están pen-sados para el uso con un solo servidor por lo que hace falta un nuevo tick-et para cada servicio adicional que se solicite. Kerberos implementa unmecanismo para obtener tickets de los diferentes servidores que se deno-mina ”Ticket Granting Service” (Servicio de expedición de tickets). Esteservicio también está sometido a los protocolos de acceso ya explicados.Siempre que una aplicación necesita un ticket que aún no se haya otorga-do, ésta contacta el servidor de otorgamiento de tickets. La solicitud de unticket se compone de las siguientes partes:

El Principal solicitado

El ticket para el otorgamiento de ticket

El identificador (authenticator)

Igual como los otros servidores, el servidor de otorgamiento de ticketscontrola el ticket recibido y el identificador. En caso de confirmar la aut-enticidad de ellos, el servidor de otorgamiento de tickets genera una clavede sesión nueva que se debe utilizar para la conexión del cliente con elservidor nuevo. El siguiente paso es la creación de un ticket para el servi-dor nuevo con la información siguiente:

El Principal del cliente

El Principal del servidor

La hora actual

La IP del cliente

La clave de sesión recién creada

511SuSE Linux – Manual de Administración

Page 530: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

El tiempo de validez del ticket nuevo equivale al tiempo de vida restantedel ticket del sistema de otorgamiento de tickets o a un valor predeter-minado para este servicio, dependiendo de cuál es el tiempo inferior.El sistema de otorgamiento de tickets envía este ticket junto a una clavede sesión al cliente. En esta ocasión la respuesta es codificada con laclave de sesión que se recibió junto con el ticket original del sistema deotorgamiento de tickets. Ahora el cliente es capaz de descifrar la respuestade un servicio nuevo que se solicite sin necesidad de pedir la contraseñade usuario nuevamente. Esta es la forma de Kerberos de conseguir ticketspara el cliente, ”molestando” al usuario una sola vez con la introducciónde la contraseña.

Compatibilidad con Windows 2000 Windows 2000 incorpora una imple-mentación de Kerberos 5 realizada por Microsoft. SuSE Linux utiliza laimplementación Heimdal de Kerberos 5 que incorpora mucha documen-tación útil sobre el tema; ver Información adicional sobre Kerberos en la pági-na siguiente.

Efectos de Kerberos a nivel de usuario

En el caso óptimo, el usuario sólo tiene contacto con Kerberos en el momento deefectuar el login en su estación de trabajo. En ese momento el cliente recibe unticket para el otorgamiento de subsiguientes tickets. Cuando el usuario sale delsistema (logout), los tickets de Kerberos automáticamente se borran para evitarque otros usuarios puedan identificarse como otro usuario cuando no esté tra-bajando. Existe un conflicto cuando la sesión de trabajo del usuario dure mástiempo que el tiempo de vida máximo del ticket ”maestro” para el otorgamien-to de tickets (10 horas suele ser un valor razonable). Para conseguir un ticketmaestro nuevo, el usuario puede iniciar kinit. No hace falta más que introducirla contraseña nuevamente y Kerberos se encarga de gestionar el acceso a todoslos servicios. Mediante klist es posible obtener una lista de todos los tickets queKerberos obtiene trabajando en segundo plano.

Todas las aplicaciones que figuran a continuación utilizan el mecanismo de aut-entificación de Kerberos y se encuentran en /usr/lib/heimdal/bin . Ofrecenla misma funcionalidad de sus homólogos de Unix/Linux a la que se añade laventaja de la autentificación transparente mediante Kerberos:

telnet/telnetd

rlogin

rsh, rcp, rshd

512 Autentificación en la red — Kerberos

Page 531: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

popper/push

ftp/ftpd

su

imapd

pine

No hace falta introducir ninguna contraseña para utilizar estas utilidades,porque Kerberos ya realizó la identificación. Al compilar ssh con soporte deKerberos, ssh es capaz de traspasar todos los tickets obtenidos para una deter-minada estación de trabajo a otra. Después de realizar un login en otra estaciónde trabajo, ssh se encarga de adaptar el contenido codificado de los tickets a lasituación nueva. No alcanza a copiar sencillamente los tickets de una máquinaa la otra, ya que contienen información específica sobre la estación de trabajo (ladirección IP). XDM y KDM también ofrecen soporte de Kerberos. La guía KerberosV5 UNIX User’s Guide en http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.5/doc/user-guide_toc.html ofrece información adicionalsobre las utilidades de red de Kerberos.

Información adicional sobre Kerberos

SuSE Linux incorpora una implementación libre de Kerberos, denominadaHeimdahl. La documentación correspondiente se encuentra en /usr/share/doc/packages/heimdal/doc/heimdal.info después de haber instaladoel paquete heimhahl . Todo el proyecto está documentado en Internet baja ladirección http://www.pdc.kth.se/heimdal/ .

La página web oficial de la implementación de Kerberos del MIT reune enlacesa otras fuentes interesantes:http://web.mit.edu/kerberos/www/

En la siguiente dirección se encuentra un diálogo clásico que explica el fun-cionamiento de Kerberos. No es demasiado técnico y justo por eso es muy in-teresante:http://web.mit.edu/kerberos/www/dialogue.html

Otra fuente de información que explica el funcionamiento básico de Kerberos yque tiene diversas citas para seguir estudiando el tema, se encuentra en:ftp://athena-dist.mit.edu/pub/kerberos/doc/usenix.PS

Los siguientes enlaces ofrecen una introducción breve a Kerberos y responden amuchas preguntas en torno a la instalación, configuración y administración:

513SuSE Linux – Manual de Administración

Page 532: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.5/doc/user-guide_toc.htmlhttp://www.lns.cornell.edu/public/COMP/krb5/install/install_toc.htmlhttp://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.5/doc/admin_toc.htmlLas FAQ oficial de Kerberos se encuentran en:http://www.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html

Tung, Brian: Kerberos — A Network Authentication System. Addison Wesley, 1999.- (ISBN 0-201-37924-4)

Instalación y administración de Kerberos

Esta sección trata los aspectos relacionados con la instalación de la imple-mentación Kerberos Heimdal así como algunas cuestiones de administración. Eltexto asume que está familiarizado con los conceptos básicos de Kerberos (si de-sea obtener más información a este respecto, consulte la sección Autentificaciónen la red — Kerberos en la página 507).

Elección de Realms en Kerberos

El ”dominio” de una instalación Kerberos se denomina Realm y se identifica porsu nombre, como, por ejemplo, FOOBAR.COMo simplemente CONTABILIDAD.Kerberos distingue entre letras mayúsculas y minúsculas, por lo que foobar.com identifica a un realm diferente a FOOBAR.COM. Utilizar mayúsculas ominúsculas es una cuestión de preferencias. Sin embargo, es una práctica comúnreservar las letras mayúsculas para los nombres de los realm.

Es una buena idea utilizar el nombre de dominio DNS (o un subdominio, talcomo CONTABILIDAD.FOOBAR.COM). Como se explica a continuación, la vi-da de un administrador puede ser mucho más sencilla si configura los clientesKerberos para localizar el KDC y otros servicios Kerberos a través de DNS. Paralograr este objetivo, resulta bastante útil que el realm sea un subdominio delnombre de dominio DNS.

A diferencia del espacio de nombres DNS, Kerberos no dispone de una estruc-tura jerárquica. No puede configurarse un realm denominado FOOBAR.COM,disponer dos ”subrealms” llamados DESARROLLOy CONTABILIDADbajo él yesperar que los dos realms subordinados hereden de alguna forma los princi-pales de FOOBAR.COM. En su lugar, es necesario establecer tres realms indepen-dientes, para los cuales será necesario configurar la autentificación ”crossrealm”

514 Instalación y administración de Kerberos

Page 533: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

a fin de que los usuarios de un realm puedan interactuar con los servidores ousuarios de otro.

Con el fin de lograr una mayor simplicidad, se asume que se está configuran-do sólo un realm para dar servicio a toda la organización. Existen algunosdocumentos, tales como ?, que detallan cómo configurar la autentificacióncrossrealm. Durante el resto de esta sección, se utiliza el nombre de realmSAMPLE.COMpara todos los ejemplos.

Configuración del hardware KDC

El primer paso que ha de dar cuando se desea utilizar Kerberos es configurar unequipo que tome el papel de centro de distribución de claves o KDC (Key Dis-tribution Center). Esta máquina albergará la base de datos completa de usuariosKerberos con sus contraseñas y el resto de información relacionada.

El KDC es el elemento más importante dentro de su infraestructura de seguri-dad; si alguien consigue acceder a él, todas las cuentas de usuario y toda la es-tructura protegida por Kerberos estará comprometida. Un atacante con accesoa la base de datos Kerberos puede suplantar a cualquier principal de la base dedatos. Asegúrese de que extrema la seguridad alrededor de este equipo tantocomo le sea posible:

Coloque el servidor en un lugar físicamente seguro, tal como una sala deservidores cerrada bajo llave a la cual sólo pueda acceder un reducidonúmero de personas.

No ejecute ninguna aplicación de red en él a excepción de KDC. Esto in-cluye servidores y clientes; por ejemplo, el KDC no debe poder importarningún sistema de ficheros a través de NFS o utilizar DHCP para cargarsu configuración de red.

Una de las estrategias que puede seguir para conseguir maximizar la se-guridad es realizar, en primer lugar, una instalación mínima del sistema,comprobar la lista de paquetes instalados y eliminar todos aquellos queresulten innecesarios. Esto incluye servidores, tales como inetd, portmap ycups así como cualquiera que esté basado en X11.

515SuSE Linux – Manual de Administración

Page 534: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Incluso la instalación de un servidor SSH puede suponer un riesgo poten-cial para la seguridad.

Por razones también de seguridad, no se proporciona ningún acceso enmodo gráfico para este equipo mediante un servidor X. Kerberos disponede su propia interfaz de administración.

Configure /etc/nsswitch.conf a fin de que sólo se utilicen ficheroslocales para la búsqueda de usuarios y grupos. Modifique las líneas depasswd y group de la siguiente forma:

passwd: filesgroup: files

Edite los ficheros passwd , group , shadow y gshadow en /etc y eliminelas líneas que comienzan con el carácter + (destinadas a las búsquedasNIS).

Asimismo, considere la deshabilitación de las búsquedas DNS, ya queexiste un riesgo potencial relacionado con ellas. Si existe algún fallo deseguridad en la librería del componente DNS, un atacante podría en-gañar al KDC para que realizara una petición DNS que activara el fal-lo. Para desactivar las búsquedas DNS, simplemente ha de eliminar/etc/resolv.conf .

Deshabilite todas las cuentas de usuario excepto la de root mediantela modificación de /etc/shadow y reemplace las contraseñas enmas-caradas con caracteres * o ! .

Sincronización del reloj

Para poder utilizar Kerberos con éxito, asegúrese de que todos los relojes delos sistemas pertenecientes a la organización están sincronizados dentro de uncierto rango. La razón de ser de esta medida reside en que Kerberos intentaráprotegerle de las credenciales ”dobladas”. Un atacante podría observar las cre-denciales Kerberos en la red y reutilizarlas para atacar al servidor. Kerberos em-plea una serie de tácticas defensivas para evitar esto. Una de ellas consiste enidentificar mediante la fecha y la hora sus tickets. Si un servidor recibe un ticketcon una fecha y hora que no son las actuales, lo rechazará.

516 Instalación y administración de Kerberos

Page 535: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Por supuesto, Kerberos permite un cierto margen cuando realiza estas compara-ciones. Sin embargo, los relojes de los equipos pueden llegar a ser muy inexac-tos en mantener la hora correcta (no es infrecuente escuchar como algunos relo-jes de PC pueden llegar a retrasarse o adelantarse hasta media hora durante eltranscurso de una semana). Por tanto, es necesario configurar todos los equipospertenecientes a la red para que sincronicen sus relojes respecto a una fuentehoraria central.

Un método sencillo para lograr este objetivo es instalar un servidor horario NTPen uno de los equipos e indicar a todos los clientes que sincronicen sus relojesrespecto a éste. Este proceso puede llevarse a cabo mediante la ejecución de undaemon NTP en en modo cliente en todos los equipos o ejecutando el comandontpdate una vez al día desde todas las estaciones de trabajo (esta solución sóloes apropiada si se trata de un número reducido de sistemas).

El propio KDC también necesita estar sincronizado respecto a la fuente horariacomún. Debido al riesgo en la seguridad que podría producirse si ejecutara élmismo un daemon NTP, la recomendación es ejecutar un comando ntpdate co-mo una entrada cron.

La configuración de un servidor NTP no entra dentro del alcance de estasección. Si necesita recabar más información al respecto, consulte la docu-mentación sobre NTP que se incluye junto al sistema instalado en el fichero/usr/share/doc/packages/xntp-doc .

Por supuesto, también puede adaptar a sus necesidades la diferencia máxi-ma tolerada por Kerberos al comprobar las marcas de tiempo o time stamps.Es posible modificar este valor (clock skew ) en el fichero de configuraciónkrb5.conf como se describe en la sección Adaptar la diferencia del reloj en lapágina 523.

Configuración del registro

Por defecto, los daemons Kerberos que se ejecutan en el equipo KDC registranla información mediante el daemon syslog. Si desea monitorizar qué está ha-ciendo el KDC, puede procesar los ficheros de registro de forma regular y bus-car en ellos eventos inusuales o problemas potenciales.

Para ello, puede utilizar bien un script de escaneo de registros a través de lapropia consola del KDC o copiar los ficheros desde el KDC a otro equipo através de rsync y llevar a cabo el análisis allí. No se recomienda el reenvío delos registros mediante los mecanismos incluidos en syslog ya que la informaciónatraviesa la red de forma no codificada.

517SuSE Linux – Manual de Administración

Page 536: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Instalación del KDC

Esta sección se enfoca en la instalación inicial del KDC, incluyendo la creaciónde un principal administrativo.

Instalación de los RPMs

Antes de comenzar, instale el software de Kerberos. En el lado del KDC, instalelos RPM heimdal y heimdal-lib :

tierra:~ # rpm -ivh heimdal-0*.rpm heimdal-lib-0*.rpm

Establecimiento de la clave maestra

El próximo paso consiste en inicializar la base de datos en la cual Kerberos al-macena toda la información respecto a los principales. En primer lugar, establez-ca la clave maestra de la base de datos, la cual se utiliza para proteger ésta a unaexposición accidental, tal como realizar una copia de seguridad de ella en unacinta.

La clave maestra se deriva de una frase de paso y se guarda en un fichero de-nominado como el fichero "escondite" (stash file). De esta forma, se consigueque no sea necesario escribir la contraseña cada vez que se reinicializa el KDC.Asegúrese de que escoge una buena frase de paso, tal como una procedente deun libro abierto por una página al azar.

Cuando realiza copias de seguridad de la base de datos Kerberos (/var/heimdal/heimdal.db ), no copie el fichero escondite (que reside en /var/heimdal/m-key ). De otra forma, aquellas personas que tuvieran acceso a lacinta podrían también desencriptar la base de datos. Por tanto, es una buenaidea mantener una copia de la frase de paso en un lugar seguro y diferente, yaque será necesario utilizarla si ha de restaurar la base de datos desde una copiade seguridad.

Para fijar la clave maestra, ejecute la utilidad kstash sin ningún argumento eintroduzca la frase de paso dos veces:

tierra:~ # kstash

Master key:<enter pass phrase>Verifying password - Master key:<enter pass phrase again>

518 Instalación y administración de Kerberos

Page 537: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Creación del realm

Finalmente, cree las entradas para el realm en la base de datos Kerberos. In-voque la utilidad kadmin con la opción -l tal y como se muestra a continuación.Este argumento indica a kadmin que acceda a la base de datos de forma local.Por defecto, intentará contactar con el servicio admin de Kerberos a través de lared. En ese momento, esta conexión no podrá llevarse a cabo ya que el servicioaún no se estará ejecutando.

A continuación, instruya a kadmin que inicialice el realm. Se le solicitará queconteste a una serie de preguntas. Le recomendamos que acepte las respuestasque sugiere inicialmente kadmin:

tierra:~ # kadmin -l

kadmin> init SAMPLE.COMRealm max ticket life [unlimited]: <press return>Realm max renewable ticket life [unlimited]: <press return>

A fin de verificar que se ha completado el proceso, utilice el comando list:

kadmin> list *[email protected]/[email protected]/[email protected]/[email protected]/[email protected]/[email protected]

Esta acción muestra que ya existe una serie de principales en la base de datos.Todos ellos son utilizados por Kerberos para procesos internos.

Creación de un principal

A continuación, cree dos principales Kerberos para usted mismo: un principal”normal” para el trabajo del día a día y uno para tareas administrativas rela-cionadas con Kerberos. Asumiendo que su nombre de usuario es newbie , sigalos siguientes pasos:

tierra:~ # kadmin -l

kadmin> add newbieMax ticket life [1 day]: <press return>Max renewable life [1 week]: <press return>

519SuSE Linux – Manual de Administración

Page 538: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Principal expiration time [never]: <press return>Password expiration time [never]: <press return>Attributes []: <press return>[email protected]’s Password: <type password here>Verifying password: <re-type password here>

Acepte los valores por defecto pulsando�� ��Intro . Elija una buena contraseña.

Seguidamente, cree otro principal denominado newbie/admin mediante lainstrucción add newbie/admin en la línea de comandos de kadmin . El textoadmin añadido al nombre de usuario es lo que se denomina ”rol” (ingl. role).Este rol administrativo se utiliza posteriormente para gestionar la la base dedatos de Kerberos.

Un usuario puede tener distintos ”roles” para cumplir diferentes propósitos.Su manejo es semejante al de cuentas de usuario totalmente distintas pero connombres parecidos.

Inicio del KDC

Arranque los daemons KDC. Éstos incluyen el propio kdc (el daemon que ges-tiona la autentificación de usuario y peticiones de ticket), kadmind (el servidorque lleva a cabo la administración remota) y kpasswddd (que tiene como mis-ión manejar los aspectos relacionados con las peticiones de modificación de con-traseña). Para iniciar el daemon de forma manual, escriba:

tierra:~ # rckdc start

Starting kdc done

Asimismo, asegúrese de que el KDC arranca por defecto cuando se reinicializael servidor. Para ello, puede utilizar el comando insserv kdc .

Configuración de los clientes Kerberos

Cuando se configura Kerberos, existen básicamente dos estrategias que puedenseguirse: una configuración estática a través del fichero /etc/krb5.conf ouna dinámica mediante DNS. Si se utiliza esta última, las aplicaciones Kerberosintentarán localizar los servicios KDC a través de los registros DNS. Con unaconfiguración estática, es necesario añadir los nombres de host del servidorKDC a krb5.conf (y actualizar el fichero siempre que mueva el KDC o recon-figure el realm de alguna forma).

520 Instalación y administración de Kerberos

Page 539: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

La configuración basada en DNS es, normalmente, mucho más flexible, siendola cantidad de trabajo necesaria para configurar cada uno de los equipos muchomenor. Sin embargo, requiere que el nombre del realm sea bien el mismo que elcorrespondiente al dominio DNS o bien un subdominio de él.

La configuración de Kerberos vía DNS genera, por otro lado, un contratiemporelacionado con la seguridad, que consiste en que un atacante puede desesta-bilizar seriamente la infraestructura a través de DNS (por ejemplo, cerrando elservidor de nombres, alterando los registros DNS, etc). En cualquier caso, es-to significa que, como mucho, pueda producirse un ataque por denegación deservicio. Un escenario similar puede aplicarse en el caso de una configuraciónestática a no ser que se introduzcan únicamente direcciones IP dentro del ficherokrb5.conf en lugar de nombres de host.

Configuración estática

labelsec:kerbadmin.client.stat

Una forma de configurar Kerberos consiste en modificar el fichero de configura-ción /etc/krb5.conf . Este fichero, que está incluido por defecto en el sistemainstalado, contiene varias entradas de muestra. Elimínelas antes de empezar arealizar su propia configuración:

krb5.conf está compuesto de varias secciones, cada una de las cuales comien-za con su nombre entre corchetes ([nombre] ).

Para la configuración estática, añada las siguientes líneas al fichero krb5.conf(donde kdc.sample.com es el nombre de host del KDC):

[libdefaults]default_realm = SAMPLE.COM

[realms]SAMPLE.COM = {

kdc = kdc.sample.comkpasswd_server = kdc.sample.comadmin_server = kdc.sample.com

}

Sobre la línea default_realm se define el realm estándar para las aplicacionesKerberos.

Si dispone de varios realms, simplemente añada otra instrucción a la sección[realms] .

Adicionalmente, añada una línea a este fichero que indique a las aplicacionescómo mapear los nombres de host a un realm. Por ejemplo, cuando se establece

521SuSE Linux – Manual de Administración

Page 540: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

una conexión a un host remoto, la librería Kerberos necesita conocer en quérealm está localizado este host. Este extremo ha de ser configurado en la sección[domain_realms] :

[domain_realm].sample.com = SAMPLE.COMwww.foobar.com = SAMPLE.COM

El ejemplo anterior comunica a la librería que todos los hosts en los dominiosDNS sample.com están ubicados en el realm Kerberos SAMPLE.COM. Asimis-mo, un host externo denominado www.foobar.com puede ser también consid-erado como un miembro del realm SAMPLE.COM.

Configuración basada en DNS

La configuración Kerberos basada en DNS utiliza en gran medida los registrosSRV (consulte el documento (RFC2052 ) A DNS RR for specifying the location ofservices ubicado en la dirección http://www.ietf.org ). Estos registros noestán soportados en las anteriores implementaciones del servidor de nombresBIND. Como mínimo, se requiere la versión 8 de BIND.

El nombre de un registro SRV tiene una forma, en lo que concierne a Kerberos,equivalente a la siguiente: _service._proto.realm , donde realm es el realmKerberos. Recuerde que los nombres de dominio en DNS no distinguen entremayúsculas y minúsculas, por lo que los realms de Kerberos, que sí distingueneste extremo, tienen problemas cuando se utiliza este método de configuración._service es un nombre de servicio (se utilizan nombres diferentes cuando seintenta contactar con el KDC o el servicio de contraseñas, por ejemplo). _protopuede ser bien _udp o _tcp , pero no todos los servicios soportan ambos proto-colos.

La parte de datos en los registros de un recurso SRV consiste en un valor de pri-oridad, un peso, un número de puerto y un nombre de host. La prioridad de-fine el orden por el cual debe intentarse la conexión a los hosts (un valor menorindica una prioridad mayor). El peso se utiliza para soportar un cierto tipo debalanceo de carga entre servidores que disponen de igual prioridad. Es probableque nunca necesite modificar este argumento, así que puede mantenerlo comocero.

522 Instalación y administración de Kerberos

Page 541: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

En la actualidad, Heimdal Kerberos examina los siguientes nombres cuandointenta buscar servicios:

_kerberos Define la ubicación del daemon KDC (el servidor que gestiona laautentificación y asigna los tickets). Los registros típicos poseen el siguien-te formato:

_kerberos._udp.SAMPLE.COM. IN SRV 0 0 88 kdc.sample.com._kerberos._tcp.SAMPLE.COM. IN SRV 0 0 88 kdc.sample.com.

_kpasswd Describe la localización del servidor encargado de atender a laspeticiones de modificación de contraseña. El aspecto habitual de estosregistros se muestra a continuación:

_kpasswd._udp.SAMPLE.COM. IN SRV 0 0 464 kdc.sample.com.

Debido a que kpasswdd no soporta TCP, no debería existir ningún regis-tro _tcp .

_kerberos-adm Informa de la ubicación del servicio de administración remo-ta. La forma usual de estas entradas es el siguiente:

_kerberos-adm._tcp.SAMPLE.COM. IN SRV 0 0 749 kdc.sample.com.

Ya que kadmind no proporciona soporte para UDP, no debería mostrarseningún registro _udp .

Al igual que sucede con el fichero de configuración estática, existe un mecan-ismo para informar a los clientes que un host específico está pertenece al realmSAMPLE.COM, aún cuando no forme parte del dominio DNS sample.com DNS.Para ello, se añade un registro TXT a _kerberos.hostname , tal y como semuestra a continuación:

_kerberos.www.foobar.com. IN TXT "SAMPLE.COM"

Adaptar la diferencia del reloj

Mediante la variable clock skew es posible definir los límites de toleranciadentro de los cuales se aceptará un ticket cuya hora no coincida exactamentecon la que muestre el reloj del sistema servidor.

Por regla general, este límite es de 300 segundos (5 minutos). Es decir, un ticketpuede tener una marca de tiempo 5 minutos adelantada o atrasada con respectoa la hora del sistema del servidor y todavía será aceptado.

Si utiliza NTP para sincronizar los relojes de todos los hosts, este valor puedereducirse a un minuto.

523SuSE Linux – Manual de Administración

Page 542: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Modifique la variable clock skew en /etc/krb5.conf como se muestra acontinuación:

[libdefaults]clockskew = 120

Configuración de la administración remota

Para añadir o eliminar principales de la base de datos Kerberos sin tener acce-so directo a la consola del KDC, comunique al servidor de administración deKerberos cuáles son los principales autorizados.

Para ello puede editar el fichero /var/heimdal/kadmind.acl (ACL es laabreviatura de Access Control List o listas de control de acceso). El ficheroACL permite definir los privilegios y la configuración detallada del grado decontrol. Puede obtener más información en página del manual de kadmind(man 8 kadmind ).

Para autorizarse a llevar a cabo todas las acciones que Vd. quiera en la base dedatos, añada la siguiente línea al fichero:

newbie/admin all

Sustituya newbie por su nombre de usuario y reinicie KDC para aplicar loscambios.

Administración remota con kadmin

Llegado este punto ya será posible administrar Kerberos de forma remota conayuda de la herramienta kadmin. En primer lugar, necesita obtener un ticketpara el principal administrativo y a continuación emplearlo en la conexión alservidor kadmin:

tierra:newbie # kinit newbie/admin

newbie/[email protected]’s Password: <enter password>

tierra:newbie # /usr/sbin/kadmin

kadmin> privschange-password, list, delete, modify, add, get

524 Instalación y administración de Kerberos

Page 543: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Para verificar de qué privilegios dispone, puede utilizar el comando privs. Lalista mostrada previamente presenta el conjunto completo de privilegios.

A efectos de ejemplo, proceda a modificar el principal newbie :

kadmin> mod newbieMax ticket life [1 day]:2 daysMax renewable life [1 week]:Principal expiration time [never]:2003-01-01Password expiration time [never]:Attributes []:

Esta acción modifica la vida máxima del ticket a dos días y establece la fecha decaducidad de la cuenta para el 1 de enero de 2003.

Comandos básicos de kadmin

A continuación se incluye una lista de los comandos más importantes dekadmin. Consulte página del manual de kadmin (man 8 kadmin ) para obten-er información más detallada.

add 〈principal〉 añade un nuevo principal

modify 〈principal〉 edita varios atributos de un principal, tales como la vidamáxima del ticket y la fecha de caducidad de la cuenta

delete 〈principal〉 elimina un principal de la base de datos

rename 〈principal〉 〈newname〉 renombra un principal a 〈newname〉

list 〈pattern〉 visualiza una lista con todos los principales que coinciden con elpatrón suministrado. El mecanismo de funcionamiento de los patrones essimilar al del utilizado en el shell: list newbie* presentaría newbie ynewbie/admin en este ejemplo.

get 〈principal〉 visualiza una información detallada acerca del principal

passwd 〈principal〉 modifica la contraseña del principal

Es posible acceder en todo momento a una función de ayuda introduciendo�� ��? y�� ��Intro , incluyendo durante los mensajes originados por los comandos tales como

modify o add.

La instrucción init utilizada cuando se crea inicialmente el realm (así comoen otras escasas ocasiones) no está disponible en el modo remoto. Para crearun nuevo realm, acceda a la consola del KDC y emplee kadmin en modo local(indicando la opción -l en la línea de comandos).

525SuSE Linux – Manual de Administración

Page 544: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Creación de principales de host en Kerberos

Cada una de las máquinas dentro de la red ha de poder contactar con un KDCy se le debe haber asignado un realm Kerberos. Además, es necesario crear unprincipal de host o ”host principal” para cada máquina.

Hasta ahora se han tratado únicamente las credenciales de usuario. No obstante,los servicios ”kerberizados” también deben autentificarse en la mayoría de loscasos frente al usuario cliente. Para ello existen en la base de datos Kerberos los”host principals” para todos los hosts dentro de un realm.

La sintaxis del nombre es: host/ 〈nombre_host 〉@〈REALM〉, 〈nombre_host〉 esaquí el nombre completo del host correspondiente.

Aunque los principales de host se asemejan en muchos aspectos a los princi-pales normales de usuario, existen también algunas diferencias. La más im-portante radica en que la clave del principal de usuario está protegida por con-traseña. Si el usuario obtiene un ticket de KDC para determinar la autorización,ha de introducir su contraseña para que Kerberos pueda descifrar el ticket. Porconsiguiente, para un administrador de sistemas sería muy incómodo, ya quetendría que solicitar nuevos tickets para el daemon SSH cada ocho horas.

En el caso del principal de host, el problema se resuelve de la siguiente man-era: La clave necesaria para codificar el ticket original para el principal de hostes solicitada una vez por el administrador de KDC. Posteriormente esta clavese guarda en un fichero llamado keytab . Los servicios como el daemon SSHevalúan esta clave y la utilizan para recibir automáticamente nuevas clavessi fuera necesario. El fichero keytab estándar se encuentra en /etc/krb5.keytab .

Puede crear un principal de host para machine.sample.com introduciendo losiguiente durante su sesión con kadmin:

tierra:~ # kinit newbie/admin

newbie/[email protected]’s Password: <type password>

tierra:~ # kadmin add -r host/machine.sample.com

Max ticket life [1 day]:Max renewable life [1 week]:Principal expiration time [never]:Password expiration time [never]:Attributes []:

526 Instalación y administración de Kerberos

Page 545: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

En lugar de definir una contraseña para el nuevo principal, la opción -r ordena akadmin generar una clave aleatoria. En este caso es posible porque no deseamosninguna actividad de usuario para este principal. Se trata puramente de unacuenta de servidor para esta máquina.

Finalmente, extraiga la clave y guárdela en el fichero keytab local /etc/krb5.keytab . Este fichero pertenece al superusuario, por lo que debe ejecutar el si-guiente comando como usuario root:

tierra:~ # ktutil get host/machine.sample.com

A continuación y como se describe anteriormente, utilice el comando kdestroypara destruir el ticket de administración recibido a través de kinit.

Activación del soporte PAM para Kerberos

SuSE Linux incluye un módulo PAM denominado pam_krb5 que ofrece soportepara el acceso y actualización de contraseña bajo Kerberos. Este módulo puedeser utilizado por distintas aplicaciones tales como el acceso a consola, su y lasaplicaciones de acceso gráfico como KDM, donde el usuario introduce la con-traseña y requiere de la aplicación de autentificación la obtención de un ticketinicial Kerberos. Para permitir que los usuarios actualicen de forma transparentesu contraseña Kerberos mediante la utilidad estándar passwd (en lugar de tenerque emplear el programa kpasswd program), añada pam_krb5 a la configura-ción PAM de passwd.

El módulo pam_krb5 no fue específicamente diseñado para servicios de redque aceptaran tickets Kerberos como parte de la autentificación de usuario; éstaes una historia completamente diferente.

En todos los casos, edite los ficheros de configuración PAM de los servicios a losque desee añadir soporte Kerberos. Las siguientes aplicaciones pueden haceruso de pam_krb5 . También se presentan sus ficheros de configuración PAMcorrespondientes.

login /etc/pam.d/loginsu /etc/pam.d/sukdm, gdm, xdm /etc/pam.d/xdmxlock /etc/pam.d/xlockpasswd /etc/pam.d/passwd

527SuSE Linux – Manual de Administración

Page 546: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Utilización de pam_krb5

Es posible emplear pam_krb5 de dos formas diferentes, dependiendo de si pre-fiere convertir al KDC en el principal método de autentificación y utilizar lascontraseñas de la tradicional base de datos únicamente como un mecanismo desoporte o si desea mantener las bases de datos tradicionales como la fuente pri-maria y sólo quiere emplear pam_krb5 para obtener tickets Kerberos destina-dos a aquellos usuarios con principales en el KDC. Este último modelo se revelaespecialmente útil cuando es necesario realizar una migración desde algún otromecanismo de autentificación a Kerberos.

Como Kerberos sólo lleva a cabo la autentificación, aún será necesario un méto-do para distribuir la información de cuenta restante, tal como el uid y el direc-torio home. Uno de estos mecanismos es LDAP. No es posible utilizar NIS paraeste proceso, ya que Linux no soporta en la actualidad ningún esquema de se-guridad Kerberos para los servicios de red RPC.

Utilización de pam_krb5 como autentificación secundaria

En este modo, la autentificación primaria está encuadrada dentro del esque-ma de autentificación ya existente, que consiste en entradas de usuario en elfichero /etc/passwd o una base de datos NIS. La única diferencia está en que,además, si existe un principal Kerberos asociado al usuario, pam_krb5 inten-tará obtener un ticket en nombre del usuario, utilizando para ello la contraseñasuministrada previamente.

Por ejemplo, examine el fichero de configuración PAM para su, el cual contienelas siguientes líneas para el servicio auth :

auth sufficient pam_rootok.soauth required pam_unix.so nullok

Estas dos líneas indican a la librería PAM que, cuando se produzca la auten-tificación del usuario, lo primero que debe hacer es llamar al módulo pam_rootok . Si este módulo responde con éxito (que es el caso cuando el usuarioque realiza la llamada es el root), la petición su debe ser aceptada sin llevar acabo peticiones de autentificación adicionales. De otro modo, PAM procederáa llamar el módulo pam_unix , el cual realiza un proceso de autentificación”tradicional”, solicitando al usuario su contraseña y comparándola con la cor-respondiente a la cuenta del usuario en cuestión.

Para añadir soporte adicional Kerberos, es necesario añadir otro línea tras ésta,similar a la siguiente:

528 Instalación y administración de Kerberos

Page 547: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

auth optional pam_krb5.so try_first_pass \missing_keytab_ok \ccache=SAFE \putenv_direct

Esto hará que se ejecute el módulo pam_krb5 y se ignore cualquier error marca-do por él (por ejemplo, cuando no es posible obtener un ticket para el usuario).Con esta configuración, la contraseña se comprueba siempre con las entradascorrespondientes al marco original de autentificación.

Los cambios para el fichero de configuración PAM son similares en otros ser-vicios. Normalmente, es recomendable añadir la línea pam_krb5 tras la querealiza la llamada a pam_unix o pam_unix2 .

Utilización de pam_krb5 como autentificación primaria

labelsec:kerbadmin.pam.prim

Si ha migrado todos los usuarios a Kerberos, puede utilizar pam_krb5 como elmecanismo primario de autentificación y recurrir al fichero local de contraseñassi se produce un error como, por ejemplo, cuando no existe ningún principalpara un usuario específico o el KDC no está disponible. Con esta configuración,todas las cuentas de usuario residirán por defecto en la base de datos Kerberos yel mecanismo de seguridad representado por el fichero local de contraseñas sóloserá aplicable para cuentas como la de root.

El siguiente ejemplo ilustra cómo modificar /etc/pam.d/su para lograr estasituación (observe el argumento use_first_pass adicional para el módulopam_unix ):

auth sufficient pam_rootok.soauth sufficient pam_krb5.so missing_keytab_ok \

ccache=SAFE \putenv_direct

auth required pam_unix.so use_first_pass nullok

Este cambio incluye pam_krb5 antes que el módulo pam_unix y lo declarasuficiente, lo que significa que PAM regresará si pam_krb5 indica un mensajede éxito e ignorará la ejecución de pam_unix . Por otro lado, si no tiene éxito,continuará y recurrirá al fichero pam_unix.so .

Sin embargo, no todas las aplicaciones pueden ser modificadas tan fácilmentecomo su. A continuación se muestra el fichero PAM para el login (al menos laslíneas relacionadas con el proceso de autentificación):

529SuSE Linux – Manual de Administración

Page 548: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

auth requisite pam_unix2.so nullokauth required pam_securetty.soauth required pam_nologin.soauth required pam_env.soauth required pam_mail.so

Se introduce una línea para pam_krb5 antes de pam_unix2 y, en caso de éxi-to, se ignora la última, pero continua con los otros módulos. Este proceso es encierta forma más complicado, tal y como se puede advertir a continuación:

auth [success=1 default=ignore] \pam_krb5.so missing_keytab_ok \

ccache=SAFE \putenv_direct

auth requisite pam_unix2.so nullok... rest as above ...

Ello provoca que PAM ignore un módulo (pam_unix2 ) si pam_krb5 comu-nica un mensaje de éxito. Cualquier otro valor de respuesta es ignorado ypam_unix2 se ejecuta igual que antes.

Actualización de contraseña con pam_krb5

Cuando se utiliza Kerberos, normalmente existen dos alternativas para que losusuarios puedan actualizar su contraseña; mediante la utilidad kpasswd (que seutiliza exclusivamente para las contraseñas Kerberos) o haciendo que el admi-nistrador del sistema añada el módulo pam_krb5 a la configuración de passwd.

Para ello, modifique /etc/pam.d/passwd de la siguiente forma:

auth required pam_krb5.soaccount required pam_unix2.sopassword required pam_pwcheck.so nullokpassword required pam_krb5.sopassword required pam_unix2.so nullok use_first_pass use_authtoksession required pam_unix2.so

Si utiliza un servicio de directorios tal como LDAP, pero ya no lo emplea paraalmacenar las contraseñas de usuario (no es una buena idea mantener las con-traseñas en LDAP cuando ya dispone de Kerberos), modifique la configuraciónpasswd de PAM de forma equivalente a la siguiente:

auth required pam_krb5.soaccount required pam_unix2.sopassword required pam_pwcheck.so nullokpassword required pam_krb5.so nopasswdverifysession required pam_unix2.so

530 Instalación y administración de Kerberos

Page 549: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Configuración de SSH para la autentificación con Kerberos

OpenSSH soporta la autentificación con Kerberos tanto en la versión 1 como 2del protocolo. La versión 1 utiliza un tipo determinado de mensajes de protoco-lo para transmitir los tickets de Kerberos. La versión 2 ya no emplea Kerberosdirectamente sino ”GSSAPI”, General Security Services API. Esta interfaz de pro-gramación no es específica para Kerberos, sino que fue desarrollada para ocultarlas características del sistema de autentificación subyacente de la aplicación,independientemente de que sea Kerberos, SPKM u otro sistema semejante. Noobstante, la actual librería GSSAPI de SuSE Linux sólo soporta Kerberos.

Para utilizar sshd con la autentificación Kerberos, edite /etc/ssh/sshd_config y defina las opciones siguientes:

# These are for protocol version 1KerberosAuthentication yesKerberosTgtPassing yes# These are for version 2GSSAPIAuthentication yesGSSAPIKeyExchange yes

A continuación, reinicie el daemon SSH con la instrucción rcsshd restart .

Si quiere utilizar la autentificación con Kerberos con la versión 2 del proto-colo, ha de activar el soporte correspondiente también en el lado del cliente.Esto puede hacerse bien para todo el sistema mediante el fichero de con-figuración /etc/ssh/ssh_config o bien en base a usuarios a travésdel fichero ~/.ssh/config . En ambos casos se debe añadir la opciónGSSAPIAuthentication yes al fichero de configuración.

En este momento debería poderse conectar mediante autentificación Kerberos.Utilice klist para comprobar si dispone de un ticket válido para estableceruna conexión con el servidor SSH. Para forzar la utilización de la versión 1 delprotocolo SSH, introduzca la opción -1 en la línea de comandos.

tierra:newbie # ssh earth.sample.com

Last login: Fri Aug 9 14:12:50 2002 from zamboni.sample.comHave a lot of fun...

tierra:newbie #

531SuSE Linux – Manual de Administración

Page 550: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Utilización de LDAP y Kerberos

Con el uso de Kerberos, LDAP permite distribuir información de usuarios(número de identificación de usuario, grupos, directorios locales, etc.) en la redlocal. Ni que decir tiene, esto exige medidas de codificación muy severas paraevitar, por ejemplo, la falsificación de paquetes.

Kerberos puede también utilizarse para la comunicación LDAP.

OpenLDAP implementa la mayoría de los tipos de autentificación a través deSASL, Simple Authentication Session Layer. SASL es básicamente un protoco-lo de red usado para la autentificación. SuSE Linux utiliza la implementacióncyrus-sasl y soporta distintos tipos de autentificación. La autentificación conKerberos se implementa vía GSSAPI (General Security Services API).

El plugin SASL para GSSAPI no está incluido en la instalación estándar. Puedeinstalarlo manualmente con:

tierra:~ # rpm -ivh cyrus-sasl-gssapi-*.rpm

Para poder vincular Kerberos con el servidor OpenLDAP, cree un principalldap/earth.sample.com y añádalo a keytab :

tierra:~ # kadmin add -r ldap/earth.sample.com

tierra:~ # ktutil get ldap/earth.sample.com

A estas alturas ha de tener en cuenta el siguiente obstáculo: el servidor LDAP(slapd) funciona de manera estándar para el grupo y usuario ldap , mientrasque keytab sólo puede ser leído por el usuario root . Por lo tanto dispone dedos opciones: cambiar la configuración de LDAP para que el servidor sea ini-ciado como usuario root o conferir para keytab derechos de lectura para elgrupo ldap .

Para operar slapd como usuario root , edite el fichero /etc/sysconfig/openldap y desactive las variables OPENLDAP_USERy OPENLDAP_GROUPin-troduciendo un signo de comentario al principio de las líneas.

Para hacer el fichero keytab legible para el grupo ldap , cambie los derechos deeste modo:

tierra:~ # chgrp ldap /etc/krb5.keytab

tierra:~ # chmod 640 /etc/krb5.keytab

Aunque ninguna de ambas soluciones es perfecta, actualmente no es posibleconfigurar OpenLDAP de forma que utilice su propio fichero keytab .

Finalmente, reinicie el servidor LDAP con el comando rcldap restart .

532 Instalación y administración de Kerberos

Page 551: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Autentificación Kerberos con LDAP

Ahora ha de poder ejecutar aplicaciones como ldapsearch automáticamentecon autentificación Kerberos.

tierra:~ # ldapsearch -b ou=People,dc=suse,dc=de ’(uid=newbie)’

SASL/GSSAPI authentication startedSASL SSF: 56SASL installing layers[...]

# newbie, People, suse.dedn: uid=newbie,ou=People,dc=suse,dc=deuid: newbiecn: Olaf Kirch[...]

Como puede ver en las líneas superiores, ldapsearch emite el mensaje de queha iniciado la autentificación GSSAPI. El siguiente mensaje, algo más críptico,indica el ”Security Strenth Factor” (SSF) como 56. (El valor 56 en este caso esalgo arbitrario. Seguramente haya sido escogido porque representa el númerode bits de una clave de cifrado DES). Lo que esta línea significa realmente esque la autentificación GSSAPI ha tenido éxito y que la conexión LDAP estaráprotegida por codificación.

No olvide que la autentificación con Kerberos es un proceso recíproco. Es de-cir, no es sólo usted quien se ha autentificado de cara al servidor LDAP. Éstetambién se ha autentificado frente a usted. De esta forma puede estar seguro decomunicarse con el servidor LDAP previsto y no con otro servicio simulado porun agresor.

En aquellos casos donde puedan usarse distintos mecanismos SASL, puede obli-gar a ldapsearch a utilizar GSSAPI introduciendo la opción -Y GSSAPI en lalínea de comandos.

Autentificación con Kerberos y controles de acceso LDAP

En el apartado anterior nos hemos autentificado con éxito frente al servidorLDAP. En el siguiente paso se vera cómo permitir a todos los usuarios modifi-car el atributo login shell en sus datos de usuario LDAP.

Suponiendo que utilice una estructura según la cual la entrada LDAP delusuario joe se encuentra en uid=joe,ou=people,dc=suse,dc=de , puededefinir las siguientes reglas de acceso en el fichero /etc/openldap/slapd.conf :

533SuSE Linux – Manual de Administración

Page 552: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

# This is required for things to work _at all_access to dn.base="" by * read# Let each user change their login shellaccess to dn="*,ou=people,dc=suse,dc=de" attrs=loginShell

by self write# Every user can read everythingaccess to *

by users read

La segunda instrucción confiere a los usuarios autenfificados derechos de escrit-ura sobre el atributo loginShell de su entrada LDAP. La tercera instrucciónotorga a todos los usuarios autentificados permiso de lectura para todo el direc-torio LDAP.

Ahora bien, ¿cómo puede averiguar el servidor LDAP que [email protected] Kerberos es el equivalente de LDAP DN (ingl. distinguished name)uid=joe,ou=people,dc=suse,dc=de ? Esta correspondencia se definemanualmente a través de la directiva saslExpr . En el ejemplo se añade aslapd.conf :

saslRegexpuid=(.*),cn=GSSAPI,cn=authuid=$1,ou=people,dc=example,dc=com

Para comprender este mecanismo es necesario tener en cuenta que OpenLDAPcrea un DN cada vez que SASL autentifica un usuario. Este DN se compone delnombre transmitido por SASL (como p. ej.joe ) y del tipo de autenficación SASL(GSSAPI). El resultado en este caso sería uid=joe,cn=GSSAPI,cn=auth .

Si se ha configurado un saslRegexp , el servidor LDAP comprueba el DN dela información SASL con el primer argumento como expresión regular. Si estaexpresión regular resulta válida, el nombre es sustituido por el segundo argu-mento de la instrucción saslRegexp . El comodín ($1) es reemplazado por laparte de la expresión detectada a través de la expresión (.*) .

También es posible definir complicados patrones de búsqueda. Si utiliza unaestructura de directorios compleja o si el nombre de usuario en la estructuraque usted emplea no es parte del DN, puede usar expresiones de búsqueda querealicen la correspondencia entre el DN de SASL y el DN de usuario.

534 Instalación y administración de Kerberos

Page 553: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

La seguridad, una cuestión de confianza

Conceptos básicos

Una de las características fundamentales de un sistema Linux/Unix es que va-rios usuarios (multi-user) pueden realizar en un mismo ordenador diferentestareas al mismo tiempo (multi-tasking). Por otra parte el sistema operará en redde forma transparente, lo que significa que el usuario no podrá percibir si losdatos o aplicaciones con los que se esté trabajando se encuentran alojados deforma local en el ordenador o en alguna otra parte.

Esta característica particular de que varios usuarios puedan trabajar con elsistema, exige que estos usuarios y sus datos también puedan ser diferencia-dos unos de otros. Dado que en este contexto intervienen otros aspectos comopueden ser los de índole emocional, esto hace que se le dedique especial aten-ción a la seguridad y a la protección de la privacidad.

El término protección de datos existe desde la época en que los ordenadoresaún no estaban unidos entre sí mediante una red. En aquellos tiempos lo pri-mordial era que después de una pérdida o después de un fallo en el dispositivode almacenamiento (por lo general el disco duro) los datos siguieran estandodisponibles, incluso si este fallo provocaba la caída temporal de una infraestruc-tura mayor. Si bien este capítulo del manual de SuSE trata principalmente de laconfidencialidad de los datos y de la protección de la privacidad del usuario,hay que destacar que un concepto amplio de seguridad siempre contempla quese realice un backup periódico que funcione correctamente y que sea revisado.Sin el backup de los ficheros no sólo será difícil acceder a los datos en caso de unfallo del hardware sino también particularmente cuando exista la sospecha deque alguien ha tenido acceso a ciertos datos sin disponer de autorización.

Seguridad local y seguridad en la red

Parece sensato y lógico considerar que el acceso a los datos de un ordenador estan sólo posible cuando estos han sido puestos a nuestra disposición. Si no sedesea depositar sin más los datos en una caja fuerte, existen diferentes formasde acceder a ellos:

alguien opera un ordenador y llama por teléfono al usuario de los datos,

directamente desde la consola del ordenador (acceso físico),

535SuSE Linux – Manual de Administración

Page 554: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

a través de un puerto serie, o

a través de una red.

Todas estas alternativas deberían presentar un rasgo en común: cada uno se de-bería autentificar como usuario antes de poder acceder a los recursos o datosdeseados. Dicho de otra forma: se debe haber demostrado una identidad quemediante una regla de acceso le permitirá acceder a los recursos (datos o ac-ciones) requeridos. Un servidor de web puede ser en este aspecto algo diferente,pero en cualquier caso seguro que nadie desea que el servidor de web revele susdatos personales al primero que pase por allí.

El primer punto de la lista es el que más se asemeja al caso del ser humano.Por ejemplo, en el caso de un banco hay que demostrar al empleado que tienederecho a acceder a su cuenta, ya sea mediante su firma, un PIN o una con-traseña. De esta manera demostrará que usted es la persona que pretende ser.En algunos casos (que probablemente poco tienen que ver con ordenadores, sis-temas operativos y redes) es posible ganarse la confianza del poseedor de unainformación ofreciéndole con habilidad pequeños datos fragmentados sobre he-chos de la naturaleza más diversa o mediante una hábil retórica de tal modo quepoco a poco el individuo irá ofreciendo poco a poco más información sin darsecuenta. En los círculos hackers, a esto se le llama ”Social Engineering”. Contraeste tipo de ataque sólo se puede actuar informando debidamente al personal ycon un uso sensato de la información y del lenguaje. Los ataques a los sistemasinformáticos a menudo van precedidos de un asedio de tipo Social-Engeniering,contra el personal de recepción, el personal de servicio de la empresa o contramiembros de la familia. Este tipo de ataque no se suele detectar hasta muchotiempo después.

Alguien que quiere acceder a ciertos datos de forma no autorizada puede uti-lizar el método más tradicional ya que el mismo hardware es un punto deataque. El ordenador debe estar protegido contra robo, cambio, y sabotaje en suspiezas y en su unidad (así como el backup de sus datos). A este tipo de ataquespueden añadirse la conexión a una red o un cable eléctrico. El proceso de ar-ranque debe de estar asegurado ya que una determinada combinación de teclasconocida puede producir en el ordenador una reacción concreta. Para evitar estose pueden utilizar contraseñas para la BIOS y para el bootloader.

Si bien los puertos serie con terminales en serie son todavía habituales, apenasse siguen instalando en puestos de trabajo nuevos. En lo que respecta al tipo deataque, una terminal en serie es un caso excepcional: no se trata de un puertode red ya que para la comunicación entre las unidades del sistema no se uti-liza ningún protocolo de red. Un simple cable (o un puerto infrarrojo) serviráde medio de transmisión para caracteres sencillos. El cable en sí es el punto de

536 La seguridad, una cuestión de confianza

Page 555: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

ataque más sencillo. Sólo hay que conectar una vieja impresora y recibir la infor-mación. Lo que es posible con una simple impresora se puede hacer también deotra forma a través de medios más sofisticados.

Dado que abrir un fichero en un ordenador está sometido a otras limitaciones deacceso que las de abrir una conexión en red a un servicio en un ordenador, hayque hacer distinción entre la seguridad local y la seguridad de red. La diferenciaradica en que los datos deben ir ligados en paquetes para ser enviados y llegar ala aplicación.

Seguridad local

Como ya mencionamos, la seguridad local comienza con las características físi-cas del ordenador. Partimos de la suposición de que un ordenador está con-stituido de forma que la seguridad se adecua al nivel deseado y necesario.Colóquese en el papel de quien pretende ”asaltar” un ordenador: mientrassigamos hablando de ”seguridad local” la tarea consiste en diferenciar a unosusuarios de otros, de modo que ningún usuario pueda obtener los derechos deotro usuario. Esta es la regla general, pero evidentemente un caso diferente es lacuenta root , que posee todos los derechos sobre el sistema. Cuando un usuariose convierte en root , puede transformarse en cualquiera de los usuarios localessin necesidad de contraseña y de este modo leer cualquier fichero local.

Contraseñas

El sistema Linux no guarda en forma de texto legible las contraseñas que usteddebería haber establecido, ya que en caso de que el fichero en el cual se guardanlas contraseñas fuera robado, todas las cuentas de ese sistema estarían en peli-gro. En lugar de ello, el sistema codifica su contraseña y cada vez que usted in-troduzca su contraseña ésta será codificada y el resultado se comparará con lacontraseña archivada. Esto naturalmente sólo tiene sentido si de la contraseñacodificada no se puede deducir la contraseña en sí. El caso es como sigue: a estetipo de logaritmos se les denomina ”logaritmos trampa” porque sólo funcio-nan en una dirección. Un atacante que haya obtenido una contraseña codificadano puede simplemente descodificarla y ver la contraseña. La única solución esprobar una por una todas las combinaciones de letras posibles hasta dar con lacontraseña que una vez codificada se parece a la que tenía. Se puede calcularrápidamente el gran número de contraseñas posibles que se pueden hacer com-binando ocho letras.

En los años 70, un argumento a favor de este concepto de seguridad era queel algoritmo utilizado era muy lento y que necesitaba segundos para codificaruna contraseña. Los PCs actuales pueden realizar desde varios cientos de mileshasta millones de codificaciones en un segundo lo que requiere dos cosas: las

537SuSE Linux – Manual de Administración

Page 556: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

contraseñas codificadas no deben ser visibles para ninguno de los usuarios(/etc/shadow no puede ser leído por un usuario normal) y las contraseñasno deben ser fáciles de adivinar para el caso en que por un error se pudieranleer las contraseñas codificadas. Una contraseña como ”fantasía” reescrita como”f@nt@s13” no resulta muy útil: Tales estrategias para despistar son un juego deniños para los programas de los piratas informáticos que utilizan diccionarioscomo fuente de consulta. Es mejor utilizar combinaciones de letras que no for-men una palabra conocida y que sólo tengan sentido para uno mismo (pero quetampoco sea la combinación que abre el candado de la maleta). Una buena con-traseña podrían ser las letras iniciales de las palabras de una frase. Por ejemplo:el título de un libro, ”El nombre de la rosa” de Umberto Eco, encierra una bue-na contraseña: ”EndlrdUE”. Una contraseña del tipo ”Casanova” o ”Lorena76”podría ser adivinada por alguien que le conozca más o menos bien.

El proceso de arranque

Evite que se pueda arrancar el sistema mediante un disquete o un CDROM, yasea desmontando las unidades de lectura o seleccionando una contraseña BIOSy determinando en la BIOS que el arranque se realice exclusivamente desde eldisco duro.

Los sistemas Linux arrancan generalmente con un boot-loader, que permitetransmitir opciones adicionales al kernel que se va a arrancar. Este tipo de ac-ciones hacen peligrar la seguridad, en gran medida porque el kernel no sólofunciona con privilegios de usuario root sino porque es el que otorga desde unprincipio los privilegios root. Si utilizan LILO como boot-loader, puede evitar es-to introduciendo otra contraseña adicional en /etc/lilo.conf (ver El procesode arranque y el gestor de arranque en la página 77).

Permisos de acceso

Hay que partir del principio de que siempre se debe trabajar con el menornúmero de privilegios posible. En definitiva, no es necesario estar registrado co-mo usuario root para leer o escribir e-mails. Si el programa de correo electrónico(MUA = Mail User Agent) con el que se trabaja tuviera un fallo, este repercu-tiría con los mismos derechos con los que se tenían activos en el momento delproblema. Lo que se trata aquí es de minimizar los daños.

Los derechos individuales de los más de 200000 ficheros que se distribuyencon SuSE se otorgan de forma cuidadosa. El administrador de un sistema só-lo debería instalar software adicional u otros ficheros con mucha precaución ysiempre prestando atención especial a los derechos atribuidos a los ficheros. Unadministrador experimentado y consciente de la importancia del tema de la se-guridad siempre debe utilizar la opción -l en el comando ls , lo que le ofrecerá

538 La seguridad, una cuestión de confianza

Page 557: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

una lista completa de los ficheros incluyendo todos los derechos de acceso de talforma que rápidamente podrá detectar si algún derecho no está bien adjudica-do. Un atributo que no está bien adjudicado puede originar que un fichero pue-da ser borrado o sobreescrito. Esto puede originar que los ficheros intercambia-dos puedan ser ejecutados también por root o que los ficheros de configuraciónde programas puedan ser utilizados como root . Alguien que atacara el sistemapodría de este modo ampliar considerablemente sus derechos. A este tipo de in-trusiones se les denomina ”huevos de cuco” porque el programa (el huevo) esdepositado en el nido por un usuario extraño (el pájaro) y ejecutado (incubado)de forma similar a cómo ocurre con el cuco que hace que otros pájaros incubensus huevos.

Los sistemas SuSE disponen de ficheros permissions , permissions.easy ,permissions.secure y permissions.paranoid en el directorio /etc . Enestos ficheros se determinan derechos especiales sobre archivos como por ejem-plo directorios de escritura universal o setuser-ID-bits (el programa no se ejecu-ta con la autorización del propietario del proceso que lo ha arrancado sino conla autorización del propietario del fichero, que por norma general es root ). Elfichero /etc/permissions.local está a disposición del administrador; aquípodrá guardar sus propias modificaciones. Para definir con comodidad cuálesson los ficheros usados por los programas de configuración de SuSE para la ad-judicación de los permisos existe el punto del menú ‘Seguridad’ de YaST2. Enel fichero /etc/permissions y en la página de manual del comando chmod(man chmod) se recoge más información sobre este tema.

Buffer overflows, format string bugs

Siempre que un programa procesa datos que de una forma u otra están o hanestado bajo la influencia de un usuario se requiere mucha precaución. Princi-palmente esto afecta a los programadores de la aplicación: Un programadordebe garantizar que los datos serán bien interpretados por el programa, que enningún momento se escribirán en sectores de memoria demasiado pequeños yse responsabilizará de que su propio programa entregue los datos adecuada-mente y a través de las interfaces predefinidas para ello.

Hablamos de que se ha producido un ”buffer overflow” cuando al definir unsector de la memoria del búfer no se tiene en cuenta el tamaño del búfer. Puedeocurrir que los datos (que provienen de un usuario) ocupen más espacio del quehay disponible en el búfer. Al reescribir el búfer más allá de sus límites puedeocurrir que (en vez de sólo procesar los datos) el programa ejecute secuencias deprogramas estando éstas bajo el control del usuario y no así del programador.Este es un error grave, especialmente cuando el programa corre con derechosespeciales (véase derechos de acceso más arriba). Los llamados ”format string

539SuSE Linux – Manual de Administración

Page 558: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

bugs” funcionan de un modo algo distinto, pero utilizan igualmente user-inputpara desviar el programa de su camino real.

Estos errores de programación son aprovechados (ingl. exploit) por programasque se ejecutan con privilegios superiores, o sea programas del tipo setuid y set-gid. Es posible protegerse y proteger el sistema frente a este tipo de errores re-tirando del programa los derechos privilegiados de ejecución. Aquí también esválido el principio de otorgar privilegios lo más bajos posible (véase el apartadosobre los derechos de acceso).

Dado que los ”buffer overflows” y los ”format string bugs” son errores en eltratamiento de los datos del usuario, no son necesariamente ”explotados” so-lo cuando se dispone de acceso a un ”login” local. Muchos de estos errores, yaconocidos, pueden ser ”explotados” a través de una conexión en red. Por estarazón, no es posible determinar si los ”buffer overflows” y los ”format stringbugs” han sido originados por el ordenador local o por la red.

Virus

En contra de lo que se cree, sí existen virus para Linux. Los virus conocidosfueron denominados ”Proof-of-Concept” por sus autores para demostrar queesta técnica funciona. Sin embargo no se ha observado ninguno de estos virus en”libertad”.

Para desarrollarse y sobrevivir, los virus necesitan un huésped. Este huéspedes un programa o un sector de memoria de importancia para el sistema, comop.ej. el Master-Boot-Record, y el código de programa del virus debe tener acce-so de escritura a éste. Debido a sus características multi-usuario, Linux puedelimitar el derecho de escritura de los archivos, especialmente de los ficheros desistema. Es decir, que si se trabaja como root , aumentan las posibilidades deque su sistema sea infectado por un virus de este tipo. Por lo tanto, tenga encuenta el principio del menor privilegio posible. De este modo, lo difícil seríaque su sistema se pudiera llegar a infectar con un virus trabajando bajo Linux.Por otra parte, no debería ejecutar un programa que haya bajado de Internet ycuyo origen desconoce. Los paquetes SuSE-rpm están firmados de forma crip-tográfica. Estas firmas digitales avalan el esmero de SuSE al elaborar el paquete.Los virus son un clásico síntoma de que un sistema altamente seguro se vuelveinseguro cuando el administrador o el usuario no asumen con seriedad el temade la seguridad.

No hay que confundir los virus con los gusanos, que también son fenómenosrelacionados con las redes pero que no necesitan un huésped para propagarse.

540 La seguridad, una cuestión de confianza

Page 559: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

La seguridad en la red

La misión de la seguridad local es diferenciar entre los usuarios de un orde-nador, en particular el usuario root . Por el contrario, la seguridad de la redconsiste en proteger el sistema entero contra ataques provenientes de la red. Sibien al registrarse en el sistema de la manera convencional se deben introducirun nombre de usuario y una contraseña, la identificación del usuario es más untema de seguridad local. Al registrase en la red hay que considerar dos aspectosde seguridad: lo que sucede hasta que se ha conseguido con éxito la autentifi-cación (seguridad de red) y lo que ocurre posteriormente (local).

X windows (Autentificación X11)

Como ya se ha mencionado anteriormente, la "transparencia respecto a la red"es una de las características básicas del sistema Unix. Esto es así sin lugar a du-das en el caso de X11, el sistema windowing de los sistemas Unix. Permite regis-trarse sin más en un ordenador remoto e iniciar un programa que se podrá veren el propio ordenador a través de la red.

Cuando nuestro servidor X tiene que mostrar un cliente X a través de la red,debe proteger los recursos que gestiona (el display) contra accesos no autor-izados. En este caso concreto, esto significa que el programa cliente tiene querecibir derechos. En X-Windows esto sucede de dos formas: Controles de accesobasados en host y controles basados en cookies. Los primeros están basados enla dirección IP del ordenador en el que se debe ejecutar el programa cliente y secontrolan con el programa xhost . El programa xhost introduce la dirección IPde un cliente legítimo en una mini base de datos en el servidor X. Pero limitarsea establecer una única autentificación en una dirección IP no es precisamente se-guro. Otro usuario podría estar activo en el ordenador con el programa clientey tendría acceso al servidor X como si hubiera robado la dirección IP. Por es-ta razón aquí no profundizaremos más sobre estos métodos. La manpage delcomando xhost ofrece más explicaciones sobre el funcionamiento (y tambiéncontiene la advertencia).

Los controles de acceso basados en ”cookies” utilizan como medio de identi-ficación una cadena de caracteres que sólo conocen el servidor X y el usuarioregistrado legítimamente. El cookie se utiliza como método de identificaciónsimilar a una contraseña. Al hacer login, este ”cookie” (la palabra inglesa cook-ie significa galleta y aquí hace referencia a las galletas chinas de la fortuna, quecontienen un refrán en su interior) se graba en el fichero .Xauthority del di-rectorio personal del usuario y de este modo, está a disposición de cualquiercliente de X Windows que quiera abrir una ventana en X-server. El programaxauth ofrece al usuario la herramienta para explorar el fichero .Xauthority .No se podrán abrir más ventanas de nuevos clientes X si .Xauthority se bor-ra del directorio personal o si se le cambia el nombre. Para ampliar información

541SuSE Linux – Manual de Administración

Page 560: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

sobre el tema de la seguridad de Windows X le recomendamos la manpage deXsecurity (man Xsecurity ).

ssh (secure shell) puede transmitir la conexión a un servidor X de formatransparente (o sea, no directamente visible) para un usuario a través de unaconexión de red completamente codificada. En tal caso se habla de ”X11-forwarding”. En este caso, en el lado del servidor se simula un servidor X y enla shell del lado remoto se coloca la variable DISPLAY.

AvisoSi considera que el ordenador en el que se está registrando no es lo su-ficientemente seguro, no debería dejar que se realicen conexiones X-windows. Con el ”X11-forwarding” conectado, los piratas podrían auten-tificarse y conectarse con su servidor X a través de su conexión ssh y, p.ej., espiar su teclado.

Aviso

Buffer overflows y format string bugs

Lo dicho sobre ”buffer overflows” y ”format string bugs” en el apartado de ”se-guridad local”, se aplica también a la seguridad de red, si bien aquí estos erroresya no pueden ser directamente clasificados como locales o remotos. Del mismomodo que en las variantes locales de estos errores de programación, por lo ge-neral en los servicios de red los búfer Overflows tienen como objetivo los priv-ilegios de root . De no conseguir directamente acceso a los privilegios root, elpirata podría abrirse camino hasta una cuenta local con pocos privilegios en lacual podría aprovecharse de problemas de seguridad (locales), en caso de queexistieran.

Las variantes más comunes de ataque remoto a través de la red son los búferoverflows y los format string bugs. Mediante listas de correo de seguridadse distribuyen los llamados ”exploits”, que no son más que programas queaprovechan los puntos débiles hallados recientemente. Así mismo las personasque no conozcan con lujo de detalles estos puntos débiles o lagunas puedenaprovecharse de ellas. Con el paso de los años se ha demostrado que el hecho deque estos ”exploitcodes” circulen libremente ha contribuido a que la seguridadde los sistemas operativos aumente debido a que los productores de sistemasoperativos se ven obligados a solucionar los problemas de su software. En elcaso del software cuyo source-code se distribuye de forma libre (SuSE Linux esdistribuido con todas las fuentes disponibles), alguien que encuentre una lagunacon ”exploitcodes” puede ofrecer al mismo tiempo una sugerencia para solven-tar el problema.

542 La seguridad, una cuestión de confianza

Page 561: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

DoS - Denial of ServiceEl objetivo de este tipo de ataques es el de interrumpir el servicio (o incluso todoel sistema). Esto puede llevarse a cabo de las maneras más diversas: Por sobre-carga, ocupando el sistema con paquetes absurdos o mediante el uso de ”remotebuffer overflows”, que no pueden ser utilizados de forma directa para ejecutarprogramas en la unidad remota.En la mayoría de los casos, un DoS encuentra su justificación en el hecho deque un servicio simplemente ya no esté disponible. El hecho de que un serviciofalte puede traer consigo una serie de consecuencias. Véase ”man in the middle:sniffing, tcp connection hijacking, spoofing” y ”DNS poisoning”.

man in the middle: sniffing, tcp connection hijacking, spoofingDe forma general se denomina con el término ”man in the middle attack” alataque que se realiza desde la red y en el cual el atacante ocupa una posición in-termedia entre dos unidades que se comunican. Todos tienen por lo general unacosa en común: la víctima no se percata de nada. Existen muchas variaciones: elatacante intercepta la comunicación y para que la víctima no se percate de nada,establece él mismo una comunicación con la máquina objetivo. Sin darse cuen-ta, la víctima ha abierto una comunicación con el ordenador equivocado quese hace pasar por su objetivo. La forma más sencilla de ”man in the middle at-tack” es el ”sniffer”. Simplemente espía las conexiones de red que pasan por él(sniffing = ingl. fisgonear). Todo se vuelve más complicado cuando el atacantede por medio intenta tomar posesión de una conexión ya establecida (hijacking= ingl. secuestrar). Para ello, el atacante tiene que ir analizando durante algúntiempo los paquetes que van pasando de largo para poder prever la secuenciade números TCP correcta de la conexión TCP. Cuando consigue asumir el pa-pel del objetivo de la conexión, la víctima lo nota ya que de su lado la conexiónfinaliza como no válida. El atacante se aprovecha sobre todo de protocolos queno estén protegidos de forma criptográfica contra ”hijacking” y en los cuales alinicio de la conexión se realiza una autentificación. Se denomina ”spoofing” alenvío de paquetes con datos de remitente modificados; por lo general la direc-ción IP. La mayoría de los ataques requieren el envío de paquetes falsificados, locual en Unix/Linux sólo puede ser realizado por el superusuario (root ).Muchas de las modalidades de ataque vienen acompañadas de un DoS. Sise ofrece la oportunidad de separar un ordenador de la red de forma súbita(aunque sea sólo un momento) se facilita el poder realizar un ataque activo yaque tras ello no se esperarían más problemas.

DNS poisoningEl pirata intenta ”envenenar” ((ingl. poisoning)) el cache de un servidor DNSpor medio de un paquete respuesta DNS falsificado (”spoofted”) para que en-

543SuSE Linux – Manual de Administración

Page 562: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

tregue la información deseada a una víctima que la solicita. Generalmente elatacante deberá recibir algunos paquetes del servidor y analizarlos para poderintroducir de forma verosímil esta información a un servidor DNS. Dado quemuchos servidores han configurado una relación de confianza con los demásordenadores mediante sus direcciones IP o los hostnames, puede que uno de es-tos ataques pueda dar frutos rápidamente a pesar del trabajo que conlleva. Noobstante, una condición para conseguirlo es un buen conocimiento de la estruc-tura de confianza existente entre estos ordenadores. En la mayoría de los casosel atacante no puede evitar que se tenga que ejecutar un DoS perfectamente sin-cronizado contra un servidor DNS cuyos datos se desean falsificar.

Esto se puede remediar mediante el uso de una conexión codificada de formacriptográfica, la cual puede verificar la identidad del objetivo de la conexión.

Gusanos

A menudo se equipara a los gusanos con los virus, pero existe una gran dife-rencia entre ellos: un gusano no tiene que infectar un programa huésped y suespecialidad consiste en expandirse lo más rápidamente posible por la red. Al-gunos gusanos conocidos, como son p.ej. Ramen, Lion y Adore, hacen uso delagunas muy populares en programas de servidor como bind8 o lprNG . Es re-lativamente fácil protegerse contra los gusanos, ya que desde el momento en elque se detecta la laguna y hasta que aparece el gusano suelen transcurrir variosdías, permitiendo que aparezcan paquetes de update. Naturalmente es requisitoindispensable que el administrador del sistema instale los Security-updates ensu sistema.

Trucos y consejos: indicaciones generales

Información: Para asegurar una gestión eficiente de la seguridad es necesarioestar al día sobre los últimos desarrollos y los problemas de seguridad más re-cientes. Una muy buena protección contra todo tipo de fallos consiste en im-plementar de la forma más rápida posible los paquetes de update que se anun-cien en un Security-Announcement. Los anuncios de seguridad de SuSE sedistribuyen a través de una lista de correo en la que usted puede inscribirsesiguiendo los enlaces que encontrará en http://www.suse.de/security [email protected] es la primera fuente de informaciónsobre paquetes de actualización donde el equipo de seguridad publica la infor-mación más actual.

La lista de correo [email protected] es un foro de discusión en el quese puede obtener mucha información sobre el tema de la seguridad. Para apun-tarse en la lista hay que dirigirse a la misma URL utilizada para obtener infor-mación sobre actualizaciones: [email protected] .

544 La seguridad, una cuestión de confianza

Page 563: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Una de las listas de correo sobre seguridad más conocidas del mundo es la [email protected] . Le recomendamos encarecidamente leer estalista en la que aparece una media de 15 a 20 mensajes al día. En http://www.securityfocus.com encontrará más información.

A continuación se recogen algunas normas fundamentales que puede ser reco-mendable tenerlas en cuenta:

Evite trabajar como root , siguiendo el principio de utilizar el mínimoprivilegio posible para una tarea. Esto reduce las posibilidades de un hue-vo de cuco o un virus y de este modo evitará problemas.

Use conexiones codificadas siempre que le sea posible para ejecutar ta-reas remotas. ”ssh” (secure shell) es estándar. Evite telnet , ftp , rsh yrlogin .

No utilice métodos de autentificación que estén únicamente basados en ladirección IP.

Mantenga siempre actualizados sus paquetes más importantes para tra-bajar en la red y abónese a las listas de correo de anuncios acerca del soft-ware correspondiente (p.ej.: bind , sendmail , ssh ). Esto también es váli-do para la seguridad local.

Optimice los derechos de acceso de los ficheros del sistema que sean deimportancia para la seguridad adaptando el fichero /etc/permissionsde su elección a sus necesidades. Un programa setuid que ya no tengaun setuid-bit tal vez ya no pueda desempeñar realmente su función peropor norma general ya no constituye un problema de seguridad. Es reco-mendable proceder de forma similar con los ficheros y los directorios conacceso de escritura universal.

Desactive todos los servicios de red que no sean estrictamente necesar-ios para su servidor. Esto hace que su servidor sea más seguro y evi-ta que sus usuarios se acostumbren a usar un servicio que usted nun-ca ha puesto voluntariamente a su disposición (legacy-Problem). Conel programa netstat encontrará los puertos abiertos (con el estado desockets LISTEN). Se puede utilizar con las opciones netstat -ap onetstat -anp . Con la opción -p se puede ver directamente qué procesoocupa un puerto y con qué nombre.

Compare los resultados que ha obtenido con los de un portscan completode su ordenador desde fuera. El programa nmap es ideal para ello. Revisacada uno de los puertos y según la respuesta de su ordenador puede ex-traer conclusiones sobre un servicio que se encuentra en espera detrás del

545SuSE Linux – Manual de Administración

Page 564: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

puerto. Nunca escanee un ordenador sin la aprobación directa del admi-nistrador ya que esto podría ser interpretado como un acto de agresión.No es suficiente con escanear los puertos TCP. También deberá escanearlos puertos UDP (opciones -sS y -sU ).

Para realizar una prueba de integridad de confianza de los archivos quese encuentran en su sistema deberá utilizar tripwire y codificar la basede datos para protegerla de manipulaciones. Además necesitará hacer unbackup de esta base de datos en un dispositivo de almacenamiento dedatos que se encuentre fuera de la máquina y que no esté conectado con lared a través del ordenador.

Tenga cuidado a la hora de instalar software extraño. Ya se ha dado el casode que un pirata haya incluido un caballo de Troya en los archivos tar deun software de seguridad. Por suerte esto se detectó a tiempo. Si instalaun paquete binario, debería estar seguro de su procedencia.

Los paquetes rpm de SuSE se distribuyen con la firma gpg. La clave queutilizamos para firmarlos es:

ID:9C800ACA 2000-10-19 SuSE Package Signing Key <[email protected]>

Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C800ACA

El comando rpm -checksig paket.rpm muestra si la suma de controly la firma del paquete (¡no instalado!) se corresponden. La clave se en-cuentra en el primer CD de distribución SuSE a partir de SuSE-7.1 y en lamayoría de los servidores de códigos (keyserver) del mundo.

Compruebe regularmente el backup de los datos y de su sistema. En de-terminadas circunstancias, si la información de la función del backup noes precisa, el backup carece de utilidad.

Revise sus ”Logfiles”. En la medida de lo posible debería escribir un pe-queño script que se encargue de buscar entradas irregulares en sus log-files. Esta tarea no es para nada trivial ya que sólo usted sabe qué es irreg-ular y qué no lo es.

Utilice tcp_wrapper para restringir el acceso a los diferentes ser-vicios de su ordenador mediante un IP. Sólo aquellas direccionesIP que tengan permiso explícito podrán acceder a unos determina-dos servicios. En las páginas de manual tcpd(8) y hosts_access(man tcpd , man hosts_access ) encontrará más información sobretcp_wrappern .

546 La seguridad, una cuestión de confianza

Page 565: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

17Se

gu

rida

de

nla

red

Puede utilizar el firewall (cortafuegos) SuSE como protección adicional atcpd (tcp_wrapper).

Ponga en práctica sus conceptos de seguridad de forma redundante: unmensaje que llega dos veces es mejor que uno que no llega nunca. Estotambién es válido para las conversaciones con los compañeros.

Informe a SuSE sobre nuevos problemas de seguridad

Si encuentra un problema de seguridad (por favor compruebe los paquetes deactualización existentes) remítase entonces con toda confianza a la dirección dee-mail [email protected] . Le rogamos que adjunte una descripción detalla-da del problema así como el número de versión del paquete utilizado. Procu-raremos contestarle a la mayor brevedad posible. Es preferible que envíe su e-mail con una codificación gpg. Nuestra clave gpg es:

ID:3D25D3D9 1999-03-06 SuSE Security Team <[email protected]>

Key fingerprint = 73 5F 2E 99 DF DB 94 C4 8F 5A A3 AE AF 22 F2 D5

Esta clave se puede bajar desde http://www.suse.de/security .

547SuSE Linux – Manual de Administración

Page 566: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 567: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Parte V

Anexo

Page 568: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init
Page 569: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ASiste

ma

sd

efic

he

ros

en

Linu

x

Sistemas de ficheros en Linux

Linux soporta una gran variedad de sistemas de ficheros. Este capítulo ofreceuna breve introducción a los sistemas de ficheros más conocidos en Linux, cen-trándonos principalmente en la estructura y las ventajas, así como en la am-plitud de uso de los programas. Más adelante se presentará información sobre”Large File Support”.

Glosario

Metadatos Garantiza la estructura interna de datos, el orden de la estructuray la disponibilidad de los datos en el disco duro. En resumidas cuentas,se trata de los ”datos sobre los datos”. Todo sistema de ficheros poseesu propia estructura de metadatos. Aquí es donde se encuentra en partela razón de los distintos rendimientos de los sistemas de ficheros. Es ex-tremadamente importante mantener intactos los metadatos ya que de otramanera todo el sistema de ficheros se vería perturbado.

Inode Los Inodes contienen toda la información respecto a un fichero: el nom-bre, el tamaño, el número de enlaces, la fecha, la hora en que fue creado,modificaciones, accesos como ”señalador” (ingl. pointer) de los bloquesdel disco duro y dónde se encuentra grabado.

Journal En relación a un sistema de ficheros, un journal es una estructura in-terna del disco con un tipo de protocolo en el que el driver del sistema deficheros introduce los (meta)datos del sistema de ficheros que van a sermodificados. ”Journaling” reduce enormemente el tiempo de elaboraciónde un sistema Linux, ya que de este modo el driver del sistema de ficherosno debe iniciar una búsqueda de los metadatos modificados en todo eldisco. En vez de eso, basta con ver las entradas del journal.

Page 570: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Los sistemas de ficheros más importantes enLinux

Contrariamente a como ocurría hace dos o tres años, la elección de un sistemade ficheros en Linux ya no es una cuestión de segundos (”¿Ext2 o ReiserFS?”).A partir de la versión 2.4, el kernel ofrece una gran selección de sistemas deficheros. A continuación le mostramos un resumen de las funciones básicas deestos sistemas de ficheros y de sus ventajas.

Tenga siempre en cuenta que no existe ningún sistema de ficheros que puedefuncionar del mismo modo con todas las aplicaciones. Cada sistema de ficherostiene sus puntos fuertes y sus puntos flojos, que se deben tener presentes. Niel sistema de ficheros más desarrollado de todo el mundo puede sustituir lanecesidad de la copia de seguridad.

Los conceptos ”integridad de los datos” o ”consistencia de los datos” no se re-fieren en este capítulo a la consistencia de los datos guardados de un usuario(los datos que las aplicaciones que utiliza escribe en sus ficheros). La consisten-cia de estos datos debe quedar asegurada por las aplicaciones mismas.

Ext2

El origen de Ext2 se remonta a los primeros días de Linux. Su antecesor, el Ex-tended File System fue implementado en abril de 1992 e integrado en Linux0.96c. Este sufrió una serie de modificaciones y durante años se le conoció comoExt2 a la vez que se le consideró el sistema de ficheros más popular de Linux.Con la introducción del sistema Journaling File y de su tiempo de elaboracióntan sorprendentemente corto, Ext2 perdió importancia.

Puede que le sirva de ayuda un pequeño resumen de los puntos fuertes de Ext2para que comprenda su popularidad entre los usuarios de Linux, que en ciertamedida aún hoy lo prefieren como sistema de ficheros.

Estabilidad Con el correr del tiempo, Ext2 ha sufrido muchas mejoras, dedonde le viene el sobrenombre de ”roca sólida” (ingl. rock–solid). En ca-so de una caída del sistema, en la que el sistema de ficheros no puededesmontarse adecuadamente, e2fsck inicia un análisis de los datos delsistema de ficheros. Los metadatos se reconstruyen y los ficheros o blo-ques de datos que quedan sueltos se guardan en un directorio denomina-do lost+found . En contraposición a (la mayoría) de los sistemas jour-naling file, e2fsck analiza todo el sistema de ficheros y no sólo los bits demetadatos modificados. Esto dura más tiempo que la comprobación de los

552 Los sistemas de ficheros más importantes en Linux

Page 571: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ASiste

ma

sd

efic

he

ros

en

Linu

x

datos de protocolo de un sistema journaling file. Dependiendo del tamañodel sistema de ficheros, puede llegar a durar más de media hora. Por es-ta razón, Ext2 no se escoge para ningún servidor que deba tener un altorendimiento. Ya que Ext2 no debe hacerse cargo de ningún journal y a lavez necesita poca memoria, a menudo es más rápido que otros sistemasde ficheros.

Fácil actualización Teniendo como base la fortaleza de Ext2, Ext3 podría llegara desarrollar un sistema de ficheros de la próxima generación. Su fiabil-idad y estabilidad se encontrarían a la par de las ventajas de un sistemajournaling file.

Ext3

Ext3 fue concebido por Stephen Tweedie. A diferencia del resto de los sistemasde ficheros de ”la próxima generación”, no está basado en un nuevo diseño,sino en Ext2. Ambos sistemas de ficheros están estrechamente vinculados. Unsistema de ficheros Ext3 se puede montar fácilmente sobre un sistema Ext2. Ladiferencia fundamental entre ambos radica en que Ext3 también soporta journal-ing.

Estas son brevemente las tres ventajas de Ext3:

Actualización fácil y muy fiable de Ext2 Ya que Ext3 se basa en el código deExt2, a la vez que comparten formato tanto para el disco como para losmetadatos, las actualizaciones no son complicadas. Incluso se pueden ll-evar a cabo cuando el sistema de ficheros Ext2 está montado. El procesode cambio a otro sistema journaling file, como p. ej. ReiserFS, JFS, o XFS,puede llegar a ser muy trabajoso, debido a que se debe realizar copias deseguridad de todo el sistema de ficheros y después instalarlo desde cero.Sin embargo, el cambio a Ext3 puede ser una cuestión de minutos. A suvez, es muy difícil que la reelaboración de todo un sistema de ficherosdesde cero no tenga errores. Si se tiene en cuenta la cantidad de sistemasExt2 disponibles que esperan una actualización a un sistema journalingfile, se puede imaginar fácilmente el significado de Ext3 para muchos ad-ministradores de sistemas. El pasar de Ext3 a Ext2 es tan fácil como la ac-tualización en sentido contrario. Tan sólo tiene que desmontar el sistemaExt3 y montarlo como Ext2.

Fiabilidad y funcionamiento Todos los sistemas journaling file siguen elprincipio de ”sólo metadatos” (ingl. metadata-only). Esto significa que

553SuSE Linux – Manual de Administración

Page 572: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

los metadatos permanecen en un estado consistente, lo que sin embar-go no puede ser garantizado automáticamente para los datos del sistemade ficheros. Ext3 tiene capacidad para cuidar tanto de los metadatos co-mo de los datos mismos. Se puede configurar individualmente el de-talle con el que Ext3 debe ocuparse de los datos y metadatos. El gradomás alto de seguridad (esto es, integridad de los datos) se consigue al ar-rancar Ext3 en modo data=journal ; esto puede hacer que el sistemasea más lento, ya que se guardarán en el journal tanto los datos comolos metadatos. Una posibilidad relativamente nueva consiste en la uti-lización del modo data=ordered , que garantiza la integridad tanto delos datos como de los metadatos, a pesar de que sólo realiza journalingpara los metadatos. El driver del sistema de ficheros reúne todos los blo-ques de datos relacionados con la actualización de los metadatos. Estosbloques quedan agrupados como ”transacción” en los discos, antes deque los metadatos sean actualizados. Con esto se consigue consistenciade datos y metadatos sin pérdida de rendimiento. Un tercer tipo de mo-do es data=writeback . De esta forma se puede escribir datos en el sis-tema de ficheros principal, después de que los metadatos hayan pasadoal journal. Para muchos esta opción es la mejor configuración en cuanto afuncionamiento. Sin embargo, con esta opción puede ocurrir que aparez-can viejos datos en los ficheros después de haberse producido una caídadel sistema, a la vez que se garantiza la integridad del sistema de ficheros.Mientras no se indique otra opción, Ext3 arrancará con la opción por de-fecto data=ordered .

ReiserFS

Oficialmente una de las funciones principales de la versión 2.4 del kernel, Reis-erFS está disponible desde la versión 6.4 de SuSE Linux como parche para elkernel de SuSE 2.2.x. ReiserFS es producto de Hans Reiser y del equipo de de-sarrollo Namesys. ReiserFS se ha perfilado como una alternativa poderosa aExt2. Sus grandes ventajas son: una mejor administración de la memoria del dis-co duro, un mejor rendimiento del acceso al disco y una recuperación más ráp-ida después de una caída del sistema. Pero ReiserFS le da mucha importancia alos metadatos pero no a los datos mismos. La próxima generación de ReiserFSincluirá data-journaling (se escribirán tanto datos como metadatos en el jour-nal), así como accesos de escritura (véase data=ordered en Ext3).

Los puntos fuertes de ReiserFS en detalle:

Mejor administración de la memoria del disco duro En ReiserFS, todos losdatos se organizan en una estructura llamada B∗-balanced tree. La estruc-

554 Los sistemas de ficheros más importantes en Linux

Page 573: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ASiste

ma

sd

efic

he

ros

en

Linu

x

tura de árbol contribuye a una mejor administración de la memoria deldisco duro, ya que los ficheros pequeños se pueden guardar directamenteen las hojas de B∗trees, en vez de guardarlos en otro lugar y luego tenerque administrar el señalador (ingl. pointer) para que apunte al sitio indica-do. Además, la memoria no se asignará en unidades de 1 a 4 Kb, sino enla unidad necesaria. Otra ventaja es el proceso dinámico de Inodes. Estodota al sistema de ficheros de una gran flexibilidad frente a los sistemasconvencionales, como por ejemplo Ext2, en el que se debe indicar la an-chura del Inode en el momento de crear el sistema de ficheros.

Mejor rendimiento del acceso al disco duro Se habrá dado cuenta de que enlos ficheros pequeños, tanto los datos del fichero como la información (In-ode) de ”stat_data” se guardan uno al lado del otro. Basta con un únicoacceso al disco duro para suministrar toda la información necesaria.

Rápida recuperación tras una caída del sistema Desde el contenido de unjournal al seguimiento de las pequeñas modificaciones de metadatos, lacomprobación del sistema de ficheros se reduce a unos pocos segundosincluso en sistemas de ficheros grandes.

JFS

JFS, ”Journaling File System”, fue desarrollado por IBM para AIX. La primeraversión beta de puertos de Linux JFS llegó al entorno Linux en el verano delaño 2000. La versión 1.0.0 salió a la luz en el año 2001. JFS está diseñado paracumplir las exigencias del entorno de un servidor de alto rendimiento en el quesólo cuenta el funcionamiento. Al ser un sistema de ficheros de 64 bits, JFS so-porta ficheros grandes y particiones LFS (ingl. Large File Support), lo cual es unaventaja más para los entornos de servidor.

Un vistazo más detallado a JFS muestra el por qué este sistema de ficheros esuna buena elección para su servidor Linux:

Efficient Journaling JFS, al igual que ReiserFS, sigue el principio de ”metadataonly”. En vez de una completa comprobación sólo se tienen en cuenta lasmodificaciones en los metadatos provocadas por las actividades del sis-tema. Esto ahorra una gran cantidad de tiempo en la fase de recuperacióndel sistema tras una caída. Las actividades simultáneas que requieren másentradas de protocolo se pueden unir en un grupo, en el que la pérdida derendimiento del sistema de ficheros se reduce en gran medida mediantemúltiples procesos de escritura.

555SuSE Linux – Manual de Administración

Page 574: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Eficiente administración de directorios JFS abarca diversas estructuras de di-rectorios. En pequeños directorios se permite el almacenamiento directodel contenido del directorio en Inode. En directorios más grandes se uti-liza B+trees, que facilitan considerablemente la administración del direc-torio.

Mejor utilización de la memoria mediante adjudicación dinámica de InodesCon Ext2 debe dar por anticipado el grosor del Inode (la memoria ocupa-da por la información de administración). Con ello se limita la cantidadmáxima de ficheros o directorios de su sistema de ficheros. JFS le ahorraesto, puesto que asigna memoria Inode de forma dinámica y la pone a sudisposición cuando no se está utilizando.

XFS

Pensado originariamente como sistema de ficheros para sistemas operativos IR-IX, SGI comenzó el desarrollo de XFS ya a principios de la década de los noven-ta. Con XFS consigue un sistema journaling file de 64 bits de gran rendimien-to adaptado a las necesidades extremas de la actualidad. XFS también está in-dicado para el trabajo con ficheros grandes y ofrece un buen rendimiento enhardware de última generación. Sin embargo XFS, al igual que ReiserFS tiene ladesventaja de dar mucha importancia a la integridad de los metadatos y muypoca a la de los datos:

Un breve resumen de las funciones clave de XFS aclarará por qué puede lle-gar a convertirse en un fuerte competidor de otros sistemas journaling file en eltratamiento de datos.

Manejo de ”grupos de asignación” (ingl. allocation groups) En el momentode la creación de un sistema de ficheros XFS, el dispositivo de bloque (in-gl. block-device) que sirve de base al sistema de ficheros, se divide en ochoo más campos lineales de igual tamaño, denominados grupos de asig-nación. Cada grupo de asignación administra Inodes así como memorialibre. Se puede considerar a estos grupos prácticamente como sistemasde ficheros dentro de sistemas de ficheros. Puesto que estos grupos deasignación son bastante autónomos, el kernel puede dirigirse a más deuno simultáneamente. Este concepto de grupos de asignación autónomoscumple las exigencias de los sistemas con varios procesadores.

Alto rendimiento con eficiente administración de la memoria del disco B+

trees administran la memoria libre y los Inodes dentro de los grupos deasignación. El manejo de B+ trees contribuye al gran rendimiento de XFS.

556 Los sistemas de ficheros más importantes en Linux

Page 575: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ASiste

ma

sd

efic

he

ros

en

Linu

x

Una función única y característica de XFS es la llamada asignación retar-dada. XFS realiza la asignación de la memoria mediante la división en dosde los procesos. Una transacción ”en suspenso” queda guardada en RAMy el espacio en la memoria queda reservado. XFS aún no decide dóndeexactamente (en qué bloque del sistema de ficheros) se almacenan losdatos. Esta decisión se retrasará hasta el último momento. Con esto, al-gunos datos temporales no quedan nunca almacenados en el disco, yaque cuando llegue el momento de decidir el lugar de almacenamiento yaestarán obsoletos. Así, XFS aumenta el rendimiento y disminuye la frag-mentación del sistema de ficheros. Puesto que una asignación retardadatiene como consecuencia menos sucesos de escritura que en otros sistemasde ficheros, es probable que sea mayor la pérdida de datos tras una caídadel sistema durante el proceso de escritura.

Preasignación para evitar la fragmentación del sistema de ficheros Antes dela escritura de los datos en el sistema de ficheros, XFS reserva el espaciode memoria necesario para un fichero que vaya a ser asignado. De estaforma, se reduce enormemente la fragmentación del sistema de ficherosy el rendimiento aumenta, ya que el contenido de los ficheros no quedadividido por todo el sistema de ficheros.

Otros sistemas de ficheros soportados

En la tabla A.1 en la página siguiente se incluyen otros sistemas de ficheros so-portados por Linux. Principalmente se soportan para garantizar la compatibili-dad y el intercambio de datos entre distintos medios o sistemas operativos.

cramfs Compressed ROM file system: un sistema de ficheros comprimidocon permiso de lectura para ROMs.

hpfs High Performance File System: el sistema de ficheros estándar deIBM OS/2 — sólo se soporta en modo de lectura.

iso9660 sistema de ficheros estándar en CD-ROMs.minix este sistema de ficheros tuvo su origen en proyectos académi-

cos sobre sistemas operativos y fue el primero en ser utilizadoen Linux. Hoy en día se utiliza como sistema de ficheros paradisquetes..

msdos fat, utilizado originariamente en DOS, hoy en día es utilizadopor distintos sistemas operativos.

Cuadro A.1: Continúa en la página siguiente. . .

557SuSE Linux – Manual de Administración

Page 576: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ncpfs para montar volúmenes Novell a través de una red.nfs Network File System: posibilita el almacenamiento de datos en el

ordenador que se elija dentro de una red y permite garantizar elacceso a través de la red.

smbfs Server Message Block: utilizado por productos como por ejemploWindows para el acceso de ficheros a través de una red.

sysv utilizado en SCO UNIX, Xenix y Coherent (sistemas UNIXcomerciales para PCs).

ufs utilizado en BSD, SunOS y NeXTstep. Sólo se soporta en modode lectura.

umsdos UNIX on MSDOS: sistema de ficheros a base de fat , que em-ula las características de Unix (derechos, enlaces, nombres defichero largos) mediante ficheros especiales.

vfat Virtual FAT: Extensión del sistema de ficheros fat (soportanombres de fichero largos).

ntfs Windows NT file system, sólo permiso de lectura.

Cuadro A.1: Sistemas de ficheros en Linux

Soporte de ficheros grandes en Linux

Al principio Linux sólo soportaba ficheros con un tamaño máximo de 2 Gb.Debido a la creciente utilización de Linux por ejemplo en la administración debases de datos o en la edición de datos de audio y vídeo, se ha hecho necesarioel modificar el kernel y la librería GNU C (glibc) para que soporten ficheros may-ores de 2 Gb y se han introducido nuevas interfaces que pueden ser utilizadaspor las aplicaciones. Hoy en día (casi) todos los sistemas de ficheros importantessoportan LFS (Large File System – sistema de ficheros grandes), lo que permitela edición de datos de gama alta.

La tabla A.2 en la página siguiente ofrece un resumen de las limitaciones ac-tuales de los ficheros de Linux y los sistemas de ficheros para el kernel 2.4.x.

Sist. de ficheros Tamaño máx. fichero[Byte]

Tamañomáx.sist.fich.[Byte]

Ext2 oder Ext3 (1 kBtamaño bloque)

234 (16 GB) 241 (2 TB)

558 Soporte de ficheros grandes en Linux

Page 577: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ASiste

ma

sd

efic

he

ros

en

Linu

x

Ext2 oder Ext3 (2 kBtamaño bloque)

238 (256 GB) 243 (8 TB)

Ext2 oder Ext3 (4 kBtamaño bloque)

241 (2 TB) 244 (16 TB)

Ext2 oder Ext3 (8 kBtamaño bloque) (sis-tema con pages de 8kB (como Alpha))

246 (64 TB) 245 (32 TB)

ReiserFS 3.5 232 (4 GB) 244 (16 TB)ReiserFS 3.6 (en Linux2.4)

260 (1 EB) 244 (16 TB)

XFS 263 (8 EB) 263 (8 EB)JFS (512 Bytes tamañobloque)

263 (8 EB) 249 (512 TB)

JFS (4 kB tamañobloque)

263 (8 EB) 252 (4 PB)

NFSv2 (lado delcliente)

231 (2 GB) 263 (8 EB)

NFSv3 (lado delcliente)

263 (8 EB) 263 (8 EB)

Cuadro A.2: Tamaño máximo de los sistemas de ficheros (formato en disco)

Atención

Límites del kernel de Linux

La tabla describe los límites del formato en disco. El tamaño máximode un fichero y un sistema de ficheros para que puedan ser procesadoscorrectamente por el kernel no ha de superar los siguientes límites (en elkernel 2.4.x):

Sistemas de 32 bits: Los ficheros y los dispositivos de bloque nopueden ser mayores de 2 Tb (241 byte). No obstante, LVM permitecombinar varios dispositivos de bloque para procesar sistemas deficheros por encima del límite de 2 Tb.

Sistemas de 64 bits: Los ficheros y los sistemas de ficheros puedentener un tamaño de hasta 8 Eb (263 byte), siempre que el hardwarelo soporte.

Atención

559SuSE Linux – Manual de Administración

Page 578: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Más información

Cada proyecto de sistema de ficheros descrito arriba tiene su propia página weben la que puede encontrar más información y listas de correo, así como FAQs.

http://e2fsprogs.sourceforge.net/ext2.htmlhttp://www.zipworld.com.au/~akpm/linux/ext3/http://www.namesys.com/http://oss.software.ibm.com/developerworks/opensource/jfs/http://oss.sgi.com/projects/xfs/Un completo tutorial sobre sistemas de ficheros en Linux se encuentra enIBM developerWorks:http://www-106.ibm.com/developerworks/library/l-fs.html

Una comparación entre los distintos sistemas journaling file en Linux se en-cuentra en un artículo de Juan I. Santos Florido en Linuxgazette: http://www.linuxgazette.com/issue55/florido.html .

Se puede encontrar un detallado trabajo sobre LFS en Linux en la página de An-dreas Jaeger: http://www.suse.de/~aj/linux_lfs.html .

560 Más información

Page 579: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

BLista

sd

ec

on

trold

ea

cc

eso

(AC

Ls)e

nLin

ux

Listas de control de ac-ceso (ACLs) en Linux

Este capítulo le proporciona información sobre el trasfondo y las funciones delas ACLs POSIX para sistemas de ficheros Linux. En él aprenderá cómo se am-plía el concepto tradicional de permisos para sistemas de ficheros por medio delas ACLs (Access Control Lists) y qué ventajas le ofrece este concepto.

¿Por qué ACLs? . . . . . . . . . . . . . . . . . . . . . . . . . 562Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Funcionamiento de las ACLs . . . . . . . . . . . . . . . . . 563El futuro de las ACLs . . . . . . . . . . . . . . . . . . . . . 573

Page 580: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

¿Por qué ACLs?

AtenciónPOSIX ACLs

La expresión ”POSIX ACL” sugiere que se trata de un auténtico estándarde la familia POSIX (Portable Operating System Interface). Desgraciada-mente se retiraron los borradores de los estándares POSIX 1003.1e yPOSIX 1003.2c. La implementación de ACLs de sistemas de ficheros de-scrita en este capítulo se basa en el contenido de estos dos documentosque puede consultar en la siguiente URL:

http://wt.xpilot.org/publications/posix.1e/

Atención

De manera tradicional, un objeto en Linux está asociado a tres grupos de per-misos. Estos grupos reflejan los permisos de escritura (w), lectura (r ) y ejecu-ción (x) para las tres clases de usuarios: propietario del fichero ((ingl. owner)),grupo ((ingl. group)) y el resto ((ingl. other)). Es decir, nueve bits determinan elcomportamiento de todos los objetos en un sistema de ficheros Linux. En casosespeciales, también se pueden definir los bits set user id, set group id y sticky.

Para la mayoría de los casos que se dan en la práctica, este escueto concepto esmás que suficiente. En el caso de escenarios complejos o aplicaciones más avan-zadas, hasta ahora los administradores de sistemas debían echar mano de dis-tintos trucos para evitar las limitaciones del concepto de permisos tradicional.

Las ACLs intervienen en las situaciones en las que hay que ampliar el conceptotradicional de permisos para ficheros. Éstas permiten a asignar permisos a de-terminados usuarios o grupos, incluso cuando estos permisos no coinciden conlos del propietario o su grupo.

Las listas de control de acceso son una característica del kernel de Linux y ac-tualmente están soportadas por ReiserFS, Ext2, Ext3, JFS y XFS. Con su ayuda esposible llevar a la práctica complejos escenarios sin que sea necesario implemen-tar complicados modelos de permisos a nivel de aplicaciones.

Para ilustrar las ventajas de las listas de control de acceso puede tomarse elejemplo de un servidor Windows que va a ser reemplazado por un servidorLinux. Algunas de las estaciones de trabajo conectadas seguirán funcionandocon Windows. El sistema Linux, por su parte, proporciona a los clientes Win-dows servicios de servidor de ficheros y de impresión por medio de Samba.Samba soporta las listas de control de acceso, por lo que los permisos de usu-arios pueden ser configurados tanto en el servidor Linux como en Windows(sólo Windows NT o superior) a través de una interfaz gráfica de usuario. La

562 ¿Por qué ACLs?

Page 581: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

BLista

sd

ec

on

trold

ea

cc

eso

(AC

Ls)e

nLin

ux

herramienta winbindd permite incluso definir permisos para usuarios que sóloexisten en el dominio Windows y no disponen de cuenta de usuario en el servi-dor Linux. En la parte del servidor, las listas de control de acceso pueden sereditadas con getfacl y setfacl.

Definiciones

Clases de usuarios El sistema tradicional de permisos POSIX reconoce tresclases de usuarios para la asignación de permisos en el sistema de ficheros:Propietario (ingl. owner), grupo (ingl. group) y el resto de usuarios (ingl.other). Para cada clase de usuario se pueden definir otros tres bits de per-misos ((ingl. permission bits)) para el derecho de lectura (r ), de escritura (w)y de ejecución (x ). El capítulo Trabajar con la shell del Manual de Usuario leofrece una introducción al concepto de usuarios en Linux.

Access ACL Los permisos de acceso de usuarios y grupos a cualquier objetodel sistema (ficheros y directorios) se definen a través de las access ACLs(ACLs de acceso).

Default ACL Las default ACLs (ACLs predeterminadas) sólo pueden aplicarse adirectorios y definen los permisos que un objeto del sistema "hereda" desu directorio superior al ser creado.

Entrada ACL Una ACL está formada por una serie de entradas ACL (ingl. ACLentries). Una entrada ACL consta de un tipo (ver la Tabla B.1 en la páginasiguiente), un indicador del usuario o el grupo al que se refiere la entra-da, y los permisos en sí. En algunos tipos de entrada, el indicador para elusuario o el grupo está vacío.

Funcionamiento de las ACLs

En la siguiente sección se describirán la estructura básica de una ACL y sus car-acterísticas. La relación entre las ACLs y el concepto tradicional de permisos enel sistema de ficheros Linux se explicará por medio de varios gráficos. Dos ejem-plos le servirán para conocer la sintaxis correcta de una ACL y crear sus propiaslistas de control de acceso. Finalmente, se describirá el método usado por el sis-tema operativo para evaluar las ACLs.

563SuSE Linux – Manual de Administración

Page 582: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Estructura de las entradas ACL

Las ACLs pueden dividirse fundamentalmente en dos clases. Una ACL están-dar consiste exclusivamente en las entradas de tipo owner (propietario), own-ing group (grupo propietario) y other (otros) y coincide con los bits de permisostradicionales para ficheros y directorios. Una ACL extendida (ingl. extended) con-tiene además una entrada mask (máscara) y puede incluir varias entradas deltipo named user (usuario identificado por el nombre) y named group (grupo iden-tificado por el nombre). La tabla B.1 ofrece un resumen de los distintos tipos deentradas ACL.

Typ Textformowner user::rwxnamed user user:name:rwxowning group group::rwxnamed group group:name:rwxmask mask::rwxother other::rwx

Cuadro B.1: Resumen de tipos de entrada ACL

Los permisos definidos en las entradas owner y other siempre tienen vigencia.Excepto la entrada mask, el resto de entradas (named user, owning group y namedgroup) pueden estar activadas o bien enmascaradas. Si se han definido permisostanto en las entradas mencionadas en primer lugar como en las máscara, ten-drán validez. Los permisos que sólo han sido definidos en la máscara o en lapropia entrada, no tienen validez. El siguiente ejemplo ilustra este mecanismo(véase la Tabla B.2):

Typ Textform Rechtenamed user user:jane:r-x r-xmask mask::rw- rw-

Válidos: r--

Cuadro B.2: Enmascaramiento de permisos de acceso

564 Funcionamiento de las ACLs

Page 583: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

BLista

sd

ec

on

trold

ea

cc

eso

(AC

Ls)e

nLin

ux

Entradas ACL y bits de permiso

Una colaboración eficaz entre las aplicaciones que soportan las ACLs y aquellasque se rigen por el concepto tradicional de permisos sólo es posible cuando lasdiversas configuraciones de ACL pueden realizarse también usando el conceptotradicional.

En otras palabras, cada uno de los tres grupos de bits de permisos (owner, groupy other) ha de poderse asignar a entradas ACL equivalentes.

Los siguientes gráficos ilustran respectivamente las posibles variantes de unaACL estándar y una extendida (ver Fig. B.1 y B.2 en la página siguiente). Lasfiguras están divididas en tres bloques. A la izquierda aparece la descripcióndel tipo de entrada ACL, en el medio un ejemplo de ACL y a la derecha los bitsde permiso equivalentes en el concepto tradicional, tal y como los muestra elcomando ls -l .

En ambos casos, los permisos correspondientes al owner class han sido asignadosa la entrada ACL owner. Asimismo, la asignación de permisos other class a lacorrespondiente entrada ACL es siempre la misma. En cambio, la asignaciónde permisos group class varía según el caso (ver Fig. B.1 y Fig. B.2 en la páginasiguiente).

Figura B.1: ACL estándar: entradas ACL vs. bits de permiso

En el caso de una ACL estándar (sin entrada mask), los permisos de la group classse asignan a la entrada ACL owning group (ver Fig. B.1).

En el caso de una ACL extendida (con entrada mask), los permisos de la groupclass se asignan a la entrada mask (ver Fig. B.2 en la página siguiente).

Este tipo de asignación garantiza la correcta interacción de aplicaciones con ysin soporte ACL. Los permisos de acceso definidos mediante los bits de permisoconstituyen el límite para las opciones de configuración avanzadas que puedenrealizarse vía ACL. Todos los permisos que no están reflejados aquí no han sidodefinidos en la ACL o no tienen vigencia. Si los bits de permiso se modifican,esto también se refleja en la ACL correspondiente y viceversa.

565SuSE Linux – Manual de Administración

Page 584: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Figura B.2: ACL extendida: entradas ACL vs. bits de permiso

Un directorio con access ACL

Por medio del siguiente ejemplo, se explicará en tres pasos el funcionamiento deuna access ACL:

Crear un objeto del sistema (aquí un directorio)

Cambios en la ACL

Utilización de máscaras

1. Antes de crear un directorio, puede emplear el comando umask paradefinir qué permisos de acceso han de estar enmascarados desde el princi-pio.

tierra:~ # umask 027

El propietario posee todos los permisos de acceso (lectura, escritura y eje-cución) (rwx ), al grupo se le niega el derecho de escritura (r-x ). Al restode usuarios se le impide cualquier tipo de acceso (--- ).

tierra:~ # mkdir mydir

Se ha creado el directorio mydir y los derechos definidos con umask hansido asignados. Puede comprobar si todos los permisos han sido asigna-dos correctamente con el comando:

tierra:~ # ls -dl mydir

drwxr-x--- ... tux projekt3 ... mydir

2. Una vez que se ha informado sobre el estado inicial de la ACL, añádaleuna nueva entrada de usuario y otra de grupo.

566 Funcionamiento de las ACLs

Page 585: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

BLista

sd

ec

on

trold

ea

cc

eso

(AC

Ls)e

nLin

ux

tierra:~ # getfacl mydir

# file: mydir# owner: tux# group: projekt3user::rwxgroup::r-xother::---

La salida del comando getfacl refleja exactamente la corresponden-cia entre bits de permiso y entradas ACL descrita en el apartado EntradasACL y bits de permiso en la página 565. Las primeras tres líneas de la salidade comando designan el nombre, propietario y grupos pertenecientes deldirectorio. Las tres siguientes líneas contienen las tres entradas ACL own-er, owning group y other. En conjunto, el comando getfacl no le ofreceen el caso de esta ACL estándar ninguna información que no hubieseobtenido también con el comando ls .

Su primera intervención en la ACL consiste en asignar a un nuevo usuariojane y a un nuevo grupo djungle permisos de lectura, escritura y ejecu-ción.

tierra:~ # setfacl -m user:jane:rwx,group:djungle:rwx mydir

La opción -m le ordena a setfacl modificar la ACL actual. El siguienteargumento indica qué entradas ACL serán modificadas (muchas estánseparadas entre sí por comas). Finalmente tiene que introducir el nombredel directorio para el que tendrán validez estos cambios.

La ACL resultante se muestra con el comando getfacl .

tierra:~ # getfacl mydir

# file: mydir# owner: tux# group: projekt3user::rwxuser:jane:rwxgroup::r-xgroup:djungle:rwxmask::rwxother::---

567SuSE Linux – Manual de Administración

Page 586: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Además de las entradas para el usuario jane y el grupo djungle creadaspor usted, se ha generado una entrada mask. Esta entrada mask se crea au-tomáticamente para reducir todas las entradas de group class a un denom-inador común. Además, setfacl adapta automáticamente las entradasmask a las opciones que usted modifique (siempre que no haya desacti-vado esta función con -n ). mask define los permisos de acceso máximosque tienen validez para todas las entradas de la group class. Entre éstas seincluyen named user, named group y owning group. La entrada mask equiv-ale por tanto a los bits de permiso de la group class, tal y como los expre-saría el comando ls -dl mydir . Esto se describe con más detalle en elapartado Entradas ACL y bits de permiso en la página 565.

tierra:~ # ls -dl mydir

drwxrwx---+ ... tux projekt3 ... mydir

Como es de esperar, los bits de permiso de la group class reflejan ahorala entrada mask. Además, en la primera columna de la salida aparece unsigno + que hace referencia a una ACL extendida.

3. Según la salida del comando ls , los permisos de la entrada mask incluyentambién permiso de escritura. Normalmente, estos bits de permiso tam-bién indicarían que el owning group (aquí: projekt3 ) tiene asimismoderechos de escritura para el directorio mydir . No obstante, los permisosde acceso realmente válidos para para el owning group consisten en la in-tersección de los permisos definidos para el owning group y mask, es decir,r-x en nuestro ejemplo (ver la tabla B.2 en la página 564). Aquí tampocoha cambiado nada después de añadir las entradas ACL.

La entrada mask puede modificarse con setfacl o con chmod.

tierra:~ # chmod g-w mydir

tierra:~ # ls -dl mydir

drwxr-x---+ ... tux projekt3 ... mydir

tierra:~ # getfacl mydir

# file: mydir# owner: tux# group: projekt3user::rwxuser:jane:rwx # effective: r-xgroup::r-xgroup:djungle:rwx # effective: r-x

568 Funcionamiento de las ACLs

Page 587: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

BLista

sd

ec

on

trold

ea

cc

eso

(AC

Ls)e

nLin

ux

mask::r-xother::---

Después de haber retirado el permiso de escritura a la group class pormedio del comando chmod, la salida del comando ls ya le indica quelos bits de mask han sido adaptados en consecuencia a través del comandochmod. Esto se ve aún más claramente en la salida del comando getfacl .Además, getfacl añade a cada entrada un comentario informando deque los bits de permiso realmente válidos no son los definidos inicial-mente, ya que la entrada mask se encarga de filtrarlos. Por supuesto, sepuede volver a en cualquier momento al estado original con el comandochmod correspondiente:

tierra:~ # chmod g+w mydir

tierra:~ # ls -dl mydir

drwxrwx---+ ... tux projekt3 ... mydir

tierra:~ # getfacl mydir

# file: mydir# owner: tux# group: projekt3user::rwxuser:jane:rwxgroup::r-xgroup:djungle:rwxmask::rwxother::---

Directorios con ACLs predeterminadas

Los directorios pueden ser equipados con un tipo especial de ACLs, las ACLspredeterminadas. Éstas definen los derechos que heredan todos los subobje-tos de estos directorios en el momento de su creación. La ACL predeterminadatiene vigencia tanto sobre subdirectorios como sobre ficheros.

Efecto de una ACL predeterminada

Los permisos de acceso en la ACL predeterminada se heredan principalmentede dos maneras:

569SuSE Linux – Manual de Administración

Page 588: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

un subdirectorio hereda la ACL predeterminada del directorio superior,como propia default ACL y además como access ACL.

un fichero hereda la ACL predeterminada como propia access ACL.

Todas las llamadas del sistema (ingl. system calls) que crean objetos del sistemautilizan un parámetro mode. Este parámetro se encarga de definir los permisosde acceso sobre el nuevo objeto del sistema:

Si el directorio superior carece de ACL predeterminada, los permisosasignados al objeto son la intersección de los permisos que contiene elparámetro mode y de los del umask utilizado en ese momento.

Si existe una ACL predeterminada para el directorio superior, se asignanal objeto los bits de permiso resultantes de la intersección de los permisosdel parámetro mode y de los que contiene la ACL predeterminada.

ACLs predeterminadas en la práctica

Los tres ejemplos siguientes ilustran las ACLs predeterminadas y describen lasoperaciones más importantes que pueden efectuarse en directorios:

Crear una ACL predeterminada para un directorio ya existente.

Crear un subdirectorio en un directorio con ACL predeterminada.

Crear un fichero en un directorio con ACL predeterminada.

1. A continuación se añade una ACL predeterminada al directorio mydir yaexistente:

tierra:~ # setfacl -d -m group:djungle:r-x mydir

La opción -d del comando setfacl hace que setfacl realice las si-guientes modificaciones en (opción -m) en la ACL predeterminada.

Observe el resultado de este comando detenidamente:

tierra:~ # getfacl mydir

# file: mydir# owner: tux# group: projekt3user::rwxuser:jane:rwx

570 Funcionamiento de las ACLs

Page 589: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

BLista

sd

ec

on

trold

ea

cc

eso

(AC

Ls)e

nLin

ux

group::r-xgroup:djungle:rwxmask::rwxother::---default:user::rwxdefault:group::r-xdefault:group:djungle:r-xdefault:mask::r-xdefault:other::---

La salida de getfacl contiene tanto la access ACL como la ACL prede-terminada. Todas las líneas que comienzan por default forman la ACLpredeterminada. Aunque en el comando setfacl usted sólo había in-dicado una entrada para el grupo djungle en la ACL predeterminada,setfacl ha copiado automáticamente el resto de entradas del la accessACL para construir una ACL predeterminada válida. Las ACLs predeter-minadas no influyen de manera directa en los permisos de acceso, sinoque sólo tienen efecto durante la creación de objetos del sistema. En tér-minos de herencia, sólo se tiene en cuenta la ACL predeterminada deldirectorio superior.

2. En el siguiente ejemplo crea con mkdir un subdirectorio en mydir que”heredará” la ACL predeterminada.

tierra:~ # mkdir mydir/mysubdir

tierra:~ # getfacl mydir/mysubdir

# file: mydir/mysubdir# owner: tux# group: projekt3user::rwxgroup::r-xgroup:djungle:r-xmask::r-xother::---default:user::rwxdefault:group::r-xdefault:group:djungle:r-xdefault:mask::r-xdefault:other::---

Como era de esperar, el subdirectorio recién creado mysubdir tiene lospermisos de la ACL predeterminada ACL del directorio superior.

571SuSE Linux – Manual de Administración

Page 590: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

La access ACL de mysubdir es una réplica exacta de la ACL predetermi-nada de mydir . Lo mismo sucede con la ACL predeterminada, que a suvez se pasará a los subobjetos de este directorio.

3. Aquí crea un fichero en el directorio mydir por medio de touch :

tierra:~ # touch mydir/myfile

tierra:~ # ls -l mydir/myfile

-rw-r-----+ ... tux projekt3 ... mydir/myfile

tierra:~ # getfacl mydir/myfile

# file: mydir/myfile# owner: tux# group: projekt3user::rw-group::r-x # effective:r--group:djungle:r-x # effective:r--mask::r--other::---

Lo más importante de este ejemplo es que touch pasa el parámetro modecon un valor de 0666 , lo que significa que los nuevos ficheros se crean conpermisos de lectura y escritura para todas las clases de usuario, a no serque existan otras restricciones por parte de umask o de la ACL predeter-minada (ver la sección Efecto de una ACL predeterminada en la página 569).

En nuestro ejemplo esto significa que todos los permisos que no están in-cluidos en mode serán eliminados de las entradas ACL correspondien-tes. Aunque no se ha eliminado ningún permiso de la entrada ACL degroup class, la entrada mask ha sido adaptada para que los bits de permisodefinidos por mode no sean enmascarados.

De este modo se garantiza que, por ejemplo un compilador, pueda fun-cionar sin problemas con ACLs. Puede crear ficheros con permisos de ac-ceso restringidos y a continuación marcarlos como ejecutables. El mecan-ismo mask se ocupa de que sólo los usuarios y grupos adecuados obten-gan los derechos que les han sido asignados en la ACL predeterminada.

Evaluación de una ACL

Una vez explicado el funcionamiento de las herramientas de configuración másimportantes de las ACLs, a continuación se describe brevemente el algoritmo

572 Funcionamiento de las ACLs

Page 591: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

BLista

sd

ec

on

trold

ea

cc

eso

(AC

Ls)e

nLin

ux

de evaluación al que se somete cualquier proceso o aplicación antes de que se leproporcione acceso a un objeto del sistema protegido por ACLs.

Las entradas ACL son analizadas en el siguiente orden: owner, named user, own-ing group o named group y other. El acceso se regula a través de la la entrada quemejor se ajuste al proceso.

El mecanismo se complica cuando un proceso pertenece a más de un grupo,ya que potencialmente podrá ajustarse a varias entradas group. En este caso seselecciona una de las entradas adecuadas con los permisos requeridos. Para elresultado final ”acceso autorizado” es irrelevante cuál de estas entradas ha sidoseleccionada. Si ninguna de las entradas group apropiadas contiene los permisoscorrectos, se selecciona una cualquiera que provocará el resultado final ”accesodenegado”.

El futuro de las ACLs

Como se ha mencionado en los apartados anteriores, las ACLs permiten imple-mentar complejos escenarios de permisos que cumplen a la perfección los requi-sitos de las aplicaciones más actuales. El concepto tradicional de permisos y lasACLs pueden combinarse de forma muy hábil.

No obstante, algunas aplicaciones importantes carecen todavía de soporte paraACLs. Sobre todo en el campo de los programas de copias de seguridad, noexiste (con la excepción del archivador star) ningún programa que pueda garan-tizar el mantenimiento total de las ACLs al realizar una copia de seguridad.

Algunos editores y administradores de ficheros (Konqueror) son también muyproblemáticos en este sentido y causan a administradores y usuarios verdaderosquebraderos de cabeza cuando se trata de procesar correctamente las ACLs. Lamayoría de estos programas todavía no incorpora soporte ACL. Por ejemplo, alprocesar con un editor un fichero que contiene una access ACL, si la access ACLse mantiene o no tras finalizar el proceso de edición depende del modo backupdel editor utilizado:

Si el editor escribe los cambios en el fichero original, la access ACL semantiene.

Si el editor crea un nuevo fichero que recibe el nombre del antiguo ficheroal finalizar los cambios, es posible que se pierdan las ACL a no ser que eleditor las soporte.

573SuSE Linux – Manual de Administración

Page 592: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Mientras que los comandos básicos de ficheros (cp , mv, ls , ...) soportan lasACLs, éstas se pierden al copiar un fichero con el administrador de ficherosKonqueror.

Cuanto más extendido esté el soporte de ACLs en las aplicaciones, más se podráexplotar el gran potencial de estas funciones.

Truco

Información adicional

Puede encontrar información detallada sobre las ACLs en las siguientesURLs

http://sdb.suse.de/en/sdb/html/81_acl.html

http://acl.bestbits.at/

así como en las páginas del manual de página del manual de getfacl(man 1 getfacl ), página del manual de acl (man 5 acl ) y páginadel manual de setfacl (man 1 setfacl ).

Truco

574 El futuro de las ACLs

Page 593: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

CPá

gin

am

an

de

e2fsc

k

Página man de e2fsck

E2FSCK(8) E2FSCK(8)

NAMEe2fsck - check a Linux second extended file system

SYNOPSISe2fsck [ -pacnyrdfvstFSV ] [ -b superblock ] [ -B block-size ] [ -l|-L bad_blocks_file ] [ -C fd ] [ -j external-journal ] [ device

DESCRIPTIONe2fsck is used to check a Linux second extended file sys-tem (e2fs). E2fsck also supports ext2 filesystems coun-taining a journal, which are also sometimes known as ext3filesystems.

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; itis suggested that people use -p option wheneverpossible.

-b superblockInstead of using the normal superblock, use analternative superblock specified by superblock.This option is normally used when the primarysuperblock has been corrupted. The location of thebackup superblock is dependent on the filesystem’sblocksize. For filesystems with 1k blocksizes, abackup superblock can be found at block 8193; forfilesystems with 2k blocksizes, at block 16384; andfor 4k blocksizes, at block 32768.

Page 594: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Additional backup superblocks can be determined byusing the mke2fs program using the -n option toprint out where the superblocks were created. The-b option to mke2fs, which specifies blocksize ofthe filesystem must be specified in order for thesuperblock locations that are printed out to beaccurate.

If an alternative superblock is specified and thefilesystem is not opened read-only, e2fsck willmake sure that the primary superblock is updatedappropriately upon completion of the filesystemcheck.

-B blocksizeNormally, e2fsck will search for the superblock atvarious different block sizes in an attempt to findthe appropriate block size. This search can befooled in some cases. This option forces e2fsck toonly try locating the superblock at a particularblocksize. If the superblock is not found, e2fsckwill terminate with a fatal error.

-c This option causes e2fsck to run the badblocks(8)program to find any blocks which are bad on thefilesystem, and then marks them as bad by addingthem to the bad block inode.

-C This option causes e2fsck to write completioninformation to the specified file descriptor sothat the progress of the filesystem check can bemonitored. This option is typically used by pro-grams which are running e2fsck. If the filedescriptor specified is 0, e2fsck will print a com-pletion bar as it goes about its business. Thisrequires that e2fsck is running on a video consoleor terminal.

-d Print debugging output (useless unless you aredebugging e2fsck).

-f Force checking even if the file system seems clean.

-F Flush the filesystem device’s buffer caches beforebeginning. Only really useful for doing e2fscktime trials.

-j external-journalSet the pathname where the external-journal forthis filesystem can be found.

-l filenameAdd the blocks listed in the file specified by

576 Página man de e2fsck

Page 595: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

CPá

gin

am

an

de

e2fsc

k

filename to the list of bad blocks. The format ofthis file is the same as the one generated by thebadblocks(8) program.

-L filenameSet the bad blocks list to be the list of blocksspecified by filename. (This option is the same as

the -l option, except the bad blocks list iscleared before the blocks listed in the file areadded to the bad blocks list.)

-n Open the filesystem read-only, and assume an answerof ’no’ to all questions. Allows e2fsck to be usednon-interactively. (Note: if the -c, -l, or -Loptions are specified in addition to the -n option,then the filesystem will be opened read-write, topermit the bad-blocks list to be updated. However,no other changes will be made to the filesystem.)

-p Automatically repair ("preen") the file systemwithout any questions.

-r This option does nothing at all; it is providedonly for backwards compatibility.

-s This option will byte-swap the filesystem so thatit is using the normalized, standard byte-order(which is i386 or little endian). If the filesys-tem is already in the standard byte-order, e2fsckwill 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 optionis used twice, additional timing statistics areprinted on a pass by pass basis.

-v Verbose mode.

-V Print version information and exit.

-y Assume an answer of ’yes’ to all questions; allowse2fsck to be used non-interactively.

EXIT CODEThe exit code returned by e2fsck is the sum of the follow-ing conditions:

0 - No errors1 - File system errors corrected2 - File system errors corrected, system should

577SuSE Linux – Manual de Administración

Page 596: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

be rebooted if file system was mounted4 - File system errors left uncorrected8 - Operational error16 - Usage or syntax error128 - Shared library error

SIGNALSThe following signals have the following effect when sentto e2fsck.

SIGUSR1This signal causes e2fsck to start displaying acompletion bar. (See discussion of the -C option.)

SIGUSR2This signal causes e2fsck to stop displaying a com-pletion bar.

REPORTING BUGSAlmost any piece of software will have bugs. If you man-age to find a filesystem which causes e2fsck to crash, orwhich e2fsck is unable to repair, please report it to theauthor.

Please include as much information as possible in your bugreport. Ideally, include a complete transcript of thee2fsck run, so I can see exactly what error messages aredisplayed. If you have a writeable filesystem where thetranscript can be stored, the script(1) program is a handyway to save the output of e2fsck to a file.

It is also useful to send the output of dumpe2fs(8). If aspecific 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 willallow you to extract the contents of the directory inode,which can sent to me after being first run through uuencode(1).

Always include the full version string which e2fsck dis-plays when it is run, so I know which version you are run-ning.

AUTHORThis version of e2fsck was written by Theodore Ts’o<[email protected]>.

SEE ALSOmke2fs(8), tune2fs(8), dumpe2fs(8), debugfs(8)

E2fsprogs version 1.25 September 2001 E2FSCK(8)

578 Página man de e2fsck

Page 597: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

DM

an

ual-Pa

ge

dire

iserfsc

k

Manual-Page di reiserfsck

REISERFSCK(8) REISERFSCK(8)

NAMEreiserfsck - check a Linux Reiserfs file system

SYNOPSISreiserfsck [ -afprVy ] [ --check | --fix-fixable |--rebuild-sb | --rebuild-tree | --clean-attributes ] [ -j| --journal-device device ] [ --no-journal-available ] [-z | --adjust-file-size ] [ -S | --scan-whole-partition ][ -l | --logfile filename ] [ -n | --nolog ] [ -q |--quiet ] device

DESCRIPTIONReiserfsck searches for a Reiserfs filesystem on a device,replays any necessary transactions, and either checks orrepairs the file system.

device is the special file corresponding to the device orpartition (e.g /dev/hdXX for IDE disk partition or/dev/sdXX for SCSI disk partition).

OPTIONS--check

This default action checks file system consistencyand reports but does not repair any corruption thatit finds. This option may be used on a read-onlyfile system mount. The --check option exits withstatus 0 to indicate that no corruption was found.Otherwise, reiserfsck returns 1 to indicate corruption that can be fixed with --fix-fixable and 2 toindicate corruption that requires --rebuild-tree.

--fix-fixableThis option recovers certain kinds of corruption

Page 598: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

that do not require rebuilding the entire file system tree (--rebuild-tree). Normally you only needthis option if the --check option reports "corruption that can be fixed with --fix-fixable". Thisincludes: zeroing invalid data-block pointers, correcting st_size and st_blocks for directories, anddeleting invalid directory entries.

--rebuild-sbThis option recovers the superblock on a Reiserfspartition. Normally you only need this option ifmount reports "read_super_block: can’t find a reiserfs file system" and you are sure that a Reiserfsfile system is there.

--rebuild-treeThis option rebuilds the entire file system treeusing leaf nodes found on the device. Normally youonly need this option if the --check option reports"corruption that can be fixed only during--rebuild-tree". You are strongly encouraged tomake a backup copy of the whole partition beforeattempting the --rebuild-tree option.

--clean-attributesThis option cleans reserved fields of Stat-Dataitems.

--journal-device device , -j deviceThis option supplies the device name of the currentfile system journal. This option is required whenthe journal resides on a separate device from themain data device (although it can be avoided withthe expert option --no-journal-available).

--adjust-file-size, -zThis option causes reiserfsck to correct file sizesthat are larger than the offset of the last discovered byte. This implies that holes at the end of afile will be removed. File sizes that are smallerthan the offset of the last discovered byte arecorrected by --fix-fixable.

--logfile filename, -l filenameThis option causes reiserfsck to report any corruption it finds to the specified log file rather thanstderr.

--nolog, -nThis option prevents reiserfsck from reporting anykinds of corruption.

--quiet, -q

580 Manual-Page di reiserfsck

Page 599: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

DM

an

ual-Pa

ge

dire

iserfsc

k

This option prevents reiserfsck from reporting itsrate of progress.

-a, -p These options are usually passed by fsck -A duringthe automatic checking of /etc/fstab partitions.For compatibility, these options simply cause reiserfsck to print information about the specifiedfile system. No checks are performed. When it isset - reiserfsck assumes that it is called by fsck-A, provides some information about the specifiedfilesystem and exits.

-V This option prints the reiserfsprogs version andexit.

-r, -p, -yThese options are ignored.

-V, -f prints version and exits

EXPERT OPTIONSDO NOT USE THESE OPTIONS UNLESS YOU KNOW WHAT YOU AREDOING. WE ARE NOT RESPONSIBLE IF YOU LOSE DATA AS ARESULT OF THESE OPTIONS.

--no-journal-availableThis option allows reiserfsck to proceed when thejournal device is not available. This option has noeffect when the journal is located on the main datadevice. NOTE: after this operation you must usereiserfstune to specify a new journal device.

--scan-whole-partition, -SThis option causes --rebuild-tree to scan the wholepartition, not only used space on the partition.

EXAMPLE OF USING1. You think something may be wrong with a reiserfs partition on /dev/hda1 or you would just like to perform aperiodic disk check.

2. Run reiserfsck --check --logfile check.log /dev/hda1.If reiserfsck --check exits with status 0 it means noerrors were discovered.

3. If reiserfsck --check exits with status 1 (and reportsabout fixable corruptions) it means that you should runreiserfsck --fix-fixable --logfile fixable.log /dev/hda1.

4. If reiserfsck --check exits with status 2 (and reportsabout fatal corruptions) it means that you need to runreiserfsck --rebuild-tree. If reiserfsck --check fails insome way you should also run reiserfsck --rebuild-tree,

581SuSE Linux – Manual de Administración

Page 600: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

but we also encourage you to submit this as a bug report.

5. Before running reiserfsck --rebuild-tree, please make abackup of the whole partition before proceeding. Then runreiserfsck --rebuild-tree --logfile rebuild.log /dev/hda1.

6. If the --rebuild-tree step fails or does not recoverwhat you expected, please submit this as a bug report. Tryto provide as much information as possible and we will tryto help solve the problem.

EXIT CODEreiserfsck uses the following exit codes:

0 - No errors1 - File system errors corrected2 - File system errors corrected, system should

be rebooted if file system was mounted4 - File system errors left uncorrected8 - Operational error16 - Usage or syntax error

AUTHORThis version of reiserfsck has been written by VitalyFertman <[email protected]> and Vladimir Saveliev<[email protected]>.

BUGSThere are likely to be some bugs. Please report bugs tothe ReiserFS mail-list <[email protected]>.

TODOFaster recovering, signal handling, i/o error handling,return reasonable exit codes, etc.

SEE ALSOmkreiserfs(8), debugreiserfs(8), reiserfstune(8)

Reiserfsprogs-3.6.2 January 2002 REISERFSCK(8)

582 Manual-Page di reiserfsck

Page 601: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ELa

lice

nc

iap

úb

lica

ge

ne

ralG

NU

(GPL)

La licencia públicageneral GNU (GPL)

Esta traducción de la GPL se ofrece con el fin de mejorar el entendimiento de lalicencia. 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 re-conocido como reemplazo oficial de la versión original en inglés (disponible enhttp://www.gnu.org/copyleft.gpl.html ). Los traductores de la licenciano pueden garantizar que la traducción reproduzca exactamente las definicionesjurídicas. Para estar seguro que las actividades que esté planificando estén per-mitidas bajo la licencia GNU-GPL, consulte el original en inglés.

La Free Software Foundation ruega no utilizar esta traducción como licencia oficialpara los programas que Usted escriba. En su lugar, acompañe su software con laversión original inglesa de la licencia.

This is a translation of the GNU General Public License into Spanish. This translationis distributed in the hope that it will facilitate understanding, but it is not an official orlegally approved translation.

The Free Software Foundation is not the publisher of this translation and has not ap-proved it as a legal substitute for the authentic GNU General Public License. The trans-lation has not been reviewed carefully by lawyers, and therefore the translator cannot besure that it exactly represents the legal meaning of the GNU General Public License. Ifyou wish to be sure whether your planned activities are permitted by the GNU GeneralPublic License, please refer to the authentic English version.

The Free Software Foundation strongly urges you not to use this translation as the of-ficial distribution terms for your programs; instead, please use the authentic Englishversion published by the Free Software Foundation.

Page 602: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

GNU GENERAL PUBLIC LICENSEVersion 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 estedocumento 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 elsentido jurídico.

Preámbulo

Las licencias que cubren la mayor parte del software están diseñadas paraquitarle a usted la libertad de compartirlo y modificarlo. Por el contrario, la Li-cencia Pública General GNU pretende garantizarle la libertad de compartir ymodificar software libre–para asegurar que el software es libre para todos sususuarios. Esta Licencia Pública General se aplica a la mayor parte del softwarede la Free Software Foundation y a cualquier otro programa cuyos autores secomprometen a utilizarla. (Alguna parte del software de la Free Software Foun-dation está cubierto por la Licencia Pública General GNU para Librerías). Ustedtambién la puede aplicar a sus programas.

Cuando hablamos de software libre, estamos refiriéndonos a la libertad, no alprecio. Nuestras Licencias Públicas Generales están diseñadas para asegurarnosde que tenga la libertad de distribuir copias de software libre (y cobrar por eseservicio si quiere), que reciba el código fuente o que pueda conseguirlo si loquiere, 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 acualquiera negarle a usted estos derechos o pedirle que renuncie a ellos. Es-tas restricciones se traducen en ciertas obligaciones que le afectan si distribuyecopias 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 derechosque tiene. Debe asegurarse de que ellos también reciben, o pueden conseguir, elcódigo fuente. Y debe mostrarles estas condiciones de forma que conozcan susderechos.

Protegemos sus derechos con la combinación de dos medidas: (1) ponemos elsoftware bajo copyright y (2) le ofrecemos esta licencia, que le da permiso legalpara copiar, distribuir y/o modificar el software.

584 Licencia pública general GPL

Page 603: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ELa

lice

nc

iap

úb

lica

ge

ne

ralG

NU

(GPL)

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 garan-tía para este software libre. Si el software es modificado por cualquiera y éste asu vez lo distribuye, queremos que sus receptores sepan que lo que tienen no esel original, de forma que cualquier problema introducido por otros no afecte a lareputación de los autores originales.

Por último, cualquier programa libre está constantemente amenazado porpatentes sobre el software. Queremos evitar el riesgo de que los redistribuidoresde un programa libre individualmente obtengan patentes, haciendo el progra-ma propietario a todos los efectos. Para prevenir esto, hemos dejado claro quecualquier patente debe ser concedida para el uso libre de cualquiera, o no serconcedida en absoluto.

Los términos exactos y las condiciones para la copia, distribución y modifi-cació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 unaviso colocado por el propietario del copyright diciendo que puede ser dis-tribuido bajo los términos de esta Licencia Pública General. En adelante, "Pro-grama" se referirá a cualquier programa u obra de esta clase y "una obra basadaen el Programa" se referirá bien al Programa o a cualquier obra derivada de estesegún la ley de copyright. Esto es, una obra que contenga el programa o unaporción de este, bien en forma literal o con modificaciones y/o traducido en otrolenguaje. Por lo tanto, la traducción está incluida sin limitaciones en el término"modificación". Cada propietario de una licencia será tratado como "usted".

Cualquier otra actividad que no sea la copia, distribución o modificación noestá cubierta por esta Licencia, está fuera de su ámbito. El acto de ejecutar elPrograma no está restringido, y los resultados del Programa están cubiertos úni-camente si sus contenidos constituyen una obra basada en el Programa, inde-pendientemente de haberlo producido mediante la ejecución del programa. Queesto se cumpla, depende de lo que haga el programa.

1. Usted puede copiar y distribuir copias literales del código fuente del Pro-grama, tal y como lo recibió, por cualquier medio, supuesto que de forma ade-cuada y bien visible publique en cada copia un anuncio de copyright adecuadoy una renuncia de garantía, mantenga intactos todos los anuncios que se refier-an a esta Licencia y a la ausencia de garantía, y proporcione a cualquier otroreceptor del programa una copia de esta Licencia junto con el Programa.

585SuSE Linux – Manual de Administración

Page 604: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Puede cobrar un precio por el acto físico de transferir una copia, y puede a suelección ofrecer garantía a cambio de unos honorarios.

2. Usted puede modificar su copia o copias del Programa o cualquier porciónde é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, siem-pre 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.

b) Usted debe procurar que cualquier obra que distribuya o publique, queen todo o en parte contenga o sea derivada del Programa o de cualquierparte de él, sea licenciada como un todo, sin cargo alguno para terceraspartes bajo los términos de esta Licencia.

c) Si el programa modificado lee normalmente órdenes interactivamentecuando al ejecutarse, debe hacer que cuando comience su ejecución paraese uso interactivo de la forma más habitual, muestre o escriba un men-saje que incluya un anuncio de copyright y un anuncio de que no se ofreceninguna garantía (o por el contrario que sí se ofrece garantía) y que losusuarios pueden redistribuir el programa bajo estas condiciones, e in-dicando al usuario cómo ver una copia de esta licencia. (Excepción: si elpropio programa es interactivo pero normalmente no muestra ese anun-cio, no está obligado a que su obra basada en el Programa muestre ningúnanuncio).

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, ypueden razonablemente ser consideradas como obras independientes y separa-dos por sí mismas, entonces esta Licencia y sus términos no se aplican a esaspartes cuando sean distribuidas como trabajos separados. Pero cuando dis-tribuya esas mismas secciones como partes de un todo que es una obra basadaen el Programa, la distribución de ese todo debe cumplir los términos de estaLicencia, 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 laescribió.

Por lo tanto, no es intención de este apartado reclamar derechos u oponerse asus derechos sobre obras escritas enteramente por usted; sino que la intenciónes ejercer el derecho de controlar la distribución de obras derivadas o colectivasbasadas en el Programa.

586 Licencia pública general GPL

Page 605: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ELa

lice

nc

iap

úb

lica

ge

ne

ralG

NU

(GPL)

Además, el simple hecho de reunir otro trabajo no basado en el Programa conel 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 dentrodel ámbito cubierto por esta Licencia.

3. Usted puede copiar y distribuir el Programa (o una obra basada en él, segúnse especifica en la Sección 2) en forma de código objeto o ejecutable bajo los tér-minos de las Secciones 1 y 2 anteriores mientras cumpla además una de las si-guientes condiciones:

a) Acompañarlo con el código fuente completo correspondiente en formatolegible para un ordenador, que debe ser distribuido bajo los términos delas Secciones 1 y 2 anteriores en un medio utilizado habitualmente para elintercambio de programas, o

b) Acompañarlo con una oferta por escrito, válida durante al menos tresaños, por un coste no mayor que el de realizar físicamente la distribucióndel fuente, de proporcionar a cualquier tercera parte una copia completaen formato legible para un ordenador del código fuente correspondiente,que será distribuido bajo las condiciones descritas en las Secciones 1 y 2anteriores, en un medio utilizado habitualmente para el intercambio deprogramas, o

c) Acompañarlo con la información que usted recibió referida al ofrecimien-to de distribuir el código fuente correspondiente. (Esta opción se permitesólo para la distribución no comercial y sólo si usted recibió el programacomo código objeto o en formato ejecutable con una oferta de este tipo, deacuerdo con la Sección b anterior).

Se entiende por código fuente de un trabajo a la forma preferida de la obra parahacer modificaciones sobre este. Para una obra ejecutable, se entiende por códi-go 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 guionesutilizados para controlar la compilación e instalación del ejecutable. Como ex-cepción especial el código fuente distribuido no necesita incluir nada que seadistribuido normalmente (ya sea en formato fuente o binario) con los compo-nentes fundamentales (compilador, kernel y similares) del sistema operativo enel cual funciona el ejecutable, a no ser que el propio componente acompañe alejecutable.

Si la distribución del ejecutable o del código objeto se realiza ofreciendo accesoa una copia desde un lugar designado, entonces se considera el ofrecimiento del

587SuSE Linux – Manual de Administración

Page 606: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

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 fuentejunto al código objeto.

4. No puede copiar, modificar, sublicenciar o distribuir el Programa exceptocomo está expresamente permitido por esta Licencia. Cualquier intento de copi-ar, modificar sublicenciar o distribuir el Programa de otra forma es inválido, yhará que cesen automáticamente los derechos que le proporciona esta Licen-cia. En cualquier caso, las partes que hayan recibido copias o derechos bajo es-ta Licencia no verán sus Licencias canceladas, mientras esas partes continúencumpliendo 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 distribuirel Programa o sus trabajos derivados. Estas acciones están prohibidas por laley si no acepta esta Licencia. Por lo tanto, si modifica o distribuye el Progra-ma (o cualquier trabajo basado en el Programa), está indicando que acepta estaLicencia 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 elPrograma), el receptor recibe automáticamente una licencia del licenciatariooriginal para copiar, distribuir o modificar el Programa, de forma sujeta a estostérminos y condiciones. No puede imponer al receptor ninguna restricción mássobre el ejercicio de los derechos aquí garantizados. No es usted responsable dehacer 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 relaciona-dos con patentes) se le imponen condiciones (ya sea por mandato judicial, poracuerdo o por cualquier otra causa) que contradigan las condiciones de esta Li-cencia, ello no le exime de cumplir las condiciones de esta Licencia. Si no puederealizar distribuciones de forma que se satisfagan simultáneamente sus obliga-ciones bajo esta licencia y cualquier otra obligación pertinente entonces, comoconsecuencia, no puede distribuir el Programa de ninguna forma. Por ejem-plo, si una patente no permite la redistribución libre de derechos de autor delPrograma por parte de todos aquellos que reciban copias directa o indirecta-mente a través de usted, entonces la única forma en que podría satisfacer tantoesa condición como esta Licencia sería evitar completamente la distribución delPrograma.

588 Licencia pública general GPL

Page 607: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ELa

lice

nc

iap

úb

lica

ge

ne

ralG

NU

(GPL)

Si cualquier porción de este apartado se considera no válido o imposible decumplir 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 niningún otro derecho de propiedad o impugnar la validez de ninguna de dichasreclamaciones. Este apartado tiene el único propósito de proteger la integridaddel sistema de distribución de software libre, que se realiza mediante prácticasde licencia pública. Mucha gente ha hecho contribuciones generosas a la granvariedad de software distribuido mediante ese sistema con la confianza de queel sistema se aplicará consistentemente. Será el autor/donante quien decida siquiere distribuir software mediante cualquier otro sistema y una licencia nopuede imponer 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 quecoloca este Programa bajo esta Licencia puede añadir una limitación explícita dedistribución geográfica excluyendo esos países, de forma que la distribución sepermita sólo en o entre los países no excluidos de esta manera. En ese caso, estaLicencia incorporará la limitación como si estuviese escrita en el cuerpo de estaLicencia.

9. La Free Software Foundation puede publicar versiones revisadas y/onuevas de la Licencia Pública General de tiempo en tiempo. Dichas versionesnuevas serán similares en espíritu a la presente versión, pero pueden ser dife-rentes 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 ya "cualquier 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 laFree Software Foundation. Si el Programa no especifica un número de versiónde esta Licencia, puede escoger cualquier versión publicada por la Free SoftwareFoundation.

10. Si usted desea incorporar partes del Programa en otros programas librescuyas condiciones de distribución son diferentes, escriba al autor para pedirlepermiso. Si el software tiene copyright de la Free Software Foundation, escriba ala Free Software Foundation: algunas veces hacemos excepciones en estos casos.

589SuSE Linux – Manual de Administración

Page 608: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Nuestra decisión estará guiada por el doble objetivo de preservar la libertad detodos los derivados de nuestro software libre y promover el que se comparta yreutilice el software en general.

Ausencia de garantía

11. YA QUE EL PROGRAMA SE LICENCIA LIBRE DE CARGAS, NO SEOFRECE NINGUNA GARANTÍA SOBRE EL PROGRAMA, HASTA LO PER-MITIDO POR LAS LEYES APLICABLES. EXCEPTO CUANDO SE INDIQUELO CONTRARIO POR ESCRITO, LOS POSEEDORES DEL COPYRIGHT Y/UOTRAS PARTES PROVEEN EL PROGRAMA "TAL Y COMO ESTÁ", SINGARANTÍA DE NINGUNA CLASE, YA SEA EXPRESA O IMPLÍCITA, IN-CLUYENDO, PERO NO LIMITÁNDOSE A, LAS GARANTÍAS IMPLÍCITASDE COMERCIABILIDAD Y APTITUD PARA UN PROPÓSITO PARTICULAR.TODO EL RIESGO EN CUANTO A LA CALIDAD Y FUNCIONAMIENTODEL PROGRAMA LO ASUME USTED. SI EL PROGRAMA SE COMPROBARAQUE 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 LEYESAPLICABLES O SE ACUERDE POR ESCRITO, PODRÁ NINGÚN POSEE-DOR DE COPYRIGHT O CUALQUIER OTRA PARTE QUE HAYA MODIFI-CADO Y/O REDISTRIBUIDO EL PROGRAMA, SER RESPONSABLE ANTEUSTED POR DAÑOS O PERJUICIOS, INCLUYENDO CUALQUIER DAÑOGENERAL, ESPECIAL, INCIDENTAL O CONSECUENTE DEBIDO AL USOO LA IMPOSIBILIDAD DE PODER USAR EL PROGRAMA (INCLUYENDOPERO NO LIMITÁNDOSE A LA PÉRDIDA DE DATOS O LA PRODUCCIÓNDE DATOS INCORRECTOS O PÉRDIDAS SUFRIDAS POR USTED O PORTERCERAS PARTES O LA IMPOSIBILIDAD DEL PROGRAMA DE OPERARJUNTO A OTROS PROGRAMAS), INCLUSO SI EL POSEEDOR DEL COPY-RIGHT U OTRA PARTE HA SIDO AVISADO DE LA POSIBILIDAD DE TALESDAÑ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 posiblepara el público en general, la mejor forma de conseguirlo es convirtiéndolo ensoftware 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ñadir-los al principio de cada fichero fuente para comunicar lo más efectivamente

590 Licencia pública general GPL

Page 609: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

ELa

lice

nc

iap

úb

lica

ge

ne

ralG

NU

(GPL)

posible la ausencia de garantía. Además cada fichero debería tener al menosla línea de "copyright" y una indicación del lugar donde se encuentra la notifi-cación completa.

una línea para indicar el nombre del programa y una rápida idea de loque hace

Copyright (C) 19yy nombre del autorThis program is free software; you can redistribute it and/or

modify it under the terms of the GNU General Public License aspublished by the Free Software Foundation; either version 2 of theLicense, or (at your option) any later version.

This program is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warrantyof MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR-POSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General PublicLicense along with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

En castellano:

Este programa es software libre; usted puede redistribuirlo y/omodificarlo bajo los términos de la Licencia Pública General GNUtal y como está publicada por la Free Software Foundation; ya sea laversió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ícitade COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO ES-PECÍFICO. Vea la Licencia Pública General GNU para más detalles.

Usted debería haber recibido una copia de la Licencia PúblicaGeneral junto con este programa. Si no ha sido así, escriba a la FreeSoftware Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307 USA.

Añada también información sobre cómo contactar con usted mediante correoelectrónico y postal.

Si el programa es interactivo, haga que muestre un pequeño anuncio como elsiguiente, cuando comience a funcionar en modo interactivo:

Gnomovision versión 69, Copyright (C) 19yy nombre del autor

591SuSE Linux – Manual de Administración

Page 610: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Gnomovision comes with ABSOLUTELY NO WARRANTY; fordetails type ‘show w’. This is free software, and you are welcome toredistribute it under certain conditions; type ‘show c’ for details.

En castellano:

Gnomovision no ofrece ABSOLUTAMENTE NINGUNAGARANTÍA; para más detalles escriba ‘show w’. Esto es softwarelibre, y se le invita a redistribuirlo bajo ciertas condiciones. Escriba‘show c’ para más detalles.

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 usepueden llamarse de cualquier otra manera. Podrían incluso ser pulsaciones delrató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 elprograma, si es necesario. A continuación se ofrece un ejemplo, cambie los nom-bres:

Yoyodyne, Inc., hereby disclaims all copyright interest in theprogram ‘Gnomovision’ (which makes passes at compilers) writtenby James Hacker.

Signature of Ty Coon, 1 April 1989Ty Coon, President of Vice

En castellano:

Yoyodyne, Inc. con la presente renuncia a cualquier interés dederechos de copyright con respecto al programa ‘Gnomovision’(que hace pasadas a compiladores) escrito por Pepe Programador.

firma de Pepito Grillo, 1 de abril de 1989Pepito Grillo, Presidente de Asuntillos Varios.

Esta Licencia Pública General no permite incorporar su programa a programaspropietarios. Si su programa es una librería de subrutinas, puede considerarmás útil el permitir el enlazado de aplicaciones propietarias con la librería. Sieste es el caso, use la Licencia Pública General GNU para Librerías en lugar deesta Licencia.

592 Licencia pública general GPL

Page 611: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Índice alfabético

Símbolos( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388, 390/etc/conf.modules . . . . . . . . . . . . . . . . . . véase

/etc/modules.conf/etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365/etc/init.d/boot . . . . . . . . . . . . . . . . . . . . . . 54/etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . 328/etc/logfiles . . véase Archivos de registro/etc/modules.conf . . . . . . . . . . . . . . . . . . . 292/etc/named.conf . . . . . . . . . . . . . . . . . . . . . . . . . 403/etc/profile . . . . . . véase bash, /etc/profile/etc/resolv.conf . . . . . . . . . . . . . . . . . . . . 304LILO

- Configuración . . . . . . . . . . . . . . . . . . . . . . 89xdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348sistema X Window . . . . . . . . . . . . . . . . . . véase X113D . . . . . . . . . . . . . . . . . . . . . . . . véase OpenGL/3D

AActualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

- /etc/skel . . . . . . . . . . . . . . . . . . . . . . . . 50Advanced Powermanagement . . . . . . . . . . . . 360Advertencia Virus . . . . . . . . . . . . . . . . . . . . . . . . . 17Apache

- mod_php4 . . . . . . . . . . . . . . . . . . . . . . . . . 52- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

Apagar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348APM

- Parámetros del kernel . . . . . . . . . . . . . . 54Apple

- Netatalk . . . . . . . . . . . . . . . . . . . . . . . . . . 455apsfilter

- Impresora de red . . . . . . . . . . . . . . . . . . 223Aquid

- SARG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492Archivos de registro . . . . . . . . . . . . . . . . . . . . . . 300

Arrancar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77, 327- con disquete . . . . . . . . . . . . . . . . . . . . . . . 24- Bootmanager . . . . . . . . . . . . . . . . . . . . . . . 80- con disquetes . . . . . . . . . . . . . . . . . . . . . . 22- con el CD2 . . . . . . . . . . . . . . . . . . . . . . . . . 25- Concepto . . . . . . . . . . . . . . . . . . . . . . . . . . 79- Gestor de arranque . . . . . . . . . . . . . . . . . 80- GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 84–87- initial ramdisk . . . . . . . . . . . . . . . . . . . . 305- Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . 17- Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Arrancar (problemas)- seeInstalación, Safe Settings . . . . . . . . 53

Arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78, 575- Concepto . . . . . . . . . . . . . . . . . . . . . . . . . 327- El ordenador se cuelga . . . . véase BIOS,

Virus Protectionautoexec.bat . . . . . . . . . . . . . . . . . . . . . . . . . . 333autofs

- Ficheros via NIS . . . . . . . . . . . . . . . . . . . . 54

Bbash

- /etc/profile . . . . . . . . . . . . . . . . . . . 299bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401

- BIND8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403- BIND9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

BIOS- Virus Protection . . . . . . . . . . . . . . . . . . . . 17

Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575Booting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Bootmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

- boot.sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80- LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Page 612: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

- Windows NT . . . . . . . . . . . . . . . . . . . . . . . 80Borrar

- LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94- Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Buscar ficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Busmouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

CCargador de arranque

- GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77- LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77- YaST2 . . . . . . . . . . . . . . . . . . . . . . . . . . 81–84

Cargador de módulos del kernel . . . . . . . . . . 292CD-ROM

- se traba . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26CD-ROM-ATAPI se traba . . . . . . . . . . . . . . . . . . 26Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579Clock-Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Comando

- ulimit . . . . . . . . . . . . . . . . . . . . . . . . . . . 302command not found . . . . . . . . . . . . . . . . . . . . . . 365Compose . . . . . . . véase Disposición del teclado,

ComposeComprar PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Concepto de arranque . . . . . . . . . . . . . . . . . . . . . 79Conexión a redes . . . . . . . . . . . . . . . . . . . . . . . . . 373Conexión telefónica

- smpppd . . . . . . . . . . . . . . . . . . . . . . . . . . 468conf.modules . . . . . véase /etc/modules.confConfiguración

- LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89- Cambiar . . . . . . . . . . . . . . . . . . . . . . . . . . 335- Hora de red . . . . . . . . . . . . . . . . . . . . . . . 367- manual . . . . . . . . . . . . . . . . . . . . . . . . . . . 391- Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388- X11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Configuración del sistema . . . . . . . . . . . . . . . . 338Configurar la hora . . . . . . . . . . . . . . . . . . . . . . . . 367Configurar servicios del sistema . . . . . . . . . véase

sysconfigConsola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344, 348

- virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321Consola de texto . . . . . . . . . . . . . . . . . . . . . . . . . . 348Consolas virtuales . . . . . . . . . . . . . . . . . . . . . . . . 321Controladora ATA-RAID . . . . véase Hardware,

Controladora PromiseControladora GDT RAID5 . . . véase ICP VortexControladora ICP Vortex

- Instalación falla . . . . . . . . . . . . . . . . . . . . 16Controladora Promise . . . . . . . véase Hardware,

Controladora PromiseControladora RAID

- ATA . . . . véase Hardware, ControladoraPromise

Cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494- filtro de paquetes . . . . . . . . . . . . . . . . . 494- Squid y . . . . . . . . . . . . . . . . . . . . . . . . . . . 485- SuSEfirewall2 . . . . . . . . . . . . . . . . 494, 497

· configur . . . . . . . . . . . . . . . . . . . . . . . 497Crash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575, 579Crear usuario

- Problemas . . . . . . . . . . . . . . . . . . . . . . . . 398cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300, 346Cuelgue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575

DDCF77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291Derechos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364Desinstalar

- Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478

DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419–423- Asignación estática de direcciones 422- Configuración de un servidor . . . . . 347- Configuración del cliente . . . . . . . . . . 356- Configuración del servidor . . . . . . . . 420- Paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . 420- Relay Agent . . . . . . . . . . . . . . . . . . . . . . . 347

Dirección IP- dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . 365

Dirección IP dinámica . . . . . . . . . . . . . . . . . . . . 365Direcciones

- IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378- MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

Direcciones IP- IPv6

· Prefijos . . . . . . . . . . . . . . . . . . . . . . . . . 385direcciones IP

- masquerading . . . . . . . . . . . . . . . . . . . . 494Direcciones IP . . . . . . . . . . . . . . . . . . . . . . . 378, 381

- Clases de red . . . . . . . . . . . . . . . . . . . . . . 378- IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

· Estructura . . . . . . . . . . . . . . . . . . . . . 384- Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

Direcciones IPv6- Máscaras de red . . . . . . . . . . . . . . . . . . . 386

Direct3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Disco duro IDE

- Controladora ATA-RAID . . . . . . . . véaseHardware, Controladora Promise

Disposición del teclado- Compose . . . . . . . . . . . . . . . . . . . . . . . . . 322

Disquete- Arrancar de . . . . . . . . . . . . . . . . . . . . . . . . 79

594 Índice alfabético

Page 613: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

- Formatear . . . . . . . . . . . . . . . . . . . . . . . . . . 23Disquete de arranque . . . . . . . . . . . . 24, 53, 79, 88

- Crear con rawrite . . . . . . . . . . . . . . . . . . 22- Generar con dd . . . . . . . . . . . . . . . . . . . . 23

Disquete de rescate . . . . . . . . . . . . . . . . . . . . . . . 315Distribución del teclado . . . . . . . . . . . . . . . . . . 322DMA . . . . . . . . . . . . . . . . . . . . . . . . véase IDE-DMA

- Apagar . . . . . . . . . . . . . . . . . . . . . . . . . . . 349- Arrancar . . . . . . . . . . . . . . . . . . . . . . . . . . 349

DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381, 401- Ficheros de zona . . . . . . . . . . . . . . . . . . 406- Forwarding . . . . . . . . . . . . . . . . . . . . . . . 402- Iniciar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401- Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . 405- Mail Exchanger . . . . . . . . . . . . . . . . . . . 382- Opciones . . . . . . . . . . . . . . . . . . . . . . . . . 404- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478- Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- Zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

DNS:resolución de nombres inversa . . . . . . 409DocBook . . . . . . . . . . . . . . véase SGML, DocBookDomain Name Service . . . . . . . . . . . . . . . . . . . . 401Dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

E2fsck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575Editor de niveles de ejecución . . . . . . . . . . . . 334EIDE

- Chipsets especiales . . . . . . . . . . . . . . . . . 51El ordenador se cuelga . . . . . . véase BIOS, Virus

ProtectionEmacs . . . . . . . . . . . . . . . . . véase Software, EmacsEmergencia

- Sistema de rescate . . . . . . . . . . . . . . . . . 315enrutado

- masquerading . . . . . . . . . . . . . . . . . . . . 494Enrutamiento

- Rutas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399Entorno de desarrollo . . . . . . . . . . . . . . . . . . . . . . 63ES-NIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401exportar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416, 417

Ffdisk

- mbr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94FHS . . . . . . . . . . . véase Sistema de ficheros, FHSFichero de configuración . . . . . . . . . . . . . 338, 403Ficheros

- Buscar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54- grandes . . . . . . . . . . . . . . . . . . . . . . 558–559- Permisos sobre ficheros . . . . . . . . . . . 302

Ficheros Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302ficheros de configuración

- SuSEfirewall2 . . . . . . . . . . . . . . . . . . . . . 497Ficheros de configuración . . . . . . . . . . . . . . . . 392

- dhcpd.conf . . . . . . . . . . . . . . . . . . . . . . . . 420- exports . . . . . . . . . . . . . . . . . . . . . . . . . . . 417- host.conf . . . . . . . . . . . . . . . . . . . . . 395, 396- HOSTNAME . . . . . . . . . . . . . . . . . . . . . 399- ifroute-* . . . . . . . . . . . . . . . . . . . . . . . . . . . 399- menu.lst . . . . . . . . . . . . . . . . . . . . . . . . . . . 85- nscd.conf . . . . . . . . . . . . . . . . . . . . . . . . . 398- nsswitch.conf . . . . . . . . . . . . . . . . . . . . . 396- resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . 393- Rutas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399- squid.conf . . . . . . . . . . . . . . . . . . . . 485, 488- squidguard.conf . . . . . . . . . . . . . . . . . . 490

Ficheros temporales- Eliminar . . . . . . . . . . . . . . . . . . . . . . . . . . 346- Eliminar al arrancar . . . . . . . . . . . . . . . 346

Filtro de impresión- para impresoras de red . . . . . . . . . . . . 223

filtro de paquetes . . . . . . . . . . . . . . . . . . . . . . . . . 494FireGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

- Activar . . . . . . . . . . . . . . . . . . . . . . . . . . . 365Framebuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Frecuencia horizontal . . . . . . . . . . . . . . . . . . . . . 104Frecuencia vertical . . . . . . . . . . . . . . . . . . . . . . . 104free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303Fuentes

- Compilar . . . . . . . . . . . . . . . . . . . . . . . . . . 63

GGestor de arranque . . . . . . . . . . . . . . . . . . . . . . . . 77

- boot.sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80- LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80- Windows NT . . . . . . . . . . . . . . . . . . . . . . . 80

Gestor de impresión (lpd) . . . . . . . . . . . . . . . . 178Gestor de paquetes . . . . . . . . . . . . . . . . . . . . . . . . 56Ghostscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210GNOME

- Compilar . . . . . . . . . . . . . . . . . . . . . . . . . . 57GNU Emacs . . . . . . . . . . . véase Software, EmacsGPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77, 84gs . . . . . . . . . . . . . . . . . . . . . . . . . . véase Ghostscript

Hharden_suse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Hardware

- Controladora Promise . . . . . . . . . . . . . . 47- Hotplug . . . . . . . . . . . . . . . . . . . . . . . . . . 349- Joystick . . . . . . . . . . . . . . . . . . . . . . . . . . . 352- Laptop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247- Portátil . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

595SuSE Linux – Manual de Administración

Page 614: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

host.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394, 395Hotplug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241, 390

- Cámaras . . . . . . . . . . . . . . . . . . . . . . . . . . 244- Dispositivos de almacenamiento . . 243- Dispositivos de red . . . . . . . . . . . . . . . 244- en Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 242- Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244- PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244- PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . 244- Teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . 244- USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

httpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338- Apache2 . . . . . . . . . . . . . . . . . . . . . . . . . . 341

II18N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323IDE-DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115importar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415Impresora

- Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . 178- Impresora GDI . . . . . . . . . . . . . . . . . . . . 160- Lenguajes de impresión . . . . . . . . . . . 154

Impresora de red . . . . . . . . . . . . . . . . . . . . . . . . . 223- Prefiltrado . . . . . . . . . . . . . . . . . . . . . . . . 223

Impresoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153- Resolución de problemas . . . . . . . . . . 184

inetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Info (info ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302Información del sistema . . . . . . . . . . . . . . . . . . 311init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

- scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331Initial ramdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . 305initrd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328insmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291Instalación . . . . . . . . . . . . . . . . . véase Safe Settings

- Autoinstalación . . . . . . . . . . . . . . . . . . . 343- con YaST, modo texto . . . . . . . . . . . . . . 10- Desinstalar paquetes . . . . . . . . . . . . . . . 58- FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19- GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55- LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55- mailman . . . . . . . . . . . . . . . . . . . . . . . . . . . 55- majordomo . . . . . . . . . . . . . . . . . . . . . . . . 55- NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19- Paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . 58- PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . 257- postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55- Red como fuente . . . . . . . . . . . . . . . . . . . 19- sendmail . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Interface

- USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175Internet

- smpppd . . . . . . . . . . . . . . . . . . . . . . . . . . 468IP-Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . 366IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

- Configurar la interfaz . . . . . . . . . . . . . 351iso-8859 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118ispell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

Jjade . . . . . . . . . . . . . . . . . . . véase SGML, openjadeJava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

KKerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

- Actualización de contraseña . . . . . . . 530- Autentificación . . . . . . . . . . . . . . . 528, 529- Authenticator . . . . . . . . . . . . . . . . . . . . . 508- Clave maestra . . . . . . . . . . . . . . . . . . . . . 518- Configuración de clientes . . . . . 520–523- Configuración de SSH . . . . . . . . . . . . . 531- Credential . . . . . . . . . . . . . . . . . . . . . . . . 508- Host principal . . . . . . . . . . . . . . . . . . . . 526- Instalación y administración . 514–534- KDC . . . . . . . . . . . . . . . . . . . . . . . . . 518–520- LDAP y Kerberos . . . . . . . . . . . . . 532–534- Mutual Authentication . . . . . . . . . . . . 509- Principal . . . . . . . . . . . . . . . . . . . . . 508, 519- Realm . . . . . . . . . . . . . . . . . . . . . . . . 514, 519- Registro . . . . . . . . . . . . . . . . . . . . . . . . . . . 517- Replay . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509- Session Key . . . . . . . . . . . . . . . . . . . . . . . 509- Sincronización del reloj . . . . . . . . . . . . 516- Soporte PAM . . . . . . . . . . . . . . . . . 527–530- Ticket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508

Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287- Compilación . . . . . . . . . . . . . . . . . . . . . . 287- Configuración . . . . . . . . . . . . . . . . . . . . 289- Debugging . . . . . . . . . . . . . . . . . . . . . . . . 366- Módulos . . . . . . . . . . . . . . . . . . . . . . . . . . 290- Sysrq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

Kernel Module Loader . . . . . . . . . . . . . . . . . . . 292Kernel too big . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293kerneld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Kerneldamon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292kmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

LL10N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388Laptop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247LDAP

- Kerberos y LDAP . . . . . . . . . . . . . 532–534

596 Índice alfabético

Page 615: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Lector CD-ROM- Soporte en Linux . . . . . . . . . . . . . . . . . . . 25

Licencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77, 87

- Desinstalar . . . . . . . . . . . . . . . . . . . . . 93, 94- Fundamentos . . . . . . . . . . . . . . . . . . . . . . 88- Instalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

lilo.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Linux

- Actualización . . . . . . . . . . . . . . . . . . . . . . 45- Borrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94- Desinstalar . . . . . . . . . . . . . . . . . . . . . . . . . 94- Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Linux Standard Base . . . . . . . . . . . . . . . . . . . . . . 298linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310Local Area Network . . . . . . . . . . . . . . . véase LANlocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 353Logfiles . . . . . . . . . . . . véase Archivos de registroLogical Volume Manager . véase YaST2,Gestor

Volúmenes LógicosLogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

- remote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Logitech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103lpc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180lpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178lpq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180lpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180lprm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180LSB . . . . . . . . . . . . . . . . véase Linux Standard Base

- Instalar paquetes . . . . . . . . . . . . . . . . . . . 57lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292LVM . . . . . . . . . . . . . . . . . . . . . . . . véase YaST2,LVM

MMódulo

- Cargar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312- Parámetros . . . . . . . . . . . . . . . . . . . . . . . 313

Módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290- Compilar . . . . . . . . . . . . . . . . . . . . . . . . . 294- Manejo . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

MacOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455Manpages . . . . . . . . . . . . . . . . . véase Páginas manmasquerading . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

- configuración con SuSEfirewall2 . . 497Masquerading . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

- IP-Forwarding . . . . . . . . . . . . . . . . . . . . 366MBR . . . . . . . . . 78, 89, véase Master Boot RecordMemoria

- Memoria de trabajo . . . . . . . . . . . . . . . 303Mesa Software Rendering . . . . . . . . . . . . . . . . 122mk_initrd . . . . . . . . . . . . . . . . . . . véase mkinitrdmkinitrd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309mod_php4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Modeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117modinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Modo

- Gráfico véase Pantalla gráfica de SuSE,desactivar

Modo gráfico . véase Pantalla gráfica de SuSE,desactivar

modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291modules.conf . . . . . véase /etc/modules.confMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415mountd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417Multi_key . . . . . . véase Disposición del teclado,

Compose

NName Service Cache Daemon . . . . . . . . . . . . . 398Name Service Switch . . . . . . . . . . . . . . . . . . . . . 396Nameserver . . . . . . . . . . . . . . . . . . . . . . . . . 395, 401

- BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401NAT . . . . . . . . . . . . . . . . . . . . . véase masqueradingNetatalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455NetBIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446NetWare . . . . . . . . . . . . . . . véase Novell NetWareNetwork File System . . . . . . . . . . . . . . . véase NFSNetwork Information Service . . . . . . . véase NISnetworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415NFS-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415NFS-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415nfsd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

- autofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54- Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Nivel de ejecución . . . . . . . . . . . . . . . . . . . . 53, 329- Nuevo significado . . . . . . . . . . . . . . . . . . 52

Niveles de seguridad- Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

Nombre de grupo- Modificación . . . . . . . . . . . . . . . . . . . . . . . 55

Nombre de usuario- Modificación . . . . . . . . . . . . . . . . . . . . . . . 55

Notebook- IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

NoteEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

OOpenGL/3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120OpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . . véase SSH

PPáginas man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

- Disponer de una base de datos . . . . 347

597SuSE Linux – Manual de Administración

Page 616: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Pantalla gráfica- Desactivar . . . . . . . . . . . . . . . . . . . . . . . . . 18

Pantalla virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . 115paquete

- (lprng . . . . . . . . . . . . . . . . . . . . . . . . . . . 178- 3dpixms . . . . . . . . . . . . . . . . . . . . . . . . . 367- a2ps . . . . . . . . . . . . . . . . . . . . . . . . . 165, 214- aaa_base . . . . . . . . . . . . . . . . . . . . . . . . 300- allman . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53- alsa-devel . . . . . . . . . . . . . . . . . . . . . . 57- alsamodular . . . . . . . . . . . . . . . . . . . . 146- apmd . . . . . . . . . . . . . . . . . . . . . . . . . 268, 269- audacity . . . . . . . . . . . . . . . . . . . . . . . . 132- awesfx . . . . . . . . . . . . . . . . . . . . . . . . . . . 138- awesfx, snd_sf2, kalsatools . .

136- binutils . . . . . . . . . . . . . . . . . . . . . . . . 289- build . . . . . . . . . . . . . . . . . . . . . . . . . . 63, 64- bzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- bzip2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- cups . . . . . . . . . . . . . . . . . . . . 164, 200, 205- cups-client . . . . . . . . . . . 164, 170, 205- cups-drivers . . . . . . . . . . . . . . 164, 200- cups-drivers-stp . . . . 164, 200, 203- cups-libs . . . . . . . . . . . . . . . . . . . . . . . 164- dhcpcd . . . . . . . . . . . . . . . . . . . . . . . . . . . 420- docbktls . . . . . . . . . . . . . . . . . . . . . . . . . 53- docbook-dsssl-stylesheets . . 52- docbook-toys . . . . . . . . . . . . . . . . 53, 56- docbook_3 . . . . . . . . . . . . . . . . . . . . . . . . 52- docbook_4 . . . . . . . . . . . . . . . . . . . . . . . . 52- dochost . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305- emacs-auctex . . . . . . . . . . . . . . . . . . . 305- emacs-el . . . . . . . . . . . . . . . . . . . . . . . . 305- emacs-info . . . . . . . . . . . . . . . . . . . . . 305- emacs-nox . . . . . . . . . . . . . . . . . . . . . . . 305- emacs-x11 . . . . . . . . . . . . . . . . . . . . . . . 305- exports . . . . . . . . . . . . . . . . . . . . . . . . . 416- fhs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298- file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165- find-locate . . . . . . . . . . . . . . . . . . . . . 54- findutils-locate . . . . . . . . . . . . . 347- finger . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- ftpdir . . . . . . . . . . . . . . . . . . . . . . . . . . . 298- gcc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289- ghostscript-fonts-std . . . . . . 165- ghostscript-library . . . . . . . . . 165- ghostscript-x11 . . . . . . . . . . . . . . 165- gimp-devel . . . . . . . . . . . . . . . . . . . . . . 57- glibc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63- glibc-devel . . . . . . . . . . . . . . . . . . . . 289- glibc-info . . . . . . . . . . . . . . . . . . . . . 326

- gnuserv . . . . . . . . . . . . . . . . . . . . . . . . . 305- gv . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210, 221- howtoen . . . . . . . . . . . . . . . . . . . . . . . . . 492- howtoes . . . . . . . . . . . . . . . . . . . . . . . . . 497- iiwusynth, timidity . . . . . . . . . 143- iputils . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- ipxrip . . . . . . . . . . . . . . . . . . . . . . . . . . . 466- irda . . . . . . . . . . . . . . . . . . . . . . . . . 177, 282- isapnp . . . . . . . . . . . . . . . . . . . . . . . 54, 172- jack, qjackconnect . . . . . . . . . . 131- jade_dsl . . . . . . . . . . . . . . . . . . . . . . . . . 56- kalsatools . . . . . . . . . . . . . . . . . . . . . 135- kbd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54- kdelibs-devel . . . . . . . . . . . . . . . . . . 57- kdemultimedia . . . . . . . . . . . . . . . . . 141- kernel-source . . . . . . . . . . . . . . . . . 289- libcinfo . . . . . . . . . . . . . . . . . . . . . . . . 396- libgimpprint . . . . . . . . . . . . . . . . . . . 165- libz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- logrotate . . . . . . . . . . . . . . . . . . 300, 364- lpdfilter . . . . . . . . . . . . . . . . . . 164, 184- lprng . . . . . . . . . . . . . . . . . . . 164, 228, 229- lvm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54- mesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124- mesa3dfx . . . . . . . . . . . . . . . . . . . . . . . . 124- mesasoft . . . . . . . . . . . . . . . . . . . . . . . . 122- mod_php4 . . . . . . . . . . . . . . . . . . . . . . . . . 52- mysql-Max . . . . . . . . . . . . . . . . . . . . . . . . 53- ncpfs . . . . . . . . . . . . . . . . . . . . . . . . 465, 466- netatalk . . . . . . . . . . . . . . . . . . . 455, 460- nkita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- nkitb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- noteedit, jazz, muse,

rosegarden . . . . . . . . . . . . . . . . 151- openjade . . . . . . . . . . . . . . . . . . . . . . . . . 56- openldap . . . . . . . . . . . . . . . . . . . . . . . . . 56- openldap2 . . . . . . . . . . . . . . . . . . . . . . . . 56- openssh . . . . . . . . . . . . . . . . . . . . . . . . . 501- pcmcia . . . . . . . . . . . . . . . . . . . . . . 249, 258- pcmcia-cardinfo . . . . . . . . . . . . . . 258- pcmcia-modules . . . . . . . . . . . . . . . . 259- pmidi, aseqview, vkeybd . . . . 136- pmtools . . . . . . . . . . . . . . . . . . . . . . . . . 276- popt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- popt-devel . . . . . . . . . . . . . . . . . . . . . . 56- postgres . . . . . . . . . . . . . . . . . . . . . . . . . 47- psgml . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305- psutils . . . . . . . . . . . . . . . . 187, 216, 217- radvd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391- rpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 63- rpm-devel . . . . . . . . . . . . . . . . . . . . . . . . 56- rsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- rwho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

598 Índice alfabético

Page 617: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

- rzsz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447- samba-client . . . . . . . . . 201, 203, 230- sdb_en . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51- squidgrd . . . . . . . . . . . . . . . . . . . . . . . . 490- su1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- sudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- SuSEfirewall2 . . . . . . . . . . . . . 365, 494- susehelp . . . . . . . . . . . . . . . . . . . . . . . . . 52- syslinux . . . . . . . . . . . . . . . . . . . . . . 24, 96- sysvinit . . . . . . . . . . . . . . . . . . . . . . . . . 63- talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290- telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290- tpctl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268- vorbis-tools . . . . . . . . . . . . . . . . . . . 135- wget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62- xf86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290- XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . 124- xntp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367- xntp-doc . . . . . . . . . . . . . . . . . . . . . . . . 368- yast2-trans-* . . . . . . . . . . . . . . . . . . 56- yast2-trans-cs . . . . . . . . . . . . . . . . . 56- yast2-trans-de . . . . . . . . . . . . . . . . . 56- yast2-trans-es . . . . . . . . . . . . . . . . . 56- yp-tools . . . . . . . . . . . . . . . . . . . . . . . . . 52- ypbind . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52- ypclient . . . . . . . . . . . . . . . . . . . . . . . . . 52- yudit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119- zlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- zlib-devel . . . . . . . . . . . . . . . . . . . . . . 56

Paquete- ¿Dónde se encuentra? . . . . . . . . . . . . . . 52- Formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56- LSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57- Modificaciones en 8.1 . . . . . . . . . . . . . . 56

Paquetes- Compilar . . . . . . . . . . . . . . . . . . . . . . . . . . 63- Construir . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Parámetros del kernel- realmode-power-off . . . . . . . . . . . . . . . . 54

Partición- Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Particionador . . . . . . véase YaST2,ParticionadorParticionar

- Experto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27PASSWD_USE_CRACKLIB . . . . . . . . . . . . . . . . 54PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244PCMCIA . . . . . . . . . . . . . . . . . . . 244, 248, 359, 390

- Administrador de tarjetas . . . . . . . . . 249- Configuración . . . . . . . . . . . . . . . . . . . . 250- Instalación . . . . . . . . . . . . . . . . . . . . . . . . 257

- IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281- Módem . . . . . . . . . . . . . . . . . . . . . . . . . . . 251- RDSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251- Resolución de errores . . . . . . . . . . . . . 253- SCPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252- SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252- Tarjetas de red . . . . . . . . . . . . . . . . . . . . 251- Utilidades . . . . . . . . . . . . . . . . . . . . . . . . 258

Permisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364Permisos de ficheros . . . . . . . . . . . . . . . . . . . . . . 364PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57pine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Portátil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247Portátiles

- PCMCIA . . . . . . . . . . . . . . . . . . . . . 359, 390- SCPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

portmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417PostgreSQL

- Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Primera instalación

- Arrancar con disquete . . . . . . . . . . . . . . 24- Arrancar con el CD2 . . . . . . . . . . . . . . . 25- Disquetes de arranque . . . . . . . . . . . . . 22- Futuros métodos de arranque . . . . . . 17- Generar disquete de arranque bajo un

sistema tipo Unix . . . . . . . . . . . . . 23- linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11- Pantalla de bienvenida . . . . . . . . . . . . . 10

printserver-box . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Probar PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Programar

- Ficheros Core . . . . . . . . . . . . . . . . . . . . . 302Programas

- Compilar . . . . . . . . . . . . . . . . . . . . . . . . . . 63- Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Protocolos- ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375- IGMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375- TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 374- UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

Proxy- FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363- HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472- transparente . . . . . . . . . . . . . . . . . . . . . . 484- Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

Puerto- IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177- serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Puertos- paralelos . . . . . . . . . . . . . . . . . . . . . . . . . . 170

599SuSE Linux – Manual de Administración

Page 618: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

RRamdac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Ramdisk

- Ramdisk inicial . . . . . . . . . . . . . . . . . . . 352Ratón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

- Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103- HiTablet . . . . . . . . . . . . . . . . . . . . . . . . . . 103- Logitech . . . . . . . . . . . . . . . . . . . . . . . . . . 103- Logitech (MouseMan) . . . . . . . . . . . . . 103- Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . 103- MM-Serie . . . . . . . . . . . . . . . . . . . . . . . . . 103- Mouse Systems . . . . . . . . . . . . . . . . . . . 103- pine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54- PS/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103- Tipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

rc.config- Variables START . . . . . . . . . . . . . . . . . . . 54

real-mode-poweroff . . . . véase Parámetros delkernel, realmode-power-off

Red- Asignación dinámica de direcciones . . .

419- Configuración . . . . . . . . . . . . . . . . . . . . 388

· IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 390- Configuración básica . . . . . . . . . . . . . . 355- Configuración de un servidor DHCP . .

347- Configurar la tarjeta de red . . . . . . . . 358- DHCP Relay . . . . . . . . . . . . . . . . . . . . . . 347- Dirección base . . . . . . . . . . . . . . . . . . . . 380- Direcciones IP . . . . . . . . . . . . . . . . . . . . . 378- DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381- Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354- Ficheros de configuración . . . . . . . . . 392- Herramientas . . . . . . . . . . . . . . . . . . . . . . 52- Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . 507- Localhost . . . . . . . . . . . . . . . . . . . . . . . . . 380- Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 378- Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373- Máscaras de red . . . . . . . . . . . . . . . . . . . 378- Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

Reiniciar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348reiserfsck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579Reloj ”atómico” . . . . . . . . . . . . . . . . . . . . . . . . . . 368Rescue-System . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Resolución de nombres

- NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395Resolución de pantalla . . . . . . . . . . . . . . . . . . . 115resolv.conf . . . . . . . . . . . . . véase /etc/resolv.confrmmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291Root

- Login, remote . . . . . . . . . . . . . . . . . . . . . . 54

ROOT_LOGIN_REMOTE . . . . . . . . . . . . . . . . . 54Router

- IP-Forwarding . . . . . . . . . . . . . . . . . . . . 366Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378, 399

- estático . . . . . . . . . . . . . . . . . . . . . . . . . . . 400- Máscaras de red . . . . . . . . . . . . . . . . . . . 378- Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

RPC-Mount-Daemon . . . . . . . . . . . . . . . . . . . . . 417RPC-NFS-Daemon . . . . . . . . . . . . . . . . . . . . . . . 417RPC-Portmapper . . . . . . . . . . . . . . . . . . . . 415, 417RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

- Base de datos . . . . . . . . . . . . . . . . . . . . . 343- Parches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65- rpmnew . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58- rpmorig . . . . . . . . . . . . . . . . . . . . . . . . . . . 58- rpmsave . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53, 329- cambiar . . . . . . . . . . . . . . . . . . . . . . . . . . . 330- Nuevo significado . . . . . . . . . . . . . . . . . . 52

SSamba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446

- Niveles de seguridad . . . . . . . . . . . . . . 450SCPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252, 260

- Administrar perfiles . . . . . . . . . . . . . . 262- Configurar . . . . . . . . . . . . . . . . . . . . . . . . 262

Script- init.d

· inetd . . . . . . . . . . . . . . . . . . . . . . . . . . . 399· network . . . . . . . . . . . . . . . . . . . . . . . . 399· nfsserver . . . . . . . . . . . . . . . . . . . . . . . 399· portmap . . . . . . . . . . . . . . . . . . . . . . . 399· sendmail . . . . . . . . . . . . . . . . . . . . . . . 399· ypbind . . . . . . . . . . . . . . . . . . . . . . . . . 399· ypserv . . . . . . . . . . . . . . . . . . . . . . . . . 399

- modify_resolvconf . . . . . . . . . . . . . . . . 394Scripts de arranque

- init.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399Sector de arranque . . . . . . . . . . . . . . . . . . . . . . . . . 78secure shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535

- Cortafuegos . . . . . . . . . . . . . . . . . . . . . . . 494- Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . 494- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473- SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500- SSH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

serie- xap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Servicio de nombres . . . . . . . . . . . . . . . . . . . . . . 446Servidor CUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Servidor de impresión . . . . . . . . . . . . . . . . . . . . 224Servidor de nombres . . . . . . . . . . . . . . . . . 393, 401

- BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401

600 Índice alfabético

Page 619: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

Servidor de red CUPS . . . . . . . . . . . . . . . . . . . . 225Servidor FTP

- Configurar . . . . . . . . . . . . . . . . . . . . . . . . 298- Directorio . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Servidor HTTP- Configurar . . . . . . . . . . . . . . . . . . . . . . . . 299- Directorio . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Servidor IPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Servidor LPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Servidor NNTP . . . . . . . . . . . . . . . . . . . . . . . . . . . 359SGML

- DocBook . . . . . . . . . . . . . . . . . . . . . . . . . . . 53- openjade . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Share . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447Shell

- profile . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Shutdown

- Señal acústica . . . . . . . . . . . . . . . . . . . . . 365Sistema

- Actualización . . . . . . . . . . . . . . . . . . . . . . 45Sistema de ficheros . . . . . . . . . . . . . . . . . . 551–560

- Access ACL . . . . . . . . . . . . . . . . . . 563, 566- ACL predeterminada . . . . . . . . . 563, 569- Default ACL . . . . . . . . . . . . . . . . . . 563, 569- Ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . 552–553- Ext3 . . . . . . . . . . . . . . . . . . . . . . . . . . 553–554- FHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298- JFS . . . . . . . . . . . . . . . . . . . . . . . . . . . 555–556- Limitaciones . . . . . . . . . . . . . . . . . . . . . . 558- Reconstruir . . . . . . . . . . . . . . . . . . . . . . . 575- ReiserFS . . . . . . . . . . . . . . . . . . . . . . 554–555- Selección . . . . . . . . . . . . . . . . . . . . . . . . . . 552- soportados . . . . . . . . . . . . . . . . . . . 557–558- Términos . . . . . . . . . . . . . . . . . . . . . . . . . 551- TeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298- XFS . . . . . . . . . . . . . . . . . . . . . . . . . . 556–557

Sistema de impresión . . . . . véase Spool-systemSistema de rescate . . . . . . . . . . . . . . . . . . . . . . . . 315

- Iniciar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318- Preparativos . . . . . . . . . . . . . . . . . . . . . . 317- Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

sistema spool- Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 180- Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . 178- Impresora de red . . . . . . . . . . . . . . . . . . 223

Sistema X Window . . . . . . . . . . . . . . . . . . . . . . . . 99Sistemas de ficheros

- Access Control Lists . . . . . . . . . . 561–574- Listas de control de acceso . . . . 561–574

SMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446smpppd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468Soft-RAID . . . . . . . . . . . . . véase YaST2,Soft-RAIDSoftware

- Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304Sonido

- NoteEdit . . . . . . . . . . . . . . . . . . . . . . . . . . 151Sourcecode

- Compilar . . . . . . . . . . . . . . . . . . . . . . . . . . 63Spool-system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

- Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . 487- Arrancar . . . . . . . . . . . . . . . . . . . . . . . . . . 476- Cachear objetos . . . . . . . . . . . . . . . . . . . 474- cachemgr.cgi . . . . . . . . . . . . . . . . . . . . . . 487- Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473- Calamaris . . . . . . . . . . . . . . . . . . . . . . . . . 491- Características . . . . . . . . . . . . . . . . . . . . 472- Control de acceso . . . . . . . . . . . . . . . . . 481- Control de accesos . . . . . . . . . . . . . . . . 488- Cortafuegos . . . . . . . . . . . . . . . . . . . . . . . 485- CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476- Discos duros . . . . . . . . . . . . . . . . . . . . . . 475- DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478- Estadísticas . . . . . . . . . . . . . . . . . . . . . . . 487- Permisos . . . . . . . . . . . . . . . . . . . . . . . . . . 481- Proxy transparente . . . . . . . . . . . . . . . . 484- Proxy-Cache . . . . . . . . . . . . . . . . . . . . . . 472- RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475- Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . 473- squidGuard . . . . . . . . . . . . . . . . . . . . . . . 489- Tamaño del caché . . . . . . . . . . . . . . . . . 475

SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500–507- Autentificación . . . . . . . . . . . . . . . . . . . 504- scp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502- sftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503- ssh-agent . . . . . . . . . . . . . . . . . . . . . . . . . 505- sshd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503

SuSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297SuSEconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364SuSEconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335SuSEConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

- Distribución del teclado . . . . . . . . . . . 322- Instalación . . . . . . . . . . . . . . . . . . . . . . . . 310- Particularidades . . . . . . . . . . . . . . . . . . 297- Sistema de rescate . . . . . . . . . . . . . . . . . 315

Swap-Partición . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28switch2mesasoft . . . . . . . . . . . . . . . . . . . . . . 122switch2nv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122sx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Syn Flood Protection . . . . . . . . . . . . . . . . . . . . . 365/etc/sysconfig . . . . . . . . . . . . . . . . . . . . . . . 335Syslog-Daemon

- Configurar . . . . . . . . . . . . . . . . . . . . . . . . 366- syslog-ng . . . . . . . . . . . . . . . . . . . . . . . . . 367

Sysrq . . . . . . . . . . . . . . . . . . . . . véase Kernel, Sysrq

601SuSE Linux – Manual de Administración

Page 620: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

System- Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

System is too big . . . . . . . . . . . . . . . . . . . . . . . . . 293

TTabla de partición . . . . . . . . . . . . . . . . . . . . . . . . . 78Tarjetas PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374, 375

- Modelo de capas . . . . . . . . . . . . . . . . . . 375TCP/Servicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374Teclado

- BloqDespl . . . . . . . . . . . . . . . . . . . . . . . . . 353- BloqMayús . . . . . . . . . . . . . . . . . . . . . . . 353- BloqNum . . . . . . . . . . . . . . . . . . . . . . . . . 353- Distribución . . . . . . . . . . . . . . . . . . . . . . 352- Repetición . . . . . . . . . . . . . . . . . . . . . . . . 352- Retardo . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

Teclas de ratón . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Texinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302Tiempo del sistema . . . . . . . . . . . . . . . . . . . . . . . 344Tkinfo (tkinfo ) . . . . . . . . . . . . . . . . . . . . . . . . . . 302TrueType . . . . . . . . . . . . . . . . . véase X11, TrueType

UUDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . véase TCPugidd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418ulimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

VVariable de entorno

- ACPI_BUTTON_LID . . . . . . . . . . . . . . 277- ACPI_BUTTON_POWER. . . . . . . . . . . . 277- APMD_AC. . . . . . . . . . . . . . . . . . . . . . . . . 270- APMD_BATTERY. . . . . . . . . . . . . . . . . . . 270- HOME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46- LANG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353- LC_* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353- PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4- PRINTER . . . . . . . . . . . . . . . . . . . . . . . . . 180

Variables START . véase rc.config , VariablesSTART

Virus Protection . . véase BIOS, Virus Protection

Wwhois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382Windowmanager . . . . . . . . . . . . . . . . . . . . . . . . . 367Windows

- SMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446Windows NT

- Bootmanager . . . . . . . . . . . . . . . . . . . . . . . 80- Gestor de arranque . . . . . . . . . . . . . . . . . 80

XX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . véase X11X Window System . . . . . . . . . . . . . . . . . . . . . . . . . 99X11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

- Administrador de ventanas . . . . . . . 348- Configuración . . . . . . . . . . . . . . . . . . . . 102

· Monitores . . . . . . . . . . . . . . . . . . . . . . 104· Ratón . . . . . . . . . . . . . . . . . . . . . . . . . . 103· Servidor X . . . . . . . . . . . . . . . . . . . . . 106· Teclado . . . . . . . . . . . . . . . . . . . . . . . . 104

- Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116- Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117- Fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 117- mkfontdir . . . . . . . . . . . . . . . . . . . . . . . . . 117- Optimización . . . . . . . . . . . . . . . . . . . . . 111- Tarjetas gráfica . . . . . . . . . . . . . . . . . . . . 106- TrueType-Font . . . . . . . . . . . . . . . . . . . . 117- ttmkfdir . . . . . . . . . . . . . . . . . . . . . . . . . . 117

X11R6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100xf86config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102XF86Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

- Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115- Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115- Device . . . . . . . . . . . . . . . . . . . . . . . 113–115- Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112- InputDevice . . . . . . . . . . . . . . . . . . . . . . 112- modeline . . . . . . . . . . . . . . . . . . . . . . . . . 115- Modeline . . . . . . . . . . . . . . . . . . . . . . . . . 113- Modes . . . . . . . . . . . . . . . . . . . 113, 115, 116- Monitor . . . . . . . . . . . . . . . . . . 113, 114, 116- Screen . . . . . . . . . . . . . . . . . . . . . . . . 113, 114- ServerFlags . . . . . . . . . . . . . . . . . . . . . . . 112- ServerLayout . . . . . . . . . . . . . . . . . . . . . 113- Subsection

· Display . . . . . . . . . . . . . . . . . . . . . . . . 115- Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100- Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

xinetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56XInfo (xinfo ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302XML

- openjade . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

YYaST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

- Distribución del teclado . . . . . . . . . . . . 71- Modo texto . . . . . . . . . . . . . . . . . . . . . . . . 71- ncurses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

YaST2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . véase YaST

602 Índice alfabético

Page 621: SuSE Linux / Manual de Administración - Redes …€¦ · SuSE Linux – Manual de Administración xi. 12. El concepto de arranque de SuSE Linux 327 El programa init

- Actualización en línea mediante laconsola . . . . . . . . . . . . . . . . . . . . . . . 75

- Editor de niveles de ejecución . . . . . 334- Editor sysconfig . . . . . . . . . . . . . . . . . . . 337- Gestor Volúmenes Lógicos . . . . . . . . . 33- Logical Volume Manager . . . . . . . . . . . 33- LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33- Particionador . . . . . . . . . . . . . . . . . . . . . . 32- Soft-RAID . . . . . . . . . . . . . . . . . . . . . . . . . . 40

- YOU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359Yellow Pages . . . . . . . . . . . . . . . . . . . . . . . véase NISYP

- Opciones . . . . . . . . . . . . . . . . . . . . . . . . . 368yudit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

ZZona horaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369