Inhaltsverzeichnis
Vorwort
Über die Autoren
Über dieses Buch
1 Einleitung
1.1 Warum Linux?
1.1.1 Man muss kein Informatiker sein ...
1.1.2 ... aber es hilft
1.2 Grundbegriffe: Kernel, Distributionen, Derivate
1.2.1 Bekannte Distributionen und Derivate
1.2.2 Arten von Distributionen
1.3 Die Entstehungsgeschichte von Linux
1.3.1 Unix
1.3.2 BSD-Geschichte
1.3.3 Stallman und das GNU-Projekt
1.3.4 Die Geschichte von Linux
1.3.5 Geschichte der Distributionen
1.4 Linux und BSD: Unterschiede und Gemeinsamkeiten
1.4.1 Freie Software
1.4.2 Ports und Packages
1.4.3 Versionierung
1.4.4 Maskottchen
1.5 Informationsquellen
1.6 Zusammenfassung
1.7 Aufgaben
2 Die Installation
2.1 Installationsvorbereitungen
2.1.1 Unterstützte Hardware
2.1.2 Partitionierung
2.1.3 Die Installation vorbereiten
2.2 Installation von Ubuntu
2.3 Installation von openSUSE (KDE-Live-CD)
2.3.1 Erste Schritte
2.3.2 Partitionierung
2.3.3 Anlegen eines Benutzers
2.3.4 Systeminstallation
2.3.5 Fertigstellung
2.4 Installation von Fedora (Live-Install)
2.4.1 Erste Schritte
2.4.2 Installation durchführen
2.5 Installation von Slackware Linux
2.5.1 Nach dem CD-Booten
2.5.2 Setup
2.5.3 Konfiguration
2.6 Installation von OpenBSD
2.6.1 Booten
2.6.2 Grundkonfiguration
2.6.3 Partitionierung
2.6.4 Kopiervorgang
2.6.5 Installation abschließen
2.7 Linux bzw. BSD starten
2.8 Zusammenfassung
3 Erste Schritte
3.1 Der Bootvorgang
3.2 Anmelden
3.3 Erste Schritte mit KDE
3.4 Erste Schritte mit GNOME
3.4.1 GNOME 2
3.4.2 GNOME 3
3.4.3 Der Dateimanager unter GNOME
3.5 Zusammenfassung
3.6 Aufgaben
4 Linux als Workstation für Einsteiger
4.1 Mit Office arbeiten
4.1.1 OpenOffice.org/LibreOffice
4.1.2 KOffice und KDE PIM
4.2 Im Internet surfen: Browser
4.3 E-Mails empfangen und senden
4.4 Zusammenfassung
5 Der Kernel
5.1 Grundlagen
5.1.1 Prozessor
5.1.2 Speicher
5.1.3 Fairness und Schutz
5.1.4 Programmierung
5.1.5 Benutzung
5.2 Aufgaben eines Betriebssystems
5.2.1 Abstraktion
5.2.2 Virtualisierung
5.2.3 Ressourcenverwaltung
5.3 Prozesse, Tasks und Threads
5.3.1 Definitionen
5.3.2 Lebenszyklen eines Prozesses
5.3.3 Implementierung
5.4 Speichermanagement
5.4.1 Paging
5.4.2 Hardware
5.4.3 Organisation des Adressraums
5.5 Eingabe und Ausgabe
5.5.1 Hardware und Treiber
5.5.2 Interaktion mit Geräten
5.5.3 Ein-/Ausgabe für Benutzerprogramme
5.5.4 Dateisysteme
5.6 Zusammenfassung
5.7 Aufgaben
6 Grundlagen aus Anwendersicht
6.1 Die Unix-Philosophie
6.1.1 Kleine, spezialisierte Programme
6.1.2 Wenn du nichts zu sagen hast: Halt die Klappe
6.1.3 Die Shell
6.1.4 Administration
6.1.5 Netzwerktransparenz
6.2 Der erste Kontakt mit dem System
6.2.1 Booten
6.2.2 Login
6.2.3 Arbeiten am System
6.2.4 Herunterfahren
6.2.5 Wie Laufwerke bezeichnet werden
6.3 Bewegen in der Shell
6.3.1 Das Prompt
6.3.2 Absolute und relative Pfade
6.3.3 pwd
6.3.4 cd
6.4 Arbeiten mit Dateien
6.4.1 ls
6.4.2 more, less und most
6.4.3 Und Dateitypen?
6.5 Der Systemstatus
6.5.1 uname
6.5.2 uptime
6.5.3 date
6.6 Hilfe
6.6.1 Manpages
6.6.2 GNU info
6.6.3 Programmdokumentation
6.7 Zusammenfassung
6.8 Aufgaben
7 Die Shell
7.1 Was ist eine Shell?
7.1.1 Eine Shell verlassen
7.1.2 nologin
7.1.3 /etc/shells
7.1.4 Die Login-Shell wechseln
7.2 Welche Shells gibt es?
7.3 Welche Shell für dieses Buch?
7.4 Konsolen
7.5 screen
7.6 Die Shell anwenden
7.7 Grundlagen der Shellnutzung
7.7.1 Programme starten
7.7.2 Kommandos aneinanderreihen
7.7.3 Mehrzeilige Kommandos
7.7.4 Shell-Aliase
7.7.5 Verzeichniswechsel
7.7.6 Shellvariablen
7.7.7 Variablen einlesen
7.7.8 Kommandosubstitution
7.8 Ein- und Ausgabeumlenkung
7.8.1 Ausgabeumlenkung
7.8.2 Fehlerumlenkung
7.8.3 Die Ausgabe an eine Umlenkung anhängen
7.8.4 Eine Ausgabe in eine bestehende Datei umlenken
7.8.5 Eingabeumlenkung
7.9 Pipes
7.9.1 Duplizieren der Ausgabe mit tee
7.9.2 Named Pipes (FIFOs)
7.10 Subshells und Kommandogruppen
7.11 Effektives Arbeiten mit der Bash
7.11.1 Die Kommando-History
7.11.2 Automatische Vervollständigung von Dateinamen
7.12 xargs
7.13 Zusammenfassung
7.14 Aufgaben
7.14.1 Für angehende Experten
7.14.2 Wie geht das?
8 Reguläre Ausdrücke
8.1 Der Aufbau regulärer Ausdrücke
8.2 Der Stream-Editor sed
8.2.1 Was bringt mir sed?
8.2.2 Erste Schritte mit sed
8.2.3 sed-Befehle
8.2.4 Nach Zeilen filtern
8.2.5 Wiederholungen in regulären Ausdrücken
8.3 grep
8.3.1 grep -E und egrep
8.3.2 Geschwindigkeitsvergleich
8.4 awk
8.4.1 Nutzen und Interpreter
8.4.2 Der Aufruf des Interpreters awk
8.4.3 Erste Gehversuche
8.4.4 Der Anweisungsblock
8.4.5 Variable
8.4.6 Arrays
8.4.7 Bedingte Anweisungen
8.4.8 Schleifen
8.4.9 Funktionen in awk
8.4.10 Ein paar Worte zum Schluss
8.5 Zusammenfassung
8.6 Aufgaben
9 Konsolentools
9.1 head, tail und nl – Dateiinhalte zeigen
9.2 column – Ausgaben tabellenartig formatieren
9.3 colrm – Spalten entfernen
9.4 cut, paste, tac und tr – Dateiinhalte ändern
9.5 sort und uniq – sortiert und einzigartig
9.6 wc – Dateiinhalt vermessen
9.7 Dateien finden mit find
9.7.1 Festlegung eines Auswahlkriteriums
9.7.2 Festlegung einer Aktion
9.8 split – Dateien aufspalten
9.9 Midnight Commander (mc)
9.9.1 Bedienung
9.9.2 Verschiedene Ansichten
9.10 Spezielle Tools
9.10.1 bc – der Rechner für die Konsole
9.10.2 dd – blockweises Kopieren
9.10.3 od und hexdump – Dateidumping
9.10.4 script – Terminal-Sessions aufzeichnen
9.11 Zusammenfassung
9.12 Aufgaben
10 Die Editoren
10.1 Anforderungen an Editoren
10.2 vi
10.2.1 Den vi starten
10.2.2 Kommando- und Eingabemodus
10.2.3 Dateien speichern
10.2.4 Arbeiten mit dem Eingabemodus
10.2.5 Navigation
10.2.6 Löschen von Textstellen
10.2.7 Textbereiche ersetzen
10.2.8 Kopieren von Textbereichen
10.2.9 Shiften
10.2.10 Die Suchfunktion
10.2.11 Konfiguration
10.3 vim
10.4 Emacs
10.4.1 Konzepte
10.4.2 Grundlegende Kommandos
10.4.3 Arbeiten mit Puffern und Fenstern
10.4.4 Arbeiten mit Mark und Region
10.4.5 Das Menü nutzen
10.4.6 Emacs konfigurieren
10.5 Der Editor »ed«
10.5.1 Grundlagen
10.5.2 Eingeben und Anzeigen von Inhalten
10.5.3 Inhalte kopieren und einfügen
10.5.4 Beenden erzwingen
10.5.5 Weitere wichtige Befehle
10.6 Editoren in der Shell
10.7 Zusammenfassung
10.8 Aufgaben
11 Shellskriptprogrammierung mit der bash
11.1 Das erste Shellskript
11.2 Kommentare
11.3 Rechnen in der Shell
11.3.1 Integer-Variablen
11.3.2 expr
11.3.3 Den bc nutzen
11.4 Arrays
11.5 Bedingte Anweisungen
11.5.1 if
11.5.2 case
11.6 Schleifen
11.6.1 while
11.6.2 until
11.6.3 for
11.6.4 seq – Schleifen mit Aufzählungen
11.7 Menüs mit select
11.8 break
11.9 Funktionen
11.9.1 Eine simple Funktion
11.9.2 Funktionsparameter
11.9.3 Rückgabewerte
11.10 Temporäre Dateien
11.11 Syslog-Meldungen via Shell
11.12 Pausen in Shellskripte einbauen
11.13 Zusammenfassung
11.14 Aufgaben
12 Die C-Shell
12.1 Einleitende Anmerkungen
12.2 Die C-Shell starten
12.3 Kommentare in der C-Shell
12.4 Ausgabe- und Eingabeumlenkung
12.5 Pipes
12.6 Variablen
12.6.1 Arrays
12.6.2 Variablen löschen
12.6.3 Auflisten existierender Variablen
12.6.4 Rechnen mit Variablen
12.7 Funktionen gibt es nicht
12.8 Bedingte Anweisungen und Schleifen
12.8.1 if
12.8.2 Bedingungen formulieren
12.8.3 while-Schleifen
12.8.4 foreach-Schleifen
12.8.5 switch
12.9 Benutzereingaben
12.10 Zusammenfassung
12.11 Aufgaben
13 Benutzerverwaltung
13.1 Benutzer in Unix
13.1.1 UID und GID
13.1.2 /etc/passwd
13.1.3 Die Shadow Suite
13.2 Benutzer anlegen, ändern und löschen
13.2.1 Benutzer anlegen
13.2.2 Benutzer ändern
13.2.3 Benutzer löschen
13.3 Benutzer und Gruppen
13.3.1 Gruppen anlegen
13.3.2 Benutzer zu Gruppen hinzufügen
13.3.3 Gruppenpasswörter und /etc/gshadow
13.3.4 Gruppenadministratoren
13.3.5 Gruppen löschen
13.4 Als ein anderer Benutzer arbeiten
13.4.1 Der Systemadministrator als User
13.4.2 su
13.4.3 sudo
13.4.4 setuid/setgid
13.5 NIS/NIS+
13.5.1 Funktionsweise
13.5.2 Konfiguration der NIS-Clients
13.5.3 Konfiguration des NIS-Servers
13.5.4 Testen der Konfiguration
13.5.5 Sicherheit
13.6 LDAP
13.6.1 So funktioniert es
13.6.2 Einen LDAP-Server konfigurieren
13.6.3 Einträge hinzufügen, verändern und löschen
13.6.4 Die Benutzerverwaltung mit LDAP
13.7 Zusammenfassung
13.8 Aufgaben
14 Grundlegende Verwaltungsaufgaben
14.1 Rechteverwaltung
14.1.1 chmod
14.1.2 chown
14.1.3 Erweiterte Rechte
14.1.4 umask
14.1.5 Access Control Lists
14.2 Softwareinstallation
14.2.1 Paketverwaltung und Ports
14.2.2 APT – Advanced Packaging Tool
14.2.3 Pakete in Handarbeit: dpkg und rpm
14.2.4 Das Slackware-Paketsystem
14.2.5 Gentoo Portage
14.2.6 BSD-Ports
14.2.7 Softwareinstallation ohne Pakete
14.3 Tätigkeiten automatisieren
14.3.1 Skripte & Co.
14.3.2 Cronjobs
14.3.3 Punktgenau mit »at«
14.4 Logging
14.4.1 Logdateien
14.4.2 syslogd
14.4.3 logrotate
14.4.4 logcheck
14.5 Dateisystemverwaltung
14.5.1 /etc/fstab
14.5.2 mount
14.5.3 Platz beschränken: Quotas
14.5.4 du und df
14.5.5 SoftRAID und LVM
14.5.6 Backups, Archive & Co.
14.6 Kernel kompilieren
14.6.1 Kernel-Quellen besorgen
14.6.2 Konfiguration
14.6.3 Den Kernel übersetzen
14.6.4 Den Bootloader anpassen
14.6.5 BSD-Kernel kompilieren
14.8 Kernelmodule verwalten
14.8.1 modprobe
14.8.2 lsmod
14.8.3 insmod und rmmod
14.8.4 /etc/modules und Co.
14.8.5 modconf
14.9 Magic SysRq
14.9.1 Aktivierung von SysRq
14.9.2 Tastenkombinationen
14.10 Lokalisierung
14.10.1 Tastaturbelegung
14.10.3 Deutsche Sprache
14.10.4 Einstellen der Uhr
14.10.5 Texte von anderen Plattformen
14.11 Zusammenfassung
14.12 Aufgaben
15 Netzwerkgrundlagen
15.1 Grundlegendes zu TCP/IP
15.1.1 Network Access Layer
15.1.2 Internet Layer
15.1.3 Transport Layer
15.1.4 Application Layer
15.2 Grundlegendes Netzwerk-Setup
15.2.1 Hostname setzen
15.2.2 Netzwerkadressen für alle
15.2.3 Wireless LAN
15.2.4 DHCP
15.2.5 /etc/hosts
15.2.6 /etc/networks
15.2.7 /etc/resolv.conf
15.2.8 Nun gibt es aber ein Problem ...
15.2.9 Windows und Namensauf"|lösung
15.3 Grundlagen des Routings
15.3.1 Routing-Administration: route
15.3.2 Router aufsetzen
15.4 Netzwerkverbindungen
15.4.1 Datenaufkommen von Schnittstellen
15.4.2 Protokollstatistiken
15.4.3 Aktive TCP-Verbindungen
15.4.4 Listen-Ports
15.4.5 ARP-Cache
15.4.6 tcpdump
15.5 Mit Linux ins Internet
15.5.1 Point-to-Point Protocol
15.5.2 Einwahl mit einem Modem
15.5.3 Einwahl über DSL
15.6 Zusammenfassung
15.7 Aufgaben
16 Anwendersoftware für das Netzwerk
16.1 Telnet
16.1.1 Die erste Verbindung
16.1.2 HTTP, SMTP, POP3
16.2 Die R-Tools
16.3 FTP
16.4 Browser für die Konsole
16.5 Mailprogramme
16.5.1 mail
16.5.2 Mails löschen und weitere Aktionen
16.5.3 Elm, Mutt und Co.
16.5.4 Fetchmail
16.5.5 Procmail
16.6 Client-NTP-Konfiguration
16.7 IRC-Clients
16.8 Usenet
16.8.1 Das Protokoll
16.8.2 Clients
16.9 RSS
16.9.1 Snownews
16.9.2 Liferea
16.10 Zusammenfassung
16.11 Aufgaben
17 Netzwerkdienste
17.1 inetd und xinetd
17.1.1 inetd
17.1.2 tcpd
17.1.3 xinetd
17.2 Standarddienste
17.2.1 Echo
17.2.2 Discard
17.2.3 Systat und Netstat
17.2.4 Daytime und Time
17.2.5 QotD
17.2.6 Chargen
17.2.7 Finger
17.2.8 Telnet und R-Dienste
17.3 DHCP
17.3.1 dhcpd
17.3.2 Client-Konfiguration
17.4 NNTP-Server (WendzelNNTPd 2)
17.4.1 Konfiguration
17.4.2 Server starten
17.4.3 Authentifizierung
17.4.4 Anonyme Message-IDs
17.5 Network File System
17.5.1 NFS-Server aufsetzen
17.5.2 Clients konfigurieren
17.6 FTP
17.6.1 Konfigurationsdateien
17.7 Samba
17.7.1 Windows-Freigaben mounten
17.7.2 Dateien freigeben
17.7.3 smb.conf
17.7.4 Samba, LDAP & Co.
17.8 Zusammenfassung
17.9 Aufgaben
18 Mailserver unter Linux
18.1 Mailserver in Theorie und Praxis
18.1.1 Funktionsweise von Internet-Mail
18.1.2 Virenschutz
18.1.3 Spamschutz
18.2 SMTP-Server mit Exim
18.2.1 Die Exim-Philosophie
18.2.2 Exim installieren und konfigurieren
18.2.3 Die Arbeit mit Exim-Tools
18.3 POP3/IMAP-Server mit Courier
18.4 Zusammenfassung
19 LAMP & Co.
19.1 Apache
19.1.1 Module
19.2 MySQL
19.2.1 Administration
19.2.2 SQL
19.2.5 APIs
19.3 PHP
19.3.1 (X)HTML
19.3.2 PHP-Support im Apache aktivieren
19.3.3 PHP lernen
19.3.4 PHP und MySQL
19.4 Zusammenfassung
19.5 Aufgaben
20 DNS-Server
20.1 Die Serversoftware wählen
20.2 BIND aufsetzen
20.3 djbdns
20.4 DNS-Tools
20.4.1 host
20.4.2 nslookup
20.4.3 dig
20.4.4 whois
20.5 Zusammenfassung
20.6 Aufgaben
21 Secure Shell
21.1 Das Protokoll
21.1.1 SSH-Protokoll 1
21.1.2 SSH-Protokoll 2
21.2 Konfiguration eines OpenSSH-Servers
21.3 SSH nutzen
21.3.1 Remote-Login
21.3.2 Secure Copy
21.3.3 Authentifizierung über Public-Key-Verfahren
21.3.4 Secure File Transfer
21.3.5 X11-Forwarding
21.3.6 SSH-Port-Forwarding
21.4 Zusammenfassung
21.5 Aufgaben
22 Die grafische Oberfläche
22.1 Geschichtliches
22.2 Und so funktioniert's
22.2.1 Client, Server, Protokoll
22.2.2 Toolkit und XLib
22.2.3 Wohin soll die Reise gehen?
22.2.4 Zugriffskontrolle
22.2.5 xhost
22.2.6 Benutzer und xauth
22.2.7 Terminals
22.3 Weitere Standardtools für X11
22.4 Schnellstart
22.5 /etc/X11/xorg.conf
22.5.1 Sektion »Module«
22.5.2 Sektion »Files«
22.5.3 Sektion »ServerFlags«
22.5.4 Sektion »InputDevice«
22.5.5 Section »Monitor«
22.5.6 Section »Device«
22.5.7 Sektion »Screen«
22.5.8 Sektion »ServerLayout«
22.5.9 Optionale Sektionen
22.6 Treiber für NVIDIA- und ATI-Karten
22.6.1 NVIDIA-Grafikkarten
22.6.2 ATI-Grafikkarten
22.6.3 Funktionstest
22.7 Window-Manager und Desktops
22.7.1 Aufgaben
22.7.2 Konzepte
22.7.3 Was steht zur Auswahl?
22.8 Grafischer Login
22.9 Tuning
22.9.1 Xinerama und Dual-Head
22.9.2 X11 in einem Fenster
22.9.3 Mehrere X-Sessions
22.10 Root werden
22.11 Zusammenfassung
22.12 Aufgabe
23 Window-Manager und Desktops
23.1 KDE
23.1.1 KDE starten und beenden
23.1.2 Das K-Menü editieren
23.1.3 KDE System Settings
23.1.4 KDE-Tastenkürzel
23.1.5 Softwarekomponenten
23.2 GNOME
23.3 Unity
23.4 XFCE
23.5 LXDE
23.6 Window Maker
23.7 Weitere Window-Manager
23.7.1 FVWM, FVWM2, FVWM95
23.7.2 Blackbox, Fluxbox und Co.
23.8 Zusammenfassung
23.9 Aufgaben
24 X11-Programme
24.1 Textsatz mit \LaTeX
24.1.1 Ein erstes Dokument
24.1.2 Dokumente übersetzen
24.1.3 Das erste richtige Dokument
24.1.4 Weitere Funktionalität
24.1.6 Warum LaTeX?
24.2 Editoren
24.2.1 NEdit und gedit
24.2.2 Kate
24.3 Grafikprogramme
24.3.1 The GIMP
24.3.2 Freemind
24.3.3 OpenOffice.org/LibreOffice Draw
24.3.4 Dia
24.4 Bild- und Dokumentbetrachter
24.4.1 PDF- und PS-Dateien anzeigen
24.4.2 CHM-Dateien anzeigen
24.4.3 Bilddateien anzeigen
24.5 Chatprogramme
24.5.1 XChat – ein IRC-Client
24.5.2 Exkurs: Instant Messenger
24.6 Weitere nützliche Programme
24.6.1 K3b – CDs/DVDs brennen
24.6.2 Krusader – ein Dateimanager
24.6.3 yakuake – ein Quake-Terminal für KDE
24.6.4 Wörterbuch mit dict und StarDict
24.6.5 KWordQuiz – der Vokabeltrainer
24.6.6 JabRef
24.7 Zusammenfassung
24.8 Aufgaben
25 Multimedia und Spiele
25.1 Grundlagen zu »Multimedia«
25.1.1 Integration ins System
25.1.2 Die richtige Hardware kaufen
25.2 Audio
25.2.1 Bis Kernel 2.6 – OSS
25.2.2 Ab Kernel 2.6 – ALSA
25.3 Audiowiedergabe
25.3.1 Ausgabemöglichkeiten
25.3.2 MP3-Player und Co.
25.3.3 Text-to-Speech
25.4 Video
25.4.1 DVDs, DivX und Co.
25.4.2 MPlayer
25.4.3 xine
25.4.4 VLC
25.5 Flash
25.5.1 SWF, Flash-Player und Co.
25.5.2 Flash und freie Software
25.6 Installation einer TV-Karte
25.7 Webcams und Webcam-Software
25.7.1 Beispiel: IBM-USB-Cam einrichten
25.7.2 Webcam-Software
25.8 Drucken mit CUPS
25.8.1 Das BSD-Printing-System
25.8.2 Installation
25.8.3 Konfiguration
25.9 Scannen mit SANE
25.9.1 Backends und Frontends
25.9.2 Scanning-Tools
25.10 Spiele
25.10.1 Professionell spielen unter Linux
25.10.2 Klassische Unix/Linux-Spiele
25.10.4 Freie Spiele
25.11 Zusammenfassung
25.12 Aufgaben
26 Prozesse und IPC
26.1 Prozessarten
26.1.1 Hintergrundprozesse
26.1.2 Dämonprozesse
26.2 Prozesse in der Shell
26.2.1 Wechseln zwischen Vorder- und Hintergrund
26.2.2 Jobs – behalten Sie sie im Auge
26.2.3 Hintergrundprozesse und Fehlermeldungen
26.2.4 Wann ist es denn endlich vorbei?
26.3 Prozesse und Signale
26.3.1 Das Syscall-Interface
26.3.2 Signale von der Kommandozeile senden: kill
26.3.3 Welche Signale gibt es?
26.3.4 Rechte
26.3.5 In der Praxis: Signale empfangen
26.4 Prozesse finden und beeinflussen
26.4.1 top und htop
26.4.2 ps und pstree
26.4.3 pgrep, pidof und pkill
26.5 Prozesse, Scheduling und Prioritäten
26.5.1 Das Scheduling
26.5.2 nice und renice
26.5.3 Echtzeit-Scheduling unter Linux
26.6 IPC im Detail
26.6.1 Pipes und FIFOs
26.6.2 Semaphore
26.6.3 Message Queues
26.6.4 Shared Memory
26.6.5 Unix-Domain-Sockets
26.7 Zusammenfassung
26.8 Aufgaben
27 Bootstrap und Shutdown
27.1 Was ist der Bootstrap-Vorgang?
27.2 Hardware-Booten
27.3 Bootcode
27.3.1 Die Partitionstabelle
27.3.2 Ein Beispiel
27.4 Bootmanager
27.4.1 GRUB (alte Version)
27.4.2 GRUB Version 2
27.4.3 LILO
27.5 Startphase des Kernels
27.6 init
27.6.1 Linux und init
27.6.2 BSD und init
27.7 Upstart
27.8 getty
27.9 login
27.9.1 Shellstart
27.9.2 Beenden einer Terminal-Sitzung
27.10 System-Shutdown
27.10.1 halt, reboot und poweroff
27.10.2 shutdown
27.11 Zusammenfassung
27.12 Aufgaben
28 Dateisysteme
28.1 Aufbau von Speichermedien
28.1.1 Physische Struktur
28.1.2 Logische Struktur
28.1.3 Integration ins VFS
28.2 Dateisysteme
28.2.1 ext2, ext3, ext4 und reiserfs
28.2.2 btrfs und ZFS
28.2.3 FUSE – Filesystem in Userspace
28.2.4 FFS und UFS/UFS2
28.2.5 ISO 9660
28.2.6 Loop-Device und Ramdisk
28.2.7 Swap
28.2.8 DevFS und udev
28.2.9 ProcFS
28.2.10 NFS
28.2.11 Ecryptfs
28.2.12 Weitere Dateisysteme
28.3 Dateitypen
28.3.1 Reguläre Dateien
28.3.2 Verzeichnisse
28.3.3 Links
28.3.4 Sockets
28.3.5 Named Pipes
28.3.6 Gerätedateien
28.4 Inodes
28.4.1 Metadaten
28.4.2 Alternative Konzepte
28.5 Administration
28.5.1 QtParted und GParted
28.5.2 palimpsest
28.5.3 disklabel
28.5.4 hdparm
28.5.5 fdisk und cfdisk
28.5.6 cfdisk
28.5.7 mkfs
28.5.8 tune2fs
28.5.9 fsck
28.6 Neue Festplatten integrieren
28.6.1 Formatieren
28.6.2 Mountpoint festlegen
28.7 USB-Sticks und -Platten, Digitalkameras und Co.
28.8 Zusammenfassung
28.9 Aufgaben
29 Virtualisierung und Emulatoren
29.1 Einführung
29.1.1 Betriebssystem-Virtualisierung
29.1.2 Emulation
29.2 Wine, Cedega und Crossover
29.2.1 Cedega
29.2.2 CrossOver
29.2.3 Wine
29.3 ScummVM
29.3.1 Klassiker und Open-Source-Spiele
29.3.2 Spiele installieren
29.4 Oldie-Emulatoren und Nostalgie
29.4.1 DOSBox
29.4.2 UAE
29.4.3 Weitere Emulatoren
29.5 Hardware-Virtualisierung mit Xen
29.5.1 Die Xen-Architektur
29.5.2 Administration via xm
29.6 Hardware-Virtualisierung mit KVM
29.6.1 Die KVM-Architektur
29.6.2 Administration via QEMU
29.6.3 KVM vs. Xen
29.6.4 Weitere Lösungen
29.7 Zusammenfassung
29.8 Aufgaben
30 Softwareentwicklung
30.1 Interpreter und Compiler
30.1.1 C und C++
30.1.2 Perl
30.1.3 Java
30.1.4 Tcl
30.1.5 Was es sonst noch gibt
30.2 Shared Libraries
30.2.1 Vorteile der Shared Libraries
30.2.2 Statisches Linken
30.2.3 Dateien
30.3 Debugging
30.3.1 Vorbereitung
30.3.2 Konsolenarbeit
30.3.3 DDD
30.4 Profiling
30.4.1 Compiler-Option
30.4.2 gprof verwenden
30.4.3 Profiling-Daten lesen
30.5 Tracing
30.6 Hilfe beim Finden von Bugs
30.6.1 ProPolice
30.6.2 Flawfinder und RATS
30.6.3 Electric Fence
30.7 Integrierte Entwicklungsumgebungen
30.8 Make
30.8.1 Makefile
30.8.2 Makros
30.8.3 Shellvariablen in Makefiles
30.8.4 Einzelne Targets übersetzen
30.8.5 Spezielle Targets
30.8.6 Tipps im Umgang mit Make
30.9 Die GNU Autotools
30.10 lex/flex und yacc/bison
30.10.1 flex grundlegend anwenden
30.10.2 bison/yacc grundlegend anwenden
30.11 Unix-Software veröffentlichen
30.12 Manpages erstellen
30.12.1 groff nutzen
30.12.2 Manpages installieren
30.13 Versionsmanagement
30.13.1 CVS
30.13.2 Subversion
30.13.3 Git
30.14 Wichtige Bibliotheken
30.14.1 Entwicklung grafischer Oberflächen
30.14.2 Weitere Bibliotheken
30.15 Zusammenfassung
30.16 Aufgaben
31 Crashkurs in C und Perl
31.1 Die Programmiersprache C – ein Crashkurs
31.1.1 Hello, World in C
31.1.2 Kommentare
31.1.3 Datentypen und Variablen
31.1.4 Operatoren
31.1.5 Bedingte Anweisungen
31.1.6 Schleifen
31.1.7 Funktionen
31.1.8 Präprozessor-Direktiven
31.1.9 Zeiger-Grundlagen
31.1.10 Array-Grundlagen
31.1.11 Strukturen
31.1.12 Arbeiten mit Zeichenketten (Strings)
31.1.13 Einlesen von Daten
31.1.14 FILE und das Arbeiten mit Dateien
31.1.15 Das war noch nicht alles!
31.2 Die Skriptsprache Perl
31.2.1 Aufbau eines Skripts
31.2.2 Variablen
31.2.3 Kontrollstrukturen
31.2.4 Subroutinen
31.2.6 Arbeiten mit dem Dateisystem
31.3 Zusammenfassung
31.4 Aufgaben
32 Einführung in Computersicherheit
32.1 Sicherheitskonzepte
32.2 Unix und Sicherheit
32.2.1 Benutzer und Rechte
32.2.2 Logging
32.2.3 Netzwerkdienste
32.3 Grundlegende Absicherung
32.3.1 Nach der Installation
32.3.2 Ein einfaches Sicherheitskonzept
32.4 Backups und Datensicherungen
32.4.1 Backup-Strategien
32.4.2 Software
32.5 Updates
32.6 Firewalls
32.6.1 Grundlagen
32.6.2 Firewalling unter Linux: Netfilter/iptables
32.6.3 iptables im Detail
32.7 Proxyserver
32.7.1 Funktion
32.7.2 Einsatz
32.7.3 Beispiel: Squid unter Linux
32.8 Virtuelle private Netzwerke mit OpenVPN
32.8.1 Pre-shared Keys
32.8.2 Zertifikate mit OpenSSL
32.8.3 OpenVPN als Server einrichten
32.8.4 OpenVPN als Client
32.9 Verdeckte Kanäle und Anonymität
32.10 Mails verschlüsseln: PGP und S/MIME
32.10.1 PGP/GPG
32.10.2 S/MIME
32.11 Trojanische Pferde
32.12 Logging
32.13 Partitionierungen
32.14 Restricted Shells
32.15 Loadable Kernel Modules
32.16 chroot
32.17 Kernel-Erweiterungen und ProPolice
32.17.1 ProPolice
32.17.2 SELinux/SEBSD und AppArmor
32.17.3 Openwall (OWL)
32.17.4 grsecurity
32.17.5 PaX
32.18 Sichere Derivate und Distributionen
32.18.1 Trusted Solaris (jetzt Teil von Solaris)
32.18.2 OpenBSD
32.18.3 TrustedBSD
32.18.4 Hardened Gentoo
32.18.5 Openwall
32.18.6 Fedora Core
32.19 Zusammenfassung
32.20 Aufgaben
33 Netzwerksicherheit überwachen
33.1 Snort
33.1.1 Aufbau der Intrusion Detection
33.1.2 snort.conf
33.2 Netzwerkmonitoring mit Nagios
33.2.1 Installation
33.2.2 Konfiguration
33.2.3 Plugins
33.3 Nmap: Der wichtigste Portscanner
33.3.1 Prinzip eines Portscanners
33.3.2 Techniken des Scannens
33.3.3 Weiterer Informationsgewinn
33.3.4 Nmap in der Praxis
33.3.5 Angabe der Scanziele
33.4 Sniffer
33.4.1 tcpdump
33.4.2 Wireshark (ehemals Ethereal)
33.4.3 dsniff
33.5 Zusammenfassung
A Lösungen zu den einzelnen Aufgaben
A.1 Lösungen zu Kapitel 1
A.2 Lösungen zu Kapitel 5
A.3 Lösungen zu Kapitel 6
A.4 Lösungen zu Kapitel 7
A.5 Lösungen zu Kapitel 8
A.6 Lösungen zu Kapitel 9
A.7 Lösungen zu Kapitel 11
A.8 Lösungen zu Kapitel 12
A.9 Lösungen zu Kapitel 13
A.10 Lösungen zu Kapitel 14
A.11 Lösungen zu Kapitel 15
A.12 Lösungen zu Kapitel 16
A.13 Lösungen zu Kapitel 17
A.14 Lösungen zu Kapitel 19
A.15 Lösungen zu Kapitel 20
A.16 Lösungen zu Kapitel 21
A.17 Lösungen zu Kapitel 24
A.18 Lösungen zu Kapitel 25
A.19 Lösungen zu Kapitel 26
A.20 Lösungen zu Kapitel 27
A.21 Lösungen zu Kapitel 28
A.22 Lösungen zu Kapitel 29
A.23 Lösungen zu Kapitel 30
A.24 Lösungen zu Kapitel 31
A.25 Lösungen zu Kapitel 32
B Kommandoreferenz
C X11-InputDevices
D MBR
E Buch-DVDs
E.1 Was befindet sich auf welcher DVD?
E.2 Benutzung der DVDs
F Glossar
G Literatur
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.