Kapitel 19. Systemadministration

Inhaltsverzeichnis
Bootloader
Init Scripte
alternatives
hdparm
Systemzeit
Kernel erzeugen
Kernel Pakete
Webbasierte Administration mit Webmin

Bootloader

Vor dem Laden des Linux-Kernels wird mit dem sogenannten Bootloader ein kleines Programm geladen, welches Ihnen eine Auswahl zwischen verschiedenen installierten Betriebssystemen erlaubt. Der unter GNU/Linux gebräuchlichste Bootloader ist lilo.

lilo (i386)

Bei der Installation von Debian GNU/Linux auf Ihrem System wird generell der Bootloader lilo auf Ihrer Festplatte installiert und so eingerichtet, daß das neue Debian GNU/Linux-System gestartet wird.

lilo einrichten

Nach Installation des Basis-Systems und des Master Boot Records, gelangen Sie beim Booten des Rechners automatisch in den LILO und können plötzlich nur noch Linux starten. In diesem Abschnitt wird beschrieben, wie Sie die alten Systeme wieder aktivieren.

LILO ist ein vollständiger Boot-Manager, mit dem nicht nur Linux gebootet werden kann, sondern auch jedes andere System, das sich an die im PC vorherrschenden Konventionen hält. Konfiguriert wird dieser Boot-Manager über die Datei /etc/lilo.conf.

Wann immer Sie diese Datei ändern, müssen Sie das Programm lilo auf der Kommandozeile als Superuser aufrufen, um die Änderungen tatsächlich zu übernehmen. Es reicht nicht, die Konfigurationsdatei zu verändern!

Wichtig in diesem Zusammenhang sind die Zeilen, die mit image und other anfangen, sowie die jeweils nachfolgende Zeile. Diese Schlüsselwörter dürfen mehrfach verwendet werden. Jede so beginnende Zeile bezeichnet ein System, das von LILO gebootet werden kann. Eine solche Partition kann einen Kernel, eine Root-Partition oder ein anderes, Nicht-Linux-System (other), beinhalten. Die Reihenfolge dieser Systeme ist entscheidend, denn das erste wird automatisch gebootet, wenn die Wartezeit (siehe delay) abgelaufen ist und LILO nicht durch Drücken der Shift-Taste angehalten wurde. Nach einer Erstinstallation existiert lediglich ein einziges solches System, welches das aktuelle Debian GNU/Linux-System bootet.

Um ein zweites Linux-System zu booten (z.B. unter Verwendung eines anderen Kernels), müssen Sie die Datei /etc/lilo.conf um folgende Zeilen ergänzen:


image=/boot/vmlinuz.neu
label=neu
append='mcd=0x320,11'
read-only
Lediglich die ersten beiden Zeilen sind erforderlich. Um die Bedeutung der nachfolgenden Zeilen zu erfahren, lesen Sie bitte in der Dokumentation zu LILO.

GRUB

GRUB (GRand Unified Bootloader) ist ein weiterer Bootloader, dessen Aufgabe es ist nach dem einschalten des Rechners die weitere Kontrolle an das Betriebssystem (also den Kernel) zu übergeben. Das Betriebsystem initialisiert dann über die geeigneten Treiber alle weitere Hardware im System. GRUB ist in der Lage viele verschiedene Betriebssysteme zu laden. Wird ein Betriebssystem nicht direkt von GRUB unterstützt, so kann dieses dennoch von GRUB über einen sogenannten „Chain-Bootloader“ geladen werden. Für die wichtigsten Betriebssysteme sind diese bereits im GRUB Paket enthalten.

Einer der größten Vorteile von GRUB ist, das GRUB in der Lage ist auf das Dateisystem direkt zuzugreifen. Das bedeutet das GRUB nicht wissen muß wo genau der zu ladende Kernel auf der Festplatte liegt. Sie können also jederzeit einen neuen Kernel erzeugen und müssen hinterher nicht nochmal GRUB im MBR der Festplatte installieren. Es ist ebenfalls nicht notwendig alle Kernelversionen die sich auf der Festplatte befinden in die Konfigurationsdatei einzutragen. Sie können mit GRUB jederzeit auf jeden Kernel auf Ihrer Festplatte zugreifen, wenn auch mit ein wenig Tipparbeit.

Installation

Die Installation von GRUB unter Debian ist wie üblich mit einem einfachen apt-get install grub so gut wie abgeschlossen. Sie sollten danach zunächst das Paket lilo entfernen, dies wird nicht mehr benötigt. Leider ist noch keine Installationsroutine zur kompletten automatischen Installation von GRUB verfügbar, so das noch einige wenige Schritte von Hand vorgenommen werden müssen.

Um die notwendigen Daten (die Stage 1 und 2 Bootloader) in den Masterboot-Record der Festplatte zu schreiben, benutzen Sie das Programm „grub-install“. Wenn Sie „grub-install“ zunächst ohne Optionen aufrufen bekommen Sie eine kurze Übersicht der möglichen Optionen angezeigt:

debian:~# grub-install 
install_device not specified.
Usage: grub-install [OPTION] install_device
Install GRUB on your drive.

  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --root-directory=DIR    install GRUB images under the directory DIR
                          instead of the root directory.
  --grub-shell=FILE       use FILE as the grub shell.
  --force-lba             force GRUB to use LBA mode even for a buggy
                          BIOS.
  --recheck               probe a device map even if it already exists.

INSTALL_DEVICE can be a GRUB device name or a system device filename.

Reports bugs to <bug-grub@gnu.org>.

In den meisten Fällen ist es ausreichend lediglich das gewünschte Device anzugeben auf dem die Daten installiert werden sollen. Dies wird bei einer IDE-Festplatte meist /dev/hda sein.


surimi:/home/fr# grub-install /dev/hda
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.


(fd0)	/dev/fd0
(hd0)	/dev/hda
(hd1)	/dev/hdb

GRUB ist nun funktionsfähig installiert, Sie sollten aber noch ein Menü einrichten um nicht bei jedem Systemstart die Parameter für das Root-Device und den Kernel von Hand eingeben zu müssen. Kopieren Sie hierzu am besten das mitgelieferte Beispiel an die entsprechende Stelle.

Konfiguration

Die Konfiguration von GRUB kann herkömlich, mittels eines Editors, erfolgen oder aber ganz elegant mittels update-grub.

update-grub

update-grub ist Bestandteil des GRUB Debian Paketes. Existiert noch keine Konfigurationsdatei, so wird diese automatisch erstellt. Als Basis dienen dazu die Kernel- und RAM-Disk-Images im Verzeichnis /boot/. Zu jedem vorhandenen Kernel wird jeweils ein Eintrag für den normalen Start sowie für den Start im Single-User Modus erstellt.


wasabi:~# update-grub 
Searching for GRUB installation directory ... found: /boot/grub .
Testing for an existing GRUB menu.list file... 

Could not find /boot/grub/menu.lst file. Would you like one generated for you? (y/N) y
Updating /boot/grub/menu.lst ... done


Please note that configuration parameters for GRUB are stored in
/boot/grub/menu.lst . You must edit this file in order to set the options
which GRUB passes to the kernel, as well as the drive which GRUB looks in to
for the kernel.

Everything on the line after "kopt=" is passed to the kernel as parameters,
and "groot=" must be set to the partition(in GRUB terms, such as "(hd0,0)")
which GRUB will load the kernel from.

After you have edited /boot/grub/menu.lst , please re-run 'update-grub'.


Natürlich sind Veränderungen an der automatisch erstellten Konfiguration möglich. In der Konfigurationsdatei gibt es einen Abschnitt der mit ### BEGIN AUTOMAGIC KERNELS LIST beginnt. Diese Einträge können verändert werden, es dürfen aber auf keinen Fall die Kommentarzeichen (#) am Anfang jeder Zeile verändert werden! Ein Beispiel. Aus:


# kopt=root=/dev/hda1 ro 

Wird:


# kopt=root=/dev/hda1 ro apm=on ide2=0x180,0x386


Die hinzugefügten Parameter werden beim Starten des Kernels übergeben. Nach der Änderung wird nochmals update-grub aufgerufen und die Änderungen werden in die eigentliche Konfiguration am Ende der Datei übernommen.