LPIC-1 - Amazon Simple Storage Service · Harald Maaßen LPIC-1 Sicher zur erfolgreichen...

61
Harald Maaßen LPIC-1 Sicher zur erfolgreichen Linux-Zertifizierung

Transcript of LPIC-1 - Amazon Simple Storage Service · Harald Maaßen LPIC-1 Sicher zur erfolgreichen...

Harald Maaßen

LPIC-1Sicher zur erfolgreichen Linux-Zertifizierung

1451.book Seite 1 Dienstag, 7. Juli 2009 2:18 14

Auf einen Blick

LPI 101

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

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

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

Topic 104: Geräte, Linux-Dateisysteme, Filesystem

Hierarchy Standard ..................................................... 159

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

LPI 102

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

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

1451.book Seite 3 Dienstag, 7. Juli 2009 2:18 14

5

Inhalt

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

LPI 101

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

101.1 Hardware-Einstellungen ermitteln und konfigurieren .......................... 21Allgemeines .................................................................................... 22Module zur Laufzeit beeinflussen und konfigurieren ........................ 22Modulkonfigurationsdateien ........................................................... 28Zum Kernel gehörende Dateien und Verzeichnisse .......................... 29Die Gerätedateien für Festplatten und CD-ROMs ............................ 30Die Gerätedateien für Partitionen ................................................... 31Ressourcen für Hardwarekomponenten ........................................... 32Der PCI-Bus .................................................................................... 33USB – Universal Serial Bus ............................................................... 34USB-Host-Controller-Typen ............................................................ 34USB-Klassen .................................................................................... 35USB-Module automatisch laden ...................................................... 36Coldplug und Hotplug .................................................................... 37Das virtuelle Dateisystem sysfs ........................................................ 37udev, hald und dbus ....................................................................... 38

101.2 Das System starten ............................................................................. 38Allgemeines .................................................................................... 39Boot-Strap-Loader .......................................................................... 41Kernel-Parameter ............................................................................ 42Startprotokollierung ........................................................................ 44

101.3 Runlevel wechseln und das System anhalten oder neu starten ............. 45Allgemeines .................................................................................... 46Die Runlevels und ihre Funktion ..................................................... 47Die Konfigurationsdatei inittab ....................................................... 48Verzeichnisse und Dateien des init-Prozesses .................................. 50Runlevel-Wechsel, Herunterfahren, Neustart .................................. 52

1451.book Seite 5 Dienstag, 7. Juli 2009 2:18 14

Inhalt

6

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

102.1 Festplattenaufteilung planen .............................................................. 55Allgemeines .................................................................................... 55Planung im Detail ........................................................................... 56

102.2 Einen Bootmanager installieren .......................................................... 57Allgemeines .................................................................................... 58LILO ............................................................................................... 58GRUB ............................................................................................. 62

102.3 Shared Librarys verwalten ................................................................... 64Allgemeines .................................................................................... 65Verwaltung von Shared Librarys ...................................................... 65

102.4 Debian-Paketverwaltung verwenden .................................................. 66Allgemeines .................................................................................... 67Konfigurationsdateien und Verzeichnisse ........................................ 67DPKG-Programme .......................................................................... 70

102.5 RPM und YUM-Paketverwaltung verwenden ...................................... 76Allgemeines .................................................................................... 77Konfigurationsdateien ..................................................................... 77RPM aktiv verwenden ..................................................................... 78Abfragen der RPM-Datenbank ........................................................ 79Überprüfung installierter Pakete ...................................................... 81Pakete umwandeln ......................................................................... 82yum und der yumdownloader ......................................................... 83

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

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

1451.book Seite 6 Dienstag, 7. Juli 2009 2:18 14

Inhalt

7

$MANPATH und die Datei manpath.config ..................................... 98Die Sektionen des Mansystems ....................................................... 98Aufbau von Manpages .................................................................... 99Verwandte Befehle ......................................................................... 99

103.2 Textströme mit Filtern verarbeiten ...................................................... 101Allgemeines .................................................................................... 102cat .................................................................................................. 102tac .................................................................................................. 103head ............................................................................................... 103tail .................................................................................................. 103expand/unexpand ........................................................................... 104fmt ................................................................................................. 104nl .................................................................................................... 105pr ................................................................................................... 105wc .................................................................................................. 105hexdump ........................................................................................ 106od ................................................................................................... 106sort ................................................................................................. 107uniq ................................................................................................ 107split ................................................................................................ 107cut, paste und join .......................................................................... 108tr .................................................................................................... 110

103.3 Grundlegende Dateiverwaltung .......................................................... 112Allgemeines .................................................................................... 113Kommandos für Dateioperationen .................................................. 113Verwendung von Wildcards ............................................................ 119

103.4 Ströme, Pipes und Umleitungen verwenden ....................................... 125Allgemeines .................................................................................... 126stdin, stdout und stderr .................................................................. 126Umleitungen (Redirects) ................................................................. 127Pipes ............................................................................................... 128tee und xargs .................................................................................. 129

103.5 Prozesse erzeugen, überwachen und beenden .................................... 129Allgemeines .................................................................................... 130Überwachen von Prozessen ............................................................. 131Signale an Prozesse senden ............................................................. 134Jobs im Vorder- und im Hintergrund ............................................... 137Prozesse unabhängig von einem Terminal laufen lassen ................... 139

103.6 Prozess-Ausführungsprioritäten ändern ............................................... 140Allgemeines .................................................................................... 141

1451.book Seite 7 Dienstag, 7. Juli 2009 2:18 14

Inhalt

8

nice ................................................................................................ 141renice ............................................................................................. 142top und ps zur Überprüfung von Prioritäten .................................... 142

103.7 Textdateien mit regulären Ausdrücken durchsuchen ........................... 143Allgemeines .................................................................................... 144Reguläre Ausdrücke ........................................................................ 144Die Verwendung von grep .............................................................. 146egrep und fgrep .............................................................................. 149Die Verwendung von sed ................................................................ 150

103.8 Grundlegendes Editieren von Dateien mit dem vi ............................... 153Allgemeines .................................................................................... 154Bedienungsgrundlagen .................................................................... 154Navigation in einem Dokument ...................................................... 156Einfügen, Löschen, Kopieren und Auffinden von Text ..................... 156Befehlszeilenoptionen für vi ............................................................ 157

Topic 104: Geräte, Linux-Dateisysteme, Filesystem Hierarchy Standard ............................................................................... 159

104.1 Partitionen und Dateisysteme anlegen ................................................ 159Allgemeines .................................................................................... 160Erzeugen der Partitionen ................................................................. 160Formatieren der Dateisysteme ........................................................ 163Erstellen einer Swap-Datei .............................................................. 166

104.2 Die Integrität von Dateisystemen sichern ............................................ 167Allgemeines .................................................................................... 168Sicherstellen der Integrität des Dateisystems und Problembehebung .......................................................................... 168XFS-Werkzeuge .............................................................................. 172Überwachen des freien Platzes und der freien Inodes ...................... 172

104.3 Das Ein- und Aushängen von Dateisystemen steuern .......................... 175Allgemeines .................................................................................... 176Manuelles Mounten und Unmounten ............................................. 176Automatisches Mounten über die Datei /etc/fstab .......................... 179

104.4 Platten-Quotas verwalten ................................................................... 182Allgemeines .................................................................................... 183Möglichkeiten der Quotierung ........................................................ 183Vorbereiten von Quota ................................................................... 184Aktivieren von Quota ...................................................................... 185Ändern und Überprüfen von Quota ................................................ 186

1451.book Seite 8 Dienstag, 7. Juli 2009 2:18 14

Inhalt

9

104.5 Dateizugriffsrechte und -eigentümerschaft verwalten .......................... 188Allgemeines .................................................................................... 189Vergabe der Berechtigungen ........................................................... 189Verwendung von SUID, SGID und Sticky Bit ................................... 191chown ............................................................................................ 193chgrp .............................................................................................. 194Verwendung von umask .................................................................. 194Dateiattribute der ext2-/ext3-Dateisysteme .................................... 196

104.6 Harte und symbolische Links anlegen und ändern ............................... 197Allgemeines .................................................................................... 197Softlinks .......................................................................................... 198Hardlinks ........................................................................................ 200

104.7 Systemdateien finden und Dateien am richtigen Ort platzieren ........... 202Allgemeines .................................................................................... 203FHS – Filesystem Hierarchy Standard ............................................... 203Programme zum Auffinden von Dateien .......................................... 205

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

Fragen ............................................................................................... 211Antworten und Erklärungen zu den Übungsfragen .............................. 249

LPI 102

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

105.1 Die Shell-Umgebung anpassen und verwenden .................................. 281Allgemeines .................................................................................... 282Verwendung von Shells ................................................................... 282Umgebungsvariablen und Shell-Variablen ....................................... 283Aliase und Funktionen .................................................................... 285Konfigurationsdateien der Bash ....................................................... 288Systemweite Konfigurationsdateien ................................................ 289Konfigurationsdateien für den Benutzer .......................................... 289Das Skeleton Verzeichnis /etc/skel .................................................. 290

105.2 Einfache Skripte anpassen oder schreiben ........................................... 290Allgemeines .................................................................................... 291Ausführen eines Skripts ................................................................... 291Ausführungsberechtigung ............................................................... 293Position eines Skripts ...................................................................... 294

1451.book Seite 9 Dienstag, 7. Juli 2009 2:18 14

Inhalt

10

Übergabevariablen und Rückgabewerte .......................................... 294Schleifen und Bedingungen ............................................................. 296

105.3 SQL-Datenverwaltung ........................................................................ 303Allgemeines .................................................................................... 303SQL – Die Befehle ........................................................................... 304Die ersten Schritte .......................................................................... 304Eine erste Datenbank ...................................................................... 307Abfragen mit SELECT und WHERE .................................................. 310Aktualisieren von Datensätzen ........................................................ 312Sortieren und Gruppieren ............................................................... 313Erweitern von Datenbanken ............................................................ 314Arbeiten mit mehreren Tabellen ..................................................... 317Destruktive Kommandos ................................................................. 321

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

106.1 X11 installieren und konfigurieren ...................................................... 325Allgemeines .................................................................................... 325Der Aufbau von X ........................................................................... 326Der Startvorgang von X ................................................................... 328X-Terminals .................................................................................... 329X-Librarys ....................................................................................... 329Konfigurationsdateien ..................................................................... 330X-Fontserver ................................................................................... 334X-Display exportieren ..................................................................... 335xwininfo ......................................................................................... 336xdpyinfo ......................................................................................... 337

106.2 Einen Displaymanager einrichten ........................................................ 339Allgemeines .................................................................................... 340Starten und Beenden eines Displaymanagers ................................... 340Konfigurationsdateien der Displaymanager ..................................... 340

106.3 Hilfen für Behinderte .......................................................................... 341Allgemeines .................................................................................... 342Sehbehinderte und Blinde ............................................................... 342Barrierefreiheit ................................................................................ 343Orca ............................................................................................... 348GOK ............................................................................................... 353emacspeak ...................................................................................... 354

1451.book Seite 10 Dienstag, 7. Juli 2009 2:18 14

Inhalt

11

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

107.1 Benutzer- und Gruppenkonten und dazugehörige Systemdateien verwalten ................................................................... 355

Allgemeines .................................................................................... 356passwd, shadow, group, gshadow ................................................... 357Befehle zur Verwaltung von Benutzern ............................................ 362Befehle zur Verwaltung von Gruppen .............................................. 366Befehle zur Verwaltung des Shadow-Systems .................................. 368

107.2 Systemadministrationsaufgaben durch Einplanen von Jobs automatisieren ................................................................................... 369

Allgemeines .................................................................................... 370Die Verwendung von cron .............................................................. 370Die Verwendung von at .................................................................. 373Grundlegendes zu anacron .............................................................. 374Zugriffssteuerung auf cron und at .................................................... 374

107.3 Lokalisierung und Internationalisierung .............................................. 375Allgemeines .................................................................................... 376Zeitzoneneinstellung ....................................................................... 376Umgebungsvariablen für die Lokalisation ........................................ 379Historische Zeichensätze ................................................................. 381ASCII – American Standard Code for Information Interchange ......... 382ISO 8859 ........................................................................................ 385Unicode und UTF-8 ........................................................................ 386Konvertierung von Zeichensätzen ................................................... 387

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

108.1 Die Systemzeit verwalten .................................................................... 389Allgemeines .................................................................................... 390Manuelle Konfiguration der Systemzeit ........................................... 390Die RTC-Uhr einstellen ................................................................... 391Zeitzonen ........................................................................................ 391Zeitsynchronisation über das Netzwerk ........................................... 392Automatische Zeitsynchronisation ................................................... 392NTP Diagnose ................................................................................. 393pool.ntp.org ................................................................................... 394

108.2 Systemprotokollierung ........................................................................ 394Allgemeines .................................................................................... 395syslogd und syslog-ng ..................................................................... 395Die Konfigurationsdateien .............................................................. 395Einsatz von Log-Dateien zur Fehlersuche ........................................ 397

1451.book Seite 11 Dienstag, 7. Juli 2009 2:18 14

Inhalt

12

Selbst Ereignisse loggen .................................................................. 399Der Kernellog ................................................................................. 399

108.3 Grundlagen von Mail Transfer Agents (MTAs) ..................................... 399Allgemeines .................................................................................... 400MUA, MDA und MTA ..................................................................... 400Mail – Aliase ................................................................................... 401Weiterleitung von Mail ................................................................... 402Wichtige Dateien und Verzeichnisse ............................................... 402sendmail-Konfigurationsdateien ...................................................... 403postfix-Konfigurationsdateien ......................................................... 403Smarthost und SMTP-Relay ............................................................. 404exim und qmail ............................................................................... 405

108.4 Drucker und Druckvorgänge verwalten ............................................... 405Allgemeines .................................................................................... 406Verwalten der Druckerwarteschlangen ............................................ 406Befehle zur Kontrolle von Druckvorgängen ..................................... 407lpc – Line Printer Control ................................................................ 408Drucken mit CUPS .......................................................................... 409

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

109.1 Grundlagen von Internet-Protokollen ................................................. 411Allgemeines .................................................................................... 412TCP/IP Geschichte kurz gefasst ........................................................ 412Das DoD Modell ............................................................................. 413Die Protokolle der dritten Schicht ................................................... 413Die Protokolle der zweiten Schicht ................................................. 415Das Internetprotokoll IPv4 .............................................................. 416IP-Klassen ....................................................................................... 417Die Verwendung der Subnetzmaske und CIDR ................................ 418Die Broadcast-Adressen .................................................................. 420Standardgateway ............................................................................ 421Das Internetprotokoll IPv6 .............................................................. 421TCP/IP Werkzeuge .......................................................................... 423

109.2 Grundlegende Netz-Konfiguration ...................................................... 429Allgemeines .................................................................................... 430Konfigurationsdateien eines Netzwerk-Clients ................................ 430Konfigurationsprogramme für Netzwerk-Clients .............................. 432

109.3 Grundlegende Netz-Fehlersuche ......................................................... 435Allgemeines .................................................................................... 436netstat ............................................................................................ 436

1451.book Seite 12 Dienstag, 7. Juli 2009 2:18 14

Inhalt

13

109.4 Client-seitiges DNS konfigurieren ....................................................... 437Allgemeines .................................................................................... 437

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

110.1 Administrationsaufgaben für Sicherheit durchführen ........................... 439Allgemeines .................................................................................... 440Auffinden von Dateien mit gesetztem SUID/SGID-Bit ..................... 440Setzen oder Löschen von Passwörtern und Passwort-Verfallszeiten ................................................................... 440nmap, netstat und socket ................................................................ 440Ressourcenverwendung kontrollieren .............................................. 441Offene Dateien ............................................................................... 442Arbeiten mit erhöhten Rechten ....................................................... 444

110.2 Einen Rechner absichern ..................................................................... 446Allgemeines .................................................................................... 446Superdaemons ................................................................................ 446TCP-Wrapper konfigurieren ............................................................ 448Die Datei /etc/nologin .................................................................... 449

110.3 Daten durch Verschlüsselung schützen ............................................... 450Allgemeines .................................................................................... 450SSH verwenden ............................................................................... 451SSH-Client-Verbindung ................................................................... 451SSH-Konfigurationsdateien ............................................................. 452Authentifizierung der Server mit Schlüsseln ..................................... 454Generieren von Schlüsseln .............................................................. 454Benutzerauthentifizierung mit Schlüsseln ........................................ 455Der Authentifizierungsagent ........................................................... 457GnuPG ............................................................................................ 457Schlüsselerstellung mit GnuPG ........................................................ 458GnuPG Dateien ............................................................................... 461GnuPG verwenden .......................................................................... 462

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

Fragen ............................................................................................... 465Antworten und Erklärungen zu den Übungsfragen .............................. 491

Index ............................................................................................................ 509

1451.book Seite 13 Dienstag, 7. Juli 2009 2:18 14

55

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.

Topic 102: Linux-Installation und -Paketverwaltung

102.1 Festplattenaufteilung planen

Wichtung: 2

Beschreibung: Kandidaten sollten ein Platten-Partitionierungsschema für einLinux-System entwerfen können.

Wichtigste Wissensgebiete:

� Dateisysteme und Swap Space einzelnen Partitionen oder Platten zuordnen

� die Partitionierung an den Verwendungszweck des Systems anpassen

� sicherstellen, dass die /boot-Partition den Anforderungen der Hardware-Architektur für den Systemstart genügt

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

� / (Wurzel- bzw. root-Dateisystem)

� /var-Dateisystem

� /home-Dateisystem

� Swap Space

� Mountpoints

� Partitionen

Allgemeines

Bevor Linux auf einem Computer installiert wird, sollten Sie sich ein paar Gedan-ken über das Layout der Partitionierung und der zu verwendenden Dateisystememachen. Bedenken Sie, dass sich die Partitionierung im Nachhinein nicht mehr

1451.book Seite 55 Dienstag, 7. Juli 2009 2:18 14

56

Topic 102: Linux-Installation und -Paketverwaltung

ohne Weiteres ändern lässt. In Anbetracht der Lage, dass auch größere Festplat-ten inzwischen verhältnismäßig preiswert zu erwerben sind, rate ich hier nichtdazu, geizig mit dem Plattenplatz zu haushalten, wenn Sie sich nicht später überein vollgelaufenes Dateisystem ärgern wollen.

Planung im Detail

Wenn Sie Ihre Verzeichnisstruktur in mehrere Partitionen unterteilen, verhin-dern Sie damit, dass durch die Überfüllung eines einzelnen Verzeichnisses dieStabilität des ganzen Systems beeinträchtigt wird. Es ist denkbar, dass ein lang-fristig unbeobachtetes System durch umfangreiche Protokollierungen das Ver-zeichnis /var stark anwachsen lässt. Wenn sich /var dann auf einer separaten Par-tition befindet, werden andere Verzeichnisse nicht negativ beeinflusst.

Ein weiteres, wichtiges Kriterium ist die Datensicherung. Das Programm dump si-chert z.B. immer ganze Partitionen. Deshalb ist es angebracht, Daten die häufiggesichert werden (z.B. /home), von den Daten zu trennen, die selten gesichertwerden müssen (z.B. /usr oder /var).

Bei der Planung der Reihenfolge der Partitionen sollte als Erstes eine Partition für/boot eingeplant werden. Da es bei sehr alten BIOS-Versionen oder auch veralte-ten Versionen von LILO zu Startproblemen führt, wenn der Bootloader oder dasKernel-Image oberhalb des 1.024ten Zylinders der Festplatte liegt, sollte diesePartition relativ klein gewählt werden. Sie können dieses Problem vermeiden,indem Sie eine ca. 50 MB große Partition für /boot als erste Partition auf der Fest-platte einplanen.

Die Größe einer Swap-Partition festzulegen ist schwierig. Sie hängt von der Ver-wendung des Systems ab und von der Größe des Arbeitsspeichers, über die derComputer verfügt. Der von einem Computer verwendete Speicher ist der virtu-elle Speicher. Dieser ist die Summe aus physikalischem Speicher (RAM) und SwapSpace. Im Gegensatz zu anderen Betriebssystemen lagert Linux erst dann Datenin den Swap Space aus, wenn kein physikalischer Speicher mehr übrig ist. WennSie also garantieren können, dass immer genügend RAM-Speicher zur Verfügungsteht, brauchen Sie zumindest theoretisch überhaupt keinen Swap Space. Einealte Faustregel besagt, dass immer doppelt so viel Swap Space wie physikalischerSpeicher vorhanden sein sollte. Vielleicht sollten Sie sich darüber früher oder spä-ter Ihre eigene Meinung bilden.

Wie viel Platz der root-Verzeichnisbaum »/« benötigt, hängt davon ab, welche an-deren Partitionen Sie noch erstellen möchten. Wenn Sie keine weiteren Partitio-nen erstellen, muss im root-Verzeichnisbaum natürlich der gesamte Platz, der be-nötigt wird, auch zur Verfügung stehen. Sie sollten in so einem Fall für eine

1451.book Seite 56 Dienstag, 7. Juli 2009 2:18 14

57

102.2 Einen Bootmanager installieren

moderne Distribution mindestens 20 GB einkalkulieren. Sollten Sie allerdings in-haltsreiche Verzeichnisse separat partitionieren, können 800 MB für das Haupt-verzeichnis ausreichend sein.

Das Verzeichnis /usr belegt auf meinen Referenzsystemen bis zu 5 GB. Den Emp-fehlungen vieler Quellen im Internet nach ist schon deutlich weniger ausrei-chend. Das hätte in diesem Fall schon zu Engpässen geführt. Nehmen Sie lieber10 GB.

Für das Verzeichnis /var sollten Sie ca. 2 GB einkalkulieren. Es gibt Unterschiedevon Distribution zu Distribution, was genau sich überhaupt in diesem Verzeich-nis befindet, aber 2 GB sind normalerweise absolut ausreichend.

Für temporäre Dateien in /tmp braucht nicht so viel Platz eingeräumt zu werden.Mit 400 MB unter /tmp sollten Sie problemlos auskommen.

Das Verzeichnis /home ist vom Platzbedarf nicht vorhersehbar. Sie müssen selbstkalkulieren, wie viel Platz Ihre Benutzer im Dateisystem benötigen werden. Des-halb sollten Sie hier auch Quotas einsetzen.

102.2 Einen Bootmanager installieren

Wichtung: 2

Beschreibung: Kandidaten sollten einen Bootmanager auswählen, installierenund konfigurieren können.

Wichtigste Wissensgebiete:

� alternative und Notfall-Startmöglichkeiten vorsehen

� einen Bootloader wie GRUB installieren und konfigurieren

� mit dem Bootloader interagieren

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

� /boot/grub/menu.lst

� grub-install

Prüfungstipp

Für die Prüfung sollten Sie sich auch überlegen, welche dieser Dateisysteme oft ge-sichert werden müssen (etwa /home) und welche vielleicht gar nicht (/proc, /dev,/tmp).

1451.book Seite 57 Dienstag, 7. Juli 2009 2:18 14

58

Topic 102: Linux-Installation und -Paketverwaltung

� MBR

� Superblock

� /etc/lilo.conf

� lilo

Allgemeines

Damit ein System starten kann, benötigt es ein Programm, das die für den Boot-vorgang nötigen Schritte ausführt. Ein solches Programm wird als Boot-Strap-Loa-der bezeichnet. Nachdem das BIOS das System initialisiert und getestet hat, suchtes aus startfähigen Laufwerken nach einem solchen Startprogramm. Sollte es sichdabei um eine Festplatte handeln, wird zunächst der Sektor »0« der Festplatte ein-gelesen. Dieser enthält dann entweder den Boot-Strap-Loader selbst oder inner-halb der Partitionstabelle einen Verweis auf die aktive Partition, die dann statt-dessen diesen Bootloader enthält. Was Bootloader anbelangt, so sind unter Linuxzwei verschiedene Bootloader verfügbar:

� LILO (Linux Loader)

� GRUB (Grand Unified Bootloader)

Beide haben die Aufgabe, den Kernel aufzufinden und zu starten. Danach gebensie die Kontrolle an den Kernel ab und sind bis zum nächsten Systemstart untätig.Sie werden in diesem Kapitel die Unterschiede zwischen diesen beiden Boot-Strap-Loadern kennenlernen und können dann selbst entscheiden, welchem Sieden Vorzug geben. Da Linux im Gegensatz zu anderen Betriebssystemen nichtständig neu gestartet werden muss, halte ich die Auswahl des richtigen Bootloa-ders eher für Nebensache.

LILO

Der LILO ist ein zweistufiger Bootloader. Der kleinere Teil von LILO befindet sichin den meisten Fällen am Anfang des MBRs (Master Boot Record). Der MBR ist dererste Sektor auf einer Festplatte und hat eine Größe von nur 512 Byte. Die Parti-tionstabelle ist im hinteren Teil des MBRs abgelegt und benötigt 64 Byte. DerMBR endet mit einem Abschluss-Flag (55 AA), der noch mal 2 Byte belegt. Es blei-ben also für LILO gerade mal 512 – 64 – 2 = 446 Byte. Das ist natürlich zu wenig,weshalb hier nur ein kleines initiales Progrämmchen hinterlegt ist, das dann denRest von LILO aus der Bootpartition liest. Diese zweite Stufe von LILO enthältauch die Benutzerschnittstelle, die es erlaubt, einen Kernel auszuwählen und,wenn nötig, Parameter an den Kernel zu übergeben.

1451.book Seite 58 Dienstag, 7. Juli 2009 2:18 14

59

102.2 Einen Bootmanager installieren

Kernel-Parameter und Parameter für init

Wie schon erwähnt, können während des Systemstarts mit LILO Parameter anden Kernel übergeben werden. Diese werden dann einfach an die Zeile ange-hängt, die LILO bei der Auswahl eines Startmenüeintrags anzeigt. Beispiele:

� ide=nodma

� apm=off

� acpi=off

Es können aber auch Parameter an den Daemon init übergeben werden. Damitkann z.B. festgelegt werden, welcher Runlevel gestartet werden soll, wenn mannicht den in der Datei inittab festgelegten Runlevel benötigt. Hängen Sie einfachan die Startzeile Folgendes an:

init=/sbin/init 2

Der Computer startet dann bis zum Runlevel 2.

Fehlercodes beim Start

Wenn der LILO geladen wird, schreibt er (vorausgesetzt, er wird nicht von einerbunten Grafik überlagert) das Wort LILO auf den Bildschirm. Hierbei repräsen-tiert jeder Buchstabe die erfolgreiche Ausführung einer Aufgabe, die für den Startder zweiten Stufe von LILO erforderlich ist. Sollte LILO nicht vollständig erschei-nen, liegt ein Problem vor. Je kürzer das Wort, desto früher wurde die Ausfüh-rung abgebrochen und umso schlimmer ist wahrscheinlich die Ursache.

� <nichts> – die erste Stufe von LILO wurde nicht ausgeführt.

� L – die Datei /boot/boot.b konnte nicht geladen werden. Ein Festplattenfehlerist möglicherweise das Problem.

� LI – die Datei /boot/boot.b konnte gelesen, aber nicht ausgeführt werden. DieDatei ist möglicherweise beschädigt.

� LIL – die zweite Stufe wurde gestartet, aber die Map-Datei konnte nicht gele-sen werden. Ein fehlerhaftes Bootlaufwerk ist möglich.

� LIL? – die zweite Stufe wurde in einen falschen Speicherbereich geladen.

� LIL- – die Map-Datei ist ungültig. Möglicherweise wurde nach einer Ände-rung an der Bootkonfiguration der LILO Map-Installer nicht ausgeführt.

� LILO – der zweite Stage wurde erfolgreich geladen.

1451.book Seite 59 Dienstag, 7. Juli 2009 2:18 14

60

Topic 102: Linux-Installation und -Paketverwaltung

Die Konfigurationsdatei /etc/lilo.conf

Die Datei lilo.conf verfügt über eine globale Sektion, die für alle eingetragenenSysteme Gültigkeit hat. Es folgt dann mindestens eine weitere Sektion, die sichauf einen zu ladenden Kernel oder ein fremdes Betriebssystem beziehen kann. DaLILO zum Teil im MBR dateisystemunabhängig gespeichert ist, kann er im PrinzipBetriebssysteme mit beliebigen Dateisystemen starten. Eine globale Sektion kannz.B. so aussehen:

message = /boot/messagetimeout = 20promptdefault = 2.6.11-customboot = /dev/hda

Im Anschluss folgt ein Beispiel für einen zu ladenden Kernel. Die Erläuterungenzu den einzelnen Einträgen folgen nach dieser Sektion:

image = /boot/vmlinuz-2.6.11-customlabel = 2.6.11-custommap = /boot/mapinitrd = /boot/initrdroot = /dev/hda2

Die Bedeutung der Einträge in der lilo.conf:

� message enthält den Pfad zu der Datei, die beim Systemstart angezeigt wird,also normalerweise das Startmenü.

� timeout gibt die Zeit in Sekunden an, nach der das Standardsystem gestartetwird, wenn der Benutzer keine Auswahl getroffen hat.

� prompt legt fest, ob ein Prompt zur Verfügung gestellt wird oder nicht. BeiSystemen, die nicht physikalisch gesichert sind, ist das eine Sicherheitslücke.

� default kennzeichnet das System, das gestartet wird, wenn der Benutzerkeine Auswahl trifft.

� boot zeigt auf die Festplatte, die den Bootsektor bereitstellt (z.B. /dev/hda).

� image ist das zu startende Bootimage.

� label ist ein Alias für den zu startenden Kernel.

� map zeigt auf die Map-Datei (normalerweise /boot/boot.b).

� initrd enthält den Pfad zur initialen RAM-Disk, wenn vorhanden.

� root zeigt auf das root-Dateisystem für den gewählten Eintrag.

1451.book Seite 60 Dienstag, 7. Juli 2009 2:18 14

61

102.2 Einen Bootmanager installieren

Map-Installer

Wenn Änderungen an der Konfiguration durchgeführt wurden, muss durch denAufruf von lilo der Map-Installer aufgerufen werden. Der Systemstart würdesonst mit der alten Konfiguration fortgesetzt werden oder je nach Änderungsogar fehlschlagen:

archangel:/boot # liloAdded 2.6.11-customAdded 2.6.9-custom *Added Failsafe_--_SUS

Dem Kommando lilo können auch Optionen übergeben werden:

� -C – mit dieser Option können Sie eine alternative Konfigurationsdatei ange-ben, wenn nicht /etc/lilo.conf verwendet werden soll.

� -R – stellt die Kommandozeile für den nächsten Systemstart ein.

� -M – schreibt einen Master Boot Record (MBR) auf eine Festplatte.

� -q – zeigt die aktuelle Bootkonfiguration an.

� -v – ist wie immer der Verbose-Mode.

Beispiel für eine Abfrage gegen LILO:

archangel:~ # lilo -q -vLILO version 22.3.4, Copyright (C) 1992-1998 Werner AlmesbergerDevelopment beyond version 21 Copyright (C) 1999-2002 John CoffmanReleased 01-Nov-2002 and compiled at 19:03:37 on Mar 22 2005.Warning: LBA32 addressing assumedReading boot sector from /dev/hdaGlobal settings:

Delay before booting: 0.0 secondsCommand-line timeout: 8.0 secondsAlways enter boot promptBoot-time BIOS data savedLarge memory (>15M) is NOT used to load initial ramdiskNon-RAID installationSerial line access is disabledBoot prompt message is 65535 bytesNo default boot command line

Das war das Ergebnis der Abfrage in Bezug auf den LILO selbst und die globaleSektion innerhalb der Datei /etc/lilo.conf. Der folgende Teil der Ausgabe (dessel-ben Befehls) bezieht sich auf einen einzelnen Eintrag, der zum Start eines Kernelsverwendet wird:

1451.book Seite 61 Dienstag, 7. Juli 2009 2:18 14

62

Topic 102: Linux-Installation und -Paketverwaltung

Images:2.6.11-custom

No passwordBoot command-line won't be lockedNo single-key activationVGA mode is taken from boot imageKernel is loaded "high"Initial RAM disk is 1788620 bytesNo fallbackOptions: "root=302"

Wie Sie deutlich sehen, werden auch Parameter angezeigt, die nicht in der Dateililo.conf vorkommen. Diese Abfrage wurde nämlich mit demselben System er-zeugt, von dem auch die Beispieldatei der lilo.conf stammt. Es handelt sich zumTeil um Voreinstellungen, aber auch um Werte, die lilo bei der Abfrage ermittelthat.

GRUB

GRUB ist ebenfalls ein zweistufiger Bootloader. Genau genommen sind es inzwi-schen drei Stufen, weil aus Gründen der Kompatibilität zu verschiedenen Datei-systemen irgendwann ein »Stage 1,5« hinzuerfunden wurde. Im Gegensatz zuLILO greift GRUB »ganz normal« über das Dateisystem auf den Kernel zu. Deshalbist es auch nicht nötig, so etwas wie einen Map-Installer auszuführen, wenn einKernel modifiziert oder neu ins System integriert wurde.

GRUB-Stages

Das Programm für den ersten Stage befindet sich im MBR der Festplatte, vonder das System starten soll. Es gibt aber normalerweise auch noch eine Kopie in/boot/grub/stage1. Es handelt sich hierbei um eine Binärdatei, weshalb ein nor-maler Pager eine Fehlermeldung ausgeben wird, wenn Sie versuchen, den Inhaltder Datei zu betrachten. Sie können die Datei im Hexadezimalformat anzeigen,indem Sie folgendes Kommando verwenden:

[root@fedora10 grub]# od -h stage10000000 48eb 0090 0000 0000 0000 0000 0000 00000000020 0000 0000 0000 0000 0000 0000 0000 0000*0000060 0000 0000 0000 0000 0000 0000 0000 02030000100 00ff 8000 0001 0000 0800 ebfa f607 80c20000120 0275 80b2 59ea 007c 3100 8ec0 8ed8 bcd00000140 2000 a0fb 7c40 ff3c 0274 c288 be52 7d7f0000160 34e8 f601 80c2 5474 41b4 aabb cd55 5a13

1451.book Seite 62 Dienstag, 7. Juli 2009 2:18 14

63

102.2 Einen Bootmanager installieren

0000200 7252 8149 55fb 75aa a043 7c41 c084 0575...

Für den Stage 1,5 wird dann ein Programm ausgeführt, das mit dem verwendetenDateisystem übereinstimmt, z.B. reiserfs_stage1_5. Diese Datei befindet sichebenfalls im Pfad /boot/grub.

Die letzte Stufe des Bootloaders (Stage 2) befindet sich wiederum in der Datei/boot/grub/stage2. Dieses Programm stellt das Bootmenü für den Benutzer bereitund ist auch für das Starten des Kernels zuständig.

GRUB-Prompt

GRUB verfügt über einen Prompt, den Sie verwenden können, um mit dem Boot-loader zu interagieren. Das ist etwa dann nötig, wenn aufgrund einer Fehlkonfi-guration das System nicht startet. Sie können dann mit GRUB das System manuellbooten. Dazu benötigt GRUB Informationen über die Position des Hauptverzeich-nisses, den Kernel und, falls vorhanden, die initiale RAM-Disk. Die GRUB-Einga-beaufforderung sieht so aus:

grub>

Wenn Sie ein System manuell starten müssen, können Sie folgende Kommandosverwenden:

grub> root (hd0,0)grub> kernel /boot/vmlinuz-2.6.23.1-10.fc7 root=/dev/sda2grub> initrd /boot/initrd-2.6.23.1-10.fc7.imggrub> boot

Es wurde hier davon ausgegangen, dass sich das Verzeichnis /boot auf einer SCSI-Festplatte, nämlich /dev/sda1, befindet, während sich das Hauptverzeichnis »/«auf /dev/sda2 befindet.

GRUB-Konfigurationsdateien

GRUB unterscheidet nicht zwischen SCSI-Festplatten und IDE-Geräten. Die erstePartition auf der ersten Festplatte, die ihm durch ein BIOS übermittelt wird, be-zeichnet GRUB als (hd0,0). Dabei spielt die Art des verwendeten Festplattensub-systems keine Rolle. Damit für den weiteren Startverlauf eine Zuordnung mög-lich ist, benötigt er die Konfigurationsdatei /boot/grub/device.map. In dieserDatei gibt es lediglich eine Zuordnung von der GRUB-Notation zu den »norma-len« Linux-Geräten:

[root@fedora10 grub]# cat device.map(hd0) /dev/sda

1451.book Seite 63 Dienstag, 7. Juli 2009 2:18 14

64

Topic 102: Linux-Installation und -Paketverwaltung

In der Datei menu.lst (normalerweise ein Softlink auf grub.conf) finden Sie Ein-träge, die von der Funktionsweise her der Datei lilo.conf entsprechen:

#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle Fedora (2.6.23.1-10.fc7)

root (hd0,0)kernel /vmlinuz-2.6.23.1-10.fc7 ro root=/dev/VolGroup00/LogVol00 rhgb quietinitrd /initrd-2.6.23.1-10.fc7.img

Wenn Sie die vorangegangenen Abschnitte aufmerksam gelesen haben, solltenSie keine Probleme damit haben, diese Datei zu lesen und zu verstehen.

102.3 Shared Librarys verwalten

Wichtung: 1

Beschreibung: Kandidaten sollten in der Lage sein, die Shared Librarys zu bestim-men, von denen ausführbare Programme abhängen und diese bei Bedarf zu in-stallieren.

Wichtigste Wissensgebiete:

� Shared Librarys identifizieren

� Die typischen Orte für Systembibliotheken identifizieren

� Shared Librarys laden

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

� ldd

� ldconfig

� /etc/ld.so.conf

� LD_LIBRARY_PATH

Prüfungstipp

Für die Prüfung müssen Sie vor allem die Unterschiede zwischen GRUB und dem LILOkennen. Sie müssen wissen, wie GRUB Laufwerke benennt und dass es bei LILO not-wendig ist, nach einer Konfigurationsänderung bezüglich des Kernels lilo auszuführen.

1451.book Seite 64 Dienstag, 7. Juli 2009 2:18 14

65

102.3 Shared Librarys verwalten

Allgemeines

Um Systemressourcen effizient zu verwenden, werden Programme modular auf-gebaut. Die eigentliche Aufgabe, die das Programm ausführt, wird im Code desjeweiligen Programms selbst hinterlegt. Funktionen, die andere Programme auchverwenden, werden dynamisch in das laufende Programm eingebunden. SolcheFunktionen sind in sogenannten Librarys enthalten. Es wäre z.B. nicht sinnvoll,wenn jedes Programm seine eigene Druckroutine enthalten würde. Stattdessenbindet ein Programm, wenn es drucken muss, dynamisch eine Bibliothek ein, diedann diese Aufgabe ausführt. Durch diese Vorgehensweise werden Speicher-ressourcen eingespart. Unter Windows finden Sie diese Bibliotheken als Dateienmit der Erweiterung .dll (Dynamic Link Library). Unter Linux heißen die Biblio-theken Shared Librarys und haben die Erweiterung .so (Shared Object).

Programme, die mit solchen Shared Librarys arbeiten, bezeichnet man als »dyna-mically linked«, während Programme, die den Code der Shared Librarys in sichselbst tragen, als »statically linked« bezeichnet werden.

Verwaltung von Shared Librarys

Um zu identifizieren, von welchen Librarys ein Programm abhängt, können Siedas Tool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Posi-tion der benötigten Librarys im Dateisystem an:

archangel:/ # ldd /usr/bin/greplinux-gate.so.1 => (0xffffe000)libc.so.6 => /lib/tls/libc.so.6 (0x40030000)/lib/ld-linux.so.2 (0x40000000)

Wenn Sie neue Bibliotheken auf einem System installieren, benötigen Sie dasProgramm ldconfig, damit der dynamische Linker diese Bibliotheken auch ver-wendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.conf ein. Hier sindalle Verzeichnisse aufgelistet, in denen sich dynamische Librarys befinden:

archangel:/ # less /etc/ld.so.conf/usr/X11R6/lib/usr/i486-linux/lib/usr/i486-linux-libc5/lib=libc5/usr/i486-linux-libc6/lib=libc6/usr/i486-linuxaout/lib/usr/i386-suse-linux/lib/usr/local/lib

... weitere Zeilen wurden abgeschnitten ...

1451.book Seite 65 Dienstag, 7. Juli 2009 2:18 14

66

Topic 102: Linux-Installation und -Paketverwaltung

Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei /etc/ld.so.cache aufzubauen. Danach können die neuen Librarys vom dynamischenLinker verwendet und bei Bedarf eingebunden werden.

Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie fol-gendes Kommando:

archangel:/ # ldconfig -p | less1128 libs found in cache `/etc/ld.so.cache'

libzvbi.so.0 (libc6) => /usr/lib/libzvbi.so.0libzio.so.0 (libc6) => /usr/lib/libzio.so.0libzio.so (libc6) => /usr/lib/libzio.solibz.so.1 (libc6) => /lib/libz.so.1libz.so.1 (libc6) => /usr/lib/libz.so.1libz.so (libc6) => /usr/lib/libz.soliby2.so.2 (libc6) => /usr/lib/liby2.so.2libyui.so.2 (libc6) => /usr/lib/libyui.so.2

... weitere Zeilen wurden abgeschnitten ...

Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer be-stimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummereiner einzelnen Bibliothek ermitteln Sie auf folgendem Weg:

archangel:/ # ldconfig -p | grep libusblibusb-0.1.so.4 (libc6) => /usr/lib/libusb-0.1.so.4

102.4 Debian-Paketverwaltung verwenden

Wichtung: 3

Beschreibung: Kandidaten sollten in der Lage sein, Pakete mit den Debian-Paket-werkzeugen zu verwalten.

Wichtigste Wissensgebiete:

� Debian-Binärpakete installieren, aktualisieren und entfernen

� Pakete finden, die bestimmte Dateien oder Bibliotheken enthalten und instal-liert sind oder nicht

� Paketinformationen bestimmen wie Version, Inhalt, Abhängigkeiten

� Integrität des Paketes und Installationsstatus (ob das Paket installiert ist odernicht)

1451.book Seite 66 Dienstag, 7. Juli 2009 2:18 14

67

102.4 Debian-Paketverwaltung verwenden

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

� /etc/apt/sources.list

� dpkg

� dpkg-reconfigure

� apt-get

� apt-cache

� aptitude

Allgemeines

In den nächsten Abschnitten sollen Sie erlernen, wie die Paketverwaltung bei Dis-tributionen funktioniert, die auf Debian basieren (Debian, Ubuntu, Mint, Knop-pix, Damn Small usw.). Das Selbstkompilieren von Programmen, die Sie als Tar-Balls aus dem Internet heruntergeladen haben, hat nämlich einen Schönheitsfeh-ler: Sie können diese Programme nicht mehr sauber deinstallieren. Dieser Nach-teil wird durch paketbasierte Installationen beseitigt. Der Aufbau der Dateinamenbei Debian-Paketen soll an folgendem Beispiel verdeutlicht werden:

fortune-mod_1.99.1-3_i386.deb

� Der Name des Paketes ist fortune-mod.

� Die Versionsnummer lautet 1.99.1.

� Die Revisionsnummer (Release) ist 3.

� Die unterstützte Architektur ist i386.

Diese vier Komponenten werden immer durch einen Unterstrich voneinandergetrennt. Die meisten Programmierer halten sich an diese Namenskonvention,was das Identifizieren von Paketen im Internet erheblich erleichtert.

Konfigurationsdateien und Verzeichnisse

/etc/dpkg/dpkg.cfg

Das ist die Konfigurationsdatei für dpkg. In dieser Datei werden die voreingestell-ten Optionen für dpkg festgelegt. Sie können sich dabei Arbeitsaufwand ersparen,wenn Sie immer dieselben Optionen mit dpkg verwenden. Die Datei wird zeilen-separiert ausgewertet. Es steht also in jeder Zeile nur eine Option. Bei den meis-ten aktuellen Distributionen enthält die Datei im Auslieferungszustand nur eineeinzige Zeile, mit der die Log-Datei definiert wird:

log /var/log/dpkg.log

1451.book Seite 67 Dienstag, 7. Juli 2009 2:18 14

68

Topic 102: Linux-Installation und -Paketverwaltung

/var/lib/dpkg/info

In diesem Verzeichnis befinden sich zu jedem installierten Paket mehrere Skripteund Dateien, die für eine korrekte Installation und auch später wieder für dieDeinstallation benötigt werden. Das Beispiel zeigt die entsprechenden Dateienfür den Editor nano:

root@ubuntu-server:/var/lib/dpkg/info# ls -lha | grep nano-rw-r--r-- 1 root root 12 2007-02-07 12:32 nano.conffiles-rw-r--r-- 1 root root 1,5K 2007-10-15 23:19 nano.list-rw-r--r-- 1 root root 2,3K 2007-02-07 12:32 nano.md5sums-rwxr-xr-x 1 root root 579 2007-02-07 12:32 nano.postinst-rwxr-xr-x 1 root root 160 2007-02-07 12:32 nano.postrm-rwxr-xr-x 1 root root 379 2007-02-07 12:32 nano.preinst-rwxr-xr-x 1 root root 288 2007-02-07 12:32 nano.prerm

Wenn Sie nach einer verunglückten Installation manuell das System aufräumenmöchten, finden Sie immer in der entsprechenden .list-Datei eine Aufstellungaller zum Programm gehörenden Dateien und Verzeichnisse. Im Falle von nanohandelt es sich dabei übrigens um 64 über das System verteilte Dateien.

/var/lib/dpkg/status

In der Datei status sind Informationen über bereits installierte Pakete hinterlegt.Es wird auch angegeben, ob die Installation vollständig ausgeführt oder ob einProgramm bereits wieder deinstalliert wurde. Das Beispiel zeigt Informationenüber einen korrekt installierten nano-Editor:

Package: nanoStatus: install ok installedPriority: importantSection: editorsInstalled-Size: 1624

... weitere Zeilen wurden abgeschnitten ...

Der nächste Eintrag zeigt ein Paket, das »sauber« deinstalliert wurde:

Package: courier-imapStatus: deinstall ok config-filesPriority: extraSection: mailInstalled-Size: 1540

... weitere Zeilen wurden abgeschnitten ...

1451.book Seite 68 Dienstag, 7. Juli 2009 2:18 14

69

102.4 Debian-Paketverwaltung verwenden

/var/lib/dpkg/available

Diese Datei enthält eine Liste der verfügbaren Pakete. Sie beinhaltet Informatio-nen über die Größe des Paketes, die Versionsnummer, Abhängigkeiten, denAutor, die Prozessorarchitektur und vieles andere mehr. Das Beispiel zeigt einenEintrag für den Editor nano:

Package: nanoPriority: importantSection: editorsInstalled-Size: 1624Maintainer: Ubuntu Core Developers <[email protected]>Architecture: i386Version: 2.0.2-1Replaces: picoProvides: editorDepends: libc6 (>= 2.5-0ubuntu1), libncursesw5 (>= 5.4-5)Suggests: spellConflicts: nano-tiny (<= 1.0.0-1), picoSize: 286950Description: free Pico clone with some new features

... weitere Zeilen wurden abgeschnitten ...

/etc/apt/apt.conf

Hierbei handelt es sich um die Konfigurationsdatei für die apt-tools. Norma-lerweise ist hier nur ein Eintrag für den verwendeten Proxy hinterlegt, damitapt-get ohne Probleme Pakete aus dem Internet herunterladen kann. Beispiel:

debian40:/# cat /etc/apt/apt.confAcquire::http::Proxy "http://192.168.0.1:3128";

/etc/apt/sources.list

Diese Datei enthält die Quellen für apt-get. Das ist meistens eine Liste mit FTP-Servern (bei modernen Distributionen auch HTTP-Servern), von denen Softwaremit apt-get install online installiert werden kann. Zusätzlich sind natürlichauch lokale Quellen in dieser Datei enthalten. Beispiel:

root@archangel:~# head /etc/apt/sources.list#deb cdrom:[Ubuntu 8.04 _Hardy Heron_ – Release i386 (20080423)]/hardy main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of the distribution.deb http://de.archive.ubuntu.com/ubuntu/

1451.book Seite 69 Dienstag, 7. Juli 2009 2:18 14

70

Topic 102: Linux-Installation und -Paketverwaltung

hardy main restricted universe multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ hardy main restricted## Major bug fix updates produced after the final release of the## distribution.deb http://de.archive.ubuntu.com/ubuntu/ hardy-updates main restric

DPKG-Programme

dpkg

Wenn Sie ein Programm auf einem Debian-basierten System installieren wollen,verwenden Sie das Kommando dpkg. Aus Bequemlichkeit greifen aber heutzutageselbst die größten Puristen auf Frontends wie dselect oder apt-get zurück.

Manche Optionen von dpkg können sowohl mit einem einzelnen Buchstaben alsauch mit einem ganzen Wort verwendet werden. Die beiden folgenden Komman-dos installieren jeweils ein Paket:

debian40:/pakete# dpkg -i fortune_1.0-861_i386.debdebian40:/pakete# dpkg --install fortune_1.0-861_i386.deb

Entsprechend ist die Ausgabe, die von diesen beiden Kommandos erzeugt wird,ebenfalls identisch:

Wähle vormals abgewähltes Paket fortune.(Lese Datenbank ... 75945 Dateien und Verzeichnisse sind derzeitinstalliert.)Entpacke fortune (aus fortune_1.0-861_i386.deb) ...Richte fortune ein (1.0-861) ...

Die Deinstallation eines Programms, das mit dpkg installiert wurde, erfolgt mitden Schaltern -r oder --remove. Hierbei werden Konfigurationsdateien nicht ge-löscht. Wenn Konfigurationsdateien ebenfalls aus dem System entfernt werdensollen, müssen Sie die Optionen -P bzw. --purge verwenden. Es folgt eine Auf-listung der wichtigsten Optionen für die Prüfung:

� -i bzw. --install installiert das angegebene Paket.

� -r bzw. --remove entfernt das angegebene Paket. Konfigurationsdateien blei-ben aber erhalten. Achtung! Die Option -e ist nicht, wie bei RPM, die Erase-Funktion!

Prüfungstipp

Für die Prüfung müssen Sie mit dpkg absolut vertraut sein. Es werden auch Fragen zuselten verwendeten Optionen von dpkg gestellt.

1451.book Seite 70 Dienstag, 7. Juli 2009 2:18 14

71

102.4 Debian-Paketverwaltung verwenden

� -P bzw. --purge entfernt das angegebene Programm inklusive der Konfigura-tionsdateien.

� -s bzw. --status gibt umfangreiche Informationen über das installierte Paketaus.

� -C bzw. --audit zeigt Pakete an, die nur teilweise auf dem System installiertsind.

� -L bzw. --listfiles zeigt die Dateien an, die ein Paket installiert hat.

dselect

Bei dselect handelt es sich um ein Frontend für dpkg. Mit dselect können Siefolgende Operationen durchführen:

� eine Zugriffsmethode auswählen

� die Liste der verfügbaren Pakete erneuern, falls möglich

� eine Auswahl der für Ihr System gewünschten Pakete treffen

� gewünschte Pakete installieren und aktualisieren

� alle unkonfigurierten Pakete konfigurieren

� nicht gewünschte Software löschen

dpkg-reconfigure

Mit dpkg-reconfigure können Sie ein bereits installiertes Paket neu konfigurie-ren. Mit dpkg-reconfigure -a können Sie sogar alle installierten Pakete neu kon-figurieren. Dieser Vorgang kann aber in Abhängigkeit von der Menge der instal-lierten Pakete sehr viel Zeit in Anspruch nehmen.

apt-get

Das Programm apt-get ist ein sehr beliebtes Frontend für dpkg. Auch wenn derName und der Hauptverwendungszweck das implizieren: Man kann mit apt-getnicht nur Programme »bekommen« bzw. »holen«, sondern auch diagnostizieren,neu konfigurieren und deinstallieren. Die Installation eines Paketes mit apt-getist sehr bequem und erfolgt einfach so:

debian40:/# apt-get install fortunePaketlisten werden gelesen... FertigAbhängigkeitsbaum wird aufgebaut... Fertig

Prüfungstipp

Prägen Sie sich für die Prüfung die hier aufgeführten Optionen in beiden Schreibwei-sen ein. Achten Sie auch auf Groß- und Kleinschreibung.

1451.book Seite 71 Dienstag, 7. Juli 2009 2:18 14

72

Topic 102: Linux-Installation und -Paketverwaltung

Achtung, wähle fortune-mod an Stelle von fortuneDie folgenden zusätzlichen Pakete werden installiert:

fortune-mod fortunes-min librecode0Vorgeschlagene Pakete:

xcontribDie folgenden NEUEN Pakete werden installiert:

fortune-mod fortunes-min librecode00 aktualisiert, 3 neu installiert, 0 zu entfernen und 19 nichtaktualisiert.Es müssen noch 0B von 816kB Archiven geholt werden.Nach dem Auspacken werden 1655kB Plattenplatz zusätzlich benutzt.Möchten Sie fortfahren [J/n]?

Wie man sieht, ist apt-get intuitiv bedienbar. Das Programm hat selbst erkannt,dass das Paket, das mit fortune korrespondiert, fortune-mod heißt und installiertdieses automatisch. Abhängigkeiten von anderen Paketen (fortunes-minlibrecode0) werden ebenfalls vollautomatisch aufgelöst. Es wird angegeben, wieviel Platz das neue Programm auf der Festplatte belegen wird. Die Installationkann in dieser Phase noch unterbunden werden.

Die Deinstallation eines Paketes funktioniert genauso, nur dass Sie eben die Op-tion remove verwenden anstatt install:

debian40:/# apt-get remove fortunePaketlisten werden gelesen... FertigAbhängigkeitsbaum wird aufgebaut... FertigAchtung, wähle fortune-mod an Stelle von fortuneDie folgenden Pakete werden ENTFERNT:

fortune-mod fortunes-min0 aktualisiert, 0 neu installiert, 2 zu entfernen und 19 nichtaktualisiert.Es müssen 0B Archive geholt werden.Nach dem Auspacken werden 352kB Plattenplatz freigegeben worden sein.

Um die Liste der verfügbaren Pakete zu aktualisieren, können Sie die Optionupdate verwenden:

root@archangel:~# apt-get updateOK http://security.ubuntu.com hardy-security Release.gpgOK http://de.archive.ubuntu.com hardy Release.gpgOK http://de.archive.ubuntu.com hardy/main Translation-deOK http://de.archive.ubuntu.com hardy/restricted Translation-deOK http://de.archive.ubuntu.com hardy/universe PackagesOK http://de.archive.ubuntu.com hardy/multiverse PackagesOK http://de.archive.ubuntu.com hardy/main Sources

1451.book Seite 72 Dienstag, 7. Juli 2009 2:18 14

73

102.4 Debian-Paketverwaltung verwenden

OK http://de.archive.ubuntu.com hardy/restricted SourcesOK http://de.archive.ubuntu.com hardy/universe SourcesOK http://de.archive.ubuntu.com hardy/multiverse SourcesOK http://de.archive.ubuntu.com hardy-updates/main PackagesPaketlisten werden gelesen... Fertig

Die Ausgabe des Befehls wurde aus Platzgründen gekürzt. Die Auflistung istnormalerweise etwa dreimal so lang. Das Ergebnis der Abfrage wird in der Datei/etc/apt/sources.list abgespeichert.

Eine Aktualisierung aller installierten Pakete kann apt-get mit der Optionupgrade durchführen. Zwar bieten moderne Linux-Distributionen auch automa-tische Erinnerungen, die auf die Notwendigkeit von Updates hinweisen, dieseMechanismen setzen allerdings voraus, dass man sich lokal an der Maschine be-findet. Ein Update aus der Ferne über ein Terminal wird deshalb so durchge-führt:

root@archangel:~# apt-get upgradePaketlisten werden gelesen... FertigAbhängigkeitsbaum wird aufgebautReading state information... FertigDie folgenden Pakete werden aktualisiert:

ghostscript ghostscript-x libgs83 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nichtaktualisiert.Es müssen 3017kB Archive geholt werden.After this operation, 0B of additional disk space will be used.Möchten Sie fortfahren [J/n]? jHole:1 http://security.ubuntu.com hardy-security/main libgs8 8.61.dfsg.1-1ubuntu3.2 [2217kB]Hole:2 http://security.ubuntu.com hardy-security/main ghostscript 8.61.dfsg.1-1ubuntu3.2 [740kB]85% [2 ghostscript 366070/740kB 49%]

Das Programm zeigt den Fortschritt während der Installation jedes Paketes an,wie Sie in der letzten Zeile sehen können.

aptitude

Da in der Prüfung normalerweise nicht nach grafischen Frontends gefragt wird,soll die Arbeitsweise der Synaptics Paketverwaltung unterschlagen werden. Inte-ressanter ist sowieso die Benutzerschnittstelle aptitude. Mit diesem Programmkönnen Sie zum Beispiel bequem nach Paketen suchen, auch wenn Sie deren ge-nauen Namen nicht kennen. Wenn Sie etwa einen DHCP-Server installieren müs-

1451.book Seite 73 Dienstag, 7. Juli 2009 2:18 14

74

Topic 102: Linux-Installation und -Paketverwaltung

sen, aber nicht wissen, welches Paket einen solchen Server enthält, versuchen SieFolgendes:

root@archangel:~# aptitude search dhcpp autodns-dhcp – Automatic DNS updates for DHCPp dhcp-client -p dhcp-helper – A DHCP relay agenti dhcp3-client – DHCP clientp dhcp3-relay – DHCP relay daemonp dhcp3-server – DHCP server for automatic IP address assignmentp dhcpdump – Parse DHCP packets from tcpdumpp dhcping – DHCP Daemon Ping Programp ebox-dhcp – eBox – DHCP server modulep gdhcpd – GTK+ configuration tool for dhcpd3-serverp udhcpc – very small DHCP clientp udhcpd – very small DHCP server

In der sechsten Zeile ist dann auch tatsächlich der vom ISC empfohlene DHCP-Server zu finden. Sie können diesen dann mit apt-get installieren.

Einige Optionen, die aptitude versteht, gibt es auch bei apt-get. Die wichtigstensind update, upgrade, clean und autoclean. Erfahrungsgemäß arbeitet apt-getaber bei update und upgrade zuverlässiger. Es gibt sogar Fälle, in denen aptitudeSie auf diesen Umstand hinweist:

W: Duplicate sources.list entry http://de.archive.ubuntu.com hardy/multiverse Packages (/var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_hardy_multiverse_binary-i386_Packages)W: Duplicate sources.list entry http://de.archive.ubuntu.com hardy/multiverse Translation-de (/var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_hardy_multiverse_i18n_Translation-de)W: Probieren Sie "apt-get update", um diese Probleme zu korrigieren.

Übrigens: Sie können aptitude auch interaktiv verwenden. Führen Sie das Pro-gramm einfach mal ohne Optionen oder Parameter aus!

apt-cache

Mit apt-cache können Sie lediglich den Cache des apt-Systems verwalten. WennSie Programme mit apt-get installieren, werden nämlich die Quellen in einemCache zwischengespeichert. Dieser befindet sich normalerweise im Verzeichnis/var/cache/apt/archives. Sie können mit der Option stats eine Übersicht überden Cache ausgeben:

root@archangel:~# apt-cache statsGesamtzahl an Paketnamen: 32616 (1305k)

1451.book Seite 74 Dienstag, 7. Juli 2009 2:18 14

75

102.4 Debian-Paketverwaltung verwenden

davon gewöhnliche Pakete: 24910davon rein virtuelle Pakete: 649davon einzelne virtuelle Pakete: 1735davon gemischte virtuelle Pakete: 234davon fehlend: 5088

Gesamtzahl an unterschiedlichen Versionen: 28361 (1475k)Total Distinct Descriptions: 32098 (770k)Gesamtzahl an Abhängigkeiten: 196493 (5502k)Gesamtzahl an Version/Datei-Beziehungen: 30952 (495k)Total Desc/File relations: 32098 (514k)Gesamtzahl an Bereitstellungen: 5783 (116k)Gesamtzahl an Mustern: 120 (1568)Gesamtmenge an Abhängigkeits/Versionsspeicher: 1010kGesamtmenge an Slack: 76,7kGesamtmenge an Speicher: 8970k

Zur Bereinigung des Cache können Sie wahlweise aptitude oder apt-get einset-zen:

root@archangel:~# aptitude cleanPaketlisten werden gelesen... FertigAbhängigkeitsbaum wird aufgebautReading state information... FertigLese erweiterte StatusinformationenInitialisiere Paketstatus... FertigErzeuge Tag-Datenbank... Fertig

Wenn Sie Informationen über die Abhängigkeiten eines Programms von anderenProgrammen oder Bibliotheken benötigen, kann apt-cache Ihnen die gewünsch-ten Informationen aus den Metadaten der Pakete generieren. Das Kommando er-zeugt allerdings eine sehr umfangreiche Ausgabe, weshalb hier auf ein Beispielverzichtet werden soll.

alien

Wenn Sie ein Programm installieren wollen, das nicht als dpkg-Paket vorliegt,dann können Sie dieses außerirdische Paket mit alien konvertieren. Obwohlalien überwiegend auf Debian-Systemen zum Einsatz kommt, unterstützt es un-terschiedliche Formate sowohl als Eingabe- als auch als Ausgabedateiformat. DasProgramm erkennt das Format einer Eingabedatei automatisch und wandelt diesein das auf der Kommandozeile angegebene Format um. Folgende Pakettypenwerden unterstützt:

� rpm (Red Hat)

� dpkg (Debian)

1451.book Seite 75 Dienstag, 7. Juli 2009 2:18 14

76

Topic 102: Linux-Installation und -Paketverwaltung

� tgz (Slackware)

� pkg (Solaris)

� slp (Stampede)

Wenn Sie ein Paket mit alien übersetzen wollen, geben Sie die Quelldatei unddas Ausgabeformat an. Sie können das Programm aber auch sofort nach der Kon-vertierung installieren, wenn Sie die Option -i bzw. --install angeben. Das ge-nerierte Quellpaket wird dann nach der Installation automatisch gelöscht.

debian40:/aliens# alien fortune-1.0-860.i586.rpm --to-debfortune_1.0-861_i386.deb generated

In diesem Beispiel ist ein bestehendes RPM-Paket in ein DPKG-Paket übersetztworden. Die ursprüngliche Datei bleibt erhalten. Beachten Sie, dass die Minor-Versionsnummer gegenüber dem Quellpaket um eins erhöht wurde. Wenn Siedieses Standardverhalten von alien nicht wünschen, können Sie die Option -koder --keep-version verwenden.

Die Übersetzung in andere Paketformate als DPKG geht sinngemäß genauso von-statten. Ersetzen Sie dazu in dem Schalter --to-deb das deb einfach durch das ge-wünschte Format (z.B. --to-rpm).

102.5 RPM und YUM-Paketverwaltung verwenden

Wichtung: 3

Beschreibung: Kandidaten sollten in der Lage sein, Pakete mit den RPM undYUM-Werkzeugen zu verwalten.

Wichtigste Wissensgebiete:

� Pakete mit RPM und YUM installieren, erneut installieren, aktualisieren undentfernen

� Informationen über RPM-Pakete bestimmen wie Version, Status, Abhängig-keiten, Integrität und Signaturen

� herausfinden, welche Dateien ein Paket zur Verfügung stellt, und herausfin-den, aus welchem Paket eine bestimmte Datei kommt

Prüfungstipp

Sie sollten für die Prüfung mit Debian-Paketen umgehen können. In den neuen Prü-fungen (ab April 2009) wird der Akzent allerdings eher auf der Benutzung und Kon-figuration von Frontends wie apt-get und aptitude liegen.

1451.book Seite 76 Dienstag, 7. Juli 2009 2:18 14

77

102.5 RPM und YUM-Paketverwaltung verwenden

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

� rpm

� rpm2cpio

� /etc/yum.conf

� /etc/yum.repos.d/

� yum

� yumdownloader

Allgemeines

Fast alle Distributionen, die nicht auf Debian basieren, verwenden für das Paket-management RPM, den Red Hat Package Manager. Er ermöglicht ebenfalls die In-stallation von Programmen, die bereits fertig kompiliert in einem Binärformatvorliegen. Leider kann dieses System nicht automatisch Abhängigkeiten auflösenund Pakete, die als Grundlagen für das gewünschte Paket notwendig sind, be-schaffen und installieren. Diese Aufgabe wird für gewöhnlich von Frontendsübernommen. Die meisten modernen Distributionen verwenden hierfür yum. DieDateinamen der Pakete sind ähnlich aufgebaut wie die von DPKG. Es kommt le-diglich statt des Unterstrichs ein normaler Bindestrich zum Einsatz. Den Aufbauzeigt das Beispiel:

bash-3.0-15.i586.rpm

� Der Name des Paketes ist bash.

� Die Versionsnummer lautet 3.0.

� Die Revisionsnummer (Release) ist 15.

� Die unterstützte Architektur ist i586.

Konfigurationsdateien

Die Hauptkonfigurationsdatei von RPM ist die Datei rpmrc. Diese Datei kann sichin verschiedenen Verzeichnissen befinden:

� /etc/rpmrc enthält eine systemweite Konfiguration, die auch dann erhaltenbleibt, wenn RPM selbst aktualisiert wird. Die Datei ist normalerweise nichtvorhanden und muss bei Bedarf erstellt werden.

� /usr/lib/rpm/rpmrc ist eine systemweite Konfiguration. Sie wird überschrie-ben, wenn RPM aktualisiert wird.

� /usr/lib/rpmrc ist ein inzwischen veralteter Speicherort, der vom Verwen-dungszweck her /usr/lib/rpm/rpmrc entspricht.

1451.book Seite 77 Dienstag, 7. Juli 2009 2:18 14

78

Topic 102: Linux-Installation und -Paketverwaltung

� Die Datei .rpmrc im Verzeichnis eines Benutzers definiert Einstellungen, dienur für einen bestimmten Benutzer gelten sollen.

Im Verzeichnis /usr/lib/rpm befinden sich etliche Skripte, die RPM verwendet,um das Paketmanagement durchzuführen.

Die Datenbanken mit installierten Komponenten, Abhängigkeiten, Konfliktenund anderen Informationen für RPM befinden sich in /var/lib/rpm. Diese Da-teien können nicht mit einem Editor bearbeitet werden, weshalb sie ebenfalls fürdie Prüfung belanglos sind.

RPM aktiv verwenden

In Bezug auf RPM ist für die Prüfung nur ein einziges Programm Thema, nämlichdas Kommando rpm selbst. Damit Sie nicht denken, es gebe darüber hinaus nichtsanderes, folgt eine (kommentarlose) Auflistung der RPM-Programme auf meinemReferenzsystem:

rpmbuild, rpme, rpmi, rpmqpack, rpmsign, rpmverify, rpm2cpio, rpmdb, rpmgraph, rpmlocate, rpmquery, rpmu, rpmlead, rpmsignature, rpmheader, rpmarchive

Installation, Update und Deinstallation

Wenn Sie Software mit rpm installieren, stehen Ihnen, ähnlich wie bei dpkg, Op-tionen mit einzelnen Buchstaben oder Optionswörter zur Verfügung. So könnenSie ein Paket sowohl mit rpm -e als auch mit rpm --erase deinstallieren. Diewichtigsten Optionen zur aktiven Arbeit mit rpm sind:

� -i bzw. --install installiert das angegebene Paket (oder die Pakete).

� -U bzw. --upgrade aktualisiert das angegebene Paket (oder die Pakete) bzw.installiert es einfach, wenn keine Vorgängerversion gefunden wird.

� -F bzw. --freshen aktualisiert Pakete nur, wenn diese auf dem System bereitsvorhanden sind.

� -v bzw. --verbose aktiviert den Verbose-Mode.

� -e bzw. --erase (früher --uninstall) entfernt das angegebene Paket.

� -h bzw. --hash sorgt für eine Fortschrittsanzeige mit 50 Hash-Zeichen (#).

Prüfungstipp

Es gibt selten einen Grund, diese Dateien zu modifizieren, wenn Sie nicht selbst Pa-kete erstellen. Sie müssen für die Prüfung lediglich wissen, dass diese Datei existiert.Wissen über den genauen Aufbau der Datei ist nicht erforderlich.

1451.book Seite 78 Dienstag, 7. Juli 2009 2:18 14

79

102.5 RPM und YUM-Paketverwaltung verwenden

Ein typisches rpm-Kommando zur Installation wäre folgendes:

archangel:/ # rpm -Uhv /i586/fortune-1.0-860.i586.rpmPreparing.. ########################################### [100%]

1:fortune ########################################### [100%]

Das Programm war übrigens vorher vom System entfernt worden. Trotzdem hatdie Option -U keinen Fehler hervorgerufen, sondern das nicht vorhandene Pro-gramm aktualisiert.

Zwangsinstallation

Sollte ein Paket die Installation verweigern, können Sie es meist trotzdem instal-lieren, wenn Sie die entsprechenden Optionen kennen. Das könnte z.B. der Fallsein, wenn eine oder mehrere Abhängigkeiten nicht erfüllt sind oder wenn einKonflikt mit einem bestehenden Paket besteht. Sie sollten diese Optionen alsonur dann verwenden, wenn Sie sich über die Konsequenzen der Installation imKlaren sind:

� --force erzwingt die Installation auch bei bestehenden Konflikten.

� --nodeps lässt die Prüfung der Abhängigkeiten aus. Das gilt sowohl für dieInstallation als auch für die Deinstallation von Paketen.

Für beide Schalter gibt es völlig zu Recht keine Kurzform, damit man sich derTragweite des jeweiligen Kommandos bewusst wird.

Abfragen der RPM-Datenbank

Ein sehr wichtiges Thema in der Prüfung ist die Abfrage der RPM-Datenbank.Hier sollten Sie auch Abfragen kennen, die Ihnen vielleicht unwichtig erscheinen.Grundsätzlich beginnt eine Abfrage mit rpm -q. Sie können aber auch verschie-dene Zusatzschalter anwenden, um die Suche zu verfeinern. Man unterscheidethier zwischen Package Selection Options und Query Options. Erstere dienen dazu,Pakete aufzufinden, die bestimmte Eigenschaften haben. Im Gegensatz dazu ver-wenden Sie Query Options, um Informationen über ein bestimmtes Paket zu be-kommen.

Eine einfache Abfrage ohne weitere Optionen dient normalerweise lediglichdazu, festzustellen, ob ein bestimmtes Paket installiert ist und wenn ja, welcheVersion dieses Paketes:

Prüfungstipp

Merken Sie sich unbedingt, dass bei rpm die Option -r nicht für remove steht, son-dern für requires. Es besteht hier Verwechslungsgefahr mit dpkg!

1451.book Seite 79 Dienstag, 7. Juli 2009 2:18 14

80

Topic 102: Linux-Installation und -Paketverwaltung

archangel:/ # rpm -q fortunefortune-1.0-860

Wäre das Paket auf dem System nicht vorhanden, würde das Ergebnis so ausse-hen:

archangel:/ # rpm -q fortunepackage fortune is not installed

Package Selection Options

Bei dieser Form der Abfrage geht es darum, ein Paket zu finden, auf das be-stimmte Eigenschaften zutreffen. Sie können so auch herausfinden, zu welchemPaket eine bestimmte Datei gehört:

archangel:/ # rpm -qf /usr/X11R6/bin/startxxorg-x11-6.8.2-30

Eine beliebte Kombination von Kommandos ist die folgende:

archangel:/ # rpm -qa | grep apacheapache2-worker-2.0.53-9.15apache2-mod_php5-5.0.3-14.37apache2-prefork-2.0.53-9.15apache2-2.0.53-9.15

Das Kommando rpm -qa (query all) liefert eine Liste aller installierten RPM-Pa-kete. Mit dem grep wird die Liste anschließend so gefiltert, dass nur Pakete an-gezeigt werden, in deren Dateiname die Zeichenfolge »apache« vorkommt. DieseKombination können Sie auch verwenden, wenn Sie sich nicht sicher sind wieder genaue Name eines Paketes lautet.

Query Options

Die Query Options dienen dazu, Informationen zu einem bestimmten Paket zubekommen. Sie sollten sich die folgenden Optionen einprägen:

� -qR bzw. --requires zeigt Abhängigkeiten zu anderen Paketen an.

� -ql bzw. --list führt die im Paket enthaltenen Dateien auf.

� -qc bzw. --configfiles zeigt nur die Konfigurationsdateien eines Paketes an.

� -qd bzw. --docfiles zeigt nur die Dokumentationsdateien eines Paketes an.

� -qi bzw. --info zeigt umfangreiche Informationen zu einem Paket an.

1451.book Seite 80 Dienstag, 7. Juli 2009 2:18 14

81

102.5 RPM und YUM-Paketverwaltung verwenden

Bei allen diesen Abfragen muss unterschieden werden, ob diese an ein bereits in-stalliertes Programm oder direkt an ein Paket gestellt werden. Wenn Sie z.B. einPaket abfragen wollen, bevor es installiert wird, benötigen Sie zusätzlich die Op-tion p. Beispiel:

archangel:/i586 # rpm -qpl zip-2.3-741.i586.rpm/usr/bin/zip/usr/bin/zipcloak/usr/bin/zipnote/usr/bin/zipsplit/usr/share/doc/packages/zip

... weitere Zeilen wurden abgeschnitten ...

Wenn Sie ein bereits installiertes Paket abfragen wollen, lassen Sie die Option pweg. Es wird dann auch nur der reine Paketname ohne die Versionsnummer undDateierweiterung angegeben:

archangel:/storage/suse93/suse/i586 # rpm -ql bzip2/usr/bin/bunzip2/usr/bin/bzcat/usr/bin/bzip2/usr/bin/bzip2recover

... weitere Zeilen wurden abgeschnitten ...

Überprüfung installierter Pakete

Sie können ein installiertes RPM-Paket überprüfen. Es wird dann festgestellt, obzum Paket gehörende Dateien gelöscht oder modifiziert wurden. Dazu verwen-den Sie einfach den Schalter -V. Dieser steht in diesem Fall nicht für verbose, son-dern für verify. Die Ausgabe einer Überprüfung könnte so aussehen:

archangel:/ # rpm -V sambaS.5....T c /etc/samba/smbpasswdS.5....T c /etc/samba/smbusersS.5....T c /etc/xinetd.d/swat

Das Ergebnis der Überprüfung zeigt Änderungen an den aufgeführten Dateien.Da es sich hierbei um Konfigurationsdateien handelt, ist das auch nicht weiter

Prüfungstipp

Achtung! Die Option -i ist, ohne -q verwendet, der Schalter für die Installation. DieKombination -qi ist jedoch eine Abfrage. Es gibt Prüfungsfragen, die genau auf dieseTatsache abzielen.

1451.book Seite 81 Dienstag, 7. Juli 2009 2:18 14

82

Topic 102: Linux-Installation und -Paketverwaltung

beunruhigend. Die Bezeichnungen vor den Dateinamen bedeuten bei der Über-prüfung Folgendes:

� S (Size) – die Größe weicht vom Original ab.

� M (Mode) – die Berechtigungen auf die Datei wurden geändert.

� 5 (MD5) – die Checksumme ist abweichend.

� D (Device) – Fehler in Gerätenummern.

� L (Link) – Fehler im Pfad eines Softlinks.

� U (User) – der Besitzer der Datei wurde geändert.

� G (Group) – die Besitzergruppe einer Datei wurde geändert.

� T (Time) – die Änderungszeit der Datei hat sich geändert.

Die einzelnen Fehlercodes müssen Sie nicht auswendig kennen. Es reicht, zu wis-sen, dass Sie eine Paketüberprüfung grundsätzlich durchführen können.

Pakete umwandeln

Wie Sie RPM-Pakete installieren und auflisten, haben Sie bereits gelernt. Aberwas ist eigentlich, wenn man aus einem RPM-Paket nur eine bestimmte Datei her-aus extrahieren möchte? An dieser Stelle müssen normale RPM-Tools leider pas-sen. Die einzige sinnvolle Möglichkeit besteht momentan darin, mit rpm2cpiodas RPM-Paket in ein cpio-Paket umzuwandeln und daraus die Datei zu extrahie-ren. Es wäre natürlich auch möglich, das Paket einfach zu installieren, die ge-wünschte Datei zu sichern und das Paket anschließend wieder zu deinstallieren.Aber das wäre wirklich etwas umständlich. Das Programm rpm2cpio kommt üb-rigens völlig ohne Optionen aus, was in Bezug auf die Prüfung natürlich erfreu-lich ist. Lediglich das RPM-Paket muss als Option übergeben werden:

archangel:~ # rpm2cpio samba-3.3.2-0.33.rpm >samba.cpio

Als Ergebnis erhalten Sie dann eine cpio-Datei. Wenn Sie wissen, welche DateiSie einzeln extrahieren möchten, können Sie die Ausgabe von rpm2cpio auch di-rekt an cpio übergeben:

archangel:~ # rpm2cpio samba-3.3.2-0.33.rpm |cpio -ivd usr/share/man/man7/samba.7/usr/share/man/man7/samba.712 Blocks

Auf diese Weise wurde nur die reine Manpage von Samba auf das System instal-liert.

1451.book Seite 82 Dienstag, 7. Juli 2009 2:18 14

83

102.5 RPM und YUM-Paketverwaltung verwenden

yum und der yumdownloader

Mit dem Programm yum können Sie ähnlich wie mit apt-get Programme instal-lieren. Nur dass es sich in diesem Fall um RPM-Pakete und nicht DPKG-Paketehandelt. Die Syntax ist sogar relativ ähnlich.

Die Hauptkonfigurationsdatei von yum ist /etc/yum.conf. Hier wird unter ande-rem das Cache-Verzeichnis für Pakete festgelegt. In der Standardeinstellung be-findet es sich unter /var/cach/yum. Im Verzeichnis /etc/yum.repos.d befinden sichDateien mit der Dateierweiterung repo. In diesen Dateien befinden sich Verweiseauf URLs, die Quellen für RPM-Pakete enthalten.

Um ein Programm mithilfe von yum zu suchen, gehen Sie ähnlich vor wie beiapt-get:

[root@centos01 /]# yum search fortuneLoading "installonlyn" pluginSetting up repositoriesextras 100% |=========================| 1.1 kB 00:00updates 100% |=========================| 951 B 00:00base 100% |=========================| 1.1 kB 00:00addons 100% |=========================| 951 B 00:00Reading repository metadata in from local filesprimary.xml.gz 100% |=========================| 90 kB 00:00################################################## 298/298primary.xml.gz 100% |=========================| 101 kB 00:00################################################## 156/156primary.xml.gz 100% |=========================| 878 kB 00:03################################################## 2508/2508primary.xml.gz 100% |=========================| 157 B 00:00Excluding Packages in global exclude listFinishedfortune-mod.i386 1.99.1-7.el5.centos extrasMatched from:fortune-modA program which will display a fortuneFortune-mod contains the ever-popular fortune program, which willdisplay quotes or witticisms. Fun-loving system administratorscan add fortune to users' .login files, so that the users get theirdose of wisdom each time they log in.http://www.redellipse.net/code/fortune

Die Ausgabe des Programms ist recht umfangreich und detailliert. Sie erfahrenunter anderem auch, dass das Paket, das tatsächlich benötigt wird, fortune-mod

1451.book Seite 83 Dienstag, 7. Juli 2009 2:18 14

84

Topic 102: Linux-Installation und -Paketverwaltung

heißt. Mit dem folgenden Kommando wird fortune ähnlich wie mit apt-getheruntergeladen und installiert:

[root@centos01 /]# yum install fortune-mod.i386Loading "installonlyn" pluginSetting up Install ProcessSetting up repositoriesReading repository metadata in from local filesExcluding Packages in global exclude listFinishedParsing package install argumentsResolving Dependencies--> Populating transaction set with selected packages. Please wait.---> Downloading header for fortune-mod to pack into transaction set.fortune-mod-1.99.1-7.el5. 100% |================| 19 kB 00:00---> Package fortune-mod.i386 0:1.99.1-7.el5.centos set to be updated--> Running transaction check--> Processing Dependency: librecode.so.0 for package: fortune-mod--> Restarting Dependency Resolution with new changes.--> Populating transaction set with selected packages. Please wait.---> Downloading header for recode to pack into transaction set.recode-3.6-22.el5.centos. 100% |===============| 8.3 kB 0:00---> Package recode.i386 0:3.6-22.el5.centos set to be updated--> Running transaction checkDependencies Resolved===============================================================Package Arch Version Repository Size

===============================================================Installing:fortune-mod i386 1.99.1-7.el5.centos extras 1.2 M

Installing for dependencies:recode i386 3.6-22.el5.centos extras 837 k

Transaction Summary===============================================================Install 2 Package(s)Update 0 Package(s)Remove 0 Package(s)Total download size: 2.0 MIs this ok [y/N]: y

Das Programm prüft nochmals die bereits bekannten Quellen (Repositorys), stelltfest, welche Abhängigkeiten noch aufgelöst werden müssen, und fragt dann nach,ob die Installation tatsächlich durchgeführt werden soll. Sobald die Abfrage be-stätigt wurde, beginnen der Download und die anschließende Installation:

1451.book Seite 84 Dienstag, 7. Juli 2009 2:18 14

85

102.5 RPM und YUM-Paketverwaltung verwenden

Downloading Packages:(1/2): fortune-mod-1.99.1 100% |===============| 1.2 MB 00:03(2/2): recode-3.6-22.el5. 100% |===============| 837 kB 00:02Running Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction

Installing: recode ######################### [1/2]Installing: fortune-mod ######################### [2/2]

Installed: fortune-mod.i386 0:1.99.1-7.el5.centosDependency Installed: recode.i386 0:3.6-22.el5.centosComplete!

Wenn das Programm nicht mehr benötigt wird, kann es mit der Option removewieder entfernt werden. Auch diese Vorgehensweise ist mit apt-get identisch:

[root@centos01 ~]# yum remove fortune-modLoading "installonlyn" pluginSetting up Remove ProcessResolving Dependencies--> Populating transaction set with selected packages. Please wait.---> Package fortune-mod.i386 0:1.99.1-7.el5.centos set to be erased--> Running transaction checkDependencies Resolved==============================================================Package Arch Version Repository Size

==============================================================Removing:fortune-mod i386 1.99.1-7.el5.centos installed 2.8 M

Transaction Summary==============================================================Install 0 Package(s)Update 0 Package(s)Remove 1 Package(s)Is this ok [y/N]: y

Nach der Bestätigung der Sicherheitsabfrage wird das Programm dann deinstal-liert. Angeblich beginnt dieser Vorgang mit einem Download:

Downloading Packages:Running Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction

Removing : fortune-mod ######################### [1/1]

1451.book Seite 85 Dienstag, 7. Juli 2009 2:18 14

86

Topic 102: Linux-Installation und -Paketverwaltung

Removed: fortune-mod.i386 0:1.99.1-7.el5.centosComplete!

Der yumdownloader ist lediglich ein Hilfsmittel, das RPM-Pakete aus dem Internetherunterlädt. Er greift hierbei automatisch auf Quellen zurück, die unter den Re-positorys in /etc/yum.repos.d/ konfiguriert sind. Folgende Optionen können ver-wendet werden:

� --destdir gibt ein Zielverzeichnis für den Download an. Alternativ wird dasaktuelle Verzeichnis verwendet.

� --urls zeigt lediglich die Quell-URLs an. Ein Download wird nicht durchge-führt.

� --resolve löst Abhängigkeiten auf und sorgt dafür, dass zusätzlich benötigtePakete automatisch heruntergeladen werden.

� --source lädt statt der Binärdateien die Programmquellen herunter.

Prüfungstipp

Sie können (und sollten) noch einige andere Optionen von yum in der Manpage nach-lesen. Beachten Sie bitte den Umstand, dass die Option update hier nicht die Repo-sitorys aktualisiert wie bei apt. Vielmehr wird hierdurch die Aktualisierung installier-ter Pakete initiiert. Solche Unterschiede werden gerne in Prüfungen thematisiert.

Prüfungstipp

Die Thematik Paketmanagement sollte nicht auf die leichte Schulter genommen wer-den. Es gibt garantiert viele Prüfungsfragen zu diesem Thema, die Detailwissen ver-langen. Leider ist es (im Moment) nicht mehr möglich, zwischen einer RPM- undeiner DPKG-Prüfung zu wählen. Deshalb müssen Sie beide Systeme genau kennen. Inden neuen Prüfungen (ab April 2009) wird es eine Verlagerung des Schwerpunktesauf yum geben.

1451.book Seite 86 Dienstag, 7. Juli 2009 2:18 14

211

Übungsfragen zu LPI 117-101

Die folgenden Fragen sollen Ihnen helfen, sich an die Art der Fragestellung in derwirklichen Prüfung zu gewöhnen. Sie sollten diese Fragen nicht einfach auswen-dig lernen, sondern versuchen, die Antworten zu jeder einzelnen Frage zu verste-hen. Deshalb werden auch die entsprechend falschen Antworten im Lösungsteildes Buches bei Bedarf genau besprochen. Das Üben mit diesen Fragen soll Sieauch an die Herangehensweise an eventuell Ihnen unbekannte Themen nahebringen. Ein unbekanntes Kommando in einer Frage ist nämlich kein Grund, eineFrage nicht beantworten zu können. Oft führt ein wenig Logik oder das Aus-schlussverfahren dennoch zum Ziel.

Fragen

Frage 1:

Das Kommando jobs gibt folgende Ausgabe auf Ihrem Terminal aus:

[1]+ Stopped /usr/bin/programm

Welches Kommando setzt die Ausführung des Programms im Hintergrund fort,sodass Sie weitere Kommandos auf dem gleichen Terminal eingeben können?

� A: bg 1

� B: continue programm

� C: exec programm

� D: fg programm

� E: programm &

Frage 2:

Sie müssen alle Tabstops in datei1 durch Leerzeichen ersetzen. Welches Kom-mando führen Sie aus?

� A: file --tabs-to-spaces datei1

� B: extend datei1

� C: wc -t2s datei1

� D: expand datei1

1451.book Seite 211 Dienstag, 7. Juli 2009 2:18 14

212

Übungsfragen zu LPI 117-101

Frage 3:

Sie wollen find beschränken, um eine Verzeichnisstruktur nur bis zu einer Tiefevon drei Unterverzeichnissen zu durchsuchen. Welche Kommandozeilenoptionmüssen Sie verwenden?

� A: --max-dirs

� B: -dirmax

� C: -maxdepth

� D: -s

� E: -n

Frage 4:

Welcher der folgenden Daemonen repräsentiert die Hardware Abstraktions-Schicht?

� A: initd

� B: udev

� C: hald

� D: hardd

Frage 5:

Welches Kommando filtert die Ausgabe der Datei named.conf so, dass nur die Zei-len, die nicht mit einer Raute (#) beginnen, auf stdout ausgegeben werden?

� A: grep -v ^# /etc/named.conf

� B: grep ^# /etc/named.conf

� C: grep #$ /etc/named.conf

� D: grep -v #$ /etc/named.conf

Frage 6:

Welche der folgenden Kommandos können benutzt werden, um PCI-Geräte auf-zulisten, die vom Kernel erkannt werden? Wählen Sie zwei Antworten.

� A: less lspci

� B: less /dev/pci

� C: less /proc/devices/pci

� D: less /proc/pci

� E: lspci | less

1451.book Seite 212 Dienstag, 7. Juli 2009 2:18 14

213

Fragen

Frage 7:

Welche der folgenden Geräteinformationen kann das Kommando lspci nicht an-zeigen? Nur eine Antwort ist richtig.

� A: Bus-Geschwindigkeit einer Karte (z.B. 66 MHz)

� B: IRQ-Einstellungen einer Karte

� C: Herstelleridentifikation einer Karte

� D: AGP-Rate einer Karte (z.B. 1x, 2x, 4x)

� E: MAC-Adresse einer Ethernet-Karte

Frage 8:

Ihre USB-Festplatte funktioniert nicht. Sie haben alle notwendigen USB-Optionenin Ihren 2.2-Kernel integriert, aber die Festplatte kann nicht verwendet werden.Was könnte das Problem verursachen?

� A: Sie haben Ihre usb.usermap nicht richtig konfiguriert.

� B: Sie benutzen den falschen Kernel für dieses Gerät.

� C: Das USB-Gerät ist nicht USB 2.0-kompatibel.

� D: Es gibt einen USB-Ressourcenkonflikt.

Frage 9:

Sie benutzen einen Kernel mit der Version 2.0.36 und möchten eine USB-Mausanschließen. Welche der folgenden Aussagen ist richtig?

� A: Sie müssen den Kernel neu kompilieren.

� B: Sie müssen den Kernel aktualisieren.

� C: Sie müssen die USB-Module für Ihren modularen Kernel laden.

� D: USB wird von Linux nicht unterstützt.

1451.book Seite 213 Dienstag, 7. Juli 2009 2:18 14

214

Übungsfragen zu LPI 117-101

Frage 10:

Sie bauen in einen PC eine 60-GB-Festplatte ein. Bei der Partitionierung bemer-ken Sie, dass nur 32 GB verfügbar sind. Wie können Sie den gesamten Speichernutzen?

� A: Legen Sie zwei 30-GB-Partitionen an.

� B: Schalten Sie den LBA-Modus im BIOS ein.

� C: Erstellen Sie zunächst eine Partition, die komplett innerhalb der ersten 1024 Zylinder liegt.

� D: Benutzen Sie GRUB oder die neueste LILO-Version als Bootloader.

� E: Aktualisieren Sie Ihr BIOS mit der neuesten Version.

Frage 11:

Wie lautet der Gerätedateiname der zweiten SCSI-Festplatte in Ihrem System?Geben Sie den gesamten Pfad an.

Frage 12:

Welcher Umstand könnte das System am Startvorgang hindern, wenn Sie einePartition erstellen, die mehr als 1024 Zylinder hat?

� A: der Speicherort, an dem sich der LILO befindet

� B: der Speicherort, an dem sich /var befindet

� C: der Datendurchsatz der Festplatte

� D: der Speicherort, an dem sich das Verzeichnis /boot befindet

� E: die mittlere Zugriffszeit der Festplatte

Frage 13:

Welches Kommando müssen Sie verwenden, um LILO zu deinstallieren?

� A: remove lilo

� B: uninstall lilo

� C: lilo -r

� D: lilo -u

1451.book Seite 214 Dienstag, 7. Juli 2009 2:18 14

249

Antworten und Erklärungen zu den Übungsfragen

Antworten und Erklärungen zu den Übungsfragen

Frage 1:

A: bg 1 das Kommando bg setzt Programme im Hintergrund fort. Die 1 ist die Job-nummer des entsprechenden Programms, nicht die PID!

� zu B und C: Die Kommandos continue und exec sind Bash-interne Befehle zurProgrammierung von Skripten.

� zu D: fg programm würde das Programm im Vordergrund ausführen.

� zu E: programm & startet das Programm und sorgt sofort dafür, dass dieses imStatus »laufend« in den Hintergrund gebracht wird.

Frage 2:

D: expand datei1 konvertiert Tabs in Leerzeichen und ist das Gegenstück zuunexpand.

Das Kommando file ermittelt den Typ einer Datei. Das Programm wc zähltWorte, Zeilen und Bytes einer Datei.

Frage 3:

C: -maxdepth – Mit dieser Option kann die maximal zu durchsuchende Verzeich-nistiefe festgelegt werden. Die Reihenfolge der Optionen muss hierbei eingehal-ten werden. Beispiel:

archangel:~ # find / -maxdepth 2 -name named.conf/etc/named.conf

Frage 4:

C: hald ist der hardware abstraction layer daemon.

Frage 5:

A: grep -v ^# /etc/named.conf

Das -v invertiert die Ausgabe, und ^ ist das Zeichen für den Zeilenanfang.

� zu B: grep ^# /etc/named.conf würde ausschließlich Kommentarzeilen aus-geben.

� zu C: grep #$ /etc/named.conf zeigt alle Zeilen an, die eine Raute (#) am Zei-lenende ($) aufweisen.

� zu D: grep -v #$ /etc/named.conf zeigt alle Zeilen an, die keine Raute (#)am Zeilenende ($) aufweisen.

1451.book Seite 249 Dienstag, 7. Juli 2009 2:18 14

250

Übungsfragen zu LPI 117-101

Frage 6:

D: less /proc/pci

Eigentlich ist diese Antwort veraltet. Neuere Kernel-Versionen verwenden diesesVerzeichnis nicht mehr. Heutige Kernel verwenden eine ganze Verzeichnishier-archie unter /proc/bus/pci.

E: lspci | less

Das Kommando lspci listet die PCI-Geräte eines Systems auf. Gegen eine Über-gabe der Ausgabe an den Pager less ist nichts einzuwenden.

� zu A: Der Pager less würde versuchen, eine Datei mit der Bezeichnung lspcizu öffnen. Daraus würde eine Fehlermeldung resultieren.

� zu B: Die Datei /dev/pci existiert nicht. Auch hier würde less eine Fehlermel-dung ausgeben.

� zu C: Es gibt unterhalb von /proc kein Verzeichnis namens devices.

Frage 7:

E: MAC-Adresse einer Ethernet-Karte

Alle anderen Antworten enthalten Parameter, die eine starke Affinität zum PCI-Bus aufweisen. Diese werden dementsprechend auch alle angezeigt.

Frage 8:

B: Sie benutzen den falschen Kernel für dieses Gerät.

USB wird von Kerneln erst ab Version 2.2.18 unterstützt. Die Frage impliziertzwar, dass es sich um den korrekten Kernel handelt, aber die übrigen Antwortenkönnen mit Sicherheit als falsch ausgeschlossen werden.

� zu A: Die Datei usb.usermap wird nur für hotplug benötigt.

� zu C: Eine Kompatibilität mit USB 2.0 ist nicht nur unnötig, sondern würdeüberhaupt erst mit einem 2.4er-Kernel unterstützt.

� zu D: USB-Ressourcenkonflikte kommen eher selten vor.

Frage 9:

B: Sie müssen den Kernel aktualisieren.

USB wird erst ab Kernel 2.2.18 unterstützt.

1451.book Seite 250 Dienstag, 7. Juli 2009 2:18 14

251

Antworten und Erklärungen zu den Übungsfragen

Frage 10:

E: Aktualisieren Sie Ihr BIOS mit der neuesten Version.

Veraltete BIOS-Versionen sind die häufigste Ursache dafür, dass eine Festplattevom Betriebssystem nicht mit ihrer vollen Kapazität erkannt wird.

� zu A: Das geht nicht, wenn das Betriebssystem lediglich von einer 32-GB-Fest-platte ausgeht.

� zu B: Wäre der LBA-Modus ausgeschaltet, würde das System eine noch bedeu-tend kleinere Festplatte (nämlich 504 MB) anzeigen.

� zu C: Mit dieser Methode kann man lediglich Problemen beim Systemstartvorbeugen.

� zu D: Der verwendete Bootloader spielt in diesem Zusammenhang keineRolle.

Frage 11:

/dev/sdb

Frage 12:

D: der Speicherort, an dem sich das Verzeichnis /boot befindet

Deshalb sollte auch immer zuerst eine kleine Partition (ca. 50 MB) für das Datei-system /boot erstellt werden.

� zu A: LILO befindet sich wahrscheinlich ohnehin im MBR (Zylinder 0, Sektor0).

� zu B: Das Dateisystem /var ist für den Systemstart nicht kritisch.

� zu C und E: Die Leistungswerte einer Festplatte sind lediglich für dieGeschwindigkeit des Systemstarts, nicht aber für seine grundsätzliche Funk-tion relevant.

Frage 13:

D: lilo -u

Mit diesem Kommando wird der LILO deinstalliert und eine Sicherungskopie desMBR wiederhergestellt.

1451.book Seite 251 Dienstag, 7. Juli 2009 2:18 14

509

Index

#!/bin/bash 293$? 93, 295$0 295$1 94, 295$2 94, 295$HISTSIZE 93$PS1 93* 145./ 96.bash_history 94.bash_login 290.bash_profile 91, 194, 289, 290.bashrc 90, 289.forward 402.rpmrc 78.Xdefaults 328.xinitrc 328.Xresources 328.xserverrc 328/bin/bash 293/bin/login 49/boot 29, 161/boot/boot.b 59/boot/grub/ 62/boot/grub/grub.conf 42/boot/grub/stage2 63/dev 30/dev/cdrom 30/dev/ft0 33/dev/hd 30/dev/hda 30/dev/hda1 31/dev/hda2 31/dev/hda3 31/dev/hda5 31/dev/hdb 30/dev/hdc 30/dev/hdd 30/dev/sd 31/dev/sda 31, 32/dev/sdb 31, 33/dev/st0 33/dev/zero 166/etc/.bashrc 289/etc/aliases 401, 402

/etc/anacron 374/etc/apt/apt.conf 69/etc/apt/sources.list 69/etc/bashrc 90, 289/etc/crontab 370/etc/cups 410/etc/cups/cupsd.conf 410/etc/default/useradd 362, 365/etc/false 358/etc/fstab 88, 166, 176, 177, 178, 184/etc/group 360, 369, 432/etc/gshadow 361, 369/etc/host.conf 432/etc/HOSTNAME 430/etc/hostname 430/etc/hosts 430, 432/etc/hosts.allow 448, 453/etc/hosts.deny 448, 453/etc/hotplug 37/etc/inetd.conf 447/etc/init.d 50, 52, 96/etc/inittab 48, 50, 340/etc/inputrc 290/etc/known_hosts 454/etc/ld.so.cache 66/etc/ld.so.conf 65/etc/lilo.conf 42, 60/etc/localtime 378, 391/etc/logrotate.conf 397/etc/mail 403/etc/mail/access 404/etc/mail/relay-domains 404/etc/manpath.config 98/etc/modprobe.conf 42/etc/modules.conf 42/etc/mtab 181/etc/network/interfaces 434/etc/networks 431/etc/nologin 449, 453/etc/nsswitch.conf 432/etc/ntp.conf 393/etc/ntp.drift 393/etc/passwd 357, 359, 368, 432/etc/printcap 407, 410/etc/profile 91, 94, 194, 289

1451.book Seite 509 Dienstag, 7. Juli 2009 2:18 14

510

Index

/etc/rc.d 50, 52/etc/rc.d/xfs 335/etc/resolv.conf 431/etc/rpmrc 77/etc/services 414/etc/shadow 191, 359, 368/etc/skel 290, 362/etc/ssh/ssh_config 453/etc/ssh/ssh_host_dsa_key 455/etc/ssh/ssh_host_dsa_key.pub 455/etc/ssh/ssh_host_key 455/etc/ssh/ssh_host_key.pub 455/etc/ssh/ssh_host_rsa_key 455/etc/ssh/ssh_host_rsa_key.pub 455/etc/ssh_known_hosts 453/etc/sshrc 453/etc/sudoers 445/etc/syslog.conf 396/etc/timezone 378, 392/etc/updatedb.conf 208/etc/usbmgr/host 37/etc/usbmgr/preload.conf 37/etc/usbmgr/usbmgr.conf 36/etc/X11/fs/config 334/etc/xinetd.conf 448/etc/xinetd.d 448/etc/yum.conf 83/etc/yum.repos.d 83/home 57/lib/modules 23, 29/proc 33, 160/proc/bus/pci 34/proc/dma 32/proc/interrupts 32/proc/ioports 32/proc/kmsg 399/proc/modules 24, 25/proc/partitions 160/proc/pci 32/proc/scsi 33/proc/swaps 167/sbin/mingetty 49/tmp 57/usl/lib/locale 380/usr 57/usr/bin 294/usr/lib/rpm 78/usr/lib/rpm/rpmrc 77/usr/lib/rpmrc 77

/usr/lib/X11/app-defaults/XTerm 329/usr/sbin 294/usr/share/i18n/SUPPORTED 380/usr/share/zoneinfo 391/usr/src 29/usr/src/ 23/usr/src/linux 29/var 57/var/cache/man 98/var/lib/dpkg/available 69/var/lib/dpkg/info 68/var/lib/dpkg/status 68/var/lib/rpm 78/var/log 397/var/log/mail 405/var/log/messages 45, 398/var/mail 403/var/spool 407/var/spool/cron 372/var/spool/mail 403/var/spool/mqueue 403? 145~./ssh/known_hosts 454~/.bash_login 91, 289~/.bash_logout 290~/.bash_profile 289~/.bashrc 290~/.gnupg 461~/.inputrc 290~/.profile 289~/.ssh/authorized_keys 455~/.ssh/id_dsa 456~/.ssh/id_dsa.pub 456~/.ssh/id_rsa 456~/.ssh/id_rsa.pub 456~/.ssh/ssh_know_hosts 453~/.xinitrc 329

A

Absolute Pfadangaben 114ACL 201Aktive Partition 162Akzent Circumflex 147alias 286Aliase 285alien 75ALTER TABLE 304, 316anacron 374

1451.book Seite 510 Dienstag, 7. Juli 2009 2:18 14

511

Index

AND 322Änderungszeit 118Anwendungsschicht 413apache2 50append only 196apropos 99, 100, 206apt-cache 74apt-get 69, 71aptitude 73aquota.group 184aquota.user 184Argumente 88ARP 416ARPA 412ARPANET 412Assistive Techniken 342at 373at.allow 375at.deny 375atd 373aterm 329authorized_keys 456auto 181awk 144

B

Backslash 145Barrierefreies Anmelden 343Barrierefreiheit 343Bash 88bash 282bash.bashrc.local 289Baudot, Jean-Maurice-Émile 382Baudot-Code 382Befehls-History 94Bevorzugte Anwendungen 343, 346bg 138Bildschirmlupe 348Bildschirmtastatur 353BIOS 39, 162BIOS-Uhr 391Bootloader 41, 58Bootpartition 58Boot-Strap-Loader 41, 42, 58Brailledisplay 342, 349Brailleschrift 342Braillezeile 342BRLTTY 349

Broadcastadresse 420builtin 288bunzip2 120, 122bzip2 120, 122

C

case 300cat 102, 129catman 98cd 113CD-ROM 30cfdisk 160chage 365, 440chattr 196chfn 358chgrp 194chmod 189, 191, 192, 292, 293chown 193CIDR 418, 419clear 300Coldplug 37COMMIT 304cp 115cpio 122cpio-Paket 82CREATE DATABASE 308CREATE TABLE 304cron 370cron.allow 375cron.deny 375crond 370crontab 370, 372csh 88, 282CSV 151CTRL-ALT-DEL 49CUPS 407, 410cut 108, 129

D

Data Control Language 304Data Definition Language 304Data Manipulation Language 304Data Query Language 304date 390Dateiattribute 196Dateideskriptoren 126dbus 38

1451.book Seite 511 Dienstag, 7. Juli 2009 2:18 14

512

Index

DCL 304dd 123, 166DDL 304debugfs 171DEC 325defaults 181DELETE 321depmod 27, 28Desktop Environment 327Device 333df 131, 173dig 425DISPLAY 336Display Manager 327, 340DISTINCT 304dma 32dmesg 44DML 304do 296DoD 412DoD Modell 413Dollarzeichen 145Donald Murray 382done 296Doppelkreuzen 147dosfsck 169Dotted Quad 416dpkg 67, 70, 75dpkg-reconfigure 71DQL 304DROP 322DROP DATABASE 322DROP TABLE 304, 322Druckfilter 407DSA-Schlüssel 455dselect 70, 71du 174dump 56, 180dumpe2fs 171, 186DVD-Laufwerk 30Dynamic Link Library 65dynamically linked 65

E

e2fsck 168echo 90, 292, 298Echtzeituhr 391ed 154

edquota 186, 187egrep 146, 149EHCI 35Einfügemodus 154elif 300else 300elvis 154emacspeak 354Endzylinder 161env 91, 285esac 300eterm 329Ethernet 413exec 181exim 401, 405expand 104export 92, 284ext2 163, 164, 170ext3 163, 164, 170Eyetracker 346

F

FAT-32 163FDDI 413fdisk 160, 161, 166Festplatte 30fg 138fgrep 149FHS 203fi 300file 124Filesystem Hierarchy Standard 203find 118, 206, 298finger 358Fingerprint 454Firewire 37fmt 104Fontpath 330for 298FQDN 430free 140, 167fsck 168, 170, 179, 180fsck.cramfs 169fsck.ext2 168fsck.ext3 168fsck.jfs 169fsck.minix 168fsck.msdos 169

1451.book Seite 512 Dienstag, 7. Juli 2009 2:18 14

513

Index

fsck.reiserfs 168fsck.vfat 169fsck.xfs 169fslsfonts 335ftp 428ftp.kernel.org 428function 287Funktionen 287

G

gawk 144gdm 340, 341gdm.conf 341gdmconfig 341GECOS 358Gesten 346GNOME 327, 340Gnopernicus 354GNU 88GNU Privacy Guard 457GnuPG 457GOK 353gpasswd 367GPG 457gpg.conf 461Gpg4win 458Gracetime 183, 184GRANT 304grep 45, 127, 144, 146, 147GROUP 314group 357groupadd 366groupdel 366groupmod 366grpck 369grpconv 369grpquota 181grpunconv 369GRUB 42, 58, 62GRUB Stages 62grub.conf 64gshadow 357GTK 329gunzip 120, 121gzip 120

H

hald 38halt 53Hardlimit 183, 186, 441Hardlinks 200Hardware Abstracion Layer 38Hashes 147head 103Headtracker 346Herunterfahren 52hexdump 106hid.o 35Hilfstechnologien 343HISTSIZE 94host 425Host zu Host 413Hostkey 454hosts.allow 453hosts.deny 453Hotkeys 290Hotplug 37hotplug 37HPFS 163http

//lpievent.lpice.eu/ 17//tools.ietf.org/html/rfc791 416//www.denic.de/de/whois/index.jsp 427//www.ntp.org 392

hwclock 391

I

IBM 325ICMP 416iconv 387id_rsa 456id_rsa.pub 456if 300ifconfig 432ifdown 433ifup 433IGMP 413IMAP 401immutable 196inetd 446inetd.conf 447init 46, 47, 48, 50, 53, 59, 130initdefault 48

1451.book Seite 513 Dienstag, 7. Juli 2009 2:18 14

514

Index

initrd 60inittab 48, 59Inodes 173Inputdevice 331INSERT 304insmod 25, 26Internetschicht 413interrupts 32ioports 32IP-Klassen 417IPv4 415, 416IPv6 415, 421IRIX 164ISO 8859 385ISO-8859-1 386

J

jobs 137, 138JOIN 318join 108Joker 119, 145journal 170

K

KDE 327, 340kdm 340kdmrc 340Kernel 22Kernel-Parameter 42, 43, 59Kernel-Ring-Buffer 44KGpg 458kill 135killall 136Klebrige Tasten 343klogd 399klogin 447Kommandomodus 154ksh 88, 282

L

LANG 380LANG=C 380LC_ALL 380ldconfig 65ldd 65LEFT JOIN 319

less 128let 292, 293, 296LILO 42, 58lilo.conf 42, 60LIMIT 313Link-Layer 413ln 198, 201locale 380locate 208logger 399logrotate 370logrotate.conf 397lp 407lpadmin 410lpc 408, 410lpd 407lpq 408, 410lpr 407, 410lprm 408, 410ls 113lsattr 196lsdel 171lsmod 24, 27, 35lsof 442lspci 33lsusb 35LVM 163

M

mail 298Mail - Aliase 401Mail Delivery Agent 401Mail Transfer Agent 401Mail User Agent 401mailq 403Major Release 23man 99Manpages 97MANPATH 97manpath 98manpath.config 98Map-Installer 61Master Boot Record 31, 40, 58master.cf 404Maussteuerung 343Maustasten 344MBR 41, 58, 60MDA 401

1451.book Seite 514 Dienstag, 7. Juli 2009 2:18 14

515

Index

menu.lst 64Metacity 327Metazeichen 145, 149MEZ 391mingetty 48Minor Release 23MIT 325mkdir 117mkdosfs 163mke2fs 164, 165, 172mkfs 163, 164mkfs.cramfs 164mkfs.ext2 163mkfs.ext3 163mkfs.jfs 164mkfs.msdos 163mkfs.ntfs 164mkfs.reiserfs 163mkfs.vfat 163mkfs.xfs 164mkswap 166, 167modinfo 24modprobe 26modprobe.conf 28modprobe.conf.local 28modules.conf 28modules.dep 27, 28Monolithische Kernel 22Morse-Code 382mount 88, 176, 178, 179Mounten 176Mountpoint 177MTA 401MUA 401Murray-Code 382mv 116

N

nano 150netstat 415, 436, 440Netzwerk-Zugriff 413Neustart 52newaliases 402newgrp 367NFS 178nfs 178nfsd 131nice 141, 143

nl 105nmap 415, 440noauto 181noexec 181nohup 139nohup.out 139nosuid 181nouser 181nslookup 425NTFS 163NTP 392ntp.conf 393ntpd 392, 393ntpdc 393ntpq 393

O

od 106OHCI 34Oktett 416Optionen 88Orca 348ORDER BY 304, 313OSPF 416

P

Partition 160, 161Partitionierung 55Partitionstabelle 31, 41, 162passwd 191, 357, 364, 440paste 108, 156Patchlevel 23PATH 90, 285, 294PATH Variable 95pci 32PCI Bus 33PCMCIA 37Pearson Vue 17Perl 144PGP 457pico 150PID 130, 136, 142PID 1 46ping 423Pipe 126Pipes 128pkg 76

1451.book Seite 515 Dienstag, 7. Juli 2009 2:18 14

516

Index

POP 401postfix 401poweroff 53Power-On-Self-Test 39pr 105Primärschlüssel 309Primary IDE 30Prozesspriorität 141ps 46, 131, 132, 135, 142pstree 47, 132pubring.gpg 461putty 452pwck 368pwconv 368pwd 96, 113pwunconv 368Python 144

Q

qmail 401, 405QT Librarys 329Quellen 29Queue 406Quota 183quota 187quota.group 184quota.user 184quotacheck 184, 185quotaoff 185quotaon 185

R

RAW 407read 300Real-Time-Clock 390reboot 53redirect 126regex 144, 146regexp 144, 157regular expression 144Regulärer Ausdruck 151reiserfs 163Rekursive Befehlsausführung 97Relative Pfadangaben 114renice 142, 143repquota 187Resolver 432

respawn 49REVOKE 304RgbPath 331RIGHT JOIN 319RIP 415rm 117rmdir 118rmmod 25, 26ro 181ROOLBACK 304root-Passwort vergessen 43route 434Routing-Tabelle 435RPM 77rpm 75, 78rpm2cpio 78, 82rpmarchive 78rpmbuild 78RPM-Datenbank 79rpmdb 78rpme 78rpmgraph 78rpmheader 78rpmi 78rpmlead 78rpmlocate 78rpmqpack 78rpmquery 78rpmrc 77rpmsign 78rpmsignature 78rpmu 78rpmverify 78RSA-Key 455rsh 88RTC 390, 391Rückgabewerte 294Runlevel 46, 47runlevel 52Runlevel-Wechsel 52rw 181rxvt 329

S

Samuel Morse 381SASL 405Sawfish 327Screen 333

1451.book Seite 516 Dienstag, 7. Juli 2009 2:18 14

517

Index

Screenreader 342, 348, 354SCSI 161SCSI Laufwerke 31Seahorse 458Secondary IDE 30secring.gpg 461secure deletion 196sed 144, 146, 150, 151SELECT 304, 310semikolonsepariert 151sendmail 401sendmail.cf 403Serverflags 331set 91, 284Setgid 192Setuid 191SGID 192, 297sh 282shadow 357shareable 203Shared Object 65she-bang! 292Shell 88, 282Shell-Variablen 90, 283shift 296shutdown 49, 53, 170SIGCONT 135, 138SIGHUP 134SIGINT 134SIGKILL 134Signale 134SIGSTOP 135SIGTERM 135SIGTSTP 135Skeleton 290slp 76Smarthost 404smbfs 178SMTP-Relay 404socket 440Softlimit 183, 186, 441Softlinks 52, 198sort 107, 129source 292split 107Spooler 407SRI 412SSH 451ssh_config 453

ssh_known_hosts 453ssh-add 457ssh-agent 457sshd_config 452ssh-keygen 454sshrc 453stable 23Standardgateway 421, 434Startprotokollierung 44Startskripte 52startx 328Startzylinder 161stat 199, 202static 203statically linked 65stderr 126stdin 126stdout 126, 128Sticky Bit 192, 193Sticky-Bit 297stream 447Stream Editor 150Stream-Editor 144su 444Subnetzmaske 418Subselects 317Subshell 92, 284Substitution 152Suchmuster 146, 149sudo 445SUID 191, 193, 293suid 181SUID-Bit 297, 440Superblocks 171Superdaemon 446swap 163Swap-Datei 166swapoff 166swapon 166Swap-Partition 166Synaptics 73Synopsis 99sysfs 37syslog 395syslogd 395syslog-ng 395Systemzeit 390, 391

1451.book Seite 517 Dienstag, 7. Juli 2009 2:18 14

518

Index

T

tac 103tail 103, 398tar 89Tastatursteuerung 343TCP 413, 414TCP/IP 412, 413tcpd 448tcpdchk 447TCP-Wrapper 448tcsh 88tee 129telinit 49, 53telnet 429test 296Textanker 145, 147tgz 76Thomson Prometric 17Tilde 114Timestamp 118Token Ring 413top 133, 142, 143topq 409touch 118tr 110, 128traceroute 423tracetpath 424Transportlayer 413trustedb.gpg 461tsclient 452TTL 423tune2fs 165, 170tzselect 377, 378, 392

U

Übergabevariablen 294UCLA 412UCSB 412udev 38UDP 413, 414UHCI 34ulimit 441umask 190, 194, 195Umgebungsvariablen 90, 283umount 37, 169, 176, 179, 442uname 23, 26, 97undeletable 196

unexpand 104Unicode 386uniq 107, 129unmounten 176unset 93, 285, 298unshareable 203UPDATE 304, 312updatedb 137, 208, 209uptime 139USB 34USB 1.1 34USB 2.0 35usb-ehci 37usb-ehci.o 35USB-Klassen 35USB-Maus 35USB-Memory-Sticks 35usbmgr 36, 37usbmgr.conf 37usb-ohci 37usb-ohci.o 34usb-storage.o 35usb-uhci 37usb-uhci.o 34user 181useradd 362userdel 363usermod 363users 181usrquota 181UTC 391UTF-8 386

V

variable 203vi 150, 154vile 154vim 154visudo 445vmlinuz 29

W

w 139Warteschlange 406wc 105, 174whatis 99, 206WHERE 310, 311

1451.book Seite 518 Dienstag, 7. Juli 2009 2:18 14

519

Index

whereis 100, 205which 96, 101, 205while 296whois 427Wildcards 119, 144, 145, 148Window Manager 327

X

X.org 326X11R6 326X11-Tunnel 451xargs 129X-Clients 326X-Consortium 326xdm 340xdm-config 340xdpyinfo 337XF86Config 330X-Fontserver 334XFree86 326xfs 334xhost 336xinetd 448xinetd.conf 448xinit 328

xinitrc 328, 329X-Librarys 329xntpd 393xorg.conf 330X-Server 326xserverrc 328Xsetup 340xterm 329xvidtune 333X-Windows 325, 328xwininfo 336

Y

yank 156yum 77, 83yumdownloader 86

Z

Zeitsynchronisation 392Zeitzone 376zsh 88, 282Zugriffsrechte 189Zugriffszeit 118

1451.book Seite 519 Dienstag, 7. Juli 2009 2:18 14