 |
|
 |
|
Galileo Computing. Wissen, wie’s geht.
|
 |
Linux Das distributionsunabhängige Handbuch 978-3-8362-1090-4 |
| Inhaltsverzeichnis |
Linux vs. BSD ... 41
TEIL I: ... EINFÜHRUNG
1 ... Der Kernel ... 59
1.1 ... Grundlagen ... 60
... 1.1.1 ... Der Prozessor ... 60
... 1.1.2 ... Der Speicher ... 61
... 1.1.3 ... Fairness und Schutz ...
64
... 1.1.4 ... Die Programmierung ...
66
... 1.1.5 ... Die Benutzung ... 72
1.2 ... Aufgaben eines Betriebssystems
... 74
... 1.2.1 ... Abstraktion ... 74
... 1.2.2 ... Virtualisierung ... 74
... 1.2.3 ... Ressourcenverwaltung ...
77
1.3 ... Prozesse, Tasks und Threads ...
78
... 1.3.1 ... Definitionen ... 78
... 1.3.2 ... Lebenszyklen eines
Prozesses ... 83
... 1.3.3 ... Die Implementierung ...
90
1.4 ... Das Speichermanagement ... 94
... 1.4.1 ... Das Paging ... 94
... 1.4.2 ... Die Hardware ... 96
... 1.4.3 ... Die Organisation des
Adressraums ... 98
1.5 ... Eingabe und Ausgabe ... 107
... 1.5.1 ... Hardware und Treiber ...
107
... 1.5.2 ... Interaktion mit Geräten
... 111
... 1.5.3 ... Ein-/Ausgabe für
Benutzerprogramme ... 115
... 1.5.4 ... Das Dateisystem ... 116
1.6 ... Zusammenfassung ... 118
1.7 ... Aufgaben ... 118
2 ... Die Grundlagen aus
Anwendersicht ... 121
2.1 ... Die Unix-Philosophie ... 121
... 2.1.1 ... Kleine, spezialisierte
Programme ... 122
... 2.1.2 ... Wenn du nichts zu sagen
hast: Halt die Klappe ... 123
... 2.1.3 ... Die Shell ... 124
... 2.1.4 ... Die Administration ...
124
... 2.1.5 ... Netzwerktransparenz ...
125
2.2 ... Der erste Kontakt mit dem System
... 128
... 2.2.1 ... Booten ... 128
... 2.2.2 ... Das Login ... 129
... 2.2.3 ... Das Arbeiten am System ...
130
... 2.2.4 ... Das Herunterfahren ...
136
2.3 ... Bewegen in der Shell ... 137
... 2.3.1 ... Der Prompt ... 137
... 2.3.2 ... Absolute und relative
Pfade ... 138
... 2.3.3 ... pwd ... 138
... 2.3.4 ... cd ... 139
2.4 ... Arbeiten mit Dateien ... 140
... 2.4.1 ... ls ... 140
... 2.4.2 ... more und less ... 141
... 2.4.3 ... Und Dateitypen? ... 141
2.5 ... Der Systemstatus ... 143
... 2.5.1 ... uname ... 143
... 2.5.2 ... uptime ... 143
... 2.5.3 ... date ... 144
2.6 ... Kernel, Treiber & Co. ... 144
... 2.6.1 ... modprobe ... 145
... 2.6.2 ... lsmod ... 145
... 2.6.3 ... insmod und rmmod ... 146
2.7 ... Hilfe ... 146
... 2.7.1 ... Die Manpages ... 146
... 2.7.2 ... GNU info ... 148
... 2.7.3 ... Die Programmdokumentation
... 149
2.8 ... Zusammenfassung ... 149
2.9 ... Aufgaben ... 150
TEIL II: ... DIE SHELL
3 ... Die Shell ... 153
3.1 ... Was ist eine Shell? ... 153
... 3.1.1 ... Eine Shell verlassen ...
154
... 3.1.2 ... nologin ... 155
... 3.1.3 ... Die Login-Shell wechseln
... 155
3.2 ... Welche Shells gibt es? ... 156
3.3 ... Welche Shell für dieses Buch?
... 157
3.4 ... Die Konsolen ... 158
3.5 ... screen ... 158
... 3.5.1 ... screen verwenden ... 159
3.6 ... Die Shell anwenden ... 160
... 3.6.1 ... Vor- und Nachteile der
Shellskripts ... 161
3.7 ... Grundlagen der Shell-Nutzung ...
162
... 3.7.1 ... Programme starten ...
162
... 3.7.2 ... Kommandos aneinanderreihen
... 163
... 3.7.3 ... Mehrzeilige Kommandos ...
164
... 3.7.4 ... Alias, shell-intern oder
extern? ... 165
... 3.7.5 ... Shell-Aliase ... 166
... 3.7.6 ... Verzeichniswechsel ...
167
... 3.7.7 ... echo ... 169
... 3.7.8 ... Shell-Variablen ... 170
... 3.7.9 ... Kommandosubstitution ...
177
3.8 ... Ein- und Ausgabeumlenkung ...
179
... 3.8.1 ... Die Ausgabeumlenkung ...
180
... 3.8.2 ... Die Fehlerumlenkung ...
180
... 3.8.3 ... Die Ausgabe an eine
Umlenkung anhängen ... 181
... 3.8.4 ... Eine Ausgabe in eine
bestehende Datei umlenken ... 181
... 3.8.5 ... Die Eingabeumlenkung ...
182
3.9 ... Pipes ... 183
... 3.9.1 ... Duplizierung der Ausgabe
mit tee ... 184
... 3.9.2 ... Named Pipes (FIFOs) ...
184
3.10 ... Subshells und Kommandogruppen
... 186
3.11 ... Effektives Arbeiten mit der
Bash ... 187
... 3.11.1 ... Die Kommando-History ...
187
... 3.11.2 ... Automatische
Vervollständigung von Dateinamen ...
190
3.12 ... xargs ... 191
3.13 ... Zusammenfassung ... 192
3.14 ... Aufgaben ... 193
4 ... Reguläre Ausdrücke ... 195
4.1 ... Aufbau von regulären Ausdrücken
... 197
4.2 ... Der Stream-Editor sed ... 199
... 4.2.1 ... Was bringt mir sed? ...
200
... 4.2.2 ... Erste Schritte mit sed ...
200
... 4.2.3 ... sed-Befehle ... 201
... 4.2.4 ... Nach Zeilen filtern ...
204
... 4.2.5 ... Wiederholungen in
regulären Ausdrücken ... 206
4.3 ... grep ... 207
... 4.3.1 ... grep -E und egrep ...
208
... 4.3.2 ... Geschwindigkeitsvergleich
... 208
4.4 ... awk ... 209
... 4.4.1 ... Nutzen und Interpreter ...
209
... 4.4.2 ... Der Aufruf von awk ...
210
... 4.4.3 ... Erste Gehversuche ...
211
... 4.4.4 ... Der Anweisungsblock ...
213
... 4.4.5 ... Variablen ... 216
... 4.4.6 ... Arrays ... 225
... 4.4.7 ... Bedingte Anweisungen ...
227
... 4.4.8 ... Schleifen ... 230
... 4.4.9 ... Funktionen in awk ...
235
... 4.4.10 ... Ein paar Worte zum
Schluss ... 238
4.5 ... Zusammenfassung ... 238
4.6 ... Aufgaben ... 238
5 ... Tools zur Dateibearbeitung ...
239
5.1 ... head, tail und nl – den
Dateiinhalt zeigen ... 239
5.2 ... cut, paste, tac und tr – den
Dateiinhalt ändern ... 240
5.3 ... sort und uniq – sortiert und
einzigartig ... 242
5.4 ... wc – Dateiinhalt zählen ...
243
5.5 ... Dateien finden mit find ...
243
... 5.5.1 ... Festlegung eines
Auswahlkriteriums ... 244
... 5.5.2 ... Festlegung einer Aktion
... 246
5.6 ... split – Dateien aufspalten ...
247
5.7 ... Midnight Commander (mc) ...
247
... 5.7.1 ... Die Bedienung ... 248
... 5.7.2 ... Verschiedene Ansichten ...
249
5.8 ... Spezielle Tools ... 250
... 5.8.1 ... bc – der Rechner für die
Konsole ... 250
... 5.8.2 ... dd – blockweises Kopieren
... 252
... 5.8.3 ... od und hexdump –
Dateidumping ... 253
... 5.8.4 ... script – Terminal-Sessions
aufzeichnen ... 253
5.9 ... Zusammenfassung ... 254
5.10 ... Aufgaben ... 255
6 ... Die Editoren ... 257
6.1 ... Anforderungen an Editoren ...
258
... 6.1.1 ... Zeilenorientiert versus
bildschirmorientiert ... 259
6.2 ... vi ... 260
... 6.2.1 ... Den vi starten ... 260
... 6.2.2 ... Kommando- und Eingabemodus
... 261
... 6.2.3 ... Dateien speichern ...
261
... 6.2.4 ... Arbeiten mit dem
Eingabemodus ... 262
... 6.2.5 ... Navigation ... 262
... 6.2.6 ... Löschen von Textstellen
... 263
... 6.2.7 ... Textbereiche ersetzen ...
263
... 6.2.8 ... Kopieren von Textbereichen
... 264
... 6.2.9 ... Shiften ... 264
... 6.2.10 ... Die Suchfunktion ...
265
... 6.2.11 ... Konfiguration ... 265
6.3 ... vim ... 266
... 6.3.1 ... gvim ... 267
6.4 ... Emacs ... 267
... 6.4.1 ... Konzepte ... 268
... 6.4.2 ... Grundlegende Kommandos ...
270
... 6.4.3 ... Arbeiten mit Puffern und
Fenstern ... 271
... 6.4.4 ... Arbeiten mit Mark und
Region ... 271
... 6.4.5 ... Das Menü nutzen ... 272
... 6.4.6 ... Den Emacs konfigurieren
... 272
6.5 ... Editoren in der Shell ... 272
... 6.5.1 ... Mausunterstützung ...
273
6.6 ... Zusammenfassung ... 273
6.7 ... Aufgaben ... 273
7 ... Shellskriptprogrammierung ...
275
7.1 ... Das erste Shellskript ... 276
7.2 ... Kommentare ... 277
7.3 ... Rechnen in der Shell ... 277
... 7.3.1 ... Integer-Variablen ...
277
... 7.3.2 ... expr ... 279
... 7.3.3 ... Den bc nutzen ... 279
7.4 ... Arrays ... 279
7.5 ... Bedingte Anweisungen ... 281
... 7.5.1 ... if ... 281
... 7.5.2 ... case ... 284
7.6 ... Schleifen ... 286
... 7.6.1 ... while ... 286
... 7.6.2 ... until ... 288
... 7.6.3 ... for ... 288
... 7.6.4 ... seq – Schleifen mit
Aufzählungen ... 290
7.7 ... Menüs mit select ... 291
7.8 ... break ... 292
7.9 ... Funktionen ... 293
... 7.9.1 ... Eine simple Funktion ...
294
... 7.9.2 ... Funktionsparameter ...
295
... 7.9.3 ... Rückgabewerte ... 296
7.10 ... Temporäre Dateien ... 297
7.11 ... Zusammenfassung ... 299
7.12 ... Aufgaben ... 299
TEIL III: ... SYSTEM- &
NETZWERKADMINISTRATION
8 ... Benutzerverwaltung ... 303
8.1 ... Benutzer in Unix ... 303
... 8.1.1 ... UID und GID ... 303
... 8.1.2 ... Die /etc/passwd ... 305
... 8.1.3 ... Die Shadowsuite ... 306
8.2 ... Benutzer anlegen, ändern und
löschen ... 308
... 8.2.1 ... Benutzer anlegen ... 308
... 8.2.2 ... Benutzer ändern ... 313
... 8.2.3 ... Benutzer löschen ... 315
8.3 ... Benutzer und Gruppen ... 317
... 8.3.1 ... Gruppen anlegen ... 318
... 8.3.2 ... Benutzer zu Gruppen
hinzufügen ... 319
... 8.3.3 ... Gruppenpasswörter und die
/etc/gshadow ... 319
... 8.3.4 ... Gruppenadministratoren ...
322
... 8.3.5 ... Gruppen löschen ... 323
8.4 ... Als anderer Benutzer arbeiten
... 323
... 8.4.1 ... Der Systemadministrator
als User ... 323
... 8.4.2 ... su ... 323
... 8.4.3 ... sudo ... 324
... 8.4.4 ... SetUID/SetGID ... 326
8.5 ... NIS/NIS+ ... 326
... 8.5.1 ... Die Funktion ... 326
... 8.5.2 ... Konfiguration der
NIS-Clients ... 328
... 8.5.3 ... Konfiguration des
NIS-Servers ... 329
... 8.5.4 ... Testen der Konfiguration
... 329
... 8.5.5 ... Sicherheit ... 329
8.6 ... LDAP ... 329
... 8.6.1 ... So funktioniert es ...
330
... 8.6.2 ... Einen LDAP-Server
konfigurieren ... 331
... 8.6.3 ... Einträge hinzufügen,
verändern und löschen ... 333
... 8.6.4 ... Die Benutzerverwaltung mit
LDAP ... 336
8.7 ... Zusammenfassung ... 339
8.8 ... Aufgaben ... 339
9 ... Grundlegende
Verwaltungsaufgaben ... 341
9.1 ... Rechteverwaltung ... 341
... 9.1.1 ... chmod ... 342
... 9.1.2 ... chown ... 344
... 9.1.3 ... Erweiterte Rechte ...
346
... 9.1.4 ... umask ... 348
... 9.1.5 ... Access Control Lists ...
349
9.2 ... Softwareinstallation ... 351
... 9.2.1 ... Paketverwaltung und Ports
... 353
... 9.2.2 ... APT – Advanced Packaging
Tool ... 354
... 9.2.3 ... Pakete in Handarbeit: dpkg
und rpm ... 362
... 9.2.4 ... .tgz Packages unter
Slackware ... 367
... 9.2.5 ... Das Gentoo Portage System
... 372
... 9.2.6 ... BSD-Ports ... 373
... 9.2.7 ... Softwareinstallation ohne
Pakete ... 377
9.3 ... Tätigkeiten automatisieren ...
380
... 9.3.1 ... Skripts & Co. ... 380
... 9.3.2 ... Cronjobs ... 380
... 9.3.3 ... Punktgenau mit at ...
384
9.4 ... Logging ... 387
... 9.4.1 ... Die Logdateien ... 387
... 9.4.2 ... Der syslogd ... 389
... 9.4.3 ... logrotate ... 396
... 9.4.4 ... logcheck ... 398
9.5 ... Dateisystemverwaltung ... 399
... 9.5.1 ... Die /etc/fstab ... 399
... 9.5.2 ... Das mount-Tool ... 402
... 9.5.3 ... Platz beschränken: Quotas
... 403
... 9.5.4 ... du und df ... 406
... 9.5.5 ... SoftRAID und LVM ... 408
... 9.5.6 ... Backups, Archive & Co. ...
412
9.6 ... Kernel kompilieren ... 417
... 9.6.1 ... Die Kernel-Quellen
besorgen ... 417
... 9.6.2 ... Die Konfiguration ...
418
... 9.6.3 ... Den Kernel übersetzen ...
419
... 9.6.4 ... Den Bootloader anpassen
... 420
... 9.6.5 ... BSD-Kernel kompilieren ...
421
9.7 ... Linux’ SysRq ... 424
... 9.7.1 ... Aktivierung von SysRq ...
425
... 9.7.2 ... Tastenkombinationen ...
425
9.8 ... Lokalisierung ... 426
... 9.8.1 ... Die Tastaturbelegung ...
426
... 9.8.2 ... Die deutsche Sprache ...
429
... 9.8.3 ... Das Einstellen der Uhr ...
430
... 9.8.4 ... Texte von anderen
Plattformen ... 431
9.9 ... Zusammenfassung ... 431
9.10 ... Aufgaben ... 432
10 ... Netzwerk-Grundlagen ... 433
10.1 ... Grundlegendes zu TCP/IP ...
433
... 10.1.1 ... Network-Access-Layer ...
435
... 10.1.2 ... Internet-Layer ... 435
... 10.1.3 ... Transport-Layer ... 435
... 10.1.4 ... Application-Layer ...
436
10.2 ... Grundlegendes Netzwerk-Setup
... 437
... 10.2.1 ... Hostname setzen ... 437
... 10.2.2 ... Netzwerkadressen für alle
... 438
... 10.2.3 ... Wireless LAN ... 442
... 10.2.4 ... DHCP ... 443
... 10.2.5 ... /etc/hosts ... 444
... 10.2.6 ... /etc/networks ... 446
... 10.2.7 ... /etc/resolv.conf ...
446
... 10.2.8 ... Nun gibt es aber ein
Problem ... ... 448
... 10.2.9 ... Windows und
Namensauflösung ... 448
10.3 ... Grundlagen des Routings ...
449
... 10.3.1 ... Routing-Administration:
route ... 452
... 10.3.2 ... Router aufsetzen ...
454
10.4 ... Netzwerkverbindungen ... 455
... 10.4.1 ... Datenaufkommen von
Schnittstellen ... 455
... 10.4.2 ... Protokollstatistiken ...
456
... 10.4.3 ... Aktive TCP-Verbindungen
... 459
... 10.4.4 ... Listen-Ports ... 460
... 10.4.5 ... ARP-Cache ... 461
... 10.4.6 ... tcpdump ... 462
10.5 ... Mit Linux ins Internet ...
465
... 10.5.1 ... Das Point-to-Point
Protocol ... 466
... 10.5.2 ... Einwahl mit einem Modem
... 468
... 10.5.3 ... Einwahl über DSL ...
473
10.6 ... Zusammenfassung ... 475
10.7 ... Aufgaben ... 475
11 ... Anwendersoftware für das
Netzwerk ... 477
11.1 ... Telnet ... 477
... 11.1.1 ... Die erste Verbindung ...
478
... 11.1.2 ... HTTP, SMTP, POP3 ...
478
11.2 ... Die R-Tools ... 480
11.3 ... FTP ... 481
... 11.3.1 ... Grafische FTP-Clients ...
483
11.4 ... Browser ... 484
11.5 ... Mailprogramme ... 486
... 11.5.1 ... mail ... 486
... 11.5.2 ... Mails löschen und weitere
Aktionen ... 488
... 11.5.3 ... elm, pine, mutt und Co.
... 488
... 11.5.4 ... fetchmail ... 490
... 11.5.5 ... procmail ... 492
11.6 ... Client-NTP-Konfiguration ...
493
11.7 ... IRC-Clients ... 494
11.8 ... Das Usenet ... 494
... 11.8.1 ... Das Protokoll ... 496
... 11.8.2 ... Clients ... 497
11.9 ... RSS ... 500
... 11.9.1 ... Snownews ... 500
11.10 ... Zusammenfassung ... 501
11.11 ... Aufgaben ... 502
12 ... Netzwerkdienste ... 503
12.1 ... inetd und xinetd ... 503
... 12.1.1 ... inetd ... 504
... 12.1.2 ... tcpd ... 506
... 12.1.3 ... xinetd ... 507
12.2 ... Standarddienste ... 509
... 12.2.1 ... echo ... 509
... 12.2.2 ... discard ... 509
... 12.2.3 ... systat und netstat ...
509
... 12.2.4 ... daytime und time ...
509
... 12.2.5 ... QotD ... 510
... 12.2.6 ... chargen ... 510
... 12.2.7 ... finger ... 510
... 12.2.8 ... Telnet und R-Dienste ...
511
12.3 ... DHCP ... 511
... 12.3.1 ... dhcpd ... 512
... 12.3.2 ... Client-Konfiguration ...
514
12.4 ... NNTP-Server ... 514
... 12.4.1 ... Konfiguration ... 515
... 12.4.2 ... Server starten ... 517
... 12.4.3 ... Authentifizierung ...
517
... 12.4.4 ... WendzelNNTPGUI ... 518
12.5 ... Network File System ... 518
... 12.5.1 ... Einen NFS-Server
aufsetzen ... 519
... 12.5.2 ... Den Client konfigurieren
... 521
12.6 ... Der FTP-Dienst ... 522
... 12.6.1 ... Konfigurationsdateien ...
523
12.7 ... Samba ... 526
... 12.7.1 ... Windows-Freigaben mounten
... 526
... 12.7.2 ... Dateien freigeben ...
527
... 12.7.3 ... Die smb.conf ... 527
... 12.7.4 ... Samba, LDAP & Co. ...
531
12.8 ... Zusammenfassung ... 531
12.9 ... Aufgaben ... 532
13 ... Mailserver unter Linux ...
533
13.1 ... Mailserver in Theorie und
Praxis ... 533
... 13.1.1 ... Funktionsweise von
Internet-Mail ... 533
... 13.1.2 ... Virenschutz ... 537
... 13.1.3 ... Spamschutz ... 537
13.2 ... SMTP-Server mit Exim ... 540
... 13.2.1 ... Die Exim-Philosophie ...
540
... 13.2.2 ... Exim installieren und
konfigurieren ... 542
... 13.2.3 ... Die Arbeit mit Exim-Tools
... 545
13.3 ... POP3/IMAP-Server mit Courier
... 548
13.4 ... Zusammenfassung ... 549
14 ... LAMP & Co. ... 551
14.1 ... Apache ... 551
... 14.1.1 ... Den Apache verwalten ...
555
14.2 ... MySQL ... 556
... 14.2.1 ... Administration ... 556
... 14.2.2 ... SQL ... 558
... 14.2.3 ... APIs ... 560
14.3 ... PHP ... 561
... 14.3.1 ... (X)HTML ... 561
... 14.3.2 ... PHP-Support im Apache
aktivieren ... 563
... 14.3.3 ... PHP lernen ... 565
... 14.3.4 ... PHP und MySQL ... 566
14.4 ... Zusammenfassung ... 567
14.5 ... Aufgaben ... 567
15 ... DNS-Server ... 569
15.1 ... Die Serversoftware wählen ...
569
15.2 ... Bind aufsetzen ... 569
15.3 ... djbdns ... 572
... 15.3.1 ... Der djbdns
Caching-Only-Server ... 573
15.4 ... DNS-Tools ... 575
... 15.4.1 ... host ... 575
... 15.4.2 ... nslookup ... 577
... 15.4.3 ... dig ... 579
... 15.4.4 ... whois ... 579
15.5 ... Zusammenfassung ... 581
15.6 ... Aufgaben ... 581
16 ... Secure Shell ... 583
16.1 ... Das Protokoll ... 584
... 16.1.1 ... SSH-Protokoll 1 ... 584
... 16.1.2 ... SSH-Protokoll 2 ... 584
16.2 ... Konfiguration eines
OpenSSH-Servers ... 585
... 16.2.1 ... Die /etc/ssh/sshd_config
... 585
16.3 ... SSH nutzen ... 589
... 16.3.1 ... Remote-Login ... 589
... 16.3.2 ... Secure Copy ... 589
... 16.3.3 ... Authentifizierung über
Public-Key-Verfahren ... 590
... 16.3.4 ... Secure File Transfer ...
593
... 16.3.5 ... X11 Forwarding ... 594
... 16.3.6 ... SSH-Port-Forwarding ...
594
16.4 ... Zusammenfassung ... 596
16.5 ... Aufgaben ... 596
TEIL IV: ... DIE GRAFISCHE
OBERFLÄCHE
17 ... Die grafische Oberfläche ...
599
17.1 ... Geschichtliches ... 599
17.2 ... Und so funktioniert’s ... 600
... 17.2.1 ... Client, Server, Protokoll
... 601
... 17.2.2 ... Toolkit und XLib ...
601
... 17.2.3 ... Wohin soll die Reise
gehen? ... 602
... 17.2.4 ... Zugriffskontrolle ...
602
... 17.2.5 ... xhost ... 603
... 17.2.6 ... Benutzer und xauth ...
603
... 17.2.7 ... Terminals ... 604
17.3 ... Konfiguration ... 605
... 17.3.1 ... xorgconfig ... 606
17.4 ... /etc/X11/xorg.conf ... 610
... 17.4.1 ... Section »Module« ...
610
... 17.4.2 ... Section »Files« ... 611
... 17.4.3 ... Section »ServerFlags« ...
612
... 17.4.4 ... Section »InputDevice« ...
612
... 17.4.5 ... Section »Monitor« ...
613
... 17.4.6 ... Section »Device« ...
614
... 17.4.7 ... Section »Screen« ...
615
... 17.4.8 ... Section »ServerLayout«
... 615
... 17.4.9 ... Optionale Sections ...
616
17.5 ... Treiber für Nvidia- bzw.
ATI-Karten ... 616
... 17.5.1 ... Nvidia-Grafikkarten ...
616
... 17.5.2 ... ATI-Grafikkarten ...
617
... 17.5.3 ... Funktionstest ... 618
... 17.5.4 ... Welche Karte ist die
beste? ... 619
17.6 ... 3D-Desktop und Transparenz ...
619
17.7 ... Window-Manager und Desktops ...
620
... 17.7.1 ... Aufgaben ... 621
... 17.7.2 ... Konzepte ... 621
... 17.7.3 ... Was steht zur Auswahl?
... 622
17.8 ... Grafischer Login ... 622
17.9 ... Tuning ... 623
... 17.9.1 ... Xinerama und DualHead ...
623
... 17.9.2 ... X11 in einem Fenster ...
625
... 17.9.3 ... Mehrere X-Sessions ...
626
17.10 ... Becoming Root ... 626
17.11 ... Zusammenfassung ... 627
17.12 ... Aufgabe ... 627
18 ... Window-Manager und Desktops
... 629
18.1 ... Das KDE-Projekt ... 629
... 18.1.1 ... KDE starten und beenden
... 630
... 18.1.2 ... Das K-Panel ... 631
... 18.1.3 ... Softwarekomponenten ...
633
18.2 ... GNOME ... 636
... 18.2.1 ... Softwarekomponenten ...
637
18.3 ... XFCE ... 637
18.4 ... WindowMaker ... 638
... 18.4.1 ... Dock-Apps und
Programmstart ... 638
18.5 ... Weitere Window-Manager ...
639
... 18.5.1 ... FVWM, FVWM2, FVWM95 ...
639
... 18.5.2 ... Blackbox, Fluxbox und Co.
... 640
18.6 ... Zusammenfassung ... 643
18.7 ... Aufgaben ... 643
19 ... X11-Programme ... 645
19.1 ... Office-Umgebungen ... 645
... 19.1.1 ... OpenOffice.org ... 645
... 19.1.2 ... KOffice ... 648
19.2 ... LaTeX ... 650
... 19.2.1 ... Ein erstes Dokument ...
651
... 19.2.2 ... Dokumente übersetzen ...
653
... 19.2.3 ... Das erste richtige
Dokument ... 654
... 19.2.4 ... Weitere Funktionalitäten
... 655
... 19.2.5 ... Warum LaTeX? ... 658
19.3 ... Editoren ... 659
... 19.3.1 ... Nedit und gedit ... 659
... 19.3.2 ... kate ... 660
19.4 ... Weitere populäre Tools ...
661
... 19.4.1 ... The GIMP – ein
Grafikprogramm ... 661
... 19.4.2 ... xchat – ein IRC-Client
... 662
... 19.4.3 ... k3b – CDs/DVDs brennen
... 664
... 19.4.4 ... Krusader – ein
Dateimanager ... 665
... 19.4.5 ... yakuake – ein
Quake-Terminal für KDE ... 666
19.5 ... Zusammenfassung ... 666
19.6 ... Aufgaben ... 667
20 ... Multimedia und Spiele ...
669
20.1 ... Grundlagen zu »Multimedia« ...
669
... 20.1.1 ... Integration ins System
... 669
... 20.1.2 ... Die richtige Hardware
kaufen ... 670
20.2 ... Audio ... 671
... 20.2.1 ... Bis Kernel 2.6 – OSS ...
671
... 20.2.2 ... Ab Kernel 2.6 – ALSA ...
673
20.3 ... Audiowiedergabe ... 674
... 20.3.1 ... Ausgabemöglichkeiten ...
674
... 20.3.2 ... MP3-Player und Co. ...
675
... 20.3.3 ... Text-to-Speech ... 677
20.4 ... Video ... 677
... 20.4.1 ... DVDs, DivX und Co. ...
677
... 20.4.2 ... MPlayer ... 678
... 20.4.3 ... XINE ... 680
... 20.4.4 ... vlc ... 681
20.5 ... Installation einer TV-Karte ...
682
20.6 ... Webcams und Webcam-Software ...
682
... 20.6.1 ... Beispiel: USB-IBM-Cam
einrichten ... 683
... 20.6.2 ... Webcam-Software ... 683
20.7 ... Drucken mit CUPS ... 685
... 20.7.1 ... Das BSD-Printing-System
... 685
... 20.7.2 ... Installation ... 686
... 20.7.3 ... Konfiguration ... 686
20.8 ... Spiele ... 688
... 20.8.1 ... Professionell spielen
unter Linux ... 688
... 20.8.2 ... Klassische
Unix/Linux-Spiele ... 689
... 20.8.3 ... Freie Spiele ... 692
20.9 ... Zusammenfassung ... 696
20.10 ... Aufgaben ... 696
TEIL V: ... PROGRAMMIERUNG UND
SICHERHEIT
21 ... Softwareentwicklung ... 699
21.1 ... Interpreter und Compiler ...
699
... 21.1.1 ... C und C++ ... 700
... 21.1.2 ... Perl ... 702
... 21.1.3 ... Java ... 703
... 21.1.4 ... Tcl ... 704
... 21.1.5 ... Was es sonst noch gibt
... 706
21.2 ... Shared Libraries ... 706
... 21.2.1 ... Vorteile der Shared
Libraries ... 707
... 21.2.2 ... Statisches Linken ...
707
... 21.2.3 ... Die Dateien ... 707
21.3 ... Debugging ... 708
... 21.3.1 ... Vorbereitung ... 708
... 21.3.2 ... Konsolenarbeit ... 709
... 21.3.3 ... ddd ... 712
21.4 ... Profiling ... 714
... 21.4.1 ... Compileroption ... 714
... 21.4.2 ... gprof verwenden ... 714
... 21.4.3 ... Profiling-Daten lesen ...
714
21.5 ... Tracing ... 716
21.6 ... Hilfe beim Finden von Bugs ...
717
... 21.6.1 ... ProPolice ... 719
... 21.6.2 ... flawfinder und RATS ...
720
... 21.6.3 ... Electric Fence ... 722
21.7 ... Integrierte
Entwicklungsumgebungen ... 723
21.8 ... make ... 726
... 21.8.1 ... Makefile ... 726
... 21.8.2 ... Makefile-Makros ... 730
... 21.8.3 ... Shell-Variablen in
Makefiles ... 730
... 21.8.4 ... Einzelne Targets
übersetzen ... 730
... 21.8.5 ... Spezielle Targets ...
731
... 21.8.6 ... Tipps im Umgang mit make
... 731
21.9 ... Die GNU Autotools ... 732
21.10 ... lex/flex und yacc/bison ...
735
... 21.10.1 ... flex grundlegend
anwenden ... 736
... 21.10.2 ... bison/yacc grundlegend
anwenden ... 739
21.11 ... Unix-Software veröffentlichen
... 740
... 21.11.1 ... Wichtige Dateien ...
741
21.12 ... Manpages erstellen ... 742
... 21.12.1 ... groff nutzen ... 742
... 21.12.2 ... Die Manpage installieren
... 744
21.13 ... Versionsmanagement ... 745
... 21.13.1 ... CVS ... 746
... 21.13.2 ... Subversion ... 749
21.14 ... Wichtige Bibliotheken ...
751
... 21.14.1 ... Entwicklung grafischer
Oberflächen ... 751
... 21.14.2 ... Weitere Bibliotheken ...
754
21.15 ... Zusammenfassung ... 755
21.16 ... Aufgaben ... 756
22 ... Crashkurs in C und Perl ...
759
22.1 ... Die Programmiersprache C – ein
Crashkurs ... 759
... 22.1.1 ... Hello World in C ...
761
... 22.1.2 ... Kommentare ... 763
... 22.1.3 ... Datentypen und Variablen
... 764
... 22.1.4 ... Operatoren ... 771
... 22.1.5 ... Bedingte Anweisungen ...
780
... 22.1.6 ... Schleifen ... 786
... 22.1.7 ... Funktionen ... 793
... 22.1.8 ... Präprozessor-Direktiven
... 796
... 22.1.9 ... Grundlagen der Zeiger
(Pointer) ... 802
... 22.1.10 ... Grundlagen der Arrays
... 806
... 22.1.11 ... Strukturen ... 807
... 22.1.12 ... Arbeiten mit
Zeichenketten (Strings) ... 810
... 22.1.13 ... Einlesen von Daten ...
812
... 22.1.14 ... FILE und das Arbeiten
mit Dateien ... 813
... 22.1.15 ... Das war noch nicht
alles! ... 817
22.2 ... Die Skriptsprache Perl ...
818
... 22.2.1 ... Aufbau eines Perl-Skripts
... 818
... 22.2.2 ... Variablen in Perl ...
820
... 22.2.3 ... Kontrollstrukturen ...
822
... 22.2.4 ... Subroutinen in Perl ...
828
... 22.2.5 ... Reguläre Ausdrücke in
Perl ... 830
... 22.2.6 ... Arbeiten mit dem
Dateisystem ... 833
22.3 ... Zusammenfassung ... 835
22.4 ... Aufgaben ... 836
23 ... Sicherheit ... 837
23.1 ... Sicherheitskonzepte ... 837
23.2 ... Unix und Sicherheit ... 837
... 23.2.1 ... Benutzer und Rechte ...
838
... 23.2.2 ... Logging ... 838
... 23.2.3 ... Netzwerkdienste ... 838
23.3 ... Grundlegende Absicherung ...
839
... 23.3.1 ... Nach der Installation ...
839
... 23.3.2 ... Ein einfaches
Sicherheitskonzept ... 840
23.4 ... Backups und Datensicherungen
... 841
... 23.4.1 ... Die Backup-Strategie ...
841
... 23.4.2 ... Die Software ... 843
23.5 ... Updates ... 844
23.6 ... Firewalls ... 845
... 23.6.1 ... Grundlagen ... 846
... 23.6.2 ... Firewalling unter Linux:
netfilter/iptables ... 849
... 23.6.3 ... Iptables im Detail ...
850
23.7 ... Proxyserver ... 858
... 23.7.1 ... Funktion ... 859
... 23.7.2 ... Einsatz ... 860
... 23.7.3 ... Beispiel: Squid unter
Linux ... 861
23.8 ... Virtuelle Private Netzwerke mit
OpenVPN ... 866
... 23.8.1 ... Pre-shared keys ... 867
... 23.8.2 ... Zertifikate mit OpenSSL
... 868
... 23.8.3 ... OpenVPN als Server
einrichten ... 869
... 23.8.4 ... OpenVPN als Client ...
871
23.9 ... Snort ... 872
... 23.9.1 ... Aufbau der Intrusion
Detection ... 875
... 23.9.2 ... snort.conf ... 875
23.10 ... Mails verschlüsseln: PGP und
S/MIME ... 883
... 23.10.1 ... PGP/GPG ... 883
... 23.10.2 ... S/MIME ... 890
23.11 ... Trojanische Pferde ... 890
23.12 ... Logging ... 891
... 23.12.1 ... Bei der Analyse Zeit
sparen ... 892
23.13 ... Partitionierungen ... 892
23.14 ... Restricted Shells ... 893
23.15 ... chroot ... 893
23.16 ... LKMs ... 894
23.17 ... Kernel-Erweiterungen und
gcc-propolice ... 894
... 23.17.1 ... gcc propolice ... 895
... 23.17.2 ... SeLinux und SeBSD ...
897
... 23.17.3 ... OpenWall (OWL) ... 897
... 23.17.4 ... grsecurity ... 897
... 23.17.5 ... PaX ... 897
23.18 ... Sichere Derivate und
Distributionen ... 898
... 23.18.1 ... Trusted Solaris (jetzt
Teil von Solaris) ... 899
... 23.18.2 ... OpenBSD ... 899
... 23.18.3 ... TrustedBSD ... 899
... 23.18.4 ... Hardened Gentoo ...
899
... 23.18.5 ... OpenWall ... 900
... 23.18.6 ... Adamantix ... 900
... 23.18.7 ... Hardened Linux ... 900
23.19 ... Zusammenfassung ... 900
23.20 ... Aufgaben ... 901
TEIL VI: ... SYSTEMINTERNA
24 ... Prozesse und IPC ... 905
24.1 ... Prozessarten ... 906
... 24.1.1 ... Hintergrundprozesse ...
906
... 24.1.2 ... Dämonprozesse ... 906
24.2 ... Prozesse in der Shell ... 907
... 24.2.1 ... Wechseln zwischen Vorder-
und Hintergrund ... 908
... 24.2.2 ... Jobs – behalten Sie sie
im Auge ... 909
... 24.2.3 ... Hintergrundprozesse und
Fehlermeldungen ... 910
... 24.2.4 ... Wann ist es denn endlich
vorbei? ... 911
24.3 ... Prozesse und Signale ... 911
... 24.3.1 ... Das Syscall-Interface ...
912
... 24.3.2 ... Signale von der
Kommandozeile senden: kill ... 913
... 24.3.3 ... Welche Signale gibt es?
... 913
... 24.3.4 ... Die Rechte ... 914
... 24.3.5 ... In der Praxis: Signale
empfangen ... 914
24.4 ... Prozesse finden und verarbeiten
... 916
... 24.4.1 ... top ... 916
... 24.4.2 ... ps und pstree ... 918
... 24.4.3 ... pgrep, pidof und pkill
... 922
24.5 ... Prozesse, Scheduling und
Prioritäten ... 924
... 24.5.1 ... Das Scheduling ... 924
... 24.5.2 ... nice und renice ... 925
... 24.5.3 ... Echtzeit-Scheduling unter
Linux ... 926
24.6 ... IPC im Detail ... 927
... 24.6.1 ... Pipes und FIFOs ... 928
... 24.6.2 ... Semaphore ... 929
... 24.6.3 ... Message Queues ... 932
... 24.6.4 ... Shared Memory ... 934
... 24.6.5 ... Unix-Domain-Sockets ...
936
24.7 ... Zusammenfassung ... 938
24.8 ... Aufgaben ... 938
25 ... Bootstrap und Shutdown ...
939
25.1 ... Was ist der Bootstrap-Vorgang?
... 939
25.2 ... Hardwareboot ... 939
25.3 ... Bootcode ... 940
... 25.3.1 ... Die Partitionstabelle ...
941
... 25.3.2 ... Ein Beispiel ... 942
25.4 ... Bootmanager ... 942
... 25.4.1 ... Grub ... 943
... 25.4.2 ... LILO ... 945
25.5 ... Startphase des Kernels ...
946
25.6 ... init ... 951
... 25.6.1 ... Linux und init ... 953
... 25.6.2 ... BSD und init ... 960
25.7 ... Upstart ... 963
... 25.7.1 ... Jobs ... 963
25.8 ... getty ... 964
25.9 ... login ... 966
... 25.9.1 ... Shell-Start ... 967
... 25.9.2 ... Beenden einer
Terminal-Sitzung ... 967
25.10 ... System-Shutdown ... 968
... 25.10.1 ... halt, reboot und
poweroff ... 969
... 25.10.2 ... shutdown ... 969
25.11 ... Zusammenfassung ... 970
25.12 ... Aufgaben ... 971
26 ... Dateisysteme ... 973
26.1 ... Der Aufbau von Speichermedien
... 973
... 26.1.1 ... Die physikalische
Struktur ... 973
... 26.1.2 ... Die logische Struktur ...
974
... 26.1.3 ... Integration ins VFS ...
975
26.2 ... Dateisysteme ... 976
... 26.2.1 ... ext2, ext3 und reiserfs
... 976
... 26.2.2 ... FFS und UFS/UFS2 ...
977
... 26.2.3 ... ISO 9660 ... 978
... 26.2.4 ... Loop Device und Ramdisk
... 978
... 26.2.5 ... Swap ... 980
... 26.2.6 ... DevFS ... 982
... 26.2.7 ... ProcFS ... 982
... 26.2.8 ... NFS ... 982
... 26.2.9 ... Ecryptfs ... 983
... 26.2.10 ... Weitere Dateisysteme ...
984
26.3 ... Dateitypen ... 985
... 26.3.1 ... Reguläre Dateien ...
985
... 26.3.2 ... Verzeichnisse ... 986
... 26.3.3 ... Links ... 987
... 26.3.4 ... Sockets ... 989
... 26.3.5 ... Named Pipes ... 989
... 26.3.6 ... Gerätedateien ... 989
26.4 ... Inodes ... 989
... 26.4.1 ... Die Metadaten ... 990
... 26.4.2 ... Alternative Konzepte ...
991
26.5 ... Administration ... 992
... 26.5.1 ... qtparted und gparted ...
992
... 26.5.2 ... disklabel ... 993
... 26.5.3 ... hdparm ... 996
... 26.5.4 ... fdisk und cfdisk ...
997
... 26.5.5 ... Das Tool cfdisk ... 999
... 26.5.6 ... mkfs ... 999
... 26.5.7 ... tune2fs ...1000
... 26.5.8 ... fsck ... 1000
26.6 ... Praktische Beispiele ... 1001
... 26.6.1 ... ZIP-Laufwerke ... 1001
... 26.6.2 ... Neue Festplatten
integrieren ...1002
... 26.6.3 ... Eine Datei als
Dateisystem: Loop Device ...1002
... 26.6.4 ... USB-Sticks und -Platten,
Digitalkameras und Co. ... 1005
... 26.6.5 ... Das Device ansprechen ...
1005
26.7 ... Zusammenfassung ... 1006
26.8 ... Aufgaben ...1006
27 ... Virtualisierung und
Emulatoren ...1007
27.1 ... Emulatorsoftware ... 1007
... 27.1.1 ... WINE und Cedega ...
1007
27.2 ... Virtual Machine Software ...
1008
... 27.2.1 ... Qemu ... 1008
... 27.2.2 ... Weitere Lösungen ...
1011
27.3 ... Oldie-Emulatoren und Sonstiges
...1011
27.4 ... Xen ...1013
27.5 ... Zusammenfassung ... 1014
TEIL VII: ... ANHANG
A ... Die Installation ... 1019
A.1 ... Grundlegendes ...1019
... A.1.1 ... Unterstützte Hardware ...
1019
... A.1.2 ... Platz auf der Platte ...
1020
A.2 ... Linux: Debian-Installation ...
1021
... A.2.1 ... Der Beginn der
Installation ...1021
... A.2.2 ... Die Partitionierung ...
1021
... A.2.3 ... Arbeiten nach der
Installation ...1022
A.3 ... Linux: Slackware-Installation
...1024
... A.3.1 ... Nach dem CD-Boot ...1024
... A.3.2 ... Setup ...1025
... A.3.3 ... Konfiguration ... 1026
A.4 ... Linux: SuSE-Installation
...1027
A.5 ... BSD: OpenBSD-Installation ...
1028
... A.5.1 ... Booten ... ... 1028
B ... Lösungen zu den einzelnen
Aufgaben ... 1033
B.1 ... Lösungen zu Kapitel 1 ... 1033
B.2 ... Lösungen zu Kapitel 2 ... 1033
B.3 ... Lösungen zu Kapitel 3 ... 1034
B.4 ... Lösungen zu Kapitel 4 ... 1035
B.5 ... Lösungen zu Kapitel 5 ... 1036
B.6 ... Lösungen zu Kapitel 7 ... 1036
B.7 ... Lösungen zu Kapitel 8 ... 1038
B.8 ... Lösungen zu Kapitel 9 ... 1039
B.9 ... Lösungen zu Kapitel 10 ...1041
B.10 ... Lösungen zu Kapitel 11
...1042
B.11 ... Lösungen zu Kapitel 12
...1042
B.12 ... Lösungen zu Kapitel 14
...1043
B.13 ... Lösungen zu Kapitel 15
...1044
B.14 ... Lösungen zu Kapitel 16
...1046
B.15 ... Lösungen zu Kapitel 19
...1046
B.16 ... Lösungen zu Kapitel 20
...1047
B.17 ... Lösungen zu Kapitel 21
...1047
B.18 ... Lösungen zu Kapitel 22
...1049
B.19 ... Lösungen zu Kapitel 23
...1051
B.20 ... Lösungen zu Kapitel 24
...1051
B.21 ... Lösungen zu Kapitel 25
...1052
B.22 ... Lösungen zu Kapitel 26 ...1053
C ... Kommandoreferenz ...1055
D ... X11-InputDevices ...1081
E ... MBR ... 1083
F ... Die Buch-DVDs ...1085
F.1 ... Was ist auf welcher DVD? ...
1085
F.2 ... Benutzung der DVDs ... 1086
... F.2.1 ... Wenn die DVD nicht bootet
... 1086
G ... Glossar ... 1087
H ... Literatur ...1091
Index ... 1095
Zurück zu »Linux«
|
|
|
 |
|
|
 |