Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Arnold Willemer
Wie werde ichUNIX-Guru?
Inhalt
Vorwort 19
1 Das Thema UNIX 25
1.1 Besonderheiten von UNIX 25
1.1.1 Dateien und Verzeichnisse 25
1.1.2 Das offene System 25
1.1.3 AAehrbenutzersystem 26
1.1.4 Datei rechte 27
1.1.5 Der Administrator 28
1.1.6 Verzeichnisbaum und Speichermedien 29
1.2 Die UNIX-Varianten 31
1.2.1 AT&T 31
1.2.2 UNIX an der Uni 32
1.2.3 UNIX wird kommerziell 32
1.2.4 Die Rache der Enterbten 33
1.2.5 Mac OSX 361.2.6 UNIX wird verkauft 38
Teil 1 Anwendung 39
2
2.1
2.1.1
2.1.2
2.1.3
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8
2.3
2.3.1
Desktops 41Gemeinsamkeiten 42
Tierhaltung: Die Maus 43
Fenster ohne Durchsicht 44
Menüs ohne Kalorien 48
KDE 49
Anmeldung 49
Übersicht 50
Das Panel 51
Programme und Fenster 52
Desktop und Konqueror 53
Konfiguration 60
Terminalsitzung 62
Verlassen 63
GNOME 63
Anmelden 63
Inhalt 5
2.3.22.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
2.5.7
2.5.8
Übersicht 63Das Panel 64
Desktop und Icons 66
Der Dateimanager Nautilus 67
Terminalfenster 69
Verlassen 70
Mac OS X 70
Der Finder 72
Das Dock 74
Terminalbetrieb 75
CDE 76
Anmeldung 76
Übersicht 76
Panel 77
Das Menü 78
Fenster und Symbole 78
Dateimanager 78
Werkzeuge 81
Terminalsitzung 81
3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.3
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.6
Alle Macht den Tasten 83
Personenkontrolle 83
Fragen Sie Dr. UNIX 85
Referenzhandbuch man 85
info 88
Howto 90
Internet 90
So sage ich es meinem UNIX 91
Operationen mit Dateien 92
Eine kleine Beispielsitzung 93
Dateien anzeigen: Is 95
Dateien kopieren: cp 97
Dateien verschieben oder umbenennen: mv 98
Dateien löschen: rm 99
Verzeichnisbefehle: mkdir, rmdir, cd und pwd 99
Der UNIX-Verzeichnisbaum 100
Navigation 100
Ein Blick unter die Haube: i-nodes 101
Was ist wo? 102
Suche im Verzeichnisbaum: find 104
Dateieigenschaften 108
3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.7
3.7.1
3.7.2
3.8
3.8.1
'3.8.2
3.9
3.9.1
3.9.2
3.9.3
3.9.4
3.10
3.10.1
3.10.2
3.10.3
3.10.4
3.10.5
3.10.6
3.10.7
3.10.8
3.10.9
3.1'
3.12
3.12.1
3.12.2
3.12.3
3.13
3.13.1
3.13.2
3.13.3
3.13,
3.14
3.15
3.15.1
6 Inhalt
3.6.1 Eigentümer wechseln: chown und chgrp 108
3.6.2 Berechtigungen: chmod 109
3.6.3 Neuer Zeitstempel: touch 113
3.6.4 Links: Zwei Namen, eine Datei 114
3.6.5 Besondere Dateien 117
3.6.6 Der Dateityp: file 118
3.7 Zugriff auf mehrere Objekte 118
3.7.1 Wildcards: *, ? und die eckigen Klammern 118
3.7.2 Sonderzeichen als Parameter 119
3.8 Editoren 120
3.8.1 vi 120
3.8.2 emacs 130
3.9 UNIX-Kommandos verknüpfen 132
3.9.1 Ein- und Ausgabe als Datenstrom 133
3.9.2 Umleitung 133
3.9.3 Piping 135
3.9.4 Verschachtelte Befehlsargumente 136
3.10 Praktische Helfer 137
3.10.1 Ausgabe einer Datei: cat 137
3.10.2 Seitenweise: more 137
3.10.3 Durchsuchungsbefehl: grep 138
3.10.4 Wenn ich auf das Ende sehe: tail 139
3.10.5 Wortzähler: wc 139
3.10.6 sort 139
3.10.7 sed 140
3.10.8 awk 1443.10.9 Weitere Werkzeuge im Überblick 148
3.11 Reguläre Ausdrücke 148
3.12 Pack deine Sachen und geh ... 152
3.12.1 Verschnüren: tar 152
3.12.2 Zusammenpressen: compress und gzip 154
3.12.3 Kombination aus Packen und Pressen 154
3.13 Prozesse 155
3.13.1 Hintergrundbearbeitung und Reihenfolge 155
3.13.2 Prioritäten: nice 157
3.13.3 Ausloggen bei laufendem Prozess: nohup 158
3.13.4 Prozessliste anzeigen: ps 158
3.13.5 Stoppen eines Prozesses: kill 159
3.13.6 Programmabbruch 160
3.14 Umgebungsvariablen 161
3.15 Die Shell 164
3.15.1 alias 165
Inhalt 7
3.15.2 Startupdateien der Shell 165
3.15.3 Bourne-Shell (sh) und POSIX 166
3.15.4 Korn-Shell (ksh) 166
3.15.5 C-Shell (csh) 170
3.15.6 Bourne-Again-Shell (bash) 172
3.16 Ausgaben auf dem Drucker 174
3.16.1 BSD-Unix: Ipr, Ipq und Iprm 174
3.16.2 AT&T: Ip, Ipstat und cancel 176
3.16.3 Die neue Generation: LPRng und CUPS 176
3.16.4 Druck formatieren: pr und a2ps 176
3.17 Zeitversetztes Arbeiten 177
3.17.1 Die aktuelle Zeit 177
3.17.2 Regelmäßige Arbeiten: crontab 179
3.17.3 Zeitversetzter Job: at 180
4 Anwendersoftware für UNIX 181
4.1 Office: Textverarbeitung, Kalkulation 181
4.1.1 StarOffice und OpenOffice.org 182
4.1.2 Weitere Office-Pakete 197
4.1.3 Acrobat Reader und PDF-Dateien 199
4.1.4 Das Satzsystem T̂ X 200
4.2 Termine und Adressen 206
4.2.1 Anschluss eines PDAs 206
4.2.2 Evolution 207
4.2.3 KDE: KDE-Adressbuch und KOrganizer 209
4.2.4 J-Pilot 211
4.3 Grafik 211
4.3.1 Bildbearbeitung: GIMP 212
4.3.2 Scannen 214
4.4 Internet 215
4.4.1 Webbrowser 216
4.4.2 E-Mail-Client 217
4.4.3 Evolution 219
4.4.4 Newsgroups: Pan und KNode 221
4.5 Musik 223
4.5.1 Musik aufnehmen 223
4.5.2 MP3 225
4.6 CDs und DVDs 226
4.6.1 Audio-CDs abspielen 226
4.6.2 Audio-CDs auslesen 226
4.6.3 Daten-CDs einbinden 226
5.15.1.1
5.1.2
5.25.2.15.2.2
5.35.3.15.3.25.3.35.3.45.3.55.3.65.3.75.3.8
5.45.4.15.4.2
5.5
5.5.1
5.5.2
5.5.3
5.5.4
5.5.5
5.5.65.5.75.5.85.5.95.5.105.5.11
5.65.6.1
5.6.2
5.6.3
8 Inhalt
4.6.4 CDs brennen mit K3b 227
4.6.5 Audio-CDs von der Konsole brennen 229
Teil 2 Administration 231
5.15.1.15.1.2
5.2
5.2.1
5.2.2
5.35.3.15.3.25.3.35.3.45.3.55.3.65.3.75.3.8
5.45.4.15.4.2
5.55.5.15.5.25.5.35.5.45.5.55.5.65.5.75.5.85.5.95.5.105.5.11
5.65.6.15.6.25.6.3
Administration 233
Die Arbeitsumgebung des Administrators 233
AAinimalsystem 233
Vorsätzliche Behinderung 234
Administrationstools 235
Start über X11 236
Einige Administrationstools kurz vorgestellt 238
Start des Systems 247
Bootprompt 248
Bootkonfiguration: lilo 249
Der Boot-Manager GRUB 250
Bootprobleme 252
Durchlaufen der Runlevel (System V) 252
BSD: /etc/rc 254
System V: init.d 255
Konfigurationsdateien 258
Herunterfahren: shutdown 259
Alles bereit zum Untergang? 260
Wechsel in den Single-User-Modus 260
Benutzerverwaltung 261
Benutzerverwaltung unter UNIX 261
Die Benutzerdatei /etc/passwd 263
Verborgene Passwörter: shadow 266
Benutzerpflege automatisieren 267
Benutzer-Konfigurationsdateien 268
Verzeichnisprototyp: /etc/skel 270
Gruppenverwaltung 271
Benutzerüberwachung 272
Kurzfristiger Benutzerwechsel: su 274
Administrationsaufgaben starten: sudo 275
Pseudobenutzer zum Shutdown 278
Hardwarezugriff unter UNIX:/dev 279
Aufgaben eines Treibers 279
Gerätedateien 280
Umgang mit Gerätedateien 281
Inhalt 9
5.6.4
5.7
5.7.1
5.7.2
5.7.3
5.7.4
5.7.5
5.7.6
5.7.7
5.7.8
5.7.9
5.7.10
5.7.11
5.7.12
5.7.13
5.8
5.8.1
5.8.2
5.8.3
5.8.4
5.9
5.10
5.10.1
5.10.2
5.10.3
5.10.4
5.10.5
5.11
5.12
5.12.1
5.12.2
5.12.3
5.12.4
5.13
5.13.1
5.13.2
5.13.3
5.13.4
5.13.5
5.13.6
5.13.7
5.13.8
Gerätenamen 283
Festplatten 283
SCSI-Platten 284
IDE-Platten 285
Inbetriebnahme 286
RAID-Systeme 287
Partitionieren 291
Dateisystem erstellen 292
Swapping 294
Einbinden eines Dateisystems: mount 296
Konsistenz der Dateisysteme 301
Journal-Dateisysteme 302
Belegungslisten: df und du 304
Zuteilung des Plattenplatzes: quota 305
Maximalwerte 307
Diskettenlaufwerke 309
Formatieren und Beschreiben 309
mount und eject 310
tar und sync 310
MS-DOS-Disketten 310
CD-ROMs 312
CD-Brenner 312
Datensicherung 313
RW-Medien 316
Multisession 317
ATAPI-Brenner 317
Daten-DVDs brennen 320
USB-Sticks 320
Notebooks 321
PCMCIA 322
Ruhezustand 323
Problematische Peripherie 324
Software für den Akku 325
Datensicherung 327
Vorüberlegungen 327
Das Bandlaufwerk 329
dump 331
tar (tape archiver) 335
cpio 339
Medien kopieren: dd 342
Andere Sicherungstools: AMANDA 342
Beispiel für eine Sicherung auf CD-RW 345
5.14
5.14.1
5.14.2
5.14.3
5.14.4
5.15
5.15.1
5.15.2
5.15.3
5.15.4
5.15.5
5.16
5.16.1
5.16.2
5.16.3
5.16.4
5.16.5
5.16.6
5.17
5.17.1
5.17.2
5.17.3
5.17.4
5.17.5
5.18
5.19
5.19.1
5.19.2
5.20
5.20.1
5.20.2
5.20.3
5.20.4
5.20.5
5.20.6
5.20.7
5.20.8
5.20.9
5.20.10 Pro£
5.20.11 Syst
1O Inhalt
5.14 Software installieren 347
5.14.1 make als Installationswerkzeug 348
5.14.2 Solaris Packages 349
5.14.3 HP-UX: SD-UX 349
5.14.4 Red Hat Package Manager 350
5.15 Betriebssystem installieren 352
5.15.1 Installation mit Debian 354
5.15.2 Installation von FreeBSD 358
5.15.3 Installation von Red Hat Linux über das Netzwerk 359
5.15.4 Installation von Solaris/86 362
5.15.5 Neuinstallation HP-UX 364
5.16 Druckeradministration 366
5.16.1 Übersicht 367
5.16.2 BSD-Unix: Ipd, Ipr, Ipq und Iprm 367
5.16.3 Linux-PC als Druckserver 371
5.16.4 System V: Ipsched, Ip, Ipstat und cancel 374
5.16.5 LPRng 378
5.16.6 CUPS - Common UNIX Printing System 379
5.17 Terminals 384
5.17.1 Konfiguration der Terminals 385
5.17.2 Die Terminalvariable TERM 387
5.17.3 termcap 387
5.17.4 terminfo 389
5.17.5 Wenn das Terminal durcheinander ist 389
5.18 Anschluss eines Modems 390
5.19 Tuning 391
5.19.1 Optimierung des Dateisystems 391
5.19.2 Wissen, wo der Schuh drückt 394
5.20 Informationen sammeln 399
5.20.1 Versionsinformationen: uname 400
5.20.2 Der syslog-Dämon und die messages-Datei 400
5.20.3 Umgang mit großen Protokolldateien 403
5.20.4 Briefe aus dem Nirvana 406
5.20.5 Bootzeitpunkt und Systemlast: uptime 406
5.20.6 Prozessbeobachter 407
5.20.7 Nicht immer mit Tötungsabsicht: kill 412
5.20.8 Offene Dateien 414
5.20.9 Das Verzeichnis/proc 415
5.20.10 Programmzusammenbrüche (Coredump) 417
5.20.11 Systemabsturz (Kernel-Panic) 417
Inhalt 11
5.21 Der Kernel 418
5.21.1 Module 419
5.21.2 Dynamische Bibliotheken 421
Teil 3 Netzwerk 423
6.1
6.1.1
6.1.2
6.1.3
6.2
6.2.1
6.2.2
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.3.5
6.3.6
6.4
6.4.1
6.4.2
6.4.3
6.4.4
6.4.5
6.4.6
6.5
6.6
6.6.1
6.6.2
6.6.3
6.6.4
6.6.5
6.6.6
6.7
6.7.1
6.7.2
6.7.3
12 Inhalt
Netzwerk 425
Client-Server-Architekturen 426
Ethernet als Verkabelungsbeispiel 426
Die PseudoSchnittstelle loopback 428
Pakete in Paketen 428
TCP/IP, der Standard 428
DieTCP/IP-Nummer 428
Das Prüftool ping 436
Routing: Verbindung mehrerer Netzwerke 438
Gateways 439
Statische Festlegung einer Route 439
Statisches Routing: Ein Beispiel 441
Subnetze 447
Dynamisches Routen 450
CIDR-Classless Inter-Domain Routing 451
Namensauflösung 452
Der Host- und Domainname 452
Die Datei /etc/hosts 453
Die Datei /etc/services 454
Netzgruppen: /etc/netgroup 456
Domain Name Service: DNS 457
Network Information Service: NIS 467
Next Generation IPv6 471
Die Grundausstattung an Bordwerkzeug 474
ICMP und ping 474
Verbindung zwischen Prozessen: netstat 476
Anzeigen der Netzwerkadapter 477
Anzeigen der Routingtabelle 478
Routen verfolgen: traceroute 479
HP-UX: lanadmin 479
TCP/lP-Dienste 479
Super-Server inetd und xinetd 480
File Transfer Protocol (FTP) 482
Anonymer FTP-Server 487
6.7.4
6.7.5
6.7.6
6.7.7
6.7.8
6.7.9
6.7.10
6.7.11
6.7.12
6.7.13
6.8
6.8.1
6.8.2
6.9
6.9.1
6.9.2
6.9.3
6.9.4
6.9.5
6.9.6
6.9.7
6.9.8
6.9.9
6.9.10
6.9.11
6.9.12
6.9.13
6.9.14
6.9.15
6.10
6.10.1
6.10.2
6.10.3
6.10.4
6.10.5
6.10.6
6.10.7
6.11
6.11.1
6.11.2
6.11.3
6.11.4
6.11.
6.7.4 TFTP, schnell und vertrauensvoll 487
6.7.5 Terminaldienst (telnet) 488
6.7.6 Die r-Kommandos 489
6.7.7 Wenn Sicherheit vorgeht: die ssh und scp 493
6.7.8 NFS - Network File System 498
6.7.9 Automatisches Mounten 502
6.7.10 SAMBA: UNIX Fm Windows-Netz 505
6.7.11 Novell-Zugriffe 523
6.7.12 Mac im Netz: netatalk 5256.7.13 Zeitabgleich 526
6.8 Dynamische TCP/IP-Nummern (DHCP) 528
6.8.1 DHCP-Clients 528
6.8.2 DHCP-Server 529
6.9 E-Mail 5306.9.1 Einzelplatz mit Wählverbindung 530
6.9.2 Format einer E-Mail 532
6.9.3 UNIX und Mail 534
6.9.4 SMTP (Simple Mail Transport Protocol) 534
6.9.5 Mailqueue 5356.9.6 Verteilen der Post: sendmail -q 5366.9.7 Weiterleiten der Post: aliases und forward 5376.9.8 Lokale Mail lesen 5386.9.9 POP3 5396.9.10 IMAP 541
6.9.11 Post sammeln: fetchmail 543
6.9.12 Mail-Server und Domain 544
6.9.13 Erstes Beispiel: Interne Firmenmail 545
6.9.14 Zweites Beispiel: Anbindung an das Internet 546
6.9.15 Postfix, die Alternative zu sendmail 548
6.10 Newsgroups 551
6.10.1 News lesen 5526.10.2 Installation des Newsservers inn 553
6.10.3 Beispiel: Newsserver zur Projektverwaltung 556
6.10.4 Gruppen anlegen 557
6.10.5 Verbindung nach außen 558
6.10.6 Newsgroups saugen 559
6.10.7 NNTP-Protokollbeschreibung 562
6.11 Jeder Rechner ist ein eigener Webserver 565
6.11.1 Hypertext und HTML 566
6.11.2 Start des Servers 570
6.11.3 Die Konfigurationsdatei httpd.conf 571
6.11.4 Privatadministration per .htaccess 574
6.11.5 Kommunikation per HTTP 577
Inhalt 13
6.11.6 Virtuelles Hosting 580
6.11.7 CGI: Der Server schlägt zurück 581
6.12 Allgemeines zum Internet-Anschluss 585
6.13 Firewall und Masquerading 5876.13.1 Funktionsweise einer Firewall 588
6.13.2 Masquerading 591
6.14 Proxy 592
7.67.6.1
7.6.2
7.6.3
7.6.4
Teil 5
DaX-F
X-S
Gn
Thi
Prc
Teil 4 Das X Window System 597 8
7.17.1.17.1.27.1.37.1.4
7.27.2.17.2.27.2.3
7.37.3.17.3.27.3.37.3.47.3.5
7.47.4.17.4.27.4.37.4.47.4.57.4.6
7.5
7.5.17.5.27.5.37.5.47.5.5
14 Inhalt
Das X Window System 599
Grafische Oberfläche unter UNIX 599
X, Fenstermanager, Widget Sets und Desktop 601
Der X-Server 602
Der Fenstermanager 603
Der X-Client und seine Bibliotheken 604
X Window starten 607
Nacktstart mit xinit 607
Regulärer Start von X: startx 608
Grafisches Einloggen: Display Manager xdm 608
Umgang mit dem X Window System 610
Bedienungselemente des Athena Widget Set 610
Der Aufruf von X-Programmen 613
Cut and Paste 615
Das Terminalfenster xterm 616
Weitere praktische Helfer 619
Konfigurieren 619
Farbbeschreibung 619
Schriften 620
Bitmaps 623
Ressourcen 623
Konfiguration des Fenstermanagers 626
Fokus und Z-Anordnung 627
Desktops 628
CDE 628
KDE 629
GNOME 632
Der Wettstreit der freien Desktops 633
Mac OS X 634
8.1
8.28.2.18.2.28.2.38.2.4
8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5
8.3.6
8.3.7
8.4
8.5
8.6
9.1
9.29.2.19.2.29.2.39.2.49.2.59.2.6
9.39.3.19.3.2
7.6 Das X Window System im Netz 634
7.6.1 X-Programme über das Netz starten 634
7.6.2 X-Server-Software in Betrieb nehmen 636
7.6.3 Grafisches Einloggen über das Netz 637
7.6.4 Thin Client 641
Teil 5 Programmierung 643
8 Programmierung von Shellskripten 645
8.1 Erstellen und Starten eines Shellskripts 645
8.2 Variablen 646
8.2.1 Zugriff auf die Parameter 647
8.2.2 Prozessnummern 647
8.2.3 Weitere Standardvariablen 648
8.2.4 Zuweisungen 649
8.3 Ablaufsteuerung 650
8.3.1 Die Unterscheidung: if 650
8.3.2 Bedingungen 651
8.3.3 Rückgabewert von Programmen 654
8.3.4 Die Fallunterscheidung: case 654
8.3.5 Die while-Schleife 655
8.3.6 Die for-Schleife 657
8.3.7 Funktionen 658
8.4 Gruppieren von Anweisungen 660
8.5 Ein- und Ausgaben aus dem Skript 661
8.6 Start und Umgebung von Skripten 662
9 Perl 665
9.1 Interpreter und Skript 665
9.2 Variablen 666
9.2.1 Skalare 666
9.2.2 Variablennamen 668
9.2.3 Operationen auf Skalare 669
9.2.4 Arrays 670
9.2.5 Hash 673
9.2.6 Reguläre Ausdrücke 674
9.3 Interaktiv 674
9.3.1 Ein- und Ausgabe 675
9.3.2 Aufrufparameter 675
Inhalt 15
9.3.3 Umgebungsvariablen 676
9.4 Ablaufsteuerung 676
9.4.1 Bedingungen 677
9.4.2 if 678
9.4.3 for 679
9.4.4 foreach 681
9.4.5 Sonstige Schleifen: while und until 682
9.4.6 Funktionen 684
9.5 Dateien 685
9.5.1 Schreiben und Lesen 685
9.5.2 Umgang mit Dateien 687
9.6 Perl und UNIX 688
9.6.1 Aufruf von UNIX-Programmen 688
9.6.2 UNIX-Systemprogrammierung 689
9.7 Grafische Oberfläche: Tk 689
9.7.1 Widgets und Ressourcen 690
9.7.2 Kontrollelemente 691
9.7.3 Widget-Anordnung 699
9.8 Zugriff auf die Datenbank 701
9.9 Informationsquellen 703
10 Programmierwerkzeuge 705
10.1 C-Compiler 705
10.2 make 708
10.3 Debugger 713
10.3.1 dbx 714
10.3.2 adb (System V) 714
10.3.3 gdb GNU debug 715
10.4 Analysewerkzeuge 717
10.4.1 Systemaufrufe verfolgen: strace und Itrace 717
10.4.2 Speicherlecks und-Überläufe 718
10.5 Versionsverwaltung 719
10.5.1 SCCS (Source Code Control System) 719
10.5.2 RCS (Revision Control System) 720
10.5.3 Zusammenspiel mit make 721
10.5.4 CVS (Concurrent Versions System) 721
10.5.5 UNIX als CVS-Server 724
10.6 Diverse Programmierhelfer 726
10.6.1 Kurzbetrachtung: lex und yacc 727
10.6.2 Unterschiede zwischen Textdateien: diff 727
11
11.1
11.1.1
11.1.2
11.2
11.3
11.3.1
11.3.2
11.3.3
11.3.4
11.3.5
11.3.6
11.3.7
11.3.8
11.3.9
11.3.10
11.4
11.4.1
11.4.2
11.4.3
11.4.4
11.5
11.5.1
11.5.2
11.5.3
11.5.4
11.5.5
11.5.6
11.5.7
11.5.8
11.5.9
11.6
11.6.1
11.6.2
11.6.3
11.6.4
11.7
11.7.1
11.7.2
16 Inhalt
10.6.3 Dateien aufs Byte geschaut 728
11 UNIX-Systemaufrufe 731
11.1 Die Funktion main 731
11.1.1 Aufrufparameter 731
11.1.2 Zugriff auf die Ümgebungsvariablen 733
11.2 Fehlerbehandlung: errno 734
11.3 Dateizugriffe 735
11.3.1 Öffnen, Lesen und Schreiben 735
11.3.2 Positionieren: Iseek 738
11.3.3 Dateihandle duplizieren: dup 739
11.3.4 Datei-Eigenschaften ermitteln 739
11.3.5 Datei-Eigenschaften ändern 743
11.3.6 Sperren 744
11.3.7 Link erzeugen: link, symlink 750
11.3.8 Löschen: unlink 751
11.3.9 Umbenennen: rename 751
11.3.10 Temporäre Dateien 751
11.4 Verzeichnisse 752
11.4.1 Auslesen: opendir, readdir, closedir 752
11.4.2 Ermitteln des Arbeitsverzeichnisses 753
11.4.3 Wechseln: chdir 754
11.4.4 Anlegen und Löschen: mkdir, rmdir 754
11.5 Prozesse 754
11.5.1 Multiprocessing contra Multithreading 755
11.5.2 Vervielfältigen von Prozessen: fork 756
11.5.3 exec und system 757
11.5.4 Synchronisation: wait 758
11.5.5 Prozessumgebung 759
11.5.6 Gemeinsamer Speicher: Shared Memory 761
11.5.7 Synchronisation mit Semaphoren 766
11.5.8 Message Queues 770
11.5.9 Leichtgewichtsprozesse: Threads 774
11.6 Signale 778
11.6.1 Signale senden: kill 780
11.6.2 Auf Signale warten: pause 780
11.6.3 Timeout setzen: alarm 780
11.6.4 Zombies vereiteln 780
11.7 Pipe 781
11.7.1 Prozesskommunikation per Pipe 781
11.7.2 Named Pipe oder FIFO 782
Inhalt 17
11.7.3 Drucken unter UNIX 782
11.8 Fehlerbehandlung mit syslog 783
11.9 Zeitfunktionen 785
11.10 Benutzer und Gruppen 786
11.10.1 Die Passwortdatei als Struktur 787
11.10.2 Auslesen der Passwortdatei 787
11.10.3 Gruppen 788
11.11 Grundlagen der Dämonisierung 790
11.12 Client-Server-Socketprogrammierung 790
11.12.1 Kommunikationsendpunkt: socket und close 792
11.12.2 Serveraufrufe: bind, listen und accept 793
11.12.3 Clientaufruf: connect 794
11.12.4 Datenaustausch: send und recv 794
11.12.5 Namensauflösung 795
11.12.6 Zahlendreher: ntoh und hton 796
11.12.7 Rahmenprogramm eines Client-Server-Paars 797
11.12.8 Mehrere Sockets parallel abfragen 801
11.12.9 IPv6 aus Programmierersicht 802
11.12.10 Client-Server aus Sicht der Performance 803
11.13 Verschlüsseln mit crypt 804
11.14 Reguläre Ausdrücke 806
11.15 Weitere Programmierschnittstellen 807
11.16 Systemkonformität 808
11.16.1 Polling 808
11.16.2 Rechte beachten 808
Anhang 811
Glossar 813
Literatur 819
Index 823
Vorwort
Der Titel des Bi
te einiges über
trat an mich h<
zu schreiben. D
sollten aber auc
den. Ich war ui
Netzwerk TCP/
darf in einem l
und kein Prosp
angemessenen
Buch auf die Ph
sprenge, wurde
würde. Zu dies«
zum Buchproje
haben. Und de
bei diesem Pro
sollte, schrieb
sicher, dass dei
Titel vorschlagt
Witzen zu rett
so ich stehe se
Leben steckt v
Seit dem Erscl
gesetzten Alte
Oberflächen l<
als diejenigen
setzt, verwenc
fänger also zui
chen. Daraus i
gegenüber dei
• In Kapitel 1
erläutert. C
um die Bed
• Im Folgeka|
tergründe u
• In Kapitel 3
ses Kapitel i
18 Inhalt