Linux Systemstart

Wichtung: 3

Beschreibung: Die Kandidaten sollen in der Lage sein, das System durch den Startprozess zu führen.

Wichtigste Wissensgebiete:
Boot-Loader-Befehlen und Kernel-Optionen beim Systemstart übergeben.
Systemstartmeldungen in den Logdateien überprüfen.

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

/var/log/messages
/etc/modules.conf
/etc/modprobe.conf
dmesg
LILO
GRUB

Systemmeldungen - /var/log/messages

Linux ist bekannt für die gute Systemprotokollierung. Nahezu alle Ereignisse auf einem Linux-System können mitgeloggt und später ausgewertet werden. Diese Log-Dateien werden in der Regel im Verzeichnis /var/log/ gespeichert. Eine der wichtigsten Log-Dateien ist /var/log/mesages. Hier können die wichtigsten Systemmeldungen nachgelesen werden:

 // Neueste Einträge auslesen
linux:/home/user1 # tail /var/log/messages
Jul 19 14:19:58 linux pppd[4136]: Hangup (SIGHUP)
Jul 19 14:19:59 linux SuSEfirewall2: Firewall rules successfully set from /etc/sysconfig/SuSEfirewall2
Jul 19 14:19:59 linux ip-down: Warning: No interface active (yet?)
Jul 19 14:19:59 linux pppd[4136]: Script /etc/ppp/ip-down finished (pid 4570), status = 0x0
Jul 19 14:19:59 linux pppd[4136]: Exit.
Jul 19 14:47:42 linux -- MARK --
Jul 19 14:59:00 linux /USR/SBIN/CRON[4932]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
Jul 19 15:27:42 linux -- MARK --
Jul 19 15:42:29 linux su: (to root) user1 on /dev/pts/1
Jul 19 15:42:29 linux su: pam_unix2: session started for user root, service su

Wichtig: damit die Datei messages regelmäßig aktualisiert wird und Aktivitäten geloggt werden, muss ein Logger-Dämon wie metalog oder syslog-ng installiert und konfiguriert sein.

Kernel-Meldungen - dmesg

Mit dem Programm dmesg ("Display Messages") können so genannte Kernel-Ringpuffer-Ausgaben (Kernel-Meldungen) ausgegeben werden. Es ist ein sehr nützliches Tool, um Fehler beim Systemstart (z.B. beim Laden von Modulen) oder Kernel-Fehler, defektes RAM, etc., ausfindig zu machen.
Beschreibung von dmesg-Ausgaben: http://linuxgazette.net/issue59/nazario.html

# dmesg
...
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usb 1-2: new full speed USB device using address 2
IRQ#9 thread started up.
hub 1-2:1.0: USB hub found
hub 1-2:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5 (level, low) -> IRQ 5
eth0: Setting full-duplex based on MII #0 link partner capability of 01e1.
NET: Registered protocol family 10
Disabled Privacy Extensions on device c02e3aa0(lo)
...

User-Logins - /var/log/wtmp

Mit dem Programm last, welches die Datei /var/log/wtmp ausliest, können die Logins auf einem Linux-System kontrolliert werden:

mdw      tty3                Sun Dec 11 15:25   still logged in
mdw tty3 Sun Dec 11 15:24 - 15:25 (00:00)
mdw tty1 Sun Dec 11 11:46 still logged in
reboot ~ Sun Dec 11 06:46

Kernelparameter für Lilo & Grub

Grundsätzlich ist es egal, welcher Bootloader zum Starten des Betriebssystem benötigt wird. Bei beiden Bootloadern ist es möglich, beim Start des Kernel noch Parameter zu übergeben. Es gibt eine sehr große Anzahl an Paramatern, die in /usr/src/linux/Documentation/kernel-parameters.txt nachgelesen werden können. Hier ein Auszugaus der lilo.conf:

boot = /dev/hda
map = /lilo-map
delay = 100
ramdisk = 0 # schaltet ramdisk im Slackware Kernel aus
timeout = 100
prompt
disk = /dev/hda # BIOS sieht nur die ersten 500 MB.
bios = 0x80 # gibt an, daß die erste IDE-Platte benutzt wird
sectors = 63 # die Geometriedaten aus der HD Dokumentation
heads = 16
cylinders = 2100
image = /vmlinuz
append = "hd=2100,16,63"
root = /dev/hda2
label = linux
read-only
vga = extended
other = /dev/hda1 # Windows-Partition
label = msdos
table = /dev/hda
loader = /boot/chain.b

Die Syntax ist ganz einfach: Parameter wird gefolgt von einem = Zeichen. Mehrere Optionen eines Parameters werden durch Komme separiert: aha152x=0x300,10,7 reboot=warm.

Weitere Infos: http://www.linux-infopage.de/show.php?page=berichte-lilo

Modul-Paramater - /etc/modules.conf

Module sind ein fester Bestandteil des Kernel, auch wenn Sie ausgelagert wurden, damit sie bei Bedarf nachgeladen werden können. Auch diesen Modulen kann man beim Starten Parameter mitgeben. Dieses erledigt man in der Datei /etc/modules.conf bzw. /etc/conf.modules:

  alias eth0 hermes	# 1. LAN-Karte
alias eth1 off # 2. LAN-Karte

options hermes io=0x320 irq=7 # Festlegen der Optionen

In der ersten Zeile wird einen Alias eth0 für die 1. LAN-Karte festgelegt. Dieser Alias lautet hermes (wie der Modulname). Die zweite Zeile definiert den Alias eth1 mit dem Wert off. Off bedeutet, dass dieses Modul nie geladen.

In der dritten Zeile werden die Optionen für die Hermes-Karte festgelegt.