Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
19
1 Einleitung
21
1.1 Was ist Linux?
21
1.2 Die Linux-Distributionen
23
1.3 UNIX- und Linux-Geschichte
25
1.3.1 UNIX
25
1.3.2 Die Geburtsstunde von Linux
28
1.3.3 Die Kernelversionen
28
1.4 Die Anforderungen an Ihren Rechner
30
1.4.1 Hardwarekompatibilität
30
1.5 Über dieses Buch
30
1.5.1 Was Sie in diesem Buch erwartet
30
1.5.2 Wie Sie dieses Buch lesen sollten
32
1.5.3 Wo Sie weitere Informationen bekommen
33
1.6 Zusammenfassung
34
2 Installationsvorbereitung
35
2.1 Die Anforderungen an Ihre Hardware
36
2.2 Hardwareunterstützung
36
2.2.1 Hardwarekompatibilitätslisten der Hersteller
36
2.2.2 X11 und Grafikkarten
37
2.2.3 Linux auf Laptops
38
2.2.4 Andere Geräte
38
2.3 Festplatten und Partitionen
39
2.3.1 Funktionsweise unter Linux
39
2.3.2 Die Partitionierung von Hand durchführen
41
2.3.3 Das Tool cfdisk
43
2.3.4 Vorinstallierte Systeme
44
2.3.5 Windows und Linux
44
2.3.6 Erstellen eines Backups
45
2.4 Installationsmedien
45
2.5 Zusammenfassung
46
3 Linux-Installation
47
3.1 Installation von Ubuntu 14.04
48
3.1.1 Partitionierung der Festplatte
48
3.1.2 Zeitzone und Tastaturlayout festlegen
49
3.1.3 Anlegen eines Benutzers
49
3.1.4 Systeminstallation
50
3.1.5 Fertigstellung
50
3.2 Installation von openSUSE 13.1 (KDE-Live-CD)
50
3.2.1 Erste Schritte
51
3.2.2 Partitionierung
51
3.2.3 Anlegen eines Benutzers
52
3.2.4 Systeminstallation
52
3.2.5 Fertigstellung
52
3.3 Installation von Fedora 20.0 (Live-Install)
52
3.3.1 Erste Schritte
53
3.3.2 Abschließen der Installation
53
3.4 Linux starten
53
3.5 Zusammenfassung
54
4 Der Linux-Desktop
55
4.1 X11 – Die grafische Oberfläche
55
4.1.1 Geschichte von X11
55
4.1.2 Funktionsweise
56
4.1.3 X.org
57
4.1.4 Window-Manager
58
4.1.5 Desktop-Umgebungen
62
4.1.6 Zusammenfassung
62
4.2 KDE, Gnome und Unity
63
4.2.1 Grafische Login-Manager
63
4.2.2 Look & Feel
64
4.2.3 KDE
65
4.2.4 Gnome
67
4.2.5 Unity
68
4.3 Office-Umgebungen
69
4.3.1 Apache OpenOffice und LibreOffice
70
4.3.2 KOffice
71
4.4 Die wichtigsten Programme und Tools
72
4.4.1 Eterm, xterm und Co.
72
4.4.2 Mozilla: Browser, Mail- und Usenet-Client
72
4.4.3 The GIMP
73
4.4.4 xchat
76
4.5 Zusammenfassung
77
5 Die grundlegende Funktionsweise von Linux
79
5.1 Singleuser, Multiuser
80
5.2 Singletasking, Multitasking
80
5.3 Ressourcenverwaltung
80
5.3.1 Speicherverwaltung
81
5.3.2 Swapping
82
5.3.3 Speicherplatz der Festplatte
82
5.3.4 Verwaltung weiterer Ressourcen
82
5.3.5 Schnittstellenbezeichnung unter Linux
83
5.3.6 Pseudogeräte
84
5.4 Zugriffsrechte
84
5.4.1 Standardrechte
84
5.4.2 Erweiterte Zugriffsrechte
90
5.4.3 Access Control Lists
91
5.5 Das virtuelle Dateisystem
93
5.5.1 Die Verzeichnisstruktur
93
5.5.2 Dateinamen
95
5.5.3 Dateitypen
95
5.5.4 Einhängen von Dateisystemen
99
5.6 UUIDs
105
5.7 Zusammenfassung
106
6 Der Bootstrap-Vorgang
107
6.1 Der MBR und die GPT
107
6.1.1 Die Partitionstabelle
108
6.1.2 Von LILO/GRUB bis zum init-Prozess
109
6.1.3 init
111
6.2 Runlevel-Skripte
112
6.2.1 Wechseln des Runlevels
113
6.2.2 Variante 1: Die Datei /etc/inittab
114
6.2.3 Die rc-Skripte
116
6.2.4 Variante 2: Upstart
117
6.3 getty und der Anmeldevorgang am System
119
6.3.1 (a)getty
120
6.3.2 Login
120
6.3.3 Shellstart
121
6.4 Beenden einer Terminalsitzung
122
6.5 Herunterfahren und neu starten
122
6.5.1 Die Auswahl
122
6.5.2 shutdown
123
6.6 Zusammenfassung
124
7 Programme und Prozesse
125
7.1 Was ist ein Prozess?
125
7.1.1 Das Starten eines Programms
125
7.1.2 Eltern- und Kind-Prozesse
126
7.2 Der Kernel und seine Prozesse
127
7.2.1 Die Prozesstabelle
128
7.2.2 Der Prozessstatus
128
7.3 Prozess-Environment
129
7.4 Sessions und Prozessgruppen
130
7.5 Vorder- und Hintergrundprozesse
131
7.5.1 Wechseln zwischen Vorder- und Hintergrund
134
7.5.2 Jobs – behalten Sie sie im Auge
135
7.5.3 Hintergrundprozesse und Fehlermeldungen
136
7.5.4 Wann ist es denn endlich vorbei?
137
7.6 Das kill-Kommando und Signale
138
7.6.1 Welche Signale gibt es?
138
7.6.2 Beispiel: Anhalten und Fortsetzen eines Prozesses
139
7.7 Prozessadministration
141
7.7.1 Prozesspriorität
141
7.7.2 pstree
142
7.7.3 Prozesslistung mit Details via ps
144
7.7.4 top
146
7.7.5 Timing für Prozesse
148
7.8 Zusammenfassung
148
8 Grundlegende Administration
149
8.1 Benutzerverwaltung
149
8.1.1 Linux und Multiuser-Systeme
149
8.1.2 Das Verwalten der Benutzerkonten
151
8.1.3 Benutzer und Gruppen
154
8.2 Installation neuer Software
155
8.2.1 Das DEB-Paketsystem
156
8.2.2 Das RPM-Paketsystem
162
8.2.3 Das Slackware-Paketsystem
163
8.2.4 Paketsysteme ohne Grenzen
167
8.2.5 Softwareinstallation ohne Pakete
168
8.3 Backups erstellen
171
8.3.1 Die Sinnfrage
171
8.3.2 Backup eines ganzen Datenträgers
172
8.3.3 Backup ausgewählter Daten
174
8.4 Logdateien und dmesg
177
8.4.1 /var/log/messages
177
8.4.2 /var/log/wtmp
178
8.4.3 /var/log/Xorg.log
179
8.4.4 syslogd
179
8.4.5 logrotate
180
8.4.6 tail und head
180
8.5 Kernelkonfiguration
181
8.5.1 Die Kernelsourcen
182
8.5.2 Los geht's!
182
8.5.3 Start der Konfiguration
184
8.5.4 Kernelerstellung
188
8.5.5 Ladbare Kernelmodule (LKMs)
188
8.6 Weitere nützliche Programme
192
8.6.1 Speicherverwaltung
193
8.6.2 Festplatten verwalten
194
8.6.3 Benutzer überwachen
196
8.6.4 Der Systemstatus
200
8.6.5 Offene Dateideskriptoren mit lsof
200
8.7 Grundlegende Systemdienste
202
8.7.1 cron
202
8.7.2 at
203
8.8 Manpages
204
8.9 Dateien finden mit find
206
8.9.1 Festlegung eines Auswahlkriteriums
206
8.9.2 Festlegung einer Aktion
209
8.9.3 Fehlermeldungen vermeiden
210
8.10 Der Midnight Commander
210
8.10.1 Die Bedienung
210
8.10.2 Verschiedene Ansichten
211
8.11 Zusammenfassung
212
9 Die Shell
213
9.1 Grundlegendes
213
9.1.1 Was ist eine Shell?
213
9.1.2 Welche Shells gibt es?
214
9.1.3 Die Shell als Programm
215
9.1.4 Die Login-Shell wechseln
215
9.1.5 Der Prompt
216
9.1.6 Shellintern vs. Programm
218
9.1.7 Kommandos aneinanderreihen
219
9.1.8 Mehrzeilige Kommandos
221
9.2 Arbeiten mit Verzeichnissen
221
9.2.1 Pfade
221
9.2.2 Das aktuelle Verzeichnis
222
9.2.3 Verzeichniswechsel
222
9.2.4 Und das Ganze mit Pfaden ...
223
9.3 Die elementaren Programme
224
9.3.1 echo und Kommandosubstitution
224
9.3.2 sleep
225
9.3.3 Erstellen eines Alias
226
9.3.4 cat
227
9.4 Programme für das Dateisystem
228
9.4.1 mkdir – Erstellen eines Verzeichnisses
228
9.4.2 rmdir – Löschen von Verzeichnissen
228
9.4.3 cp – Kopieren von Dateien
229
9.4.4 mv – Verschieben einer Datei
229
9.4.5 rm – Löschen von Dateien
230
9.4.6 touch – Zugriffszeiten von Dateien setzen
231
9.4.7 cut – Dateiinhalte abschneiden
231
9.4.8 paste – Dateien zusammenfügen
232
9.4.9 tac – Dateiinhalt umdrehen
232
9.4.10 nl – Zeilennummern für Dateien
233
9.4.11 wc – Zählen von Zeichen, Zeilen und Wörtern
233
9.4.12 od – Dateien zur Zahlenbasis x ausgeben
234
9.4.13 Mehr oder weniger, das ist hier die Frage!
234
9.4.14 head und tail
235
9.4.15 sort und uniq
236
9.4.16 Zeichenvertauschung
237
9.5 Startskripte
237
9.6 Ein- und Ausgabeumlenkung
239
9.6.1 Fehlerausgabe und Verknüpfung von Ausgaben
240
9.6.2 Anhängen von Ausgaben
240
9.6.3 Gruppierung der Umlenkung
241
9.7 Pipes
241
9.7.1 Um- und Weiterleiten mit tee
242
9.7.2 Named Pipes (FIFOs)
242
9.8 Grundlagen der Shellskript-Programmierung
243
9.8.1 Was genau ist ein Shellskript?
243
9.8.2 Wie legen Sie los?
244
9.8.3 Das erste Shellskript
244
9.8.4 Kommentare
245
9.8.5 Variablen
245
9.8.6 Rechnen mit Variablen
247
9.8.7 Benutzereingaben für Variablen
248
9.8.8 Arrays
249
9.8.9 Kommandosubstitution und Schreibweisen
249
9.8.10 Argumentübergabe
250
9.8.11 Funktionen
252
9.8.12 Bedingte Anweisungen – Teil 1
254
9.8.13 Bedingte Anweisungen – Teil 2
257
9.8.14 Die while-Schleife
259
9.8.15 Die for-Schleife
260
9.8.16 Menüs bilden mit select
261
9.8.17 Das Auge isst mit: der Schreibstil
262
9.9 Reguläre Ausdrücke: awk und sed
263
9.9.1 awk – Grundlagen und reguläre Ausdrücke
265
9.9.2 Arbeitsweise von awk
266
9.9.3 Reguläre Ausdrücke anwenden
267
9.9.4 awk – etwas detaillierter
269
9.9.5 awk und Variablen
272
9.9.6 Bedingte Anweisungen
274
9.9.7 Funktionen in awk
277
9.9.8 Builtin-Funktionen
278
9.9.9 Arrays und String-Operationen
282
9.9.10 Was noch fehlt
283
9.9.11 sed
283
9.9.12 grep
285
9.10 Ein paar Tipps zum Schluss
287
9.11 Weitere Fähigkeiten der Shell
287
9.12 Zusammenfassung
288
10 Der vi-Editor
289
10.1 vi
289
10.1.1 Den vi starten
289
10.1.2 Kommando- und Eingabemodus
290
10.1.3 Dateien speichern
291
10.1.4 Arbeiten mit dem Eingabemodus
291
10.1.5 Navigation
292
10.1.6 Löschen von Textstellen
293
10.1.7 Textbereiche ersetzen
294
10.1.8 Kopieren von Textbereichen
294
10.1.9 Shiften
295
10.1.10 Die Suchfunktion
295
10.1.11 Konfiguration
296
10.2 vim
296
10.2.1 gvim
297
10.3 Zusammenfassung
297
11 Einführung in Netzwerke
299
11.1 Etwas Theorie
299
11.1.1 TCP/IP
299
11.1.2 Ihr Heimnetzwerk
301
11.2 Konfiguration einer Netzwerkschnittstelle
303
11.2.1 Konfiguration von Netzwerkkarten mit ifconfig
303
11.2.2 DHCP
306
11.3 Routing
307
11.3.1 Was ist Routing?
307
11.3.2 route
308
11.3.3 iproute2
310
11.4 Netzwerke benutzerfreundlich – DNS
310
11.4.1 DNS
310
11.4.2 DNS und Linux
311
11.4.3 Windows und die Namensauflösung
314
11.5 Mit Linux ins Internet
314
11.5.1 Einwahl mit DSL
315
11.6 Firewalling und NAT
317
11.6.1 Network Address Translation
317
11.6.2 Firewalling mit iptables
318
11.6.3 Firewalling mit dem TCP-Wrapper
321
11.7 Nützliche Netzwerktools
324
11.7.1 ping
324
11.7.2 netstat
325
11.7.3 nmap
327
11.7.4 tcpdump
329
11.8 Zusammenfassung
330
12 Netzwerk-Tools
331
12.1 Grundlegende Konzepte
331
12.1.1 Peer-to-Peer-Netzwerke
331
12.1.2 Das Client-Server-Prinzip
332
12.1.3 Und das Ganze mit TCP/IP
333
12.2 inetd
334
12.2.1 Die /etc/inetd.conf
334
12.2.2 TCP-Wrapper
336
12.2.3 update-inetd
336
12.3 Standarddienste
337
12.3.1 finger
337
12.3.2 telnet
338
12.3.3 Die r-Tools
339
12.3.4 Weitere kleine Server
339
12.4 Secure Shell
340
12.4.1 Das SSH-Protokoll
340
12.4.2 Secure Shell nutzen
343
12.4.3 Der Secure-Shell-Server
347
12.5 Das World Wide Web
347
12.5.1 Das HTTP-Protokoll
347
12.5.2 Einrichten eines Apache-Webservers
351
12.5.3 Den Apache verwalten
354
12.6 Samba
355
12.6.1 Windows-Freigaben mounten
356
12.6.2 Dateien freigeben
356
12.7 Dateien tauschen mit FTP
357
12.7.1 Das FTP-Protokoll
357
12.7.2 FTP nutzen
359
12.7.3 Einen Server konfigurieren
361
12.8 E-Mail unter Linux
362
12.8.1 Grundlegende Begriffe
362
12.8.2 fetchmail
364
12.8.3 procmail
366
12.8.4 MTAs
367
12.9 Das Usenet
367
12.9.1 Newsgroups
367
12.9.2 Clients
368
12.10 Zusammenfassung
368
13 Speichermedien unter Linux
369
13.1 Neue Festplatten integrieren
369
13.2 Eine Datei als Dateisystem
370
13.2.1 Loop-Device
370
13.2.2 Und das Ganze mit dem RAM
372
13.3 CDs und DVDs brennen
372
13.3.1 ISO-Dateien erzeugen
373
13.3.2 cdrecord
373
13.3.3 Die benutzerfreundlichen Varianten: brasero und k3b
374
13.4 USB-Sticks und Co.
375
13.4.1 Das Device ansprechen
375
13.5 SoftRAID und LVM
376
13.6 Zusammenfassung
376
14 Multimedia und Spiele unter Linux
377
14.1 Ein wichtiger Hinweis vorweg
377
14.2 Audio-Programme
378
14.2.1 Rhythmbox
378
14.2.2 Amarok
379
14.2.3 Audacious
379
14.2.4 SoX
379
14.2.5 Text-to-Speech
380
14.3 Videos und DVDs
380
14.3.1 DVDs, DivX und Co.
380
14.3.2 MPlayer
381
14.3.3 XINE
383
14.3.4 vlc
384
14.4 Webcams und Webcam-Software
384
14.5 CUPS – Common UNIX Printing System
386
14.5.1 Exkurs: Das BSD-Printing-System
387
14.5.2 CUPS versus lpd
387
14.5.3 CUPS-Installation
388
14.5.4 CUPS-Konfiguration
388
14.5.5 Den Drucker benutzen
389
14.6 Freie Spiele für Linux
389
14.6.1 Vegastrike
389
14.6.2 Warmux
389
14.6.3 Open Mortal
389
14.6.4 freeciv und 0 A.D.
390
14.6.5 SuperTux
390
14.6.6 PlanetPenguin Racer / TuxRacer
390
14.6.7 Sauerbraten
390
14.6.8 Brutal Chess
391
14.6.9 FlightGear
391
14.6.10 Tremulous
391
14.6.11 FooBillard
392
14.6.12 Weitere Spiele ...
392
14.7 Zusammenfassung
392
15 Umgang mit dem Raspberry Pi
393
15.1 Die Hardware
393
15.1.1 Schnittstellen
394
15.1.2 Zubehör
395
15.2 Die Inbetriebnahme
396
15.2.1 Linux-Distributionen für den Raspberry Pi
397
15.2.2 SD-Karte mit einem Image bespielen
398
15.3 Der Raspberry Pi als Homeserver
400
15.3.1 Die initiale Konfiguration mit raspi-config
400
15.3.2 Die Grundlagen
402
15.3.3 Die weitere Konfiguration
403
15.4 Der Raspberry Pi als Mediacenter
404
15.4.1 XBMC konfigurieren
404
15.4.2 Freigaben einbinden – Filme, Serien und Musik
405
15.4.3 Add-ons konfigurieren
407
15.5 Zusammenfassung
408
Anhang Quellcode
409
Index
415