Sie sind auf Seite 1von 53

Harald Maaßen

LPIC-1
Sicher zur erfolgreichen Linux-Zertifizierung
Auf einen Blick

LPI 101 .................................................................................. 19


Topic 101: Systemarchitektur ..................................................... 21

Topic 102: Linux-Installation und -Paketverwaltung ................... 57

Topic 103: GNU- und Unix-Kommandos .................................... 87

Topic 104: Geräte, Linux-Dateisysteme,


Filesystem Hierarchy Standard ................................... 157

Übungsfragen zu LPI 117-101 ..................................................... 207

LPI 102 .................................................................................. 281


Topic 105: Shells, Skripte und Datenverwaltung ......................... 283

Topic 106: Oberflächen und Desktops ........................................ 325

Topic 107: Administrative Aufgaben ........................................... 355

Topic 108: Grundlegende Systemdienste .................................... 389

Topic 109: Netz-Grundlagen ...................................................... 411

Topic 110: Sicherheit .................................................................. 439

Übungsfragen zu LPI 117-102 ..................................................... 465


Inhalt

Vorwort ....................................................................................................... 15
Hinweise zum Buch .............................................................................. 15
Hinweise zur Prüfung ........................................................................... 17

LPI 101
Power On! Die Hardware wird initialisiert und die Daemonen geweckt. Grundlegende Fertigkeiten in der Konfiguration von Massenspeichern, Peripheriegeräten und BIOS-Einstellungen sind für die erste Prüfung unbedingt erforderlich. 21

Topic 101: Systemarchitektur ..................................................... 21


101.1 Hardware-Einstellungen ermitteln und konfigurieren ................. 21
Allgemeines ................................................................................... 22
Module zur Laufzeit beeinflussen und konfigurieren ...................... 22
Modulkonfigurationsdateien .......................................................... 28
Zum Kernel gehörende Dateien und Verzeichnisse ......................... 29
Die Gerätedateien für Festplatten und CD-ROMs ........................... 30
Die Gerätedateien für Partitionen .................................................. 31
Ressourcen für Hardwarekomponenten .......................................... 32
Der PCI-Bus ................................................................................... 33
USB – Universal Serial Bus .............................................................. 34
USB-Host-Controller-Typen ........................................................... 34
USB-Klassen .................................................................................. 35
USB-Module automatisch laden ..................................................... 36
Coldplug und Hotplug ................................................................... 37
Das virtuelle Dateisystem sysfs ....................................................... 37
udev, hald und dbus ...................................................................... 38
101.2 Das System starten ...................................................................... 38
Allgemeines ................................................................................... 39
Boot-Strap-Loader ......................................................................... 41
Kernel-Parameter ........................................................................... 42
Startprotokollierung ....................................................................... 43
101.3 Runlevel wechseln und das System anhalten oder
neu starten ................................................................................... 45
Allgemeines ................................................................................... 46
Die Runlevel und ihre Funktion ...................................................... 46
Die Konfigurationsdatei inittab ...................................................... 47
Verzeichnisse und Dateien des init-Prozesses ................................. 49
Runlevel-Wechsel, Herunterfahren, Neustart ................................. 52
Upstart .......................................................................................... 53
Systemd ......................................................................................... 54

5
Inhalt

Nachdem Sie über die korrekte Konfiguration der Hardware bestens Bescheid wissen, kann nun mit der Planung der Partitionen und der Konfiguration eines Bootloaders fortgefahren werden. 57

Topic 102: Linux-Installation und -Paketverwaltung ................. 57


102.1 Festplattenaufteilung planen ....................................................... 57
Allgemeines ................................................................................... 57
Planung im Detail .......................................................................... 58
Logical Volume Manager ............................................................... 59
LVM-Komponenten und Zusammenhänge ..................................... 60
102.2 Einen Bootmanager installieren ................................................... 61
Allgemeines ................................................................................... 61
GRUB-Legacy ................................................................................. 62
GRUB 2 ......................................................................................... 63
102.3 Shared Librarys verwalten ............................................................ 64
Allgemeines ................................................................................... 64
Verwaltung von Shared Librarys ..................................................... 65
102.4 Debian-Paketverwaltung verwenden ........................................... 66
Allgemeines ................................................................................... 67
Konfigurationsdateien und Verzeichnisse ....................................... 67
DPKG-Programme ......................................................................... 69
102.5 RPM und YUM-Paketverwaltung verwenden .............................. 76
Allgemeines ................................................................................... 76
Konfigurationsdateien .................................................................... 77
RPM aktiv verwenden .................................................................... 78
Abfragen der RPM-Datenbank ....................................................... 79
Überprüfung installierter Pakete .................................................... 81
Pakete umwandeln ........................................................................ 82
yum und der yumdownloader ........................................................ 82
Ein großer Teil dessen, was ganz selbstverständlich als Linux bezeichnet wird, entspringt in Wirklichkeit dem GNU-Projekt. In dem nun folgenden Kapitel geht es um einen kleinen Teil von GNU. GNU is Not Unix. GNU is Not Unix. GNU is Not U... 87

Topic 103: GNU- und Unix-Kommandos .................................... 87


103.1 Auf der Kommandozeile arbeiten ................................................. 87
Allgemeines ................................................................................... 88
Aufbau eines Shell-Kommandos ..................................................... 88
Übergabe der Optionen ................................................................. 89
Umgebungsvariablen und Shellvariablen ........................................ 90
Beliebte Variablen für die Prüfung ................................................. 93
Bash-Befehls-History und automatisches Vervollständigen
von Befehlen .................................................................................. 94
Befehlseingabe ............................................................................... 95
PATH-Variable ............................................................................... 95
Rekursive Befehlsausführung .......................................................... 96
Das Kommando uname .................................................................. 97
Die Manpages im Allgemeinen ...................................................... 97

6
Inhalt

Funktionsweise der Manpages ....................................................... 97


$MANPATH und die Datei manpath.config .................................... 97
Die Sektionen des Mansystems ...................................................... 98
Aufbau von Manpages ................................................................... 99
Verwandte Befehle ........................................................................ 99
103.2 Textströme mit Filtern verarbeiten .............................................. 101
Allgemeines ................................................................................... 102
cat .............................................................................................. 102
tac .............................................................................................. 102
head .............................................................................................. 103
tail .............................................................................................. 103
expand/unexpand .......................................................................... 104
fmt .............................................................................................. 104
nl .............................................................................................. 104
pr .............................................................................................. 105
wc .............................................................................................. 105
hexdump ....................................................................................... 106
od .............................................................................................. 106
sort .............................................................................................. 106
uniq .............................................................................................. 107
split .............................................................................................. 107
cut, paste und join ......................................................................... 108
tr .............................................................................................. 110
103.3 Grundlegende Dateiverwaltung ................................................... 111
Allgemeines ................................................................................... 112
Kommandos für Dateioperationen ................................................. 112
Verwendung von Wildcards ........................................................... 118
103.4 Ströme, Pipes und Umleitungen verwenden ................................ 124
Allgemeines ................................................................................... 125
stdin, stdout und stderr ................................................................. 125
Umleitungen (Redirects) ................................................................ 126
Pipes ............................................................................................. 127
tee und xargs ................................................................................. 128
103.5 Prozesse erzeugen, überwachen und beenden ............................. 128
Allgemeines ................................................................................... 129
Überwachen von Prozessen ........................................................... 129
Signale an Prozesse senden ............................................................ 133
Jobs im Vorder- und im Hintergrund .............................................. 135
Prozesse unabhängig von einem Terminal laufen lassen ................. 138
103.6 Prozess-Ausführungsprioritäten ändern ...................................... 139
Allgemeines ................................................................................... 139
nice .............................................................................................. 140

7
Inhalt

renice ............................................................................................ 140


top und ps zur Überprüfung von Prioritäten ................................... 141
103.7 Textdateien mit regulären Ausdrücken durchsuchen ................... 142
Allgemeines ................................................................................... 142
Reguläre Ausdrücke ....................................................................... 143
Die Verwendung von grep ............................................................. 144
egrep und fgrep ............................................................................. 148
Die Verwendung von sed ............................................................... 148
103.8 Grundlegendes Editieren von Dateien mit dem vi ....................... 152
Allgemeines ................................................................................... 152
Bedienungsgrundlagen ................................................................... 153
Navigation in einem Dokument ..................................................... 154
Einfügen, Löschen, Kopieren und Auffinden von Text .................... 155
Befehlszeilenoptionen für vi ........................................................... 156

Im nächsten Themenkomplex soll dargestellt werden, was alles nötig ist, um Daten sicher auf einem Medium speichern zu können und die Zugriffsrechte auf diese Dateien professionell zu handhaben. 157

Topic 104: Geräte, Linux-Dateisysteme,


Filesystem Hierarchy Standard .................................. 157
104.1 Partitionen und Dateisysteme anlegen ........................................ 157
Allgemeines ................................................................................... 157
Erzeugen der Partitionen ................................................................ 158
Formatieren der Dateisysteme ....................................................... 161
Erstellen einer Swap-Datei ............................................................. 165
104.2 Die Integrität von Dateisystemen sichern ................................... 166
Allgemeines ................................................................................... 166
Sicherstellen der Integrität des Dateisystems und
Problembehebung ......................................................................... 167
XFS-Werkzeuge ............................................................................. 170
Überwachen des freien Platzes und der freien Inodes ..................... 171
104.3 Das Ein- und Aushängen von Dateisystemen steuern ................. 174
Allgemeines ................................................................................... 174
Manuelles Mounten und Unmounten ............................................ 174
Automatisches Mounten über die Datei /etc/fstab ......................... 178
104.4 Platten-Quotas verwalten ............................................................ 180
Allgemeines ................................................................................... 181
Möglichkeiten der Quotierung ....................................................... 181
Vorbereiten von Quota .................................................................. 182
Aktivieren von Quota ..................................................................... 183
Ändern und Überprüfen von Quota ............................................... 184
104.5 Dateizugriffsrechte und -eigentümerschaft verwalten ................ 186
Allgemeines ................................................................................... 186
Vergabe der Berechtigungen .......................................................... 187

8
Inhalt

Verwendung von SUID, SGID und Sticky Bit .................................. 189


chown ........................................................................................... 191
chgrp ............................................................................................. 192
Verwendung von umask ................................................................. 192
Dateiattribute der ext2-, ext3- und ext4-Dateisysteme .................. 193
104.6 Harte und symbolische Links anlegen und ändern ...................... 195
Allgemeines ................................................................................... 195
Softlinks ......................................................................................... 195
Hardlinks ....................................................................................... 198
104.7 Systemdateien finden und Dateien am richtigen
Ort platzieren ............................................................................... 200
Allgemeines ................................................................................... 200
FHS – Filesystem Hierarchy Standard .............................................. 200
Programme zum Auffinden von Dateien ......................................... 202
207

Übungsfragen zu LPI 117-101 ...................................................... 207


Fragen ......................................................................................................... 207
Antworten und Erklärungen zu den Prüfungsfragen ..................................... 247

LPI 102
Was eine Shell ist und wie man sie benutzt, wissen Sie ja bereits. Jetzt werden Sie lernen, an der Shell einige individuelle Anpassungen vorzunehmen und Skripte zu schreiben, welche die alltägliche Arbeit erleichtern. Optimieren Sie Ihre Arbeitsumgebung! 283

Topic 105: Shells, Skripte und Datenverwaltung ........................ 283


105.1 Die Shell-Umgebung anpassen und verwenden ........................... 283
Allgemeines ................................................................................... 284
Verwendung von Shells .................................................................. 284
Umgebungsvariablen und Shellvariablen ........................................ 285
Aliase und Funktionen ................................................................... 287
Konfigurationsdateien der Bash ..................................................... 290
Systemweite Konfigurationsdateien ............................................... 291
Konfigurationsdateien für den Benutzer ......................................... 291
Das Skeleton Verzeichnis /etc/skel ................................................. 292
105.2 Einfache Skripte anpassen oder schreiben ................................... 292
Allgemeines ................................................................................... 293
Ausführen eines Skripts .................................................................. 293
Ausführungsberechtigung .............................................................. 295
Position eines Skripts ..................................................................... 296
Übergabevariablen und Rückgabewerte ......................................... 296
Schleifen und Bedingungen ............................................................ 297
105.3 SQL-Datenverwaltung .................................................................. 304
Allgemeines ................................................................................... 305
SQL – Die Befehle .......................................................................... 305

9
Inhalt

Die ersten Schritte ......................................................................... 306


Eine erste Datenbank ..................................................................... 309
Abfragen mit SELECT und WHERE ................................................. 311
Aktualisieren von Datensätzen ....................................................... 314
Sortieren und Gruppieren .............................................................. 314
Erweitern von Datenbanken ........................................................... 316
Arbeiten mit mehreren Tabellen .................................................... 318
Destruktive Kommandos ................................................................ 323
In diesem Kapitel lernen Sie die prüfungsgerechte Konfiguration von X11, von Displaymanagern und Windowmanagern. Es wird also zur Abwechslung ausnahmsweise einmal grafisch. 325

Topic 106: Oberflächen und Desktops ........................................ 325


106.1 X11 installieren und konfigurieren ............................................... 325
Allgemeines ................................................................................... 325
Der Aufbau von X .......................................................................... 326
Der Startvorgang von X .................................................................. 328
X-Terminals ................................................................................... 329
X-Librarys ...................................................................................... 329
Konfigurationsdateien .................................................................... 329
X-Fontserver .................................................................................. 333
X-Display exportieren .................................................................... 335
xwininfo ........................................................................................ 336
xdpyinfo ........................................................................................ 337
106.2 Einen Displaymanager einrichten ................................................. 339
Allgemeines ................................................................................... 339
Starten und Beenden eines Displaymanagers .................................. 339
Konfigurationsdateien der Displaymanager .................................... 340
106.3 Hilfen für Behinderte .................................................................... 340
Allgemeines ................................................................................... 341
Sehbehinderte und Blinde .............................................................. 341
Barrierefreiheit ............................................................................... 342
Orca .............................................................................................. 347
GOK .............................................................................................. 352
emacspeak ..................................................................................... 353
Nun geht es um eine der wichtigsten Tätigkeiten eines Administrators: das Verwalten von Benutzerkonten, Gruppenkonten und das Schaffen einer anfänglichen Umgebung, in der die Benutzer arbeiten können. 355

Topic 107: Administrative Aufgaben ........................................... 355


107.1 Benutzer- und Gruppenkonten und
dazugehörige Systemdateien verwalten ...................................... 355
Allgemeines ................................................................................... 356
passwd, shadow, group, gshadow .................................................. 357
Befehle zur Verwaltung von Benutzern ........................................... 361

10
Inhalt

Befehle zur Verwaltung von Gruppen ............................................. 365


Befehle zur Verwaltung des Shadow-Systems ................................. 368
107.2 Systemadministrationsaufgaben durch Einplanen
von Jobs automatisieren .............................................................. 369
Allgemeines ................................................................................... 369
Die Verwendung von cron ............................................................. 370
Die Verwendung von at ................................................................. 373
Grundlegendes zu anacron ............................................................. 374
Zugriffssteuerung auf cron und at ................................................... 374
107.3 Lokalisierung und Internationalisierung ...................................... 375
Allgemeines ................................................................................... 376
Zeitzoneneinstellung ...................................................................... 376
Umgebungsvariablen für die Lokalisation ....................................... 379
Historische Zeichensätze ................................................................ 381
ASCII – American Standard Code for Information
Interchange ................................................................................... 382
ISO 8859 ....................................................................................... 385
Unicode und UTF-8 ....................................................................... 386
Konvertierung von Zeichensätzen .................................................. 386
Die Dienste eines Systems müssen kontrolliert und gepflegt werden. Um sich die Arbeit so weit wie möglich zu erleichtern, können Sie hier einiges automatisieren. Zur Vereinfachung der Kontrolle können Sie die Protokollierung auf die eigenen Bedürfnisse zuschneiden. 389

Topic 108: Grundlegende Systemdienste .................................... 389


108.1 Die Systemzeit verwalten ............................................................. 389
Allgemeines ................................................................................... 390
Manuelle Konfiguration der Systemzeit .......................................... 390
Die RTC-Uhr einstellen .................................................................. 391
Zeitzonen ...................................................................................... 391
Zeitsynchronisation über das Netzwerk .......................................... 392
Automatische Zeitsynchronisation .................................................. 392
NTP Diagnose ................................................................................ 393
pool.ntp.org .................................................................................. 394
108.2 Systemprotokollierung ................................................................. 394
Allgemeines ................................................................................... 395
syslogd und syslog-ng .................................................................... 395
Die Konfigurationsdateien ............................................................. 395
Einsatz von Log-Dateien zur Fehlersuche ....................................... 397
Selbst Ereignisse loggen ................................................................. 398
Der Kernellog ................................................................................ 399
108.3 Grundlagen von Mail Transfer Agents (MTAs) ............................. 399
Allgemeines ................................................................................... 400
MUA, MDA und MTA .................................................................... 400

11
Inhalt

Mail – Aliase .................................................................................. 401


Weiterleitung von Mail .................................................................. 402
Wichtige Dateien und Verzeichnisse .............................................. 402
sendmail-Konfigurationsdateien ..................................................... 403
postfix-Konfigurationsdateien ........................................................ 403
Smarthost und SMTP-Relay ............................................................ 404
exim und qmail .............................................................................. 405
108.4 Drucker und Druckvorgänge verwalten ....................................... 405
Allgemeines ................................................................................... 405
Verwalten der Druckerwarteschlangen ........................................... 406
Befehle zur Kontrolle von Druckvorgängen .................................... 407
lpc – Line Printer Control ............................................................... 408
Drucken mit CUPS ......................................................................... 409
TCP/IP ist das Netzwerkprotokoll, das sich im Laufe der Jahrzehnte weltweit, sowohl im Internet, als auch in Intranets, absolut durchgesetzt hat. Grund genug, hier ein paar Worte darüber zu verlieren. 411

Topic 109: Netz-Grundlagen ....................................................... 411


109.1 Grundlagen von Internet-Protokollen .......................................... 411
Allgemeines ................................................................................... 412
TCP/IP-Geschichte kurz gefasst ...................................................... 412
Das DoD-Modell ........................................................................... 413
Die Protokolle der dritten Schicht .................................................. 413
Die Protokolle der zweiten Schicht ................................................ 415
Das Internetprotokoll IPv4 ............................................................. 416
IP-Klassen ...................................................................................... 417
Die Verwendung der Subnetzmaske und CIDR ............................... 418
Die Broadcast-Adressen ................................................................. 420
Standardgateway ........................................................................... 421
Das Internetprotokoll IPv6 ............................................................. 421
TCP/IP Werkzeuge ......................................................................... 423
109.2 Grundlegende Netz-Konfiguration .............................................. 429
Allgemeines ................................................................................... 430
Konfigurationsdateien eines Netzwerk-Clients ............................... 430
Konfigurationsprogramme für Netzwerk-Clients ............................. 433
109.3 Grundlegende Netz-Fehlersuche .................................................. 435
Allgemeines ................................................................................... 436
netstat ........................................................................................... 436
109.4 Client-seitiges DNS konfigurieren ............................................... 437
Allgemeines ................................................................................... 438

12
Inhalt

Ein Administrator muss natürlich auch in der Lage sein, Sicherheitsbedrohungen in seinem Netzwerk aufzufinden und zu beseitigen. Die folgenden Themen bieten dazu eine gute Grundlage. 439

Topic 110: Sicherheit ................................................................... 439


110.1 Administrationsaufgaben für Sicherheit durchführen .................. 439
Allgemeines ................................................................................... 440
Auffinden von Dateien mit gesetztem SUID/SGID-Bit .................... 440
Setzen oder Löschen von Passwörtern und
Passwort-Verfallszeiten .................................................................. 440
nmap, netstat und socket ............................................................... 440
Ressourcenverwendung kontrollieren ............................................. 441
Offene Dateien .............................................................................. 442
Arbeiten mit erhöhten Rechten ...................................................... 444
110.2 Einen Rechner absichern .............................................................. 445
Allgemeines ................................................................................... 446
Superdaemons ............................................................................... 446
TCP-Wrapper konfigurieren ........................................................... 448
Die Datei /etc/nologin ................................................................... 449
110.3 Daten durch Verschlüsselung schützen ....................................... 449
Allgemeines ................................................................................... 450
SSH verwenden .............................................................................. 450
SSH-Client-Verbindung .................................................................. 451
SSH-Konfigurationsdateien ............................................................ 452
Authentifizierung der Server mit Schlüsseln .................................... 453
Generieren von Schlüsseln ............................................................. 454
Benutzerauthentifizierung mit Schlüsseln ....................................... 455
Der Authentifizierungsagent .......................................................... 457
GnuPG ........................................................................................... 457
Schlüsselerstellung mit GnuPG ....................................................... 458
GnuPG-Dateien ............................................................................. 461
GnuPG verwenden ......................................................................... 461
GnuPG-Zertifikat widerrufen .......................................................... 463
465

Übungsfragen zu LPI 117-102 ...................................................... 465


Fragen ......................................................................................................... 465
Antworten und Erklärungen zu den Prüfungsfragen ..................................... 502

Index ........................................................................................................... 535

13
Vorwort

Herzlich willkommen!
Dieses Buch bietet Ihnen eine optimale Möglichkeit, Ihr Wissen über Linux zu
verbessern und sich auf die ersten beiden Prüfungen des Linux Professional Insti-
tute (LPI) vorzubereiten. Die vorliegende Auflage berücksichtigt bereits die letz-
ten Änderungen des LPI zum 01. April 2012.

Das Zertifikat, das Sie nach dem Bestehen dieser Prüfungen erwerben, wird
Ihnen erhebliche Vorteile bei der Suche nach einem Arbeitsplatz bringen. Auch
für Arbeitgeber ist es wünschenswert, die Fachkompetenz der eigenen Mitarbei-
ter schriftlich belegen zu können. Eine vollständige und aktuelle Auflistung der
möglichen Zertifizierungen mit LPI finden Sie unter:

http://www.lpi.org/linux-certifications/programs

Hinweise zum Buch


Für wen ist dieses Buch?
Dieses Buch richtet sich an all diejenigen, die zur Förderung ihrer beruflichen
Laufbahn Fachwissen erlangen und dieses zertifizieren lassen wollen. Das Buch
ist ausdrücklich nicht als Nachschlagewerk gedacht, sondern bereitet gezielt auf
die Prüfungen LPIC 101 und LPIC 102 vor. Um die Level-1-Zertifikation des Linux
Professional Institute zu erwerben, müssen Sie diese beiden Prüfungen ablegen
und bestehen.

Voraussetzungen
Sie sollten bereits gute Vorkenntnisse aus dem Bereich der EDV mitbringen. Auch
Fachwissen im Bereich Unix oder Linux ist absolut von Vorteil, wenn auch nicht
Voraussetzung. Wenn in diesem Buch Themen behandelt werden, die aus dem
Bereich Linux für Einsteiger zu sein scheinen, dann hat dies den Hintergrund,
dass diese Themen für Sie prüfungsfähig aufgearbeitet werden sollen.

Damit die vorgestellten Themen auch praktisch angewendet werden können,


benötigen Sie einen Computer, auf dem eine beliebige Linux-Distribution instal-
liert ist. Da die Prüfungen des LPI unabhängig von einem bestimmten Hersteller

15
Vorwort

bzw. einer bestimmten Distribution erstellt wurden, sind Sie hier in Ihrer Aus-
wahl eigentlich nicht eingeschränkt. Praktischer ist es allerdings, wenn Sie min-
destens zwei Linux-Distributionen in virtuellen Maschinen einsetzen. Sie können
dann einfach die distributionsspezifischen Unterschiede selbst sehen und gege-
benenfalls testen. Das ist z.B. beim Thema Paketmanagement besonders interes-
sant. Sollten Sie sich für den Einsatz mehrerer Distributionen entscheiden, dann
empfehle ich Ihnen die Auswahl eines eher Debian-basierten (z.B. Debian,
Ubuntu, Mint) und eines Red Hat-basierten Systems (z.B. CentOS, Fedora). So
können Sie gleichzeitig die Vor- und Nachteile dieser beiden Welten einmal
selbst (hoffentlich vorurteilsfrei) unter die Lupe nehmen.

Der Aufbau des Buches


Das Buch ist in vier Abschnitte unterteilt. Für beide Prüfungen, die zum Erwerb
des ersten LPI-Zertifikates notwendig sind, gibt es jeweils eine Sektion, die zum
Selbststudium der jeweiligen Prüfungsinhalte geeignet ist. Außerdem gibt es für
beide Prüfungen einen Bereich mit realistischen Fragen, wie sie auch in der Prü-
fung gestellt werden könnten. Zum besseren Verständnis sind die Antworten zu
den Fragen genau erläutert. Sie sollten nicht versuchen, die Fragen auswendig zu
lernen, weil Sie in der Prüfung mit völlig anderen Fragen konfrontiert werden.
Die im Buch verwendeten Fragen sind keine Prüfungsfragen.

Die Kapitel in diesem Buch sind genauso angeordnet und benannt, wie die soge-
nannten Objectives des LPI. Jedem Kapitel ist eine Wichtung (im Original als
Weight bezeichnet) zugeordnet. Die Wichtung gibt einen klaren Hinweis auf die
Anzahl der Fragen, die zu dem jeweiligen Thema gestellt werden. Sie entspricht
nämlich seit April 2009 der genauen Fragenanzahl in der Prüfung von 60 mögli-
chen Fragen.

Wie man mit diesem Buch arbeitet


In den ersten beiden LPI-Prüfungen werden Sie mit sehr vielen Fragen konfron-
tiert, die sich mit Kommandos und deren (u.U. selten verwendeten) Optionen
beschäftigen. Es wurde beim Erstellen dieses Buches sehr sorgfältig darauf geach-
tet, genau die Parameter und Optionen eines Kommandos niederzuschreiben, die
für die Prüfungen auch relevant sind. Das ist aber leider keine Garantie dafür,
dass keine anderen Optionen in der Prüfung abgefragt werden. Sie sollten sich
also zusätzlich zu den dokumentierten Beispielen auch mit den Manpages der
entsprechenden Kommandos beschäftigen. Gerade in den ersten beiden Prüfun-
gen kommen Sie allein mit Berufserfahrung nicht weiter. Es ist hier auch notwen-
dig, Parameter zu kennen, die man in der Praxis eher selten benötigt und bei
Bedarf in den Manpages nachlesen würde.

16
Vorwort

Die Prüfungssimulation
Die dem Buch beiliegende Prüfungssimulation basiert auf XML und kann z.B. mit
dem Webbrowser Firefox ausgeführt werden. Öffnen Sie zu diesem Zweck ein-
fach die Datei pruefungssimulator_starten.html. Sie sollten dieses Programm aber
erst dann verwenden, wenn Sie sich gründlich mit den Themen des Buches
beschäftigt haben. Sie können mit dem Programm Ihren Kenntnisstand überprü-
fen, aber die Aussagekraft des erzielten Ergebnisses sinkt umgekehrt proportio-
nal mit der Anzahl der Durchgänge durch die Prüfungssimulation.

Hinweise zur Prüfung


Onlineprüfung
Es gibt zwei verschiedene Organisationen, bei denen Sie die Prüfungen in soge-
nannten Prüfungszentren online ablegen können. In Bezug auf die gestellten Fra-
gen macht es keinen Unterschied, für welche der beiden Sie sich entscheiden.

Pearson Vue: http://www.vue.com

Thomson Prometric: http://www.prometric.com

Besuchen Sie einfach eine dieser beiden Webseiten, und registrieren Sie sich. Die
genauen Vorgehensweisen sind auf den jeweiligen Webseiten erklärt. Wenn ein
Konto für Sie eingerichtet wurde, werden Sie per E-Mail informiert. Es ist dann
sofort möglich, Prüfungen verschiedenster Hersteller bzw. Organisationen online
zu buchen. Sie können den Zeitpunkt selbst bestimmen und ein Prüfungszent-
rum in Ihrer Nähe aus der Datenbank auswählen. Die Bezahlung erfolgt bequem
per Kreditkarte, und Sie werden per E-Mail benachrichtigt, sobald der Termin für
Sie reserviert wurde. Im Augenblick benötigt Pearson Vue 24 Stunden Vorlauf für
die Buchung einer Prüfung. Thomson Prometric benötigt sogar 48 Stunden. Sie
können also eine Prüfung frühestens für den nächsten Tag buchen. Die LPI-Prü-
fungen kosten derzeit 145 €.

Papierprüfung
Es gibt hin und wieder auch die Möglichkeit, LPI-Prüfungen auf Papier abzule-
gen. Das geschieht meist auf Messen oder Kongressen. Diese Prüfungen können
normalerweise zu einem erheblich günstigeren Preis abgelegt werden als die im
vorangegangenen Abschnitt thematisierten Onlineprüfungen. Da Papierprüfun-
gen nicht immer sofort ausgewertet werden können, kann es allerdings eine
Weile dauern, bis Sie über das Ergebnis Ihrer Prüfung informiert werden. In
Deutschland werden Papierprüfungen normalerweise auf der CeBIT in Hannover

17
Vorwort

oder auf den Linux-Tagen angeboten. Weitere Veranstaltungen, auf denen Sie
Papierprüfungen ablegen können, finden Sie auf dieser Webseite:

http://lpievent.lpice.eu

Hier wird Ihnen auch gleich die Möglichkeit gegeben, sich zu einer Prüfung anzu-
melden.

Punktevergabe
Die Punktevergabe bei den Prüfungen sieht im Moment folgendermaßen aus:

Zum Bestehen einer beliebigen LPI-Prüfung sind 500 Punkte erforderlich. In den
Prüfungen 117-101 und 117-102 müssen Sie jeweils 60 Fragen in 90 Minuten
beantworten. Hierbei können Sie jeweils 800 Punkte erreichen. Bei Prüfungen, die
auf Papier abgelegt werden, kann die Punktevergabe abweichend sein.

In den Prüfungen sind jeweils Betafragen enthalten, die Ihre Punktezahl nicht
beeinträchtigen. Da diese Fragen nicht gesondert markiert sind, müssen Sie sie
ebenfalls beantworten. Wegen der eingestreuten Betafragen ist eine genaue
Berechnung der benötigten Punkte in Prozent auch nicht möglich.

Sprachen
In Deutschland steht die LPI-Prüfung in den Sprachen Deutsch, Englisch, Chine-
sisch und brasilianisches Portugiesisch zur Verfügung. Viele Prüflinge legen die
Prüfung in englischer Sprache ab, um eventuellen Übersetzungsfehlern aus dem
Weg zu gehen. Das ist bei einigen Prüfungen, die ich aus eigener Erfahrung
kenne, auch absolut angebracht. Die Fragen in den LPI-Prüfungen sind allerdings
im Verhältnis zu den gängigen Herstellerprüfungen kurz gefasst und bieten des-
halb wenig Stoff für Übersetzungsfehler. Wenn Ihr Englisch nicht erstklassig ist,
sollten Sie die Prüfung lieber in Ihrer Muttersprache ablegen.

Ich wünsche Ihnen viel Spaß und Erfolg beim Bestehen der Prüfungen!

Harald Maaßen

18
Die Dienste eines Systems müssen kontrolliert und gepflegt werden. Um
sich die Arbeit so weit wie möglich zu erleichtern, können Sie hier einiges
automatisieren. Zur Vereinfachung der Kontrolle können Sie die Proto-
kollierung auf die eigenen Bedürfnisse zuschneiden.

Topic 108: Grundlegende Systemdienste

108.1 Die Systemzeit verwalten


Wichtung: 3

Beschreibung: Kandidaten sollten in der Lage sein, die Systemzeit korrekt zu hal-
ten und die Uhr mittels NTP zu synchronisieren.

Wichtigste Wissensgebiete:
왘 Systemzeit und -datum setzen
왘 die Hardware-Uhr auf die korrekte Zeit in UTC setzen
왘 die korrekte Zeitzone einstellen
왘 grundlegende NTP-Konfiguration
왘 Wissen über den Gebrauch von pool.ntp.org

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:


왘 /usr/share/zoneinfo
왘 /etc/timezone
왘 /etc/localtime
왘 /etc/ntp.conf
왘 date
왘 hwclock
왘 ntpd
왘 ntpdate
왘 pool.ntp.org

389
108 Grundlegende Systemdienste

Allgemeines
Für viele Abläufe auf einem Computer ist es wichtig, dass die Systemzeit korrekt
eingestellt ist. Vergleichsweise harmlos ist hier noch der Umstand, dass bei
abweichender Systemzeit Wartungsarbeiten, die durch cron oder anacron ausge-
führt werden, möglicherweise zu Zeiten mit Spitzenbelastung laufen und so die
Produktionsumgebung negativ beeinflussen. Unangenehm ist dann schon, dass
Protokollierungen mit einer falschen Uhrzeit oder gar mit einem falschen Datum
versehen werden. Verwirrend kann es auch werden, wenn Mails anscheinend
eintreffen, bevor Sie überhaupt geschrieben wurden. All diese Unannehmlichkei-
ten lassen sich durch eine richtig eingestellte Systemzeit vermeiden. Eine Auto-
matisierung der Zeitkorrektur macht bei Servern, die unbeaufsichtigt in einem
Keller ihre Arbeit verrichten, also absolut Sinn.

Manuelle Konfiguration der Systemzeit


Die manuelle Konfiguration der Systemzeit erfolgt über das Kommando date.
Wenn Sie date ohne Parameter starten, werden das aktuelle Datum und die Uhr-
zeit ausgegeben.

[root@fedora10 ~]# date


Di 28. Apr 17:54:52 CEST 2009

Hierbei ist zu beachten, dass es sich tatsächlich um die Systemzeit handelt. Diese
ist unter Umständen nicht synchron mit der Hardware-Uhr (RTC bzw. Real-Time-
Clock). Wenn Sie die Uhrzeit mittels date ändern wollen, dann gehen Sie folgen-
dermaßen vor:

archangel:~ # date -s 1755


Di 28. Apr 17:55:00 CEST 2009

Die Uhr wird auf 17.55 Uhr eingestellt. Es ist aber auch möglich, date zu verwen-
den, um recht elegante Uhrzeitausgaben zu generieren. Das kann etwa in eigenen
Skripten verwendet werden. Wenn date auf ein + trifft, wird die darauf folgende
Zeichenkette von date ausgegeben und die enthaltenen Variablen entsprechend
ergänzt. Das sieht z.B. so aus:

# date "+Heute ist der %d.%m.%Y. Das ist der %j. Tag des Jahres."
Heute ist der 28.04.2009. Das ist der 118. Tag des Jahres.

Das Programm unterstützt zahlreiche weitere Variablen. Diese können Sie sich
mit date –help anzeigen lassen.

390
Die Systemzeit verwalten 108.1

Die RTC-Uhr einstellen


Mit dem Kommando hwclock können Sie die Systemzeit in die Hardware-Uhr
schreiben oder umgekehrt. Sie müssen beide Verfahren für die Prüfung kennen.
Das sollte aber nicht weiter problematisch sein, weil Sie die benötigten Optionen
leicht wiedererkennen können. Folgendes Kommando schreibt die Systemzeit in
die Echtzeituhr:

archangel:~ # hwclock –-systohc

Umgekehrt holt folgender Befehl die Zeit bei der RTC ab und stellt danach die
Systemzeit ein:

archangel:~ # hwclock –-hctosys

Interessant ist es auch, zu beobachten, wie die Uhrzeiten zwischen der Hardware-
Uhr und der Systemzeit driften. Die Differenz lässt sich mit hwclock ermitteln,
indem Sie folgendes Kommando verwenden:

archangel:~ # hwclock --show


Di 28 Apr 2009 17:58:13 CEST –0.020712 Sekunden

Die Genauigkeit, mit der die Abweichung ermittelt wird, ist eine Millionstel
Sekunde. Das sollte für die meisten Anwendungsgebiete ausreichen.

Zeitzonen
Es gibt grundsätzlich zwei Arten, wie eine Linux-Uhr eingestellt werden kann.
Entweder Sie stellen sie der Einfachheit halber auf die Zeit der Zone ein, in der
Sie sich befinden, oder Sie verwenden UTC. Heutzutage geben die meisten Admi-
nistratoren der zweiten Methode den Vorzug, was im Zuge internationaler Kom-
munikation auch nur vernünftig ist. Das Kürzel UTC leitet sich ursprünglich von
Coordinated Universal Time ab. Im Lauf der Jahre ist der Buchstabe C aus irgend-
welchen Gründen, die heute niemand mehr kennt, an den Schluss gestellt wor-
den. Die UTC löst die MEZ inzwischen auch in Europa weitestgehend ab. UTC+1
entspricht der MEZ.

Damit der Computer dem Benutzer die lokale Zeit anzeigt, muss dem System
noch mitgeteilt werden, dass die BIOS-Uhr (RTC) auf UTC eingestellt ist. Das
kann über folgende Konfigurationsdateien geschehen:

왘 /usr/share/zoneinfo – In diesem Verzeichnis befinden sich Binärdateien, die


mit allen existierenden Zeitzonen korrespondieren.
왘 /etc/localtime – Diese Datei ist die mit der aktuellen Zeitzone übereinstim-
mende Binärdatei aus /usr/share/zoneinfo. Es kann sich hier um eine Kopie
oder einen Softlink zur Originaldatei handeln.

391
108 Grundlegende Systemdienste

왘 /etc/timezone ist eine textbasierte Konfigurationsdatei. Sie können die richtige


Zeitzone in dieser Datei einfach eintragen.

Um einen Überblick über die verfügbaren Zeitzonen zu bekommen, können Sie


tzselect verwenden, wie Sie ja bereits aus dem vorangegangenen Kapitel wis-
sen. Dieses nützliche Werkzeug ist in den meisten aktuellen Distributionen ent-
halten.

Zeitsynchronisation über das Netzwerk


Zeitsynchronisation über das Netzwerk heißt in den meisten Fällen natürlich
Synchronisation über das Internet. Zu diesem Zweck kommt das Network Time
Protocol (NTP) zum Einsatz. Es handelt sich hier um ein relativ altes Protokoll,
das schon 1985 in RFC 958 definiert wurde. Wegen der geringen zu übertragen-
den Datenmengen nutzt NTP das UDP. Der verwendete UDP-Port ist 123. Viele
interessante Informationen und aktuelle NTP-Programmpakete erhalten Sie auf
http://www.ntp.org. Hier finden Sie auch Listen mit öffentlichen Servern, von
denen Sie synchronisieren können. Interessant ist in diesem Zusammenhang
auch ein Projekt, in dem ganze NTP-Pools mittels Round Robin zur Verfügung
gestellt werden. Es folgt ein Beispiel mit einem Zugriff auf eben diese Server:

root@archangel:~# ntpdate pool.ntp.org


28 Apr 18:03:14 ntpdate[30836]: adjust time server 131.234.137.24
offset –0.000341 sec

Wie Sie sehen, können Sie mit ntpdate einfach durch Angabe eines Zeitservers
die Uhrzeit des Systems aktualisieren. Es wird allerdings empfohlen, bei der Syn-
chronisation mehrere Server gleichzeitig zurate zu ziehen, damit die Richtigkeit
der übermittelten Uhrzeit gegengeprüft werden kann.

Automatische Zeitsynchronisation
Wenn die Systemzeit automatisch synchronisiert werden soll, könnten Sie natür-
lich einfach ntpdate regelmäßig von cron ausführen lassen. Das ist sogar in einigen
Prüfungsfragen so vorgesehen. Komfortabler und genauer funktioniert dies aller-
dings mit dem Daemon ntpd. Die Verwendung von ntpd hat vor allem den Vorteil,
dass der Computer selbst als Zeitserver fungieren kann. Sie können ohne Schwie-
rigkeiten einen Windows XP-Computer von einem Linux-Host synchronisieren.
Dazu müssen Sie auf dem Windows XP-Computer lediglich einen Doppelklick mit
der seriellen Zeigereinheit (Maus o. Ä.) auf die Uhr ausführen. Auf der Register-
karte Internetzeit können Sie den Zeitserver festlegen. Diese Methode funktio-
niert nicht, wenn der Windows-Computer Mitglied einer Domäne ist.

392
Die Systemzeit verwalten 108.1

Die Hauptkonfigurationsdatei für den ntpd ist /etc/ntp.conf. Hier findet der Dae-
mon vor allem die Adressen mit den zur Aktualisierung vorgesehenen Servern
und einen Verweis auf den Driftfile. Dieser liegt, zumindest offiziell (und somit
für die Prüfung), unter /etc/ntp.drift. Der tatsächliche Speicherort hängt von der
verwendeten Distribution ab. Die Mindestausstattung der ntp.conf könnte etwa
so aussehen:

server de.pool.ntp.org
server ptbtime1.ptb.de
driftfile /var/lib/ntp/drift/ntp.drift

Mit diesen Einträgen ist der Server schon lauffähig. Starten Sie den Server wie
üblich mit /etc/init.d/ntpd start. Er wird sofort eine erste Synchronisation
durchführen. In Abhängigkeit von der verwendeten Distribution wurde ntpd
bereits durch xntpd ersetzt. Die Konfigurationsdateien sind jedoch identisch.

Die Driftdatei wird von ntpd verwendet, um Ungenauigkeiten der Systemuhr


festzuhalten. Die Abweichung von der tatsächlichen Zeit wird auf eine Millions-
tel Sekunde ermittelt und in die Driftdatei geschrieben.

NTP Diagnose
Es gibt mehrere Bordwerkzeuge, um den ntpd oder auch xntpd zu untersuchen.
Die beiden wichtigsten sind wohl ntpq und ntpdc. Beide Programme unterstüt-
zen einen interaktiven Modus, der nach Eingabe eines Fragezeichens Aufschluss
über die Möglichkeiten der beiden Programme liefert. Das Beispiel zeigt eine
Abfrage nach sysinfo mit ntpdc im interaktiven Modus:

archangel:/ # ntpdc
ntpdc> sysinfo
system peer: ptbtime1.ptb.de
system peer mode: client
leap indicator: 00
stratum: 2
precision: –18
root distance: 0.02992 s
root dispersion: 0.02531 s
reference ID: [192.53.103.108]
reference time: cab10cf1.fd8090b4 Fri, Oct 5 2007 21:20:17.990
system flags: auth monitor ntp kernel stats
jitter: 0.004898 s
stability: 236.358 ppm
broadcastdelay: 0.003998 s
authdelay: 0.000000 s
ntpdc>

393
108 Grundlegende Systemdienste

Beide Diagnoseprogramme geben große Informationsmengen aus, weshalb es


hier auch bei diesem einen Beispiel bleiben soll. Sehr interessant sind sicherlich
noch die Abfragen nach peers und monlist. Probieren Sie diese doch einfach ein-
mal aus.

pool.ntp.org
Eine beliebte Quelle zur Synchronisation ist pool.ntp.org. Hierbei handelt es sich
um einen sehr großen virtuellen Cluster, der über die ganze Welt verteilt ist.
Europa ist hier übrigens mit etwas über 1.000 Nodes vertreten. Die Verteilung an
die Clients wird über DNS mittels Round Robin abgewickelt. Das ist auch der
Grund, warum Sie in der Datei /etc/ntp.conf mehrere Zeitserver eintragen sollten.
Round Robin kümmert sich nämlich bei der Herausgabe einer IP-Adresse nicht
darum, ob der Zielserver auch wirklich erreichbar ist. Bei Windows-Clients (egal,
ob XP oder Vista) können Sie nur einen Zeitserver eintragen. Hier tragen Sie ein-
fach pool.ntp.org ein und hoffen, per Round Robin immer einen funktionstüch-
tigen Server anzutreffen. Bei Linux-Clients schreibt man gerne in die /etc/ntp.conf:

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

So haben Sie trotz Round Robin eine realistische Chance auf einen Treffer.

Prüfungstipp
Das Thema pool.ntp.org ist in den LPI-Prüfungen neu. Die Wahrscheinlichkeit ist also
recht hoch, dass zu diesem Thema Fragen kommen.

108.2 Systemprotokollierung
Wichtung: 2

Beschreibung: Kandidaten sollten in der Lage sein, den Syslog-Daemon zu konfi-


gurieren. Dieses Lernziel umfasst auch die Konfiguration des Syslog-Daemons für
den Versand von Logmeldungen an einen zentralen Protokollserver oder das
Annehmen von Logmeldungen als zentraler Protokollserver.

Wichtigste Wissensgebiete:
왘 Syslog-Konfigurationsdateien
왘 syslog
왘 Standard-Facilities, -Prioritäten und -Aktionen

394
Systemprotokollierung 108.2

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:


왘 syslog.conf
왘 syslogd
왘 klogd
왘 logger

Allgemeines
Viele Programme und natürlich auch Linux selbst protokollieren zur Laufzeit Ereig-
nisse, die sich in den jeweiligen Programmabläufen ergeben. Diese Protokolle
kann sich ein Administrator zunutze machen, um Fehler zu diagnostizieren oder
Engpässe frühzeitig zu erkennen. Dazu ist es wichtig, die Speicherorte dieser Pro-
tokolldateien zu kennen und gegebenenfalls Anpassungen am Verhalten der für
die Protokollierung zuständigen Konfigurationsdateien vornehmen zu können.

syslogd und syslog-ng


Damit überhaupt eine Protokollierung von Ereignissen stattfindet, brauchen Sie
zunächst einmal ein Programm, das diese Protokollierung durchführt. Auf Linux-
Systemen finden Sie momentan zwei verschiedene Produkte, die für das Logging
zuständig sind. Das neuere Produkt ist der syslog-ng, den man inzwischen in vie-
len modernen Distributionen vorfindet. So verwenden Fedora 10 und Debian 4
immer noch den alten syslogd, während SuSE bereits ab Version 9.3 den syslog-
ng einsetzt. Solche Kriterien sollten allerdings niemals einen Qualitätsvergleich der
Distributionen nach sich ziehen. Die meisten Distributionen haben unterschiedli-
che Vor- und Nachteile. Letztendlich ist es auch Ansichtssache, ob man auf solide,
altbewährte Methoden setzen will oder ob man mit neuen, verbesserten Techno-
logien neue Kinderkrankheiten in Kauf nehmen möchte.

Prüfungstipp
Für die Prüfung sollten Sie sich unbedingt auf den alten syslog konzentrieren. Fragen
zu syslog-ng sind bis dato nicht aufgetaucht und vorläufig nicht zu erwarten. SuSE-
Benutzer sollten also den alten syslogd nachinstallieren. Das benötigte Paket ist auf der
SuSE-CD enthalten (/suse/i586/syslogd-1.4.1-537.i586.rpm).

Die Konfigurationsdateien
Zunächst einmal muss festgelegt werden, was wohin von wem protokolliert wird.
Normalerweise sind die Voreinstellungen brauchbar und müssen nicht sofort
modifiziert werden. Da Protokolldateien ohne regelmäßige Überprüfung sehr
stark anwachsen können, muss auch noch ein Mechanismus verwendet werden,
der ein Überlaufen der Festplatte verhindert.

395
108 Grundlegende Systemdienste

/etc/syslog.conf
Das Protokollierungsverhalten des syslogd wird mit der Datei /etc/syslog.conf
gesteuert. Achtung bei der Prüfung: Es gibt keine /etc/syslogd.conf! Das kleine d
gibt es nur bei dem entsprechenden Daemon! Der Aufbau dieser Datei ist recht
einfach organisiert. Jede Zeile enthält jeweils Felder, die immer folgendermaßen
gegliedert sind: facility.level action

왘 facility ist hierbei der Prozess, der den zu protokollierenden Eintrag erstellt.
Es kommen folgende Prozesse in Frage:
왘 auth (ehemals security), authpriv, cron, daemon, kern, lpr, mail, mark, news,
syslog, user, uucp, local0 bis local7
왘 Ein Stern (engl. asterisk) bezeichnet alle Facilities.
왘 Wenn Sie für eigene Programme den Syslog verwenden möchten, dann
können Sie hierfür auf die Facilities local0 bis local7 zurückgreifen, die
für eben diesen Zweck bestimmt sind.
왘 level legt den jeweiligen Protokollierungsgrad fest. Wenn Sie einen Fehler
genauer untersuchen wollen, kann es sinnvoll sein, den Protokollierungsgrad
recht hoch einzustellen. In einigen Fällen können aber auch die Erfolgsmel-
dungen einiger Facilities das Verzeichnis /var überschwemmen. Für die Prü-
fung müssen Sie die Reihenfolge der Loglevel kennen:
왘 debug – extremer, in der Regel unnötiger Protokollierungsgrad
왘 info – harmlose Informationen
왘 notice – ungefährlicher Hinweis
왘 warning, warn – normalerweise harmlos, je nach Facility
왘 err, error – z.B. Authentifizierungsfehler, I/O Fehler
왘 crit – ein kritischer Fehler, sorgt immer für Probleme
왘 alert – ein Alarm, weist immer auf schwerwiegende Probleme hin
왘 emerg panic – wird (wenn überhaupt noch) als letzter Eintrag vor dem Sys-
temcrash geschrieben. Das gilt natürlich nicht, wenn ein unwichtiges Pro-
gramm abstürzt, bei dem die Ansteuerung des Syslog völlig übertrieben
wurde.

Die Level error, warn und panic sind veraltet, und es sollten stattdessen jeweils
err, warning und emerg verwendet werden.

왘 action ist von der Bezeichnung her irreführend. In diesem Feld wird das Ziel
spezifiziert, in die das Facility protokollieren soll. Hierbei wird es sich norma-
lerweise um eine Datei handeln. Die Benachrichtigung kann aber auch an
einen anderen Computer oder an eine kommagetrennte Liste von Benutzern
gesendet werden.

396
Systemprotokollierung 108.2

Es folgt ein Auszug aus einer typischen Debian-syslog.conf:

auth,authpriv.* /var/log/auth.log
cron.* /var/log/cron.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log

Wie Sie gleich sehen, verwendet Debian für jedes Facility seine eigene Log-Datei.
Das ist eher außergewöhnlich, kann aber bei der Fehlersuche angenehm sein,
wenn Sie kleinere Logfiles gezielt durchsuchen. Bei den meisten anderen Distri-
butionen können Sie davon ausgehen, dass der Löwenanteil der protokollierten
Informationen in der Datei /var/log/messages abgelegt werden.

/etc/logrotate.conf
Damit die Log-Dateien auf einem unbeobachteten System nicht unkontrolliert
anwachsen und das Dateisystem fluten, werden diese mit dem Programm
logrotate überwacht. Wie logrotate diese Dateien behandelt, hängt von den
Einstellungen in der Konfigurationsdatei /etc/logrotate.conf ab. Normalerweise
werden nach Ablauf einer voreingestellten Zeit die im Verzeichnis /var/log
befindlichen Dateien komprimiert und dann im leeren Zustand neu erstellt. Es ist
heute der Übersichtlichkeit halber üblich, die Konfiguration mit Include-Dateien
zu versehen. Deshalb sollten Sie auf Ihrem System auch nach einem Verzeichnis
mit der Bezeichnung /etc/logrotate.d Ausschau halten. Logrotate sollte täglich
von cron ausgeführt werden.

Prüfungstipp
Detaillierte Kenntnisse über die Konfiguration der logrotate.conf sind für die Prüfung
nicht erforderlich. Sie sollten aber auf jeden Fall wissen, wozu logrotate eingesetzt wird.

Einsatz von Log-Dateien zur Fehlersuche


Wenn auf einem Linux-System ein unerklärlicher Fehler auftritt, ist es immer
eine gute Idee, das Verzeichnis /var/log zu konsultieren und die mit dem Problem
in Zusammenhang stehenden Log-Dateien zu untersuchen. Die einfachste
Methode ist wohl die Anzeige einer Log-Datei mit einem Pager:

archangel:/ # less /var/log/messages


Aug 17 09:07:42 archangel named[6801]: client 172.16.0.2#2509:
updating zone '0.16.172.in-addr.arpa/IN': adding an RR at
'2.0.16.172.in-addr.arpa' PTR
Aug 17 09:45:39 archangel sshd[31158]: Accepted password for root
from ::ffff:192.168.0.10 port 4345

397
108 Grundlegende Systemdienste

Aug 17 10:00:32 archangel syslog-ng[6389]: STATS: dropped 0


Aug 17 11:00:33 archangel syslog-ng[6389]: STATS: dropped 0

Scheinbar ist nichts Aufregendes passiert. Der DNS-Server hat einen Reverse-
Lookup-Eintrag aktualisiert, und der Root hat sich via SSH eingeloggt. Danach
geschah zwei Stunden lang nichts!

Eine völlig andere Methode, sich Log-Dateien zunutze zu machen, ist das Kom-
mando tail. Standardmäßig gibt tail die letzten zehn Zeilen einer Textdatei auf
dem Bildschirm aus. Wenn Sie aber die Option –f übergeben, wird das Anzeigen
der betreffenden Log-Datei fortgesetzt. Das bedeutet, dass der Computer keinen
Eingabe-Prompt anzeigt, sondern die Datei samt Änderungen im laufenden Betrieb
anzeigt und aktualisiert. Das ist besonders nützlich, wenn Sie beabsichtigen, einen
Fehler zu provozieren und dessen Auswirkungen gleichzeitig auf einem anderen
Terminal zu beobachten. Die vollständige Kommandozeile ist also folgende:

archangel:~ # tail /var/log/messages -f

Wenn Sie nach der Ausgabe eines bestimmten Programms in einer umfangrei-
chen Protokolldatei oder nach einem bestimmten Ereignistyp suchen, empfiehlt
es sich, die Anzeige der Log-Datei mit grep zu filtern. Bei umfangreicheren Ergeb-
nissen kann die Ausgabe natürlich nach less umgeleitet werden.

archangel:~ # grep sshd /var/log/messages | grep invalid | less

In diesem Beispiel sucht grep zunächst alle Einträge, die der sshd protokolliert
hat. Die anschließende Filterung nach invalid sucht fehlgeschlagene Anmel-
deereignisse. Zum Schluss wird die Ausgabe an less übergeben und auf dem
Bildschirm dargestellt:

Sep 17 13:04:47 archangel sshd[310]: Failed none for invalid user


rooot from ::ffff:87.187.104.63 port 64960 ssh2
Sep 25 16:58:55 archangel sshd[1774]: Failed none for invalid user
martin from ::ffff:192.168.0.53 port 55380 ssh2

Offensichtlich ist beim ersten Eintrag der Benutzername Root falsch geschrieben
worden. Der zweite Eintrag ist ein Anmeldeversuch von einem Benutzer, den es
auf diesem System gar nicht gibt.

Selbst Ereignisse loggen


Eine einfache Methode, ein Ereignis selbst zu generieren, bietet das Programm
logger. Dieses Tool kann natürlich auch in eigenen Skripten eingesetzt werden.
Wenn z.B. ein selbst geschriebenes Skript verwendet wird, das eigenständig eine
Datensicherung durchführt, ist am Ende des Skripts folgende Zeile denkbar:

398
Grundlagen von Mail Transfer Agents (MTAs) 108.3

logger -t Backup "Datensicherung ausgeführt"

Zu Testzwecken können Sie den Befehl auch einfach auf der Kommandozeile ein-
geben. Ein Blick in den Syslog zeigt das Ergebnis:

archangel:~ # tail –1 /var/log/messages


Sep 25 17:20:42 archangel Backup: Datensicherung ausgeführt

So haben Sie in Zukunft jederzeit die Möglichkeit, zu überprüfen, wann dieses


Skript ausgeführt wurde.

Der Kernellog
Der Daemon mit dem Namen klogd fängt Meldungen des Kernels ab und proto-
kolliert diese. Normalerweise wird er vom init-Prozess gestartet und läuft sinn-
vollerweise in jedem Runlevel, den ein System nutzt. Die Ausgabe erfolgt in der
Regel auf dem Syslog. Man kann (am besten im zugehörigen init-Skript) einige
Optionen an den klogd übergeben. Einige wichtige Optionen sind:

왘 -c n setzt den Loglevel für Konsolenmeldungen auf n.


왘 -d aktiviert den Debugging Modus.
왘 -f datei ändert die Ausgabe vom Syslog auf die angegebene datei.

Als Eingabedatei verwendet klogd /proc/kmsg. Auch das lässt sich mit einem
Schalter (nämlich -p path) ändern. Allerdings gibt es dazu normalerweise keine
Veranlassung.

108.3 Grundlagen von Mail Transfer Agents (MTAs)


Wichtung: 3

Beschreibung: Kandidaten sollten wissen, welche gebräuchlichen MTA-Pro-


gramme existieren und einfache Weiterleitungs- und Alias-Konfigurationen auf
einem Client-Rechner einstellen können. Weitere Konfigurationsdateien werden
nicht abgedeckt.

Wichtigste Wissensgebiete:
왘 Mail-Aliase anlegen
왘 Mail-Weiterleitung konfigurieren
왘 Wissen von allgemein verfügbaren MTA-Programmen (postfix, sendmail,
qmail, exim) (keine Konfiguration)

399
108 Grundlegende Systemdienste

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:


왘 ~/.forward
왘 Kommandos in der Sendmail-Emulationsschicht
왘 newaliases
왘 mail
왘 mailq
왘 postfix
왘 sendmail
왘 exim
왘 qmail

Allgemeines

Prüfungstipp
Für die anstehende Prüfung müssen Sie mit den Grundfertigkeiten der Konfiguration
eines Mail Transfer Agents vertraut sein. Komplexere Administrationsaufgaben erwarten
Sie allerdings erst in der LPI-Prüfung 117-201.

MUA, MDA und MTA


Die Verarbeitung und Übermittlung von Mail-Nachrichten wird in der Hauptsa-
che von drei Softwarekomponenten durchgeführt:

왘 MUA – Der Mail User Agent ist ein Mail-Clientprogramm, mit dem Mails
geschrieben, gelesen und versendet werden. (z.B. kmail, Evolution, Thunder-
bird, Outlook usw.)
왘 MDA – Der Mail Delivery Agent verarbeitet E-Mails auf einem Server. Er ent-
scheidet, wie mit den E-Mails weiter zu verfahren ist. Handelt es sich um
lokale Mail-Adressen, stellt er die E-Mail im entsprechenden Mail-Verzeichnis
des Adressaten zu. Ansonsten übergibt er die Nachricht an den MTA, der dann
für die Weiterleitung sorgt. (MDAs sind z.B. procmail, maildrop, cyrus)
왘 MTA – Der Mail Transfer Agent nimmt die E-Mail vom Client entgegen. Er ist
für die Zustellung einer Nachricht an den richtigen Zielserver verantwortlich.
Hierbei wird normalerweise das Protokoll SMTP verwendet. Auf dem Zielser-
ver übernimmt dann wieder der MDA die Nachrichten und verteilt sie in die
entsprechenden Mail-Verzeichnisse. (MTAs sind z.B. sendmail, postfix, qmail,
exim.)

400
Grundlagen von Mail Transfer Agents (MTAs) 108.3

Für die endgültige Auslieferung einer Mail-Nachricht an ein Clientprogramm


benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie
IMAP oder POP.

Das Starten und Stoppen eines Mail Transfer Agents funktioniert genau so, wie
bei den meisten anderen Netzwerkdiensten auch, wenn diese nicht gerade von
inetd oder xinetd gesteuert werden. Das bedeutet zum Beispiel für postfix:

root@ubuntu-server:/# /etc/init.d/postfix start


* Starting Postfix Mail Transport Agent postfix [ OK ]

Mail – Aliase
Die Datei /etc/aliases
In der Datei /etc/aliases können Sie Mail-Nachrichten umleiten. Hierbei sind vier
verschiedene Verfahren möglich. Das gängigste ist dieses:

willi: wilhelm
root: wilhelm

Mit dem ersten Eintrag werden Mails, die an willi adressiert sind, dem real exis-
tierenden Benutzerkonto wilhelm zugeordnet. Da Wilhelm ein Systemverwalter
ist, der sich äußerst selten als Root anmeldet, werden Mails, die an den Root
adressiert sind, ebenfalls Wilhelms Benutzerkonto zugewiesen.

Eine andere Methode ist die Zuweisung eines Alias zu einer Datei. So könnte man
Tätigkeitsberichte, automatisch mit Datum und Uhrzeit versehen, per Mail-Pro-
gramm schreiben:

taetigkeiten: "/home/harald/taetigkeitsbericht"

Die Berichte müssen dann einfach an das Konto taetigkeiten gesendet werden,
und die Aufzeichnung geschieht automatisch in der angegebenen Datei. Für die-
ses Konto muss ebenfalls kein reales Benutzerkonto auf dem Server existieren.

freunde: :include:/home/harald/meinefreunde

Der voranstehende Eintrag macht tatsächlich das, wonach er aussieht: Wenn eine
Mail an Freunde gesendet wird, wird diese Nachricht an alle Mail-Adressen ver-
sendet, die in der Textdatei /home/harald/meinefreunde zeilensepariert aufgeführt
sind.

Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an
ein Programm. Mit dieser Methode arbeitet etwa das Mailinglistenprogramm
Majordomo:

401
108 Grundlegende Systemdienste

majordomo: "|/usr/lib/majordomo/wrapper majordomo"

Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen.

newaliases
Nach dem Anlegen eines neuen Alias in der Datei /etc/aliases müssen Sie den
Befehl newaliases eingeben, damit Sendmail den neuen Alias auch verwendet.
Alternativ können Sie auch sendmail -bi ausführen. Selbst die Antwort der bei-
den Kommandos ist identisch:

[root@fedora10 home]# sendmail -bi


/etc/aliases: 77 aliases, longest 10 bytes, 777 bytes total

Weiterleitung von Mail


Ein Benutzer kann für sich selbst eine Mail-Weiterleitung einrichten. Das wird oft
mit einem Nachsendeauftrag bei der Post verglichen. Ein gern genannter Verwen-
dungszweck ist die Weiterleitung geschäftlicher Mails an eine Urlaubsvertretung.
Dazu muss der Benutzer nichts weiter tun, als eine Datei mit dem Namen .for-
ward (der Punkt muss sein) in seinem Heimatverzeichnis zu erstellen, welche die
Weiterleitungsadresse in einer einzelnen Zeile enthält. Die Weiterleitung greift
sofort. Es muss nichts weiter unternommen werden.

Wichtige Dateien und Verzeichnisse

Prüfungstipp
Für die Prüfung müssen Sie die Verzeichnisse, die von den gängigen MTAs (hauptsäch-
lich postfix und sendmail) verwendet werden, kennen.

왘 /var/spool/mail – in diesem Verzeichnis liegen Dateien mit den Namen der


Benutzerkonten, die auf diesem System Mails empfangen. Der MDA liefert
hier Nachrichten für die lokalen Benutzer aus.
왘 /var/spool/mqueue – das ist die Mail-Queue oder auch Warteschlange. Hier holt
der MDA Nachrichten ab und entscheidet dann, ob sie lokal ausgeliefert wer-
den oder an den MTA zur weiteren Verarbeitung übergeben werden müssen.
왘 /var/spool/postfix – hier liegt die Datenverzeichnisstruktur von postfix.
왘 /var/mail ist ein typischer Link auf /var/spool/mail.
왘 /etc/postfix beherbergt die Konfigurationsdateien von postfix.
왘 /etc/mail enthält die meisten Konfigurationsdateien für sendmail.

402
Grundlagen von Mail Transfer Agents (MTAs) 108.3

Um den Inhalt einer Mail-Queue im laufenden Betrieb sehen zu können, verwen-


den Sie das Programm mailq ohne Parameter:

archangel:/var/spool/mqueue # mailq
/var/spool/mqueue (2 requests)
--Q-ID---- --Size-- --Q-Time---- ----Sender/Recipient-
l9HH2A016576* 816 Wed Oct 17 19:02 <root@archangel.homelinux.net>
<dominik@archangel.homelinux.net>
l929jC016576* 931 Wed Oct 17 19:02 <root@archangel.homelinux.net>
<dominik@archangel.homelinux.net>
Total requests: 2

In der Regel ist hier aber nichts zu sehen, weil bei einem normal frequentierten
Server die Verarbeitung der Mails sehr schnell geschieht.

sendmail-Konfigurationsdateien
Die Hauptkonfigurationsdatei von sendmail ist die Datei sendmail.cf. Weitere
Konfigurationsdateien befinden sich normalerweise in /etc/mail. Die Datei send-
mail.cf selbst finden Sie z.B. bei SuSE direkt unter /etc , während sie bei Fedora 10
unter /etc/mail residiert. Das ist schon ein erster Hinweis darauf, dass die Konfi-
guration von sendmail stark variiert. Die Datei sendmail.cf könnte man durchaus
als kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch normalerweise
nicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durch
einen M4-Präprozessor verarbeitet werden. Die LPI-Prüfungen sind aber weit
davon entfernt, sich mit dieser Thematik auseinanderzusetzen.

postfix-Konfigurationsdateien
Der MTA postfix wird mit Konfigurationsdateien konfiguriert, die sich im Ver-
zeichnis /etc/postfix befinden. Die Datei main.cf ist die globale Konfigurationsda-
tei für postfix. Hier werden wichtige Grundeinstellungen festgelegt. Um eventu-
elle Pfadangaben zu irgendwelchen Arbeitsverzeichnissen müssen Sie sich
normalerweise nicht kümmern, weil diese distributionsspezifisch schon immer
richtig eingestellt sind. Es sollte aber natürlich festgelegt werden, unter welchem
Namen der Computer aus der Sicht des Internets angesprochen wird und für wel-
che Domänen er verantwortlich ist:

myhostname = echtername.meinedomain.com
myhostname = virtuellername.meinedomain.com
mydomain = meinedomain.com

Wie in dieser Datei die Smarthost-Einstellungen u.Ä. konfiguriert werden, erfah-


ren Sie auf der nächsten Seite.

403
108 Grundlegende Systemdienste

Eine weitere Konfigurationsdatei, die postfix verwendet, heißt master.cf. Hierbei


handelt es sich um die Konfiguration für die postfix-internen Prozesse. In dieser
Datei müssen in den seltensten Fällen Änderungen vorgenommen werden.

Smarthost und SMTP-Relay


Ein Smarthost ist ein Mailserver, der als SMTP-Relay fungiert. Normalerweise
werden Sie Ihre zu versendenden Mails nicht direkt zustellen, sondern durch den
SMTP-Server Ihres Internet Service Providers ausliefern lassen. Anderenfalls wür-
den viele Mailserver Ihre Mail nicht entgegennehmen, weil Ihr SMTP-Server im
Internet nicht bekannt ist. Daraus schließen diese Zielserver, dass Ihr Server ein
mögliches Relay für Spam ist, und verwerfen Ihre Mail.

Smarthost mit sendmail


Wenn Sie einen externen Smarthost für sendmail angeben wollen, ist das eine der
wenigen Situationen, in denen Sie die sendmail.cf bearbeiten müssen. Suchen Sie
nach einem DS am Zeilenanfang (möglicherweise auskommentiert), und schrei-
ben Sie dahinter lückenlos den FQDN des Relayservers.

# "Smart" relay host (may be null)


DSmailrelay.myisp.org.

So sieht der Eintrag also aus, wenn der Server mailrelay.myisp.org heißt.

Soll Ihr Server selbst als SMTP-Relay fungieren, dann müssen Sie die Dateien /etc/
mail/access und /etc/mail/relay-domains modifizieren und anschließend in eben
diesem Verzeichnis einmal das Kommando make ausführen, um die korrespon-
dierenden db-Files zu generieren.

Smarthost mit postfix


Sollten Sie postfix als MTA verwenden, dann muss der Smarthost entsprechend
in der Datei /etc/postfix/main.cf eingetragen werden. Dieser Eintrag sieht wie
folgt aus:

relayhost = mail.myisp.org

Um postfix selbst als Relay einzusetzen, gibt es verschiedene Möglichkeiten. Eine


sehr einfache (wenn auch umstrittene) Methode ist es, einfach mit der Angabe
der eigenen Netzwerke für bestimmte Subnetze Relaying zuzulassen:

mynetworks = 127.0.0.0/8 192.168.50.0/24 172.16.0.0/28

Das setzt natürlich voraus, dass die Mitarbeiter, die sich in diesen Subnetzseg-
menten aufhalten, vertrauenswürdig sind und nicht auf die Idee kommen, die
Absender ihrer Mails zu fälschen.

404
Drucker und Druckvorgänge verwalten 108.4

Wesentlich sicherer ist es natürlich, eine Authentifizierung des Benutzers zu ver-


langen. Als Mechanismus kommt hier am ehesten SASL (Simple Authentication
and Security Layer) infrage. Sollte ein authentifizierter Benutzer eine Mail mit
gefälschtem Absender verschicken, ist dieser Vorgang zumindest in den Protokol-
len (/var/log/mail) nachvollziehbar.

exim und qmail


Weniger bekannt sind die MTAs exim und qmail. Exim ist weitgehend ähnlich zu
konfigurieren wie sendmail, die Konfiguration ist aber etwas einfacher. Debian
verwendet exim sogar als Standard-MTA. Der MTA qmail wurde hauptsächlich
entwickelt, um die Sicherheit gegenüber sendmail zu erhöhen. Auch qmail ist
erheblich leichter zu konfigurieren als sendmail.

108.4 Drucker und Druckvorgänge verwalten


Wichtung: 2

Beschreibung: Kandidaten sollten in der Lage sein, Druckerwarteschlangen und


Druckaufträge von Benutzern mit CUPS und der LPD-Kompatibilitätsschnittstelle
zu verwalten.

Wichtigste Wissensgebiete:
왘 grundlegende CUPS-Konfiguration (für lokale und entfernte Drucker)
왘 Benutzer-Druckerwarteschlangen verwalten
왘 allgemeine Druckprobleme lösen
왘 Druckaufträge zu eingerichteten Druckerwarteschlangen hinzufügen und dar-
aus löschen

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:


왘 CUPS-Konfigurationsdateien, -Werkzeuge und -Hilfsprogramme
왘 /etc/cups
왘 LPD-Kompatibilitätsschnittstelle (lpr, lprm, lpq)

Allgemeines
Drucken funktioniert unter Linux praktisch genauso wie unter Unix. Das ist auch
nicht weiter verwunderlich, weil die beiden Drucksysteme, die unter Linux ver-
wendet werden, Portierungen aus der Unix-Welt sind. Die ältere der beiden Vari-

405
108 Grundlegende Systemdienste

anten ist an BSD-Unix angelehnt, das in Kalifornien an der Universität in Berkeley


entwickelt wurde (BSD steht für Berkeley Software Distribution). Das BSD-Druck-
system wurde allerdings später für Linux komplett neu geschrieben, weil es eine
Sicherheitslücke aufwies, die man unter Linux nicht akzeptieren wollte. Dieses
neu entwickelte System finden Sie heute unter der Bezeichnung LPRng in prak-
tisch allen Linux-Distributionen wieder.

Das zweite große Drucksystem unter Linux heißt CUPS (Common Unix Printing
Solution oder auch Common Unix Printing System). CUPS wurde ursprünglich ent-
wickelt, um das Internet Printing Protocol (IPP) zu unterstützen, löste aber auf vie-
len Systemen BSD und LPRng ab. Auch wenn CUPS intern völlig anders arbeitet
und zudem ein webbasiertes Konfigurationsfrontend anbietet, so ist bei seiner
Entwicklung an Abwärtskompatibilität gedacht worden. CUPS unterstützt nicht
nur die Kommandos von BSD bzw. LPRng, sondern zusätzlich auch die von Sys-
tem-V, einer verbreiteten Unix-Version.

Verwalten der Druckerwarteschlangen


Ein Druckauftrag durchläuft bei den meisten Betriebssystemen, bevor er ausge-
druckt wird, eine sogenannte Warteschlange. In diesem Zusammenhang wird
auch häufig der Begriff Queue verwendet. Das Wort Queue kommt ursprünglich
aus der französischen Sprache und bedeutet Schlange. Billard wird also, wenn
man es auf gut Deutsch ausdrücken will, nicht mit einem Stock, sondern mit
einer (offensichtlich erstarrten) Schlange gespielt. Einen weiteren gängigen Fach-
begriff, nämlich Spooler, kann man beinahe phonetisch aus dem Englischen mit
Spule übersetzen. Druckaufträge reihen sich also in eine Schlange ein oder wer-
den aufgespult.

Die zu druckenden Aufträge werden unter Linux zunächst von einem Druck-Cli-
ent-Programm (z.B. lpr) in die entsprechende Warteschlange gestellt. Um das
genaue Verzeichnis zu ermitteln, in das der Druckauftrag hingespoolt werden
muss, wird die Konfigurationsdatei /etc/printcap ausgewertet. Normalerweise
befinden sich die Warteschlangen unterhalb von /var/spool. Ein Druckauftrag
besteht immer aus zwei Dateien, nämlich einem Control-File mit der Dateierwei-
terung cf und einem in der Regel erheblich größeren Data-File mit der Extension
df. Der Spool-Vorgang ist nun abgeschlossen, und die beiden Dateien bleiben
jetzt so lange liegen, bis sie jemand bearbeitet. Diese Aufgabe übernimmt der
Line Printer Daemon (lpd) nun, vorausgesetzt, er wurde gestartet. lpd prüft
zyklisch das Vorhandensein von Dateien in allen Druckerwarteschlangen. Wird
er fündig, so übergibt er die momentan noch in einem sehr rohen, RAW genann-
ten Format vorliegenden, Daten an einen Druckfilter. Dieser wandelt dann die
Daten in Abhängigkeit vom verwendeten Druckermodell in einen geeigneten

406
Drucker und Druckvorgänge verwalten 108.4

Datenstrom und sendet diesen an den Drucker. Wenn der Auftrag ausgedruckt
wurde, werden die Kontroll- und die Datendatei aus der Warteschlange gelöscht.

Die Verarbeitung der Dateien ist bei der Verwendung von CUPS geringfügig
anders. So sind z.B. die Konventionen für die Benennung der Dateien innerhalb
einer Warteschlange different, aber das Druckprinzip ist weitestgehend gleich.

Den Line Printer Daemon startet man mit dem Befehl:

/etc/init.d/lpd start

Alternativ startet man CUPS mit:

/etc/init.d/cups start

Man beachte die Besonderheit, dass der Daemon CUPS nicht, wie die meisten
anderen, auf d endet! Nach Änderungen an den Konfigurationsdateien, insbeson-
dere /etc/printcap, muss der jeweilige Druckdaemon neu gestartet werden.

Befehle zur Kontrolle von Druckvorgängen


왘 lp und lpr senden Druckaufträge an einen angegebenen Drucker. Das Kom-
mando lp entstammt dem System-V und versteht andere Optionen als lpr.
Machen Sie sich für die LPI-Prüfung mit den Optionen von lpr vertraut. Mit
–P wird die zu verwendende Warteschlange angegeben.

archangel:~ # lpr -Plaserjet1300 /etc/printcap

druckt die Datei /etc/printcap auf dem Printer Laserjet1300 aus.


왘 lpq zeigt den Inhalt von Warteschlangen an. Es kann auch hier mit der Option
–P eine bestimmte Warteschlange angegeben werden:

archangel:~ # lpq -Plaserjet1300


laserjet1300 is ready and printing
Rank Owner Job File(s) Total Size
active root 450 printcap 1024 bytes
1st michaela 451 haushaltplan 9216 bytes
2nd michaela 452 haushaltplan 9216 bytes
3rd dominik 453 kinderprogramm.html 1024 bytes

왘 lprm löscht Aufträge aus der Warteschlange. Bereits im Druck befindliche Auf-
träge können nicht mehr entfernt werden.

archangel:~ # lprm -Plaserjet1300 451

entfernt den versehentlich doppelt abgesendeten Druckauftrag aus dem Bei-


spiel für lpq.

407
108 Grundlegende Systemdienste

Ein Benutzer ohne administrative Rechte kann ohne Weiteres selbst alle eige-
nen Aufträge löschen, indem er den Befehl lprm – eingibt. Wenn derselbe
Befehl aber vom Benutzer Root ausgeführt wird, dann werden sämtliche
Druckaufträge aller Benutzer aus der Warteschlange entfernt.

lpc – Line Printer Control


lpc ist ein Programm, das man als gewöhnlichen Konsolenbefehl oder interaktiv
verwenden kann. Es bietet umfangreiche Funktionen, weshalb ihm auch ein eige-
ner Abschnitt zusteht. Der interaktive Modus bietet einen Eingabe-Prompt und
macht vor allem dann Sinn, wenn Sie beabsichtigen, dem Druckdaemon mehrere
Befehle hintereinander zu geben. Wenn lpc mit CUPS verwendet wird, sind nur
einige wenige Befehle innerhalb von lpc verfügbar. Genau genommen ist dann
lediglich eine Statusabfrage möglich.

lpc> status
laserjet1300:
printer is on device 'parallel' speed –1
queuing is enabled
printing is enabled
4 entries
daemon present

Unter BSD bzw. LPRng sind deutlich mehr Optionen verfügbar, wobei die
Befehlsstruktur bis auf die Ausnahmen topq und status immer die gleiche ist. In
den Beispielen wird davon ausgegangen, dass lpc im interaktiven Modus gestar-
tet wurde.

lpc> up laserjet1300

startet und aktiviert den Laserjet 1300, während

lpc> up all

alle Drucker gleichzeitig startet und aktiviert. Also werden immer lpc, gefolgt
vom lpc-Kommando (up) und von dem anzusteuernden Drucker (Laserjet1300
bzw. all) angegeben. Die lpc-Kommandos sind im Einzelnen:

왘 start startet den Druckprozess als solchen, so dass jetzt Aufträge aus der War-
teschlange abgearbeitet und ausgedruckt werden können.
왘 stop beendet den Druckprozess. Ein laufender Auftrag wird noch bis zum
Ende abgearbeitet. Die Druckerwarteschlange nimmt aber weiterhin Aufträge
entgegen.
왘 enable aktiviert die Druckerwarteschlange.

408
Drucker und Druckvorgänge verwalten 108.4

왘 disable deaktiviert die Druckerwarteschlange. Bereits in der Warteschlange


befindliche Aufträge werden noch fertig abgearbeitet. Neue Jobs werden
jedoch abgelehnt.
왘 up kombiniert die Kommandos enable und start.
왘 down kombiniert die Kommandos disable und stop.
왘 abort beendet den Druckprozess sofort. Auch ein bereits in Arbeit befindli-
cher Druckauftrag wird sofort abgebrochen. Sollte der Drucker seine Tätigkeit
nicht sofort einstellen, ist dies auf Restdaten im Druckerspeicher zurückzufüh-
ren.
왘 topq stellt einen bereits gespoolten Druckauftrag an die erste Position in der
Warteschlange. Hier sieht die Befehlssyntax etwas anders aus als bei den ande-
ren Kommandos:
왘 lpc> topq Laserjet1300 453 verschiebt den Druckjob mit der Nummer 453 an
die erste Position der Druckerwarteschlange. Ein bereits in Arbeit befindlicher
Druckauftrag wird hierdurch nicht abgebrochen.
왘 quit beendet letztendlich den interaktiven Modus des lpc und kehrt zur nor-
malen Shell zurück.

Drucken mit CUPS


CUPS ist ein Drucksystem, das von Anfang an auf das Drucken im Netzwerk aus-
gelegt wurde. Deshalb modifiziert CUPS auch gleich nach seiner Installation die
altbekannte /etc/printcap, in der er sich selbst als Netzwerkdrucker deklariert:

# This file was automatically generated by cupsd(8) from the


# /etc/cups/printers.conf file. All changes to this file
# will be lost.
laserjet1300|laserjet1300:rm=archangel:rp=laserjet1300:

Abgesehen vom Namen des Druckers und seinem Alias, findet man hier also
noch einen remote printer an einer remote machine und das, obwohl der Drucker
lokal angeschlossen ist. Die Konfigurationsdateien für CUPS befinden sich alle
unterhalb von /etc/cups. Aber selbst diese müssen Sie nur selten modifizieren,
weil die komplette Konfiguration über Frontends durchgeführt werden kann. Am
einfachsten ist die Konfiguration mit einem Webbrowser. CUPS horcht am TCP-
Port 631 und kann somit über http://localhost:631 angesprochen werden. Auf
diesem Weg können nicht nur Wartungsaufgaben wie das Löschen von Druckauf-
trägen u.Ä. durchgeführt, sondern dem System auch neue Drucker hinzugefügt
werden. Der TCP-Port für die Konfiguration lässt sich übrigens in der Datei /etc/
cups/cupsd.conf ändern. CUPS kennt von sich aus sehr viele verschiedene Drucker

409
108 Grundlegende Systemdienste

und bringt die nötigen Filter alle mit. Die normalen Befehle zur Verwaltung von
Warteschlangen, wie lpr, lprm, lpq und lpc, stehen genauso zur Verfügung wie
unter BSD. Einzig der lpc ist in seiner Funktionsweise stark eingeschränkt. Zur
konsolenbasierten Konfiguration dient das Tool lpadmin, was Sie sich auch unbe-
dingt für die Prüfung merken sollten. In der Praxis werden Sie nach kurzer Ein-
gewöhnungszeit auf die angenehme HTML-Oberfläche von CUPS nicht mehr ver-
zichten wollen.

410
Übungsfragen zu LPI 117-102

Die folgenden Fragen sollen Ihnen helfen, sich an die Art der Fragestellung in
der wirklichen Prüfung zu gewöhnen. Es macht keinen Sinn, die Fragen einfach
auswendig zu lernen, denn es sind keine Prüfungsfragen. Sie sollten stattdessen
versuchen, die Antworten zu jeder einzelnen Frage zu verstehen. Deshalb wer-
den sowohl die richtigen als auch die falschen Antworten im Lösungsteil des
Buches detailliert besprochen. Das Üben mit diesen Fragen soll Ihnen auch die
Herangehensweise an eventuell Ihnen unbekannte Themen nahe bringen. Ein
unbekanntes Kommando in einer Frage ist nämlich noch längst kein Grund, eine
Frage einfach nicht zu beantworten. Oft führt ein wenig Logik oder das Aus-
schlussverfahren dennoch zum Ziel.

Fragen
Frage 1:
Während Ihrer täglichen administrativen Arbeit verwenden Sie häufig das Kom-
mando ps -aux. Sie bemerken, dass Sie das Programm ps eigentlich nie ohne
diese Schalter verwenden. Wie können Sie erreichen, dass in Zukunft durch die
einfache Eingabe von ps automatisch das Kommando ps -aux ausgeführt wird?

 A: ps = "ps -aux"

 B: let ps = "ps -aux"

 C: alias ps= "ps -aux"

 D: set ps = "ps -aux"

 E: alias ps -aux = ps

465
Übungsfragen zu LPI 117-102

Frage 2:
Sie müssen ein Programm ausführen und dabei verhindern, dass dieses Pro-
gramm auf Ihre gesetzten Umgebungsvariablen zurückgreift. Welches Kom-
mando können Sie dem Programm voranstellen, damit es in einer »leeren Umge-
bung« läuft?

 A: export

 B: env -i

 C: set -i

 D: unset

 E: clear

Frage 3:
Sie haben die Variable http_proxy gesetzt. Während der Arbeit in einer Subshell
stellen Sie fest, dass Ihnen die Variable nicht zur Verfügung steht. Welches Kom-
mando können Sie auf der übergeordneten Shell ausführen, damit die Variable
und ihr Inhalt für Subshells verfügbar wird?

 A: set http_proxy

 B: env -u http_proxy

 C: let http_proxy

 D: export http_proxy

 E: unset http_proxy

Frage 4:
Die Variablen a und b enthalten jeweils einen numerischen Wert. Sie wollen die
beiden Werte addieren und in der Variablen c zusammenführen. Welches Kom-
mando können Sie verwenden?

 A: let c=$a+$b

 B: c=$a+$b

 C: $c=$a+$b

 D: let $c=$a+$b

 E: let c=a$+b$

466
Fragen

Frage 5:
Sie wollen der Variablen a den Wert 102 zuordnen und für Subshells verfügbar
machen. Welches Kommando werden Sie verwenden?

Frage 6:
Sie haben zu Ihrer Arbeitserleichterung durch die Eingabe des folgenden Kom-
mandos einen Alias erstellt:

alias ps="ps -aux"

Nun benötigen Sie den Befehl ps in seiner ursprünglichen Form. Aber immer,
wenn Sie ps eingeben, wird der Alias anstatt des Originalbefehls ausgeführt. Wie
können Sie das Originalkommando ausführen?

 A: set ps

 B: let ps

 C: do ps

 D: sudo ps

 E: builtin ps

Frage 7:
Während Ihrer täglichen Arbeit kommt es häufiger vor, dass Sie bestimmte Kom-
mandos in immer der gleichen Reihenfolge ausführen müssen. Sie wollen diese
Kommandos zusammenfassen, ohne ein Skript zu schreiben. Welchen Befehl
können Sie hier zum Einsatz bringen?

 A: alias

 B: env

 C: set

 D: function

 E: unset

467
Übungsfragen zu LPI 117-102

Antworten und Erklärungen zu den Prüfungsfragen


Hier finden Sie die Erläuterungen zu allen Fragen des zweiten Teils. Sie sollten
unbedingt auch die Kommentare zu den falschen Antworten lesen. Einige Fakten
werden hier nicht zufällig mehrfach erwähnt, sondern weil wesentliche Prüfungs-
inhalte auf diese Weise besser in Ihrem Gedächtnis haften bleiben.

Frage 1:
C: alias ps="ps -aux" legt den alias ps an. Bei der Eingabe des Kommandos ps
wird dann stattdessen ps -aux ausgeführt. Es macht natürlich Sinn, dieses Kom-
mando in ein Anmeldeskript (z.B. .profile) aufzunehmen.

zu A und B: ps = "ps -aux" und let ps = "ps -aux" sorgen beide dafür, dass die
Variable ps definiert und mit dem Wert »ps -aux« gefüllt wird.

zu D: set ps = "ps -aux" ist falsch. Das Programm set zeigt lediglich die Shell-
variablen an.

zu E: alias ps -aux = ps funktioniert nicht. Die Reihenfolge in der Syntax ist


falsch.

Frage 2:
B: env -i startet ein Programm in einer von Umgebungsvariablen bereinigten
Umgebung.

zu A: export exportiert Variablen samt ihrem Inhalt in Subshells.

zu C: set -i ist hier das falsche Programm, weil set nur für Shellvariablen zustän-
dig ist.

zu D: unset entfernt Werte aus einer angegebenen Variablen.

zu E: clear bereinigt einen Terminalbildschirm.

Frage 3:
D: export http_proxy exportiert die bereits gesetzte Variable in alle Subshells.

zu A: set http_proxy kann Variablen weder setzen, noch exportieren. Lassen Sie
sich durch den Namen des Kommandos nicht in die Irre führen!

zu B: env -u http_proxy würde die Umgebung für ein Programm um die Variable
http_proxy reduzieren, wenn es sich um eine Umgebungsvariable handeln
würde.

zu C: let http_proxy ruft lediglich eine Fehlermeldung hervor.

zu E: unset http_proxy setzt die Variable wieder zurück.

502
Antworten und Erklärungen zu den Prüfungsfragen

Frage 4:
A: let c=$a+$b addiert die Werte der Variablen a und b und übergibt das Ergebnis
der Addition an die Variable c.

zu B: c=$a+$b übergibt nicht das Ergebnis der Addition an die Variable c, sondern
die Addition als solche. Wenn a=5 und b=7 wären, dann würde c=5+7. Das ist aber
nicht die Aufgabe.

zu C: $c=$a+$b wird versuchen, den Inhalt der Variablen auszuführen. Es gibt also
lediglich eine Fehlermeldung.

zu D: let $c=$a+$b wird versuchen, dem Inhalt der Variablen c das Ergebnis der
Addition von a und b zuzuweisen. Es gibt also auch hier eine Fehlermeldung.

zu E: let c=a$+b$ verursacht auf jeden Fall eine Fehlermeldung, weil die Shell
hier die aufeinander folgenden Zeichen $+ als einen fehlerhaften Operator inter-
pretieren wird. Die $-Zeichen müssen immer vor die Variable gesetzt werden.

Frage 5:
export a=102 weist der Variablen a den Wert 102 zu und exportiert diese für die
Verwendung in Subshells.

Frage 6:
E: builtin ps sorgt dafür, dass der eingebaute Originalbefehl verwendet wird.

zu A, B und C: set ps, let ps und do ps ergeben in diesem Zusammenhang über-


haupt keinen Sinn und können deshalb sofort ausgeschlossen werden.

zu D: sudo ps führt das Kommando als sudo aus, aber eben immer noch den Alias
und nicht den Originalbefehl.

Frage 7:
D: function ist hier das Mittel der Wahl. Mit einer Shellfunktion können Sie
mehrere Kommandos zu einem Befehl zusammenfassen und auch Parameter
übergeben.

zu A: alias hat einen ähnlichen Verwendungszweck, dient aber hauptsächlich


dem Abkürzen von langen Kommandos (auch mit Optionen und Parametern).

zu B: env zeigt hauptsächlich die Umgebungsvariablen an.

zu C: set zeigt gesetzte Shellvariablen an.

zu E: unset setzt Variablen zurück.

503
Index

#!/bin/bash 294 /etc/anacron 374


$? 93, 296 /etc/apt/apt.conf 69
$0 296 /etc/apt/sources.list 69
$1 93, 296 /etc/bashrc 90, 291
$2 93, 296 /etc/crontab 370
$HISTSIZE 93 /etc/cups 409
$PS1 93 /etc/cups/cupsd.conf 409
* 144 /etc/default/grub 64
./ 96 /etc/default/useradd 362, 365
.bash_history 94 /etc/event.d 53
.bash_login 291 /etc/false 358
.bash_profile 91, 192, 291 /etc/fstab 88, 164, 174, 175, 176, 182
.bashrc 90, 291 /etc/group 360, 368, 432
.forward 402 /etc/grub.d 64
.rpmrc 77 /etc/gshadow 361, 368
.Xdefaults 328 /etc/host.conf 432
.xinitrc 328 /etc/HOSTNAME 430
.Xresources 328 /etc/hostname 430
.xserverrc 328 /etc/hosts 431, 432
/bin/bash 295 /etc/hosts.allow 448, 453
/bin/login 48 /etc/hosts.deny 448, 453
/boot 29, 159 /etc/hotplug 37
/boot/grub/ 62 /etc/inetd.conf 446, 447
/boot/grub/grub.conf 42 /etc/init 53
/boot/grub/stage2 62 /etc/init.d 49, 51, 95
/boot/grub2 63 /etc/inittab 47, 49, 340
/dev 30 /etc/inputrc 292
/dev/cdrom 30 /etc/known_hosts 454
/dev/ft0 32 /etc/ld.so.cache 65
/dev/hd 30 /etc/ld.so.conf 65
/dev/hda 30 /etc/localtime 378, 391
/dev/hda1 31 /etc/logrotate.conf 397
/dev/hda2 31 /etc/mail 402, 403
/dev/hda3 31 /etc/mail/access 404
/dev/hda5 31 /etc/mail/relay-domains 404
/dev/hdb 30 /etc/manpath.config 98
/dev/hdc 30 /etc/modprobe.conf 42
/dev/hdd 30 /etc/modules.conf 42
/dev/sd 30 /etc/mtab 179
/dev/sda 30, 32 /etc/network/interfaces 434
/dev/sdb 30, 32 /etc/networks 431
/dev/st0 32 /etc/nologin 449, 453
/dev/zero 165 /etc/nsswitch.conf 432
/etc/.bashrc 290 /etc/ntp.conf 393
/etc/aliases 401, 402 /etc/ntp.drift 393

535
Index

/etc/passwd 357, 359, 368, 432 /usr/lib/rpm 77


/etc/printcap 406, 409 /usr/lib/rpm/rpmrc 77
/etc/profile 90, 94, 192, 291 /usr/lib/rpmrc 77
/etc/rc.d 49, 51 /usr/lib/X11/app-defaults/XTerm 329
/etc/rc.d/xfs 334 /usr/sbin 296
/etc/resolv.conf 431 /usr/share/i18n/SUPPORTED 380
/etc/rpmrc 77 /usr/share/zoneinfo 391
/etc/services 414 /usr/src 29
/etc/shadow 189, 359, 368 /usr/src/ 23
/etc/skel 292, 362 /usr/src/linux 29
/etc/ssh/ssh_config 452 /var 59
/etc/ssh/ssh_host_dsa_key 454 /var/cache/man 98
/etc/ssh/ssh_host_dsa_key.pub 454 /var/lib/dpkg/available 68
/etc/ssh/ssh_host_key 455 /var/lib/dpkg/info 67
/etc/ssh/ssh_host_key.pub 455 /var/lib/dpkg/status 68
/etc/ssh/ssh_host_rsa_key 455 /var/lib/rpm 77
/etc/ssh/ssh_host_rsa_key.pub 455 /var/log 397
/etc/ssh_known_hosts 453 /var/log/mail 405
/etc/sshrc 453 /var/log/messages 44, 397
/etc/sudoers 445 /var/mail 402
/etc/syslog.conf 396 /var/spool 406
/etc/timezone 378, 392 /var/spool/cron 372
/etc/updatedb.conf 206 /var/spool/mail 402
/etc/usbmgr/host 37 /var/spool/mqueue 402
/etc/usbmgr/preload.conf 36 ? 144
/etc/usbmgr/usbmgr.conf 36 ~./ssh/known_hosts 453
/etc/X11/fs/config 334 ~/.bash_login 91, 291
/etc/xinetd.conf 448 ~/.bash_logout 292
/etc/xinetd.d 448 ~/.bash_profile 291
/etc/yum.conf 82 ~/.bashrc 292
/etc/yum.repos.d 82 ~/.gnupg 461
/home 59 ~/.inputrc 292
/lib/modules 23, 29 ~/.profile 291
/proc 33, 158 ~/.ssh/authorized_keys 455
/proc/bus/pci 34 ~/.ssh/id_dsa 456
/proc/dma 32 ~/.ssh/id_dsa.pub 456
/proc/interrupts 32 ~/.ssh/id_rsa 455
/proc/ioports 32 ~/.ssh/id_rsa.pub 455
/proc/kmsg 399 ~/.ssh/ssh_know_hosts 453
/proc/modules 24, 25 ~/.xinitrc 328
/proc/partitions 158
/proc/pci 32 A
/proc/scsi 33
/proc/swaps 165 Absolute Pfadangaben 113
/sbin/mingetty 48 ACL 198
/tmp 59 Aktive Partition 160
/usl/lib/locale 380 Akzent Circumflex 146
/usr 59 alias 288
/usr/bin 296 Aliase 287

536
Index

alien 75 Braillezeile 342


ALTER TABLE 306, 317 BRLTTY 348
anacron 374 Broadcastadresse 420
AND 323 builtin 290
Änderungszeit 117 bunzip2 119, 121
Anwendungsschicht 413 bzip2 119, 121
apache2 50
append only 194 C
apropos 99, 100, 204
apt-cache 74 case 301
apt-get 69, 71 cat 102, 128
aptitude 73 catman 98
aquota.group 182 cd 113
aquota.user 182 CD-ROM 30
Argumente 88 cfdisk 158
ARP 416 chage 365, 440
ARPA 412 chattr 193
ARPANET 412 chfn 358
Assistive Techniken 341 chgrp 192
at 373 chmod 187, 188, 190, 294, 295
at.allow 374 chown 191
at.deny 375 CIDR 418, 419
atd 373 clear 301, 302
aterm 329 Coldplug 37
authorized_keys 456 COMMIT 306
auto 179 cp 115
awk 143 cpio 121
cpio-Paket 82
B CREATE DATABASE 309
CREATE TABLE 306
Backslash 143 cron 370
Barrierefreies Anmelden 342 cron.allow 374
Barrierefreiheit 342 cron.deny 374
Bash 88 crond 370
bash 284 crontab 370, 372
bash.bashrc.local 291 csh 88, 284
Baudot, Jean-Maurice-Émile 381 CSV 150
Baudot-Code 381 CTRL-ALT-DEL 49
Befehls-History 94 CUPS 407, 409
Bevorzugte Anwendungen 342, 346 cut 108, 128
bg 137
Bildschirmlupe 347 D
Bildschirmtastatur 352
BIOS 39, 160 Data Control Language 306
BIOS-Uhr 391 Data Definition Language 306
Bootloader 41 Data Manipulation Language 306
Boot-Strap-Loader 41, 42, 61 Data Query Language 306
Brailledisplay 342, 348 date 390
Brailleschrift 342 Dateiattribute 193

537
Index

Dateideskriptoren 125 ed 152


dbus 38 edquota 184, 185
DCL 306 egrep 144, 148
dd 122, 165 EHCI 35
DDL 306 Einfügemodus 153
debugfs 169 elif 301
DEC 325 else 301
defaults 179 elvis 152
DELETE 323 emacspeak 353
depmod 27, 28 Endzylinder 159
Desktop Environment 327 env 91, 287
Device 332 esac 301
df 130, 171 eterm 329
dig 425 Ethernet 413
DISPLAY 336 exec 179
Display Manager 327, 339 exim 400, 405
DISTINCT 306 expand 104
dmesg 44 export 92, 286
DML 306 ext2 160, 162, 168
do 297 ext3 160, 162, 168
DoD 412 Eyetracker 344
DoD Modell 413
Dollarzeichen 143 F
Donald Murray 382
done 297, 298 FAT-32 161
Doppelkreuz 145 FDDI 413
dosfsck 167 fdisk 158, 164
Dotted Quad 416 Festplatte 30
dpkg 67, 69, 75 fg 137
dpkg-reconfigure 71 fgrep 148
DQL 306 FHS 200
DROP 323 fi 301
DROP DATABASE 324 file 124
DROP TABLE 306, 324 Filesystem Hierarchy Standard 200
Druckfilter 406 find 117, 204, 300
DSA-Schlüssel 454 finger 358
dselect 69, 71 Fingerprint 453
du 172, 173 Firewire 37
dump 58, 178 fmt 104
dumpe2fs 170, 184 Fontpath 330
DVD-Laufwerk 30 for 300
Dynamic Link Library 65 FQDN 431
dynamically linked 65 free 138, 165
fsck 167, 168, 177, 178
E fsck.cramfs 167
fsck.ext2 167
e2fsck 167 fsck.ext3 167
echo 90, 293, 300 fsck.jfs 167
Echtzeituhr 391 fsck.minix 167

538
Index

fsck.msdos 167 H
fsck.reiserfs 167
fsck.vfat 167 hald 38
fsck.xfs 167 halt 52
fslsfonts 334 Hardlimit 181, 184, 441
ftp 428 Hardlinks 198
ftp.kernel.org 429 Hardware Abstracion Layer 38
function 289 Hashes 145
Funktionen 289 head 103
Headtracker 344
G hexdump 106
hid.o 35
gawk 143 Hilfstechnologien 342
gdm 339, 340 HISTSIZE 94
gdm.conf 340 host 425
gdmconfig 340 Host zu Host 413
GECOS 358 Hostkey 453, 454
Gesten 345 hosts.allow 453
GNOME 327, 339 hosts.deny 453
Gnopernicus 353 Hotkeys 292
GNU 88 Hotplug 37
GNU Privacy Guard 457 hotplug 37
GnuPG 457 HPFS 161
GOK 352 http
gpasswd 367
//lpievent.lpice.eu/ 18
GPG 457
//tools.ietf.org/html/rfc791 416
gpg.conf 461
//www.denic.de/de/whois/index.jsp 428
Gpg4win 458
//www.ntp.org 392
Gracetime 181
hwclock 391
GRANT 306
grep 44, 126, 143, 144, 145, 146
GROUP 315 I
group 357
IBM 325
groupadd 365
ICMP 416
groupdel 366
iconv 386
groupmod 366
id_rsa 455
grpck 369
grpconv 368 id_rsa.pub 456
grpquota 179 if 301
grpunconv 368 ifconfig 433
GRUB 42, 62 ifdown 434
GRUB 2 63 ifup 434
GRUB Stages 62 IGMP 413
grub.cfg 64 IMAP 401
grub.conf 63 immutable 194
grub-mkconfig 64 inetd 446
gshadow 357 inetd.conf 447
GTK 329 init 46, 47, 49, 52, 129
gunzip 119, 121 initdefault 47
gzip 119 inittab 47

539
Index

Inodes 172 ln 196, 198, 199


Inputdevice 331 locale 380
INSERT 306 locate 205
insmod 25, 26 logger 398
Internetschicht 413 Logical Volume Manager 59
IP-Klassen 417 Logische Volumen 60
IPv4 415, 416 logrotate 369
IPv6 415, 421 logrotate.conf 397
IRIX 161 lp 407
ISO 8859 385 lpadmin 410
ISO-8859-1 385 lpc 408, 410
lpd 406
J lpq 407, 410
lpr 406, 407, 410
jobs 136, 137 lprm 407, 410
JOIN 320 ls 112
join 108 lsattr 193
Joker 118, 144 lsdel 169
journal 169 lsmod 24, 27, 35
lsof 442
K lspci 33
lsusb 35
KDE 327, 339 LVM 59, 161
kdm 339, 340
kdmrc 340 M
Kernel 22
Kernel-Parameter 42 mail 300
Kernel-Ring-Buffer 44 Mail Transfer Agent 400
KGpg 458 Mail User Agent 400
kill 134 Mail-Aliase 401
killall 135 mailq 403
Klebrige Tasten 342 Major Release 23
klogd 399 man 99
klogin 447 Manpages 97
Kommandomodus 153 MANPATH 97
ksh 88, 284 manpath 98
manpath.config 97
L Master Boot Record 31, 40
master.cf 404
LANG 380 Maussteuerung 342
LANG=C 380 Maustasten 344
LC_ALL 380 MBR 41
ldconfig 65 MDA 400
ldd 65 menu.lst 63
LEFT JOIN 320 Metacity 327
less 127 Metazeichen 143, 147
let 293, 294, 297 MEZ 391
LIMIT 315 mingetty 48
Link-Layer 413 Minor Release 23

540
Index

MIT 325 nosuid 179


mkdir 116 nouser 179
mkdosfs 161 nslookup 425
mke2fs 162, 163, 170 NTFS 161
mkfs 161, 162 NTP 392
mkfs.cramfs 162 ntp.conf 393
mkfs.ext2 161 ntpd 392, 393
mkfs.ext3 161 ntpdc 393
mkfs.jfs 162 ntpq 393
mkfs.msdos 161
mkfs.ntfs 161 O
mkfs.reiserfs 161
mkfs.vfat 161 od 106
mkfs.xfs 161 OHCI 34
mkswap 164, 165 Oktett 416
modinfo 24 Optionen 88
modprobe 26 Orca 347
modprobe.conf 28 ORDER BY 306, 315
modprobe.conf.local 28 OSPF 416
modules.conf 28
modules.dep 27, 28 P
Monolithische Kernel 22
Morse-Code 381 Partition 158, 159
mount 88, 174, 176, 177 Partitionierung 57
Mounten 174 Partitionstabelle 31, 41, 160
Mountpoint 175 passwd 189, 357, 364, 440
MTA 400 paste 155
MUA 400 Patchlevel 23
Murray-Code 382 PATH 90, 287, 296
mv 116 PATH Variable 95
PCI Bus 33
N PCMCIA 37
Pearson Vue 17
nano 148 Perl 143
netstat 415, 436, 440 PGP 457
Netzwerk-Zugriff 413 Physikalische Volumen 60
Neustart 52 pico 148
newaliases 402 PID 129, 134, 141
newgrp 367 PID 1 46
NFS 176 ping 423
nfs 176 Pipe 125
nfsd 130 Pipes 127
nice 140, 141 pkg 75
nl 104 postfix 400
nmap 415, 440 poweroff 52
noauto 179 Power-On-Self-Test 39
noexec 179 pr 105
nohup 138 Primärschlüssel 310
nohup.out 138 Primary IDE 30

541
Index

Prozesspriorität 140 rmmod 25, 26


ps 46, 129, 131, 134, 141 ro 179
pstree 46, 131 ROOLBACK 306
pubring.gpg 461 Root-Passwort vergessen 43
putty 452 route 434
pwck 368 Routing-Tabelle 435
pwconv 368 RPM 76
pwd 96, 113 rpm 75, 78
pwunconv 368 rpm2cpio 78, 82
Python 143 rpmarchive 78
rpmbuild 78
Q RPM-Datenbank 79
rpmdb 78
qmail 400, 405 rpme 78
QT Librarys 329 rpmgraph 78
Quellen 29 rpmheader 78
Queue 406 rpmi 78
Quota 181 rpmlead 78
quota 185 rpmlocate 78
quota.group 182 rpmqpack 78
quota.user 182 rpmquery 78
quotacheck 182, 183 rpmrc 77
quotaoff 183 rpmsign 78
quotaon 183 rpmsignature 78
rpmu 78
R rpmverify 78
RSA-Key 454
RAID 59 rsh 88
RAW 406 RTC 390, 391
read 301 Rückgabewerte 296
Real-Time-Clock 390 Runlevel 46
reboot 52 runlevel 52
redirect 125 Runlevel-Wechsel 52
regex 143, 144 rw 179
regexp 143, 155 rxvt 329
regular expression 143
Regulärer Ausdruck 149 S
Rekursive Befehlsausführung 96
Relative Pfadangaben 114 Samuel Morse 381
renice 140, 142 SASL 405
repquota 185 Sawfish 327
Resolver 433 Screen 333
respawn 48 Screenreader 341, 347, 353
REVOKE 306 SCSI 158
RgbPath 330 SCSI Laufwerke 30
RIGHT JOIN 321 Seahorse 458
RIP 415 Secondary IDE 30
rm 117 secring.gpg 461
rmdir 117 secure deletion 194

542
Index

sed 143, 144, 148, 149 Standardgateway 421, 435


SELECT 306, 311 Startprotokollierung 43
semikolonsepariert 150 Startskripte 51
sendmail 400 startx 328
sendmail.cf 403 Startzylinder 159
Serverflags 331 stat 197, 199
set 91, 286 static 201
Setgid 189 statically linked 65
Setuid 189 stderr 125
SGID 189, 299 stdin 125
sh 284 stdout 125, 127
shadow 357 Sticky Bit 190
shareable 201 Sticky-Bit 299
Shared Object 65 stream 447
she-bang! 294 Stream Editor 148
Shell 88, 284 Stream-Editor 143
Shell-Variablen 90, 285 su 444
shift 297 Subnetzmaske 418
shutdown 49, 52, 168 Subselects 319
SIGCONT 134, 137 Subshell 92, 286
SIGHUP 133 Substitution 151
SIGINT 133 Suchmuster 145, 147
SIGKILL 133 sudo 444
Signale 133 SUID 189, 190, 295
SIGSTOP 134 suid 179
SIGTERM 133, 134 SUID-Bit 299, 440
SIGTSTP 134 Superblocks 169
Skeleton 292 Superdaemon 446
slp 75 swap 161
Smarthost 404 Swap-Datei 165
smbfs 177 swapoff 164
SMTP-Relay 404 swapon 164
socket 440 Swap-Partition 164
Softlimit 181, 184, 441 Synopsis 99
Softlinks 51, 195 sysfs 37
sort 106, 128 syslog 395
source 294 syslogd 395
split 107 syslog-ng 395
Spooler 406 systemctl 55
SRI 412 Systemd 54
SSH 450 Systemzeit 390, 391
ssh_config 452
ssh_known_hosts 453 T
ssh-add 457
ssh-agent 457 tac 102
sshd_config 452 tail 103, 398
ssh-keygen 454 tar 89
sshrc 453 Tastatursteuerung 342
stable 23 TCP 413, 414

543
Index

TCP/IP 412, 413 updatedb 136, 206


tcpd 448 update-grub2 64
tcpdchk 447 Upstart 53
TCP-Wrapper 448 uptime 138
tcsh 88 USB 34
tee 128 USB 1.1 34
telinit 49, 52 USB 2.0 34
telnet 429 usb-ehci 37
test 297 usb-ehci.o 35
Textanker 143, 145 USB-Klassen 35
tgz 75 USB-Maus 35
Thomson Prometric 17 USB-Memory-Sticks 35
Tilde 113 usbmgr 36, 37
Timestamp 117 usbmgr.conf 36
Token Ring 413 usb-ohci 37
top 132, 140, 141, 142 usb-ohci.o 34
topq 408 usb-storage.o 35
touch 117 usb-uhci 37
tr 110, 127 usb-uhci.o 34
traceroute 423 user 179
tracetpath 425 useradd 362
Transportlayer 413 userdel 363
trustedb.gpg 461 usermod 363
tsclient 452 users 179
TTL 424 usrquota 179
tune2fs 163, 164, 168, 169 UTC 391
tzselect 376, 378, 392 UTF-8 386

U V
Übergabevariablen 296 variable 201
UCLA 412 vi 148, 152, 153
UCSB 412 vile 152
udev 38 vim 152
UDP 413, 414 visudo 445
UHCI 34 vmlinuz 29
ulimit 441 Volumen-Gruppen 60
umask 188, 192, 193
Umgebungsvariablen 90, 285 W
umount 37, 168, 174, 177, 442
uname 23, 26, 97 w 138
undeletable 194 Warteschlange 406
unexpand 104 wc 105, 173
Unicode 386 whatis 99, 204
uniq 107, 128 WHERE 311, 312
unmounten 174 whereis 100, 202
unset 93, 287, 300 which 96, 100, 203
unshareable 201 while 297
UPDATE 306, 314 whois 427

544
Index

Wildcards 118, 143, 144, 147 xntpd 393


Window Manager 327 xorg.conf 329
X-Server 326
X xserverrc 328
Xsetup 340
X.org 326 xterm 329
X11R6 326 xvidtune 332
X11-Tunnel 451 X-Windows 325, 328
xargs 128 xwininfo 336
X-Clients 326
X-Consortium 326 Y
xdm 339, 340
xdm-config 340 yank 155
xdpyinfo 337 yum 77, 82
XF86Config 329 yumdownloader 85
X-Fontserver 333
XFree86 326 Z
xfs 333
xhost 335 Zeitsynchronisation 392
xinetd 447 Zeitzone 376
xinetd.conf 448 zsh 88, 284
xinit 328 Zugriffsrechte 186
xinitrc 328 Zugriffszeit 117
X-Librarys 329

545