Leah Cunningham, Karl Eichwalder, Thomas Fehr, Stefan Fent, Werner Fink, Peter Findeisen, Dennis Geider, Viviane Glanz, Carsten Groß, Roland Haidl, Björn Jacke, Richard Jelinek, Hubert Mantel, Johannes Meixner, Edith Parzefall, Peter Pöml, Peter Reinhart, Marc Rührschneck, Thomas Schraitle, Klaus G. Wagner, Christian Zoz SuSE Linux System- und Referenz-Handbuch SuSE GmbH Schanzäckerstr. 10 D-90443 Nürnberg Tel.: (09 11) 7 40 53 31 (Vertrieb) Fax.: (09 11) 7 41 77 55 (Vertrieb) E-Mail: suse@suse.de WWW: http://www.suse.de Leah Cunningham, Karl Eichwalder, Thomas Fehr, Stefan Fent, Werner Fink, Peter Findeisen, Dennis Geider, Viviane Glanz, Carsten Groß, Roland Haidl, Björn Jacke, Richard Jelinek, Hubert Mantel, Johannes Meixner, Edith Parzefall, Peter Pöml, Peter Reinhart, Marc Rührschneck, Thomas Schraitle, Klaus G. Wagner, Christian Zoz SuSE Linux System- und Referenz-Handbuch 2. Auflage 2001 SuSE GmbH Copyright Dieses Werk ist geistiges Eigentum der SuSE GmbH. Es darf als Ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser Copyright-Vermerk auf jeder Kopie befindet. Satz: LATEX Design: Manuela Piotrowski Illustrationen: Rolf Vogt Linux ist ein eingetragenes Warenzeichen von Linus Torvalds. XFree86TM ist ein eingetragenes Warenzeichen von The XFree86 Project, Inc. MS-DOS, Windows, Windows 95, Windows 98 und Windows NT sind eingetragene Warenzeichen der Microsoft Corporation. UNIX ist ein eingetragenes Warenzeichen von X/Open Company Limited. Andere Warenzeichen oder registrierte Warenzeichen: T-Online von Deutsche Telekom, SuSE und YaST von SuSE GmbH . Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Die Firma SuSE GmbH richtet sich im Wesentlichen nach den Schreibweisen der Hersteller. Andere hier genannte Produkte können Warenzeichen des jeweiligen Herstellers sein. Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist Linux"? . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Intention dieses Buches ­ Hinweise zur Benutzung . . . . . . . 2 1.3 Legende ­ oder was bedeutet erde: # ls" . . . . . . . . . 3 1.4 Lorbeeren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Die SuSE Linux-Erstinstallation 7 2.1 Die Installation mit dem textbasierten YaST (YaST 1) . . . . . . 7 2.1.1 Nun geht's los: Der Startbildschirm . . . . . . . . . . . 7 2.1.2 Die Grundlage: linuxrc . . . . . . . . . . . . . . . . . . 8 2.1.3 Installation mit YaST . . . . . . . . . . . . . . . . . . . 13 2.1.4 Festplatte partitionieren und formatieren . . . . . . . . . 14 2.1.5 Installation der Software beginnen . . . . . . . . . . . . 16 2.1.6 Software-Grundausstattung auswählen . . . . . . . . . . 17 2.1.7 Systemsoftware und Programme aufspielen . . . . . . . 18 2.1.8 Kernel für das System auswählen und LILO einrichten . 19 2.1.9 Grundkonfiguration des Systems mit YaST . . . . . . . 20 2.1.10 Einloggen am Ende der Erstinstallation . . . . . . . . . 23 2.1.11 Anhalten des Systems und Booten . . . . . . . . . . . . 24 2.2 SuSE Linux starten . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Besondere Installationen . . . . . . . . . . . . . . . . . . . . . 28 2.3.1 Installation ohne CD-ROM-Unterstützung . . . . . . . . 28 2.3.2 Automatische Installation und Konfiguration (ALICE) . 29 2.4 Tipps und Tricks . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4.1 Platz schaffen für Linux (Partitionieren) . . . . . . . . . 31 2.4.2 Booten von Diskette (SYSLINUX) . . . . . . . . . . . 33 2.4.3 CD 2 zum Booten verwenden . . . . . . . . . . . . . . 34 2.4.4 Bootdiskette unter DOS erstellen . . . . . . . . . . . . . 34 2.4.5 Bootdiskette unter Unix erstellen . . . . . . . . . . . . . 36 2.4.6 Unterstützt Linux mein CD-ROM-Laufwerk? . . . . . . 36 2.4.7 ATAPI-CD-ROM bleibt beim Lesen hängen . . . . . . . 37 2.4.8 CD-ROM-Laufwerke am Parallelport . . . . . . . . . . 38 i Inhaltsverzeichnis 2.4.9 loadlin fehlt Speicher, um den Kernel zu laden . . . . . 39 2.4.10 loadlin funktioniert nicht . . . . . . . . . . . . . . . . . 39 2.5 Hinweise zum Partitionieren . . . . . . . . . . . . . . . . . . . 39 2.6 Partitionieren für Fortgeschrittene . . . . . . . . . . . . . . . . 41 2.6.1 Die Größe der Swap-Partition . . . . . . . . . . . . . . 42 2.6.2 Einsatzgebiet des Rechners . . . . . . . . . . . . . . . . 43 2.6.3 Optimierungsmöglichkeiten . . . . . . . . . . . . . . . 45 3 YaST­ Yet another Setup Tool 49 3.1 Bedienung und Tastenbelegung . . . . . . . . . . . . . . . . . . 49 3.2 Das YaST-Hauptmenü . . . . . . . . . . . . . . . . . . . . . . 50 3.3 Allgemeine Hilfe . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.4 Einstellungen zur Installation . . . . . . . . . . . . . . . . . . . 51 3.4.1 Sprache festlegen . . . . . . . . . . . . . . . . . . . . . 51 3.4.2 Tastaturbelegung auswählen . . . . . . . . . . . . . . . 51 3.4.3 Installationsquelle auswählen . . . . . . . . . . . . . . 52 3.4.4 Installation von CD/DVD . . . . . . . . . . . . . . . . 52 3.4.5 Installation von einer Festplatten-Partition . . . . . . . . 52 3.4.6 Installation via NFS . . . . . . . . . . . . . . . . . . . 53 3.4.7 Installation von einem erreichbaren Verzeichnis . . . . . 54 3.4.8 Installation via FTP . . . . . . . . . . . . . . . . . . . . 55 3.4.9 Festplatte(n) partitionieren . . . . . . . . . . . . . . . . 56 3.4.10 Ziel-Partitionen/Dateisysteme festlegen . . . . . . . . . 58 3.4.11 Exkurs: Manuelle Konfiguration der Festplatte . . . . . 62 3.4.12 Logical Volume Manager konfigurieren . . . . . . . . . 68 3.4.13 Installation in ein Verzeichnis . . . . . . . . . . . . . . 68 3.5 Paketverwaltung ­ Installationsumfang festlegen . . . . . . . . 69 3.5.1 Konfiguration laden . . . . . . . . . . . . . . . . . . . . 69 3.5.2 Konfiguration speichern . . . . . . . . . . . . . . . . . 70 3.5.3 Konfiguration ändern/erstellen . . . . . . . . . . . . . . 70 3.5.4 Paket-Abhängigkeiten überprüfen . . . . . . . . . . . . 72 3.5.5 Was wäre wenn... . . . . . . . . . . . . . . . . . . . . . 74 3.5.6 Installation starten . . . . . . . . . . . . . . . . . . . . 74 3.5.7 Index aller Serien und Pakete . . . . . . . . . . . . . . . 74 3.5.8 Paketauskunft . . . . . . . . . . . . . . . . . . . . . . . 74 3.5.9 Pakete einspielen . . . . . . . . . . . . . . . . . . . . . 74 3.5.10 Pakete löschen . . . . . . . . . . . . . . . . . . . . . . 75 3.6 System updaten . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.7 Administration des Systems . . . . . . . . . . . . . . . . . . . 76 ii Inhaltsverzeichnis 3.7.1 Hardware in System integrieren . . . . . . . . . . . . . 76 3.7.2 Kernel- und Bootkonfiguration . . . . . . . . . . . . . . 78 3.7.3 Netzwerk konfigurieren . . . . . . . . . . . . . . . . . 81 3.7.4 Login-Konfiguration . . . . . . . . . . . . . . . . . . . 83 3.7.5 Einstellungen susewm (Windowmanager) . . . . . . . . 84 3.7.6 Benutzerverwaltung . . . . . . . . . . . . . . . . . . . 84 3.7.7 Gruppenverwaltung . . . . . . . . . . . . . . . . . . . . 86 3.7.8 Backups erstellen . . . . . . . . . . . . . . . . . . . . . 87 3.7.9 Einstellungen Systemsicherheit . . . . . . . . . . . . . 88 3.7.10 Console-Font einstellen . . . . . . . . . . . . . . . . . 89 3.7.11 Zeitzone einstellen . . . . . . . . . . . . . . . . . . . . 89 3.7.12 XFree86[tm] konfigurieren . . . . . . . . . . . . . . . . 89 3.7.13 gpm konfigurieren . . . . . . . . . . . . . . . . . . . . 90 3.7.14 Konfigurationsdatei verändern . . . . . . . . . . . . . . 90 4 YaST2 ­ Konfigurationswerkzeuge 93 4.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2 Netzwerk/Basis . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.3 Netzwerk/Erweitert . . . . . . . . . . . . . . . . . . . . . . . . 94 4.4 Sicherheit und Benutzer . . . . . . . . . . . . . . . . . . . . . . 94 4.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.5.1 Patch-CD-Update . . . . . . . . . . . . . . . . . . . . . 95 4.6 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.6.1 RC.Config-Editor . . . . . . . . . . . . . . . . . . . . . 95 4.6.2 Runlevel-Editor . . . . . . . . . . . . . . . . . . . . . . 96 4.6.3 Partitionierer für Experten . . . . . . . . . . . . . . . . 97 4.6.4 Logical Volume Manager (LVM) . . . . . . . . . . . . . 97 4.6.5 Soft-RAID . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.6 Kernel auswählen . . . . . . . . . . . . . . . . . . . . . 105 4.7 Sonstiges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.7.1 Drucker für CUPS bzw. LPD . . . . . . . . . . . . . . . 106 5 Booten und Bootmanager 107 5.1 Der Bootvorgang auf dem PC . . . . . . . . . . . . . . . . . . . 107 5.2 Bootkonzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.3 LILO im Überblick . . . . . . . . . . . . . . . . . . . . . . . . 109 5.4 Ein LILO nach Maß: Konfiguration . . . . . . . . . . . . . . . . 113 5.4.1 Der Aufbau der Datei lilo.conf . . . . . . . . . . . . 113 5.4.2 Weitere optionale Konfigurationsmöglichkeiten . . . . . 116 iii Inhaltsverzeichnis 5.5 Installation und De-Installation von LILO . . . . . . . . . . . . 120 5.6 Linux-Bootdiskette erzeugen . . . . . . . . . . . . . . . . . . . 123 5.7 Beispielkonfigurationen . . . . . . . . . . . . . . . . . . . . . . 124 5.7.1 DOS/Windows 95/98 und Linux . . . . . . . . . . . . . 125 5.7.2 Windows NT und Linux auf einer Festplatte . . . . . . . 125 5.7.3 OS/2 und Linux . . . . . . . . . . . . . . . . . . . . . . 126 5.7.4 DOS, OS/2 und Linux . . . . . . . . . . . . . . . . . . 127 5.8 Probleme mit LILO . . . . . . . . . . . . . . . . . . . . . . . . 129 5.8.1 Fehlerdiagnose: LILO Start-Meldungen . . . . . . . . . 129 5.8.2 Die 1024-Zylinder-Grenze . . . . . . . . . . . . . . . . 131 5.8.3 Spezielle Bootprobleme mit Kernel ab 2.0 . . . . . . . . 134 5.9 Einrichten des Bootmechanismus mit loadlin . . . . . . . . . . 135 5.9.1 Notwendige Dateien für loadlin . . . . . . . . . . . . . 136 5.9.2 Bootmenüs einrichten . . . . . . . . . . . . . . . . . . 137 5.9.3 Von Windows aus starten . . . . . . . . . . . . . . . . . 138 5.9.4 Das Windows Startmenü . . . . . . . . . . . . . . . . . 140 6 Das X Window System 143 6.1 Geschichtlicher Hintergrund . . . . . . . . . . . . . . . . . . . 143 6.2 Die Version 4.x von XFree86 . . . . . . . . . . . . . . . . . . . 144 6.3 Konfiguration mit SaX2 . . . . . . . . . . . . . . . . . . . . . . 146 6.3.1 Troubleshooting . . . . . . . . . . . . . . . . . . . . . 146 6.3.2 Die Protokolldatei des X-Servers . . . . . . . . . . . . . 150 6.3.3 Start des X Window System . . . . . . . . . . . . . . . 152 6.4 Konfiguration mit SaX . . . . . . . . . . . . . . . . . . . . . . 153 6.4.1 Rekonfiguration . . . . . . . . . . . . . . . . . . . . . . 161 6.4.2 Troubleshooting . . . . . . . . . . . . . . . . . . . . . 162 6.5 Konfiguration mit xf86config . . . . . . . . . . . . . . . . . 162 6.6 Optimieren der Installation des X Window Systems . . . . . . . 171 6.6.1 Einbindung von zusätzlichen (TrueType) Fonts . . . . . 176 6.6.2 Einrichtung der Eingabegeräte . . . . . . . . . . . . . . 179 7 Hardware rund um den Linux-Rechner 183 7.1 Vorbemerkung . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 7.2 Steckkarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 7.2.1 PCI- und ISA-Karten . . . . . . . . . . . . . . . . . . . 183 7.3 Soundkarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 7.3.1 Soundkarte mit YaST2 konfigurieren . . . . . . . . . . . 187 7.3.2 Soundkarte mit alsaconf konfigurieren . . . . . . . . . . 188 iv Inhaltsverzeichnis 7.4 Schnittstellen am Rechner . . . . . . . . . . . . . . . . . . . . 189 7.4.1 PS/2-Anschlüsse . . . . . . . . . . . . . . . . . . . . . 189 7.4.2 Serielle Anschlüsse . . . . . . . . . . . . . . . . . . . . 189 7.4.3 Parallele Anschlüsse . . . . . . . . . . . . . . . . . . . 190 7.4.4 USB ­ Universal Serial Bus . . . . . . . . . . . . . . . 191 7.5 Wechselmedien . . . . . . . . . . . . . . . . . . . . . . . . . . 195 7.5.1 Diskettenlaufwerke . . . . . . . . . . . . . . . . . . . . 195 7.5.2 LS-120-Laufwerke . . . . . . . . . . . . . . . . . . . . 196 7.5.3 ZIP-Laufwerke . . . . . . . . . . . . . . . . . . . . . . 196 7.6 Modems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 7.6.1 Externe Modems . . . . . . . . . . . . . . . . . . . . . 197 7.6.2 Interne Modems . . . . . . . . . . . . . . . . . . . . . 197 7.7 Bandlaufwerke (engl. streamer) . . . . . . . . . . . . . . . . . 199 8 Notebooks ­ PCMCIA, APM, IrDA 201 8.1 PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 8.1.1 Die Hardware . . . . . . . . . . . . . . . . . . . . . . . 201 8.1.2 Die Software . . . . . . . . . . . . . . . . . . . . . . . 202 8.1.3 Die Konfiguration . . . . . . . . . . . . . . . . . . . . 202 8.1.4 Konfigurationen zum Umschalten ­ Schemata" . . . . 204 8.1.5 Wenn's trotzdem nicht geht . . . . . . . . . . . . . . . 207 8.1.6 Installation via PCMCIA . . . . . . . . . . . . . . . . . 209 8.1.7 Weitere Hilfsprogramme . . . . . . . . . . . . . . . . . 210 8.1.8 PCMCIA kompilieren . . . . . . . . . . . . . . . . . . 210 8.2 APM ­ Powermanagement . . . . . . . . . . . . . . . . . . . . 211 8.2.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . 211 8.2.2 Der richtige Kernel . . . . . . . . . . . . . . . . . . . . 212 8.2.3 Der APM-Daemon . . . . . . . . . . . . . . . . . . . . 212 8.2.4 Weitere Befehle . . . . . . . . . . . . . . . . . . . . . . 213 8.2.5 Pause für die Festplatte . . . . . . . . . . . . . . . . . . 213 8.3 IrDA ­ Infrared Data Association . . . . . . . . . . . . . . . . . 214 9 Druckerbetrieb 217 9.1 Grundlagen und Voraussetzungen zum Drucken . . . . . . . . . 217 9.1.1 Verschiedene Standarddruckersprachen . . . . . . . . . 217 9.1.2 Die Problematik der GDI-Drucker . . . . . . . . . . . . 218 9.1.3 Hard- und Software-Voraussetzungen . . . . . . . . . . 218 9.1.4 Bestimmung eines geeigneten Druckertreibers . . . . . 219 9.2 Drucker lokal anschließen . . . . . . . . . . . . . . . . . . . . 220 v Inhaltsverzeichnis 9.2.1 Parallele Schnittstellen . . . . . . . . . . . . . . . . . . 220 9.2.2 Besondere Steckkarten: ISA-PnP und PCI . . . . . . . . 221 9.2.3 USB-Anschluss . . . . . . . . . . . . . . . . . . . . . . 223 9.2.4 Serielle Schnittstellen . . . . . . . . . . . . . . . . . . 223 9.3 lpd: der Druck-Manager und Tools . . . . . . . . . . . . . . . . 225 9.3.1 Der Druck-Manager im Hintergrund . . . . . . . . . . . 225 9.3.2 Zusatz- und Steuertools für den Anwender . . . . . . . 225 9.4 lpr: Druckaufträge losschicken . . . . . . . . . . . . . . . . . . 227 9.5 SETUP (lprsetup): Konfiguration des Drucksystems . . . . . 229 9.5.1 Hinweise zur Konfiguration mit lprsetup . . . . . . . . . 229 9.5.2 Test des Druckers . . . . . . . . . . . . . . . . . . . . . 231 9.5.3 Sonderfälle . . . . . . . . . . . . . . . . . . . . . . . . 231 9.6 Der apsfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 9.6.1 Arbeitsweise des apsfilters . . . . . . . . . . . . . . . . 232 9.6.2 Konfiguration des apsfilters . . . . . . . . . . . . . . . 233 9.6.3 Fehlersuche beim apsfilter . . . . . . . . . . . . . . . . 236 9.7 Drucken im TCP/IP-Netzwerk . . . . . . . . . . . . . . . . . . 236 9.7.1 Übersicht: Die einzelnen Fälle . . . . . . . . . . . . . . 237 9.7.2 Konfiguration: Printer forwarding queue auf dem Client 238 9.7.3 Konfiguration: Prefilter auf dem Client . . . . . . . . . 239 9.7.4 Schwierigkeiten bei der Konfiguration . . . . . . . . . . 240 9.8 Etwas über Ghostscript . . . . . . . . . . . . . . . . . . . . . . 241 9.8.1 Beispiele für die Arbeit mit Ghostscript . . . . . . . . . 241 9.9 Beispiele für eigene Druckerfilter . . . . . . . . . . . . . . . . . 243 9.9.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . 243 9.9.2 Ein einfaches Beispiel zur grundsätzlichen Arbeitsweise 243 9.9.3 Ein etwas komplexeres Beispiel . . . . . . . . . . . . . 247 10 Der Kernel 251 10.1 Die Kernelquellen . . . . . . . . . . . . . . . . . . . . . . . . . 251 10.2 Kernel-Module . . . . . . . . . . . . . . . . . . . . . . . . . . 252 10.3 Konfiguration des Kernels . . . . . . . . . . . . . . . . . . . . 254 10.4 Einstellungen bei der Kernelkonfiguration . . . . . . . . . . . . 256 10.5 Übersetzen des Kernels . . . . . . . . . . . . . . . . . . . . . . 256 10.6 Kernel installieren . . . . . . . . . . . . . . . . . . . . . . . . . 257 10.7 Boot-Diskette erstellen . . . . . . . . . . . . . . . . . . . . . . 258 10.8 Festplatte nach der Kernel-Übersetzung aufräumen . . . . . . . 258 vi Inhaltsverzeichnis 11 Kernel-Parameter 259 11.1 Treiber im Kernel . . . . . . . . . . . . . . . . . . . . . . . . . 259 11.2 Einige Tipps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 11.3 Die Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 11.3.1 Notation und Bedeutung . . . . . . . . . . . . . . . . . 261 11.3.2 Kernel-Parameter am Boot-Prompt . . . . . . . . . . . 262 11.3.3 CD-ROM-Laufwerke an proprietären Kontrollern . . . . 273 11.3.4 modprobe-Parameter . . . . . . . . . . . . . . . . . . . 275 12 Update des Systems und Paketverwaltung 297 12.1 Update des SuSE Linux . . . . . . . . . . . . . . . . . . . . . . 297 12.1.1 Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . 297 12.1.2 Update mit YaST2 . . . . . . . . . . . . . . . . . . . . 298 12.1.3 Update mit YaST1 . . . . . . . . . . . . . . . . . . . . 299 12.1.4 Aktualisieren einzelner Pakete . . . . . . . . . . . . . . 301 12.2 Von Version zu Version . . . . . . . . . . . . . . . . . . . . . . 301 12.2.1 Von 5.x auf 6.0 . . . . . . . . . . . . . . . . . . . . . . 301 12.2.2 Von 6.0 auf 6.1 . . . . . . . . . . . . . . . . . . . . . . 302 12.2.3 Von 6.1 auf 6.2 . . . . . . . . . . . . . . . . . . . . . . 302 12.2.4 Von 6.2 auf 6.3 . . . . . . . . . . . . . . . . . . . . . . 303 12.2.5 Von 6.3 auf 6.4 . . . . . . . . . . . . . . . . . . . . . . 304 12.2.6 Von 6.4 auf 7.0 . . . . . . . . . . . . . . . . . . . . . . 307 12.2.7 Von 7.0 auf 7.1 . . . . . . . . . . . . . . . . . . . . . . 308 12.2.8 Von 7.1 auf 7.2 . . . . . . . . . . . . . . . . . . . . . . 309 12.2.9 Von 7.2 auf 7.3 . . . . . . . . . . . . . . . . . . . . . . 309 12.3 RPM ­ Der Paket-Manager der Distribution . . . . . . . . . . . 310 12.3.1 Prüfen der Authentizität eines Pakets . . . . . . . . . . 311 12.3.2 Pakete verwalten: Installieren, Updaten und Deinstallieren 311 12.3.3 Anfragen stellen . . . . . . . . . . . . . . . . . . . . . 312 12.3.4 Quellpakete installieren und kompilieren . . . . . . . . 315 12.3.5 Tools für RPM-Archive und die RPM-Datenbank . . . . 316 13 Besonderheiten in SuSE Linux 317 13.1 Filesystem Hierarchy Standard (FHS) und Linux Standard Base (LSB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 13.1.1 Filesystem Hierarchy Standard (FHS) . . . . . . . . . . 317 13.1.2 Linux Standard Base (LSB) . . . . . . . . . . . . . . . 317 13.1.3 teTeX ­ TEX unter SuSE Linux . . . . . . . . . . . . . 317 13.2 Beispiel-Umgebungen für FTP und HTTP . . . . . . . . . . . . 317 vii Inhaltsverzeichnis 13.3 Hinweise zu speziellen Softwarepaketen . . . . . . . . . . . . . 318 13.3.1 Paket xdevel bzw. xdevel33 . . . . . . . . . . . . . . 318 13.3.2 Paket cron . . . . . . . . . . . . . . . . . . . . . . . . 318 13.3.3 Paket curses . . . . . . . . . . . . . . . . . . . . . . . 318 13.3.4 Quellen zum Paket uucp . . . . . . . . . . . . . . . . . 319 13.3.5 Manual-Pages . . . . . . . . . . . . . . . . . . . . . . . 319 13.3.6 Der Befehl ulimit . . . . . . . . . . . . . . . . . . . . 319 13.3.7 Die /etc/resolv.conf . . . . . . . . . . . . . . . . 320 13.4 Booten mit der initial ramdisk" . . . . . . . . . . . . . . . . . 320 13.4.1 Konzept der initial ramdisk . . . . . . . . . . . . . . . . 321 13.4.2 Ablauf des Bootvorgangs mit initrd . . . . . . . . . . . 321 13.4.3 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . 322 13.4.4 Anwendung von initrd bei SuSE . . . . . . . . . . . 322 13.4.5 Mögliche Schwierigkeit ­ Selbstcompilierte Kernel . . . 324 13.4.6 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . 324 13.5 linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 13.6 Das SuSE Rettungssystem . . . . . . . . . . . . . . . . . . . . 329 13.6.1 Vorbereitung . . . . . . . . . . . . . . . . . . . . . . . 330 13.6.2 Das Rettungssystem starten . . . . . . . . . . . . . . . 331 13.6.3 Das Rettungssystem benutzen . . . . . . . . . . . . . . 332 13.7 Virtuelle Konsolen . . . . . . . . . . . . . . . . . . . . . . . . 334 13.8 Tastaturbelegung . . . . . . . . . . . . . . . . . . . . . . . . . 334 13.9 Lokale Anpassungen ­ I18N/L10N . . . . . . . . . . . . . . . . 336 13.9.1 Anpassung für Sprachunterstützung . . . . . . . . . . . 338 14 Das SuSE Linux-Bootkonzept 339 14.1 Das init-Programm . . . . . . . . . . . . . . . . . . . . . . . . 339 14.2 Die Runlevels . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 14.3 Wechsel des Runlevels . . . . . . . . . . . . . . . . . . . . . . 341 14.4 Die Init-Skripten . . . . . . . . . . . . . . . . . . . . . . . . . 342 14.5 /etc/rc.config und SuSEconfig . . . . . . . . . . . . . . . 344 14.6 Die /etc/rc.config-Variablen ­ Konfiguration des Systems . 346 A Manual-Page von e2fsck 359 B Deutsche Übersetzung der GNU General Public License 363 C Wichtige Tastenkombinationen 373 Literaturverzeichnis 375 viii 1 Einleitung 1 Einleitung 1.1 Was ist Linux"? Das eigentliche Linux" ist der Kernel, das Herz" eines jeden Unix-Betriebs- systems. Ein Kernel allein ist aber noch kein Betriebssystem. Gerade für Unix gibt es ein gigantisches Angebot an freier Software; somit sind praktisch alle unter Unix gängigen Dienstprogramme auch für Linux verfügbar. Diese machen das eigent- liche Betriebssystem aus. Bei den Dienstprogrammen handelt es sich in vielen Fällen um GNU-Versionen (GNU) der entsprechenden Unix-Programme; diese bieten meist sogar eine er- weiterte Funktionalität. Am bekanntesten ist wohl der GNU C/C++ Compiler, einer der besten Compiler überhaupt; nicht zu vergessen sind aber auch die zahl- reichen kleinen oder auch größeren Werkzeuge, die man an der Kommandozei- le, in Shellskripten oder als eigenständige Programme benutzen kann: von den Shell-, Datei- und Text-Utilities über sed, awk und perl bis zu Editoren (vi) oder kompletten Arbeitsumgebungen (Emacs). Komplettiert wird das ganze durch XFree86TM (derzeit Version 4.1.0), das X Window System (z. Z. X11 Release 6.4) für PC-basierte Unix-Systeme. Diese Portierung ist abgeleitet von der offiziellen X11R6.4-Distribution des X Con- sortium, Inc. und deshalb voll kompatibel zu diesem Standard. Darauf setzen Desktop-Umgebungen wie KDE oder GNOME auf. Alle diese Komponenten ­ zusammen mit zusätzlichen Programmen (z. B. TEX, das Textverarbeitungs- und Satzsystem) und Goodies (wie z. B. Spielen) ­ bilden das System, das gemeinhin als Linux bezeichnet wird. Wie bereits erwähnt, existiert für Unix jedoch ein geradezu unerschöpfliches Reservoir an freier Software, sodass es praktisch beliebig viele Möglichkeiten gibt, ein Linux-System zusammenzustellen. An dieser Stelle kommen die Linux-Distributionen ins Spiel, wie z. B. das vor- liegende SuSE Linux. Die Distributoren sichten das riesige Angebot an frei er- hältlicher und frei vertreibbarer Software und treffen eine Auswahl. Hinweis SuSE Linux enthält neben freier Software ­ Software, von der die Quellen (engl. sources) verfügbar und folglich auf den vorliegenden CD-ROMs ent- halten sind ­ auch Software-Pakete, die aus unterschiedlichen Gründen nur in kompilierter Form von der SuSE ausgeliefert werden können. 1 1 Einleitung Daneben sind die meisten Distributionen auch im Internet frei abrufbar, sodass gelegentliche Updates des Systems nicht den Neukauf einer Distribution bedin- gen. 1.2 Intention dieses Buches ­ Hinweise zur Benutzung Dieses Buch soll und kann kein Ersatz für weitergehende Literatur sein, die dem interessierten Anwender den tieferen Einstieg in die faszinierende Welt des high performance computing ermöglichen soll ­ vgl. dazu das Literaturverzeichnis am Ende des Buchs (Kapitel 14.6 auf Seite 375 ff.)! Die Dynamik von Linux und der freien Software ist eine Herausforderung, wenn es darum geht, ein Handbuch zu erstellen, das mit den neuesten Entwicklungen Schritt hält und zugleich auch für Einsteiger in die Unix-Welt geeignet ist sowie alte Hasen" nicht langweilt. Das vorliegende Buch unternimmt den Versuch, all diesen Anforderungen gerecht zu werden. Dieses Buch hat zum Ziel, SuSE Linux transparent zu machen.. Das Buch gliedert sich im Wesentlichen in die folgenden Teile: Installationsanleitung: Dieser Teil des Buches ist eine kommentierte Beispiel- installation (Kapitel 2 auf Seite 7). Auf mögliche Fehlerquellen wird hinge- wiesen und konkrete Anweisungen zur Behebung von eventuell auftretenden Problemen bei der Installation werden geliefert. YaST: Es wird auf die Bedienung des SuSE-Installations- und Administrations- programms YaST TM eingegangen (Kapitel 3 auf Seite 49). Das Booten des Kernels wird erklärt (Kapitel 5 auf Seite 107). Grafische Benutzeroberfläche: Die Aktivierung der XFree86TM-Benutzerober- fläche ist Thema in Kapitel 6 auf Seite 143. Sound, Scanner, Notebooks, Drucker etc.: In Kapitel 7 auf Seite 183 bis Ka- pitel 9 auf Seite 217 werden Möglichkeiten Ihrer Hardware ausgelotet. Linux ­ der Kernel: In diesem Teil geht es ans Eingemachte: Kapitel 10 auf Seite 251 und Kapitel 11 auf Seite 259 stellen den Linux-Kernel vor und bie- ten eine Anleitung, wie man einen eigenen Kernel erstellen und verwenden kann. Update, Software-Pakete, Bootkonzept: Update-Strategien sowie der Umgang mit einzelnen Software-Paketen werden besprochen (Kapitel 12 auf Seite 297); spezielle Features des SuSE Linux werden nahe gebracht und das Starten des Systems (Bootkonzept) wird vorgestellt (Kapitel 14 auf Seite 339). Besonderheiten in SuSE Linux: Hier werden Sie unter anderem mit dem Datei- system und mit dem Textsatzsystem TEX unter SuSE Linux vertraut gemacht. Es wird auch auf spezielle Softwarepakete eingegangen, sowie auf das SuSE Rettungssystem ­ und vieles mehr. 2 1.3 Legende ­ oder was bedeutet erde: # ls" Das SuSE Linux Bootkonzept: In diesem Kapitel 14 auf Seite 339 erfahren Sie mehr über das init­Programm, die Runlevels und die System-Konfigura- tionsdateien. Technischer Anhang: Im Anhang finden Sie eine Liste der wichtigsten Konfi- gurationsdateien, der häufigsten Tastenkombinationen, Beispieldateien, eine Lizenzbestimmung u. v. m. Literaturverzeichnis und Index: . . . und wenn Sie bisher etwas vermisst ha- ben, sollten Sie den Anhang verwenden. 1.3 Legende ­ oder was bedeutet erde: # ls" Wir bemühen uns, die Typographie dieses Handbuchs zu standardisieren; die wichtigsten Auszeichnungen sind in Tabelle 1.1 auf der nächsten Seite erläutert. Auszeichnung Bedeutung LINUS TORVALDS wichtige Personen YaST (yast) das Programm YaST, aufzurufen mit der Ein- gabe yast Adabas D das Produkt Adabas D /etc/passwd Name einer Datei oder eines Verzeichnisses bei Eingabe des Befehls ist datei durch den tatsächlichen Wert zu ersetzen; die Winkel- klammern sind nicht einzugeben! PATH die Umgebungsvariable mit dem Namen PATH 192.168.1.2 der Wert einer Variablen ls der einzugebende Befehl ls `news' der Benutzer news erde: # hilfe `root'-Shell im Verzeichnis ~ (`~' steht für das Home-Verzeichnis" des jeweiligen Benutzers, Benutzerverzeichnis), einzuge- ben ist der Befehl hilfe ­ dabei steht erde beispielhaft für den Namen eines Rechners (engl. hostname). tux@erde:/tmp > ls Shell des Benutzers `tux' im Verzeichnis /tmp, einzugeben ist der Befehl ls ­ übri- gens, TUX ist der offizielle Name des Linux- Pinguins. . . C:\> fdisk DOS-Prompt mit Befehlseingabe fdisk § ¤ ¦Alt ¥ eine zu drückende Taste, hier die Alt"-Taste § ¤ § ¤ § ¤ ¦Strg ¥+ ¦Alt ¥+ ¦Entf ¥ durch `+' werden gleichzeitig zu drückende Tasten miteinander verbunden; nacheinander zu drückende Tasten werden nur durch ein Leerzeichen voneinander abgesetzt Tabelle 1.1: Fortsetzung auf der nächsten Seite... 3 1 Einleitung "Permission denied" Meldungen des Systems `System updaten' der Menü-Punkt `System updaten' Düsentrieb die Firma Düsentrieb" Tabelle 1.1: Legende der Text-Auszeichnungen 1.4 Lorbeeren Neben allen, die zu dem überaus großen Erfolg von Linux beigetragen ha- ben, möchten wir uns bedanken bei EBERHARD MÖNKEBERG, der bei Pro- blemen mit CD-ROM-Treibern stets sehr hilfsbereit war. Herzlichen Dank an HANS LERMEN; von ihm stammen der bekannte loadlin (loadlin.exe), der ein Starten von Linux von DOS aus ermöglicht, und das DOS-Programm Setup (setup.exe) dieses Linux-Systems. Diese guten Geister haben die YaST- und linuxrc-Übersetzungen Wirklichkeit werden lassen; sie alle waren in ihrer freien Zeit bemüht, Linux einer größeren Zahl von Computerbenutzern in der ganzen Welt zugänglich zu machen: Jesús Bravo Álvarez, Gunay Arslan, Jaume Badiella i Aguilera, Zbigniew Baniewski, Sándor Bárány, Olaf Borkner-Delcarlo, Michael Bravo, Görkem Çetin, Franca Delcarlo, Jochen Depner, Benedek Hermann, Ibán José García Castillo, Dora Georgarou (with Romy the barking dog), Jonas-Gintaras Gocentas, Pablo Iranzo Gómez, Krzysztof Hotiuk, Milan Hromada, Arthur Kerkmeester, Ralf A. Lanz, Françoise Lermen, Zoltán Levárdy, Nuno Lima, Francisco Javier Moreno Si- güenza, Tomas Morkus, Karine Nguyen, Matts Nordman, Aleksey Novodvorsky, Razvan Cristian Oprea, Gerco Oudhof, Jordi Jaen Pallares, George Papamiche- lakis, Alexey Pavlov, Ákos Rátkai, Bruno David Rodrigues, Voula Sanida, Ga- bor Sari, Aleksey Smirnov, Laszlo Varadi, Steve Varadi, P. Vlachodimitropoulos, Joao Teles, Nuno Vieira, January Weiner, Monika Weiß und I Made Wiryana. Die mühsamen, aber auch fesselnden Aufgaben der Koordination der Übersetzungen hat Antje Faber erledigt. Weiterhin geht unser besonderer Dank an die Beta-Tester, die unerschrocken und wagemutig ihr laufendes System aufs Spiel setzten: Andreas Koegel, Christi- an Hüttermann, Dirk Ulbrich, Eberhard Mönkeberg, Frank Hofmann, Georg C. F. Greve, Harald König, Harald Wieland, Karlo Gross, Jens Frank, Lutz Pressler, Martin Hehl, Martin Konold, Martin Schulze, Michael Kleinhenz, Norbert Ei- cker, Oliver Zendel, Ralf Geschke, Stefan Bliesener, Thomas Wörner, Ulrich Go- ebel, Ulrich Windl, Volker Lendecke, Wolfgang Barth und das KDE Team. Matthias Eckermann hat die LATEX-Makros neu bearbeitet und das Layout des Buch den Sehgewohnheiten unser Zeit angepasst, dazu hat Manuela Piotrowski die grafischen Vorgaben geliefert. Dabei konnte die KOMA-Dokumentenklasse von Frank Neukam und Markus Kohm als Basis genommen und um die alten" susebuch-Makros von Werner Fink und Martin Scherbaum bereichert werden. Andrea Ratschker und Ken Wimer haben zuletzt die Mühen des Bilder-Erstellens und -Bearbeitens auf sich genommen. Herzlichen Dank auch ihnen. 4 1.4 Lorbeeren An der Erstellungen früherer Handbuchtexte waren beteiligt: Bodo Bauer, Rüdi- ger Berlich, Daniel Bischof, Michael Burghart, Roland Dyroff, Christian Egle, Klaus Franken, Fritz Ganter, Jürgen Geck, Rolf Haberrecker, Olaf Hering, Marc Heuse, Carsten Höger, Dirk Hohndel, Florian La Roche, Ralf Lanz, Volker Len- decke, Hans Lermen, Arndt Mehlhorn, Jay Migliaccio, Norbert Munkel, Jor- di Jaen Pallares, Christoph-Erdmann Pfeiler, James Samuel, Martin Scherbaum, Adrian Schröter, Burchard Steinbild, Gabriele Strattner, Jörg Strebel, Steve Tom- lin, Thorsten Wandersmann, Udo Weber, Michael Weyrauch und Stefan Winter- meyer. Wertvolle Hinweise ­ und teilweise sogar ausformuliertes Textmaterial ­ haben zuletzt dankenswerterweise Marco Banse, Stephan Barth, Manfred Blumenthal, Bettina Botter, Georg Brand, Andries Brouwer, Folkmar Claußen, Jörg Dippel, Stefan Dirsch, Felix Domke, Uwe Drechsel, Christian Eggers, Ulrich Felzmann, Kurt Garloff, Lenz Grimmer, Michael Hager, Torsten Hallmann, Michael Hasen- stein, Ulrich Hecht, Stefan Hundhammer, Kevin Ivory, Andreas Jaeger, Thomas Jansen, Klaus Kämpf, Bernd Kaindl, Karsten Keil, Wolfgang Kern, Andi Kleen, Sabine Kleine, Thorsten Kukuk, Werner Kurk, Hans Lermen, Marco Michna, Se- bastian Nagel, Rüdiger Oertel, Siegfried Olschner, Dirk Pankonin, Petr Pavlík, Rainer Preschke, Andrea Ratschker, Marion Reyzl, Anja Schambach, Christian Steinruecken, Sandra Wiegratz, Steffen Winterfeldt und Heinz Wohlers geliefert. Produktionstechnische Unterstützung ist in erster Linie Holger Dyroff, Christian Egle, Claudio Taulli und Nicole Zwerenz zu verdanken ­ weiter so! Und dann die vielen Hände im Hintergrund, ohne die gar nichts laufen würde: allen ein ganz, ganz großes Dankeschön! * * * * Die Entwickler von Linux treiben in weltweiter Zusammenarbeit mit hohem frei- willigen Einsatz das Werden von Linux voran. Wir danken ihnen für ihr Engage- ment ­ ohne sie gäbe es diese CD nicht. Unsere Tätigkeit soll das Ergebnis ihrer Arbeit einem breiten Kreis von interessierten Anwendern zugänglich machen. Nicht zuletzt geht unser besonderer Dank an PATRICK VOLKERDING für die Unterstützung unser Arbeit sowie selbstverständlich an LINUS TORVALDS! Dank vor allem an Frank Zappa und Pawar! Nürnberg, 25. Oktober 2001 Have a lot of fun! Ihr SuSE Team 5 1 Einleitung 6 2 Die SuSE Linux-Erstinstallation 2 Die SuSE Linux-Erstinstallation 2.1 Die Installation mit dem textbasierten YaST (YaST 1) SuSE Linux verfügt mit YaST über ein Installationswerkzeug, das Sie sicher von der Vorbereitung der Festplatte über die Software-Einrichtung bis hin zur Konfiguration der grafischen Oberfläche geleitet. Normalerweise muss ein Rechner, auf dem SuSE Linux installiert werden soll, die folgenden Punkte erfüllen: * Sie können von der mitgelieferten Bootdisk" oder direkt von der CD 1 den Rechner starten. * Auf Ihrer Festplatte ist genügend Platz für die Linux-Installation. Wir emp- fehlen, für Linux eine eigene, genügend große Festplatte zur Verfügung zu stellen. * Das CD-ROM-Laufwerk wird von Linux unterstützt. Bei Ungewissheit lässt sich dies herausfinden. Sollte einer dieser Punkte nicht zutreffen, gibt es Umwege", wie Sie gleichwohl eine Installation durchführen können. Derartige Wege werden in Abschnitt 2.3 auf Seite 28 ff. aufgezeigt. 2.1.1 Nun geht's los: Der Startbildschirm Schalten Sie den Rechner ein, und legen Sie die CD 1 und/oder die Diskette in das jeweilige Laufwerk ein. Falls der Rechner nicht booten will, müssen Sie zuvor möglicherweise die Bootreihenfolge im BIOS des Rechners auf A,C oder CDROM,C,A umstellen. Nach wenigen Augenblicken wird der Startbildschirm angezeigt (Abbildung 2.1 auf der nächsten Seite). Wählen Sie innerhalb von 10 Sekunden `Manual In- stallation', damit nicht automatisch YaST2 gestartet wird. Geben in der Zeile boot options hinter manual Bootparameter ein, falls Ihre Hardware derartige Parameter verlangt ­ in der Regel sind derartige Parameter nicht erforderlich. Nun erscheint eine Box mit der Fortschrittsanzeige "Loading Linux ker- nel"; dann bootet der Kernel und linuxrc wird gestartet. Das Programm linuxrc ist menügeführt und wartet auf Eingaben des Benutzers. 7 2 Die SuSE Linux-Erstinstallation Abbildung 2.1: Der Startbildschirm von SuSE Linux Mögliche Probleme * Sollte Ihr CD-ROM-Laufwerk (ATAPI) beim Booten des Systems hängen- bleiben, vergleichen Sie bitte den Abschnitt 2.4.7 auf Seite 37. * Die CD 1, die einen optimierten Kernel für Pentium-Prozessoren aufweist, wird nicht als Bootmedium erkannt. Versuchen Sie, auf die Bootdisk" oder auf CD 2 auszuweichen; vgl. die Abschnitte 2.4.2 auf Seite 33 bzw. 2.4.3 auf Seite 34. * Bei Grafikkarten wie FireGL 1, 2 oder 3 wird nicht im grafischen Modus (Framebuffer) gestartet. Die Installation muss in diesem Fall im Textmodus durchgeführt werden. * Andere Boot-Schwierigkeiten können in der Regel mit Kernel-Parametern umgangen werden; vgl. Abschnitt 11.3.2 auf Seite 262 ff. Für die Fälle, bei denen DMA Schwierigkeiten bereitet, wird die Startoption `Installation - Safe Settings' angeboten. 2.1.2 Die Grundlage: linuxrc Mit dem Programm linuxrc können Sie Einstellungen zur Installation vornehmen. Falls notwendig können Sie Treiber als Kernelmodule laden. Am Ende wird 8 2.1 Die Installation mit dem textbasierten YaST (YaST 1) linuxrc das Installationsprogramm YaST starten, und die eigentliche Installation der Systemsoftware und der Programme kann beginnen. § ¤ § ¤ Hinweise zur Bedienung von linuxrc: Mit § ¤ § ¤ ¦ ¥und ¦ ¥wählen Sie einen Menü- punkt, und mit§¦ ¥und ¤ ¦ ¥wählen Sie ein Kommando aus, etwa `Ok' oder `Ab- bruch'. Mit ¦ ¥wird das Kommando ausgeführt. Eine genaue Beschreibung von linuxrc finden Sie in Abschnitt 13.5 auf Sei- te 325 ff. Einstellungen Das Programm linuxrc beginnt mit der Sprach-, Farb- und Tastaturauswahl. Abbildung 2.2: Auswahl der Sprache * Wählen Sie die Sprache für die Installation aus (z. B. `Deutsch') und bestä- § ¤ tigen Sie mit ¦ ¥. * Wählen Sie im nächsten Menü zwischen `Farbbildschirm' und `Mono- chrom-Bildschirm' (schwarz-weiß) aus. Wenn Sie einen Farbbildschirm § ¤ besitzen, ist nur mit ¦ ¥zu bestätigen. § ¤ * Wählen Sie dann die Tastaturbelegung. In der Regel bestätigen Sie mit ¦ ¥ für die voreingestellte Belegung entsprechend der zuvor festgelegten Sprache (hier: `Deutsch') ­ es sei denn, Sie haben eine andere Tastatur. Mögliche Probleme * YaST bietet die gewünschte Tastaturbelegung nicht an. In einem solchen Fall wählen Sie zunächst eine alternative Belegung (Notnagel: `English (US)'); nach der Installation kann später auf die genaue Belegung mit YaST umgeschaltet werden. 9 2 Die SuSE Linux-Erstinstallation Einbindung der Hardware über Module Jetzt sind wir im Hauptmenü von linuxrc (Abbildung 2.3). Abbildung 2.3: Hauptmenü von linuxrc Hier gibt es folgende Optionen: `Einstellungen' Hier können Sie Sprache, Bildschirm oder Tastatur anpas- sen. Das hatten wir bereits. `System-Information' Hier gibt es eine Menge Informationen über die Hard- ware, soweit diese vom Kernel erkannt wurde oder von bereits geladenen Modulen angesprochen wird. `Kernel-Module (Hardware-Treiber)' Hier müssen Sie eventuell die zur Hardware passenden Module laden. Regelfall: Sie müssen diesen Menüpunkt nicht aufrufen, wenn Sie sowohl Festplatte(n) als auch das CD-ROM-Laufwerk (ATAPI) an einem (E)IDE- Controller angeschlossen haben. Die (E)IDE-Unterstützung ist nämlich fest in den Kernel eingebaut. `Installation/System starten' Hier wird die Installation fortgesetzt. `Abbruch/Reboot' Falls Sie sich nochmal alles anders überlegen. . . Wählen Sie das Laden der Kernelmodule mit `Kernel-Module' nur dann, wenn Sie Unterstützung für SCSI oder für PCMCIA (vgl. Abschnitt 8.1.6 auf Sei- te 209) benötigen oder wenn das CD-ROM-Laufwerk, von dem installiert wer- den soll, kein ATAPI-Laufwerk ist; wie Sie Module laden, können Sie in Ab- schnitt 13.5 auf Seite 325 nachlesen. Im folgenden Untermenü wählen Sie aus, wofür Sie Module laden wollen (oder besser gesagt: laden müssen). Es kommen in Frage: 10 2.1 Die Installation mit dem textbasierten YaST (YaST 1) Ein SCSI-Modul ­ wenn Sie eine SCSI-Festplatte oder SCSI-CD-ROM-Lauf- werk haben. Ein CD-ROM-Modul ­ falls Ihr CD-ROM-Laufwerk nicht am (E)IDE-Control- ler oder nicht am SCSI-Controller hängt. Ein Netzwerk-Modul ­ falls Sie über NFS oder FTP installieren wollen ­ das ist hier aber nicht das Thema; vgl. Abschnitt 2.3.1 auf Seite 28. Tipp Wenn Sie Support für Ihr Installationsmedium (proprietäres CD-ROM- Laufwerk, Parallelport-CD-ROM-Laufwerk, Netzwerkkarte, PCMCIA) unter den Standard-Modulen vermissen, können Sie eventuell auf die zusätzlichen Treiber der modules-Diskette zurückgreifen. Dazu gehen Sie bis ans Ende der Liste und wählen dort den Punkt `-- Weitere Module --'; die modules-Diskette wird von linuxrc in diesem Fall an- gefordert. Installation starten Da `Installation/System starten' bereits ausgewählt ist, brauchen Sie § ¤ nur noch ¦ ¥zu drücken, um zur eigentlichen Installation zu gelangen. Abbildung 2.4: Installationsmenü von linuxrc Hier stehen Ihnen folgende Punkte zur Auswahl: `Installation/Update starten' Das, was Sie vermutlich gleich machen werden. 11 2 Die SuSE Linux-Erstinstallation `Installiertes System booten' Dieser Punkt wird eventuell später ein- mal benötigt, falls es zu Problemen beim regulären Booten kommen sollte. `Rettungssystem starten' Dieser Punkt steht bislang nur auf X86-kompa- tiblen Systemen zur Verfügung. `Eject CD' CD auf elektronischem Wege herauswerfen. § ¤ Um zur Installation zu gelangen, drücken Sie nun ¦ ¥für den Menüpunkt `Installation/Update starten'. Dann muss das Quellmedium ausgewählt werden; in der Regel reicht es aus, den Cursor an der Vorauswahl stehen zu las- sen: `CD-ROM'. Abbildung 2.5: Quellmedium in linuxrc auswählen § ¤ Drücken Sie nun ¦ ¥ . Es wird die Installationsumgebung direkt von der CD 1 gestartet. Sobald dieser Vorgang abgeschlossen ist, wählen Sie das textbasierte YaST1 aus (Abbildung 2.6 auf der nächsten Seite), um mit der eigentlichen Installation zu beginnen. Mögliche Probleme * Der verwendete SCSI-Adapter wird nicht erkannt: ­ Versuchen Sie, das Module eines kompatiblen Treibers zu laden. ­ Verwenden Sie einen Kernel, der den entsprechenden SCSI-Treiber fest hinzugebunden hat; erstellen Sie eine derartige Boot-Diskette, wie in Ab- schnitt 2.4.4 auf Seite 34 beschrieben. * Das verwendete ATAPI-CD-ROM-Laufwerk bleibt beim Lesen hän- gen: siehe Abschnitt 2.4.7 auf Seite 37 und generell im Abschnitt 12 2.1 Die Installation mit dem textbasierten YaST (YaST 1) Abbildung 2.6: YaST in linuxrc auswählen Allgemeine Hardwareprobleme im Kapitel Systemverwaltung des Konfigurations-Handbuchs. * Unter bislang ungeklärten Umständen kann es zu Problemen beim Laden der Daten in die RAM-Disk kommen, sodass YaST nicht geladen werden kann. Meistens führt in diesen Fällen der folgende Weg zu einem brauchbaren Er- gebnis: Wählen Sie im linuxrc-Hauptmenü `Einstellungen' `Debug (Exper- te)'; dort stellen Sie `Erzwinge Rootimage' (engl. Force root image) auf nein (engl. no). Gehen Sie zurück ins Hauptmenü und beginnen Sie die In- stallation erneut. 2.1.3 Installation mit YaST Wenn Sie sich für die Installation mit YaST an Stelle von YaST2 entschieden haben, bieten sich Ihnen am Eingangsbildschirm vier Punkte zur Auswahl an (vgl. Abbildung 2.7 auf der nächsten Seite). Hinweis Wenn Sie YaST besser kennen lernen wollen oder spezielle Wartungsauf- gaben haben, sehen Sie bitte im YaST-Kapitel nach (Kapitel 3 auf Sei- te 49 ff.)! Am Anfang des YaST-Kapitels finden Sie Hinweise zur Tastatur- belegung unter YaST. `Linux neu installieren' Wenn SuSE Linux neu installiert werden soll. Mit genau diesem Punkt werden wir uns im Folgenden beschäftigen. 13 2 Die SuSE Linux-Erstinstallation Abbildung 2.7: YaST Eingangsbildschirm `Bestehendes Linux-System updaten' Das Update von SuSE Linux ist Thema in Abschnitt 12.1 auf Seite 297. `Installation im Experten-Modus' Wenn Sie diesen Installationsmodus wählen, haben Sie während der Installation die Möglichkeit, gezielt ein- zugreifen. Wählen Sie diesen Punkt bitte nur dann, wenn Sie ausreichend Linux-Erfahrungen haben und Sie sicher wissen, welche Schritte nacheinan- der zu erfolgen haben. Der Experten-Modus wird im Folgenden nicht erklärt! `Abbruch - keine Installation' Falls Sie es sich im letzten Moment an- ders überlegen. . . Wählen Sie `Linux neu installieren'. Bitte vergleichen Sie, bevor Sie eventuell selbst partitionieren, Abschnitt 2.5 auf Seite 39; dort finden Sie weiterführende Informationen. 2.1.4 Festplatte partitionieren und formatieren YaST teilt Ihnen nun mit, dass eine Festplatte gefunden wurde. Falls dort freier" Plattenbereich vorhanden ist, wird YaST dies feststellen und vorschlagen, den Bereich für Linux zu verwenden (Maske `Freien Bereich nutzen?'). Tipp Sollte bereits eine Swap-Partition vorhanden sein ­ eventuell von einer vor- angegangenen Installation ­, so wird YaST fragen, ob diese Swap-Partition verwendet und schließlich in das System eingebunden werden soll. Gehen Sie so vor, um die erforderlichen Partitionen einzurichten: 14 2.1 Die Installation mit dem textbasierten YaST (YaST 1) `Partitionieren' ­ Die Frage nach der Partitionierung muss in der Regel bei einer SuSE Linux-Erst- oder bei einer -Neuinstallation mit `Partitionie- ren' beantwortet werden. `LVM Einrichten' wählen Sie nur aus, wenn Sie einen Logical Volume Manager benötigen. `JA' ­ Wenn Sie `Ja' sagen, partitioniert YaST selbständig, und Sie können mit Abschnitt 2.1.6 auf Seite 17 weitermachen. `Nein' ­ Sagen Sie `Nein', können Sie interaktiv partitionieren. Abbildung 2.8: YaST ­ Platte partitionieren Wenn YaST keinen freien Platz ausmachen kann, erscheint die Maske `Gesamte Platte verwenden'; Sie haben dort die beiden folgenden Möglichkeiten (zur § ¤ § ¤ § ¤ Erinnerung: mit § ¤ ¦Tab ¥bzw. ¦ ¥oder ¦ ¥positionieren Sie den Cursor, während mit ¦ ¥die Auswahl durchgeführt wird): `Partitionieren' ­ Sie nehmen die Festplatten-Aufteilung selbständig vor; diese Option müssen Sie zwingend dann wählen, wenn Sie neben Linux ein bereits installiertes anderes Betriebssystem weiterverwenden wollen. In Ab- schnitt 3.4.11 auf Seite 62 ist das Vorgehen erklärt. `Gesamte Platte' ­ YaST wird ­ nach einer roten" Sicherheitsabfrage ­ die Partitionierung selbstständig vornehmen und die angelegten Partitionen au- tomatisch formatieren. Achtung Wenn Sie `Gesamte Platte' ausführen lassen, wird die Festplatte völ- lig neu eingerichtet; dabei gehen alle Daten verloren, die sich zu diesem Zeitpunkt auf der Platte befinden! Die Option `Gesamte Platte' sollte immer dann gewählt werden, wenn Sie auf der ausgewählten Festplatte ein neues SuSE Linux als alleiniges Be- 15 2 Die SuSE Linux-Erstinstallation triebssystem haben wollen und Sie sich nicht mit der Materie der Partitionie- rung beschäftigen möchten. Eventuell vorhandene Betriebssysteme werden hiermit gelöscht! Bei Auswahl der Option `Gesamte Platte' verfolgt YaST die folgende Strategie: * Eingerichtet werden eine /boot-Partition (mindestens 2 MB bzw. 1 Zy- linder), * eine Swap-Partition, die erforderliche Größe ist vom Einsatzzweck des Rechners abhängig; wenn Sie die doppelte RAM-Menge erübrigen kön- nen, sind Sie auf der sicheren Seite und brauchen keine Performance- Einschränungen zu befürchten. Ist eine Workstation jedoch großzügig mit Speicher ausgerüstet und wissen Sie sicher, dass die Anwendungen nicht ans Limit gehen werden, so kann auch ein kleinerer Wert gewählt werden. * der Rest als eine große Partition, die unter `/' als Root-Partition (Wur- zelverzeichnis) vorbereitet wird. Mögliche Probleme * Es kann vorkommen, dass es Probleme beim erneuten Einlesen der Partiti- onstabelle gibt. Diesen Umstand wird YaST in einer roten Mitteilungsbox anzeigen und dann zum Booten auffordern. Starten Sie in einem solchen Fall den Rechner neu und verzichten Sie beim nächsten Durchgang darauf, aber- mals zu partionieren. * Es ist kein ausreichender Platz verfügbar. In Abschnitt 2.4.1 auf Seite 31 gibt es Hinweise, wie man mit fips unter DOS Platz auf der Festplatte schaffen kann. 2.1.5 Installation der Software beginnen Die Festplatte ist nun vorbereitet. Wählen Sie jetzt die Software aus, die Sie installieren wollen. Geduld ist angesagt: Die Daten der Serien und der Pakete müssen vom Installa- tionsmedium eingelesen und ausgewertet werden. Wenn dieser Vorgang beendet ist, erscheint das YaST-Installationsmenü (Abbildung 2.9 auf der nächsten Sei- te). Wenn Sie keine spezielle Auswahl treffen wollen, geht es mit dem Punkt `Installation starten' weiter; in diesem Fall können Sie gleich zu Ab- schnitt 2.1.7 auf Seite 18 springen. * Wählen Sie `Konfiguration laden', um bei Bedarf eine spezielle Soft- ware-Auswahl zu treffen (Standard, Netzwerkserver, Minimal etc.); weiter- führende Informationen dazu finden Sie in Abschnitt 2.1.6 auf der nächsten Seite. Wenn Sie die passende Konfiguration geladen und bestätigt haben, ge- langen Sie wieder ins Installationsmenü. 16 2.1 Die Installation mit dem textbasierten YaST (YaST 1) Abbildung 2.9: YaST ­ Pakete auswählen * Hier können Sie nun noch über das Installationsmenü mit `Konfiguration ändern/erstellen' die Paketauswahl in Einzelheiten verändern. Sie ge- langen in die Serienauswahl von SuSE Linux. In der Regel brauchen Sie dies jedoch nicht, da die vorgegebene Paketauswahl ein lauffähiges System zur Verfügung stellen wird. Auch können Sie die Auswahl jederzeit nachträg- lich, wenn Linux erst einmal läuft, ändern und erweitern. Eine genaue Beschreibung dieser Menüs sowie der Funktion der einzelnen Menü- punkte erhalten Sie im YaST-Kapitel, Abschnitt 3.5 auf Seite 69. 2.1.6 Software-Grundausstattung auswählen In diese YaST-Maske gelangen Sie (Abbildung 2.10 auf der nächsten Seite), wenn Sie in Abschnitt 2.1.5 auf der vorherigen Seite den Punkt `Konfigura- tion laden' auswählen. Wir haben für Sie einige vordefinierte Konfigurationen" bereitgestellt. Mit den § ¤ § ¤ § ¤ Pfeiltasten ¦ ¥und ¦ ¥können Sie die einzelnen Punkte ansteuern; mit ¦Leertaste ¥ wird ein Punkt an- oder abgewählt. Ein Kreuz (`X') in dem Kästchen bedeutet, dass Sie diese Konfiguration zur Ersetzung oder Hinzufügung vorgesehen haben. Ein Stern (`*') dahinter bedeutet, dass diese Konfiguration installiert wird. `Hinzufügen' ­ Mit diesem Menüpunkt können Sie zu ausgewählten Paketen und Konfigurationen die Pakete der ausgewählten Konfiguration hinzufügen. `Ersetzen' ­ Hiermit können Sie eine bereits vorgenommene Auswahl durch die neue Konfiguration ersetzen. Sie werden gegebenenfalls gefragt, ob Sie Pakete, die nicht zur Konfiguration gehören, löschen wollen. `Abbruch' ­ Sie brechen die Bearbeitung ab. 17 2 Die SuSE Linux-Erstinstallation Abbildung 2.10: YaST ­ Konfigurationen auswählen 2.1.7 Systemsoftware und Programme aufspielen Nach all den Vorbereitungsmaßnahmen geht es nun darum, die von Ihnen ge- wünschte Software auf die Festplatte aufzuspielen. * Starten Sie das Aufspielen der Software mit `Installation starten'. YaST zeigt Ihnen auf dem Bildschirm an, welches Paket gerade installiert wird und wie viele Pakete noch folgen. * Je nach Konfiguration werden dann eventuell weitere CDs angefordert. * Wenn die Pakete installiert sind, gehen Sie zurück zum Hauptmenü, indem Sie `Hauptmenü' auswählen. Mögliche Probleme * Wenn Ihr Rechner nicht über viel RAM verfügt und die Installationsumge- bung deshalb direkt von der CD-ROM gestartet wurde (vgl. Abschnitt 2.1.2 auf Seite 12), dann kann zunächst nur von der ersten CD installiert wer- den. Die anderen CDs werden in einem solchen Fall später angefordert (Ab- schnitt 2.1.9 auf Seite 22). * Sollten Probleme beim Aufspielen der Software auftreten, so liegt dies in der Regel an fehlerhafter oder fehlerhaft eingestellter Hardware. Im Falle von SCSI-Systemen überprüfen Sie bitte Kabellänge und Termi- nierung. Nehmen Sie externe Geräte, vor allem Scanner, einmal vom Bus ab. Versuchen Sie es auch mit Kernel-Parametern; die wichtigsten werden in Abschnitt 11.3.1 auf Seite 261 ff. genannt. Im Falle von ATAPI vergleichen Sie bitte Abschnitt 2.4.7 auf Seite 37. 18 2.1 Die Installation mit dem textbasierten YaST (YaST 1) 2.1.8 Kernel für das System auswählen und LILO einrichten Das Software-Grundsystem wurde auf die Festplatte übertragen. Abbildung 2.11: YaST ­ Auswahl des Kernels Es wird jetzt ein für das System geeigneter Kernel installiert und es wird der Bootloader LILO auf der Festplatte eingerichtet, wenn Sie dies wünschen. Wäh- len Sie nun einen passenden Kernel aus (Abbildung 2.11); beispielsweise: * Der `Standard Kernel' ist für die meisten Systeme geeignet. * Der `Kernel für Rechner mit 386 oder 486 Prozessoren' steht für diese Prozessoren sowie für den Fall zu Verfügung, dass das Prozessoren nicht Pentium-konform ist. * Der `Kernel gebaut aus unveränderten Quellen' steht vornehmlich zu Referenzzwecken zur Verfügung; wählen Sie diese Option nur, wenn der Standard-Kernel Auffälligkeiten zeigt. * Der `Kernel mit SMP-Support' ist für Mehrprozessor-Systeme zu neh- men Achtung Wenn Ihr Prozessor nicht 100% Pentium-konform ist, wählen Sie bitte `Ker- nel für Rechner mit 386- oder 486-Prozessoren'. Diesen Ker- nel müssen Sie z. B. für einen Cyrix 686 nehmen. Ein falschgewählter Ker- nel kann zu einer "Kernel panic" führen; vgl. file:/usr/share/doc/ sdb/de/html/cyrix686.html. YaST wird den Kernel nach /boot/vmlinuz kopieren und die Kernel-Konfigu- rationsdatei unter /boot und auf Wunsch auch als /usr/src/linux/.config 19 2 Die SuSE Linux-Erstinstallation ablegen. Diese Datei beschreibt genau den installierten Kernel und die zugehö- rigen Module. Die Frage, ob Sie LILO konfigurieren möchten, beantworten Sie mit `Ja', wenn Sie sich sicher sind, dass Ihre eventuell bereits installierten Systeme von LILO gebootet werden können (siehe auch Abbildung 3.26 auf Seite 81); in der Regel ist dies bei DOS und Windows 95/98 der Fall ­ bei Windows NT liegen die Dinge aber bisweilen anders (vgl. Abschnitt 5.7.2 auf Seite 125)! Hinweise zum Ausfüllen der einzelnen Masken finden Sie im YaST-Kapitel, Ab- schnitt 3.7.2 auf Seite 79. 2.1.9 Grundkonfiguration des Systems mit YaST Nach der Kernelauswahl ist die Grundkonfiguration an der Reihe. Es werden die ersten Soft- und Hardware-Komponenten konfiguriert. Abbildung 2.12: YaST ­ Zeitzone auswählen * Jetzt ist die Zeitzone auszuwählen (Abbildung 2.12). Es erscheint eine lange Liste. Aus dieser Liste wählen Sie `CET' (engl. Central European Time) aus, wenn Sie sich mit Ihrem Rechner vornehmlich in mitteleuropäischen Breiten aufhalten. . . Die Rechneruhr kann nach der lokalen Zeit oder nach Greenwich Mean Time (GMT) gehen. `GMT' ist vorbelegt; wählen Sie nur dann `lokale Zeit', wenn Sie die Rechneruhr dementsprechend eingestellt haben. * Nun folgen einige Masken zur Netzwerk-Konfiguration: ­ Rechner- und Domainname (Abbildung 2.13 auf der nächsten Seite). Wenn Sie von Ihrem Systemadministrator oder von Ihrem ISP keine Vorgaben bekommen haben, können Sie sich hier etwas Nettes aussuchen. Falls Sie 20 2.1 Die Installation mit dem textbasierten YaST (YaST 1) Abbildung 2.13: YaST ­ Rechner- und Domainname in das Internet wollen oder ein lokales Netz betreiben möchten, sorgen Sie dafür, dass dieser Name korrekt ist; möglich ist z. B. erde.kosmos.all. Hierbei steht erde für den Rechnernamen (engl. hostname) und kos- mos.all für den Domainnamen (engl. domainname). ­ Nur loopback oder echtes Netz? Hat Ihr Rechner keine Netzwerkkarte, können Sie bei dieser Frage loopback bejahen und brauchen nicht eine ins Detail gehende Konfiguration durchzuführen. ­ Wenn Sie echtes Netz gewählt haben, kommen weitere Fragen: DHCP- Client, Netzwerktyp (für Ethernet-Karten wählen Sie eth0), IP-Adresse, Netmask, Gateway, inetd, portmap, NFS-Server, From-Zeile für News- Postings, Netz-Client mit Zugriff auf einen Nameserver (IP des Nameser- vers, YP-Domain), Auswahl des Kernel-Moduls für die Netzkarte). ­ Auswahl der sendmail.cf für das Mail-System (Abbildung 2.14 auf der nächsten Seite). Die bis zu diesem Zeitpunkt gesammelten Angaben werden gespeichert und von SuSEconfig (vgl. Abschnitt 14.5 auf Seite 344) auf die unterschiedlichen Kon- figurationsdateien verteilt. YaST wird beendet und zahlreiche Meldungen zum jeweiligen Systemzustand laufen über den Bildschirm. * Nach einigen Systemmeldungen und dem "Willkommen"-Gruß müssen Sie sehr aufmerksam sein: Es folgt die Frage nach dem `root'-Passwort. Dieses Passwort benötigen Sie immer dann, wenn Sie sich als Systemadministrator anmelden ( einloggen") wollen. Wählen Sie das Passwort bitte sorgfältig und merken Sie es sich gut; achten Sie auf Groß- und Kleinschreibung. Benutzen Sie möglichst keine Leer- oder Sonderzeichen (sofern Sie nicht wissen, was Sie tun); bitte beachten Sie, dass in der Standardeinstellung nur 8 Zeichen ausgewertet werden. 21 2 Die SuSE Linux-Erstinstallation Abbildung 2.14: YaST ­ Mail-System auswählen * YaST fragt, ob Sie Ihr Modem einrichten möchten. Wenn Sie ein Modem haben, können Sie es nun einbinden lassen; dies kann aber auch später jeder- zeit nachgeholt werden. Wenn Sie `Ja' wählen, fragt YaST nach der seriellen Schnittstelle des Modems; vgl. Abbildung 2.15 auf der nächsten Seite. ­ Zu den so genannten Winmodems" vgl. file:/usr/share/doc/sdb/de/ html/cep_winmodem.html. * YaST fragt, ob Sie die Maus einrichten möchten. Wenn Sie das tun möchten, wählen Sie `Ja'. Wählen Sie den Typ der Maus aus der Liste aus (ähnlich wie Abbildung 2.16 auf Seite 24). Bei seriellen Mäusen will YaST noch die seri- elle Schnittstelle wissen, an der die Maus angeschlossen ist (Abbildung 2.15 auf der nächsten Seite). Wählen Sie auch diese aus der Liste aus. Falls weitere Pakete von den restlichen CD-ROMs zu installieren sind (vgl. Ab- schnitt 2.1.7 auf Seite 18), wird YaST dies nun in die Wege leiten. * YaST fordert Sie auf, alle benötigten CD-ROMs einzulegen, damit die rest- liche Software eingespielt werden kann; die letzte CD wird nur dann ange- fordert, wenn Sie explizit Programmquellen (engl. sources) zur Installation angewählt haben; normalerweise ist dies nicht der Fall! Wenn Sie ein DVD- Medium verwenden, haben Sie es natürlich bequemer, da das Wechseln der CDs entfällt. § ¤ * Danach ist YaST beendet und Sie erhalten die Aufforderung, ¦ ¥zu drücken. Ihr SuSE Linux ist komplett installiert. 22 2.1 Die Installation mit dem textbasierten YaST (YaST 1) Abbildung 2.15: YaST ­ Schnittstellenauswahl für Modem und Maus 2.1.10 Einloggen am Ende der Erstinstallation Während im Hintergrund noch diverse Konfigurationsskripten abgearbeitet wer- den, können Sie sich bereits als `root' einloggen, z. B. auf Konsole 1. Ge- ben Sie bei der Eingabeaufforderung "Login:" zunächst root und bei der Aufforderung "Password:" Ihr vorher festgelegtes Passwort für den Benutzer `root' ein; das Passwort haben Sie in Abschnitt 2.1.9 auf Seite 21 bestimmt. Der Prompt (Eingabeaufforderung) des Linux-Systems erscheint, und Sie kön- nen jetzt arbeiten; der Prompt sieht wie folgt aus: erde:~ # Geben Sie beispielsweise den Befehl ls -a ein, um die Dateien im aktuellen Verzeichnis aufzulisten: erde:~ # ls -a oder YaST (yast), um Änderungen am System vorzunehmen: erde:~ # yast Wenn Sie YaST (yast) starten, können Sie z. B. über den Menüpunkt `Admini- stration des Systems' weitere Benutzer anlegen. Weiter geht es mit dem Unterpunkt `XFree86TM konfigurieren'; über diesen Punkt lässt sich die grafische Oberfläche einrichten (vgl. Abschnitt 6.3 auf Sei- te 146). Im Hintergrund werden automatisch Konfigurationsskripten ablaufen. Auf weni- ger leistungsfähigen Rechnern kann diese Prozedur, je nach Installationsumfang, durchaus länger als eine Stunde dauern. Wenn Sie vorzeitig den Rechner her- unterfahren", wird YaST beim nächsten Booten wieder routinemäßig gestartet werden! Diese Skripten sind erst dann komplett abgearbeitet, wenn auf Konsole 9 steht § ¤ § ¤ § ¤ § ¤ (umschalten mit ¦Alt ¥+ ¦F9 ¥ , mit ¦Alt ¥+ ¦F7 ¥kommen Sie wieder zur grafischen 23 2 Die SuSE Linux-Erstinstallation Abbildung 2.16: YaST ­ Auswahl des Maustreibers Benutzeroberfläche zurück): "Have a lot of fun!" Nach der Installation des Systems können weitere Konfigurationen (Hardware- Einbindung, Netzkonfiguration, Server-Einrichtung) vorgenommen werden. 2.1.11 Anhalten des Systems und Booten Achtung Ein Linux-Rechner darf nie einfach ausgeschaltet werden. Benutzen Sie bit- te entweder die vorgesehene Funktion des KDM oder die in Abschnitt 2.1.11 vorgestellten Befehle, um den Rechner herunterzufahren" (engl. Shut- down). Wenn der Rechner nicht heruntergefahren wird, muss beim nächs- ten Booten eine Überprüfung des Dateisystems durchgeführt werden ­ das kostet zumindest Zeit; und in Ausnahmefällen ist die Überprüfung nicht in der Lage, alle eventuell beschädigten Dateien wiederherzustellen. Zum regulären Anhalten des Rechners (engl. shutdown) dienen die Befehle in Tabelle 2.1 auf der nächsten Seite. Der Befehl shutdown kann in all seinen Varianten im Allgemeinen nur vom Benutzer `root' ausgeführt werden. Um Ihr System herunterzufahren", loggen Sie sich also als `root' ein und geben die Befehle shutdown -h now oder shutdown -r now ein. § ¤ § ¤ Alternativ können Sie zum Neustarten die Tastenkombination ¤§ ¤ § ¤ § ¤ ¦Strg ¥+ ¦Alt ¥+ § ¦Entf ¥(¦Ctrl ¥+ ¦Alt ¥+ ¦Del ¥)drücken. Da diese Tastenkombination unter X ab- gefangen wird, müssen Sie zunächst X beenden. In der Textkonsole kann sie aber von jedem Benutzer ausgeführt werden. 24 2.2 SuSE Linux starten shutdown -h now hält das System an (Sie können nach der Ausgabe: "the system is halted" gefahrlos abschalten) shutdown -r now startet das System nach dem Herunterfahren sofort neu Tabelle 2.1: Befehle zum Anhalten des Linux-Systems 2.2 SuSE Linux starten Nach der Installation bleibt die Frage zu klären, wie Sie Linux im täglichen Be- trieb starten wollen (Booten). In der folgenden Übersicht werden die verschiedenen Alternativen für einen Li- nux-Start vorgestellt; welche dieser Startmethoden für Sie die beste ist, hängt vornehmlich von dem vorgesehenen Verwendungszweck ab. Bootdiskette: Sie starten Linux über die Bootdiskette ( Startdiskette"). Diese Möglichkeit funktioniert immer und macht keine Arbeit ­ die Bootdiskette wurde möglicherweise während der Installation mit YaST2 nebenbei erzeugt. Die Bootdiskette ist eine gute Zwischenlösung, falls Sie beim Einrichten der anderen Möglichkeiten nicht sofort zurechtkommen oder falls Sie die Entscheidung über den endgültigen Bootmechanismus verschieben wollen. Auch im Zusammenhang mit OS/2 oder Windows NT mag die Bootdiskette eine gute Lösung darstellen. loadlin: Die loadlin-Variante setzt voraus: * Der Rechner muss unter DOS entweder im Realmodus laufen oder im Virtuellen 8086-Modus einen VCPI-Server verfügbar haben; ein VCPI- Server wird z. B. von emm386.exe zur Verfügung gestellt. Anders gesagt: dieser Weg funktioniert nicht unter Unix, OS/2, Windows NT oder im DOS-Fenster von Windows 95/98 ­ er funktioniert aber gut vom DOS- Prompt oder vom DOS-Modus in MS Windows 95/98 aus. * Ihr Rechner muss ausreichend freien Speicher haben, der unter DOS ver- fügbar ist: unterhalb 640 KB mindestens 128 KB, der Rest darf exten- ded/EMS/XMS Speicher sein. Zwar ist loadlin vergleichsweise aufwendig in der Installation, aber dann lässt es sich ausgezeichnet in die Bootmenüs von Windows 95/98 integrieren. Dies erfordert ein manuelles Editieren von Konfigurationsdateien. Ein großer Vor- teil ist, dass keinerlei Einträge in den MBR (engl. Master Boot Record) der Festplatte erfolgen; so sehen andere Betriebssysteme von Linux nur Partitio- nen mit für sie unbekannten Kennungen (engl. IDs). Um loadlin zu installieren, benötigen Sie gewisse Kenntnisse von DOS und Linux. Sie sollten in der Lage sein, mit einem Editor die notwendigen Kon- figurationsdateien zu erstellen. Details zum Vorgehen finden Sie in Ab- schnitt 5.9 auf Seite 135. Schwierigkeiten können sich ergeben, wenn Sie bei der Konfiguration der Windows 95/98-Bootmenüs einen Fehler machen. 25 2 Die SuSE Linux-Erstinstallation Im Extremfall kann dies dazu führen, dass Sie nicht mehr an Ihre Windows- Installation herankommen. Vor der Konfiguration dieser Bootmenüs sollten Sie sicherstellen, dass Sie Ihr System über eine Windows-Bootdiskette star- ten können. LILO: Die technisch sauberste und universellste Lösung ist der Bootmanager LILO (LInux LOader), der vor dem Booten die Auswahl zwischen verschie- denen Betriebssystemen zulässt. LILO kann entweder bereits während der In- stallation eingerichtet oder später z. B. über YaST konfiguriert werden (vgl. Abschnitt 3.7.2 auf Seite 79). Allerdings muss LILO im Bootsektor der Fest- platte stehen; dies schließt auch ein kleines Risiko beim Installieren mit ein. Eine etwaige Fehlerbehebung erfordert grundlegende Kenntnisse des Boot- prozesses. Sie sollten in der Lage sein, ggf. die Hauptkonfigurationsdatei des LILO zu editieren. Sie sollten sich vor seiner Installation auch damit vertraut machen, wie Sie LILO ggf. wieder deinstallieren können, wenn sich Schwie- rigkeiten ergeben. LILO stellt nach wie vor die beste Bootmethode dar. Achtung Es gibt BIOS-Varianten, die die Struktur des Bootsektors (MBR) überprüfen, und nach einer LILO-Installation fälschlich eine Virus-Warnung mitteilen. Diese Schwierigkeit lässt sich leicht beheben, indem Sie in das BIOS ge- hen und nach derartigen Einstellungsmöglichkeiten dort suchen; z. B. soll- ten Sie `virus protection' ausschalten. ­ Später können Sie diese Op- tion wieder einschalten; dieses Feature ist allerdings überflüssig, falls Sie ausschließlich Linux als Ihr Betriebssystem verwenden. Eine eingehende Diskussion verschiedener Bootmethoden, insbesondere aber von LILO und loadlin finden Sie in Kapitel 5 auf Seite 107 ff. Der grafische SuSE-Bildschirm Seit SuSE Linux 7.2 ist auf Konsole 1 der grafische SuSE-Bildschirm aktiv, wenn als Kernel-Parameter die Option "vga=771" aktiv ist; bei der Installation mit YaST2 wird diese Option in der /etc/lilo.conf eingetragen. SuSE-Bildschirm deaktivieren Prinzipiell haben Sie drei Möglichkeiten: * Den SuSE-Bildschirm bei Bedarf deaktivieren. Tippen Sie erde: # echo 0 >/proc/splash auf der Kommandozeile ein, um den grafischen Bildschirm auszuschalten. Mit 26 2.2 SuSE Linux starten erde: # echo 0x0f01 >/proc/splash lässt er sich wieder einschalten. * Den SuSE-Bildschirm standardmäßig deaktivieren: Fügen Sie der Bootloader-Konfiguration einen Kernelparameter splash=0 hinzu. In den meisten Fällen erreichen Sie das, indem Sie /etc/lilo.conf editieren. Fügen Sie der Datei lilo.conf folgende Zeile hinzu: append="splash=0" Wenn Sie schon einen append-Eintrag in der lilo.conf vorfinden sollten, ändern Sie diesen entsprechend ab, z. B.: append="vga=771" zu append="vga=771 splash=0" Falls Sie ohnehin lieber den Textmodus wünschen, der bei früheren Versio- nen Standard war, setzen Sie alternativ "vga=normal". * Den SuSE-Bildschirm für immer deaktivieren: Kompilieren Sie einen neuen Kernel und deaktivieren Sie die Option Use splash screen instead of boot logo im Menu `frame-buffer support'. Tipp Wenn Sie im Kernel den Framebuffer-Support deaktiviert haben, ist der Splash-Screen" automatisch auch deaktiviert. Wenn Sie einen eigenen Kernel kompilieren, kann SuSE dafür keinen Support garantieren! Für die meisten Benutzer empfehlen wir, /etc/lilo.conf wie beschrieben zu editieren. Danach müssen Sie lilo aufrufen, damit die Änderungen aktiv werden; vgl. Abschnitt 5.5 auf Seite 120. 27 2 Die SuSE Linux-Erstinstallation 2.3 Besondere Installationen 2.3.1 Installation ohne CD-ROM-Unterstützung Was tun, wenn eine Standard-Installation via CD-ROM-Laufwerk nicht mög- lich ist? Ihr CD-ROM-Laufwerk könnte z. B. nicht unterstützt werden, weil es sich um ein älteres proprietäres" Laufwerk handelt. Oder Sie haben bei Ihrem Zweitrechner (z. B. ein Notebook) eventuell gar kein CD-ROM-Laufwerk, aber dafür einen Ethernet-Adapter oder ein PLIP-Kabel. . . SuSE Linux bietet die Möglichkeit, auf einem solchen Rechner ohne CD-ROM- Unterstützung über eine Netz-Verbindung zu installieren: NFS oder FTP via Ethernet oder via PLIP (Abschnitt 2.3.1) stehen zur Verfügung. Installation von einer Quelle im Netz" Für diesen Weg kann kein Installationssupport in Anspruch genommen werden. Nur erfahrene Computer-Benutzer sollten ihn beschreiten. Worum geht es? Der Rechner, auf dem SuSE Linux installiert werden soll, verfügt über kein CD- ROM-Laufwerk. Sie können jedoch über eine Vernetzung eine Verbindung zu einem anderen Rechner herstellen, der ein CD-ROM-Laufwerk besitzt bzw. auf dessen Festplatte die CD als Kopie abgelegt werden kann. Zusätzlich ist es not- wendig, von den CD-ROMs die Dateien .S.u.S.E-disk* auf die Festplatte zu kopieren; in Kurzform geht dies etwa so: erde: # cp /cdrom/.S* /emil erde: # cp -a /cdrom/suse /emil Dieser andere" Rechner muss das Verzeichnis natürlich in geeigneter Weise exportieren"! Tipp Alternativ ist es auch ausreichend, dass Sie auf dem entfernten Rechner das Rettungssystem starten und die CD 1 direkt exportieren. Schritt für Schritt. . . 1. Beginnen Sie die Installation des Clients wie in Abschnitt 2.1 auf Seite 7 ff. beschrieben. 2. Führen Sie die Installation gemäß Abschnitt 2.1.2 auf Seite 8 fort, aber be- achten Sie bitte folgende Punkte: 28 2.3 Besondere Installationen * Laden Sie bei den `Kernel-Modulen' die `Netzwerktreiber' und wäh- len Sie dort den passenden aus; dies ist auch notwendig, wenn Sie per PLIP installieren wollen (in diesem Fall wird die Modul-Diskette ange- fordert). * Geben Sie `Netzwerk (NFS)' an wenn linuxrc nach dem `Quellme- dium' fragt und führen Sie die menügesteuerte Netzkonfiguration durch. Alternativ können Sie auch per FTP installieren. 3. Beenden Sie die Installation wie ab Abschnitt 2.1.3 auf Seite 13 beschrieben. Mögliche Probleme * Die Installation bricht ab, bevor sie überhaupt erst richtig begonnen hat: Das Installationsverzeichnis des anderen" Rechners wurde nicht mit exec- Rechten exportiert. Holen Sie das bitte nach. * Der Server erkennt den Rechner nicht, auf dem SuSE Linux installiert wer- den soll. Tragen Sie den Namen und die IP-Adresse des neu zu installieren- den Rechners in der /etc/hosts des Servers ein. 2.3.2 Automatische Installation und Konfiguration (ALICE) Warum Automatisierung? Die automatische Installation und Konfiguration von Linux-Systemen ermög- licht den Aufbau einer einheitlichen Server-Landschaft. Auch für Client-Instal- lationen ist ­ ab einer bestimmten Stückzahl ­ eine automatische der manuellen Installation und Konfiguration vorzuziehen. Die Vereinheitlichung betrifft die Versionen von System und Software, die Filesystemstrukturen und die Konfigu- rationsfiles. Die Automatisierung garantiert, dass ein einmal gefundener erfolg- reicher Installationsweg jederzeit, auch ohne Expertenwissen, auf einem Rechner angewendet werden kann. Somit ist auch eine Erweiterung der Serverlandschaft ohne Probleme möglich. Für die Administration ergibt sich aus der Vereinheit- lichung eine deutliche Entlastung: Bei gleichen Konfigurationsstrukturen muss nicht auf jedem Server erneut nach Konfigurationsdateien gesucht werden. Die Software verhält sich aufgrund gleicher Versionsstände erwartungsgemäß. Bug- fixes greifen über die gesamte Serverlandschaft. Alle diese Effekte steigern die Qualität der Produktion. ALICE im Überblick ALICE (engl. Automatic Linux Installation and Configuration Environment) schließt die Installation und die wesentlichen Bereiche der Konfiguration ein. Durch die CVS-basierte Haltung der Konfigurationsdaten kann man von ver- schiedenen Stellen aus die Konfigurationsdaten mit mehreren Benutzerprofilen pflegen. 29 2 Die SuSE Linux-Erstinstallation Es ist möglich, einen Rechner in eine oder mehrere Klassen einzutragen. Da- mit können Rechner möglichst ähnlich" gehalten werden; nur die unbedingt notwendigen Daten müssen noch in der Rechner spezifischen Konfigurations- datei angegeben werden. Zur Strukturierung sind die Konfigurationsdaten auf drei verschiedene Verzeichnisse aufgeteilt. Das Verzeichnis templates enthält einige Voreinstellungen, das Verzeichnis classes enthält Klassen spezifische Konfigurationen und das Verzeichnis info Host spezifische Informationen. Die Voreinstellungen können durch Klassenwerte und diese wiederum durch spezi- elle, dem Host zugeordnete Werte überlagert werden. ALICE ist ein wachsendes Projekt, d. h. wenn Sie heute noch kein Modul für die Konfiguration einer von Ihnen eingesetzten Software finden, kann dies schon bald selbstständig oder im Rahmen eines Projektes realisiert sein. Weitergehende Informationen Die Anwendung der ALICE-Module, den Aufbau eines Installations-Servers, die Architektur von ALICE und eine Konfigurationssitzung können Sie der Do- kumentation entnehmen, die im Paket alice enthalten ist. Automatische Installation mit YaST1 Die Automatische Installation" von YaST1 kann auch unabhängig von dem kompletten Rahmenwerk des ALICE-Projekts verwendet werden; vgl. die Hin- weise in dem Artikel: file:/usr/share/doc/sdb/de/html/cg_autoinstall.html 30 2.4 Tipps und Tricks 2.4 Tipps und Tricks 2.4.1 Platz schaffen für Linux (Partitionieren) Ihre Festplatte soll für die Aufnahme von Linux-Partitionen vorbereitet werden. ­ Sie haben hoffentlich etwas Zeit, um diesen Abschnitt in Ruhe durchzuarbei- ten. Empfehlenswert sind Disketten oder Bänder für ein Backup und eine Boot- diskette Ihres bisherigen Betriebssystems. Zusatzinfo Durch Partitionen kann eine Festplatte in mehrere, voneinander weitgehend un- abhängige Bereiche aufgeteilt werden. Ein Grund, sich mehrere Partitionen ein- zurichten, ist die dadurch mögliche Koexistenz unterschiedlicher Betriebssyste- me mit unterschiedlichen Dateisystemen auf einer Festplatte. Wie schafft man jetzt Platz für Linux-Partitionen? * Einzelne Partitionen der Festplatte kann man löschen; dabei gehen alle Da- teien verloren, die in diesen Partitionen liegen. Der Platz auf der Festplatte, der so frei wird, steht dann für neue Partitionen zur Verfügung (z. B. für Li- nux); dabei können Sie den gewonnenen Freiraum neu in mehrere Partitionen aufteilen. * Einzelne Partitionen können Sie auch einem anderen Betriebssystem zuord- nen; wie beim Löschen verlieren Sie aber auch dabei alle Dateien dieser Par- titionen. * Unter MS-DOS oder Windows 95/98 können Sie die letzte Partition der Fest- platte verkleinern, ohne die Dateien darin zu verlieren; mit einem Defrag- mentierungsprogramm müssen Sie zuvor dafür sorgen, dass wirklich alle Dateien am Anfang der Partition liegen. Falls Sie nur eine MS-DOS- oder Windows-Partition haben, können Sie auf diese Weise recht einfach Platz für Linux-Partitionen schaffen. Nach dem Defragmentieren können Sie mit speziellen Programmen ­ etwa dem Freeware-Programm fips ­ die Zylinder- obergrenze herabsetzen und so die Partition verkleinern. fips finden Sie auf der CD 1 im Verzeichnis dosutils. * Eine sehr bequeme, wenn auch mit Kosten verbundene Möglichkeit ist es, eine zusätzliche Festplatte in den Rechner einzubauen. Achtung Bei allen Änderungen der Partitionierung müssen Sie sorgfältig arbeiten und die Anleitung der verwendeten Software beachten. Trotzdem können unter Umständen Probleme auftreten, bis hin zum kompletten Datenverlust! Wir von SuSE können dafür keine Verantwortung übernehmen. In jedem Fall ist es empfehlenswert, vorher zumindest die wichtigsten Dateien zu sichern und eine geprüfte Bootdiskette bereitzuhalten. 31 2 Die SuSE Linux-Erstinstallation Schritt für Schritt. . . Gehen Sie so vor, um die Festplatte zu partitionieren: 1. Wenn Sie es nicht wissen, müssen Sie feststellen, wie viele Partitionen die Festplatte hat und wie groß diese sind. Rufen Sie dazu das Programm fdisk Ihres Betriebssystems auf. 2. Planen Sie, wie viele Partitionen Sie brauchen und wie groß diese sein sol- len. Informationen dazu finden Sie in Abschnitt 2.5 auf Seite 39 und in Ab- schnitt 2.6 auf Seite 41. 3. Schreiben Sie sich Ihren Partitionsplan auf einen Zettel, Sie brauchen die Daten noch öfters im Verlauf der Installation. 4. Jetzt ist ein Backup der Festplatte dringend anzuraten. Wenn Sie kein Band- laufwerk haben und Sie nicht alles auf Disketten sichern wollen, dann si- chern Sie wenigstens Ihre wichtigen Daten und die Start- und Konfigura- tionsdateien (z. B. config.sys, autoexec.bat und *.ini). Erzeugen Sie eine Bootdiskette für Ihr bisheriges Betriebssystem und probieren Sie aus, ob Sie damit booten können. Auf dieser Bootdiskette brauchen Sie auch Handwerkszeug wie einen Editor, fdisk, das Formatierungsprogramm und Ihr Backup-Programm. 5. Je nach Systemgegebenheiten geht's weiter: * DOS/Windows 95/98, eine Partition auf der Festplatte und keine kom- plette Dateien-Sicherung (engl. File-Backup): Sie müssen die Partition ohne Datenverlust verkleinern. Verschieben Sie alle Dateien an den Anfang der Partition. Dazu können Sie z. B. defrag.exe (MS-DOS 6 oder Windows 95/98) benutzen. Die Defragmentierungsprogramme verschieben üblicherweise keine ver- steckten Dateien bzw. Systemdateien, da solche Dateien von einem Soft- warekopierschutz an einem definierten Ort der Festplatte angelegt worden sein könnten. Wenn Sie sicher sind, dass auf der Festplatte keine solchen Dateien sind, können sie das Attribut versteckt bzw. System an al- len betroffenen Dateien deaktivieren oder, je nach verwendetem Defrag- mentierungsprogramm, über Parameter auch das Defragmentieren solcher Dateien erzwingen; neuere Versionen von defrag kennen dafür die Option /P. Auch die Windows-Swapdatei ist eine versteckte Datei. Liegt die Swapda- tei ungünstig, müssen Sie sie unter Windows in der `Systemsteuerung' ausschalten. Haben Sie schließlich am Ende der Partition genügend Freiraum geschaf- fen, dann gehen Sie in das Verzeichnis \dosutils\fips\fips15 der ersten CD. Dort steht das Programm fips.exe, mit dem Sie die Partition verkleinern können. Eine ausführliche Anleitung ist im gleichen Verzeich- nis vorhanden; diese sollten Sie angesichts der heiklen Materie unbedingt studieren, bevor Sie das Programm starten! fips.exe läuft übrigens nur 32 2.4 Tipps und Tricks unter DOS; Windows müssen Sie beenden bzw. Windows 95/98 in den DOS-Modus bringen. Nach Ausführen von fips.exe haben Sie eine zweite Partition auf der Fest- platte, die später in die Linux-Partitionen aufgeteilt wird. Tipp Mit fips.exe aus \dosutils\fips\fips20 lassen sich auch fat32- Partitionen verkleinern; stellen Sie vor dem Einsatz dieser Fips- Version unbedingt ein Backup Ihrer Daten her! * DOS/Windows 95/98 und mehrere Partitionen bzw. Sie haben eine komplette Dateien-Sicherung (engl. File-Backup): Sie löschen Ihre DOS-Partitionen und legen Sie dann verkleinert neu an. Dabei verlieren Sie alle Daten in diesen Partitionen, Sie müssen vorher alle Dateien gesichert haben (dateiweise, kein Imagebackup)! Mit fdisk löschen Sie die alten Partitionen und legen die neue(n) an. Als Nächs- tes formatieren Sie die Partition(en), installieren das Betriebssystem und spielen alle Dateien von der Sicherung wieder ein; das Backup-Programm hatten Sie ja mit auf der Diskette. 6. Booten Sie den Rechner neu. 7. Prüfen Sie jetzt, ob Ihr altes Betriebssystem wieder richtig läuft. Die Linux- Partitionen im freigeräumten Festplattenbereich legen Sie später mit YaST an. Mögliche Probleme Folgende Probleme können auftreten: * Die Partition kann nicht ausreichend verkleinert werden, da einige Dateien sich nicht verschieben lassen: in diesem Fall müssen die Datei-Attribute ge- ändert werden. 2.4.2 Booten von Diskette (SYSLINUX) Die Bootdisk" kann immer dann zum Einsatz kommen, wenn besondere An- forderungen zum Zeitpunkt der Installtion vorliegen (z. B. CD-ROM-Laufwerk nicht verfügbar). Der Bootvorgang wird von dem Bootloader SYSLINUX (Paket syslinux einge- leitet. SYSLINUX ist so konfiguriert, dass in geringem Umfang eine Hardware- erkennung beim Booten durchgeführt wird; im Wesentlichen handelt es sich um die folgenden Schritte: * Nachschauen, ob das BIOS einen Framebuffer gemäß VESA 2.0 unterstützt und den Kernel entsprechend booten. 33 2 Die SuSE Linux-Erstinstallation * Monitordaten (DDC-Info) auslesen. * Den 1. Block von der 1. Festplatte ( MBR") lesen, um später bei der LILO- Konfiguration die Zuordnung von BIOS-ID zu Linux-Gerätenamen (engl. Devices) hinzubekommen. Dabei wird versucht, den Block über die lba32- Funktionen des BIOS zu lesen, um zu sehen, ob das BIOS diese Funktionen unterstützt. Tipp § ¤ § ¤ Wenn beim Start von SYSLINUX die ¦Umschalt ¥bzw. ¦Shift ¥ -Taste gedrückt ist, werden all diese Schritte übersprungen. Für die Fehlersuche: Man kann in syslinux.cfg die Zeile |verbose 1| einfügen; dann teilt der Bootloader mit, welche Aktion jeweils an der Reihe ist. 2.4.3 CD 2 zum Booten verwenden Zusätzlich zur CD 1 ist auch die zweite CD bootfähig. Während jedoch auf der CD 1 ein 2,88 MB großes Bootimage verwendet wird, kommt bei der zweiten CD ein traditionelles Image von 1,44 MB Größe zum Einsatz. Verwenden Sie die CD 2 immer dann, wenn Sie genau wissen, dass Sie von CD booten können, es jedoch mit CD 1 nicht funktioniert ( Fallback"-Lösung). Es ist leider so, dass nicht jedes BIOS die großen Images richtig erkennt. 2.4.4 Bootdiskette unter DOS erstellen Voraussetzung Sie brauchen eine formatierte 3.5-Zoll-HD-Diskette und ein 3.5-Zoll-Disketten- Laufwerk, das auch bootfähig sein muss. Falls Sie unter Windows 95/98 arbei- ten: Starten Sie setup nicht in der MS-DOS-Box, sondern im MS-DOS-Modus! Zusatzinfo Auf der CD 1 im Verzeichnis /disks sind einige Diskettenabbilder (Images) enthalten. Solch ein Image kann mit geeigneten Hilfsprogrammen auf eine Dis- kette kopiert werden, die Diskette nennt sich dann Bootdiskette. Diese Disketten- images beinhalten außerdem noch den Loader" Syslinux und das Programm li- nuxrc; Syslinux erlaubt es, während des Bootvorganges den gewünschten Kernel auszuwählen und bei Bedarf Parameter über die verwendete Hardware zu über- geben. ­ Das Programm linuxrc unterstützt Sie beim Laden der Kernelmodule speziell für Ihre Hardware und startet schließlich die Installation. Die mitgelieferte SuSE-Bootdiskette können Sie im Normalfall als Bootdiskette einsetzen. Nur bei exotischer Hardware, die vom modularisierten Kernel dieser 34 2.4 Tipps und Tricks Diskette nicht unterstützt wird, oder wenn Sie sich ein Disketten-Image aus den Internet von z. B. ftp://ftp.suse.com downloaden, müssen Sie eine eigene Bootdiskette erzeugen, wie es hier beschrieben wird. Mit Setup Schritt für Schritt. . . Gehen Sie so vor, um eine Bootdiskette zu erzeugen: 1. Starten Sie Setup direkt von der CD 1. § ¤ 2. Wählen Sie die Option `Floppy' und drücken Sie § ¤ ¦ ¥ ; dann `Boot' und wieder ¦ ¥ . 3. Jetzt müssen Sie sich eine Diskette mit einem passenden Kernel aussuchen, der z. B. Ihren SCSI-Adapter unterstützt. Setup zeigt Ihnen die wichtigsten Daten zu den Kernel an. Wenn Sie weitere Informationen brauchen, können Sie in der Datei \disks\readme.dos nachsehen. Merken Sie sich, wie Ihr Kernel heißt, Sie brauchen den Namen später nochmal. Dann drücken Sie § ¤ ¦ ¥ . 4. Jetzt wird die Diskette geschrieben. Legen Sie eine (DOS-formatierte) Dis- kette in das 3.5-Zoll-Laufwerk und suchen Sie sich die Diskette aus, die Sie erstellen wollen. * Kümmern Sie sich nur um die Bootdiskette (`Root' wird bei SuSE Linux nicht mehr benötigt!): Setzen Sie den Cursor auf `Boot' und drücken Sie § ¤ ¦ ¥. * Setup will bestätigt haben, dass eine Diskette eingelegt ist. Drücken Sie § ¤ jetzt ¦ ¥.Die Diskette wird geschrieben.§ ¤ * Wenn die Diskette fertig ist, drücken Sie ¦ ¥. * Wählen Sie die Option `Fertig', um den Bildschirm und Setup zu ver- lassen. Mit rawrite Alternativ können Sie auch das (unter Umständen langsamere) DOS-Programm rawrite.exe (CD 1, Verzeichnis \dosutils\rawrite) zum Schreiben der Dis- kette am DOS-Prompt einsetzen. Auf der CD 1 im Verzeichnis /disks liegen die Standard-Diskettenimages; le- sen Sie dort bitte die Dateien README bzw. LIESMICH. Das Image bootdisk ist die Vorlage für die Standarddiskette. Die eigentlichen Kernel sind im Verzeich- nis /suse/images zu finden (ohne Endung!); lesen Sie auch dort bitte README bzw. LIESMICH. Wenn Sie die Standarddiskette benötigen, die mit jedem SuSE Linux mitgeliefert wird, gehen Sie folgendermaßen vor; es wird vorausgesetzt, dass Sie sich im Hauptverzeichnis der CD befinden: 35 2 Die SuSE Linux-Erstinstallation Q:> dosutils\rawrite\rawrite disks\bootdisk a: Falls Sie eine spezielle Unterstützung benötigen, ist anstelle von bootdisk ein anderes Diskettenimage zu verwenden; bei Problemen kann als Fallback-Kernel k_i386 eingesetzt werden. 2.4.5 Bootdiskette unter Unix erstellen Voraussetzung Sie können auf ein Unix/Linux-System mit einem funktionstüchtigen CD-ROM- Laufwerk zurückgreifen. Sie brauchen eine geprüfte Diskette (formatiert). Gehen Sie so vor, um Bootdisketten zu erstellen: 1. Falls Sie die Disketten noch formatieren müssen: erde: # fdformat /dev/fd0u1440 2. Mounten Sie die erste CD (Disk 1); z. B. nach /cdrom: erde: # mount -tiso9660 /dev/cdrom /cdrom 3. Wechseln Sie in das Verzeichnis disks auf der CD: erde: # cd /cdrom/disks 4. Erstellen Sie die Bootdiskette mit erde: # dd if=/cdrom/disks/bootdisk of=/dev/fd0 bs=8k In der LIESMICH- bzw. der README-Datei im disks-Verzeichnis erfahren Sie, welcher Kernel was kann; diese Dateien können Sie mit more oder less lesen. Falls Sie spezielle Unterstützung benötigen, ist anstelle von bootdisk ein anderes Diskettenimage zu verwenden; bei Problemen kann als Fallback-Kernel k_i386 eingesetzt werden. Etwas komplexer wird die Angelegenheit, wenn Sie z. B. einen selbst-kompilier- ten Kernel während der Installation verwenden wollen; schreiben Sie in diesem Fall zunächst das Standard-Image (bootdisk) auf die Diskette und überschrei- ben Sie dann den eigentlichen Kernel (linux) mit dem eigenen Kernel (vgl. Abschnitt 10.5 auf Seite 256): erde: # dd if=/cdrom/disks/bootdisk of=/dev/fd0 bs=8k erde: # mount -t msdos /dev/fd0 /mnt erde: # cp /usr/src/linux/arch/i386/boot/vmlinuz /mnt/linux erde: # umount /mnt 2.4.6 Unterstützt Linux mein CD-ROM-Laufwerk? Generell kann man sagen, dass die meisten CD-ROM-Laufwerke unterstützt werden. 36 2.4 Tipps und Tricks * Bei ATAPI-Laufwerken sollte es keine Probleme geben. * Bei SCSI-CD-ROM-Laufwerken kommt es nur darauf an, ob der SCSI-Con- troller unterstützt wird, an dem das CD-ROM-Laufwerk angeschlossen ist ­ in der Komponenten-Datenbank CDB unter http://cdb.suse.de/ sind die unterstützten SCSI-Controller aufgeführt. Wenn Ihr SCSI-Controller nicht unterstützt wird und am Controller auch die Festplatte hängt, haben Sie so- wieso ein Problem :-( * Auch viele herstellerspezifische CD-ROM-Laufwerke funktionieren mit Li- nux. In dieser Gruppe kann es gleichwohl zu Problemen kommen. Falls Ihr Laufwerk nicht explizit erwähnt ist, können Sie es immer noch mit einem ähnlichen Typ des gleichen Herstellers versuchen. * Mittlerweile sind CD-ROM-Laufwerke am Parallel-Port recht verbreitet. Lei- der sind diese in keiner Weise standardisiert, sodass es regelmäßig zu Proble- men kommt. SuSE Linux enthält eine ganze Reihe verschiedener Alpha-Trei- ber für einige Laufwerke. Wenn keiner dieser Treiber funktioniert, bleibt nur der Umweg über die DOS-Partition. Beachten Sie, dass einige der Laufwer- ke, die von Linux unterstützt werden, nur dann angesprochen werden kön- nen, wenn sie von ihrem DOS-Treiber initialisiert worden sind und danach nur ein Warmstart ausgeführt wurde. 2.4.7 ATAPI-CD-ROM bleibt beim Lesen hängen Wenn das ATAPI-CD-ROM-Laufwerk nicht erkannt wird oder es beim Lesen hängen bleibt, ist häufig die Hardware nicht korrekt eingerichtet. Normalerweise sollten die einzelnen Geräte am (E)IDE-Bus fortlaufend angeschlossen sein, d. h. das erste Gerät ist Master am ersten Controller, das zweite Slave. Das dritte Gerät schließlich ist Master am zweiten Controller und das vierte dort wieder Slave. Oft befindet sich in einem Rechner neben der Festplatte nur das CD-ROM-Lauf- werk, das als Master am zweiten Controller hängt. Linux kommt in manchen Fällen mit dieser Lücke" nicht selbstständig zurecht. Meistens kann dem Kernel durch Angabe eines entsprechenden Parameters aber auf die Sprünge geholfen werden (hdc=cdrom, siehe auch Abschnitt 11.3.2 auf Seite 262). Gelegentlich ist ein Laufwerk nur falsch gejumpert"; das heißt, es ist als Sla- ve konfiguriert, obwohl es als Master am zweiten Controller angeschlossen ist oder umgekehrt. Im Zweifelsfall sollten diese Einstellungen überprüft und gege- benenfalls korrigiert werden. Außerdem gibt es noch eine Reihe fehlerhafter EIDE-Chipsätze. Diese sind mitt- lerweile zum größten Teil bekannt; der Kernel enthält Code, um derartige Proble- me zu umgehen. Für diese Fälle existiert ein spezieller Kernel (vgl. das README in /disks der Installations-CD-ROM); die anzugebenden Kernelparameter sind in Abschnitt 11.3.2 auf Seite 262 beschrieben. 37 2 Die SuSE Linux-Erstinstallation Hinweis Sollte das Booten nicht auf Anhieb funktionieren, so versuchen Sie bitte die nachfolgenden Kernelparameter. ­ Sie geben diese am Bootprompt (boot:) ein: boot: linux Achtung: Vergessen Sie nicht den Namen des Kernels (linux) vor den eigentlichen Parametern! hd=cdrom ­ steht hier für a, b, c, d etc. und ist folgendermaßen zu lesen: * a ­ Master am 1. IDE-Controller * b ­ Slave am 1. IDE-Controller * c ­ Master am 2. IDE-Controller * . . . Beispiel für : hdb=cdrom Mit diesem Parameter geben Sie dem Kernel das CD-ROM-Laufwerk an, falls er es nicht selbst findet und Sie ein ATAPI-CD-ROM-Laufwerk haben. ide=noautotune ­ steht für 0, 1, 2, 3 etc. und ist folgendermaßen zu lesen: * 0 ­ 1. IDE-Controller * 1 ­ 2. IDE-Controller * . . . Beispiel für : ide0=noautotune Dieser Parameter hilft in der Regel bei (E)IDE-Festplatten. Hinweis Weitere Kernel-Parameter finden Sie in Abschnitt 11.3.2 auf Seite 262 ff.; bei Schwierigkeiten mit SCSI-Systemen oder beim Einbinden von Netz- werkkarten sehen Sie bitte dort nach. 2.4.8 CD-ROM-Laufwerke am Parallelport Alle verfügbaren Treiber werden während der Installationsphase von linuxrc zur Auswahl angeboten. Im Regelfall sind keine Besonderheiten zu beachten. 38 2.5 Hinweise zum Partitionieren Leider werden viele Laufwerke (z. B. von Freecom) noch nicht unterstützt. Bis- weilen können Laufwerke nicht benutzt werden, die laut Aufschrift typeniden- tisch sein sollten; die Hersteller haben offensichtlich Interna geändert, ohne diese Änderungen durch eine neue Typenbezeichnung kenntlich zu machen. . . Einige der Laufwerke müssen vom zugehörigen DOS-Treiber initialisiert worden sein, bevor der Linux-Kernel sie erkennt: 1. Booten Sie DOS und lassen Sie den CD-ROM-Treiber laden. 2. Legen Sie die Linux-Bootdiskette ein. 3. Führen Sie einen Warmstart durch. Bei nicht unterstützten Laufwerken muss nach wie vor mit Umweg über eine DOS-Partition installiert werden (vgl. Abschnitt 2.3 auf Seite 28). Zum Stand der Parallelport-Programmierung unter Linux vgl. http://www. torque.net/linux-pp.html. 2.4.9 loadlin fehlt Speicher, um den Kernel zu laden Sie haben nicht genügend freien Speicher unterhalb 640 KB. Versuchen Sie, aus den Startdateien des Systems (config.sys, autoexec.bat) einige Treiber zu entfernen oder in den hohen Speicherbereich zu laden. Falls Sie unter Windows 95/98 komprimierte Laufwerke haben und das Hochla- den des Treibers nicht hilft, müssen Sie die komprimierten Laufwerke dekom- primieren. 2.4.10 loadlin funktioniert nicht Falls es mit loadlin irgendwelche Probleme gibt, können Sie loadlin mit den Optionen -v, -t oder -d aufrufen. Am Besten lassen Sie mit C:\> loadlin -d debug.out die Debug-Informationen in die Datei debug.out schreiben; diese Datei kön- nen Sie dem SuSE-Support schicken. Für müssen Sie Ihre eigenen System-Gegebenheiten einsetzen (vgl. Abschnitt 5.9.1 auf Seite 136). 2.5 Hinweise zum Partitionieren Sie sind neu im Umgang mit Linux und dessen Dateisystemen? So ergeben sich die Fragen: Wie viel Platz stellt man Linux zur Verfügung? Wie viel braucht man unbedingt,wie viel sollte es sein, wie viel macht Sinn und wie teilt man den Platz auf? 39 2 Die SuSE Linux-Erstinstallation Partitionstypen beim PC Jede Festplatte enthält eine Partitionstabelle, die Platz für vier Einträge hat. Jeder Eintrag in der Partitionstabelle kann entweder eine primäre Partition oder eine erweiterte Partition sein, wobei aber maximal eine erweiterte Partition möglich ist. Primäre Partitionen sind recht einfach zu betrachten: Sie sind ein durchgehender Bereich von Zylindern, der einem Betriebssystem zugeordnet ist. Mit primären Partitionen könnte man pro Festplatte aber nur maximal vier Partitionen einrich- ten; mehr passt nicht in die Partitionstabelle. Hier setzt jetzt das Konzept der erweiterten Partition an. Die erweiterte Partiti- on ist ebenfalls ein durchgehender Bereich von Plattenzylindern. Man kann die erweiterte Partition aber nochmal in so genannte logische Partitionen untertei- len, die selbst keinen Eintrag in der Partitionstabelle brauchen. Die erweiterte Partition ist sozusagen ein Container, der die logischen Partitionen enthält. Wenn Sie mehr als vier Partitionen benötigen, müssen Sie beim Partitionieren nur darauf achten, dass Sie spätestens die vierte Partition als erweiterte Partition vorsehen und ihr den gesamten freien Zylinderbereich zuordnen. Darin können Sie dann beliebig" viele logische Partitionen einrichten (das Maximum liegt bei 15 Partitionen für SCSI-Platten und bei 63 Partitionen für (E)IDE-Platten). Linux ist es egal, auf welcher Art von Partitionen (primär und/oder logisch) die Installation vorgenommen wird. Entscheidung treffen Beginnen wir mit der Frage nach dem unbedingt Notwendigen: 180 MB, wobei dies schon eine spezielle Anwendung des Rechners voraussetzt. Man arbeitet nur auf der Konsole ­ kein X Window System. Will man sich mal X anschauen und einige wenige Applikationen starten: 500 MB. Beide Werte sind Swap-inklusive. Wie viel sollte es sein? 1 GB ­ in der Welt der Gigabyte-Festplatten eine eher bescheidene Forderung. Swap-inklusive und nach oben hin offen. Wie viel macht Sinn? Kommt darauf an, was Sie wollen: * Unter X mit modernen Applikationen wie KDE oder GNOME, Applixware oder Staroffice und Netscape oder Mozilla arbeiten: 1,2 GB. * Mit Linux kleinere eigene Applikationen unter X entwickeln. Ebenfalls 1,2 GB. * Beide o. g. Punkte: 2 GB. * Eigene X-Server übersetzen, eigene CDs brennen und o. g. Punkte: 4 GB. * Internet/FTP-Server betreiben: 700 MB Grundsystem + beliebig. Wie teilt man den Platz auf? Eine einfache Frage mit einer nicht so einfachen Antwort. 40 2.6 Partitionieren für Fortgeschrittene Tipp Bei der nunmehr erreichten Robustheit des Linux-Dateisystems ist es ein durchaus gutes Vorgehen, die gleiche Strategie wie YaST zu verfolgen: eine kleine Partition zu Beginn der Platte für /boot vorzusehen (mindestens 2 MB, bei großen Platten 1 Zylinder), eine Partition für Swap (128-256 MB), der ganze Rest für /. Wenn Sie etwas, aber gleichwohl möglichst wenig partitionieren wollen, gelten folgende einfachen Regeln: * Bis ca. 500 MB: Swap-Partition und eine Root-Partition (/). * Ca. 500 MB bis 4 GB: kleine Boot-Partition für den Kernel und für LILO zu Beginn der Festplatte (/boot, mindestens 8 MB bzw. 1 Zylinder), Swap- Partition und der Rest für die Root-Partition (/). * Vorschlag für ab ca. 4 GB (Sie können aber auch wie beim vorigen Punkt verfahren): Boot (/boot), Swap, Root (250 MB), Home (/home) mit ca. 200 MB je Benutzer) und der Rest für Programme (/usr); ggf. je eine wei- tere Partition für /opt (vgl. unten auf dieser Seite) und für /var. Hinweis Abhängig von der BIOS-Version Ihres Rechners kann es notwendig sein, dass Sie eine Linux-Partition unterhalb der 1024-Zylinder-Grenze" anlegen müssen, um Linux direkt von Platte zu starten (lesen Sie dazu auf Seite 111 auf Seite 131). Dies betrifft Sie nicht, wenn Sie Linux von DOS/Windows aus mit loadlin starten. Üblicherweise wird seit SuSE Linux 6.0 die Bootpartition (/boot) diese Startpartition sein. Es ist zu bedenken, dass einige ­ zumeist kommerzielle ­ Programme ihre Daten unter /opt installieren; sehen Sie ggf. entweder für /opt eine eigene Partition vor oder dimensionieren Sie die Root-Partition entsprechend größer. Auch KDE oder GNOME liegen unter /opt! Im Einzelnen handelt es sich u. a. um die in Tabelle 2.2 auf der nächsten Seite aufgelisteten Programm-Pakete bzw. Demos ­ jeweils etwas auf Zuwachs berechnet (in der genannten Tabelle werden auch Programme genannt, die nicht mit SuSE Linux mitgeliefert werden!). 2.6 Partitionieren für Fortgeschrittene Im Abschnitt 2.5 auf Seite 39 sowie in Abschnitt 3.4.11 auf Seite 62 wird auf Möglichkeiten der Partitionierung des Systems eingegangen. Dieser Abschnitt soll nun detaillierte Informationen bereitstellen, mit denen Sie sich ein für Ih- re Zwecke optimales Partitionierungsschema anlegen können. Dieser Abschnitt 41 2 Die SuSE Linux-Erstinstallation KDE2 200 MB GNOME 200 MB htdig 5 MB Fortify 2 MB Mozilla 55 MB Netscape 45 MB Arcad 350 MB Applixware 400 MB Eagle 18 MB Staroffice 260 MB Cyberscheduler Software 30 MB Cygnus Source-Navigator 20 MB SNiFF+ 45 MB Insure++ 45 MB pep 18 MB Oracle 8.1.7 900 MB Sybase ­ Adaptive Server Enterprise 170 MB virtuoso ­ OpenLink Virtuoso Lite Edition 55 MB Tabelle 2.2: Beispiele für Pakete unter /opt ­ nicht alle dieser Pakete werden mit SuSE Linux mitgeliefert! ist insbesondere für diejenigen interessant, die ihr System optimal konfigurieren möchten ­ sowohl in puncto Sicherheit, als auch was Geschwindigkeit betrifft ­ und die dafür bereit sind, u. U. das bestehende System komplett neu aufzusetzen. Tabula rasa, wenn man so will. Es ist unbedingt notwendig, ein grundlegendes Verständnis der Funktionsweise eines UNIX-Dateisystemes zu haben. Die Begriffe Mountpoint, sowie physika- lische, erweiterte und logische Partition sollten keine Fremdwörter sein. Zunächst sollte erwähnt werden, dass es nicht den einen goldenen Weg für alle gibt, sondern viele goldene Wege für jeden. Keine Sorge, Sie werden in diesem Abschnitt auch konkrete Zahlen als Anhaltspunkt lesen. Stellen Sie als ersten Schritt folgende Informationen zusammen: * Was ist das Einsatzgebiet dieses Rechners (Fileserver, Application-Server, Compute-Server, Einzelplatzrechner)? * Wie viele Leute werden an diesem Rechner arbeiten (simultane Logins)? * Wie viele Festplatten hat der Rechner, wie groß sind diese und welches Sys- tem haben Sie (EIDE-, SCSI- oder RAID-Controller)? 2.6.1 Die Größe der Swap-Partition Oft werden Sie noch lesen: Mindestens doppelt so viel Swap wie Hauptspei- cher". Diese Formulierung stammt noch aus der Zeit, in der 8 MB RAM im Rechner nicht wenig war. Diese Zeiten sind vorbei. Wer sich heute einen neuen 42 2.6 Partitionieren für Fortgeschrittene Rechner mit weniger als 64 MB Speicher kauft, wurde nicht gut beraten. Kom- men wir noch einmal zur obigen Aussage zurück. Ziel war es, dass der Rechner über ungefähr 30 bis 40 MB virtuellen Speicher verfügt. Mit modernen Speicher hungrigen Applikationen müssen auch diese Werte nach oben hin korrigiert werden. Im Normalfall sollten 128 MB virtueller Speicher genügen, aber hier sollte man nicht geizen. Compiliert man unter X seinen Ker- nel und will sich mit Netscape die Hilfeseiten ansehen, während noch irgendwo Emacs läuft, hat man mit 128 MB virtuellem Speicher nicht mehr viele Reser- ven. Daher ist man als durchschnittlicher User für absehbare Zeit mit 256 MB virtu- ellem Speicher auf der sicheren Seite. Was Sie auf keinen Fall machen sollten: überhaupt keinen Swap-Speicher anlegen. Selbst auf einem Rechner mit 256 MB RAM sollte noch ein Swap-Bereich vorhanden sein. Die Gründe hierfür werden unter Abschnitt 2.6.3 auf Seite 46 deutlich. Sie lassen umfangreiche Simulationen mit einem Speicherbedarf (!) von mehre- ren Gigabyte berechnen. Wenn Sie Bedenken haben sollten, ob Linux für Ihre Anwendung genügend Reserven bietet, lesen Sie Abschnitt 2.6.2 auf der nächs- ten Seite (Einsatzgebiet Compute-Server). 2.6.2 Einsatzgebiet des Rechners Einsatz als Einzelrechner: Der häufigste Anwendungsfall für einen Linux-Rechner ist der Einsatz als Ein- zelrechner. Damit Sie sich an konkreten Werten orientieren können, haben wir ein paar Beispielkonfigurationen zusammengestellt, die Sie je nach Bedarf bei sich zu Hause oder in der Firma übernehmen können. In Tabelle 2.3 sehen Sie einen kleinen Überblick der verschiedenen Installationsvolumina für ein Linux- System. Installation benötigter Plattenplatz sehr klein 180 MB bis 400 MB klein 400 MB bis 800 MB mittel 800 MB bis 4 GB groß 4 GB bis 8 GB Tabelle 2.3: Beispiele für Größen von Installationen Natürlich erhöhen sich die Werte entsprechend, wenn Sie über das System hin- ausgehende, zusätzliche Datensätze sichern wollen. Beispiel: Standard-Arbeitsplatzrechner (sehr klein) Sie haben eine ca. 500 MB große Festplatte übrig und möchten auf diese Li- nux installieren: eine 64 MB große Swap-Partition und den Rest für / (Root- Partition). 43 2 Die SuSE Linux-Erstinstallation Beispiel: Standard-Arbeitsplatzrechner (Durchschnitt) Sie haben 1,2 GB für Linux frei. Kleine Boot-Partition /boot (5-10 MB bzw. 1 Zylinder), 128 MB für Swap, 800 MB für / und den Rest für eine separate /home-Partition. Beispiel: Standard-Arbeitsplatzrechner (Luxus) Falls Ihnen 1,2 GB oder mehr auf mehreren Platten zur Verfügung stehen, gibt es keine pauschale Partitionierung. Lesen Sie hierzu bitte Abschnitt 2.6.3 auf der nächsten Seite. Einsatz als Fileserver: Hier kommt es wirklich auf Festplattenperformance an. SCSI-Geräten sollte un- bedingt der Vorzug gegeben werden. Achten Sie auch auf Leistungsfähigkeit der Platten und des verwendeten Controllers. Ein Fileserver bietet die Möglichkeit, Daten zentral zu halten. Hierbei kann es sich um Benutzerverzeichnisse, eine Datenbank oder sonstige Archive handeln. Der Vorteil ist eine wesentlich einfachere Administration. Falls der Fileserver ein größeres Netz bedienen soll (ab 20 Usern), wird die Op- timierung des Plattenzugriffs essentiell. Angenommen, Sie möchten einen Linux-Fileserver aufbauen, der 25 Benutzern Heimatverzeichnisse (Home) zur Verfügung stellen soll. Sie wissen, jeder Benut- zer wird maximal 100-150 MB für seine persönlichen Daten in Anspruch neh- men. Falls nicht jeder dieser Benutzer stets in seinem Home kompiliert, reicht hierfür eine 4-GB-Platte, welche einfach unter /home gemountet wird. Haben Sie 50 Benutzer, so wäre rein rechnerisch eine 8-GB-Platte notwendig. Besser ist es in diesem Fall jedoch, /home auf zwei 4-GB-Platten aufzuteilen, da sich diese dann die Last (und Zugriffszeit!) teilen. Tipp Den Cache eines Webbrowsers sollten die Benutzer unbedingt auf lokalen Festplatten halten! Einsatz als Compute-Server: Ein Compute-Server ist in der Regel ein leistungsstarker Rechner, der berech- nungsintensive Aufgaben im Netz übernimmt. Solch eine Maschine verfügt ty- pischerweise über einen etwas größeren Hauptspeicher (ab 512 MB RAM). Der einzige Punkt, an dem für einen schnellen Plattendurchsatz gesorgt werden muss, sind etwaige Swap-Partitionen. Auch hier gilt: mehrere Swap-Partitionen auf mehrere Platten verteilen. 44 2.6 Partitionieren für Fortgeschrittene 2.6.3 Optimierungsmöglichkeiten Die Platten sind zumeist der begrenzende Faktor. Um diesen Flaschenhals zu umgehen, gibt es drei Möglichkeiten, die am Besten zusammen eingesetzt wer- den sollten: * Verteilen Sie die Last gleichmäßig auf mehrere Platten. * Setzen Sie ein optimiertes Dateisystem ein (z. B. reiserfs). * Statten Sie den Fileserver mit genügend Speicher aus (256 MB Minimum). Parallelisierung durch mehrere Platten Die erstgenannte Methode bedarf einer tiefer gehenden Erklärung. Die Gesamt- zeit, die vergeht, bis angeforderte Daten bereitgestellt werden, setzt sich (in etwa) aus folgenden Teilen zusammen: 1. Zeit, bis die Anforderung beim Plattencontroller ist. 2. Zeit, bis der Plattencontroller diese Anforderung an die Festplatte schickt. 3. Zeit, bis die Festplatte ihren Kopf positioniert. 4. Zeit, bis sich das Medium zum richtigen Sektor gedreht hat. 5. Zeit für die Übertragung. Punkt 1 ist abhängig von der Anbindung über das Netzwerk und muss dort gere- gelt werden. Dies wollen wir hier nicht weiter betrachten. Punkt 2 ist eine relativ vernachlässigbare Zeit, die vom Plattencontroller selbst abhängt. Punkt 3 ist ei- gentlich der Hauptbrocken. Gemessen wird die Positionierung in ms. Verglichen mit den in ns gemessenen Zugriffszeiten im Hauptspeicher ist das ein Faktor von 1 Million! Punkt 4 ist von der Drehzahl der Platte abhängig. Punkt 5 von der Drehzahl und der Anzahl der Köpfe, ebenso wie von der aktuellen Position des Kopfes (innen oder außen). Für die optimale Performance sollte man also bei Punkt 3 angreifen. Hier kommt bei SCSI-Geräten das Feature disconnect" ins Spiel. Mit diesem Feature pas- siert in etwa folgendes: Der Controller sendet an das angeschlossene Gerät (in diesem Fall die Festplat- te) den Befehl Gehe zu Track x, Sektor y". Nun muss sich die träge Mechanik der Platte in Bewegung setzen. Wenn die Platte intelligent ist (also disconnect beherrscht) und der Treiber für den Controller dieses Feature auch beherrscht, schickt der Controller der Platte unmittelbar daraufhin einen disconnect-Befehl und die Platte trennt sich vom SCSI-Bus ab. Ab jetzt können andere SCSI-Geräte ihre Transfers erledigen. Nach einer Weile (je nach Strategie bzw. Last auf dem SCSI-Bus) wird wieder die Verbindung zur Platte aktiviert. Idealerweise hat die- se bereits den geforderten Track erreicht. In einem Multitasking-Multiuser Betriebssystem wie Linux kann man hier natür- lich gut optimieren. Sehen wir uns einen Ausschnitt einer Ausgabe des Befehls df an (vgl. Ausgabe 2.6.1 auf der nächsten Seite). 45 2 Die SuSE Linux-Erstinstallation Filesystem Size Used Avail Use% Mounted on /dev/sda5 1.8G 1.6G 201M 89% / /dev/sda1 23M 3.9M 17M 18% /boot /dev/sdb1 2.9G 2.1G 677M 76% /usr /dev/sdc1 1.9G 958M 941M 51% /usr/lib shmfs 185M 0 184M 0% /dev/shm Ausgabe 2.6.1: Beispiel einer Partitionierung: Ausgabe von df -h. Was bringt uns diese Parallelisierung? Angenommen wir geben in /usr/src ein: root@erde:/usr/src/ > tar xzf package.tar.gz -C /usr/lib Das soll also package.tar.gz nach /usr/lib/package installieren. Hierzu wer- den von der Shell tar und gzip aufgerufen (befinden sich in /bin und somit auf /dev/sda), dann wird package.tar.gz von /usr/src gelesen (befindet sich auf /dev/sdb). Als Letztes werden die extrahierten Daten nach /usr/lib ge- schrieben (liegt unter /dev/sdc). Sowohl Positionierung, als auch Lesen/Schrei- ben der platteninternen Puffer können nun quasiparallel ausgeführt werden. Das ist ein Beispiel von vielen. Als Faustregel gilt, dass bei Vorhandensein ent- sprechend vieler (gleich schneller) Platten /usr und /usr/lib auf verschie- denen Platten lagern sollten. Hierbei sollte /usr/lib ca. 70 % der Kapazität von /usr haben. Das Rootverzeichnis / sollte sich bei der Verlagerung auf zwei Platten wegen der Zugriffshäufigkeit auf der Platte mit /usr/lib befinden. Ab einer gewissen Menge an SCSI-Platten (ca. 4 bis 5) sollte man sich jedoch ernsthaft mit einer RAID-Lösung in Software oder gleich besser mit der An- schaffung eines RAID-Controllers beschäftigen. Dadurch werden dann Opera- tionen auf den Platten nicht nur quasiparallel, sondern echt parallel ausgeführt. Fehlertoleranz ist ein weiteres angenehmes Nebenprodukt. Plattendurchsatz und die Größe des Hauptspeichers Wir weisen an vielen Stellen darauf hin, dass die Größe des Hauptspeichers un- ter Linux oft wichtiger ist als die Geschwindigkeit des Prozessors. Ein Grund ­ wenn nicht sogar der Hauptgrund ­ ist die Eigenschaft von Linux, dynamische Puffer mit Festplattendaten anzulegen. Hierbei arbeitet Linux mit allerlei Tricks wie read ahead" (holt vorsorglich Sektoren im Voraus) und delayed write" (spart sich Schreibzugriffe, um sie dann in einem Aufwasch auszuführen). Letz- teres ist der Grund, warum man einen Linux-Rechner nicht einfach ausschalten darf. Beide Punkte sind dafür verantwortlich, dass sich der Hauptspeicher mit der Zeit immer scheinbar füllt und dass Linux so schnell ist. total used free shared buffers cached Mem: 255 246 9 0 23 44 -/+ buffers/cache: 178 76 Swap: 261 3 257 Ausgabe 2.6.2: Die Ausgabe von free -m Ausgabe 2.6.2 zeigt, dass in obigem Beispiel gut 23 MB in Puffern gesichert 46 2.6 Partitionieren für Fortgeschrittene sind. Will man auf irgendwelche Daten zugreifen, welche sich noch im Puffer befinden, sind diese praktisch sofort da. 47 2 Die SuSE Linux-Erstinstallation 48 3 YaST­ Yet another Setup Tool 3 YaST­ Yet another Setup Tool YaST (yast) ist ein wesentlicher Bestandteil von SuSE Linux. YaST installiert das System, verwaltet die Software (Installation und Deinstallation) und unter- stützt Sie bei der Administration des Systems. Dieses Kapitel soll die wichtigsten Funktionen von YaST beschreiben. Hinweis Mit der aktuellen SuSE Linux Distribution wird ein wieder überarbeitetes YaST ausgeliefert; die hier beigegebenen Bilder ( Screenshots") müssen nicht in jedem Detail stimmen. 3.1 Bedienung und Tastenbelegung Sie starten YaST als `root' am Prompt mit dem Befehl yast: erde:~ # yast Die Bedienung von YaST erfolgt im Wesentlichen mit den Cursor-Tasten und § ¤ der Tabulator-Taste ( § ¤¦Tab ¥ ). Sie können sich in den Listen mit den Cursor-Tasten § ¤ § ¤ sowie mit ¦Bild ¥und ¦Bild ¥bewegen, mit ¦Leertaste ¥lassen sich Punkte in § ¤ § ¤ Auswahllisten anwählen. Normalerweise ist Ihre Auswahl mit § ¤ ¦Enter ¥bzw. ¦ ¥ zu bestätigen. Mit ¦Esc ¥oder `Abbruch' können Sie in der Regel die Menüs oder Masken bzw. Dialoge wieder verlassen; wenn getroffene Einstellungen komple- § ¤ xer Dialoge beibehalten werden sollen, ist ¦F10 ¥zu betätigen oder `Weiter' zu wählen. § ¤ Bei Ja-Nein-Abfragen bzw. bei Texteingabefeldern können Sie mit ¦Tab ¥zwi- schen den einzelnen Feldern bzw. Buttons springen. Wenn Sie YaST im Farbmo- dus verwenden, ist die aktive Auswahl immer in blau dargestellt. In seltenen Fällen, z. B. wenn Sie YaST remote von einem Nicht-Linux-Terminal aus starten, können Sie die im nachfolgenden Text bzw. in der YaST-Fußleiste genannten Funktionstasten nicht benutzen, weil die Tastencodes missinterpretiert § ¤§ ¤§ ¤ werden. In diesem Fall können Sie durch Eingeben von § ¤ ¦Strg ¥+ § ¦f ¥¦ ¤ ¥ das Drücken der Funktionstaste ¤ § ¤§ ¤ ¦F ¥simulieren. Für § ¤ § ¦F10 ¤ ¥können Sie § ¦Strg ¥+¦f ¥¦0 ¥eingeben. Die Funktionstasten ¦F11 ¥und ¦F12 ¥werden in YaST nicht verwendet. 49 3 YaST­ Yet another Setup Tool 3.2 Das YaST-Hauptmenü Wenn Sie YaST starten, befinden Sie sich im Hauptmenü" (Abbildung 3.1). Abbildung 3.1: Das Hauptmenü" `Allgemeine Hilfe zu Installation und YaST-Tastaturbelegung' Verschiedene Informationen. `Einstellungen zur Installation ->' Dieser Eintrag verzweigt in eine Unterauswahl (vgl. Abschnitt 3.4 auf der nächsten Seite). `Paketverwaltung (Update, Installation, Anfragen)' Hier gelangt man in die Software-Zusammenstellung, um Pakete nachzuinstallieren oder aus dem System zu entfernen (vgl. Abschnitt 3.5 auf Seite 69). `System updaten' Falls Software-Pakete aktualisiert werden sollen. `Administration des Systems ->' Über diesen Punkt wird das Menü für die System-Administration aufgeklappt (vgl. Abschnitt 3.7 auf Seite 76). `README-Datei zum Installationsmedium anzeigen' Wichtige Zusatz- Informationen. `Copyright' Die Juristen haben das Wort. `YaST beenden' Nichts währt ewig. 3.3 Allgemeine Hilfe Über diesen Menüpunkt ist die Online-Hilfe zu YaST zu erreichen; die einzelnen Themen der Hilfe sind als Hypertext" realisiert. Hier sind auch die Tastaturkür- zel beschrieben. 50 3.4 Einstellungen zur Installation 3.4 Einstellungen zur Installation Alle für die Installation relevanten Einstellungen werden im Untermenü `Ein- § ¤ stellungen zur Installation' vorgenommen (Abbildung 3.2). Mit ¦Esc ¥ können Sie die Menüs wieder verlassen. Abbildung 3.2: Menü `Einstellungen zur Installation' Die eigentliche Installation kann erst durchgeführt werden, wenn Sie die Ziel- partitionen festgelegt haben! Einige Punkte können auch nach der Installation noch sinnvoll angewählt werden, wenn man Einstellungen aktualisieren möchte. 3.4.1 Sprache festlegen Mit `Sprache festlegen' kann die Sprache der YaST-Masken geändert wer- den; der Wert wird in der Variablen DEFAULT_LANGUAGE in /etc/rc.config hinterlegt; siehe Abschnitt 13.9 auf Seite 336. 3.4.2 Tastaturbelegung auswählen Mit `Tastaturbelegung auswählen' kann die Tastaturbelegung geändert wer- den; der Wert wird in der Variablen in /etc/rc.config hin- terlegt (vgl. Abschnitt 14.6 auf Seite 347). Wählen Sie qwertz/de-lat1-nd oder qwertz/de-latin1 für eine moderne PC-Tastatur mit deutscher Belegung. Bei diesen Bezeichnungen steht `nd' für no dead keys"; damit soll zum Ausdruck gebracht werden, dass z. B. Akzent- § ¤ zeichen direkt eingegeben werden können, ohne erst die ¦Leertaste ¥betätigen zu müssen. `qwertz' steht für die Abfolge der fünf Tasten, mit denen die zweit- oberste Tastenreihe von links her beginnt. 51 3 YaST­ Yet another Setup Tool 3.4.3 Installationsquelle auswählen Dieser Dialog (Abbildung 3.3) bietet die Möglichkeit, das Medium zu wählen, von dem Sie installieren möchten. Rufen Sie ihn durch den Menüeintrag `In- stallationsquelle auswählen' auf. Abbildung 3.3: Auswahl der Installationsquelle in YaST Im häufigsten Fall werden Sie hier wohl den Menüpunkt `Installation von CD-ROM' auswählen, wenn Sie direkt von dem CD-ROM-Laufwerk Ihres Rech- ners installieren wollen. Über den Menüeintrag `Installation von einer Festplatten-Parti- tion' lässt sich Linux auch dann installieren, wenn das CD-ROM-Laufwerk nicht direkt von Linux unterstützt wird (siehe auch Abschnitt 3.4.5). Sollten Sie den Inhalt der CDs im Linux-Dateibaum abgelegt haben, so können Sie die Op- tion `Installation von einem erreichbaren Verzeichnis' wählen. Mit `Installation via NFS', `Installation von einem FTP-Server' oder `Via SMB' können Sie Linux auf einem Rechner installieren, der über kein eigenes CD-ROM-Laufwerk verfügt, jedoch per Ethernet mit einer Maschine verbunden ist, in der sich ein CD-ROM-Laufwerk befindet. Lesen Sie hierzu bit- te Abschnitt 3.4.6 auf der nächsten Seite bzw. Abschnitt 3.4.8 auf Seite 55. 3.4.4 Installation von CD/DVD Wenn Sie direkt von CD-ROM installieren können, spezifizieren Sie hier den Typ Ihres Laufwerks. Wenn Sie nicht sicher sind, sollten Sie Ihre Versuche mit `ATAPI EIDE'-Laufwerken beginnen. 3.4.5 Installation von einer Festplatten-Partition Sollte Ihr CD-ROM-Laufwerk nicht direkt von Linux unterstützt werden, so kön- nen Sie das System dennoch auf Ihrem Rechner installieren. Sie müssen zu die- 52 3.4 Einstellungen zur Installation Abbildung 3.4: Auswahl des CD-ROM-Laufwerks sem Zweck jedoch den Umweg über ein anderes Installationsmedium gehen. 3.4.6 Installation via NFS Die Installation über ein Netzwerk bietet die Möglichkeit, einfach und komfor- tabel mehrere Rechner zu installieren, auch wenn nur einer davon mit einem CD-ROM-Laufwerk ausgestattet ist, bzw. die Quelldateien auf einer per NFS er- reichbaren Festplatte zur Verfügung gestellt werden können. Sie sollten jedoch mit der Konfiguration eines NFS-Servers vertraut sein, bevor Sie eine Installation per NFS vornehmen. Auch die Installation eines Notebooks, das über eine PCMCIA-Netzwerkkarte verfügt, ist mit diesem Feature möglich. Die Installation via NFS ist nicht nur bei Rechnern möglich, die mittels Ethernet miteinander verbunden sind, sondern kann auch auf einem Rechner erfolgen, der über die parallele Schnittstelle mit einem Server vernetzt" ist. Dieses Feature ist vor allem für Laptops und Notebooks interessant. Wenn Sie eine derartige Installation vornehmen möchten, müssen Sie während des Bootvorgangs PLIP- Unterstützung auswählen. Außerdem müssen in diesem Fall weitere Einstellung- en vorgenommen werden, damit das PLIP-Interface korrekt konfiguriert werden kann: Wenn Sie direkt mit dem NFS-Server verbunden sind, ist die Adresse des PLIP- Partners dieselbe, die Sie nachfolgend für die Adresse des NFS-Servers eingeben müssen. Das PLIP-Interface wird in den allermeisten Fällen plip1 sein. Auch die Hardware-Parameter dürften nur in den allerwenigsten Fällen vom Standard abweichen. Beachten Sie bitte, dass bei Verwendung der parallelen Schnittstelle als PLIP-In- terface kein Drucker mehr an dieser Schnittstelle betrieben werden kann! In vie- len Fällen führt ein an eine solche Schnittstelle angeschlossener Drucker einen Dauerreset aus, sobald der Treiber zugreift! 53 3 YaST­ Yet another Setup Tool Abbildung 3.5: Eingabe der Netzwerkdaten für NFS-Installation In dem folgenden Dialog geben Sie dann die IP-Adresse des NFS-Servers sowie das Verzeichnis an, in dem sich die Quelldateien befinden. Selbstverständlich muss der Server dieses Verzeichnis an den neu zu installierenden Rechner ex- portieren! 3.4.7 Installation von einem erreichbaren Verzeichnis Diese Option dient im Wesentlichen dazu, weitere Software nachzuinstallieren, wenn SuSE Linux bereits läuft. Weiterhin stellt es eine Möglichkeit dar, unter Umständen Linux mit Laufwerken zu installieren, für die zum Zeitpunkt der Erstellung der CDs noch keine Treiber verfügbar waren. Um nun von YaST aus dieses Laufwerk ansprechen zu können, starten Sie zuerst YaST. Wenn Sie dies getan haben, wechseln Sie auf eine andere Konsole (z. B. § ¤§ ¤ mit ¦Alt ¥+¦F2 ¥auf die zweite virtuelle Konsole) und loggen sich dort als Benutzer `root' ein. Von hier aus müssen Sie nun das CD-ROM-Laufwerk von Hand auf ein be- stimmtes Verzeichnis mounten, z. B. durch Eingabe von erde: # mount -tiso9660 /dev/cdrom /cdrom Nun können Sie eine ganz normale Installation durchführen. Zu diesem Zweck geben Sie in der folgenden Maske (Abbildung 3.7 auf Seite 56) das Verzeichnis an, in dem sich die Quelldateien befinden; das ist das Verzeichnis, auf das die CD gemountet wurde, ergänzt um den Pfad suse. Haben Sie zum Beispiel das Laufwerk (oder die Festplattenpartition) auf das Verzeichnis /cdrom gemountet, dann geben Sie in das Feld in Abbildung 3.7 auf Seite 56 ein: /cdrom/suse 54 3.4 Einstellungen zur Installation Abbildung 3.6: PLIP-Konfiguration 3.4.8 Installation via FTP Ähnlich wie bei NFS ist dies eine weitere Möglichkeit, SuSE Linux auf einem Rechner zu installieren, der über kein (unterstütztes) CD-ROM-Laufwerk ver- fügt. Voraussetzung dafür ist allerdings, dass die Netzwerkgrundkonfiguration bereits durchgeführt wurde. `FTP Server [Name|IP]' Der Name oder die IP-Adresse des FTP-Servers. `Server Verzeichnis' Die Stelle auf dem FTP-Server, an der sich das suse- Verzeichnis befindet. `[ ] Proxy verwenden?' Nur ankreuzen, wenn Sie sich sicher sind, einen FTP-Proxy benutzen zu müssen; ein Proxy wird in der Regel nicht benö- tigt. Weiterhin wird zwingend ein echter FTP-Proxy benötigt; HTTP-Proxies können nicht verwendet werden! `Proxy [Name|IP]' Nur einen Eintrag vornehmen, wenn Sie den vorangegan- genen Punkt angekreuzt haben. `[X] Default FTP Port?' In der Regel bitte ankreuzen. `Port [Nummer]' Sollte in der Regel auf 21 stehen. `[X] Anonymous FTP?' Immer dann ankreuzen, wenn Sie einen öffentlichen FTP-Server verwenden wollen. `Login' Falls Sie den vorangegangenen Punkt nicht angekreuzt haben, setzen Sie hier den Benutzernamen und dann beim nächsten Punkt das Passwort. `Password' Geben Sie hier das Passwort ein. `Timeout [Sekunden]' 60 ist eine gute Vorgabe. 55 3 YaST­ Yet another Setup Tool Abbildung 3.7: Eingabe des Quellverzeichnisses `Lokales Tmp-Verzeichnis' Das Verzeichnis, in dem Dateien lokal zwi- schengespeichert werden sollen. Hinweis: YaST baut ausschließlich passive FTP-Verbindungen auf. 3.4.9 Festplatte(n) partitionieren Der kritischste Punkt der Installation eines neuen Betriebssystems ist die Auf- teilung der Festplatte. Üblicherweise benötigt jedes Betriebssystem mindestens eine eigene Partition. Tipp Mit Linux ist es auch möglich, das System auf ein bestehendes MS-DOS- Dateisystem zu installieren, jedoch sollten Sie diese Möglichkeit nur wahr- nehmen, um einmal in das System hineinzuschnuppern". Die Performance ist dann weit geringer als bei der Installation auf Linux-eigene, spezifische Partitionen, und das System ist auch nicht so sicher, da beispielsweise kei- ne Filesystem-Checkprogramme für MS-DOS existieren und Linux während des Betriebs von DOS beeinflusst werden kann. Wenn Sie Linux eine eigene Festplatte spendieren möchten, können Sie das Sys- tem auf mehrere Partitionen aufteilen. Die Aufteilung eines Unix-Systems ist eine Frage des persönlichen Geschmacks, es gibt keinen Königsweg" (siehe Abschnitt 2.5 auf Seite 39 und Abschnitt 2.6 auf Seite 41); ein ausführliches Beispiel zum Partitionieren finden Sie im Anschluss ( 3.4.11 auf Seite 62). Auf jeden Fall sollten Sie jedoch eine eigene Swap-Partition vorsehen, die den virtuellen Speicherspeicher Ihres Rechners vergrößert (siehe Abschnitt 2.6.1 auf Seite 42). 56 3.4 Einstellungen zur Installation Abbildung 3.8: Angaben für die FTP-Installation Befindet sich in dem Rechner mehr als eine Festplatte, so werden Sie aufgefor- dert, die Platte auszuwählen, die Sie im nächsten Arbeitsschritt partitionieren möchten. Sie gelangen dann in ein Menü, in dem die gegenwärtige Aufteilung der Festplatte angezeigt wird (Abbildung 3.9). Abbildung 3.9: Partitionen einrichten § ¤ § ¤ Mit den Cursortasten ¦ ¥und ¦ ¥können Sie sich in der Liste der verfügbaren § ¤ § ¤ Partitionen bewegen und durch ¦F3 ¥den Typ einer Partition verändern. Mit § ¤ ¦F4 ¥ wird eine bestehende Partition gelöscht, mit ¦F5 ¥können Sie eine neue Partition anlegen. § ¤ Ein Ändern des Partitionstyps (mit ¦F3 ¥ ) ist zwingend erforderlich, wenn eine Swap-Partition anzulegen ist. Möglicherweise ist gar kein Umpartitionieren er- 57 3 YaST­ Yet another Setup Tool forderlich, wenn Sie sich zum Beispiel dazu entschlossen haben, eine derzeit von einem anderen Betriebssystem verwendete Partition künftig für Linux einzuset- zen. Bewegen Sie in diesen Fällen einfach den Balkencursor auf die entsprechen- § ¤ de Partition und drücken Sie ¦F3 ¥ . Beachten Sie, dass Linux keinerlei Voraussetzungen über die Art der Partitionen macht, auf denen es installiert werden soll: Es ist gleichermaßen möglich, Linux auf einer primären Partition zu installieren wie auf einer logischen innerhalb einer erweiterten Partition. Hinweis Erweiterte sowie logische Partitionen werden von DOS-fdisk als erweiterte DOS-Partition bzw. logische Laufwerke bezeichnet, obwohl das Konzept über Betriebssystemgrenzen hinweg gültig ist. 3.4.10 Ziel-Partitionen/Dateisysteme festlegen Nach der Aufteilung der Festplatte in Partitionen müssen Sie diesen Partitionen Unterverzeichnisse im Linux-Verzeichnisbaum zuordnen. Wählen Sie dazu den Punkt `Ziel-Partitionen/Dateisysteme festlegen'. Abbildung 3.10: Festlegen der Dateisysteme Im Beispiel (Abbildung 3.10) sehen Sie die Partitionen eines Systems mit einer Festplatte. Sie können nun für jede einzelne Partition festlegen, ob und wie sie formatiert werden soll und an welchen Punkt Ihres Verzeichnisbaumes sie später gemountet" werden soll. Sie müssen genau eine Partition als Root"-Partition vorsehen! Diese heißt des- wegen so, weil sie den Ausgangspunkt (engl. root) aller Verzeichnisse darstellt. Deshalb wird ihr der Mountpoint `/' zugeordnet. 58 3.4 Einstellungen zur Installation Sie können im Regelfall nur Linux-Partitionen bearbeiten. Steht der Balkencur- sor auf einer Partition eines anderen Betriebssystems, so sind alle Funktionen außer dem Festlegen des Mountpoints abgeschaltet. Typ setzen § ¤ Mit ¦F3 ¥können Sie zwischen den beiden Dateisystemen ext2 und reiser wäh- len. `ext2' ­ Das ext2-Dateisystem (engl. second extended filesystem) ist seit vie- len Jahren als das Standard-Dateisystem etabliert. `reiserfs' ­ ReiserFS ist ein Dateisystem der nächsten Generation. Nunmehr ist dieses Dateisystem offziell im Kernel 2.4 enthalten. Beachten Sie bit- te unbedingt die Hinweise in /usr/share/doc/packages/reiserfs/ README. In enger Zusammenarbeit mit SuSE hat die Entwicklergruppe um HANS REISER und CHRIS MASON das hochperformante ReiserFS nunmehr zu ei- nem Journaling Filesystem" erweitert. Durch Journaling wird sichergestellt, dass auch bei großen Servern eine Überprüfung des Dateisystems (engl. file- system check) innerhalb weniger Sekunden durchgeführt werden kann. Achtung Bitte benutzen Sie ReiserFS nicht zusammen mit Software-RAID 5 und beachten Sie überhaupt, dass Software-RAID 5 nicht für wichtige Daten verwendet werden soll. Bei Hardware-RAID gibt es keine Einschränkun- gen. Eine ReiserFS-Partition muss z. Z. mindestens 34 MB groß sein. Um Probleme auszuschließen, legen Sie bitte eine separate /boot-Partition mit dem ext2-Dateisystem an, und installieren Sie dort LILO. Dies ist die SuSE Linux-Standardkonfiguration. Folgende Hinweise sind zu beachten, wenn Sie ReiserFS für einen NFS- Server einsetzen möchten: * Der knfsd funktioniert generell, nur beim extensiven Umbenennen von Spezialdateien ( device files", named pipes") über NFS über verschiede- ne Verzeichnisse hinweg kann es zu Problemen kommen. * Der unfsd funktioniert zuverlässig, wenn das entsprechende Dateisystem mit der Option no_cross_mounts exportiert wird oder wenn der unfsd gleich mit --no-cross-mounts gestartet wird. * Das Exportieren von ganzen Dateisystembäumen (möglich mit unfsd) funk- tioniert nicht zuverlässig mit ReiserFS. Die Utilities zum ReiserFS sind in dem Paket reiserfs, Serie a enthalten; allerdings ist reiserfsck noch nicht in der Lage, jedes Dateisystem wieder benutzbar zu machen. 59 3 YaST­ Yet another Setup Tool Aktuelle Informationen unter: http://www.namesys.com/ Mountpoint § ¤ Mit ¦F4 ¥können Sie festlegen, an welche Stelle des Verzeichnisbaumes die ent- sprechende Partition gemountet werden soll. Sie müssen für eine Partition das Root-Verzeichnis (/) vergeben. Etwaige DOS/ Windows-Partitionen können Sie auf entsprechende Verzeichnisnamen mounten lassen, wo Sie sie später leicht finden können, beispielsweise /dosc für Ihre erste DOS-Partition und /dosd für Ihre zweite usw. (Empfohlen: FAT-Win95 (= vfat)). Achtung Beachten Sie, dass Sie alle Mountpoints mit absoluten Pfadnamen einge- ben müssen und dass die Verzeichnisnamen keine Sonderzeichen enthal- ten dürfen! Keinesfalls dürfen Sie die Verzeichnisse /etc, /bin, /sbin, /lib und /dev auf eigene Partitionen legen, da sie unter anderem die Kommandos enthalten, die beim Booten zum Mounten der übrigen Dateisysteme benö- tigt werden! Expertenmenü für Feineinstellungen der Dateisysteme Abbildung 3.11: Expertenmenü für Einstellung der Dateisysteme 60 3.4 Einstellungen zur Installation Die Inode-Dichte gibt an, welche durchschnittliche Dateigröße für eine Partition erwartet wird. Die Anzahl der Inodes bestimmt, wie viele Dateien auf einer Par- tition angelegt werden können. Ist diese Zahl zu klein, kann es vorkommen, dass eine Partition als voll gilt, obwohl durchaus noch Blöcke auf dieser Partition frei sind. Wird zum Beispiel ein Wert von 4096 Bytes pro Inode gewählt, bedeutet dies, dass im Schnitt alle Dateien 4 KB groß sein sollten. Werden auf solch einer Par- tition ausschließlich Dateien mit einer Größe von nur einem Kilobyte angelegt, so kann nur ein Viertel der Platte verwendet werden, da das Dateisystem dann als voll gilt. Ein Inode für 4 KB hat sich dennoch als guter Standardwert erwiesen (mehr Inodes pro Partition bedeutet natürlich weniger Netto-Datenplatz, da die Inode- Tabellen ebenfalls gespeichert werden müssen). Soll eine Partition als Spool- Bereich z. B. für Netnews verwendet werden, so sollte ein Wert von 2048 Byte pro Inode gewählt werden, da die einzelnen Artikel typischerweise sehr kleine Dateien sind. Die Festlegung der Blockgröße beeinflusst die Dauer einer Überprüfung des Dateisystems (engl. filesystem check). Unser Vorschlag für die Blockgröße: 1024 (= 1 KB) für Partitionen von 1 GB Größe, 4096 (= 4 KB) bei 4 GB. Weiterhin wird hier festgelegt, unter welchen Bedingungen eine Überprüfung des Dateisystems (engl. filesystem check) durchgeführt werden soll; die Häufig- keit des Mountens kann berücksichtigt werden. Angabe des für `root' reservierten Bereichs: Für `root' sollte man immer dann einen Bereich reservieren, wenn Partitionen gemeinsam von System-Pro- grammen und regulären Benutzern verwendet werden. Eine separate /home- Partition muss nicht zwingend Platz für `root' zur Verfügung stellen. Das Verhalten bei Fehlern kann angegeben werden. Wenn ein Fehler im Datei- system auftritt, kann der Betrieb normal weitergehen (continue), die Partition kann nur lesbar umgemountet werden (remount-ro) oder das komplette System kann sofort angehalten werden (panic). Achtung Die geeignete Option ist in Hinblick auf die Verwendung des Systems zu wählen. Die Voreinstellung continue sollte erfahrenen Systemadministra- toren vorbehalten bleiben. Formatieren der Partitionen § ¤ Mit ¦F6 ¥können Sie festlegen, ob und wie die Partitionen formatiert werden sol- len. Bei modernen fabrikneuen Platten ist es nicht nötig, während des Formatie- rens ein Prüfen auf schlechte Sektoren durchführen zu lassen; Sie können dies sicherheitshalber dennoch angeben. Das Formatieren dauert in diesem Fall er- heblich länger. 61 3 YaST­ Yet another Setup Tool Einlesen der fstab-Datei § ¤ Durch Drücken von ¦F7 ¥können Sie eine bereits existierende Datei fstab einle- sen. Es werden auch diejenigen Einträge der fstab angezeigt, die nicht zu Datei- systemen der Festplatte gehören (swap, proc, nfs-mount, CD-ROM-Einträge etc). Diese sind grau hinterlegt und können nicht verändert werden. Beim Ab- speichern der fstab bleiben sie aber erhalten. Dieses Feature wird benötigt, wenn Sie ein Update des Basissystems durchfüh- ren möchten (vgl. Abschnitt 12.1.3 auf Seite 299); YaST muss in einem solchen Fall wissen, auf welche Partitionen sich das System verteilt. Es ist ja auch ohne weiteres möglich, mehrere Versionen von Linux parallel auf einem Rechner zu halten. 3.4.11 Exkurs: Manuelle Konfiguration der Festplatte Partitionen konfigurieren Worum geht es? Hier wird besprochen, mit welchen YaST-Masken Sie konfrontiert werden, wenn sie sich in Abschnitt 2.1.3 auf Seite 13 entschieden haben, interaktiv zu partitio- nieren. Hintergrund-Informationen zu den unterschiedlichen Partitionstypen finden Sie in einem Dokument von ANDRIES BROUWER (http://www.win.tue.nl/~aeb/partitions/). Schritt für Schritt. . . Gehen Sie so vor, um die Partitionen einzurichten: 1. YaST präsentiert einen Bildschirm mit mehreren Bereichen (vgl. Abbildung 3.9 auf Seite 57): * Ganz oben stehen die Parameter der Festplatte. * Im zweiten Teil stehen etwaige Warnungen und Fehlermeldungen des Pro- § ¤ gramms fdisk. Diese Meldungen können Sie mit ¦F6 ¥genauer betrachten. * Im unteren Teil finden Sie die Partitionen, die fdisk auf der Festplatte ge- funden hat. Dort sehen Sie die Partition(en) Ihres bisherigen Betriebssys- tems, beispielsweise von MS-DOS. Falls Sie schon eine Swap-Partition angelegt hatten, ist auch diese hier aufgeführt. 2. Wenn Sie vorhandene Partitionen löschen wollen, um den entstandenen frei- en Platz neu in Partitionen aufzuteilen, sollten Sie das zuerst tun. § ¤ § ¤ Steuern Sie die zu löschende Partition mit ¦ ¥und ¦ ¥an. Wenn Sie Partitio- nen löschen, sind alle darin enthaltenen Daten verloren (oder nur mit großem Aufwand eventuell wieder herstellbar). Achten Sie auch auf den Typ der Par- § ¤ § ¤ tition! Dann drücken Sie ¦F4 ¥und bestätigen das Löschen mit ¦ ¥. 62 3.4 Einstellungen zur Installation 3. Wenn Sie bereits vorhandene Partitionen anderer Betriebssysteme direkt für Linux verwenden wollen, können Sie das tun, indem Sie jetzt den Typ der Partition ändern. Achtung Wenn Sie den Typ einer Partition ändern, kann auf die darin enthalte- nen Daten von anderen Betriebssystem (MS-DOS oder Windows) mög- licherweise nicht mehr zugegriffen werden! § ¤ § ¤ Steuern Sie die Partition, deren Typ Sie ändern wollen, mit § ¤ ¦ ¥und ¦ ¥an und drücken Sie ¦F3 ¥ . Es erscheint ein Auswahlfenster für den neuen Partitionstyp. Wählen Sie zwischen normaler Linux-Partition und Swap-Partition und bestätigen Sie § ¤ mit ¦ ¥. 4. Wenn Sie neue Partitionen für Linux anlegen wollen, legen Sie diese am § ¤ § ¤ Besten alle nacheinander an. Dazu drücken Sie zuerst ¦F5 ¥ . Falls ¦F5 ¥keine Wirkung zeigt, bedeutet dies: Platte ist schon voll, kein Platz für neue Parti- tionen vorhanden. Dann müssen Sie zuerst Partitionen löschen (siehe oben). Abbildung 3.12: YaST ­ Partitionierung festlegen Es erscheint ein Auswahlfenster für die Art der neu anzulegenden Partition (Abbildung 3.12). Wählen Sie zwischen `Primärer Partition', `Erwei- terter Partition' und eventuell `Logischer Partition'; bestätigen § ¤ Sie mit ¦ ¥.Zur Erinnerung: Sie können maximal 4 primäre Partitionen haben. Brauchen Sie mehr als 4 Partitionen, müssen Sie spätestens die 4. Par- tition als erweiterte Partition vorsehen, innerhalb derer Sie dann mehrere lo- gische Partitionen anlegen können. Weitere Informationen dazu finden Sie in Abschnitt 2.5 auf Seite 40. 63 3 YaST­ Yet another Setup Tool Haben Sie eine primäre oder logische Partition angelegt, müssen Sie ange- ben, als welches Device die Partition angesprochen werden soll. YaST bie- tet die freien Devicenamen an. Wählen Sie den obersten Namen aus, z. B. § ¤ `/dev/hda2' und drücken Sie ¦ ¥. Im nächsten Schritt müssen Sie die Größe der neuen Partition festlegen. YaST schlägt als Beginn der Partition (Startzylinder) den ersten freien Zylinder vor. § ¤ Im Normalfall übernehmen Sie diese Vorgabe mit ¦ ¥ . Jetzt geben Sie das Ende der Partition an. Drei Eingabemöglichkeiten stehen zur Verfügung: die Nummer des Endzylinders (z. B. 976), die Anzahl der Zylinder der Partition § ¤ (z. B. +66) oder die Größe in Megabyte (z. B. +100M). Noch einmal § ¤ ¦ ¥ bringt Sie auf `Weiter', Sie bestätigen mit ¦ ¥ . Jetzt erscheint die neu angelegte Partition im unteren Bereich des Bildschirms. Falls die Partition nicht wunschgemäß geraten ist, können Sie sie gleich mit § ¤ ¦F4 ¥wieder löschen. 5. Eine der Partitionen sollte unbedingt eine Linux-Swappartition sein. Wenn § ¤ § ¤ Sie noch keine angelegt haben, wählen Sie mit ¦ ¥und ¦ ¥eine passende Par- tition aus; um eine sinnvolle Größe der Swappartition zu finden, sehen Sie in § ¤ Abschnitt 2.5 auf Seite 40 nach. Drücken Sie § ¦F3 ¤ ¥und wählen Sie `Linux- Swappartition' aus, bestätigen Sie mit ¦ ¥. 6. Haben Sie alle Partitionen nach Wunsch erstellt (jetzt sollte die Platte kom- plett belegt sein)? Haben Sie auch an die Swappartition gedacht? Dann brin- § ¤ gen Sie den Cursor mit § ¤ ¦Tab ¥in das Feld `Weiter', falls er nicht schon dort steht. ¦ ¥führt Sie nach nochmaliger Bestätigung in die Eingabemaske `Festlegen der Dateisysteme'. Unter bestimmten Bedingungen überprüft YaST jetzt erneut die Swap-Partition, um auf der sicheren Seite zu sein. Dateisysteme und Mountpoints" festlegen Worum geht es? Alle Partitionen wurden im vorangegangenen Abschnitt in die Partitionstabelle eingetragen. In diesem Schritt geben Sie für die gerade konfigurierten Linux-Par- titionen und auch für die eventuell bestehenden DOS-/HPFS-Partitionen weitere Informationen an. Zusatzinfo Diese Informationen über die Partitionen werden zum Teil dauerhaft festgehal- ten in der Datei /etc/fstab, der Dateisystem-Tabelle (engl. file system table). Die /etc/fstab enthält alle konstanten Angaben zu den Dateisystemen, etwa den Device-Namen, die Position des Dateisystems im gesamten Linux-Datei- systembaum oder den Typ des Dateisystems, wie auch Informationen für die Programme dump und fsck; vgl. Manual-Page von fstab (man 5 fstab). 64 3.4 Einstellungen zur Installation Im Gegensatz zur Partitionstabelle (vgl. Abschnitt 3.4.11 auf Seite 62) sind die in diesem Arbeitsschritt zu tätigenden Angaben Linux-intern und haben also keine Auswirkungen auf andere Betriebssysteme, die in eigenen Partitionen liegen. Noch einige Begriffserklärungen: * Unter Linux sind alle Dateisysteme zu einem einzigen Baum" zusammen- gehängt (siehe Konfigurationshandbuch, Kap. Arbeiten mit der Shell", Da- teien und Verzeichnisse"). Für jedes einzelne Dateisystem muss festgelegt werden, als welcher Ast des Baumes es erscheinen soll: das ist dann der je- weilige Mountpoint. Auch DOS- oder HPFS-Partitionen können Sie in den Linux-Verzeichnisbaum einhängen". * Der Speicherplatz in einem Dateisystem wird mit Hilfe der Inodes verwaltet. Die Inodes zeigen auf die eigentlichen in Dateien gespeicherten Daten. Die Zahl der Inodes wird beim Einrichten eines Dateisystems festgelegt. Will man viele kleine Dateien anlegen können, braucht man viele Inodes (die natürlich auch selbst mehr Platz verbrauchen); in Dateisystemen, die eher große Dateien enthalten, braucht man entsprechend weniger Inodes. Näheres zu diesem Thema finden Sie in Abschnitt 3.4.10 auf Seite 60. Schritt für Schritt. . . Sie befinden sich in der Eingabemaske `Festlegen der Dateisysteme' (vgl. Abbildung 3.10 auf Seite 58). Gehen Sie so vor, um die Dateisysteme Ihrer neuen Partitionen festzulegen: 1. Zunächst zur Vorinformation, was zu tun ist: * Für Ihre DOS-/HPFS-Dateisysteme (in den DOS-/HPFS-Partitionen) kön- nen Sie hier einen Mountpoint festlegen. * Für jede Ihrer neuen Linux-Partitionen: ­ Müssen Sie einen Mountpoint festlegen. ­ Können Sie mit `F3=Typ setzen' ein Dateisystem auswählen (ext2 oder reiserfs). ­ Können Sie mit `F5=Expertenmenü' Feineinstellungen vornehmen. ­ Können Sie mit `F6=Formatieren' die vorgeschlagene Art des For- matierens verändern (mit oder ohne Prüfung). * Die Funktion `Fstab lesen' brauchen Sie bei der Erstinstallation nicht. § ¤ 2. Sie können den Typ des Linux-Dateisystems mit ¦F3 ¥setzen. Es stehen z. Z. das bewährte ext2 oder das neue reiserfs mit fortgeschrittenen Möglich- keiten zur Verfügung. Achtung ReiserFS kann nicht zusammen mit Software-RAID 5 eingesetzt wer- den. Bei Hardware-RAID gibt es keine Einschränkungen. Zur Zeit (Mai 2001) ist reiserfs im Vergleich zu ext2 noch sehr jung; bitte berück- sichtigen Sie diesen Umstand, wenn Sie sich für reiserfs entschei- den. Zu ReiserFS vgl. auf Seite 59. 65 3 YaST­ Yet another Setup Tool Abbildung 3.13: YaST ­ DOS/Windows-Partition mounten 3. Wenn Sie eine DOS- oder HPFS-Partition mit Linux ansprechen wollen, § ¤ wählen Sie diese aus und drücken Sie ¦F4 ¥.Es erscheint ein Eingabefenster, in dem Sie ein Verzeichnis angeben müssen. Unter diesem Verzeichnis finden Sie später Ihr DOS-/HPFS-Dateisystem. Wählen Sie `Anderer Eintrag' und geben Sie dann zum Beispiel /dosc an; achten Sie auf den Schrägstrich § ¤ (`/') am Anfang. Bestätigen Sie mit ¦ ¥. Bei einer DOS-Partition erscheint eine weitere Maske (Abbildung 3.13); Sie wählen, wie Linux das DOS-Dateisystem ansprechen soll (siehe auch Ab- schnitt 3.4.10 auf Seite 60). Normalerweise wollen Sie ein DOS-Dateisystem eigenständig nutzen und von Linux aus nur sporadisch auf die DOS-Partiti- on zugreifen können, z. B. zum Dateiaustausch; wählen Sie hier `DOS' oder `FAT-Win95' (= vfat). UNIX-Dateiattribute und lange Dateinamen, wie sie das UMSDOS-Dateisystem bietet, sind nur notwendig, wenn Sie SuSE Li- nux auf einer DOS-Partition installieren wollen ­ vermeiden Sie dies bitte tunlichst! 4. Als Nächstes geben Sie die Mountpoints der Linux-Partitionen an. Wählen § ¤ Sie nacheinander die Linux-Partitionen aus und drücken Sie ¦F4 ¥ . Es erscheint das Fenster, in dem Sie das Verzeichnis angeben, unter dem das Dateisystem dieser Partition im Gesamtdateisystem erscheinen soll. Geben Sie immer den Pfad mit Schrägstrich (`/') am Anfang an. Welche Verzeichnisse Sie als Mountpoint angeben, hängt natürlich von Ihrer Partitionsplanung ab. Jedenfalls brauchen Sie unbedingt ein `/'-Verzeichnis (engl. root directory), das sozusagen die Wurzel und den Stamm des Gesamt- dateisystems bildet; für dieses Verzeichnis wird im Deutschen mitunter auch der Ausdruck Wurzelverzeichnis" gebraucht. Die weiteren Dateisysteme und deren Mountpoints sind ­ wie bereits erwähnt ­ Geschmackssache; aber Achtung: 66 3.4 Einstellungen zur Installation Achtung Verzeichnisse, die bereits beim Booten benötigt werden, müssen direkt im `/'-Dateisystem liegen; zu diesem Zeitpunkt sind die einzelnen Äs- te des Gesamtdateisystems noch nicht zusammengesetzt ( gemoun- tet"). Deshalb dürfen Sie die Verzeichnisse /bin, /dev, /lib, /etc und /sbin hier nicht angeben! 5. Ignorieren Sie bitte das `Expertenmenü', wenn Sie gerade erst mit Linux beginnen; in der Regel sind die Voreinstellungen automatisch so festgelegt, dass ein sicherer Betrieb gewährleistet werden kann. Verändern Sie die vor- geschlagene Werte nur, wenn Ihnen die Folgen bekannt sind (vgl. auf Sei- te 60)! 6. Bestimmen Sie, ob und wie die Linux-Partitionen formatiert werden sollen. Die Partitionen, die wir in Abschnitt 3.4.11 auf Seite 62 neu eingerichtet haben, müssen auf jeden Fall formatiert werden. Haben Sie eine moderne Festplatte, genügt `Normal formatieren'; bei älteren Festplatten sollten Sie `Formatieren mit Prüfen' verwenden. Abbildung 3.14: YaST ­ Mountpoints § ¤ Wählen Sie nacheinander die Linux-Partitionen an, drücken Sie ¦F6 ¥und se- lektieren Sie dann die geeignete Formatierungsart; am Ende sollte das Menü wie in Abbildung 3.14 aussehen (möglicherweise haben Sie aber kein NFS- Verzeichnis eingetragen!). 7. Wählen Sie `Weiter', dann werden nach einer Sicherheitsabfrage alle Parti- tionen gemäß Vorgabe formatiert. 67 3 YaST­ Yet another Setup Tool 3.4.12 Logical Volume Manager konfigurieren Abbildung 3.15: YaST ­ Logical Volume Manager Informationen zur Konfiguration des Logical Volume Manager" (LVM) finden Sie unter http://www.suse.de/de/linux/whitepapers/ und im offiziel- len LVM-Howto: http://www.sistina.com/lvm/Pages/howto.html Es ist auch möglich, LVM mit YaST2 einzurichten; vgl. hierzu Seite 97. 3.4.13 Installation in ein Verzeichnis Sie können mit YaST die komplette Installation in ein Verzeichnis erfolgen las- sen. So ist es beispielsweise möglich, einen anderen Rechner über NFS upzuda- ten, eine chroot-Umgebung" aufzubauen oder aus dem laufenden System eine Linux-Installation auf eine zweite Platte vorzunehmen. Dieser Installationsmodus ist nur für Spezialfälle vorgesehen. Sollen unter dem angegebenen Verzeichnis bestimmte Dateisysteme gemountet werden, so müs- sen Sie das selbst erledigen, bevor Sie mit dieser Methode installieren. Weiterhin müssen Sie selbst für die Bootfähigkeit des installierten Systems sor- gen. Wahrscheinlich sind auch Änderungen an der von YaST erstellten fstab- Datei im neu installierten System notwendig. Geben Sie jetzt in dem Eingabefeld an, in welches Verzeichnis Sie installieren wollen. 68 3.5 Paketverwaltung ­ Installationsumfang festlegen 3.5 Paketverwaltung ­ Installationsumfang festlegen Nachdem Sie die Konfiguration Ihrer Dateisysteme abgeschlossen haben, wäh- len Sie im Hauptmenü `Paketverwaltung', um den Umfang der zu installie- renden Software-Pakete festzulegen und/oder um deren Installation zu starten; vgl. Abbildung 3.16. Hier gibt es zudem die Möglichkeit, eigene Installations- profile zu erstellen, abzuspeichern oder zu laden und nach bestimmten Paketen zu suchen. Abbildung 3.16: Paketverwaltung ­ Installationsumfang festlegen Außerdem können Sie von diesem Menü aus die Installation starten oder sich vorher erst einmal anschauen, was passieren würde, wenn Sie die aktuelle Pake- tauswahl installieren würden. 3.5.1 Konfiguration laden Unter dem Punkt `Konfiguration laden' finden Sie einige bereits vorgefer- § ¤ tigte Konfigurationen; vgl. Abbildung 2.10 auf Seite 18. Mit den Pfeiltasten § ¤ § ¦ ¥ ¤ und ¦ ¥können Sie eine vorgegebene Konfiguration" ansteuern; mit ¦Leertaste ¥ wird ein Punkt an- oder abgewählt. Das Minimalsystem beispielsweise erlaubt es, Linux von der Festplatte zu starten und danach eine Installation weiterer Pakete vorzunehmen. Haben Sie bereits selbst eigene Installationsprofile erstellt, so können Sie diese hier wieder einlesen. Dies ist vor allem nützlich, wenn mehrere Rechner mit identischer Konfiguration installiert werden sollen. Haben Sie bereits ein System installiert, so ist darauf zu achten, dass beim Laden einer anderen Konfiguration solche Pakete, die nicht zu der geladenen Konfigu- ration gehören, aber bereits installiert wurden, zum Löschen markiert werden, 69 3 YaST­ Yet another Setup Tool wenn Sie `Ersetzen' wählen. Möchten Sie jedoch die Pakete behalten, so wäh- len Sie entweder hier `Hinzufügen' oder geben Sie später ­ nach dem Menü- punkt `Installation starten' ­ bei der Sicherheitsabfrage, ob Sie diese Pa- kete löschen wollen, ein Nein an. Ansonsten müssen Sie einzeln die mit `[D]' zum Löschen markierten Pakete wieder deselektieren (dort sollte dann wieder `[i]' stehen). 3.5.2 Konfiguration speichern Hier können Sie Ihre eigene Konfiguration abspeichern. Wenn YaST von Dis- kette gestartet wurde, wird diese Diskette verwendet, um die Konfigurationen zu sichern. Haben Sie direkt von der CD gebootet, werden Sie aufgefordert, eine formatierte Diskette einzulegen, auf der die Daten abgespeichert werden können. 3.5.3 Konfiguration ändern/erstellen Durch Anwahl dieses Punktes gelangen Sie in den Auswahleditor; vgl. Abbil- dung 3.17. Im Auswahleditor ist es möglich, den Umfang der Installation frei zu bestimmen, bzw. eine vorgefertigte geladene Konfiguration (vgl. Abschnitt 3.5.1 auf der vorherigen Seite) zu verändern. Hier haben Sie nach der Installation auch die Möglichkeit, bereits installierte Pakete wieder zu entfernen. Abbildung 3.17: Serien-Auswahl in YaST § ¤ § ¤ § ¤ § ¤ Sie können sich mit den Cursortasten ¦ ¥und § ¦ ¤ ¥sowie durch ¦Bild ¥und ¦Bild ¥ in der Auswahlliste bewegen und mit ¦ ¥eine Serie zur weiteren Bearbeitung auswählen. Im unteren Fenster wird über den belegten Festplattenplatz Auskunft gegeben. § ¤ Mit ¦F4 ¥ist es möglich, als Alternative zur Serienauswahl eine andere Gruppie- rung der Pakete anzuwählen (Abbildung 3.18 auf der nächsten Seite); derzeit gibt es neben `Serien' und `RPM-Gruppen' die Variante `Alle Pakete': 70 3.5 Paketverwaltung ­ Installationsumfang festlegen Abbildung 3.18: Pakete in YaST umsortieren `Serien' Die gewohnte Zusammenstellung nach Serien. `RPM-Gruppen' Sortierung nach Vorgabe der RPM-Gruppen. `Alle Pakete' `Alle Pakete (keine Quellen)'; `Pakete des Basis- systems' und `Alle Quellen'. § ¤ Sie können eine Auswahl, z. B. die Serienauswahl, mit ¦F10 ¥verlassen, um so in das übergeordnete Konfigurationsmenü zurückzugelangen. § ¤ Wenn Sie bei einer der Serien ¦ ¥drücken, gelangen Sie in die Paketauswahl der entsprechenden Serie (Abbildung 3.19 auf der nächsten Seite zeigt z. B. den Inhalt der Serie a). Falls Sie zuvor eine Konfiguration geladen hatten, sind die bereits selektierten Pakete durch ein Kreuz gekennzeichnet. Im rechten Fenster erhalten Sie Informationen darüber, wie viel Platz die gegenwärtige Konfigura- tion auf Ihren einzelnen Partitionen belegen würde. Hier erhalten Sie im unteren Fenster jeweils eine kurze Beschreibung des Pake- tes angezeigt, auf dem sich momentan der Auswahlcursor befindet. Im rechten Fenster sehen Sie, wie der momentane Platzbedarf auf Ihren Partitionen ist. Die- se Werte werden ständig aktualisiert, wenn Sie ein Paket an- oder abwählen. In einigen Fällen reicht der verfügbare Platz zur Anzeige der Paketinformationen oder der Partitionsinformationen nicht aus. Dann können Sie durch Drücken von § ¤ § ¤ ¦F2 ¥bzw. ¦F3 ¥das untere bzw. rechte Fenster zoomen" und die Informationen in einer eigenen Box genauer betrachten. Vor dem Paketnamen wird der momentane Status angezeigt: `[ ]' kennzeichnet ein nicht installiertes Paket `[X]' kennzeichnet ein zur Installation vorgesehenes Paket `[i]' kennzeichnet ein installiertes Paket `[D]' kennzeichnet ein zu löschendes Paket 71 3 YaST­ Yet another Setup Tool Abbildung 3.19: Auswahl der Pakete, Serie a (Basissystem) `[R]' kennzeichnet ein zu auszutauschendes Paket § ¤ Mit ¦ ¥kann zwischen dem Zustand `[ ]' und `[X]' bzw. zwischen `[i]', § ¤ § ¤ `[R]' und `[D]' umgeschaltet werden. Mit ¦ Umschalt ¥+ ¦A ¥lässt sich der Zustand global für alle Pakete einer Serie ändern. § ¤ ¦F6 ¥veranlasst, dass auch das jeweilige Quellpaket installiert wird; zu Quellpa- § ¤ keten vgl. auch Abschnitt 12.3.4 auf Seite 315. Wenn Sie in dieser Auswahl ¦F10 ¥ drücken, gelangen Sie zur Serienauswahl zurück. Möchten Sie die Paketauswahl verlassen, ohne dass Ihre Änderungen übernommen werden, dann drücken Sie § ¤ ¦Esc ¥. 3.5.4 Paket-Abhängigkeiten überprüfen Häufig verlangt die Installation eines Programmes, dass bestimmte andere Pa- kete auch installiert sind. YaST überprüft die Abhängigkeiten der bereits instal- lierten Pakete und der Pakete, die zur Installation ausgewählt sind abzüglich der zu löschenden Pakete, also: der Pakete, die installiert wären, wenn Sie bereits `Installation starten' ausgewählt hätten. Hinweis Falls YaST feststellt, dass die eingelegte CD älter ist als diejenige, von der das Basissytem installiert oder aktualisiert wurde, werden die auf der alten CD hinterlegten Paket-Abhängigkeiten ignoriert. Die gefundenen Paket-Abhängigkeiten werden schließlich in einem Dialogfens- ter angezeigt; vgl. Abbildung 3.20 auf der nächsten Seite. Es werden 3 Arten von Abhängigkeiten unterschieden und gegebenenfalls in separaten Listen angezeigt; falls eine Art nicht auftritt ist, wird die Liste dafür nicht dargestellt: 72 3.5 Paketverwaltung ­ Installationsumfang festlegen Abbildung 3.20: Abhängigkeit der Pakete überprüfen Benötigte Pakete. Pakete, die von anderen installierten (oder zur Installation selektierten) Paketen benötigt werden. Als Vorgabe sind diese Pakete zur In- stallation angewählt; vgl. hier im Beispiel gettext. Benötigte Eigenschaften. Gelegentlich verlangen installierte Pakete nicht nach einem bestimmten anderen Paket, sondern nach einer bestimmten Eigen- schaft. Benötigt ein Paket z. B. das Feature windowmanager, und es ist kein Paket installiert, dass dieses Feature besitzt, dann werden die in Frage kom- menden Pakete in der Auswahlliste unter windowmanager angezeigt; vgl. hier im Beispiel glu. Wenigstens eines der Pakete sollten Sie zur Installation anwählen. Mitunter kann es aber auch sinnvoll sein, gleich mehrere Pakete zu selektierten. Konflikte. In manchen Fällen hat es keinen Sinn, verschiedene Pakete glei- cher Funktionalität zu installieren. Der Versuch, mehrere Mail-Transport- Programme gleichzeitig zu installieren, und zu betreiben, wird eher in Pro- blemen enden, als in einem gut funktionierenden Mail-System. In der Aus- wahlliste sollten Sie Sich daher für eines der Pakete entscheiden, und das andere Paket abwählen; vgl. hier im Beispiel postfix und sendmail. Allen Listen gemeinsam ist, dass nicht erfüllte Abhängigkeits-Regeln rot ge- kennzeichnet sind. Sobald eine Regel durch Ihre Auswahl erfüllt ist, wird sie § ¤ schwarz. Mit ¦Tab § ¥springen Sie von einer Liste zur nächsten. Änderungen wer- ¤ § ¤ den mit der ¦Leertaste ¥vorgenommen. Mit ¦F10 ¥(Auflösen) können Sie nach Änderungen die Abhängigkeiten neu berechnen und anzeigen lassen. Nur wenn Sie den Dialog mit `Weiter' verlassen, werden die Einstellungen end- § ¤ gültig aktiv. ¦Esc ¥oder `Abbruch' verwirft alle vorgenommenen Änderungen, und beendet den Dialog dann ebenfalls. 73 3 YaST­ Yet another Setup Tool 3.5.5 Was wäre wenn... YaST kann auch zum Überprüfen der getroffenen Paketauswahl eingesetzt wer- den. Mit diesem Menüpunkt können Sie sich vergewissern, dass Sie keine Datei- en löschen, die für den Betrieb des Systems unbedingt erforderlich sind. 3.5.6 Installation starten Diese Option startet die eigentliche Installation. Alle von Ihnen ausgewählten Pakete werden vom Installationsmedium gelesen, entpackt und an den festgeleg- ten Platz installiert. Während der Installation werden im unteren Fenster eventuelle Fehler- und Sta- tusmeldungen ausgegeben. In der obersten Zeile informiert Sie YaST darüber, welches Paket gerade installiert wird. § ¤ Nachdem die Installation beendet ist, können Sie mit ¦Tab ¥in das Protokollfenster wechseln und zurückscrollen, um etwaige Fehlermeldungen zu analysieren. 3.5.7 Index aller Serien und Pakete Hier wird einfach eine Liste aller Pakete auf der CD angezeigt. Die mit `*' gekennzeichneten Pakete sind bereits installiert bzw. zur Installation selektiert. Diese Funktion ist sehr nützlich, um sich schnell einen Überblick zu verschaffen. 3.5.8 Paketauskunft Um einfach und (relativ) schnell nach Dateien und Paketen sowohl auf der SuSE Linux-CD als auch im installierten System suchen zu können, gibt es die Paket- auskunft, in deren Maske Sie einfach den gesuchten Dateinamen angeben, und YaST durchsucht daraufhin das angegebene Medium nach dieser Datei und listet die gefundenen Stellen auf. 3.5.9 Pakete einspielen Wählen Sie diesen Menüpunkt aus, wenn Sie beliebige Pakete einspielen" wol- len, z. B. korrigierte oder neuere Versionen, die wir auf dem FTP-Server ftp. suse.com bereithalten, aber auch Pakete, die Sie vielleicht selbst gebaut oder sich aus anderer Quelle besorgt haben. Unterstützt werden komprimierte Tar- Archive (.tgz) und RPM-Pakete (.rpm, .spm und .src.rpm) sowie spezielle Patch-Pakete (.pat), die wir gegebenenfalls auf unserem FTP-Server bereitstel- len. Der Installationsvorgang besteht aus 3 Schritten (eine ausführliche Anleitung § ¤ kann mit ¦F1 ¥angezeigt werden): * Auswahl der Installationsquelle * Auswahl aus den dort angebotenen Paketen 74 3.5 Paketverwaltung ­ Installationsumfang festlegen * Installation der Pakete § ¤ Unter dem Menüpunkt `Quelle:' erhalten Sie mit ¦ ¥eine Auswahlliste mög- licher Installationsquellen: `Verzeichnis', `FTP', `Quellmedium' und `Flop- py'. Ändern Sie gegebenenfalls den voreingestellten Pfad (Verzeichnis/FTP) und § ¤ bestätigen Sie mit ¦ ¥.YaST baut nun eine Liste der dort verfügbaren Pake- te auf. Mit `FTP' ist es möglich, direkt aus dem Internet heraus zu installieren. Gehen Sie zu der Adresse: ftp.suse.com:/pub/suse/i386/update/7.3 (vgl. Abbildung 3.21). Bislang ist es nicht möglich, Pakete über einen Proxy" einzuspielen; Sie benötigen direkten Zugriff auf den jeweiligen FTP-Server. Abbildung 3.21: Pakete einspielen via FTP Tipp Falls Sie eine Meldung wie "530 User ftp access denied." erhalten, bedeutet das wahrscheinlich, dass nur zeitweilig kein FTP-Login möglich ist, da zu viele User bereits eingeloggt sind. Versuchen Sie es später noch einmal. Wählen Sie das rpm-Packet, das Sie installieren wollen aus; wie gewohnt, mit § ¤ § ¤ ¦Leertaste ¥ankreuzen und dann mit ¦F10 ¥installieren. Das jeweilige Paket wird zudem in Verzeichnis /tmp/ftp abgelegt, sodass ­ falls etwas schief geht ­ das Paket per Hand nachinstalliert werden kann (vgl. Ab- schnitt 12.3.2 auf Seite 311). 3.5.10 Pakete löschen Wenn Sie diesen Menüpunkt auswählen, zeigt Ihnen YaST eine Liste aller Pa- kete, die in Ihrem System installiert sind. Dabei werden auch fremde Pakete 75 3 YaST­ Yet another Setup Tool angezeigt. Unter fremden Paketen" sind dabei solche Pakete zu verstehen, die nicht auf der SuSE-CD enthalten sind. Bei solchen Paketen kann YaST kein Up- date durchführen; auch die Abhängigkeiten der Pakete untereinander kann YaST dann nicht überprüfen. Am einfachsten ist es, wenn Sie solche Pakete durch die entsprechenden Pakete der SuSE-CDs ersetzen. Dazu wählen Sie in der angezeigten Liste die betref- § ¤ fenden Pakete aus. Mit ¦F2 ¥wird eine kurze Beschreibung des fremden Paketes angezeigt, da es für diese Pakete keine ausführlichen Beschreibungsdateien gibt. § ¤ ¦F10 ¥löscht die Pakete. Danach können Sie die entsprechenden Pakete von der CD neu installieren. 3.6 System updaten Den Menüpunkt `System updaten' sollten Sie nur dann verwenden, wenn Ihr Basissystem aktuell genug, also zum Quellmedium passend ist. YaST wird Ihnen dies im Zweifelsfall mitteilen. Ein System-Update leiten Sie so ein, wie in Kapitel 12 auf Seite 297 beschrieben; einzelne Pakete erneuern Sie mit YaST gemäß Abschnitt 3.5.9 auf Seite 74. 3.7 Administration des Systems Neben der reinen Installation unterstützt Sie YaST auch bei den verschiedenen Verwaltungsaufgaben, mit denen Sie als Systemadministrator konfrontiert wer- den. Nachdem die eigentliche Installation beendet ist, die Pakete also auf die Festplat- te kopiert wurden, müssen eine ganze Reihe von Einstellungen vorgenommen werden, um das System Ihren Erfordernissen anzupassen: Hardware einbinden, Netzwerkdienste konfigurieren und aktivieren, Benutzer anlegen, das Startver- halten des SuSE Linux bestimmen etc. Sie gelangen in die Systemadministration, indem Sie im Hauptmenü von YaST (vgl. Abbildung 3.1 auf Seite 50) den Punkt `Administration des Sys- tems' wählen (Abbildung 3.22 auf der nächsten Seite). 3.7.1 Hardware in System integrieren Hier können Sie die von Ihnen verwendete Hardware näher spezifizieren. In den meisten Fällen wird ein symbolischer Linklink von einem Standardgerät auf das speziell von Ihnen verwendete angelegt, sodass Sie jederzeit auf die entsprechen- de Hardware zugreifen können, ohne sich den genauen Namen der entsprechen- den Komponente merken zu müssen. Das Einstellen von Maus, Modem, CD-ROM-Laufwerk, Drucker, Scanner usw. ist über die folgenden Menüs möglich. Anspruchsvoller ist die im Folgenden vorgeführte Druckerkonfiguration. 76 3.7 Administration des Systems Abbildung 3.22: Administration des Systems Drucker konfigurieren Das Ansprechen eines Druckers unter Linux ist ein komplexer Vorgang; der tech- nische Hintergrund ist in Kapitel 9 auf Seite 217 ausführlich beschrieben. YaST bietet die Möglichkeit, den apsfilter komfortabel für den von Ihnen ver- wendeten Drucker einzurichten (Abbildung 3.24 auf Seite 79): Unter dem Punkt `Name des Druckers' wird eine Auswahl der von Ghost- script unterstützten Drucker angezeigt. Sie können aus dieser Liste einen Treiber für Ihren Drucker auswählen. Sollte ein Ghostscript- Treiber" nicht angezeigt werden, können Sie diesen gleichwohl über die Menüpunkte `Anderer Dru- cker' und dann von Hand `' eintragen. Die Konfi- guration des uniprint-Treibers mit der jeweiligen Parameter-Datei" ist mit YaST2 oder lprsetup durchzuführen; vgl. Abschnitt 9.5 auf Seite 229 . Normalerweise sind Drucker an eine parallele Schnittstelle (Druckerport, auch Parport") oder USB angeschlossen. In allermeisten Fällen wird /dev/lp0 die richtige Schnittstelle sein ­ dann nämlich, wenn der Drucker an der ersten paral- lelen Schnittstelle hängt. Tipp Wenn Ihr Drucker nicht druckt, stellen Sie im Zweifelsfall zunächst im BIOS für die parallele Schnittstelle folgende Werte ein: * IO-Adresse 378 (hexadezimal) * Interrupt 7 * als Modus: Normal (oder SPP) * und schalten Sie DMA ab (sollte im Modus Normal abgeschaltet sein) Dies sind die gängigen Standardwerte. 77 3 YaST­ Yet another Setup Tool Abbildung 3.23: Hardwarekonfiguration 3.7.2 Kernel- und Bootkonfiguration Hier können Sie grundlegende Einstellungen vornehmen, die das Booten Ihres Systems und den verwendeten Kernel betreffen. `Boot-Kernel auswählen' Sie können sich einen der vorkompilierten Kernel (von der SuSE-CD) mit den dazugehörigen Kernel-Modulen installieren lassen (`Boot-Kernel auswäh- len'), wenn etwa Ihre erste Wahl bei der Installation nicht optimal war; dabei wird Ihnen YaST anbieten, die Kernelkonfiguration (.config) in das Verzeich- nis der Kernelquellen (/usr/src/linux) zu kopieren. Wählen Sie den Kernel für Ihren Rechner aus und lassen Sie danach im Re- gelfall von YaST den LILO neu einrichten, wenn Sie auch zuvor bereits erfolg- reich mit LILO gebootet haben. Andernfalls vgl. unten die Anleitung zur LILO- Konfiguration. Für den fortgeschrittenen Anwender ist es durchaus empfehlenswert, im An- schluss an die Installation einen eigenen Kernel zu generieren (siehe Kapitel 10 auf Seite 251). Ein solcher Kernel ­ exakt abgestimmt auf Ihr persönliches Sys- tem ­ ist kleiner, schneller und vermeidet Treiberprobleme mit nicht vorhandener Hardware. Als Neu-Einsteiger sollten Sie jedoch bitte zunächst mit einem der mitgelieferten Standard-Kernel Ihr System betreiben; denn nur wenn ein solcher Standard-Kernel verwendet wird, haben Sie als Kunde Anrecht auf den Instal- lationssupport". 78 3.7 Administration des Systems Abbildung 3.24: apsfilter mit YaST einrichten `Rescue-Diskette erzeugen' Eine Notfall-" oder Rettungsdiskette" (engl. rescue disk) kann sinnvoll sein (`Rescue-Diskette erzeugen'), wenn sich Ihr Rechner einmal gar nicht mehr starten lassen will ­ zum Inhalt und zur Verwendung der Diskette vgl. auch Ab- schnitt 13.6 auf Seite 329. `LILO konfigurieren' Für die korrekte Konfiguration des LILO (engl. LInux LOader) bietet Ihnen YaST auch ein Frontend (Abbildung 3.26 auf Seite 81); mit LILO lassen sich zu- dem OS/2-, DOS- und Windows 95/98-Systeme starten ­ Vorsicht ist aber bei Windows NT geboten. Hintergrundinformationen zur Bedeutung der einzelnen Felder und Optionen der Konfigurationsmasken finden Sie in Kapitel 5 auf Sei- te 107. Die `Append-Zeile für Kernel-Parameter' bleibt in der Regel leer, es sei denn, Sie haben bereits zum Booten zusätzliche Parameter verwenden müssen; nur in einem solchen Fall tragen Sie diese Parameter hier ein (allerdings ohne den voranstehenden Kernelnamen linux!). Die Details werden in Abschnitt 5.4.2 auf Seite 116 dargelegt. `Wohin soll LILO installiert werden?': Wenn Sie nur Linux auf Ih- rem Rechner haben, dann ist Master-Boot-Sektor der richtige Platz. Boot- Sektor der /boot-Partition ist zu wählen, wenn Sie Linux über einen fremden" Bootmanager starten wollen; sollten Sie keine /boot-Partition ange- legt haben, wählen Sie Boot-Sektor der Root-Partition. Auf Disket- te spricht für sich selbst. Der technische Hintergrund zu dieser Einstellung wird auf Seite 111 erläutert. `Wartezeit vor Booten': Die Angabe erfolgt in Sekunden; 10 Sekunden ist ein guter Wert. 79 3 YaST­ Yet another Setup Tool Abbildung 3.25: Kernel- und Bootkonfiguration `"linear" Option': Diese Option ist in den meisten Fällen nicht notwendig; vgl. auch Abschnitt 5.4.2 auf Seite 116. Mit `F4=Neue Config' legen nun Sie den Namen einer neuen Konfiguration" fest; es hat sich bewährt, die Standard-Konfiguration linux zu nennen. Wenn bereits Konfigurationen bestehen, lassen sich diese mit `F5=Edit Config' ver- ändern; dazu stellt YaST eine Maske zur Verfügung, die in Abbildung 3.27 auf Seite 82 gezeigt wird. Die einzelnen Felder bedeuten: `Name der Konfiguration': Hier haben Sie freie Hand, doch wählen Sie für die erste Konfiguration linux. `Welches Betriebssystem': Angeboten werden die Möglichkeiten Linux booten, DOS/Win booten ­ dies ist auch die richtige Option für Windows 95/98 ­ und OS/2 booten. `Zu bootende (Root-) Partition': Diese Angabe wird vorgegeben. In der Regel ändern Sie hier nichts. Tippen Sie `F3' und wählen Sie die passende Par- tition aus. `Kernel optional': Nur ankreuzen, wenn dieser Linux-Kernel nicht perma- nent verfügbar ist; also z. B. bei einem Kernel, den man nur einmal zu Testzwe- cken installieren möchte. `Kernel, den Lilo booten soll': Auch hier brauchen Sie die Vorgabe in der Regel nicht zu ändern. Der Standardplatz ist bei SuSE Linux /boot/vmlinuz; mit `F3' haben Sie die Möglichkeit, durch die Verzeichnisstruktur zu browsen". Mit `Weiter' wird LILO installiert, mit `Abbruch' können Sie die Installation von LILO abbrechen. 80 3.7 Administration des Systems Abbildung 3.26: LILO: Installation Tipp Wir empfehlen Ihnen, beim Eintragen von Linux im LILO gleich noch eine zweite Konfiguration (etwa old) vorzusehen, bei der Sie als zu bootenden Kernel /boot/vmlinuz.old angeben und das Feld `Kernel optional' ankreuzen. Bei einem Neu-Übersetzen des Kernels (siehe Kapitel 10 auf Seite 251) mit automatischer Installation des LILO wird automatisch auch eine Sicherheitskopie Ihres alten Kernels installiert, so dass Sie das Sys- tem auch dann starten können, wenn der neue Kernel nicht wie gewünscht funktioniert! 3.7.3 Netzwerk konfigurieren Die grundlegenden Einstellungen für das Netzwerk können mit YaST vorgenom- men werden(vgl. Abbildung 3.28 auf Seite 83). Führen Sie dies unbedingt auch dann durch, wenn Ihr Rechner sich nicht wirklich in einem Netzwerk mit Netzwerkkarte o. Ä. befindet! Sehr viele Programme setzen die Netzwerkunterstützung voraus, um korrekt funktionieren zu können. `Netzwerk Grundkonfiguration' Hier werden im Wesentlichen die IP- Adresse(n) vergeben und diese dann den Netzwerk-Schnittstellen wie Netz- werkkarte, PPP- oder ISDN-Gerät zugeordnet (Abbildung 3.29 auf Seite 84). Hier können Sie auch über `F3=Auto-IP' die Dienste DHCP oder BOOTP anwählen, um eine automatische IP-Konfiguration zu benutzen. Über `F6=IP-Adresse' können Sie auch einen Wert für `MTU' eingeben. 81 3 YaST­ Yet another Setup Tool Abbildung 3.27: LILO: Bootkonfiguration Lassen Sie das Feld im Zweifelsfall leer oder übernehmen Sie eine eventuell vorhandene Voreinstellung. Mit `MTU' ist eine maximal übertragbare Blockgröße" gemeint bzw. die ma- ximale Paketgröße, die in einem Netzwerk verschickt werden kann. Gegebenenfalls ist der Wert an die Vorgaben Ihres Internet-Providers anzu- passen. Als Standard und Maximalwert gilt `1500'. Wenn Sie einen Wert wählen, der auch nur um ein Byte zu groß ist, kann überhaupt nichts mehr übertragen werden. Daher empfiehlt es sich, im Zweifelsfall (z. B. bei schlech- ten Leitungen) einen kleineren Wert einzutragen, dann erfolgt die Datenüber- tragung nur ein bisschen langsamer als maximal möglich. `Rechnernamen ändern' Der Name (engl. hostname) und der Domainname des Rechners können neu gesetzt werden. `Netzwerkdienste konfigurieren' Hinter diesem Punkt verbergen sich oft benötigte Basisdienste: inetd (für telnet, ftp, das Drucken etc.), portmap (für NFS-Server und NIS) und rpc.nfsd (für NFS-Server). `Konfiguration Nameserver' Es ist möglich, einen oder mehrere Name- server anzugeben (siehe auf Seite ??). `YP-Client konfigurieren' Dieser Punkt ist dann aktiv, wenn das Paket ypclient, Serie n installiert ist (vgl. auf Seite 352). `Sendmail konfigurieren' Auch eine Konfigurationsdatei für sendmail kann installiert werden, die für verschiedene Erfordernisse jeweils eine aus- reichende Funktionalität bereitstellt. `Netzwerkdrucker verwalten' Hier lassen sich Drucker einrichten, die im Netz über TCP/IP zu erreichen sind. Wenn der Drucker lp am Druckerserver sonne.kosmos.all unter dem lokalen Namen remote erreicht werden soll, dann füllen Sie die Maske aus. 82 3.7 Administration des Systems Abbildung 3.28: Netzwerk konfigurieren Wenn Sie für diesen Drucker eine Vorfilterung benötigen, orientieren Sie sich an Abschnitt 9.7 auf Seite 236 ff. `Drucker über Samba ansteuern' Dieser Punkt ist aktiv, wenn das Paket samba, Serie n installiert ist. So erreicht man einen Drucker, der an einen Windowsrechner angeschlossen ist. `Drucker im Novell-Netz ansteuern' Dieser Punkt ist dann aktiv, wenn das Paket ncpfs, Serie n installiert ist. `ISDN-Parameter konfigurieren' Dieser Punkt ist dann aktiv, wenn das Paket i4l, Serie n installiert ist. Für ISDN werden detailreiche Menüs be- reitgestellt. `PPP-Netzwerk konfigurieren' Hier kann PPP eingerichtet werden. Für eine weitergehende Konfiguration des Netzwerks wird auf Netzwerkhand- buch verwiesen. 3.7.4 Login-Konfiguration Hier lässt sich angeben, ob beim Hochlaufen des Systems der textorientierte Login-Bildschirm oder ob sofort das X Window System gestartet werden soll. Wird die grafische Login-Möglichkeit gewünscht, dann stehen u. a. der schlichte XDM, der umfangreiche KDM des KDE- oder der GDM des GNOME-Projekts zur Auswahl; wird KDM gewählt, kann zudem festgelegt werden, wer berechtigt ist, einen shutdown durchzuführen. Die Alternative ist ein Login auf der ASCII- Konsole und ein Starten von X mit dem Kommando startx (Abbildung 3.30 auf Seite 85). 83 3 YaST­ Yet another Setup Tool Abbildung 3.29: Netzwerk Grundkonfiguration Hinweis Wenn Sie nicht sicher sind, dass X problemlos gestartet werden kann, soll- ten Sie keinen Display-Manager aktivieren. Testen Sie auf jeden Fall zuerst, ob Sie X von der Konsole starten können, bevor Sie einen Display-Manager aktivieren. Es wird der Runlevel 5 in der /etc/inittab als Default-Runlevel eingetragen und eine Variable in der /etc/rc.config hinterlegt (vgl. Abschnitt 11 auf Sei- te 355); wenn Sie auf dem System den Runlevel 5 für einen anderen Zweck ver- wenden als zum Hochfahren eines Display-Managers, wird keiner der Display- Manager aktiviert. 3.7.5 Einstellungen susewm (Windowmanager) In diesem Konfigurationsmenü wird der Grafische Desktop" festgelegt. Wählen Sie den als Standard gültigen Windowmanager aus und bestimmen Sie, für welche susewm systemweit verfügbare Konfigurationsdateien generiert wer- den sollen. 3.7.6 Benutzerverwaltung Mit YaST können Sie komfortabel neue Benutzer anlegen oder vorhandene lö- schen und modifizieren. Sie finden den entsprechenden Dialog dazu im Me- nü `Administration des Systems' unter dem Menüpunkt `Benutzerver- waltung'. 84 3.7 Administration des Systems Abbildung 3.30: Login-Konfiguration Hier können Sie dem Benutzer den `Zugriff auf das Modem' erlauben; wenn Sie dies tun, wird der Benutzer in die Gruppen `uucp' und `dialout' eingetragen. Alle Mitglieder dieser Gruppen können z. B. PPP-Verbindungen auf- und abbauen. Beim Neuanlegen eines Benutzers werden alle Dateien aus dem Beispielver- zeichnis /etc/skel in das Benutzerverzeichnis des neuen Benutzers kopiert, sodass automatisch eine minimale systemweite Vorkonfiguration aller Benutzer erfolgen kann. Selbstverständlich kann jeder Benutzer des Systems später diese Dateien nach eigenen Vorstellungen anpassen. Zudem werden von YaST zwei Skripten aufgerufen, in denen Routine-Aufgaben hinterlegt werden können: * Nach dem Anlegen des Benutzers wird ­ falls vorhanden ­ das Skript /usr/ sbin/useradd.local aufgerufen. Zu diesem Zeitpunkt ist der Benutzer sowohl in /etc/passwd als auch in /etc/shadow eingetragen. Auch das Home-Verzeichnis des Benutzers existiert bereits und die Dateien aus /etc/ skel sind umkopiert. * Vor dem Löschen des Benutzers wird ­ falls vorhanden ­ das Skript /usr/ sbin/userdel.local aufgerufen. Zu diesem Zeitpunkt ist der Benutzer noch in den Dateien passwd und shadow eingetragen und auch das jeweilige Home-Verzeichnis existiert noch. Beiden Skripten wird der Benutzername als Parameter übergeben. Wenn man weitere Daten (User-ID, Login-Shell, Home-Verzeichnis) braucht, kann man die- se relativ einfach aus /etc/passwd ermitteln. Verfügen Sie bereits über genügend Erfahrung und ist es Ihnen zu umständlich, für diesen Zweck YaST zu starten, stehen selbstverständlich auch die Dienstpro- gramme useradd und userdel zur Verfügung. 85 3 YaST­ Yet another Setup Tool Abbildung 3.31: Einstellungen susewm Hinweise zu PAM Die Konfigurationsdateien zu PAM (engl. Pluggable Authentication Modules) liegen unter /etc/pam.d. Die Dokumentation für Programmierer und Syste- madministratoren ist unter /usr/share/doc/packages/pam zu finden. SuSE Linux kann mit MD5-Passwörtern umgehen, mit MD5-Verschlüsselung können Passwörter länger als 8 Zeichen sein. Allerdings ist Vorsicht geboten: MD5-Verschlüsselung ist nicht mit crypt(), der Standardfunktion unter Unix, kompatibel; das bedeutet, dass etliche kommerzielle Unix-Systeme und einige Programme mit MD5-Passwörtern nicht funktionieren. In /usr/share/doc/packages/pam/md5.config sind Konfigurationshinwei- se zu finden. 3.7.7 Gruppenverwaltung Mit YaST können Sie nicht nur Benutzer, sondern auch Benutzergruppen ver- walten. Unter Linux (wie unter Unix generell) kann und muss man jeden Benutzer min- destens einer Benutzergruppe zuordnen. Dies ist deshalb notwendig, weil sich aus der Gruppenzugehörigkeit bestimmte Zugriffsrechte, z. B. auf Dateien, ab- leiten. So kann man z. B. Verzeichnisse nur Mitgliedern einer Gruppe zugänglich machen und diesen Zugang mittels eines Gruppenpassworts schützen. Einige Benutzergruppen sind unter Linux schon vorgegeben, z. B. die Benutzer- gruppen `users', `root', u. v. a. m. Die Form `users' ist jedoch nur die textuelle Darstellung der Benutzergruppen. Intern werden sie mit Zahlen repräsentiert, der so genannten Gruppen-Kennung (engl. group id). Die Konfigurationsdatei für Benutzergruppen ist /etc/group. 86 3.7 Administration des Systems Abbildung 3.32: Benutzerverwaltung mit YaST Mit YaST können Sie die Benutzergruppen ganz einfach einrichten. In YaST finden Sie den Gruppenverwaltungsdialog im Menü `Administration des Systems' unter dem Menüpunkt `Gruppenverwaltung'. Der Dialog wird in Abbildung 3.33 auf der nächsten Seite gezeigt. 3.7.8 Backups erstellen Es kann nützlich sein, alle seit der Installation eines Paketes modifizierten und hinzugekommenen Dateien ­ das sind typischerweise Konfigurations- und Da- tendateien ­ in eine Archivdatei oder auf Band zu sichern. Genau das leistet diese Funktion. Der dazugehörige Dialog besteht aus drei Abschnitten: 1. Umfang festlegen In dieser Maske legen Sie in einer Liste fest, welche Verzeichnisse vom Backup ausgeschlossen werden. Vorgegeben sind hier /tmp, /dev und /proc. Allerdings sollten Sie die Liste ergänzen, etwa um gemountete CD- ROMs, gemountete DOS-Partitionen und per NFS gemountete Verzeich- nisse. Je mehr unnötige Verzeichnisse Sie vom Backup ausnehmen, desto schneller läuft die Funktion ab, da unnötige Dateivergleiche mit den Paket- § ¤ § ¤ beschreibungen entfallen. Mit den Tasten ¦+ ¥und ¦- § ¥fügen Sie Einträge in die ¤ Ausnahme-Liste ein bzw. entfernen sie daraus, ¦F10 ¥setzt die Funktion mit dem nächsten Schritt fort. 2. Suchen Jetzt durchsucht YaST das System nach Dateien, die in das Backup aufge- nommen werden. Die Anzahl und Größe der bisher gefundenen Dateien wird 87 3 YaST­ Yet another Setup Tool Abbildung 3.33: Gruppenverwaltung mit YaST ständig angezeigt. Nach beendeter Suche erscheint eine Liste mit allen gefun- § ¤ denen Dateien. Hier können Sie noch Dateien mit der Leertaste ¦ ¥ aus der Liste entfernen; diese sind dann nicht im Backup-Satz enthalten. 3. Kommando festlegen Hier legen Sie fest, wie die Dateien gesichert werden sollen. Dazu können Sie z. B. einen Archivnamen eingeben oder Optionen setzen. Der Backup-Mechanismus kann natürlich nur funktionieren, wenn auf das Da- tum der Dateien nicht anderweitig Einfluss genommen wurde. Außerdem braucht die Funktion recht viel Hauptspeicher. Allein die Dateinamen einer typischen CD belegen 6 MB. Und natürlich brauchen Sie auch den Plattenplatz für das Archiv. Wenn Sie das Archiv komprimieren lassen, können Sie mit etwa der Hälfte der angezeigten Dateigröße rechnen. Es empfiehlt sich ohnehin, das Backup auf ein Band zu schreiben. 3.7.9 Einstellungen Systemsicherheit Verändern Sie die Voreinstellungen nur, wenn Ihnen die Hintergründe der jewei- ligen Maßnahme vertraut sind. Lesen Sie dazu z. B. im Konfigurationshandbuch den Abschnitt über die Konfiguration der Systemsicherheit mit YaST2. Hinweis Wenn Sie via ssh keine `root'-Logins zulassen wollen, dann muss /etc/ssh_config angepasst werden. In /etc/sshd_config ist PasswordAuthentication yes voreingestellt. ­ Bei korrekter Konfigu- ration der ssh sind `root'-Logins über das Netz sicher. 88 3.7 Administration des Systems Abbildung 3.34: Datensicherung (Backup) mit YaST 3.7.10 Console-Font einstellen Hierbei handelt es sich um die Maske, die den Font (Schriftart) auf der Linux- Konsole einstellt. Linux erlaubt das Laden verschiedener Fonts für die Konsole. In dieser Maske kann man die verschiedenen vorhandenen Fonts ausprobieren und einen dieser Fonts zum Standard-Font machen. Wenn Sie `Keinen Font laden' anwählen, dann wird der Font weiter verwendet, der auf der Grafikkarte gespeichert ist. Das Ganze hat natürlich keinerlei Auswirkungen auf die Fonts unter einer gra- phischen Oberfläche wie KDE oder Gnome. Man sieht davon im YaST nur etwas, wenn man es direkt von der Ascii-Konsole aus startet und nicht von einem kterm oder xterm. 3.7.11 Zeitzone einstellen Die Zeitzone wird bereits bei der Installation von SuSE Linux eingestellt. Hier können Sie die Einstellung nachträglich ändern bzw. korrigieren. Bewegen Sie § ¤ § ¤ den blauen Balken einfach mit den Cursortasten ¦ ¥und ¦ ¥zu dem gewünschten Ziel und bestätigen Sie mit `Weiter'. Danach erscheint noch ein Fenster, das abfragt, ob Sie Ihre BIOS-Uhr auf der lokalen Zeit oder auf GTM (Greenwich Mean Time) stehen haben. 3.7.12 XFree86[tm] konfigurieren Das X Window System (XFree86) kann mit unterschiedlichen Tools konfiguriert werden. Versuchen Sie es im ersten Anlauf bitte mit SaX. SaX ist ausführlich in Abschnitt 6.3 auf Seite 146 ff. beschrieben. Die technischen Details lesen Sie bitte in Kapitel 6 auf Seite 143 ff. nach. 89 3 YaST­ Yet another Setup Tool Abbildung 3.35: Console-Font einstellen 3.7.13 gpm konfigurieren Diese Maske steuert, ob und mit welchen Parametern der Maus-Support für die Konsole gestartet wird. Dieser gestattet es, zwischen verschiedenen virtuellen Ascii-Konsolen mit der Maus Text auszutauschen ( cut and paste"). Auch hier ist das ganze nur auf der Ascii-Konsole relevant, denn unter einer graphischen Oberfläche wird die Maus von X11 selbst gesteuert und die Einstellungen für gpm sind egal. 3.7.14 Konfigurationsdatei verändern Bei SuSE Linux wird praktisch das gesamte System über die zentrale Konfigura- tionsdatei /etc/rc.config und die ausgelagerten Dateien in dem Verzeichnis /etc/rc.config.d verwaltet. Diese Dateien werden beim Hochlauf von den einzelnen Bootskripten ausgewertet und das System wird entsprechend konfigu- riert. Sie können mit YaST die Einträge in diesen Dateien verändern und das System an Ihre Gegebenheiten anpassen, ohne im Detail wissen zu müssen, all welche Spezialdateien von den Änderungen betroffen sind. Wählen Sie hier mit dem Cursor die zu verändernde Variable aus und drücken § ¤ § ¤ Sie ¦ ¥oder ¦F3 ¥,um sie zu verändern. Wenn Sie die /etc/rc.config von Hand verändern, müssen Sie nachfolgend noch das Skript SuSEconfig aufrufen. Das SuSEconfig sorgt dafür, dass die von Ihnen in der Datei /etc/rc.config vorgenommenen Änderungen auch in die einzelnen programmspezifischen Konfigurationsdateien übernommen wer- 90 3.7 Administration des Systems Abbildung 3.36: gpm konfigurieren den. Eine eingehende Beschreibung der Konfigurationsdatei mit den wichtigsten Einstellungsmöglichkeiten finden Sie in Abschnitt 14.6 auf Seite 346. 91 3 YaST­ Yet another Setup Tool Abbildung 3.37: Verändern der Konfigurationsdatei mit YaST 92 4 YaST2 ­ Konfigurationswerkzeuge 4 YaST2 ­ Konfigurationswerkzeuge Mit Hilfe von YaST2 können Sie Ihr SuSE Linux System um zusätzliche Hard- warekomponenten (Drucker, Soundkarte usw.) erweitern, Systemdienste, Inter- netzugang und Netzwerk konfigurieren sowie Software nachinstallieren oder un- erwünschte Pakete löschen. Im Handbuch Konfiguration" finden Sie eine Be- schreibung mehrerer Zugangsmöglichkeiten zu YaST2. Das YaST2 Control Center Nach dem Aufruf erscheint zunächst das YaST2 Control Center. Im linken Be- reich finden Sie die Einteilung in `Hardware', `Netzwerk/Basis', `Netz- werk/Erweitert', `Sicherheit/Benutzer', `Software', `System' und `Sonstiges'. Wenn Sie auf eines der Icons klicken, werden rechts die entspre- chenden Inhalte aufgelistet. Die Konfiguration erfolgt meist in mehreren Schrit- ten. YaST2 führt Sie mit `Weiter' durch alle Dialoge. Im linken Bildschirmteil wird ein Hilfetext zum jeweiligen Thema angezeigt, der erklärt, welche Einga- ben nötig sind. Wenn die erforderlichen Angaben gemacht sind, schließen Sie im jeweils letzten Konfigurationsdialog den Vorgang mit `Beenden' ab. Die Konfi- guration wird dann gespeichert. Abbildung 4.1: YaST2 Systemkonfiguration und -administration 93 4 YaST2 ­ Konfigurationswerkzeuge 4.1 Hardware Neue Hardware muss zunächst entsprechend den Vorgaben des Herstellers ein- gebaut bzw. angeschlossen werden. Schalten Sie externe Geräte wie Drucker oder Modem an und rufen Sie das entsprechende YaST2-Modul auf. Ein Groß- teil der handelsüblichen Geräte wird von YaST2 automatisch erkannt, dann zeigt es die technischen Daten an. Falls die automatische Erkennung fehlschlägt, bietet YaST2 eine Geräteliste an (z. B. Modell/Hersteller), aus der Sie sich das passen- de Gerät auswählen. Unter `Hardware' finden Sie Konfigurations-Tools zur Einrichtung eines oder mehrerer Drucker und zur Soundkarte. Der Hardware-Info können Sie die Daten zu Ihrer von YaST2 automatisch erkannten Hardware entnehmen. Das ist unter anderem für Support-Anfragen hilfreich. Das Modul zur Einrichtung der gra- fischen Oberfläche (X11) kennen Sie bereits von der Installation. Vom YaST2 Control Center aus lässt es sich nun z. B. dafür verwenden, im laufenden Sys- tem einen anderen Monitor anzuschließen. Das Gleiche gilt für die Maus und die Tastatur. Schließlich gibt es unter `Hardware' noch Module für die Kon- figuration von Scannern und TV-Karten. Die Beschreibungen zu den einzelnen YaST2-Tools finden Sie im Handbuch Konfiguration". 4.2 Netzwerk/Basis Unter `Netzwerk/Basis' hält YaST2 für Sie grundlegende Konfigurationswerk- zeuge bereit, die Ihnen den Weg in das Internet ebnen: die Konfiguration von ADSL, T-DSL in Deutschland, Netzwerkkarte, ISDN, Modem und Hostname und DNS. Die Dokumentationen hierfür finden Sie im Handbuch Konfigura- tion". 4.3 Netzwerk/Erweitert Für fortgeschrittenere Internet-Benutzer oder Netzwerk-Betreiber gibt es die Mo- dule für Start oder Stopp von Systemdiensten (inetd), Sendmail (mit Experten- Konfiguration), NFS-Client und -Server, Routing, Netzwerk für Experten und NIS-Client. Die Anleitungen finden Sie im Handbuch Netzwerk". Bei `Netz- werk für Experten' handelt es sich um die gleiche Funktionalität wie bei `Konfiguration der Netzwerkkarte' unter `Netzwerk/Basis', jedoch kön- nen Sie hier zusätzlich Modem und ISDN einrichten. 4.4 Sicherheit und Benutzer YaST2 bietet hier Werkzeuge für eine komfortable Benutzer- und Gruppenver- waltung. Das Konfigurationsmodul `Systemsicherheit' hält verschiedene vor- konfigurierte Level und eine Möglichkeit für Experten-Einstellungen bereit. Le- sen Sie dies im Handbuch Konfiguration" nach. 94 4.5 Software 4.5 Software Wenn Sie Software nachinstallieren oder löschen wollen, haben Sie hier die Möglichkeit dazu, ebenso zum Wechsel des Installationsmediums. Ferner gibt es zwei Update-Tools: für das normale" Update des Systems und für das Online- Update, das über unseren FTP-Server erfolgt. Informationen hierzu erhalten Sie im Handbuch Konfiguration". 4.5.1 Patch-CD-Update Im Gegensatz zum Online-Update werden hier die Patches nicht vom ftp-Server geholt, sondern von CD eingespielt (diese CD erhalten Kunden des SuSE Linux Enterprise Servers"). Der Vorteil ist, dass es mit der CD viel schneller geht. Wenn die Patch-CD eingelegt ist, werden in der Maske dieses YaST2-Moduls alle Patches, die sich auf der CD befinden, eingelesen und angezeigt. Aus der Patch-Liste können Sie auswählen, welche installiert werden sollen. Falls Sie vergessen haben sollten, die CD in das Laufwerk zu legen, erscheint eine ent- sprechende Meldung. Legen Sie dann die CD ein und starten Sie das Patch-CD- Update neu. 4.6 System Unter `System' haben Sie nochmals die Möglichkeit, den Boot-Modus zu kon- figurieren, eine Boot- oder Moduldiskette zu erzeugen, oder die Sprache und Zeitzone einzustellen. Im Handbuch Konfiguration" finden Sie die notwendi- gen Informationen. 4.6.1 RC.Config-Editor /etc/rc.config ist die Datei, in der die wichtigsten Einstellungen für SuSE Linux hinterlegt sind. Der rc.config-Editor stellt alle Einstellmöglichkeiten über- sichtlich dar. Die Werte können geändert und anschließend in die Datei übernom- men werden. Im Allgemeinen ist das manuelle Editieren allerdings nicht notwen- dig, da bei der Installation eines Paketes oder beim Einrichten eines Dienstes etc. die Datei automatisch angepasst wird. Achtung Ohne die nötigen Vorkenntnisse sollten Sie keine Änderungen in der Da- tei /etc/rc.config vornehmen, da sonst die Funktionstüchtigkeit Ihres Systems erheblich beeinträchtigt werden kann. 95 4 YaST2 ­ Konfigurationswerkzeuge Abbildung 4.2: YaST2: Konfiguration des rc.config-Editors 4.6.2 Runlevel-Editor Die Hintergründe zu den Runleveln unter Linux sind in Abschnitt 14.2 auf Sei- te 340 ff. erläutert. Nach dem Start wird dieses Experten-Modul zunächst initialisiert. Im nächs- ten Dialog wird der aktuelle Standard-Runlevel angezeigt. Dieser Betriebsmo- dus" wird nach dem Booten Ihres Systems hochgefahren. Bei SuSE Linux ist dies üblicherweise Runlevel 5 (voller Multiuserbetrieb mit Netzwerk und KDM, dem grafischen Login). Geeignet wäre z. B. auch Runlevel 3 (voller Multiuserbe- trieb mit Netzwerk). An dieser Stelle lässt sich mit Hilfe von YaST2 ein anderer Default-Runlevel einstellen; vgl. Tabelle 14.1 auf Seite 340. Mit `Bearbeiten' gelangen Sie zu einer Übersicht aller Dienste und Daemonen mit der Information, ob diese in Ihrem System aktiv geschaltet sind und für wel- che Runlevels dies gilt. Wenn Sie eine Zeile per Mausklick markieren, haben Sie die Möglichkeit, die Checkboxen für die Runlevels `0', `1', `2', `3', `5', `6' und `S' zu aktivieren und damit festzulegen, für welche Runlevels der entsprechende Dienst bzw. Daemon aktiv werden soll. Runlevel 4 ist nicht definiert ­ dieser ist stets frei für benutzereigene Einstellungen. Mit `Starten' und `Anhalten' entscheiden Sie, ob ein Dienst eingesetzt wer- den soll. Mit `Aktualisieren' sind Sie in der Lage, den aktuellen Status zu prüfen, falls dies nicht automatisch geschieht. `Auf Standardwert zurück- setzen' dient der Wiederherstellung der Standardeinstellungen, das ist der Zu- stand nach der Installation. `Dienst aktivieren' erscheint nur, wenn der Dienst derzeit deaktiviert ist. `Alle Dienste auf Standardwert zurück- setzen' versetzt alle Dienste in den ursprünglichen Zustand, wie er nach der Installation ist. Mit `Beenden' speichern Sie die Systemkonfiguration. 96 4.6 System Achtung Vorsicht, bitte keine Experimente ­ dies ist ein Experten-Tool. Wenn gewis- se Dienste falsch eingestellt werden, kann es passieren, dass das System entweder nicht mehr hochgefahren werden kann und eine Neuinstallation unumgänglich wird, oder dass Sicherheitslücken entstehen. 4.6.3 Partitionierer für Experten Mit dem Partitionierungs-Modul für Experten haben Sie die Möglichkeit, be- stehende Partitionen zu bearbeiten, zu löschen oder neue anzulegen. Von hier aus gelangen Sie auch zur Soft-RAID- und LVM-Konfiguration; siehe Seite 103 und 97. Im Normalfall werden die Partitionen während der Installation festge- legt. Wenn Sie jedoch aus Platzgründen eine zweite Festplatte einbauen wollen, so können Sie diese auch im bestehenden Linux-System integrieren. Hierzu ist die neue Festplatte zunächst zu partitionieren und dann müssen diese Partitio- nen gemountet und in die /etc/fstab eingetragen werden. Gegebenenfalls ist es nötig, einige Daten umzukopieren, um eine zu kleine /opt-Partition von der alten Festplatte auf die neue zu verschieben. Wenn Sie die Festplatte, mit der Sie gerade arbeiten, umpartitionieren wollen, ist Vorsicht geboten ­ grundsätzlich ist dies möglich, danach muss das System aber sofort neu gebootet werden. Unbedenklicher ist es, von der CD zu booten und dann die Umpartitionierung vorzunehmen. Hinter dem Button `Experten-Optionen' im Partitionierer befindet sich ein Popup-Menü mit folgenden Befehlen: Reset and Re-Read Dient dazu, die Partitionierung neu von der Platte einzule- sen. Dies benötigen Sie z. B., wenn Sie die Partitionierung auf der Textkon- sole manuell vorgenommen haben. Read old fstab Dies ist nur während der Installation relevant. Das Einlesen der alten fstab nützt, wenn Sie Ihr System nicht updaten, sondern neu installie- ren. Dann brauchen Sie die Mountpunkte nicht per Hand eingeben. Delete old Partition Table Hiermit überschreiben Sie den alten Partitiontable komplett. Das kann z. B. hilfreich sein, falls Sie Probleme mit ungewöhnli- chen Plattenlabels haben sollten. Mit dieser Methode gehen allerdings alle Daten auf der Festplatte verloren. 4.6.4 Logical Volume Manager (LVM) Der Logical Volume Manager (LVM) ermöglicht Ihnen eine flexible Verteilung des Festplattenplatzes auf die verschiedenen Filesysteme. Da die Partitionen in einem laufenden System nur mit relativ großem Aufwand geändert werden kön- nen, wurde der LVM entwickelt: Er stellt einen virtuellen Pool" (Volume Group 97 4 YaST2 ­ Konfigurationswerkzeuge ­ kurz VG) an Speicherplatz zur Verfügung, aus dem logische Volumes (LV) nach Bedarf erzeugt werden. Das Betriebssystem greift dann auf diese zu, statt auf die physikalischen Partitionen. Besonderheiten: * Es können mehrere Festplatten/Partitionen zu einer großen logischen Partiti- on zusammengefügt werden. * Geht bei einer LV (z. B. /usr) der Platz aus, können Sie diese bei geeigneter Konfiguration vergrößern. * Mit dem LVM können Sie sogar im laufenden System Festplatten oder LVs ergänzen. Voraussetzung ist allerdings Hot-Swapable" Hardware, die für solche Eingriffe geeignet ist. Der Einsatz von LVM lohnt bereits bei umfangreich genutzten Home-PCs oder kleinen Servern. Wenn Sie einen wachsenden Datenbestand haben wie z. B. bei Datenbanken, MP3-Archiven oder Benutzerverzeichnissen etc., dann bietet sich der Logical Volume Manager an. Dann wäre es z. B. möglich, Filesysteme zu haben, die größer sind als eine physikalische Festplatte. Ein weiterer Vorteil des LVM ist, dass bis zu 256 LVs angelegt werden können. Beachten Sie jedoch bitte, dass sich die Arbeit mit dem LVM sehr von der mit konventionellen Partitionen unterscheidet. Weiterführende Informationen zur Konfiguration des Logical Volume Mana- ger" (LVM) finden Sie im offiziellen LVM-Howto bzw. in einem SuSE-Dokument: * http://www.sistina.com/lvm/Pages/howto.html * http://www.suse.com/us/support/oracle/ Konfiguration des LVM mit YaST2 Die LVM-Konfiguration von YaST2 wird aktiviert, wenn Sie im ersten Schritt der Vorbereitung der Festplatte, die Auswahl `Benutzerdefinierte Parti- tionierung mit LVM' aktivieren und dann die Installation fortsetzen. Im in- stallierten System finden Sie im YaST2 Control Center unter `System' einen entsprechenden Button. LVM ­ Partitionierer Als erstes kommen Sie in einen Dialog, in dem Sie die Partitionierung Ihrer Fest- platten ändern können. Hier können Sie bestehende Partitionen löschen, existie- rende Partitionen ändern und neue anlegen. Eine Partition, die für LVM verwen- det werden soll, muss die Partitionskennung 8E haben. Diese Partitionen sind mit dem Text Linux LVM" in der Partitionsliste des Fensters versehen. Es ist nicht nötig, alle Partitionen, die für LVM vorgesehen sind, einzeln auf die Partitionskennung 8E zu setzen. YaST2 setzt die Partitionskennung einer Parti- tion, die einer LVM Volume Group zugeordnet wird, automatisch auf 8E wenn dies nötig ist. Wenn auf Ihren Platten unpartitionierte Bereiche vorhanden sind, 98 4.6 System Abbildung 4.3: YaST2: LVM während der Installation aktivieren sollten Sie in diesem Dialog für alle diese Bereiche LVM-Partitionen anlegen. Diese Partitionen sollten Sie gleich auf die Partitionskennung 8E setzen. Diese müssen nicht formatiert werden und es kann für sie kein Mountpunkt eingetragen werden. Hinweis Falls auf Ihrem System bereits eine gültige LVM-Konfiguration existiert, wird diese bei Beginn der LVM-Konfiguration automatisch aktiviert. Ist diese Akti- vierung erfolgt, kann die Partitionierung aller Platten, die eine Partition ent- halten, die zu einer aktivierten Volume Group gehört, nicht mehr verän- dert werden. Der Linux-Kernel weigert sich, die veränderte Partitionierung einer Festplatte einzulesen, solange auch nur eine Partition dieser Platte benutzt wird. Eine Umpartitionierung von Platten, die nicht zu einer LVM Volume Group gehören, ist natürlich problemlos möglich. Falls Sie bereits eine gültige LVM-Konfiguration auf Ihrem System haben, ist ein Umpartitio- nieren normalerweise nicht erforderlich. In dieser Maske müssen Sie nun alle Mountpoints konfigurieren, die nicht auf LVM Logical Volumes liegen. Zumindest das Root-Filesystem muss in YaST2 auf einer normalen Partiti- on liegen. Wählen Sie diese Partition aus der Liste aus und legen Sie diese mit dem Button `Bearbeiten' als Root-Filesystem fest. Wir empfehlen auf- grund der größeren Flexibilität von LVM, alle weiteren Filesysteme auf LVM Logical Volumes zu legen. Nach Festlegen der Root-Partition können sie diesen Dialog verlassen. LVM ­ Einrichtung der Physical Volumes In diesem Dialog werden die LVM Volume Groups (oft mit VG" abgekürzt) verwaltet. Wenn auf Ihrem System noch keine Volume Group existiert, werden 99 4 YaST2 ­ Konfigurationswerkzeuge Abbildung 4.4: YaST2: LVM-Partitionierer Abbildung 4.5: YaST2: LVM-Partition anlegen Sie in einem Popup-Fenster aufgefordert, eine anzulegen. Als Name für die Vo- lume Group auf der sich die Dateien des SuSE Linux Systems befinden, wird system" vorgeschlagen. Die so genannte Physical Extent Size (oft abgekürzt mit PE-Size) bestimmt die maximale Größe eines Physical und Logical Volu- mes in dieser Volume Group. Dieser Wert wird normalerweise auf 4 Megabyte festgelegt. Dies lässt eine Maximalgröße für ein Physical und Logical Volume von 256 Gigabyte zu. Sie sollten die Physical Extent Size also nur dann erhöhen (z. B. auf 8, 16 oder 32 Megabyte), wenn Sie größere Logical Volumes als 256 Gigabyte benötigen. In dem folgenden Dialog sind alle Partitionen aufgelistet, die entweder den Ty- pe "Linux LVM" oder "Linux native" haben. Alle Swap- und DOS-Partitionen werden also nicht angezeigt. Wenn eine Partition bereits einer Volume Group zugeordnet ist, wird der Name der Volume Group in der Liste angezeigt. Nicht zugeordnete Partitionen enthalten die Kennung "­". Die gegenwärtig bearbeitete Volume Group kann in der Auswahlbox links oben geändert werden. Mit den Buttons rechts oben ist es möglich, zusätzliche Volu- me Groups anzulegen und bestehende VGs zu löschen. Es können allerdings nur 100 4.6 System Abbildung 4.6: YaST2: Volume Group anlegen Abbildung 4.7: YaST2: Übersicht über die Partitionen solche Volume Groups gelöscht werden, denen keine Partitionen mehr zugeord- net sind. Für ein normal installiertes SuSE Linux System ist es nicht nötig, mehr als eine Volume Group anzulegen. Eine Partition, die einer Volume Group zuge- ordnet ist, wird auch Physical Volume (oft mit PV abgekürzt) genannt. Um eine bisher nicht zugeordnete Partition der angewählten Volume Group hinzuzufü- gen, wählen Sie zuerst die Partition an und aktivieren dann den Button `Volume hinzufügen' unterhalb der Auswahlliste. Daraufhin wird der Name der Volume Group bei der angewählten Partition eingetragen. Sie sollten alle Partitionen, die Sie für LVM vorgesehen haben, einer Volume Group zuordnen, sonst bleibt der Platz auf der Partition ungenutzt. Bevor Sie den Dialog verlassen können, muss jeder Volume Group mindestens eine Physical Volume zugeordnet sein. 101 4 YaST2 ­ Konfigurationswerkzeuge Logical Volumes Im diesem Dialog werden die Logical Volumes (oft einfach mit LV" abgekürzt) verwaltet. Abbildung 4.8: YaST2: Verwaltung der Logical Volumes Logical Volumes sind jeweils einer Volume Group zugeordnet und haben eine bestimmte Größe. Normalerweise wird auf einem Logical Volume ein Filesystem (z. B. reiserfs, ext2) angelegt und ihm wird ein Mountpunkt zugeordnet. Unter diesem Mountpunkt sind dann im installierten System die Dateien zu finden, die auf diesem Logical Volume gespeichert sind. In der Liste sind alle normalen Linux-Partitionen, denen ein Mountpunkt zugeordnet ist, alle Swap-Partitionen und alle bereits existierenden Logical Volumes eingetragen. Wenn Sie bereits vorher auf Ihrem System LVM konfiguriert hatten, sind die existierenden Logical Volumes bereits hier eingetragen. Sie müssen diesen Logical Volumes allerdings noch den passenden Mountpunkt zuordnen. Wenn Sie zum ersten mal auf einem System LVM konfigurieren, dann existieren in dieser Maske noch keine Logical Volumes und Sie müssen für jeden Mountpunkt ein Logical Volume erzeugen (mit dem Button `Hinzufügen'), die Größe, den Filesystem-Typ (z. B. reiserfs oder ext2) und den Mountpunkt (z. B. /var, /usr, /home) festlegen. Wenn Sie mehrere Volume Groups angelegt haben, können Sie in der Auswahl- liste links oben zwischen den einzelnen Volume Groups wechseln. Die angeleg- ten Logical Volumes liegen jeweils in der links oben anzeigten Volume Group. Haben Sie alle Logical Volumes so angelegt, wie sie benötigt werden, dann ist die LVM-Konfiguration beendet. Sie können den Dialog verlassen und mit der Software-Auswahl fortfahren, falls Sie sich im Installations-Prozess befinden. 102 4.6 System Abbildung 4.9: YaST2: Logical Volumes anlegen Achtung Der Einsatz des LVM ist auch mit erhöhten Risiken wie z. B. Datenver- lust verbunden. Mögliche Gefahren sind Programmabstürze, Stromausfälle oder fehlerhafte Kommandos. Sichern Sie bitte Ihre Daten bevor Sie LVM einsetzen oder Volumes umkon- figurieren ­ arbeiten Sie also nie ohne Backup! 4.6.5 Soft-RAID Der Sinn von RAID (engl. Redundant Array of Inexpensive Disks) ist, mehre- re Festplattenpartitionen zu einer großen virtuellen" Festplatte zu vereinen, um die Performance und die Datensicherheit zu optimieren. Dabei geht das eine je- doch auf Kosten des anderen. Der so genannte RAID-Level" definiert den Zu- sammenschluss und die gemeinsame Ansteuerung der Festplatten, die von einem RAID-Controller vorgenommen wird. Ein RAID-Controller verwendet meist das SCSI-Protokoll, da es gegenüber dem IDE-Protokoll mehr Festplatten besser an- steuern kann und besser für eine parallele Abarbeitung der Befehle geeignet ist. Statt eines RAID-Controllers, der unter Umständen sehr teuer sein kann, ist auch Soft-RAID in der Lage, diese Aufgaben zu übernehmen. SuSE Linux bietet Ih- nen die Möglichkeit, mit Hilfe von YaST2 mehrere Festplatten zu einem Soft- RAID-System zu vereinen ­ eine sehr günstige Alternative zu Hardware-RAID. 103 4 YaST2 ­ Konfigurationswerkzeuge Gängige RAID-Level RAID 0 Dieser Level verbessert die Performance Ihres Datenzugriffs. Im Grun- de ist dies gar kein RAID, da es keine Datensicherung gibt, doch die Bezeich- nung RAID 0" hat sich für diese Art von System eingebürgert. Bei RAID 0 schließt man mindestens zwei Festplatten zusammen. Die Performance ist sehr gut ­ jedoch ist das RAID-System zerstört und Ihre Daten sind verloren, wenn auch nur eine von noch so vielen Festplatten ausfällt. RAID 1 Dieser Level bietet eine äußerst zufrieden stellende Sicherheit für die Daten, weil diese 1:1 auf eine andere Festplatte kopiert werden. Dies nennt man Festplattenspiegelung" ­ ist eine Platte zerstört, liegt eine Kopie deren Inhalts auf einer anderen. Es dürfen alle bis auf eine der Festplatten fehlerhaft sein, ohne Daten verloren zu haben. Die Schreibperformance leidet durch den Kopiervorgang ein wenig bei einer Verwendung von RAID 1 (10-20 % langsamer), dafür geht der Lesezugriff deutlich schneller im Vergleich zu einer einzelnen normalen physikalischen Festplatte, weil die Daten doppelt vorhanden sind und somit parallel ausgelesen werden können. RAID 5 RAID 5 ist ein optimierter Kompromiss aus den beiden anderen Levels was Performance und Redundanz betrifft. Das Festplattenpotential entspricht der Anzahl der eingesetzten Platten minus einer. Die Daten werden wie bei RAID 0 über die Festplatten verteilt. Für die Sicherheit sorgen die Pari- tätsblöcke", die bei RAID 5 auf einer der Partitionen angelegt werden. Diese werden mit XOR miteinander verknüpft ­ somit lässt sich beim Ausfall einer Partition durch den dazugehörigen Paritätsblock der Inhalt nach XOR rekon- struieren. Bei RAID 5 ist zu beachten, dass nicht mehr als eine Festplatte gleichzeitig ausfallen darf. Ist eine zerstört, muss sie schnellstmöglichst aus- getauscht werden, damit die Daten nicht verloren gehen. Soft-RAID-Konfiguration mit YaST2 Zur Soft-RAID-Konfiguration gelangen Sie entweder über ein eigenes `RAID'- Modul unter `System' oder über das Partitionierungs-Modul unter `Hardware'. 1. Schritt: Partitionieren Zunächst sehen Sie unter `Experten-Einstellungen' im Partitionierungs- Tool Ihre Partitionen aufgelistet. Wenn Sie bereits Soft-RAID-Partitionen an- gelegt haben, erscheinen diese hier. Andernfalls müssen Sie neue anlegen. Bei RAID 0 und RAID 1 benötigen Sie mindestens zwei Partitionen ­ bei RAID 1 sind das im Normalfall genau zwei. Für eine Verwendung von RAID 5 hinge- gen sind mindestens drei Partitionen nötig. Es ist zu empfehlen, nur Partitionen gleicher Größe zu nehmen. Die einzelnen Partitionen eines RAIDs sollten auf verschiedenen Festplatten liegen, damit das Risiko eines Datenverlustes durch den Defekt einer Festplatte bei RAID 1 und 5 verhindert wird bzw. die Perfor- mance bei RAID 0 optimiert wird. 104 4.7 Sonstiges 2. Schritt: RAID anlegen Wenn Sie auf `RAID' klicken, erscheint der Dialog, in dem Sie den RAID-Level 0, 1 oder 5 auswählen. In der nächsten Maske haben Sie die Möglichkeit, die Par- titionen dem neuen RAID zuzuordnen. Hinter `Experten-Optionen' finden Sie Einstellmöglichkeiten für die chunk-size" ­ hier können Sie Fein-Tuning für die Performance vornehmen. Die Aktivierung der Checkbox `Persistent superblock' sorgt dafür, dass RAID-Partitionen gleich beim Booten als solche erkannt werden. Nach Beendigung der Konfiguration sehen Sie auf der Experten-Seite im Parti- tionierungs-Modul dann das Device /dev/md0 (etc.) als RAID" gekennzeich- net. Troubleshooting Ob eine RAID-Partition zerstört ist, können Sie dem Inhalt der Datei /proc/ mdstats entnehmen. Grundsätzliche Vorgehensweise in einem Fehlerfall ist es, Ihr Linux-System herunterzufahren und die defekte Festplatte durch eine neue gleichartig partitionierte zu ersetzen. Dann starten Sie Ihr System neu und ver- wenden den Befehl raidhotadd /dev/mdX /dev/sdX. Damit wird die neue Festplatte automatisch in das RAID-System integriert und vollautomatisch re- konstruiert. Weitere Details hierzu finden Sie im angegeben Howto: * /usr/share/doc/packages/raidtools/Software-RAID-HOWTO.html * http://www.LinuxDoc.org/HOWTO/Software-RAID-HOWTO.html oder in der Linux-RAID-Mailingliste z. B. über: * http://www.mail-archive.com/linux-raid@vger.rutgers.edu Dort finden Sie auch Hilfe, falls wider Erwarten komplexe Probleme auftreten sollten. 4.6.6 Kernel auswählen Achtung Es ist sehr gefährlich, in einem lauffähigen Linux-System den Kernel zu ändern, da es zu derart grundlegenden Kompatibilitäts-Störungen kommen kann, dass Sie Ihr System nicht einmal mehr booten können. Von diesem Modul sollten daher nur Experten Gebrauch machen. 4.7 Sonstiges Unter `Sonstiges' haben Sie die Möglichkeit, eine Support-Anfrage zu stel- len, Treiber-CDs des Herstellers zu laden, das Startprotokoll (/var/log/boot. 105 4 YaST2 ­ Konfigurationswerkzeuge Abbildung 4.10: YaST2: Kernel auswählen msg) und das Systemprotokoll (/var/log/messsages) anzeigen zu lassen. Die Beschreibungen hierzu finden Sie im Handbuch Konfiguration". 4.7.1 Drucker für CUPS bzw. LPD Die Default-Einstellung für das Drucken ist das Standard-Drucksystem, das den BSD-Spooler LPD verwendet. Hierfür ist das Paket lprold in Ihrem System installiert. Mit Hilfe von YaST2 können Sie auf das Drucksystem CUPS (engl. Common Unix Printing System) umstellen und von CUPS auch wieder zurück zu LPD. Die alte LPD-Konfiguration bleibt dabei vollständig erhalten. Da es Überschnei- dungen in den Konfigurationsdateien gibt, schließen sich die beiden Drucksyste- me gegenseitig aus ­ es kann nur eines davon installiert sein. Folgen Sie für eine Umstellung auf CUPS den Anweisungen von YaST2 und halten Sie Ihre CDs bereit. Weiterführende Hinweise zu CUPS finden Sie hier: http://www.cups.org/ Hinweis Ausschlaggebend für die Qualität des Ausdruckes ist nicht die Wahl eines dieser Druck-Systeme LPD oder CUPS, sondern der Ghostscript-Treiber und die Parameter-Einstellungen für diesen. 106 5 Booten und Bootmanager 5 Booten und Bootmanager ­ LILO, loadlin etc. In diesem Kapitel sollen verschiedene Methoden vorgestellt werden, wie sich das fertig installierte System booten lässt. Um das Verständnis der einzelnen Metho- den zu erleichtern, werden zunächst einige technische Details des Bootprozesses auf PCs erläutert. 5.1 Der Bootvorgang auf dem PC Nach dem Einschalten des Rechners werden vom BIOS (engl. Basic Input Out- put System) Bildschirm und Tastatur initialisiert sowie der Hauptspeicher getes- tet. Bis zu diesem Zeitpunkt existieren noch keine Massenspeichermedien in der Welt Ihres PCs! Nachdem das Rumpfsystem seine Innenschau" beendet hat, kann es sich der Erkundung der übrigen Welt widmen. Informationen über aktuelles Datum, Zeit und eine Auswahl der wichtigsten Peripherie-Geräte werden aus den CMOS- Werten (CMOS setup) ausgelesen. Da nun die erste Festplatte einschließlich ihrer Geometrie bekannt sein sollte, kann das Laden des Betriebssystems von dort beginnen. Dazu wird von der ersten Festplatte der physikalisch erste Datensektor von 512 Byte Größe in den Speicher geladen, und die Programmkontrolle geht auf das Progrämmchen zu Beginn dieses Sektors über. Die Abfolge der auf diese Weise ausgeführten Anweisungen bestimmt den weiteren Ablauf des Bootvor- gangs. Die ersten 512 Byte auf der ersten Festplatte werden deshalb auch als Master Boot Record (MBR) bezeichnet. Die Zusammenhänge erlauben bereits zwei für das Verständnis des Folgenden wichtige Beobachtungen: Bis zu diesem Zeitpunkt (Laden des MBR) läuft der Bootvorgang völlig unabhängig vom installierten System auf jedem PC immer gleich ab, und der PC hat bis dahin zum Zugriff auf die Peripherie lediglich die im BIOS gespeicherten Routinen (Treiber) zur Verfügung. Master Boot Record Die Struktur des MBR ist durch eine betriebssystemübergreifende Konvention festgelegt. Die ersten 446 Byte sind für Programmcode reserviert.Die nächsten 64 Byte bieten Platz für eine Partitionstabelle mit bis zu vier Einträgen; vgl. Ab- schnitt 2.5 auf Seite 39 und Abschnitt 2.6 auf Seite 41. Ohne die Partitionstabelle 107 5 Booten und Bootmanager gibt es keine Dateisysteme (MS-DOS: Laufwerke), d. h. die Festplatte ist prak- tisch nicht zu verwenden. Die letzten 2 Byte müssen eine feste magische Zahl" (AA55) enthalten: ein MBR, der dort etwas anderes stehen hat, wird vom BIOS und von allen PC-Betriebssystemen als ungültig angesehen. Bootsektoren Bootsektoren sind die jeweils ersten Sektoren der Festplatten-Partitionen, außer bei der erweiterten Partition, die nur ein Behälter" für andere Partitionen ist. Sie bieten 512 Byte Platz und sind dazu gedacht, Code aufzunehmen, der ein auf die- ser Partition befindliches Betriebssystem starten kann. Die Bootsektoren forma- tierter DOS-, Windows- oder OS/2-Partitionen tun das auch stets (und enthalten zusätzlich noch wichtige Grunddaten des Dateisystems). Im Gegensatz dazu sind Bootsektoren von Linux-Partitionen ­ auch nach der Anlage eines Dateisystems ­ von Hause aus erst einmal leer (!). Eine Linux-Partition ist daher nicht von selbst startbar, auch wenn sie einen Kernel und ein gültiges Root-Dateisystem enthält. Ein Bootsektor mit gültigem Systemstart-Code trägt in den letzten 2 Byte diesel- be magische" Kennung wie der MBR. Booten von DOS oder Windows 95/98 Im DOS-MBR der ersten Festplatte ist ein Partitionseintrag als aktiv (engl. boo- table) gekennzeichnet, was heißt, dass dort nach dem zu ladenden System ge- sucht werden soll. Deshalb muss DOS zwingend auf der ersten Festplatte instal- liert sein. Der DOS-Programmcode im MBR ist die erste Stufe des Bootloaders (engl. first stage bootloader) und überprüft, ob auf der angegebenen Partition ein gültiger Bootsektor vorhanden ist. Falls dies der Fall ist, kann der Code in diesem Bootsektor als zweite Stufe" des Bootloaders (engl. secondary stage loader) nachgestartet werden. Dieser lädt nun die Systemprogramme, und schließlich erscheint der gewohnte DOS-Prompt bzw. es startet die Windows 95/98-Oberfläche. Unter DOS lässt sich nur eine einzige primäre Partition als aktiv markieren. Folg- lich kann das DOS-System nicht auf logischen Laufwerken in einer erweiterten Partition untergebracht werden. 5.2 Bootkonzepte Das einfachste Bootkonzept" betrifft einen Rechner mit einem einzigen Be- triebssystem. Eine verbreitete solche Konfiguration ist DOS oder Windows 95/98 als ausschließliches Betriebssystem auf dem Rechner. Die Abläufe in der Start- phase in diesem Fall haben wir soeben geschildert. Ein solcher Bootvorgang ist auch für einen Nur-Linux-Rechner denkbar. Dann kann theoretisch auf die Installation von LILO verzichtet werden. Bei einem sol- chen Szenario wäre es allerdings nicht möglich, dem Kernel während des Star- 108 5.2 Bootkonzepte tens eine Kommandozeile (mit Spezialwünschen zum Startvorgang, zusätzlichen Hardware-Informationen usw.) mitzugeben. Sobald mehr als ein Betriebssystem auf einem Rechner installiert ist, bieten sich verschiedene Bootkonzepte an: Zusätzliche Systeme von Diskette booten: Ein Betriebssystem wird von Plat- te geladen, mit Hilfe von Boot-Disketten können alternativ weitere Betriebs- systeme vom Disketten-Laufwerk aus gestartet werden. * Bedingung: Ein bootfähiges Diskettenlaufwerk ist vorhanden. * Beispiel: Sie installieren Linux zusätzlich auf Ihrem DOS-, Windows 95/98- oder OS/2-System und starten Linux stets von Bootdiskette. * Vorteil: Sie ersparen sich die doch etwas heikle Bootloader-Installation. * Nachteile: Sie müssen sehr darauf bedacht sein, einen Sicherheitsvorrat funktionierender Bootdisketten zu haben. Der Start dauert länger. * Dass Ihr Linux ohne Bootdiskette nicht starten kann, mag je nach beab- sichtigtem Einsatz Ihres Rechners ein Nachteil oder Vorteil sein. Zusätzliche Systeme zur Laufzeit nachladen: Ein Betriebssystem wird bei je- dem Systemstart geladen, weitere können von diesem aus optional nachgela- den werden. * Bedingung: Geeignete Programme zum Nachstarten eines Systems sind vorhanden. * Beispiele: Das Laden von Linux von DOS aus mit Hilfe des Programms loadlin.exe (vgl. Abschnitt 5.9 auf Seite 135) oder das Hochfahren eines NetWare-Servers von DOS aus mit server.exe. Installation eines Bootmanagers: Ein Bootmanager erlaubt, mehrere Syste- me gleichzeitig auf einem Rechner zu halten und sie abwechselnd zu nutzen. Der Benutzer wählt das zu ladende System bereits während des Bootvor- gangs aus; ein Wechsel erfordert den Neustart des Rechners. * Bedingung: Der gewählte Bootmanager harmoniert" mit allen Betriebs- systemen. * Beispiele für (zumindest unter bestimmten Bedingungen) mit Linux har- monierende Bootmanager sind OS/2 (vgl. dazu Abschnitt 5.7.3 auf Sei- te 126) oder der DOS-Bootloader boot.sys. Im Folgenden wird die Installation und Konfiguration von LILO, dem Standard- Bootmanager für Linux-Systeme, näher erläutert ­ eine gründliche Beschreibung der Fähigkeiten von LILO findet sich in [Alm96] (vgl. die Datei /usr/share/ doc/packages/lilo/user.dvi). Es schließen sich Ausführungen zu loadlin an. 109 5 Booten und Bootmanager 5.3 LILO im Überblick Der Linux-Bootloader ist für die Installation im MBR geeignet (Einzelheiten später auf Seite 111 und in Abschnitt 5.5 auf Seite 120). LILO hat Zugriff auf beide im Real Modus bekannten Festplatten und ist bereits von seiner Installa- tion her in der Lage, alle benötigten Daten auf den rohen" Festplatten1, ohne Informationen zur Partitionierung, zu finden. Deshalb lassen sich auch Betriebs- systeme von der zweiten Festplatte booten. Die Einträge in der Partitionstabelle werden im Gegensatz zum DOS-Bootvorgang ignoriert. Der Hauptunterschied zum DOS-Bootvorgang besteht jedoch in der Möglichkeit, beim Booten zwischen dem Laden verschiedener installierter Betriebssysteme ­ einschließlich Linux ­ wählen zu können. Nach dem Laden des MBR in den Speicher wird LILO gestartet; LILO kann nun seinerseits dem Benutzer die Aus- wahl aus einer Liste vorinstallierter Systeme anbieten (siehe auf dieser Seite). Was ist LILO und was kann er? LILO ist ein vielseitiger Bootmanager. Er kann beim Systemstart folgende Sy- stemprogramme laden und starten: * Bootsektoren von Partitionen (Start eines Betriebssystems von dieser Partiti- on) * Linux-Kernel (Start von Linux) Das Zweite können die meisten anderen Bootmanager nicht. Zudem bietet er die wichtige Gelegenheit, dem Linux-Kernel eine Kommando- zeile mitzugeben. Zu Sicherheitszwecken können die LILO-Dienste ganz oder teilweise passwortgeschützt werden. Wie sieht das Booten mit LILO aus? Wenn LILO startet, gibt er den Text LILO und eine Begrüßungsmeldung aus ­ letztere haben Sie ihm bei der Konfiguration selbst mitgegeben (vgl. Abschnitt 5.4.2 auf Seite 116). Danach erscheint eine Eingabeaufforderung (Prompt): boot: Hier wählen Sie durch Eingabe eines Namens Ihr gewünschtes Betriebssystem aus, das dann sofort gestartet wird. Die Namen für Ihre Betriebssysteme haben Sie gleichfalls selbst vorher bei der Konfiguration vergeben. Einem Linux-Ker- nel können Sie an dieser Stelle eine Kommandozeile mitgeben. Eine Liste aller § ¤ § ¤ Namen können Sie sich mit ¦Tab ¥(= Taste ¦Tab ¥ ) anzeigen lassen. 1Von einem rohen" Datenträger (engl. raw device) spricht man, wenn auf ein Blockgerät (Fest- platte, Partition, Diskette . . . ) direkt als einzelne (Geräte-)Datei zugegriffen wird, nicht über ein darauf angelegtes Dateisystem. 110 5.3 LILO im Überblick Woraus besteht LILO? Die LILO-Startmaschinerie umfasst die folgenden Bestandteile: * einen LILO-Bootsektor mit einem Anfangsstück ( erste Stufe") des LILO- Codes, das den eigentlichen LILO beim Systemstart aktiviert Tipp Die von LILO installierten Bootsektoren enthalten eine Byte-Sequenz, die auch für Bootsektorviren charakteristisch ist. Daher ist es nicht ver- wunderlich, wenn DOS-Virenscanner in Dateien wie /boot/chain.b oder /boot/os2_d.b das AIRCOP-Bootsektor-Virus gefunden zu ha- ben glauben. ;-) * den LILO-Maschinencode (sein Herz"). Standardlokation: /boot/boot.b * eine Map-Datei, in der LILO bei seiner Installation einträgt, wo die Linux- Kernel und sonstigen Daten, die er braucht, zu finden sind. Standardlokation: /boot/map * optional: eine Message-Datei, deren Inhalt vor der LILO-Bootauswahl als Begrüßung ausgegeben wird. Übliche Lokation: /boot/message (oder ähnlich) * die verschiedenen Linux-Kernel und Bootsektoren, die LILO zum Starten an- bieten soll. Achtung Jeder Schreibzugriff (auch durch Dateiverschiebung) auf eines dieser Be- standteile macht die Map-Datei ungültig und daher eine Neu-Installation von LILO erforderlich (siehe auf Seite 120)! Dies betrifft vor allem den Wechsel zu einem neuen Linux-Kernel. Wo kann LILO installiert werden? Gemeint ist mit dieser Frage in Wirklichkeit meist der LILO-Bootsektor ( erste Stufe"). Bevor wir darauf eingehen, wollen wir aber gleich hier auf eine generelle Einschränkung hinweisen: Abhängig von der BIOS-Version Ihres Rechner kann es notwendig sein, alle Bestandteile der LILO-Startmaschinerie und das Kernelimage /boot/vmlinuz innerhalb der ersten 1024 Zylinder zu legen! Dies kann man durch eine klei- ne Extrapartition erreichen, die unter dem Verzeichnis /boot eingehängt ( ge- mountet") wird und die komplett innerhalb der ersten 1024 Zylinder liegt. 111 5 Booten und Bootmanager Bei vielen noch verfügbaren BIOS-Versionen sind nur diese physikalischen Be- reiche schon während der Systemstartphase mit den BIOS-Treibern erreichbar. Noch dazu ist man in der Regel auf die ersten beiden Festplatten eingeschränkt. Wenn Sie ein sehr altes BIOS haben, gilt möglicherweise zudem: das zusätzli- che Vorhandensein von (E)IDE-Festplatten schließt gleichfalls vorhandene SC- SI-Geräte von der Bootfähigkeit aus. Erst ein neueres BIOS lässt in der Regeln den Zugriff auf weitere Geräte zu: so etwa in Verbindung mit EIDE-Festplattencontrollern auf bis zu vier EIDE-Plat- ten. Viele moderne BIOS/SCSI-Hostadapter Kombinationen erlauben sogar das Nach-vorne-Schieben" von SCSI-Platten hinsichtlich der Bootfähigkeit. Zur Nutzung dieser Möglichkeit mit LILO vgl. die Beschreibung der disk-Option auf Seite 118. All das fassen wir der Einfachheit halber unter dem Schlagwort 1024-Zylinder- Grenze zusammen. Sie ist schon bei der Partitionierung Ihrer Festplatten vor der Linux-Erstinstallation unbedingt zu berücksichtigen ­ danach ist es evtl. zu spät und macht Ihnen möglicherweise eine Menge zusätzlicher Arbeit! Einzelheiten zum Umgang damit später unter Abschnitt 5.8.2 auf Seite 131. Für den LILO-Bootsektor stehen folgende Installationsziele zur Auswahl: * Auf einer Diskette Dies ist die sicherste, aber auch langsamste Methode, mit LILO zu booten (siehe auf Seite 123). Wem auch nach der Lektüre dieses Kapitels die Ver- änderung der Bootsektoren ein Gräuel ist, der sollte (zunächst) die Disket- ten-Variante wählen. * Im Bootsektor einer primären Linux-Partition der ersten Festplatte Diese Variante lässt den MBR unberührt. Vor dem Booten muss diese Partiti- on mit fdisk als aktiv markiert werden. Wenn Linux ganz auf logischen Lauf- werken oder Partitionen der zweiten Festplatte eingerichtet wurde, bleibt für LILO nur der Bootsektor der erweiterten Partition der ersten Festplatte ­ so- fern diese existiert ­ übrig. Linux fdisk kann auch diese Partition aktivieren. Wenn Sie mehrere Betriebssysteme von der Festplatte booten wollen, ist die- ses Verfahren allerdings etwas umständlich: jedesmal vor einem Betriebssys- tem-Wechsel müssen Sie unter dem bisherigen Betriebssystem dessen Start- partition deaktivieren und die des nächsten Betriebssystem aktivieren. Die folgenden beiden Verfahren sind für diesen Fall besser geeignet. * Im Master Boot Record Diese Variante bietet die größte Flexibilität. Insbesondere ist dies die einzige Möglichkeit, Linux von Festplatte aus zu booten, wenn sämtliche Linux-Par- titionen auf der zweiten Festplatte liegen, und auf der ersten keine erweiterte Partition zur Verfügung steht. Ein Veränderung des MBR birgt aber bei un- sachgemäßer Installation auch gewisse Risiken. Die nötigen Sicherheitsmaß- nahmen kommen in Abschnitt 5.5 auf Seite 120 zur Sprache. * Wenn Sie bisher einen anderen Bootmanager verwendet haben. . . . . . und ihn weiterverwenden wollen, gibt es, je nach dessen Fähigkeiten, noch weitere Möglichkeiten. Ein häufiger Fall: Sie haben eine primäre Li- nux-Partition auf der zweiten Platte, von der aus Sie Linux starten wollen. 112 5.4 Ein LILO nach Maß: Konfiguration Ihr anderer Bootmanager wäre imstande, diese Partition über den Bootsek- tor zu starten. Dann können Sie diese Partition startbar machen, indem Sie LILO in ihrem Bootsektor installieren, und sie dem anderen Bootmanager als startbar melden. Achtung Vorsicht aber mit dem Wunsch, eine logische Linux-Partition startbar zu machen, indem Sie LILO dort installieren: Es geht oft gut; aber selbst wenn Ihr anderer Bootmanager logische Partitionen starten könnte, ist der Erfolg z. Z. ausdrücklich nicht garantiert. Sie können es natürlich ausprobieren, am Besten zunächst mit einer ganz kleinen Linux-Installation. Möglicherweise haben Sie Glück ­ besser ist es aber auf jeden Fall, doch wenigstens eine primäre startbare Linux-Partition einzuplanen! 5.4 Ein LILO nach Maß: Konfiguration Als flexibler Bootmanager bietet LILO zahlreiche Möglichkeiten, seine Konfigu- ration den individuellen Erfordernissen anzupassen. Die wichtigsten Optionen und ihre Bedeutung werden im Folgenden erläutert. Für eine umfassende Be- schreibung sei auf [Alm96] verwiesen. Die Konfiguration von LILO wird in der Datei /etc/lilo.conf eingetragen. Bei einer Erstinstallation von Linux empfehlen wir, dies zunächst von YaST durchführen zu lassen. Eine eventuell nötige Nachbearbeitung von lilo.conf kann auf der von YaST erstellten Datei aufbauen. Hinweis Die Datei /etc/lilo.conf sollte nur für `root' lesbar sein, da sie Pass- wörter enthalten kann (vgl. Abschnitt 5.4.2 auf Seite 116); dies ist Standard bei SuSE Linux; schauen Sie einmal nach ­ im Zweifelsfall hilft der Befehl: erde: # chmod 0600 /etc/lilo.conf Es ist ratsam, die bei der letzten LILO-Installation verwendete Konfigurations- datei sorgfältig aufzubewahren und vor jeder Änderung eine Sicherheitskopie herzustellen. Eine Änderung wird erst wirksam, indem Sie LILO mit der neuesten Fassung der Konfigurationsdatei neu installieren (Abschnitt 5.5 auf Seite 120)! 5.4.1 Der Aufbau der Datei lilo.conf Die /etc/lilo.conf beginnt mit einem globalen Abschnitt (engl. global op- tions section) mit allgemeinen Einstellungen, gefolgt von einem oder mehreren System-Abschnitten (engl. image sections) für die einzelnen Betriebssysteme, die 113 5 Booten und Bootmanager LILO starten soll. Ein neuer Systemabschnitt wird jeweils eingeleitet durch eine Zeile mit der Option image oder other. Die Reihenfolge der einzelnen Betriebssysteme in der lilo.conf ist nur inso- fern von Bedeutung, als das zuerst in der Liste aufgeführte System automatisch gebootet wird, wenn keine Benutzereingabe erfolgt ­ gegebenenfalls nach Ab- lauf einer vorkonfigurierten Wartezeit (s. u. die Optionen delay und timeout). Datei 5.4.1 zeigt eine Beispielkonfiguration auf einem Rechner mit Linux und DOS. Zur Auswahl beim Booten sollen stehen: ein neuer Kernel (/boot/vmlinuz) und ein Linux-Kernel als Fallback (/boot/vmlinuz.suse, sowie MS-DOS (oder Windows) auf /dev/hda1 und das Programm Memtest86. ### LILO global section boot = /dev/hda # LILO installation target: MBR backup = /boot/MBR.hda.990428 # backup file for the old MBR # 1999-04-28 vga = normal # normal text mode (80x25 chars) read-only menu-scheme = Wg:kw:Wg:Wg lba32 # Use BIOS to ignore # 1024 cylinder limit prompt password = q99iwr4 # LILO password (example) timeout = 80 # Wait at prompt for 8 s before # default is booted message = /boot/message # LILO's greeting ### LILO Linux section (default) image = /boot/vmlinuz # Default label = linux root = /dev/hda7 # Root partition for the kernel initrd = /boot/initrd ### LILO Linux section (fallback) image = /boot/vmlinuz.suse label = suse root = /dev/hda7 initrd = /boot/initrd.suse optional ### LILO other system section (DOS/Windows) other = /dev/hda1 # Windows partition label = windows ### LILO memtest section (memtest) image = /boot/memtest.bin label = memtest86 Datei 5.4.1: Beispielkonfiguration in /etc/lilo.conf In /etc/lilo.conf ist alles von einem # bis zum Zeilenende Kommentar. Er wird ­ ebenso wie Zwischenraum ­ von LILO ignoriert und kann zur Verbesse- 114 5.4 Ein LILO nach Maß: Konfiguration rung der Lesbarkeit verwendet werden. Gehen wir einmal die wichtigsten Zeilen Schritt für Schritt durch. Die weiteren Optionen sind in Abschnitt 5.4.2 auf der nächsten Seite beschrieben. * Globaler Abschnitt (Parameterteil) ­ boot= Device auf dessen erstem Sektor der LILO-Bootsektor installiert werden soll (das Installationsziel). kann sein: ein Diskettenlaufwerk (/dev/fd0), eine Parti- tion (z. B. /dev/hdb3), oder eine ganze Platte (z. B. /dev/hda): letzte- res bedeutet die Installation im MBR. Voreinstellung: Fehlt diese Angabe, wird LILO auf der gegenwärtigen Li- nux-Rootpartition installiert. ­ lba32 Diese Option umgeht die 1024-Zylinder-Grenze von LILO. Dies funktioniert natürlich nur, wenn das BIOS Ihres Rechners dies auch un- terstützt. ­ prompt Erzwingt das Erscheinen der LILO-Eingabeaufforderung (Prompt). Die Voreinstellung ist: kein Prompt! (Vgl. Abschnitt 5.4.2 auf der nächsten Seite, Option delay.) Empfohlen, sobald LILO mehr als nur ein System starten soll. Zusammen damit sollte auch die timeout-Option gesetzt werden, damit ein automa- tischer Reboot möglich ist, wenn keine Eingabe am Prompt erfolgt. ­ timeout= Setzt eine Auszeit für Eingaben am Prompt und ermöglicht dadurch einen automatischen Reboot, wenn nicht rechtzeitig eine Eingabe erfolgt ist. ist dabei die verbleibende Zeit in Zehntelsekunden § ¤ für eine Eingabe. Drücken von ¦Shift ¥am Prompt lässt die Auszeit von neuem starten. Voreinstellung: keine zeitliche Begrenzung, d. h. es wird kein automatischer Reboot durchgeführt! * Linux-Abschnitt ­ image= Hier muss der Name des zu bootenden Kernel-Images stehen. Dies wird in der Regel /boot/vmlinuz sein ­ bzw. bei älteren SuSE Linux-Systemen (vor Version 6.0) /vmlinuz oder /zImage. ­ label= Innerhalb der /etc/lilo.conf eindeutiger, aber sonst frei wählbarer Name für das System (z. B. Linux). Maximale Länge 15 Zeichen: mög- lichst nur Buchstaben, Ziffern und Unterstrich ­ keine Leerzeichen, Son- derzeichen wie deutsche Umlaute u. Ä. Die genauen Regeln für erlaubte Zeichen finden Sie in [Alm96], Abschnitt 3.2.1. Voreinstellung: der Da- teiname des Kernel-Images (z. B. /boot/vmlinuz). Durch Eingabe dieses Namens wählen Sie beim Systemstart an der LILO- Eingabeaufforderung das gewünschte Betriebssystem zum Starten aus. 115 5 Booten und Bootmanager Bei mehreren Systemen empfiehlt es sich, eine nähere Beschreibung der Namen und Systeme in einer message-Datei (s. Abschnitt 5.4.2 auf der nächsten Seite, Option message) bereitzustellen. ­ root= Damit gibt LILO dem Kernel die Rootpartition (z. B. /dev/hda2) des Linux-Systems an. Zur Sicherheit empfohlen! Wird diese Option weg- gelassen, nimmt der Kernel die in ihm selbst eingetragene Rootpartition . * Linux-Abschnitt (Fallback) Auch wenn ein eigener Kernel installiert wurde, ist es immer möglich, auf diesen Kernel zurückzugreifen und dass System zu starten. ­ optional Sollte /boot/vmlinuz.suse gelöscht werden (nicht empfehlenswert!), wird bei der LILO-Installation diese Abschnitt ohne Fehlermeldung über- gangen. * Anderes System ­ other= Mit other werden dem LILO Startpartitionen anderer Systeme zum Boo- ten bekannt gemacht (z. B. /dev/hda1). ­ label= Der (wiederum frei wählbare) Name für dieses System. Empfohlen. Die Voreinstellung ­ der bloße Device-Name der Partition ­ ist beim Booten nicht so aussagekräftig. * Memtest-Abschnitt Hier ist nur das Programm zum Testen des Speichers eingetragen. 5.4.2 Weitere optionale Konfigurationsmöglichkeiten (Auswahl) Im letzten Abschnitt wurden nur die in /etc/lilo.conf minimal nötigen Ein- träge besprochen. Weitere nützliche Einstellungen folgen nun hier. Diejenigen Optionen, die ausdrücklich als Image-Optionen gekennzeichnet sind, gehören in den Abschnitt eines einzelnen Betriebssystems. Die anderen sind für den globalen Parameterteil von /etc/lilo.conf gedacht. * backup= Die Datei, in der LILO ein Backup desjenigen Bootsektors ablegt, in den er anschließend installiert wird. Hierfür ist /boot/boot.xxxx die Vorgabe, wobei xxxx die interne Gerätenummer der Installationspartition ist; dies ist zu finden in den Kernelsourcen in /usr/src/linux/init/main.c, Funk- tion parse_root_dev(). 116 5.4 Ein LILO nach Maß: Konfiguration Wir empfehlen, einen leichter deutbaren Namen zu verwenden, etwa wie oben im Beispiel (mit Gerätenamen und Datumsangabe). Sie verzichten da- mit auf das eingebaute Uninstall-Feature von LILO; aber dies macht man unser Meinung nach sowieso besser mit aller Sorgfalt von Hand (siehe auf Seite 121). Hinweis Wenn die Backup-Datei vorher schon vorhanden ist, legt LILO kein neu- es Backup an! Sorgen Sie daher dafür, dass hier jeweils ein neuer, un- gebrauchter Dateiname verwendet wird. * compact Diese Option empfiehlt sich bei Installation des LILO auf Diskette. LILO ver- sucht dann, beim Start mehrere Sektoren auf einmal zu lesen und bootet u. U. schneller. Dies funktioniert leider nicht auf allen Maschinen. Bei Installation des LILO sollten Sie darauf verzichten: es ist sicherer, und der Zeitgewinn beträgt nur wenige Sekunden. * loader= Für das Laden eines fremden Bootsektors baut LILO in seiner Map-Datei einen Pseudo-MBR" (beim Booten startet erst LILO den Pseudo-MBR, und dieser dann den fremden Bootsektor). Diese Option gibt die Datei an, aus der der Code für den Pseudo-MBR zu nehmen ist. Voreinstellung und generell richtig: /boot/chain.b . Manchmal soll ein Betriebssystem, das von der ersten Festplatte gebootet werden will (z. B. DOS), dennoch mit LILO von einer anderen Platte gestartet werden. Die Zusatzoptionen map-drive= und to= gestatten es, diese beiden Platten anhand ihrer BIOS-Gerätenummern zu ver- tauschen". Beispiel: Datei 5.4.2. Der Loader os2_d.b dient dazu, OS/2 von der zweiten Festplatte zu booten2. Neu ab LILO-Version 20: auch bei diesem Loader muss das Vertauschen" der ersten beiden Festplatten nun ausdrücklich vorgeschrieben werden (wie im Beispiel Datei 5.4.2). * table= muss das Quell-Device für die Partitionstabelle angeben, die in den Pseudo-MBR soll (in der Regel /dev/hda oder /dev/sda). * disk= bios= cylinders= heads= sectors= 2any_b.b (Booten von B:) und any_d.b (Booten von der zweiten Festplatte) sind seit der LILO- Version 20 obsolet. 117 5 Booten und Bootmanager # Booting DOS from the second hard drive # DOS bootable partition config begins other = /dev/hdb1 label = DOS loader = /boot/chain.b map-drive = 0x80 # first hd: BIOS number 0x80 to = 0x81 # second hd: BIOS number 0x81 map-drive = 0x81 to = 0x80 table = /dev/hdb # DOS bootable partition config ends Datei 5.4.2: /etc/lilo.conf Auszug: DOS von 2. Festplatte booten Hier kann dem LILO für einzelne Festplatten direkt vorgeschrieben werden, welche BIOS-Gerätenummer und Geometrie er zur Adressierung von Sek- toren dieser Platte verwenden soll. Nur sehr selten erforderlich! Wichtigste Anwendung: IDE-SCSI-Mischsysteme: Wenn Sie ein BIOS haben, das die Bootreihenfol- ge SCSI vor IDE erlaubt, und Sie diese Möglichkeit nutzen wollen, muss LILO extra über die geänderte Reihenfolge der Festplatten aus BIOS-Sicht informiert werden. Dies geschieht durch Zusatzeintrag in den globalen Teil der lilo.conf wie z. B. in Datei 5.4.3 für den Fall eines Systems mit je einer IDE- und SCSI-Platte. # Enable LILO to correctly access /dev/sda and /dev/hda # at boot time if their boot order is interchanged in # the BIOS: disk = /dev/sda # The SCSI disk is regarded as ... bios = 0x80 # ... first BIOS disk; disk = /dev/hda # the IDE disk is regarded as ... bios = 0x81 # ... second BIOS disk. Datei 5.4.3: lilo.conf Auszug: Bootreihenfolge: SCSI vor IDE * linear Die Angabe dieser Option bewirkt, dass bei der Installation von LILO sämtli- che Referenzen auf Plattensektoren als logische anstelle physikalischer Adres- sen abgelegt werden, sodass sie unabhängig von der Festplattengeometrie werden. Diese Option ist für den Fall gedacht, dass bei manchen Plattencon- trollern das BIOS beim Systemstart eine andere Geometrie erkennt als das laufende Linux-System. Nur selten erforderlich! Die linear Option befreit nicht von der 1024-Zylinder-Grenze, die durch die BIOS-Geometrie der Boot-Festplatte festgelegt ist. Vgl. auch file:/usr/ share/doc/sdb/de/html/kgw_lilo_linear.html. * message= Verweist auf eine Textdatei, die von LILO beim Systemstart als Erstes ausge- geben wird. Der Text soll nicht mehr als 24 Zeilen haben (sonst scrollt" er 118 5.4 Ein LILO nach Maß: Konfiguration weg) und kann z. B. einen Überblick über die anstehende LILO-Bootauswahl geben. Empfohlen. Nunmehr wird in der Regel ein PCX-Bild als Startmeldung eingesetzt; zur Hintergrund-Information vgl. file:/usr/share/doc/sdb/de/html/jkoeke_bootgrafik.html. Hinweis Wird diese Option verwendet, so gehört die message-Datei zur LILO- Startmaschinerie. Jede Änderung dieser Datei macht eine Neuinstalla- tion von LILO erforderlich (Abschnitt 5.5 auf der nächsten Seite)! * password= Kann sowohl am Anfang im Parameter-Abschnitt, als auch in einzelnen Sys- temabschnitten stehen. Sichert den Zugriff auf die LILO-Dienste bzw. auf das Booten des betreffenden Systems mit einem Passwort ab. Wenn Sie da- mit Ernst machen, sollten Sie das Passwort nach der ersten Verwendung die- ser lilo.conf gleich wieder herauslöschen ­ als root können Sie sowieso jederzeit durch Neu-Installation von LILO ein neues Passwort setzen. ­ Es empfiehlt sich, zusätzlich die Option restricted zu setzen. Andernfalls kann man mit einem Parameter womöglich direkt eine Shell starten; vgl. die Manual-Page von lilo.conf (man lilo.conf)! * read-only Mit dieser Image-Option weist LILO den betreffenden Kernel an, die Root- partition zunächst read-only zu mounten, wie es beim Start von Linux- Sys- temen generell üblich ist. Wird diese Option weggelassen, verwendet der Kernel die in ihm selbst eingetragene Voreinstellung, die mit dem dem Kom- mando rdev -R angezeigt wird. Sie ist bei den Instal- lationskernel und auch bei einem neu-übersetzten Kernel ohnehin read-only (prüfen!), daher braucht man diese Option normalerweise nicht. * delay= Wenn der Prompt nicht zwingend vorgeschrieben worden ist, kann der Be- § ¤§ ¤ nutzer dennoch zur Startzeit von LILO durch Tastendruck ( ¤ ¦Shift ¥ , ¦Strg ¥ , § ¦Alt ¥ ) einen Prompt anfordern. Die delay Option gibt die Zeit vor, die LILO nach seinem Start auf einen solchen Tastendruck wartet, bevor er automatisch das erste System aus seiner Betriebssystem-Liste lädt. Die Voreinstellung ist 0, d. h. keine Wartezeit. Die delay Option ist natürlich überflüssig, wenn mit prompt sowieso ein Prompt zwingend angefordert wird. * vga= Wählt den VGA-Textmodus beim Start. Gültige Werte für sind normal (für 80x25), ext (für 80x50) oder ask (beim Booten fragen). Die bei Framebuffer-Kernel möglichen Werte sind in /usr/src/linux/Documentation/fb/vesafb.txt genannt und beschrie- ben. 119 5 Booten und Bootmanager * append="" Image-Option für Linux-Kernel. Ermöglicht die Übergabe von Kernel-Pa- rametern wie etwa bei der Übergabe von Hardwarekomponenten, genauso wie dies am LILO-Prompt möglich ist. Der Kernel erhält zuerst die append Zeile, dann die Eingaben am Prompt; daher überwiegen im Zweifelsfall die Eingaben am Prompt. Zum Beispiel: append="mcd=0x300,10" 5.5 Installation und De-Installation von LILO Bei einer Neuinstallation von Linux führt YaST den Benutzer interaktiv durch die nötigen Schritte. Ein Eingreifen von Hand ist bei der Installation von LILO i. Allg. nicht nötig. Hier möchten wir aber davon ausgehen, dass LILO mit spezi- ellen Optionen in ein bestehendes System integriert werden soll. Achtung Die Installation eines Bootmanagers ist ein tiefer Eingriff ins System und dementsprechend heikel. Vergewissern Sie sich vor der Installation von LI- LO auf jeden Fall, dass Sie Ihr Linux, und möglichst auch Ihre anderen vor- handenen Betriebssysteme, von Diskette booten können! Vor allem fdisk muss zur Verfügung stehen. Installation nach Änderung der Konfiguration Wenn sich an den LILO-Komponenten (siehe auf Seite 110) etwas geändert hat oder wenn Sie Ihre Konfiguration in /etc/lilo.conf modifiziert haben, müs- sen Sie LILO neu installieren. Dies geschieht durch einfachen Aufruf des sog. Map-Installers: erde: # /sbin/lilo Was dann geschieht, ist, dass LILO ein Backup des Ziel-(Boot-)Sektors anlegt, seine erste Stufe" in diesen Sektor schreibt und eine neue Map-Datei erzeugt (siehe auf Seite 110). LILO meldet nacheinander die installierten Systeme ­ z. B. im Fall unser obigen Beispielkonfiguration (s. Ausgabe 5.5.1): Added linux * Added suse Added windows Added memtest86 Ausgabe 5.5.1: Ausgaben beim Aufruf von LILO Nach abgeschlossener Installation kann der Rechner neu gestartet werden: erde: # shutdown -r now 120 5.5 Installation und De-Installation von LILO Nachdem das BIOS seinen Systemtest ausgeführt hat, meldet sich LILO mit sei- ner Eingabeaufforderung, an der Sie dem LILO Parameter für den Kernel über- § ¤ geben und das gewünschte Bootimage auswählen können. Mit ¦Tab ¥lassen sich die Bezeichnungen der installierten Konfigurationen auflisten. Installation nach Neu-Kompilierung des Kernels Wenn Sie einen neu kompilierten Kernel in Ihr Bootkonzept aufnehmen wollen, haben Sie neben der LILO-Neuinstallation von Hand noch eine weitere, und zwar bequemere Möglichkeit: Die Organisation der Befehle zum Konfigurieren und zum Erzeugen des Kernels ist in /usr/src/linux/Makefile niedergelegt; dort soll INSTALL_PATH=/boot festgelegt werden (vgl. Abschnitt 10.5 auf Seite 256). Dieses Makefile verfügt über ein target namens bzlilo, das nach ei- ner Kernel-Kompilierung automatisch den derzeit als /boot/vmlinuz (früher /vmlinuz) installierten Kernel nach /boot/vmlinuz.old kopiert, den neu er- zeugten Kernel nach /boot/vmlinuz schreibt und schließlich LILO neu instal- liert. Dazu reicht: erde:/usr/src/linux # make bzlilo Das ist freilich nur sinnvoll, wenn Ihre /etc/lilo.conf auf diesen LILO- Aufruf vorher vorbereitet worden ist und Ihr bisheriger Kernel wirklich unter /boot/vmlinuz liegt. Unter Ihren Images sollten Sie den neuen Kernel ­ und zur Sicherheit auch den alten ­ aufführen; etwa so, wie es in Datei 5.4.1 auf Sei- te 114 für suse geschehen ist. Wählen Sie beispielsweise als label den Namen Linux.old. Auf den suse-Kernel können Sie in jedem Fall zurückgreifen. Dadurch können Sie am LILO-Bootprompt sowohl den neuen Kernel starten als auch den alten ­ funktionierenden ­ Kernel (Name im Beispiel: Linux.old). So bauen Sie eine weitere Sicherheitsstufe ein, die dann von Nutzen ist, wenn das System mit dem neuen Kernel nicht booten kann. Zum Erzeugen eines neuen Kernels siehe Kapitel 10 auf Seite 251 ff. Entfernen von LILO Achtung Die Deinstallation eines Bootmanagers ist ein tiefer Eingriff ins System und dementsprechend heikel. Vergewissern Sie sich vor der Deinstallation von LILO auf jeden Fall, dass Sie Ihr Linux, und möglichst auch Ihre anderen Betriebssysteme ­ soweit vorhanden ­ von Diskette booten können! Sie geraten sonst möglicherweise in die unangenehme Lage, nicht mehr auf die Betriebssysteme auf Ihrer Festplatte zugreifen zu können. Vielleicht wird es eines Tages doch einmal nötig, LILO wieder zu deinstallieren. Dies geschieht, indem der Ziel-(Boot-)sektor, in dem LILO installiert worden ist, seinen vorigen Inhalt zurückerhält. Unter Linux ist das kein Problem, wenn 121 5 Booten und Bootmanager ein gültiges Backup vorhanden ist (vgl. Abschnitt 5.4.2 auf Seite 116, Option backup). Achtung Ein Bootsektor-Backup wird ungültig, wenn die betreffende Partition ein neues Dateisystem erhalten hat (DOS-Welt: formatiert worden ist). Die Par- titionstabelle in einem MBR-Backup wird ungültig, wenn die betreffende Festplatte zwischenzeitlich anders partitioniert worden ist. Solche Backups sind Zeitbomben": am Besten sofort löschen! Das Zurückspielen veralteter Backups in diese Systemsektoren ist ein ziemlich sicherer Weg zu massi- vem Datenverlust! Am einfachsten ist es, einen DOS-, Windows- oder OS/2-MBR wiederherzustel- len. Es geschieht mit dem MS-DOS-Befehl (verfügbar ab DOS-Version 5.0): C:\> fdisk /MBR bzw. dem OS/2-Befehl: C:\> fdisk /newmbr Diese Befehle schreiben nur die 446 ersten Bytes (den Boot-Code) in den MBR zurück und lassen die gegenwärtige Partitionstabelle unangetastet. Außer, wenn der MBR (siehe auf Seite 107) wegen einer falschen magischen Zahl" als im ganzen ungültig behandelt wird: dann wird die Partitionstabelle genullt!!. Nicht vergessen: Mit fdisk die von jetzt an gewünschte Startpartition wieder als aktiv (engl. bootable) kennzeichnen; die MBR-Routinen von DOS, Windows, OS/2 brauchen das! Ansonsten legen Sie zunächst von dem fraglichen LILO-Sektor ein weiteres fri- sches Backup an ­ sicher ist sicher. Dann prüfen Sie ­ wenigstens zweimal ;-) ­ ob Ihre alte Backup-Datei die richtige ist und ob sie genau 512 Byte groß ist. Schließlich spielen Sie sie dann zurück. Das Ganze geht mit den folgenden Be- fehlen (dabei if= und of= nicht verwechseln!!): * Wenn LILO in Partition yyyy (z. B. hda1, hda2,. . . ) residiert: erde: # dd if=/dev/yyyy of=Neue-Datei bs=512 count=1 erde: # dd if=Backup-Datei of=/dev/yyyy * Wenn LILO im MBR der Platte zzz (z. B. hda, sda) residiert: erde: # dd if=/dev/zzz of=Neue-Datei bs=512 count=1 erde: # dd if=Backup-Datei of=/dev/zzz bs=446 count=1 Der letzte Befehl ist vorsichtig" und schreibt gleichfalls nicht in die Partiti- onstabelle. Auch hier nicht vergessen: Mit fdisk anschließend die von jetzt an gewünschte Startpartition wieder als aktiv (engl. bootable) kennzeichnen. Übrigens: beachten Sie, wie schnell so ein Bootsektor-Backup geht! Zur häufi- geren Anwendung empfohlen. 122 5.6 Linux-Bootdiskette erzeugen 5.6 Linux-Bootdiskette erzeugen Eine Linux-Bootdiskette besteht - vereinfacht gesagt - aus einem oder mehre- ren Linux-Kerneln, eventuell gemanagt von LILO. Sie dient dem Zweck, Ihr Li- nux-System auf der Festplatte auch dann zu starten, wenn das Booten direkt von der Platte nicht mehr möglich ist. Mögliche Anlässe dafür können sein: MBR überschrieben, falsch konfigurierter Bootmanager, Fehler bei der LILO-Installa- tion. Eine solche Bootdiskette lädt nur den Kernel: alles andere (init, Startskripten, wichtige Systemprogramme) wird von Ihrem System erwartet und muss nach wie vor funktionsfähig sein. Die Verbindung von der Bootdiskette zum System auf der Festplatte wird dadurch hergestellt, dass in dem Kernel die betreffende Root-Partition als Root-Device eingestellt wird. Dies ist nicht zu verwechseln mit den SuSE-Bootdisketten für Installations- und Rettungssystem, von denen Sie anhand der Abbilddateien (engl. image files) un- ter /disks auf der ersten CD jederzeit neue Exemplare herstellen können (vgl. Abschnitt 13.6 auf Seite 329). Bootdiskette ohne LILO Im Normalfall, d. h. wenn Sie Unterstützung für den Festplatten-Controller in den Kernel hineincompiliert haben ( monolithischer" Kernel), benötigt Ihr Ker- nel beim Starten keine zusätzliche Kommandozeile mit Hardware-Info usw. Der schnellste Weg zu einer Bootdiskette für Ihr Linux-System besteht dann einfach darin, Ihren aktuellen Kernel auf eine rohe, fehlerfreie Diskette zu schreiben und, falls nicht schon vorher geschehen, das Root-Device richtig einzustellen: erde: # /sbin/badblocks -v /dev/fd0 1440 erde: # dd if=Ihr_Kernel of=/dev/fd0 bs=18k erde: # rdev /dev/fd0 Ihre_Root_Partition erde: # rdev -R /dev/fd0 1 Der erste Befehl prüft die Diskette auf fehlerhafte Blöcke (1 Block = 1 k). Der letzte Befehl sorgt dafür, dass der Kernel die Root-Partition zunächst read-only mountet, wie es sich gehört (die Systemstart-Skripten verlassen sich darauf). Bootdiskette mit LILO Eine komfortablere Bootdiskette mit Begrüßungsmeldung, Eingabeaufforderung für Kernel und Kernelparameter sowie den sonstigen LILO-Goodies wird erzeugt, indem man eine komplette LILO-Startmaschinerie auf die Diskette überträgt (vgl. auf Seite 110). Dazu braucht die Diskette ein Dateisystem, am Besten minix. Gehen Sie zum Selbermachen im Einzelnen wie folgt vor: * Auf neuer, leerer Diskette ein minix-Dateisystem anlegen ­ zur Sicherheit mit Fehlerprüfung ­ und, wenn erfolgreich, mounten, z. B. unter /mnt: erde: # /sbin/mkfs.minix -c /dev/fd0 1440 erde: # /bin/mount /dev/fd0 /mnt 123 5 Booten und Bootmanager * Ihre Kernel-Dateien und die LILO-Datei /boot/boot.b nach /mnt (d. h. auf die Diskette) kopieren. * Optional: Eine Datei /mnt/message für die Begrüßungsmeldung anlegen. * In /mnt eine eigene lilo.conf anlegen wie in Datei 5.6.1. Natürlich müs- sen Sie noch die tatsächliche Root-Partition statt Ihr_Root_Device eintra- gen: # LILO Konfigurations-Datei Bootdiskette # Start LILO global Section boot=/dev/fd0 # Installationsziel: Floppy install=/mnt/boot.b # Natürlich LILO und map=/mnt/map # Map-Datei auf die Floppy! message=/mnt/message # optional prompt timeout=100 # Warten am Prompt: 10 s vga = normal # # End LILO global section ## Linux bootable partition config begins image = /mnt/vmlinuz # default root = /dev/Ihr_Root_Device # Root-Partition hierher! label = linux # Linux bootable partition config ends ## Systemabschnitte für weitere Kernel hier: Datei 5.6.1: lilo.conf für Bootdiskette * Wenn Sie eine initrd verwenden, bitte auch diese in die lilo.conf ein- tragen; vgl. die Hinweise in Abschnitt 13.4.3 auf Seite 322. * LILO mit dieser lilo.conf installieren: erde: # /sbin/lilo -C /mnt/lilo.conf * Floppy unmounten", fertig! erde: # /bin/umount /mnt * Nicht vergessen: Bootdiskette ausprobieren, ob sie wirklich funktioniert. 5.7 Beispielkonfigurationen Wenn Ihr neues Linux allein auf dem System ist, besteht zunächst gar kein Hand- lungsbedarf. Denn alles Nötige wurde im Rahmen der Installation unter YaST erledigt. Es folgen einige Beispiele für Mehrsystem-Rechner. Weitere Informationen fin- den Sie unter /usr/share/doc/howto/en/mini/Linux+*.gz. 124 5.7 Beispielkonfigurationen 5.7.1 DOS/Windows 95/98 und Linux Voraussetzung: Für DOS/Windows 95/98 und Linux steht jeweils eine primäre Partition unter der 1024-Zylinder-Grenze zur Verfügung (vgl. auf Seite 111); die Linux Boot-Partition kann auch eine logische Partition sein, sofern diese ganz unter der 1024-Zylinder-Grenze liegt. Für diesen Fall wurde eine geeignete Konfiguration bereits besprochen (vgl. Da- tei 5.4.1 auf Seite 114) ­ nur die Angaben bei root, image und other sind an die tatsächlichen Verhältnisse anzupassen. LILO wird im MBR installiert. Heben Sie die /etc/lilo.conf gut auf, des weiteren eine Bootdiskette für Ihr Linux! Gerade Windows 95/98 neigt verschiedentlich dazu, fremde" MBRs kurzerhand zu eliminieren. Wenn Sie Linux danach noch mit einer Bootdiskette starten können, ist dieses Problem rasch behoben mit dem einfachen Befehl erde: # /sbin/lilo 5.7.2 Windows NT und Linux auf einer Festplatte 1. Möglichkeit: Zum Booten wird der Bootmanager von NT benutzt. Dieser kann neben Bootsektoren auch Abbilddateien solcher Bootsektoren starten. Mit den folgenden Schritten lässt sich eine Koexistenz von Linux und Win- dows NT erreichen: * Installation von NT. * Einen Datenträger (Festplatten-Partition oder fehlerfreie Floppy) bereit- halten mit einem Dateisystem, das Linux beschreiben und NT lesen kann, z. B. FAT. * Linux wie üblich" installieren (als Root-Partition nehmen wir hier im Beispiel mal /dev/sda3 an). FAT-Datenträger (z. B. unter /dosa) moun- ten. Achtung: nicht die verfälschenden mount-Optionen conv=auto oder conv=text verwenden! * LILO in der Linux-Rootpartition (also /dev/sda3) installieren, nicht in den MBR (/dev/sda)! Sie haben dabei nach wie vor die Möglichkeit, für LILO eine Auswahl unter mehreren Linux-Kernelimages zu konfigurieren. Als Beispiel für eine lilo.conf siehe Datei 5.7.1 auf der nächsten Seite. * Kopieren des LILO-Bootsektors in eine Datei auf dem FAT-Datenträger, z. B. erde: # dd if=/dev/sda3 of=/dosa/bootsek.lin bs=512 count=1 Dieser Schritt, wie auch der folgende, muss natürlich nach jedem Kernel- Update wiederholt werden! * NT booten. Die Datei bootsek.lin vom FAT-Datenträger ins Hauptver- zeichnis des NT-Systemlaufwerks kopieren, falls die Datei nicht schon dort ist. * In der Datei boot.ini (Attribute setzen) folgenden Eintrag am Ende er- gänzen: c:\bootsek.lin="Linux" 125 5 Booten und Bootmanager # LILO Konfigurations-Datei: Rootpartition /dev/sda3 # startbar machen # Start LILO global Section boot=/dev/sda3 # Installationsziel backup=/boot/boot.sda3.980428 # Backup für den vorigen # Bootsektor prompt timeout=100 # Warten am Prompt: 10 s vga = normal # force sane state # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz # default image to boot root = /dev/sda3 # Root-Partition hierher! label = Linux # Linux bootable partition config ends Datei 5.7.1: lilo.conf zum Startbar-Machen einer Linux-Rootpartition * Beim nächsten Booten sollte ­ wenn alles geklappt hat ­ ein entsprechen- der Eintrag im NT-Bootmanager vorhanden sein! 2. Möglichkeit, leider nicht immer praktikabel: LILO im MBR installieren und für Windows NT so tun, als sei es DOS (wie im vorigen Beispiel); aber Ach- tung: Dies scheint bei neueren NT-Versionen nicht mehr zu funktionieren, da es nur zu starten scheint, wenn es spezielle (undokumentierte) Sequenzen im MBR findet, von denen LILO leider nichts weiß :-( Achtung Windows NT (3.5* und 4.0) kennt die von Linux verwendeten Partitionsty- pen 82 und 83 nicht! Achten Sie darauf, dass kein NT-Programm die Par- titionstabelle dahingehend repariert": es droht Datenverlust! Halten Sie si- cherheitshalber gültige Backups des LILO-MBR bereit. 5.7.3 OS/2 und Linux 1. Möglichkeit: Zum Booten wird der Bootmanager von OS/2 benutzt. Dieser kann beliebige primäre und logische Partitionen innerhalb der 1024-Zylin- der-Grenze starten ­ die Verantwortung dafür, dass sie wirklich startbar sind, liegt beim Benutzer. Der Bootmanager wird mit dem fdisk von OS/2 konfi- guriert. Vorbereitung auf Seiten von Linux: Eine primäre Linux-Partition (üblicher- weise: die Root-Partition) mit LILO startbar machen. Geeignet dafür ist wie- der lilo.conf wie in Datei 5.7.1. Aber vorher gibt es noch etwas zu be- denken. . . : 126 5.7 Beispielkonfigurationen Vorbereitung auf Seiten von OS/2: OS/2 begnügt sich bei der Buchfüh- rung über die vorhandenen Partitionen (in den MBRs der Festplatten und den Partitionssektoren der erweiterten und logischen Partitionen) nicht mit den konventionellen, allgemein verständlichen Einträgen, sondern nutzt frei- en Platz in diesen Sektoren zum Speichern von Zusatzinformationen. Sind diese inkonsistent, so sieht fdisk von OS/2 die Partitionstabelle als fehlerhaft an und verweigert Bootmanager-Dienste. Die fdisk-Programme anderer Be- triebssysteme pflegen diese Zusatzinformationen natürlich nicht. . . Konflikte sind vorprogrammiert. Daher vor der Linux-Installation zuerst OS/2 laden (das Installationssystem genügt) und die Linux-Partitionen, zumindest die logischen, mit fdisk von OS/2 anlegen. Dies ergibt zunächst weitere OS/2-Laufwerke, die unter Um- ständen arg stören können. Abhilfe: gleich danach das Linux-Installationssystem (oder das Rettungssys- tem) von der SuSE Linux CD laden und für die Linux-Partitionen mit fdisk von Linux den Typ in 83 (Linux native) ändern. Damit werden diese Parti- tionen in Zukunft von OS/2 ordnungsgemäß ignoriert. 2. Möglichkeit: Als Haupt-Bootmanager wird LILO in einer primären Partition der ersten Platte benutzt. Dies ist ein Spezialfall des nächstfolgenden Bei- spiels, in dem auch noch DOS dabei ist. Weniger günstig ist die Verwendung des MBR, da jede Umpartitionierung mit einem fremden fdisk denselben neu schreiben und damit LILO entfernen könnte. 5.7.4 DOS, OS/2 und Linux 1. Wenn Sie für DOS und OS/2 den OS/2 Bootmanager verwendet haben und ihn weiterverwenden wollen, nehmen Sie am einfachsten Linux in dessen Start-Menü auf: genauso wie im letzten Beispiel beschrieben. 2. Möglichkeit: Als Haupt-Bootmanager wird LILO in einer primären Partition der ersten Platte benutzt. Das folgende kompliziertere Beispiel für lilo.conf (Datei 5.7.2 auf der nächsten Seite nimmt an, dass die Startpartitionen für DOS (primär) und Linux (primär) auf der ersten, die für OS/2 (logisch) auf der zweiten Plat- te liegen ­ alle jeweils innerhalb der 1024-Zylinder-Grenze. OS/2 liegt auf der zweiten Platte, daher wird statt /boot/chain.b der spezielle Loader /boot/os2_d.b verwendet. Es ist gleichgültig, ob der MBR-Code von MS-DOS oder OS/2 stammt. In der Partitionstabelle ist mit einem fdisk-Programm die LILO-Partition /dev/ sda4 als Startpartition (aktiv) zu markieren. 127 5 Booten und Bootmanager # LILO Konfigurations-Datei # Start LILO global Section boot = /dev/sda4 # LILO in Linux Root-Partition backup = /boot/boot.sda4.970428 message = /boot/message # Begruessungsbildschirm prompt delay = 100 vga = normal ## Linux bootable partition config begins image = /boot/vmlinuz label = linux root = /dev/sda4 # Linux bootable partition config ends ## OS/2 bootable partition config begins other = /dev/sdb5 table = /dev/sdb label = os2 loader = /boot/os2_d.b # New for LILO v20 and newer: interchange disk drives: map-drive = 0x80 # first hd: BIOS number 0x80 to = 0x81 # second hd: BIOS number 0x81 map-drive = 0x81 to = 0x80 # OS/2 bootable partition config ends ## DOS bootable partition config begins other = /dev/sda1 table = /dev/sda label = dos # DOS bootable partition config ends Datei 5.7.2: LILO mit DOS, OS/2 und Linux auf zwei Festplatten 128 5.8 Probleme mit LILO 5.8 Probleme mit LILO Einige Richtlinien Zu Beginn ein paar einfache Richtlinien, mit denen die meisten LILO-Probleme von vorneherein vermieden werden können (entnommen dem LILO-Benutzer- handbuch [Alm96]): * Keine Panik! Wenn etwas nicht geht: versuchen Sie erst, den Fehler und die Ursache zu finden; überprüfen Sie die Diagnose und beginnen Sie erst dann mit Maßnahmen zur Fehlerbehebung. * Halten Sie stets eine aktuelle und erprobte Bootdiskette" bereit. SuSE Linux enthält eigenständiges Rettungssystem (siehe Abschnitt 13.6 auf Seite 329), mit dem Sie an alle Linux-Partitionen wieder herankommen. Mit enthalten ist genügend Werkzeug, um die allermeisten Probleme mit unzu- gänglich gewordenen Festplatten zu lösen. * Lesen Sie die Dokumentation. Vor allem dann, wenn das System nicht tut, was es Ihrer Meinung nach tun sollte. * Vor jedem Aufruf des Map-Installers (/sbin/lilo): überprüfen Sie sorg- fältig die Konfigurationsdatei /etc/lilo.conf . * Rufen Sie /sbin/lilo jedesmal auf, wenn irgendein Bestandteil der LI- LO-Startmaschinerie oder die LILO-Konfigurationsdatei /etc/lilo.conf geändert worden ist. * Aufmerksamkeit ist bei großen oder bei mehreren Festplatten geboten: be- rücksichtigen Sie die 1024-Zylinder-Grenze! * Probieren Sie es ohne und mit Option linear (meist besser: ohne!). 5.8.1 Fehlerdiagnose: LILO Start-Meldungen Hier wiederholen wir im Wesentlichen in Übersetzung einen Abschnitt aus [Alm96], der LILO-Beschreibung von WERNER ALMESBERGER. Der LILO-Systemstart-Code besteht aus zwei Teilen: der ersten Stufe in einem Bootsektor und der zweiten Stufe in /boot/boot.b. Bei der Installation von LILO wird eine Map-Datei" erzeugt (standardmäßig /boot/map), in der LI- LO die nötigen Zeiger (Sektoradressen) auf die Betriebssysteme (Linux-Kernel usw.) findet, die er starten soll. Wenn LILO geladen wird, zeigt er das Wort `LILO' an. Jeder Buchstabe ent- spricht der Vollendung einer spezifischen Phase. Wenn LILO nicht starten kann, bilden die bereits ausgegebenen Buchstaben einen genaueren Hinweis darauf, in welchem Stadium ein Problem aufgetreten ist. (nichts) Kein Teil von LILO wurde geladen. Entweder LILO ist gar nicht instal- liert, oder es wurde nicht die Partition mit dem LILO-Bootsektor gestartet. 129 5 Booten und Bootmanager `L' error ... Die erste Stufe" wurde geladen und gestartet, aber sie konn- te die zweite Stufe (/boot/boot.b) nicht laden. Dies weist üblicherweise auf einen physikalischen Fehler des Boot-Datenträgers oder eine fehlerhafte Platten-Geometrie hin. `LI' Die zweite Stufe von LILO wurde geladen, konnte aber nicht gestartet werden. Dies kann verursacht werden durch eine fehlerhafte Platten-Geome- trie oder durch Verschieben von /boot/boot.b ohne Neuinstallation von LILO. `LIL' Die zweite Stufe von LILO wurde gestartet, konnte aber die nötigen Da- ten (Zeiger usw.) nicht aus der Map-Datei laden. Dies wird typischerweise verursacht durch einen physikalischen Fehler des Boot-Datenträgers oder ei- ne fehlerhafte Platten-Geometrie. `LIL?' Die zweite Stufe von LILO wurde an eine falsche Speicheradresse gela- den. Dies wird typischerweise verursacht durch einen subtilen Fehler in der Platten-Geometrie oder durch Verschieben von /boot/boot.b ohne Neuin- stallation von LILO. `LIL-' Die Daten in der Map-Datei sind ungültig. Dies wird typischerweise verursacht durch einen Fehler in der Platten-Geometrie oder durch Verschie- ben von /boot/boot.b ohne Neuinstallation von LILO. `LILO' Alle Teile von LILO wurden erfolgreich geladen. Fehlerursache beseitigen Die häufigsten Ursachen für Geometriefehler sind nicht physikalische Defekte oder ungültige Partitionstabellen, sondern Fehler bei der Installation von LILO­ vor allem die Missachtung der 1024-Zylinder-Grenze (s. den Abschnitt 5.8.2 auf der nächsten Seite). In den meisten Fällen läuft die Abhilfe auf die folgenden drei Maßnahmen hin- aus: 1. Die LILO-Daten unterhalb der 1024-Zylinder-Grenze installieren (falls noch nicht geschehen). Das bezieht sich auf die benötigten Linux-Kernel, den Inhalt des Verzeichnisses /boot und auch den Bootsektor, der den LILO- Startcode aufnehmen soll. 2. LILO neu installieren mit dem Befehl lilo als `root' Ein informatives Log liefert lilo, wenn Sie die Gesprächigkeit (engl. ver- bosity) erhöhen und Logdateien anlegen lassen. Das geht wie folgt: erde: # lilo -v -v -v >/boot/lilo.log 2>/boot/lilo.logerr In /boot/lilo.logerr sollte bei einer korrekten Bootkonfiguration gar nichts stehen. In /boot/lilo.log können Sie u. a. genau nachlesen, wie LILO sich die Lokationen seiner Dateien merkt, welche BIOS-Gerätenum- mern LILO für die betroffenen Festplatten verwendet und mehr. 130 5.8 Probleme mit LILO 3. Konsistenz der Festplattengeometrie-Informationen prüfen. Tatsächlich sind dazu bis zu vier Stellen von Belang: a) Geometrie, die LILO verwendet. Siehe die oben genannte Logdatei. Be- einflussbar durch die Angabe disk in lilo.conf; vgl. auf Seite 118 b) Geometrie, die der Linux-Kernel erkannt hat. Siehe die Boot-Meldungen (/var/log/boot.msg oder die Ausgabe des Befehls dmesg). Beein- flussbar durch: Kernelparameter (in Grenzen); vgl. Abschnitt 11.3.2 auf Seite 269. c) Geometrie, die der Partitionstabelle zu Grunde liegt. Siehe die Ausga- be von fdisk -l. Beeinflussbar durch fdisk-Expertenbefehle. Sehr ge- fährlich für die Daten! Vollbackup vorher dringend empfohlen! Wirklich nur für Experten! d) Geometrie, die das BIOS erkannt hat. Diese Geometrie findet LILO später beim Systemstart vor und muss mit ihr arbeiten. Siehe das BIOS-Setup, eventuell auch das des SCSI-Hostadapters (falls vorhanden). Beeinfluss- bar durch das BIOS-Setup. Bei Inkonsistenzen ist für die Entscheidung Wo anpassen?" oft der Weg des geringsten Widerstandes" die beste Methode. Zur Problembeseitigung sind also folgende Daten zu erheben: * /etc/lilo.conf * Ausgabe des Befehls fdisk -l (Partitionierung) * oben genannte Logdateien * Einstellungen des BIOS und des SCSI-BIOS zu Ihren Festplatten 5.8.2 Die 1024-Zylinder-Grenze Hinweis Seit kurzer Zeit sind BIOS-Versionen verfügbar, die es erlauben, Betriebs- systeme oberhalb der 1024-Zylinder-Grenze zu starten. Die aktuelle Versi- on von LILO kann diese BIOS-Erweiterung nutzen. YaST und YaST2 wird Sie bei der LILO-Konfiguration entsprechend über die Möglichkeiten Ihres BIOS informieren. Sollte Ihr BIOS nicht über diese Erweiterung verfügen, sollten Sie hier unbedingt weiterlesen. Wie schon mehrfach betont (z. B. auf Seite 111), muss die gesamte LILO-Start- maschinerie, d. h. alle Daten, die LILO zum Starten benötigt, mit BIOS-Routi- nen allein zugänglich sein. Welche Festplatten-Bereiche demnach dafür in Frage kommen (wir nennen das im Folgenden kurz: zulässiger Bereich), haben wir dort bereits ausgeführt. Welche Möglichkeiten lässt diese Einschränkung nun offen? Eigentlich noch ei- ne ganze Menge, wenn man bedenkt, dass nur die Startmaschinerie betroffen ist. 131 5 Booten und Bootmanager Es gibt kein Gesetz, nach dem diese in der Linux-Rootpartition liegen müsste: ja, es ist im Notfall sogar möglich (wenn auch nicht ganz ungefährlich), Dateien der Startmaschinerie auf Partitionen fremder Betriebssysteme unterzubringen, wenn nur Linux Lese- und Schreibzugriff auf deren Dateisysteme hat. Achtung Sie müssen sich nur davor hüten, den LILO-Bootsektor in eine fremde Par- tition zu installieren, weil damit in der Regel deren Dateisystem beschädigt wird! * Die sauberste Lösung" besteht auf jeden Fall darin, bei der Linux-Instal- lation eine primäre Linux-Partition ganz innerhalb des zulässigen Bereichs anzulegen und die LILO-Daten (einschließlich des LILO-Bootsektors) dort unterzubringen. Bei der Installation mit YaST wird dafür eine eigene Partition (/boot) vorge- sehen, die lediglich groß genug ist, um die folgenden Dateien aufzunehmen: ­ boot.b, map, message, ­ die Linux-Kernel, die LILO booten soll. Es genügen also wenige Megabytes. Das ganze übrige System unterliegt hin- sichtlich der Lokation auf der/den Festplatte(n) keiner Einschränkung: wenn der Kernel erst einmal läuft, hat er uneingeschränkten Zugriff auf alle Fest- platten im System. Aber was tun, wenn für so eine Partition kein Platz mehr ist? Wenn Sie nicht umpartitionieren wollen oder können, und auch ein Upgrade auf SCSI oder ein modernes BIOS nicht in Frage kommt, gibt es doch noch zwei behelfsmäßige Möglichkeiten: * An Stelle von LILO auf der Platte eine Bootdiskette oder, wenn Sie MS-DOS betreiben, loadlin verwenden, um Linux zu booten. * Die LILO-Startmaschinerie auf einer Nicht-Linux-Partition unterbringen, die ganz im zulässigen Bereich liegt, und auf die Linux schreiben kann (z. B. ein FAT/VFAT DOS-Laufwerk). Natürlich können wir den LILO-Bootsektor nicht auch dorthin schreiben! So bleiben dafür nur übrig: der Anfang einer erweiterten Partition auf der ersten Platte ­ sofern vor Zylinder 1024 ­ oder der MBR. Nehmen wir an, die betreffende Partition ist unter /mnt gemoun- tet. LILO soll in den MBR, etwa /dev/hda, und soll zusätzlich DOS von /dev/hda1 booten. Dann ist das Vorgehen wie folgt: ­ Neues Verzeichnis, z. B. /mnt/LINUX anlegen und die eben schon genannten LILO-Dateien aus /boot dorthin kopieren: boot.b, map, message, sowie die Chain-Loader für Ihre anderen Betriebssysteme (i. Allg. chain.b) und die Linux-Kernel, die LILO booten soll. ­ Legen Sie eine /mnt/LINUX/lilo.cfg an, in der alle Pfade nach /mnt/ LINUX verweisen (Datei 5.8.1 auf der nächsten Seite): 132 5.8 Probleme mit LILO # LILO Konfigurations-Datei Fremdverzeichnis # Start LILO global Section boot=/dev/hda # Installationsziel backup=/mnt/LINUX/hda.xxxx # backup alter MBR install=/mnt/LINUX/boot.b # Natürlich sind LILO und map=/mnt/LINUX/map # Map-Datei in /mnt/LINUX! message=/mnt/LINUX/message # optional prompt timeout=100 # Warten am Prompt: 10 s vga = normal # # End LILO global section ## Linux bootable partition config begins image = /mnt/LINUX/Erster_Kernel # default root = /dev/Ihr_Root_Device # Root-Partition hierher! label = linux # Linux bootable partition config ends ## Systemabschnitte für weitere Kernel hier: ## Ende Linux # DOS bootable partition config begins other = /dev/hda1 # MSDOS-Systemlaufwerk label = dos loader = /mnt/LINUX/chain.b table = /dev/hda # DOS bootable partition config ends Datei 5.8.1: lilo.cfg für fremde Partition 133 5 Booten und Bootmanager ­ LILO mit dieser lilo.cfg installieren: erde: # /sbin/lilo -C /mnt/LINUX/lilo.cfg Danach sollte LILO funktionieren. Booten Sie MS-DOS und schützen Sie die LILO-Dateien, so gut es geht, gegen Schreibzugriffe. (Zur Erinnerung: jeder solche setzt LILO außer Funktion!) Zumindest geben Sie allen Da- teien in X:\LINUX (wo X: das eben unter /mnt gemountete MS-DOS- Laufwerk ist) die DOS-Attribute System und Versteckt. Abschließend möchten wir zum selben Thema noch verweisen auf die zwei HOWTOs LILO.gz und Large-Disk.gz in /usr/share/doc/howto/en/ mini/. 5.8.3 Spezielle Bootprobleme mit Kernel ab 2.0 Beim Booten mit LILO ­ egal, ob von Diskette oder Festplatte ­ treten nach dem Laden eines großen Kernels (z. B. SuSE-Installations-Kernel) zum Teil Probleme auf :-( Zwar kann am LILO-Prompt ein Kernel gewählt werden, der Kernel wird auch geladen (es werden einige Punkte angezeigt), aber der Start des Kernels klappt nicht. Das heißt, bevor die Meldung "uncompressing Linux" kommt, stürzt das System mit unterschiedlichen Reaktionen ab. Mögliche Fehlermeldungen oder -erscheinungen: * System bootet neu * System bleibt einfach stehen * "crc-error" * "no free space" * "Error 0x00" * "Error 0x01" * "incomplete literal tree" Danach wird zum Teil noch auf die Diskette zugegriffen, aber das System steht. Die Ursache dafür liegt in einer Kombination aus großen Kernels, LILO und mangelhafter Hardware. Es sind grob geschätzt ein Prozent der Rechner betrof- fen. Wir vermuten, dass ein fehlerhaftes BIOS Probleme mit dem schnellen Spei- cherzugriff hat. ­ Das Problem tritt nicht auf, wenn * Linux mit Loadlin (Abschnitt 5.9 auf der nächsten Seite) geladen wird, * der Kernel z. B. mit erde: # dd if=/boot/vmlinuz of=/dev/fd0 auf eine Floppy kopiert und direkt von dort geladen wird, 134 5.9 Einrichten des Bootmechanismus mit loadlin * ein kleinerer Kernel, der mit erde: # make zImage erstellt wurde, mit LILO gebootet wird. Folgende BIOS-Einstellungen konnten ebenfalls problemlos booten: * Internal Cache abschalten (disable) * DRAM Precharge Wait State auf 1 und * DRAM Wait Burst Timing auf 0x3333 Lösung Zunächst einmal muss ein System installiert werden können. Falls Sie nicht mit loadlin (bzw. setup.exe) direkt booten können, sollten Sie zur Installation zu- nächst eine alte 1.2.13-Bootdisk verwenden. Falls Sie keine zur Verfügung ha- ben, stellen Sie die BIOS-Parameter um. Nach erfolgreicher Installation, stellt sich die Frage, wie man denn nun sein Sys- tem booten kann. Zunächst bootet man mit demselben Medium wie zur Instal- lation. Mit Loadlin von der DOS-Partition gibt es ja keine Problem. Bei einer Bootdiskette geben Sie dazu als Parameter an: load_ramdisk=0 root=/dev/ wobei Ihre Rootpartition, z. B. hda1, ist. 5.9 Einrichten des Bootmechanismus mit loadlin Es soll nun mit loadlin noch eine weitere Methode vorgestellt werden, SuSE Li- nux zu booten. loadlin ist ein DOS-Programm, das in der Lage ist, einen in einem DOS-Verzeichnis gespeicherten Linux-Kernel zu starten. loadlin fügt sich naht- los in eine bestehende DOS/Windows 9x-Umgebung ein und kann mit Hilfe des Windows Bootmanagers komfortabel gestartet werden. Da kein Eintrag in den MBR erfolgt, sieht Windows von Linux lediglich eine oder mehrere Partitionen mit ihm unbekannten Kennungen (engl. IDs). Die Gefahr unerwünschter Neben- effekte aufgrund der Existenz von Linux auf Ihrem System ist so minimiert. Das hier beschriebene Vorgehen funktioniert auf Windows 95 und Windows 98. Die gezeigten Konfigurationsdateien wurden unter Windows 95 entwickelt; es ist deshalb im Folgenden nur von Windows 95 die Rede. Wenn Sie loadlin verwenden möchten, um Ihr Linux zu starten, müssen Sie diesen Weg vorbereiten. Je nach Systemgegebenheiten müssen Sie auch einige Startdateien modifizieren. Prinzipiell können Sie loadlin auf zwei Arten aktivieren: indem Sie beim System- start via Bootmenü zwischen mehreren Konfigurationen wählen oder indem Sie aus dem laufenden System heraus loadlin aktivieren und zu Linux überwechseln. Beide Methoden haben Ihre Vor- und Nachteile: 135 5 Booten und Bootmanager * Das Bootmenü spart den Umweg über ein anderes Betriebssystem, um Linux zu starten. * In ein Bootmenü können Sie weitere Konfigurationen einbauen und sich so einen universellen Startmechanismus aufbauen. * Sie müssen allerdings die Startdateien modifizieren, um ein Bootmenü aufzu- bauen; eventuell ist dazu Probieren nötig. In den DOS-Hilfedateien können Sie eventuell fündig werden; geben Sie einmal help menu ein. * Am DOS-Prompt ist der Wechsel zu Linux sehr einfach. * Unter Windows 95 kann man den Linux-Start schön in die grafische Ober- fläche integrieren. Mit einem Doppelklick auf ein Icon können Sie zu Linux wechseln. Es ist jedoch auch unter Windows 95 ein Bootmenü möglich (Win- dows 95 enthält DOS 7.0). Tipp Verwenden Sie nach Möglichkeit ein Boot-Menü, wenn Sie nach dem Einschalten direkt Linux booten wollen. Die DOS-Prompt- bzw. Dop- pelklick-Methode kann zusätzlich verwendet werden, wenn Sie von DOS/Windows 95 nach Linux wechseln wollen. Mit Startmenüs und der Windows 95-Konfiguration kann man sich recht in- tensiv auseinandersetzen ­ Sie werden verstehen, dass wir das Thema hier nur recht gradlinig behandeln. 5.9.1 Notwendige Dateien für loadlin Das müssen Sie immer tun (unter DOS, Windows 3.x und Windows 95): 1. Vermutlich haben Sie loadlin bereits installiert. Wenn nicht, müssen Sie zu- erst loadlin von der CD 1 via setup installieren. 2. Wechseln Sie (unter MS-DOS) in das Verzeichnis c:\loadlin. Dort finden Sie eine Datei linux.par. Erstellen Sie mit einem Editor in diesem Ver- zeichnis eine Datei mit Namen startlin.bat (oder einem anderen, Ihnen passenden Namen). In die Datei schreiben Sie z. B. eine Zeile wie in Da- tei 5.9.1. c:\loadlin\loadlin @c:\loadlin\linux.par Datei 5.9.1: Beispiel einer Batchdatei für den Linux-Start Nun editieren Sie in der Datei linux.par die folgende Zeile wie in Da- tei 5.9.2 auf der nächsten Seite. 136 5.9 Einrichten des Bootmechanismus mit loadlin c:\loadlin\zimage # first value must be # the filename of the Linux-kernel initrd=c:\loadlin\initrd root=/dev/xxx # the device which gets mounted as root FS ro # mount root read-only Datei 5.9.2: Beispiel einer Parameterdatei für den Linux-Start Statt xxx tragen Sie den Devicenamen Ihrer Rootpartition ein (Sie hatten sich den Namen in Abschnitt 3.4.11 auf Seite 64 aufgeschrieben). Den initrd- Eintrag benötigen Sie nur, wenn Sie beispielsweise SCSI-Unterstützung gleich beim Booten hinzuladen müssen (zum Konzept der initial ramdisk" vgl. Abschnitt 13.4 auf Seite 320). Mit der Datei startlin.bat können Sie Ihr Linux jederzeit vom DOS-Prompt aus starten. Die Datei linux.par wird sowohl von startlin.bat als auch von config.sys verwendet und enthält alle zum Booten von Linux notwendigen Parameter. Wenn Sie mit Linux vertraut geworden sind, können Sie in linux.par auch andere Boot- Parameter einfügen und/oder ersetzen. Haben Sie sich später einmal Ih- ren eigenen Kernel gebaut, kopieren Sie diesen vom Linux-Filesystem nach c:\loadlin\zimage und es wird fortan dieser Kernel gebootet; bei Bedarf müssen Sie dort auch eine neu generierte initrd ablegen. 5.9.2 Bootmenüs einrichten So richten Sie ein Bootmenü unter DOS bzw. Windows 3.x ein: 1. Als erstes müssen Sie in der Datei c:\config.sys ein Bootmenü definie- ren. Tragen Sie dazu etwas ähnliches wie in Datei 5.9.3 ein. [Menu] menuitem=Win, Windows starten... menuitem=DOS, MS-DOS starten... menuitem=Linux, Linux starten... menucolor=15,1 menudefault=Win,5 Datei 5.9.3: Beispiel für config.sys (1. Teil) für den Linux-Start Unter dem Label [Menu] definieren Sie die Einträge des Bootmenüs, seine Farbe und nach wie viel Sekunden welcher Menüpunkt automatisch aufge- rufen werden soll. 2. Weiter unten tragen Sie die Labels [Common], [Win], [DOS] und [Linux] ein. Bei Common schreiben Sie die Einträge hin, die immer gelten sollen; 137 5 Booten und Bootmanager bei den anderen Labels notieren Sie die Einträge, welche nur bei einem be- stimmten Eintrag gelten. Verwenden Sie dazu die Zeilen, die in Ihrer jetzigen config.sys stehen; ein Beispiel zeigt Datei 5.9.4. [Common] device=c:\dos\himem.sys /testmem:off device=c:\dos\emm386.exe noems dos=high,umb files=30 buffers=10 shell=c:\dos\command.com [Win] devicehigh=c:\dos\dblspace.sys /move devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C [DOS] devicehigh=c:\dos\dblspace.sys /move devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C [Linux] shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par [Common] rem Bleibt leer Datei 5.9.4: Beispiel für config.sys (2. Teil) für den Linux-Start Speichern Sie die Datei dann ab. 3. Öffnen Sie jetzt die Datei c:\autoexec.bat. In die Datei müssen Sie die gleichen Labels schreiben und den Labels Einträge zuordnen, die Notation ist jetzt aber etwas anders. Welches Label im Bootmenü gewählt wurde, steht in der Variablen %config%. Schreiben Sie vielleicht etwas wie in Datei 5.9.5 auf der nächsten Seite. 4. Wenn Sie den Rechner jetzt booten, erscheint das Bootmenü und Sie haben 5 Sekunden Zeit, einen Eintrag auszuwählen. Nach 5 Sekunden startet au- tomatisch Windows. Wenn Sie `Linux' auswählen, startet Linux und wartet auf Ihr Login. 5.9.3 Von Windows aus starten So richten Sie ein Start-Icon für Linux ein, mit dem Sie Linux aus einem laufen- den Windows 95-System booten können: 1. Klicken Sie sich in den Ordner c:\loadlin hinein, markieren Sie die Datei startlin.bat und wählen Sie im Bearbeiten-Menü `Kopieren' aus. 2. Gehen Sie in einen Ordner oder auf den Desktop, je nachdem, wo Sie Ihr Linux-Icon haben möchten. Drücken Sie die rechte Maustaste und wählen Sie `Verknüpfung einfügen'. 138 5.9 Einrichten des Bootmechanismus mit loadlin @echo off rem Einträge für alle Konfigurationen switches= /f set comspec=c:\dos\command.com prompt $p$g loadhigh c:\dos\keyb gr,,c:\dos\keyboard.sys loadhigh c:\dos\doskey set temp=c:\temp loadhigh c:\dos\mscdex.exe /D:SONY_000 /E /V /L:H c:\logimaus\mouse.exe goto %config% :Win c:\dos\smartdrv.exe a- b- c+ 2048 1024 path c:\windows;c:\dos;c:\util; win c:\dos\smartdrv /C goto ende :DOS path c:\dos;c:\util; goto ende :ende echo * Auf Wiedersehen * Datei 5.9.5: Beispiel für autoexec.bat für den Linux-Start 139 5 Booten und Bootmanager 3. Markieren Sie die gerade eingefügte Verknüpfung, drücken Sie die rechte Maustaste und wählen Sie `Eigenschaften'. Gehen Sie in das Register `Programm', klicken Sie unten auf den Knopf `Erweitert'. Kreuzen Sie in der Maske das Feld `MS-DOS-Modus' an. Bestätigen Sie mit `OK'. 4. Über den Knopf `Anderes Symbol' können Sie sich ein schönes Icon aus- suchen und geben Sie der Verknüpfung einen passenden Namen. Fertig! 5. Ein Doppelklick auf das neue Symbol bringt eine Bestätigungsmaske, dass sich Windows 95 jetzt in den MS-DOS-Modus bemüht. Falls Sie die Maske nervt: Ausschalten in den Eigenschaften der Verknüpfung. 5.9.4 Das Windows Startmenü So richten Sie ein Startmenü für Windows 95 ein: 1. Zuerst müssen Sie die Datei c:\msdos.sys editieren. Dazu machen Sie die Datei mittels C:> attrib -R -S -H c:\msdos.sys sichtbar. Es ist eine Textdatei, in die Sie einige Zeilen einfügen müssen, um das Windows 95-eigene Startmenü zu aktivieren. Unter dem Label [Options] sollte es etwa so aussehen wie in Datei 5.9.6. [Options] BootGUI=0 BootDelay=0 BootMenu=0 Logo=0 Datei 5.9.6: msdos.sys für den Linux-Start Der Parameter Logo=0 ist optional und verhindert, dass Windows 95 vor dem Booten in den Grafikmodus schaltet; das Booten geht dann schneller und Sie haben weniger Ärger, wenn sie später unter Linux den DOS-Emulator verwenden wollen. Der Parameter BootGUI=0 bewirkt, dass Windows 95 direkt in den DOS- Modus bootet. Nach dem Editieren der Datei setzen Sie die Attribute wieder zurück. Um Windows dann zu starten muss C:> win am DOS-Prompt eingegeben werden, aber das tut schon unsere Beispieldatei c:\autoexec.bat, wenn Sie im Menü Win95 gewählt haben. 2. Dann müssen Sie in der Datei c:\config.sys Ihr eigenes Bootmenü defi- nieren. Tragen Sie dazu am Anfang der Datei etwa den Inhalt von Datei 5.9.7 auf der nächsten Seite ein. Unter dem Label [Menu] definieren Sie die Einträge des Bootmenüs und nach wie viel Sekunden welcher Menüpunkt automatisch aufgerufen werden soll. 140 5.9 Einrichten des Bootmechanismus mit loadlin [Menu] menuitem=Win95, Windows 95 starten... menuitem=DOS, MS-DOS starten... menuitem=Linux, Linux starten... menudefault=Win95,5 Datei 5.9.7: Beispiel für config.sys (1. Teil) für den Linux-Start unter Win- dows 95 3. Weiter unten stehen Labels [Win95], [DOS], [Linux] und [Common]. Bei [Common] schreiben Sie die Einträge hin, die immer gelten sollen (unter Windows 95 werden das nur wenige sein); bei den anderen Labels die Einträ- ge notieren, welche nur bei einem bestimmten Eintrag des Bootmenüs gelten. Verwenden Sie dazu die Zeilen, die in Ihrer jetzigen config.sys stehen; das Beispiel in Datei 5.9.8 soll nur eine Anregung sein. [Win95] dos=high,umb device=c:\windows\himem.sys /testmem:off [DOS] device=c:\plugplay\drivers\dos\dwcfgmg.sys dos=high,umb device=c:\windows\himem.sys /testmem:off device=c:\windows\emm386.exe noems I=B000-B7FF devicehigh=c:\cdrom\torisan.sys /D:TSYCD3 /P:SM [Linux] shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par [Common] accdate=C+ D+ H+ switches= /F buffers=20 Datei 5.9.8: Beispiel für config.sys (2. Teil) für den Linux-Start unter Win- dows 95 Speichern Sie die Datei dann ab. 4. Öffnen Sie jetzt die Datei c:\autoexec.bat. In die Datei müssen Sie die gleichen Labels schreiben und den Labels Einträge zuordnen, die Notation ist jetzt aber etwas anders. Welches Label im Bootmenü gewählt wurde, steht in der Variablen %config%. Schreiben Sie vielleicht etwas wie in Datei 5.9.9 auf der nächsten Seite. 5. Wenn Sie den Rechner jetzt booten, erscheint Ihr eigenes Bootmenü. Sie haben 5 Sekunden Zeit zum Wählen, dann startet automatisch Windows 95. Wenn Sie `Linux' auswählen, startet Linux und wartet auf Ihr Login. 141 5 Booten und Bootmanager @echo off loadhigh keyb gr,,c:\windows\command\keyboard.sys goto %config% :Win95 win goto ende :DOS path c:.;d:.;c:\windows\command;c:\util; loadhigh c:\windows\command\mscdex.exe /D:TSYCD3 /L:x loadhigh c:\windows\command\doskey c:\windows\command\mouse.exe goto ende :ende echo * Und jetzt? * Datei 5.9.9: Beispiel für autoexec.bat für den Linux-Start unter Win- dows 95 142 6 Das X Window System 6 Das X Window System 6.1 Geschichtlicher Hintergrund Das X Window System stellt unter Unix einen Quasi-Standard für grafische Be- nutzeroberflächen dar. Aber das X Window System, das auch als X11 bezeich- net wird, ist vielmehr ein netzwerkbasiertes System. Anwendungen, die auf dem Rechner erde laufen, können ihre Ausgaben auf dem Rechner sonne darstellen, sofern die Maschinen durch ein Netzwerk verbunden sind. Dieses Netz kann ein LAN sein, die Geräte können aber auch tausende Kilometer voneinander entfernt stehen und über das Internet miteinander kommunizieren. X11 entstand als Gemeinschaftsproduktion von DEC (Digital Equipment Cor- poration) und dem Projekt Athena am MIT (Massachusetts Institute of Techno- logy). Die erste Version (X11R1) wurde im September 1987 freigegeben. Seit Release 6 hat das X Consortium, Inc., ab 1996 The Open Group die Entwicklung des X Window System übernommen. XFree86TM ist eine frei verfügbare Implementierung von X-Servern für PC- Unix-Systeme (vgl. http://www.XFree86.org). XFree86 wurde und wird auch weiterhin ­ verstreut über die ganze Welt ­ von Programmierern entwi- ckelt, die sich 1992 zum XFree86-Team zusammengeschlossen haben. Daraus entstand die 1994 gegründete Firma The XFree86 Project, Inc., deren Ziel es ist, XFree86TM einer breiten Öffentlichkeit zur Verfügung zu stellen und sowohl forschend als auch entwickelnd an der Zukunft des X Window System mitzuar- beiten. Seit März 2000 steht die gründlich überarbeitete major Release XFree86 4.0 zum Download von http://www.XFree86.org zur Verfügung. Bei SuSE Linux wird standardmäßig XFree86 4.x verwendet. Eine nähere Erläuterung zu den Features dieser Version folgt gleich im Anschluss. An dieser Stelle sei dem XFree86-Team auch für die gute Zusammenarbeit und für die Bereitstellung von Beta-Versionen gedankt, ohne die dieses Buch1 und die vorliegende CD sicher nicht in dieser Form möglich gewesen wären. Die folgenden Abschnitte behandeln die Konfiguration des X-Servers. Zu die- sem Zweck werden SaX2 2,SaX und xf86config besprochen, mit denen eine einfache Konfiguration des X Window System möglich ist. SaX2 ist zur Kon- figuration von XFree86 4.x gedacht, SaX wird zur Konfiguration der XFree86 3.3.x Versionen verwendet. Im Gegensatz zu xf86config arbeiten die beiden SaX Versionen direkt mit dem X-Server zusammen und sind mit der Maus bedien- bar. Installieren Sie also mit YaST das Programm SaX (Paket sax, Serie x) bzw. 1Teile dieser Beschreibung wurden dem Kapitel XFree86 Konfigurieren aus [HHMK96] entnom- men, das uns von Dirk Hohndel freundlicherweise zur Verfügung gestellt wurde. 2SaX (engl. SuSE Advanced X Configuration Tool). Das Konfigurationsprogramm SaX2 (sax2) zur Konfiguration von XFree86 4.x macht XF86Setup (Paket xfsetup, Serie x) obsolet. 143 6 Das X Window System SaX2 (Paket sax2, Serie x) und die abhängigen Pakete. Während XFree86 4.x alle nötigen Grafiktreiber bereits im Basispaket mitbringt, muss bei Verwendung von XFree86 3.3.x insbesondere das Paket xvga16 sowie ­ falls bereits bekannt ­ der zu Ihrer Grafikkarte passende X-Server installiert werden. Die X-Server sind in der Serie xsrv verzeichnet (vgl. Abschnitt 3.5.3 auf Seite 70). Sollten Sie es versäumt haben, einen Server auszuwählen, so wird SaX dies feststellen und Sie auffordern, mit YaST diesen Server zu installieren. XFree86 4.x bringt die nötigen Grafiktreiber schon in der Basisauswahl mit. Um die zur Verfügung stehende Hardware (Maus, Grafikkarte, Monitor, Tasta- tur) optimal nutzen zu können, besteht die Möglichkeit, die Konfiguration manu- ell zu optimieren. Auf einige Aspekte der Optimierung wird eingegangen, ande- re werden nicht gesondert behandelt. Detaillierte Informationen zur Konfigura- tion des X Window System finden sich in verschiedenen Dateien im Verzeichnis /usr/share/doc/packages/xf86 sowie natürlich in der Manual-Page von XF86Config (man XF86Config). Achtung Bei der Konfiguration des X Window Systems sollte besonders sorgsam vorgegangen werden! Auf keinen Fall sollte X gestartet werden, bevor die Konfiguration abgeschlossen wurde. Ein falsch eingestelltes System kann zu irreparablen Schäden an der Hardware führen; besonders gefährdet sind Festfrequenz-Monitore. Die Autoren dieses Buches und die SuSE GmbH lehnen jede Verantwor- tung für eventuell entstehende Schäden ab. Der vorliegende Text wurde mit größtmöglicher Sorgfalt erstellt. Dennoch kann nicht absolut garantiert wer- den, dass die hier vorgestellten Methoden korrekt sind und Ihrer Hardware keinen Schaden zufügen. 6.2 Die Version 4.x von XFree86 Diese Version von SuSE Linux enthält die Version 4.x von XFree86, die sich in einigen Punkten von der auf den früheren Distributionen enthaltenen Version 3.3 unterscheidet. Insgesamt ergeben sich für den Anwender bei der Bedienung der grafischen Oberfläche kaum Unterschiede, die Applikationen wie zum Beispiel der grafische Desktop KDE oder GNOME verhalten sich auch weiterhin wie bei der früher verwendeten Version 3.3.6. Welche Vorteile bietet diese Version? Der neue X-Server ist kein monolithisches Programm mehr, sondern nur noch ein relativ kleines Grundgerüst, zu dem die nötigen Programmmodule bei Be- darf nachgeladen werden können. Es gibt also beispielsweise keine extra X- Server mehr für verschiedene Grafikkarten wie in der bisherigen Version, son- dern nur noch ein ausführbares Programm namens XFree86, das Sie im Ver- zeichnis /usr/X11R6/bin finden. Dies ist dann auch der eigentliche X-Server. 144 6.2 Die Version 4.x von XFree86 Der Grafiktreiber, der dann die Ansteuerung der Grafikkarte übernimmt, ist ein ladbares Modul. Ähnlich wird auch bei der Unterstützung verschiedener Eingabegeräte, Fonts oder X-Protokolle verfahren: Hierbei handelt es sich wieder um einzelne Modu- le, die vom X-Server nachgeladen werden können. Sie müssen sich allerdings in der Regel keine Gedanken über diese Module machen, die Konfiguration der zum Betrieb der grafischen Oberfläche auf Ihrem Computer erforderlichen Mo- dule wird weitestgehend von SaX2 erledigt. Durch das Modulkonzept ist es für die Hersteller leicht, einen Treiber für spezi- elle Hardware wie zum Beispiel Touchscreens oder brandneue Grafikkarten zu implementieren. Die Entwickler haben sogar dafür gesorgt, dass die nötigen Mo- dule für verschiedene Betriebssysteme nur einmal zur Verfügung gestellt werden müssen, das heißt, ein Grafiktreibermodul, das beispielsweise unter FreeBSD kompiliert wurde, kann auch unter Linux verwendet werden und umgekehrt. Al- lerdings ist diese Portabilität natürlich auf eine Hardwareplattform beschränkt: ein Modul, das für Linux auf PowerPCs kompiliert wurde, kann nicht auf einem Intel-PC verwendet werden. Außerdem ist die Unterstützung der Maus deutlich verbessert. Vor allem bei ho- her Last ist die Reaktion der Maus auf Mausbewegungen wesentlich schneller und direkter als bei dem bisherigen XFree86 X-Server. Generell hat sich die Aus- gabegeschwindigkeit verbessert, Grafikoperationen werden in der Regel schnel- ler ausgeführt als auf dem alten X-Server, was vor allem an der nochmals neu überarbeiteten XAA (engl. XFree86 Acceleration Architecture) liegt. Die Konfigurationsdatei besitzt ein gegenüber XFree86 3.3.x etwas veränder- tes Format. Falls Sie Ihren X-Server feintunen" oder spezielle Einstellungen vornehmen wollen, finden Sie im Abschnitt 6.6 auf Seite 171 ausführliche Infor- mationen zum Aufbau und zur Funktionsweise der mittlerweile in /etc/X11/ XF86Config befindlichen XFree86 Konfigurationsdatei. Auch das Fehlerlog- ging hat sich verbessert: der X-Server erzeugt ein sehr ausführliches Logfile, das Sie nach dem Start immer in der Datei /var/log/XFree86.0.log finden. Zu weiteren Features dieser Version gehört auch noch die Unterstützung spezi- eller Optionen wie z. B. True-Type-Fonts, die Bereitstellung der 3D-Protokoller- weiterung glx, Gamma-Korrektur des Bildschirms und die Unterstützung meh- rerer Grafikkarten für Multihead Konfigurationen. Näheres hierzu finden Sie in Abschnitt 6.6 auf Seite 171. Was ändert sich? Natürlich baut XFree86 4.x auf der bisherigen Version 3.3.x auf. Leider konnten nicht alle Grafiktreiber portiert werden, da manche Grafiktreiber sehr komplex sind und nicht auf die neue XAA Architektur portiert werden konnten. Falls diese Grafikkarten bisher von SuSE Linux unterstützt worden sind, können Sie diese auch weiterhin mit der XFree86-Version 3.3.x verwenden. Für diese Karten verwenden Sie bitte die ebenfalls auf SuSE Linux enthaltene XFree86-Version 3.3.6. Sie können zur Konfiguration dieser Grafikkarten wie bisher SaX verwenden. 145 6 Das X Window System Im Einzelnen handelt es sich hierbei um Grafikkarten, die bisher mit den folgen- den X-Servern betrieben wurden: XF86_S3, XF86_Mach8, XF86_Mach32 und XF86_8514. Für den S3-Server bedeutet dies, dass alle S3-Karten, die den S3- Server benötigen, nicht von XFree86 4.x unterstützt werden. S3-Karten die vom bisherigen SVGA-Server unterstützt waren, laufen also auch mit XFree86 4.x. Im Wesentlichen sind das Grafikkarten mit S3 Trio3D-, Savage4-, Savage3D- und Savage2000-Chips und fast alle S3 Virge-Karten. Die Grafikkarten, die die oben aufgeführten X-Server (Mach8, Mach32 und 8514) zum Betrieb benötigen, dürften nicht mehr sehr weit verbreitet sein. Für diese Grafikkarten steht ­ wie auch für die alten S3-Karten ­ weiterhin XFree86 3.3.x zur Verfügung. 6.3 Konfiguration mit SaX2 Das Programm SaX2 (engl. SuSE Advanced X Configuration Tool) dient der einfachen Installation des X Window System. Es handelt sich hierbei um einen Nachfolger des bewährten Programms SaX. SaX wurde zur Konfiguration von XFree86 3.3.x verwendet, SaX2 wird nun zur Konfiguration von XFree86 4.x verwendet. Hinweise zur Konfiguration mit SaX2 finden Sie im Handbuch Konfiguration". 6.3.1 Troubleshooting Dieses Kapitel soll Ihnen helfen, den X-Server zu konfigurieren, wenn die grafi- sche Oberfläche nicht auf Anhieb funktioniert, bzw. im Prinzip" läuft, aber die Darstellung nicht einwandfrei ist. Hier sollen die häufigsten und größten Probleme angesprochen werden, die bei der X-Konfiguration mit SaX2 auftreten können. Die Grafikkarte wird nicht unterstützt Verwendung des Framebuffers Leider gibt es noch nicht für alle Grafikkar- ten einen Linuxtreiber. Daher kann es vorkommen, dass Sie nach der folgenden Methode vorgehen müssen: Diese hat den Vorteil, auf wirklich fast jeder modernen Grafikkarte und auch mit praktisch jedem Laptop zu funktionieren. Da der Grafikcontroller der Gra- fikkarte mangels Treiber umgangen werden muss, ist die Darstellung allerdings unbeschleunigt. Der X-Server greift einfach direkt auf den Bildspeicher (engl. Framebuffer) zu, nachdem beim Start des Kernels schon in den Grafikmodus umgeschaltet wurde. Das funktioniert folgendermaßen: Der Linux-Kernel ruft beim Start das VGA BIOS der Grafikkarte auf und weist dieses an, in einen bestimmten VESA Gra- fikmodus umzuschalten. Die Textdarstellung (also die Textkonsole) erfolgt dann schon in diesem eingestellten Grafikmodus. Leider ist das VGA BIOS in 16-Bit- Code geschrieben und kann daher nicht im laufenden Linuxsystem aufgerufen 146 6.3 Konfiguration mit SaX2 werden. Folglich bleibt dieser beim Start festgelegte Videomodus bis zum Her- unterfahren des Linuxsystems erhalten. Um nun diesen sog. VESA-Framebuffer verwenden zu können, muss dafür im Kernel Unterstützung vorhanden sein und der Grafikmodus beim Booten aus- gewählt werden. Der SuSE Linux Kernel enthält selbstverständlich Unterstüt- zung für den VESA Framebuffer. Sie müssen beim Booten des Systems lediglich den gewünschten Grafikmodus auswählen. Geben Sie hierzu bitte den Parameter vga=x am LILO Bootprompt an, wobei hier x für einen Wert steht, den Sie der Tabelle 6.1 entnehmen können. Gewünschte Farbtiefe Auflösung in Pixeln 640x480 800x600 1024x768 1280x1024 256 (8 Bit) 769 771 773 775 32 768 (15 Bit) 784 787 790 793 65 536 (16 Bit) 785 788 791 794 16,7 Mill. (24 Bit) 786 789 792 795 Tabelle 6.1: Mögliche VESA-Modi Sie können diesen Parameter auch direkt als vga Parameter in der Datei /etc/ lilo.conf angegeben. Beachten Sie, dass Sie diesen Wert nicht in die append Zeile übernehmen, sondern direkt als vga=x in die Konfigurationsdatei schrei- ben. Die Installation von LILO ist im Abschnitt 5.4 auf Seite 113 genauer be- schrieben. Nach dem Start des Linux Systems melden Sie sich bitte wieder als Benutzer root am System an und starten SaX2 folgendermaßen: erde:/root # sax2 -m 0=fbdev Bitte beachten Sie, dass es sich bei 0 um eine kleine Null" und nicht etwa um ein großes O" handelt. Dies weist den X-Server an, den Treiber für den Framebuffer zu verwenden. Da die Auflösung, Farbtiefe und Bildwiederholrate fest vorgegeben ist, können Sie ­ falls Sie mit Maus und Tastatureinstellungen zufrieden sind ­ SaX2 gleich die automatisch ermittelten Daten abspeichern lassen und SaX2 wieder verlassen. Verwendung des VGA16-Servers Falls Ihre Grafikkarte keine VESA Modi beherrscht bzw. es sich um eine ISA Karte handelt, können Sie auch den Nach- folger des VGA16 Servers, das Modul vga verwenden. Dieser wird Ihnen auch vorgeschlagen, wenn der Grafiktreiber nicht automatisch bestimmt werden kann. Wählen Sie in SaX2 unter `Konfiguration der Grafikkarte' unter `Dri- ver' den Treiber vga aus. Sie können dann unter `Desktop' später natürlich nur eine Auflösung 640x480 Pixel mit 16 Farben (4 Bit Farbtiefe) auswählen. Wenn Ihre Grafikkarte den VESA-Framebuffer unterstützt, sollte es in der Regel nicht nötig sein, den vga Treiber zu verwenden, da der vga Treiber leider nur maximal 640x480 Pixel Auflösung ermöglicht. Um den Standard vga Treiber gleich beim Start von SaX2 zu verwenden, geben Sie bitte das folgende Kommando ein: erde:/root # sax2 -m 0=vga 147 6 Das X Window System Da dieser Parameter nur bestimmt, welchen X-Server SaX2 während der Konfi- guration verwendet, kann es auch sinnvoll sein, bei einer eigentlich von XFree86 unterstützten Grafikkarte den X-Server mit dieser Option zu starten. Bei be- stimmten bizarren" Grafikkarten kann es nötig sein, dass Sie eine spezielle Op- tion in der Konfigurationsdatei bei der Verwendung des normalen" Treibermo- duls benötigen. Starten Sie die Konfiguration mit dem vga Modul, und wählen Sie die nötige Option für das normale" Treibermodul im `Erweitert' Menü des `Grafikkarten' Dialogs aus. Auswahl der Maus direkt beim Start von SaX2 Wenn die Maus von SaX2 nicht automatisch erkannt werden kann, besteht auch die Möglichkeit, die Maus gleich beim Start von SaX2 festzulegen und damit die automatische Mauserkennung zu umgehen. Hierzu können Sie über 2 Kom- mandozeilenparameter das verwendete Protokoll der Maus und die Schnittstelle festlegen. Verwenden Sie hierzu den Parameter -t, um das verwendete Proto- koll, und den Parameter -n, um die Gerätedatei der Maus festzulegen. Folgen- des Beispiel konfiguriert die Verwendung einer Intellimouse am PS/2 Port des Computers root@erde:/root > sax2 -t imps/2 -n /dev/psaux Beachten Sie zu den verfügbaren Protokollen die Manpage zur Konfigurations- datei des X-Servers XF86Config. Die Darstellung ist nicht fehlerfrei Dieser Abschnitt möchte die gelegentlich auftretenden Fehler eines laufenden X- Servers beleuchten und auch mögliche Abhilfen vorstellen. In der Regel ist die grafische Darstellung nach der Konfiguration mit SaX2 fehlerfrei, insbesondere bei der Verwendung bestimmter Grafikkarten kommt es aber manchmal zu Dar- stellungsfehlern die sich mit einer Option in der X-Server Konfigurationsdatei /etc/X11/XF86Config beheben lassen. Manchmal sind Darstellungsfehler aber auch durch Hardwarelimitationen vorge- geben. Insbesondere wenn die Grafikkarte preiswerte DRAM Speicher verwen- det kann es passieren, dass die Bandbreite des Speichers für hohe Auflösungen und hoher Bildwiederholrate einfach nicht mehr ausreicht. Manchmal rächen" sich auch optimierte BIOS Einstellungen: Linux bzw. der X- Server mag" die BIOS Einstellung Video memory cache mode, die manche neuen BIOS Versionen anbieten, nicht. Im Textmodus funktioniert noch alles, offensichtlich optimiert" der Chipsatz des Computers dann aber auch Zugriffe auf die Ein-/Ausgabe Register der Grafikkarte, was beim Start des X-Servers zu völlig verkorkster Darstellung mit Falschfarben, manchmal aber auch zum totalen Systemstillstand führt. Wenn der X-Server überhaupt nicht startet, liegt das praktisch immer an einem Syntax- oder logischen Fehler in der Konfigurationsdatei /etc/X11/XF86Config, evtl. wird auch einfach nicht die in der Konfigurationsdatei eingesetzte Hardwa- re im Rechner gefunden. Analysieren Sie bitte die Protokolldatei des X-Servers, beachten Sie bitte auch den Abschnitt 6.3.2 auf Seite 150. 148 6.3 Konfiguration mit SaX2 Im Folgenden eine Auflistung der populärsten Fehler und Möglichkeiten, über die Konfigurationsdatei gegenzusteuern: * Hauptursache vieler Darstellungsprobleme ist eine zu hoch gewählte vsync- Frequenz. Da hsync und DotClock hiervon linear abhängig sind, ergeben sich daraus die meisten Probleme. Eine Reduktion der Bildwiederholrate auf z. B. 80 Hz ergibt immer noch ein praktisch flimmerfreies Bild, das zudem wesentlich schärfer ist als eines, das beispielsweise mit 160 Hz dargestellt wird. Bei 80 Hz Bildwiederholrate beträgt der Pixeltakt nur die Hälfte des Pixeltaktes bei 160 Hz. Probieren Sie daher bitte, die maximal verwendete vertikale Ablenkfrequenz abzusenken. Wählen Sie hierzu den Dialog `Desktop' unter SaX2, und stel- len Sie darin eine geringere maximal zulässige Ablenkfrequenz ein. Auf mo- dernen Bildschirmen liegt eine angenehme Bildwiederholrate zwischen 80 und 90 Hz. * Bisweilen gibt es auch Probleme mit dem Hardwarecursor": Es wird dann ein viereckiger Block bzw. etwas, das wie ein Barcode" aussieht, dargestellt (anstelle des Mauscursors). Probates Gegenmittel: Option "sw_cursor" in die Section "Device" einsetzen. * Konfigurationshinweise und der erste Anlaufpunkt bei Problemen: Die README- Dateien ­ diese sind nach Chipsatzherstellern getrennt ­ im Verzeichnis /usr/ X11R6/lib/X11/doc/, die Manpages zu den X-Servern, natürlich die FAQ zu XFree86 (http://www.xfree86.org) und die SuSE-Seiten für Upda- tes: http://www.suse.de/de/support/xsuse/ Die folgende Tabelle ist nach Wahrscheinlichkeit geordnet, d. h. in der Regel wird man mit Schritt 1, spätestens mit dem zweiten Schritt Erfolg haben. Schritt 3 beschreibt meist die Holzhammermethode ;-) Faktisch alle Optionen werden in die Sektion Device der Datei /etc/X11/ XF86Config eingetragen. * Kein Mauscursor, sondern Barcode oder farbiges Quadrat. 1. Option sw_cursor in Section Device. 2. Option no_imageblt oder no_bitblt. 3. Option noaccel. * Bild zu schmal oder gestaucht. Die möglichen Monitoreinstellungen sind schon am Limit. 1. Vermutlich ist die Bildwiederholrate bzw. die hsync-Frequenz zu hoch eingestellt und am Limit des Monitors. Abhilfe: vsync- und/oder hsync- Frequenz reduzieren. 2. Mit dem Programm xvidtune das Bild verschieben. Evtl. ist speziell dieser eine Mode nicht so ganz passend. 149 6 Das X Window System 3. Parameter +hsync +vsync an die Modeline anhängen und probieren, + durch - zu ersetzen. * Beim Verschieben von Fenstern bleiben Striche, Fensterreste oder ande- re Fragmente stehen. Diese verschwinden auch nach Beenden der Bewe- gung nicht. Erst ein Refresh des Desktops beseitigt sie. 1. Bildwiederholrate oder Auflösung reduzieren. 2. Je nach Chipsatz entsprechende Optionen aus den README-Dateien in /usr/X11R6/lib/X11/doc/ ansetzen, z. B. die Optionen fifo_conservative oder slow_dram. Achtung: Dies ist vom Grafikchipsatz abhängig! 3. Option noaccel, evtl. reicht auch schon no_imageblt oder no_bitblt. * Noise" ­ Bildstörungen beim Verschieben von Fenstern oder Betrach- ten von Videos, die aber verschwinden, wenn der Bildinhalt statisch ist. 1. Bildwiederholrate, Farbtiefe oder Auflösung reduzieren. 2. Speichertakt der Karte heruntersetzen oder Waitstates entfernen bzw. ein- fügen. Geht manchmal mit set_mclk (nicht bei allen Chipsätzen!). Ge- naueres im README-Verzeichnis. Achtung, diese Option ist gefährlich (Karte kann übertaktet werden). 3. Evtl. ist auch der Bus übertaktet. Bustakt des PCI/VLB- oder ISA-Busses überprüfen. * Beim Start von XFree86 wird der Bildschirm schwarz. 1. Bildwiederholrate reduzieren. 2. BIOS Einstellungen des Computers überprüfen. Alle Optimierungs- einstellungen" des BIOS deaktivieren. Ziehen Sie bitte gegebenenfalls das Handbuch ihres Mainboards hinzu. Populäre Problemkandidaten sind die Optionen Video memory cache mode, AGP Aperture size und sämtliche Optionen die den PCI Buszugriff regeln, beispielsweise PCI Peer concurrency o. Ä. Sie finden diese Einstellungen praktisch immer in einem mit Advanced Chipset Features bezeichneten Me- nü. 3. Andere Fehlerquellen in Betracht ziehen: System auf IRQ-Konflikte über- prüfen (z. B. PS/2-Maus benötigt IRQ 12). 6.3.2 Die Protokolldatei des X-Servers Um Probleme des X-Servers zu analysieren, steht Ihnen auch die sehr ausführ- liche Protokolldatei, die der X-Server beim Start anlegt, zur Verfügung. Diese Datei wird vom XFree86 4.x X-Server nach folgendem Muster angelegt /var/ log/XFree86.Display.Screennummer.log. Wenn Sie genau einen X-Server starten (was die Regel sein dürfte) und dieser Display Nummer 0" bereitstellt, wird der Dateiname dieser Logdatei also üblicherweise /var/log/XFree86. 0.log sein. Beachten Sie, dass SaX2 hier eine Ausnahme darstellt: Hier laufen 150 6.3 Konfiguration mit SaX2 zumindest zeitweise zwei X-Server, einer (Display :0) für die Konfigurations- dialoge und später ein zweiter (Display :1), um die Einstellungen zu testen. Beachten Sie bitte, dass sich das Format dieser Datei gegenüber XFree86 3.3.x stark verändert hat. Insbesondere wird jetzt wesentlich klarer unterschieden zwi- schen Informationsmeldungen, Werten die der Konfigurationsdatei entnommen wurden, Daten die aus der Hardware des Rechners stammen, sowie Warnungen und Fehlern. Zugriff auf die Protokolldatei des X-Servers haben Sie im Programm SaX2 über die mittlere Maustaste. Hier werden die entsprechenden Typen von Meldungen (Fehler, Informell, Warnung usw.) farbig hervorgehoben. So können Sie schnell das Problem erkennen, wenn der X-Server nicht startet. Generell sieht der Anfang einer solchen Protokolldatei wie in 6.3.1 aus. XFree86 Version 4.x / X Window System (protocol Version 11, revision 0, vendor release 6400) Release Date: 8 March 2000 If the server is older than 6-12 months, or if your card is newer than the above date, look for a newer version before reporting problems. (see http://www.XFree86.Org/FAQ) Operating System: Linux 2.2.13 i686 [ELF] SuSE Module Loader present (==) Log file: "/var/log/XFree86.0.log", Time: Sat May 20 13:42:15 2000 (==) Using config file: "/etc/X11/XF86Config" Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (??) unknown. (==) ServerLayout "Layout[all]" (**) |-->Screen "Screen[0]" (0) (**) | |-->Monitor "Monitor[0]" Datei 6.3.1: Auszug aus der X-Server Protokolldatei Hieraus können Sie schon folgende Dinge entnehmen: Es handelt sich um einen XFree86 X-Server in der Version 4.x, kompatibel zu X11R6.4 vendor release 6400". Das Releasedatum ist der 8. März 2000. Die Zeile Operating System: Linux 2.2.13 i686 [ELF] SuSE be- zieht sich übrigens auf das System, auf dem der X-Server kompiliert wurde. Die Kernelversion und CPU Bezeichnung kann sich also von Ihrem eigenen System unterscheiden. Nach diesen Versionsmeldungen erscheinen auch schon die ersten Log-Einträge, die der X-Server beim Start angelegt hat. Ist es überhaupt die richtige Logdatei, neben Time: wird die Zeit festgehalten, zu der die Protokolldatei angelegt wur- de? Manchmal sucht man nämlich in der völlig falschen Protokolldatei. ;-) Das Gleiche gilt für die Konfigurationsdatei. Wenn Sie nicht an der Kommando- zeile ein anderes File vorgegeben haben, wird auf einem normalen SuSE Linux System hier immer /etc/X11/XF86Config stehen. Die folgende Tabelle 6.2 auf der nächsten Seite erklärt die Bedeutung der beiden eingeklammerten Zeichen am Anfang der weiteren Zeilen: Die Protokolldatei können Sie auch im Konfigurationsprogramm SaX2 über- prüfen, indem Sie die mittlere Maustaste drücken. Fehler und Warnungen des 151 6 Das X Window System Zeichen Bedeutung (==) Voreinstellungen des X-Servers (- -) Dem System durch eine Abfrage der Hardware entnommene Werte. (**) In der Konfigurationsdatei festgelegte Einstellungen. (++) Parameter, die Sie an der Kommandozeile angegeben haben. (!!) Hier teilt Ihnen der X-Server mit, was er im Detail tut". (II) Versionsnummern von X-Server Modulen usw. werden meist als informational messages" also Informationsmeldungen festge- halten. (WW) Warnungen: Hier teilt der X-Server mit, warum er bestimmte Dinge nicht macht, die in der Konfigurationsdatei angegeben sind oder per default aktiviert werden sollten. (EE) Fehler! Diese Meldungen führen zum Abbruch des Startvorgangs bzw. des X-Servers. Halten Sie nach Zeilen in der Protokollda- tei Ausschau, die mit (EE) beginnen, wenn der X-Server nicht startet. Die meisten Fehler können Sie anhand dieser Meldungen selbst beheben. Tabelle 6.2: Meldungstypen in der X-Server Protokolldatei X-Servers werden farbig hervorgehoben. Diese Datei wird Ihnen auch angezeigt, wenn der X-Server, den SaX2 zu Testzwecken aufruft, nicht startet bzw. mit ei- nem Fehler abbricht. Wenn beim Starten von SaX2 oder bei den Konfigurationsschritten etwas Unvor- hergesehenes passiert, dann werden alle Fehler und Schritte, die SaX2 betref- fen, in der Datei /var/log/SaX.log festgehalten. Fehler des X-Servers wer- den, wie oben aufgeführt, in der Datei /var/log/XFree86.0.log protokol- liert. Anhand dieser Dateien gewinnen Sie Erkenntnisse, wie weiter vorzugehen ist. 6.3.3 Start des X Window System Das X Window System kann jetzt von jedem Benutzer mit startx gestartet wer- den. Eine vorkonfigurierte grafische Oberfläche für den fvwm-Windowmanager wird mit dem Beispiel-User zur Verfügung gestellt. Es empfiehlt sich also, startx von diesem Account aus ­ und nicht als `root' ­ aufzurufen. In den Datei- en ~/.X.err und in /var/log/XFree86.0.log landen Fehlerausgaben des X11-Servers. Der startx-Aufruf versteht einige Optionen; so kann z. B. mit tux@erde: > startx -- -bpp 16 eine Farbtiefe von 16 Bit angewählt werden. 152 6.4 Konfiguration mit SaX 6.4 Konfiguration mit SaX SaX (engl. SuSE Advanced X Configuration Tool) können Sie zur Konfiguration von XFree86 3.3.x verwenden. Wenn Sie schon die Verwendung von XFree86 4.x eingerichtet haben, erscheint beim Aufruf von SaX ein Hinweis, dass Ihr System XFree86 4.x verwendet und Sie daher SaX2 zur Konfiguration der gra- fischen Oberfläche verwenden müssen. Falls Sie trotzdem fortfahren, wird Ihr System zur Verwendung von XFree86 3.3.x eingestellt. Hierbei werden einige Links umgestellt, damit in Zukunft XFree86 3.3.x gestartet werden kann. Hinweis Sie müssen das Programm SaX (sax) als Benutzer `root' starten. Sie können SaX auch von YaST aus starten: `Administration des Sys- tems' und weiter mit `XFree86[tm] konfigurieren' (vgl. Abschnitt 3.7 auf Seite 76). Auf der Kommandozeile können Sie das Programm aufrufen mit: erde:/root # sax Sobald das Programm gestartet ist, wird zunächst nach installierten PCI-Steckkar- ten gesucht. Wenn eine PCI-Grafikkarte gefunden wurde, wird diese identifiziert und im Programm unter `Graphikkarte' angezeigt. Nach dem PCI-Scan wird das Hauptfenster geöffnet, in dem die Karteikarten für die Maus (`Maus'), die Tastatur (`Tastatur'), die Grafikkarte (`Grafikkarte'), den Monitor (`Monitor') und die Bildschirmoberfläche (`Bildschirm') darge- stellt werden. Sodann lädt SaX aus einer mitgelieferten Datenbank zahlreiche Hardware-Informationen, aus denen im Folgenden die eigenen Komponenten ausgewählt werden können. Die bei der Überprüfung des Systems gefundenen Daten werden unter den jeweiligen Punkten dargestellt; so finden Sie z. B. Ihren Grafikkartentyp unter der Karteikarte `Graphikkarte'. SaX versucht zwar, Ihre Hardware möglichst vollständig zu erkennen; um aber sicher zu gehen, dass die Konfiguration vollständig und richtig ist, müssen Sie auf jeden Fall alle Einstellungen des SaX überprüfen, und gegebenenfalls korri- gieren! Das Programm stellt Ihnen dazu im Wesentlichen fünf Karteikarten" zur Verfü- gung, nämlich `Maus', `Tastatur', `Graphikkarte', `Monitor' und `Bild- schirm'. Alle Karten sind mit einem Einfachklick auf den entsprechenden Titel ( Reiter" der jeweiligen Karte) zu erreichen. Für den Fall, dass Ihre Maus noch nicht richtig konfiguriert ist, haben Sie alter- nativ die Möglichkeit, das Programm mit der Tastatur zu steuern. Durch mehr- § ¤ maliges Drücken der ¦Tab ¥ -Taste können Sie die einzelnen Eingabefelder einer Karteikarte ansteuern. Um die verschiedenen Karteikarten zu erreichen, drücken § ¤ Sie solange ¦Tab ¥ , bis der Titel der aktuellen Karteikarte schwarz umrahmt ist; § ¤ § ¤ dann können Sie mit ¦ § ¥bzw. ¤ § ¦ ¥die gewünschte Karteikarte auswählen. Nach ¤ dem Bestätigen mit ¦ ¥(= ¦Enter ¥ ) wird diese angezeigt. Auf jeder Karteikarte befinden sich mehrere Bedienelemente, wie z. B. Schaltflächen (engl. buttons), 153 6 Das X Window System Auswahllisten (engl. listboxes) und Eingabefelder (engl. entry fields). Auch die- se lassen sich vollständig über die Tastatur manipulieren. Um einen Button zu § ¤ erreichen (z. B. `Anwenden'), drücken Sie solange § ¤ § ¦Tab ¤ ¥ , bis dieser gewünschte Button schwarz umrahmt ist. Mit ¦ ¥oder ¦ ¥wird der Button dann nie- § ¤ dergedrückt und die gewünschte Aktion ausgelöst. Mit ¦F10 ¥gelangen Sie in die Menüleiste am oberen Rand. Um einen Eintrag in einer Listbox zu selektieren, drücken Sie solange die Taste § ¤ § ¤ § ¤ ¦Tab ¥ , bis die betreffende Box umrahmt ist. Mit ¦ ¥und ¦ ¥können Sie durch die § ¤ farbige Markierung einen Eintrag aussuchen, der dann durch Druck auf ¦Enter ¥ gesetzt, d. h. aktiv wird. Die Maus Die Karteikarte `Maus' ist nach dem Start des Programms als Erste zu sehen (Abbildung 6.1). Abbildung 6.1: SaX: Mauseinstellungen Wenn Sie Ihre Maus im Laufe der Linux-Erstinstallation schon konfiguriert ha- ben, z. B. beim Einrichten von gpm, werden diese Daten von SaX übernommen, und Ihre Maus steht Ihnen sofort auch unter dem X Window System zur Verfü- gung ­ Sie können in diesem Fall mit der weiteren Konfiguration fortfahren. Falls Sie jedoch Ihre Maus nicht konfiguriert haben, können sie dies jetzt nachho- § ¤ len. Drücken Sie zweimal § ¤ ¦Tab §¥ , und wählen Sie die passende Maus unter `Her- ¤ § ¤ steller' aus (mit ¦ ¥und ¦ ¥können Sie die Liste durchgehen); mit ¦Enter ¥ wird der von Ihnen markierte Hersteller aus der Liste ausgewählt. Gehen Sie § ¤ mit ¦Tab ¥in die Auswahlliste `Modell' und wählen Sie den richtigen Maustyp. Durch Druck auf die `Anwenden'-Taste können Sie überprüfen, ob Ihre Auswahl richtig war. Danach sollte sich der Mauszeiger bewegen lassen. 154 6.4 Konfiguration mit SaX Falls Sie nicht genau wissen, welchen Maustyp Sie haben oder falls Ihre Maus nicht aufgeführt wird und bei einer seriellen Maus `Microsoft' mit der Ty- pe `Standard Mouse' nicht funktioniert, wählen Sie das Untermenü `Erwei- tert' an, um direkt ein Maus-Protokoll festzulegen. Dort lassen sich zudem weitergehende Optionen konfigurieren, z. B. die Baudrate und die 3-Tasten- Emulation". Über `Erweitert' stehen im Einzelnen die folgenden Karten zur Verfügung: Abbildung 6.2: SaX: Erweiterte Mauseinstellungen `Treiber': Im Falle eines unbekannten Herstellers kann hier das Maus-`Pro- tokoll' direkt festgelegt werden. Auch ist die Gerätedatei (engl. device) auszuwählen. Für eine Busmouse sollten Sie die entsprechende PS/2-Variante ausprobieren. `Eigenschaften': Feineinstellungen festlegen, wie schnell die Maus anspre- chen soll. `Optionen': 3 Tasten emulieren etc. `Test': Im unteren Teil der symbolischen Maus im Rahmen `Testfeld' kön- nen Sie die Mauskonfiguration überprüfen (Abbildung 6.2). Wenn die Maus richtig eingerichtet ist, blinken beim Klicken der Maustasten die Maustasten- Symbole auf dem Bildschirm. Die Tastatur Als Tastatur ist standardmäßig ein Windows 95/98-Keyboard mit der Tastaturbe- legung Deutsch eingetragen (Abbildung 6.3 auf der nächsten Seite). Sollten Sie 155 6 Das X Window System eine andere Tastatur haben, müssen Sie hier die richtigen Einstellungen vorneh- men, denn das Keyboard ist eine der wenigen Hardwarekomponenten, die nicht selbstständig erkannt werden. Abbildung 6.3: SaX: Tastatur Durch Vergleichen Ihrer Tastatur mit dem am Bildschirm angezeigten `Tasta- turabbild' können Sie leicht das für Sie passende Modell unter `Modell' ein- stellen. Vergessen Sie auch nicht, als `Sprache' German einzustellen, falls dies nicht sowieso der Fall ist. Neben dem Button `Löschen' gibt es ein Testfeld, in welchem Sie die getroffene Tastatureinstellung durch Tippen von verschiedenen Buchstaben und Zeichen überprüfen können ­ vergessen Sie die Umlaute nicht! Der Schalter `"Tote" Tasten verlegen' dient bei deutschen Tastaturen da- zu, dass alle Zeichen auf der Tastatur ­ auch z. B. die Tilde ­ unter X durch einfaches Drücken sofort dargestellt werden. Einstellungen in `Erweitert' benötigen Sie wahrscheinlich nicht. . . Durch den `Anwenden'-Knopf werden auch hier die Änderungen wirksam. Die Grafikkarte Auf der `Graphikkarte'-Karteikarte können in der linken Auswahlliste der Hersteller und in der rechten Liste das jeweilige Kartenmodell selektiert werden (Abbildung 6.4 auf der nächsten Seite). SaX versucht, die Grafikkarte selbst- ständig zu erkennen, was für PCI-Grafikkarten im Allgemeinen sehr zuverlässig funktioniert. Das Utility greift dabei auf eine umfangreiche Datenbank aktueller Grafikhardware zurück, die auch unter http://cdb.suse.de/ abrufbar ist. Die gefundene Hardware wird farbig hervorgehoben. 156 6.4 Konfiguration mit SaX Abbildung 6.4: SaX: Grafikkarte Hinweis Mitunter gibt es verschiedene Revisionen" einer Grafikkarte unter der glei- chen Typenbezeichnung, aber mit geänderter Hardware (anderer Ramdac). So kann es passieren, dass SaX Werte anzeigt, die von denen des Hand- buchs zur Grafikkarte abweichen. In einem solchen Fall sind die Angaben aus dem Handbuch des Hardwareherstellers einzutragen. Wählen Sie dazu den Knopf `Erweitert'. Unter dem Knopf `Erweitert' verbergen sich fortgeschrittene Einstelloptionen (Abbildung 6.5 auf der nächsten Seite). Diese kommen zum Zuge, wenn Sie den X-Server direkt auswählen (`Server-Einstellungen'), die Größe des Spei- chers auf der Grafikkarte den Ramdac-Wert spezifizieren bzw. einen speziellen Ramdac- oder Clock-Chip (unter `Chipsätze') für Ihre Grafikkarte selbst ein- stellen wollen. Setzen Sie den Ramdac-Wert insbesondere dann etwas herunter, wenn es zu Fehldarstellungen bei Fenster-Operationen kommt, z. B. wenn beim Verschieben eines Fensters Fragmente der Titelzeile kurzzeitig aufblinken. Manche Grafikkarten benötigen besondere `Optionen', die hier im erweiterten Menü ihren Platz gefunden haben; für einen Standardfall wird dieser Punkt nicht benötigt. Tipp ISA-Karten werden nicht automagisch" erkannt; für diese muss vom Be- nutzer der passende Server von Hand" ausgewählt werden. 157 6 Das X Window System Abbildung 6.5: SaX: Grafikkarte ­ Erweiterte Möglichkeiten Falls Sie bei der Auswahl Ihrer Grafikkarte die Fehlermeldung "The SVGA ser- ver is not installed..." lesen, so müssen Sie mit YaST das in der Feh- lermeldung angegebene Paket nachinstallieren (vgl. Abschnitt 3.5 auf Seite 69). Der Monitor Die letzte große Hürde auf dem Weg zu einem laufenden X-Server ist die Einstel- lung des verwendeten Monitors. Auch hier lässt sich aus der linken der beiden Listen auf der Karteikarte `Monitor' der `Hersteller' des Monitors auswäh- len. Durch einen weiteren Mausklick ist es möglich, das eigene Modell aus der rechten Liste (`Type') auszuwählen. Sollte der eigene Monitor wider Erwarten nicht in der Liste zu finden sein, können durch den Druck auf den `Erweitert'- Knopf monitorspezifische Horizontal- und Vertikalfrequenzen eingegeben wer- den. Diese stehen gewöhnlich in Ihrem Handbuch zum Monitor. Falls Ihnen keinerlei Daten über den Monitor bekannt sind, stellt SaX standard- mäßig die Horizontalfrequenzen von 29-61 kHz und die Vertikalfrequenzen von 60-70 Hz ein. Diese sind für die meisten Monitore unschädlich. Falls jedoch beim Starten des X-Servers das Bild dunkel bleibt oder sehr stark § ¤ § ¤ § ¤ flimmert, sollten Sie den Server mit § ¤ ¦Strg ¥+ ¦Alt ¥+ ¦ - ¥sofort wieder been- den; mit ¦ - ¥ist die Rücklöschtaste" gemeint! Andernfalls kann der Monitor beschädigt oder zerstört werden! Der Bildschirm Wenn Sie mit der Installation Ihrer Grafikkarte Erfolg gehabt haben, stehen Ihnen eine Vielzahl von Auflösungen und Farbtiefen zur Verfügung, die im `Bildschirm'- Menü verwaltet werden können (Abbildung 6.6 auf der nächsten Seite). Die `Bildschirm'-Karte erinnert im Layout eventuell an andere Betriebssysteme. ;-) 158 6.4 Konfiguration mit SaX Abbildung 6.6: SaX: Bildschirm Auf der `Arbeitsoberfläche' können Sie zu jeder Farbtiefe (`Farben') eine Auflösung (`Auflösungen') auswählen. Wenn Sie für eine Liste mehrerer Auflösungen eine bestimmte Farbtiefe einstel- len wollen, können Sie dies im Experten-Modus (`Erweitert', Abbildung 6.7) tun: Abbildung 6.7: SaX: Bildschirm `Auflösung': Diese Karte untergliedert sich in die Bereiche: `Mögliche' Auflösungen. `Aktuelle' Auflösungen. 159 6 Das X Window System `Farben' Die Auswahlliste mit den Farbtiefen. Auf der vertikalen Knopfreihe an der rechten Seite soll zunächst die Farbtiefe ausgewählt werden (`Farben'), für die die Bildschirmauflösungen konfigu- riert werden sollen. Der X-Server kann in verschiedenen Farbtiefen starten, z. B. in 8 Bit Farb- tiefe, was 256 gleichzeitig darstellbare Farben bedeutet. In der jeweiligen Farbtiefe gibt es wiederum verschiedene Bildschirmauflösungen, z. B. die Auflösung 800x600. Nicht alle Auflösungen stehen in allen Farbtiefen zur Verfügung. So sind mit etlichen Karten Auflösungen von 1600x1200 Punk- ten bei 32 Bit Farbtiefe nicht möglich, da zu wenig Grafikspeicher vorhan- den ist. Bei 8 Bit Farbtiefe stehen verschiedene Auflösungen zur Verfügung (von z. B. 1600x1200 bis zu 640x480), die in der `Actual Resolution List' § ¤ § ¤ § ¤ eingetragen sind. Diese Auflösungen sind durch ¤ § ¤ § ¤ ¦Strg ¥+ ¦Alt ¥+ ¦+ ¥bzw. § ¦Strg ¥+ ¦Alt ¥+ ¦- ¥während des laufenden Betriebs in der Reihenfolge der § ¤ § ¤ Liste durchwechselbar (¦+ ¥bzw. ¦- ¥müssen vom Nummernblock genommen werden!). Der erste Eintrag in der Liste ist immer der, in dem der X-Server startet. Aus der Liste der `Möglichen' Auflösungen muss man die gewünschten Auflösungen in die Liste `Aktuelle' verschieben. Dazu klickt man auf die Auflösung, um diese zu markieren, und dann auf den Knopf `E', um diese Auflösung in die Liste der `Aktuellen' Auflösungen einzufügen. Mit `V' verschieben Sie ungewünschte Einträge wieder zurück. Die Reihenfolge der Einträge in der Liste `Aktuelle' lässt sich durch die Pfeiltasten am unteren Ende des Listenfensters `Aktuelle' verändern. Dazu markiert man den Eintrag, den man verschieben möchte, und klickt mit der linken Maustaste auf den Auf- oder Ab-Pfeil. Dadurch tauscht der Eintrag seinen Platz mit seinem Vorgänger bzw. mit seinem Nachfolger. Sobald Sie mit Ihren Einstellungen bei 8 Bit Farbtiefe zufrieden sind, kön- nen Sie über die Knöpfe rechts eine andere Farbtiefe zur Konfiguration aus- wählen, z. B. 16 Bit. Nun sehen Sie in der Liste `Mögliche' die für diese Farbtiefe möglichen Bildschirmauflösungen, welche ­ wie oben beschrieben ­ manipuliert werden können. `Virtuelle-Auflösung': Auf dieser Karte lassen sich die Einstellungen für virtuelle Bildschirmgrößen vornehmen; wenn Sie wirklich einen virtuellen Bildschirmbereich haben möchten, dann sind die Werte bei `Virtuell X' (= Breite) bzw. `Virtuell Y' (= Höhe) zu erhöhen ­ in der Regel ist dies jedoch nicht erwünscht! Zum Hintergrund: Das X Window System bietet die Möglichkeit, eine virtu- elle Desktopgröße zu definieren. So kann man auf einem Desktop arbeiten, der größer als der sichtbare Bildschirm ist, z. B. mit einer Bildschirmgröße 1152x864 bei einer Monitor-Auflösung von 800x600. `Spezielles': Diese Karte erlaubt es, eine eigene Auflösung zu erzeugen. Weiterhin kann man dort die `Qualität' der Modelines" bestimmen, al- so zwischen zwei Berechnungsarten auswählen. 160 6.4 Konfiguration mit SaX Nun sollten Sie festlegen, mit welcher Farbtiefe der X-Server standardmäßig starten soll. Dazu ist auf der `Bildschirm'-Karte die gewünschte Farbtiefe (via `Farben') einzustellen. Ist dies geschehen, wählen Sie den Knopf `Aktuellen Modus Bearbeiten', um so einen Teststart des X-Servers einzuleiten. . . Testen der Konfiguration Nach kurzer Rechenzeit erscheint eine Mitteilungsbox; klicken Sie ­ wenn Sie einverstanden sind ­ auf `OK'. Danach sollte das Hintergrundbild auftauchen und ein zweigeteiltes Fenster erscheinen, in dessen linker Seite einige Informationen über die momentane Auflösung und die Horizontal- bzw. Vertikalfrequenz des Videomodus angezeigt werden. Rechts befinden sich die zwei Tastenfelder `Größe' und `Position', die es er- lauben, das Bild optimal zu justieren. Die Pfeiltasten im Feld `Größe' dienen dazu, das Bild in horizontaler und vertikaler Richtung zu dehnen und zu stau- chen; im Feld `Position' verändert man die relative Lage des Bildes auf dem Monitor. Justieren Sie damit das Bild nach Ihren Wünschen! Zur Kontrolle, ob das Bild richtig justiert ist, befinden sich in den vier Ecken des Monitorbildes kleine Vierecke. Diese sollten bei optimaler Bildlage vollständig ohne Farbverfälschungen sichtbar sein. Tipp Mit SaX lässt sich jedoch nur die Feinjustierung des Monitorbildes errei- chen, sie kann die manuelle Nachjustierung mit den Monitortasten nicht ersetzen! Nach der richtigen Einstellung des Bildes haben Sie zwei Möglichkeiten, das Fenster zu schließen: `Speichern': Sie beenden Ihre X-Window-System-Konfiguration und speichern die momentanen Einstellungen. Damit kehren Sie zur Kommandozeile zu- rück. `Abbrechen': Sie wollen SaX beenden, ohne die Einstellungen zu übernehmen. § ¤ § ¤ Tippen Sie ggf. ¦Alt ¥+ ¦F1 ¥ , um auf die erste Konsole zurückzugelangen. 6.4.1 Rekonfiguration SaX greift Ihnen auch stark unter die Arme, wenn es darum geht, einen laufenden X-Server besser Ihren Wünschen anzupassen. Dazu liest SaX die schon bestehende /etc/XF86Config aus, in der das X Win- dow System die Konfigurationsdaten speichert, und analysiert sie. Dadurch ist es nicht unbedingt notwendig, sämtliche Einstellungen von der Maus bis zum Monitor selbst zu tätigen, denn SaX übernimmt die funktionierende bestehende 161 6 Das X Window System Konfiguration des X-Servers. SaX stellt diese Daten auf den oben beschriebenen Karteikarten zur Verfügung. Dennoch hat der Benutzer sämtliche Freiheiten in der Neueinstellung seiner X- Server-Konfiguration: Er kann aus der umfangreichen Monitordatenbank sein Modell heraussuchen und somit seine Konfiguration besser an die Fähigkeiten des Monitors anpassen und darüber hinaus bequem die Bildlage justieren. Auch stellt ihm SaX eine komfortable Oberfläche zur Verwaltung der Menge an Farbtiefen und der Auflösungen der Grafikkarte zur Verfügung, die schnell durch einen Mausklick auf die Karteikarte `Bildschirm' zu erreichen ist. 6.4.2 Troubleshooting Hier sollen die häufigsten und größten Probleme angesprochen werden, die bei der X-Konfiguration mit SaX auftreten können: * Sollte das Monitorbild beim Testen der Konfiguration stark flimmern, oder ein schwarzes oder zerrissenes Bild zeigen, so müssen Sie sofort den X- Server beenden, ansonsten kann Ihr Monitor schaden nehmen. Drücken Sie § ¤ § ¤ § ¤ § ¤ § ¤ dazu ¦Strg ¥+ ¦Alt ¥+ ¦ - ¥(Achtung nicht ¦Tab ¥ , sondern ¦ - ¥ , die Rück- löschtaste"!) Sie sollten danach zur Karteikarte `Monitor' gehen, und einen passenderen Monitor aussuchen, oder Ihre Monitordaten von Hand eingeben. Dasselbe gilt, falls das Bild während der Bildjustierung zu flimmern beginnen sollte. * Für hartnäckige Fälle stellt SaX Kommandozeilenoptionen zur Verfügung, z. B.: --server vga16: Beim ersten Starten von SaX wird der VGA16-Server benutzt, anstelle des speziell zur Karte passenden X-Servers. Der VGA16- Server sollte fast auf allen VGA-Karten laufen. Dieser Server wird auto- matisch verwendet für den Fall, dass Ihre Grafikkarte nicht erkannt wird, oder wenn Sie eine ISA-Karte haben. Die aktuelle Dokumentation zu SaX liegt im Verzeichnis /usr/share/doc/ packages/sax. Wenn beim Starten von SaX oder bei den Konfigurationsschrit- ten etwas Unvorhergesehenes passiert, dann wird dies in den Dateien /root/ ServerLog und /root/StartLog protokolliert. Aus diesen Dateien können Sie Aufschlüsse erhalten, wie weiter vorzugehen ist. 6.5 Konfiguration mit xf86config In den meisten Fällen ist SaX als Konfigurations-Werkzeug dem Programm xf86config bei der einfachen Konfiguration des X Window System überlegen. In den wenigen Fällen aber, in denen eine Konfiguration mittels SaX fehlschlägt, gelingt diese in der Regel mit xf86config. XFree86 4.x bringt ein ähnliches, wiederum textbasiertes xf86config Programm mit. Dieses hat an manchen Stellen etwas veränderte Dialoge und schreibt die 162 6.5 Konfiguration mit xf86config Konfigurationsdatei natürlich nach /etc/X11/XF86Config. Unter XFree86 4.x ist die Verwendung von xf86config zumeist aber trotzdem nicht erforderlich, da hier problematische" Grafikkarten auch mit dem Framebuffer" oder dem vga Modul (wie in den Abschnitten 6.3.1 auf Seite 146 und 6.3.1 auf Seite 147 be- schrieben) konfiguriert werden können. In der folgenden Beschreibung wird daher nur auf das xf86config Programm von XFree86 3.3.x eingegangen. Zur Konfiguration müssen folgende Daten bekannt sein: * Maus-Typ und Port, an den die Maus angeschlossen wurde, sowie die Baud- rate, mit der die Maus betrieben wird (letzteres ist in der Regel optional). * Spezifikation der Grafikkarte. * Monitordaten (Frequenzen etc.). Sind diese Daten bekannt bzw. liegen Monitor- und Kartenbeschreibung in greif- barer Nähe, so kann mit der Konfiguration begonnen werden. Diese kann nur vom Benutzer `root' vorgenommen werden! Gestartet wird die Konfiguration mit: erde:/root # xf86config Maus Nach der Begrüßungsseite wird im ersten Menü nach dem Maustyp gefragt. Es erscheint die folgende Auswahl: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet Ausgabe 6.5.1: Auswahl der Maus für X Bei der Festlegung des Maustyps ist zu beachten, dass viele der neueren Logitech- Mäuse Microsoft-kompatibel sind oder das MouseMan-Protocol verwenden. Die Auswahl Bus Mouse bezeichnet alle Typen von Busmäusen, auch Logitech! Der passende Maustyp wird durch Angabe der davor stehenden Nummer ausge- wählt. Es folgt evtl. (z. B. bei Auswahl von Typ 1) die Abfrage, ob ChordMiddle aktiviert werden soll. Dies ist bei manchen Logitech Mäusen bzw. Trackballs notwendig, um die mittlere Maustaste zu aktivieren: Please answer the following question with either 'y' or 'n'. Do you want to enable ChordMiddle? Wird eine Maus mit zwei Tasten verwendet, so kann durch Beantwortung der nächsten Frage mit `y' die Emulation eines dritten Knopfes eingeschaltet wer- den: 163 6 Das X Window System Please answer the following question with either 'y' or 'n'. Do you want to enable Emulate3Buttons? Zur Emulation der mittleren Maustaste muss man gleichzeitig die rechte und linke Taste drücken. Als Nächstes wird nach der Schnittstelle gefragt, an der die Maus angeschlossen ist: Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. Mouse device: Wurde bereits bei der Systeminstallation ein Port für die Maus angegeben, so sollte hier die Vorgabe (/dev/mouse) übernommen werden. Tastatur § ¤ Nun wird gefragt, ob der linken ¤ ¦Alt ¥ -Taste der Wert Meta (ESC) und der rechten § ¦Alt ¥ -Taste der Wert ModeShift (AltGr) zugeordnet werden soll: Please answer the following question with either 'y' or 'n'. Do you want to enable these bindings for the Alt keys? § ¤ Hier sollte `y' gewählt werden, damit die über ¦Alt Gr ¥erreichbaren Zeichen § ¤ der deutschen Tastatur eingegeben werden können, und die linke ¦Alt ¥ -Taste als Meta-Taste - besonders vorteilhaft bei der Arbeit mit Emacs - verwendet wer- den kann. Monitor Als Nächstes muss der Monitor spezifiziert werden. Kritisch sind die Vertikal- und die Horizontal-Frequenzen. Diese sind in der Regel im Monitorhandbuch angegeben. Achtung Eine Angabe von falschen Frequenzbereichen kann zur irreparablen Zer- störung des Monitors führen! Das X Window System spricht nur Video-Modi an, die den Monitor in den angegebenen Frequenzbereichen betreiben. Die Angabe von Frequenzen, für die der Monitor nicht spezifiziert ist, kann die- sen überlasten! Für einige Monitore können auch in /usr/X11R6/lib/X11/doc/Monitors die Werte nachgesehen werden (ohne Gewähr). Zur Angabe der Horizontalfrequenz wird folgende Auswahl präsentiert: Nur wenn die genauen Monitordaten nicht bekannt sind, sollte eine der Vorga- ben übernommen werden. Mit Auswahl `10' können die genauen Frequenzen angegeben werden. Nach Angabe der Horizontalfrequenzen werden die Vertikalfrequenzen abge- fragt. Auch hier wird wieder eine Auswahl vorgegeben: 164 6.5 Konfiguration mit xf86config hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interl. (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz il., 800x600 @ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz 10 Enter your own horizontal sync range Enter your choice (1-10): Ausgabe 6.5.2: Eingabe der Horizontalfrequenzen des Monitors 1 50-70 2 50-90 3 50-100 4 40-150 5 Enter your own vertical sync range Enter your choice (1-5): Ausgabe 6.5.3: Detaillierte Vertikalfrequenzen Wieder sollte die Angabe der genauen Werte der Übernahme eines der Punkte `1' bis `4' vorgezogen werden. Es wird dann die Eingabe eines Namens für die Monitorbeschreibung, Enter an identifier for your monitor definition: die Angabe des Herstellers, Enter the vendor name of your monitor: und die Modellbezeichnung Enter the model name of your monitor: verlangt. Hier können Sie einen entsprechenden Namen eingeben oder aber mit § ¤ ¦Enter ¥die Vorgabewerte direkt übernehmen. Die Spezifikation des Monitors ist damit beendet. Grafikkarte/X-Server Weiter geht es mit der Spezifikation der verwendeten Grafikkarte: Do you want to look at the card database? Bei Eingabe von `y' wird eine Auswahl von vorkonfigurierten Grafikkarten prä- sentiert. Aus dieser Liste kann durch Angabe der entsprechenden Nummer eine Kartende- finition ausgewählt werden. Es sollte jedoch nicht blind eine Definition übernom- men werden, da es selbst bei Karten gleichen Typs zu Variationen in Clock-Chip 165 6 Das X Window System und RAMDAC (engl. Random Access Memory Digital-to-Analogue Converter) kommen kann! Aus diesem Grund wird, obwohl eine Definition ausgewählt wurde, an späte- ren Punkten der Konfiguration wieder nach Clock-Chip, RAMDAC, etc. gefragt. Es wird dann allerdings eine aus der Kartendefinition stammende Vorgabe als zusätzliche Option präsentiert. Die Kartendefinitionen beinhalten Informationen zu Clock-Chip, RAMDAC und dem zu verwendenden X-Server. Außerdem werden ggf. wertvolle Hinweise zum Umgang mit der Karte in die Device-Section der Datei XF86Config ge- schrieben. Falls die gesuchte Karte nicht aufgeführt ist, so ist das kein Grund zur Beunru- higung. In diesem Fall kann mit `q' zur normalen Konfiguration zurückgekehrt werden. Es ist dabei zu beachten, dass eine Grafikkarte nur dann ausgewählt werden sollte, wenn diese genau mit der verwendeten Karte übereinstimmt! Die Auswahl einer Karte mit einer ähnlichen Bezeichnung ist nicht zu empfehlen. Ähnliche Namen bedeuten noch lange nicht ähnliche Hardware. . . Weitere Informationen zur Konfiguration der Grafikkarte werden in Kapitel Ab- schnitt 6.6 auf Seite 171 beschrieben. Nach der Spezifikation der Karte folgt die Auswahl des X-Servers: 1 The XF86_Mono server. This a monochrome server that should work on any VGA-compatible card, in 640x480 (more on some SVGA chipsets). 2 The XF86_VGA16 server. This is a 16-color VGA server that should work on any VGA-compatible card. 3 The XF86_SVGA server. This is a 256 color SVGA server that supports a number of SVGA chipsets. It is accelerated on some Cirrus and WD chipsets; it supports 16/32-bit color on certain Cirrus configurations. 4 The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, XF86_W32 and XF86_Mach64. These four server types correspond to the four different "Screen" sections in XF86Config (vga2, vga16, svga, accel). 5 Choose the server from the card definition, XF86_S3. Which one of these four screen types do you intend to run by default (1-4)? Ausgabe 6.5.4: Auswahl des X-Servers 1 Ein Server für monochrome (Schwarz/Weiß) Monitore. Sollte mit jeder VGA kompatiblen Grafikkarte funktionieren und zumindest eine Auflösung von 640x480 Punkten liefern. 2 Der 16-Farb-Server XF86_VGA16. Sollte mit jeder VGA kompatiblen Gra- fikkarte funktionieren. 3 Der SVGA-Server XF86_SVGA. Dieser 256-Farb-Server unterstützt eine große Anzahl von SVGA-Karten. Bei einigen Cirrus- und WD-Karten wird die 166 6.5 Konfiguration mit xf86config Grafikbeschleunigung ausgenutzt. Bei manchen Cirrus-Karten kann auch der 16- bzw. 32-Bit Farbmodus aktiviert werden. 4 Server für beschleunigte Grafikkarten. Hier stehen mehrere Server zur Aus- wahl (s. u.) 5 Diesen Punkt gibt es nur dann, wenn in der vorhergehenden Auswahl eine Kartendefinition ausgewählt wurde. Es wird hier der Server vorgeschlagen, der zu der ausgewählten Karte passt. Wurde ein Server ausgewählt, so folgt die Frage, ob ein symbolischer Link vom ausgewählten Server nach /usr/X11R6/bin/X gemacht werden soll. Wird die- se Frage mit `y' beantwortet, so wird noch nachgefragt, ob der Link in /var/ X11R6/bin angelegt werden soll: Do you want to set it in /var/X11R6/bin? Diese Frage ist unbedingt zu bejahen, da auf den /usr-Baum nicht unbedingt in jedem Fall geschrieben werden kann. Anschließend erscheint ggf. (wenn in obiger Auswahl `4' angegeben wurde) ein Menü mit den verfügbaren X-Servern für beschleunigte Grafikkarten: Select an accel server: 1 XF86_S3 2 XF86_Mach32 3 XF86_Mach8 4 XF86_8514 5 XF86_P9000 6 XF86_AGX 7 XF86_W32 8 XF86_MACH64 Which accel server: Ausgabe 6.5.5: Beschleunigte X-Server Diese Server unterstützen jeweils die entsprechende Karte. Das Anlegen des Links setzt voraus, dass der passende Server bereits installiert wurde, d. h., dass bei der Installation des X Window System bereits der richtige Server ausgewählt wurde. Nach der Auswahl des X-Servers muss die Grafikkarte noch näher spezifiziert werden. Als Erstes wird nach der Größe des vorhandenen Videospeichers ge- fragt: Anschließend wird nach Name, Hersteller und Typ der Karte gefragt. Falls eine § ¤ Grafikkarte ausgewählt wurde, genügt es, ¦ ¥zu drücken. 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: Wenn als X-Server ein Server für beschleunigte Grafikkarten ausgewählt wurde, wird jetzt nach dem RAMDAC-Setting gefragt. Diese sind nur für S3 und AGX Server relevant: 167 6 Das X Window System How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: Ausgabe 6.5.6: Angabe des Grafikspeichers 1 AT&T 20C490 (S3 server) att20c490 2 AT&T 20C498/21C498/22C498 (S3) att20c498 3 AT&T 20C505 (S3) att20c505 4 BrookTree BT481 (AGX) bt481 5 BrookTree BT482 (AGX) bt482 6 BrookTree BT485/9485 (S3) bt485 7 Sierra SC15025 (S3, AGX) sc15025 8 S3 GenDAC (86C708) (autodetected) s3gendac 9 S3 SDAC (86C716) (autodetected) s3_sdac 10 STG-1700 (S3) stg1700 11 TI 3020 (S3) ti3020 12 TI 3025 (S3) ti3025 13 TI 3020 (S3, autodetected) ti3020 14 TI 3025 (S3, autodetected) ti3025 15 TI 3026 (S3, autodetected) ti3026 16 IBM RGB 514 (S3, autodetected) ibm_rgb514 17 IBM RGB 524 (S3, autodetected) ibm_rgb524 18 IBM RGB 525 (S3, autodetected) ibm_rgb525 19 IBM RGB 526 (S3) ibm_rgb526 20 IBM RGB 528 (S3, autodetected) ibm_rgb528 21 ICS5342 (S3, ARK) ics5342 22 ICS5341 (W32) ics5341 23 IC Works w30C516 ZoomDac (ARK) zoomdac 24 Normal DAC normal Ausgabe 6.5.7: Angabe des RAMDACs 168 6.5 Konfiguration mit xf86config In den meisten Fällen ist es am Besten, die Eingabetaste zu drücken und keine Auswahl vorzunehmen. Wenn eine Grafikkarte ausgewählt wurde, die ein be- stimmtes RAMDAC-Setting unterstützt, so wird dies angezeigt und sollte ausge- wählt werden. Nachdem diese Fragen beantwortet wurden, kann für beschleunigte Karten der Clock-Chip, sofern vorhanden, ausgewählt werden. Durch Auswahl eines Clock- Chips werden keine Clocks-Zeilen mehr benötigt, da die benötigten Clocks pro- grammiert werden können: 1 Chrontel 8391 ch8391 2 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a 3 ICS2595 ics2595 4 ICS5342 (similar to SDAC, but not completely compatible) ics5342 5 ICS5341 ics5341 6 S3 GenDAC (86C708) and ICS5300 (autodetected) s3gendac 7 S3 SDAC (86C716) s3_sdac 8 STG 1703 (autodetected) stg1703 9 Sierra SC11412 sc11412 10 TI 3025 (autodetected) ti3025 11 TI 3026 (autodetected) ti3026 12 IBM RGB 51x/52x (autodetected) ibm_rgb5xx Ausgabe 6.5.8: Angabe des Clockchips Wird eine Grafikkarte ohne Clock-Chip eingesetzt, so genügt es, die Eingabetas- te zu drücken, um keinen Clock-Chip auszuwählen. Wenn eine Grafikkarte im Auswahlmenü ausgewählt wurde, wird der Clock-Chip, falls vorhanden, auto- matisch angezeigt. Wurde kein Clock-Chip ausgewählt, schlägt xf86config vor, X -probeonly zu star- ten, um die von der Karte unterstützten Clock-Timings zu ermitteln. Diese wer- den dann automatisch in eine Clocks-Zeile in der Datei XF86Config eingetra- gen. An dieser Stelle muss klar gesagt werden, warum die automatisch ermittelten und eingetragenen Clock-Timings sehr gefährlich sein können: Hat die Grafik- karte einen programmierbaren Clock-Chip, dann kann der X-Server beim Proben nicht zwischen den verschiedenen Clocks der Karte umschalten und erkennt des- halb nur die Clocks 0, 1 und gelegentlich 2. Alle anderen Werte sind mehr oder weniger zufällig (in der Regel wiederholen sich die Clocks 0, 1 und 2 und werden daher durch Nullen ersetzt). Alle Clocks außer 0 und 1 hängen aber stark von der Vorprogrammierung des Clock-Chips ab, also kann Clock 2 beim Proben einen anderen Wert gehabt ha- ben (der in die XF86Config eingetragen wurde) als bei einem späteren Start des X-Servers. Dann sind natürlich alle Timings falsch und der Monitor könnte beschädigt werden. Ein guter Hinweis auf einen programmierbaren Clock-Chip und die damit ver- bundenen Probleme sind viele Nullen oder sich immer wiederholende Timing- Werte. Solche Werte dürfen keinesfalls in die Datei XF86Config übernommen werden! 169 6 Das X Window System Verwenden Sie also beim Ermitteln der Clock-Chips oder des Clock-Timings folgende Strategie: * Am Besten ist es, einen vorhandenen programmierbaren Clock-Chip an- zugeben (wenn einer vorhanden ist). Er wird dann passend programmiert, die XF86Config enthält keine Clock-Angaben. Sie können auch die Chips auf der Karte mit den im Menü angebotenen Clock-Chips vergleichen und so den richtigen Chip herausfinden. Fast alle modernen S3-Karten haben einen programmierbaren Clock-Chip. * Wenn Sie keinen programmierbaren Clock-Chip auf der Grafikkarte ha- ben, starten Sie am Besten X -probeonly und vergleichen Sie die (bei un- belastetem Rechner) ermittelten Clock-Werte mit denen im Handbuch der Grafikkarte. Stimmen die Werte annähernd überein (±2), tragen Sie diese in die Datei XF86Config ein. Falls im Handbuch nichts angeführt wird, können Sie die Timing-Werte mit X -probeonly ermitteln lassen (am Besten auf einem unbelasteten Rech- ner). Prüfen Sie die ermittelten Werte auf Gültigkeit, da sich bei einigen Kar- ten die Clock-Werte nicht auslesen lassen (viele Nullen oder sich immer wie- derholende Werte deuten auf ungültige Werte). Tragen Sie gültige Werte da- nach selbst in die Datei XF86Config ein. Aber lassen sie keine Werte weg, versuchen sie nicht, Werte umzuordnen oder sonst irgendwie zu verändern. Die Werte müssen exakt in der gleichen Reihenfolge eingetragen werden. Wird der P9000-Server benutzt, so muss einfach in beliebiger Reihenfolge für jeden Mode die gewünschte Clock in der Clocks-Zeile angegeben wer- den. * Generell gilt: Bei programmierbaren Clock-Chips darf es keine Clocks- Zeile in der XF86Config geben (Ausnahme: P9000). Bei Karten ohne programmierbare Clock-Chips sollte es eine Clocks-Zeile" in der XF86Config geben. Dadurch wird das lästige und unter Umständen gefährliche automatische Ermitteln der Clocks bei jedem Start des X Win- dow System vermieden. Außerdem gibt es dann bei Karten mit nicht lesbaren Clocks keine falschen Werte und kein Risiko für den Monitor. Soll jetzt (und in Kenntnis der voranstehenden Absätze) versucht werden, die Clocks automatisch zu erkennen, muss auf die Frage: Do you want me to run 'X -probeonly' now? mit `y' geantwortet werden. Der Bildschirm wird dann kurz schwarz, anschlie- ßend erscheint eine Liste der erkannten Clocks oder eine Meldung, dass keine Clocks erkannt wurden. Falls ein Clock-Chip ausgewählt wurde, erscheint die Frage, ob X -probeonly gestartet werden soll, nicht, da die Clocks dann automa- tisch programmiert werden. In diesem Fall wird direkt zum nächsten Konfigura- tionspunkt gesprungen. 170 6.6 Optimieren der Installation des X Window Systems Achtung Wurde die letzte Frage mit `y' beantwortet und bleibt der Bildschirm dann länger als ca. 30 Sekunden dunkel, so sollte der Testvorgang unbedingt § ¤§ ¤§ ¤ § ¤§ ¤ mit ¦Strg ¥ +¦Alt ¥ +¦ ¥bzw. ¦Strg ¥ +¦c ¥abgebrochen werden! Notfalls müssen Rechner und Monitor abgeschaltet werden, um die Hardware nicht zu ge- fährden! Abspeichern der Konfiguration Die Konfiguration ist damit abgeschlossen. Die Konfigurationsdatei muss jedoch noch gespeichert werden. Es empfiehlt sich, die X-Window-Konfigurationsdatei XF86Config im Verzeichnis /etc zu speichern. So ist sichergestellt, dass auch im Netzwerk jeder Rechner eine eigene" Konfiguration hat, selbst wenn sich mehrere Rechner das /usr-Dateisystem teilen. An dieser Stelle muss `/etc/XF86Config' übernommen werden! ­ Damit ist das Programm xf86config und die Konfiguration des X Window System beendet. 6.6 Optimieren der Installation des X Window Systems Im Folgenden soll der Aufbau der Konfigurationsdatei /etc/X11/XF86Config vorgestellt werden. Diese Datei ist in Abschnitte (engl. Sections) aufgeteilt, die jeweils mit dem Schlüsselwort Section "bezeichner" eingeleitet werden und mit EndSection beendet werden. Es folgt ein grober Abriss der wichtigsten Ab- schnitte. Im Anschluss erfahren Sie, wie Sie zusätzliche Fonts einbinden können, wie Sie die Eingabegeräte konfigurieren und wie die 3D-Beschleunigung realisiert wird. Dies wird natürlich auch in bestimmten Abschnitten der XF86Config Da- tei erledigt, allerdings erfordert insbesondere die Einbindung eines zusätzlichen Fonts die Hilfe externer Programme, die aber bei SuSE Linux mitgeliefert wer- den bzw. zur Default-Installation dazugehören. Die hier angesprochenen Vorge- hensweisen sollen Ihnen die prinzipiellen Möglichkeiten verdeutlichen und als Anregung dienen und erhebt keinesfalls den Anspruch auf Vollständigkeit. Die Programme SaX2 und xf86config (für XFree86 4.x) erstellen die Datei XF86 Config, standardmäßig in /etc/X11. Dies ist die primäre Konfigurationsdatei für das X Window System. Hier finden sich die gemachten Angaben zu Maus, Monitor und Grafikkarte. XF86Config setzt sich ­ wie gesagt ­ aus mehreren Abschnitten zusammen (den sog. Sections") zusammen, die sich mit jeweils einem Aspekt der Konfiguration beschäftigen. Eine Section hat stets die Form: 171 6 Das X Window System Section eintrag 1 eintrag 2 eintrag n EndSection Es existieren folgende Typen von Sections: Files Dieser Abschnitt beschreibt die verwendeten Pfade für Zeichensätze und die RGB-Farbtabelle. ServerFlags Hier werden allgemeine Schalter angegeben. InputDevice Über diesen Abschnitt werden die Eingabegeräte konfigu- riert. Im Gegensatz zu XFree86 3.3 werden sowohl Tasta- turen und Mäuse als auch spezielle Eingabegeräte (Touch- tablett, Joysticks usw.) über diesen Abschnitt konfiguriert. Wichtige Bezeichner sind hier Driver und die Optionen, die Protocol und Device festlegen. Monitor Beschreibt den verwendeten Monitor. Elemente dieses Ab- schnittes sind ein Name, auf den später bei der Definition des Screens verwiesen wird, sowie die Beschreibung der Bandbreite (Bandwidth) und der zulässigen Synchroni- sationsfrequenzen (HorizSync und VertRefresh). Die Angaben erfolgen in MHz, kHz bzw. Hz. Grundsätzlich lehnt der Server jede Modeline ab, die nicht der Spezifi- kation des Monitors entspricht. Damit soll verhindert wer- den, dass durch Experimente an den Modelines versehent- lich zu hohe Frequenzen an den Monitor geschickt werden. Modes Hier werden die Darstellungsparameter der einzelnen Bildschirmauflösungen festgelegt. Diese Parameter kön- nen von SaX2 aufgrund der vom Benutzer vorgegebenen Werte berechnet werden und müssen im Regelfall nicht verändert werden. Manuell eingreifen können Sie an die- ser Stelle aber beispielsweise, wenn Sie einen Festfre- quenzbildschirm anschließen möchten. Eine genaue Erläu- terung der einzelnen Parameter würde den Rahmen die- ses Buches sprengen, Sie finden allerdings eine detaillier- te Erläuterung der Bedeutung der einzelnen Zahlenwer- te in der HOWTO Datei /usr/share/doc/howto/en/ XFree86-Video-Timings-HOWTO.gz. Device Dieser Abschnitt definiert eine bestimmte Grafikkarte. Diese wird durch den angegeben Namen referenziert. Screen Diese Section schließlich fügt einen Monitor und ein Device zusammen und es ergeben sich daraus die notwendigen Angaben für XFree86. Der Unterabschnitt Display erlaubt die Angabe der virtuellen Bildschirm- größe (Virtual), des ViewPort und der verwendeten Modes mit diesem Screen. Tabelle 6.3: Fortsetzung auf der nächsten Seite... 172 6.6 Optimieren der Installation des X Window Systems ServerLayout Dieser Abschnitt legt das Layout einer Single- oder Mul- tiheadkonfiguration fest. Hier werden die Eingabegeräte InputDevice und die Anzeigegeräte Screen zu einem Ganzen zusammengefasst. Tabelle 6.3: Abschnitte (engl. sections) in /etc/X11/XF86Config Näher betrachtet werden die Sections Monitor, Device und Screen. In der Manual-Page von XFree86 (man XFree86) und Manual-Page von XF86Config (man XF86Config) finden sich weitere Informationen zu den verbleibenden Sections. In XF86Config können mehrere Monitor- und Device-Abschnitte vorkom- men. Auch mehrere Screen-Abschnitte sind möglich; welcher davon verwendet wird, hängt dann vom nachfolgenden Abschnitt ServerLayout ab. Screen-Section Zunächst soll die Screen-Section näher betrachtet werden. Diese bringt, wie ge- sagt, eine Monitor- mit einer Device-Section zusammen und bestimmt, welche Auflösungen mit welcher Farbtiefe bereitgestellt werden sollen. Eine Screen-Section kann beispielsweise wie in Datei 6.6.1 aussehen. Section "Screen" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" Virtual 1152x864 EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Datei 6.6.1: Die Screen-Section der Datei /etc/X11/XF86Config Die Zeile Identifier (hier Screen[0]) gibt diesem Abschnitt eine eindeutige Bezeichnung, durch die er dann im darauf folgenden Abschnitt ServerLayout eindeutig referenziert werden kann. 173 6 Das X Window System Über die Zeilen Device und Monitor werden dem Screen eindeutig die schon weiter oben in der Datei definierte Grafikkarte und der Monitor zugeordnet. Dies sind nichts weiter als Verweise auf die Device- und Monitor-Sections mit den entsprechenden Namen bzw. Identifiern". Auf diese Sections wird weiter unten noch näher eingegangen. Mittels der DefaultColorDepth-Angabe kann ausgewählt werden, in welcher Farbtiefe der Server startet, wenn er ohne eine explizite Angabe der Farbtiefe gestartet wird. Es folgt für jede Farbtiefe eine Display-Subsection. Die Farbtiefe, für die die Subsection gilt, wird durch das Schlüsselwort Depth festgelegt. Mögliche Werte für Depth sind 8, 15, 16, 24 und 32. Nicht alle X-Server-Module unterstützen jeden der Werte, 24 und 32 bpp ergeben die gleiche Farbtiefe, wobei allerdings 24 für den packed-pixel 24 bpp Modus und 32 den padded-pixel 24 bpp Modus auswählt. Nach der Farbtiefe wird mit Modes eine Liste von Auflösungen festgelegt. Diese Liste wird vom X-Server von links nach rechts durchlaufen. Für jede Auflösung wird in der Modes-Section in Abhängigkeit von der Monitor-Section eine pas- sende Modeline gesucht, die vom Monitor und der Grafikkarte dargestellt wer- den kann. Die erste in diesem Sinne passende Auflösung ist die, in der der X-Server startet § ¤ § ¤ § ¤ (der sog. Default-Mode). Mit den Tasten § ¤ § ¤ § ¦Strg ¥+ ¤ ¦Alt ¥+ ¦Grau + ¥kann in der Liste nach rechts, mit ¦Strg ¥+ ¦Alt ¥+ ¦Grau - ¥nach Links gewandert werden. So kann die Bildschirmauflösung zur Laufzeit des X Window Systems variiert werden. Die letzte Zeile der Subsection Display mit Depth 16 bezieht sich auf die Größe des virtuellen Bildschirms. Die maximal mögliche Größe des virtuel- len Bildschirms hängt vom Speicherausbau der Videokarte und der gewünsch- ten Farbtiefe ab, nicht aber von der maximalen Auflösung des Monitors. Da moderne Grafikkarten sehr viel Grafikspeicher anbieten können Sie sehr große virtuelle Desktops anlegen. Beachten Sie dann aber bitte dass Sie evtl. keine 3D-Funktionalität mehr nutzen können wenn Sie praktisch den gesamten Grafik- speicher mit einem virtuellen Desktop füllen. Hat die Karte z. B. 16 MB Video- RAM, so kann, bei 8 Bit Farbtiefe, der virtuelle Bildschirm bis zu 4096x4096(!) Pixel groß sein. Speziell bei den beschleunigten Servern empfiehlt es sich je- doch nachdrücklich, nicht den gesamten Speicher der Videokarte für den virtu- ellen Bildschirm zu verwenden, da der nicht verwendete Speicherbereich auf der Videokarte von diesen Servern für verschiedene Caches für Zeichensätze und Grafikbereiche verwendet wird. Device-Section Eine Device-Section beschreibt eine bestimmte Grafikkarte. Es können beliebig viele Device-Sections in XF86Config enthalten sein, solange sich ihr Name, der mit dem Schlüsselwort Identifier angegeben wird, unterscheidet. In der Re- gel werden - falls Sie mehrere Grafikkarten eingebaut haben - die Sections einfach durchnummeriert, die erste wird dann mit Device[0], die zweite mit 174 6.6 Optimieren der Installation des X Window Systems Device[1] bezeichnet usw. In Datei 6.6.2 sehen Sie den Ausschnitt aus der Device Section eines Computers in dem eine Matrox Millennium PCI Grafik- karte eingebaut ist. Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSection Datei 6.6.2: Die Device-Section der Datei /etc/X11/XF86Config Wenn Sie SaX2 zur Konfiguration verwenden, dann dürfte die Device-Section ungefähr so wie oben abgebildet aussehen. Insbesondere Driver und BusID sind natürlich von der in Ihrem Computer eingebauten Hardware abhängig und werden von SaX2 automatisch bestimmt. Die BusID bestimmt den PCI- bzw. AGP-Steckplatz in den die Grafikkarte eingesteckt ist. Diese stimmt mit der vom Kommando lspci ausgegebenen ID überein. Beachten Sie, dass der X-Server die Angaben in dezimaler, das Programm lspci hingegen in hexadezimaler Schreib- weise ausgibt! Über den Parameter Driver legen Sie den zu verwendenden Treiber für die- se Grafikkarte fest. Im Falle der Matrox Millennium heißt das Treibermodul mga. Diese werden vom X-Server über den im Abschnitt Files definierten ModulePath im Unterverzeichnis drivers gesucht. In einer Standardinstal- lation ist dies das Verzeichnis /usr/X11R6/lib/modules/drivers. Hierzu wird an den Namen einfach _drv.o angehängt, im Falle des mga Treibers wird als die Treiberdatei mga_drv.o geladen. Über zusätzliche Optionen kann das Verhalten des X-Servers bzw. des Trei- bers beeinflusst werden. In der Device Section ist hier exemplarisch die Option sw_cursor gesetzt worden. Dies deaktiviert den Hardwaremauscursor und stellt den Mauszeiger in Software dar. Je nach Treibermodul stehen ihnen verschie- dene Optionen zur Verfügung, diese sind in den Beschreibungsdateien zu den Treibermodulen im Verzeichnis /usr/X11R6/lib/X11/doc zu finden. Allge- mein gültige Optionen finden Sie auch in der Manual-Page von XF86Config (man XF86Config) und Manual-Page von XFree86 (man XFree86). Monitor- und Modes-Section Die Monitor-Sections und die Modes Section beschreiben, analog zu den Device- Sections, jeweils einen Monitor. Die Konfigurationsdatei /etc/X11/XF86Config kann wieder beliebig viele, unterschiedlich benannte Monitor-Sections enthal- ten. In der ServerLayout-Section wird dann festgelegt, welche Monitor-Section ausschlaggebend ist. Für die Monitordefinition gilt, noch mehr als für die Beschreibung der Grafik- karte, dass das Erstellen einer Monitor-Section und insbesondere der Modes- Section nur von erfahrenen Benutzern gemacht werden sollte. Der wesentliche 175 6 Das X Window System Bestandteil der Modes-Section sind die sog. Modelines, in denen Horizontal- und Vertikal-Timings für die jeweilige Auflösung angegeben werden. In der Monitor-Section werden die Eigenschaften des Monitors, insbesondere die zu- lässigen Ablenkfrequenzen, festgehalten. Achtung Ohne ein grundlegendes Verständnis der Funktionsweise von Monitor und Grafikkarte sollte an den Modelines nichts verändert werden, da dies u. U. zur Zerstörung des Monitors führen kann! Diejenigen, die sich (zu)trauen, eigene Monitorbeschreibungen zu entwickeln, sollten mit der Dokumentation im Verzeichnis /usr/X11/lib/X11/doc ver- traut sein. Besonders zu erwähnen ist [FCR93], wo die Funktion der Hardware und das Erstellen von Modelines detailliert beschrieben wird. Eine deutsche Ein- führung in dieses Thema findet sich im XFree86-Kapitel in [HHMK96]. Glücklicherweise ist mittlerweile die manuelle Erstellung von Modelines oder Monitordefinitionen fast nie mehr nötig. Wenn Sie einen modernen Multisync- Monitor verwenden, können die zulässigen Frequenzbereiche und optimalen Auf- lösungen in der Regel, wie im SaX2 Konfigurationsabschnitt erwähnt, direkt via DDC vom X-Server aus dem Monitor gelesen werden. Sollte dies nicht möglich sein, können Sie auch einen der eingebauten VESA-Modi des X-Servers ver- wenden. Diese sollten auf praktisch allen Grafikkarten/Monitorkombinationen einwandfrei funktionieren. 6.6.1 Einbindung von zusätzlichen (TrueType) Fonts Zu einer normalen X11R6 X-Server-Installation gehört auch eine gute Anzahl Fonts. Diese finden Sie im Verzeichnis /usr/X11R6/lib/X11/fonts jeweils in logisch zusammengehörigen Gruppen in Unterverzeichnissen. Beachten Sie, dass nur Unterverzeichnisse vom X-Server beachtet werden, die * im Abschnitt Files der Datei /etc/X11/XF86Config als FontPath ein- getragen sind. * eine gültige fonts.dir Datei besitzen. * nicht zur Laufzeit des X-Servers mit Hilfe des Kommandos xset -fp abge- meldet wurden. * bzw. zur Laufzeit des X-Server mit Hilfe des Kommandos xset +fp einge- bunden wurden. Seit der Version 4.0 versteht XFree86 nicht nur das eigene Format Type1 (ein PostScript-Format) für skalierbare- und pcf für Bitmapzeichensätze, sondern auch das ttf (engl. true type font) Dateiformat. Diese Unterstützung wird, wie in Abschnitt 6.2 auf Seite 144 beschrieben, natürlich über ladbare Module des X-Servers realisiert. Sie können also auch Verzeichnisse, die TrueType-Fonts 176 6.6 Optimieren der Installation des X Window Systems enthalten, mit dem X-Server verwenden. Hierzu sind mittlerweile praktisch keine Vorarbeiten vonnöten. Ein großer Vorteil der meisten TrueType-Fonts, neben der sehr guten Skalier- barkeit, liegt darin, dass diese Fonts praktisch immer wesentlich mehr als die normalen 255 Zeichen des in iso-8859-1" kodierten Zeichensatzes für Westeu- ropa enthalten. Mit diesen Zeichensätzen können Sie ohne weiteres auch Kyril- lisch, Griechisch oder osteuropäische Sprachen darstellen, mit spezieller Soft- ware auch asiatische Sprachen. In dieser Beschreibung soll im Wesentlichen auf die Verwendung der Zeichen- sätze als 8-Bit-Zeichensätze eingegangen werden. Falls Sie Zeichen asiatischer Sprachen (Japanisch, Chinesisch usw.) eingeben möchten, können Sie spezielle Editoren verwenden, die Ihnen unter SuSE Linux auch zur Verfügung stehen. Ein 8-Bit-Zeichensatz umfasst 256 Zeichen und besteht im Wesentlichen darin, den US ASCII-Zeichensatz, der nur die ersten 128 von 256 möglichen Zeichen definiert, um weitere Zeichen zu erweitern. Ein Textzeichen belegt im Computer- speicher also 8 Bit. Da 128 Zeichen bei weitem nicht ausreichen, um die Sonder- zeichen beispielsweise aller europäischen Sprachen aufzunehmen, werden die verschiedenen Sprachen in Gruppen zusammengefasst, und diese Gruppe wird dann mit einer Kurzbezeichnung bezeichnet. Der dazugehörige Zeichensatz wird nach der dazugehörigen Norm als iso-8859-x" Zeichensatz bezeichnet, wobei das `x' eine Ziffer zwischen 1 und 15 ist. Die genaue Anordnung der Zeichen im Zeichensatz iso-8859-1 können Sie der Manual-Page von iso-8859-1 (man iso-8859-1) entnehmen. Die bekannteren Kodierungen sind in Tabelle 6.4 aufgeführt, weitere können Sie der oben genannten Manual-Page entnehmen. Zeichensatz Unterstützte Regionen, enthält Sonderzeichen iso-8859-1 Westeuropäische Sprachen: Spanisch, Deutsch, Französisch, Schwedisch, Finnisch, Dänisch u. a. iso-8859-2 Zentral- und Osteuropa: Tschechisch, Rumänisch, Polnisch, Deutsch u. a. iso-8859-5 Kyrillische Zeichen für Russisch iso-8859-7 Griechische Zeichen für Griechisch iso-8859-15 Wie iso-8859-1, aber mit Zeichen für Türkisch und dem Eu- rozeichen. Tabelle 6.4: wichtige Zeichensatzkodierungen Der Benutzer muss dann ­ je nach verwendeter Sprache ­ die passende Kodie- rung auswählen. Insbesondere bei der Übertragung von Texten zwischen ver- schiedenen Rechnern muss die verwendete Kodierung mitübertragen werden. Der Vorteil des Verfahrens liegt auf der Hand: Um Unterstützung für die re- gionalen Sonderzeichen zu erhalten, brauchen Sie nur die richtige Kodierung zu wählen und sofort können (fast) alle Programme diese Sonderzeichen darstel- len, da fast alle Programme einen 8-Bit-Wert (ein Byte) zur Darstellung eines Textzeichens verwenden. Wird die falsche Kodierung gewählt, werden die Son- derzeichen allerdings falsch dargestellt. Bei den meisten X-Applikationen und 177 6 Das X Window System auch beim KDE-Desktop können Sie die Kodierung des Zeichensatzes auswäh- len, meist zusammen mit der Konfiguration des zu verwendenden Zeichensatzes. In den X-Applikationen wird die Kodierung meist mit Encoding bezeichnet. Der Nachteil dieser Lösung ist, dass manche Sprachkombinationen unmöglich sind: Sie können z. B. nicht ohne weiteres einen deutschen Text mit Umlauten verfassen, in dem Sie russische Ortsnamen in Kyrillisch erwähnen. Dieses Dilemma kann erst durch einen anderen Ansatz, die Verwendung von Unicode gelöst werden. Unicode kodiert Zeichen ­ anders als ASCII ­ nicht mit einem, sondern mit 2 oder noch mehr Bytes, wodurch wesentlich mehr Zei- chen dargestellt werden können. Erst durch die Verwendung von Unicode kön- nen Sie auch asiatische Sprachen mit mehr als 127 Zeichen wie Chinesisch, Ja- panisch oder Koreanisch auf dem Rechner darstellen. Der Nachteil dieser Lö- sung ist, dass der Großteil der existierenden Software nicht auf den Umgang mit diesen Zeichen vorbereitet ist und Sie nur mit spezieller Software Texte mit Unicode-Zeichen lesen oder selber schreiben können. Weitere Informatio- nen zur Verwendung von Unicode-Fonts unter Linux finden sie u. a. unter http: //www.unicode.org. Es ist davon auszugehen, dass zukünftig mehr und mehr Programme Unicode-Zeichen unterstützen werden. Unter SuSE Linux gibt es das Editor yudit, um Texte in Unicode einzugeben. Sie finden es im Paket Pa- ket yudit, Serie xap bzw. nach der Installation über das SuSE-Menü, unter Geschäftliches/Office und dort unter Editoren. Nach diesen Vorbetrachtungen hier nun eine Schritt-für-Schritt-Beschreibung der Installation von zusätzlichen Zeichensätzen, hier am Beispiel von TrueType- Fonts. Machen Sie die Fonts ausfindig, die Sie in Ihrem X Window System installieren wollen. Falls Sie lizenzierte TrueType-Fonts auf Ihrem System haben, können Sie diese einfach nutzen. Mounten Sie die Partition, die diese Fonts enthält. Legen Sie ­ falls noch nicht vorhanden ­ ein Fontverzeichnis an und wech- seln Sie hinein. SuSE Linux hat schon ein Verzeichnis mit dem Namen /usr/ X11R6/lib/X11/fonts/truetype vorbereitet, hier können Sie die betreffen- den Fonts hinkopieren. erde:/root # cd /usr/X11R6/lib/X11/fonts/truetype Legen Sie Links auf die ttf-Dateien und das Fontverzeichnis an. Beachten Sie, dass für TrueType-Fonts das Programm ttmkfdir (Paket ttmkfdir, Serie xap) zum Erzeugen der Datei fonts.dir benötigt wird. Traditionelle X-Fonts wer- den über das Kommando mkfontdir eingebunden. Setzen Sie statt den entsprechenden Pfad ein, unter dem Ihnen diese Fonts zur Verfügung stehen: erde:/usr/X11R6/lib/X11/fonts/truetype # ln -s /*.ttf . erde:/usr/X11R6/lib/X11/fonts/truetype # ttmkfdir -o fonts.dir Wenn der X-Server schon läuft, können Sie jetzt die Fonts dynamisch zur Verfü- gung stellen. Geben Sie hierzu ein: tux@erde:/home/tux > xset +fp /usr/X11R6/lib/X11/fonts/truetype 178 6.6 Optimieren der Installation des X Window Systems Tipp Das xset-Kommando greift über das X-Protokoll auf den X-Server zu. Es muss daher Zugriffsrechte auf den laufenden X-Server haben. Dies ist bei- spielsweise der Fall, wenn es sich bei tux um den Benutzer handelt, der den X-Server gestartet hat. Mehr hierzu finden Sie in der Manual-Page von xauth (man xauth). Um die Fonts dauerhaft einzurichten, sollten Sie diesen Suchpfad in die Datei XF86Config übernehmen. Hierzu können Sie SaX2 verwenden. Fügen Sie das Verzeichnis im Menü `Suchpfade' (unter `Schriften' im Tastaturdialog) mit `Hinzufügen' zu den vorgegebenen Verzeichnissen hinzu. Testen Sie, ob die Fonts richtig eingerichtet wurden. Hierzu können Sie das Kom- mando xlsfonts verwenden. Wenn die Zeichensätze richtig installiert sind, so wird die Liste aller installierten Fonts inklusive der neu installierten TrueType- Fonts ausgegeben. Sie können auch das KDE-Programm kfontmanager verwen- den, das Ihnen die installierten Fonts direkt mit Beispieltext ausgibt. tux@erde:/home/tux > xlsfonts Diese so eingebundenen Fonts können Sie dann in allen X-Applikationen ver- wenden. 6.6.2 Einrichtung der Eingabegeräte Wollte man alle möglichen Einstellungen die Eingabegeräte betreffend beschrei- ben, so würde dies ein sehr umfangreiches Kapitel, einfach aufgrund der Tatsa- che, dass es sehr viele verschiedene Eingabegeräte in der Computerwelt gibt. Der folgende Abschnitt möchte Ihnen ein paar Kochrezepte an die Hand geben, mit denen Sie das bzw. die Eingabegeräte konfigurieren können. Mit dem etwas abstrakten Begriff Eingabegeräte" sind hier übrigens Maus, Tastatur aber auch Touchtabletts usw. gemeint. Suchen Sie im folgenden Text einfach nach der pas- senden Überschrift, um Näheres zum Thema zu erfahren. Natürlich finden Sie ausführlichere Informationen auch in der Dokumentation zum X-Server, dort insbesondere in der Manual-Page von XF86Config (man XF86Config). Maus Wheelmäuse Falls Sie die Maus mit SaX2 eingerichtet haben, können Sie die Grundfunktionalität schon nutzen. Eventuell haben Sie allerdings eine Maus mit einem Rad (eine so genannte Wheelmouse") und möchten dieses Rad in X- Applikationen z. B. zum Scrollen verwenden. Wenn Sie die Radmaus mit SaX2 mit der erweiterten Einstellung im Maus-Menü von SaX2 `Wheel Maus' einge- richtet haben, so werden Drehungen am Rad als Drücke auf die Taste 4 und 5 an 179 6 Das X Window System die Applikationen weitergegeben. Leider sind nur wenige X-Applikationen dar- auf vorbereitet. Um das Rad in allen Programmen verwenden zu können, müssen Sie nur noch im laufenden X-Server das Programm Paket imwheel, Serie ap starten. Dies können Sie in der Datei ~/.xinitrc erledigen. Den Programmaufruf kön- nen Sie z. B. direkt unter die Kommentarzeile finally start the window manager einfügen. Dieses kleine Hilfsprogramm konvertiert diese Mausklicks", die durch Drehung am Rad erzeugt werden, in konfigurierbare Tastendrücke. § ¤ § ¤ Diese sind auf ¦Bild ¥und ¦Bild ¥vorkonfiguriert, das Programm kann aber über die Datei /etc/imwheelrc konfiguriert werden. Damit können Sie jedes X-Programm, das auch über die Tastatur bedient werden kann, mit Ihrer Rad- maus bedienen. Sie können die Konfigurationsdatei auch nach ~/.imwheelrc kopieren und dort als normaler, nicht root"-Benutzer Veränderungen vorneh- men. Benutzung der Maus als Linkshänder Um die linke und rechte Maustaste zu vertauschen, können Sie folgendes Kommando eingeben: tux@erde:/home/tux > xmodmap -e "pointer = 3 2 1" Dieses Kommando können Sie auch in die Datei ~/.xinitrc aufnehmen. Zwei Mäuse bzw. ein Touchtablett Falls Sie eine zweite Maus bzw. ein Touch- tablett einbinden möchten, ist das kein größerer Umstand. Hier ist es wieder ratsam, SaX2 zu verwenden. Fügen Sie im Dialog `Maus' mittels dem `Hinzu- fügen' Knopf eine weiteres Maussymbol hinzu. Diese zweite Maus wird dann nicht automatisch konfiguriert, vielmehr können Sie hier die Daten manuell ein- stellen. Wählen Sie in `Erweitert' unter `Treiber' den passenden Treiber (mouse wenn es sich um eine weitere Maus handelt) bzw. einen der vorgege- ben Treiber für Touchtabletts aus. Verfahren Sie unter `Protokoll' und `An- schluss' sinngemäß. Nur falls Sie den Treiber mouse verwenden, ist die Ein- stellung `Protokoll' sinnvoll. Ansonsten nehmen Sie die Auswahl des Tablett- typs u. Ä. Einstellungen weiter unten vor. Im Falle eines Touchtablett-Treibers stellen Sie None unter `Protokoll' ein. Unter `Miscellaneous' (bei den Experten-Einstellungen in `Erweitert') kön- nen Sie dann weitere Zusatzoptionen wählen (vgl. auch /usr/X11R6/lib/ X11/doc/README.mouse: Hier sind die meisten dieser Einstellungen beschrie- ben). Insbesondere die Option Send Core Events ist hier erwähnenswert. Wenn Sie diese Option aktivieren, können Sie die Eingabegeräte parallel benutzen. An- sonsten können Sie mit dem Kommando xsetpointer zwischen den beiden Ein- gabegeräten hin- und herschalten. Verwenden Sie den Aufruf tux@erde:/home/tux > xsetpointer -l um die möglichen Eingabegeräte aufgelistet zu bekommen. Tastatur Zum Thema Tastatur" gibt es naturgemäß nicht soviel zu schreiben wie zu den anderen Eingabegeräten. Normalerweise brauchen Sie hier nichts speziell 180 6.6 Optimieren der Installation des X Window Systems zu konfigurieren. Folgende Programme und Dateien können aber in einigen Fällen ganz nützlich sein: Um die Tastaturbelegung im Betrieb probehalber zu Verändern oder zu tes- ten, steht Ihnen das Programm xkeycaps, Paket xkeycaps, Serie xap zur Ver- fügung. In der Datei ~/.Xmodmap können Sie dann einzelne geänderte Zeichen auch dauerhaft verändern. Beachten Sie zum Format dieser Datei die Manual- Page von xmodmap (man xmodmap). Unter KDE steht das Programm kikbd ( Internationale Tastaturbelegung") zur Verfügung. Damit können Sie recht komfortabel zwischen verschiedenen Tasta- turbelegungen hin- und herschalten. Sehr geschickt ist dieses Programm, wenn Sie beispielsweise eine englische Tastatur zum Programmieren (hier sind die Klammern { und } bzw. [ und ] viel geschickter zu erreichen) und eine deutsche Tastatur zum Schreiben von Texten verwenden wollen. Falls Sie die Internationale Tastaturbelegung" zum Schreiben von fremdspra- chigen Texten verwenden wollen, beachten Sie bitte, dass X-Applikationen oft nur die Tastaturzeichen annehmen, die zum Zeichensatz der eingestellten loca- le" (frei übersetzt: Länderanpassung) gehören. Andere Zeichen werden ignoriert - stellen Sie daher bitte entsprechend auch die locale" passend ein. Dies ge- schieht, indem Sie vor dem Start des Programms die Umgebungsvariable LANG auf die gewünschte Landesanpassung einstellen. Die möglichen Einstellungen erfahren Sie in der Manual-Page von locale (man locale). 3D-Beschleunigung Informationen zur 3D-Beschleunigung finden Sie im Handbuch Konfiguration" in dem Kapitel OpenGL/3D Konfiguration". 181 6 Das X Window System 182 7 Hardware rund um den Linux- Rechner 7 Hardware rund um den Linux-Rechner 7.1 Vorbemerkung Inzwischen ist es möglich die meisten Hardware-Komponenten in ein Linux- System zu integrieren. Dieses Kapitel befasst sich damit, wie dies im Einzelnen zu bewerkstelligen ist und welche Software zur Verfügung steht. Zur Problema- tik des Druckens vgl. Kapitel 9 auf Seite 217. PCMCIA-Hardware und IrDA- Einrichtung werden in Kapitel 8 auf Seite 201 erläutert. 7.2 Steckkarten In einem Standard-PC werden hauptsächlich PCI- ( Peripheral Component In- terconnect") Bus basiere Steckkarten eingesetzt. Oft findet man noch den ISA- ( Industry Standard Architecture") Bus. Der AGP ( Accelerated Graphics Port") stellt eine gewisse Ausnahme dar, da Geräte an diesem Port auch auf dem PCI-Bus sichtbar sind. Sie werden logisch genauso behandelt wie PCI-Bus-Karten. PCMCIA-Bus-Karten findet man vor allem in portablen Rechnern wie Laptops und Notebooks. Diese Karten und deren Konfiguration werden in Kapitel 8 auf Seite 201 beschrieben. 7.2.1 PCI- und ISA-Karten Im Folgenden werden nun PCI- und ISA-Buskarten genauer betrachtet. An- schließend wird die Konfiguration am Beispiel von Soundkarten erklärt. PCI-Karten PCI-Bus Karten benötigen normalerweise keinerlei Konfiguration durch den Be- nutzer. Bei Verabschiedung des PCI-Bus Standards wurde versucht, alle Mängel der alten Bus-Systeme zu beseitigen. Daher sah man auch eine sinnvolle Au- tokonfiguration der Karten vor. Jede PCI-Karte wird beim Start des Rechners durch das BIOS des Rechners aktiviert. Der Benutzer kann die Verteilung der In- terrupts oftmals durch Einstellungen im Rechner-BIOS beeinflussen. Linux liest beim Start die Konfiguration der PCI-Geräte direkt aus dem PCI-BIOS aus und verwendet fortan diese Daten für jegliche Information über das PCI-Subsystem. Sie können sich über den Befehl 183 7 Hardware rund um den Linux- Rechner erde:/ # lspci -tv eine Liste der von Linux erkannten Geräte am PCI-Bus auflisten lassen; vgl. Ausgabe 7.2.1. -[00]-+-00.0 Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge +-01.0-[01]----00.0 Nvidia Corporation Riva TNT +-04.0 Intel Corporation 82371AB PIIX4 ISA +-04.1 Intel Corporation 82371AB PIIX4 IDE +-04.2 Intel Corporation 82371AB PIIX4 USB +-04.3 Intel Corporation 82371AB PIIX4 ACPI +-06.0 Adaptec 7890 09.0 Digital Equipment Corporation DECchip 21140 [FasterNet] Ausgabe 7.2.1: Ausgabe des Befehls lspci -tv In Teilabschnitt 7.3 auf Seite 187 werden wir eine PCI-Soundkarte konfigurieren. ISA-Karten Die ISA-Karte ist die älteste Form von PC-kompatiblen Steckkarten. Der Bus ist 8 oder 16 Bit breit und wird mit max. 8 MHz getaktet. Viele Mainboards bieten die Möglichkeit, den ISA-Bus höher zu takten ­ das führt aber oft zu Problemen. ISA-Bus Karten können in drei Kategorien unterteilt werden: Legacy-Cards: Diese Karten müssen vollständig von Hand konfiguriert wer- den. Die Ressourcen, wie IO-Adressen, Interrupts und DMA-Kanäle müssen vom Benutzer anhand von Steckbrücken oder Mikroschaltern auf den Karten eingestellt werden. Der Benutzer muss auch selbst dafür sorgen, dass Res- sourcen, wie z. B. IRQ oder DMA-Kanal, nicht von zwei oder sogar mehre- ren Karten gleichzeitig verwendet werden. Die Konfiguration derartiger Kar- ten gestaltet sich daher oft etwas schwierig. Jumperless-Cards: Jumperless-Cards bieten gegenüber der ersten Generation von ISA-Karten den Vorteil, dass die Einstellung der Ressourcen nicht mehr über Steckbrücken erfolgt, sondern über ein spezielles Konfigurationspro- gramm erledigt wird. Dieses Programm ist aber meist nur für DOS verfügbar und kann daher unter Linux nicht verwendet werden. PnP-Cards: Plug-and-Play-Cards sind die logische Fortentwicklung der Jumper- less-Cards. Die Karten enthalten Daten über ihre Konfiguration und eine Liste möglicher Konfigurationen. Ein spezielles Programm oder ein Treiber kann nun die PnP-Karten im System abfragen und alle Karten so konfigurie- ren, dass sie sich gegenseitig nicht beeinflussen. Solange eine Karte nicht konfiguriert wurde, ist sie für das System praktisch nicht vorhanden. Unter Linux mit Kernel Version 2.2.x wird zur Konfiguration von PnP-Karten das Paket isapnp der Serie ap verwendet. Das Paket stellt die beiden Pro- gramme pnpdump und isapnp zur Verfügung. 184 7.2 Steckkarten Wie werden PnP-Karten mit den isapnp-Tools aktiviert? Gehen Sie folgendermaßen vor: * Melden Sie sich als Benutzer `root' beim System an. * Falls Sie im Verzeichnis /etc schon eine Datei isapnp.conf vorfinden, sollten Sie diese zuerst sichern: erde:/ # mv /etc/isapnp.conf /etc/isapnp.conf.bak * Erzeugen Sie mit dem Aufruf erde:/ # pnpdump -c > /etc/isapnp.conf die Datei /etc/isapnp.conf. Der Parameter -c sorgt dafür, dass pnpdump die Ausgabedatei schon derart vorbereitet, dass die PnP-Geräte gleich akti- viert werden. * Mit dem Aufruf erde:/ # isapnp /etc/isapnp.conf aktivieren Sie die PnP-Karten in Ihrem Rechner. ­ Unter SuSE Linux wird diese Aktivierung automatisch bei jedem Systemstart ausgeführt. Mögliche Fehlerquellen Symptom: pnpdump liefert eine Ausgabe der Art: "No boards found". Es kann auch vorkommen, dass eine oder mehrere der installierten ISA-PnP- Karten nicht erkannt werden. Mögliche Erklärungen: * Sie haben keine ISA-PnP-Karte in Ihrem System installiert: Überprüfen Sie, welche Karten in Ihrem System installiert sind und lesen Sie deren Dokumentation. Fragen Sie ggf. den Händler, von dem Sie Ihren Compu- ter erworben haben, nach den installierten Karten. * Die Karte(n) ist/sind defekt: Überprüfen Sie den richtigen Sitz der Kar- ten in den Steckplätzen. Testen Sie das richtige Funktionieren der Karten unter einem anderen Betriebssystem. * Es gibt Karten, die entweder als ISA-PnP-Karte betrieben oder denen feste Ressourcen zugewiesen werden können (Beispiel: einige 10 MBit NE2000 ISA-Ethernetkarten). Meist kann mit einem DOS-Programm zwi- schen den beiden Modi hin- und hergeschaltet werden. Je nach Konfigu- ration solcher Karten tauchen diese nicht in der Ausgabe von pnpdump auf. * Einige wenige ISA-PnP-Karten lassen sich nicht zusammen mit anderen ISA-PnP-Karten in einem System betreiben. Es ist dann jeweils nur eine der Karten in der Ausgabe von pnpdump sichtbar. Eventuell lässt sich in einem solchen Fall eine der Karten so konfigurieren (z. B. über Jumper direkt auf der Karte), dass sie nicht mehr als ISA-PnP-Karte betrieben wird, sondern fest eingestellte Ressourcen verwendet. 185 7 Hardware rund um den Linux- Rechner * Es gibt sehr vereinzelt Karten, die nach dem Aufruf von pnpdump einen Reset durchführen. Handelt es sich hierbei z. B. um eine SCSI-Karte und hängt die Root-Partition an diesem Gerät, so kann es zum Absturz kom- men. Tritt dieses Problem bei Ihnen auf, so müssen Sie die Karte (sofern möglich) so konfigurieren, dass sie nicht mehr als ISA-PnP-Gerät arbei- tet. Oder Sie verzichten auf die Initialisierung der Karte unter Linux ganz und booten das System mit Hilfe von loadlin; in diesem Fall ist die Karte bereits initialisiert. Symptom: Sie erhalten bei der Ausführung des Befehls isapnp oder beim Boo- ten eine Fehlermeldung der Art: * LD setting failed, this may not be a problem. * Try adding (VERIFYLD N) to the top of your script ** Error occured requested `LD2` on or around line 319 * --- further action aborted Lösung: Folgen Sie dem Ratschlag der Fehlermeldung und fügen Sie am Be- ginn der /etc/isapnp.conf die Zeile (VERIFYLD N) ein, also z. B.: # [...] # (DEBUG) (VERIFYLD N) (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # [...] Symptom: Sie erhalten bei der Ausführung des Befehls isapnp oder beim Booten eine Meldung der Art: [...] /etc/isapnp.conf:66 -- Fatal - resource conflict allocating 16 bytes of IO at 220 (see /etc/isapnp.conf) /etc/isapnp.conf:66 -- Fatal - IO range check attempted while device activated /etc/isapnp.conf:66 -- Fatal - Error occurred executing request ' ' --- further action aborted Lösung: Sie haben wahrscheinlich einen Konflikt zwischen den in der /etc/ isapnp.conf ausgewählten Werten und den in Ihrem System bereits ver- wendeten Ressourcen. Bitte gleichen Sie die /etc/isapnp.conf mit den unter /proc befindlichen Informationen zu den vergebenen Ressourcen ab; dies sollte nicht notwendig sein, wenn Sie pnpdump mittels der Option -c die Zuordnung vornehmen lassen. 186 7.3 Soundkarten Achtung In manchen Fällen kann es zu Schwierigkeiten kommen, wenn im Setup des Rechners die automatische Konfiguration von ISA-PnP Ressourcen durch das BIOS eingeschaltet ist. Schalten Sie diese bitte ggf. ab. Da die Konfigu- ration mittels pnpdump/isapnp vorgenommen wird, ist diese Setup-Option nicht notwendig. Bei weiterreichenden Problemen sollten Sie die vollständige Dokumentation zum Paket isapnp zu Rate ziehen. Diese finden Sie auf Ihrem System im Verzeich- nis /usr/share/doc/packages/isapnp. Wir werden am Ende dieses Teilab- schnittes die Konfiguration einer PnP-Karte anhand einer Soundkarte nochmals im Detail betrachten. 7.3 Soundkarten Auf dem Markt werden derzeit hauptsächlich Soundkarten mit PCI-Bus angebo- ten. Vereinzelt sind noch Karten mit ISA-Bus zu finden. Unter SuSE Linux bieten sich derzeit zwei Lösungen zur Unterstützung von So- undkarten an. Die einfachste und auch empfohlene Vorgehensweise ist die Ver- wendung von YaST2. YaST2 verwendet Treiber, die im sog. ALSA-Projekt ent- wickelt werden. Informationen zu diesem Projekt erhalten Sie unter der URL http://www.alsa-project.org. Die ALSA-Treiber können Sie auch mit Hilfe des Programms alsaconf installieren. 7.3.1 Soundkarte mit YaST2 konfigurieren Um Ihre Soundkarte zu konfigurieren (falls das bei der Installation noch nicht geschehen ist, weil die Soundkarte beispielsweise erst später eingebaut wur- de), starten Sie bitte YaST2 als Benutzer `root' und wählen dann das Modul `Hardware/Sound' aus. YaST2 versucht jetzt, Ihre Soundkarte automatisch zu erkennen, und gibt eine Liste von Soundkartentreibern und dazugehörigen Soundkartenmodellen für die erkannte Hardware aus. Aus dieser Liste wählen Sie den entsprechenden Sound- kartentreiber sowie das Modell der Soundkarte. Schlagen Sie dazu ggf. im Hand- buch Ihrer Soundkarte nach. Sollte Ihre Soundkarte nicht erkannt werden, kli- cken Sie bitte auf `Manuell' und wählen aus der Liste von Soundkartentreibern für alle unterstützten Karten den passenden Treiber und das Soundkartenmodell aus. Durch einen Klick auf den Button `Optionen' können Sie kartenspezifi- sche Optionen angeben. Auch hier hilft Ihnen das Handbuch Ihrer Soundkarte weiter. Mit `Weiter' kommen Sie zur Testmaske, um Ihre Soundkonfiguration testen zu können. Mit den Buttons `+' bzw. `-' können Sie die Lautstärke einstellen. Beginnen Sie bitte bei etwa 10%, um nicht Ihre Anlage oder sogar Ihr Gehör 187 7 Hardware rund um den Linux- Rechner zu gefährden. Kontrollieren Sie auch den Lautstärkeregler Ihrer Anlage. Durch einen Klick auf den `Test' Button sollte jetzt ein Testsound zu hören sein. Ist dies nicht der Fall, überprüfen Sie bitte die Lautstärke der Testmaske und Ihrer Anlage. Ist der Test erfolgreich und die Lautstärke entspricht ebenfalls Ihren Vorstellungen, dann klicken Sie bitte auf `Weiter'. Mit `Weiter' schließen Sie die Soundkonfiguration ab, und die Lautstärke wird gespeichert. Klicken Sie noch einmal auf `Weiter', um wieder zur `YaST2 Systemkonfiguration und -administration' zurückzukehren. Die Mixereinstellung Ihrer Soundkarte können Sie in Zukunft beispielsweise über die Programme kmix oder gamix ändern. 7.3.2 Soundkarte mit alsaconf konfigurieren Da YaST2 ALSA zur Konfiguration Ihrer Soundkarte verwendet, sollten Sie die- sen Abschnitt nur als weiterführende Information betrachten um ALSA genauer zu verstehen. Es hilft Ihnen evtl. auch Probleme zu beheben, die bei einer Fehl- konfiguration entstehen können. ALSA (Advanced Linux Sound Architecture) wird von vielen Entwicklern un- terstützt und die Anzahl verfügbarer Treiber wächst ständig. ALSA bietet neben der eigenen (native) Schnittstelle noch eine zu OSS, dem OpenSoundSystem kompatible Schnittstelle an. Sie können also Programme, die für OSS entwi- ckelt wurden, weiterhin verwenden. Alle Möglichkeiten der Soundkonfiguration können aber nur über die ALSA-Schnittstelle selbst ausgeschöpft werden. ALSA basiert vollständig auf dem Modulkonzept des Kernels. Die notwendigen Module sind im Kernel-Modul Verzeichnis (/lib/modules/...) im Bereich misc abgelegt. Die Konfiguration von ALSA erfolgt über Einträge in der Datei /etc/modules.conf. YaST2 erledigt für Sie die Erstellung dieser Einträge. ALSA bietet aber auch ein eigenes Programm alsaconf an, das alternativ zu YaST2 verwendet werden kann. Mit ALSA können Sie jederzeit auch mehrere Soundkarten gleichzeitig betrei- ben. Hierzu muss die Datei /etc/modules.conf nur um die notwendigen Pa- rameter erweitert werden. Gehen Sie folgendermaßen vor, um mit alsaconf Ihre Soundkarte in SuSE Linux zu integrieren: * Melden Sie sich als Benutzer root auf einer Textkonsole an. * Starten Sie das Programm alsaconf erde:/ # alsaconf * alsaconf versucht nun zuerst vorhandene Soundkarten zu finden. Es wird nach ISA-Bus, aber auch nach PCI-Bus Karten gesucht. Plug-and-Play-Karten auf dem ISA-Bus werden ebenfalls untersucht. * alsaconf zeigt Ihnen nun eine Liste der gefundenen Soundkarten und bie- tet deren Konfiguration an. Sollte keine Karte gefunden worden sein, so er- scheint sofort eine Auswahlliste möglicher Karten. 188 7.4 Schnittstellen am Rechner * Sie werden nun gefragt, ob die Datei /etc/modules.conf verändert wer- den soll. Dies sollten Sie mit YES bestätigen. * Es werden nun die notwendigen Einträge in /etc/modules.conf erstellt und der Treiber probeweise geladen. * Anschließend haben Sie die Möglichkeit die Soundkarte zu testen. Hierzu wird ein Testsound" ausgegeben. Stellen Sie die Lautsprecher an Ihrer So- undkarte nicht zu laut ein. * Die Treiber werden beim nächsten Systemstart automatisch geladen. Sie kön- nen diese aber auch manuell laden und entladen. Verwenden Sie erde:/ # rcalsasound start zum laden, und erde:/ # rcalsasound stop zum entladen der Treiber. 7.4 Schnittstellen am Rechner 7.4.1 PS/2-Anschlüsse Die PS/2-Anschlüsse wurden von IBM für die PS/2-Systeme entwickelt. In den letzten Jahren fanden diese Anschlüsse durch den ATX-Standard weite Verbrei- tung. Sie können an die PS/2-Anschlüsse eine Maus und eine Tastatur anschlie- ßen. Die Konfiguration der PS/2-Anschlüsse ist unter Linux nicht notwendig, da die Unterstützung für PS/2 fest in den Kernel eingebunden ist. Das System erkennt also automatisch vorhandene PS/2-Anschlüsse, und kann die daran angeschlos- senen Geräte nutzen. Die Anschlüsse werden mit den Gerätedateien /dev/kbd und /dev/psaux im System abgebildet. 7.4.2 Serielle Anschlüsse Die seriellen Anschlüsse (RS232) des Rechners werden oft für externe Modems verwendet. Sie können auch eine Maus mit einer RS232-Schnittstelle an einem solchen Anschluss betreiben. Unter Linux unterstützt das Kernel-Modul serial.o die seriellen Anschlüs- se. Das Modul wird automatisch geladen, wenn Sie versuchen, Geräte an diesen Anschlüssen über geeignete Software anzusprechen. Falls Sie also z. B. Ihren In- ternetzugang so konfiguriert haben, dass ein Modem an COM1 verwendet werden soll, dann wird vor dem Verbindungsaufbau zum Provider das Modul automa- tisch nachgeladen. Sie können die Konfiguration Ihrer seriellen Schnittstellen durch das kleine Pro- gramm setserial verändern. Dieses Programm wird auch bei jedem Systemstart 189 7 Hardware rund um den Linux- Rechner durch das Skript /etc/init.d/serial ausgeführt. Weiteres zu setserial ent- nehmen Sie bitte der Man-Page des Programmes. Serielle Anschlüsse werden durch die Gerätedateien /dev/ttyS0, /dev/ttyS1 usw. vom System ange- sprochen. 7.4.3 Parallele Anschlüsse Der parallele Anschluss des Rechners wird vorwiegend für den Anschluss von Druckern verwendet. Sie können aber auch z. B. externe ZIP- oder CD-Laufwerke daran betreiben. Das Parport"-Subsystem seit des Kernels ist dafür ausgelegt, an einer parallelen Schnittstelle mehrere Geräte gleichzeitig zu betreiben. Sie können beispielsweise ein ZIP-Laufwerk an die parallele Schnittstelle anschließen und an dieses wie- derum einen Drucker. parport initialisieren Es werden die parport- und parport_pc-Unterstützung des Kernels be- nötigt. Dabei ist parport das eigentliche Subsystem des Kernels, während parport_pc für die hardwareseitige Einbindung der Schnittstelle des PCs. Mit dem Befehl erde: # modprobe parport_pc können Sie die Module manuell einbinden. Überprüfen Sie, ob die Schnitt- stelle gefunden und konfiguriert werden konnte, indem Sie anschließend den Befehl lsmod eingeben; in der Modul-Auflistung sollten dann parport und parport_pc erscheinen. Schauen Sie auch in der Datei /var/log/messages nach, mit welchen Werten parport initialisiert wurde (vgl. Datei 7.4.1). Jun 3 09:15:53 tux kernel: parport0: PC-style at 0x378 [SPP, ECP] Datei 7.4.1: /var/log/messages: parport-Initialisierung Für die Konfiguration der Schnittstelle sind die Einträge in Datei 7.4.2 zustän- dig; der auskommentierte Eintrag gibt einen Hinweis, wie eine weitere parallele Schnittstelle eingebunden werden kann. alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,none Datei 7.4.2: /etc/modules.conf: parport-Konfiguration 190 7.4 Schnittstellen am Rechner Hinweis Bei Schwierigkeiten kontrollieren Sie bitte zunächst im BIOS des Rechners, wie die fragliche Schnittstelle dort eingetragen ist. Die Schnittstelle sollte explizit eine Adresse (möglichst 0x378) und einen eigenen Interrupt erhal- ten. Etwaige auto"-Einstellungen sind zu vermeiden. Oft ist es notwendig, die Geräte in der richtigen Reihenfolge einzuschalten; bitte schauen Sie in den mitgelieferten Handbüchern nach. Es hat sich bewährt, erst den Rechner und dann ­ noch bevor das Booten beginnt ­ sofort die externen Geräte zu aktivieren! parport verwenden: Drucker, ZIP-Laufwerke, PLIP etc. Wenn nun ein Parallelport-Gerät benutzt werden soll, muss das jeweils zuständi- ge Modul geladen werden; im Falle eines Druckers ist es das lp-Modul: erde: # modprobe lp Und lsmod sollte dann u. a. anzeigen: parport_pc 5568 1 (autoclean) parport 6884 1 [parport_pc lp] lp 5116 0 (unused) Auch in diesem Fall gilt: Einträge in der Datei /var/log/messages wie auch im proc-Dateisystem unter /proc/sys/dev/parport/ geben näheren Auf- schluss. Wenn alles läuft, werden Sie die Module nicht mehr per Hand laden müssen, das erledigt der Kmod automatisch (vgl. Abschnitt 10.2 auf Seite 254), wenn z. B. der Druckauftrag losgeschickt wird. ZIP-Laufwerke werden entweder von ppa oder von imm bedient ­ vgl. unten Abschnitt 7.5.3 auf Seite 196. Weiterführende Informationen Vgl. bei den Kernelquellen im Verzeichnis /usr/src/linux/Documentation die Dateien parport.txt und paride.txt. Informationen zum aktuellen Stand der parport-Programmierung sind im WWW unter http://www.torque.net/linux-pp.html bzw. http://www.torque. net/parport/ zu finden. 7.4.4 USB ­ Universal Serial Bus Im Jahre 1994 schlossen sich Compaq, Intel, Microsoft und NEC zusammen, um die Spezifikation des Universal Serial Bus" (USB) festzulegen. Das Ziel war ei- ne einfach zu bedienende Verbindung zum Telefon und die Erweiterung der be- stehenden Anschlüsse (seriell, parallel). Mit Hilfe dieses Bus-Systems und eines 191 7 Hardware rund um den Linux- Rechner USB-Kabels" können Sie verschiedene Geräte wie Maus, Tastatur, Drucker, Scanner, Joysticks etc. mit Ihrem Rechner verbinden. Somit sollen die vielen derzeit noch verwendeten Kabel für diverse Schnittstellen wie RS232 (seriell) oder Centronics (parallel) ersetzt werden. Der USB-Bus ist in der Lage, Geräte während des laufenden Betriebs am System an- und abzumelden, ohne dass der Rechner neu gestartet werden muss. Die erste Version erschien 1996 und entwickelte sich von Version zu Version weiter. In der aktuellen Version (USB 1.1.) werden bis zu 127 Geräte gleichzeitig unterstützt. Die maximale Übertragungsbandbreite ist auf 12 Mbit/s begrenzt. Unter Linux macht die Unterstützung dieses Bus-Systems rasante Fortschritte. Zahlreiche Geräte können bereits über diesen Bus mit dem Rechner verbunden und einfach konfiguriert werden. Spätestens mit der kommenden 2.4er Kernel- serie zählt dann die Nutzung von USB-Geräten auch bei Linux zum Standard. Verfügbare Module Im Folgenden geben wir Ihnen eine Übersicht über die verfügbaren Module und erläutern, für welche Geräte das jeweilige Modul geladen werden sollte. Die auf- geführten Module befinden sich in dem Verzeichnis /lib/modules/2.4.9/usb. Detaillierte Informationen zu den einzelnen Modulen finden Sie im Verzeichnis /usr/src/linux/Documentation/usb/. Wenn im Folgenden von Eingangsereignissen" oder allgemein von Ereignis- sen" gesprochen wird, sind damit Mausbewegungen, Tastenbetätigungen etc. ge- meint. input.o Das Modul sollte geladen werden bevor andere USB-Eingabe-Geräte in Betrieb genommen werden und um jegliche Eingaben unter Linux zu unter- stützen. Es dient zur Kommunikation zwischen der Hardware (via USB) und der Verarbeitung der Ereignisse. Weitere Informationen finden Sie in der Da- tei input.txt in dem Verzeichnis /usr/src/linux/Documentation/ usb. usbcore.o USB Core ist das USB-Subsystem, das die Kommunikation mit der installierten Hardware vereinfachen soll, die abhängig von definierten Daten- strukturen, Makros und Funktionen sind. Über eine allgemeine Schnittstelle zum Betriebssystem (API) werden gemeinsame Routinen aller USB-Geräte und Host-Controller unterstützt. usb-uhci.o / usb-ohci.o Dieses Modul bindet den USB-Host-Controller Ihres Mainboards ein. Die meisten heutigen Mainboards haben einen USB-Host- Controller in ihrem Chipsatz integriert. Ältere Mainboards bei denen das nicht der Fall ist, können mit PCI-Karten nachgerüstet werden. Der USB- Host-Controller ist dann auf den PCI-Karten integriert. Es gibt zwei Stan- dards, mit denen diese USB-Host-Controller jeweils kompatibel sind: Das Universal Host Controller Interface (UHCI) Intel bzw. das Open Host Con- troller Interface (OHCI) von Compaq. Das Modul usb-ohci.o bindet den OHCI-Chipsatz (Compaq, NEC, iMacs, OPTi, SiS, ALi, Lucent, CMD etc.) ein. 192 7.4 Schnittstellen am Rechner usb-uhci.o bindet hingegen den UHCI-Chipsatz (Intel, VIA adapters) ein und wird benötigt, um Geräte über diesen USB-Host-Controller anzuspre- chen. Tipp Wenn Sie als root angemeldet sind, können Sie mit dem Befehl lspci -v | grep USB den Typ Ihres USB-Host-Controller auslesen, um anschließend das entsprechende Modul für Ihren Chipsatz zu laden. In der Anzeige muss dann entweder UHCI oder OHCI auftauchen. hid.o Die HID" (Human Interface Devices) ist eine Geräteklasse, die über die- ses allgemeine Modul angesprochen wird. Zu den unterstützen Geräten zäh- len Keyboards, Mäuse, Joysticks, Digitizer etc. In dem Verzeichnis existieren zu einigen Geräte zwei Module: Das Modul *dev.o ist ein high-layer"-Modul (wobei *" bspw. für mouse" steht) und fungiert als Schnittstelle zwischen der Hardware und den Benutzerpro- grammen wie X" oder games"; usb*.o ist ein low-layer"-Modul, das die Eingangsereignisse erzeugt. Gebraucht werden beide Module, wobei für das low-layer"-Modul alternativ auch das Modul hid.o verwendet werden kann. Bei USB-Geräten gibt es zwei Modi, um den Ereigniseingang zu beschrei- ben: HID ermöglicht die Unterstützung aller Funktionen eines Gerätes und benötigt dementsprechend das komplexere Modul hid.o; HIDBP (HID boot protocol) ist ein stark vereinfachter Modus und unterstützt nur die grundle- genden Funktionen eines Gerätes für eine Unterstützung im BIOS. usbkbd.o Das Modul ermöglicht die Nutzung der grundlegendsten Funk- tionen einer Tastatur im HIDBP-Modus. Bevorzugt sollte eine Einbindung dieser Geräteklasse jedoch über das Modul hid.o erfolgen. Im Gegensatz zum hid.o-Modul werden mit diesem Modul nur Tastaturen eingebun- den. usbmouse.o Das Modul ermöglicht die Nutzung der grundlegendsten Funk- tionen einer Maus im HIDBP-Modus. Bevorzugt sollte eine Einbindung dieser Geräteklasse jedoch über das Modul hid.o erfolgen. Im Gegensatz zum hid.o-Modul werden mit diesem Modul nur Mäuse eingebunden. keybdev.o Das Modul übersetzt" Eingangsereignisse in den Architektur- spezifischen nur-Daten-Modus (RAW) der Tatstatur, ist noch nicht ausge- reift, kommt aber mit fast allen Architekturen zurecht. mousedev.o Das Modul wandelt die Eingangsereignisse von Maus, Di- gitizers oder Tablets zu PS/2-Ausdrücken um. Da es noch nicht ganz ausgereift ist, sollte für die Einbindung dieser Geräte besser das Modul evdev.o bzw. bei wheel"-Mäusen (Scrollrad) hid.o benutzt werden. acm.o Das Modul laden Sie, wenn Kommunikationsgeräte wie Modems bzw. ISDN-Terminaladapter der Spezifikation der USB-Geräteklasse ACM" (Ab- stract Control Model) entsprechen. Das ACM" ist eine Methode, um mit 193 7 Hardware rund um den Linux- Rechner Modems kommunizieren zu können. Die unterstützten Modems sind in der Datei acm.txt im Verzeichnis /usr/src/linux/Documentation/usb aufgeführt. audio.o bindet digitale Audio-Geräte ein und unterstützt digitale Mixer, Wave- Geräte sowie Lautsprecher. dabusb.o unterstützt Amateurfunkgeräte. dc2xx.o bindet digitale Fotokameras von Kodak der Serie DC-2xx sowie nicht- Kodak-Kameras ein. Weitere Informationen finden Sie in der Datei dc2xx. txt in dem Verzeichnis /usr/src/linux/Documentation/usb. evdev.o Die evdev" ist eine allgemeine Schnittstelle (API), die den Eingang der Ereignisse von Geräten regelt, da Ereigniscodes in allen Architektu- ren gleich und hardwareunabhängig sind. Das Modul unterstützt diese API- Schnittstelle. ibmcam.o dient der Unterstützung von IBM-(C-It) und Xirlink-Webkameras, wobei bisher zwar nicht alle Eigenschaften unterstützt werden; die gängigs- ten funktionieren aber. Weitere Informationen finden Sie in der Datei ibmcam. txt in dem Verzeichnis /usr/src/linux/Documentation/usb. joydev.o dient zur Kommunikation mit Joysticks. ov511.o bindet den nur unter USB vorhandenen Chip OV511" von Omnivisi- on Technologies ein, der in verschiedenen Webcams integriert ist. Des Weite- ren werden auch Kameras mit OV511/OV511+- und OV7610/20/20AE CCD- Chip unterstützt. Zu den meisten Video4Linux"-Anwendungen ist der Trei- ber kompatibel, zu einigen Videokonferenzprogrammen aber nicht. Für vom Modul unterstützte Auflösungen und weiteren Informationen lesen Sie die Datei ov511.txt in dem Verzeichnis /usr/src/linux/Documentation/ usb. printer.o dient zur Kommunikation mit USB-Druckern. scanner.o wurde ursprünglich für USB-Scanner der Firma Hewlett Packard (HP) entwickelt, kann aber auch unabhängig von Anbieter und Produkt-ID für USB-Scanner eingesetzt werden. Weitere Informationen finden Sie in der Datei input.txt in dem Verzeich- nis /usr/src/linux/Documentation/usb. usb-serial.o Mit diesem Modul können Sie seriell anzuschließende USB-Geräte steuern. Die seriellen Signale werden zu USB-Signalen konvertiert. Bis zu 256 verschiedene Verbindungen können gleichzeitig verwaltet werden. Wei- tere Informationen auch zu unterstützten Geräten finden Sie in der Datei usb-serial.txt in dem Verzeichnis /usr/src/linux/Documentation/ usb. usb-storage.o bindet USB-Massenspeichergeräte wie Zip, Diskettenlaufwer- ke, Festplatten sowie Smartmediacard-Geräte ein. Der Treiber läuft aber nicht mit allen Geräten stabil. 194 7.5 Wechselmedien wacom.o bindet das Wacom Graphire/Intuos-Tablet in Ihr System ein. Obwohl diese Unterstützung bereits durch das HID-Modul gegeben sein sollte, konn- te bisher lediglich der Wacom PenPartner mit damit eingebunden werden. wmforce.o ermöglicht die Nutzung von Logitech WingMan Force-Joysticks mit USB-Anschluss. Es arbeitet gut, Force Feedback" (vom Spiel ausgelöste Vibrationen des Joysticks bzw. Lenkrads) wird jedoch nicht unterstützt. Konfiguration einer USB-Maus und -Tastatur Für eine gewöhnliche Konfiguration mit USB-Maus und -Tastatur sollten folgen- de Module geladen werden: * input.o * mousedev.o * keybdev.o * usbcore.o * usb-uhci.o oder usb-ohci.o * hid.o Weitere Quellen Mehr Informationen zur USB-Implementierung und zu unterstützten Geräten finden Sie unter * http://www.linux-usb.org * http://www.qbik.ch/usb/devices/ 7.5 Wechselmedien Unter Linux können die verschiedensten Wechselmedien zum Einsatz kommen: Diskettenlaufwerke, ZIP-, JAZ- oder SyQuest-Laufwerke. Auch Magneto-Opti- sche Datenträger können verwendet werden. 7.5.1 Diskettenlaufwerke Zum einfachen Zugriff auf MS-DOS formatierte Disketten wurden die mtools" entwickelt. Selbstverständlich können Sie auch ext2- oder minix-formatierte Disketten verarbeiten. Es sind auch viele weitere Dateisysteme verwendbar. Hierzu müssen Sie diese aber mithilfe des mount-Befehls im Dateisystem einhängen. 195 7 Hardware rund um den Linux- Rechner 7.5.2 LS-120-Laufwerke LS-120 Laufwerke werden an den IDE-Anschluss des Rechners angeschlossen und vom System wie Festplatten betrachtet. Daher müssen Sie diese auch mit- hilfe des mount-Befehls im Dateisystem einhängen. 7.5.3 ZIP-Laufwerke ZIP-Laufwerke gibt es für unterschiedliche Schnittstellen: Parallelport, IDE, SC- SI und USB. Für IDE- und SCSI-Laufwerke benötigen Sie keine besonderen Treiber. Diese Varianten werden an den jeweiligen Bus angeschlossen und können dann von den zuständigen Treibern (IDE bzw. SCSI) angesprochen werden. Die Geräte werden dann durch die Gerätedateien /dev/hda - /dev/hdd für IDE (ATAPI) und /dev/sda - /dev/sdm für SCSI angesprochen. Sie müssen das Laufwerk auch wieder mithilfe des mount-Befehls in das Dateisystem einhängen. Tipp Beim Kauf sind die Medien oftmals bereits partitioniert und mit einem MSDOS-Dateisystem versehen; in der Regel steht in einem solchen Fall diese Partition als /dev/hda4 oder /dev/sda4 zur Verfügung; vgl. file: /usr/share/doc/sdb/de/html/maddin_zip.html. Etwas aufwendiger gestaltet sich mitunter die Einbindung der Parallel- port-Version; es werden dafür der SCSI-Festplatten-Support, parport- und parport_pc-Unterstützung (vgl. Abschnitt 7.4.3 auf Seite 190) sowie der ppa- bzw. imm-Treiber des Kernels benötigt; imm ist für die neueren Laufwerke zu- ständig (z. B. für das ZIP 250). Des Weiteren sollten Sie sicherstellen, dass im BIOS des Rechners als Modus des Parallel-Ports EPP eingestellt ist. Versuchen Sie also zunächst einmal imm zu laden: erde: # modprobe imm Wenn dies fehlschlägt, unternehmen Sie den gleichen Versuch für ppa: erde: # modprobe ppa Damit wird das parport-Subsystem automatisch initialisiert; sollte das nicht funktionieren, schauen Sie bitte auf Seite 190 f nach. Mitunter kann durch einen Eintrag in /etc/modules.conf nachgeholfen wer- den (vgl. Datei 7.5.1 auf der nächsten Seite). Der alias für scsi_hostadapter darf nur dann gesetzt werden, wenn Sie keinen regulären SCSI-Hostadapter im System haben! Alternativ ist es möglich, die notwendigen modprobe-Aufrufe 196 7.6 Modems in das Bootskript /etc/init.d/boot.local einzutragen; zu dieser Datei vgl. Abschnitt 14.4 auf Seite 342 ff. # alias scsi_hostadapter ppa pre-install ppa modprobe "-k" parport_pc Datei 7.5.1: /etc/modules.conf: ppa-Konfiguration Dann kann auf ZIP-Disketten wie auf SCSI-Festplatten zugegriffen werden; es ist also notwendig, diese Medien zu mounten". Die Einbindung von USB Zip-Drives ist hingegen relativ einfach. Stellen Sie zu- nächst sicher, dass das USB­Susbsystem geladen ist (vgl. hierzu Abschnitt 7.4.4 auf Seite 191). Es müssen folgende Module geladen sein: usbcore usb-uhci bzw. usbcore usb-ohci Laden Sie dann zusätzlich das Modul usb-storage. Dann kann auf ZIP-Disketten wie auf SCSI-Festplatten zugegriffen werden; es ist also notwendig, diese Medien zu mounten". 7.6 Modems 7.6.1 Externe Modems Externe Modems werden direkt mit der seriellen Schnittstelle des Rechners ver- bunden. Programme können über die Gerätedateien /dev/ttyS0, /dev/ttyS1 usw. mit dem Modem kommunizieren. 7.6.2 Interne Modems Interne Modems sind entweder mit dem PCI-Bus oder dem ISA-Bus des Rech- ners verbunden. Weitere Informationen darüber finden Sie in Abschnitt 7.2 auf Seite 183. Da Modems über serielle Schnittstellen gesteuert werden, müssen interne Mo- dems diese Schnittstelle selbst zur Verfügung stellen. Tabelle 7.1 auf der nächsten Seite gibt eine Übersicht über die Standardressour- cen für serielle Schnittstellen. PCI-Modems Wenn Sie ein PCI-Modem besitzen, handelt es sich wahrscheinlich um ein sog. Winmodem". Winmodems sind eigentlich keine Modems. Diese Modems be- nötigen einen speziellen Treiber, der dann ein normales Modem emuliert. Dieser 197 7 Hardware rund um den Linux- Rechner Gerätedatei Name Interrupt IO-Adresse /dev/ttyS0 COM1 4 0x3f8 /dev/ttyS1 COM2 3 0x2f8 /dev/ttyS2 COM3 4 0x3e8 /dev/ttyS3 COM4 3 0x2e8 Tabelle 7.1: Standardressourcen für serielle Schnittstellen Treiber wird vom Hersteller des Modems zur Verfügung gestellt und ist z. Z. leider in der Regel nicht für Linux verfügbar. Nähere Informationen über Win- modems und deren Unterstützung für Linux erhalten Sie über den SDB-Artikel file:/usr/share/doc/sdb/de/html/cep_winmodem.html. Sollte es sich aber um kein Winmodem handeln, dann können Sie das Modem natürlich unter SuSE Linux betreiben. Allerdings ist ein bisschen Handarbeit notwendig, da diese Modems nicht automatisch konfiguriert werden. ISA-Modems Um ISA-Modems zu betreiben, sind zwei Schritte notwendig: * Das Modem selbst muss konfiguriert werden (IRQ und IO-Addresse der Schnittstelle). * Der Kernel muss über die neue Schnittstelle informiert werden. Initialisierung des Modems Wie bereits in Abschnitt 7.2 auf Seite 183 beschrieben, kann es sich bei ISA-Bus basierten Karten um Legacy, Jumperless oder um PnP-Karten handeln. In diesem Abschnitt ist auch die Aktivierung von PnP-Karten beschrieben. Einige Hinweise zu den Einstellungen der Karte: Am wenigsten Probleme bereitet die Konfiguration der Karte auf /dev/ttyS1 mit IRQ 3 (COM2). Die Verwendung von /dev/ttyS3 (IRQ 4) ist auch möglich, kann aber mit /dev/ttyS0 (COM1) in Konflikt geraten, da diese Schnittstelle normalerweise auch IRQ 4 verwendet. Sollten Sie also eine serielle Maus (an COM1) betreiben, so dürfen Sie das Modem nicht auf /dev/ttyS0 oder /dev/ ttyS2 konfigurieren. IRQ 5 und 7 sollten Sie ebenfalls vermeiden, da diese oftmals von Soundkarten und Druckerschnittstellen verwendet werden. Übergabe der Parameter an den Kernel Nachdem das Modem konfiguriert wurde, muss der Kernel über die neue Schnitt- stelle informiert werden. Sollten Sie das Modem auf /dev/ttyS0 oder /dev/ ttyS1 gelegt haben, so brauchen Sie nichts zu verändern. Nach dem nächsten Neustart des Systems werden die Schnittstellen automatisch konfiguriert. 198 7.7 Bandlaufwerke (engl. streamer) Bei Verwendung anderer IO-Port/IRQ-Kombinationen muss die Schnittstelle mit Hilfe des Befehl setserial bekannt gemacht werden: erde:/ # setserial /dev/ttyS3 irq 10 Anschließend können Sie das Modem für den Internetzugang konfigurieren. Um die Konfiguration mithilfe des setserial-Kommandos zu automatisieren, kön- nen Sie die Datei /etc/init.d/serial verändern. Das obige Beispiel lässt sich automatisieren, wenn in der genannten Datei folgende Zeile # run_setserial /dev/ttyS3 $AUTO_IRQ autoconfig nach run_setserial /dev/ttyS3 irq 10 abgeändert wird. 7.7 Bandlaufwerke (engl. streamer) Bandlaufwerke, auch Streamer genannt, werden in erster Linie zur Sicherung großer Datenbestände verwendet. Auf dem Markt sind Bandlaufwerke mit ver- schiedenen Schnittstellen zum Rechner verfügbar. SCSI-Bandlaufwerke Am bekanntesten dürften die Geräte sein, die direkt mit dem SCSI-Bus verbun- den werden. Grundsätzlich können Sie davon ausgehen, dass Sie alle Bandlauf- werke, die an einen von Linux unterstützten SCSI-Adapter angeschlossen sind, auch nutzen können. Sollte Ihr Bandlaufwerk über außergewöhnliche Funktio- nen verfügen (z. B. eine Bandwechselstation), so wird oftmals spezielle Software benötigt, um diese Funktionen zu nutzen. Das SCSI-Bandlaufwerk wird folgendermaßen gesteuert: * Das erste Bandlaufwerk im System wird mit den Gerätedateien /dev/st0 und /dev/nst0 angesteuert, das nächste mit /dev/st1 und /dev/nst1 usw. /dev/stX steht für ein Bandlaufwerk, das nach jeder Aktion das Band wieder an den Anfang zurückspult. /dev/nstX referenziert hingegen ein Laufwerk, dass das Band stets an der aktuellen Position belässt. Wir empfehlen die Benutzung von /dev/nstX, da Sie mit dem Befehl mt das Laufwerk genau steuern können. * Verwenden Sie also den Befehl mt, um dem Bandlaufwerk Befehle zur Band- steuerung zu senden. erde:/ # mt -f /dev/nst0 retension Spannt das Band neu, indem es vom Anfang bis zum Ende durchgespult wird. erde:/ # mt -f /dev/nst0 rewind Spult das Band an den Anfang zurück. erde:/ # mt -f /dev/nst0 eom 199 7 Hardware rund um den Linux- Rechner Spult das Band hinter den letzten Datensatz. Hiermit können Sie neue Daten an ein teilweise bespieltes Band anfügen. erde:/ # mt -f /dev/nst0 erase Löscht das Band im Laufwerk. Vorsicht, alle Daten auf dem Band gehen verloren. IDE-Bandlaufwerke IDE-Bandlaufwerke werden an den IDE-Bus des Rechners angeschlossen. Das Laufwerk wird von Linux automatisch erkannt und Sie können es dann über die Gerätedateien /dev/ht0 bzw. /dev/nht0 benutzen. Verwenden Sie den Befehl mt, wie in Abschnitt 7.7 auf der vorherigen Seite beschrieben. Floppy-Bandlaufwerke Floppy-Bandlaufwerke werden einfach an den in jedem Rechner vorhandenen Floppy-Port angeschlossen. Da diese Geräte aber sehr zeitkritisch anzusteuern sind, kann es oft zu Problemen bei der Sicherung oder beim Backup kommen. Um diese Laufwerke unter Linux zu nutzen, benötigen Sie einen speziellen Trei- ber, den ftape-Treiber. Dieser Treiber wird mit dem Kernel bereits mitgeliefert. Näheres zur Konfiguration dieser Geräte entnehmen Sie bitte der Dokumenta- tion unter /usr/src/linux/Documentation/ftape.txt. Die gesamte Do- kumentation zum ftape-Subsystem erhalten Sie auf der Homepage des Treiber- entwicklers: http://www.instmath.rwth-aachen.de/~heine/ftape. 200 8 Notebooks ­ PCMCIA, APM, IrDA 8 Notebooks ­ PCMCIA, APM, IrDA An Notebooks werden besondere Anforderungen gestellt. Hierzu zählen unter anderem Advanced Power Management" (APM), Infrarot-Schnittstellen (IrDA) und PC-Karten (PCMCIA). Gelegentlich sind auch in Desktop-Rechnern solche Komponenten zu finden; sie unterscheiden sich nur unwesentlich von den in No- tebooks verwendeten ­ deshalb wird deren Verwendung und Konfiguration in diesem Kapitel zusammengefasst. Wer an Erfahrungen mit bestimmten Notebooks interessiert ist, sollte auf al- le Fälle die Linux Laptop Homepage" unter http://www.cs.utexas.edu/ users/kharker/linux-laptop besuchen. Eine weitere gute Informations- quelle ist die Moblix"-Homepage unter http://mobilix.org/index.html (MobiliX ­ Mobile Computers and Unix). Dort findet man sowohl ein interessan- tes Laptop-Howto als auch ein IrDA-Howto. Außerdem gibt es in der SuSE- Supportdatenbank den Artikel Laptops und Notebooks (PCMCIA) unter Linux (file:/usr/share/doc/sdb/de/html/laptop.html). 8.1 PCMCIA 8.1.1 Die Hardware PCMCIA steht für Personal Computer Memory Card International Associati- on" und wird aber landläufig als Sammelbegriff für sämtliche damit zusammen- hängende Hard- und Software verwendet. Die wesentliche Komponente ist die PCMCIA-Karte; hierbei unterscheidet man zwei Typen: PC-Karten: Das sind die derzeit noch am meisten vorkommenden Karten. Sie verwenden einen 16 Bit breiten Bus zur Datenübertragung, sind meist relativ günstig und sehr viele werden problemlos und stabil unterstützt. CardBus-Karten: Dies ist eine neuerer Standard. Sie verwenden einen 32 Bit breiten Bus, sind dadurch schneller, aber auch teurer. Da die Datenübertra- gungsrate aber häufig an anderer Stelle eingeschränkt wird, lohnt sich die- ser Aufwand häufig nicht. Es gibt mittlerweile auch für diese Karten etliche Treiber, wobei manche immer noch instabil sind ­ abhängig auch vom vor- handenen PCMCIA-Controller. Was für eine Karte eingeschoben ist, sagt bei aktivem PCMCIA-Dienst das Kom- mando cardctl ident. Eine Liste von unterstützten Karten findet man in SUPPORTED_CARDS in /usr/share/doc/packages/pcmcia. Dort gibt es auch die jeweils aktuelle Version des PCMCIA-HOWTO. 201 8 Notebooks ­ PCMCIA, APM, IrDA Die zweite notwendige Komponente ist der PCMCIA-Controller, oder auch die PC-Card/CardBus-Bridge. Diese stellt die Verbindung zwischen der Karte und dem PCI-Bus her, in älteren Geräten auch die Verbindung zum ISA-Bus. Diese Controller sind fast immer zu dem Intel-Chip i82365 kompatibel; es werden alle gängigen Modelle unterstützt. Der Typ des Controllers lässt sich mit dem Kom- mando probe ermitteln. Falls es ein PCI-Gerät ist, liefert auch das Kommando lspci -vt interessante Informationen. 8.1.2 Die Software Alle benötigten Treiber und Programme befinden sich, soweit sie nicht schon in den Kernel integriert sind, im Paket PCMCIA, Serie a1. Die Grundlage bilden die Module pcmcia_core, i82365 (oder tcic, selten) und ds. Diese Module werden normalerweise beim Booten automatisch gestartet. Sie initialisieren die vorhandenen PCMCIA-Controller und stellen Basisfunktionen zur Verfügung. Da PCMCIA-Karten zur Laufzeit gewechselt werden können, muss es einen Daemon geben, der die Aktivitäten in den Steckplätzen überwacht. Diese Auf- gabe erledigt der Cardmanager (cardmgr). Er wird nach dem Laden der Ba- sismodule automatisch gestartet. Wenn eine Karte eingeschoben wird, ermittelt der Cardmanager Typ und Funktion und lädt die passenden Module; man kann mit lsmod nachsehen, welches Modul geladen wurde. Wurden alle Module er- folgreich geladen, startet der Cardmanager je nach Funktion der Karte bestimm- te Initialisierungsskripten, die ihrerseits z. B. die Netzwerkverbindung aufbau- en oder Partitionen von externen SCSI-Platten einhängen (mounten). Wenn die Karte wieder entfernt wird, sorgt der Cardmanager mittels derselben Skripten für das Beenden der diversen Kartenaktivitäten. Anschließend werden die nun nicht mehr benötigten Module wieder entladen. Theoretisch kann also die Karte einfach entnommen werden. Dies funktioniert auch hervorragend für Netzwerk-, Modem- oder ISDN-Karten, solange keine aktiven Netzwerkverbindungen mehr bestehen. Es funktioniert nicht im Zusam- menhang mit eingehängten Partitionen einer externen Platte oder mit NFS-Ver- zeichnissen. Hier muss dafür gesorgt werden, dass diese Einheiten synchronisiert und sauber ausgehängt werden (unmounten), da das natürlich nicht mehr mög- lich ist, wenn die Karte bereits gezogen wurde. Im Zweifelsfall hilft ein erde: # cardctl eject Dieser Befehl deaktiviert die Karten, solange sie sich noch im Notebook befin- den. 8.1.3 Die Konfiguration Wenn das PCMCIA-Paket installiert ist, befinden sich in /etc/rc.config vier PCMCIA-Variablen. START_PCMCIA gibt an, ob der Dienst beim Booten gestar- tet wird. Von Hand kann er mit dem Kommando rcpcmcia start immer ge- startet werden, auch wenn START_PCMCIA auf no gesetzt wurde. PCMCIA enthält den Typ des PCMCIA-Controllers. Dieser Wert wird bei der Installation automa- tisch ermittelt und steht fast immer auf i82365. Die beiden restlichen Variablen 202 8.1 PCMCIA PCMCIA_PCIC_OPTS und PCMCIA_CORE_OPTS enthalten Optionen für die Ba- sismodule und können im Normalfall leer bleiben. Da die Auswahl des richtigen Treibermoduls für die verwendete Karte vom Cardmanager (cardmgr) erledigt wird, sind i. a. keine weiteren hardwarebezogenen Einstellungen notwendig. Ethernet und TokenRing Ethernet- oder TokenRing-Netzwerkverbindungen können problemlos mit YaST eingerichtet werden. Der Dialog `Netzwerk Grundkonfiguration' ist unter `Administration des Systems' `Netzwerk konfigurieren' zu fin- den. Die Einrichtung erfolgt wie bei fest eingebauten Geräten. Zusätzlich muss § ¤ das betreffende Gerät mit ¦F9 ¥als PCMCIA-Gerät markiert werden; vgl. Ab- schnitt 3.7.3 auf Seite 81. Folgendes ist zu beachten: * Wenn mehrere Ethernet- oder TokenRing-Geräte als PCMCIA markiert wur- den, wird nur die Einstellungen des ersten Geräts übernommen. * Die Einstellungen werden im Gegensatz zu normalen Netzwerkkarten beim § ¤ Beenden des Dialogs mit ¦F10 ¥sofort aktiv. * Die angezeigten Gerätenamen (eth0, eth1, tr0. . . ) sollten nur als Informa- tion über den Typ des Gerätes verstanden werden; denn die Nummerierung der Geräte erfolgt bei PCMCIA dynamisch. § ¤ * War ein Eintrag deaktiviert und wird jetzt mit ¦F4 ¥eine Reaktivierung vorge- § ¤ nommen, so muss auch die Markierung als PCMCIA-Gerät mit ¦F9 ¥wieder gesetzt werden. ISDN Auch bei ISDN-PC-Karten erfolgt die Konfiguration wie gewohnt. Lediglich die Markierung als PCMCIA-Gerät in der `Netzwerk Grundkonfigurati- on' (unter `Administration des Systems' `Netzwerk konfigurie- § ¤ ren') muss mit ¦F9 ¥gesetzt werden. Im Dialog `Konfiguration der ISDN- Hardware' muss weder IRQ noch IO-Port eingegeben werden. Auch das Über- tragungsprotokoll (Euro-ISDN oder 1TR6) kann hier nicht verändert werden. So genannte ISDN-Modems gibt es auch bei PCMCIA-Karten. Dies sind i. a. Modem- oder Multifunktionskarten mit einem zusätzlichen ISDN-Connection- Kit". Diese werden wie ein Modem behandelt. Modem Bei Modem-PC-Karten gibt es im Normalfall keine PCMCIA-spezifischen Ein- stellungen. Sobald ein Modem eingeschoben wird, steht dieses unter /dev/ modem zur Verfügung. Die Einrichtung mit wvdial (wvdial) erfolgt wie bei ge- wöhnlichen Modems. 203 8 Notebooks ­ PCMCIA, APM, IrDA SCSI und IDE Das passende Treibermodul wird vom Cardmanager geladen. Sobald also ei- ne SCSI- oder IDE-Karte eingeschoben wird, stehen die daran angeschlossenen Geräte zur Verfügung. Die Devicenamen werden dynamisch ermittelt. Informa- tionen über vorhandene SCSI- bzw. IDE- Geräte sind unter /proc/scsi bzw. unter /proc/ide zu finden. Hinweis Externe Festplatten, CD-ROM-Laufwerke und ähnliche Geräte müssen ein- geschaltet sein, bevor die PCMCIA-Karte in den Steckplatz eingeschoben wird. SCSI-Geräte müssen aktiv terminiert werden. Wichtig: Bevor eine SCSI- oder IDE-Karte entnommen wird, müssen sämt- liche Partitionen der daran angeschlossenen Geräte ausgehängt worden sein. Wurde dies vergessen, kann erst nach einem Reboot des Systems erneut auf diese Geräte zugegriffen werden, obwohl der Rest des Systems durchaus stabil weiterläuft. Man kann Linux auch vollständig auf solchen externen Platten installieren. Aller- dings gestaltet sich dann der Bootvorgang etwas komplizierter. Es wird auf alle Fälle eine Bootdisk" benötigt, die den Kernel und eine Init-Ramdisk (initrd) enthält; mehr Informationen dazu in Abschnitt 13.4 auf Seite 320. Die initrd enthält ein virtuelles Dateisystem, das alle benötigten PCMCIA-Module und - Programme enthält. Die SuSE Linux Bootdisk" bzw. die Bootdisk-Images sind ebenso aufgebaut, d. h. damit könnten Sie Ihre externe Installation immer boo- ten. Es ist aber etwas umständlich, jedes Mal die PCMCIA-Unterstützung von Hand zu laden. Fortgeschrittene Anwender können sich eine auf das jeweilige System zugeschnittene Bootdiskette selbst erstellen1. 8.1.4 Konfigurationen zum Umschalten ­ Schemata" Häufig benötigt man bei mobilen Computern verschiedene Konfigurationen für z. B. die Firma und für zu Hause. Mit PCMCIA-Geräten ist dies kein Problem; allerdings müssen dabei Konfigurationsdateien von Hand angepasst werden. Für ISDN bzw. Modem trifft die folgende Beschreibung nicht zu. Vgl. auch die ak- tuellen Hinweise sowie die Tipps und Tricks in /usr/share/doc/packages/ pcmcia/README.SuSE. Eine Konfiguration nennt man bei PCMCIA ein Schema" (engl. Scheme). Die Konfigurationsdateien für PCMCIA-Geräte, die sich unter /etc/pcmcia/*. opts befinden, können mehrere Schemata enthalten. Die Daten eines Schemas sind dort in Konfigurationsblöcken abgelegt, die mit einer Adresse" angespro- chen werden. Diese Adressen sind durch Kommata getrennte Worte. Das erste Wort ist der Name eines Schemas. Die weiteren Worte enthalten Informatio- nen wie z. B. den Steckplatz, in dem die Karte steckt, oder die Nummer einer 1Hinweise finden Sie dazu in dem PCMCIA-HOWTO in Abschnitt 5.3 Booting from a PCMCIA device". 204 8.1 PCMCIA Festplattenpartition. Detaillierte Informationen dazu finden Sie am Anfang der /etc/pcmcia/*.opts-Dateien und im PCMCIA-HOWTO. Das bei SuSE Li- nux verwendete Standard-Schema heißt SuSE. Dieses Schema SuSE wird mittels SuSEconfig verändert, wenn die Netzverbindung mit YaST konfiguriert wird. Deshalb gehen manuelle Änderungen in diesem Schema beim nächsten Lauf von SuSEconfig wieder verloren. Wir werden die Schemata-Konfiguration am Beispiel einer Ethernetkarte bespre- chen. Es sollen zwei Schemata namens work und home angelegt werden. Dazu werden in der Datei /etc/pcmcia/network.opts (siehe Datei 8.1.1 auf der nächsten Seite) mehrere Konfigurationsblöcke benötigt. Diese Blöcke bekom- men die folgenden Adressen: * SuSE,*,*,*: Dieser Block sollte bestehen bleiben, falls Sie weiterhin YaST zur einfachen Konfiguration verwenden möchten. * work,*,*,*: In diesem Block wird das Netzwerk zur Verwendung in der Firma konfiguriert. Entsprechend enthält * home,*,*,*: die Daten für zu Hause. * *,*,*,*: Auch dieser Block ist schon vorhanden und dient zur Konfigura- tion aller zuvor nicht vorgekommenen Schemata. Am einfachsten wird ein Block konfiguriert, indem die gewünschten Daten per YaST eingegeben werden und dann der von SuSEconfig angepasste Block SuSE kopiert und entsprechend nach work bzw. home umbenannt wird. Wer alles von Hand einstellen möchte, findet die Erklärung einiger Begriffe wie NETMASK, BROADCAST etc. und alle spezifischen Werte im PCMCIA-HOWTO (unter /usr/ share/doc/packages/pcmcia liegt die aktuelle Version). Das Umschalten zwischen diesen Schemata kann beim Booten oder zur Laufzeit geschehen. Das Kommando cardctl scheme liefert das gerade aktive Sche- ma. Während der Laufzeit wird auch mit diesem Kommando umgeschaltet, näm- lich durch cardctl scheme . Diese Einstellung geht beim Neustart des Systems nicht verloren. D. h. das zuletzt gewählte Schema ist auch nach dem nächsten Booten noch aktiv, solange nicht beim Booten ausdrück- lich ein anderes Schema gewählt wird. Beim Booten kann ein Schema gewählt werden, indem bei den `boot options' bzw. direkt am Bootprompt (LILO:) die Variable SCHEME= gesetzt wird; Informationen zum Bootprompt sind in Abschnitt 11.3.2 auf Seite 262 zu finden. Wenn man ein oder mehrere feste Bootschemata anlegen will, kann man dies dem Bootmanager unterschieben". Wir setzen das Beispiel fort und legen drei Bootkonfigurationen an. Dazu muss in /etc/lilo.conf der Parameter append verwendet werden; vgl. Datei 8.1.2 auf Seite 207. Nach der Veränderung von /etc/lilo.conf muss das Kommando lilo aufgerufen werden. Gemäß der Beispielkonfiguration in Datei 8.1.2 auf Seite 207 kann dann beim Booten durch die Eingabe von w, h oder s eines der Schemata gestartet werden. 205 8 Notebooks ­ PCMCIA, APM, IrDA # The address format is "scheme,socket,instance,hwaddr" . case "$ADDRESS" in SuSE,*,*,*) INFO="This scheme is to be configured by YaST/SuSEconfig" # [... gekürzt ...] ;; work,*,*,*) INFO="Netzwerkkonfiguration für die Firma über DHCP" IF_PORT="" BOOTP="n" DHCP="y" IPADDR="" NETMASK="" NETWORK="" BROADCAST="" GATEWAY="" DOMAIN="" SEARCH="" DNS_1="" MOUNTS="" start_fn () { return; } stop_fn () { return; } ;; home,*,*,*) INFO="Netzwerkkonfiguration für zu Hause (Home) mit fester Adresse" IF_PORT="" BOOTP="n" DHCP="n" IPADDR="10.0.1.23" NETMASK="255.255.255.0" NETWORK="10.0.1.0" BROADCAST="10.0.1.255" GATEWAY="10.0.1.1" DOMAIN="home.de" SEARCH="home.de work.de" DNS_1="10.0.1.1" MOUNTS="" start_fn () { return; } stop_fn () { return; } ;; *,*,*,*) INFO="Sample private network setup" # [... gekürzt ...] ;; esac Datei 8.1.1: /etc/pcmcia/network.opts 206 8.1 PCMCIA image = /boot/vmlinuz root = /dev/hda7 label = work alias = w append = "SCHEME=work" #image = /boot/vmlinuz root = /dev/hda7 label = home alias = h append = "SCHEME=home" #image = /boot/vmlinuz root = /dev/hda7 label = suseconf alias = s append = "SCHEME=SuSE" Datei 8.1.2: PCMCIA: Ausschnitt aus lilo.conf 8.1.5 Wenn's trotzdem nicht geht Bisweilen kommt es bei der Verwendung von PCMCIA auf manchen Notebooks oder mit manchen Karten zu Problemen. Die meisten Schwierigkeiten lassen sich mit wenig Aufwand bewältigen, solange man die Sache systematisch angeht. Zuallererst ist herauszufinden, ob das Problem mit einer Karte zusammenhängt, oder ob ein Problem des PCMCIA-Basissystems vorliegt. Deshalb sollte man in jedem Fall den Computer zunächst ohne eingeschobene Karten starten. Erst wenn das Basissystem einwandfrei zu funktionieren scheint, wird die Karte ein- geschoben. Alle aufschlussreichen Meldungen werden in /var/log/messages protokolliert. Deshalb sollte die Datei mit erde: # tail -f /var/log/messages während der notwendigen Tests beobachtet werden. So lässt sich der Fehler auf einen der beiden folgenden Fälle einschränken. Das PCMCIA-Basissystem funktioniert nicht Wenn das System beim Booten bereits bei der Meldung "PCMCIA: Starting services:" stehen bleibt oder andere merkwürdige Dinge geschehen, kann das Starten von PCMCIA beim nächsten Booten durch die Eingabe von NOPCMCIA=yes am Bootprompt (LILO:) verhindert werden. Um den Fehler weiter einzugren- zen, werden nun die drei Basismodule von Hand nacheinander geladen. Dazu dienen die Kommandos modprobe pcmcia_core, modprobe i82365 bzw. ­ in sehr seltenen Fällen ­ modprobe tcic und modprobe ds. Die kritischen Module sind die beiden ersten. Tritt der Fehler beim Laden von pcmcia_core auf, hilft die Manual-Page von pcmcia_core (man pcmcia_core) weiter. Die darin beschriebenen Optionen können zunächst zusammen mit dem Kommando modprobe getestet werden. Als Beispiel können wir die APM Unterstützung der PCMCIA-Module abschal- ten; in wenigen Fällen kann es damit Probleme geben. Dafür gibt es die Option do_apm; mit do_apm=0 wird das Powermanagement deaktiviert: 207 8 Notebooks ­ PCMCIA, APM, IrDA erde:~ # modprobe pcmcia_core do_apm=0 Führt die gewählte Option zum Erfolg, wird sie in der Datei /etc/rc.config in die Variable PCMCIA_CORE_OPTS geschrieben: PCMCIA_CORE_OPTS="do_apm=0" Auch sehr selten kann das Prüfen freier IO-Bereiche Ärger machen, wenn sich dadurch andere Hardwarekomponenten gestört fühlen. Das umgeht man dann mit probe_io=0. Sollen mehrere Optionen verwendet werden, müssen sie durch Leerzeichen getrennt werden: PCMCIA_CORE_OPTS="do_apm=0 probe_io=0" Wenn es beim Laden von i82365 zu Fehlern kommt, hilft die Manual-Page von i82365 (man i82365). Ein Problem in diesem Zusammenhang ist ein Ressourcenkonflikt, d. h. ein In- terrupt, IO-Port oder Speicherbereich wird doppelt belegt. Das Modul i82365 prüft zwar diese Ressourcen, bevor sie für eine Karte zur Verfügung gestellt werden, jedoch führt manchmal genau dieses Prüfen zum Problem. Zum Bei- spiel führt das Prüfen des Interrupt 12 (PS/2-Geräte) bei manchen Computern zum Blockieren von Maus und/oder Tastatur. In diesem Fall hilft der Parameter irq_list=. Die Liste soll alle IRQs enthalten, die ver- wendet werden dürfen. Also erde: # modprobe i82365 irq_list=5,7,9,10 oder dauerhaft in /etc/rc.config: PCMCIA_PCIC_OPTS="irq_list=5,7,9,10" Weiterhin gibt es /etc/pcmcia/config und /etc/pcmcia/config.opts. Diese Dateien werden vom Cardmanager ausgewertet. Die darin gemachten Einstellungen sind erst für das Laden der Treiber-Module für die PCMCIA- Karten relevant. In /etc/pcmcia/config.opts können auch IRQs, IO-Ports und Speicherbereiche ein- oder ausgeschlossen werden. Der Unterschied zur Option irq_list ist, dass die in config.opts ausgeschlossenen Ressourcen zwar nicht für eine PCMCIA-Karte verwendet, aber dennoch vom Basis-Modul i82365 geprüft werden. Die PCMCIA-Karte funktioniert nicht (richtig) Hier gibt es im Wesentlichen drei Varianten: Die Karte wird nicht erkannt, sie belegt unzulässige Ressourcen oder sie ist unzuverlässig. Wenn die Karte nicht erkannt wird, erscheint in /var/log/messages die Mel- dung "unsupported Card in Slot x". Diese Meldung sagt lediglich aus, dass der Cardmanager der Karte keinen Treiber zuordnen kann. Zu dieser Zuord- nung wird /etc/pcmcia/config benötigt. Diese Datei ist sozusagen die Trei- berdatenbank". Die Treiberdatenbank" lässt sich erweitern, wenn man vorhan- dene Einträge als Vorlage nimmt. Man kann mit dem Kommando cardctl ident herausfinden, wie die Karte sich identifiziert. Weitere Informationen dazu befin- den sich im PCMCIA-HOWTO Abschnitt 6 ( Dealing with unsupported cards") 208 8.1 PCMCIA und besonders in der Manual-Page von pcmcia (man pcmcia). Nach der Än- derung von /etc/pcmcia/config muss diese neu geladen werden; dazu dient rcpcmcia reload. Den meisten PCMCIA-Karten ist es egal, mit welchem IRQ bzw. IO-Port sie betrieben werden; d. h. häufig liegt das Problem darin, dass eine verwendete Ressource später von einem anderen Gerät belegt wird (CD-ROM am 2. IDE- Controller: IRQ 15; serieller oder IrDA-Port: IRQ 3, IRQ 4; Sound, Drucker: IRQ 5, IRQ 7). In diesem Fall schließt man die Verwendung derselben in /etc/ pcmcia/config.opts aus. Wenn eine bestimmte Karte dennoch spezielle Ein- stellungen benötigt, kann man in config.opts dem entsprechenden Modul Op- tionen übergeben. Soll z. B. das Modul pcnet_cs mit dem IRQ 5 betrieben wer- den, wird folgender Eintrag benötigt: module "pcnet_cs" opts "irq_list=5" Die möglichen Optionen sind in den Manual-Pages beschrieben, die es zu den meisten Modulen gibt2. Wenn es keine Manual-Page gibt, sind verschiedene Op- tionen aus der Manual-Page von i82365 (man i82365) in Betracht zu ziehen, oder man muss sich mit dem Quellcode des Moduls vertraut machen. . . Ein Problem, das manchmal mit 10/100-MBit-Netzwerkkarten auftritt: die Über- tragungsart wird nicht automatisch richtig erkannt. Hier hilft das Kommando ifport. Damit lässt sich die eingestellte Übertragungsart anzeigen und verän- dern; vgl. die Manual-Page von ifport (man ifport). Die geeignete Einstel- lung kann dann in /etc/pcmcia/network.opts in die Variable IFPORT ge- schrieben werden. 8.1.6 Installation via PCMCIA In manchen Fällen wird PCMCIA bereits zum Installieren von SuSE Linux be- nötigt. Dazu muss im linuxrc unter `Kernel-Module (Hardware-Treiber)' der Punkt `Lade PCMCIA Module' ausgewählt werden. Zuerst erscheinen zwei Eingabefelder, in denen man Optionen für die Module pcmcia_core und i82365 eingeben kann. Im Normalfall bleiben diese Felder jedoch leer. Die Manual-Pa- ges für pcmcia_core und i82365 befinden sich als Textdateien auf der ersten CD im Verzeichnis docu. Während der Installation werden Systemmeldungen § ¤ § ¤ auf verschiedenen virtuellen Konsolen ausgegeben, auf die man mit § ¤ § ¤ § ¤ ¦Alt ¥+ ¦F ¥ umschalten kann. In YaST2 muss man ¦Strg ¥+ ¦Alt ¥+ ¦F ¥verwenden, weil YaST2 unter dem X Window System läuft. Wenn der erste Teil der Installation abgeschlossen ist, wird das System teilweise oder ganz neu gestartet. Dabei kann in seltenen Fällen beim Starten von PCM- CIA das System stehen bleiben. Zu diesem Zeitpunkt ist die Installation aber schon weit genug fortgeschritten, sodass mit der Boot-Option NOPCMCIA=yes Linux ohne PCMCIA gestartet werden kann, zumindest im Textmodus. Hier hilft der Abschnitt 8.1.5 auf Seite 207 weiter. 2Tipp: rpm -ql pcmcia | grep man listet alle im Paket pcmcia enthaltenen Manual-Pages auf. 209 8 Notebooks ­ PCMCIA, APM, IrDA 8.1.7 Weitere Hilfsprogramme Das Programm cardctl wurde hier schon mehrfach erwähnt. cardctl ist das we- sentliche Werkzeug, um Informationen von PCMCIA zu erhalten, bzw. bestimm- te Aktionen auszuführen. In der Manual-Page von cardctl (man cardctl) finden Sie Details; oder man gibt nur cardctl ein und erhält eine Liste der gültigen Kommandos. Abbildung 8.1: PCMCIA ­ Cardinfo Zu diesem Programm gibt es auch ein graphisches Frontend cardinfo (vgl. Abbildung 8.1), mit dem die wichtigsten Dinge kontrollierbar sind. Leider kann man damit nicht zwischen Schemata" umschalten. Für Freunde von KDE gibt es auch ein kardinfo. Dieses Tool ist das gleiche in krün". Es unterscheidet sich nicht wesentlich von cardinfo. Weitere Helfer aus dem Paket pcmcia sind ifport, ifuser, probe und rcpcmcia. Diese werden aber nicht im täglichen Umgang benötigt. Um ge- nau zu erfahren, was alles im Paket pcmcia steckt, verwendet man den Befehl rpm -ql pcmcia. 8.1.8 PCMCIA kompilieren Wenn Sie den Kernel aktualisieren und kein dazu passendes PCMCIA-Paket auf dem FTP-Server der SuSE finden, dann ist es erforderlich, das PCMCIA-Paket selbst zu compilieren. Wichtig ist, dass während der Neuübersetzung bereits der richtige Kernel läuft, da aus diesem einige Informationen extrahiert werden. Das Paket pcmcia sollte bereits installiert, aber nicht gestartet sein; im Zweifelsfall also noch ein rcpcmcia stop ausführen. Dann installiert man das PCMCIA- Quellpaket mit YaST und gibt anschließend ein: erde: # rpm -ba /usr/src/packages/SPECS/pcmcia.spec 210 8.2 APM ­ Powermanagement Das war's, jetzt liegt unter /usr/src/packages/RPMS sogar ein neues Binär- paket, das man für weitere Systeme nutzen kann, wenn derselbe Kernel einge- setzt wird. 8.2 APM ­ Powermanagement 8.2.1 Grundlagen Powermanagement setzt eine dafür ausgelegte Hardware und passende BIOS- Routinenbios voraus. Die meisten Notebooks und viele moderne Desktops brin- gen diese Voraussetzungen mit ­ wichtig sind diverse Stromsparfunktionen aber erst im mobilen Einsatz. Im Folgenden wollen wir auf diese Funktionen einge- hen: Stand-by ­ In dieser Betriebsart wird nur das Display ausgeschaltet und bei manchen Geräten die Prozessorleistung gedrosselt. Suspend (to memory) ­ Hier wird der gesamte Systemzustand in den Arbeits- speicher geschrieben und außer diesem das gesamte System schlafen gelegt. In diesem Zustand braucht der Computer nur sehr wenig Strom, sodass man damit je nach Gerät von 12 Stunden bis mehrere Tage mit Batterie über- brücken kann. Der Vorteil dieses Zustands ist, dass man innerhalb weniger Sekunden wieder an derselben Stelle weiterarbeiten kann, ohne erst booten und benötigte Programme neu laden zu müssen. ­ Hier liegt der Reiz, Linux einzusetzen; denn man braucht sein System eigentlich nie herunterzufahren (manche Betriebssysteme werden im Laufe der Zeit instabil). Bei den meis- ten modernen Geräten genügt es, den Deckel zu schließen, um zu suspendie- ren, und ihn zum Weiterarbeiten einfach wieder zu öffnen und es kann sofort weitergehen. Hibernation (Suspend to disk) ­ In dieser Betriebsart hält es der Computer länger als einen Winter aus (Hibernation bedeutet Überwinterung"; denn der Systemzustand wird vollständig auf der Festplatte gespeichert und das System danach ausgeschaltet. Die Rückkehr aus dem Winterschlaf" dauert zwischen 30 - 90 Sek. und auch hier wird der Zustand vor dem Suspend ge- nau wiederhergestellt. Einige Hersteller bieten sinnvolle Mischformen davon an. Kontrolle des Akkuzustands ­ Durchaus interessant. Automatisches Ausschalten ­ Das ist auch für Desktops interessant. Nach einem Shutdown" wird der Computer vollständig ausgeschaltet. Abschalten der Festplatte ­ Das spart deutlich Strom und auch Nerven, wenn man eine laute Festplatte hat. Diese Funktion ist aber auch von anderen Fak- toren abhängig. Zum Beispiel weckt ein Editor, der regelmäßig automatische Sicherungen durchführt, die Platte immer wieder auf. 211 8 Notebooks ­ PCMCIA, APM, IrDA Einige dieser Funktionen führt das BIOS alleine aus. Stand-by und Suspend kann man auf vielen Notebooks mit Tastenkombinationen oder mit Schließen des De- ckels aktivieren. Dazu ist erstmal keinerlei Funktion seitens des Betriebssystems nötig. Wer diese Betriebsarten jedoch per Kommando einleiten möchte oder dar- auf angewiesen ist, dass vor dem Suspend noch bestimmte Aktionen ausgeführt werden, muss entsprechende Pakete und einen geeigneten Kernel installiert ha- ben. 8.2.2 Der richtige Kernel Für erweiterte APM-Funktionalität benötigt man einen Kernel, der APM-Un- terstützung enthält. Einer der SuSE-Standardkernel, die man mit YaST instal- lieren kann, erfüllt diese Voraussetzung. Das lässt sich auch leicht nachprüfen mit dem Kommando cat /proc/apm. Wenn hier eine Zeile mit diversen Zah- len erscheint, ist alles okay. Jetzt sollte ein shutdown -h zum Ausschalten des Computers führen. Da manche BIOS-Implementierungen sich nicht exakt an Standards halten, kommt es manchmal zu merkwürdigem Verhalten. Manche Probleme kann man mit speziellen Kernelkonfigurationen umgehen. Hinweise dazu finden Sie in unser Supportdatenbank http://sdb.suse.de/sdb/de/ html/oder der Linux Laptop Homepage" unter http://www.cs.utexas. edu/users/kharker/linux-laptop. 8.2.3 Der APM-Daemon Dieser Daemon apmd dient zur Überwachung der Batterie und kann bestimmte Aktionen auslösen, wenn ein Stand-by" oder Suspend" eintritt. Er befindet sich im Paket apmd, Serie ap. Er ist nicht unbedingt zum Betrieb notwendig, kann jedoch recht nützlich sein. Damit er beim Booten automatisch gestartet wird, muss in /etc/rc.config die Variable START_APMD auf yes gesetzt werden. Er kann aber immer mit rcapmd start von Hand gestartet werden. Zur Konfiguration gibt es in /etc/rc.config.d/apmd.rc.config einige Variablen. Die Datei ist mit Kommentaren versehen, deshalb werden hier nur einige Hinweise gegeben. * Obwohl PCMCIA bei SuSE Linux mit APM-Unterstützung übersetzt ist, gibt es hier manchmal Schwierigkeiten. Einige der Kartentreiber kehren von ei- nem Suspend nicht ordentlich zurück (z. B. xirc2ps_cs). Deshalb kann der apmd das PCMCIA-System vor dem Suspend deaktivieren und danach wie- der aktivieren. Dazu wird die Variable APMD_PCMCIA_EJECT_ON_SUSPEND auf yes gesetzt. * Wenn nach einem Suspend die Uhrzeit nicht mehr stimmt, setzt man APMD_SET_CLOCK_ON_RESUME auf yes. * Macht das X Window SystemProbleme, wenn das System erwacht, hilft ei- nem APMD_LEAVE_X_BEFORE_SUSPEND=yes. 212 8.2 APM ­ Powermanagement * Genauso können die Sound-Module während des Suspends entladen werden. Dazu dient APMD_STOP_SOUND_BEFORE_SUSPEND=yes. Achtung, beim Ent- laden werden eventuell laufende Soundanwendungen geschlossen; andern- falls ließen sich die Module nicht entladen. Falls Sie also Musikdaten bear- beiten, speichern Sie diese zuvor sicherheitshalber. Weiterhin lässt sich das Spindown"-Verhalten der Festplatte automatisch an Batterie oder Netzbetrieb anpassen oder das System bei Erreichen einer kriti- schen Batteriekapazität automatisch herunterfahren. Fortgeschrittene Anwender können sich weitere Funktionen in die Datei /usr/sbin/apmd_proxy selbst einbauen. 8.2.4 Weitere Befehle Im Paket apmd sind noch einige nützliche Programme enthalten. Mit apm kann die aktuelle Batteriekapazität abgefragt werden und das System in Stand-by (apm -S) oder Suspend (apm -s) geschickt werden; vgl. die Manual-Page von apm (man apm). Das Kommando apmsleep suspendiert das System für eine vorgegebene Zeit; vgl. Manual-Page von apmsleep (man apmsleep). Wer eine Logdatei beobachten möchte, ohne die Festplatte ständig am Laufen zu halten, der kann tailf als Ersatz für tail -f verwenden. Natürlich gibt es auch hier Tools für das X Window System. Ebenfalls im Paket apmd findet man xapm, was den Ladezustand der Batterie grafisch anzeigt. Wer den KDE-Desktop verwendet ­ oder zumindest kpanel ­, kann sich auch von kbatmon den Ladestand des Akkus anzeigen lassen und das System suspendie- ren. 8.2.5 Pause für die Festplatte Man kann unter Linux die Festplatte abschalten, wenn sie nicht benötigt wird. Dazu dient das Programm hdparm, mit dem man diverse Einstellungen an den Festplatten vornehmen kann. Mit der Option -y wird die Platte sofort in den Stand-by-Modus geschickt, mit -Y wird sie vollständig abgeschaltet. Mit erde: # hdparm -S 6 wird erreicht, dass die Platte nach 30 Sekunden Inaktivität abgeschaltet wird. Die Zahl 6 steht in diesem Fall für 6 5 = 30 Sekunden, der Wert 0 schaltet diese Funktion aus. Bei größeren Werten wird auch der Multiplikator größer; genaueres steht in der Manual-Page. Möchte man dieses Stand-by-Verhalten davon abhängig machen, ob man mit Batterie oder Stromanschluss arbeitet, kann man geeignete Einstellungen in /etc/ rc.config.d/apmd.rc.config treffen. Die Variable APMD_CHECK_TIME soll- te dann aber auf 0 stehen. Leider wird die Platte häufig benötigt, wodurch sie immer wieder aufgeweckt wird. Zum Teil sind dafür Programme (z. B. Texteditoren) verantwortlich, die re- gelmäßig Daten auf der Platte sichern. Auch Hilfsmittel wie tail -f 213 8 Notebooks ­ PCMCIA, APM, IrDA halten die Platte am Laufen, doch dafür gibt es tailf als Ersatz (s. o.). 8.3 IrDA ­ Infrared Data Association IrDA (Infrared Data Association) ist ein Industriestandard für drahtlose Kom- munikation über Infrarotlicht. Viele heute ausgelieferte Laptops sind mit einem IrDA-kompatiblen Sender/Empfänger ausgestattet, der die Kommunikation mit anderen Geräten, wie Druckern, Modems, LAN oder anderen Laptops ermög- licht. Die Übertragungsrate reicht von 2400 bps bis hin zu 4 Mbps. Hinweis Die Unterstützung für dieses Protokoll im Linux-Kernel ist noch nicht voll- ständig abgeschlossen. Daher ist die Funktionalität auch nicht in den Standard-Kernel eingebunden, es wird bislang nur als experimentell" ein- gestuft (Beta-Status). Das bedeutet, dass dieser recht junge" Treiber nicht so gründlich erprobt und eventuell nicht so stabil ist, wie andere Bestand- teile des Kernels. Software Das Paket irda, Serie n stellt die Unterstützung für die Infrarotschnittstelle und das IrDA-Protokoll bereit. Nach der Installation des Paketes findet man die Do- kumentation unter /usr/share/doc/packages/irda/README. Aus dem Paket howto wird das IR-HOWTO installiert. Dies findet man nach der Installation unter /usr/share/doc/howto/en/IR-HOWTO.gz. Weitere Infor- mationen zum Linux IrDA-Projekt können Sie auch der URL http://irda. sourceforge.net/ entnehmen. Konfiguration Dieses Paket trägt bei der Installation die Variablen START_IRDA, IRDA_PORT und IRDA_IRQ in die Datei /etc/rc.config ein. Standardmäßig ist die Ver- wendung von IrDA deaktiviert; über das Kommando erde: # rcirda start können Sie die Schnittstelle aber jederzeit manuell aktivieren bzw. deaktivieren (mit dem Parameter stop). Beim Aktivieren der Schnittstelle werden die not- wendigen Kernel-Module automatisch geladen. Über IRDA_PORT (Voreinstellung /dev/ttyS1) und IRDA_IRQ (Voreinstel- lung 3) können Sie die für IrDA verwendete Schnittstelle konfigurieren; dies wird über das Skript /etc/irda/drivers beim Start der Infrarotunterstützung eingestellt. 214 8.3 IrDA ­ Infrared Data Association Wenn Sie START_IRDA auf yes setzen steht die Unterstützung der Infrarot- schnittstelle gleich nach dem Booten zur Verfügung. Leider benötigt IrDA merk- lich mehr (Batterie-)Strom, da alle paar Sekunden ein Discovery"-Paket ver- schickt wird, um andere Peripheriegeräte automatisch zu erkennen. Verwendung Will man nun z. B. über Infrarot drucken kann man dazu über die Gerätedatei /dev/irlpt0 die Daten schicken. Die Gerätedatei /dev/irlpt0 verhält sich wie die normale drahtgebundene" Schnittstelle /dev/lp0, nur dass die Druck- daten drahtlos über infrarotes Licht verschickt werden. Einen Drucker, der über die Infrarotschnittstelle betrieben wird, können Sie wie einen Drucker am Parallelport oder an der seriellen Schnittstelle über YaST ein- richten (vgl. Abschnitt 3.7.1 auf Seite 77). Beachten Sie bitte beim Drucken, dass sich der Drucker in Sichtweite der Infrarotschnittstelle des Computers befindet und dass die Infrarotunterstützung gestartet wird. Will man über die Infrarotschnittstelle mit anderen Rechnern oder mit z. B. Han- dys oder ähnlichen Geräten kommunizieren, so kann man dies über die Gerä- tedatei /dev/ircomm0 erledigen. Mit dem Siemens S25 Handy beispielsweise kann man sich über das Programm wvdial mittels Infrarot drahtlos ins Internet einwählen. Troubleshooting Falls Geräte am Infrarotport nicht reagieren, können Sie als Benutzer `root' mit dem Kommando irdadump überprüfen, ob das andere Gerät überhaupt vom Computer erkannt wird: erde: # irdadump Bei einem Canon BJC-80 Drucker in Sichtweite" des Computers erde er- scheint dann eine Ausgabe ähnlich der folgenden in regelmäßiger Wiederholung (vgl. Ausgabe 8.3.1). 21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14) 21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14) 21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14) 21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14) 21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14) 21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14) 21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 \ hint=8804 [ Printer IrCOMM ] (23) 21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* erde \ hint=0500 [ PnP Computer ] (21) Ausgabe 8.3.1: IrDA: irdadump Sollte überhaupt keine Ausgabe erfolgen oder das andere Gerät sich nicht zu- rückmelden, so überprüfen Sie bitte die Konfiguration der Schnittstelle. Verwen- den Sie überhaupt die richtige Schnittstelle? Manchmal ist die Infrarotschnitt- stelle auch unter /dev/ttyS2 oder /dev/ttyS3 zu finden oder ein anderer 215 8 Notebooks ­ PCMCIA, APM, IrDA Interrupt als Interrupt 3 wird verwendet. Diese Einstellungen können Sie aber bei fast jedem Laptop im BIOS-Setup konfigurieren. Beachten Sie bitte auch, dass Sie ohne weiteres nur Geräte ansprechen kön- nen, die die Protokolle Printer oder IrCOMM unterstützen. Mit speziellen Pro- grammen (irobex_palm3, irobex_receive, bitte beachten Sie hierzu die Be- schreibung im IR-HOWTO) können Sie auch Geräte ansprechen, die das IROBEX- Protokoll verwenden (z. B. 3Com Palm Pilot). Die vom Gerät unterstützten Pro- tokolle werden bei der Ausgabe von irdadump nach dem Gerätenamen in ecki- gen Klammern angeben. Die Unterstützung des IrLAN-Protokolls ist Work in progress" ­ es ist leider zur Zeit noch nicht stabil, wird aber sicher in naher Zukunft auch unter Linux zur Verfügung stehen. Mit einer einfachen Video-Kamera können Sie auch überprüfen, ob die Infrarot- LED überhaupt aufleuchtet ­ im Gegensatz zum Menschen können die meisten Videokameras Infrarotlicht sehen". 216 9 Druckerbetrieb 9 Druckerbetrieb In diesem Kapitel kommen die wesentlichen Vorgänge zur Sprache, die beim Drucken hinter den Kulissen" ablaufen. 9.1 Grundlagen und Voraussetzungen zum Drucken Unter Linux werden Drucker in der Regel nur über Druckwarteschlangen" (engl. Queues) angesprochen. Die zu druckenden Daten werden dabei in einer Druck- warteschlange zwischengelagert und durch den Druckerspooler" in der richti- gen Abfolge zum Drucker geschickt. Der Druckerspooler sorgt dafür, dass zeit- gleiche Druckaufträge ohne gegenseitige Beeinträchtigung zum Drucker gelan- gen und ausgedruckt werden. Oftmals liegen die zu druckenden Daten nicht in der Form vor, die der Drucker direkt verarbeiten kann: Beispielsweise muss eine Grafik im Normalfall vorher in ein druckbares Format umgewandelt werden. Die Umwandlung der Daten in das druckbare Format, erfolgt durch den Druckerfilter". Der Druckerfilter ist ein Programm, das die zu druckenden Daten in die Sprache übersetzt, die der Drucker direkt versteht. 9.1.1 Verschiedene Standarddruckersprachen ASCII-Text ­ Normalerweise kann jeder Drucker wenigstens ASCII-Text direkt ausgeben. Allerdings gibt es Drucker, die keinen ASCII-Text direkt drucken können, aber eine der folgenden Standard-Druckersprachen angesprochen verstehen. Eine Ausnahme sind die nur für Windows konzipierten GDI- Drucker", die von Haus aus weder ASCII-Text noch Datenmaterial drucken können, das in einer der folgenden Standard-Druckersprachen vorliegt. PostScript ­ PostScript ist die Standard-Druckersprache unter Unix/Linux. Wenn kein PostScript-Drucker zur Verfügung steht, wird unter Linux ein speziel- les Filterprogramm (Ghostscript) verwendet, um PostScript-Daten in andere Standard-Druckersprachen zu übersetzen. PCL 5 oder PCL 6 ­ Diese Druckersprachen sind bei Laserdruckern verbreitet. PCL 3 ­ Diese Druckersprache verstehen die meisten HP DeskJet-Drucker und dazu kompatible Modelle. ESC/P, ESC/P2 oder ESC/P Raster ­ Diese Druckersprachen werden von fast allen Epson-Drucker und dazu kompatibelen Geräten verstanden. 217 9 Druckerbetrieb 9.1.2 Die Problematik der GDI-Drucker Am Markt befinden sich zahlreiche Drucker, die mit der Beschriftung for Win- dows" an den Mann gebracht werden; eine andere häufige Bezeichnung ist GDI- Drucker". Derartige Geräte lassen sich oftmals gar nicht oder im Glücksfall nur eingeschränkt unter Linux benutzen; machen Sie sich bitte in der CDB unter http://cdb.suse.de/ kundig oder fragen Sie Ihren Händler! Bei reinen GDI-Druckern verzichtet der Hersteller auf ein Standardprotokoll und steuert den Drucker direkt mit den Steuerimpulsen des speziellen Modells an. Es muss jedoch gesagt werden, dass es Drucker gibt, die zusätzlich zum GDI- Modus eine richtige" Druckersprache verstehen. 9.1.3 Hard- und Software-Voraussetzungen * Der Drucker wird von SuSE Linux unterstützt; vgl. dazu die Aufstellungen in den folgenden Dateien bzw. unter den folgenden Web-Adressen: ­ /usr/share/doc/packages/ghostscript/catalog.devices ­ http://cdb.suse.de ­ http://www.linuxprinting.org `The Database' (http://www. linuxprinting.org/database.html) ­ http://www.cs.wisc.edu/~ghost/printer.html Hinweis Manchmal ist im WWW ein Ghostscript-Treiber genannt, der die aktu- elle Aladdin Ghostscript" Version benötigt. Bei SuSE Linux wird aus lizenzrechtlichen Gründen GNU Ghostscript" (also die davor liegende Ghostscript-Version) mitgeliefert. In der Regel gibt es aber auch einen GNU Ghostscript-Treiber, mit dem der Drucker funktioniert. * Der Drucker ist grundsätzlich ansprechbar; siehe dazu den Abschnitt 9.2 auf Seite 220. * Sie verwenden einen SuSE Originalkernel von den CD-ROMs; also insbe- sondere keinen selbst-compilierten Kernel. Wenn nicht, installieren Sie bitte einen SuSE-Originalkernel mit YaST und booten Sie mit diesem. * Empfehlenswert ist die Installation der Pakete des `SuSE Default Sys- tem' mit YaST installiert bzw. die Installation des `Standard-System' mit YaST2. Bei sehr wenig Plattenplatz sind neben dem `SuSE Minimal System' noch folgende Pakete notwendig, um ASCII- und PostScript-Dateien drucken zu können: ­ Paket a2ps, Serie ap 218 9.1 Grundlagen und Voraussetzungen zum Drucken ­ Paket aps, Serie ap ­ Paket gs_x11, Serie ap ­ Paket gs_fonto, Serie ap ­ Paket gs_fonts, Serie ap ­ Paket gs_lib, Serie ap ­ Paket lprold, Serie n Zum Nachinstallieren von Paketen vgl. Abschnitt 3.5 auf Seite 69 ff. Mögliche Probleme * Wenn Sie ein Update eines älteren SuSE Linux durchgeführt haben, können Inkonsistenzen in den Paketen und (Konfigurations)-Dateien des Drucksystems vorliegen. Es ist dann sinnvoll, das Drucksystem komplett neu einzurichten. Gehen Sie dabei nach dem SDB-Artikel Drucker er- neut einrichten" vor (file:/usr/share/doc/sdb/de/html/jsmeix_ print-neueinrichten.html). 9.1.4 Bestimmung eines geeigneten Druckertreibers Bei den in Abschnitt 9.1.3 auf der vorherigen Seite genannten Listen sind auch Ghostscript-Treiber zu einzelnen Druckermodellen angegeben. Wenn auch der Hersteller keine Linux-relevanten Informationen zu Ihrem Druckermodell liefern kann, helfen folgende Tipps weiter: * Stellen Sie fest, ob Ihr Drucker zu einem Modell kompatibel ist, welches unter Linux läuft und nehmen Sie dann den Ghostscript-Treiber für das kom- patible Modell. Kompatibel unter Linux bedeutet, dass Ihr Drucker mit denselben binären Steuersequenzen wie das kompatible Modell korrekt drucken kann ­ d. h. die Drucker verstehen" dieselbe Druckersprache direkt und nicht etwa nur durch einen passenden Treiber (z. B. für Windows) emuliert. Sie können nicht immer aus ähnlichen Druckerbezeichnungen auf Kompati- bilität schließen. Dies liegt daran, dass ähnlich bezeichnete Drucker manch- mal nicht dieselbe Druckersprache direkt verstehen. * Welche Druckersprache der Drucker direkt versteht, kann am sichersten der Hersteller mitteilen. Auch bei den technischen Daten im Druckerhandbuch ist oft die Druckersprache angegeben. Beispiele für Druckersprachen ent- nehmen Sie dem Abschnitt 9.1.1 auf Seite 217. * Ghostscript- Treiber" mit der Endung .upp sind von besonderer Art. Dabei handelt sich um Parameterdateien für den uniprint-Ghostscript-Treiber. Wenn Sie für Ihren Drucker eine geeignete Parameterdatei finden, sollten Sie den Drucker damit konfigurieren. 219 9 Druckerbetrieb 9.2 Drucker lokal anschließen 9.2.1 Parallele Schnittstellen Der Anschluss eines Druckers an ein Linux-System erfolgt in der Regel über eine parallele Schnittstelle. Ein Drucker an einer parallelen Schnittstelle ist über das parport-Subsystem des Kernels anzusprechen. Dem parport-Subsystem sind die parallelen Schnittstellen durch Laden ar- chitekturspezifischer Kernelmodule bekanntzumachen (vgl. Abschnitt 7.4.3 auf Seite 190 ff.). So können mehrere, in Kette geschaltete Geräte über eine pa- rallele Schnittstelle gleichzeitig bedient werden. Die Zählung der Gerätedatei- en für Parallelport-Drucker beginnt bei /dev/lp0. Um über die erste parallele Schnittstelle drucken zu können, müssen beim SuSE Standardkernel die Modu- le parport, parport_pc und lp geladen sein ­ dies erledigt der kmod (engl. Kernel Module Loader) in der Regel (vgl. Abschnitt 10.2 auf Seite 254), sobald auf die Gerätedatei (z. B. /dev/lp0) zugegriffen wird. Konfiguration der ersten parallelen Schnittstelle Die erste parallele Schnittstelle /dev/lp0 wird durch einen Eintrag in /etc/ modules.conf konfiguriert (Datei 9.2.1). alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,none Datei 9.2.1: /etc/modules.conf: Erste parallele Schnittstelle Bei io steht die IO-Adresse der parallelen Schnittstelle. Bei irq steht none als Voreinstellung für den Polling-Betrieb" oder der Interrupt der parallelen Schnittstelle. Der Polling-Betrieb ist im Allgemeinen unproblematischer als der Interrupt-Betrieb und allenfalls bei ganz alten Rechnern langsamer. Damit diese Einstellungen funktionieren, muss im BIOS oder über die Firmware des Rechners für die erste parallele Schnittstelle eingestellt sein: * IO-Adresse 378 (hexadezimal) * Interrupt 7 (im Polling-Betrieb nicht relevant) * Modus Normal, SPP oder Output-Only (andere Modi funktionieren nicht immer) * DMA ist abgeschaltet (sollte im Modus Normal abgeschaltet sein) Test der ersten parallelen Schnittstelle Ist der Drucker in der Lage, ASCII-Text zu drucken, dann sollte man als Benutzer `root' (Systemadministrator) mit dem Befehl 220 9.2 Drucker lokal anschließen erde: # echo -en "\rhello\r\f" >/dev/lp0 eine Seite mit dem Wort hello ausdrucken können. Konfiguration der zweiten parallelen Schnittstelle Eine zweite parallele Schnittstelle, die unter der Standard-IO-Adresse 278 (hexa- dezimal) ansprechbar ist (z. B. per Jumper auf einer ISA-Schnittstellenkarte ein- stellbar), ist ebenso mit einem Eintrag in /etc/modules.conf zu konfigurieren (Datei 9.2.2). alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0x278 irq=none,none Datei 9.2.2: /etc/modules.conf: Zwei parallele Schnittstellen Nach einem Reboot oder dem Neustarten aller Dienste (vgl. auf der nächsten Seite) steht die zweite parallele Schnittstelle zur Verfügung. Test der zweiten parallelen Schnittstelle Ist der Drucker in der Lage, ASCII-Text zu drucken, dann sollte man als Benutzer `root' mit dem echo-Befehl erde: # echo -en "\rhello\r\f" >/dev/lp1 eine Seite mit dem Wort hello ausdrucken können. 9.2.2 Besondere Steckkarten: ISA-PnP und PCI Wenn die IO-Adresse einer zusätzlichen parallelen Schnittstelle nicht vorab be- kannt ist, muss diese ermittelt werden. ISA PnP-Karten Manchmal lassen sich auf solchen Karten auch feste Werte für IO-Adresse, Inter- rupt und Modus einstellen: Entweder über Jumper oder ­ falls Sie DOS/Windows haben ­ über ein mitgeliefertes DOS/Windows-Programm. Wenn dies möglich ist, stellen Sie feste Werte für IO-Adresse, Interrupt und Modus ein. Andernfalls werden die Werte für IO-Adresse, Interrupt und Modus erst beim Starten von Linux auf der ISA PnP-Karte eingetragen. Welche Werte eingetragen werden, lässt sich entweder in den Bootmeldungen von Linux finden oder es ist analog zum Kapitel 7.2.1 auf Seite 185 vorzugehen. 221 9 Druckerbetrieb ... 00:0a.0 Parallel controller: ... ... Flags: stepping, medium devsel, IRQ 10 I/O ports at b400 I/O ports at b000 I/O ports at a800 I/O ports at a400 ... Ausgabe 9.2.1: Auszug von lspci -v für eine PCI-Schnittstellenkarte PCI-Karten Welche IO-Adressen und welcher Interrupt bei einer PCI-Karte in Frage kommt, können Sie mit folgendem Befehl sehen (vgl. Ausgabe 9.2.1): erde: # /sbin/lspci -vv | less Jeweils zwei um 400 (hexadezimal) versetzte IO-Adressen gehören zusammen zu einem parallelen Port. Der Konfigurationseintrag in /etc/modules.conf muss aussehen wie in Datei 9.2.3. alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0xb400,0xa800 irq=none,none,none Datei 9.2.3: /etc/modules.conf: PCI-Karte mit 2 parallelen Schnittstellen Nach einem Reboot oder dem Neustarten aller Dienste (vgl. auf dieser Seite) stehen alle drei parallelen Schnittstellen zur Verfügung. Test aller parallelen Schnittstellen Sofern jeweils ein normaler Drucker (ASCII-fähig) angeschlossen ist, sollte man als Benutzer `root' mit erde: # echo -en "\rhello\r\f" >/dev/lp0 erde: # echo -en "\rhello\r\f" >/dev/lp1 erde: # echo -en "\rhello\r\f" >/dev/lp2 jeweils eine Seite mit dem Wort hello ausgedruckt bekommen. Statt eines Reboots genügt es, als Benutzer `root' die Liste der Abhängigkeiten der Kernelmodule zu aktualisieren und ­ sofern an den parallelen Ports nur Dru- cker angeschlossen sind ­ den Druckerdaemon zu stoppen, die Kernelmodule, die die parallelen Schnittstellen betreffen, zu entladen. . . erde: # depmod -a 2>/dev/null erde: # rclpd stop erde: # rmmod lp erde: # rmmod parport_pc erde: # rmmod parport . . . und wieder neu zu laden und den Druckerdaemon wieder zu starten: 222 9.2 Drucker lokal anschließen erde: # modprobe parport erde: # modprobe parport_pc erde: # modprobe lp erde: # rclpd start 9.2.3 USB-Anschluss Im BIOS des Rechners muss ein Interrupt für USB aktiviert sein. Bei einem Award-BIOS ist dazu beispielwweise im Menü `PNP AND PCI SETUP' (oder ähnlich) der Eintrag `USB IRQ' (oder ähnlich) auf Enabled (oder ähnlich) zu setzen. Testen Sie, ob der USB-Drucker ansprechbar ist, indem Sie als Benutzer root eingeben: erde: # echo -en "\rhello\r\f" >/dev/usblp0 Vorausgesetzt, an der ersten USB-Schnittstelle /dev/usblp0 hängt ein Drucker, der ASCII-Text drucken kann, sollte eine Seite mit dem Wort hello ausgegeben werden. Manchmal kommt es vor, dass der USB-Drucker nicht mehr angesprochen wer- den kann ­ z. B. wenn man während eines Ausdrucks den USB-Stecker abzieht. Dann hilft es, alle Prozesse, die auf /dev/usblp0 zugreifen, zu beenden und die Kernelmodule, die den USB-Drucker betreffen, zu entladen und wieder neu zu laden, indem Sie als Benutzer root folgende Befehle eingeben: erde: # fuser -k /dev/usblp0 erde: # rcusbmgr stop erde: # rmmod printer erde: # rmmod usb-uhci # oder: rmmod usb-ohci erde: # rmmod usbcore erde: # modprobe usbcore erde: # mount usbdevfs erde: # modprobe usb-uhci # oder: modprobe usb-ohci erde: # modprobe printer erde: # rcusbmgr start Prüfen Sie vorher mit lsmod, welche USB-Module geladen sind (ob usb-uhci oder usb-ohci) und ob noch weitere Modul-Abhängigkeiten bestehen, etwa die Anzeige usbcore ... [printer usb-uhci] besagt, dass das Modul usbcore noch von den Modulen printer und usb-uhci benötigt wird. Daher müssen in diesem Fall die Module printer und usb-uhci vor dem Modul usbcore entladen werden. 9.2.4 Serielle Schnittstellen Wie ein Drucker an der seriellen Schnittstelle grundsätzlich betrieben werden kann, ist im Printing-Howto" beschrieben (/usr/share/doc/howto/de/Printing- HOWTO.gz). Hier folgen spezielle Hinweise: 223 9 Druckerbetrieb 1. Verwenden Sie als Drucker-Spooler anstelle des BSD-Spoolers (Paket lprold) den plp-Spooler (Paket plp aus der Serie n). Wenn Sie den BSD-Spooler ver- wenden, gehen Sie wie unten beschrieben vor. 2. Kontrollieren Sie die Datei /etc/printcap. Zusätzlich zu den gewöhnli- chen Einträgen müssen dort die Parameter der seriellen Schnittstelle auftau- chen: :br#9600:\ :ty=ixon -imaxbel -ixany -ixoff -crtscts:\ Bei br wird die Baudrate festgelegt; bei ty stehen die stty-Optionen; bei- de Werte müssen Sie gemäß Ihrer Hardware anpassen. Auch die Geschwin- digkeit muss an die lokalen Gegebenheiten angepasst werden ­ normal sind folgende Werte: 2400, 4800, 9600, 19200, 38400, 57600, 115200 und 230400. Bei einem HP DeskJet 500 sollten z. B. folgende stty-Einstellungen funk- tionieren: ixon -ixoff -imaxbel -opost In der Manual-Page von stty (man stty) werden zahlreiche Optionen er- klärt. 3. Wenn Sie den BSD-Spooler verwenden: Der BSD-Spooler kennt zwar br, aber keine ty-Option in /etc/printcap. Die Parameter der seriellen Schnittstelle können mit den Befehlen setserial und stty festgelegt werden. Die obigen Optionen aus /etc/printcap können z. B. mit folgendem Be- fehl gesetzt werden: erde: # stty 9600 ixon -imaxbel -ixany -ixoff \ -crtscts Dabei müssen Sie ttyS gegebenenfalls anpassen, d. h. verwenden Sie hier im Normalfall ttyS0 oder ttyS1. Wenn Sie in /etc/init.d/boot.local einen passenden setserial- bzw. stty-Aufruf eintragen, werden diese bei jedem Booten automatisch ausgeführt. Zusätzlich ist /etc/printcap anzupassen: Entfernen Sie alle Zeilen der Art: :br#9600:\ :ty=ixon -imaxbel -ixany -ixoff -crtscts:\ denn hierdurch würden ungeeignete Standardparameter für die serielle Schnitt- stelle gesetzt (weil der BSD-Spooler die ty-Option nicht kennt), es müssen aber die mit obigen Befehlen (beim Booten) eingestellten Parameter unver- ändert verwendet werden. 224 9.3 lpd: der Druck-Manager und Tools 9.3 lpd: der Druck-Manager und Tools 9.3.1 Der Druck-Manager im Hintergrund Der lpd (engl. Line Printer Daemon) wird beim Systemstart durch das Skript /etc/init.d/lpd aktiviert, wenn START_LPD=yes in /etc/rc.config ge- setzt wurde. Er läuft als Daemon im Hintergrund. lpd stellt beim Start anhand der /etc/printcap fest, welche Druckwarteschlan- gen definiert sind. Seine Aufgabe ist, die Ausführung der gespoolten" Aufträge (engl. Jobs) zu organisieren: * Er managt die lokalen Warteschlangen: Er schickt die Datendatei eines je- den Jobs durch den passenden Filter (festgelegt durch den Eintrag der War- teschlange in /etc/printcap sowie durch explizite Angaben in der Job- Steuerdatei) und dann zur Druckerschnittstelle; * Er berücksichtigt die Reihenfolge der Jobs in den Druckwarteschlangen; * Er überwacht den Status der Warteschlangen und Drucker (Datei status in den lokalen Spool-Verzeichnissen) und gibt auf Verlangen Auskunft darüber; * Er leitet Druckaufträge an Warteschlangen auf entfernten Rechnern an den dortigen lpd weiter; * Er nimmt Druckaufträge von entfernten Rechnern für lokale Warteschlangen an oder weist sie bei ungenügender Autorisierung ab. Hinweis Autorisierung: Nur Anfragen von entfernten Hosts (engl. remote), die in der Datei /etc/hosts.lpd des Printservers" aufgeführt sind, werden ange- nommen; ein Eintrag des Hosts in /etc/hosts.equiv genügt auch, aber dies hat sehr weitreichende Folgen für allgemeine Zugriffsmöglichkeiten von diesem Host auf den lokalen Rechner; es sollte der Sicherheit wegen möglichst vermieden werden. Zusätze in der Definition der Warteschlan- ge können Sie weiter einschränken auf Benutzer einer bestimmten Gruppe oder Benutzer mit Accounts auf dem lokalen Rechner. 9.3.2 Zusatz- und Steuertools für den Anwender Für zahlreiche Manipulationen an den Druckwarteschlangen brauchen Sie `root'- Rechte, d. h. wenn Sie beispielsweise fremde Druckaufträge löschen wollen, müssen Sie als `root' arbeiten. lpq zeigt eigene Druckaufträge (engl. Jobs) in einer Warteschlange (Option -P) an; z. B. produziert die Eingabe tux@erde: > lpq -Pwarteschlange das Ergebnis in Ausgabe 9.3.1 auf der nächsten Seite. 225 9 Druckerbetrieb warteschlange is ready and printing Rank Owner Job Files Total Size active tux 676 Hallo.txt 259420 bytes 1st tux 677 brief.dvi 11578 bytes 2nd tux 683 bild.gif 37464 bytes Ausgabe 9.3.1: Beispiel einer Ausgabe des Befehls lpq. lprm löscht Druckaufträge aus einer Warteschlange, sofern der Druckauftrag dem Benutzer gehört, der lprm aufruft. Beispielsweise liefert tux@erde: > lprm -Pwarteschlange 676 die beiden Zeilen in Ausgabe 9.3.2 zurück. dfA676Aa05005 dequeued cfA676Aa05005 dequeued Ausgabe 9.3.2: Beispiel einer Ausgabe des Befehls lprm. Ein Druckauftrag gehört dem Benutzer, der ihn gestartet hat. Dieser Benutzer wie auch die Jobnummer werden beim lpq-Befehl angezeigt. Dieselbe Job- nummer kann in verschiedenen Warteschlangen vorkommen, daher ist die Angabe der Warteschlange immer erforderlich. Wird keine Jobnummer angegeben, so wird der momentan aktive Job, wenn es ein eigener ist, aus der betreffenden Warteschlange gelöscht. lprm -Pwarteschlange löscht den aktuellen Auftrag aus der angegebe- nen Warteschlange, sofern dieser dem Benutzer gehört, der den lprm-Befehl gegeben hat. Der Drucker bringt aber noch die Daten des Druckers zu Papier, die bereits in seinen Speicher übertragen wurden lprm -Pwarteschlange - löscht alle Druckaufträge des Benutzers aus der angegebenen Warteschlange. Gibt `root' diesen Befehl ein, so werden alle Druckaufträge aus der angegebenen Warteschlange gelöscht. Tipp Weitere Tipps und Tricks zu lprm finden Sie im Handbuch Konfigura- tion"; vgl. dort den Index. lpc dient der Steuerung der Warteschlangen. Für den Warteschlangen-Namen kann dabei auch all (= alle) angegeben werden. Die wichtigsten Optionen sind: status warteschlange ­ gibt einen Statusbericht. Fehlt die Angabe , so wirkt der Aufruf wie , d. h. ein Statusbericht für alle Warteschlangen wird ausgegeben. disable warteschlange ­ stoppt die Aufnahme neuer Jobs in die War- teschlange. 226 9.4 lpr: Druckaufträge losschicken enable warteschlange ­ gibt die Warteschlange für die Aufnahme neu- er Jobs frei. stop warteschlange ­ stoppt das Ausdrucken von Jobs aus der Warte- schlange; der gerade im Druck befindliche Job wird noch beendet. start warteschlange ­ nimmt das Ausdrucken von Jobs aus der Warte- schlange wieder auf. down warteschlange ­ wirkt wie disable plus stop . up warteschlange ­ hat dieselbe Wirkung wie enable plus start . abort warteschlange ­ ist identisch zu down, nur dass ein gerade im Druck befindlicher Job sofort abgebrochen wird. Die Jobs bleiben erhalten und können nach einem Restart der Warteschlange (up) weiter bearbeitet werden. Sie können diese Kommandos dem lpc gleich in der Kommandozeile mitge- ben (z. B. lpc status). Oder Sie rufen lpc ohne Parameter auf: Dann wird ein Dialogmodus mit der Eingabeaufforderung lpc> (engl. Prompt) gestar- tet, der die Eingabe von lpc-Kommandos erwartet. Mit quit oder exit beenden Sie den Dialog. Hinweis Druckaufträge bleiben auch in den Warteschlangen erhalten, wenn Sie während eines Druckvorgangs den Rechner herunterfahren und dann Li- nux neu starten ­ einen eventuell fehlerhaften Druckauftrag müssen Sie mit den oben vorgestellten Befehlen aus der Warteschlange entfernen. 9.4 lpr: Druckaufträge losschicken Der lpr ist die alltägliche Anwenderschnittstelle" zu den vorhandenen Druck- warteschlangen. Dabei ergibt sich folgender Ablauf: 1. Entweder erzeugt der Anwender selbst mit lpr einen neuen Druckauftrag, oder eine Anwendung verwendet den lpr-Befehl, wenn z. B. der Anwender ein Dokument drucken lässt. 2. lpr speichert die zu druckenden Daten in der Druckwarteschlange. Von dort leitet sie der Druckerspooler an den Druckerfilter weiter, der zu der Druck- warteschlange gehört. 3. Durch den Druckerfilter werden die zu druckenden Daten in das Format, das der Drucker direkt ausgeben kann, umgewandelt und dann an den Drucker geschickt. 4. Nachdem der Druckauftrag komplett an den Drucker geschickt wurde, wird er aus der Druckwarteschlange entfernt. 227 9 Druckerbetrieb Normalerweise druckt man mit tux@erde: > lpr datei oder tux@erde: > lpr -Pwarteschlange datei Wenn Sie die Option -Pwarteschlange weglassen ( Print-Queue", für den Warteschlangen-Namen), ist die Voreinstellung der Inhalt der Umgebungsvaria- blen PRINTER. Ist diese leer, so wird die traditionelle Standard-Warteschlange mit dem Namen lp verwendet. Verschiedene Druckwarteschlangen werden aus folgenden Gründen benötigt: * Sind mehrere Drucker vorhanden, werden die verschiedenen Drucker über verschiedene Druckwarteschlangen angesprochen, etwa mit tux@erde: > lpr -Pprinter2 datei ein zweiter Drucker über die Warteschlange printer2. * Pro Druckwarteschlange kann ein eigener Druckerfilter verwendet werden. Also werden verschiedene Druckwarteschlangen für denselben Drucker ver- wendet, um verschiedene Druckerfilter zu benutzen ­ etwa die Standard- Warteschlange mit einem Druckerfilter der immer schnellen Schwarzweiß- druck liefert und eine andere Warteschlange (z. B. mit Namen color) mit einem Druckerfilter, der zwar langsam ist, aber bestmöglichen Farbdruck lie- fert; z. B. mit tux@erde: > lpr -Pcolor datei Wenn Sie den Drucker mit YaST1 oder lprsetup konfiguriert haben, werden standardmäßig immer folgende Warteschlangen eingerichtet (zu YaST2 vgl. das Handbuch Konfiguration"): lp ­ Drucken Sie eine Datei über diese Standard-Warteschlange, so wird als Druckerfilter der apsfilter verwendet. Der Filter bestimmt automatisch, wel- che Art Daten die Datei enthält, und dementsprechend erfolgt die Konvertie- rung in das druckerspezifische Format. ascii ­ Drucken Sie eine Datei über die Warteschlange ascii mit tux@erde: > lpr -Pascii datei so wird als Druckerfilter der apsfilter verwendet, aber dieser bestimmt nicht automatisch, welche Art Daten die Datei enthält, sondern es wird beim Auf- ruf gesagt, dass die Datei ASCII-Text enthält und dementsprechend erfolgt die Konvertierung in das druckerspezifische Format. raw ­ Drucken Sie eine Datei über die Warteschlange raw mit tux@erde: > lpr -Praw datei so wird als Druckerfilter der apsfilter verwendet, aber dieser führt keine Kon- vertierung in das druckerspezifische Format durch, sondern die Datei wird roh" an den Drucker geschickt. Also muss in diesem Fall die Datei schon Daten im druckerspezifischen Format enthalten. In all diesen Fällen wird zwar immer derselbe Druckerfilter verwendet, aber die- ser arbeitet je nach Warteschlange verschieden. 228 9.5 SETUP (lprsetup): Konfiguration des Drucksystems Tipp Bei besonders großen Druckaufträgen kann es zweckmäßig sein, anstatt einer Kopie der Datendatei einen symbolischen Link darauf ins Spool-Ver- zeichnis stellen zu lassen. Dies leistet die lpr-Option -s. Natürlich sollten Sie dann auf Schreibzugriffe auf diese Datei verzichten, bis der Druckjob beendet ist! 9.5 SETUP (lprsetup): Konfiguration des Drucksystems Das Paket aps enthält das Konfigurationsprogramm SETUP (/var/lib/apsfilter/ SETUP), das direkt als lprsetup aufgerufen werden kann. Es bietet die Dienste: * Auflistung aller apsfilter-Druckerkonfigurationen * Hinzufügen und Löschen von apsfilter-Druckerkonfigurationen. 9.5.1 Hinweise zur Konfiguration mit lprsetup lprsetup ist menügesteuert und mit der Tastatur zu bedienen. Die Wahl zwi- § ¤ schen den Antwortfeldern `OK' und `Cancel' erfolgt in allen Menüs mit § ¤ § ¤ ¦Tab ¥; durch Auswahllisten bewegen Sie sich mit ¦ ¥und ¦ ¥ . 1. Rufen Sie lprsetup als `root' auf der Textkonsole auf: erde: # lprsetup § ¤ Drücken Sie ¦ ¥,um zum Hauptmenü zu gelangen: `EXIT' (engl. Exit apsfilter setup) ­ lprsetup beenden. `LISTING' (engl. List all apsfilter entries) ­ Alle bereits bestehenden War- teschlangen auflisten. `ENTRY' (engl. Add/Overwrite/Delete an apsfilter entry) ­ Zum Hinzufügen eines neuen Druckereintrags dient der Menüpunkt `ENTRY'. Er führt zu einem weiteren Menü `Choose your printer definition', in dem Sie den Drucker definieren. `DELETE' (engl. Fast delete an apsfilter entry) ­ Zum Löschen vorhande- ner apsfilter-Druckereinträge wählen Sie `DELETE' und erhalten dann eine Liste aller vorhandenen Einträge. 2. Wählen Sie `ENTRY'; jetzt ist u. a. folgendes sichtbar: RETURN Back to previous menu DEVICE Which printer interface 229 9 Druckerbetrieb 3. Wählen Sie `DEVICE' (Schnittstelle). Für Drucker an einer parallelen Schnittstelle oder an der USB-Schnittstelle wählen Sie `PARALLEL' und für Drucker an einer seriellen Schnittstelle wäh- len Sie `SERIAL'. Parallele Schnittstellen: /dev/lp0, /dev/lp1, /dev/ lp2; USB-Druckerschnittstellen: /dev/usblp0, /dev/usblp1, /dev/usblp2; seriellen Schnittstelle: /dev/ttyS0, /dev/ttyS1, /dev/ ttyS2. Bestätigen Sie den Eintrag mit `OK'. 4. Wählen Sie `PRINTER' und wählen Sie den richtigen Druckertyp aus folgen- der Liste aus: POSTSCRIPT For a real PostScript printer HEWLETT-PACKARD For a HP deskjet printer OTHER Another non-PostSript printer FREEDEF Free definition of driver name Bestätigen Sie mit `COMMIT'. Blättern Sie in der folgenden Liste, bis Sie den passenden Ghostscript-Treiber oder die passende Parameterdatei (kenntlich an der Endung .upp) gefunden haben und wählen Sie dann `OK'. 5. Geben Sie die Auflösung an. Belassen Sie die Voreinstellung nur dann, wenn Sie die korrekte Auflösung nicht wissen. Bei Unsicherheit probieren Sie die Auflösungen 300, 360, 600, und 720. Insbesondere bei Verwendung einer .upp-Parameterdatei muss die Auflösung hier mit der in der Parameterdatei übereinstimmen. Wählen Sie dann `OK' und `RETURN'. 6. Wählen Sie `PAPER' und blättern Sie in der folgenden Liste, bis Sie die pas- sende Papiergröße gefunden haben (bei Laserdruckern normalerweise a4 und bei Tintenstrahl-Druckern (engl. Inkjet) normalerweise a4dj). Wählen Sie dann `OK'. 7. Wählen Sie `COLOR' und geben Sie `MONO' oder `COLOR' an, um eine spä- tere Konfiguration zur Unterscheidung von Schwarzweiß- und Farbdruck zu erleichtern ­ siehe dazu den nächsten Punkt und den folgenden Abschnitt Konfiguration des apsfilters". 8. Wenn noch keine Standardwarteschlange lp konfiguriert ist, wird lprsetup immer die Standardwarteschlangen lp, ascii, raw und lp-mono eventuell auch einrichten; lp-mono wird nur dann eingerichtet, wenn Sie beim vorigen Punkt `COLOR' gewählt haben. Wenn die Standardwarteschlangen schon ein- gerichtet waren, können Sie bei der Konfiguration zusätzlicher Warteschlan- gen unter `SPECIAL' und `NAME' einen eigenen Warteschlangennamen ein- tragen. Dieser sollte nur aus Buchstaben und Zahlen bestehen, wobei kurze Namen nur aus Kleinbuchstaben zu bevorzugen sind: etwa color für eine Warteschlange zum Farbdruck. 9. Wichtig: Mit `ADD' wird der neue Drucker schließlich eingerichtet. Sie erhal- ten eine Ausgabe, welche Druckwarteschlangen bei der Apsfilter-Konfigura- tion auf dem System angelegt wurden. 230 9.5 SETUP (lprsetup): Konfiguration des Drucksystems Es werden also immer gleich mehrere Warteschlangen angelegt, die unter- schiedliche Druckausgaben ermöglichen. ### cdjcolor a4dj mono 300 color ### color-ascii|lp10|cdjcolor-a4dj-ascii-mono-300-color |cdjcolor a4dj ascii mono 300 color|lp11|cdjcolor-a4dj-auto-mono-300-color |cdjcolor a4dj auto mono 300 color-raw|lp12|cdjcolor-a4dj-raw-color|cdjcolor a4dj raw Ausgabe 9.5.1: Auflistung der Druckwarteschlangen Notieren Sie sich analog zu der Ausgabe 9.5.1, welche Druckwarteschlan- gen angelegt wurden (normalerweise werden nur lange Zeilen ausgegeben ­ im vorliegenden Beispiel sind color-ascii, color und color-raw zu notieren. Wählen Sie dann `OK'. 10. Nun werden die Konfigurationsdateien für den apsfilter angezeigt. Verände- rungen sollten nicht in der globalen Konfigurationsdatei /etc/apsfilterrc, sondern nur in der Konfigurationsdatei, die nur den gerade angelegten War- teschlangen zugeordnet ist, vorgenommen werden. Die letztgenannte Kon- figurationsdatei hat die Form /etc/apsfilterrc., wobei der bei Punkt 4 gewählte Ghostscript-Treiber ist. Wird bei mehreren Konfigurationen derselbe Ghostscript-Treiber gewählt, so kann trotzdem dieselbe Konfigurationsdatei verwendet werden, da innerhalb einer solchen Konfigurationsdatei verschiedene Warteschlangen unterschie- den werden können. Siehe dazu den folgenden Abschnitt Konfiguration des § ¤ apsfilters". Drücken Sie ¦ ¥,damit es weitergeht. 11. Wählen Sie nacheinander `RETURN' und `EXIT'. 9.5.2 Test des Druckers Wurden die Standardwarteschlangen angelegt, sollten Sie nun mit tux@erde: > lpr /etc/fstab die Datei /etc/fstab ausdrucken können. Sofern der gewählte Ghostscript-Treiber Farbdruck ermöglicht, können Sie dies testen mit: tux@erde: > lpr /usr/share/ghostscript/*/examples/colorcir.ps 9.5.3 Sonderfälle Bei lpr datei wird der Typ der Datei (z. B. ASCII oder PostScript) automa- tisch bestimmt. Soll der Dateityp ASCII erzwungen werden, so ist mit tux@erde: > lpr -Pascii datei zu drucken (z. B. um PostScript-Quelltext als solchen zu drucken, da dieser sonst als PostScript-Datei interpretiert würde). Für Dateien, die schon im Drucker-spezifischen Format vorliegen, sollte 231 9 Druckerbetrieb tux@erde: > lpr -Praw datei verwendet werden. Mit tux@erde: > lpr -Plp-mono Datei wird nicht automatisch Schwarzweißdruck erzwungen. Dazu sind zunächst pas- sende Ghostscript-Parameter in einer apsfilterrc-Datei zu setzen; vgl. dazu den Abschnitt 9.6.2 auf der nächsten Seite. 9.6 Der apsfilter 9.6.1 Arbeitsweise des apsfilters Bei der Druckerkonfiguration mit YaST1 bzw. lprsetup werden die folgenden Parameter in /etc/printcap gespeichert: * Ghostscript-Treiber; z. B. hpdj, ljet4, stcany.upp. * Papierformat; z. B. a4, a4dj, letter, letterdj. * Methode; ascii oder auto oder raw. * Farbe; falls Methode nicht raw: mono oder color * Auflösung; falls Methode nicht raw: z. B. 300, 360, 600, 720. * Warteschlangenname; falls explizit mit lprsetup unter `SPECIAL - Set- tings for your printer' angegeben. Der eigentliche Druckerfilter, das Shellskript /var/lib/apsfilter/apsfilter wird über einen Link gemäß der if-Angabe in /etc/printcap aufgerufen. Die obigen Parameter werden über diesen Link an den Druckerfilter übergeben. color-ascii|lp4|hpdj-a4dj-ascii-mono-300-color\ |hpdj a4dj ascii mono 300:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color:\ :lf=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/log:\ :af=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/acct:\ :if=/var/lib/apsfilter/bin/hpdj-a4dj-ascii-mono-300-color:\ :la@:mx#0:\ :tr=:cl:sh: Datei 9.6.1: Warteschlange für Farbe in /etc/printcap Beispiel: Steht in /etc/printcap etwa der Eintrag wie in Datei 9.6.1, so wer- den folgende Parameter an den apsfilter übergeben: 232 9.6 Der apsfilter Ghostscript-Treiber : PRINTER="hpdj" Papierformat : PAPERSIZE="a4dj" Methode : METHOD="ascii" Farbe : COLOR="mono" Auflösung : DPI="300" Warteschlangenname : QUEUE="color" Je nachdem wie diese Variablen gesetzt sind, arbeitet apsfilter verschieden: METHOD="raw" ­ Die Daten werden ohne Konvertierung an das Druckerdevice (z. B. /dev/lp0) geschickt. METHOD="ascii" ­ Es wird angenommen, dass es sich um ASCII-Text handelt und dass der Text mit a2ps in das PostScript-Format umgewandelt wird; vgl. die Manual-Page von a2ps (man a2ps). Die Daten im PostScript-Format werden dann von Ghostscript (gs) in das druckerspezifische Format umgewandelt und an das Druckerdevice geschickt. Der passende Ghostscript-Treiber und die Auflösung sind in den obigen Va- riablen festgelegt; weitere Ghostscript-Parameter können beim apsfilter kon- figuriert werden. METHOD="auto" ­ apsfilter versucht automatisch zu bestimmen, welcher Art die Daten sind. Das erforderliche Konvertierungsprogramm wird verwen- det, um die Daten in das PostScript-Format umzuwandeln. Die Daten im PostScript-Format werden dann von Ghostscript in das druckerspezifische Format umgewandelt und an das Druckerdevice geschickt. 9.6.2 Konfiguration des apsfilters Durch spezielle Variablen kann das Verhalten des apsfilters individuell einge- stellt werden. Diese Variablen werden in einer der folgenden Konfigurationsda- teien eingetragen: * /etc/apsfilterrc * /etc/apsfilterrc. wobei durch den tatsächlichen Wert des Ghostscript-Treibers zu ersetzen ist. Diese Konfigurationsdateien werden in der angegebenen Reihenfol- ge vom apsfilter eingelesen, d. h. die Einstellungen in der treiberspezifischen Da- tei /etc/apsfilterrc. überschreiben die Voreinstellungen in der globalen Datei /etc/apsfilterrc. In /etc/apsfilterrc sollten nur globale Voreinstellungen für alle Druckwar- teschlangen eingetragen werden. Spezielle Einstellungen sollten in der entspre- chenden /etc/apsfilterrc. eingetragen werden. Bei der Druckerkonfiguration mit YaST2 werden die Parameter z. T. wie oben in /etc/printcap gespeichert, insbesondere aber in /etc/gs.upp/y2prn_ .upp. Dabei ist für die Standardwar- teschlange lp, andernfalls der Name, der bei einer zusätzlichen Warteschlan- ge vergeben wurde (z. B. color). Der eigentliche Druckerfilter /var/lib/ 233 9 Druckerbetrieb apsfilter/apsfilter wird auch hier über einen Link gemäß des if-Eintrags in /etc/printcap aufgerufen. Die obigen Parameter werden teils über die- sen Link und teils über /etc/gs.upp/y2prn_.upp an den Druckerfilter übergeben. In dieser Datei finden sich insbesondere die Ghostscript-Parameter, die bei der Druckerkonfiguration mit YaST2 gesetzt wur- den. Spezielle Ghostscript-Parameterwerte, die nicht über YaST2 einstellbar sind, können hier eingetragen werden. Die Variablen, die das Verhalten des aps- filters bestimmen, müssen in einer der folgenden Konfigurationsdateien eingetra- gen werden: * /etc/apsfilterrc * /etc/apsfilterrc.y2prn_.upp Die Konfigurationsdateien werden in dieser Reihenfolge vom apsfilter eingele- sen, d. h. Einträge in /etc/apsfilterrc.y2prn_.upp überschreiben die Voreinstellungen in /etc/apsfilterrc. In /etc/apsfilterrc finden sich hilfreiche Kommentare zu den einzelnen Variablen. Hier eine Übersicht über die wichtigsten Variablen: FEATURE ermöglicht die Art der Ausgabe von ASCII-Texten festzulegen; die derzeitigen Möglichkeiten: FEATURE=1 Eine Seite ASCII-Text pro Blatt Papier mit Kopfzeilen FEATURE=2 Zwei Seiten ASCII-Text pro Blatt Papier mit Kopfzeilen FEATURE=1n Eine Seite ASCII-Text pro Blatt Papier ohne Kopfzeilen FEATURE=2n Zwei Seiten ASCII-Text pro Blatt Papier ohne Kopfzeilen FEATURE=1l Querformat mit Kopfzeilen FEATURE=1ln Querformat ohne Kopfzeilen GS_FEATURES ermöglicht die Angabe spezieller Ghostscript-Parameter. Die möglichen Ghostscript-Parameter sind aber je nach verwendetem Ghostscript-Treiber unterschiedlich. Informationen zu den einzelnen Pa- rametereinstellungen finden Sie in file:/usr/share/doc/packages/ ghostscript/doc/Devices.htm und file:/usr/share/doc/ packages/ghostscript/doc/hpdj/gs-hpdj.txt; siehe auch den Abschnitt 9.8 auf Seite 241 ff. Bleiben wir bei dem Beispiel von Datei 9.6.1 auf Seite 232. Damit der Drucker im Falle $COLOR="mono" auch wirklich immer schwarz- weiß druckt, sollte in /etc/apsfilterrc.hpdj beispielsweise der Aus- schnitt aus Datei 9.6.2 auf der nächsten Seite eingetragen werden. Anhand von file:/usr/share/doc/packages/ghostscript/doc/ hpdj/gs-hpdj.txt ist zu überprüfen, ob diese Einstellungen für Ihren Druckertyp richtig bzw. möglich sind. Kurzinformation dazu: * Bei -sModel= können Sie zwischen 500, 500C, 510, 520, 540, 550C, 560C, 850C, 855C und unspec wählen. 234 9.6 Der apsfilter if [ "$COLOR" = "mono" ]; then GS_FEATURES="-sModel=unspec -sColorMode=mono" else GS_FEATURES="-sModel=unspec -sColorMode=CMYK" fi Datei 9.6.2: /etc/apsfilterrc.hpdj: Schwarzweiß-Einstellung * Bei -sColorMode= können Sie zwischen mono, CMY, CMY+K und CMYK wählen. Erklärung zu den verschiedenen Farbmodellen (siehe file:/usr/share/ doc/packages/ghostscript/doc/hpdj/gs-hpdj.txt): mono Der Drucker hat nur eine Schwarzpatrone z. B. die Modelle 500, 510 und 520. CMY Der Drucker kann entweder mit der Schwarzpatrone oder mit der Farb- patrone drucken wobei die Patronen meist per Hand ausgetauscht werden müssen z. B. die Modelle 500C und 540. CMY+K Der Drucker hat zwar eine Schwarzpatrone und eine Farbpatrone gleichzeitig, aber Schwarz und Farbe können nicht gemischt werden. Al- so wird bei Farbdruck das Schwarz aus den Farben gemischt z. B. die Modelle 550C und 560C. CMYK Der Drucker hat eine Schwarzpatrone und eine Farbpatrone gleich- zeitig und Schwarz und Farbe können gemischt werden z. B. die Modelle 850C, 855C und alle modernen DeskJets (unspec). PRELOADS ermöglicht die Angabe einer Datei, die vom apsfilter vor den eigent- lichen Druckdaten verarbeitet wird. Dazu einige Beispiele: * Einstellung der Helligkeitsverteilung beim Ausdruck auf Farbtin- tenstrahldruckern: Siehe file:/usr/share/doc/sdb/de/html/ jsmeix_print-gammakorrektur.html * Einstellung der Seitenränder beim Ausdruck von PostScript Dateien: Sie- he file:/usr/share/doc/sdb/sdb/de/html/ke_print-margins. html * Umschalten eines PostScript-Druckers auf Duplexdruck oder Wahl eines anderen Papierfachs bei einem PostScript-Drucker: Siehe file:/usr/ share/doc/sdb/sdb/de/html/ke_print-duplex.html und file: /usr/share/doc/sdb/sdb/de/html/ke_tray.html ENCODING ermöglicht den Ausdruck von ASCII-Text und HTML-Seiten aus Netscape gemäß Codierung nach ISO-8859-1 oder ISO-8859-2 ­ siehe da- zu den Kommentar in /etc/apsfilterrc und file:/usr/share/doc/ sdb/de/html/jsmeix_print-iso88592.html. 235 9 Druckerbetrieb 9.6.3 Fehlersuche beim apsfilter Ein Protokoll, das aufzeichnet, was während der Abarbeitung eines Druckauftra- ges durch apsfilter passiert, sollte bei der Fehlersuche helfen. Vorgehen: 1. Melden Sie sich als Benutzer `root' an. 2. Entfernen Sie in /var/lib/apsfilter/apsfilter das Kommentarzei- chen `#' vor set -x. 3. Von nun an werden die Aktivitäten des Druckerfilters in entsprechenden Log- Dateien mitprotokolliert, die in /etc/printcap festgelegt sind. Bei lf ist die jeweilige Log-Datei der einzelnen Druckwarteschlangen angegeben, z. B. /var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/log; vgl. Da- tei 9.6.1 auf Seite 232. Das Protokoll des jeweils letzten Ausdrucks wird jeweils an die bestehende Log-Datei angehängt, was dazu führt, dass diese Dateien schnell groß und unübersichtlich werden. Daher sollten die Protokolle aus obigem Beispiel vor jedem neuen Ausdruckversuch mit erde: # cat /dev/null >/var/spool/lpd/hpdj-a4dj-ascii-mono- 300-color/log geleert werden, aber nicht gelöscht. 4. Nach einem Ausdruckversuch können Fehlermeldungen in den Log-Dateien helfen, die Ursache des Druckerproblems zu finden. Die Log-Dateien in obi- gem Beispiel können z. B. mit less angezeigt werden. 9.7 Drucken im TCP/IP-Netzwerk Worum es geht? Sie wollen entweder * im TCP/IP-Netzwerk einen Drucker benutzen, der an einem anderen Rechner lokal angeschlossen ist, oder * Sie wollen via TCP/IP-Netzwerk einen Drucker benutzen, der an einer Print- server-Box" angeschlossen ist, oder * Sie wollen einen Netzwerkdrucker mit eigenem TCP/IP-Netzwerkanschluss benutzen. Dabei wollen Sie die Druckjobs mit apsfilter filtern lassen. 236 9.7 Drucken im TCP/IP-Netzwerk Terminologie Ein anderer Rechner im TCP/IP-Netzwerk, an dem der Drucker lokal ange- schlossen ist, wird im folgenden Print-Server genannt, im Unterschied zu ei- ner Printserver-Box, also einem kleinen Gerät mit TCP/IP-Netzwerkanschluss einerseits und lokaler Anschlussmöglichkeit für den Drucker andererseits. Ein Drucker, der selbst über einen TCP/IP-Netzwerkanschluss verfügt, wird im Fol- genden als Netzwerkdrucker bezeichnet und der Rechner, von dem der Druck- aufrag gestartet wird, ist der Client. 9.7.1 Übersicht: Die einzelnen Fälle Die Unterschiede liegen in der Filterung der zu druckenden Datei: An einer Stel- le der Kette muss die Ausgangsdatei in das Format umgewandelt werden, das der Drucker letztlich auch drucken kann ­ also in die Druckersprache, die der Drucker direkt spricht (PostScript, HP PCL, ESC/P). Dies erledigt der apsfilter. Bei Netzwerkdruckern und Printserver-Boxen muss daher der apsfilter schon auf dem Client laufen und dessen Ausgabe wird dann an den Netzwerkdrucker bzw. an die Printserver-Box weitergeleitet. Bei Druckern an einem Print-Server kann der apsfilter entweder auf dem Client laufen oder auf dem Print-Server. Es gibt also folgende Möglichkeiten: Netzwerkdrucker mit Filterung beim Client: 1. Client: Datei in Druckerdaten wandeln (-apsfilter->) 2. Client: Druckerdaten an den Netzwerkdrucker schicken (-remote->) Printserver-Box mit Filterung beim Client: 1. Client: Datei in Druckerdaten wandeln (-apsfilter->) 2. Client: Druckerdaten an die Printserver-Box schicken (-remote->) 3. Printserver-Box: Druckerdaten an den Drucker schicken Drucker an einem Print-Server mit Filterung beim Client: 1. Client: Datei in Druckerdaten wandeln (-apsfilter->) 2. Client: Druckerdaten an den Print-Server schicken (-remote->) 3. Print-Server: Druckerdaten an den Drucker schicken Drucker an einem Print-Server mit Filterung beim Print-Server: 1. Client: Datei an den Print-Server schicken (-remote->) 2. Print-Server: Datei in Druckerdaten wandeln (-apsfilter->) 3. Print-Server: Druckerdaten an den Drucker schicken * Dort, wo -remote-> steht, wird eine Druckwarteschlange benötigt, die die Daten nur weiterleitet (engl. Printer forwarding queue), aber nicht filtert. 237 9 Druckerbetrieb * Dort wo -apsfilter-> steht, wird eine Druckwarteschlange benötigt, die die Daten filtert. Ist die Filterung beim Client, so ist diese Filter-Warteschlange ein Prefilter" für die anschließende Printer forwarding queue". Ist die Fil- terung beim Print-Server, so ist die Filter-Warteschlange eine der normalen Warteschlangen, die auf dem Print-Server eingerichtet sind (etwa lp oder ascii). Voraussetzungen: Der Drucker muss von SuSE Linux unterstützt sein, da der Prefilter die drucker- spezifischen Daten auf dieselbe Weise wie für einen lokal angeschlossenen Dru- cker erzeugt.Vgl. dazu Abschnitt 9.2 auf Seite 220 ff. Eine TCP/IP-Verbindung zum Netzdrucker muss bestehen und ordnungsgemäß funktionieren. 9.7.2 Konfiguration: Printer forwarding queue auf dem Client Melden Sie sich als Systemadministrator `root' auf einer Textkonsole an. Falls § ¤ § ¤ § ¤ Sie ein grafisches Login verwenden, wechseln Sie vorher mit ¦Strg ¥+ ¦Alt ¥+ ¦F2 ¥ auf eine Textkonsole. 1. Geben Sie entweder /var/lib/apsfilter/SETUP oder lprsetup ein. § ¤ 2. Drücken Sie die ¦ ¥,damit Sie das Menü `APSFILTER SETUP' erhalten. 3. Wählen Sie nacheinander `ENTRY', `DEVICE' und `REMOTE'. 4. Geben Sie die IP-Adresse des Netzwerkdruckers bzw. der Printserver-Box bzw. des Print-Servers ein. Die Namensauflösung (DNS) muss in beiden Richtungen auf Seiten des Clients und des Print-Servers funktionieren. 5. Geben Sie die Bezeichnung der Warteschlange auf dem Netzwerkdrucker bzw. auf der Printserver-Box bzw. auf dem Print-Server ein. Bei Netzwerk- druckern bzw. Printserver-Boxen finden Sie die möglichen Warteschlangen- namen in der Dokumentation des Gerätes. Bei einem Print-Servers ist es eine der Warteschlangen, die auf dem Print-Server eingerichtet sind (etwa lp oder ascii). 6. Wählen Sie `ADD'. § ¤ 7. Drücken Sie die ¦ ¥,damit es weitergeht. 8. Wählen Sie nacheinander `RETURN' und `EXIT'. Nun haben Sie auf dem Client die Warteschlange remote. Nach Neustarten des Druckerdaemons auf dem Client mit erde: # rclpd stop erde: # rclpd start steht die Warteschlange remote auf dem Client zur Verfügung. 238 9.7 Drucken im TCP/IP-Netzwerk Mit dem Befehl erde: # lpr -Premote wird die ohne Filterung an den Netzwerkdrucker bzw. an die Printserver- Box geschickt. Hängt der Drucker jedoch an einem Print-Server, so ist auf dem Print-Server in /etc/hosts.lpd die IP-Adresse des Clients einzutragen. Falls die Namensauflösung funktioniert kann alternativ der voll qualifizierte Name des Clients (FQDN) eingetragen werden. Nach Neustarten des Druckerdaemons auf dem Print-Server nimmt dieser die Druckaufträge von dem eingetragenen Client an. Hängt der Drucker an einem Print-Server mit Filterung beim Print-Server, so ist die Konfiguration hiermit abgeschlossen. 9.7.3 Konfiguration: Prefilter auf dem Client 1. Starten Sie lprsetup. § ¤ 2. Drücken Sie ¦ ¥. 3. Wählen Sie nacheinander `ENTRY', `DEVICE' und `PREFILTER'. 4. Wählen Sie die eben eingerichtete Warteschlange remote. 5. Wählen Sie `PRINTER'. 6. Wählen Sie aus `POSTSCRIPT', `HEWLETT-PACKARD', `OTHER' oder `FREE- DEF' den passenden Eintrag aus. 7. Wählen Sie `COMMIT'. 8. Blättern Sie in der folgenden Liste, bis Sie den passenden Ghostscript-Treiber oder die passende Parameterdatei gefunden haben und wählen Sie dann `OK'. 9. Geben Sie die korrekte Auflösung an und wählen Sie dann `OK'. 10. Wählen Sie nacheinander `RETURN' und `PAPER'. 11. Wählen Sie die passende Papiergröße und dann `OK'. 12. Wählen Sie `COLOR'. 13. Wählen Sie `MONO' oder `COLOR' und wählen Sie dann `OK'. 14. Wählen Sie `ADD'. Sie erhalten eine Ausgabe, welche Prefilter-Warteschlangen bei der Apsfilter-Konfiguration auf Ihrem System angelegt wurden. Notieren Sie sich, welche Prefilter-Warteschlangen angelegt wurden. Wählen Sie dann `OK'. § ¤ 15. Drücken Sie die ¦ ¥,damit es weitergeht. 16. Wählen Sie nacheinander `RETURN' und `EXIT'. 239 9 Druckerbetrieb Nach Neustarten des Druckerdaemons auf dem Client mit erde: # rclpd stop erde: # rclpd start stehen die neuen Prefilter-Warteschlangen auf dem Client zur Verfügung. Mit dem Befehl erde: # lpr -Pprefilter-warteschlange wird die in die angegebene prefilter-warteschlange geschickt, dort durch den apsfilter in Druckerdaten umgewandelt und diese werden über die remote-Warteschlange an den Netzwerkdrucker bzw. an die Printserver-Box bzw. an den Print-Server weitergeschickt. 9.7.4 Schwierigkeiten bei der Konfiguration Konfiguration des Prefilters prüfen Schließen Sie den Drucker über die parallele Schnittstelle direkt an der ers- ten parallelen Schnittstelle am Rechner an und konfigurieren Sie den Drucker nur zum Test als lokalen Drucker, um etwaige Netzprobleme auszuschließen. Gehen Sie dazu anhand des Abschnitts 9.2 auf Seite 220 vor.Wenn der Dru- cker lokal funktioniert, kennen Sie den passenden Ghostscript-Treiber und die anderen Parameter für die Konfiguration des Prefilters. Nun können Sie den Drucker gemäß obiger Anleitung als Netzwerkdrucker einrichten. Netzwerkdrucker oder Printserver-Box arbeitet nicht zuverlässig Es gibt bisweilen Probleme mit dem Druckerspooler, der auf der Printserver- Box bzw. dem Netzwerkdrucker läuft (z. B. wenn mehrere Drucker ange- schlossen sind oder mehrere Druckaufträge gleichzeitig anstehen). Da es am Druckerspooler in der Printserver-Box bzw. im Netzwerkdrucker liegt, kann man nicht viel machen. Es ist daher im Allgemeinen unproblematischer, den Drucker an einen Print-Server anzuschließen. Dennoch kann folgendes Vorgehen Besserung bringen: Ein einziger Rech- ner dient als Print-Server für die Printserver-Box bzw. den Netzwerkdru- cker. Alle Clients schicken die Druckaufträge an diesen Print-Server und nur dieser Print-Server übernimmt das Spooling der Druckaufräge und schickt sie an die Printserver-Box bzw. den Netzwerkdrucker weiter. Die Filterung kann auch hier beim Client oder auf dem Print-Server erfol- gen. Die Details sind file:/usr/share/doc/sdb/de/html/jsmeix_ print-netzwerk.html zu entnehmen. Hintergrundinformation: Die Printer forwarding queue" und die Prefilter-Warteschlange" können nicht zu einer einzigen Warteschlange zusammengefasst werden, denn der Drucker- daemon lpd (aus dem Paket lprold) ignoriert bei entfernten Druckwarteschlan- gen Filterangaben in der /etc/printcap ­ also ist für die Vorfilterung eine eigene Warteschlange nötig. 240 9.8 Etwas über Ghostscript 9.8 Etwas über Ghostscript Wenn Sie nicht gerade Besitzer eines PostScript-Druckers sind, ist Ghostscript die populäre Wahl für das eigentliche Filtern der Druckaufträge. Ghostscript akzeptiert PostScript-Dateien als Eingabe und beinhaltet zur Konvertierung in druckerspezifische Formate eine Vielzahl von Druckertreibern". Ghostscript ist jedoch viel mehr als nur eine Sammlung nützlicher Druckertreiber ­ Ghostscript kann auch PostScript-Dateien für die Bildschirmausgabe vorbereiten (für gv) oder nach PDF umwandeln. Ghostscript ist ein sehr umfangreiches Programm mit zahlreichen Komman- dozeilenoptionen; beschrieben ist Ghostscript in file:/usr/share/doc/ packages/ghostscript/doc/Use.htm. Ein Direktaufruf von Ghostscript startet nach Abarbeitung der Kommandozeile einen Dialog mit eigener Einga- beaufforderung GS>, der mit dem Befehl quit beendet wird. Der Hilfe-Befehl tux@erde: > gs -h | less listet die nötigsten Optionen auf und gibt die Versionsnummer des Programms sowie die aktuelle Liste der unterstützten Geräte aus; dabei erscheint auch als all- gemeine Angabe uniprint ­ die Parameterdateien für uniprint sind in file: /usr/share/doc/packages/ghostscript/catalog.devices aufgezählt. 9.8.1 Beispiele für die Arbeit mit Ghostscript In file:/usr/share/doc/packages/ghostscript/examples finden Sie etliche PostScript-Dateien. file:/usr/share/doc/packages/ghostscript/examples/colorcir.ps eignet sich für einen Druckertest. Unter X, der graphischen Oberfläche, können Sie eine PostScript-Datei mit dem Befehl gs am Bildschirm anzeigen lassen: tux@erde: > gs /usr/share/doc/packages/ghostscript/examples/colorcir.ps Zum Beenden drücken Sie in dem Terminalfenster, von dem aus Sie gs aufgeru- § ¤ § ¤ fen haben, ¦Strg ¥+ ¦c ¥. Die Umwandlung einer PostScript-Datei in das druckerspezifische Format für einen PCL 5- oder PCL 6-Drucker geschieht z. B. mit dem Befehl tux@erde: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=ljet4 -r300x300 \ /usr/share/doc/packages/ghostscript/colorcir.ps quit.ps wobei der Befehl in einer einzigen Zeile einzugeben und der Rückstrich (`\') zu unterdrücken ist. Weiterhin wird vorausgesetzt, dass die Datei /tmp/out.prn noch nicht existiert. Die Umwandlung einer PostScript-Datei in das druckerspezifische Format für einen PCL-3-Drucker geschieht z. B. mit einem der folgenden Befehle: tux@erde: > 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 241 9 Druckerbetrieb tux@erde: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=cdjmono -r300x300 \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@erde: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=cdj500 -r300x300 \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@erde: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ -sDEVICE=cdj550 -r300x300 \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps (Jeder Befehl ist ohne `\' in einer einzigen Zeile einzugeben.) Die Umwandlung einer PostScript-Datei in das druckerspezifische Format für einen ESC/P2- oder ESC/P- oder ESC/P-Raster-Drucker geschieht z. B. mit ei- nem der folgenden Befehle: tux@erde: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ @stcany.upp \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@erde: > 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 Hier sieht man den Unterschied im Aufruf bei Verwendung einer Parameterda- tei für den uniprint-Treiber und bei einem der anderen Ghostscript-Treiber. Da alle treiberspezifischen Parameter in der uniprint Parameterdatei stehen, sind keine weiteren treiberspezifischen Parameter anzugeben im Gegensatz zu den anderen Ghostscript-Treibern. Nach jedem der obigen Befehle stehen die druckerspezifischen Daten in /tmp/ out.prn, die nun mit folgendem Befehl von `root' direkt an den Drucker geschickt wird tux@erde: > cat /tmp/out.prn >/dev/lp0 sofern der Drucker an der ersten parallelen Schnittstelle /dev/lp0 angeschlos- sen ist. Soll eine ASCII-Textdatei mit Ghostscript gedruckt werden, so ist diese zuerst mit tux@erde: > a2ps -1 --medium=A4dj --output=/tmp/out.ps textdatei in das PostScript-Format umzuwandeln und dann mit tux@erde: > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn \ \ /tmp/out.ps quit.ps in das druckerspezifische Format umzuwandeln, welches dann als `root' mit tux@erde: > cat /tmp/out.prn >/dev/lp0 an den Drucker geschickt wird. Auf der Ghostscript-Homepage, können Sie sich über den neuesten Stand der Dinge bei Ghostscript (Versionen, Druckerunterstützung usw.) informieren. Sie ist zu finden unter der URL http://www.cs.wisc.edu/~ghost/. 242 9.9 Beispiele für eigene Druckerfilter 9.9 Beispiele für eigene Druckerfilter 9.9.1 Vorbemerkungen Das Anliegen dieses Abschnitts ist nicht, eine Alternative zum apsfilter vorzu- stellen, sondern es geht darum, an Hand eines einfachen Beispiels eines selbs- terstellten Druckerfilters die Hintergründe beim Drucken unter Linux zu erklä- ren. Natürlich ist damit dann auch die Möglichkeit gegeben, für Spezialfälle ei- ne zusätzliche Druckerwarteschlange mit eigenem Druckerfilter zu verwenden, wenn der apsfilter für diesen Spezialfall nicht sinnvoll konfigurierbar ist. Das hier angegebene Beispiel ist so einfach wie möglich gehalten, um die wesentlichen Schritte deutlich zu machen. Deswegen wurde z. B. auch auf Fehlerkorrektur- maßnahmen in dem Filter-Skript verzichtet. Im Folgenden wird davon ausgegangen, dass der Drucker an der ersten paralle- len Schnittstelle /dev/lp0 angeschlossen ist. Ist der Drucker an einer anderen Schnittstelle am Rechner angeschlossen, ist statt /dev/lp0 das Device der an- deren Schnittstelle zu nehmen (vgl. Abschnitt 9.2 auf Seite 220). Ein Druckerfilter erhält vom Druckerspooler die zu druckenden Daten über die Standardeingabe. Der Druckerfilter hat diese Daten in das druckerspezifische Format umzuwandeln und dann über die Standardausgabe auszugeben. Der Dru- ckerspooler sorgt dafür, dass alles, was der Druckerfilter über die Standardausga- be ausgibt, beim Druckerdevice /dev/lp0 ankommt. Der Kernel wiederum lei- tet alles, was beim Druckerdevice ankommt, an die dazu definierte Schnittstelle (z. B. an die IO-Adresse 0x378) weiter. Die Hardware sorgt dafür, dass alles was z. B. an die IO-Adresse 0x378 geschickt wird, über das parallele Anschlusskabel an den Drucker gesendet wird. Der Drucker interpretiert diesen Datenstrom und druckt dementsprechend. Die folgenden Befehle können normalerweise nur als Benutzer `root' ausge- führt werden, denn normale Benutzer dürfen nicht direkt auf das Druckerdevice zugreifen, es sei denn der Benutzer `root' hat mit dem Befehl erde: # chmod a=rw /dev/lp0 allen Benutzern erlaubt, direkt auf das Druckerdevice zuzugreifen. Befehle werden z. B. wie folgt angegeben: erde: # cat ASCII-Textdatei >/dev/lp0 Dabei muss ASCII-Textdatei durch den Namen einer existierenden ASCII- Textdatei ersetzen werden. Auch sonst sollte klar sein, was zeichengenau zu übernehmen ist und was nur Platzhalter sind. 9.9.2 Ein einfaches Beispiel zur grundsätzlichen Arbeitsweise Durch den Befehl erde: # echo -en "\rhello\r\f" >/dev/lp0 wird keinerlei Druckerspooler oder Druckerfilter aktiv, denn es wird das Drucker- device /dev/lp0 direkt angesprochen. Dadurch werden nur die ASCII-Zeichen 243 9 Druckerbetrieb `\r', `h', `e', `l', `l', `o', `\r' und `\f' direkt an den Drucker ge- schickt. Die Zeichen `\r' und `\f' stehen dabei für das Carriage-Return- und Form-Feed-ASCII-Zeichen; diese lösen einen Wagenrücklauf" und einen Sei- tenvorschub beim Drucker aus. Sofern der Drucker ASCII-Zeichen direkt dru- cken kann, druckt er das Wort hello und schiebt die Seite heraus. Mit erde: # cat ASCII-Textdatei >/dev/lp0 wird auch keinerlei Druckerspooler oder Druckerfilter aktiv, denn es wird das Druckerdevice /dev/lp0 direkt angesprochen. Es werden die ASCII-Zeichen aus der ASCII-Textdatei direkt an den Drucker geschickt. Unter Linux werden zwei ASCII-Textzeilen nur durch ein LineFeed-ASCII-Zei- chen (Zeilenvorschub) getrennt. Unter DOS/Windows werden zwei ASCII-Text- zeilen durch ein LineFeed-ASCII-Zeichen und ein CarriageReturn-ASCII-Zeichen (Wagenrücklauf) getrennt. Schickt man mit obigem Befehl eine ASCII-Textdatei direkt an den Drucker, so erscheint normalerweise folgendes Druckbild Erste ZeileZweite ZeileDritte Zeile... denn der Drucker macht nur einen Zeilenvorschub aber keinen Wagenrücklauf (Rücklauf des Druckkopfes), da kein CarriageReturn-ASCII-Zeichen gesendet wurde. Man kann aber den Drucker so umstellen, dass er bei einem LineFeed-ASCII- Zeichen einen Zeilenvorschub und einen Wagenrücklauf macht. Bei Druckern, die die Druckersprache PCL 3 verstehen, wird mit der Escape- Sequenz \033&k2G der Drucker so eingestellt, dass er bei einem LineFeed- ASCII-Zeichen einen Zeilenvorschub und einen Wagenrücklauf macht. Mit erde: # echo -en "\033&k2G" >/dev/lp0 wird die Escape-Sequenz an den Drucker gesendet und anschließend wird mit erde: # cat ASCII-Textdatei >/dev/lp0 die ASCII-Textdatei mit korrektem Zeilenumbruch ausgedruckt. Evtl. ist danach noch erde: # echo -en "\f" >/dev/lp0 nötig, um die letzte Seite aus dem Drucker herauszuschieben. Allerdings werden die Umlaute meist nicht korrekt gedruckt, denn unter DOS/Win- dows sind die Umlaute anders als unter Linux codiert und der Drucker ist nor- malerweise für DOS/Windows voreingestellt. Mit erde: # cp ASCII-Textdatei ASCII-Textdatei.ibmpc erde: # recode lat1..ibmpc ASCII-Textdatei.ibmpc wird die ASCII-Textdatei zunächst nach ASCII-Textdatei.ibmpc kopiert und dann wird ASCII-Textdatei.ibmpc gemäß DOS/Windows neu codiert. Mit 244 9.9 Beispiele für eigene Druckerfilter erde: # cat ASCII-Textdatei.ibmpc >/dev/lp0 sollten sowohl Zeilenumbruch als auch Umlaute korrekt gedruckt werden. Da in ASCII-Textdatei.ibmpc sowohl Zeilenumbruch als auch Umlaute gemäß DOS/Win- dows codiert sind, ist nun auch keine spezielle Escape-Sequenz nötig, um das passende Zeilenumbruchverhalten beim Drucker einzustellen. Also sollte mit erde: # cp ASCII-Textdatei ASCII-Textdatei.ibmpc erde: # recode lat1..ibmpc ASCII-Textdatei.ibmpc erde: # cat ASCII-Textdatei.ibmpc >/dev/lp0 jede ASCII-Textdatei auf jedem Drucker, der ASCII-Text drucken kann, korrekt ausgegeben werden. Wenn das funktioniert, ist es naheliegend, einen Druckerfilter zu erstellen, der genau diese Umwandlung der ASCII-Textdatei in das druckerspezifische Format automatisch erledigt. Zuerst wird analog zu /var/lib/apsfilter ein Unterverzeichnis für den ei- genen Druckerfilter angelegt und in dieses Unterverzeichnis gewechselt (als Be- nutzer `root'): erde: # mkdir /var/lib/myprinterfilter erde: # cd /var/lib/myprinterfilter Erstellen Sie ein Bash-Script (als ASCII-Textdatei) mit dem Namen asciifilter, wie in Datei 9.9.1 aufgelistet. #! /bin/bash # make a temporary file INPUT="$(mktemp /tmp/asciifilter.$$.XXXXXX)" # First store everything from stdin in $INPUT # to have the input as a regular file cat > $INPUT # Recode the INPUT recode lat1..ibmpc $INPUT # Add a FormFeed at the end of $INPUT # to get the last page out of the printer echo -en "\f" >> $INPUT # Send $INPUT to stdout cat $INPUT # Remove the INPUT file rm $INPUT Datei 9.9.1: /var/lib/myprinterfilter/asciifilter Machen Sie dieses Bash-Script für jeden Benutzer les- und ausführbar mit erde: # chmod a+rx /var/lib/myprinterfilter/asciifilter 245 9 Druckerbetrieb Legen Sie mit lprsetup eine zusätzliche Druckerwarteschlange an. Wählen Sie irgendeinen Ghostscript-Treiber, den Sie sonst nicht verwenden. Auflösung und Papiergröße sind nicht relevant. Wählen Sie `MONO'. Aber bei `SPECIAL Settings for your printer' geben Sie bei `NAME Optional name for the queue' als Name af ein, was für asciifilter stehen soll, sofern Sie noch kei- ne Druckerwarteschlange mit dem Namen af haben. Es werden dann folgende Warteschlangen durch lprsetup angelegt: af-ascii , af und af-raw . Im Folgenden wird nur die Warteschlange af verwendet. Die Warteschlangen af-ascii und af-raw sind eigentlich überflüssig, und können wahrscheinlich nicht verwendet werden, da vermutlich der gewählte Ghostscript-Treiber nicht für den angeschlossenen Drucker funktionieren wird. In /etc/printcap findet sich nun auch der Eintrag wie in Datei 9.9.2 (gekürzt). af... :if=/var/lib/apsfilter/bin/...-af:\ :la@:mx#0:\ :tr=:cl:sh: Datei 9.9.2: /etc/printcap: eigener Filter Stoppen Sie den Druckerspooler mit erde: # rclpd stop und ändern Sie bei obigem Eintrag in /etc/printcap nur die Zeile :if=/var/lib/apsfilter/bin/...-af:\ in :if=/var/lib/myprinterfilter/asciifilter:\ und starten Sie nach dem Abspeichern von /etc/printcap den Druckerspooler wieder mit erde: # rclpd start und nun sollte jeder Benutzer mit erde: # lpr -Paf ASCII-Textdatei über die neue Warteschlange af drucken können. Diese neue Warteschlange macht eigentlich nichts anderes als der apsfilter, so- fern Sie in einer apsfilterrc-Datei USE_RECODE_NOT_A2PS="yes" setzen. Um grundsätzlich zu verhindern, dass über die überflüssigen Warteschlangen af-ascii und af-raw ungewollt Daten zum Drucker geschickt werden, sollte in /etc/printcap bei diesen Warteschlangen jeweils die Zeile :lp=/dev/lp0:\ in :lp=/dev/null:\ geändert werden. 246 9.9 Beispiele für eigene Druckerfilter 9.9.3 Ein etwas komplexeres Beispiel Anliegen Der vorhandene Treiber ist kein Ghostscript-Treiber. In diesem Fall muss man eventuell einen eigenen Druckerfilter erstellen; zwei Varianten sind zu unter- scheiden: 1. Es gibt keinen Ghostscript-Treiber für den Drucker (z. B. weil der Drucker ein GDI"-Gerät ist). 2. Ein Ghostscript-Treiber ist für den Drucker zwar vorhanden, aber es gibt zusätzlich einen Nicht-Ghostscript-Treiber, der bessere Druckergebnisse er- möglicht (z. B. einen auf das spezelle Druckermodell optimierten Treiber). Solche Treiber werden normalerweise als Zusatz zu Ghostscript verwendet, in- dem das eigentliche Treiberprogramm spezielle Ausgaben von Ghostscript in das druckerspezifische Format konvertiert. Da dies die komplizierterste Situation ist, kann an Hand dieses Beispiels spä- ter auch für jeden anderen Drucker bei Bedarf ein eigener Druckerfilter erstellt werden. Voraussetzung Es wird vorausgesetzt, dass ein zur vorliegenden Version SuSE Linux passender Treiber für den Drucker vorhanden ist bzw. aus dem Internet heruntergeladen werden kann und dass Sie im Umgang mit Unix-Quellen (z. B. mit .zip- oder .tar.gz-Archiven oder .rpm-Paketen) vertraut sind; vgl. auch Abschnitt 12.3 auf Seite 310. Nach dem Entpacken eines solchen Archivs gibt es normalweise aktuelle Installationshinweise in Dateien namens README oder INSTALL oder in einem Unterzeichnis namens doc. Hintergrund-Informationen Bei .tar.gz-Archiven ist das eigentliche Treiberprogramm in der Regel zu compilieren und zu installieren. Im Folgenden wird angenommen, dass das ei- gentliche Treiberprogramm als /usr/local/bin/printerdriver installiert wird. Normalerweise macht das eigentliche Treiberprogramm nichts anderes, als spe- zielle Ausgaben von Ghostscript in das druckerspezifische Format zu konvertie- ren (vgl. Abschnitt 9.8 auf Seite 241). Dazu wird Ghostscript z. B. mit einem der folgenden Ghostscript-Treiber und einer Auflösung von 600 dpi aufgerufen: -sDEVICE=pbmraw -r600x600 -sDEVICE=pnmraw -r600x600 247 9 Druckerbetrieb Welcher Ghostscript-Treiber und welche Auflösung tatsächlich zu nehmen ist, muss in der Dokumentation zum Treiberprogramm angegeben sein. Die Eingabe von Ghostscript kommt bei einem Druckerfilter nicht direkt von der zu druckenden Datei, sondern über die Standardeingabe. Dazu muss im Ghostscript- Aufruf statt des Dateinamens ein einzelnes - stehen. Damit die Ausgabe von Ghostscript an das eigentliche Treiberprogramm weitergegeben werden kann, wird der Ghostscript-Parameter -sOutputFile=- benötigt. Die Ausgabe von Ghostscript wird über eine Pipe an das Treiberprogramm wei- tergeleitet: | /usr/local/bin/printerdriver Parameter Welche Parameter für das Treiberprogramm nötig sind, muss in der Dokumenta- tion zum Treiberprogramm angegeben sein. Insgesamt ergibt sich folgender Aufruf gs -q -dNOPAUSE -dSAFER -sOutputFile=- \ -sDEVICE= -r \ - quit.ps \ | /usr/local/bin/printerdriver Für , (Auflösung), /usr/local/bin/printerdriver und sind die passenden Werte gemäß der Dokumentation zum Treiberprogramm einzusetzen. Für einen Drucker, der von Ghostscript direkt unterstützt wird, vereinfacht sich dieser Aufruf zu gs -q -dNOPAUSE -dSAFER -sOutputFile=- \ -sDEVICE= -r \ \ - quit.ps wobei , (Auflösung) und eventuell (treiberspezifische Ghostscript-Parameter, optional) entsprechend einzusetzen sind (vgl. Abschnitt 9.8 auf Seite 241). Da Ghostscript als Eingabe die Daten im PostScript-Format erwartet, müssen vor dem Ghostscript-Aufruf die zu druckenden Daten in das PostScript-Format konvertiert werden, falls diese noch nicht im PostScript-Format vorliegen. Normalerweise genügt es, sich auf die Umwandlung von ASCII-Text nach Post- Script zu beschränken, denn Anwendungsprogramme liefern entweder gleich PostScript (z. B. Netscape und StarOffice) oder nur ASCII-Text (z. B. Editoren). Um das Format der zu druckenden Daten zu bestimmen, wird das Kommando file verwendet. ASCII-Text wird mit a2ps nach PostScript umgewandelt. Zu den mannigfaltigen Möglichkeiten dieses Tools siehe die Manual-Page von a2ps (man a2ps). Installation und Anwendung Legen Sie ein Verzeichnis /var/lib/myprinterfilter an ­ sofern es nicht schon existiert ­ und wechseln Sie in dies Verzeichnis. 248 9.9 Beispiele für eigene Druckerfilter Erstellen Sie ein Bash-Script mit dem Namen printerfilter (vgl. Datei 9.9.3 auf der nächsten Seite). Sie können alles zeichengenau übernehmen, nur die Variablen GSDEVICE und DRIVER sind gemäß Ihrem Drucker anzupassen ­ d. h. dort sind für device, resolution, /usr/local/bin/printerdriver und parameter die pas- senden Werte einzutragen. Für einen von Ghostscript unterstützen Drucker tragen Sie ein: DRIVER='cat -' Für einen PostScript-Drucker, der zudem kein Ghostscript benötigt: GS='cat -' DRIVER='cat -' Die Variablen A2PSLAYOUT und A2PSENCODING können Sie gemäß Ihrer Wün- sche anpassen; vgl. Manual-Page von a2ps (man a2ps). Machen Sie dieses Bash-Skript für jeden Benutzer ausführbar und legen Sie mit lprsetup eine Druckerwarteschlange an. Gehen Sie dabei analog zum Ab- schnitt 9.9.2 auf Seite 243 vor. Falls der Druckerfilter nicht wie gewünscht arbeitet, kann eine Logdatei, in die geschrieben wird, was während der Abarbeitung eines Druckauftrages durch den Druckerfilter passiert, bei der Fehlersuche helfen. Gehen Sie dazu analog zum Abschnitt 9.6.3 auf Seite 236 vor. 249 9 Druckerbetrieb #! /bin/bash # For debugging see for stderr in /var/spool/.../log #set -x # Define the program calls for the filter pipes # The a2ps call A2PSLAYOUT="-1 --center-title= --borders=yes" A2PSENCODING='--encoding=ISO-8859-1' A2PS="a2ps $A2PSLAYOUT $A2PSENCODING --output=-" # The gs call # in GSDEVICE Ghostscript device and parameters have to be set GSDEVICE='-sDEVICE=Device -rResolution' GS="gs -q -dNOPAUSE -dSAFER -sOutputFile=- $GSDEVICE - quit.ps" # The call for an optional printerdriver DRIVER='/usr/local/bin/printerdriver Parameter' # make a temporary file INPUT="$(mktemp /tmp/printerfilter.$$.XXXXXX)" # First store everything from stdin in $INPUT # to have the input as a regular file cat > $INPUT # Determine the FILETYPE of the data in $INPUT FILESTRING=$(file $INPUT | tr 'A-Z' 'a-z') case "$FILESTRING" in *postscript*) FILETYPE=postscript ;; *ascii*|*text*|*english*|*script*) FILETYPE=ascii ;; *) FILETYPE=unknown ;; esac # Do the filter pipe according to the FILETYPE case "$FILETYPE" in postscript) cat $INPUT | eval $GS | eval $DRIVER ;; ascii) cat $INPUT | eval $A2PS | eval $GS | eval $DRIVER ;; unknown) echo "Unknown filetype: $FILESTRING" \ | mailx -s "printerfilter" root ;; esac # Remove the INPUT file rm $INPUT Datei 9.9.3: Komplexer Druckerfilter 250 10 Der Kernel 10 Der Kernel Der Kernel, der während der Installation möglicherweise auf die Diskette ge- schrieben wird ­ und auch im installierten System im /boot-Verzeichnis zu fin- den ist ­, ist so konfiguriert, dass er ein möglichst breites Spektrum von Hardwa- re unterstützt. Wenn Sie während der Installation oder des Updates die richtige Auswahl getroffen haben, ist dieser Kernel sogar für Ihren Prozessor speziell op- timiert. Deshalb ist es keineswegs zwingend erforderlich, einen eigenen Kernel zu generieren. Sollten Sie jedoch experimentelle" Features oder Treiber aus- probieren wollen, so ist das Selberbauen" des Kernels mitunter notwendig. Und nicht zuletzt gestattet das Konfigurieren des Kernels einen höchst interessanten Einblick in den gegenwärtigen Stand der Entwicklung. Zum Erzeugen eines neuen Kernels existieren bereits Makefiles für den C- Compiler, mit deren Hilfe der Ablauf fast völlig automatisiert ist. Lediglich die Abfrage der vom Kernel zu unterstützenden Hardware muss interaktiv durchlau- fen werden. Für das Kompilieren eines eigenen Kernels kann kein Installationssupport in An- spruch genommen werden; wir sind aber gern bereit, im Rahmen der kosten- pflichtigen Professional Services zu helfen. Hinweis Die folgende Beschreibung betrifft im Wesentlichen die Kernel der Serie 2.4.x und 2.2.x. Viele Dinge treffen zwar auch noch auf die Kernel der Serie 2.0.x zu ­ im Detail ist jedoch oftmals mit kleinen, aber entscheidenden Abweichungen zu rechnen! 10.1 Die Kernelquellen Um einen Kernel bauen zu können ist es selbstverständlich notwendig, dass so- wohl die Kernelquellen (Paket kernel-source) als auch wenigstens der C- Compiler (Paket gcc), die GNU Binutils (Paket binutils) und die Include- Dateien für den C-Compiler (Paket glibc-devel) installiert sind. Diese Pakete sind in der Serie D (Development) enthalten. Generell ist die Installation des C-Compilers dringend anzuraten, da die Programmiersprache C untrennbar mit dem Betriebssystem Linux verbunden ist. Die Kernelquellen befinden sich im Verzeichnis /usr/src/linux. Sollten Sie vorhaben, am Kernel herum zu experimentieren und verschiedene Versionen des Kernels gleichzeitig auf der Platte zu haben, so bietet es sich an, die einzelnen 251 10 Der Kernel Versionen in verschiedene Unterverzeichnisse zu entpacken und die augenblick- lich relevanten Quellen über einen Link anzusprechen. Diese Form der Installa- tion wird von YaST automatisch vorgenommen. Genau genommen können die Kernelquellen in einem beliebigen Unterverzeich- nis installiert und übersetzt werden. Da es jedoch eine ganze Reihe von Soft- ware gibt, die die Kernelquellen unter /usr/src/linux erwartet, sollte dieses Verzeichnis gewählt werden, um ein fehlerfreies Compilieren systemnaher Pro- gramme zu gewährleisten. 10.2 Kernel-Module Viele Treiber und Features des Linux-Kernels müssen nicht fest zum Kernel hinzugebunden werden, sondern können zur Laufzeit als Kernel-Modul (engl. kernel module) geladen werden. Welche Treiber fest zum Kernel gebunden und welche als Module realisiert werden, wird bei der Konfiguration des Kernels festgelegt. Die Kernelmodule werden in dem Verzeichnis /lib/modules/ abgelegt, wobei der momentanen Version des Kernels entspricht (beispielsweise 2.4.9). Nach Möglichkeit sollten Sie von diesem Feature Gebrauch machen. Die Grund- regel ist: Alle Kernel-Komponenten, die nicht zwingend während des Bootvor- gangs benötigt werden, sind als Modul zu realisieren. So wird sichergestellt, dass der Kernel nicht zu groß wird und dass der Kernel ohne Schwierigkeiten vom BIOS und einem beliebigen Bootloader geladen werden kann. Der Festplatten- Treiber, Unterstützung für ext2 und ähnliche Dinge sind also im Regelfall di- rekt in den Kernel hineinzucompilieren, Unterstützung für isofs, msdos oder sound sollten in jedem Fall als Modul compiliert werden. Umgang mit Modulen Folgende Befehle zum Umgang mit Modulen stehen zur Verfügung: * insmod Mit dem Befehl insmod wird das angegebene Modul geladen. Das Modul wird in einem Unterverzeichnis von /lib/modules/ gesucht. Zugunsten von modprobe (s. u.) sollte insmod nicht mehr verwendet wer- den. * rmmod Entlädt das angegebene Modul. Dies ist natürlich nur dann möglich, wenn die entsprechende Funktionalität des Kernels nicht mehr verwendet wird. So ist es nicht möglich, das Modul isofs zu entladen, wenn noch eine CD gemountet ist. 252 10.2 Kernel-Module * depmod Dieser Befehl erzeugt eine Datei mit dem Namen modules.dep im Ver- zeichnis /lib/modules/, in der die Abhängigkeiten der ein- zelnen Module untereinander verzeichnet sind. Damit stellt man sicher, dass beim Laden eines Modules alle davon abhängigen Module ebenfalls auto- matisch geladen werden. Ist das Starten des Kernel-Daemons in /etc/rc. config vorgesehen, wird die Datei mit den Modul-Abhängigkeiten beim Start des Systems automatisch generiert, sofern sie noch nicht existiert. * modprobe Laden bzw. Entladen eines Modules mit Berücksichtigung der Abhängig- keiten von anderen Modulen. Dieser Befehl ist sehr mächtig und kann für eine Reihe weiterer Zwecke eingesetzt werden (etwa Durchprobieren aller Module eines bestimmten Typs, bis eines erfolgreich geladen werden kann). Im Gegensatz zum Laden mittels insmod wertet modprobe die Datei /etc/ modules.conf aus und sollte daher generell zum Laden von Modulen ver- wendet werden. Für eine ausführliche Erklärung sämtlicher Möglichkeiten lesen Sie bitte die zugehörigen Manual-Pages. * lsmod Zeigt an, welche Module gegenwärtig geladen sind und von wie vielen ande- ren Modulen sie verwendet werden. Module, die vom Kernel-Daemon gela- den wurden, sind durch ein nachfolgendes autoclean gekennzeichnet. Die Kennzeichnung mit autoclean weist darauf hin, dass diese Module auto- matisch wieder entfernt werden, wenn sie längere Zeit nicht benutzt wur- den und man entsprechende Vorkehrungen getroffen hat; vgl. jedoch auf der nächsten Seite. /etc/modules.conf Das Laden von Modulen wird über die Datei /etc/modules.conf beeinflusst; vgl. Manual-Page von depmod (man depmod). Hinweis: Der Dateiname wurde ab SuSE Linux 6.3 von /etc/conf.modules in /etc/modules.conf umbenannt. Insbesondere können in dieser Datei die Parameter für solche Module eingetra- gen werden, die direkt auf die Hardware zugreifen und daher auf das spezifi- sche System eingestellt werden müssen (z. B. CD-ROM-Treiber oder Netzwerk- treiber). Die hier eingetragenen Parameter sind im Prinzip identisch mit denen, die am Bootprompt des Kernels (z. B. von LILO ) übergeben werden (siehe Ab- schnitt 11.3.2 auf Seite 262), jedoch weichen in vielen Fällen die Namen von denen ab, die am Bootprompt zum Einsatz kommen (siehe zum Vergleich Ab- schnitt 11.3.4 auf Seite 275). Wenn das Laden eines Moduls nicht erfolgreich ist, versuchen Sie, in dieser Datei die Hardware zu spezifizieren und verwenden Sie zum Laden des Moduls modprobe anstelle von insmod. 253 10 Der Kernel Kmod ­ der Kernel Module Loader" Der eleganteste Weg bei der Verwendung von Kernel-Modulen ist seit Version 2.2.x der Einsatz des Kernel Module Loader", der den alten" Kernel-Daemon (kerneld) ersetzt. Kmod wacht im Hintergrund und sorgt dafür, dass benötigte Module durch modprobe-Aufrufe automatisch geladen werden, sobald auf die entsprechende Funktionalität des Kernels zugegriffen wird. Um den Kmod verwenden zu können, müssen Sie bei der Kernel-Konfiguration die Option `Kernel module loader' (CONFIG_KMOD) aktivieren. Treiber, die benötigt werden, um auf das Root-Dateisystem zuzugreifen, soll- ten fest zum Kernel hinzugebunden werden. Sie sollten also Ihren SCSI-Treiber und das Dateisystem der Root-Partition (üblicherweise ext2) nicht als Modul konfigurieren! Achtung Da SuSE Linux initrd (engl. initial ramdisk) verwendet und über diesen Weg beispielsweise den SCSI-Treiber einbindet, müssen Sie bei der Erstel- lung eines eigenen Kernels darauf achten, die Variable INITRD_MODULES in der Datei /etc/rc.config anzupassen (Abschnitt 14.6 auf Seite 348) und die initrd-Zeile in /etc/lilo.conf auszukommentieren (vgl. Ab- schnitt 13.4.5 auf Seite 324). ­ Wenn Sie dies nicht tun, wird der Kernel beim Booten hängen bleiben! Der Einsatz von Kernel-Modulen bietet sich vor allem für unregelmäßig oder sel- ten benutzte Funktionalitäten an, wie z. B. parport- und Drucker-Unterstützung, Treiber für Disketten- oder ZIP-Laufwerke sowie für bestimmte Dateisysteme, die Sie nur sporadisch verwenden wollen. Der Kmod ist nicht dafür ausgelegt, Module wieder automatisch zu entladen; bei der heutigen RAM-Ausstattung der Rechner wäre der Gewinn an Arbeitsspei- cher nur marginal; vgl. auch /usr/src/linux/Documentation/kmod.txt. Server-Maschinen, die spezielle Aufgaben zu erfüllen haben und nur wenige Treiber benötigen, werden aus Performance-Gründen einen monolithischen" Kernel bevorzugen. 10.3 Konfiguration des Kernels Die Konfiguration des während der Installation oder während des Updates einge- richteten Kernel ist der Datei /usr/src/linux/.config zu entnehmen (vgl. Abschnitt 2.1.8 auf Seite 19). Die Konfiguration des Kernels kann man auf drei verschiedene Arten vorneh- men: 1. In der Kommandozeile 2. Im Menü im Textmodus 254 10.3 Konfiguration des Kernels 3. Im Menü unter dem X Window System Diese drei Wege werden im Folgenden kurz vorgestellt. Tipp Soll eine bereits vorhandene .config übernommen werden, ist es nur erforderlich, make oldconfig aufzurufen und fortzufahren wie in Ab- schnitt 10.5 auf der nächsten Seite beschrieben. Kommandozeilenkonfiguration Um den Kernel zu konfigurieren, wechseln Sie nach /usr/src/linux und ge- ben folgenden Befehl ein: erde:/usr/src/linux # make config Sie werden nach einer Reihe von Systemfähigkeiten gefragt, die der Kernel un- terstützen soll. Bei der Beantwortung der Fragen gibt es normalerweise zwei § ¤ § ¤ oder drei Möglichkeiten: Entweder einfaches § ¤ § ¤ § ¦y ¤ ¥und ¦n ¥ , oder eine der drei Mög- lichkeiten ¦y ¥(engl. yes), ¦n ¥(engl. no) und ¦m ¥(engl. module). `m' bedeutet hier- bei, dass der entsprechende Treiber nicht fest zum Kernel hinzugebunden wird, sondern vielmehr als Modul übersetzt wird, das zur Laufzeit zum Kernel hin- zugeladen werden kann. Es versteht sich, dass sämtliche Treiber, die Sie zum Booten des Systems unbedingt benötigen, fest zum Kernel hinzugebunden wer- § ¤ den müssen; in diesen Fällen also ¦y ¥wählen. Wenn Sie bei einer Frage eine andere Taste drücken, erhalten Sie eine kurze Hilfestellung zu der jeweiligen Option angezeigt. Konfiguration im Textmodus Angenehmer lässt sich die Konfiguration des Kernels mit menuconfig" durch- führen; dies lässt sich mit dem Befehl erde:/usr/src/linux # make menuconfig aufrufen. Insbesondere müssen Sie sich bei einer geringfügigen Änderung der Konfiguration nicht durch zig Fragen durchtasten". Konfiguration unter dem X Window System Haben Sie das X Window System (Paket xf86) sowie Tcl/Tk (Paket tcl und Paket tk) installiert, so können Sie die Konfiguration alternativ durch erde:/usr/src/linux # make xconfig vornehmen. Sie haben dann eine grafische Oberfläche, die das Konfigurieren komfortabler macht. Dazu müssen Sie das X Window System aber als Benut- zer `root' gestartet haben, da Sie andernfalls zusätzliche Maßnahmen treffen müssen, um Zugriff auf das Display eines anderen Benutzers zu erhalten. 255 10 Der Kernel 10.4 Einstellungen bei der Kernelkonfiguration Die einzelnen Konfigurationsmöglichkeiten des Kernels können hier nicht im Detail dargestellt werden.Machen Sie bitte Gebrauch von den zahlreich vorhan- denen Hilfetexten zur Kernel-Konfiguration. Der allerneueste Stand der Doku- mentation findet sich immer unter den Kernelquellen im Verzeichnis /usr/src/ linux/Documentation. 10.5 Übersetzen des Kernels Tipp Entfernen Sie ggf. im Haupt-Makefile (ca. Zeile 92) das Kommentarzei- chen vor export INSTALL_PATH=/boot, damit der eigene Kernel auf di- rektem Wege in /boot installiert werden kann. Wir empfehlen, ein bzImage" zu generieren. So lässt es sich in der Regel um- gehen, dass der Kernel zu groß" wird, wie dies leicht passieren kann, wenn man zu viele Features auswählt und ein zImage" herstellt (typisch sind dann die Meldungen "kernel too big" oder "System is too big"). Nachdem Sie den Kernel für Ihre Gegebenheiten konfiguriert haben, starten Sie die Kompilation: erde:/usr/src/linux # make dep erde:/usr/src/linux # make clean erde:/usr/src/linux # make bzImage Diese 3 Befehle können Sie auch in einer Befehlszeile eingeben. Sie werden dann hintereinander abgearbeitet. Dies birgt Vorteile in sich, wenn Sie die Kernel- Übersetzung automatisch, z. B. über Nacht", durchführen lassen wollen. Dazu geben Sie ein: erde:/usr/src/linux # make dep clean bzImage Je nach Leistung des Systems dauert es jetzt einige Minuten (schneller AMD Athlon / Intel Pentium III)1 bis zu einigen Stunden (bei 386ern mit 8 MB), bis der Kernel neu übersetzt ist. Während der Übersetzungsprozedur können Sie sich selbstverständlich auf einer anderen Konsole weiterhin mit dem System beschäf- tigen. Nach der erfolgreichen Übersetzung finden Sie den komprimierten Kernel in /usr/src/linux/arch/i386/boot. Das Kernel-Image ­ die Datei, die den Kernel enthält ­ heißt bzImage. Finden Sie diese Datei nicht vor, ist aller Wahr- scheinlichkeit nach ein Fehler während der Kernelübersetzung aufgetreten. Dies geht eventuell leicht in der Menge der Bildschirmausgaben unter. Ob ein Fehler aufgetreten ist, können Sie dadurch feststellen, dass Sie nochmals mit erde:/usr/src/linux # make bzImage 1Ein beliebter Test für Hard- und Software ist es, den Kernel mit der Option make -j zu übersetzen. Sie brauchen viel Hauptspeicher (bis über 100 MB) für diesen Test. Hierbei wird für jede zu übersetzende Quelldatei ein eigener Compiler gestartet. 256 10.6 Kernel installieren die Kernelübersetzung anstoßen und auf entsprechende Fehlermeldungen achten. Aber keine Angst: Fehler bei der Kernelübersetzung treten eher selten auf! Unter der Bash können Sie mit erde:/usr/src/linux # make bzImage 2>&1 | tee kernel.out die Ausgaben des Kompilationsvorgangs in die Datei kernel.out mitschrei- ben" lassen; unter der Tcsh lautet der Befehl: erde:/usr/src/linux # make bzImage |& tee kernel.out Wenn Sie Teile des Kernels als ladbare Module konfiguriert haben, müssen Sie anschließend das Übersetzen dieser Module veranlassen. Dies erreichen Sie durch erde:/usr/src/linux # make modules 10.6 Kernel installieren Nachdem Sie den Kernel übersetzt haben, müssen Sie dafür sorgen, dass die- ser neue Kernel installiert wird, um ihn künftig booten zu können. Wenn Sie den LILO verwenden, so muss dieser gleichfalls neu installiert werden. Im ein- fachsten Fall kopieren Sie dazu den neuen Kernel nach /boot/vmlinuz (vgl. Abschnitt 10.5 auf der vorherigen Seite) und rufen dann LILO auf; um sich vor unliebsamen Überraschungen zu schützen, empfiehlt es sich jedoch, den alten Kernel zunächst beizubehalten (/boot/vmlinuz.old), um ihn notfalls booten zu können, wenn der neue Kernel nicht wie erwartet funktioniert: erde:/usr/src/linux # cp /boot/vmlinuz /boot/vmlinuz.old erde:/usr/src/linux # cp arch/i386/boot/bzImage /boot/vmlinuz erde:/usr/src/linux # lilo Das Makefile-Target make bzlilo erledigt diese 3 Schritte übrigens in einem Rutsch. Die übersetzten Module müssen nun noch installiert werden; durch Eingabe von erde:/usr/src/linux # make modules_install können Sie diese in die korrekten Zielverzeichnisse unter /lib/modules/ kopieren lassen. Dabei werden die alten Module bei gleicher Ker- nelversion überschrieben; Sie können jedoch die ursprünglichen Module zusam- men mit dem Kernel von den CDs wieder installieren. Tipp Es ist darauf zu achten, dass Module, deren Funktionalität man jetzt eventuell direkt in den Kernel einkompiliert hat, unter /lib/modules/ entfernt werden. Sonst kann es zu unvorhersehbaren Effekten kommen! Dies ist ein Grund, weshalb dem Ungeübten vom selbstkompilie- ren des Kernels dringend abgeraten wird. Tragen Sie in Ihrer /etc/lilo.conf zusätzlich ein Label Linux.old als Boot- Image ein (vgl. Abschnitt 5.4.1 auf Seite 113) und benennen Sie den alten Kernel nach /boot/vmlinuz.old um. Sie stellen so sicher, dass Sie immer noch mit 257 10 Der Kernel dem vorherigen Kernel booten können, falls dies mit dem neu gebauten nicht funktionieren sollte. Diese Möglichkeit wird ausführlich im Kapitel 5 auf Sei- te 107 beschrieben. Haben Sie die Datei /etc/lilo.conf nach Ihren Wünschen angepasst, so müs- sen Sie erneut erde:/usr/src/linux # lilo aufrufen. Falls Sie Linux von DOS aus über linux.bat ­ also mit loadlin ­ starten, müssen Sie den neuen Kernel noch nach /dosc/loadlin/bzimage2 kopieren, damit er beim nächsten Booten wirksam werden kann. Falls Sie Linux über den Windows NT Bootmanager starten, dürfen Sie nun nicht vergessen, erneut den LILO-Bootsektor umzukopieren(vgl. Abschnitt 5.7.2 auf Seite 125). Weiterhin ist Folgendes zu beachten: Die Datei /boot/System.map enthält die Kernelsymbole, die die Kernelmodule benötigen, um Kernelfunktionen korrekt aufrufen zu können. Diese Datei ist abhängig vom aktuellen Kernel. Daher soll- ten Sie nach der Übersetzung und Installation des Kernels die aktuelle3 Datei /usr/src/linux/System.map in das Verzeichnis /boot kopieren. Falls Sie Ihren Kernel mittels make bzlilo bzw. make zlilo erstellen, wird diese Auf- gabe automatisch für Sie erledigt. Sollten Sie beim Booten eine Fehlermeldung wie "System.map does not match actual kernel" erhalten, dann wurde wahrscheinlich nach der Ker- nelübersetzung die Datei System.map nicht nach /boot kopiert. 10.7 Boot-Diskette erstellen Möchten Sie eine Boot-Diskette mit dem neuen Kernel erstellen, so können Sie einfach den folgenden Befehl verwenden: erde:/usr/src/linux # make bzdisk 10.8 Festplatte nach der Kernel-Übersetzung aufräumen Sie können die während der Kernel-Übersetzung erzeugten Objekt-Dateien lö- schen, falls Sie Probleme mit dem Plattenplatz haben: erde: # cd /usr/src/linux erde:/usr/src/linux # make clean Falls Sie jedoch über ausreichend Plattenplatz verfügen und vorhaben, den Ker- nel des Öfteren neu zu konfigurieren, so überspringen Sie diesen letzten Schritt. Ein erneutes Übersetzen des Kernels ist dann erheblich schneller, da nur die Tei- le des Systems neu übersetzt werden, die von den entsprechenden Änderungen betroffen sind. 2Bzw. dorthin, wohin Sie das Verzeichnis loadlin haben installieren lassen. 3Bei jeder Kernelübersetzung wird diese Datei neu erzeugt. 258 11 Kernel-Parameter 11 Kernel-Parameter 11.1 Treiber im Kernel Es gibt eine große Vielfalt an PC-Hardware-Komponenten. Um diese Hardware richtig benutzen zu können, braucht man einen Treiber", über den das Betriebs- system (bei Linux der Kernel") die Hardware richtig ansprechen kann. Generell gibt es zwei Mechanismen, Treiber in den Kernel zu integrieren: 1. Die Treiber können fest zum Kernel dazugebunden sein. Solche Kernel aus einem Stück" bezeichnen wir in diesem Buch auch als monolithische Kernel. Manche Treiber können nur in dieser Form verwendet werden. 2. Die Treiber können erst bei Bedarf in den Kernel geladen werden, der in diesem Fall als modularisierter Kernel bezeichnet wird. Das hat den Vor- teil, dass wirklich nur die benötigten Treiber geladen sind und dass der Ker- nel keinen unnötigen Ballast enthält. Der Kernel auf der SuSE-Bootdiskette beispielsweise arbeitet mit Modulen, er kann deshalb die meisten Hardware- konfigurationen bedienen. Unabhängig davon, ob die Treiber fest dazugebunden sind oder geladen werden, kann es dennoch vorkommen, dass eine Hardwarekomponente nicht selbststän- dig vom Kernel erkannt werden kann. In einem solchen Fall haben Sie die Mög- lichkeit, die betreffende Komponente durch Angabe von Parametern näher zu spezifizieren, wodurch dem Kernel auf die Sprünge geholfen" wird: * Sie geben dem Treiber Informationen, welche Hardware Sie genau haben und wie diese anzusprechen ist (z. B. Adressbereich, Interrupt oder ähnli- ches). Der Treiber kann das manchmal auch selbst herausfinden, es ist aber schneller und sicherer, wenn Sie es ihm direkt mitteilen. * In Problemfällen können Sie mit speziellen Kernelparametern eventuell doch noch erreichen, dass Ihr Linux-System läuft. Bei monolithischen Kernels müssen die Parameter am Bootprompt oder durch einen Bootloader übergeben werden ­ aus diesem Grunde werden die Parame- ter oftmals noch vereinfachend LILO-Parameter genannt, nach dem traditionsrei- chen Loader für x86er-Architekturen. Treiber in Modulform erhalten ihre Para- meter durch Argumente der Befehle insmod bzw. modprobe; dabei wird gleich- zeitig das Modul selbst geladen. Immer gilt: Sie müssen die Parameter jedes Mal beim Booten angeben, der Ker- nel lernt leider nichts dazu. Später, nach der Installation, können Kernelparame- ter in die Dateien /etc/lilo.conf bzw. /etc/modules.conf eingetragen 259 11 Kernel-Parameter werden, wodurch sie von LILO bzw. modprobe automatisch ausgewertet wer- den. Leider ist das Format, in dem die Parameter anzugeben sind, bei dazugebun- denen Treibern anders als bei Treibern, die als Modul geladen werden. Deshalb finden Sie die Parameter säuberlich getrennt weiter unten aufgelistet. Bei einigen wenigen Modulen (CD-ROM-Laufwerke) wurde die Parameterübergabe jedoch mittlerweile vereinheitlicht, sodass auch beim Laden eines Moduls die gleichen Parameter angegeben werden können wie am Bootprompt. Abbildung 11.1: Das Layout einer US-Tastatur Wenn Sie gerade gebootet haben, ist noch die amerikanische Tastaturbelegung § ¤ § ¤§ ¤ § ¤ am Bootprompt aktiv. Sie finden also das ¦= ¥auf der Taste ¦' ¥.¦z ¥und ¦y ¥sind vertauscht. Vergleichen Sie bitte die Abbildung 11.1. 11.2 Einige Tipps Bevor endlich die Listen mit den Parametern kommen, noch ein paar Tipps zur Hardwareerkennung der Treiber und zur Parameterangabe: * Die meisten Treiber können ein so genanntes autoprobing durchführen, ð, der Treiber probiert verschiedene unterschiedliche Adressen durch, an denen die entsprechende Hardwarekomponente üblicherweise liegt. Dabei kann es jedoch geschehen, dass ein Treiber auf eine Komponente stößt, für die er gar nicht zuständig ist, und er diese fälschlicherweise initialisiert. Dies kann dazu führen, dass der Rechner einfach stehen bleibt. * Auch kommt es gelegentlich vor, dass sich ein Modul erfolgreich laden lässt, obwohl die Hardware, für die es zuständig ist, gar nicht im Rechner vorhan- den ist (dies gilt vor allem für die 3 Com-Netzwerkkartentreiber). Dennoch sollten Sie der Einfachheit halber erst einmal das Autoprobing durch- führen lassen. Fehlerhaft geladene Treiber können Sie ohne weiteres wieder entfernen; bei nicht erkannter Hardware können Sie durch Angabe der Para- meter versuchen, dem Kernel die Konfiguration mitzuteilen, sodass er den- noch in die Lage versetzt wird, die Komponente korrekt anzusprechen. 260 11.3 Die Parameter * Schließlich gibt es einige Hardwarekomponenten, für die mehrere Treiber existieren (NCR 53C810, Ultrastor). Nach den uns vorliegenden Informa- tionen scheint keiner der beiden Ultrastor-Treiber einen besonderen Vorteil im Vergleich zum anderen zu haben. Der BSD-Treiber für den NCR53C810 unterstützt auch die anderen NCR53C8xx-Produkte (z. B. 53C875) während nur der alte NCR-Treiber CD-Writer unterstützt. Probieren Sie einfach aus, welcher Treiber Ihre Hardware zuverlässig erkennt. 11.3 Die Parameter 11.3.1 Notation und Bedeutung In den folgenden, alphabetisch geordneten Listen von Kernelparametern sind die einzelnen Geräte bzw. ihre Treiber zusammen mit den möglichen bzw. notwen- digen Aufruf-Parametern angegeben. Dabei tauchen folgende Parameter immer in der gleichen Bedeutung auf: hexadezimale Portangabe, (z. B. 0x300) Interrupt, unter dem das Gerät angesprochen wird (z. B. 7) DMA-Kanal, über den das Gerät kommuniziert (z. B. 1) , hexadezimaler Speicherbereich für shared memory Tabelle 11.1: Häufig verwendete Variablenbezeichnungen für Kernelpa- rameter Im weiteren werden vor allem die Parameter beschrieben, die für eine erfolg- reiche Installation relevant sind. Darüber hinaus gibt es noch eine ganze Reihe weiterer Kernel-Parameter für spezielle Zwecke. Beachten Sie auch, dass bei der Angabe der Parameter die Groß- bzw. Kleinschreibung wichtig ist! Eine ausführliche Einführung in die möglichen Kernelparameter finden Sie nach der Installation im BootPrompt-HOWTO unter /usr/share/doc/howto so- wie bei den Kernelquellen in der Datei /usr/src/linux/Documentation/ kernel-parameters.txt. 261 11 Kernel-Parameter 11.3.2 Kernel-Parameter am Boot-Prompt Die in diesem Abschnitt aufgelisteten Parameter können nur direkt an den Kernel übergeben werden, z. B. bei den `boot options' von SYSLINUX (mitgeliefer- te Bootdiskette), am LILO-Prompt oder mittels loadlin. Soll der entsprechende Treiber als ladbares Modul eingesetzt werden, sehen Sie bitte die in diesem Fall relevanten Parameter in Abschnitt 11.3.4 auf Seite 275 nach. Hinweis Alle für einen Treiber relevanten Parameter müssen unmittelbar hinterein- ander, durch Kommata getrennt, angegeben werden! Keinesfalls darf ein Leerzeichen zwischen den Parametern angegeben werden! Um z. B. die Parameter für den aha1542-Treiber am Bootprompt zu benennen, geben Sie bitte ein (beachten Sie, dass zunächst immer der Name der Datei des Kernels genannt werden muss; auf den SuSE-Bootdisketten heißt der Kernel linux!): linux aha1542=0x300 Allgemeine Boot-Parameter Mit Hilfe einiger Parameter kann das generelle Verhalten des Linux-Kernels ge- steuert werden; vgl. Manual-Page von bootparam (man 7 bootparam). * Reboot Modus (beim Verlassen von Linux) reboot= wobei für folgende Werte gelten: Variable Werte / Bedeutung warm Reboot mit Warmstart (kein Speichertest) cold Reboot mit Kaltstart (mit Speichertest) bios Reboot durch BIOS-Routine hard Reboot durch CPU-Crash (triple fault) Beispiel: reboot=cold bootet den Rechner nach dem Linux-Shutdown als wenn die Reset-Taste ge- drückt worden wäre. * Schützen von I/O-Bereichen (Reservieren) reserve=,,...,, Mit Hilfe dieses Parameters können Sie IO-Bereiche für Hardware reservie- ren, die ein Autoprobing ihrer I/O-Adresse nicht vertragen und z. B. mit Sys- temabsturz reagieren. Beispiel: eine empfindliche Netzwerkkarte kann durch Eingeben von: reserve=0x330,32 ether=5,0x330,eth0 262 11.3 Die Parameter vor dem Autoprobing geschützt und dennoch initialisiert werden. Im Beispiel hat die Netzwerkkarte einen 32 Bytes breiten I/O-Bereich, der ab der Adresse 0x330 beginnt, und den Interrupt 5. Für die Bedeutung der Netzwerkkarten-Parameter siehe Abschnitt 11.3.2 auf Seite 271. * Rootpartition übergeben root= Variable Werte / Bedeutung z. B. /dev/hda1, /dev/sdb5 Beispiel: root=/dev/hda5 bootet den Kernel und versucht die Rootpartition vom ersten logischen Lauf- werk in der erweiterten Partition auf der ersten (E)IDE-Festplatte zu moun- ten. * Größe des Hauptspeichers (RAM) mem= Die Größe des Speichers können Sie in Byte, Kilobyte oder Megabyte ange- ben. Die Beispiele zeigen die unterschiedliche Darstellung für 96 MB RAM. Beispiele: mem=96M mem=98304k In sehr seltenen Fällen kann es vorkommen, dass das Mainboard bzw. der Chipsatz nicht den gesamten Speicher freigeben kann. Berücksichtigen Sie bitte dann den Speicher, den das Mainboard bzw. der Chipsatz für eigene Zwecke verwendet (bis zu 512 K sind durchaus möglich). Den genauen Wert zu ermitteln ist mit der Methode Versuch und Irrtum möglich, aber nehmen Sie der Einfachheit halber an, dass es 512 K sind, in unserem Beispiel: mem=5ff8000 Bei der Verwendung eines Pentium-Clones kann der Aufruf mem=nopentium einen Rechner, der sonst nicht starten kann, zum Arbeiten befähigen. * Anzahl der CPUs bei SMP maxcpus= Festlegung der maximalen Anzahl der zu verwendenden CPUs bei SMP- Systemen. Beispiel: maxcpus=1 263 11 Kernel-Parameter * Serielle Konsole console=, Festlegung des Gerätes für die Ausgabe der Konsole; der Parameter kann mehrfach angegeben werden. Beispiele: console=ttyS1,9600 console=tty0 Vgl. /usr/src/linux/Documentation/serial-console.txt; dort wer- den Anwendungsbeispiele gegeben. SCSI-Kontroller und das SCSI-Subsystem Die meisten SCSI-Kontroller können über Parameter beeinflusst werden. * SCSI-Bandlaufwerke (Streamer) st=,[,] Variable Werte / Bedeutung Größe des Puffers (Anzahl Blöcke zu 1 KB) Schreibschwelle (Anzahl Blöcke zu 1 KB) (engl. write threshold) Maximale Pufferanzahl optional (z. B. 2) Beispiel: st=1000,2000 * Anzahl der SCSI-Geräte pro ID max_scsi_luns= Variable Werte / Bedeutung 1..8 Beispiel: Wenn explizit nur die erste LUN (engl. logical unit number) verwendet wer- den soll, muss der Parameter max_scsi_luns=1 gesetzt werden. Typische Anwendung sind CD-Wechsler, wobei die Anzahl der nutzbaren CDs gleich dem Parameter max_scsi_luns ist. * Adaptec AHA-1520 / 1522 / 1510 / 1515 / 1505 SCSI-Hostadapter aha152x=,,[,[,[,[, []]]]] Variable Werte / Bedeutung (SCSI-ID des Hostadapters) ID des Hostadapters, meist 7 (reconnect) 0, 1 (parity) 0, 1 Paritätsprüfung (synchronous) 0, 1 synchrone Übertragung 100 Busverzögerung, Standardwert 0, 1 C/H/S-Übersetzung 264 11.3 Die Parameter Mit diesem Treiber können sehr viele Low-cost-SCSI-Controller betrieben werden. Beispielsweise enthalten alle Soundkarten mit SCSI-Controller (bis auf die Pro Audio Spectrum) einen solchen Adaptec-Chip und können mit diesem Treiber betrieben werden. Bei allen nicht-originalen 152x scheint der 4. Parameter (RECONNECT) für den Betrieb erforderlich zu sein. Er muss bei fast allen Typen auf `0' gesetzt werden, nur der AHA2825 braucht eine `1'. Beispiel: aha152x=0x300,10,7 * Adaptec AHA-1540 / 1542 SCSI-Hostadapter aha1542=[,,[,]] Variable Werte / Bedeutung 2..15 1..64 5,6,7,8,10 Beispiel: aha1542=0x300 * Adaptec AHA-274x / 284x / 294x Hostadapter aic7xxx=[,[, ...]] Variable Werte / Bedeutung extended aktiviert die Übersetzung der Plattengeometrie no_reset verhindert das Zurücksetzen (engl. reset) des SCSI-Busses bei der Hostadapter-Initialisierung irq_trigger: nur für EISA-Systeme 0 für flankengesteuert, 1 für pegelgesteuert verbose um mehr Meldungen zu erhalten reverse_scan wenn mehrere Karten vom BIOS in der falschen Reihenfolge behandelt werden 7895_irq_hack: -1 ausschließlich für Tyan II Motherboards pci_parity: wenn pci_parity gar nicht verwendet wird, ist die Parität gerade 0 keine Paritätsprüfung 1 Parität ungerade tag_info: Warteschlangenverwaltung zur Leistungssteigerung, für Experten, siehe Kernelquellen 265 11 Kernel-Parameter Beispiel: aic7xxx=no_reset, wenn der Rechner beim Reset des SCSI-Busses stehen bleibt. Parameter sind bei aic7xxx-basierten SCSI-Hostadaptern ausschließlich bei fehlerhafter oder unbefriedigender Funktion notwendig. Der AHA-2940 AU funktioniert erst ab BIOS-Version 1.3 zuverlässig; Up- dates sind über den Adaptec-Support zu bekommen. Der SCSI-Hostadapter Adaptec 2920 wird nicht von diesem Treiber, son- dern vom Future Domain-Treiber bedient (Abschnitt 11.3.2 auf der nächsten Seite)! * AdvanSys SCSI-Hostadapter advansys=,,...,, Beispiel: advansys=0x110,0x210 Dieses Beispiel weist den Kernel an, an den angegebenen Adressen nach dem AdvanSys-Hostadapter zu suchen. * AM53/79C974 SCSI-Hostadapter AM53C974=,,, Variable Werte / Bedeutung SCSI-ID des Hostadapters, meist 7 SCSI-ID des Geräts 0..7 3,5,10 MHz/s max. Transferrate Transfermodus; 0 = asynchron Wenn sich der Hostadapter zu verschlucken" scheint, reduziert man die ma- ximale Transferrate für das Gerät (z. B. das erste CD-ROM-SCSI-Laufwerk /dev/scd0 mit ID 5) auf dem SCSI-Bus mit: Beispiel: AM53C974=7,5,3,0 Für jedes Gerät können eigene Transferraten und Transfermodi angegeben werden, so dass AM53C974=x,x,x,x bis zu sieben Mal für einen Hostadap- ter auftreten kann. * BusLogic SCSI-Hostadapter BusLogic= BusLogic= Beispiel: BusLogic=0x300 266 11.3 Die Parameter Variable Werte / Bedeutung Adresse des Adapters, z. B. 0x300 NoProbe kein Adapter wird gesucht NoProbeISA kein ISA-Adapter wird gesucht NoProbePCI kein PCI-Adapter wird gesucht NoSortPCI Reihenfolge der Multimaster-Adapter wird vom PCI-BIOS bestimmt MultiMasterFirst Multimaster vor Flashpoint FlashPointFirst Flashpoint vor Multimaster InhibitTargetInquiry für alte Geräte, die mit scsi_luns > 0 Probleme haben TraceProbe gibt zusätzliche Meldungen bei der Initialisierung des Adapter aus TraceHardwareReset gibt zusätzliche Meldungen beim Hardware-Reset des Adapters aus TraceConfiguration gibt zusätzliche Meldungen bei der Konfiguration des Adapters aus TraceErrors gibt Fehlermeldungen der angeschlossenen Geräte aus Debug gibt alles aus Dieser Hostadapter kann noch über mehr Parameter konfiguriert werden. Dies dient jedoch dem Feintuning und wird in /usr/src/linux/drivers/scsi/README.BusLogic beschrieben. * Future Domain TMC-16x0-SCSI-Hostadapter fdomain=,[,] Variable Werte / Bedeutung SCSI-ID des Hostadapters 0..7 Dieser Treiber bedient auch den SCSI-Hostadapter Adaptec 2920. Beispiel: fdomain=0x140,11,7 * Future Domain TMC-885/950-Hostadapter tmc8xx=, Beispiel: tmc8xx=0xca000,5 * NCR 5380 SCSI-Hostadapterfamilie ncr5380=,, Beispiel: ncr5380=0x340,10,3 * NCR 53c400 SCSI-Hostadapterfamilie ncr53c400=, Beispiel: ncr53c400=0x350,5 267 11 Kernel-Parameter Dieser Treiber bedient z. B. den weit verbreiteten Trantor T130B SCSI-Host- adapter * NCR 53c406a SCSI-Hostadapterfamilie ncr53c406a=[,[,]] Variable Werte / Bedeutung 0, wenn kein schneller PIO-Modus gewünscht Beispiel: ncr53c406a=0x330,10,0 * Seagate ST01/02 SCSI-Hostadapter st0x=, Beispiel: st0x=0xc8000,5 * Trantor T128/128F/228 SCSI-Hostadapter t128=, Beispiel: t128=0x340,10 (E)IDE-Controller und ATAPI-Geräte Zahlreiche Parameter stehen zur Verfügung, um den (E)IDE-Controller und die dort angeschlossenen Geräte zu konfigurieren. * ATAPI-CD-ROM und andere Geräte am (E)IDE-Controller hd= Variable Werte / Bedeutung a, b, . . . , h 1. bis 8. Festplatte a Master am 1. IDE-Controller b Slave am 1. IDE-Controller c Master am 2. IDE-Controller d Slave am 2. IDE-Controller etc. noprobe, wenn das Testen einer vorhanden Festplatte Probleme bereitet none CMOS-Eintrag ignorieren und nicht testen nowerr WREE_STAT-Bit ignorieren cdrom falsch als Festplatte erkannt oder gar nicht erkannt oder Booten scheitert autotune schnellster PIO-Modus wird verwendet slow nach jedem Zugriff wird eine lange Pause eingelegt. Das macht es wirklich langsam, manchmal hilft es und ist die letzte Möglichkeit Der Treiber unterstützt bis zu sechs IDE-Schnittstellen; an jeder können ge- mäß ATA-2-Spezifikation 2 Geräte angeschlossen sein. 268 11.3 Die Parameter Ein ATAPI-CD-ROM-Laufwerk als Master am 2. IDE-Controller wird mit hdc=cdrom bekannt gemacht; vgl. /usr/src/linux/Documentation/ ide.txt. Beispiel: hdd=cdrom * Festplatte hd=,,[,[,]] Variable Werte / Bedeutung a, b, . . . , h 1. bis 8. Festplatte Zahl der Zylinder Zahl der Köpfe Zahl der Sektoren Zylinder, ab dem Schreibkompensation angewendet wird Interrupt Wenn das BIOS älter ist, kann es vorkommen, dass die richtige Geometrie der Festplatte nicht erkannt wird. Dann werden die korrekten Parameter so übergeben, dass der Kernel trotzdem die Platte vollständig ansprechen kann. Beispiel: hdc=1050,32,64 * EIDE-Controller-Chipsätze ide0= Eine Reihe von EIDE-Controllern besitzt fehlerhafte Chipsätze oder verur- sacht Probleme, wenn der zweite Controller verwendet werden soll. Für viele dieser Chipsätze existiert daher eine spezielle Unterstützung im Kernel; diese Unterstützung muss jedoch zusätzlich über einen Kernel-Para- meter aktiviert werden. Die Chipsätze in Tabelle 11.2 auf der nächsten Seite können konfiguriert werden. CMD 640 Dieser Chipsatz befindet sich auf sehr vielen Hauptplatinen. Da er jedoch sehr fehlerhaft ist, bietet der Kernel eine spezielle Unterstützung, die diesen Chip erkennt und die Probleme um- geht. Außerdem wird in einigen Fällen erst durch den speziellen Code die Verwendung des zwei- ten Controllers möglich. In PCI-Systemen wird der Chip automatisch erkannt, in VLB-Syste- men ist der folgende Kernel-Parameter notwen- dig: ide0=cmd640_vlb. Tabelle 11.2: Fortsetzung auf der nächsten Seite... 269 11 Kernel-Parameter RZ 1000 Dieser Chip wird auf vielen Hauptplatinen mit dem Neptun Chipsatz eingesetzt und ist fehler- haft. Wird die Unterstützung für diesen Chip ak- tiviert, arbeitet das System zwar langsamer, aber fehlerfrei. Eine weitergehende Aktivierung über einen Kernel-Parameter ist nicht erforderlich. DTC-2278 Erst das Aktivieren dieses Treibers durch den Parameter ide0=dtc2278 ermöglicht es, den zweiten Controller zu verwenden. Holtek HT6560B Zum Aktivieren des zweiten Controllers ist fol- gender Parameter nötig: ide0=ht6560b. QDI QD6580 Wird dieser Treiber aktiviert, ermöglicht er höhe- re Geschwindigkeiten: ide0=qd6580. UMC 8672 Zum Aktivieren des zweiten Controllers ist fol- gender Parameter nötig: ide0=umc8672. ALI M1439/M1445 Zum Aktivieren des zweiten Controllers ist fol- gender Parameter nötig: ide0=ali14xx. PROMISE DC4030 Zum Aktivieren des zweiten Controllers ist fol- gender Parameter nötig: ide0=dc4030. CD- ROM-Laufwerke und Streamer am zweiten Con- troller werden noch nicht unterstützt! Tabelle 11.2: Besondere EIDE-Chipsätze Wenn der Chipsatz nicht zu den als fehlerhaft Gekennzeichneten gehört, und nicht erkannt wird, können stattdessen folgende Parameter übergeben wer- den: ide=[,[,]] Variable Werte / Bedeutung Adapter-Nummer, meist 0 oder 1, aber auch 3 oder 4 Basisadresse des Adapters, meist 0x1f0, 0x170, 0x1e8 oder 0x168 Kontrollregister des Adapters, meist 0x3f6, 0x376, 0x3ee oder 0x36e Interrupt des Adapters, meist 14, 15, 11 oder 10 Wenn der Chipsatz nicht zu den als fehlerhaft Gekennzeichneten gehört, und trotzdem Schwierigkeiten auftreten, können stattdessen folgende Parameter übergeben werden: ide= 270 11.3 Die Parameter Variable Werte / Bedeutung Adapter-Nummer, meist 0 oder 1, aber auch 3 oder 4 autotune höchstmöglicher PIO-Wert wird versucht, nicht von allen Chipsets unterstützt noautotune keine Verbesserung der Geschwindigkeit serialize keine zeitliche Überlappung der Operationen mit dem nächsten Hostadapter reset Adapter nach dem Proben zurücksetzen dma wenn möglich, DMA konfigurieren/benutzen Weitere Möglichkeiten * Ethernet-Netzwerkkarte ether=,[,[,...]], Die verschiedenen Parameter von bis haben für unter- schiedliche Treiber unterschiedliche Bedeutung. Meistens sind (wenn über- haupt) nur zwei Parameter anzugeben, von denen der erste die Start- und der zweite die Endadresse des shared memory-Bereiches ist. Das erste nichtnu- merische Argument wird als der Name behandelt. Verwendeter Interrupt; 0 für Autoprobing. Portadresse; 0 für Autoprobing. Startadresse für Shared Memory; einige Treiber verwenden die untersten 4 Bits für den Debug-Level; der Lance-Trei- ber verwendet diese Bits für den DMA-Kanal. Endadresse für shared memory; der 3COM 3c503-Treiber verwendet diesen Parameter, um zwischen internen und ex- ternen Transceivern zu unterscheiden. Typ des Transceivers Die Cabletron E21XX-Karte verwendet die untersten 4 Bits, um das Medium zu wählen. Name des Interface (üblicherweise eth0). Tabelle 11.3: Variablenbezeichnungen für Ethernet-Netzwerkkarten Der häufigste Anwendungsfall für diesen Parameter besteht darin, den Kernel mehr als eine Netzwerkkarte erkennen zu lassen, da standardmäßig nur nach der ersten Karte gesucht wird. Dies kann durch folgende Angabe erreicht werden: ether=0,0,eth1 Beachten Sie, dass durch die Angabe von 0 für IRQ und Adresse dem Trei- ber befohlen wird, so genanntes Autoprobing zu machen, also verschiedene 271 11 Kernel-Parameter Werte selbstständig durchzuprobieren. Ein komplexeres Beispiel: ether=10,0x310,3,0x3c509,eth0 Damit wird die erste gefundene 3c509-Karte auf den IRQ 10, die Adresse 0x310 und den Anschluss 10base2 (BNC) eingestellt. * Diskettenlaufwerk floppy=,,cmos Variable Werte / Bedeutung 0, 1, 2, 3 0 - Benutzung der CMOS-Werte 1 - 5.25-Zoll DD, 360 KB 2 - 5.25-Zoll HD, 1,2 MB 3 - 3.5-Zoll DD, 720 KB 4 - 3.5-Zoll HD, 1,44 MB 5 - 3.5-Zoll ED, 2,88 MB 6 - 3.5-Zoll ED, 2,88 MB 16 - unbekannt oder nicht installiert floppy= Für können folgende Werte eingesetzt werden (Tabelle 11.4 auf der nächsten Seite): one_fdc genau ein Diskettenlaufwerk asus_pci verhindert Zugriff auf 3. und 4. Dis- kettenlaufwerk daring nur bei problemlosen Controllern ­ erhöht Performance 0,daring Gegenteil von daring [,]two_fdc Wenn der Wert für bei zwei Disketten-Controllern wegge- lassen wird, wird für den 2. Dis- kettencontroller eine Portadresse von 0x370 impliziert. thinkpad IBM Thinkpad-Rechner 0,thinkpad kein Thinkpad-Rechner omnibook Omnibook-Rechner nodma für Omnibook-Rechner dma Standard nofifo wenn ein "Bus master arbitra- tion error" auftritt fifo Standard 0xX,fifo_depth FIFO-Schwelle Standard 0xA Tabelle 11.4: Fortsetzung auf der nächsten Seite... 272 11.3 Die Parameter unexpected_interrupts Warnung ausgeben, wenn unerwarte- te Interrupts auftreten no_unexpected_interrupts Dieser Wert erreicht das Gegenteil von unexpected_interrupts L40SX ditto Tabelle 11.4: Werte für den Kernelparameter floppy * Logitech-Busmaus bmouse= * XT-Festplattencontroller xd=,,, 11.3.3 CD-ROM-Laufwerke an proprietären Kontrollern * Aztech CDA268-01 CD-ROM aztcd=[,0x79] Der Wert 0x79 muss nur bei unbekannter Firmware-Version angegeben wer- den. Beispiel: aztcd=0x320 * Goldstar R420-CD-ROM-Laufwerk gscd= * Mitsumi-CD-ROM-Laufwerk mcd=, Beispiel: mcd=0x300,10 * Mitsumi-CD-ROM-Laufwerk (Multisession) mcdx=,[,,] Beispiel: mcd=0x300,10 Bis zu 5 Laufwerke werden unterstützt. * Mozart Interface isp16=[[,[,]]][[,]] Variable Werte / Bedeutung Sanyo, Panasonic, Sony, Mitsumi 273 11 Kernel-Parameter Dieser Treiber ist für CD-ROM-Laufwerke zuständig, die an einer ISP16, MAD16 oder Mozart-Soundkarte angeschlossen sind. Der Wert für die Va- riable ergibt sich aus dem Interface-Stecker, an dem das CD-ROM- Kabel auf der Soundkarte angeschlossen ist. Beispiel: isp16=0x340,10,3,Sony * Optics Storage 8000 AT CD-ROM-Laufwerk optcd= Beispiel: optcd=0x340 * Philips CM206 CD-ROM-Laufwerk cm206=, Beispiel: cm206=0x340,10 * Pro Audio Spectrum 16 - SCSI-Hostadapter pas16=, Auf der Soundkarte Pro Audio Spectrum 16 befindet sich ein SCSI-Host- adapter, dessen Einstellungen mit diesem Parameter dem Kernel mitgeteilt werden können. Beispiel: pas16=0x340,10 Falls die Erkennung der Karte fehlschlägt, kann sie ohne Interrupt betrieben werden. In diesem Fall wird der Interrupt auf 255 gesetzt. Beispiel: pas16=0x340,255 * Sanyo CD-ROM-Laufwerk sjcd= Beispiel: sjcd=0x340 * Sony CDU 31/33 A cdu31a=,[,PAS] Bei diesem Treiber ist mittlerweile das Autoprobing komplett aus dem Ker- nel verschwunden, sodass die Angabe der Parameter zwingend erforderlich ist. Beispiel: cdu31a=0x340,5 Ist kein Interrupt für das Laufwerk vorgesehen, kann also nur über Polling darauf zugegriffen werden, so muss 0 als IRQ angegeben werden. Beispiel: cdu31a=0x340,0 Ist dieses Laufwerk an einer Pro Audio Spectrum-Karte angeschlossen, könn- te der Parameter folgendermaßen lauten: Beispiel: cdu31a=0x1f88,0,PAS 274 11.3 Die Parameter * Sony CDU 535 sonycd535=, Beispiel: sonycd535=0x340,10 * Soundblaster Pro 16 MultiCD sbpcd=, Variable Werte / Bedeutung LaserMate, SPEA, SoundBlaster, SoundScape, Teac 16bit Beispiel: sbpcd=0x230,SoundBlaster Der Parallelport * Parallelport parport=,[ [parport=,[ [parport=,[]]]]] Variable Werte / Bedeutung Adresse Interrupt Beispiel: parport=0x3bc parport=0x378,7 parport=0x278,auto * Drucker am Parallelport lp= [lp= [lp=]] Variable Werte / Bedeutung Parallelport Beispiel: lp=parport0 lp=parport2 11.3.4 modprobe-Parameter In diesem Abschnitt werden diejenigen Parameter aufgeführt, die beim Laden eines Treibers als Modul verwendet werden können. Sollte ein Treiber sich trotz Angabe der Parameter nicht laden lassen, bzw. findet sich in diesem Abschnitt kein für diesen Treiber passender Parameter, so müssen Sie diesen Treiber in einen monolithischen Kernel integrieren. Einige Treiber stehen noch nicht als Modul zur Verfügung, einige wenige er- kennen die Hardware nur dann zuverlässig, wenn der Treiber fest zum Kernel hinzugebunden ist. Auf jeden Fall lohnt es sich, erst einmal auszuprobieren, ob der betreffende Treiber als Modul verwendet werden kann. Wird ein Treiber als Modul geladen, kann jede in dem Modul verwendete Va- riable an der Kommandozeile überschrieben werden. So gibt es beispielsweise 275 11 Kernel-Parameter im Treiber für NE2000-Karten die Variable mit dem Namen io, die den von der Karte verwendeten I/O-Bereich spezifiziert. Somit lautet der korrekte Aufruf zum Laden dieses Moduls (vgl. auch im Kernel-Kapitel den Abschnitt 10.2 auf Seite 252): erde:/ # modprobe ne io=0x300 irq=10 Beachten Sie bei der Angabe von Parametern, dass vor und hinter dem Gleich- heitszeichen kein Leerzeichen angegeben werden darf. Ferner müssen hexade- zimale Werte grundsätzlich in der im Beispiel dargestellten Form eingegeben werden (also mit vorangestelltem `0x'). Hinweis Wenn für einen Treiber mehrere Parameter angegeben werden können, so müssen diese zwingend durch Leerzeichen voneinander getrennt werden! Dies ist ein wesentlicher Unterschied zur Parameterübergabe am Boot- prompt, wo innerhalb der Parameter für einen einzelnen Treiber keinesfalls Leerzeichen auftauchen dürfen! Die Parameter, die Sie hier angeben können, können Sie auch in die Datei /etc/ modules.conf übernehmen. Dort kann für jedes Modul eine Reihe von Para- metern angegeben werden. Dies geschieht in einer eigenen Zeile für jedes Mo- dul. Diese Zeile sieht folgendermaßen aus: options = ... wobei: Variable Werte / Bedeutung Name der Moduldatei ohne Extension .o Parameter 1 Wert, der Parameter 1 zugeordnet wird Der Eintrag für die NE2000-Karte aus obigem Beispiel wäre dementsprechend: options ne io=0x300 irq=10 Im Folgenden sollen nun die wichtigsten Parameter für die meisten Module auf- gelistet werden. SCSI-Kontroller und das SCSI-Subsystem * Adaptec AHA-1520 / 1522 / 1510 / 1515 / 1505 SCSI-Hostadapter Modulname: aha152x.o 276 11.3 Die Parameter Variable Werte / Bedeutung SCSI-ID des Hostadapters; standardmäßig 7 ; 0, 1 parity; 0, 1 synchrone Betriebsart; 0, 1 Busverzögerung; Vorgabe 100 Übersetzung der Plattengeometrie; 0, 1 Wie am Bootprompt: Beispiel: modprobe aha152x aha152x=0x340,10,7,1,1,0,100,0 Für einen zweiten Hostadapter: Beispiel: modprobe aha152x aha152x1=0x140,12,7,1,1,0,100,0 * Adaptec AHA-1540 / 1542 SCSI-Hostadapter Modulname: aha1542.o Variable Werte / Bedeutung ; Vorgabe sind 0x330 und 0x334 2..15 1..64 5,6,7,8,10; Vorgabe ist 5 Wie am Bootprompt: Beispiel: modprobe aha1542 aha1542=0x130 * Future Domain TMC-16x0­Hostadapter Modulname: fdomain.o Dieser Treiber bedient u. a. auch den SCSI-Hostadapter Adaptec 2920. fdomain=,[,] Variable Werte / Bedeutung Wie am Bootprompt: Beispiel: modprobe fdomain fdomain=0x140,11,7 * NCR 5380 bzw. NCR 53C400 SCSI-Hostadapterfamilie Modulname: g_NCR5380.o 277 11 Kernel-Parameter Parameter Werte ncr_addr ncr_irq ; mit 255 abschalten ncr_dma ncr_5380 1 für einen NCR5380-Adapter ncr_53c400 1 für einen NCR53C400-Adapter Für einen NCR5380-Adapter: Beispiel: modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1 Für einen NCR53C400-Adapter mit abgeschalteten Interrupts: Beispiel: modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1 Dieser Treiber bedient z. B. den weit verbreiteten Trantor T130B SCSI-Hostadapter Netzwerkkarten * 3Com 3c501 / 3c503 / 3c505 / 3c507 Netzwerkkarten Modulname: 3c501.o,3c503.o,3c505.o,3c507.o Parameter Werte io irq Beispiel: modprobe 3c505 io=0x300 irq=10 * 3Com 3c509 / 3c579 Netzwerkkarten Modulname: 3c509.o Parameter Werte irq xcvr 0: intern; 1: extern Beispiel: modprobe 3c509 irq=10 xcvr=0 * 3Com 3c515 Netzwerkkarte Modulname: 3c515.o Beispiel: modprobe 3c515 * 3Com 3c59x / 3c90x Netzwerkkarten ( Vortex"/ Boomerang") Modulname: 3c59x.o Bei Compaq-Rechnern (PCI) kann man die folgenden Parameter ausprobie- ren: 278 11.3 Die Parameter Parameter Werte compaq_ioaddr compaq_irq compaq_prod_id Beispiel: modprobe 3c59x compaq_irq=10 * Allied Telesis AT1700 Netzwerkkarte Modulname: at1700.o Parameter Werte io irq Beispiel: modprobe at1700 io=0x300 irq=10 * Cabletron E21xx Netzwerkkarte Modulname: e2100.o Parameter Werte io irq mem xcvr 0: intern; 1: extern Beispiel: modprobe e2100 io=0x300 irq=10 mem=0xd000 xcvr=0 * Digital DE425 / 434 / 435 / 450 / 500 Netzwerkkarten Modulname: de4x5.o io=0x Parameter Werte bus Nummer des PCI-Busses, i. Allg. 0 geräte-id Nummer des PCI-Geräts Diese Daten werden bei neueren PCI-BIOSsen beim Booten angezeigt bzw. kann man sie unter Linux mit erde: # cat /proc/pci erhalten. Beispiel: modprobe de4x5 io=0x007 * Digital DEPCA / DE10x / DE20(012) / DE42, EtherWORKS Netwerkkarten Modulname: depca.o 279 11 Kernel-Parameter Parameter Werte io irq mem adapter_name z. B. DEPCA, de100, de101, de200, de201, de202, de210, de422 Beispiel: modprobe depca io=0x300 irq=10 * EtherWORKS 3 (DE203, DE204, DE205) Netzwerkkarte Modulname: ewrk3.o Parameter Werte io irq Beispiel: modprobe ewrk3 io=0x300 irq=10 * Intel EtherExpress 16 Netzwerkkarte Modulname: eexpress.o Parameter Werte io irq Beispiel: modprobe eexpress io=0x300 irq=10 * Intel EtherExpressPro Netzwerkkarte Modulname: eepro.o Parameter Werte io irq mem Beispiel: modprobe eepro io=0x300 irq=10 mem=0xd000 * Intel EtherExpressPro 100 Netzwerkkarte Modulname: eepro100.o Die Intel EtherExpressPro enthält die Chips i82557/i82558. 280 11.3 Die Parameter Parameter Werte options 16 Voll-Duplex 32 Nur 100 MBit-Betrieb 64 Nur 10 MBit-Betrieb Beispiel: modprobe eepro100 options=48 Damit wird gleichzeitig Voll-Duplex und 100-MBit-Betrieb eingestellt (48 = 32 + 16). * SMSC 83c170 EPIC"-Familie Modulname: epic100.o Parameter Werte debug Debugausgabe 0..6 options automatisch erkennen: 0; für 10base2/BNC: 1 full_duplex automatisch erkennen: 0; Voll-Duplex: 1 Beispiel: modprobe epic100 debug=1 full_duplex=0,1 Damit werden zwei Karten konfiguriert; bei der zweiten wird explizit Voll- Duplex eingestellt. Unter http://www.scyld.com/network/epic100.html sind weitere Ein- stellmöglichkeiten zu finden. * Fujitsu FMV-181/182/183/184 Netzwerkkarten Modulname: fmv18x.o Parameter Werte io irq Beispiel: modprobe fmv18x io=0x300 irq=10 * HP PCLAN+ (27247B and 27252A) Netzwerkkarte Modulname: hp-plus.o Parameter Werte io irq Beispiel: modprobe hp-plus io=0x300 irq=10 * HP PCLAN (27245 / 27xxx) Modulname: hp.o 281 11 Kernel-Parameter Parameter Werte io irq Beispiel: modprobe hp io=0x300 irq=10 * HP 10/100 VG-AnyLAN (ISA, EISA, PCI) Netzwerkkarten Modulname: hp100.o Parameter Werte hp100_port Beispiel: modprobe hp100 hp100_port=0x300 * ICL EtherTeam 16i / 32 Netzwerkkarten Modulname: eth16i.o Parameter Werte io irq Beispiel: modprobe eth16i io=0x300 irq=10 * Novell NE2000 / NE1000 Netzwerkkarten Modulname: ne.o Parameter Werte io irq bad bad, nur wenn Karte nicht erkannt wird Beispiel: modprobe ne io=0x300 irq=10 * NI6510 (AM7990 lance" Chip) Netzwerkkarte Modulname: ni65.o Parameter Werte io irq dma Beispiel: modprobe ni65 io=0x300 irq=10 282 11.3 Die Parameter * SMC Ultra Netzwerkkarte Modulname: smc-ultra.o Parameter Werte io irq Beispiel: modprobe smc-ultra io=0x300 irq=10 * SMC 9194 Netzwerkkarte Modulname: smc9194.o Parameter Werte io irq if_port Variable Werte / Bedeutung 0 auto 1 TP 2 AUI, 10base2 Beispiel: modprobe smc9194 io=0x300 irq=10 if_port=2 * Western Digital WD80x3 Netzwerkkarte Modulname: wd.o Parameter Werte io irq mem mem_end Beispiel: modprobe wd io=0x300 irq=10 * IBM Tropic chipset Token Ring Netzwerkkarte Modulname: ibmtr.o Parameter Werte io irq mem_start Beispiel: modprobe ibmtr io=0x300 283 11 Kernel-Parameter * D-Link DE620 Pocket-Adapter Netzwerkkarte Modulname: de620.o Parameter Werte io irq bnc 1 wenn BNC-Ein-/Ausgang utp 1 wenn UTP-Ein-/Ausgang clone 1 wenn baugleiches Gerät Beispiel: modprobe de620 io=0x300 irq=10 bnc=1 utp=0 Proprietäre CD-ROM-Laufwerke Die folgenden Parameter betreffen CD-ROM-Laufwerke, die an besondere Kon- troller angeschlossen sind. Wer eines dieser Oldies" besitzt, weiß es bestimmt. . . * Aztech CDA268-01 CD-ROM-Laufwerk Modulname: aztcd.o Parameter Werte aztcd Beispiel: modprobe aztcd aztcd=0x300 * Goldstar R420-CD-ROM-Laufwerk Modulname: gscd.o Parameter Werte gscd Beispiel: modprobe gscd gscd=0x300 * Mitsumi CD-ROM-Laufwerk Modulname: mcd.o mcd=, Beispiel: modprobe mcd mcd=0x300,10 * Mitsumi-CD-ROM-Laufwerk (Multisession) Modulname: mcdx.o mcdx=,[,,] Für mehrere Treiber kann das Aufrufpaar , bis zu vier Mal wiederholt werden. 284 11.3 Die Parameter * Mozart-Soundkarte mit Interface für CD-ROM-Laufwerke Modulname: isp16.o isp16_cdrom_base= isp16_cdrom_irq= isp16_cdrom_dma= isp16_cdrom_type= Variable Werte / Bedeutung Sanyo, Panasonic, Sony, Mitsumi Dieser Treiber ist kein wirklicher CD-ROM-Treiber; er ist nur für die Interface- Konfiguration der CD-ROM-Laufwerke zuständig, die an einer ISP16, MAD16 oder Mozart-Soundkarte angeschlossen sind. Nach dem Laden dieses Trei- bers ist lediglich das Interface entsprechend konfiguriert; der passende CD- ROM-Treiber muss danach zusätzlich geladen werden. Der Wert für die Va- riable ergibt sich aus dem Stecker, an dem das CD-ROM-Kabel auf der Soundkarte angeschlossen ist. Beispiel: modprobe isp16 isp16_cdrom_base=0x300 isp16_cdrom_irq=10 isp16_cdrom_dma=1 isp16_cdrom_type=sony * Optics Storage 8000 AT CD-ROM-Laufwerk Modulname: optcd.o Parameter Werte optcd Beispiel: modprobe optcd optcd=0x300 * Philips CM206 CD-ROM-Laufwerk Modulname: cm206.o cm206=, Beispiel: modprobe cm206 cm206=0x300,10 * Sanyo CD-ROM-Laufwerk Modulname: sjcd.o Parameter Werte sjcd Beispiel: modprobe sjcd sjcd=0x300 * Sony CDU 31/33 A Modulname: cdu31a.o 285 11 Kernel-Parameter Parameter Werte cdu31a_port cdu31a_irq Beispiel: modprobe cdu31a cdu31a_port=0x300 cdu31a_irq=10 * Sony CDU 535 Modulname: sonycd535.o Parameter Werte sonycd535 Beispiel: modprobe sonycd535 sonycd535=0x300 * Soundblaster Pro 16 MultiCD Modulname: sbpcd.o sbpcd=, wobei folgende Werte haben kann: Variable Werte / Bedeutung 0 LaserMate 1 SoundBlaster 2 SoundScape 3 Teac16bit Beispiel: modprobe sbpcd sbpcd=0x300,0 Soundkarten und Sound-Chipsätze Seit Kernel 2.2.xx ist die Sound-Unterstützung in modularer Form realisiert und über zahlreiche Parameter zu steuern. * AD1816 Chip Modulname: ad1816.o Unterstützt sind u. a.: TerraTec Base 1, TerraTec Base 64, HP Kayak, Acer FX-3D, SY-1816, Highscreen Sound-Boostar 32 Wave 3D Parameter Werte io irq dma dma2 ad1816_clockfreq Beispiel: modprobe ad1816 io=0x530 irq=5 dma=1 dma2=3 ad1816_clockfreq=33000 286 11.3 Die Parameter * AD1848/CS4248 Chip (MSS) Modulname: ad1848.o Parameter Werte io irq dma dma2 type deskpro_xl * Generischer OPLx Treiber Modulname: adlib_card.o Parameter Werte io Beispiel: modprobe adlib_card io=0x330 * Crystal 423x Chipsätze Modulname: cs4232.o Parameter Werte io irq dma dma2 Beispiel: modprobe cs4232 io=0x530 irq=5 dma=1 dma2=3 * Ensoniq 1370 Chipsatz Modulname: es1370.o Vgl. auch PCI64/128. Parameter Werte joystick 1: Joystick aktivieren lineout 1: Line-in in Line-out umschalten micz Mikrofon-Impedanz Beispiel: modprobe es1370 joystick=1 lineout=1 * Creative Ensoniq 1371 Chipsatz Modulname: es1371.o Vgl. auch PCI64/128. 287 11 Kernel-Parameter Parameter Werte joystick Gültige Werte für sind 0x200, 0x208, 0x210 und 0x218. Beispiel: modprobe es1371 joystick=0x200 * Gravis Ultrasound Modulname: gus.o Parameter Werte io irq dma dma16 type gus16 no_wave_dma db16 * MAD16 Modulname: mad16.o Unterstützt OPTi 82C928, OAK OTI-601D, OPTi 82C929, OPTi 82C930 und OPTi 82C924. Parameter Werte io irq dma dma16 Beispiel: modprobe mad16 io=0x530 irq=7 dma=0 dma16=1 * Turtle Beach Maui und Tropez Modulname: maui.o Parameter Werte io irq Beispiel: modprobe maui io=0x530 irq=5 * MPU401 Modulname: mpu401.o 288 11.3 Die Parameter Parameter Werte io Beispiel: modprobe mpu401 io=0x330 * Turtle Beach MultiSound Modulname: msnd.o Beispiel: modprobe msnd * Turtle Beach Classic/Monterey/Tahiti Modulname: msnd_classic.o Parameter Werte io irq mem write_ndelay major fifosize calibrate_signal Beispiel: modprobe msnd_classic io=0x290 irq=7 mem=0xd0000 * Turtle Beach Pinnacle/Fiji Modulname: msnd_pinnacle.o Zusätzlich zu den Parametern der Turtle Beach Classic/Monterey/Tahiti (Ab- schnitt 11.3.4) versteht diese Karte: Parameter Werte digital cfg reset mpu_io mpu_irq ide_io0 ide_io1 ide_irq joystick_io Beispiel: modprobe msnd_pinnacle cfg=0x250 io=0x290 irq=5 mem=0xd0000 * OPL3 Modulname: opl3.o 289 11 Kernel-Parameter Parameter Werte io Beispiel: modprobe opl3 io=0x388 * OPL3-SA1 Modulname: opl3sa.o Parameter Werte io irq dma dma2 mpu_io mpu_irq Beispiel: modprobe opl3sa io=0x530 irq=11 dma=0 dma2=1 mpu_io=0x330 mpu_irq=5 * YMF711, YMF715, YMF719, OPL3-SA2, OPL3-SA3, OPL3-SAx Modulname: opl3sa2.o Parameter Werte io irq dma dma2 mss_io mpu_io Beispiel: modprobe opl3sa2 io=0x370 irq=7 dma=0 dma2=3 mss_io=0x530 mpu_io=0x330 * Pro Audio Spectrum Modulname: pas2.o 290 11.3 Die Parameter Parameter Werte io irq dma dma16 sb_io sb_irq sb_dma sb_dma16 joystick symphony broken_bus_clock * Personal Sound System (ECHO ESC614) Modulname: pss.o Parameter Werte pss_io mss_io mss_irq mss_dma mpu_io mpu_irq pss_mixer 1 (aktivieren) oder 0 * Sound Blaster und Clones Modulname: sb.o Parameter Werte io irq dma dma16 mpu_io mad16 1 (aktivieren) trix 1 (aktivieren) pas2 1 (aktivieren) sm_games 1 (aktivieren) acer 1 (aktivieren), bei Acer Notebooks mwave_bug 1 (aktivieren) Beispiel: modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 291 11 Kernel-Parameter * Aztech Sound Galaxy Modulname: sgalaxy.o Parameter Werte io irq dma dma2 sgbase * S3 Sonic Vibes Modulname: sonicvibes.o Keine Parameter. * Ensoniq SoundScape Modulname: sscape.o Parameter Werte io irq dma mss mpu_io mpu_irq spea 1 * MediaTrix AudioTrix Pro Modulname: trix.o Parameter Werte io irq dma dma2 sb_io sb_irq sb_dma mpu_io mpu_irq * UART401 Modulname: uart401.o 292 11.3 Die Parameter Parameter Werte io irq Beispiel: modprobe io=0x330 irq=9 * UART6850 Modulname: uart6850.o Parameter Werte io irq * Sound Blaster DSP Chipsätze Modulname: v_midi.o Keine Parameter. * Turtle Beach Maui, Tropez, Tropez Plus Modulname: wavefront.o Parameter Werte io irq Beispiel: modprobe wavefront io=0x200 irq=9 Der Parallelport Die Bedienung der Parallelports ist etwas komplex. Ein eigenes Subsystem steht nach der Konfiguration zur Verfügung; vgl. Abschnitt 7.4.3 auf Seite 190 ff . * Parallelport Modulname: parport.o Beispiel: modprobe parport * Parallelport ­ Architektur spezifisch Modulname: parport_pc.o Parameter Werte io irq Um z. B. 3 Ports im PC-Style einzurichten, wobei einer bei Adresse 0x3bc ohne IRQ, einer bei Adresse 0x378 mit IRQ 7 und einer bei Adresse 0x278 293 11 Kernel-Parameter mit automatisch detektiertem IRQ angesiedelt werden soll, gibt man ein (in einer Zeile!): Beispiel: modprobe parport_pc io=0x3bc,0x378,0x278 irq=none,7,auto * Druckertreiber Modulname: lp.o Parameter Werte parport Beispiel: modprobe lp parport=0,2 * Parallelport IDE-Geräte Modulname: paride.o Wenn Sie Ketten von Paride-Geräten an einem Parallelport verwenden wol- len, dann ist es erforderlich, zunächst parport.o zu laden (vgl. Abschnitt 11.3.4 auf der vorherigen Seite)! Beispiel: modprobe paride Der Parallelport sollte ­ wenn möglich ­ im EPP Modus" betrieben werden; stellen Sie diesen Modus bitte im BIOS Ihres Rechners ein. * Parallelport IDE-Lowlevel Protokoll-Treiber Modulname: .o Protokoll Gerät aten ATEN EH-100 (HK) bpck Microsolutions backpack (US) comm DataStor (old-type) "commuter" adapter (TW) dstr DataStor EP-2000 (TW) epat Shuttle EPAT (UK) epia Shuttle EPIA (UK) fit2 FIT TD-2000 (US) fit3 FIT TD-3000 (US) friq Freecom IQ cable (DE) frpw Freecom Power (DE) kbic KingByte KBIC-951A and KBIC-971A (TW) ktti KT Technology PHd adapter (SG) on20 OnSpec 90c20 (US) on26 OnSpec 90c26 (US) Beispiel: modprobe epat * Parallelport IDE-Festplatte Modulname: pd.o 294 11.3 Die Parameter Parameter Werte verbose Laden Sie zunächst parport und den Lowlevel-Treiber (vgl. Abschnitt 11.3.4 auf der vorherigen Seite). Beispiel: modprobe pd verbose=1 * Parallelport ATAPI CD-ROM Modulname: pcd.o Laden Sie zunächst parport und den Lowlevel-Treiber (vgl. Abschnitt 11.3.4 auf der vorherigen Seite). Beispiel: modprobe pcd * Parallelport ATAPI Diskettenlaufwerk Modulname: pf.o Laden Sie zunächst parport und den Lowlevel-Treiber (vgl. Abschnitt 11.3.4 auf der vorherigen Seite). Beispiel: modprobe pf * Parallelport ATAPI Bandlaufwerk Modulname: pt.o Laden Sie zunächst parport und den Lowlevel-Treiber (vgl. Abschnitt 11.3.4 auf der vorherigen Seite). Beispiel: modprobe pt * Parallelport Generisches ATAPI-Gerät Modulname: pg.o Laden Sie zunächst parport und den Lowlevel-Treiber (vgl. Abschnitt 11.3.4 auf der vorherigen Seite). Beispiel: modprobe pg 295 11 Kernel-Parameter 296 12 Update des Systems und Paketverwaltung 12 Update des Systems und Paketverwaltung 12.1 Update des SuSE Linux SuSE Linux bietet die Möglichkeit, ein bestehendes System ohne eine komplette Neuinstallation zu aktualisieren. Dabei muss unterschieden werden zwischen der Aktualisierung einzelner Pakete und einem Update des gesamten Systems. Es ist ein bekanntes Phänomen, dass Software von Version zu Version wächst". Deshalb empfiehlt es sich vor dem Update mit df nachzuschauen, wie sehr die einzelnen Partitionen bereits ausgelastet sind. Wenn Sie den Eindruck haben, es könnte knapp werden, dann führen Sie bitte unbedingt ein Datenbackup durch und partitionieren Sie das System neu. Es kann kein genereller Tipp gegeben werden, wie viel Platz jeweils im Einzelnen benötigt wird ­ der Platzbedarf ist abhängig von der Art der bestehenden Partitionierung, von der ausgewählten Software und von der Versionsnummer des bestehenden Systems auf das vor- liegende SuSE Linux 7.3. Hinweis Es ist empfehlenswert, auf der CD die Datei LIESMICH (engl. README) bzw. unter DOS/Windows die Datei LIESMICH.DOS (engl. README.DOS) zu le- sen; dort notieren wir zusätzliche Änderungen, die nach der Drucklegung des Handbuchs erfolgt sind! 12.1.1 Vorbereitungen Vor Beginn eines Updates sollten sicherheitshalber die alten Konfigurationsda- teien auf ein separates Medium (Streamer, Wechselplatte, Disketten, ZIP-Lauf- werk) kopiert werden. In erster Linie handelt es sich um die Dateien, die in /etc gespeichert sind; weiterhin sind die Konfigurationsdateien unter /var/lib zu kontrollieren (z. B. für den XDM). Zudem kann es nichts schaden, die aktuellen Benutzerdaten unter /home (die HOME-Verzeichnisse) auf ein Backup-Medium zu schreiben. Das Sichern der Daten ist als Systemadministrator `root' durch- zuführen; nur `root' hat die Rechte, alle lokalen Dateien zu lesen. Bevor Sie den Update-Vorgang einleiten, notieren Sie sich die Rootpartition; mit dem Kommando erde: # df / 297 12 Update des Systems und Paketverwaltung können Sie den Gerätenamen der Rootpartition herausfinden; in dem Fall der Ausgabe 12.1.1 ist /dev/hda7 die zu notierende Root-Partition. Filesystem Size Used Avail Use% Mounted on /dev/hda7 3.0G 1.1G 1.7G 38% / /dev/hda5 15M 2.4M 12M 17% /boot shmfs 141M 0 141M 0% /dev/shm /dev/hda1 1.9G 189M 1.7G 10% /dos Ausgabe 12.1.1: Überblick mit df -h Denn die Ausgabe zeigt, dass die Partition /dev/hda7 unter / in das Dateisys- tem eingehängt ( gemountet") ist. Tipp Vor einem PostgreSQL-Update (Paket postgres) empfiehlt es sich in der Regel, die Datenbanken zu dumpen"; vgl. Manual-Page von pg_dump (man pg_dump). Dies ist natürlich nur dann erforderlich, wenn Sie Post- greSQL vor dem Update tatsächlich benutzt haben. Nun müssen Sie noch entscheiden, ob Sie mit dem textorientieren YaST oder mit dem grafischen YaST2 updaten wollen. Die Entscheidung ist einfach: Wenn Sie ein SuSE Linux vor Version 6.0 erneuern möchten ­ in einem solchen Fall nehmen Sie YaST und gehen vor wie in Abschnitt 12.1.3 auf der nächsten Seite beschrieben. Version 6.0 und später kann mit YaST2 erneuert werden. 12.1.2 Update mit YaST2 Nach den in Abschnitt 12.1.1 auf der vorherigen Seite genannten Vorarbeiten booten Sie. Hinweis Sie können ein Update mit YaST2 nur durchführen, wenn Sie ein SuSE Linux 6.x erneuern wollen. Bei älteren Versionen (z. B. SuSE Linux 5.3) ist YaST1 der richtige Weg; vgl. Abschnitt 12.1.3 auf der nächsten Seite. Starten Sie YaST2; wählen Sie zuerst `Software' und dann `Update des Sys- tems'. Das Moduls ruft mehrere Arbeitsschritte auf und YaST2 wird ermitteln, welche Pakete zu aktualisieren sind. Falls gewünscht, kann für jedes Paket ein- zeln entschieden werden, ob ein Update erfolgen soll. Das Basissystem kann da- mit allerdings nicht erneuert werden, denn dazu muss vom Installationsmedium, z. B. von CD, gebootet werden. Beachten Sie bitte, dass ein Update umso problematischer wird, je älter die zu- grundeliegende Version ist, die aktualisiert werden soll und/oder je mehr die Konfiguration der Pakete, die aktualisiert werden sollen, vom Standard abweicht. 298 12.1 Update des SuSE Linux Bisweilen kann die alte Konfiguration nicht korrekt übernommen werden und dann sollte eine komlett neue Konfiguration erstellt werden. Eine bestehende Konfiguration sollte vor dem Update gesichert werden. 12.1.3 Update mit YaST1 Das Basissystem erneuern Da beim Aktualisieren des Grundsystems die zentralen Bestandteile des Sys- tems (wie z. B. Bibliotheken) ausgetauscht werden müssen, kann diese Aufgabe nicht im normalen Betrieb, d. h. aus dem bereits laufenden Linuxsystem heraus, erledigt werden. Sie müssen also die Update-Umgebung starten ­ im Normalfall mit der mitge- lieferten Diskette ( Bootdisk") oder durch Eingabe von manual am Bootprompt des Kernels, wie in Abschnitt 2.1 auf Seite 7 ausführlich beschrieben. Im Wesentlichen sind die folgenden Schritte notwendig: 1. Direkt im Anschluss an das Booten des Kernels von der Bootdisk" oder der Update-CD wird automatisch linuxrc gestartet. 2. Im linuxrc sind im Hauptmenü unter dem Menüpunkt `Einstellungen' Sprache, Bildschirm und Tastatur festzulegen und jeweils mit `Ok' zu be- stätigen. 3. Über den Menüpunkt `Kernel-Module' müssen ggf. die notwendigen Hard- ware-Treiber geladen werden (zum genauen Vorgehen vgl. die linuxrc-Be- schreibung auf Seite 326). 4. Es kann über die Menüpunkte `Installation / System starten' `Installation/Update starten' zur Auswahl des Quellmediums über- gegangen werden (vgl. auf Seite 328). 5. Von linuxrc wird die Installationsumgebung geladen und es wird ­ wie aus- gewählt ­ YaST gestartet. Im Eingangsmenü von YaST wählen Sie bitte den Punkt `Bestehendes Linux- System updaten'; YaST versucht nun, die Root-Partition herauszufinden und bietet das Ergebnis zur Auswahl bzw. Bestätigung an; in der angezeigten Liste geben Sie Ihre Root-Partition an, wie oben notiert (Beispiel: /dev/sda3). So beauftragen Sie YaST, die alte" fstab einzulesen, die sich auf dieser Partition befindet; YaST mountet die dort eingetragenen Dateisysteme. Nun bitte `Wei- ter' wählen. § ¤ Nach der Rückkehr in das Hauptmenü mit ¦Esc ¥ist der Punkt `System upda- ten' an der Reihe (vgl. Abschnitt 3.2 auf Seite 50). Ihr bisheriges System wird von YaST analysiert und das Ergebnis der Analyse angezeigt. Anschließend werden die zentralen Bestandteile Ihres Systems aktualisiert, wo- bei YaST automatisch Sicherungen von Dateien anlegt, die seit der letzten Instal- lation während des Betriebs verändert wurden; weiterhin werden alte Konfigura- tionsdateien ggf. mit der Endung .rpmorig bzw. .rpmsave gesichert (vgl. Ab- schnitt 12.3.2 auf Seite 311); der Vorgang der Installation bzw. des Updates 299 12 Update des Systems und Paketverwaltung wird in /var/adm/inst-log/installation-* protokolliert und ist jeder- zeit nachlesbar. Update des restlichen Systems Ist das Basissystem aktualisiert, gelangen Sie in einen speziellen Update-Modus von YaST. Dort können Sie nach Ihren Wünschen den Rest des Systems updaten. YaST baut zwei Listen auf. In der ersten sind diejenigen Pakete aufgeführt, bei denen YaST selbstständig erkennen kann, dass ein Update sinnvoll und möglich ist, weil sich z. B. ein abhängiges Paket geändert hat oder das neue Paket eine höhere Versionsnummer hat. In der zweiten Liste werden die Pakete angezeigt, deren Update nicht so ohne weiteres möglich ist ­ etwa weil das alte Paket noch ohne Versionsinformation gespeichert war. In diesen beiden Listen können Sie frei Pakete zum Update an- und abwählen. Wenn Sie das Update starten, werden die selektierten Pakete durch die jeweils neue Version ersetzt, wobei wiederum alle Dateien gesichert werden, die sich seit der letzten Installation verändert haben. Nachdem diese Aufgabe erledigt ist, müssen Sie den Vorgang wie eine Erstin- stallation abschließen. Unter anderem sollten Sie einen neuen Kernel auswählen; YaST wird diese Option anbieten. Tipp Wenn Sie es gewohnt sind, mit loadlin zu booten, müssen Sie den neuen Kernel und eventuell die initrd zudem in das loadlin-Verzeichnis Ihrer DOS-Partition kopieren! Wenn Sie nicht möchten, dass nach dem Update, wenn das System in seinen normalen Betriebsmodus geht (zum Standard-Runlevel vgl. Abschnitt 14.2 auf Seite 340) und zuerst YaST noch einmal automatisch gestartet wird, um die durchs Update vorbereiteten Maßnahmen abzuschließen, dann geben Sie am Bootprompt ein: NO_AUTO_SETUP=true Sinn macht NO_AUTO_SETUP=true dann, wenn wider Erwarten bei diesem (erneuten) Hochfahren des Systems Probleme auftreten. Derartige Probleme können vorkommen, wenn Sie essentielle Teile des Linux-Systems über eine PCMCIA-SCSI-Karte einbinden. Um gleichwohl die vorbereitete Konfigurati- onsarbeit durchzuführen, können folgende Schritte gegangen werden: 1. Beim Booten als Option folgenden Parameter angeben: NO_AUTO_SETUP=true 2. Als `root' einloggen und einmal yast -nomenu starten, um eventuelle Konfigurationen durchführen zu lassen. 3. Als `root' das Skript /lib/YaST/bootsetup.conf starten und durch- laufen lassen. 300 12.2 Von Version zu Version Danach ist es genauso, als ob das Konfigurationsprogramm normal durchgelau- fen wäre. Der erfahrene Linux-Anwender wird in einem solchen Fall vielleicht lieber gar nicht erst in den Standard-Runlevel wollen, sondern mittels single am Boot- prompt direkt in den Single-User-Mode (Runlevel S) verzweigen. 12.1.4 Aktualisieren einzelner Pakete Unabhängig von einem Gesamt-Update können Sie jederzeit einzelne Pakete ak- tualisieren; dabei müssen Sie selbst freilich darauf achten, dass das System kon- sistent bleibt: Update-Empfehlungen finden Sie unter http://www.suse.de/ de/support/download/updates/ aufgelistet. In der Paketauswahl von YaST (siehe Abschnitt 3.5.3 auf Seite 70 ff.) können Sie nach Herzenslust schalten und walten. Wählen Sie ein Paket zum Upda- te aus, das für den Betrieb des Systems eine zentrale Rolle spielt, werden Sie von YaST gewarnt. Derartige Pakete sollten im speziellen Update-Modus ak- tualisiert werden. Beispielsweise enthalten etliche Pakete shared libraries", die möglicherweise zum Zeitpunkt des Updates von laufenden Prozessen verwendet werden. Ein Update im laufenden System würde daher dazu führen, dass diese Programme nicht mehr korrekt funktionieren können. 12.2 Von Version zu Version In den folgenden Abschnitten wird aufgelistet, welche Details sich von Version zu Version geändert haben. In dieser Übersicht erscheint z. B., ob grundlegende Einstellungen neu vorgenommen oder ob Konfigurationsdateien an andere Stel- len verschoben wurden oder ob bereits bekannte Programme erkennbar modifi- ziert wurden. Es werden jedoch nur die Dinge genannt, die den Benutzer bzw. den Administrator bei der täglichen Arbeit unmittelbar berühren. Die Liste ist keineswegs erschöpfend und vollständig. Im Folgenden wird auf die SDB ver- wiesen, die auch im Paket sdb_de, Serie doc enthalten ist. Probleme und Besonderheiten der jeweiligen Version werden bei Bekanntwerden auf dem WWW-Server veröffentlicht; vgl. die unten angegebenen Links. Wich- tige Updates einzelner Pakete sind über http://www.suse.de/de/support/ download/updates/ zugänglich. 12.2.1 Von 5.x auf 6.0 Probleme und Besonderheiten: file:/usr/share/doc/sdb/de/html/bugs60.html. * Die X-Server werden aus Sicherheitsgründen nicht mehr suid root installiert (also ohne das s-Bit). Das X Window System ist deshalb entweder über den Xwrapper via startx oder über einen Displaymanager (xdm oder kdm) zu starten. 301 12 Update des Systems und Paketverwaltung * Benutzer, die Terminalprogramme wie minicom, seyon etc. verwenden wol- len, müssen in die Gruppe `uucp' eingetragen werden; vgl. file:/usr/ share/doc/sdb/de/html/ke_terminal-prog.html. * Emacs liegt in der Version 20.x vor; es sind die gleichfalls angepassten Start- dateien aus /etc/skel zu verwenden; vgl. file:/usr/share/doc/sdb/ de/html/ke_emacs-update.html. * Teile der /etc/rc.config sind bei Paketen mit umfangreichen Konfigura- tionsmöglichkeiten in Dateien des Verzeichnisses /etc/rc.config.d aus- gelagert. * cron ist in der Lage, Skripten in den Verzeichnissen /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly aus- zuführen; die System-crontab ist von /root/bin/cron.daily in /etc/ cron.daily/aaa_base umbenannt worden; vgl. auch auf Seite 305. 12.2.2 Von 6.0 auf 6.1 Probleme und Besonderheiten: file:/usr/share/doc/sdb/de/html/bugs61.html. * Weitere Treiber, die eventuell bei der Erstinstallation oder beim Update not- wendig sind (proprietäre CD-ROM-Laufwerke, Laufwerke am Parallelport, PCMCIA) finden Sie auf der zusätzlich mitgelieferten modules-Diskette. linuxrc wird Sie bei Bedarf zu gegebener Zeit auffordern, diese modules- Diskette einzulegen (Abschnitt 2.1.2 auf Seite 8). 12.2.3 Von 6.1 auf 6.2 Probleme und Besonderheiten: file:/usr/share/doc/sdb/de/html/bugs62.html. * rpm (vgl. auch Abschnitt 12.3 auf Seite 310) liegt in der Version 3.0 vor. Das Format der RPM-Datenbank hat sich geändert; die Datenbank muss sofort konvertiert werden, wenn rpm installiert ist. Bei einem regulären Update des (Basis-)Systems mit YaST wird die Konvertierung zum richtigen Zeitpunkt im Hintergrund durchgeführt. * Die System-Bibliothek glibc liegt in Version 2.1 vor. Soweit möglich, werden Komponenten mitgeliefert, die auch weiterhin die Ausführung von glibc-2.0- Programmen erlauben; dies stößt jedoch auf seine Grenzen, wenn versucht wird, auf bestimmte interne Symbole zuzugreifen. Eigene Programme sollten folglich grundsätzlich neu compiliert werden. * Zu der glibc gehört auch der nscd (engl. Name Service Cache Daemon), der über die Datei /etc/nscd.conf konfiguriert wird; vgl. Manual-Page von nscd (man 8 nscd). 302 12.2 Von Version zu Version * Mit der glibc-2.1 wird der Umstieg auf Unix98 PTY"-Devices vollzogen. Dies bedingt, dass auch das devpts-Dateisystem zu mounten ist; folgender Eintrag in der /etc/fstab stellt dies beispielsweise sicher: none /dev/pts devpts gid=5,mode=620 0 0 Vgl. auch die Dokumentation in /usr/src/linux/Documentation/ Changes bei den Kernelquellen. * PAM (engl. Pluggable Authentication Modules): Zusätzlich zu /etc/login. defs gibt es nun /etc/securetty, /etc/security/limits.conf und /etc/security/pam_env.conf; vgl. auf Seite 86. * Spracheinstellungen können über Variablen in der /etc/rc.config vor- genommen werden; vgl. auf Seite 347 und auch file:/usr/share/doc/ sdb/de/html/ml_locale_implementation.html. Wer deutsche Mel- dungen nicht mag, kann z. B. in .bashrc eintragen: export LC_MESSAGES=C 12.2.4 Von 6.2 auf 6.3 Probleme und Besonderheiten: file:/usr/share/doc/sdb/de/html/bugs63.html. * Es werden unterschiedlich optimierte Kernel zur Installation angeboten; die- se Kernel verwenden eine initrd" (engl. Initial Ramdisk). Beim Erzeu- gen eines eigenen Kernels ist diese Nebenbedingung zu beachten; vgl. Ab- schnitt 13.4.5 auf Seite 324 und file:/usr/share/doc/sdb/de/html/ adrian_6.3_boot.html. * Die Konfigurationsdatei für die Kernel-Module heißt in Übereinstimmung mit vielen anderen Konfigurationsdateien /etc/modules.conf (früher: /etc/conf.modules). * Neben dem Userspace"-NFS-Daemon (Paket nfs-server, früher Paket nfsserv) steht auch der kernel-basierte NFS-Daemon (Paket knfsd) zur Verfügung. Der knfsd zeigt nur einen eingeschränkten Funktionsumfang, be- herrscht dafür aber das Locken von Dateien; darauf ist beispielsweise Star- Office angewiesen. Setzen Sie bitte USE_KERNEL_NFSD oder NFS_SERVER in /etc/rc.config und installieren Sie das für Sie richtige Paket. * Die Manpages liegen unter /usr/share/man, wie es der FHS (engl. File- system Hierarchy Standard) verlangt; vgl. Abschnitt 13.1.1 auf Seite 317. * Auslagerung der sendmail-Einstellungen von der /etc/rc.config in die Datei /etc/rc.config.d/sendmail.rc.config; vgl. file:/usr/ share/doc/sdb/de/html/mneden_6.3_sendmail.html. * Aus Sicherheitsüberlegungen wird bei der Standardauswahl der WU-FTPD (Paket wuftpd, Serie n) nicht mehr installiert. 303 12 Update des Systems und Paketverwaltung * Bei leafnode hat sich ab Version 1.9.2 das Verzeichnis der Konfigurations- dateien geändert. Sie befinden sich nun unter /etc/leafnode anstatt unter /usr/lib/leafnode. Falls Sie Ihre Konfigurationsdatei geändert haben, befindet sich die Siche- rungskopie unter /usr/lib/leafnode/config.rpmsave. Bitte überneh- men Sie Ihre Anpassungen manuell in die neue Konfigurationsdatei. Wenn Sie von einer älteren Version (vor 1.9.3) updaten, führen Sie bitte zuerst das Shellskript /usr/doc/packages/leafnode/update.sh aus (Achtung: seit SuSE Linux 7.0 liegen die Dokumentationen unter /usr/ share/doc!): erde: # cd /usr/doc/packages/leafnode erde:/usr/doc/packages/leafnode # ./update.sh \ /var/spool/news/ /etc/leafnode /var/lock/news/fetchnews.lck Hierbei werden die Datei groupinfo und ein paar weitere umorganisiert (groupinfo wird nun nicht mehr case-sensitiv" sortiert). Falls hierbei et- was schief geht, finden Sie die alte Datei unter /var/spool/news/leaf. node/groupinfo.old. Wenn das Skript erfolgreich durchgelaufen ist, kön- nen Sie diese Datei (.old) anschließend löschen. Hinweis: Das Programm fetch im Verzeichnis /usr/sbin heißt seit Ver- sion 1.9.3 fetchnews. Bitte passen Sie Cronjobs" oder sonstige Skripten (z. B. /etc/ppp/ip-up) entsprechend an. * MySQL läuft unter der UID `mysql' und der GID `daemon', um mehr Sicherheit zu gewährleisten. * Fortify liegt unter /opt/fortify; es kann nach der Anwendung deinstalliert werden. 12.2.5 Von 6.3 auf 6.4 Probleme und Besonderheiten: * Kernel: Paket kernmod bzw. Paket kernmods sind nicht mehr notwen- dig. Die passend optimierten Kernel-Module werden in einem Rutsch" mit dem jeweils ausgewählten Kernel installiert (vgl. 3.7.2 auf Seite 78). Die Konfigurationsdateien des installierten Kernels liegen unter /boot als vmlinuz.config-pentium (Beispiel!), vmlinuz.autoconf.h und vmlinuz.version.h. Auf Wunsch kopiert YaST diese Dateien in den Baum der Kernelquellen. * Gültige Login-Shells sind in /etc/shells eingetragen; vgl. Manual-Page von shells (man 5 shells). Wird einem Benutzer /bin/true zugeord- net, so kann sich dieser Benutzer nur über das X Window Systemanmelden; dieser Benutzer bekommt keine Shell. /bin/false als Login-Shell" ver- hindert jegliche Anmeldung. * Um die Sicherheit zu erhöhen, ist der XDM (xdm) nun so voreingestellt, dass XDMCP- oder Chooser-Anfragen nicht angenommen werden. Wenn 304 12.2 Von Version zu Version Sie z. B. X-Terminals bedienen wollen, muss in /var/X11R6/lib/xdm/ xdm-config die Zeile mit der Option DisplayManager.requestPort durch Voranstellen eines Ausrufungszeichens auskommentiert werden; vgl. Manual-Page von xdm (man xdm): !DisplayManager.requestPort: 0 * Unter X ist die Compose-Taste ( Multi_key") über die Tastenkombination § ¤ § ¤ ¦Shift ¥+ ¦Strg ¥(rechts) zu erreichen; vgl. Abschnitt 13.8 auf Seite 334. * Paket aaa_base: Die täglichen Wartungsarbeiten am System sind aus Grün- den der Übersichtlichkeit auf mehrere Skripten verteilt worden. In /etc/ cron.daily gibt es nun neben aaa_base die Komponenten backup_rpmdb, clean_catman, clean_core, clean_instlog, clean_tmp, do_mandb, rotate_logs und updatedb ­ jeweils erkennbar an dem Vorwort aaa_ base_; aaa_base liest zudem cron.daily.local, wo eigene Erweite- rungen eingetragen werden können. Zum cron-System vgl. Abschnitt 13.3.2 auf Seite 318. * Eine neuere Version von tar (tar) wird mitgeliefert. Das Überschreibverhal- ten beim Auspacken vorhandener Dateien ist geändert; wenn Sie auf den al- ten Modus angewiesen sind, verwenden Sie bitte die Option --overwrite. * Zum Paket SuSEfirewall (früher: Paket firewals): Die Konfigurations- datei /etc/rc.firewall wurde aus Gründen der Konsistenz nach /etc/ rc.config.d/firewall.rc.config umbenannt. * Zum Paket samba: Mit dem Update auf Version 2.0.6 hat sich die Syntax des smbmount-Kommandos geändert! smbmount muss von dem Shellskript /sbin/mount.smbfs aufgerufen werden, welches wiederum von mount aufgerufen wird; ein Beispielaufruf: erde: # mount -t smbfs -o username=uname,password=passwd \ //smbserv/share /destination * Zum Paket postfix: Weitere Möglichkeiten der Einstellung sind hinzuge- kommen; die Startvariablen sind nach /etc/rc.config.d/postfix.rc. config ausgelagert worden; vgl. auch Abschnitt 14.5 auf Seite 344. * Das Paket squid, also die Version 1.x des WWW Proxy-Servers, wird nicht mehr mitgeliefert. Da die nunmehr etablierte Version 2.x als stabil zu be- trachten ist, empfiehlt sich ein genereller Umstieg. Während des Updates wird das Paket squid nicht automatisch durch das Paket squid2 ersetzt; sichern Sie die alte Konfigurationsdatei, deinstallieren Sie dann das Paket squid und installieren Sie das Paket squid2. Nun können Sie mit den neuen Dateien starten und wieder Ihre eigenen Anpassungen vornehmen ­ zusätzli- che Informationen sind unter http://www.squid-cache.org zu finden. * Der empfohlene DHCP-Client ist im Paket dhcpcd enthalten; für besondere Fälle wird weiterhin Paket dhclient mitgeliefert. * Aus Sicherheitsgründen ist anonymes FTP nicht mehr automatisch zugelas- sen. Um bei dem FTP-Daemon in.ftpd anonymes FTP zu erlauben, muss 305 12 Update des Systems und Paketverwaltung in /etc/pam.d/ftpd das Kommentarzeichen `#' entfernt werden vor der Zeile: auth sufficient /lib/security/pam_ftp.so * Passwort ändern mit PAM (engl. Pluggable Authentication Modules): pam_unix kann auch NIS-Passwörter ändern und versteht md5-Hashes als Passwort. Vorsicht ­ vgl. Abschnitt 3.7.6 auf Seite 86. Außerdem gibt es jetzt ein neues pam_pwcheck-Module, welches die Über- prüfung neuer Passwörter übernimmt. Der alte Eintrag: password required /lib/security/pam_unix.so #strict=false muss geändert werden in (jeweils nur eine Zeile oder mit \ ( Gegenstrich") am Zeilenende!): password required /lib/security/pam_pwcheck.so \ nullok #use_cracklib password required /lib/security/pam_unix.so \ nullok use_first_pass use_authtok Dieser manuelle Eingriff ist nur notwendig, falls rpm beim Update die Konfi- gurationsdateien nicht selbst ändern darf, da der Systemadministrator eigene Änderungen gemacht hat. Dies gilt übrigens für alle Konfigurationsdateien von PAM unter /etc/pam.d. * Zusätzlich zu den Manual-Pages (vgl. Abschnitt 12.2.4 auf Seite 303) liegen auch die Info-Seiten unter /usr/share. * makewhatis (Paket makewhat) verwendet nun das Hilfsprogramm manpath, um die Manual-Pages zu finden. Die Umgebungsvariable MAN- PATH soll in rc-Dateien nicht mehr gesetzt werden. * ldconfig wird nur aufgerufen, wenn ein /lib-Verzeichnis neuer als /etc/ld.so.cache ist; ggf. wird es im Hintergrund gestartet. Der Auf- ruf von ldconfig lässt sich erzwingen, wenn die Umgebungsvariable run_ldconfig auf true gesetzt wird; es ist möglich, bereits am Boot- prompt "run_ldconfig=true" zu setzen. * Das Paket ncurses liegt in Version 5.0 vor; von der shared library" wird weiterhin auch Version 4.2 mitgeliefert, sodass man vorkompilierte Program- me in der Regel weiterverwenden kann. * Das Paket apache ist aufgeteilt worden. Installieren Sie auch die mod_*- Unterpakete, wenn Sie spezielle Erweiterungen benötigen. Die Dokumenta- tion zu PHP finden Sie im Paket phpdoc. Die Logdateien sind aus Gründen der Übersichtlichkeit in /var/log/httpd zu finden. * Roxen ist folgendermaßen aufgeteilt: Das Paket roxen ohne und das Paket roxen-ssl (früher: Paket roxenssl) mit Kryptographie-Unterstützung. * Das Paket changes wurde aufgegeben. Die gewünschten Informationen kann rpm direkt anzeigen: tux@erde: > rpm -q --changelog 306 12.2 Von Version zu Version 12.2.6 Von 6.4 auf 7.0 Probleme und Besonderheiten: file:/usr/share/doc/sdb/de/html/bugs70.html. * Alle Kernelmodule ( Treiber") sind Bestandteil des jeweils installierten Ker- nels (Single-, Multiprozessor-Kernel etc.); so wird sichergestellt, dass die passend kompilierten Module installiert sind. * Das X Window System 4.0 unterstützt einige alter Grafikkarte nicht mehr bzw. einige neue Karten noch nicht; vgl. Abschnitt 6.2 auf Seite 144. Das Setup-Programm wird diesen Umstand bemerken und automatisch auf die weiterhin mitgelieferte Vorgängerversion 3.3.x ausweichen. Die Entwicklungsumgebung der Version 3.3.x ist auch dann zu installieren, wenn man Pakete gemäß Linux Development Platform Specification" bauen möchte; vgl. Abschnitt 13.3.1 auf Seite 318. * Paket openssh: Um die Sicherheit zu erhöhen, ist X11-forwarding" stan- dardmäßig ausgeschaltet. Mit dem Parameter -X kann dies Feature einge- schaltet werden. In /etc/ssh/ssh_config kann durch den Eintrag von ForwardX11 yes das Forwarding global oder nur für bestimmte Rechner eingeschaltet werden. Benutzer können diese Option auch in ~/.ssh/config setzen. * ypserv aus dem Paket ypserv ist nicht länger gegen die tcp-wrapper"- Bibliothek gelinkt, sondern benutzt /var/yp/securenets. Nach einem Update sollten die Einstellungen aus /etc/hosts.allow bzw. aus /etc/ hosts.deny nach /var/yp/securenets übernommen werden. * Der Portmapper wird über /sbin/init.d/portmap (seit der 7.1 über /etc/ init.d/portmap) bzw. mit rcportmap gestartet; /sbin/init.d/rpc ist nunmehr obsolete. * Dem FHS (engl. Filesystem Hierarchy Standard) gemäß (vgl. Abschnitt 13.1.1 auf Seite 317) ist die architekturunabhängige Dokumentation nun unter /usr/ share/doc zu finden (früher /usr/doc). * Das Paket bttv ist nicht mehr dabei; die Kernelmodule sind Bestandteil des jeweils installierten Kernels. * Die Bibliothek gtk-XmHTML steht als separates Paket gxmhtml zur Verfü- gung; ausgelagert aus dem Paket gnlibs. * Zum Paket cron: Wie es der FHS verlangt, liegen die cron-Tabellen unter /var/spool/cron/tabs; vgl. Abschnitt 13.3.2 auf Seite 318. * Zum Paket postgres: PostgreSQL und all die zugehörigen Komponenten sind konsequent in Anlehnung an die Originalpakete aufgeteilt worden. Paket pg_datab mit der Initialisierungsdatenbank ist nicht mehr notwendig; die Initialisierung erledigt im Bedarfsfall das Startskript. 307 12 Update des Systems und Paketverwaltung * Zum Paket mutt: Zahlreiche Einzelheiten haben sich geändert. Die Konfigu- rationsdateien /etc/Muttrc und /etc/skel/.muttrc versuchen soweit möglich das gewohnte Verhalten zu bewahren; in .muttrc sorgen die Zei- len set autoedit=yes set edit_headers=yes dafür, dass sofort der Editor gestart wird, wenn eine Mail geschrieben werden soll. Andererseits gibt es gewichtige Änderungen, die ein neues Verhalten erfordern (z. B. bei PGP). Bitte lesen Sie die mitgelieferte Dokumentation. 12.2.7 Von 7.0 auf 7.1 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs71.html. * Kernel: Die low-level"-Treiber für spezielle EIDE-Chipsätze sind in den Standardkernel integriert; k_eide bzw. eide sind als separate Images nicht mehr notwendig. Mithin entfällt das Erstellen einer eigenen Bootdiskette, wenn man auf diese Treiber angewiesen ist. * Die Bedeutung der Runlevel hat sich geändert; vgl. Tabelle 14.1 auf Sei- te 340. Die init-Skripten liegen nun in /etc/init.d; falls eigene Skripten erstellt wurden, sollten diese vor dem Update gesichert werden. * DEFAULT_LANGUAGE: Neuer Name für die ehemalige Variable LANGUAGE in der /etc/rc.config; vgl. Abschnitt 13.9 auf Seite 336. * Die /etc/resolv.conf wird direkt von YaST bzw. YaST2 geschrieben; nicht mehr von SuSEconfig. Seit Version 7.2 übernimmt diese Aufgabe das Skript /sbin/modify_resolvconf aus dem Paket aaa_base. * Die Beschränkung der Paketnamen auf 8 Zeichen ist gefallen und viele Pake- te konnten eingängige Namen bekommen. Beim Upgrade des System wer- den diese Umbenennungen berücksichtigt und die gewohnten Programme werden weiterhin automatisch zur Verfügung stehen. Bei einer Neuinstalla- tion ist darauf zu achten, dass die Pakete unter dem neuen Namen gewählt werden. * Die Funktionalität des Pakets dochost wurde in das Paket susehelp über- nommen; dochost ist damit obsolete. * Zum ehemaligen Paket ypclient: Dies Paket ist nunmehr in die Pakete yp- bind und yp-tools aufgeteilt und das Init-Skript heißt ypbind. * Zum Paket jade_dsl: Um einen Konflikt mit dem Paket rzsz zu vermei- den, heißt das Kommandozeilentool sx nun s2x bzw. sgml2xml. 308 12.2 Von Version zu Version 12.2.8 Von 7.1 auf 7.2 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs72.html. * Paket nkitb, wie zuvor bereits Paket nkita, ist aufgelöst; die einzelnen Pro- gramme sind in den Paketen talk, rsh, finger, rwho, telnet usw. und den entsprechenden -server-Paketen leicht zu finden. In Paket iputils ist beispielsweise ping enthalten. Einige Programme sind bereits IPv6 ready" . Achten Sie deshalb darauf, dass DNS richtig konfiguriert ist ­ andernfalls kann es passieren, dass der DNS-Timeout für IPv6-Anfrage abgewartet werden muss; in /etc/nsswitch. conf ist die Option dns durch dns6 zu ersetzen. * Umbenennung weiterer Pakete (vgl. dazu auf der vorherigen Seite); z. B.: Serie sgm: Paket docbook-dsssl-stylesheets, Paket docbook_3 und Paket docbook_4. * Das Paket mod_php4 ist nun anstelle von mod_php zu installieren. * Die Bestandteile des Emacs' sind auf mehrere Pakete verteilt: ­ Basispaket emacs. ­ Dazu ist in der Regel das Paket emacs-x11 zu installieren, in dem das Programm mit X11-Unterstützung enthalten ist. ­ Im Paket emacs-nox ist das Programm ohne X11-Unterstützung enthal- ten. ­ Paket emacs-info: Online-Dokumentation im Info-Format. ­ Paket emacs-el enthält die nicht kompilierten Bibliotheksdateien in Emacs Lisp ­ zur Laufzeit nicht erforderlich! ­ Zahlreiche Zusatzpakete, die nach Bedarf installiert werden können: Pa- ket emacs-auctex (für LATEX); Paket psgml (für SGML/XML); Paket gnuserv (für Client-/Serverbetrieb) usw. * Änderungen im Zusammenhang mit dem FHS (vgl. Abschnitt 13.1.1 auf Sei- te 317): ­ /media (war /cdrom und /floppy) Für eine Übergangszeit stehen Kompatibilitätslinks zur Verfügung. 12.2.9 Von 7.2 auf 7.3 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs73.html. * Beim Kernel 2.4, der mit SuSE Linux ausgeliefert wird, ist nunmehr IDE- DMA eingeschaltet. Das YaST2-Modul Tuning des Systems" (Paket yast2- config-tune) sowie das Backend idedma sind nunmehr obsolet. Sollte es im Zusammenhang mit DMA zu Schwierigkeiten kommen, können Sie auf die Startoption `Installation - Safe Settings' ausweichen; vgl. auf Seite 8. 309 12 Update des Systems und Paketverwaltung * Unabhängig von der rc.config-Variablen DISPLAYMANAGER ist dafür zu sorgen, dass der gewünschte Runlevel in /etc/inittab eingetragen ist. YaST2 kann dies sicherstellen; vgl. Abschnitt 4.6.2 auf Seite 96. * Samba: Die Konfigurationsdateien sind in das Verzeichnis /etc/samba ver- schoben worden, um die Übersichtlichkeit zu erhöhen. * MySQL verwendet nun die TCP-Wrapper-Bibliothek, um die Sicherheit zu erweitern. Das neue Unterpaket mysql-Max beinhaltet die neuen bzw. erweiterten Fea- tures; diese stehen nach Installation des Paketes automatisch zur Verfügung. * Um Platz zu sparen (mehr als 30 MB), wird das Paket allman nicht mehr mitgeliefert; die Manual-Pages sind jedoch weiterhin bei den jeweiligen Pa- keten dabei. * DocBook-Dokumente, die bestimmte Features" verwenden, werden von db2x.sh akzeptiert (Paket docbktls). Wer auf kompatible Dokumente an- gewiesen ist, sollte mit der Option --strict arbeiten. 12.3 RPM ­ Der Paket-Manager der Distribution Bei SuSE Linux kommt RPM (rpm) (engl. RPM Package Manager) als Paket- Management zum Einsatz. Damit steht den Benutzern, den Systemadministrato- ren und nicht zuletzt den Pakete-Macher die mächtige RPM-Datenbank zur Ver- fügung, über die jederzeit detaillierte Informationen zur installierten Software abgefragt werden können. Im Wesentlichen kann rpm in drei Modi agieren: installierbare Pakete aus den unangetasteten Quellen (engl. pristine sources) herstellen, diese Pakete installie- ren bzw. auch wieder sauber de-installieren oder updaten sowie Anfragen an die RPM-Datenbank bzw. an einzelne RPM-Archive richten. Installierbare RPM-Archive sind in einem speziellen binären Format gepackt; die Archive bestehen aus den zu installierenden (Programm-)Dateien und aus verschiedenen Meta-Informationen, die während der Installation von rpm be- nutzt werden, um das jeweilige Softwarepaket zu konfigurieren, oder die zu Do- kumentationszwecken in der RPM-Datenbank abgelegt werden. RPM-Archive haben die Dateinamen-Endung .rpm. Tipp Bei etlichen Paketen sind die für die Software-Entwicklung notwendigen Komponenten (Bibliotheken, Header- und Include-Dateien etc.) in eigene Pakete ausgelagert. Diese Entwicklungspakete werden nur benötigt, wenn Sie Software selbst übersetzen (compilieren) wollen ­ beispielsweise neue- re GNOME-Pakete. Diese Entwicklungspakete sind in der Regel an dem Namenszusatz -devel (früher: dev oder d) zu erkennen: Paket alsa- devel, Paket gimp-devel, Paket kdelibs-devel etc. 310 12.3 RPM ­ Der Paket-Manager der Distribution 12.3.1 Prüfen der Authentizität eines Pakets Seit der Version 7.1 sind RPM-Pakete von SuSE mit GnuPG signiert: 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA Mit dem Befehl erde:~ # rpm --verbose --checksig apache-1.3.12.rpm kann man die Signatur eines RPM-Pakets überprüfen und so feststellen, ob es wirklich von SuSE oder einer anderen vertrauenswürdigen Stelle stammt; insbe- sondere bei Updatepaketen, die man aus dem Internet lädt, ist dies zu empfehlen. Unser öffentlicher Paketsignierschlüssel ist standardmäßig in /root/.gnupg/ hinterlegt. 12.3.2 Pakete verwalten: Installieren, Updaten und Deinstallieren Im Normalfall ist das Installieren eines RPM-Archivs schnell erledigt: erde: # rpm -i .rpm Mit diesem Standardbefehl wird ein Paket aber nur dann installiert, wenn die Abhängigkeiten" erfüllt sind und wenn es zu keinen Konflikten" kommen kann; rpm fordert per Fehlermeldung die Pakete an, die zum Erfüllen der Abhän- gigkeiten notwendig sind. Die Datenbank wacht im Hintergrund darüber, dass es zu keinen Konflikten kommt: eine Datei darf in der Regel nur zu einem Paket ge- hören. Mit verschiedenen Optionen kann man sich über diese Regel hinwegset- zen ­ wer dies tut, der sollte aber genau wissen, was er tut, da er damit eventuell die Updatefähigkeit des Systems aufs Spiel setzt. Interessant ist auch die Option -U bzw. --upgrade, um ein Paket zu aktualisie- ren. Dadurch wird eine ältere Version des gleichen Pakets gelöscht und dann die neue Version installiert. Gleichzeitig versucht rpm, sorgfältig mit den Konfigu- rationsdateien umzugehen, wobei ­ etwas vereinfacht ­ die folgende Strategie zum Tragen kommt: * Falls eine Konfigurationsdatei vom Systemadministrator nicht verändert wur- de, dann wird von rpm die neue Version der entsprechenden Datei installiert. Es sind keine Eingriffe seitens des Administrators notwendig. * Falls eine Konfigurationsdatei vom Administrator zu einem Zeitpunkt vor dem Update geändert wurde, dann wird rpm die geänderte Datei dann ­ und nur dann ­ mit der Erweiterung .rpmorig oder .rpmsave sichern und die neue Version aus dem RPM-Paket installieren, wenn sich zwischen ursprüng- licher Datei und der Datei aus dem Update-Paket etwas geändert hat. In die- sem Fall ist es sehr wahrscheinlich, dass Sie die frisch installierte Konfigura- tionsdatei anhand der Kopie (.rpmorig oder .rpmsave) auf Ihre System- Bedingungen hin abstimmen müssen. 311 12 Update des Systems und Paketverwaltung * .rpmnew-Dateien werden immer dann auftauchen, wenn es die Konfigura- tionsdatei bereits gibt und wenn in der .spec-Datei die noreplace-Kennung gesetzt wurde. Im Anschluss an ein Update sollten nach dem Abgleich alle .rpmorig-, .rpmsave- bzw. .rpmnew-Dateien unbedingt entfernt werden, um kommen- den Updates nicht als Hindernis im Wege zu liegen. Die Erweiterung .rpmorig wird gewählt, wenn die Datei der RPM-Datenbank noch nicht bekannt war, sonst kommt .rpmsave zum Zuge; mit anderen Worten: .rpmorigs entstehen beim Update von Fremdformat auf RPM und .rpmsave beim Update von RPM-alt auf RPM-neu. Bei .rpmnew kann keine Aussage gemacht werden, ob vom Sys- temadministrator eine Änderung an der Konfigurationsdatei vorgenommen wur- de oder ob nicht. Die Option -U ist also mehr als ein Äquivalent für die Abfolge -e (Deinstallie- ren/Löschen) und -i (Installieren). Wann immer möglich, dann ist der Option -U der Vorzug zu geben. Hinweis Nach jedem Update müssen Sie die von rpm angelegten Sicherungskopien mit der Erweiterung .rpmorig oder .rpmsave kontrollieren; das sind Ih- re alten Konfigurationsdateien. Falls erforderlich, übernehmen Sie bitte Ihre Anpassungen aus den Sicherungskopien in die neuen Konfigurationsdatei- en, und löschen Sie dann die alten Dateien mit der Erweiterung .rpmorig bzw. .rpmsave. Wenn ein Paket entfernt werden soll, geht man ähnlich geradlinig vor: erde: # rpm -e rpm wird ein Paket aber nur dann entfernen, wenn keine Abhängigkeiten mehr bestehen; so ist es z. B. theoretisch nicht möglich, Tcl/Tk zu löschen, solange noch irgendein anderes Programm Tcl/Tk benötigt ­ auch darüber wacht RPM mithilfe der Datenbank. Falls in einem Ausnahmefall eine derartige Lösch-Operation nicht möglich sein sollte, obwohl keine Abhängigkeiten mehr bestehen, dann kann es hilfreich sein, die RPM-Datenbank mittels der Option -rebuilddb neu aufzubauen; vgl. unten die Anmerkungen zur RPM-Datenbank (Abschnitt 12.3.3 auf Seite 314). 12.3.3 Anfragen stellen Mit der Option -q (engl. query) leitet man Anfragen ein. Damit ist es sowohl möglich die RPM-Archive selbst zu durchleuchten (Option -p ) als auch die RPM-Datenbank zu befragen. Die Art der angezeigten Information kann man mit den zusätzlichen Optionen auswählen; vgl. Tabelle 12.1 auf der nächsten Seite. 312 12.3 RPM ­ Der Paket-Manager der Distribution -i Paket-Informationen anzeigen -l Dateiliste des Pakets anzeigen -f Anfrage nach Paket, das die Datei besitzt; muss mit vollem Pfad angegeben werden! -s Status der Dateien anzeigen (impliziert -l) -d Nur Dokumentationsdateien auflisten (impliziert -l) -c Nur Konfigurationsdateien auflisten (impliziert -l) --dump Alle überprüfbaren Infos zu jeder Datei anzeigen (mit -l, -c oder -d benutzen!) --provides Fähigkeiten des Pakets auflisten, die ein anderes Paket mit --requires anfordern kann --requires, -R Paket-Abhängigkeiten ausgeben --scripts Die diversen (De-)Installations-Skripten ausgeben Tabelle 12.1: Die wichtigsten Abfrageoptionen (-q [-p] . . . ) Der Befehl erde: # rpm -q -i rpm gibt die Information in Ausgabe 12.3.1 aus. Name : rpm Relocations: (not relocateable) Version : 3.0.3 Vendor: SuSE GmbH, Germany Release : 47 Build Date: Fri Dec 10 13:50:27 Install date: Tue Dec 14 12:57:00 1999 Build Host: Cauchy.suse.de Group : unsorted Source RPM: rpm-3.0.3-47.src.rpm Size : 5740847 License: GPL Packager : feedback@suse.de Summary : RPM Package Manager Description : RPM Package Manager is the main tool for managing software packages of the SuSE Linux distribution. [...] Ausgabe 12.3.1: rpm -q -i rpm Die Option -f führt nur dann zum Ziel, wenn man den kompletten Dateinamen, einschließlich des Pfades, kennt; es dürfen beliebig viele zu suchende Dateina- men angegeben werden, z. B.: erde: # rpm -q -f /bin/rpm /usr/bin/wget führt zu dem Ergebnis: rpm-3.0.3-3 wget-1.5.3-55 Kennt man nur einen Teil des Dateinamens, so muss man sich mit einem Shell- Skript behelfen (vgl. Datei 12.3.1 auf der nächsten Seite); der gesuchte Da- teiname ist als Parameter beim Aufruf des Skripts zu übergeben. Mit dem Befehl erde: # rpm -q --changelog rpm 313 12 Update des Systems und Paketverwaltung #! /bin/sh for i in `rpm -q -a -l | grep $1 `; do echo "\"$i\" ist in Paket:" rpm -q -f $i echo "" done Datei 12.3.1: Paket-Suchskript kann man sich gezielt die Auflistung der Informationen (Updates, Konfiguration, Änderungen etc.) zu einem bestimmten Paket anzeigen lassen; hier beispielswei- se zu dem Paket rpm. Anhand der Datenbank lassen sich auch Überprüfungen durchführen; eingelei- tet werden diese Vorgänge mit der Option -V (gleichbedeutend mit -y oder --verify). Damit veranlasst man rpm, all die Dateien anzuzeigen, die sich im Vergleich zur ursprünglichen Version, wie sie im Paket enthalten war, geändert haben. rpm stellt dem eigentlichen Dateinamen bis zu acht Zeichen voran, die auf folgende Änderungen hinweisen: 5 MD5-Prüfsumme S Dateigröße L Symbolischer Link T Modification Time D major" und minor" Gerätenummer (engl. device number) U Benutzer (engl. user) G Gruppe (engl. group) M Modus (einschl. Rechte und Typus) Tabelle 12.2: Die Überprüfungen Bei Konfigurationsdateien wird zusätzlich ein c ausgegeben. Beispiel, falls etwas an /etc/wgetrc aus dem Paket wget geändert wurde: erde: # rpm -V wget S.5....T c /etc/wgetrc Die Dateien der RPM-Datenbank liegen unter /var/lib/rpm. Bei einer /usr- Partition von 1 GB kann die Datenbank durchaus 30 MB Plattenplatz beanspru- chen; insbesondere nach einem kompletten Update. Falls die Datenbank über Gebühr groß erscheint, ist es meist hilfreich, mit der Option --rebuilddb eine neue Datenbank auf Basis der existierenden zu erstellen; es ist sinnvoll, vor ei- nem solchen Rebuild" eine Kopie der existierenden Datenbank aufzubewahren. Weiterhin legt das cron-Skript cron.daily täglich gepackte Kopien der Da- tenbank unter /var/adm/backup/rpmdb an, deren Anzahl durch die Variable (Standard: 5) in der /etc/rc.config vorge- geben wird; es ist mit bis zu 3 MB pro Backup zu rechnen (bei einer 1 GB großen /usr). Dieser Platzverbrauch ist bei Bestimmung der Größe der Root-Partition unbedingt zu berücksichtigen, falls man für /var keine eigene Partition vorse- hen will. 314 12.3 RPM ­ Der Paket-Manager der Distribution 12.3.4 Quellpakete installieren und kompilieren Alle Quellpakete (engl. Sources) der SuSE Linux liegen in der Serie zq (Quell- pakete) und haben die Erweiterung .spm hinter dem eigentlichen Paketnamen; diese Dateien sind die sog. Source-RPMs". Tipp Diese Pakete können mit YaST ­ wie jedes andere Paket ­ installiert wer- den; allerdings werden Quellpakete nie als installiert ([i]) markiert wie die regulären" anderen Pakete. Dies liegt daran, dass die Quellpakete nicht in die RPM-Datenbank aufgenommen werden; in der RPM-Datenbank näm- lich erscheint nur installierte Betriebssoftware. Die Arbeitsverzeichnisse des rpm unter /usr/src/packages müssen vorhan- den sein (falls keine eigenen Einstellungen wie etwa via /etc/rpmrc vorge- nommen wurden): SOURCES für die originalen Quellen (.tar.gz-Dateien etc.) und für die distri- butionsspezifischen Anpassungen (.dif-Dateien). SPECS für die .spec-Dateien, die in der Art eines Meta-Makefiles den build"- Prozess steuern. BUILD unterhalb dieses Verzeichnisses werden die Quellen entpackt, gepatcht und kompiliert. RPMS hier werden die fertigen Binary"-Pakete abgelegt. SRPMS und hier die Source"-RPMs. Hinweis Bitte machen Sie keine RPM-Experimente mit wichtigen System- Komponenten (Paket glibc, Paket rpm, Paket sysvinit etc.); Sie setzen die Funktionstüchtigkeit Ihres Systems aufs Spiel. Wenn Sie ein Quellpaket der Serie zq mit YaST installieren, dann werden die für den build"-Prozess notwendigen Komponenten unter /usr/src/packages in- stalliert: die Quellen und die Anpassungen unter SOURCES und die dazugehöri- ge .spec-Datei unter SPECS. Zum Pakete-Machen" (engl. build mode) vgl. [Bai97]; dort, oder auch in der Manual-Page von rpm (man rpm), werden wei- tere Einsatzmöglichkeiten vorgestellt. Im Folgenden wird das Paket wget.spm betrachtet. Nachdem das Quellpaket wget.spm mit YaST installiert wurde, gibt es die Dateien: /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 315 12 Update des Systems und Paketverwaltung Mit rpm -b /usr/src/packages/SPECS/wget.spec wird der Kom- piliervorgang angestoßen; dabei kann für verschiedene Stufen stehen (vgl. die --help-Ausgabe bzw. die RPM-Dokumentation); hier nur eine kurze Erläu- terung: -bp Quellen im Verzeichnis /usr/src/packages/BUILD präparieren: entpa- cken und patchen -bc wie -bp, jedoch zusätzlich noch kompilieren -bi wie -bc, jedoch zusätzlich noch installieren; Achtung, wenn ein Paket nicht das BuildRoot-Feature unterstützt, ist es möglich, dass Sie sich wäh- rend dieses Installationsvorgangs wichtige Konfigurationsdateien überschrei- ben! -bb wie -bi, jedoch zusätzlich noch das sog. Binary-RPM herstellen; bei Er- folg liegt es in /usr/src/packages/RPMS. -ba wie -bb, jedoch zusätzlich noch das sog. Source-RPM herstellen; bei Er- folg liegt es in /usr/src/packages/SRPMS. Mit der Option -short-circuit lassen sich einzelne Schritte überspringen. Das hergestellte Binary-RPM ist schließlich mit rpm -i oder besser mit rpm -U zu installieren, damit es auch in der RPM-Datenbank auftaucht. 12.3.5 Tools für RPM-Archive und die RPM-Datenbank Der Midnight Commander (mc) ist in der Lage, den Inhalt eines RPM-Archivs anzuzeigen bzw. Teile daraus zu kopieren. Er bildet ein solches Archiv als ein vir- tuelles Dateisystem ab, sodass alle gewohnten Menüpunkte des Midnight Com- mander ­ wenn sinnvoll ­ zur Verfügung stehen: Die Kopfzeilen-Informationen § ¤ der Datei" HEADER kann man sich mit ¤ ¦F3 ¥ansehen; mit den Cursor-Tasten und § ¦Enter ¤ ¥lässt sich durch die Struktur des Archivs browsen", um bei Bedarf mit § ¦F5 ¥Komponenten herauszukopieren. ­ Übrigens, mittlerweile gibt es auch für den Emacs ein rpm.el, ein Frontend" für rpm :-) xrpm heißt ein grafischer RPM-Manager; realisiert ist dieses Tool in Python, einer eleganten Skript-Sprache. xrpm unterstützt Aktionen per FTP. KDE enthält das Tool krpm, ein grafisches Interface unter X, um RPM zu bedie- nen. Bei GNOME finden Sie gnorpm. Mit Alien (alien) ist es möglich, die Paketformate der verschiedenen Distri- butionen zu konvertieren. So kann man versuchen, alte TGZ-Archive vor dem Installieren nach RPM umzuwandeln, damit während der Installation die RPM- Datenbank mit den Paket-Informationen versorgt wird. Aber Achtung: alien ist ein Perl-Skript und befindet sich nach Angaben der Programm-Autoren noch in einem Alpha-Stadium ­ wenngleich es bereits eine hohe Versionsnummer er- reicht hat. Last, not least ­ es gibt YaST (vgl. auch Abschnitt 3.5.9 auf Seite 74). 316 13 Besonderheiten in SuSE Linux 13 Besonderheiten in SuSE Linux 13.1 Filesystem Hierarchy Standard (FHS) und Linux Standard Base (LSB) 13.1.1 Filesystem Hierarchy Standard (FHS) SuSE Linux strebt eine weitgehende Konformität zum Filesystem Hierarchy Stan- dard (FHS, Paket fhs, Serie doc an; vgl. http://www.pathname.com/fhs/). Aus diesem Grunde ist es bisweilen erforderlich, Dateien oder Verzeichnisse an die richtigen" Plätze im Dateisystem zu verschieben. 13.1.2 Linux Standard Base (LSB) SuSE unterstützt aktiv die Bemühungen des Linux Standard Base-Projekts; ak- tuelle Informationen dazu unter http://www.linuxbase.org. Mittlerweile liegt der LSB-Entwurf in der Version 0.3 vor; u. a. ist nunmehr die Initialisierung des Systems festgelegt; vgl. Kapitel 14 auf Seite 339. 13.1.3 teTeX ­ TEX unter SuSE Linux teTeX ist gemäß der TEX Directory Structure (TDS) zusammengestellt (vgl. ftp: //ftp.dante.de/tex-archive/tds/), ohne den FHS zu verletzen. 13.2 Beispiel-Umgebungen für FTP und HTTP Zu FTP Um die Einrichtung eines FTP-Servers zu erleichtern, hält das Paket ftpdir eine Beispiel-Umgebung bereit. Diese Umgebung wird unter /usr/local/ftp installiert. Zu HTTP Apache ist der Standard-Webserver bei SuSE Linux; gleichzeitig mit der In- stallation des Apache werden Beispiel-Dokumente unter /usr/local/httpd zur Verfügung gestellt. Wenn Sie einen eigenen Webserver aufbauen wollen, ist es empfehlenswert, eine eigene DocumentRoot in /etc/httpd/httpd.conf einzutragen. 317 13 Besonderheiten in SuSE Linux 13.3 Hinweise zu speziellen Softwarepaketen 13.3.1 Paket xdevel bzw. xdevel33 Die Linux Development Platform Specification" verlangt, dass XFree86 3.3.6 zum Bauen verwendet wird, damit die jeweilige Software auf möglichst vielen Plattformen läuft. Seit SuSE Linux 7.0 ist jedoch XFree86 4.0 Standard. Damit SuSE Linux weiterhin die Kriterien der Spezifikation erfüllt, steht z. Z. das Paket xdevel33 zur Verfügung. Wer anhand der Linux Development Platform Specification" ein Paket mit SuSE Linux 7.2 bauen möchte, muss das Paket xdevel deinstallieren und dafür das Paket xdevel33 installieren. 13.3.2 Paket cron Die cron-Tabellen liegen unter /var/spool/cron/tabs (und nicht mehr un- ter /var/cron/tabs). Als systemweite Tabelle wird die Datei /etc/crontab eingerichtet. In der Datei /etc/crontab muss zusätzlich nach der Zeitangabe eingetragen werden, unter welchem Benutzer der jeweilige Auftrag ausgeführt werden soll (vgl. Datei 13.3.1, dort ist `root' angegeben); dem gleichen Format folgen paket-spezifische Tabellen, die in /etc/cron.d liegen ­ vgl. Manual- Page von cron (man 8 cron). 1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun Datei 13.3.1: Beispiel eines Eintrags in /etc/crontab /etc/crontab kann nicht mit crontab -e bearbeitet werden, sondern muss direkt in einen Editor geladen, bearbeitet und schließlich gespeichert werden. Einige Pakete installieren in den Verzeichnissen /etc/cron.hourly, /etc/ cron.daily, /etc/cron.weekly und /etc/cron.monthly Shellskripten, deren Abarbeitung von /usr/lib/cron/run-crons gesteuert wird. /usr/ lib/cron/run-crons wird alle 15 Minuten von der Haupt-Tabelle (/etc/ contrab) aufgerufen; so wird sichergestellt, dass eventuell versäumte Läufe rechtzeitig nachgeholt werden. Wundern Sie sich also bitte nicht, wenn kurz nach dem Booten der Benutzer `nobody' in der Prozess-Tabelle mit regen Ak- tivitäten auftaucht; `nobody' aktualisiert wahrscheinlich dann gerade die loca- te-Datenbank (vgl. Abschnitt 14.6 auf Seite 356). 13.3.3 Paket curses Auf der CD befindet sich nun das Paket ncurses. Die zugehörigen Bibliotheken haben den Namen libncurses.so.. Dies hat zur Folge, dass in vielen Makefiles die Anweisungen für den Linker geändert werden müssen. Man sollte also eigene Pakete mit -lncurses übersetzen und nie mit -lcurses. Wer das dennoch will, der muss 318 13.3 Hinweise zu speziellen Softwarepaketen -I/usr/include/termcap -I/usr/include/curses -L/usr/lib/termcap -L/usr/lib/curses verwenden. 13.3.4 Quellen zum Paket uucp Die Quellen zum Paket uucp sind z. Z. in dem Source-RPM von Sendmail als Unterpaket enthalten. 13.3.5 Manual-Pages Für einige GNU-Programme (z. B. tar) werden die Manual-Pages nicht mehr weiter gepflegt. An ihre Stelle treten als Schnellübersicht die --help-Ausgabe sowie als ausführliche Manuals die Info-Dateien. Info (info) ist GNUs Hyper- text-System. Mit info info erhält man erste Hilfe zur Benutzung; info kann entweder über Emacs emacs -f info aufgerufen werden, oder standalone: info. Angenehm zu bedienen sind tkinfo, xinfo oder der Zugriff über das Hilfesystem. 13.3.6 Der Befehl ulimit Mit dem Befehl ulimit (engl. user limits) ist es möglich, Limits für die Nut- zung von Systemressourcen zu setzen, bzw. sich diese anzeigen zu lassen. Ins- besondere ist ulimit dazu geeignet, den zur Verfügung stehenden Speicher für Anwendungen zu begrenzen. Dadurch kann verhindert werden, dass eine An- wendung übermäßig viel (allen) Speicherplatz für sich beschlagnahmt; dadurch könnte das System zum Stillstand kommen. Der Aufruf von ulimit kann mit verschiedenen Optionen geschehen. Um den Speicherverbrauch zu begrenzen, sind z. B. die Optionen in Tabelle 13.1 tauglich. -m max. Größe des physikalischen Speichers -v max. Größe des virtuellen Speichers (Swap) -s max. Größe des Stacks -c max. Größe der Core-Dateien -a Anzeige der gesetzten Limits Tabelle 13.1: ulimit: Ressourcen für den Anwender einstellen Systemweit können die Einstellungen in /etc/profile vorgenommen werden. Dort muss beispielsweise das Erzeugen von Core-Dateien freigeschaltet werden, die Programmierer zum Debuggen" benötigen. Als Anwender kann man die vom Systemadministrator in /etc/profile vorgegebenen Werte nicht erhö- hen, aber man kann spezielle Einstellung in die eigene ~/.bashrc eintragen. 319 13 Besonderheiten in SuSE Linux # Begrenzung des realen Speichers: ulimit -m 98304 # Begrenzung des virtuellen Speichers: ulimit -v 98304 Datei 13.3.2: ulimit-Einstellungen in ~/.bashrc Die Speicherangaben müssen in KB gemacht werden. Für detailliertere Informationen werfen Sie bitte einen Blick in die Manual-Page von bash (man bash). 13.3.7 Die /etc/resolv.conf Die Datei /etc/resolv.conf wird stets nur von dem Skript /sbin/modify_ resolvconf aktualisiert. Es ist keinem Programm erlaubt, /etc/resolv.conf direkt zu manipulieren. Nur wenn diese Regel beachtet wird, kann sichergestellt werden, dass die Netzwerkkonfiguration und zugehörigen Daten konsistent ge- halten werden. 13.4 Booten mit der initial ramdisk" Problemstellung Sobald der Linux-Kernel geladen ist und das Root-Dateisystem (/) gemoun- tet hat, können Programme ausgeführt und weitere Kernel-Module eingebunden werden, um zusätzliche Funktionalitäten bereitzustellen. Um aber das Root-Dateisystem überhaupt mounten zu können, müssen verschie- dene Bedigungenen erfüllt sein: Der Kernel benötigt die entsprechenden Treiber, um das Gerät ansprechen zu können, auf dem das Root-Dateisystem liegt (insbe- sondere SCSI-Treiber). Weiter muss der Kernel den Code enthalten, der benötigt wird, um das Dateisystem lesen zu können (ext2, reiserfs, romfs usw.). Wei- terhin ist es denkbar, dass bereits das Root-Dateisystem verschlüsselt ist; zum Mounten ist in diesem Fall die Eingabe des Schlüssels/Passworts erforderlich. Betrachtet man nur einmal das Problem der SCSI-Treiber, so sind verschiedene Lösungsansätze denkbar: Der Kernel kann alle denkbaren Treiber enthalten. Pro- blematisch, da sich verschiedene Treiber beißen" können; außerdem wird der Kernel dadurch sehr groß. Eine andere Möglichkeit besteht darin, verschiedene Kernel zur Verfügung zu stellen, die jeweils nur einen oder sehr wenige SCSI- Treiber enthalten. Auch dieser Weg ist problematisch, da er eine sehr große Zahl unterschiedlicher Kernel notwendig macht. Ein Problem, das durch verschieden optimierte Kernel (Pentium-Optimierung, SMP) noch weiter verschärft wird. Der Ansatz, den SCSI-Treiber als Modul zu laden, führt zur generellen Proble- matik, der durch das Konzept der initial ramdisk begegnet wird: Das Schaffen einer Möglichkeit, Userspace-Programme bereits vor dem Mounten des Root- Dateisystems ausführen zu können. 320 13.4 Booten mit der initial ramdisk" 13.4.1 Konzept der initial ramdisk Die initial ramdisk (auch initdisk" oder initrd" genannt) löst genau diese oben beschriebenen Probleme. Der Linux-Kernel bietet die Möglichkeit, ein (kleines) Dateisystem in eine Ramdisk laden zu lassen, und darin Programme ausführen zu lassen, bevor das eigentliche Root-Dateisystem gemountet wird. Das Laden der initrd wird dabei vom Bootloader (LILO, loadlin usw.) übernommen; all diese Bootloader benötigen lediglich BIOS-Routinen, um Daten vom Bootmedium zu laden. Wenn der Bootloader den Kernel laden kann, dann kann er auch die initial ramdisk laden. Spezielle Treiber sind somit nicht erforderlich. 13.4.2 Ablauf des Bootvorgangs mit initrd Der Bootloader lädt den Kernel und die initrd in den Speicher und startet den Kernel, wobei der Bootloader dem Kernel mitteilt, dass eine initrd vorhanden ist und wo im Speicher diese liegt. War die initrd komprimiert (was typischerweise der Fall ist), so dekomprimiert der Kernel die initrd und mountet sie als temporäres Root-Dateisystem. Hier- auf wird in der initrd ein Programm mit dem Namen linuxrc gestartet. Dieses Programm kann nun all die Sachen tun, die erforderlich sind, um das richtige Root-Dateisystem mounten zu können. Sobald linuxrc terminiert, wird die (tem- poräre) initrd wieder abgehängt (engl. unmounted) und der Bootvorgang wird wie gewohnt mit dem Mounten des richtigen Root-Dateisystems fortgeführt. Das Mounten der initrd und das Ausführen von linuxrc kann somit als ein kurzes Intermezzo während eines normalen Bootvorgangs betrachtet werden. Kann die initrd nicht abgehängt werden (was i. a. als Fehler angesehen werden sollte), so versucht der Kernel die initrd auf das Verzeichnis /initrd um- zumounten. Ist auch der Mountpunkt /initrd nicht vorhanden, so resultiert eine Fehlermeldung. Das System ist in einem solchen Fall voll funktionsfähig, jedoch kann der durch die initrd belegte Speicher nie freigegeben werden und steht somit nicht mehr zur Verfügung. linuxrc Für das Programm linuxrc in der initrd gibt es lediglich die folgenden An- forderungen: Es muss den speziellen Namen linuxrc tragen und es muss im Root-Verzeichnis der initrd liegen. Abgesehen davon muss es lediglich vom Kernel ausgeführt werden können. Das bedeutet, dass linuxrc durchaus dyna- misch gelinkt sein darf; in diesem Fall müssen natürlich die shared libraries" wie gewohnt vollständig unter /lib in der initrd verfügbar sein. Weiter darf linuxrc auch ein Shellskript sein; in diesem Fall muss natürlich eine Shell in /bin existieren. Kurz gesagt, muss die initrd ein minimales Linux-System enthal- ten, das die Ausführung des Programmes linuxrc erlaubt. Bei der Installation von SuSE Linux wird ein statisch gelinktes linuxrc verwendet, um die initrd so klein wie möglich halten zu können (der Platz auf Bootdisketten ist sehr knapp). linuxrc wird mit `root'-Rechten ausgeführt. 321 13 Besonderheiten in SuSE Linux Das echte Root-Dateisystem Sobald linuxrc terminiert, wird die initrd abgehängt und verworfen, der Boot- vorgang geht normal weiter und der Kernel mountet das wirkliche Root-Datei- system. Was als Root-Dateisystem gemountet werden soll, kann durch linuxrc be- einflusst werden. Dazu muss linuxrc lediglich das /proc-Dateisystem mounten und den Wert des echten Root-Dateisystems in numerischer Form nach /proc/ sys/kernel/real-root-dev schreiben. 13.4.3 Bootloader Die meisten Bootloader (vor allem LILO, loadlin und syslinux) können mit initrd umgehen. Die einzelnen Bootloader werden wie folgt angewiesen, eine initrd zu verwenden: 1. LILO Eintrag der folgenden Zeile in /etc/lilo.conf: initrd=/boot/initrd Die Datei /boot/initrd ist die initial ramdisk. Sie kann (muss aber nicht) komprimiert sein. 2. loadlin.exe Aufruf mittels: C:> loadlin \ initrd=C:\loadlin\initrd 3. syslinux Eintrag der folgenden Zeile in syslinux.cfg: append initrd=initrd 13.4.4 Anwendung von initrd bei SuSE Installation des Systems Die initrd wird bereits seit geraumer Zeit für die Installation verwendet: Da- bei kann der Anwender in linuxrc Module laden und die für eine Installation notwendigen Eingaben (wie vor allem Quellmedium) machen. Linuxrc startet dann YaST, das die Installation durchführt. Hat YaST seine Arbeit getan, teilt es linuxrc mit, wo das Root-Dateisystem des frisch installierten Systems liegt. linuxrc schreibt diesen Wert nach /proc, beendet sich, und der Kernel bootet in das frisch installierte System weiter. Bei einer Installation von SuSE Linux bootet man somit von Anfang an quasi das System, das gerade erst installiert wird ­ irgendwie schick ;-) Ein echter Reboot 322 13.4 Booten mit der initial ramdisk" nach der Installation erfolgt nur, wenn der gerade laufende Kernel nicht zu den Modulen passt, die im System installiert wurden. Da SuSE Linux derzeit bei der Installation einen Kernel für Uni-Prozessor-Systeme verwendet, geschieht dies derzeit nur dann, wenn im System ein SMP-Kernel mitsamt entsprechenden Modulen installiert wurde. Um alle Module verwenden zu können, muss deshalb der neu im System installierte SMP-Kernel gebootet werden. Booten des installierten Systems In der Vergangenheit hat YaST mehr als 40 Kernel für die Installation im System angeboten, wobei sich die Kernel im Wesentlichen dadurch unterschieden hatten, dass jeder Kernel einen bestimmten SCSI-Treiber enthielt. Dies war nötig, um nach dem Booten das Root-Dateisystem mounten zu können. Weitere Treiber konnten dann als Modul nachgeladen werden. Da inzwischen aber auch optimierte Kernel zur Verfügung gestellt werden, ist dieses Konzept nicht mehr tragbar ­ es wären inzwischen weit über 100 Kernel- Images nötig. Daher wird nun auch für das normale Starten des Systems eine initrd verwen- det. Die Funktionsweise ist analog wie bei einer Installation. Das hier eingesetzte linuxrc ist jedoch einfach nur ein Shellskript, das lediglich die Aufgabe hat, ei- nige vorgegebene Module zu laden. Typischerweise handelt es sich nur um ein einziges Modul, nämlich denjenigen SCSI-Treiber, der benötigt wird, um auf das Root-Dateisystem zugreifen zu können. Erstellen einer initrd Das Erstellen einer initrd erfolgt mittels des Skripts mk_initrd. Die zu laden- den Module werden bei SuSE Linux durch die Bezeichner INITRD_MODULES in /etc/rc.config festgelegt. Nach einer Installation wird diese Variable auto- matisch durch die richtigen Werte vorbelegt (das Installations-linuxrc weiß ja, welche Module geladen wurden). Dabei ist zu erwähnen, dass die Module in genau der Reihenfolge geladen werden, in der sie in INITRD_MODULES auftau- chen. Das ist besonders wichtig, wenn mehrere SCSI-Treiber verwendet werden, da sich ansonsten die Benennung der Platten ändern würde. Streng genommen würde es reichen, nur denjenigen SCSI-Treiber laden zu lassen, der für den Zu- griff auf das Root-Dateisystem benötigt wird. Da das automatische Nachladen zusätzlicher SCSI-Treiber jedoch problematisch ist (wie sollte es getriggert" werden, wenn auch am zweiten SCSI-Adapter Platten hängen), laden wir alle bei der Installation verwendeten SCSI-Treiber mittels der initrd. Das aktuelle mk_initrd prüft, ob für den Zugriff auf das Root-Dateisystem überhaupt ein SCSI-Treiber benötigt wird. Ruft man mk_initrd auf einem Sys- tem auf, bei dem / auf EIDE-Platten liegt, erstellt es keine initrd, da diese nicht nötig ist, weil die bei SuSE Linux verwendeten Kernel bereits die EIDE- Treiber enthalten. Da inzwischen immer mehr spezielle EIDE-Controller auf den Markt kommen, wird es aber voraussichtlich für die Zukunft nötig werden, auch in diesen Fällen eine initrd für das Booten des installierten Systems zu ver- wenden. 323 13 Besonderheiten in SuSE Linux Wichtig: Da das Laden der initrd durch den Bootloader genauso abläuft wie das Laden des Kernels selbst (LILO vermerkt in seiner map-Datei die Lage der Dateien), muss nach jeder Änderung der initrd LILO neu installiert werden! Nach einem mk_initrd ist somit immer auch ein lilo nötig! 13.4.5 Mögliche Schwierigkeit ­ Selbstcompilierte Kernel Übersetzt man sich selbst einen Kernel, so kann es zu folgendem häufigen Pro- blem kommen: Aus Gewohnheit wird der SCSI-Treiber fest in den Kernel gelinkt, die bestehende initrd bleibt aber unverändert. Beim Booten geschieht nun fol- gendes: Der Kernel enthält bereits den SCSI-Treiber, die Hardware wird erkannt. Die initrd versucht nun jedoch, den Treiber nochmals als Modul zu laden; dies führt bei einigen SCSI-Treibern (insbesondere beim aic7xxx) zum Still- stand des Systems. Streng genommen handelt es sich um einen Kernelfehler (ein bereits vorhandener Treiber darf nicht ein zweites Mal als Modul geladen wer- den können) ­ das Problem ist aber bereits in anderem Zusammenhang bekannt (serieller Treiber). Es gibt mehrere Lösungen für das Problem: Entweder den Treiber als Modul konfigurieren (dann wird er korrekt in der initrd geladen), oder aber den Ein- trag für die initrd aus /etc/lilo.conf entfernen. Äquivalent zur letzteren Lösung ist es, den Treiber aus INITRD_MODULES zu entfernen und mk_initrd aufzurufen, das dann feststellt, dass keine initrd benötigt wird. 13.4.6 Ausblick Für die Zukunft ist es denkbar, dass eine initrd für weitaus mehr (und an- spruchsvollere) Dinge verwendet wird als nur für das Laden der Module, die für den Zugriff auf / benötigt werden. * High end" EIDE-Treiber * Root-Dateisystem auf Software RAID (linuxrc setzt die md-Devices auf) * Root-Dateisystem auf LVM * Root-Dateisystem ist verschlüsselt (linuxrc fragt nach Passwort) * Root-Dateisystem auf einer SCSI-Platte am PCMCIA-Adapter Weitere Informationen /usr/src/linux/Documentation/ramdisk.txt /usr/src/linux/Documentation/initrd.txt Manual-Page von initrd (man 4 initrd). 324 13.5 linuxrc 13.5 linuxrc linuxrc ist ein Programm, das in der Hochlauf-Phase des Kernels gestartet wird, bevor richtig gebootet wird. Diese angenehme Eigenschaft des Kernels erlaubt es, einen kleinen modularisierten Kernel zu booten und die wenigen Treiber, die man wirklich braucht, als Module nachzuladen ­ im Notfall sogar von einer zweiten Diskette (modules). linuxrc hilft Ihnen, die für Ihre Hardware relevanten Treiber zu laden. Sie können linuxrc nicht nur bei der Installation verwenden, sondern auch als Boot-Tool für Ihr installiertes System (also eine Art Notfalldiskette) und Sie können sogar ein autonomes, RAM-Disk-basiertes Rettungssystem starten, etwa wenn etwas Grö- ßeres auf der Festplatte zerstört ist oder wenn Sie schlicht das `root'-Passwort vergessen haben. Näheres finden Sie in Abschnitt 13.6 auf Seite 329. Hauptmenü Nachdem Sprache, Bildschirm und Tastatur eingestellt sind, gelangen Sie in das Hauptmenü von linuxrc (vgl. Abbildung 2.3 auf Seite 10). Ziel ist der Menüpunkt `Installation / System starten'. Ob Sie direkt zu diesem Punkt gelangen können, hängt von der Hardware Ihres Rechners ab: Wurden alle Komponenten, die für eine Installation benötigt werden, bereits vom Kernel erkannt, brauchen Sie keine weiteren Treiber zu laden. Dies trifft für Rechner zu, die ausschließlich über Festplatten und CD-ROM-Laufwerk an einem (E)IDE-Adapter verfügen. Besitzt das System einen SCSI-Adapter, der für die Installation benötigt wird, so muss ein SCSI-Modul geladen werden. Das gleiche gilt, wenn die Installation über das Netzwerk erfolgen soll: Hier muss für die einzusetzende Netzwerkkarte erst ein passendes Modul geladen werden. Schließlich gibt es noch eine Reihe von älteren CD-ROM-Laufwerken, die mit eigener Controller-Karte geliefert wurden und die daher jeweils eigene Kernel- module benötigen. Auch wenn an einem Laptop PCMCIA-Geräte verwendet werden, müssen Sie Module laden. Systeminformationen Sind Sie sich nicht sicher, welche Hardware Ihr Rechner hat, helfen Ihnen die Kernelmeldungen, die während des Bootens ausgegeben wurden. Unter `Systeminformationen' (Abbildung 13.1 auf der nächsten Seite) kön- nen Sie neben den Meldungen des Kernels auch einige weitere Einzelheiten über- prüfen, etwa die I/O-Adressen von PCI-Karten oder die Größe des Hauptspei- chers, die von Linux erkannt wurde. Die folgenden Zeilen zeigen, wie sich eine Festplatte und ein CD-ROM-Lauf- werk an einem EIDE-Adapter melden. In diesem Fall müssen Sie keine Kernel- module für eine Installation laden: 325 13 Besonderheiten in SuSE Linux Abbildung 13.1: Systeminformationen hda: ST32140A, 2015MB w/128kB Cache, LBA, CHS=1023/64/63 hdb: CD-ROM CDR-S1G, ATAPI CDROM drive Partition check: hda: hda1 hda2 hda3 < hda5 > Haben Sie einen Kernel gestartet, der bereits einen SCSI-Treiber fest integriert hat, so brauchen Sie natürlich ebenfalls kein SCSI-Modul mehr zu laden. Typi- sche Meldungen bei Erkennung eines SCSI-Adapters und der daran angeschlos- senen Geräte: scsi : 1 host. Started kswapd v 1.4.2.2 scsi0 : target 0 accepting period 100ns offset 8 10.00MHz FAST SCSI-II scsi0 : setting target 0 to period 100ns offset 8 10.00MHz FAST SCSI-II Vendor: QUANTUM Model: VP32210 Rev: 81H8 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 scsi0 : target 2 accepting period 236ns offset 8 4.23MHz synchronous SCSI scsi0 : setting target 2 to period 248ns offset 8 4.03MHz synchronous SCSI Vendor: TOSHIBA Model: CD-ROM XM-3401TA Rev: 0283 Type: CD-ROM ANSI SCSI revision: 02 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 4308352 [2103 MB] [2.1 GB] Partition check: sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 > Laden von Modulen Sie wählen aus, welches Modul Sie benötigen. Wurde von der Diskette geboo- tet, werden nun die entsprechenden Daten von linuxrc eingelesen und Ihnen im Folgenden zur Auswahl dargestellt. 326 13.5 linuxrc Wenn Sie von CD gebootet haben oder von DOS aus mittels loadlin nachgest- artet haben, stehen die Module bereits alle linuxrc zur Verfügung. Dies erspart das langwierige Laden, braucht dafür jedoch mehr Speicher. Hat Ihr Rechner weniger als 8 MB RAM, müssen Sie von Diskette booten. Abbildung 13.2: Module laden linuxrc bietet Ihnen die verfügbaren Treiber in einer Liste an. Links sehen Sie den Namen des zuständigen Moduls, rechts eine Kurzbeschreibung der Hardware, für die der Treiber zuständig ist. Für einige Komponenten gibt es mitunter mehrere Treiber oder neuere Alpha- Treiber. Auch diese werden hier angeboten. Abbildung 13.3: Auswahl der SCSI-Treiber 327 13 Besonderheiten in SuSE Linux Parametereingabe Haben Sie den Treiber gefunden, der für Ihre Hardware zuständig ist, positio- § ¤ nieren Sie den Cursor und drücken Sie ¦ ¥ . Es erscheint eine Maske, in der Sie etwaige Parameter für das zu ladende Modul eingeben können. Näheres zu den unterschiedlichen Modulparametern finden Sie in Abschnitt 11.3.4 auf Sei- te 275. Abbildung 13.4: Eingabe der Parameter für das Laden eines Moduls Hier sei noch einmal darauf hingewiesen, dass im Gegensatz zur Parameterein- gabe am Kernel-Prompt (MILO, LILO oder SYSLINUX) mehrere Parameter für das gleiche Modul durch Leerzeichen voneinander getrennt werden müssen. In vielen Fällen ist die genaue Spezifizierung der Hardware gar nicht notwen- dig; die meisten Treiber finden Ihre Komponenten von alleine. Lediglich bei den Netzwerkkarten und bei älteren CD-ROM-Laufwerken mit eigener Controller- Karte ist die Angabe von Parametern mitunter erforderlich. Probieren Sie es je- § ¤ denfalls erst einmal mit ¦ ¥ . Bei einigen Modulen kann das Erkennen und Initialisieren der Hardware recht § ¤ § ¤ lange dauern. Durch Umschalten auf die virtuelle Konsole 4 (¦Alt ¥+ ¦F4 ¥ ) können Sie die Meldungen des Kernels während des Ladens beobachten. Vor allem SC- SI-Adapter lassen sich etwas Zeit beim Ladevorgang, da sie auch eine gewisse Zeit warten, bis sich alle angeschlossenen Geräte gemeldet haben. Wurde das Modul erfolgreich geladen, werden die Meldungen des Kernels von li- nuxrc angezeigt, sodass Sie sich vergewissern können, dass alles wie vorgesehen gelaufen ist. Ansonsten weisen die Meldungen möglicherweise auf die Ursache des Scheiterns hin. System / Installation starten Haben Sie die komplette Kernel-Unterstützung für Ihre Hardware erreicht, so können Sie zum Punkt `System / Installation starten' weitergehen. 328 13.6 Das SuSE Rettungssystem Von hier aus (Abbildung 2.4 auf Seite 11) lassen sich mehrere Vorgänge ansto- ßen: `Installation/Update starten', `Installiertes System boo- ten' (die Rootpartition muss bekannt sein), `Rettungssystem starten' (vgl. Abschnitt 13.6) und `CD auswerfen'. Der Punkt `LiveEval-CD starten' nur zur Verfügung, wenn Sie von einer LiveEval-CD" gebootet haben. ISO-Images können vom FTP-Server herunter- geladen werden (live-eval-): ftp://ftp.suse.com/pub/suse/i386/ Tipp Der Punkt `LiveEval-CD starten' kann z. B. immer dann nützliche Dienste leisten, wenn man ohne eigentliche Festplatten-Installation testen möchte, ob der fragliche Rechner oder das anzuschaffende Notebook über- haupt mit SuSE Linux kompatibel ist ­ ein solcher Test sollte in jedem zeit- gemäßen PC-Laden ohne Umstände möglich sein! Abbildung 13.5: Auswahl des Quellmediums in linuxrc Für die Installation (Abbildung 13.5) und ähnlich auch für das Rettungssystem können Sie verschiedene Quellen wählen (Abbildung 13.6 auf Seite 331). 13.6 Das SuSE Rettungssystem SuSE Linux enthält mehrere Rettungssysteme, mit deren Hilfe Sie in Notfäl- len von außen" an Ihre Linux-Partitionen auf den Festplatten kommen können: 329 13 Besonderheiten in SuSE Linux insbesondere kommen hier die Bootdiskette sowie das Rescue"­System in Be- tracht, das Sie von Diskette, CD, Netzwerk oder vom SuSE-FTP-Server laden können. Weiterhin gibt es eine bootbare SuSE Linux­CD (die LiveEval-CD" ), die als Rettungssystem eingesetzt werden kann. Zum Rettungssystem gehören des Weiteren verschiedene Hilfsprogramme, mit denen Sie Probleme mit unzugänglich gewordenen Festplatten, fehlerhaften Kon- figurationsdateien usw. beheben können. Tipp Legen Sie sich immer eine Boot- und Rettungsdiskette an, da der geringe Aufwand für die Erzeugung und Pflege der Disketten in keinem Verhältnis zur Arbeit und dem Zeitverlust steht, wenn Sie im Notfall keinen Zugriff auf Ihr System und auf das CD-ROM-Laufwerk haben. 13.6.1 Vorbereitung Für die Erstellung Ihres Rettungssystems benötigen Sie zwei fehlerfreie Disket- ten: eine als spätere Bootdiskette, die andere für das komprimierte Abbild eines kleinen Root­Dateisystems. Die Abbilddatei bootdisk für das Booten des Sys- tems und die Datei rescue für das Root­Dateisystems finden Sie auf der ersten CD unter /disks. Es gibt drei Möglichkeiten, um die Diskette mit Root­Dateisystems anzulegen: * mit YaST * über eine Konsole mit den Linux­Befehlen erde: # /sbin/badblocks -v /dev/fd0 1440 erde: # dd if=/cdrom/disks/rescue of=/dev/fd0 bs=18k * über das DOS­Prompt (wobei Q: das CD-ROM-Laufwerk ist) Q:\> cd \dosutils\rawrite Q:\dosutils\rawrite> rawrite.exe Die Rettungsdiskette basiert z. Z. auf der libc5 (SuSE Linux 5.3), da es in dieser SuSE Linux­Version möglich ist, einige Programme wie z. B. Editor, fdisk oder e2fsck auf einer Diskette unterzubringen. Hinweis Die Rettungsdiskette lässt sich nicht mounten, da sie kein Dateisystem, sondern nur das komprimierte Abbild eines solchen enthält. Möchten Sie das Dateisystem einmal einsehen, dann lesen Sie nachfolgenden Absatz. Wenn Sie in das unkomprimierte Abbild einsehen möchten, müssen Sie die Ab- bilddatei dekomprimieren und dann das unkomprimierte Abbild als Benutzer 330 13.6 Das SuSE Rettungssystem `root' mounten. Unterstützt Ihr Linux-Kernel das loop-Device, geht der Vor- gang wie folgt: erde: # cp /cdrom/disks/rescue /root/rescue.gz erde: # gunzip /root/rescue.gz erde: # mount -t ext2 -o loop /root/rescue /mnt 13.6.2 Das Rettungssystem starten Das Rettungssystem wird von der SuSE-Bootdiskette bzw. der bootbaren CD 1 Ihres SuSE-Linux gestartet. Die Voraussetzung ist, dass das Disketten- bzw. CD-ROM-Laufwerk bootfähig ist; nötigenfalls müssen Sie im CMOS-Setup die Boot-Reihenfolge ändern. Nachfolgend die Schritte zum Starten des Rettungssystems: 1. Legen Sie die SuSE-Bootdiskette (bootdisk) bzw. die erste CD Ihres SuSE- Linux in das CD-ROM-Laufwerk ein und schalten Sie Ihr System ein. 2. Sie können entweder das System durchbooten lassen oder Sie wählen `Ma- nual Installation' aus und können dann ­ falls notwendig ­ bei den `boot options' Parameter angeben. Im Folgenden ist es möglich festzule- gen, welche Kernel-Module geladen werden sollen. 3. Nehmen Sie im linuxrc die erforderlichen Einstellungen für die Sprache, den Bildschirm und die Tastatur vor. 4. Wählen Sie im Hauptmenü den Punkt `Installation/System starten'. 5. Wenn Sie mit der Bootdiskette gestartet haben, legen Sie nun die Installations- CD oder die Diskette (rescue) mit dem komprimierten Abbild des Ret- tungssystems ein. Abbildung 13.6: Quellmedium für das rescue-System 331 13 Besonderheiten in SuSE Linux 6. Wählen Sie im Menü `Installation/System starten' den Punkt `Ret- tungssystem starten' (s. Abb. 2.4 auf Seite 11) und geben Sie dann das gewünschte Quellmedium an (s. Abb. 13.6 auf der vorherigen Seite). Im Anschluss ein paar Hinweise zu den Auswahlmöglichkeiten: `CD-ROM': Beim Laden des Rettungssystems wird der Pfad /cdrom expor- tiert. Eine Installation ist so von dieser CD aus möglich. Hinweis Sie müssen die notwendigen Werte noch in SuSEconfig eintragen (s. Abschnitt 14.5 auf Seite 344 ff.). `Netzwerk (NFS)': Um das rescue-System via NFS aus dem Netz zu la- den, ist es erforderlich, dass Sie den Treiber für Ihre Netzwerkkarte zuvor geladen haben (s. die allgemeinen Hinweise in Abschnitt 2.3.1 auf Sei- te 28) `Netzwerk (FTP)': Um das rescue-System via FTP aus dem Netz zu la- den, ist es erforderlich, dass Sie den Treiber für Ihre Netzwerkkarte parat haben. `Festplatte': Laden Sie das rescue-System von der Festplatte aus. `Diskette': Das rescue-System kann auch von Diskette gestartet werden, vor allem wenn der Rechner über wenig Arbeitsspeicher verfügt. Welches Medium Sie auch gewählt haben, das Rettungssystem wird dekompri- miert und als neues Root-Dateisystem in eine RAM-Disk geladen, gemountet und gestartet. Es ist damit betriebsbereit. 13.6.3 Das Rettungssystem benutzen § ¤ § ¤ § ¤ § ¤ Das Rettungssystem stellt Ihnen unter ¦Alt ¥+ ¦F1 ¥bis ¦Alt ¥+ ¦F3 ¥mindestens drei virtuelle Konsolen zur Verfügung, an denen Sie sich als Benutzer `root' ohne § ¤ § ¤ Passwort einloggen können. Mit ¦Alt ¥+ ¦F10 ¥kommen Sie zur Systemkonsole mit den Meldungen von Kernel und syslog. In dem Verzeichnis /bin finden Sie die Shell und Utilities (z. B. mount). Wichti- ge Datei- und Netz-Utilities, z. B. zum Überprüfen und Reparieren von Dateisys- temen (e2fsck), liegen im Verzeichnis /sbin. Des Weiteren finden Sie in diesem Verzeichnis auch die wichtigsten Binaries für die Systemverwaltung wie fdisk, mkfs, mkswap, init, shutdown, sowie für den Netzwerkbetrieb ifconfig, route und netstat. Als Editor ist der vi unter /usr/bin verfügbar; hier sind auch weitere Tools (grep, find, less etc.) wie auch das Programm telnet zu finden. 332 13.6 Das SuSE Rettungssystem Zugriff auf das normale System Zum Mounten Ihres SuSE Linux-Systems auf der Platte ist der Mountpoint /mnt gedacht. Sie können für eigene Zwecke weitere Verzeichnisse erzeugen und als Mountpoints verwenden. Nehmen wir als Beispiel einmal an, Ihr normales System setzt sich laut /etc/ fstab wie in der Beispieldatei 13.6.1 beschrieben zusammen. /dev/sdb5 swap swap defaults 0 0 /dev/sdb3 / ext2 defaults 1 1 /dev/sdb6 /usr ext2 defaults 1 2 Datei 13.6.1: Beispiel /etc/fstab Achtung Beachten Sie im folgendem Abschnitt die Reihenfolge, in welcher die ein- zelnen Geräte zu mounten sind. Um Zugriff auf Ihr gesamtes System zu haben, mounten Sie es Schritt für Schritt unter /mnt mit den folgenden Befehlen: erde:/ # mount /dev/sdb3 /mnt erde:/ # mount /dev/sdb6 /mnt/usr Nun haben Sie Zugriff auf Ihr ganzes System und können z. B. Fehler in Kon- figurationsdateien wie /etc/fstab, /etc/passwd, /etc/inittab beheben. Die Konfigurationsdateien befinden sich statt im Verzeichnis /etc jetzt im Ver- zeichnis /mnt/etc. Um selbst komplett verloren gegangene Partitionen mit dem Programm fdisk einfach wieder durch Neu-Anlegen zurückzugewinnen ­ wenn bekannt war, wo die Partitionen vorher auf der Festplatte lagen ­ sollten Sie sich einen Ausdruck (Hardcopy) von dem Verzeichnis /etc/fstab und dem Output des Befehls erde: # fdisk -l /dev/ machen. Anstelle der Variablen setzen Sie bitte der Reihe nach die Ge- rätenamen (engl. devices) Ihrer Festplatten ein, z. B. hda. Dateisysteme reparieren Beschädigte Dateisysteme sind ein besonders ernster Anlass für den Griff zum Rettungssystem. Dies kann z. B. nach einem unsauberen Shutdown (wie bei Stromausfall) oder einem Systemabsturz vorkommen. Dateisysteme lassen sich grundsätzlich nicht im laufenden Betrieb reparieren. Bei schwereren Schäden lässt sich unter Umständen nicht einmal das Root-Dateisystem mehr mounten und der Systemstart endet in einer "kernel panic". Da bleibt nur der Weg, die Reparatur von außen" unter einem Rettungssystem zu versuchen. Im SuSE Linux-Rettungssystem sind die Utilities e2fsck und dumpe2fs (zur Diagnose) enthalten. Damit beheben Sie die meisten Probleme. Und da auch 333 13 Besonderheiten in SuSE Linux im Notfall oft die Manual-Page von e2fsck nicht mehr zugänglich ist, ist sie im Anhang A auf Seite 359 ausgedruckt. Beispiel: Wenn sich ein Dateisystem wegen eines ungültigen Superblocks nicht mehr mounten lässt, wird das Programm e2fsck vermutlich zunächst ebenfalls scheitern. Die Lösung ist, die im Dateisystem alle 8192 Blöcke (8193, 16385. . . ) angelegt und gepflegten Superblock-Backups zu verwenden. Dies leistet z. B. der Befehl: erde: # e2fsck -f -b 8193 /dev/ Die Option -f erzwingt den Dateisystem-Check und kommt damit dem mögli- chen Irrtum von e2fsck zuvor, es sei ­ angesichts der intakten Superblock-Ko- pie ­ alles in Ordnung. 13.7 Virtuelle Konsolen Linux ist multitasking- und multiuserfähig. Auch bei einem Ein-Benutzer-PC- System werden Sie die Vorteile, die diese Fähigkeiten mitbringen, schätzen ler- nen: Im Textmodus stehen 6 virtuelle Konsolen zur Verfügung, zwischen denen Sie § ¤ § ¤ § ¤ § ¤ durch die Tastenkombinationen ¦Alt ¥+ ¦F1 ¥bis ¦Alt ¥+ ¦F6 ¥wechseln können. Die siebte Konsole ist für X11 reserviert.1 Wenn Sie von X11 aus auf eine Textkonsole zurückschalten möchten, ohne X11 § ¤ § ¤ § ¤ § ¤ § ¤ § ¤ § ¤ zu beenden, verwenden Sie § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦F1 ¥bis ¦Ctrl ¥+ ¦Alt ¥+ ¦F6 ¥ . Mit ¦Alt ¥ + ¦F7 ¥kommen Sie zu X11 zurück. 13.8 Tastaturbelegung Um die Tastaturbelegung von Programmen zu vereinheitlichen, wurden Ände- rungen an den folgenden Dateien vorgenommen: /etc/inputrc /usr/X11R6/lib/X11/Xmodmap /etc/skel/.Xmodmap /etc/skel/.exrc /etc/skel/.less /etc/skel/.lesskey /etc/csh.cshrc /etc/termcap /usr/lib/terminfo/x/xterm /usr/X11R6/lib/X11/app-defaults/XTerm /usr/share/emacs//site-lisp/term/*.el /usr/lib/joerc Diese Änderungen wirken sich nur auf die Applikationen aus, die die terminfo- Einträge auslesen, bzw. deren Konfigurationsdateien direkt verändert wurden 1Durch Modifikation der Datei /etc/inittab können auch weitere oder weniger Konsolen zur Verfügung gestellt werden. 334 13.8 Tastaturbelegung (vi, less etc.). Andere nicht-SuSE-Applikationen sollten an diese Vorgaben angepasst werden. § ¤ Unter X ist die Compose-Taste ( Multi_key") über die Tastenkombination § ¤ ¦Shift ¥ + ¦Strg ¥(rechts) zu erreichen; vgl. den Eintrag in /usr/X11R6/lib/X11/Xmodmap. 335 13 Besonderheiten in SuSE Linux 13.9 Lokale Anpassungen ­ I18N/L10N SuSE Linux ist sehr weitgehend internationalisiert und kann flexibel auf loka- le Gegebenheiten abgestimmt werden; anders gesagt: die Internationalisierung ( I18N") erlaubt spezielle Lokalisierungen ( L10N"). Die Abkürzungen I18N und L10N stehen für internationalization und localization: jeweils Anfangs- und Endbuchstabe und dazwischen die Anzahl der ausgelassenen Buchstaben. Die Einstellungen werden über LC_*-Variablen vorgenommen, die in der Datei /etc/rc.config.d/lang.rc.config definiert sind. Dabei geht es nicht nur um die Einstellung der Sprache für die Programmoberfläche und -meldungen (engl. native language support), sondern im Einzelnen um die Kategorien für Nachrichten (Sprache), Zeichenklassen, Sortierreihenfolge, Datum und Uhrzeit, Zahlen und Geld. Jede dieser Kategorien kann entweder gezielt über eine eigene Variable oder indirekt über eine übergeordnete Variable in der Datei rc.config festgelegt werden (vgl. Manual-Page von locale (man 5 locale)): 1. RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_COLLATE, RC_LC_TIME, RC_LC_NUMERIC, RC_LC_MONETARY: Diese Variablen werden ohne den RC_-Vorsatz an die Shell weitergereicht und bestimmen die o. g. Kategorien; die betroffenen Dateien werden im Folgenden aufgezählt. DEFAULT_LANGUAGE steht direkt in /etc/rc.config und wird nicht exportiert. Die aktuelle Einstellung kann mit dem Befehl locale abgefragt werden. 2. RC_LC_ALL: Diese Variable überschreibt, falls gesetzt, die Werte der in Punkt 1 genannten Variablen. 3. RC_LANG: Wenn keine der o. g. Variablen gesetzt ist, ist diese der Fallback". SuSE Linux setzt standardmäßig nur RC_LANG; dadurch kann der Anwender leichter eigene Werte eintragen. 4. ROOT_USES_LANG: Eine yes/no-Variable. Ist sie auf no gesetzt, dann arbei- tet `root' immer in der POSIX-Umgebung. 5. DEFAULT_LANGUAGE: Diese Variable hat zwei Funktionen. Sie gibt die Spra- che an, in der YaST startet und ist gleichzeitig Fallback, wenn RC_LANG nicht gesetzt ist. Sie wird von YaST abhängig von der im Sprachaus- wahlmenü gewählten Sprache gesetzt. Um Missverständnissen vorzubeugen: DEFAULT_LANGUAGE wird von SuSEconfig nicht als LANGUAGE an die Shell weitergereicht, sondern der Wert dieser Variablen wird nur genommen, um ggf. LANG zu setzen. LANGUAGE kann gesetzt werden, um eine Kaskade" für Sprachunterstützung zu definieren; vgl. auf Seite 338. DEFAULT_LANGUAGE kann von YaST über den Punkt `Sprache festlegen' beeinflusst werden; vgl. Abschnitt 3.4.1 auf Seite 51. Die anderen Variablen sind über den rc.config-Editor zu setzen; vgl. Abschnitt 3.7.14 auf Seite 90. Der Wert einer solchen Variablen setzt sich aus Sprachangabe (engl. language code), Land oder Territorium (engl. country code), Zeichensatz (engl. encoding) 336 13.9 Lokale Anpassungen ­ I18N/L10N und Option (engl. modifier) zusammen. Die einzelnen Angaben werden mit Spe- zialzeichen verbunden: LANG=[[_].Encoding[@Modifier]] Einige Beispiele Bitte setzen Sie die Sprach- und die Länderangabe immer zusam- men. Die Angabe der Sprache folgt dem Standard ISO 639 (http: //www.indigo.ie/egt/standards/iso639/iso639-1-en.html und http://www.loc.gov/standards/iso639-2/), die Ländercodes sind in ISO 3166 (http://www.din.de/gremien/nas/nabd/iso3166ma/ codlstp1/en_listp1.html) festgelegt. Sinnvollerweise dürfen aber nur die Werte gewählt werden, für die verwendbare Beschreibungsdateien unter /usr/lib/locale zu finden sind. Weitere Beschreibungsdateien lassen sich mit Hilfe von localedef aus den Dateien in /usr/share/i18n erzeugen. Eine Beschreibungsdatei für de_DE@euro.UTF-8 wird so erzeugt mit: erde:~ # localedef -i de_DE@euro -f UTF-8 de_DE@euro.UTF-8 LANG=de_DE.ISO-8859-1 So stellt man deutsche Sprache in Deutschland mit Zeichensatz ISO-8859-1 ein. Dieser Zeichensatz enthält nicht das Euro-Zeichen; man benötigt diesen Zeichensatz bisweilen noch, wenn ein Programm noch nicht an ISO-8859-15 angepasst ist. Die Angabe des Zeichensatzes (hier ISO-8859-1) wertet z. B. der Emacs aus. LANG=de_DE@euro Dies ist ein Beispiel für das Setzen einer Option (euro). Die Einstellung de_DE@euro ist die Vorgabe für eine Standardinstallation in deutscher Spra- che. LANG=de_DE.UTF-8 Wenn man in einem Unicode-xterm arbeitet, ist die Angabe UTF-8 zu ma- chen. Um ein xterm für UTF-8 zu starten, sollte man sich ein einfaches Shell- Skript etwa unter dem Namen uxterm anlegen; vgl. Datei 13.9.1. #!/bin/bash export LANG=de_DE.UTF-8 xterm -fn \ '-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1' \ -T 'xterm UTF-8' $* Datei 13.9.1: uxterm zum Starten eines Unicode-xterm SuSEconfig liest die Variablen /etc/rc.config aus und schreibt die Anga- ben nach /etc/SuSEconfig/profile und /etc/SuSEconfig/csh.cshrc. /etc/SuSEconfig/profile wird von /etc/profile eingelesen ( gesour- cet") und /etc/SuSEconfig/csh.cshrc von /etc/csh.cshrc. Somit ste- hen die Einstellungen systemweit zur Verfügung. 337 13 Besonderheiten in SuSE Linux Die Benutzer können die Systemvorgaben in ~/.bashrc überschreiben. Wenn also die Systemvorgabe de_DE ist, kann der Benutzer, falls er mit deutschen Programmmeldungen nicht zufrieden ist, so auf englische Ausgaben umschalten: LC_MESSAGES=en_US 13.9.1 Anpassung für Sprachunterstützung Hinweisend ist zu sagen, dass die Dateien der Kategorie Nachrichten in der Re- gel nur im Sprachverzeichnis (z. B. de) abgelegt werden, um ein Fallback zu haben. Wenn man also LANG auf de_AT setzt und die Message"-Datei unter /usr/share/locale/de_AT/LC_MESSAGES nicht vorhanden ist, dann wird auf /usr/share/locale/de/LC_MESSAGES zurückgegriffen. Auch kann man mit LANGUAGE eine Fallbackkaskade festlegen; z. B. für breto- nisch französisch oder für galizisch spanisch portugiesisch: LANGUAGE="br_FR:fr_FR" LANGUAGE="gl_ES:es_ES:pt_PT" Mögliche Probleme * Der Tausenderpunkt wird nicht erkannt. Wahrscheinlich steht LANG bei- spielweise auf de. Da die Beschreibung, auf die die glibc zurückgreift, in /usr/share/locale/de_DE/LC_NUMERIC zu finden ist, muss beispiels- weise LC_NUMERIC auf de_DE gesetzt werden. Weitere Informationen: * The GNU C Library Reference Manual, Kap. "Locales and Internationaliza- tion"; enthalten in Paket glibc-info, Serie doc. * Jochen Hein [Hei96], unter dem Stichwort "NLS". * German-Howto von Winfried Trümper file:/usr/share/doc/howto/ en/html/German-HOWTO.html * Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, aktuell unter http: //www.cl.cam.ac.uk/~mgk25/unicode.html. * Unicode-Howto von Bruno Haible file:/usr/share/doc/howto/en/html/Unicode-HOWTO.html. 338 14 Das SuSE Linux-Bootkonzept 14 Das SuSE Linux-Bootkonzept Das Booten und die Initialisierung eines Unix-Systems sind selbst für einem er- fahrenen System-Administrator keineswegs trivial. Dieses Kapitel gibt eine kur- ze Einführung in das Bootkonzept von SuSE Linux. Die vorliegende Implemen- tierung setzt den Abschnitt System Initialization des LSB-Entwurfs (Version 0.3) um; zum LSB vgl. Abschnitt 13.1.2 auf Seite 317. Mit den lapidaren Worten "Uncompressing Linux..." übernimmt der Ker- nel die Kontrolle über die gesamte Hardware des Systems. Er prüft und setzt die Konsole ­ oder genauer: die BIOS-Register der Graphikkarte und das Ausgabe- format auf den Bildschirm ­, um danach die Einstellungen im BIOS zu lesen und die elementaren Schnittstellen des Mainboards zu initialisieren. In den nächsten Schritten proben" die einzelnen Treiber ­ die ja Bestandteil des Kernels sind ­ die vorhandene Hardware, um sie gegebenenfalls zu initialisieren. Nach dem Partitionscheck" und dem Mounten des Root-Dateisystems startet der Kernel das Programm init, welches das eigentliche System mit seinen vielen Dienstpro- grammen und deren Konfiguration hochfährt" (Unix-Jargon). Der Kernel ver- waltet weiterhin das gesamte System, also Rechenzeit der einzelnen Programme und deren Hardware-Zugriffe. 14.1 Das init-Programm Das Programm init ist der für die korrekte Initialisierung des Systems zuständige Prozess; es ist sozusagen der Vater aller Prozesse" im System. Unter allen Programmen nimmt init eine Sonderrolle ein: init wird direkt vom Kernel gestartet und ist immun gegen das Signal 9, mit dem normalerweise jeder Prozess gekillt" werden kann. Alle weiteren Prozesse werden entweder von init selbst oder von einem seiner Kindprozesse" gestartet. Konfiguriert wird init zentral über die Datei /etc/inittab; hier werden die so genannten Runlevel" definiert (mehr dazu im nächsten Abschnitt) und es wird festgelegt, welche Dienste und Daemonen in den einzelnen Levels zur Verfü- gung stehen sollen. Abhängig von den Einträgen in /etc/inittab ruft init ver- schiedene Skripten auf, die aus Gründen der Übersichtlichkeit im Verzeichnis /etc/init.d zusammengefasst sind. Der gesamte Hochlauf des Systems ­ und natürlich auch das Herunterfahren ­ wird somit einzig und allein vom init-Prozess gesteuert; insofern lässt sich der Kernel quasi als Hintergrundprozess" betrachten, dessen Aufgabe darin besteht, die gestarteten Prozesse zu verwalten, ihnen Rechenzeit zuzuteilen und den Zu- griff auf die Hardware zu ermöglichen und zu kontrollieren. 339 14 Das SuSE Linux-Bootkonzept 14.2 Die Runlevels Unter Linux existieren verschiedene Runlevels, die den jeweiligen Zustand des Systems definieren. Der Standard-Runlevel, in dem das System beim Booten hochfährt, ist in der Datei /etc/inittab durch den Eintrag initdefault festgelegt. Für gewöhnlich ist dies 3 oder 5 (siehe Tabelle 14.1). Alternativ kann der gewünschte Runlevel beim Booten (z. B. am Boot-Prompt) angegeben wer- den; der Kernel gibt Parameter, die er nicht selbst auswertet, unverändert an den init-Prozess weiter. Um zu einem späteren Zeitpunkt in einen anderen Runlevel zu wechseln, kann man init mit der Nummer des zugehörigen Runlevels aufrufen; das Wechseln des Runlevels kann nur vom Systemadministrator veranlasst werden. Beispielsweise gelangt man durch das Kommando root@erde:/ > init 1 in den Einzelbenutzerbetrieb (engl. Single user mode), der der Pflege und Ad- ministration des Systems dient. Nachdem der Systemadministrator seine Arbeit beendet hat, kann er durch root@erde:/ > init 3 das System wieder in den normalen Runlevel hochfahren lassen, in dem alle für den Betrieb erforderlichen Programme laufen und sich die einzelnen Benutzer beim System anmelden können. Die Tabelle 14.1 gibt einen Überblick über die zur Verfügung stehenden Run- level. Runlevel 2 sollte auf einem System, dessen /usr-Partition via NFS ge- mountet ist, nicht verwendet werden! Runlevel Bedeutung 0 Systemhalt (engl. System halt) S Einzelbenutzerbetrieb (engl. Single user mode); vom Boot- prompt aus mit US-Tastaturbelegung 1 Einzelbenutzerbetrieb (engl. Single user mode) 2 Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk (engl. Local multiuser without remote network (e. g. NFS)) 3 Voller Multiuserbetrieb mit Netzwerk (engl. Full multiuser with network) 4 Frei (engl. Not used) 5 Voller Multiuserbetrieb mit Netzwerk und KDM (Standard), GDM oder XDM (engl. Full multiuser with network and xdm) 6 Systemneustart (engl. System reboot) Tabelle 14.1: Liste der gültigen Runlevels unter Linux Daraus folgt insbesondere, dass Sie das System auch durch root@erde:/ > init 0 anhalten, bzw. durch root@erde:/ > init 6 340 14.3 Wechsel des Runlevels zu einem Neustart veranlassen können. Wenn Sie das X Window System bereits korrekt konfiguriert haben(Kapitel 6 auf Seite 143) und möchten, dass sich die Benutzer direkt an der grafischen Ober- fläche beim System anmelden, so können Sie den Standard-Runlevel über YaST auf 5 ändern; vgl. 3.7.4 auf Seite 83. Bevor Sie dies tun, sollten Sie erst einmal durch Eingabe von root@erde:/ > init 5 testen, ob das System so wie von Ihnen gewünscht funktioniert. Tipp Eine zerstörte /etc/inittab kann dazu führen, dass das System nicht mehr korrekt hochgefahren wird. Gehen Sie bei Veränderungen dieser Da- tei deshalb mit besonderer Sorgfalt vor. Zur Behebung des Schadens kön- nen Sie in einem solchen Fall versuchen, am LILO-Prompt den Parameter init=/bin/sh zu übergeben, um direkt in eine Shell zu booten (vgl. auf Seite 110); also etwa in dieser Art: boot: linux init=/bin/sh 14.3 Wechsel des Runlevels Generell passieren bei einem Wechsel des Runlevels folgende Dinge: Die Stopp- Skripten des gegenwärtigen Runlevels werden ausgeführt ­ dabei werden typi- scherweise verschiedene, in diesem Level laufende Programme beendet ­ und die Start-Skripten des neuen Runlevels werden ausgeführt. Während eines sol- chen Vorgangs werden in den meisten Fällen einige Programme gestartet. Um dies zu verdeutlichen, betrachten wir an einem Beispiel den Wechsel von Runlevel 3 nach Runlevel 5: * Der Administrator (`root') teilt dem init-Prozess mit, dass der Runlevel gewechselt werden soll: root@erde:/ > init 5 * init konsultiert die Konfigurationsdatei /etc/inittab und stellt fest, dass das Skript /etc/init.d/rc mit dem neuen Runlevel als Parameter aufge- rufen werden muss. * Nun ruft rc alle Stopp-Skripten des gegenwärtigen Runlevels auf, für die im neuen Runlevel kein Start-Skript existiert; in unserem Beispiel sind das al- le Skripte, die sich im Verzeichnis /etc/init.d/rc3.d befinden (der alte Runlevel war 3) und mit einem `K' beginnen. Die nach dem `K' folgen- de Zahl gewährleistet, dass hierbei eine bestimmte Reihenfolge eingehalten wird, da unter Umständen manche Programme von anderen abhängig sind. 341 14 Das SuSE Linux-Bootkonzept Hinweis Die Namen der Stopp-Skripten beginnen immer mit `K' (engl. kill), die der Start-Skripten mit `S' (engl. start). * Als Letztes werden die Start-Skripten des neuen Runlevels aufgerufen; diese liegen in unserem Beispiel unter /etc/init.d/rc5.d und beginnen mit einem `S'. Auch hierbei wird eine bestimmte Reihenfolge eingehalten, die durch die dem `S' folgende Zahl festgelegt ist. Wenn Sie in denselben Runlevel wechseln, in dem Sie sich bereits befinden, liest init nur die /etc/inittab ein, prüft sie auf Veränderungen und nimmt bei Bedarf die entsprechenden Maßnahmen vor, etwa das Starten eines getty auf einer weiteren Schnittstelle. 14.4 Die Init-Skripten Die Skripten unter /etc/init.d unterteilen sich in zwei Kategorien: * Skripte, die direkt von init aufgerufen werden: Dies ist nur beim Booten der Fall sowie bei einem sofortigen Herunterfahren des Systems (bei Stromaus- § ¤ § ¤ § ¤ fall oder durch Drücken der Tastenkombination ¦Strg ¥+ ¦Alt ¥+ ¦Entf ¥durch den Anwender). * Skripte, die indirekt von init aufgerufen werden: Das geschieht bei einem Wechsel des Runlevels; es wird generell das übergeordnete Skript /etc/init.d/rc ausgeführt, das dafür sorgt, dass die relevanten Skripten in der korrekten Rei- henfolge aufgerufen werden. Alle Skripten befinden sich unter /etc/init.d. Die Skripten für das Wech- seln des Runlevels befinden sich ebenfalls in diesem Verzeichnis, werden jedoch grundsätzlich als symbolischer Link aus einem der Unterverzeichnisse /etc/ init.d/rc0.d bis /etc/init.d/rc6.d aufgerufen. Dies dient der Übersicht- lichkeit und vermeidet, dass Skripten mehrfach vorhanden sein müssen, etwa weil sie in verschiedenen Runlevels verwendet werden sollen. Da jedes dieser Skripten sowohl als Start- wie auch als Stopp-Skript aufgerufen werden kann, müssen sie alle die beiden möglichen Parameter start und stop verstehen. Zu- sätzlich verstehen die Skripten die Optionen restart, reload, force-reload und status; die Bedeutung aller Optionen ist in Tabelle 14.2 auf der nächsten Seite aufgelistet. Beim Verlassen des Runlevels 3 wird /etc/init.d/rc3.d/K40network auf- gerufen; /etc/init.d/rc ruft das Skript /etc/init.d/network mit dem Parameter stop auf. Beim Eintritt in Runlevel 5 wird letztlich das gleiche Skript gestartet, diesmal jedoch mit dem Parameter start. 342 14.4 Die Init-Skripten Option Bedeutung start Dienst starten stop Dienst stoppen restart Dienst stoppen und erneut starten, wenn der Dienst be- reits lief; andernfalls den Dienst starten reload Konfiguration des Dienstes erneut einlesen, ohne den Dienst zu stoppen und neu zu starten force-reload Konfiguration des Dienstes erneut einlesen, wenn der Dienst dies unterstützt; andernfalls wie restart status aktuellen Status anzeigen Tabelle 14.2: Übersicht der Optionen der init-Skripten Die Links in den einzelnen Runlevel-spezifischen Unterverzeichnissen dienen somit also nur dazu, eine Zuordnung der einzelnen Skripten zu bestimmten Run- levels zu ermöglichen. Die Anlage und das Entfernen der notwendigen Links geschieht mit insserv (bzw. dem Link /usr/lib/lsb/install_initd) beim Installieren oder Dein- stallieren des Paketes; vgl. Manual-Page von insserv (man 8 insserv) Im Folgenden finden Sie eine kurze Beschreibung der ersten Boot- und der letz- ten Shutdown-Skripten sowie des Steuerskripts: * boot Wird beim Start des Systems ausgeführt und direkt von init gestartet. Es ist unabhängig vom gewünschten Default-Runlevel und wird nur genau ein ein- ziges Mal ausgeführt. Hier wird der Kernel-Daemon gestartet, der das auto- matische Laden von Kernel-Modulen übernimmt. Es werden die Dateisyste- me geprüft, etwaige überflüssige Dateien unter /var/lock gelöscht und das Netzwerk für das Loopback-Device konfiguriert, sofern dies in /etc/rc. config eingetragen ist. Weiterhin wird die Systemzeit gesetzt und Plug-and- Play-Hardware wird mit den isapnp-Tools konfiguriert (vgl. Abschnitt 7.2.1 auf Seite 185). Tritt beim Prüfen und automatischen Reparieren der Dateisysteme ein schwe- rer Fehler auf, hat der Systemadministrator nach Eingabe des Root-Passwor- tes die Möglichkeit, manuell eine Lösung des Problems herbeizuführen. Diesem Skript ist des Weiteren das Verzeichnis /etc/init.d/boot.d zu- geordnet; alle in diesem Verzeichnis gefundenen Skripte, die mit `S' begin- nen, werden automatisch beim Hochlauf des Systems ausgeführt. Dies ist die richtige Stelle für eigene Erweiterungen, die nur einmal beim Start aktiviert werden sollen. Schließlich wird als Letztes das Skript boot.local ausgeführt. * boot.local Hier können weitere Dinge eingetragen werden, die beim Start geschehen sollen, bevor das System in einen der Runlevels eintritt; es kann von sei- ner Funktion her mit der vielleicht von DOS her gewohnten AUTOEXEC.BAT 343 14 Das SuSE Linux-Bootkonzept verglichen werden. * boot.setup Grundlegende Einstellungen, die beim Übergang vom Single user mode in irgendeinen Runlevel vorgenommen werden müssen. Hier werden die Tastaturbelegung und die Konsolenkonfiguration geladen. * halt Dieses Skript wird nur beim Eintritt in den Runlevel 0 oder 6 ausgeführt. Dabei wird es entweder unter dem Namen halt oder dem Namen reboot aufgerufen. Abhängig davon, wie halt aufgerufen wurde, wird das System neu gestartet oder ganz heruntergefahren. * rc Das übergeordnete Skript, das bei jedem Wechsel des Runlevels aufgerufen wird. Es führt die Stopp-Skripten des gegenwärtigen Runlevels aus und da- nach die Start-Skripten des neuen. Eigene Skripten lassen sich anhand dieses Konzepts hinzufügen. Ein Gerüst ist in /etc/init.d/skeleton vorbereitet. Das genaue Format ist im Entwurf des LSB beschrieben; dort wird insbesondere festgelegt, in welcher Reihenfolge und in welchen Levels das jeweilige Skript abgearbeitet werden muss. Um die Aus- führung eines eigenen Skripts über die /etc/rc.config zu steuern, sollte eine -Variable dort hinterlegt und dann im eigenen Skript abgefragt wer- den; zusätzliche Parameter sollten nur im begründeten Einzelfall in der /etc/ rc.config eingetragen werden (vgl. z. B. das Skript /etc/init.d/gpm). Nun sind Links von dem jeweiligen rc-Verzeichnis auf das neue Skript anzule- gen, damit das Skript ­ wie oben beschrieben (Abschnitt 14.3 auf Seite 341) ­ beim Wechsel des Runlevels ausgeführt wird; die Namengebung für die Links wird ebendort beleuchtet. Die technischen Details werden in der Manual-Page von init.d (man 7 init.d) dargestellt. Achtung Beim Erstellen eigener Skripten ist Vorsicht geboten ­ ein fehlerhaftes Skript ist in der Lage, den Rechner aufzuhängen"; vgl. oben Abschnitt 14.2 auf Seite 340, falls einmal nichts mehr gehen sollte. . . 14.5 /etc/rc.config und SuSEconfig Praktisch die gesamte Konfiguration von SuSE Linux kann über die zentrale Konfigurationsdatei /etc/rc.config vorgenommen werden. In dieser Datei werden eine Reihe von Umgebungsvariablen gesetzt, die unter anderem von den Init-Skripten ausgewertet werden; jedes der Skripten unter /etc/init.d lädt ( sourcet") als Erstes die Datei /etc/rc.config, um die aktuell gültigen Werte der einzelnen Variablen zu übernehmen. 344 14.5 /etc/rc.config und SuSEconfig Hinweis Seit SuSE Linux 6.0 lagern Pakete mit umfangreichen Einstellungsmög- lichkeiten ihre Variablen in einzelne Dateien in das Verzeichnis /etc/rc. config.d aus; dies ist z. B. bei Paket sendmail oder Paket i4l (ISDN) der Fall. Im Folgenden wird vereinfachend zumeist nur von /etc/rc.config ge- sprochen, auch wenn mitunter eine ausgelagerte Datei vorhanden ist! Darüber hinaus können viele weitere Konfigurationsdateien des Systems in Ab- hängigkeit von /etc/rc.config generiert werden; diese Aufgabe wird von /sbin/SuSEconfig erledigt. So wird beispielsweise nach einer Änderung der Netz- werkkonfiguration die Datei /etc/host.conf neu erzeugt, da sie abhängig von der Art der Konfiguration ist. Wenn Sie Änderungen an /etc/rc.config vornehmen, müssen Sie nachfol- gend immer SuSEconfig aufrufen, um sicherzustellen, dass Ihre Einstellungen auch an allen relevanten Stellen wirksam werden. Verändern Sie die Konfigura- tion mit YaST, brauchen Sie sich darum nicht explizit zu kümmern; YaST star- tet automatisch SuSEconfig, wodurch die betroffenen Dateien auf den aktuellen Stand gebracht werden. Dieses Konzept ermöglicht es, grundlegende Änderungen an der Konfiguration des Rechners vornehmen zu können, ohne die Maschine neu booten zu müssen. Da manche Einstellungen sehr tiefgreifend sind, müssen jedoch unter Umstän- den einige Programme neu gestartet werden, um die Änderungen wirksam wer- den zu lassen. Durch Verwendung der Kommandos erde:~ # rcnetwork stop erde:~ # rcnetwork start wird erreicht, dass die von der Änderung betroffenen Programme neu gestar- tet werden. Wie Sie sehen, können die Init-Skripten auch von Hand aufgerufen werden. Generell ist für das Konfigurieren des Systems folgender Weg zu empfehlen: * Bringen Sie das System in den single user mode" (Runlevel 1): erde:~ # init 1 * Nehmen Sie die gewünschten Änderungen an der Konfigurationsdatei /etc/ rc.config vor. Dies kann mit einem beliebigen Editor geschehen oder mit YaST unter dem Punkt `Konfigurationsdatei verändern' (siehe Ab- schnitt 14.6 auf der nächsten Seite). * Führen Sie SuSEconfig aus, um die Änderungen in die verschiedenen wei- teren Konfigurationsdateien eintragen zu lassen. Dies geschieht automatisch, wenn Sie die Datei /etc/rc.config mit YaST geändert haben. * Bringen Sie das System in den vorherigen Runlevel zurück: erde:~ # init 3 345 14 Das SuSE Linux-Bootkonzept Diese Vorgehensweise ist natürlich nur bei sehr weitreichenden Änderungen an den Einstellungen des Systems erforderlich (z. B. Netzwerkkonfiguration); bei einfachen Aufgaben ist es nicht erforderlich, für die Administration in den sin- gle user mode" zu wechseln; jedoch stellen Sie damit sicher, dass auch wirklich alle von der Änderung betroffenen Programme neu gestartet werden. Tipp Um die automatische Konfiguration via SuSEconfig grundsätzlich abzu- schalten, kann die Variable in der /etc/rc. config gesetzt werden (schalten Sie SuSEconfig bitte nicht ab, wenn Sie den Installationssupport in Anspruch nehmen wollen!); es ist auch möglich, mittels geeigneter rc.config-Variablen die Auto-Konfiguration nur gezielt zu disablen". 14.6 Die /etc/rc.config-Variablen Im Folgenden werden die einzelnen Parameter des Systems und ihre Einstel- lungen kurz beschrieben. Wenn Sie /etc/rc.config, die Konfigurationsdatei, nicht mit YaST bearbeiten, achten Sie darauf, dass Sie einen leeren Parameter als zwei aufeinander folgende Anführungszeichen schreiben (z. B. KEYTABLE="") und Parameter, die Leerzeichen enthalten, in Anführungsstriche einschließen. Bei Variablen, die nur aus einem Wort bestehen, sind die Anführungszeichen nicht nötig. In der folgenden Beschreibung hat jeder Parameter einen Wert, um anhand eines Beispiels die möglichen Einstellungen zu verdeutlichen: Grundeinstellungen * ENABLE_SUSECONFIG=yes Legt fest, ob SuSEconfig der Konfiguration vornehmen soll. Bitte auf keinen Fall ausschalten, falls Sie Installationssupport in Anspruch nehmen wollen ;-) * MAIL_REPORTS_TO=tux Festlegen, an wen SuSEconfig Reporte zur System-Administration per E- Mail schicken soll. * GMT=-u Wenn Ihre Hardware-Uhr auf GMT (Greenwich Mean Time) eingestellt ist, setzen Sie diese Variable auf -u, anderenfalls lassen Sie die Variable leer. Diese Einstellung ist relevant für das automatische Umstellen von Sommer- auf Winterzeit und umgekehrt. 346 14.6 Die /etc/rc.config-Variablen ­ Konfiguration des Systems * TIMEZONE=CET Die Zeitzone, in der Sie wohnen bzw. den Rechner betreiben. Diese Ein- stellung ist auch wichtig für die automatische Umstellung von Sommer- auf Winterzeit und umgekehrt. * DEFAULT_LANGUAGE="german" Wird von YaST gesetzt, wenn mit `Sprache festlegen' eine Änderung vorgenommen wird (vgl. Abschnitt 3.4.1 auf Seite 51). Dieser Wert gilt auch als Fallback, wenn RC_LANG nicht gesetzt ist (s. u.); in einem solchen Fall wird der hier eingetragene Wert über die Datei /usr/share/locale/locale. alias aufgelöst. * RC_LANG="de_DE" Setzt LANG für locale; hiermit kann für die lokalen Benutzer eine Vorgabe eingestellt werden. Dieser Wert kommt solange zum Tragen, wie keine spe- ziellen RC_LC_*-Variablen benutzt werden. Die einschlägigen rc.config-Variablen lauten: RC_LC_ALL (hiermit kann man die LC_* wie auch LANG überschreiben!), RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_MONETARY, RC_LC_NUMERIC, RC_LC_TIME und RC_LC_COLLATE. Vgl. Abschnitt 13.9 auf Seite 336. * ROOT_USES_LANG="no" Sollen auch für `root' die locale-Einstellungen verwendet werden? * ENABLE_SYSRQ="no" Interna des Kernels betrachten. Vor Anwendungen bitte unbedingt /usr/ src/linux/Documentation/sysrq.txt lesen! Lokale Hardware initialisieren (Tastatur, Modem, Maus, PCMCIA etc.) * KEYTABLE=de-latin1-nodeadkeys Definiert die Tastaturbelegung. * KBD_NUMLOCK=no § ¤ ¦NumLock ¥beim Booten nicht einschalten. * KBD_CAPSLOCK=no § ¤ ¦CapsLock ¥beim Booten nicht einschalten. * KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6" § ¤ § ¤ ¦NumLock ¥und ¦CapsLock ¥kann auf bestimmte TTYs beschränkt werden; gequoted steht für alle TTYs. * KBD_RATE=30 Bestimmt die Geschwindigkeit der automatischen Tastaturwiederholung. Mögliche Eingaben sind von zweimal bis zu 30 mal pro Sekunde. Damit diese Einstellung wirkt, muss gleichfalls die Dauer der Verzögerung (vgl. KBD_DELAY) festgelegt werden! 347 14 Das SuSE Linux-Bootkonzept * KBD_DELAY=250 Hier können Sie die Verzögerung einstellen, nach der die automatische Wie- derholfunktion einsetzt. Der Wert ist in Millisekunden, das Raster ist jedoch nicht sehr genau. Sie müssen auch KBD_RATE einstellen! * CONSOLE_FONT=mr.fnt Der Font, der für die Konsole geladen wird. Nicht alle Fonts unterstützen die deutschen Umlaute! Mit YaST können Sie bequem die Fonts durchprobieren und denjenigen einstellen, der Ihnen am Besten gefällt. Zusatzeinstellungen sind: CONSOLE_SCREENMAP, CONSOLE_UNICODEMAP und CONSOLE_MAGIC. * MODEM=/dev/ttyS1 Die Schnittstelle, an der das Modem angeschlossen ist. Von YaST bzw. Su- SEconfig wird ein Link von /dev/modem auf das angegebene Device ange- legt. * MOUSE=/dev/ttyS2 Die Schnittstelle, an der die Maus angeschlossen ist. Von YaST bzw. SuSE- config wird ein Link von /dev/mouse auf das angegebene Device angelegt. * START_GPM=yes Steuert, ob der Maus-Support für die Konsole gestartet wird; damit kann zwi- schen verschiedenen virtuellen Konsolen mit der Maus Text ausgetauscht werden. Gpm ist problematisch im Zusammenhang mit manchen Busmäu- sen; haben Sie bei der Verwendung von X Probleme mit der Maus, sollten Sie das Starten des gpm unterbinden. Oder verwenden Sie gleich einen Display- Manager; denn in Runlevel 5 wird gpm grundsätzlich nicht gestartet. * GPM_PARAM=" -t logi -m /dev/mouse" Die Startparameter für den gpm; normalerweise von YaST versorgt. * PCMCIA=i82365 Dient der Festlegung des Chipsets; gültige Werte sind i82365 oder tcic. Wenn die Variable auf "" gesetzt wird, wird das PCMCIA-Subsystem nicht gestartet. Feineinstellungen sind über die Variablen PCMCIA_PCIC_OPTS und PCMCIA_CORE_OPTS möglich. * START_ISAPNP=yes ISA PnP beim Booten initialisieren. * INITRD_MODULES="aic7xxx" Die Namen der Module, die während des Bootens des Kernels geladen wer- den müssen, um beispielsweise auf die Festplatte zugreifen zu können. Sinn- volle und notwendige Einträge werden während der Installation bzw. des Up- dates vorgenommen; vgl. Abschnitt 13.4 auf Seite 320. * START_KERNELD=yes Diese Variable steuert, ob beim Booten des Kernels 2.0.xx automatisch der Kernel-Daemon gestartet wird. Dieser Daemon sorgt dafür, dass bei Bedarf automatisch benötigte Kernel-Module geladen werden. Beim jetzigen Stan- dardkernel 2.2.xx wird kerneld nicht mehr benötigt! ­ Eine kurze Einführung in das Modulkonzept finden Sie in Abschnitt 10.2 auf Seite 254. 348 14.6 Die /etc/rc.config-Variablen ­ Konfiguration des Systems Netz- und lokale Dienste starten und konfigurieren * START_LOOPBACK=yes Legt fest, ob quasi ein Mini-Netzwerk eingerichtet werden soll, indem das Loopback-Device konfiguriert wird. Da viele Programme diese Funktionali- tät benötigen, sollte es unbedingt aktiviert werden.1 * CHECK_ETC_HOSTS=yes Legt fest, ob SuSEconfig die /etc/hosts überprüfen und ggf. ändern soll. * BEAUTIFY_ETC_HOSTS=no Falls /etc/hosts sortiert werden soll. * SETUPDUMMYDEV=no Legt fest, ob das Dummy-Device eingerichtet werden soll; nützlich bei nicht permanenten Netzwerk-Verbindungen (z. B. SLIP oder PPP). Wenn Sie eine Ethernet-Karte haben, ist es bisweilen störend. * CREATE_HOSTCONF=yes Legt fest, ob SuSEconfig die /etc/host.conf überprüfen und ggf. ändern soll. * MODIFY_RESOLV_CONF_DYNAMICALLY=yes Einige Dienste wie beispielsweise ppp", ippp", dhclient", pcmcia" oder hotplug" müssen /etc/resolv.conf dynamisch zu bestimmten Zeitpunk- ten ändern. Beispiele: eine PPP- oder IPPP-Verbindung wurde aufgebaut und die Gegenstelle teilt die zu verwendenden Nameserver mit; PCMCIA muss den richtigen Nameserver für das gewählten Konfiguration-Schema einstel- len. Wenn die Variable auf no gesetzt wird, wird keiner dieser Dienste die /etc/ resolv.conf eigenständig ändern. Wenn Sie sich unsicher sind, ist der Vor- gabewert yes zu belassen. * NETCONFIG=_0 Gibt an, wie viele Netzwerkkarten (oder sonstige Netz-Devices) der Rech- ner besitzt. Dies ist das Beispiel für eine Netzwerkkarte (sie werden mit 0 beginnend nummeriert); bei einer Maschine mit zwei Karten müsste der Ein- trag NETCONFIG="_0 _1" lauten. Bei einem Rechner ohne Netzwerkkarte bleibt der Eintrag leer. * IPADDR_0=193.141.17.202 Die IP-Adresse für die erste Netzwerkkarte. * NETDEV_0=eth0 Der Name des ersten Netzwerk-Devices (üblicherweise eine Ethernet-Netz- werkkarte, daher der Eintrag eth0. Weitere mögliche Einträge sind str1 oder plip1. Verfügt der Rechner über mehr als eine Netzwerkkarte, werden analog die Variablen NETDEV_1 bis NETDEV_3 versorgt. 1Natürlich muss auch der Kernel Netzwerkunterstützung bieten! 349 14 Das SuSE Linux-Bootkonzept * IFCONFIG_0="193.141.17.205 broadcast 193.141.17.255 netmask 255.255.255.192" Das Konfigurationskommando für das erste Netzwerk-Gerät. Die nötigen Einstellungen lassen sich komfortabel mit YaST vornehmen. Besitzen Sie mehr als eine Netzwerkkarte, tragen Sie hier entsprechend in die weiteren Variablen die Befehlszeilen ein. * CLOSE_CONNECTIONS=false Falls auf true gesetzt ist und der Runlevel" 0 oder 6 ist (halt oder reboot), sendet /etc/init.d/route allen Prozessen, die eine remote tcp"- oder udp"-Verbindung offen haben, ein SIGTERM. * IP_DYNIP=no Den dynamic IP patch" beim Booten aktivieren; bei yes gibt das Skript /etc/init.d/boot diesen Patch durch einen Eintrag in das /proc-Datei- system frei. * IP_TCP_SYNCOOKIES=yes Schutz vor Syn Flooding" (engl. syn flood protection) aktivieren. * IP_FORWARD=no Wenn der Rechner über zwei Netzwerk-Interfaces weiterleiten soll, ist IP_FORWARD auf yes zu setzen; dies ist bei einen Router" oder bei Mas- querading" in der Regel erwünscht bzw. notwendig. Das Skript /etc/ init.d/boot schaltet IP-Forwarding" durch einen Eintrag in das /proc- Dateisystem frei. * FQHOSTNAME=erde.kosmos.all Der voll qualifizierte Name des Rechners; voll qualifiziert" bedeutet hierbei vollständig", d. h. der komplette Name, zusammengesetzt aus Rechner- und Domainname. * ORGANIZATION="Duesentrieb, Entenhausen" Der hier eingetragene Text erscheint in jedem News-Posting, das von dem betreffenden Rechner abgeschickt wird. * NNTPSERVER=sonne.kosmos.all Die Adresse des News-Servers; beziehen Sie Ihre News per UUCP und wer- den diese lokal gespeichert, sollten Sie hier localhost eintragen. * IRCSERVER=sonne.kosmos.all Hier können Sie mehrere IRC-Server (Internet Relay Chat) angeben. Die Na- men der einzelnen Server werden durch Leerzeichen voneinander getrennt. * START_FW=no Aktiviert den Firewall. * START_INETD=yes Aktiviert den inetd-Superdaemon. Dieser Daemon reagiert auf Verbindungs- wünsche anderer Rechner und startet abhängig vom gewählten Port den zu- gehörigen Dienst. Sie benötigen diesen Daemon, wenn Sie sich per telnet oder rlogin auf den Rechner einloggen möchten. ­ Setzen Sie START_INETD 350 14.6 Die /etc/rc.config-Variablen ­ Konfiguration des Systems jedoch auf no, wenn der xinetd zum Einsatz kommen soll (vgl. auf dieser Seite). * START_XINETD=no Aktiviert den xinetd-Superdaemon, den erweiterten inetd (vgl. auf der vorhe- rigen Seite). Wenn dieser extended Internet services daemon" benutzt wer- den soll, muss START_INETD auf no gesetzt werden. * SENDMAIL_xxxx= Die sendmail-Variablen. * START_POSTFIX=no Aktiviert den Mail-Server postfix. Zugehörig sind die Variablen POSTFIX_CREATECF, POSTFIX_RELAYHOST, POSTFIX_MASQUERADE_DOMAIN und POSTFIX_LOCALDOMAINS. * SMTP=no Legt fest, ob ein Sendmail-Daemon laufen soll. Wenn Sie Ihre E-Mail aus- schließlich via UUCP empfangen, brauchen Sie dies nicht, vorausgesetzt, Sie rufen nach jedem Pollen sendmail -q auf (das von UUCP aufgerufe- ne rmail stellt die Mail nur in die Empfangswarteschlange, stellt sie jedoch nicht zu). In einem Netz, in dem die Mail-Spool-Verzeichnisse via NFS ein- gehangen (gemountet) sind und der einzelne Rechner somit nur abgehende Mail hat, kann diese Variable ebenfalls auf no stehen; das Gleiche gilt bei Verwendung eines Relay Hosts". * START_PORTMAP=no Legt fest, ob der Portmapper gestartet werden soll. Sie benötigen den Port- mapper, wenn der Rechner als NFS-Server dienen soll; ohne den Portmapper können die Daemonen rpc.mountd und rpc.nfsd nicht laufen; deshalb wird der Portmapper auch dann gestartet, wenn diese Variable auf no steht, aber NFS_SERVER eingeschaltet ist! Auch für die Verwendung von NIS ist der Portmapper erforderlich! * NFS_SERVER=no Wenn der Rechner als NFS-Server dienen soll, ist diese Variable auf yes zu setzen. Dadurch wird bewirkt, dass die Daemonen rpc.nfsd und rpc.mountd gestartet werden. * REEXPORT_NFS=no Setzen Sie die Variable auf yes, um gemountete NFS-Verzeichnisse oder NetWare-Volumes zu re-exportieren. * NFS_SERVER_UGID=yes Wenn der Daemon (rcp.ugidd) für die Umsetzung von User- und Group-ID gestartet werden soll; dieser Dienst muss auf dem jeweiligen NFS-Client ge- startet werden. * USE_KERNEL_NFSD="no" Wenn das Paket knfsd installiert ist, kann der kernel-basierte NFS-Daemon benutzt werden. Mit diesem NFS-Daemon ist Locking möglich. Vgl. die da- zugehörige Variable USE_KERNEL_NFSD_NUMBER. 351 14 Das SuSE Linux-Bootkonzept * START_AMD=no Automounter starten; wenn keine zwingenden Gründe vorliegen, sollte man jetzt das autofs-Kernelmodul bevorzugen (vgl. unten auf dieser Seite). * START_AUTOFS=no Mit diesem Daemon ist es möglich, sowohl über NFS erreichbare Verzeich- nisse als auch lokale Verzeichnisse (CD-ROM-Laufwerke, Disketten etc.) automatisch zu mounten. Das Paket autofs, Serie n muss installiert und konfiguriert sein. * USE_NIS_FOR_AUTOFS=yes Autofs-Konfigurationen über NIS-Maps holen. * START_RWHOD=no Legt fest, ob der rwhod gestartet werden soll. Achtung, der rwhod sendet regelmäßig Broadcasts"; das kann dazu führen, dass bei On-Demand-Ver- bindungen (ISDN und/oder diald) diese aufgebaut werden ­ und Kosten ver- ursachen können! * START_ROUTED=no Der Route-Daemon ist nur notwendig für dynamisches Routen (vgl. Manual- Page von routed (man routed)). Achtung, dieser Dienst verursacht alle 30 Sekunden Netzverkehr; wenn der Rechner mit dem Internet über Dialup verbunden ist (z. B. ISDN), dann macht es keinen Sinn, diese Variable auf yes zu setzen. * START_NSCD=yes NSCD (engl. Name Service Caching Daemon) beim Booten initialisieren. * START_NAMED=no Legt fest, ob der Name-Daemon gestartet werden soll. * CREATE_YP_CONF=yes Legt fest, ob SuSEconfig abhängig von den beiden folgenden Einträgen au- tomatisch die nötigen Dateien für die Verwendung von YP erzeugen soll. Weiterhin werden die Dateien /etc/passwd und /etc/group angepasst, soweit noch erforderlich. * YP_DOMAINNAME=kosmos.all Der YP-Domainname des Rechners. * YP_SERVER=sonne.kosmos.all Der Name des NIS-Servers. * USE_NIS_FOR_RESOLVING=no NIS für die Auflösung der Rechnernamen verwenden. * START_CIPED=no CIPE-Daemon für einen IPIP-Tunnel starten. * START_DHCPD=no Server für DHCP (engl. Dynamic Host Configuration Protocol) starten. Dazu gehören die Variablen DHCPD_INTERFACE, START_DHCRELAY und DHCRELAY_SERVERS. 352 14.6 Die /etc/rc.config-Variablen ­ Konfiguration des Systems * START_LDAP=no LDAP-Server starten. * START_RADIUSD=yes Radius-Accounting und Authentication Service starten. Dieser Service wird z. B. von bestimmten Dialin-Servern benutzt, um die Benutzer-Authentifi- zierung durchzuführen; vgl. die Dokumentation unter /usr/share/doc/ packages/radiusd. * START_LPD=yes lpd (engl. Line Printer Daemon) starten; für das Drucken in der Regel not- wendig. * START_NNTPD=yes nntpd starten; notwendig, wenn Zugriff über NNTP auf die lokalen News gewährleistet werden soll. * START_INN=no Newsserver INN starten. * START_ATD=yes Legt fest, ob der AT-Daemon gestartet werden soll. Dieser Daemon gestattet es, bestimmte Jobs zu einem vorgegebenen Zeitpunkt ausführen zu lassen. Im Gegensatz zum Cron-Daemon geht es um das einmalige Ausführen einer bestimmten Aktion. * START_HTTPD=yes Gibt an, ob der Apache http-Daemon gestartet werden soll. * START_HTTPSD=yes Gibt an, ob der Apache httpsd ( sicherer" Webserver) mit SSL und PHP3 gestartet werden soll. * START_SQUID=no Gibt an, ob Squid gestartet werden soll. * DOC_HOST="" Wenn ein zentraler Dokumentations-Server benutzt werden soll, der das SuSE- Hilfesystem vorhält, dann sollte hier der Name des Servers eingetragen wer- den; z. B. "sonne.kosmos.all ". * DOC_SERVER=no Auf dem Dokumentations-Server soll diese Variable auf yes gesetzt werden. Dann wird zum einen nach den Angaben in DOC_ALLOW (s. u.) der Zugriff auf http-rman freigegeben und zum anderen werden die Index-Dateien für den HTTP-Server entsprechend umgesetzt; sie zeigen dann statt auf http: //localhost auf den eigentlichen Rechnernamen. * DOC_ALLOW="LOCAL" Liste der Rechner/Domains als Pattern für /etc/hosts.allow, denen der Zugriff auf den Dokumentations-Server erlaubt wird. Diese Variable wird nur ausgewertet, wenn DOC_SERVER auf yes gesetzt ist. Hier kann auch eine Subdomain (z. B. mit ".kosmos.all ") eingetragen werden. 353 14 Das SuSE Linux-Bootkonzept * HTTP_PROXY="" Einige Programme (z. B. lynx, arena oder wget) können Proxy-Server benut- zen, wenn diese Umgebungsvariable entsprechend gesetzt ist; SuSEconfig kann diese in /etc/SuSEconfig/* setzen (vgl. in der SDB file:/usr/share/doc/sdb/de/html/lynx_proxy.html). Beispiel: "http://proxy.provider.de:3128/". * FTP_PROXY="" Proxy für FTP. Beispiel: "http://proxy.provider.de:3128/". * GOPHER_PROXY="" Proxy für Gopher. Beispiel: "http://proxy.provider.de:3128/". * NO_PROXY="" Mittels dieser Variable lassen sich (Sub-)Domains vom Proxy ausschließen. Beispiel: "www.me.de, do.main, localhost". * START_HYLAFAX=no Startet Hylafax. Bevor diese Variable auf yes gesetzt wird, muss faxsetup ausgeführt werden. * START_SMB=no Samba-Server starten; Windows Datei- und Druckerserver. * START_MARSNWE=no Gibt an, ob die Novell-Server-Emulation gestartet werden soll. * START_SSHD=yes Den Secure Shell Daemon" starten; stellen Sie vor dem Starten sicher, dass ein host key" existiert ­ vgl. dazu die Dokumentation unter /usr/share/ doc/packages/ssh sowie die Manpages. * START_XNTPD=yes Startet den Network Time Protocol (NTP) Daemon" aus dem Paket xntp; die Konfiguration selbst geschieht über die Datei /etc/ntp.conf. Funkuhren haben Adressen in der Form 127.127.T.U; dabei steht T für den Typ der Uhr und U ist die unit number" im Bereich von 0 bis 3. ­ Die meisten dieser Uhren benötigen eine serielle Schnittstelle oder einen speziellen Bus. Die dafür vorgesehene Gerätedatei (Device) wird normalerweise durch einen symbolischen Link /dev/device-U auf die tatsächliche Hardware angege- ben; dabei hat U mit der zuvor erwähnten unit number" übereinzustimmen. Vgl. auch /usr/share/doc/packages/xntp/html/refclock.htm. Beispiel: Wer eine Funkuhr hat, die an eine serielle Schnittstelle angeschlos- sen ist, der benötigt auch einen entsprechenden Symlink. Wie der zu heißen hat, erfährt man über refclock.htm. ­ Für die üblichen DCF77-Empfänger, ist der PARSE"-Treiber zuständig: ## Type 8 Generic Reference Driver (PARSE) ## Address: 127.127.8.u ## Serial Port: /dev/refclock-u 354 14.6 Die /etc/rc.config-Variablen ­ Konfiguration des Systems Wer also über einen ntp.conf-Eintrag den server 127.127.8.0 wählt, der braucht auch einen Symlink von /dev/refclock-0 auf ttySx ­ dabei steht x für die Schnittstelle, an die die Funkuhr angeschlossen ist. * XNTPD_INITIAL_NTPDATE="" Liste der NTP-Server, von denen die Zeit geholt werden kann, bevor der lo- kale Server gestartet wird; z. B. "sonne.kosmos.all ". Falls mehrere Server eingetragen werden, sind diese durch ein Leerzeichen voneinander zu tren- nen. * DISPLAYMANAGER="kdm" Diese Variable legt fest, welcher Displaymanager zum Anmelden ( Login") verwendet werden soll. Mögliche Werte sind xdm (Standard-Displaymanager des X Window System), kdm (Displaymanager von KDE), gdm (Displayma- nager von GNOME) oder wdm (der WINGs Display Manager"). * KDM_SHUTDOWN=root Gibt an, welche Benutzer den Rechner über kdm herunterfahren dürfen (Re- boot oder Shutdown). Mögliche Werte sind root (`root' muss sich mit Passwort identifizieren), all (alle Benutzer), none (niemand darf den Rech- ner über kdm herunterfahren) und local (der Rechner darf nur herunter- gefahren werden, wenn der Benutzer sich lokal und nicht über das Netz ein- loggt). Wenn die Variable auf "" steht, wird der Wert root als Voreinstellung genommen. * CONSOLE_SHUTDOWN=reboot § ¤ Gibt an, wie der init-Prozess auf das Drücken der Tastenkombination § ¤ § ¤ ¦Strg ¥ + ¦Alt ¥+ ¦Entf ¥reagiert. Mögliche Werte sind reboot (der Rechner fährt herunter und bootet erneut), halt (der Rechner fährt herunter und bleibt dann stehen) und ignore (das Drücken der Tastenkombination hat keinen Effekt). Voreinstellung ist reboot. * START_AXNET=no Server für Applixware . * START_MYSQL=no Server für MySQL. * START_ADABAS=no Server für Adabas. Die folgenden Variablen gehören zu Adabas: DBROOT, DBNAME, DBUSER und DBCONTROL ­ vgl. die entsprechenden Kommentare in der rc.config. * START_DB2=no Server für DB2. * START_ARKEIA=no Arkeia-Backupserver starten. * START_ARGUS=no Server für Argus (Netzwerkmonitor). 355 14 Das SuSE Linux-Bootkonzept * ARGUS_INTERFACE=eth0 Das von Argus zu überwachende Interface. * ARGUS_LOGFILE="/var/log/argus.log" Die Argus-Logdatei. Diese Datei kann sehr groß werden! * CRON=yes Steuert den Start und das Beenden des Cron-Daemons. Dieser Daemon star- tet zu vorgegebenen Zeiten automatisch gewisse Programme. Der Cron wird nur in den Runlevels 2 und 3 gestartet! Seine Aktivierung ist auf Rechnern, die rund um die Uhr laufen, dringend zu empfehlen. Eine Alternative bzw. Ergänzung ist der AT-Daemon; vgl. auf Seite 353). Hinweis Es gibt eine Reihe von Optionen, die es erfordern, dass regelmäßig be- stimmte Programme gestartet werden. Daher sollte auf jedem System der Cron-Daemon aktiviert werden. Sicherheit und lokale Wartungsdienste * RUN_UPDATEDB=yes Legt fest, ob einmal pro Nacht die Datenbank für locate (locate) ak- tualisiert werden soll; locate dient dem schnellen Auffinden von Da- teien im System. Ein Fein-Tuning des updatedb kann über die Varia- blen RUN_UPDATEDB_AS, UPDATEDB_NETPATHS, UPDATEDB_NETUSER und UPDATEDB_PRUNEPATHS erreicht werden (vgl. die Kommentare in der rc. config). ­ Diese Aktualisierung wird möglicherweise kurz nach dem Boo- ten durchgeführt, wenn Sie den Rechner nicht ununterbrochen laufen haben; vgl. Abschnitt 13.3.2 auf Seite 318. * REINIT_MANDB=yes Wenn die Manpage-Datenbank von cron.daily täglich erneuert werden soll. * CREATE_INFO_DIR=yes Legt fest, ob automatisch die Datei /usr/info/dir erstellt werden soll, die gleichsam einen Index für alle vorhandenen Info-Seiten bildet. Dies ist etwa nach der Installation eines Paketes sinnvoll, das eine Info-Seite enthält. Beachten Sie, dass für die Verwendung dieses Features perl installiert sein muss! * CHECK_PERMISSIONS=set Legt fest, ob die Datei-Rechte anhand der Datei /etc/permissions über- prüft werden sollen. Mit set werden falsche Einstellungen berichtigt, mit warn werden nur Warnungen" hergestellt, no wird dieses Feature abgestellt. * PERMISSION_SECURITY="easy local" In /etc/permissions.paranoid, /etc/permissions.secure und /etc/permissions.easy sind drei Sicherheitsstufen vorbereitet. Tragen 356 14.6 Die /etc/rc.config-Variablen ­ Konfiguration des Systems Sie hier easy, secure oder /etc/permissions.paranoid ein; eigene Einstellungen können Sie z. B. in /etc/permissions.local vornehmen und dann die Erweiterung local als Wert hinzufügen. * RPMDB_BACKUP_DIR=/var/adm/backup/rpmdb Legt fest, wohin cron.daily Backups der RPM-Datenbank schreiben soll; wenn keine Backups gewünscht werden, diese Variable auf "" setzen. * MAX_RPMDB_BACKUPS=5 Legt die Anzahl der Backups der RPM-Datenbank fest. * DELETE_OLD_CORE=yes Corefiles sind Abbilder der Speicherbelegung von Programmen, die wegen einer Speicherschutzverletzung abgebrochen wurden; diese Abbilder dienen der Fehlersuche. Hier können Sie einstellen, dass regelmäßig nach etwaigen alten Corefiles gesucht wird und diese automatisch gelöscht werden. * MAX_DAYS_FOR_CORE=7 Legt fest, wie alt Corefiles maximal werden dürfen (in Tagen), bevor sie au- tomatisch gelöscht werden. * MAX_DAYS_FOR_LOG_FILES=365 Wenn eine Log-Datei (vornehmlich unter /var/log) eine bestimmte Grö- ße erreicht hat, wird sie automatisch komprimiert und archiviert und eine entsprechende Mail unterrichtet root davon. Mit diesem Parameter können Sie festlegen, wie lange derartige Sicherungsdateien behalten werden, bevor sie automatisch gelöscht werden. Setzen Sie den Wert auf 0, findet keinerlei Komprimierung und Archivierung statt; die Dateien werden dann unbegrenzt fortgeschrieben und können eine beachtliche Größe erreichen! Die kompri- mierten Sicherungsdateien können Sie sich jederzeit mit less ansehen. * CLEAR_TMP_DIRS_AT_BOOTUP="no" Setzen Sie diese Variable auf yes, wenn alle Dateien und Unterverzeichnis- se in den temporären Verzeichnissen, die in TMP_DIRS_TO_CLEAR genannt sind, gelöscht werden sollen (rm-fr). Achtung: Wenn diese Variable auf yes gesetzt wird, werden die Einträge in OWNER_TO_KEEP_IN_TMP nicht beachtet; alle Dateien werden ausnahmslos gelöchst werden! * MAX_DAYS_IN_TMP=30 Es wird täglich geprüft, ob es in den tmp-Verzeichnissen Dateien gibt, auf die länger als angegeben nicht zugegriffen wurde (in Tagen). Wurde auf eine Datei in einem dieser Verzeichnisse länger nicht mehr zugegriffen, wird sie automatisch gelöscht. * TMP_DIRS_TO_CLEAR="/tmp /var/tmp" Angabe derjenigen Verzeichnisse, die täglich automatisch nach alten Dateien durchsucht werden sollen. * OWNER_TO_KEEP_IN_TMP="root bs" Die Dateien der hier angegebenen Systembenutzer sollen auch dann nicht aus den tmp-Verzeichnissen gelöscht werden, wenn auf sie länger als angegeben nicht mehr zugegriffen wurde. 357 14 Das SuSE Linux-Bootkonzept * CWD_IN_ROOT_PATH=no Aktuelles Verzeichnis (engl. current working directory) im Pfad von `root'. * ROOT_LOGIN_REMOTE=no Wenn das Login für `root' per telnet oder rlogin erlaubt werden soll, ist diese Variable auf yes zu setzen. Zu Sicherheitsaspekten dieser Variablen vgl. auf Seite ??. * SUSEWM_UPDATE=yes Legt fest, ob SuSEconfig die systemweiten Konfigurationsdateien für die Windowmanager in Abhängigkeit von den installierten Software-Paketen anpassen soll. Feintuning ist möglich über die Variablen SUSEWM_WM, SUSEWM_MWM, SUSEWM_XPM, SUSEWM_ADD und SUSEWM_COMPAT. 358 A Manual-Page von e2fsck A Manual-Page von e2fsck E2FSCK(8) E2FSCK(8) NAME e2fsck - check a Linux second extended file system SYNOPSISe2fsck [ -pacnyrdfvstFSV ] [ -b superblock ] [ -B block- size ] [ -l|-L bad_blocks_file ] [ -C fd ] device DESCRIPTION e2fsck is used to check a Linux second extended file sys- tem. device is the special file corresponding to the device (e.g /dev/hdc1). OPTIONS-a This option does the same thing as the -p option. It is provided for backwards compatibility only; it is suggested that people use -p option whenever possible. -b superblock Instead of using the normal superblock, use an alternative superblock specified by superblock. This option is normally used when the primary superblock has been corrupted. The location of the backup superblock is dependent on the filesystem's blocksize. For filesystems with 1k blocksizes, a backup superblock can be found at block 8193; for filesystems with 2k blocksizes, at block 16384; and for 4k blocksizes, at block 32768. If an alterna- tive superblock is specified and the filesystem is not opened read-only, e2fsck will make sure that the primary superblock is updated appropriately upon completion of the filesystem check. -B blocksize Normally, e2fsck will search for the superblock at various different block sizes in an attempt to find the appropriate block size. This search can be fooled in some cases. This option forces e2fsck to only try locating the superblock at a particular blocksize. If the superblock is not found, e2fsck will terminate with a fatal error. -c This option causes e2fsck to run the badblocks(8) program to find any blocks which are bad on the filesystem, and then marks them as bad by adding them to the bad block inode. 359 A Manual-Page von e2fsck -C This option causes e2fsck to write completion information to the specified file descriptor so that the progress of the filesystem check can be monitored. This option is typically used by pro- grams which are running e2fsck. If the file descriptor specified is 0, e2fsck will print a com- pletion bar as it goes about its business. This requires that e2fsck is running on a video console or terminal. -d Print debugging output (useless unless you are debugging e2fsck). -f Force checking even if the file system seems clean. -F Flush the filesystem device's buffer caches before beginning. Only really useful for doing e2fsck time trials. -l filename Add the blocks listed in the file specified by filename to the list of bad blocks. The format of this file is the same as the one generated by the badblocks(8) program. -L filename Set the bad blocks list to be the list of blocks specified by filename. (This option is the same as the -l option, except the bad blocks list is cleared before the blocks listed in the file are added to the bad blocks list.) -n Open the filesystem read-only, and assume an answer of 'No' to all questions. Allows e2fsck to be used non-interactively. (Note: if the -c, -l, or -L options are specified in addition to the -n option, then the filesystem will be opened read-write, to permit the bad-blocks list to be updated. However, no other changes will be made to the filesystem.) -p Automatically repair ("preen") the file system without any questions. -r This option does nothing at all; it is provided only for backwards compatibility. -s This option will byte-swap the filesystem so that it is using the normalized, standard byte-order (which is i386 or little endian). If the filesys- tem is already in the standard byte-order, e2fsck will take no action. -S This option will byte-swap the filesystem, regard- less of its current byte-order. -t Print timing statistics for e2fsck. If this option is used twice, additional timing statistics are printed on a pass by pass basis. -v Verbose mode. 360 A Manual-Page von e2fsck -V Print version information and exit. -y Assume an answer of 'Yes' to all questions; allows e2fsck to be used non-interactively. EXIT CODE The exit code returned by e2fsck is the sum of the follow- ing conditions: 0 - No errors 1 - File system errors corrected 2 - File system errors corrected, system should be rebooted if file system was mounted 4 - File system errors left uncorrected 8 - Operational error 16 - Usage or syntax error 128 - Shared library error SIGNALSThe following signals have the following effect when sent to e2fsck. SIGUSR1This signal causes e2fsck to start displaying a completion bar. (See discussion of the -C option.) SIGUSR2This signal causes e2fsck to stop displaying a com- pletion bar. REPORTING BUGS Almost any piece of software will have bugs. If you man- age to find a filesystem which causes e2fsck to crash, or which e2fsck is unable to repair, please report it to the author. Please include as much information as possible in your bug report. Ideally, include a complete transcript of the e2fsck run, so I can see exactly what error messages are displayed. If you have a writeable filesystem where the transcript can be stored, the script(1) program is a handy way to save the output of e2fsck to a file. It is also useful to send the output of dumpe2fs(8). If a specific inode or inodes seems to be giving e2fsck trou- ble, try running the debugfs(8) command and send the out- put of the stat(1u) command run on the relevant inode(s). If the inode is a directory, the debugfs dump command will allow you to extract the contents of the directory inode, which can sent to me after being first run through uuen- code(1). Always include the full version string which e2fsck dis- plays when it is run, so I know which version you are run- ning. AUTHOR This version of e2fsck was written by Theodore Ts'o . 361 A Manual-Page von e2fsck SEE ALSOmke2fs(8), tune2fs(8), dumpe2fs(8), debugfs(8) E2fsprogs version 1.19 July 2000 3 362 B Deutsche Übersetzung der GNU General Public License B Deutsche Übersetzung der GNU General Public License Der folgende Text folgt im Wesentlichen der inoffiziellen Übersetzung von Kat- ja Lachmann und der Überarbeitung von Peter Gerwinski (31. Oktober 1996, 4. Juni 2000). Diese Übersetzung wird mit der Absicht angeboten, das Verständnis der GNU General Public License (GNU-GPL) zu erleichtern. Es handelt sich jedoch nicht um eine offizielle oder im rechtlichen Sinne anerkannte Übersetzung. Die Free Software Foundation (FSF) ist nicht der Herausgeber dieser Überset- zung, und sie hat diese Übersetzung auch nicht als rechtskräftigen Ersatz für die Original-GNU-GPL anerkannt. Da die Übersetzung nicht sorgfältig von Anwäl- ten überprüft wurde, können die Übersetzer nicht garantieren, dass die Überset- zung die rechtlichen Aussagen der GNU-GPL exakt wiedergibt. Wenn Sie si- chergehen wollen, dass von Ihnen geplante Aktivitäten im Sinne der GNU-GPL gestattet sind, halten Sie sich bitte an die englischsprachige Originalversion. Die Free Software Foundation möchte Sie darum bitten, diese Übersetzung nicht als offizielle Lizenzbedingungen für von Ihnen geschriebene Programme zu ver- wenden. Bitte benutzen Sie hierfür stattdessen die von der Free Software Foun- dation herausgegebene englischsprachige Originalversion. This is a translation of the GNU General Public License into German. This trans- lation is distributed in the hope that it will facilitate understanding, but it is not an official or legally approved translation. The Free Software Foundation is not the publisher of this translation and has not approved it as a legal substitute for the authentic GNU General Public License. The translation has not been reviewed carefully by lawyers, and therefore the translator cannot be sure that it exactly represents the legal meaning of the GNU General Public License. If you wish to be sure whether your planned activities are permitted by the GNU General Public License, please refer to the authentic English version. The Free Software Foundation strongly urges you not to use this translation as the official distribution terms for your programs; instead, please use the authen- tic English version published by the Free Software Foundation. 363 B Deutsche Übersetzung der GNU General Public License GNU General Public License Deutsche Übersetzung der Version 2, Juni 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA Es ist jedermann gestattet, diese Lizenzurkunde zu vervielfältigen und unverän- derte Kopien zu verbreiten; Änderungen sind jedoch nicht erlaubt. Diese Übersetzung ist kein rechtskräftiger Ersatz für die englischsprachige Originalversion! Vorwort Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Frei- heit zu nehmen, die Software weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License, die Allgemeine Öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, dass die Soft- ware für alle Benutzer frei ist. Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen Software und für alle anderen Pro- gramme, deren Autoren ihr Datenwerk dieser Lizenz unterstellt haben. Auch Sie können diese Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer Teil der Software der Free Software Foundation unterliegt stattdessen der GNU Library General Public License, der Allgemeinen Öffentlichen GNU- Lizenz für Bibliotheken.)1 Die Bezeichnung freie" Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen, wenn Sie möchten), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die Lizenzen sollen garantieren, dass Sie die Software ändern oder Teile davon in neuen freien Programmen verwenden dürfen ­ und dass Sie wissen, dass Sie dies alles tun dürfen. Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschränkungen folgen bestimmte Verant- wortlichkeiten für Sie, wenn Sie Kopien der Software verbreiten oder sie verän- dern. Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie ­ kostenlos oder gegen Bezahlung ­ Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, dass auch die Empfänger den Quelltext erhalten bzw. erhalten können. Und Sie müssen ihnen diese Bedingun- gen zeigen, damit sie ihre Rechte kennen. 1Mittlerweile wurde die GNU Library Public License von der GNU Lesser Public License abgelöst. 364 B Deutsche Übersetzung der GNU General Public License Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen diese Lizenz an, die Ih- nen das Recht gibt, die Software zu vervielfältigen, zu verbreiten und/oder zu verändern. Um die Autoren und uns zu schützen, wollen wir darüberhinaus sicherstellen, dass jeder erfährt, dass für diese freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und weitergegeben wird, möchten wir, dass die Empfänger wissen, dass sie nicht das Original erhalten haben, damit irgendwelche von anderen verursachte Probleme nicht den Ruf des ursprüngli- chen Autors schädigen. Schließlich und endlich ist jedes freie Programm permanent durch Software- Patente bedroht. Wir möchten die Gefahr ausschließen, dass Distributoren eines freien Programms individuell Patente lizensieren ­ mit dem Ergebnis, dass das Programm proprietär würde. Um dies zu verhindern, haben wir klargestellt, dass jedes Patent entweder für freie Benutzung durch jedermann lizenziert werden muss oder überhaupt nicht lizenziert werden darf. Es folgen die genauen Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung: Allgemeine Öffentliche GNU-Lizenz Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung 0. Diese Lizenz gilt für jedes Programm und jedes andere Datenwerk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist, dass das Datenwerk unter den Bestimmungen dieser General Public License verbreitet werden darf. Im folgenden wird jedes derartige Programm oder Datenwerk als das Programm" bezeichnet; die Formulierung auf dem Programm basieren- des Datenwerk" bezeichnet das Programm sowie jegliche Bearbeitung des Pro- gramms im urheberrechtlichen Sinne, also ein Datenwerk, welches das Pro- gramm, auch auszugsweise, sei es unverändert oder verändert und/oder in ei- ne andere Sprache übersetzt, enthält. (Im folgenden wird die Übersetzung ohne Einschränkung als Bearbeitung" eingestuft.) Jeder Lizenznehmer wird im fol- genden als Sie" angesprochen. Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berührt; sie fallen nicht in ihren Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht eingeschränkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Datenwerk darstellt (unabhängig davon, dass die Ausgabe durch die Ausführung des Programmes erfolgte). Ob dies zutrifft, hängt von den Funktionen des Programms ab. 1. Sie dürfen auf beliebigen Medien unveränderte Kopien des Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfür ist, dass Sie mit jeder Kopie einen entsprechenden Copyright-Vermerk so- wie einen Haftungsausschluss veröffentlichen, alle Vermerke, die sich auf diese 365 B Deutsche Übersetzung der GNU General Public License Lizenz und das Fehlen einer Garantie beziehen, unverändert lassen und deswei- teren allen anderen Empfängern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen. Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen. Wenn Sie es wünschen, dürfen Sie auch gegen Entgelt eine Garantie für das Programm anbieten. 2. Sie dürfen Ihre Kopie(n) des Programms oder einen Teil davon verändern, wodurch ein auf dem Programm basierendes Datenwerk entsteht; Sie dürfen der- artige Bearbeitungen unter den Bestimmungen von Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, dass zusätzlich alle im folgenden genannten Be- dingungen erfüllt werden: a) Sie müssen die veränderten Dateien mit einem auffälligen Vermerk versehen, der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder Änderung hinweist. b) Sie müssen dafür sorgen, dass jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abge- leitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird. c) Wenn das veränderte Programm normalerweise bei der Ausführung interak- tiv Kommandos einliest, müssen Sie dafür sorgen, dass es, wenn es auf dem üblichsten Wege für solche interaktive Nutzung gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthält so- wie einen Hinweis, dass es keine Gewährleistung gibt (oder anderenfalls, dass Sie Garantie leisten), und dass die Benutzer das Programm unter die- sen Bedingungen weiter verbreiten dürfen. Auch muss der Benutzer darauf hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann. (Aus- nahme: Wenn das Programm selbst interaktiv arbeitet, aber normalerweise keine derartige Meldung ausgibt, muss Ihr auf dem Programm basierendes Datenwerk auch keine solche Meldung ausgeben.) Diese Anforderungen gelten für das bearbeitete Datenwerk als Ganzes. Wenn identifizierbare Teile des Datenwerkes nicht von dem Programm abgeleitet sind und vernünftigerweise als unabhängige und eigenständige Datenwerke für sich selbst zu betrachten sind, dann gelten diese Lizenz und ihre Bedingungen nicht für die betroffenen Teile, wenn Sie diese als eigenständige Datenwerke weiter- geben. Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen weiterge- ben, das ein auf dem Programm basierendes Datenwerk darstellt, dann muss die Weitergabe des Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Be- dingungen für weitere Lizenznehmer somit auf das gesamte Ganze ausgedehnt werden ­ und somit auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor. Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Datenwerke in An- spruch zu nehmen oder Ihnen die Rechte für Datenwerke streitig zu machen, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rech- te zur Kontrolle der Verbreitung von Datenwerken, die auf dem Programm ba- 366 B Deutsche Übersetzung der GNU General Public License sieren oder unter seiner auszugsweisen Verwendung zusammengestellt worden sind, auszuüben. Ferner bringt auch das einfache Zusammenlegen eines anderen Datenwerkes, das nicht auf dem Programm basiert, mit dem Programm oder einem auf dem Programm basierenden Datenwerk auf ein- und demselben Speicher- oder Ver- triebsmedium dieses andere Datenwerk nicht in den Anwendungsbereich dieser Lizenz. 3. Sie dürfen das Programm (oder ein darauf basierendes Datenwerk gemäß Paragraph 2) als Objectcode oder in ausführbarer Form unter den Bedingungen der Paragraphen 1 und 2 kopieren und weitergeben ­ vorausgesetzt, dass Sie außerdem eine der folgenden Leistungen erbringen: a) Liefern Sie das Programm zusammen mit dem vollständigen zugehörigen maschinenlesbaren Quelltext auf einem für den Datenaustausch üblichen Me- dium aus, wobei die Verteilung unter den Bedingungen der Paragraphen 1 und 2 erfolgen muss. Oder: b) Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gültigen schriftlichen Angebot aus, jedem Dritten eine vollständige maschi- nenlesbare Kopie des Quelltextes zur Verfügung zu stellen ­ zu nicht höhe- ren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen ­, wobei der Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf einem für den Datenaustausch üblichen Medium weitergegeben wird. Oder: c) Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zur- verfügungstellung des Quelltextes aus, das Sie selbst erhalten haben. (Die- se Alternative ist nur für nicht-kommerzielle Verbreitung zulässig und nur, wenn Sie das Programm als Objectcode oder in ausführbarer Form mit ei- nem entsprechenden Angebot gemäß Absatz b erhalten haben.) Unter dem Quelltext eines Datenwerkes wird diejenige Form des Datenwerkes verstanden, die für Bearbeitungen vorzugsweise verwendet wird. Für ein aus- führbares Programm bedeutet der komplette Quelltext": Der Quelltext aller im Programm enthaltenen Module einschließlich aller zugehörigen Modulschnitt- stellen-Definitionsdateien sowie der zur Kompilation und Installation verwen- deten Skripte. Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten, was üblicherweise (entweder als Quelltext oder in binärer Form) zusammen mit den Hauptkomponenten des Betriebssystems (Ker- nel, Compiler usw.) geliefert wird, unter dem das Programm läuft ­ es sei denn, diese Komponente selbst gehört zum ausführbaren Programm. Wenn die Verbreitung eines ausführbaren Programms oder von Objectcode da- durch erfolgt, dass der Kopierzugriff auf eine dafür vorgesehene Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem Objectcode zu kopieren. 367 B Deutsche Übersetzung der GNU General Public License 4. Sie dürfen das Programm nicht vervielfältigen, verändern, weiter lizenzie- ren oder verbreiten, sofern es nicht durch diese Lizenz ausdrücklich gestattet ist. Jeder anderweitige Versuch der Vervielfältigung, Modifizierung, Weiterlizen- zierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben, nicht beendet, solange diese die Li- zenz voll anerkennen und befolgen. 5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unter- zeichnet haben. Jedoch gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Datenwerke zu verändern oder zu verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das Programm (oder ein darauf basierendes Datenwerk) verändern oder verbreiten, erklären Sie Ihr Einverständnis mit dieser Lizenz und mit allen ihren Bedingungen bezüglich der Vervielfältigung, Verbreitung und Veränderung des Programms oder eines darauf basierenden Datenwerks. 6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Datenwerk) weitergeben, erhält der Empfänger automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm entsprechend den hier festgelegten Be- stimmungen zu vervielfältigen, zu verbreiten und zu verändern. Sie dürfen keine weiteren Einschränkungen der Durchsetzung der hierin zugestandenen Rechte des Empfängers vornehmen. Sie sind nicht dafür verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen. 7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverlet- zung oder aus einem anderen Grunde (nicht auf Patentfragen begrenzt) Bedin- gungen (durch Gerichtsbeschluss, Vergleich oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese Um- stände nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht mög- lich ist, das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann dürfen Sie als Folge das Programm überhaupt nicht verbreiten. Wenn zum Beispiel ein Pa- tent nicht die gebührenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese Lizenz zu befol- gen, darin, ganz auf die Verbreitung des Programms zu verzichten. Sollte sich ein Teil dieses Paragraphen als ungültig oder unter bestimmten Um- ständen nicht durchsetzbar erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser Paragraph als Ganzes gelten. Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere Eigentumsansprüche zu verletzen oder die Gültigkeit solcher An- sprüche zu bestreiten; dieser Paragraph hat einzig den Zweck, die Integrität des Verbreitungssystems der freien Software zu schützen, das durch die Praxis öf- fentlicher Lizenzen verwirklicht wird. Viele Leute haben großzügige Beiträge 368 B Deutsche Übersetzung der GNU General Public License zu dem großen Angebot der mit diesem System verbreiteten Software im Ver- trauen auf die konsistente Anwendung dieses Systems geleistet; es liegt am Au- tor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Sys- tems verbreiten will; ein Lizenznehmer hat auf diese Entscheidung keinen Ein- fluss. Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird. 8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimm- ten Staaten entweder durch Patente oder durch urheberrechtlich geschützte Schnitt- stellen eingeschränkt ist, kann der Urheberrechtsinhaber, der das Programm un- ter diese Lizenz gestellt hat, eine explizite geographische Begrenzung der Ver- breitung angeben, in der diese Staaten ausgeschlossen werden, so dass die Ver- breitung nur innerhalb und zwischen den Staaten erlaubt ist, die nicht ausge- schlossen sind. In einem solchen Fall beinhaltet diese Lizenz die Beschränkung, als wäre sie in diesem Text niedergeschrieben. 9. Die Free Software Foundation kann von Zeit zu Zeit überarbeitete und/oder neue Versionen der General Public License veröffentlichen. Solche neuen Ver- sionen werden vom Grundprinzip her der gegenwärtigen entsprechen, können aber im Detail abweichen, um neuen Problemen und Anforderungen gerecht zu werden. Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird, dass es dieser Lizenz in einer bestimmten Versions- nummer oder jeder späteren Version" ("any later version") unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen späteren Version, die von der Free Software Foundation veröffentlicht wurde. Wenn das Programm keine Versionsnummer angibt, kön- nen Sie eine beliebige Version wählen, die je von der Free Software Foundation veröffentlicht wurde. 10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Pro- grammen zu verwenden, deren Bedingungen für die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten. Für Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free Software Foundation; wir machen zu diesem Zweck gelegentlich Aus- nahmen. Unsere Entscheidung wird von den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten Datenwer- ke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederver- wenden von Software im allgemeinen zu fördern. 369 B Deutsche Übersetzung der GNU General Public License Keine Gewährleistung 11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht kei- nerlei Gewährleistung für das Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die Copyright-Inhaber und/oder Dritte das Programm so zur Verfügung, wie es ist", ohne ir- gendeine Gewährleistung, weder ausdrücklich noch implizit, einschließlich ­ aber nicht begrenzt auf ­ Marktreife oder Verwendbarkeit für einen be- stimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähig- keit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für notwendigen Service, Reparatur oder Korrektur bei Ihnen. 12. In keinem Fall, außer wenn durch geltendes Recht gefordert oder schrift- lich zugesichert, ist irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet hat, Ihnen ge- genüber für irgendwelche Schäden haftbar, einschließlich jeglicher allge- meiner oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwir- kungen) oder Folgeschäden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich ­ aber nicht be- schränkt auf ­ Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem Unvermö- gen des Programms, mit irgendeinem anderen Programm zusammenzuar- beiten), selbst wenn ein Copyright-Inhaber oder Dritter über die Möglich- keit solcher Schäden unterrichtet worden war. Ende der Bedingungen Anhang: Wie Sie diese Bedingungen auf Ihre eigenen, neuen Programme anwenden können Wenn Sie ein neues Programm entwickeln und wollen, dass es vom größtmögli- chen Nutzen für die Allgemeinheit ist, dann erreichen Sie das am besten, indem Sie es zu freier Software machen, die jeder unter diesen Bestimmungen weiter- verbreiten und verändern kann. Um dies zu erreichen, fügen Sie die folgenden Vermerke zu Ihrem Programm hinzu. Am sichersten ist es, sie an den Anfang einer jeden Quelldatei zu stellen, um den Gewährleistungsausschluss möglichst deutlich darzustellen; zumindest aber sollte jede Datei eine Copyright-Zeile besitzen sowie einen kurzen Hinweis darauf, wo die vollständigen Vermerke zu finden sind. eine Zeile mit dem Programmnamen und einer kurzen Beschreibung Copyright (C) 19yy Name des Autors This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 370 B Deutsche Übersetzung der GNU General Public License This program is distributed in the hope that it will be useful, but WI- THOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Auf Deutsch: eine Zeile mit dem Programmnamen und einer kurzen Beschreibung Copyright (C) 19jj Name des Autors Dieses Programm ist freie Software. Sie können es unter den Bedin- gungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Ver- sion. Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VER- WENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details fin- den Sie in der GNU General Public License. Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Fügen Sie auch einen kurzen Hinweis hinzu, wie Sie elektronisch und per Brief erreichbar sind. Wenn Ihr Programm interaktiv ist, sorgen Sie dafür, dass es nach dem Start einen kurzen Vermerk ausgibt: Gnomovision version 69, Copyright (C) 19yy Name des Autors Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Auf Deutsch: Gnomovision Version 69, Copyright (C) 19jj Name des Autors Für Gnomovision besteht KEINERLEI GARANTIE; geben Sie `show w' für Details ein. Gnonovision ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen; geben Sie `show c' für Details ein. Die hypothetischen Kommandos show w und show c sollten die entsprechen- den Teile der GNU-GPL anzeigen. Natürlich können die von Ihnen verwen- deten Kommandos anders heißen als show w und show c; es könnten auch Mausklicks oder Menüpunkte sein ­ was immer am besten in Ihr Programm passt. 371 B Deutsche Übersetzung der GNU General Public License Soweit vorhanden, sollten Sie auch Ihren Arbeitgeber (wenn Sie als Program- mierer arbeiten) oder Ihre Schule einen Copyright-Verzicht für das Programm unterschreiben lassen. Hier ein Beispiel. Die Namen müssen Sie natürlich än- dern. Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Ha- cker. Unterschrift von Ty Coon, 1 April 1989 Ty Coon, President of Vice Auf Deutsch: Die Yoyodyne GmbH erhebt keinen urheberrechtlichen Anspruch auf das von James Hacker geschriebene Programm Gnomovision` (einem Schrittmacher für Compiler). Unterschrift von Ty Coon, 1. April 1989 Ty Coon, Vizepräsident Diese General Public License gestattet nicht die Einbindung des Programms in proprietäre Programme. Ist Ihr Programm eine Funktionsbibliothek, so kann es sinnvoller sein, das Binden proprietärer Programme mit dieser Bibliothek zu ge- statten. Wenn Sie dies tun wollen, sollten Sie die GNU Library General Public License anstelle dieser Lizenz verwenden. 372 C Wichtige Tastenkombinationen C Wichtige Tastenkombinationen Eine kleine Zusammenstellung hilfreicher und wichtiger Tastenkombinationen; § ¤ § ¤ bei nicht-deutschen Tastaturen ist anstelle von ¦Strg ¥bitte ¦Ctrl ¥zu verwenden. § ¤ ¦ ¥ Ausführen eines Befehls auf Kommandoebe- ne. Sonst Zeilenumbruch. § ¤ § ¤§ ¤ ¦Alt ¥+ ¦F1 ¥ -¦F6 ¥ Wechseln auf eine andere Konsole (im Text- modus). § ¤ § ¤§ ¤§ ¤ ¦Strg ¥+ ¦Alt ¥+¦F1 ¥ -¦F6 ¥ Unter X11 und Dosemu: Wechsel auf eine der Textkonsolen. § ¤ § ¤ ¦Alt ¥+ ¦F7 ¥ Zurückwechseln nach X11. § ¤ § ¤ § ¤ ¦Strg ¥+ ¦Alt ¥+ ¦Backspace ¥ Beenden von X11. § ¤ § ¤ ¦Shift ¥+ ¦Bild ¥ Anzeige vorangegangener Bildschirmseiten auf der Konsole. Funktioniert, bis die Konsole gewechselt wird. § ¤ § ¤ § ¤ § ¤ ¦Shift ¥+ ¦Bild ¥ Umkehrung von ¦Shift ¥+ ¦Bild ¥ . § ¤ ¦ ¥ Zeigt in der aktuellen Eingabezeile den unmit- telbar vorangegangenen Befehl an. § ¤ § ¤ ¦ ¥ In der Shell umgekehrte Wirkung wie ¦ ¥. § ¤ § ¤ § ¤ ¦Shift ¥+ ¦Alt ¥+ ¦Cursor ¥ Unter X11: Wechsel auf das in Pfeilrich- tung nächstgelegene Fenster des virtuellen Desktops. Die Anzahl der zur Verfügung ste- henden Fenster wird in .fvwm[2]rc mit dem Parameter DeskTopSize festgelegt. § ¤ § ¤ § ¤ ¦Strg ¥+ ¦Alt ¥+ ¦±(grey) ¥ Verändert die Bildschirmauflösung in der Rei- henfolge der Einträge für den Bildschirmmo- dus in /etc/XF86Config. § ¤ § ¤ ¦Strg ¥+ ¦D ¥ Ausloggen. Entspricht dem Befehl exit. Ein- trag in /etc/profile: ignoreeof=x. x gibt die Anzahl der Wiederholungen an, bis das Kommando wirksam wird. § ¤ § ¤ ¦Shift ¥+ ¦Strg ¥ Compose-Taste ( Multi_key"). 373 C Wichtige Tastenkombinationen 374 Literaturverzeichnis Literaturverzeichnis [Alm96] ALMESBERGER, Werner: LILO User's guide, 1996. ­ (siehe Datei /usr/share/doc/ lilo/user.dvi) [Bai97] BAILEY, Edward C.: Maximum RPM. Red Hat, 1997. ­ (ISBN 1-888172-78-9) [BBD+97] BECK, Michael; BÖHME, Harald; DZIADZKA, Mirko; KUNITZ, Ulrich; MAGNUS, Robert ; VERWORNER, Dirk: Linux-Kernel-Programmierung. 4. Aufl. Addison Wesley GmbH, 1997. ­ (ISBN 3-8273-1144-6) [BD98] BORKNER-DELCARLO, Olaf: Linux im kommerziellen Einsatz. Carl Hanser Verlag, 1998. ­ (ISBN 3-446-19465-7) [BD99] BORKNER-DELCARLO, Olaf: Das Samba-Buch. SuSE PRESS, 1999. ­ (ISBN 3-930419- 93-9) [CAR93] COSTALES, Bryan; ALLMAN, Eric ; RICKERT, Neil: sendmail. O'Reilly & Associates, Inc., 1993. ­ (ISBN 1-56592-056-2) [CB96] CHESWICK, William R.; BELLOVIN, Steven M.: Firewalls und Sicherheit im Internet. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-875-x) [CR91] CAMERON, Debra; ROSENBLATT, Bill: Learning GNU Emacs. O'Reilly & Associates, Inc., 1991. ­ (ISBN 0 937175-84-6) [CZ96] CHAPMAN, Brent; ZWICKY, Elisabeth D.: Einrichten von Internet Firewalls. Sicherheit im Internet gewährleisten.. O'Reilly & Associates, Inc., 1996. ­ (ISBN 3-930673312) [DR98] DAWSON, Terry; RUBINI, Alessandro: NET-3 HOWTO, v1.4, August 1998. ­ (siehe Datei /usr/share/doc/howto/en/NET-3-HOWTO.gz) [DR99] DAWSON, Terry; RUBINI, Alessandro: NET3-4 HOWTO, v1.5, August 1999. ­ (siehe Datei /usr/share/doc/howto/en/NET3-4-HOWTO.gz) [EH98] ECKEL, George; HARE, Chris: Linux ­ Internet Server. Carl Hanser Verlag, 1998. ­ (ISBN 3-446-19044-9) [FCR93] FANG, Chin; CROSSON, Bob ; RAYMOND, Eric S.: The Hitchhiker's Guide to X386/XFree86 Video Timing (or, Tweaking your Monitor for Fun and Profit), 1993. ­ (sie- he Datei /usr/X11/lib/X11/doc/VideoModes.doc) [Fis00] FISCHER, Thorsten: GUI-Programmierung mit GTK+ (Handbuch und Referenz). SuSE PRESS, 2000. ­ ISBN (3­934678­42­4) [Fri93] FRISCH, Æleen: Essential System Administration. O'Reilly & Associates, Inc., 1993. ­ (ISBN 0-937175-80-3) 375 Literaturverzeichnis [Gil92] GILLY, Daniel: UNIX in a nutshell: System V Edition. O'Reilly & Associates, Inc., 1992. ­ (ISBN 1-56592-001-5) [GMR97] GOOSSENS, Michel; MITTELBACH, Frank ; RAHTZ, Sebastian: The LATEX Graphics Com- panion. Addison Wesley Longman, 1997. ­ (ISBN 0-201-85469-4) [GMS94] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander: The LATEX Companion. Addison Wesley GmbH, 1994. ­ (ISBN 0-201-54199-8) [GMS96] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander: Der LATEX-Begleiter. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-646-3) [GR99] GOOSSENS, Michel; RAHTZ, Sebastian: The LATEX Web Companion. Addison Wesley Longman, 1999. ­ (ISBN 0-201-43322-7) [Gri94] GRIEGER, W.: Wer hat Angst vorm Emacs?. Addison Wesley GmbH, 1994. ­ (ISBN 3-89319-620-X) [GS93] GARFINKEL, Simson; SPAFFORD, Gene: Practical UNIX Security. O'Reilly & Associa- tes, Inc., 1993. ­ (ISBN 0-937175-72-2) [Hei96] HEIN, Jochen: Linux-Companion zur Systemadministration. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-869-5) [Her92] HEROLD, H.: UNIX Grundlagen. Addison Wesley GmbH, 1992. ­ (ISBN 3-89319-542-8) [HHMK96]HETZE, Sebastian; HOHNDEL, Dirk; MÜLLER, Martin ; KIRCH, Olaf: Linux Anwender- handbuch. 6. Aufl. LunetIX Softfair, 1996. ­ (ISBN 3-929764-05-9) [Hof97] HOFFMANN, Erwin: EMail-Gateway mit qmail. In: iX 12 (1997), S. 108ff. [HR98] HÖLZER, Matthias; RÖHRIG, Bernhard: KDE ­ Das K Desktop Environment. Computer & Literatur, 1998. ­ (ISBN 3-932311-50-7) [HST97] HOLZ, Helmut; SCHMITT, Bernd ; TIKART, Andreas: Linux für Internet & Intranet. International Thomson Publishing, 1997. ­ (ISBN 3-8266-0342-7) [Hun95] HUNT, Craig: TCP/IP Netzwerk Administration. O'Reilly & Associates, Inc., 1995. ­ (ISBN 3-930673-02-9) [JT98] JOHNSON, Michael K.; TROAN, Erik W.: Anwendungen entwickeln unter Linux. Addison Wesley GmbH, 1998. ­ (ISBN 3-8273-1449-6) [Kie95] KIENLE, Micheal: TIS: Toolkit für anwendungsorientierte Firewall-Systeme. In: iX 8 (1995), S. 140ff. [Kir95] KIRCH, Olaf: LINUX Network Administrator's Guide. O'Reilly & Associates, Inc., 1995. ­ (ISBN 1-56592-087-2) [Kof99] KOFLER, Michael: Linux ­ Installation, Konfiguration, Anwendung. 4. Aufl. Addison Wesley GmbH, 1999. ­ (ISBN 3-8273-1475-5) [Kop94] KOPKA, Helmut: LATEX-Einführung. Addison Wesley GmbH, 1994. ­ (ISBN 3-89319- 664-1) 376 Literaturverzeichnis [Kopff] KOPKA, Helmut: LATEX. Addison Wesley GmbH, 1996 ff. ­ 3 Bde. (ISBN 3-8273-1025-3; 3-8273-1229-9; 3-89319-666-8) [Kun95] KUNITZ, Ulrich: Sicherheit fast kostenlos: Einrichtung eines kostenlosen Firewall- Systems. In: iX 9 (1995), S. 176ff. [Lam90] LAMB, Linda: Learning the vi Editor. O'Reilly & Associates, Inc., 1990. ­ (ISBN 0- 937175-67-6) [Lef96] LEFFLER, Sam: HylaFAX Home Page, 1996 [Meg98] MEGGINSON, David: Structuring XML Documents. Prentice-Hall, 1998. ­ ISBN (0­13­ 642299­3) [Moh98] MOHR, James: UNIX-Windows-Integration. International Thomson Publishing, 1998. ­ (ISBN 3-8266-4032-2) [OT92] O'REILLY, Tim; TODINO, Grace: Managing UUCP and Usenet. O'Reilly & Associates, Inc., 1992. ­ (ISBN 0-937175-93-5) [Per94] PERLMAN, G.: Unix For Software Developers. Prentice-Hall, 1994. ­ (ISBN 13-932997- 8) [POL97] PEEK, Jerry; O'REILLY, Tim ; LOUKIDES, Mike: Unix Power Tools. 2. Aufl. Sebastopol : O'Reilly & Associates, Inc., 1997 [Pug94] PUGH, K.: UNIX For The MS-DOS User. Prentice-Hall, 1994. ­ (ISBN 13-146077-3) [Rub98] RUBINI, Alessandro: Linux-Gerätetreiber. O'Reilly & Associates, Inc., 1998. ­ (ISBN 3-89721-122-X) [SB92] SCHOONOVER, M.; BOWIE, J.: GNU Emacs. Addison Wesley GmbH, 1992. ­ (ISBN 0-201-56345-2) [Sch98] SCHEIDERER, Jürgen: Sicherheit Kostenlos - Firewall mit Linux. In: iX 12 (1998) [Sto98] STOLL, Clifford: Kuckucksei; Die Jagd auf die deutschen Hacker, die das Pentagon knack- ten. Fischer-TB.-Vlg., 1998. ­ (ISBN 3596139848) [The96] THE XFREE86TM-TEAM: XF86Config(4/5) - Configuration File for Xfree86TM, 1996. ­ Manual-Page zu XFree86TM [TSP93] TODINO, Grace; STRANG, John ; PEEK, Jerry: Learning the UNIX operating system. O'Reilly & Associates, Inc., 1993. ­ (ISBN 1-56592-060-0) [Wel94] WELSH, Matt: Linux Installation and Getting Started. 2. Aulf. SuSE GmbH, 1994. ­ (ISBN 3-930419-03-3) [WK95] WELSH, Matt; KAUFMAN, Lars: Running Linux. O'Reilly & Associates, Inc., 1995. ­ (ISBN 1-56592-100-3) [WK98] WELSH, Matt; KAUFMAN, Lars: Linux ­ Wegweiser zur Installation & Konfiguration. 2. Aufl. O'Reilly & Associates, Inc., 1998. ­ (ISBN 3-930673-58-4) [WM99] WALSH, Norman; MUELLNER, Leonard: DocBook. The Definiteve Guide. O'Reilly & Associates, Inc., 1999. ­ ISBN (1­56592­580­7) [WWH98] WITHERSPOON, Craig; WITHERSPOON, Coletta ; HALL, Jon: Linux für Dummies. Inter- national Thomson Publishing, 1998. ­ (ISBN 3-8266-2725-3) 377 Literaturverzeichnis 378 Index Index Symbole 3COM 3c579 . . . . . . . . . . . . . 276 mod_php4 . . . . . . . . . . . . . . 307 /bin . . . . . . . . . . . . . . . . . . . . . . . 45 3COM 3c590 . . . . . . . . . . . . . 276 APM . . . . . . . . . . . . . . . . . . . . . 209 /etc/conf.modules . . . siehe 3COM 3c900 . . . . . . . . . . . . . 276 Kernel auswählen . . . . . . . . 76 /etc/modules.conf apmd . . . . . . . . . . . . . . . . . . . . 210 /etc/fstab . . . . . . . . . . . . . . 60 A apmd . . . . . . . . . . . . . . . . 210, 211 /etc/init.d/rc . . . . . . . . . . . . . . 340 a2ps . . . . . . . . . . . . . . . . . . . . . 231 Applixware . . . . . . . . . . . . . . . . 40 /etc/inittab . . . . . . . . . . . 337 a2ps . . . . . . . . . . . . . . . . . . . . . 216 aps . . . . . . . . . . . . . . . . . 217, 227 /etc/modules.conf . . . . . 251 aaa_base . . . . . . . . . . . 303, 306 apsfilter . . . . . . 75, 77, 227, 230, /etc/rc.config . . . . . 88, 344 Adabas . . . . . . . . . . . . . . . . . . . 353 231­235, 238, 241 /etc/resolv.conf . 306, 318 Adabas D . . . . . . . . . . . . . . . . . . . 3 Netzwerkdrucker . . . . . . . . 234 /sbin/SuSEconfig . . . . . . . . . . 343 Adaptec apsfilters . . . . . . . . . . . . . 231, 232 Applixware . . . . . . . . . . . 41, 353 AHA-152x/151x/1505 . . 262, Arcad . . . . . . . . . . . . . . . . . . . . . 41 reboot . . . . . . . . . . . . . . . . . . 352 274 arena . . . . . . . . . . . . . . . . . . . . . 351 shutdown . . . . . . . . . . . . . . . . 352 AHA-1540/1542 . . . . . . . . 275 Argus . . . . . . . . . . . . . . . . . . . . 353 LILO . . . . . . . . . . . . . . . . . . . . . . 77 AHA-154x . . . . . . . . . . . . . 263 Arkeia . . . . . . . . . . . . . . . . . . . 353 Bestandteile . . . . . . . . . . . . 108 AHA-274x . . . . . . . . . . . . . 263 AT1700 . . . . . . . . . . . . . . . . . . 277 Interface . . . . . . . . . . . . . . . 108 AHA-284x . . . . . . . . . . . . . 263 ATAPI-CD-ROM hängt . . . . . 37 Konfiguration . . . . . . . . . . . 111 AHA-294x . . . . . . . . . . . . . 263 atd . . . . . . . . . . . . . . . . . . . . . . . 350 Was er ist . . . . . . . . . . . . . . . 108 Adaptec 2920 . . . . . . . . 265, 275 Auswahl wohin installieren . . . . . . . 109 Administration Installationsmedium . . . . . . 50 LILO . . . . . . . . . . . . . . . . . . . . . 125 Benutzer . . . . . . . . . . . . . . . . 82 Authentifizierung . . . . . . . . . . 301 /etc/resolv.conf . . . . . . 347 Gruppen . . . . . . . . . . . . . . . . . 84 autoexec.bat . . . . . . . . . . . . . . 133 /etc/host.conf . . . . . . . . 346 YaST . . . . . . . . . . . . . . . . . . . . 74 autoexec.bat . . . . . . . . . . . 341 /etc/hosts . . . . . . . . . . . . . 346 Advanced Power Management . . autofs . . . . . . . . . . . . . . . . . . . . 349 /opt . . . . . . . . . . . . . . . . . . . . . . 41 siehe APM autofs . . . . . . . . . . . . . . . . . . 349 kdm . . . . . . . . . . . . . . . . . . . . . . 352 AdvanSys . . . . . . . . . . . . . . . . 264 Automounter . . . . . . . . . . . . . 349 xdm . . . . . . . . . . . . . . . . . . . . . . 352 aic7xxx . . . . . . . . . . . . . . . . . . 264 awk . . . . . . . . . . . . . . . . . . . . . . . . 1 SaX . . . . . . . . . . . . . . . . . . . . . . 141 AIRCOP . . . . . . . . . . . . . . . . . 109 Aztech CD-ROM . . . . . . . . . . 282 SaX2 . . . . . . . . . . . . . . . . 141, 169 alice . . . . . . . . . . . . . . . . . . . . . 30 SuSE-Bildschirm ALICE . . . . . . . . . . . . . . . . . 29, 30 B deaktivieren . . . . . . . . . . . . . 26 alien . . . . . . . . . . . . . . . . . . . 314 Backup . . . . . . . . . . . . . . . . . . . . 84 X Window System . . . siehe X11 Alien . . . . . . . . . . . . . . . . . . . . 314 Bandlaufwerke siehe Hardware, YaST . . . . . . . . . . . . . . . . . . . 2, 23 allman . . . . . . . . . . . . . . . . . . 308 Bandlaufwerke YaST ALSA . . . . . . . . . . . . . . . 185, 186 Befehl bei Erstinstallation . . . . . . . . 13 alsa-devel . . . . . . . . . . . . . 308 ulimit . . . . . . . . . . . . . . . . 317 1024 Zylinder alsaconf . . . . . . . . . . . . . 185, 186 Benutzer LILO Probleme . . . . . . . . . 129 AM53/79C974 . . . . . . . . . . . . 264 Verwaltung . . . . . . . . . . . . . . 82 3COM 3c501 . . . . . . . . . . . . . 276 AMD 53/79C974 . . . . . . . . . . 264 Bildschirm . . . . . . . . . . . . . . siehe 3COM 3c503 . . . . . . . . . 269, 276 AMD Athlon / Intel Pentium III SuSE-Bildschirm, 3COM 3c505 . . . . . . . . . . . . . 276 254 deaktivieren 3COM 3c507 . . . . . . . . . . . . . 276 Andries Brouwer . . . . . . . . . . . 60 Bildschirmauf" . . . . . . lösung172 3COM 3c509 . . . . . . . . . . . . . 276 apache . . . . . . . . . . . . . . . . . . 304 binutils . . . . . . . . . . . . . . . . 249 3COM 3c515 . . . . . . . . . . . . . 276 Apache . . . . . . . . . . . . . . . . . . . 315 boot.local . . . . . . . . . . . . . . . . . 341 379 Index boot.sys . . . . . . . . . . . . . . . . . . 107 CD-ROM CUPS . 104, siehe YaST2,CUPS Bootbildschirm . . . . . . . . . . . 116 ATAPI . . . . . . . . . . . . . . . . . 266 curses . . . . . . . . . . . . . . . . . . . 316 Bootdisk . . . . . . . . . . . . . . . . . . 33 Aztech . . . . . . . . . . . . . 271, 282 Cyberscheduler Software . . . . 41 installieren mit . . . . . . . . . . . . 8 EIDE . . . . . . . . . . . . . . . . . . 266 Cygnus Source-Navigator . . . 41 Bootdiskette . . . . . . . . . . 107, 110 Goldstar . . . . . . . . . . . 271, 282 Cyrix siehe Prozessor, Cyrix 686 Erzeugen (mit LILO) . . . . 121 Mitsumi . . . . . . . . . . . 271, 282 Erzeugen mit dd . . . . . . . . . . 36 Mitsumi FX-001(D) 271, 282 D Erzeugen mit rawrite . . . . . 35 Mitsumi Multisession . . . 271, D-Link DE620 . . . . . . . . . . . . 282 Erzeugen mit Setup . . . . . . . 35 282 Düsentrieb . . . . . . . . . . . . . . . . . . 4 Booten . . . . . . . . . . . 24, 337, 357 Mozart . . . . . . . . . . . . 271, 283 Daemon Ablauf . . . . . . . . . . . . . . . . . 105 Optics Storage . . . . . . 272, 283 named . . . . . . . . . . . . . . . . . 350 Bootmanager . . . . . . . . . . . 107 Panasonic . . . . . . . . . . 273, 284 nscd . . . . . . . . . . . . . . . . . . . 350 initial ramdisk . . . . . . . . . . 318 Philips CM206 . . . . . 272, 283 routed . . . . . . . . . . . . . . . . . . 349 Konzepte . . . . . . . . . . . . . . . 106 Sanyo . . . . . . . . . . . . . 272, 283 rwhod . . . . . . . . . . . . . . . . . . 349 LILO . . . . . . . . . . . . . . . . . . . 105 Sony CDU31A . . . . . 272, 283 Dateien Methoden . . . . . . . . . . . . . . . 25 Sony CDU33A . . . . . 272, 283 Suchen . . . . . . . . . . . . . . . . . . 72 Parameter . . . . . . . . . . . . . . 257 Sony CDU535 . . . . . . 273, 284 Dateirechte . . . . . . . . . . . . . . . 354 Rootpartition . . . . . . . . . . . 261 SoundBlaster Pro 16 . . . . . 284 Dateisystem Startmechanismus mit loadlin CD-ROM-Laufwerk FHS . . . . . . . . . . . . . . . . . . . 315 133 am Parallelport . . . . . . . . . . . 37 ReiserFS . . . . . . . . . . . . . . . . 57 von CD2 . . . . . . . . . . . . . . . . 34 Installation . . . . . . . . . . . . . . 74 TeX . . . . . . . . . . . . . . . . . . . . 315 von Diskette . . . . . . . . . . . . . 33 Parallele Schnittstelle . . siehe Dateisysteme von Disketten . . . . . . . . . . . . 34 Hardware, Parallele festlegen . . . . . . . . . . . . . . . . 62 Bootgrafik . . . . . . . . . . . . . . . . 116 Schnittstelle Dateisysteme festlegen . . . . . . 56 Bootkonzepte . . . . . . . . . . . . . 106 Datensicherung . . . . . . . . . . . . 84 CD-ROM-Laufwerke Bootloader . . . . . . . . . . . . . . . 105 DB2 . . . . . . . . . . . . . . . . . . . . . 353 Bootmanager . . . . . . . . . . . . . 105 Unterstützung durch Linux 36 DCF77 . . . . . . . . . . . . . . . . . . . 352 boot.sys . . . . . . . . . . . . . . . . 107 CD-ROM-Laufwerk hängt . . 37, DE203 . . . . . . . . . . . . . . . . . . . 278 38 LILO . . . . . . . . . . . . . . . . . . . 107 DE204 . . . . . . . . . . . . . . . . . . . 278 OS/2 . . . . . . . . . . . . . . . . . . . 107 changes . . . . . . . . . . . . . . . . . 304 DE205 . . . . . . . . . . . . . . . . . . . 278 Windows NT . . . . . . . . . . . 107 Check . . . . . . . . . . . . . . . . . . . . 357 DEC . . . . . . . . . . . . . . . . . . . . . 141 Bootmenü . . . . . . . . . . . . . . . . 133 Chris Mason . . . . . . . . . . . . . . . 57 defrag . . . . . . . . . . . . . . . . . . . . . 32 Bootschwierigkeiten . . . . . siehe chroot-Umgebung . . . . . . . . . . 66 defrag.exe . . . . . . . . . . . . . . . . . 32 Installation, Safe Settings Clock-Chip . . . . . . . . . . . . . . . 164 Deinstallation Bootsektor . . . . . . . . . . . 105, 106 command not found . . . . . . . 355 LILO . . . . . . . . . . . . . . . . . . . 118 Bootvorgang . . . . . . . . . . . . . . 105 Compose . . . . . . . siehe Tastatur, depmod . . . . . . . . . . . . . . . . . . 251 bttv . . . . . . . . . . . . . . . . . . . . . 305 Compose-Taste dhclient . . . . . . . . . . . . . . . . 303 BusLogic . . . . . . . . . . . . . . . . . 264 conf.modules . . . . . . . . . . . . siehe DHCP . . . . . . . . . . . . . . . . . . . 350 Busmaus . . . . . . . . . . . . . . . . . 161 modules.conf konfigurieren . . . . . . . . . . . . 79 Logitech . . . . . . . . . . . . . . . 271 conf.modules . . . . . . . . . . siehe dhcpcd . . . . . . . . . . . . . . . . . . 303 /etc/modules.conf diald . . . . . . . . . . . . . . . . . . . . . 349 C config.sys . . . . . . . . . . . . . . . . 133 Digital . . . . . . . . . . . . . . . . . . . 277 C . . . . . . . . . . . . . . . . . . . . . . . . 249 Console-Font einstellen . . . . . 86 Digital DEPCA . . . . . . . . . . . 277 Cabletron E21xx . . . . . . . . . . 277 Core-Dateien . . . . . . . . . . . . . 317 Digital Equipment Corporation . Cabletron E21XX . . . . . . . . . 269 CPU . . . . siehe SMP, Anzahl der 141 CardBus . . . . . . siehe Hardware, CPUs Diskette CardBus Crash . . . . . . . . . . . . . . . . . . . . 357 Booten von . . . . . . . . . . . . . 107 CardBus-Netzwerkkarten mit cron . . . 300, 303, 305, 316, 316, Formatieren . . . . . . . . . . . . . . 36 SMSC 83c170 . . . . . . . . 279 353 Diskettenlaufwerk . . . . 193, 270 cardctl . . . . . . . . . . . . . . . . . . . 208 cron . . . . . . . . . . . . . . . . . . . . . 305 DMA . . . . . . . . . siehe IDE-DMA Cardmanager . . . . 200, 201, 206 cron.daily . . . . . . . . . . . . . . . . 354 DNS cardmgr . . . . . . . . . . . . . . . . . . 200 Crontab Timeout . . . . . . . . . . . . . . . . 307 cardmgr . . . . . . . . . . . . 200, 201 tägliche . . . . . . . . . . . . . . . . 303 docbktls . . . . . . . . . . . . . . . . 308 380 Index DocBook . . . . . . . . siehe SGML, 2fsck . . . . . . . . . . . . . . . . . . . 357 Fax DocBook Eagle . . . . . . . . . . . . . . . . . . . . . . 41 Hylafax . . . . . . . . . . . . . . . . 351 docbook-dsssl-stylesheets Eberhard Mönkeberg . . . . . . . . . 4 faxsetup . . . . . . . . . . . . . . . . . . 351 307 EIDE fdisk . 32, 33, 60, 110, 118, 120, docbook_3 . . . . . . . . . . . . . . 307 Spezielle Chipsätze . . . . . . 306 124, 125, 328, 330, 331 docbook_4 . . . . . . . . . . . . . . 307 EIDE-Chipsätze . . . . . . . . . . . 267 mbr . . . . . . . . . . . . . . . . . . . . 120 dochost . . . . . . . . . . . . . . . . . 306 emacs . . . . . . . . . . . . . . . . . . . 307 Festplatte Dokumentation Emacs 1, 42, 300, 307, 314, 317 Parameter . . . . . . . . . . . . . . 267 Server für Dokumentation 351 emacs-auctex . . . . . . . . . . . 307 fhs . . . . . . . . . . . . . . . . . . . . . . 315 DOS emacs-el . . . . . . . . . . . . . . . . 307 FHS . . . siehe Dateisystem, FHS Booten . . . . . . . . . . . . 123, 125 emacs-info . . . . . . . . . . . . . 307 find . . . . . . . . . . . . . . . . . . . . . . 330 Bootmenü . . . . . . . . . . . . . . 133 emacs-nox . . . . . . . . . . . . . . 307 finger . . . . . . . . . . . . . . . . . . 306 Linux-Partitionen anlegen 32, emacs-x11 . . . . . . . . . . . . . . 307 fips . . . . . . . . . . . . . . . . . 16, 31, 31 33 emm386.exe . . . . . . . . . . . . . . . 25 fips.exe . . . . . . . . . . . . . . . . 32, 33 Drivespace . . . . . . . . . . . . . . . . . 39 Erstinstallation . . . . . . . . . . . . . . 7 FireGL . . . . . . . . . . . . . . . . . . . . . 8 Druck-Manager (lpd) . . . . . . 223 YaST starten . . . . . . . . . . . . . 13 Firewall Druck-System . . . . . . . . . . . siehe Ausgangslage . . . . . . . . . . . . . 7 Aktivieren . . . . . . . . . . . . . . 348 Spool-System Basiskonfiguration . . . . . . . 20 firewals . . . . . . . . . . . . . . . . 303 Drucken Bootdiskette mit Unix erstellen Floppy . . . . . . . . . . . . . . . . . . . 270 lpd starten . . . . . . . . . . . . . . 350 36 Formatieren Beenden . . . . . . . . . . . . . . . . 225 Bootdisketten . . . . . . . . . . . . 34 Partition . . . . . . siehe Partition, Novell NetWare . . . . . . . . . . 81 Booten von CD2 . . . . . . . . . 34 Formatieren Printserver . . . . . . . . . . . . . . 223 Booten von Diskette . . . . . . 33 Fortify . . . . . . . . . . . . . . . . 41, 302 Samba . . . . . . . . . . . . . . . . . . 81 Dateisysteme festlegen . . . . 62 Freecom . . . . . . . . . . . . . . . . . . . 38 Drucken mit CUPS . . . . . . . . 104 Einloggen . . . . . . . . . . . . . . . 23 fsck . . . . . . . . . . . . . . . . . . . . . . . 62 Drucker Festplatte formatieren . . . . . 62 ftape . . . . . . . . . . . . . . . . . . . . . 198 Daemon . . . . . . . . . . . . . . . . 223 Grundkonfiguration . . . . . . . 20 ftp . . . . . . . . . . . . . . . . . . . . . . . . 80 GDI-Drucker . . . . . . . . . . . 216 künftige Boot-Methode . . . 25 FTP Kernelparameter . . . . . . . . 273 Kernel auswählen . . . . . . . . 18 Anonymes FTP . . . . . . . . . 303 Konfiguration . . . . . . . . . . . . 75 Konfiguration auswählen . . 17 FTP-Server Lexmark . . . . . . . . . . . . . . . 216 linuxrc . . . . . . . . . . . . . . . . . . . 8 einrichten . . . . . . . . . . . . . . 315 Netzwerkdrucker . . . . . . siehe Login . . . . . . . . . . . . . . . . . . . 23 Netzwerkdrucker Maus . . . . . . . . . . . . . . . . . . . . 22 ftpdir . . . . . . . . . . . . . . . . . . 315 Fujitsu FMV-181/182/183/184 . . Novell NetWare als Modem . . . . . . . . . . . . . . . . . . 22 279 Druckserver . . . . . . . . . . . 81 Mountpoints festlegen . . . . 62 Parallele Schnittstelle . . siehe Netzwerkkonfiguration . . . . 21 Funktionstasten Hardware, Parallele Pakete installieren . . . . . 17, 22 gehen nicht . . . . . . . . . . . . . . 47 Schnittstelle Partitionen konfigurieren . . 60 Funkuhr . . . . . . . . . . . . . . . . . . 352 Windows only . . . . . . . . . . 216 Partitionieren . . . . . . . . . . . . 31 Future Domain . . . . . . . 265, 275 Windowsrechner als Root-Passwort festlegen . . . 21 fvwm . . . . . . . . . . . . . . . . . . . . 150 Druckserver . . . . . . . . . . . 81 Sendmail . . . . . . . . . . . . . . . . 21 Druckerbetrieb . . . . . . . . . . . . 215 Software auswählen . . . . . . 17 G Druckerfilter Software installieren . . . . . . 17 gamix . . . . . . . . . . . . . . . . . . . . 186 für Netzwerkdrucker . . . . . 234 Startbildschirm . . . . . . . . . . . . 7 Gateway Druckertreiber . . . . . . . . . . . . 292 Startmechanismus mit loadlin 2 Netzwerkkarten . . . . . . . 269 Dummy-Device . . . . . . . . . . . 346 133 gcc . . . . . . . . . . . . . . . . . . . . . . 249 dump . . . . . . . . . . . . . . . . . . . . . 62 Voraussetzungen . . . . . . . . . . 7 GDI-Drucker . . . . . . . . . . . . . 216 dumpe2fs . . . . . . . . . . . . . . . . . 331 erweiterte Partitionen . . . . . . . 56 gdm . . . . . . . . . . . . . . . . . . . . . . . 81 Dynamische IP-Adresse . . . . 347 EtherTeam 16i/32 . . . . . . . . . 280 GDM . . . . . . . . . . . . . . . . . . . . . 81 GDT RAID5-Controller . . siehe E F ICP Vortex e2fsck . . . . . . . . . . . 328, 330, 331 Farbtiefe . . . . . . . . . . . . . . . . . 172 Ghostscript . . . . . . 231, 239, 239 Manual-Page . . . . . . . . . . . 357 FAT32 . . . . . . . . . . . . . . . . . . . . . 33 gimp-devel . . . . . . . . . . . . . 308 381 Index glibc . . . . . . . . . . . . . . . . . . . . . 300 Plug-and-Play . . . . . . . . . . 341 initial ramdisk . . . . . . . . . . . . 318 glibc . . . . . . . . . . . . . . . . . . . 313 PlugAndPlay . . . . . . . . . . . 183 initrd . . . . . . . . . . . . . . . . . . . . . 346 glibc-devel . . . . . . . . . . . . 249 Steckkarten . . . . . . . . . . . . . 181 SCSI-Treiber . . . . . . . . . . . 252 glibc-info . . . . . . . . . . . . . 335 Streamer . . . . siehe Hardware, inittab . . . . . . . . . . . . . . . . . . . . 337 gnlibs . . . . . . . . . . . . . . . . . . 305 Bandlaufwerke INN . . . . . . . . . . . . . . . . . . . . . . 350 GNOME . . . . . . . . 1, 40, 41, 314 USB . . . . . . . . . . . . . siehe USB Inode . . . . . . . . . . . . . . . . . . . . . . 59 Übersetzen . . . . . . . . . . . . . 308 Winmodem . . . . . . . . . . . . . 196 Dichte . . . . . . . . . . . . . . . . . . . 58 gnorpm . . . . . . . . . . . . . . . . . . 314 ZIP-Laufwerk . . . . . . . . . . 194 insmod . . . . . . . . . . . . . . 250, 251 GNU . . . . . . . . . . . . . . . . . . 1, 317 Hauptmenü . . . . . . . . . . . . . . . . 48 Parameter . . . . . . . . . . . . . . 257 gnuserv . . . . . . . . . . . . . . . . . 307 Hauptspeicher . . . siehe Speicher insserv . . . . . . . . . . . . . . . . . . . 341 GNU C/C++ Compiler . . . . . . . 1 hdparm . . . . . . . . . . . . . . . . . . . 211 Installation Goldstar CD-ROM . . . . . . . . 282 Hibernation . . . . . . . . . . . . . . . 209 CD-ROM-Laufwerk am Goldstar-CD-ROM . . . . . . . . 271 Hilfe . . . . . . . . . . . . . . . . . . . . . 351 Parallelport . . . . . . . . . . . . 38 GPL . . . . . . . . . . . . . . . . . 361, 361 HOME . . . . . . . . . . . . . . . . . . . . . 295 Erstinstallation . . . . . . . . . . . . 7 gpm . . . . . . . . . . . . . . 87, 152, 346 Horizontalfrequenz . . . . . . . . 162 FTP . . . . . . . . . . . . . . . . . . . . . 28 Gpm . . . . . . . . . . . . . . . . . . . . . 346 howto . . . . . . . . . . . . . . . . . . . 212 LILO . . . . . . . . . . . . . . . . . . . 118 GPM . . . . . . . . . . . . . . . . . . . . . 345 HP 10/100 VG-AnyLAN . . . 280 Medium . . . . . . . . . . . . . . . . . 50 gpm konfigurieren . . . . . . . . . . 87 HP PCLAN . . . . . . . . . . . . . . . 279 mit YaST1, textbasiert . . . . . 7 grep . . . . . . . . . . . . . . . . . . . . . . 330 HP PCLAN+ . . . . . . . . . . . . . 279 Netz als Quelle . . . . . . . . . . . 28 Gruppen htdig . . . . . . . . . . . . . . . . . . . . . . 41 NFS . . . . . . . . . . . . . . . . . . . . 28 Verwaltung . . . . . . . . . . . . . . 84 http-rman . . . . . . . . . . . . . . . . . 351 Pakete . . . . . . . . . . . . . . . . . . . 72 gs . . . . . . . . . . . siehe Ghostscript HTTP-Server Pakete deinstallieren . . . . . 309 gs . . . . . . . . . . . . . . . . . . . . . . . 231 einrichten . . . . . . . . . . . . . . 315 Pakete installieren . . . . . . . 309 gs_fonto . . . . . . . . . . . . . . . . 217 httpd . . . . . . . . . . . . . . . . . . . . . 351 PCMCIA . . . . . . . . . . . . . . . 207 gs_fonts . . . . . . . . . . . . . . . . 217 Safe Settings . . . . . . . . . . . . 307 gs_lib . . . . . . . . . . . . . . . . . . 217 I Umfang . . . . . . . . . . . . . . . . . 67 gs_x11 . . . . . . . . . . . . . . . . . . 217 I/O-Bereich via FTP . . . . . . . . . . . . . . . . . 53 gv . . . . . . . . . . . . . . . . . . . . . . . 239 Reservieren . . . . . . . . . . . . . 260 via NFS . . . . . . . . . . . . . . . . . 51 gxmhtml . . . . . . . . . . . . . . . . . 305 I/O-Bereich schützen . . . . . . 260 gzip . . . . . . . . . . . . . . . . . . . . . . . 45 I18N . . . . . . . . . . . . . . . . . . . . . 333 von CD-ROM . . . . . . . . . . . . 50 i4l . . . . . . . . . . . . . . . . . . 81, 342 von DVD . . . . . . . . . . . . . . . . 50 H i82365 . . . . . . . . . . . . . . . . . . . 206 von Festplatten-Partition . . 50 halt . . . . . . . . . . . . . . . . . . . . . . 341 i82557/i82558 . . . . . . . . . . . . 278 von Verzeichnis . . . . . . . . . . 52 Hans Lermen . . . . . . . . . . . . . . . . 4 IBM Thinkpad . . . . . . . . . . . . 270 Von... . . . . . . . . . . . . . . . . . . . 50 Hans Reiser . . . . . . . . . . . . . . . . 57 ICL EtherTeam . . . . . . . . . . . 280 Installationsmedium . . . . . . . . 50 Hardware ICP Vortex-Controller Insure++ . . . . . . . . . . . . . . . . . . 41 AGP . . . . . . . . . . . . . . . . . . . 181 Installation schlägt fehl . . . 13 Intel EtherExpress 16 . . . . . . 278 Bandlaufwerke . . . . . . . . . . 197 IDE-DMA . . . . . . . . . . . . . . . . 307 Intel EtherExpressPro . . . . . . 278 CardBus . . . . . . . . . . . . . . . . 199 idedma . . . . . . . . . . . . . . . . . . 307 Intel EtherExpressPro 100 . . 278 Diskettenlaufwerk . . 193, 270 Identifier . . . . . . . . . . . . . . . . . 173 Internet Services Daemon Einbinden . . . . . . . . . . . . . . 181 ifconfig . . . . . . . . . . . . . . 330, 347 inetd . . . . . . . . . . . . . . . . . . . 348 Externes Modem . . . . . . . . 195 ifport . . . . . . . . . . . . . . . . . . . . 207 xinetd . . . . . . . . . . . . . . . . . . 348 Internes Modem . . . . . . . . . 195 imwheel . . . . . . . . . . . . . . . . . 178 IP-Adresse . . . . . . . . . . . . . . . . . 52 IrDA . . . . . . . . . . . . siehe IrDA Index aller Serien und Pakete 72 dynamisch . . . . . . . . . . . . . . 347 ISA . . . . . . . . . . . . . . . . . . . . 181 inetd . . . . . . . . . . . . . . 21, 80, 348 IP-Forwarding . . . . . . . . . . . . 347 ISApnp . . . . . . . . siehe ISApnp info . . . . . . . . . . . . . . . . . . . . . 317 iputils . . . . . . . . . . . . . . . . . 306 Laptop . . . . . . siehe Notebook Info . . . . . . . . . . . . . . . . . . . . . . 317 IPv6 . . . . . . . . . . . . . . . . . . . . . 307 LS120-Laufwerk . . . . . . . . 194 Info (info) . . . . . . . . . . . . . . . 317 IRC . . . . . . . . . . . . . . . . . . . . . . 348 Modem . . . . . . . . . . . . . . . . 195 Infrared Data Association . siehe irda . . . . . . . . . . . . . . . . . . . . . 212 Notebook . . . . siehe Notebook IrDA IrDA . . . . . . . . . . . . . . . . . . . . . 212 Parallele Schnittstelle . . . . 188 Infrarotunterstützung siehe IrDA Drucker . . . . . . . . . . . . . . . . 213 PC-Karten . . . . . . . . . . . . . . 199 init . . 3, 121, 330, 337, 337­341 ISA PnP PCI . . . . . . . . . . . . . . . . . . . . 181 Skripte . . . . . . . . . . . . . . . . . 340 Initialisieren . . . . . . . . . . . . 346 382 Index ISA-Karten . . . . . . . . . . . . . . . 182 Laden . . . . . . . . . . . . . . . . . . . 67 Löschen . . . . . . . . . . . . . . . . 119 isapnp . . . . . . . . . . . . . . . 182­185 LILO . . . . . . . . . . . . . . . . . . . 111 Update . . . . . . . . . . . . . . . . . 295 isapnp . . . . . . . . . . . . . . 182, 185 Netzzeit . . . . . . . . . . . . . . . . 352 Linux Development Platform ISApnp . . . . . . . . . . . . . . . . . . 183 Speichern . . . . . . . . . . . . . . . . 68 Specification . . . . . . . . . . 316 iso-8859 . . . . . . . . . . . . . . . . . . 175 X11 . . . . . . . . . . . . . . . 144, 160 Linux Standard Base . . . . . . 315 ISP16 . . . . . . . . . . . . . . . 272, 283 Konfigurationen . . . . . . . . . . . . 67 Linux-Erstinstallation . . . . . . . . 7 Konfigurationsdatei . . . . . . . . 344 linux.par . . . . . . . . . . . . . . . . . 133 J Konsole . . . . . . . . . . . . . . . . . . 352 linuxrc 4, 7­13, 29, 34, 38, 207, jade_dsl . . . . . . . . . . . . . . . . 306 virtuell . . . . . . . . . . . . . . . . . 332 297, 300, 319, 320, 322, kpanel . . . . . . . . . . . . . . . . . . . 211 323, 323­327, 329 K krpm . . . . . . . . . . . . . . . . . . . . . 314 Lizenz . . . . . . . . . . . . . . . . . . . 361 kardinfo . . . . . . . . . . . . . . . . . . 208 kterm . . . . . . . . . . . . . . . . . . . . . 86 loadlin . . . 4, 25, 26, 39, 41, 105, kbatmon . . . . . . . . . . . . . . . . . . 211 107, 130, 133, 133, 134, KDE . . . . . . . . . . . . 1, 40, 41, 314 L 184, 260, 298, 319, 320, 325 KDE2 . . . . . . . . . . . . . . . . . . . . . 41 L10N . . . . . . . . . . . . . . . . . . . . 333 funktioniert nicht . . . . . . . . . 39 kdelibs-devel . . . . . . . . . . 308 Löschen startet nicht . . . . . . . . . . . . . . 39 kdm . . . . . . . . . . . . . . . . . . 81, 299 LILO . . . . . . . . . . . . . . . . . . . 119 loadlin.exe . . . . . . . . . . . 107, 320 KDM . . . . . . . . . . . . . . . . . . 24, 81 Linux . . . . . . . . . . . . . . . . . . 119 loadlin.exe . . . . . . . . . . . . . . 4 Kernel . . . . . . . . . . . . . . . . . . . 249 Lance . . . . . . . . . . . . . . . . . . . . 269 locale . . . . . . . . . . . . . . . . 344, 345 Anzahl der CPUs . . . . . . . . 261 LANG . . . . . . . . . . . . . . . . . . . . . 344 locate . . . . . . . . . . . . . . . . 316, 353 Compilierung . . . . . . . . . . . 249 Laptop . . . . . . . . . . . . . . . . . . . 199 locate . . . . . . . . . . . . . . . . . . 353 Debugging . . . . . . . . . . . . . 345 LC_* . . . . . . . . . . . . . . . . . . . . . 344 Log-Dateien . . . . . . . . . . . . . . 354 Druckertreiber . . . . . . . . . . 292 LDAP-Server . . . . . . . . . . . . . 350 Logical Volume Manager . . . 66, Konfiguration . . . . . . . . . . . 252 ldconfig . . . . . . . . . . . . . . . . . . 304 siehe YaST2,Logical Module . . . . . . . . . . . . . . . . 250 leafnode . . . . . . . . . . . . . . . . . . 301 Volume Manager Parameter . . . . . . . . . . . . . . 257 less . . . . . . . . . . . . . . . . . . . . . . 330 Login . . . . . . . . . . . . . . . . . . . . 352 separate Module . . . . . . . . 305 libc5 . . . . . . . . . . . . . . . . . . . . . 328 Login-Shell . . . . . . . . . . . . . 302 Serielle Konsole . . . . . . . . 261 LILO . . . . . . . . . . . . . . . . . . . . . 105 SMP-Kernel auswählen 19, 76 PAM . . . . . . . . . . . . . . 301, 303 LILO . . . . . . . . . . . . . . . . . . . . . 105 Sysrq . . . . . . . . . . . . . . . . . . 345 LILO 18, 19, 25, 26, 34, 40, 57, remote . . . . . . . . . . . . . . . . . 355 Kernel auswählen . . . . . . 76, 103 76­80, 105, 106, 107, logische Partitionen . . . . . . . . . 56 Kernel Module Loader . . . . . 252 107­130, 132, 145, 251, Logitech . . . . . . . . . . . . . . . . . 161 Kernel panic . . . . . . . . . . . . . . . 19 255­258, 260, 319, 320, Logitech Busmaus . . . . . . . . . 271 Kernel too big . . . . . . . . . . . . 254 322, 326, 339 Loopback . . . . . . . . . . . . . . . . 346 Kernel-Daemon . . . . . . 341, 346 Beispielkonfigurationen . . 122 lpc . . . . . . . . . . . . . . . . . . 223, 224 Kernel-Module Bootdiskette . . . . . . . . . . . . 121 lpd . . . . . . . . . 223, 223, 238, 350 Konfigurationsdatei . . . . . . 301 Deinstallation . . . . . . . . . . . 118 LPD . . . . . . . . . . . . . . . . . . . . . 104 kernel-source . . . . . . . . . . 249 DOS und OS/2 booten . . . 125 lpq . . . . . . . . . . . . . . . . . . 223, 223 kerneld . . . . . . . . . . . . . . 252, 346 DOS/Win95 booten . . . . . 123 lpr . . . . . . . . . . . . . . 225, 225, 227 kerneld . . . . . . . . . . . . . . . . . . . 252 Entfernen . . . . . . . . . . . . . . . 119 lprm . . . . . . . . . . . . . . . . . 223, 224 Kerneldaemon . . . . . . . . . . . . 252 Installation . . . . . . . . . . . . . 118 lprold . . . . . 104, 217, 222, 238 kernmod . . . . . . . . . . . . . . . . . 302 OS/2 booten . . . . . . . . . . . . 124 lprsetup . . . . . . . . . . . . . . . . 227 kernmods . . . . . . . . . . . . . . . . 302 Parameter . . . . . . . . . . . . . . 257 LS120-Laufwerk . . . . . . . . . siehe kfontmanager . . . . . . . . . . . . . 177 Probleme . . . . . . . . . . . . . . . 125 Hardware, LS120-Laufwerk kikbd . . . . . . . . . . . . . . . . . . . . 179 1024 Zylinder . . . . . . . . . . . . 129 LSB siehe Linux Standard Base kmix . . . . . . . . . . . . . . . . . . . . . 186 Diagnose . . . . . . . . . . . . . . . . 127 lsmod . . . . . . . . . . . . . . . . . . . . 251 kmod . . . . . . . . . . . . . . . . . . . . 218 Kernel ab 2.0 . . . . . . . . . . . . 132 lspci . . . . . . . . . . . . . . . . . . . . . 173 Kmod . . . . . . . . . . . . . . . 189, 252 Startmeldungen . . . . . . . . . . 127 LUN . . . . . . . . . . . . . . . . . . . . . 262 knfsd . . . . . . . . . . . . . . . . . 57, 301 Windows NT booten . . . . . 123 LVM . . . . 66, siehe YaST2,LVM knfsd . . . . . . . . . . . . . . . 301, 349 lilo.conf . . . . . . . . . . . . . . . . . . 111 lynx . . . . . . . . . . . . . . . . . . . . . 351 Konfiguration Linus Torvalds . . . . . . . . . . . . 3, 5 Ändern . . . . . . . . . . . . . 68, 342 Linux . . . . . . . . . . . . . . . . . . . . . . 1 M Erstinstallation . . . . . . . . . . . 20 Deinstallieren . . . . . . . . . . . 119 MAD16 . . . . . . . . . . . . . 272, 283 383 Index Mail-Server modules.conf . . . . . . . . . . . . . 301 AM7990 Chipsatz . . . . . . . 280 Postfix . . . . . . . . . . . . . . . . . 348 modules.conf . . . . . . . . . . siehe AT1700 . . . . . . . . . . . . . . . . 277 makewhat . . . . . . . . . . . . . . . . 304 /etc/modules.conf Cabletron . . . . . . . . . . . . . . . 277 makewhatis . . . . . . . . . . . . . . . 304 Monitors . . . . . . . . . . . . . . . . . 162 D-Link DE620 . . . . . . . . . . 282 Manpages . siehe Manual-Pages mount . . . . . . . . . . . 193, 194, 330 DE10x . . . . . . . . . . . . . . . . . 277 Index . . . . . . . . . . . . . . . . . . 304 Mountpoint . . . . . . . . . . . . . . . . 58 DE20 . . . . . . . . . . . . . . . . . . 277 MANPATH . . . . . . . . . . . . . . . . . 304 Mozart . . . . . . . . . . . . . . 272, 283 DE203 . . . . . . . . . . . . . . . . . 278 Manual-Pages . . . . . . . . . . . . . 317 Mozart CD-ROM . . . . . 271, 283 DE204 . . . . . . . . . . . . . . . . . 278 Masquerading Mozilla . . . . . . . . . . . . . . . . 40, 41 DE205 . . . . . . . . . . . . . . . . . 278 IP-Forwarding . . . . . . . . . . 347 msdos.sys . . . . . . . . . . . . . . . . 133 DE42 . . . . . . . . . . . . . . . . . . 277 Massachusetts Institute of mt . . . . . . . . . . . . . . . . . . . 197, 198 DE425 . . . . . . . . . . . . . . . . . 277 Technology . . . . . . . . . . . 141 Multiprozessor-System . . . siehe DE434 . . . . . . . . . . . . . . . . . 277 Maus . . . . . . . . . . . . . . . . . . . . 345 SMP, siehe SMP DE435 . . . . . . . . . . . . . . . . . 277 Bus . . . . . . . . . . . . . . . . . . . . 161 Multisession CD-ROM 271, 282 DE450 . . . . . . . . . . . . . . . . . 277 HiTablet . . . . . . . . . . . . . . . . 161 mutt . . . . . . . . . . . . . . . . . . . . . 305 DE500 . . . . . . . . . . . . . . . . . 277 Konfiguration . . . . . . . . . . . . 74 MySQL . . . . . . . . . 302, 308, 353 DEC EtherWORKS . . . . . 277 Logitech . . . . . . . . . . . . . . . 161 mysql-Max . . . . . . . . . . . . . . 308 Digital . . . . . . . . . . . . . . . . . 277 Logitech (MouseMan) . . . 161 Digital DEPCA . . . . . . . . . 277 Microsoft . . . . . . . . . . . . . . . 161 N E21xx . . . . . . . . . . . . . . . . . . 277 MM-Serie . . . . . . . . . . . . . . 161 Name ändern . . . . . . . . . . . . . . 80 EtherBlaster . . . . . . . . . . . . 280 Mouse Systems . . . . . . . . . 161 Name Service Caching Daemon EtherTeam 16i/32 . . . . . . . 280 PS/2 . . . . . . . . . . . . . . . . . . . 161 Initialisieren . . . . . . . . . . . . 350 EtherWORKS 3 . . . . . . . . . 278 Maustasten . . . . . . . . . . . . . . . 162 Nameserver Fujitsu FMV-181/182/183/184 Maustyp . . . . . . . . . . . . . . . . . . 161 Konfiguration . . . . . . . . . . . . 80 279 MBR . . . . . . 105, 106, 110, siehe ncpfs . . . . . . . . . . . . . . . . . . . . . 81 HP 10/100 VG-AnyLAN . 280 Master Boot Record NCR 5380 . . . . . . . . . . . 265, 275 NCR 53c400 . . . . . . . . . . . . . . 265 HP 27245 . . . . . . . . . . . . . . 279 mc . . . . . . . . . . . . . . . . . . . . . . . 314 NCR 53C400 . . . . . . . . . . . . . 275 HP 27247B . . . . . . . . . . . . . 279 Mehrprozessor-System . . . siehe NCR 53c406a . . . . . . . . . . . . . 266 HP 27252A . . . . . . . . . . . . . 279 SMP, siehe SMP NCR 53C810 . . . . . . . . . . . . . 259 HP 27xxx . . . . . . . . . . . . . . 279 Memory . . . . . . . . siehe Speicher ncurses . . . . . . . . . . . . 304, 316 HP PCLAN . . . . . . . . . . . . . 279 Memtest86 . . . . . . . . . . . . . . . 112 NE1000/2000 . . . . . . . . . . . . . 280 HP PCLAN+ . . . . . . . . . . . 279 Midnight Commander . . . . . 314 NE2000 . . . . . . . . . . . . . . . . . . 274 IBM Token Ring . . . . . . . . 281 minicom . . . . . . . . . . . . . . . . . 299 Netscape . . . . . . . . . . . . . . . 40­42 ICL EtherTeam . . . . . . . . . 280 MIT . . . . . . . . . . . . . . . . . . . . . 141 netstat . . . . . . . . . . . . . . . . . . . . 330 Intel EtherExpress 16 . . . . 278 Mitsumi CD-ROM . . . . 271, 282 NetWare . siehe Novell Netware Intel EtherExpress Pro . . . 278 Mitsumi FX-001(D) . . 271, 282 Netzwerk Intel EtherExpress Pro 100 . . . mkfs . . . . . . . . . . . . . . . . . . . . . 330 Dummy-Device . . . . . . . . . 346 278 mkswap . . siehe Swap-Partition, YaST . . . . . . . . . . . . . . . . . . . . 79 Konfiguration . . . . . . . . . . . . 74 330 Tools . . . . . . . . . . . . . . . . . . 306 Lance . . . . . . . . . . . . . . . . . . 280 mod_php4 . . . . . . . . . . . . . . . . 307 Netzwerkdrucker . . . . . 223, 234 Novell NE1000/2000 . . . . 280 mod_php4 . . . . . . . . . . . . . . . . 307 Konfiguration . . . . . . . . . . . . 80 SMC 9194 . . . . . . . . . . . . . . 281 Modeline . . . . . . . . . . . . . . . . . 174 Vorfilterung . . . . . . . . . . . . . 234 SMC 9432TX EtherPower II . Modem . . . . . . . . . . . . . . . . . . 345 Netzwerkkarte 279 Konfiguration . . . . . . . . . . . . 74 3COM 3c501 . . . . . . . . . . . 276 SMC Ultra . . . . . . . . . . . . . 281 modprobe . . . . . . . 251, 252, 258 3COM 3c503 . . . . . . . . . . . 276 Token Ring . . . . . . . . . . . . . 281 Parameter . . . . . . . . . . . . . . 257 3COM 3c505 . . . . . . . . . . . 276 WD80x3 . . . . . . . . . . . . . . . 281 Modul 3COM 3c507 . . . . . . . . . . . 276 Western Digital . . . . . . . . . 281 Laden . . . . . . . . . . . . . . . . . . 324 3COM 3c509 . . . . . . . . . . . 276 Netzwerkkarten . . . . . . . . . . . 269 Parameter . . . . . . . . . . . . . . 326 3COM 3c515 . . . . . . . . . . . 276 Netzwerkmonitor Module . . . . . . . . . . . . . . . . . . 250 3COM 3c579 . . . . . . . . . . . 276 Argus . . . . . . . . . . . . . . . . . . 353 Übersetzen . . . . . . . . . . . . . 255 3COM 3c590 . . . . . . . . . . . 276 NFS Umgang . . . . . . . . . . . . . . . . 250 3COM 3c900 . . . . . . . . . . . 276 Daemon . . . . . . . . . . . . . . . . 301 384 Index Group-IDs . . . . . . . . . . . . . . 349 dhcpcd . . . . . . . . . . . . . . . . 303 nkitb . . . . . . . . . . . . . . . . . 306 Installation von . . . . . . . . . . 51 docbktls . . . . . . . . . . . . . . 308 openssh . . . . . . . . . . . . . . . 305 Kernel NFS-Daemon . . . . 349 docbook-dsssl-stylesheets pcmcia . . . . . . . . . . . . 207, 208 Server . . . . . . . . . . . . . . . . . . 349 307 PCMCIA . . . . . . . . . . . . . . . . 200 User-IDs . . . . . . . . . . . . . . . 349 docbook_3 . . . . . . . . . . . . 307 pg_datab . . . . . . . . . . . . . . 305 nfs-server . . . . . . . . . . . . . 301 docbook_4 . . . . . . . . . . . . 307 phpdoc . . . . . . . . . . . . . . . . 304 nfsserv . . . . . . . . . . . . . . . . . 301 dochost . . . . . . . . . . . . . . . 306 plp . . . . . . . . . . . . . . . . . . . . 222 NI6510 . . . . . . . . . . . . . . . . . . . 280 emacs . . . . . . . . . . . . . . . . . 307 postfix . . . . . . . . . . . . . . . 303 NIS . . . . . . . . . . . . . siehe YP, 305 emacs-auctex . . . . . . . . . 307 postgres . . . . . . . . . 296, 305 Client . . . . . . . . . . . . . . . . . . 306 emacs-el . . . . . . . . . . . . . . 307 psgml . . . . . . . . . . . . . . . . . 307 nkita . . . . . . . . . . . . . . . . . . . 306 emacs-info . . . . . . . . . . . 307 reiserfs . . . . . . . . . . . . . . . 57 nkitb . . . . . . . . . . . . . . . . . . . 306 emacs-nox . . . . . . . . . . . . 307 roxen . . . . . . . . . . . . . . . . . 304 NNTP . . . . . . . . . . . . . . . . . . . . 350 emacs-x11 . . . . . . . . . . . . 307 roxen-ssl . . . . . . . . . . . . 304 NNTP-Server . . . . . . . . . . . . . 348 fhs . . . . . . . . . . . . . . . . . . . . 315 roxenssl . . . . . . . . . . . . . . 304 nntpd . . . . . . . . . . . . . . . . . . . . 350 finger . . . . . . . . . . . . . . . . 306 rpm . . . . . . . . . . . . . . . . . . . . 313 nobody . . . . . . . . . . . . . . . . . . . 353 firewals . . . . . . . . . . . . . . 303 rsh . . . . . . . . . . . . . . . . . . . . 306 Notebook . . . . . . . . . . . . . . . . . 199 ftpdir . . . . . . . . . . . . . . . . 315 rwho . . . . . . . . . . . . . . . . . . . 306 IrDA . . . . . . . . . . . . siehe IrDA gcc . . . . . . . . . . . . . . . . . . . . 249 rzsz . . . . . . . . . . . . . . . . . . . 306 PCMCIA . . . . . . . . . . . . . . . 346 gimp-devel . . . . . . . . . . . 308 samba . . . . . . . . . . . . . . 81, 303 Powermanagement siehe APM glibc . . . . . . . . . . . . . . . . . 313 sax . . . . . . . . . . . . . . . . . . . . 141 Notfallsystem . . . . . . . . . . . . . 327 glibc-devel . . . . . . . . . . 249 sax2 . . . . . . . . . . . . . . . . . . . 142 Novell NE1000/2000 . . . . . . 280 glibc-info . . . . . . . . . . . 335 sdb_de . . . . . . . . . . . . . . . . 299 Novell-Server-Emulation . . . 351 gnlibs . . . . . . . . . . . . . . . . 305 sendmail . . . . . . . . . . . . . . 342 nscd . . . . . . . . . . . . . . . . . . . . . 300 gnuserv . . . . . . . . . . . . . . . 307 squid . . . . . . . . . . . . . . . . . 303 O gs_fonto . . . . . . . . . . . . . . 217 squid2 . . . . . . . . . . . . . . . . 303 Omnibook . . . . . . . . . . . . . . . . 270 gs_fonts . . . . . . . . . . . . . . 217 SuSEfirewall . . . . . . . . . 303 openssh . . . . . . . . . . . . . . . . . 305 gs_lib . . . . . . . . . . . . . . . . 217 susehelp . . . . . . . . . . . . . . 306 Optics Storage CD-ROM . . 272, gs_x11 . . . . . . . . . . . . . . . . 217 syslinux . . . . . . . . . . . . . . . 33 283 gxmhtml . . . . . . . . . . . . . . . 305 sysvinit . . . . . . . . . . . . . . 313 Oracle 8.1.7 . . . . . . . . . . . . . . . . 41 howto . . . . . . . . . . . . . . . . . 212 talk . . . . . . . . . . . . . . . . . . . 306 OS/2 i4l . . . . . . . . . . . . . . . . 81, 342 tcl . . . . . . . . . . . . . . . . . . . . 253 Booten . . . . . . . . . . . . 124, 125 idedma . . . . . . . . . . . . . . . . 307 telnet . . . . . . . . . . . . . . . . 306 Bootmanager . . . . . . . . . . . 107 imwheel . . . . . . . . . . . . . . . 178 tk . . . . . . . . . . . . . . . . . . . . . 253 OSS . . . . . . . . . . . . . . . . . . . . . 186 iputils . . . . . . . . . . . . . . . 306 ttmkfdir . . . . . . . . . . . . . . 176 irda . . . . . . . . . . . . . . . . . . . 212 uucp . . . . . . . . . . . . . . . . . . . 317 P isapnp . . . . . . . . . . . . 182, 185 wget . . . . . . . . . . . . . . . . . . . 312 package.tar.gz . . . . . . . . . . . . . . 45 jade_dsl . . . . . . . . . . . . . . 306 Wo ist jetzt xyz? . . . . . . . . 306 Paket kdelibs-devel . . . . . . . . 308 wuftpd . . . . . . . . . . . . . . . . 301 a2ps . . . . . . . . . . . . . . . . . . . 216 kernel-source . . . . . . . . 249 xdevel . . . . . . . . . . . . . . . . 316 aaa_base . . . . . . . . . 303, 306 kernmod . . . . . . . . . . . . . . . 302 xdevel33 . . . . . . . . . . . . . . 316 alice . . . . . . . . . . . . . . . . . . 30 kernmods . . . . . . . . . . . . . . 302 xf86 . . . . . . . . . . . . . . . . . . . 253 allman . . . . . . . . . . . . . . . . 308 knfsd . . . . . . . . . . . . . 301, 349 xfsetup . . . . . . . . . . . . . . . 141 alsa-devel . . . . . . . . . . . 308 lprold . . 104, 217, 222, 238 xkeycaps . . . . . . . . . . . . . . 179 apache . . . . . . . . . . . . . . . . 304 makewhat . . . . . . . . . . . . . . 304 xntp . . . . . . . . . . . . . . . . . . . 352 apmd . . . . . . . . . . . . . . 210, 211 mod_php4 . . . . . . . . . . . . . . 307 xvga16 . . . . . . . . . . . . . . . . 142 aps . . . . . . . . . . . . . . . 217, 227 mutt . . . . . . . . . . . . . . . . . . . 305 yast2-config-tune . . . 307 autofs . . . . . . . . . . . . . . . . 349 mysql-Max . . . . . . . . . . . . 308 yp-tools . . . . . . . . . . . . . . 306 binutils . . . . . . . . . . . . . . 249 ncpfs . . . . . . . . . . . . . . . . . . 81 ypbind . . . . . . . . . . . . . . . . 306 bttv . . . . . . . . . . . . . . . . . . . 305 ncurses . . . . . . . . . . 304, 316 ypclient . . . . . . . . . . 80, 306 changes . . . . . . . . . . . . . . . 304 nfs-server . . . . . . . . . . . 301 ypserv . . . . . . . . . . . . . . . . 305 cron . . . . . . . . . . . . . . . . . . . 305 nfsserv . . . . . . . . . . . . . . . 301 yudit . . . . . . . . . . . . . . . . . 176 dhclient . . . . . . . . . . . . . . 303 nkita . . . . . . . . . . . . . . . . . 306 Paket-Manager . . . . . . . . . . . . 308 385 Index Paketbeschreibungen . . . . . . . 69 Patch-CD-Update . . . . . . . . siehe Printserver-Box . . . . . . . . . . . 235 Pakete YaST2,Patch-CD-Update Pro Audio Spectrum . . 263, 272 Abhängigkeiten überprüfen 70 PATH . . . . . . . . . . . . . . . . . . . . . . . 3 Pro Audio Spectrum 16 . . . . 272 Auswahl . . . . . . . . . . . . . . . . . 68 Patrick Volkerding . . . . . . . . . . . 5 Programme Compilieren . . . . . . . . . . . . 313 PC kaufen . . . . . . . . . . . . . . . . 327 Compilieren . . . . . . . . . . . . 313 Einspielen . . . . . . . . . . . . . . . 72 PC-Karten . . . . siehe Hardware, Netzwerk . . . . . . . . . . . . . . . 306 Index . . . . . . . . . . . . . . . . . . . 72 PC-Karten Quellcode . . . . . . . . . . . . . . . 69 Installation . . . . . . . . . . . . . . 72 PCI-Karten . . . . . . . . . . . . . . . 181 Programmieren Konfigurationen . . . . . . . . . . 67 pcmcia . . . . . . . . . . . . . . 207, 208 Core-Dateien . . . . . . . . . . . 317 Löschen . . . . . . . . . . . . . . . . . 73 PCMCIA . . . . . . . . 199, 298, 346 Proxy Suchen . . . . . . . . . . . . . . . . . . 72 cardmgr . . . . . . . . . . . . . . . . 200 FTP . . . . . . . . . . . . . . . . . . . . 351 Pakete auswählen . . . . . . . . . . . 17 Ethernet . . . . . . . . . . . . . . . . 201 Gopher . . . . . . . . . . . . . . . . . 351 Paketformat . . . . . . . . . . . . . . 308 Hilfsprogramme . . . . . . . . 208 HTTP . . . . . . . . . . . . . . . . . . 351 Paketinformationen . . . . . . . . . 69 IDE . . . . . . . . . . . . . . . . . . . . 202 Prozessor Paketinstallation . . . . . . . . . . . . 69 Installation . . . . . . . . . . . . . 207 Cyrix 686 . . . . . . . . . . . . . . . 19 psgml . . . . . . . . . . . . . . . . . . . 307 PAM . . . . . . . . . . . . . . . . . 83, 301 ISDN . . . . . . . . . . . . . . . . . . 201 MD5-Passwörter . . . . . . . . . 83 Konfiguration . . . . . . 200, 202 Q Panasonic CD-ROM . . 273, 284 Modem . . . . . . . . . . . . . . . . 201 Quellcode . . . . . . . . . . . . . . . . . 69 Parallele Schnittstelle . . . . siehe Probleme . . . . . . . . . . . . . . . 205 Quellen Hardware, Parallele Schema . . . . . . . . . . . . . . . . 202 Compilieren . . . . . . . . . . . . 313 Schnittstelle SCSI . . . . . . . . . . . . . . . . . . . 202 Parallelport Software . . . . . . . . . . . . . . . 200 R Architektur spezifisch . . . 291 Startskript . . . . . . . . . . . . . . 202 Radius . . . . . . . . . . . . . . . . . . . 350 ATAPI Bandlaufwerk . . . . 293 TokenRing . . . . . . . . . . . . . 201 RAID . . . . . . . . . . . . . . . . . . . . 101 ATAPI CD-ROM . . . . . . . . 293 PCMCIA . . . . . . . . . . . . . . . . . . 200 RAM . . . . . . . . . . . siehe Speicher ATAPI Disks . . . . . . . . . . . . 293 pep . . . . . . . . . . . . . . . . . . . . . . . 41 Ramdac . . . . . . . . . . . . . . . . . . 164 Generisches ATAPI-Gerät 293 perl . . . . . . . . . . . . . . . . . . . . 1, 354 Ramdisk IDE-Festplatte . . . . . . . . . . 292 Permissions . . . . . . . . . . . . . . . 354 Initial Ramdisk . . . . . . . . . 346 IDE-Geräte . . . . . . . . . . . . . 292 pg_datab . . . . . . . . . . . . . . . . 305 rawrite . . . . . . . . . . . . . . . . . . . . 35 PGP . . . . . . . . . . . . . . . . . . . . . 308 IDE-Protokoll-Treiber . . . 292 rawrite.exe . . . . . . . . . . . . . . . . . 35 Philips CM206 . . . . . . . 272, 283 Kernelparameter . . . . 273, 291 rc . . . . . . . . . . . . . . . . . . . . . . . . 339 PHP . . . . . . . . . . . . . . . . . . . . . 304 Paride . . . . . . . . . . . . . . . . . . . . 292 rc.config . . . . . . . . . . . . . . . . . . 344 phpdoc . . . . . . . . . . . . . . . . . . 304 Parport-Subsystem . . . . . . . . 188 /etc/rc.config . . . . . . . . 342 ping . . . . . . . . . . . . . . . . . . . . . 306 Partition rc.config . . . . . . . . . . . . . . 344 PLIP Formatieren . . . . . . . . . . 59, 62 RC.Config-Editor . . . . . . . . siehe Parallele Schnittstelle . . siehe Swap . . . . . . . . . . . . . . . . . . . . 42 YaST2,RC.Config-Editor Hardware, Parallele Partition verkleinern . . . . . . . . 31 rcp.ugidd . . . . . . . . . . . . . . . . . 349 Schnittstelle Partitionen reboot . . . . . . . . . . . . . . . . . . . . . 24 plp . . . . . . . . . . . . . . . . . . . . . . 222 Reboot . . . . . . . . . . . . . . 260, 352 Einrichten . . . . . . . . . . . . . . . 54 PlugAndPlay . . . . . . . . . . . . . 183 Rechner testen . . . . . . . . . . . . 327 erweiterte . . . . . . . . . . . . . . . . 56 pnpdump . . . . . . . . . . . . 182­185 Rechte . . . . . . . . . . . . . . . . . . . 354 Konfigurieren . . . . . . . . . . . . 60 portmap . . . . . . . . . . . . . . . . 21, 80 reiserfs . . . . . . . . . . . . . . . . . 57 logische . . . . . . . . . . . . . . . . . 56 Portmapper . . . . . . . . . . 305, 349 ReiserFS . . . . siehe Dateisystem, primäre . . . . . . . . . . . . . . . . . . 56 postfix . . . . . . . . . . . . . . . . . . . 348 ReiserFS Swap . . . . . . . . . . . . . . . . . . . . 54 postfix . . . . . . . . . . . . . . . . . 303 Rescue-Diskette . . . . . . . . . . . 327 Typen . . . . . . . . . . . . . . . . . . . 39 Postfix . . . . . . . . . . . . . . . . . . . 348 Rescue-Diskette erzeugen . . . 77 Partitionieren . . . . . . . . . . . 31, 54 postgres . . . . . . . . . . . 296, 305 Rescue-System . . . . . . . . . . . . 327 Experte . . . . . . . . . . . . . . . . . . 41 PostgreSQL . . . . . . . . . . 296, 305 Reset . . . . . . . . . . . . . . . . . . . . 260 Hinweise . . . . . . . . . . . . . . . . 39 Powermanagement . . . . . . . . 209 resolv.conf . . . . . . . . . . . . . . siehe Partitionierer . . . . . . . . . . . . siehe primäre Partitionen . . . . . . . . . 56 /etc/resolv.conf, siehe YaST2,Partitionierer Print-Server . . . . . . . . . . . . . . 235 /etc/resolv.conf Partitionstabelle . . . . . . . . . . . 105 PRINTER . . . . . . . . . . . . . . . . . 226 Rettungssystem . . . . . . . . . . . 327 386 Index benutzen . . . . . . . . . . . . . . . 330 USB . . . . . . . . . . . . . . . . . . . 221 setup . . . . . . . . . . . . . . . . . . . . . . 34 starten . . . . . . . . . . . . . . . . . 329 SCSI Setup . . . . . . . . . . . . . . . . . . . 4, 35 vorbereiten . . . . . . . . . . . . . 328 Adaptec SETUP . . . . . . . . . . . . . . . . . . . 227 rlogin . . . . . . . . . . . . . . . . 348, 355 AHA-152x/151x/1505 . 274 setup.exe . . . . . . . . . . . . . . . . . 133 rmmod . . . . . . . . . . . . . . . . . . . 250 Adaptec AHA-1540/1542 275 setup.exe . . . . . . . . . . . . . . . . . 4 root . . . . . . . . . . . . . . . . . . . . . . . 21 AdvanSys . . . . . . . . . . . . . . 264 seyon . . . . . . . . . . . . . . . . . . . . 299 Root AHA-152x/151x/1505 . . . 262 SGML Einloggen, remote . . . . . . . 355 AHA-154x . . . . . . . . . . . . . 263 DocBook . . . . . . . . . . . . . . . 308 Rootpartition . . . . . . . . . . . . . 261 AHA-274x . . . . . . . . . . . . . 263 shutdown . . . . . . . . . . . . . . . . . 330 route . . . . . . . . . . . . . . . . . . . . . 330 AHA-284x . . . . . . . . . . . . . 263 Shutdown . . . . . . . . . . . . . 24, 352 Router AHA-294x . . . . . . . . . . . . . 263 Sicherheit IP-Forwarding . . . . . . . . . . 347 AM53/79C974 . . . . . . . . . . 264 Drucken . . . . . . . . . . . . . . . . 223 roxen . . . . . . . . . . . . . . . . . . . 304 Future Domain . . . . . 265, 275 smbmount . . . . . . . . . . . . . . . . 303 Roxen . . . . . . . . . . . . . . . . . . . . 304 LUN . . . . . . . . . . . . . . . . . . . 262 SMC 9194 . . . . . . . . . . . . . . . . 281 roxen-ssl . . . . . . . . . . . . . . 304 NCR 5380 . . . . . . . . . 265, 275 SMC 9432TX EtherPower II 279 roxenssl . . . . . . . . . . . . . . . . 304 NCR 53c400 . . . . . . . . . . . . 265 SMC EPIC/100 rpc.mountd . . . . . . . . . . . . . . . 349 NCR 53C400 . . . . . . . . . . . 275 83C170/83c171/83c172/83c175 rpc.nfsd . . . . . . . . . . . . . . . 80, 349 NCR 53c406a . . . . . . . . . . . 266 279 rpm . . . . . . . . 300, 304, 313, 314 Seagate ST01/02 . . . . . . . . 266 SMC Ultra . . . . . . . . . . . . . . . . 281 rpm . . . . . . . . . . . . . . . . . . . . . . 308 Streamer . . . . . . . . . . . . . . . 262 SMP rpm . . . . . . . . . . . . . . . . . . . . . . 313 TMC-16x0 . . . . . . . . . 265, 275 Anzahl der CPUs . . . . . . . . 261 RPM . . . . . . . . . . . . . . . . 308, 308 TMC-885/950 . . . . . . . . . . 265 Kernel auswählen . . . . . 19, 76 Datenbank . . . . . . . . . . . . . . 354 Trantor T128/128F/228 . . 266 SMTP . . . . . . . . . . . . . . . . . . . . 348 rpmnew . . . . . . . . . . . . . . . . 309 Trantor T130B . . . . . 266, 276 SNiFF+ . . . . . . . . . . . . . . . . . . . 41 rpmorig . . . . . . . . . . . . . . . 309 sdb_de . . . . . . . . . . . . . . . . . . 299 Soft-RAID . . . . . . . . . . . . . . siehe rpmsave . . . . . . . . . . . . . . . 309 Seagate ST01/02 . . . . . . . . . . 266 YaST2,Soft-RAID rsh . . . . . . . . . . . . . . . . . . . . . . 306 Secure Shell Daemon . . . . . . 352 Software auswählen . . . . . . . . 17 run_ldconfig . . . . . . . . . . . 304 Runlevel . . . . . . . . . . . . . 307, 338 sed . . . . . . . . . . . . . . . . . . . . . . . . . 1 Sony CDU31A . . . . . . . 272, 283 Neue Bedeutung . . . . . . . . 306 sendmail . . . . . . . . . 80, 301, 348 Sony CDU33A . . . . . . . 272, 283 wechseln . . . . . . . . . . . . . . . 339 sendmail . . . . . . . . . . . . . . . . 342 Sony CDU535 CD-ROM . . 273, Runlevel-Editor . . . . . . . . . . . . 94 Sendmail . . . . . . . . . . . . . . . . . 317 284 rwho . . . . . . . . . . . . . . . . . . . . . 306 Konfiguration . . . . . . . . . . . . 80 Sound rwhod . . . . . . . . . . . . . . . . . . . . 349 Serie AD1816 Chip . . . . . . . . . . . 284 rzsz . . . . . . . . . . . . . . . . . . . . . 306 a . . . . . . . . . . . . . . . . . 57, 69, 70 AD1848/CS4248 Chip (MSS) a1 . . . . . . . . . . . . . . . . . . . . . 200 285 S ap . . . 178, 182, 210, 216, 217 Aztech Sound Galaxy . . . . 290 samba . . . . . . . . . . . . . . . . 81, 303 D . . . . . . . . . . . . . . . . . . . . . . 249 Creative Ensoniq 1371 Samba . . . . . . . . . . . . . . . 307, 351 doc . . . . . . . . . . . 299, 315, 335 Chipsatz . . . . . . . . . . . . . 285 Sanyo CD-ROM . . . . . . 272, 283 n . 80, 81, 212, 217, 222, 301, Crystal 423x Chipsätze . . 285 sax . . . . . . . . . . . . . . . . . . . . . . 141 349 Ensoniq 1370 Chipsatz . . 285 SaX 87, 141­144, 151, 151­157, sgm . . . . . . . . . . . . . . . . . . . . 307 Ensoniq SoundScape . . . . 290 159, 160 x . . . . . . . . . . . . . . . . . . 141, 142 Generischer OPLx Treiber 285 sax2 . . . . . . . . . . . . . . . . . . . . . 141 xap . . . . . . . . . . . . . . . 176, 179 Gravis Ultrasound . . . . . . . 286 sax2 . . . . . . . . . . . . . . . . . . . . . 142 xsrv . . . . . . . . . . . . . . . . . . . 142 konfigurieren . . . . . . . . . . . 185 SaX2 . . 141, 143, 144, 144­151, zq . . . . . . . . . . . . . . . . . . . . . 313 MAD16 . . . . . . . . . . . . . . . . 286 169, 170, 173, 174, 177, 178 Serielle Konsole . . . . . . . . . . . 261 MediaTrix AudioTrix Pro 290 Scanner Serien MPU401 . . . . . . . . . . . . . . . 286 Konfiguration . . . . . . . . . . . . 74 Index . . . . . . . . . . . . . . . . . . . 72 OPL3 . . . . . . . . . . . . . . . . . . 287 Schema siehe PCMCIA, Schema Suchen . . . . . . . . . . . . . . . . . . 72 OPL3-SA1 . . . . . . . . . . . . . 288 Schnittstelle Serienauswahl . . . . . . . . . . . . . 68 OPL3-SAx . . . . . . . . . . . . . 288 parallel . . . . . . . . . . . . . . . . . 218 server.exe . . . . . . . . . . . . . . . . 107 Personal Sound System seriell . . . . . . . . . . . . . . . . . . 221 setserial . . . . . . . . . 187, 188, 197 (ECHO ESC614) . . . . . . 289 387 Index Pro Audio Spectrum . . . . . 288 SuSEfirewall . . . . . . . . . . . 303 Löschen . . . . . . . . . . . . . . . . 355 S3 Sonic Vibes . . . . . . . . . . 290 susehelp . . . . . . . . . . . . . . . . 306 termcap . . . . . . . . . . . . . . . . . . 316 Sound Blaster DSP Chipsätze SuSE Linux . . . . . . . . . . . . . . 315 teTeX . . . . . . . . . . . . . . . . . . . . 315 291 Besonderheiten . . . . . . . . . 315 Texinfo . . . . . . . . . . . . . . . . . . . 317 Sound Blaster und Clones 289 Installation . . . . . . . . . . . . . 323 Textkonsole . . . . . . . . . . . . . . . 352 Turtle Beach Rettungssystem . . . . . . . . . 327 The Open Group . . . . . . . . . . 141 Classic/Monterey/Tahiti 287 Tastaturbelegung . . . . . . . . 332 The XFree86 Project, Inc. . . 141 Turtle Beach Maui und Tropez susewm . . . . . . . . . . . . . . . . . . . 82 Thinkpad . . . . . . . . . . . . . . . . . 270 286 Einstellen . . . . . . . . . . . . . . . . 82 tk . . . . . . . . . . . . . . . . . . . . . . . 253 Turtle Beach Maui, Tropez, Suspend . . . . . . . . . . . . . . . . . . 209 Tkinfo (tkinfo) . . . . . . . . . . 317 Tropez Plus . . . . . . . . . . . 291 Swap-Partition . . . . . . . . . . 42, 54 TMC-16x0 . . . . . . . . . . . 265, 275 Turtle Beach MultiSound 287 Anlegen . . . . . . . . . . . . . . 55, 62 TMC-885/950 . . . . . . . . . . . . 265 Turtle Beach Pinnacle/Fiji 287 sx . . . . . . . . . . . . . . . . . . . . . . . 306 Token Ring . . . . . . . . . . . . . . . 281 UART401 . . . . . . . . . . . . . . 290 Sybase . . . . . . . . . . . . . . . . . . . . 41 Trantor T128/128F/228 . . . . 266 UART6850 . . . . . . . . . . . . . 291 Syn Flood Protection . . . . . . 347 Trantor T130B . . . . . . . 266, 276 YMF71x . . . . . . . . . . . . . . . 288 syslinux . . . . . . . . . . . . . . . . . . 320 True Type siehe X11, True Type Soundkarte syslinux . . . . . . . . . . . . . . . . . 33 ttmkfdir . . . . . . . . . . . . . . . . . . 176 Pro Audio Spectrum . . . . . 272 Syslinux . . . . . . . . . . . . . . . . . . . 34 ttmkfdir . . . . . . . . . . . . . . . . 176 Sourcecode SYSLINUX . . . . . . . 33, 34, 260 Tux . . . . . . . . . . . . . . . . . . . . . . . . 3 Compilieren . . . . . . . . . . . . 313 syslog . . . . . . . . . . . . . . . . . . . . 330 Sources . . . . . . . . . . . . . . . . . . . 69 Sysrq . . . . . . siehe Kernel, Sysrq U Speicher System ulimit . . . . . . . . . . . . . . . . . . 317 Größe nicht erkannt . . . . . 261 Update . . . . . . . . . . . . . . . . . 295 Ultrastor . . . . . . . . . . . . . . . . . 259 Schützen . . . . . . . . . . . . . . . 260 System is too big . . . . . . . . . . 254 Umfang der Installation . . . . . 67 Speichertest . . . . . . . . . . . . . . 260 System updaten Umgebungsvariable spindown . . . . . . . . . . . . . . . . . 211 YaST . . . . . . . . . . . . . . . . . . . . 74 HOME . . . . . . . . . . . . . . . . . . . 295 Spool-System . . . . . . . . . . . . . 215 Systeminformationen . . . . . . 323 LANG . . . . . . . . . . . . . . . . . . . 344 Daemon . . . . . . . . . . . . . . . . 223 Systemkonfiguration . . . 88, 344 LC_* . . . . . . . . . . . . . . . . . . . 344 Netzwerkdrucker . . . . . . . . 234 Systemsicherheit konfigurieren . MANPATH . . . . . . . . . . . . . . . 304 Steuerung . . . . . . . . . . . . . . 223 86 PATH . . . . . . . . . . . . . . . . . . . . . 3 Sprache sysvinit . . . . . . . . . . . . . . . . 313 PRINTER . . . . . . . . . . . . . . . 226 run_ldconfig . . . . . . . . . 304 Einstellen . . . . . . . . . . . . . . 344 T unfsd . . . . . . . . . . . . . . . . . . . . . . 57 Sprache festlegen . . . . . . . . . . . 49 talk . . . . . . . . . . . . . . . . . . . . . 306 Unicode . . . . . . . . . . . . . . . . . . 176 squid . . . . . . . . . . . . . . . . . . . . . 351 tar . . . . . . . . . . . . . . . 45, 303, 317 Universal Serial Bus . siehe USB squid . . . . . . . . . . . . . . . . . . . 303 tar . . . . . . . . . . . . . . . . . . . . . . 303 Unix98 PTY . . . . . . . . . . . . . . 300 squid2 . . . . . . . . . . . . . . . . . . 303 Tastatur Update . . . . . . . . . . . . . . . . . 2, 295 ssh . . . . . . . . . . . . . . . . . . . . . . . . 86 Belegung . . . . . . . . . . . . . . . 345 Pakete Einspielen . . . . . . . . 72 Stand-by . . . . . . . . . . . . . . . . . 209 CapsLock . . . . . . . . . . . . . . 345 updatedb . . . . . . . . . . . . . . . . . 353 Staroffice . . . . . . . . . . . . . . 40, 41 Compose . . . . . . . . . . . . . . . 303 USB . . . . . . . . . . . . . . . . . . . . . 189 StarOffice . . . . . . . . . . . . . . . . 301 Compose-Taste . . . . . . . . . 371 Beispielkonfiguration von Startbildschirm . . . . . . . . . . . . 116 NumLock . . . . . . . . . . . . . . 345 Maus und Tastatur . . . . 193 Startmeldung . . . . . . . . . . . . . 116 Verzögerung . . . . . . . . . . . . 345 Module . . . . . . . . . . . . . . . . 190 startx . . . . . . . . . . . . . . . . . 81, 150 Wiederholung . . . . . . . . . . . 345 useradd . . . . . . . . . . . . . . . . . . . . 83 Streamer . . . . . . siehe Hardware, Tastaturbelegung . . . . . . . . . . 332 userdel . . . . . . . . . . . . . . . . . . . . 83 Bandlaufwerke YaST . . . . . . . . . . . . . . . . . . . . 47 uucp . . . . . . . . . . . . . . . . . . . . . 317 SCSI . . . . . . . . . . . . . . . . . . . 262 Tastaturbelegung auswählen . 49 uucp . . . . . . . . . . . . . . . . . . . . . 317 SuSE . . . . . . . . . . . . . . . . . . . . 315 Tastenkombinationen . . . . . . 371 SuSEconfig . . . 21, 88, 203, 306, tcl . . . . . . . . . . . . . . . . . . . . . . 253 V 330, 333, 334, 342­345, telnet . . . . . . . . 80, 330, 348, 355 Vertikalfrequenz . . . . . . . . . . 162 350, 351 telnet . . . . . . . . . . . . . . . . . . 306 Verwaltung SuSEconfig . . . . . . . . . . . . . . . 342 Temporäre Dateien Benutzer . . . . . . . . . . . . . . . . 82 SuSEConfig . . . . . . . . . . . . . . 342 Beim Booten löschen . . . . 355 Gruppen . . . . . . . . . . . . . . . . . 84 388 Index VG-AnyLAN . . . . . . . . . . . . . 280 Shutdown . . . . . . . . . . . . . . 352 xvga16 . . . . . . . . . . . . . . . . . . 142 vi . . . . . . . . . . . . . . . . . . . . . 1, 330 Starten . . . . . . . . . . . . . . . . . 150 xvidtune . . . . . . . . . . . . . . . . . . 147 Virtuelle Konsolen . . . . . . . . 332 Treiber . . . . . . . . . . . . . . . . . 173 Xwrapper . . . . . . . . . . . . . . . . 299 virtueller Bildschirm . . . . . . . 172 Troubleshooting . . . . . . . . . 144 virtuoso . . . . . . . . . . . . . . . . . . . 41 TrueType-Font . . . . . . . . . . 174 Y Virus . . . . . . . . . . . . . . . . . 26, 109 ttmkfdir . . . . . . . . . . . . . . . . 174 yast . . . . . . . . . . . . . . . . 3, 23, 47 VGA . . . . . . . . . . . . . . . . . . . 145 YaST . . 2­4, 7­9, 13­23, 25, 33, W VGA16 . . . . . . . . . . . . . . . . 145 40, 47, 47­50, 52, 54, 60­62, WD80x3 . . . . . . . . . . . . . . . . . 281 Zeichensatz . . . . . . . . . . . . . 174 64­66, 68­70, 72­79, Werner Almesberger . . . . . . . 127 X11R1 . . . . . . . . . . . . . . . . . . . 141 82­89, 111, 118, 122, 129, Western Digital WD80x3 . . 281 X11R6.4 . . . . . . . . . . . . . . . . . 141 130, 141, 142, 151, 156, wget . . . . . . . . . . . . . . . . . . . . . 351 xdevel . . . . . . . . . . . . . . . . . . 316 201, 203, 208, 210, 213, wget . . . . . . . . . . . . . . . . . . . . . 312 xdevel33 . . . . . . . . . . . . . . . . 316 216, 250, 296­300, 302, Windowmanager xdm . . . . . . . . . . . . . . . . . . 81, 299 306, 313, 314, 320, 321, Einstellen . . . . . . . . . . . . . . . . 82 xdm . . . . . . . . . . . . . . . . . . . . . . 302 328, 333, 339, 343­347 Windows XDM . . . . . . . . . . . . 81, 295, 302 LILO . . . . . . . . . . . . . . . . . 76, 77 Samba . . . . . . . . . . . . . . . . . 351 Konfiguration . . . . . . . . . . . 302 Administration . . . . . . . . . . . 74 Windows NT xf86 . . . . . . . . . . . . . . . . . . . . . 253 Backup . . . . . . . . . . . . . . . . . . 84 Booten . . . . . . . . . . . . . . . . . 123 xf86config . 141, 160, 161, 167, Benutzerverwaltung . . . . . . 82 Bootmanager . . . . . . . . . . . 107 169 Bootkernel . . . . . . . . . . . . . . . 76 Windows 95 XF86Config . . . . . . . . . . . . . . 160 Bootkonfiguration . . . . . . . . 76 Booten . . . . . . . . . . . . . . . . . 123 Clocks . . . . . . . . . . . . . . . . . 172 CD-ROM-Laufwerk einrichten Linux-Partitionen anlegen 32, Depth . . . . . . . . . . . . . . . . . . 172 74 33 Console-Font . . . . . . . . . . . . 86 Windows 98 . siehe Windows 95 Device . . . . . . . . . . . . . 170, 172 Dateisysteme festlegen . . . . 56 Windows 9x Files . . . . . . . . . . . . . . . . . . . 170 Drucker einrichten . . . . . . . . 75 Bootmenü . . . . . . . . . . . . . . 133 InputDevice . . . . . . . . . . . . 170 Einstellungen . . . . . . . . . . . . 49 WU-FTPD . . . . . . . . . . . . . . . 301 modeline . . . . . . . . . . . . . . . 172 Formatieren . . . . . . . . . . . . . . 59 Modeline . . . . . . . . . . . . . . . 170 wuftpd . . . . . . . . . . . . . . . . . . 301 fstab-Datei einlesen . . . . . 60 wvdial . . . . . . . . . . . . . . . 201, 213 Modes . . . . . . . . 170, 172, 173 Funktionstasten . . . . . . . . . . 47 wvdial . . . . . . . . . . . . . . . . . . 201 Monitor . . . . . . . 170, 172, 173 gdm . . . . . . . . . . . . . . . . . . . . . 81 Screen . . . . . . . . . . . . . 170, 171 gpm . . . . . . . . . . . . . . . . . . . . . 87 X ServerFlags . . . . . . . . . . . . . 170 Gruppenverwaltung . . . . . . . 84 X . . . . . . . . . . . . . . . . . . siehe X11 ServerLayout . . . . . . . . . . . 171 Hardware integrieren . . . . . 74 X -probeonly . . . . . . . . . 167, 168 Subsection Hauptmenü . . . . . . . . . . . . . . 48 X Consortium, Inc. . . . . . . 1, 141 Display . . . . . . . . . . . . . . . . . 172 Hilfe . . . . . . . . . . . . . . . . . . . . 48 X Window System . 1, 141, 141, Virtual . . . . . . . . . . . . . . . . . 172 Index aller Serien und Pakete . 169 XF86Setup . . . . . . . . . . . . . . . 141 72 X-Terminal XFree konfigurieren . . . . . . . . 87 Inode-Dichte . . . . . . . . . . . . . 58 Konfigurieren . . . . . . . . . . . 302 XFree86 . . . . 1, 2, 141, 141, 142 Installationsmedium . . . . . . 50 X11 . . . . . . . . . . . . . . . . . . . . . . 141 Geschichte . . . . . . . . . . . . . 141 Installationsumfang . . . . . . . 67 Displaymanager . . . . . . . . . 352 xfsetup . . . . . . . . . . . . . . . . . 141 kdm . . . . . . . . . . . . . . . . . . . . . 81 Font . . . . . . . . . . . . . . . . . . . 174 xinetd . . . . . . . . . . . . . . . . . . . . 348 Kernel auswählen . . . . . . . . 76 Framebuffer . . . . . . . . . . . . 144 XInfo (xinfo) . . . . . . . . . . . . . 317 Konfigurationen . . . . . . . . . . 67 Grafikkarten . . . . . . . . . . . . 163 xkeycaps . . . . . . . . . . . . . . . . . 179 Konfigurationsdatei . . . . . . . 88 Konfiguration . . . . . . 144, 160 xkeycaps . . . . . . . . . . . . . . . . 179 LVM . . . . . . . . . . . . . . . . . . . . 66 Mäuse . . . . . . . . . . . . . . . . . . 161 xntp . . . . . . . . . . . . . . . . . . . . . 352 Maus einrichten . . . . . . . . . . 74 Monitore . . . . . . . . . . . . . . . . 162 xrpm . . . . . . . . . . . . . . . . . . . . . 314 Modem einrichten . . . . . . . . 74 Tastatur . . . . . . . . . . . . . . . . . 162 xset -fp . . . . . . . . . . . . . . . . . . 174 Mountpoint festlegen . . . . . 58 X-Server . . . . . . . . . . . . . . . . 164 xset +fp . . . . . . . . . . . . . . . . . . 174 Netzwerk . . . . . . . . . . . . . . . . 79 mkfontdir . . . . . . . . . . . . . . 174 xsetpointer . . . . . . . . . . . . . . . 178 Netzwerkkarte einrichten . . 74 Optimierung . . . . . . . . . . . . 169 XT-Festplattencontroller . . . 271 Paket-Abhängigkeiten Protokolldatei . . . . . . . . . . . 148 xterm . . . . . . . . . . . . . . . . . 86, 334 überprüfen . . . . . . . . . . . . . 70 389 Index Paketauswahl . . . . . . . . . . . . 68 297 Server . . . . . . . . . . . . . . . . . . 350 Pakete einspielen . . . . . . . . . 72 YaST2 . 7, 13, 25, 26, 66, 75, 86, YP-Server Pakete löschen . . . . . . . . . . . 73 91­94, 96­102, 104, 129, Update . . . . . . . . . . . . . . . . . 305 Partitionieren . . . . . . . . . . . . 54 185, 186, 207, 216, 226, yp-tools . . . . . . . . . . . . . . . . 306 Rescue-Diskette erzeugen . 77 231, 232, 296, 306, 307 ypbind . . . . . . . . . . . . . . . . . . 306 Scanner einrichten . . . . . . . . 74 CUPS . . . . . . . . . . . . . . . . . . 104 ypclient . . . . . . . . . . . . 80, 306 Serienauswahl . . . . . . . . . . . 68 Hardware . . . . . . . . . . . . . . . . 92 ypserv . . . . . . . . . . . . . . . . . . 305 Sprache festlegen . . . . . . . . . 49 Kernel auswählen . . . . . . . 103 yudit . . . . . . . . . . . . . . . . . . . . . 176 susewm . . . . . . . . . . . . . . . . . 82 Logical Volume Manager . 95 yudit . . . . . . . . . . . . . . . . . . . 176 System updaten . . . . . . . . . . 74 LVM . . . . . . . . . . . . . . . . . . . . 95 Systemsicherheit . . . . . . . . . 86 Partitionierer . . . . . . . . . . . . . 95 Tastaturbelegung . . . . . . . . . 47 Patch-CD-Update . . . . . . . . 93 Z Tastaturbelegung auswählen . . RC.Config-Editor . . . . . . . . 93 Zeit einstellen . . . . . . . . . . . . . 352 49 Runlevel-Editor . . . . . . . . . . 94 Zeitzone . . . . . . . . . . . . . . . . . . 344 Typ des Dateisystems setzen . Soft-RAID . . . . . . . . . . . . . 101 Zeitzone einstellen . . . . . . . . . 87 57 yast2-config-tune . . . . . 307 ZIP-Laufwerk . siehe Hardware, xdm . . . . . . . . . . . . . . . . . . . . . 81 Yellow Pages . . . . . . . . . siehe YP ZIP-Laufwerk XFree . . . . . . . . . . . . . . . . . . . 87 YP Parallele Schnittstelle . . siehe Zeitzone . . . . . . . . . . . . . . . . . 87 Client konfigurieren . . . . . . 80 Hardware, Parallele YaST1 . . . 12, 30, 226, 230, 296, Domainname . . . . . . . . . . . 350 Schnittstelle 390