[Login] [Registrieren] [Passwort vergessen] 01
 
 






Geprüfter Online-Shop

Galileo Computing. Wissen, wie’s geht.


Zum Buch Linux 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«


 
Unser Buchtipp
Java 7 – Mehr als eine Insel
Java 7 – Mehr als eine Insel
 


Bestseller
Android-Apps entwickeln
Besser PHP programmieren
Computer-Netzwerke
Einstieg in Visual Basic 2010
WordPress 3
[weitere]
 

Neue Bücher
Einstieg in PHP 5.4 und MySQL 5.5
PHP 5.4 und MySQL 5.5
Linux
Spielend Visual Basic lernen
Besser PHP programmieren
[weitere]
 

 




 

 
 
Kontakt
Kundenservice
Ihre Rückmeldung
Hilfe (FAQ)
Autor werden
Presse
Der Verlag
Über Galileo Press
Das Team
Jobs
Rechtliches
AGB & Widerrufsrecht
Datenschutz
Impressum
 

Besuchen Sie uns auch auf
Besuchen Sie uns auf facebook Besuchen Sie uns auf Google+ Folgen Sie uns auf Twitter Besuchen Sie unseren YouTube-Channel Folgen Sie unserem RSS-Feed
 
 


 
 
Copyright © 2011 Galileo Press GmbH
Rheinwerkallee 4, 53227 Bonn
Telefon +49.228.42150.0 • Fax +49.228.42150.77
info@galileo-press.de
Die Websites von Galileo Press
Galileo Computing  •  Galileo Design  •  SAP PRESS
Galileo Press  •  Galileo Press Inc.
Galileo Video-Trainings
 
 

Galileo Press