2 Angebote ab € 8,00 €
- Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Die 3., aktualisierte Auflage des Linux-Bestsellers! Das Buch ist für Linux-Begeisterte, die etwas wissen wollen zur Administration, zur Shell, zur Netzwerkkonfiguration und natürlich zu weiteren Quellen im Netz. Angehende Linux-Freaks suchen unabhängige Infos, denn sie wollen das System verstehen und nicht nur anwenden. Wendzel und Plötner bieten neben einer Einführung eine wahre Fundgrube an Tipps und Kniffen für Ihren Linux-Alltag.
Besonderheit:
Eine distributionsunabhängige Einführung
Inkl. multibootfähiger DVD-ROM
Linux wirklich verstehen und anwenden
Die 3., aktualisierte Auflage des Linux-Bestsellers! Das Buch ist für Linux-Begeisterte, die etwas wissen wollen zur Administration, zur Shell, zur Netzwerkkonfiguration und natürlich zu weiteren Quellen im Netz. Angehende Linux-Freaks suchen unabhängige Infos, denn sie wollen das System verstehen und nicht nur anwenden. Wendzel und Plötner bieten neben einer Einführung eine wahre Fundgrube an Tipps und Kniffen für Ihren Linux-Alltag.
Besonderheit:
Eine distributionsunabhängige Einführung
Inkl. multibootfähiger DVD-ROM
Linux wirklich verstehen und anwenden
Besonderheit:
Eine distributionsunabhängige Einführung
Inkl. multibootfähiger DVD-ROM
Linux wirklich verstehen und anwenden
Produktdetails
- Produktdetails
- Verlag: Galileo Press
- 3. Auflage
- Deutsch
- ISBN-13: 9783836210898
- ISBN-10: 3836210894
- Artikelnr.: 23024807
- Verlag: Galileo Press
- 3. Auflage
- Deutsch
- ISBN-13: 9783836210898
- ISBN-10: 3836210894
- Artikelnr.: 23024807
Steffen Wendzel arbeitet seit vielen Jahren mit Linux. Zudem entwickelt er seit einigen Jahren freie Software fuer BSD und Solaris Systeme. Sein Interesse gilt dabei primär der Netzwerk-/Kernelprogrammierung und -sicherheit.
Johannes Plötner studiert zur Zeit Informatik an der Universität Karlsruhe. Mit seiner langjährigen Erfahrung im Unix-/Linux-Umfeld beschäftigt er sich unter anderem mit Netzwerk- und Kernelprogrammierung sowie IT-Sicherheit. Zur Zeit ist er beratend für einen IT-Dienstleister tätig.
Johannes Plötner studiert zur Zeit Informatik an der Universität Karlsruhe. Mit seiner langjährigen Erfahrung im Unix-/Linux-Umfeld beschäftigt er sich unter anderem mit Netzwerk- und Kernelprogrammierung sowie IT-Sicherheit. Zur Zeit ist er beratend für einen IT-Dienstleister tätig.
1 Einleitung 19
1.1 Was ist Linux? 19
1.2 Die Linux-Distributionen 21
1.3 UNIX- und Linux-Geschichte 23
1.3.1 UNIX 23
1.3.2 Die Geschichte vom kleinen Linux 26
1.3.3 Die Kernelversionen 27
1.4 Die Anforderungen an Ihren Rechner 29
1.4.1 Hardwarekompatibilität 29
1.5 Über dieses Buch 29
1.5.1 Was Sie in diesem Buch erwartet 29
1.5.2 Wie Sie dieses Buch lesen sollten 31
1.5.3 Wo Sie weitere Informationen bekommen 32
2 Installationsvorbereitung 35
2.1 Die Anforderungen an Ihre Hardware 36
2.2 Hardwareunterstützung 36
2.2.1 Hardwarekompatibilitäts-Listen der Hersteller 37
2.2.2 X11 und Grafikkarten 37
2.2.3 Linux auf Laptops 39
2.2.4 Andere Geräte 39
2.3 Festplatten und Partitionen 39
2.3.1 Vorinstallierte Systeme 42
2.3.2 Windows und Linux 43
2.3.3 UNIX und Linux 43
2.3.4 Erstellen eines Backups 44
2.4 Installationsmedien 44
3 Linux-Installation 45
3.1 Slackware-Installation 45
3.1.1 Die Tastaturbelegung 45
3.1.2 Das erste Login 46
3.1.3 Partitionierung der Festplatte 47
3.1.4 Das Tool cfdisk 49
3.1.5 Setup - die eigentliche Installation 50
3.1.6 Test der Installation 57
3.2 (Open)SUSE-Installation 58
3.2.1 Installation per Mausklick 58
3.2.2 Partitionierung 58
3.2.3 Paketinstallation 59
3.2.4 Installation der Software 59
3.2.5 Konfiguration 59
3.3 Ubuntu, Xubuntu, Kubuntu etc. 60
3.4 Debian-Installation 60
3.4.1 Die Releases von Debian 61
3.4.2 Die Installations-CD 61
3.5 Zusammenfassung 63
4 Die grundlegende Funktionsweise von Linux 65
4.1 Singleuser, Multiuser 66
4.2 Singletasking, Multitasking 66
4.3 Ressourcenverwaltung 66
4.3.1 Speicherverwaltung 66
4.3.2 Swapping 68
4.3.3 Speicherplatz der Festplatte 68
4.3.4 Verwaltung weiterer Ressourcen 69
4.3.5 Schnittstellenbezeichnung unter Linux 69
4.3.6 pseudo devices 70
4.4 Zugriffsrechte 70
4.4.1 Standardrechte 71
4.4.2 Erweiterte Zugriffsrechte 77
4.4.3 Access Control Lists 78
4.5 Das virtuelle Dateisystem 80
4.5.1 Die Verzeichnisstruktur 80
4.5.2 Dateinamen 82
4.5.3 Dateitypen 83
4.5.4 Einhängen von Dateisystemen 87
5 Der Bootstrap-Vorgang 95
5.1 Der MBR 95
5.1.1 Die Partitionstabelle 95
5.1.2 Vom LILO bis zum init-Prozess 97
5.1.3 init 100
5.2 Runlevel-Skripte 100
5.2.1 Wechseln des Runlevels 102
5.2.2 Die Datei /etc/inittab 102
5.2.3 Die Rc-Skripte 104
5.3 getty und der Anmeldevorgang am System 105
5.3.1 (a)getty 106
5.3.2 login 106
5.3.3 Shellstart 107
5.4 Beenden einer Terminalsitzung 107
5.5 Herunterfahren und Neustarten 108
5.5.1 Die Auswahl 108
5.5.2 shutdown 108
6 Programme und Prozesse 111
6.1 Was ist ein Prozess? 111
6.1.1 Das Starten eines Programms 112
6.1.2 Eltern- und Kind-Prozesse 112
6.2 Der Kernel und seine Prozesse 113
6.2.1 Die Prozesstabelle 114
6.2.2 Der Prozessstatus 114
6.3 Prozess-Environment 115
6.4 Sessions und Prozessgruppen 116
6.5 Vorder- und Hintergrundprozesse 118
6.5.1 Wechseln zwischen Vorder- und Hintergrund 120
6.5.2 Jobs - behalten Sie sie im Auge 121
6.5.3 Hintergrundprozesse und Fehlermeldungen 122
6.5.4 Wann ist es denn endlich vorbei? 123
6.6 Das Kill-Kommando und Signale 124
6.6.1 Welche Signale gibt es? 125
6.6.2 Beispiel: Anhalten und Fortsetzen eines Prozesses 126
6.7 Prozessadministration 127
6.7.1 Prozesspriorität 127
6.7.2 pstree 128
6.7.3 Prozessauflistung mit Details via ps 131
6.7.4 top 133
6.7.5 Timing für Prozesse 134
7 Grundlegende Administration 137
7.1 Benutzerverwaltung 137
7.1.1 Linux und Multiusersysteme 137
7.1.2 Das Verwalten der Benutzerkonten 139
7.1.3 Benutzer und Gruppen 142
7.2 Installation neuer Software 144
7.2.1 Das Debian-Paketsystem 145
7.2.2 Das RedHat-Paketsystem 150
7.2.3 Das Slackware-Paketsystem 151
7.2.4 Paketsysteme ohne Grenzen 155
7.2.5 Softwareinstallation ohne Pakete 156
7.3 Backups erstellen 159
7.3.1 Die Sinnfrage 159
7.3.2 Backup eines ganzen Datenträgers 160
7.3.3 Backup ausgewählter Daten 162
7.4 Logdateien und dmesg 165
7.4.1 /var/log/messages 166
7.4.2 /var/log/wtmp 167
7.4.3 /var/log/Xorg.log 168
7.4.4 syslogd 168
7.4.5 logrotate 168
7.4.6 tail und head 169
7.5 Kernel-Konfiguration 170
7.5.1 Die Kernelsourcen 171
7.5.2 Los geht's! 171
7.5.3 Start der Konfiguration 173
7.5.4 Kernelerstellung 177
7.5.5 LILO 178
7.5.6 Grub 179
7.5.7 Ladbare Kernelmodule (LKMs) 179
7.6 Weitere nützliche Programme 183
7.6.1 Speicherverwaltung 183
7.6.2 Festplatten verwalten 184
7.6.3 Benutzer überwachen 186
7.6.4 Der Systemstatus 190
7.6.5 Offene Dateideskriptoren mit lsof 190
7.7 Grundlegende Systemdienste 191
7.7.1 cron 192
7.7.2 at 193
7.8 Manpages 193
7.9 Dateien finden mit find 195
7.9.1 Festlegung eines Auswahlkriteriums 196
7.9.2 Festlegung einer Aktion 198
7.9.3 Fehlermeldungen vermeiden 199
7.10 Der Midnight Commander 199
7.10.1 Die Bedienung 200
7.10.2 Verschiedene Ansichten 201
8 Die Shell 203
8.1 Grundlegendes 203
8.1.1 Was ist eine Shell? 203
8.1.2 Welche Shells gibt es? 204
8.1.3 Die Shell als Programm 205
8.1.4 Die Login-Shell wechseln 205
8.1.5 Der Prompt 206
8.1.6 Shell-intern vs. Programm 208
8.1.7 Kommandos aneinanderreihen 209
8.1.8 Mehrzeilige Kommandos 211
8.2 Arbeiten mit Verzeichnissen 211
8.2.1 Pfade 211
8.2.2 Das aktuelle Verzeichnis 212
8.2.3 Verzeichniswechsel 212
8.2.4 Und das Ganze mit Pfaden 213
8.3 Die elementaren Programme 214
8.3.1 echo und Kommandosubstitution 214
8.3.2 sleep 216
8.3.3 Erstellen eines Alias 216
8.3.4 cat 217
8.4 Programme für das Dateisystem 218
8.4.1 mkdir - Erstellen eines Verzeichnisses 218
8.4.2 rmdir - Löschen von Verzeichnissen 218
8.4.3 cp - Kopieren von Dateien 219
8.4.4 mv - Verschieben einer Datei 220
8.4.5 rm - Löschen von Dateien 220
8.4.6 touch - Zugriffszeiten von Dateien setzen 221
8.4.7 cut - Dateiinhalte abschneiden 221
8.4.8 paste - Dateien zusammenfügen 222
8.4.9 tac - Dateiinhalt umdrehen 223
8.4.10 nl - Zeilennummern für Dateien 223
8.4.11 wc - Zählen von Zeichen, Zeilen und Wörtern 223
8.4.12 od - Dateien zur Zahlenbasis x ausgeben 224
8.4.13 Mehr oder weniger, das ist hier die Frage! 225
8.4.14 head und tail 225
8.4.15 sort und uniq 226
8.4.16 Dateien aufspalten 227
8.4.17 Zeichenvertauschung 228
8.5 Startskripte 229
8.6 Ein- und Ausgabeumlenkung 230
8.6.1 Fehlerausgabe und Verknüpfung von Ausgaben 231
8.6.2 Anhängen von Ausgaben 232
8.6.3 Gruppierung der Umlenkung 232
8.7 Pipes 233
8.7.1 Um- und weiterleiten mit tee 233
8.7.2 Named Pipes (FIFOs) 234
8.8 Grundlagen der Shellskript-Programmierung 235
8.8.1 Was genau ist ein Shellskript? 235
8.8.2 Wie legt man los? 236
8.8.3 Das erste Shellskript 236
8.8.4 Kommentare 237
8.8.5 Variablen 237
8.8.6 Rechnen mit Variablen 238
8.8.7 Benutzereingaben für Variablen 240
8.8.8 Arrays 240
8.8.9 Kommandosubstitution und Schreibweisen 241
8.8.10 Argumentübergabe 242
8.8.11 Funktionen 243
8.8.12 Bedingungen 246
8.8.13 Bedingte Anweisungen - Teil 2 249
8.8.14 Die while-Schleife 250
8.8.15 Die for-Schleife 251
8.8.16 Menüs bilden mit select 253
8.8.17 Das Auge isst mit: der Schreibstil 254
8.9 Reguläre Ausdrücke: awk und sed 255
8.9.1 awk - Grundlagen und reguläre Ausdrücke 257
8.9.2 Arbeitsweise von awk 257
8.9.3 Reguläre Ausdrücke anwenden 258
8.9.4 awk - etwas detaillierter 261
8.9.5 awk und Variablen 264
8.9.6 Bedingte Anweisungen 266
8.9.7 Funktionen in awk 269
8.9.8 Builtin-Funktionen 270
8.9.9 Arrays und String-Operationen 273
8.9.10 Was noch fehlt 274
8.9.11 sed 274
8.9.12 grep 276
8.10 Ein paar Tipps zum Schluss 278
8.11 Weitere Fähigkeiten der Shell 279
9 Der vi-Editor 281
9.1 vi 281
9.1.1 Den vi starten 281
9.1.2 Kommando- und Eingabemodus 282
9.1.3 Dateien speichern 283
9.1.4 Arbeiten mit dem Eingabemodus 283
9.1.5 Navigation 284
9.1.6 Löschen von Textstellen 284
9.1.7 Textbereiche ersetzen 285
9.1.8 Kopieren von Textbereichen 286
9.1.9 Shiften 286
9.1.10 Die Suchfunktion 286
9.1.11 Konfiguration 287
9.2 vim 288
9.2.1 gvim 288
10 X11 - Die grafische Oberfläche 291
10.1 Funktionsweise 291
10.1.1 Geschichte 291
10.1.2 Client und Server 292
10.1.3 Das Display 293
10.1.4 XFree86 und X.org 294
10.2 Die Konfiguration 295
10.2.1 Die /etc/X11/xorg.conf 295
10.2.2 xf86config und xorgconfig 299
10.2.3 X -configure 299
10.2.4 Tipps und Tricks 300
10.2.5 Testen der Konfiguration 300
10.3 Window-Manager 301
10.3.1 Warum Window-Manager? 301
10.3.2 Klassische Window-Manager 303
10.3.3 Desktop-Umgebungen 305
10.4 X11 starten 310
10.4.1 Aus dem Textmodus 310
10.4.2 Grafische Login-Manager 312
10.4.3 Startskripte für xdm 313
10.5 Die wichtigsten Programme 313
10.5.1 Eterm, xterm und Co. 313
10.5.2 Mozilla: Browser, Mail- und Usenet-Client 314
10.5.3 The GIMP 315
10.5.4 xchat 317
10.6 Tuning 319
10.6.1 Xinerama und DualHead 319
10.6.2 X11 in einem Fenster 320
10.6.3 Mehrere X-Sessions 321
11 Einführung in Netzwerke 323
11.1 Etwas Theorie 323
11.1.1 TCP/IP 323
11.1.2 Ihr Heimnetzwerk 325
11.2 Konfiguration einer Netzwerkschnittstelle 327
11.2.1 Konfiguration von Netzwerkkarten mit ifconfig . 327
11.2.2 DHCP 330
11.3 Routing 331
11.3.1 Was ist Routing? 331
11.3.2 route 332
11.3.3 iproute2 334
11.4 Netzwerke benutzerfreundlich - DNS 334
11.4.1 DNS 334
11.4.2 DNS und Linux 336
11.4.3 Windows und die Namensauflösung 338
11.5 Mit Linux ins Internet 339
11.5.1 Einwahl mit DSL 339
11.6 Firewalling und NAT 341
11.6.1 Network Address Translation 341
11.6.2 Firewalling mit iptables 343
11.6.3 Firewalling mit dem TCP-Wrapper 345
11.7 Nützliche Netzwerktools 348
11.7.1 ping 348
11.7.2 netstat 350
11.7.3 nmap 352
11.7.4 tcpdump 353
12 Serverdienste 355
12.1 Grundlegende Konzepte 355
12.1.1 Peer-to-Peer-Netzwerke 355
12.1.2 Das Client-Server-Prinzip 356
12.1.3 Und das Ganze mit TCP/IP 357
12.2 inetd 358
12.2.1 Die /etc/inetd.conf 359
12.2.2 TCP-Wrapper 360
12.2.3 update-inetd 360
12.3 Standarddienste 361
12.3.1 finger 362
12.3.2 telnet 362
12.3.3 Die r-Tools 363
12.3.4 Weitere kleine Server 364
12.4 Secure Shell 364
12.4.1 Das SSH-Protokoll 365
12.4.2 Secure Shell nutzen 367
12.4.3 Der Secure-Shell-Server 371
12.5 Das World Wide Web 372
12.5.1 Das HTTP-Protokoll 372
12.5.2 Einrichten eines Apache-Webservers 375
12.5.3 Den Apache verwalten 379
12.6 Samba 380
12.6.1 Windows-Freigaben mounten 380
12.6.2 Dateien freigeben 381
12.7 Dateien tauschen mit FTP 381
12.7.1 Das FTP-Protokoll 381
12.7.2 FTP nutzen 383
12.7.3 Einen Server konfigurieren 386
12.8 E-Mail unter Linux 386
12.8.1 Grundlegende Begriffe 387
12.8.2 fetchmail 388
12.8.3 procmail 390
12.8.4 MTAs 391
12.9 Das Usenet 392
12.9.1 Newsgroups 392
12.9.2 Clients 393
12.9.3 Server 394
13 Drucken und Textverarbeitung 395
13.1 Druckerkonfiguration 395
13.1.1 CUPS - Common UNIX Printing System 396
13.1.2 Den Drucker benutzen 399
13.2 Textverarbeitungsprogramme 399
13.2.1 OpenOffice.org 400
13.2.2 KOffice 401
14 Speichermedien unter Linux 403
14.1 Neue Festplatten integrieren 403
14.2 Eine Datei als Dateisystem 404
14.2.1 Loop-Device 404
14.2.2 Und das Ganze mit dem RAM 406
14.3 CDs brennen 406
14.3.1 ISO-Dateien erzeugen 406
14.3.2 cdrecord 407
14.3.3 Die benutzerfreundliche Variante: k3b 408
14.4 USB-Sticks und Co. 409
14.4.1 USB-Treiber 409
14.4.2 Das Device ansprechen 410
14.5 SoftRAID und LVM 410
15 Multimedia unter Linux 413
15.1 Multimedia und die Distributionen 413
15.1.1 Der distributionsunabhängige Weg 413
15.1.2 Debian 415
15.1.3 SUSE 415
15.2 Konfiguration der Soundkarte 415
15.2.1 Bis Kernel 2.6 - OSS 415
15.2.2 Ab Kernel 2.6 - ALSA 417
15.3 Audiowiedergabe 418
15.3.1 Ausgabemöglichkeiten 418
15.3.2 MP3-Player und Co. 419
15.3.3 Text-to-Speech 420
15.4 Videos und DVDs 420
15.4.1 DVDs, DivX und Co. 420
15.4.2 MPlayer 421
15.4.3 XINE 423
15.5 Installation einer TV-Karte 424
15.6 Webcams und Webcam-Software 425
15.6.1 Beispiel: USB-IBM-Cam einrichten 425
15.6.2 Webcam-Software 426
A Quellcode 431
A.1 Samba-Konfiguration 431
A.2 ProFTPd-Konfiguration 434
B Die Buch-DVD 437
B.1 Welche Versionen sind auf der DVD? 437
B.2 Benutzung der DVD 437
C Literatur 439
Index 441
1.1 Was ist Linux? 19
1.2 Die Linux-Distributionen 21
1.3 UNIX- und Linux-Geschichte 23
1.3.1 UNIX 23
1.3.2 Die Geschichte vom kleinen Linux 26
1.3.3 Die Kernelversionen 27
1.4 Die Anforderungen an Ihren Rechner 29
1.4.1 Hardwarekompatibilität 29
1.5 Über dieses Buch 29
1.5.1 Was Sie in diesem Buch erwartet 29
1.5.2 Wie Sie dieses Buch lesen sollten 31
1.5.3 Wo Sie weitere Informationen bekommen 32
2 Installationsvorbereitung 35
2.1 Die Anforderungen an Ihre Hardware 36
2.2 Hardwareunterstützung 36
2.2.1 Hardwarekompatibilitäts-Listen der Hersteller 37
2.2.2 X11 und Grafikkarten 37
2.2.3 Linux auf Laptops 39
2.2.4 Andere Geräte 39
2.3 Festplatten und Partitionen 39
2.3.1 Vorinstallierte Systeme 42
2.3.2 Windows und Linux 43
2.3.3 UNIX und Linux 43
2.3.4 Erstellen eines Backups 44
2.4 Installationsmedien 44
3 Linux-Installation 45
3.1 Slackware-Installation 45
3.1.1 Die Tastaturbelegung 45
3.1.2 Das erste Login 46
3.1.3 Partitionierung der Festplatte 47
3.1.4 Das Tool cfdisk 49
3.1.5 Setup - die eigentliche Installation 50
3.1.6 Test der Installation 57
3.2 (Open)SUSE-Installation 58
3.2.1 Installation per Mausklick 58
3.2.2 Partitionierung 58
3.2.3 Paketinstallation 59
3.2.4 Installation der Software 59
3.2.5 Konfiguration 59
3.3 Ubuntu, Xubuntu, Kubuntu etc. 60
3.4 Debian-Installation 60
3.4.1 Die Releases von Debian 61
3.4.2 Die Installations-CD 61
3.5 Zusammenfassung 63
4 Die grundlegende Funktionsweise von Linux 65
4.1 Singleuser, Multiuser 66
4.2 Singletasking, Multitasking 66
4.3 Ressourcenverwaltung 66
4.3.1 Speicherverwaltung 66
4.3.2 Swapping 68
4.3.3 Speicherplatz der Festplatte 68
4.3.4 Verwaltung weiterer Ressourcen 69
4.3.5 Schnittstellenbezeichnung unter Linux 69
4.3.6 pseudo devices 70
4.4 Zugriffsrechte 70
4.4.1 Standardrechte 71
4.4.2 Erweiterte Zugriffsrechte 77
4.4.3 Access Control Lists 78
4.5 Das virtuelle Dateisystem 80
4.5.1 Die Verzeichnisstruktur 80
4.5.2 Dateinamen 82
4.5.3 Dateitypen 83
4.5.4 Einhängen von Dateisystemen 87
5 Der Bootstrap-Vorgang 95
5.1 Der MBR 95
5.1.1 Die Partitionstabelle 95
5.1.2 Vom LILO bis zum init-Prozess 97
5.1.3 init 100
5.2 Runlevel-Skripte 100
5.2.1 Wechseln des Runlevels 102
5.2.2 Die Datei /etc/inittab 102
5.2.3 Die Rc-Skripte 104
5.3 getty und der Anmeldevorgang am System 105
5.3.1 (a)getty 106
5.3.2 login 106
5.3.3 Shellstart 107
5.4 Beenden einer Terminalsitzung 107
5.5 Herunterfahren und Neustarten 108
5.5.1 Die Auswahl 108
5.5.2 shutdown 108
6 Programme und Prozesse 111
6.1 Was ist ein Prozess? 111
6.1.1 Das Starten eines Programms 112
6.1.2 Eltern- und Kind-Prozesse 112
6.2 Der Kernel und seine Prozesse 113
6.2.1 Die Prozesstabelle 114
6.2.2 Der Prozessstatus 114
6.3 Prozess-Environment 115
6.4 Sessions und Prozessgruppen 116
6.5 Vorder- und Hintergrundprozesse 118
6.5.1 Wechseln zwischen Vorder- und Hintergrund 120
6.5.2 Jobs - behalten Sie sie im Auge 121
6.5.3 Hintergrundprozesse und Fehlermeldungen 122
6.5.4 Wann ist es denn endlich vorbei? 123
6.6 Das Kill-Kommando und Signale 124
6.6.1 Welche Signale gibt es? 125
6.6.2 Beispiel: Anhalten und Fortsetzen eines Prozesses 126
6.7 Prozessadministration 127
6.7.1 Prozesspriorität 127
6.7.2 pstree 128
6.7.3 Prozessauflistung mit Details via ps 131
6.7.4 top 133
6.7.5 Timing für Prozesse 134
7 Grundlegende Administration 137
7.1 Benutzerverwaltung 137
7.1.1 Linux und Multiusersysteme 137
7.1.2 Das Verwalten der Benutzerkonten 139
7.1.3 Benutzer und Gruppen 142
7.2 Installation neuer Software 144
7.2.1 Das Debian-Paketsystem 145
7.2.2 Das RedHat-Paketsystem 150
7.2.3 Das Slackware-Paketsystem 151
7.2.4 Paketsysteme ohne Grenzen 155
7.2.5 Softwareinstallation ohne Pakete 156
7.3 Backups erstellen 159
7.3.1 Die Sinnfrage 159
7.3.2 Backup eines ganzen Datenträgers 160
7.3.3 Backup ausgewählter Daten 162
7.4 Logdateien und dmesg 165
7.4.1 /var/log/messages 166
7.4.2 /var/log/wtmp 167
7.4.3 /var/log/Xorg.log 168
7.4.4 syslogd 168
7.4.5 logrotate 168
7.4.6 tail und head 169
7.5 Kernel-Konfiguration 170
7.5.1 Die Kernelsourcen 171
7.5.2 Los geht's! 171
7.5.3 Start der Konfiguration 173
7.5.4 Kernelerstellung 177
7.5.5 LILO 178
7.5.6 Grub 179
7.5.7 Ladbare Kernelmodule (LKMs) 179
7.6 Weitere nützliche Programme 183
7.6.1 Speicherverwaltung 183
7.6.2 Festplatten verwalten 184
7.6.3 Benutzer überwachen 186
7.6.4 Der Systemstatus 190
7.6.5 Offene Dateideskriptoren mit lsof 190
7.7 Grundlegende Systemdienste 191
7.7.1 cron 192
7.7.2 at 193
7.8 Manpages 193
7.9 Dateien finden mit find 195
7.9.1 Festlegung eines Auswahlkriteriums 196
7.9.2 Festlegung einer Aktion 198
7.9.3 Fehlermeldungen vermeiden 199
7.10 Der Midnight Commander 199
7.10.1 Die Bedienung 200
7.10.2 Verschiedene Ansichten 201
8 Die Shell 203
8.1 Grundlegendes 203
8.1.1 Was ist eine Shell? 203
8.1.2 Welche Shells gibt es? 204
8.1.3 Die Shell als Programm 205
8.1.4 Die Login-Shell wechseln 205
8.1.5 Der Prompt 206
8.1.6 Shell-intern vs. Programm 208
8.1.7 Kommandos aneinanderreihen 209
8.1.8 Mehrzeilige Kommandos 211
8.2 Arbeiten mit Verzeichnissen 211
8.2.1 Pfade 211
8.2.2 Das aktuelle Verzeichnis 212
8.2.3 Verzeichniswechsel 212
8.2.4 Und das Ganze mit Pfaden 213
8.3 Die elementaren Programme 214
8.3.1 echo und Kommandosubstitution 214
8.3.2 sleep 216
8.3.3 Erstellen eines Alias 216
8.3.4 cat 217
8.4 Programme für das Dateisystem 218
8.4.1 mkdir - Erstellen eines Verzeichnisses 218
8.4.2 rmdir - Löschen von Verzeichnissen 218
8.4.3 cp - Kopieren von Dateien 219
8.4.4 mv - Verschieben einer Datei 220
8.4.5 rm - Löschen von Dateien 220
8.4.6 touch - Zugriffszeiten von Dateien setzen 221
8.4.7 cut - Dateiinhalte abschneiden 221
8.4.8 paste - Dateien zusammenfügen 222
8.4.9 tac - Dateiinhalt umdrehen 223
8.4.10 nl - Zeilennummern für Dateien 223
8.4.11 wc - Zählen von Zeichen, Zeilen und Wörtern 223
8.4.12 od - Dateien zur Zahlenbasis x ausgeben 224
8.4.13 Mehr oder weniger, das ist hier die Frage! 225
8.4.14 head und tail 225
8.4.15 sort und uniq 226
8.4.16 Dateien aufspalten 227
8.4.17 Zeichenvertauschung 228
8.5 Startskripte 229
8.6 Ein- und Ausgabeumlenkung 230
8.6.1 Fehlerausgabe und Verknüpfung von Ausgaben 231
8.6.2 Anhängen von Ausgaben 232
8.6.3 Gruppierung der Umlenkung 232
8.7 Pipes 233
8.7.1 Um- und weiterleiten mit tee 233
8.7.2 Named Pipes (FIFOs) 234
8.8 Grundlagen der Shellskript-Programmierung 235
8.8.1 Was genau ist ein Shellskript? 235
8.8.2 Wie legt man los? 236
8.8.3 Das erste Shellskript 236
8.8.4 Kommentare 237
8.8.5 Variablen 237
8.8.6 Rechnen mit Variablen 238
8.8.7 Benutzereingaben für Variablen 240
8.8.8 Arrays 240
8.8.9 Kommandosubstitution und Schreibweisen 241
8.8.10 Argumentübergabe 242
8.8.11 Funktionen 243
8.8.12 Bedingungen 246
8.8.13 Bedingte Anweisungen - Teil 2 249
8.8.14 Die while-Schleife 250
8.8.15 Die for-Schleife 251
8.8.16 Menüs bilden mit select 253
8.8.17 Das Auge isst mit: der Schreibstil 254
8.9 Reguläre Ausdrücke: awk und sed 255
8.9.1 awk - Grundlagen und reguläre Ausdrücke 257
8.9.2 Arbeitsweise von awk 257
8.9.3 Reguläre Ausdrücke anwenden 258
8.9.4 awk - etwas detaillierter 261
8.9.5 awk und Variablen 264
8.9.6 Bedingte Anweisungen 266
8.9.7 Funktionen in awk 269
8.9.8 Builtin-Funktionen 270
8.9.9 Arrays und String-Operationen 273
8.9.10 Was noch fehlt 274
8.9.11 sed 274
8.9.12 grep 276
8.10 Ein paar Tipps zum Schluss 278
8.11 Weitere Fähigkeiten der Shell 279
9 Der vi-Editor 281
9.1 vi 281
9.1.1 Den vi starten 281
9.1.2 Kommando- und Eingabemodus 282
9.1.3 Dateien speichern 283
9.1.4 Arbeiten mit dem Eingabemodus 283
9.1.5 Navigation 284
9.1.6 Löschen von Textstellen 284
9.1.7 Textbereiche ersetzen 285
9.1.8 Kopieren von Textbereichen 286
9.1.9 Shiften 286
9.1.10 Die Suchfunktion 286
9.1.11 Konfiguration 287
9.2 vim 288
9.2.1 gvim 288
10 X11 - Die grafische Oberfläche 291
10.1 Funktionsweise 291
10.1.1 Geschichte 291
10.1.2 Client und Server 292
10.1.3 Das Display 293
10.1.4 XFree86 und X.org 294
10.2 Die Konfiguration 295
10.2.1 Die /etc/X11/xorg.conf 295
10.2.2 xf86config und xorgconfig 299
10.2.3 X -configure 299
10.2.4 Tipps und Tricks 300
10.2.5 Testen der Konfiguration 300
10.3 Window-Manager 301
10.3.1 Warum Window-Manager? 301
10.3.2 Klassische Window-Manager 303
10.3.3 Desktop-Umgebungen 305
10.4 X11 starten 310
10.4.1 Aus dem Textmodus 310
10.4.2 Grafische Login-Manager 312
10.4.3 Startskripte für xdm 313
10.5 Die wichtigsten Programme 313
10.5.1 Eterm, xterm und Co. 313
10.5.2 Mozilla: Browser, Mail- und Usenet-Client 314
10.5.3 The GIMP 315
10.5.4 xchat 317
10.6 Tuning 319
10.6.1 Xinerama und DualHead 319
10.6.2 X11 in einem Fenster 320
10.6.3 Mehrere X-Sessions 321
11 Einführung in Netzwerke 323
11.1 Etwas Theorie 323
11.1.1 TCP/IP 323
11.1.2 Ihr Heimnetzwerk 325
11.2 Konfiguration einer Netzwerkschnittstelle 327
11.2.1 Konfiguration von Netzwerkkarten mit ifconfig . 327
11.2.2 DHCP 330
11.3 Routing 331
11.3.1 Was ist Routing? 331
11.3.2 route 332
11.3.3 iproute2 334
11.4 Netzwerke benutzerfreundlich - DNS 334
11.4.1 DNS 334
11.4.2 DNS und Linux 336
11.4.3 Windows und die Namensauflösung 338
11.5 Mit Linux ins Internet 339
11.5.1 Einwahl mit DSL 339
11.6 Firewalling und NAT 341
11.6.1 Network Address Translation 341
11.6.2 Firewalling mit iptables 343
11.6.3 Firewalling mit dem TCP-Wrapper 345
11.7 Nützliche Netzwerktools 348
11.7.1 ping 348
11.7.2 netstat 350
11.7.3 nmap 352
11.7.4 tcpdump 353
12 Serverdienste 355
12.1 Grundlegende Konzepte 355
12.1.1 Peer-to-Peer-Netzwerke 355
12.1.2 Das Client-Server-Prinzip 356
12.1.3 Und das Ganze mit TCP/IP 357
12.2 inetd 358
12.2.1 Die /etc/inetd.conf 359
12.2.2 TCP-Wrapper 360
12.2.3 update-inetd 360
12.3 Standarddienste 361
12.3.1 finger 362
12.3.2 telnet 362
12.3.3 Die r-Tools 363
12.3.4 Weitere kleine Server 364
12.4 Secure Shell 364
12.4.1 Das SSH-Protokoll 365
12.4.2 Secure Shell nutzen 367
12.4.3 Der Secure-Shell-Server 371
12.5 Das World Wide Web 372
12.5.1 Das HTTP-Protokoll 372
12.5.2 Einrichten eines Apache-Webservers 375
12.5.3 Den Apache verwalten 379
12.6 Samba 380
12.6.1 Windows-Freigaben mounten 380
12.6.2 Dateien freigeben 381
12.7 Dateien tauschen mit FTP 381
12.7.1 Das FTP-Protokoll 381
12.7.2 FTP nutzen 383
12.7.3 Einen Server konfigurieren 386
12.8 E-Mail unter Linux 386
12.8.1 Grundlegende Begriffe 387
12.8.2 fetchmail 388
12.8.3 procmail 390
12.8.4 MTAs 391
12.9 Das Usenet 392
12.9.1 Newsgroups 392
12.9.2 Clients 393
12.9.3 Server 394
13 Drucken und Textverarbeitung 395
13.1 Druckerkonfiguration 395
13.1.1 CUPS - Common UNIX Printing System 396
13.1.2 Den Drucker benutzen 399
13.2 Textverarbeitungsprogramme 399
13.2.1 OpenOffice.org 400
13.2.2 KOffice 401
14 Speichermedien unter Linux 403
14.1 Neue Festplatten integrieren 403
14.2 Eine Datei als Dateisystem 404
14.2.1 Loop-Device 404
14.2.2 Und das Ganze mit dem RAM 406
14.3 CDs brennen 406
14.3.1 ISO-Dateien erzeugen 406
14.3.2 cdrecord 407
14.3.3 Die benutzerfreundliche Variante: k3b 408
14.4 USB-Sticks und Co. 409
14.4.1 USB-Treiber 409
14.4.2 Das Device ansprechen 410
14.5 SoftRAID und LVM 410
15 Multimedia unter Linux 413
15.1 Multimedia und die Distributionen 413
15.1.1 Der distributionsunabhängige Weg 413
15.1.2 Debian 415
15.1.3 SUSE 415
15.2 Konfiguration der Soundkarte 415
15.2.1 Bis Kernel 2.6 - OSS 415
15.2.2 Ab Kernel 2.6 - ALSA 417
15.3 Audiowiedergabe 418
15.3.1 Ausgabemöglichkeiten 418
15.3.2 MP3-Player und Co. 419
15.3.3 Text-to-Speech 420
15.4 Videos und DVDs 420
15.4.1 DVDs, DivX und Co. 420
15.4.2 MPlayer 421
15.4.3 XINE 423
15.5 Installation einer TV-Karte 424
15.6 Webcams und Webcam-Software 425
15.6.1 Beispiel: USB-IBM-Cam einrichten 425
15.6.2 Webcam-Software 426
A Quellcode 431
A.1 Samba-Konfiguration 431
A.2 ProFTPd-Konfiguration 434
B Die Buch-DVD 437
B.1 Welche Versionen sind auf der DVD? 437
B.2 Benutzung der DVD 437
C Literatur 439
Index 441
1 Einleitung 19
1.1 Was ist Linux? 19
1.2 Die Linux-Distributionen 21
1.3 UNIX- und Linux-Geschichte 23
1.3.1 UNIX 23
1.3.2 Die Geschichte vom kleinen Linux 26
1.3.3 Die Kernelversionen 27
1.4 Die Anforderungen an Ihren Rechner 29
1.4.1 Hardwarekompatibilität 29
1.5 Über dieses Buch 29
1.5.1 Was Sie in diesem Buch erwartet 29
1.5.2 Wie Sie dieses Buch lesen sollten 31
1.5.3 Wo Sie weitere Informationen bekommen 32
2 Installationsvorbereitung 35
2.1 Die Anforderungen an Ihre Hardware 36
2.2 Hardwareunterstützung 36
2.2.1 Hardwarekompatibilitäts-Listen der Hersteller 37
2.2.2 X11 und Grafikkarten 37
2.2.3 Linux auf Laptops 39
2.2.4 Andere Geräte 39
2.3 Festplatten und Partitionen 39
2.3.1 Vorinstallierte Systeme 42
2.3.2 Windows und Linux 43
2.3.3 UNIX und Linux 43
2.3.4 Erstellen eines Backups 44
2.4 Installationsmedien 44
3 Linux-Installation 45
3.1 Slackware-Installation 45
3.1.1 Die Tastaturbelegung 45
3.1.2 Das erste Login 46
3.1.3 Partitionierung der Festplatte 47
3.1.4 Das Tool cfdisk 49
3.1.5 Setup - die eigentliche Installation 50
3.1.6 Test der Installation 57
3.2 (Open)SUSE-Installation 58
3.2.1 Installation per Mausklick 58
3.2.2 Partitionierung 58
3.2.3 Paketinstallation 59
3.2.4 Installation der Software 59
3.2.5 Konfiguration 59
3.3 Ubuntu, Xubuntu, Kubuntu etc. 60
3.4 Debian-Installation 60
3.4.1 Die Releases von Debian 61
3.4.2 Die Installations-CD 61
3.5 Zusammenfassung 63
4 Die grundlegende Funktionsweise von Linux 65
4.1 Singleuser, Multiuser 66
4.2 Singletasking, Multitasking 66
4.3 Ressourcenverwaltung 66
4.3.1 Speicherverwaltung 66
4.3.2 Swapping 68
4.3.3 Speicherplatz der Festplatte 68
4.3.4 Verwaltung weiterer Ressourcen 69
4.3.5 Schnittstellenbezeichnung unter Linux 69
4.3.6 pseudo devices 70
4.4 Zugriffsrechte 70
4.4.1 Standardrechte 71
4.4.2 Erweiterte Zugriffsrechte 77
4.4.3 Access Control Lists 78
4.5 Das virtuelle Dateisystem 80
4.5.1 Die Verzeichnisstruktur 80
4.5.2 Dateinamen 82
4.5.3 Dateitypen 83
4.5.4 Einhängen von Dateisystemen 87
5 Der Bootstrap-Vorgang 95
5.1 Der MBR 95
5.1.1 Die Partitionstabelle 95
5.1.2 Vom LILO bis zum init-Prozess 97
5.1.3 init 100
5.2 Runlevel-Skripte 100
5.2.1 Wechseln des Runlevels 102
5.2.2 Die Datei /etc/inittab 102
5.2.3 Die Rc-Skripte 104
5.3 getty und der Anmeldevorgang am System 105
5.3.1 (a)getty 106
5.3.2 login 106
5.3.3 Shellstart 107
5.4 Beenden einer Terminalsitzung 107
5.5 Herunterfahren und Neustarten 108
5.5.1 Die Auswahl 108
5.5.2 shutdown 108
6 Programme und Prozesse 111
6.1 Was ist ein Prozess? 111
6.1.1 Das Starten eines Programms 112
6.1.2 Eltern- und Kind-Prozesse 112
6.2 Der Kernel und seine Prozesse 113
6.2.1 Die Prozesstabelle 114
6.2.2 Der Prozessstatus 114
6.3 Prozess-Environment 115
6.4 Sessions und Prozessgruppen 116
6.5 Vorder- und Hintergrundprozesse 118
6.5.1 Wechseln zwischen Vorder- und Hintergrund 120
6.5.2 Jobs - behalten Sie sie im Auge 121
6.5.3 Hintergrundprozesse und Fehlermeldungen 122
6.5.4 Wann ist es denn endlich vorbei? 123
6.6 Das Kill-Kommando und Signale 124
6.6.1 Welche Signale gibt es? 125
6.6.2 Beispiel: Anhalten und Fortsetzen eines Prozesses 126
6.7 Prozessadministration 127
6.7.1 Prozesspriorität 127
6.7.2 pstree 128
6.7.3 Prozessauflistung mit Details via ps 131
6.7.4 top 133
6.7.5 Timing für Prozesse 134
7 Grundlegende Administration 137
7.1 Benutzerverwaltung 137
7.1.1 Linux und Multiusersysteme 137
7.1.2 Das Verwalten der Benutzerkonten 139
7.1.3 Benutzer und Gruppen 142
7.2 Installation neuer Software 144
7.2.1 Das Debian-Paketsystem 145
7.2.2 Das RedHat-Paketsystem 150
7.2.3 Das Slackware-Paketsystem 151
7.2.4 Paketsysteme ohne Grenzen 155
7.2.5 Softwareinstallation ohne Pakete 156
7.3 Backups erstellen 159
7.3.1 Die Sinnfrage 159
7.3.2 Backup eines ganzen Datenträgers 160
7.3.3 Backup ausgewählter Daten 162
7.4 Logdateien und dmesg 165
7.4.1 /var/log/messages 166
7.4.2 /var/log/wtmp 167
7.4.3 /var/log/Xorg.log 168
7.4.4 syslogd 168
7.4.5 logrotate 168
7.4.6 tail und head 169
7.5 Kernel-Konfiguration 170
7.5.1 Die Kernelsourcen 171
7.5.2 Los geht's! 171
7.5.3 Start der Konfiguration 173
7.5.4 Kernelerstellung 177
7.5.5 LILO 178
7.5.6 Grub 179
7.5.7 Ladbare Kernelmodule (LKMs) 179
7.6 Weitere nützliche Programme 183
7.6.1 Speicherverwaltung 183
7.6.2 Festplatten verwalten 184
7.6.3 Benutzer überwachen 186
7.6.4 Der Systemstatus 190
7.6.5 Offene Dateideskriptoren mit lsof 190
7.7 Grundlegende Systemdienste 191
7.7.1 cron 192
7.7.2 at 193
7.8 Manpages 193
7.9 Dateien finden mit find 195
7.9.1 Festlegung eines Auswahlkriteriums 196
7.9.2 Festlegung einer Aktion 198
7.9.3 Fehlermeldungen vermeiden 199
7.10 Der Midnight Commander 199
7.10.1 Die Bedienung 200
7.10.2 Verschiedene Ansichten 201
8 Die Shell 203
8.1 Grundlegendes 203
8.1.1 Was ist eine Shell? 203
8.1.2 Welche Shells gibt es? 204
8.1.3 Die Shell als Programm 205
8.1.4 Die Login-Shell wechseln 205
8.1.5 Der Prompt 206
8.1.6 Shell-intern vs. Programm 208
8.1.7 Kommandos aneinanderreihen 209
8.1.8 Mehrzeilige Kommandos 211
8.2 Arbeiten mit Verzeichnissen 211
8.2.1 Pfade 211
8.2.2 Das aktuelle Verzeichnis 212
8.2.3 Verzeichniswechsel 212
8.2.4 Und das Ganze mit Pfaden 213
8.3 Die elementaren Programme 214
8.3.1 echo und Kommandosubstitution 214
8.3.2 sleep 216
8.3.3 Erstellen eines Alias 216
8.3.4 cat 217
8.4 Programme für das Dateisystem 218
8.4.1 mkdir - Erstellen eines Verzeichnisses 218
8.4.2 rmdir - Löschen von Verzeichnissen 218
8.4.3 cp - Kopieren von Dateien 219
8.4.4 mv - Verschieben einer Datei 220
8.4.5 rm - Löschen von Dateien 220
8.4.6 touch - Zugriffszeiten von Dateien setzen 221
8.4.7 cut - Dateiinhalte abschneiden 221
8.4.8 paste - Dateien zusammenfügen 222
8.4.9 tac - Dateiinhalt umdrehen 223
8.4.10 nl - Zeilennummern für Dateien 223
8.4.11 wc - Zählen von Zeichen, Zeilen und Wörtern 223
8.4.12 od - Dateien zur Zahlenbasis x ausgeben 224
8.4.13 Mehr oder weniger, das ist hier die Frage! 225
8.4.14 head und tail 225
8.4.15 sort und uniq 226
8.4.16 Dateien aufspalten 227
8.4.17 Zeichenvertauschung 228
8.5 Startskripte 229
8.6 Ein- und Ausgabeumlenkung 230
8.6.1 Fehlerausgabe und Verknüpfung von Ausgaben 231
8.6.2 Anhängen von Ausgaben 232
8.6.3 Gruppierung der Umlenkung 232
8.7 Pipes 233
8.7.1 Um- und weiterleiten mit tee 233
8.7.2 Named Pipes (FIFOs) 234
8.8 Grundlagen der Shellskript-Programmierung 235
8.8.1 Was genau ist ein Shellskript? 235
8.8.2 Wie legt man los? 236
8.8.3 Das erste Shellskript 236
8.8.4 Kommentare 237
8.8.5 Variablen 237
8.8.6 Rechnen mit Variablen 238
8.8.7 Benutzereingaben für Variablen 240
8.8.8 Arrays 240
8.8.9 Kommandosubstitution und Schreibweisen 241
8.8.10 Argumentübergabe 242
8.8.11 Funktionen 243
8.8.12 Bedingungen 246
8.8.13 Bedingte Anweisungen - Teil 2 249
8.8.14 Die while-Schleife 250
8.8.15 Die for-Schleife 251
8.8.16 Menüs bilden mit select 253
8.8.17 Das Auge isst mit: der Schreibstil 254
8.9 Reguläre Ausdrücke: awk und sed 255
8.9.1 awk - Grundlagen und reguläre Ausdrücke 257
8.9.2 Arbeitsweise von awk 257
8.9.3 Reguläre Ausdrücke anwenden 258
8.9.4 awk - etwas detaillierter 261
8.9.5 awk und Variablen 264
8.9.6 Bedingte Anweisungen 266
8.9.7 Funktionen in awk 269
8.9.8 Builtin-Funktionen 270
8.9.9 Arrays und String-Operationen 273
8.9.10 Was noch fehlt 274
8.9.11 sed 274
8.9.12 grep 276
8.10 Ein paar Tipps zum Schluss 278
8.11 Weitere Fähigkeiten der Shell 279
9 Der vi-Editor 281
9.1 vi 281
9.1.1 Den vi starten 281
9.1.2 Kommando- und Eingabemodus 282
9.1.3 Dateien speichern 283
9.1.4 Arbeiten mit dem Eingabemodus 283
9.1.5 Navigation 284
9.1.6 Löschen von Textstellen 284
9.1.7 Textbereiche ersetzen 285
9.1.8 Kopieren von Textbereichen 286
9.1.9 Shiften 286
9.1.10 Die Suchfunktion 286
9.1.11 Konfiguration 287
9.2 vim 288
9.2.1 gvim 288
10 X11 - Die grafische Oberfläche 291
10.1 Funktionsweise 291
10.1.1 Geschichte 291
10.1.2 Client und Server 292
10.1.3 Das Display 293
10.1.4 XFree86 und X.org 294
10.2 Die Konfiguration 295
10.2.1 Die /etc/X11/xorg.conf 295
10.2.2 xf86config und xorgconfig 299
10.2.3 X -configure 299
10.2.4 Tipps und Tricks 300
10.2.5 Testen der Konfiguration 300
10.3 Window-Manager 301
10.3.1 Warum Window-Manager? 301
10.3.2 Klassische Window-Manager 303
10.3.3 Desktop-Umgebungen 305
10.4 X11 starten 310
10.4.1 Aus dem Textmodus 310
10.4.2 Grafische Login-Manager 312
10.4.3 Startskripte für xdm 313
10.5 Die wichtigsten Programme 313
10.5.1 Eterm, xterm und Co. 313
10.5.2 Mozilla: Browser, Mail- und Usenet-Client 314
10.5.3 The GIMP 315
10.5.4 xchat 317
10.6 Tuning 319
10.6.1 Xinerama und DualHead 319
10.6.2 X11 in einem Fenster 320
10.6.3 Mehrere X-Sessions 321
11 Einführung in Netzwerke 323
11.1 Etwas Theorie 323
11.1.1 TCP/IP 323
11.1.2 Ihr Heimnetzwerk 325
11.2 Konfiguration einer Netzwerkschnittstelle 327
11.2.1 Konfiguration von Netzwerkkarten mit ifconfig . 327
11.2.2 DHCP 330
11.3 Routing 331
11.3.1 Was ist Routing? 331
11.3.2 route 332
11.3.3 iproute2 334
11.4 Netzwerke benutzerfreundlich - DNS 334
11.4.1 DNS 334
11.4.2 DNS und Linux 336
11.4.3 Windows und die Namensauflösung 338
11.5 Mit Linux ins Internet 339
11.5.1 Einwahl mit DSL 339
11.6 Firewalling und NAT 341
11.6.1 Network Address Translation 341
11.6.2 Firewalling mit iptables 343
11.6.3 Firewalling mit dem TCP-Wrapper 345
11.7 Nützliche Netzwerktools 348
11.7.1 ping 348
11.7.2 netstat 350
11.7.3 nmap 352
11.7.4 tcpdump 353
12 Serverdienste 355
12.1 Grundlegende Konzepte 355
12.1.1 Peer-to-Peer-Netzwerke 355
12.1.2 Das Client-Server-Prinzip 356
12.1.3 Und das Ganze mit TCP/IP 357
12.2 inetd 358
12.2.1 Die /etc/inetd.conf 359
12.2.2 TCP-Wrapper 360
12.2.3 update-inetd 360
12.3 Standarddienste 361
12.3.1 finger 362
12.3.2 telnet 362
12.3.3 Die r-Tools 363
12.3.4 Weitere kleine Server 364
12.4 Secure Shell 364
12.4.1 Das SSH-Protokoll 365
12.4.2 Secure Shell nutzen 367
12.4.3 Der Secure-Shell-Server 371
12.5 Das World Wide Web 372
12.5.1 Das HTTP-Protokoll 372
12.5.2 Einrichten eines Apache-Webservers 375
12.5.3 Den Apache verwalten 379
12.6 Samba 380
12.6.1 Windows-Freigaben mounten 380
12.6.2 Dateien freigeben 381
12.7 Dateien tauschen mit FTP 381
12.7.1 Das FTP-Protokoll 381
12.7.2 FTP nutzen 383
12.7.3 Einen Server konfigurieren 386
12.8 E-Mail unter Linux 386
12.8.1 Grundlegende Begriffe 387
12.8.2 fetchmail 388
12.8.3 procmail 390
12.8.4 MTAs 391
12.9 Das Usenet 392
12.9.1 Newsgroups 392
12.9.2 Clients 393
12.9.3 Server 394
13 Drucken und Textverarbeitung 395
13.1 Druckerkonfiguration 395
13.1.1 CUPS - Common UNIX Printing System 396
13.1.2 Den Drucker benutzen 399
13.2 Textverarbeitungsprogramme 399
13.2.1 OpenOffice.org 400
13.2.2 KOffice 401
14 Speichermedien unter Linux 403
14.1 Neue Festplatten integrieren 403
14.2 Eine Datei als Dateisystem 404
14.2.1 Loop-Device 404
14.2.2 Und das Ganze mit dem RAM 406
14.3 CDs brennen 406
14.3.1 ISO-Dateien erzeugen 406
14.3.2 cdrecord 407
14.3.3 Die benutzerfreundliche Variante: k3b 408
14.4 USB-Sticks und Co. 409
14.4.1 USB-Treiber 409
14.4.2 Das Device ansprechen 410
14.5 SoftRAID und LVM 410
15 Multimedia unter Linux 413
15.1 Multimedia und die Distributionen 413
15.1.1 Der distributionsunabhängige Weg 413
15.1.2 Debian 415
15.1.3 SUSE 415
15.2 Konfiguration der Soundkarte 415
15.2.1 Bis Kernel 2.6 - OSS 415
15.2.2 Ab Kernel 2.6 - ALSA 417
15.3 Audiowiedergabe 418
15.3.1 Ausgabemöglichkeiten 418
15.3.2 MP3-Player und Co. 419
15.3.3 Text-to-Speech 420
15.4 Videos und DVDs 420
15.4.1 DVDs, DivX und Co. 420
15.4.2 MPlayer 421
15.4.3 XINE 423
15.5 Installation einer TV-Karte 424
15.6 Webcams und Webcam-Software 425
15.6.1 Beispiel: USB-IBM-Cam einrichten 425
15.6.2 Webcam-Software 426
A Quellcode 431
A.1 Samba-Konfiguration 431
A.2 ProFTPd-Konfiguration 434
B Die Buch-DVD 437
B.1 Welche Versionen sind auf der DVD? 437
B.2 Benutzung der DVD 437
C Literatur 439
Index 441
1.1 Was ist Linux? 19
1.2 Die Linux-Distributionen 21
1.3 UNIX- und Linux-Geschichte 23
1.3.1 UNIX 23
1.3.2 Die Geschichte vom kleinen Linux 26
1.3.3 Die Kernelversionen 27
1.4 Die Anforderungen an Ihren Rechner 29
1.4.1 Hardwarekompatibilität 29
1.5 Über dieses Buch 29
1.5.1 Was Sie in diesem Buch erwartet 29
1.5.2 Wie Sie dieses Buch lesen sollten 31
1.5.3 Wo Sie weitere Informationen bekommen 32
2 Installationsvorbereitung 35
2.1 Die Anforderungen an Ihre Hardware 36
2.2 Hardwareunterstützung 36
2.2.1 Hardwarekompatibilitäts-Listen der Hersteller 37
2.2.2 X11 und Grafikkarten 37
2.2.3 Linux auf Laptops 39
2.2.4 Andere Geräte 39
2.3 Festplatten und Partitionen 39
2.3.1 Vorinstallierte Systeme 42
2.3.2 Windows und Linux 43
2.3.3 UNIX und Linux 43
2.3.4 Erstellen eines Backups 44
2.4 Installationsmedien 44
3 Linux-Installation 45
3.1 Slackware-Installation 45
3.1.1 Die Tastaturbelegung 45
3.1.2 Das erste Login 46
3.1.3 Partitionierung der Festplatte 47
3.1.4 Das Tool cfdisk 49
3.1.5 Setup - die eigentliche Installation 50
3.1.6 Test der Installation 57
3.2 (Open)SUSE-Installation 58
3.2.1 Installation per Mausklick 58
3.2.2 Partitionierung 58
3.2.3 Paketinstallation 59
3.2.4 Installation der Software 59
3.2.5 Konfiguration 59
3.3 Ubuntu, Xubuntu, Kubuntu etc. 60
3.4 Debian-Installation 60
3.4.1 Die Releases von Debian 61
3.4.2 Die Installations-CD 61
3.5 Zusammenfassung 63
4 Die grundlegende Funktionsweise von Linux 65
4.1 Singleuser, Multiuser 66
4.2 Singletasking, Multitasking 66
4.3 Ressourcenverwaltung 66
4.3.1 Speicherverwaltung 66
4.3.2 Swapping 68
4.3.3 Speicherplatz der Festplatte 68
4.3.4 Verwaltung weiterer Ressourcen 69
4.3.5 Schnittstellenbezeichnung unter Linux 69
4.3.6 pseudo devices 70
4.4 Zugriffsrechte 70
4.4.1 Standardrechte 71
4.4.2 Erweiterte Zugriffsrechte 77
4.4.3 Access Control Lists 78
4.5 Das virtuelle Dateisystem 80
4.5.1 Die Verzeichnisstruktur 80
4.5.2 Dateinamen 82
4.5.3 Dateitypen 83
4.5.4 Einhängen von Dateisystemen 87
5 Der Bootstrap-Vorgang 95
5.1 Der MBR 95
5.1.1 Die Partitionstabelle 95
5.1.2 Vom LILO bis zum init-Prozess 97
5.1.3 init 100
5.2 Runlevel-Skripte 100
5.2.1 Wechseln des Runlevels 102
5.2.2 Die Datei /etc/inittab 102
5.2.3 Die Rc-Skripte 104
5.3 getty und der Anmeldevorgang am System 105
5.3.1 (a)getty 106
5.3.2 login 106
5.3.3 Shellstart 107
5.4 Beenden einer Terminalsitzung 107
5.5 Herunterfahren und Neustarten 108
5.5.1 Die Auswahl 108
5.5.2 shutdown 108
6 Programme und Prozesse 111
6.1 Was ist ein Prozess? 111
6.1.1 Das Starten eines Programms 112
6.1.2 Eltern- und Kind-Prozesse 112
6.2 Der Kernel und seine Prozesse 113
6.2.1 Die Prozesstabelle 114
6.2.2 Der Prozessstatus 114
6.3 Prozess-Environment 115
6.4 Sessions und Prozessgruppen 116
6.5 Vorder- und Hintergrundprozesse 118
6.5.1 Wechseln zwischen Vorder- und Hintergrund 120
6.5.2 Jobs - behalten Sie sie im Auge 121
6.5.3 Hintergrundprozesse und Fehlermeldungen 122
6.5.4 Wann ist es denn endlich vorbei? 123
6.6 Das Kill-Kommando und Signale 124
6.6.1 Welche Signale gibt es? 125
6.6.2 Beispiel: Anhalten und Fortsetzen eines Prozesses 126
6.7 Prozessadministration 127
6.7.1 Prozesspriorität 127
6.7.2 pstree 128
6.7.3 Prozessauflistung mit Details via ps 131
6.7.4 top 133
6.7.5 Timing für Prozesse 134
7 Grundlegende Administration 137
7.1 Benutzerverwaltung 137
7.1.1 Linux und Multiusersysteme 137
7.1.2 Das Verwalten der Benutzerkonten 139
7.1.3 Benutzer und Gruppen 142
7.2 Installation neuer Software 144
7.2.1 Das Debian-Paketsystem 145
7.2.2 Das RedHat-Paketsystem 150
7.2.3 Das Slackware-Paketsystem 151
7.2.4 Paketsysteme ohne Grenzen 155
7.2.5 Softwareinstallation ohne Pakete 156
7.3 Backups erstellen 159
7.3.1 Die Sinnfrage 159
7.3.2 Backup eines ganzen Datenträgers 160
7.3.3 Backup ausgewählter Daten 162
7.4 Logdateien und dmesg 165
7.4.1 /var/log/messages 166
7.4.2 /var/log/wtmp 167
7.4.3 /var/log/Xorg.log 168
7.4.4 syslogd 168
7.4.5 logrotate 168
7.4.6 tail und head 169
7.5 Kernel-Konfiguration 170
7.5.1 Die Kernelsourcen 171
7.5.2 Los geht's! 171
7.5.3 Start der Konfiguration 173
7.5.4 Kernelerstellung 177
7.5.5 LILO 178
7.5.6 Grub 179
7.5.7 Ladbare Kernelmodule (LKMs) 179
7.6 Weitere nützliche Programme 183
7.6.1 Speicherverwaltung 183
7.6.2 Festplatten verwalten 184
7.6.3 Benutzer überwachen 186
7.6.4 Der Systemstatus 190
7.6.5 Offene Dateideskriptoren mit lsof 190
7.7 Grundlegende Systemdienste 191
7.7.1 cron 192
7.7.2 at 193
7.8 Manpages 193
7.9 Dateien finden mit find 195
7.9.1 Festlegung eines Auswahlkriteriums 196
7.9.2 Festlegung einer Aktion 198
7.9.3 Fehlermeldungen vermeiden 199
7.10 Der Midnight Commander 199
7.10.1 Die Bedienung 200
7.10.2 Verschiedene Ansichten 201
8 Die Shell 203
8.1 Grundlegendes 203
8.1.1 Was ist eine Shell? 203
8.1.2 Welche Shells gibt es? 204
8.1.3 Die Shell als Programm 205
8.1.4 Die Login-Shell wechseln 205
8.1.5 Der Prompt 206
8.1.6 Shell-intern vs. Programm 208
8.1.7 Kommandos aneinanderreihen 209
8.1.8 Mehrzeilige Kommandos 211
8.2 Arbeiten mit Verzeichnissen 211
8.2.1 Pfade 211
8.2.2 Das aktuelle Verzeichnis 212
8.2.3 Verzeichniswechsel 212
8.2.4 Und das Ganze mit Pfaden 213
8.3 Die elementaren Programme 214
8.3.1 echo und Kommandosubstitution 214
8.3.2 sleep 216
8.3.3 Erstellen eines Alias 216
8.3.4 cat 217
8.4 Programme für das Dateisystem 218
8.4.1 mkdir - Erstellen eines Verzeichnisses 218
8.4.2 rmdir - Löschen von Verzeichnissen 218
8.4.3 cp - Kopieren von Dateien 219
8.4.4 mv - Verschieben einer Datei 220
8.4.5 rm - Löschen von Dateien 220
8.4.6 touch - Zugriffszeiten von Dateien setzen 221
8.4.7 cut - Dateiinhalte abschneiden 221
8.4.8 paste - Dateien zusammenfügen 222
8.4.9 tac - Dateiinhalt umdrehen 223
8.4.10 nl - Zeilennummern für Dateien 223
8.4.11 wc - Zählen von Zeichen, Zeilen und Wörtern 223
8.4.12 od - Dateien zur Zahlenbasis x ausgeben 224
8.4.13 Mehr oder weniger, das ist hier die Frage! 225
8.4.14 head und tail 225
8.4.15 sort und uniq 226
8.4.16 Dateien aufspalten 227
8.4.17 Zeichenvertauschung 228
8.5 Startskripte 229
8.6 Ein- und Ausgabeumlenkung 230
8.6.1 Fehlerausgabe und Verknüpfung von Ausgaben 231
8.6.2 Anhängen von Ausgaben 232
8.6.3 Gruppierung der Umlenkung 232
8.7 Pipes 233
8.7.1 Um- und weiterleiten mit tee 233
8.7.2 Named Pipes (FIFOs) 234
8.8 Grundlagen der Shellskript-Programmierung 235
8.8.1 Was genau ist ein Shellskript? 235
8.8.2 Wie legt man los? 236
8.8.3 Das erste Shellskript 236
8.8.4 Kommentare 237
8.8.5 Variablen 237
8.8.6 Rechnen mit Variablen 238
8.8.7 Benutzereingaben für Variablen 240
8.8.8 Arrays 240
8.8.9 Kommandosubstitution und Schreibweisen 241
8.8.10 Argumentübergabe 242
8.8.11 Funktionen 243
8.8.12 Bedingungen 246
8.8.13 Bedingte Anweisungen - Teil 2 249
8.8.14 Die while-Schleife 250
8.8.15 Die for-Schleife 251
8.8.16 Menüs bilden mit select 253
8.8.17 Das Auge isst mit: der Schreibstil 254
8.9 Reguläre Ausdrücke: awk und sed 255
8.9.1 awk - Grundlagen und reguläre Ausdrücke 257
8.9.2 Arbeitsweise von awk 257
8.9.3 Reguläre Ausdrücke anwenden 258
8.9.4 awk - etwas detaillierter 261
8.9.5 awk und Variablen 264
8.9.6 Bedingte Anweisungen 266
8.9.7 Funktionen in awk 269
8.9.8 Builtin-Funktionen 270
8.9.9 Arrays und String-Operationen 273
8.9.10 Was noch fehlt 274
8.9.11 sed 274
8.9.12 grep 276
8.10 Ein paar Tipps zum Schluss 278
8.11 Weitere Fähigkeiten der Shell 279
9 Der vi-Editor 281
9.1 vi 281
9.1.1 Den vi starten 281
9.1.2 Kommando- und Eingabemodus 282
9.1.3 Dateien speichern 283
9.1.4 Arbeiten mit dem Eingabemodus 283
9.1.5 Navigation 284
9.1.6 Löschen von Textstellen 284
9.1.7 Textbereiche ersetzen 285
9.1.8 Kopieren von Textbereichen 286
9.1.9 Shiften 286
9.1.10 Die Suchfunktion 286
9.1.11 Konfiguration 287
9.2 vim 288
9.2.1 gvim 288
10 X11 - Die grafische Oberfläche 291
10.1 Funktionsweise 291
10.1.1 Geschichte 291
10.1.2 Client und Server 292
10.1.3 Das Display 293
10.1.4 XFree86 und X.org 294
10.2 Die Konfiguration 295
10.2.1 Die /etc/X11/xorg.conf 295
10.2.2 xf86config und xorgconfig 299
10.2.3 X -configure 299
10.2.4 Tipps und Tricks 300
10.2.5 Testen der Konfiguration 300
10.3 Window-Manager 301
10.3.1 Warum Window-Manager? 301
10.3.2 Klassische Window-Manager 303
10.3.3 Desktop-Umgebungen 305
10.4 X11 starten 310
10.4.1 Aus dem Textmodus 310
10.4.2 Grafische Login-Manager 312
10.4.3 Startskripte für xdm 313
10.5 Die wichtigsten Programme 313
10.5.1 Eterm, xterm und Co. 313
10.5.2 Mozilla: Browser, Mail- und Usenet-Client 314
10.5.3 The GIMP 315
10.5.4 xchat 317
10.6 Tuning 319
10.6.1 Xinerama und DualHead 319
10.6.2 X11 in einem Fenster 320
10.6.3 Mehrere X-Sessions 321
11 Einführung in Netzwerke 323
11.1 Etwas Theorie 323
11.1.1 TCP/IP 323
11.1.2 Ihr Heimnetzwerk 325
11.2 Konfiguration einer Netzwerkschnittstelle 327
11.2.1 Konfiguration von Netzwerkkarten mit ifconfig . 327
11.2.2 DHCP 330
11.3 Routing 331
11.3.1 Was ist Routing? 331
11.3.2 route 332
11.3.3 iproute2 334
11.4 Netzwerke benutzerfreundlich - DNS 334
11.4.1 DNS 334
11.4.2 DNS und Linux 336
11.4.3 Windows und die Namensauflösung 338
11.5 Mit Linux ins Internet 339
11.5.1 Einwahl mit DSL 339
11.6 Firewalling und NAT 341
11.6.1 Network Address Translation 341
11.6.2 Firewalling mit iptables 343
11.6.3 Firewalling mit dem TCP-Wrapper 345
11.7 Nützliche Netzwerktools 348
11.7.1 ping 348
11.7.2 netstat 350
11.7.3 nmap 352
11.7.4 tcpdump 353
12 Serverdienste 355
12.1 Grundlegende Konzepte 355
12.1.1 Peer-to-Peer-Netzwerke 355
12.1.2 Das Client-Server-Prinzip 356
12.1.3 Und das Ganze mit TCP/IP 357
12.2 inetd 358
12.2.1 Die /etc/inetd.conf 359
12.2.2 TCP-Wrapper 360
12.2.3 update-inetd 360
12.3 Standarddienste 361
12.3.1 finger 362
12.3.2 telnet 362
12.3.3 Die r-Tools 363
12.3.4 Weitere kleine Server 364
12.4 Secure Shell 364
12.4.1 Das SSH-Protokoll 365
12.4.2 Secure Shell nutzen 367
12.4.3 Der Secure-Shell-Server 371
12.5 Das World Wide Web 372
12.5.1 Das HTTP-Protokoll 372
12.5.2 Einrichten eines Apache-Webservers 375
12.5.3 Den Apache verwalten 379
12.6 Samba 380
12.6.1 Windows-Freigaben mounten 380
12.6.2 Dateien freigeben 381
12.7 Dateien tauschen mit FTP 381
12.7.1 Das FTP-Protokoll 381
12.7.2 FTP nutzen 383
12.7.3 Einen Server konfigurieren 386
12.8 E-Mail unter Linux 386
12.8.1 Grundlegende Begriffe 387
12.8.2 fetchmail 388
12.8.3 procmail 390
12.8.4 MTAs 391
12.9 Das Usenet 392
12.9.1 Newsgroups 392
12.9.2 Clients 393
12.9.3 Server 394
13 Drucken und Textverarbeitung 395
13.1 Druckerkonfiguration 395
13.1.1 CUPS - Common UNIX Printing System 396
13.1.2 Den Drucker benutzen 399
13.2 Textverarbeitungsprogramme 399
13.2.1 OpenOffice.org 400
13.2.2 KOffice 401
14 Speichermedien unter Linux 403
14.1 Neue Festplatten integrieren 403
14.2 Eine Datei als Dateisystem 404
14.2.1 Loop-Device 404
14.2.2 Und das Ganze mit dem RAM 406
14.3 CDs brennen 406
14.3.1 ISO-Dateien erzeugen 406
14.3.2 cdrecord 407
14.3.3 Die benutzerfreundliche Variante: k3b 408
14.4 USB-Sticks und Co. 409
14.4.1 USB-Treiber 409
14.4.2 Das Device ansprechen 410
14.5 SoftRAID und LVM 410
15 Multimedia unter Linux 413
15.1 Multimedia und die Distributionen 413
15.1.1 Der distributionsunabhängige Weg 413
15.1.2 Debian 415
15.1.3 SUSE 415
15.2 Konfiguration der Soundkarte 415
15.2.1 Bis Kernel 2.6 - OSS 415
15.2.2 Ab Kernel 2.6 - ALSA 417
15.3 Audiowiedergabe 418
15.3.1 Ausgabemöglichkeiten 418
15.3.2 MP3-Player und Co. 419
15.3.3 Text-to-Speech 420
15.4 Videos und DVDs 420
15.4.1 DVDs, DivX und Co. 420
15.4.2 MPlayer 421
15.4.3 XINE 423
15.5 Installation einer TV-Karte 424
15.6 Webcams und Webcam-Software 425
15.6.1 Beispiel: USB-IBM-Cam einrichten 425
15.6.2 Webcam-Software 426
A Quellcode 431
A.1 Samba-Konfiguration 431
A.2 ProFTPd-Konfiguration 434
B Die Buch-DVD 437
B.1 Welche Versionen sind auf der DVD? 437
B.2 Benutzung der DVD 437
C Literatur 439
Index 441