1.3 Der Bootmanager GRUB 2



Ähnliche Dokumente
Dienste und Runlevel. September 2010 Oliver Werner Linux Systemmanagement 1

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Artikel Schnittstelle über CSV

Installationsanleitung für pcvisit Server (pcvisit 15.0)

Task: Nmap Skripte ausführen

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

BEDIENUNG ABADISCOVER

Tutorial -

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

-Bundle auf Ihrem virtuellen Server installieren.

OP-LOG

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

SRH - Kurzinformation

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Netzwerk einrichten unter Windows

Anleitung: Confixx auf virtuellem Server installieren

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Step by Step Webserver unter Windows Server von Christian Bartl

Backup der Progress Datenbank

EASYINSTALLER Ⅲ SuSE Linux Installation

Installationsanleitung für pcvisit Server (pcvisit 12.0)

DNS 323 Datenwiederherstellung mit Knoppix (DVD) ab Firmware Version 1.04b84

Windows 7 Winbuilder USB Stick

Informatik I Tutorial

Installation von BackupExec 11/12 unter Debian

Anwenderdokumentation PersoSim

Installation / Aktualisierung von Druckertreibern unter Windows 7

Windows Server 2012 R2 Essentials & Hyper-V

Datensicherung. Beschreibung der Datensicherung

MESONIC WINLine Jahreswechsel. Umstellung des Wirtschaftsjahres SMC IT AG

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

1. fe.logon. 1.1 Konfigurationsprogramm SetLogonParams

MSI TECHNOLOGY. RaidXpert AMD. Anleitung zur Installation und Konfiguration MSI

Windows Server 2012 RC2 konfigurieren

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

Informatik 1 Tutorial

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

How to install freesshd

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Durchführung der Datenübernahme nach Reisekosten 2011

Anleitung über den Umgang mit Schildern

Kleines Handbuch zur Fotogalerie der Pixel AG

Anleitung zur Installation von Windows XP Professional und dem Multilanguage Interface

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Reborn Card Ultimate 8 Kurzanleitung Installation

MailUtilities: Remote Deployment - Einführung

Kurzanleitung Verwendung von USB-Sticks

Guide DynDNS und Portforwarding

Installation DV4mini ausgehend von einem frisch installierten System:

Kurzanleitung MAN E-Learning (WBT)

Workshop: Eigenes Image ohne VMware-Programme erstellen

Timer-Dienst (070212)

Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver.

HÄUFIG GESTELLTE FRAGEN. 4. Wie kann man den FixMeStick für Mac auf Fabrikeinstellungen upgraden?

Installationsanleitungen

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

- Eine deutsche Tastatur für alles außer ProTools - Eine englische Tastatur für ProTools - Eine Umschaltmöglichkeit für die Eingabesprache

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Installation und Sicherung von AdmiCash mit airbackup

DeltaVision Computer Software Programmierung Internet Beratung Schulung

Installationsanleitung CLX.PayMaker Home

Stapelverarbeitung Teil 1

Windows 2000 mit Arktur als primärem Domänencontroller (PDC)

Enigmail Konfiguration

Datensicherung. Mögliche Vorgehensweisen:

FrogSure Installation und Konfiguration

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Virtual Channel installieren

Betriebshandbuch. MyInTouch Import Tool

Rembo/mySHN. Version 2.0 Kurzanleitung. das selbstheilende Netzwerk. Stand: my selfhealing network

Clientkonfiguration für Hosted Exchange 2010

BSV Software Support Mobile Portal (SMP) Stand

Persönliches Adressbuch

Updateanleitung für SFirm 3.1

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8

Benutzerhandbuch - Elterliche Kontrolle

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Anleitung Captain Logfex 2013

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

Wifiway auf einer VMware Workstation auf einem Windows Rechner anwenden & VM Workstation installieren

Arbeiten am Client. Achtung: Während der gesamten Vorbereitungsarbeiten darf das Programm MS Outlook auf keinen Fall geöffnet werden!

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Visualisierung auf Büro PC s mit dem ibricks Widget

0. VORBEMERKUNG VORBEREITUNG DES SYSTEMS INSTALLATION UND KONFIGURATION VON PD-ADMIN Installation...3

Installationsanleitung Webhost Linux Flex

Installation Collax Server mit Sage New Classic

Print2CAD 2017, 8th Generation. Netzwerkversionen

Einrichtung des WS_FTP95 LE

Kurzbeschreibung S&S Arbeitszeiterfassung

DB2 Kurzeinführung (Windows)

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Installation DataExpert Paynet-Adapter (SIX)

Transkript:

Starten und Anhalten des Systems 1.3 Der Bootmanager GRUB 2 ist eine von Grund auf neu geschriebene Version des GRUB. Der Quellcode wurde grundlegend umstrukturiert und aufgeräumt, die Konfiguration wurde komplexer und es kamen einige Features hinzu. Die wichtigsten Unterschiede zu GRUB 1 alias GRUB Legacy sind: GRUB 2 wird aktiv weiterentwickelt, während die Entwicklungsarbeit an GRUB 1 eingestellt wurde. Die wichtigsten großen Distributionen setzen mittlerweile standardmäßig GRUB 2 ein (ab Fedora 16, Ubuntu 9.10, Debian Squeeze) Für den Benutzer hat sich oberflächlich nichts geändert. Das Bootmenü ist fast identisch mit GRUB. Die Konfiguration für den Administrator ist mächtiger aber auch komplexer geworden und ähnelt mittlerweile einer vollwertigen Skriptsprache. Die Konfigurationsdatei wird überdies von Shell-Skripten generiert. Das hat zur Auswirkung, dass nun wieder nach jeder Konfigurationsänderung ein Update-Befehl ausgeführt werden muss, um die Konfigurationsänderungen wirksam werden zu lassen. Partitionsnummern werden nun beginnend von der 1 an nummeriert, statt, wie bisher, von 0. GRUB 2 kann nun sowohl direkt von LVM und RAID, als auch von modernen Dateisystemen wie ext4, HFS+ und NTFS booten. Darüber hinaus kann er nun auf unterschiedlichen Systemarchitekturen (EFI, coreboot, PowerPC, SPARC, MIPS) eingesetzt werden. 1.3.1 Überblick und Konfiguration Die Hauptkonfigurationsdatei von GRUB 2 ist /boot/grub/grub.cfg (RedHat: /boot/grub/grub2.cfg). Sie sollte jedoch nicht von Hand verändert werden, da sie generiert wird. Will man die GRUB 2-Konfiguration verändern, so geht man wie folgt vor: GRUB 2 konfigurieren 1. Editiere/etc/default/grub. Die wichtigsten Konfigurationsvariablen sind: GRUB_DEFAULT Der Eintrag, der gestartet wird, wenn der Benutzer nach einer bestimmten Zeit keine Auswahl trifft. 18

1.3 Der Bootmanager GRUB 2 GRUB_HIDDEN_TIMEOUT Legt die Zeit fest, die GRUB bei leerem Bildschirm wartet, bevor mit dem Booten fortgefahren wird. Drückt der Benutzer innerhalb dieser Zeit die Shift-Taste, so erscheint das Auswahlmenü. GRUB_TIMEOUT hat keine Auswirkung, falls GRUB_HIDDEN_TIMEOUT gesetzt ist. Ausnahme: Hat diese Variable den Wert-1, so erscheint das Auswahlmenü immer. GRUB_CMDLINE_LINUX der Inhalt dieser Variablen wird dem Linux-Kernel aller Konfigurationen(Normal und Recovery) als Argument mitgegeben. GRUB_CMDLINE_LINUX_DEFAULT der Inhalt dieser Variablen wird dem Linux-Kernel der Normal-Modi mitgegeben. 2. Falls nicht ausreichend, ergänze Shell-Skripte unterhalb von /etc/grub.d/, welche die Konfigurationsdatei des GRUB 2 generieren. Die Dateien in diesem Verzeichnis haben folgende Aufgaben: 00_header generiert den Kopfteil von/boot/grub/grub.cfg. 05_debian_theme generiert Variablen zum Aussehen des Bootmenüs. 10_linux generiert die Booteinträge für das installierte Linux. 20_memtest86+ generiert einen Menüeintrag für das RAM-Test-Werkzeug memtest86. 30_os-prober generiert die Einträge für weiter installierte Betriebssysteme (Linux, Windows, OS X). 40_custom Hier kann der Administrator eigene Menüeinträge hinzufügen. Beispiel: #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. # Simply type the menu entries [...] after this comment. # Be careful not to change the exec tail line above. menuentry Mein Linux { set root= (hd0,2) linux /boot/vmlinuz-3.0.0-17 root=/dev/sda2 ro initrd /boot/initrd.img-3.0.0-17 } menuentry Windows 8 { set root= (hd0,3) chainloader (hd0,3)+1 19

Starten und Anhalten des Systems } 3. Nun können wir testweise ansehen, wie die resultierende Konfigurationsdatei aussehen würde: # grub-mkconfig # # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub... 4. Dann wird aus den Konfigurationsdateien der vorhergehenden Schritte die Hauptkonfigurationsdatei generiert: # update-grub Generating grub.cfg... Found linux image: /boot/vmlinuz-3.0.0-17-generic-pae Found initrd image: /boot/initrd.img-3.0.0-17-generic-pae... Found memtest86+ image: /boot/memtest86+.bin done Unter Fedora 16 würde dieser Schritt mangels des update-grub so aussehen: # grub2-mkconfig -o /boot/grub2/grub.cfg Ist dagegen GRUB 2 noch gar nicht im (Master-) Bootsektor der Platte/Partition installiert, so existiert dafür wie unter GRUB auch das Kommando grub-install. Unter RedHat-Derivaten heißt dieses Kommando grub2-install. 1.3.2 Passwortschutz in GRUB 2 einrichten Will man verhindern, dass beliebige Nutzer die Kernel-Optionen beim Booten verwenden, so kann man dafür ein GRUB-seitiges Passwort konfigurieren. Dazu fügt man am Ende der Datei/etc/grub.d/00_header folgende Zeilen an: 20

1.3 Der Bootmanager GRUB 2 cat <<EOF # Erlaubt dem User superman Editieren und Kommandozeile set superusers="superman" # Passwort des Benutzers superman password superman 1234 # Einrichten eines normalen Benutzers password bill 5678 EOF Hier wurde außerdem ein normaler Benutzer angelegt. Dieser darf zwar weder Booteinträge editieren, noch die Kommandozeile ausführen, jedoch kann man bestimmte Menüeinträge mit Passwort versehen. So können wir z.b. dafür sorgen, dass nur der Benutzer bill das Betriebssystem Windows booten darf: menuentry -users bill Windows 8 { set root= (hd0,3) chainloader (hd0,3)+1 } Natürlich wird bei dem obigen Beispiel dem sicherheitsbewussten Administrator sofort aufstoßen, dass das Passwort hier in Klartext abgelegt wurde. Um hier Abhilfe zu schaffen, erzeugt man mit dem Befehl grub-mkpasswd-pbkdf2 ein verschlüsseltes Passwort: Verschlüsseltes Passwort für GRUB 2 einrichten 1. Generieren des Passwort-Hashes: # grub-mkpasswd-pbkdf2 Enter password: Passwort eingeben Reenter password: Passwort nochmals eingeben Your PBKDF2 is grub.pbkdf2.sha512.10000.70470c47f420c45a2... Unter RedHat-Derivaten lautet der Befehl grub2-mkpasswd-pbkdf2. 2. Den Eintrag in 00_header ändert man dann wie folgt ab: # Passwort des Benutzers superman password_pbkdf2 superman grub.pbkdf2.sha512.10000.70470c47... 21

Starten und Anhalten des Systems 1.4 Runlevel und das System-V-Init-System Der init-prozess ist sozusagen der Vater aller Prozesse (LPI 1: 101.3). Auf den meisten UNIX-Systemen der Welt hat er die Prozess-ID 1 (nicht z.b. bei Compaq Tru64 UNIX im Cluster). Der init-prozess ist der erste Prozess, der beim Hochfahren des Systems vom Kernel gestartet wird. Seine Hauptaufgabe ist die Erzeugung anderer Prozesse, die wiederum durch spezielle Skripte gesteuert werden. Dies wird auf modernen Linux-Systemen mittlerweile von einem modernen Init-System wie z.b. systemd oder upstart erledigt. Das herkömmliche System-V-Init-System, welches aber noch in vielen Installationen und manchen Distributionen anzutreffen ist, wird klassischerweise in der Datei/etc/inittab konfiguriert. Im Rahmen dieses Kapitels wird die Struktur des System-V-Init-Systems (abgekürzt SysV-Init) behandelt, da es selbst auf modernen Distributionen mittels eines Rückwärtskompatibilitätsmechanismus von systemd und upstart bei vielen Softwarepaketen verwendet wird. Das aus dem UNIX System V stammende Konzept des verteilten Startup-Mechanismus wurde auch in Linux übernommen. Dieses Konzept erlaubt eine flexible Konfiguration der Systemprozesse und Anwendungen. So wurde bei älteren UNIX-Systemen lediglich zwischen einem Single-User- und einem Multi-User-Modus unterschieden. Durch Definition verschiedener Runlevel hingegen kann man genau spezifizieren, ob zum Beispiel die grafische Benutzeroberfläche standardmäßig aktiviert ist oder nicht (auch schon zum Anmelden). Theoretisch werden die Runlevel 0 bis 9 und s unterstützt. In der Praxis werden jedoch meist nur die Runlevel 1 bis 6 benutzt. In der Datei /etc/inittab werden die oben erwähnten Skripte und andere Aktionen für die jeweiligen Runlevel und auch der Default-Runlevel festgelegt. Da diese Datei normalerweise nur beim Starten des Systems und beim Wechsel des Runlevels gelesen wird, muss man nach jeder Änderung, die sofort wirksam werden soll, den aktuellen Runlevel mit dem Befehl init q neu initialisieren. Ein Runlevel wird gestartet, indem man den gewünschten Level als Argument an das init- Kommando übergibt: init runlevel oder telinit runlevel, z.b. init 5 oder telinit 5(LPI 1: 101.2) (LPI 1: 101.3) 22

1.5/etc/inittab Die Runlevel haben folgende Bedeutung: Runlevel Bedeutung 0 Der Runlevel 0 dient zum geordneten Herunterfahren des Systems. Prozesse und Applikationen können sauber beendet werden, und die Filesysteme werden sauber verlassen(wegschreiben des Buffer Cache). s oder S Single-User-Modus mit US-Tastaturbelegung 1 Single-User-Modus 2 Multi-User-Modus ohne Netzwerk 3 Multi-User-Modus mit Netzwerk 4 nicht benutzt(standardmäßig wie Runlevel 3) 5 Multi-User-Modus mit Netzwerk und grafischem Login 6 Reboot Mit dem Kommando runlevel kann man sich den vorherigen und den aktuellen Runlevel anzeigen lassen. N bedeutet dabei: kein vorheriger anderer Level. # runlevel N 2 Single-User-Modus Der Single-User-Modus wird nur benötigt, wenn man Systempflege betreiben will, z.b. Reorganisation der Filesysteme, oder eine gründliche Datensicherung durchführen möchte. Im Single-User-Modus kann kein anderer Benutzer außer root interaktiv arbeiten. Es stehen keine virtuellen Konsolen und kein Netzwerk zur Verfügung (LPI 1: 101.3). Vor dem Hochfahren des Systems kann im Bootprompt (falls aktiviert) das Schlüsselwort single angeben, um nur in den Single-User-Modus zu gelangen: GRUB boot: linux single Bei der SuSE-Distribution ist dann nur das Root-Filesystem / im Read-Only-Modus und das Pseudofilesystem/proc eingehängt. Das Root-Passwort muss angegeben werden. Bei Fedora/RedHat sind alle Filesysteme normal eingehängt, und man benötigt kein Kennwort. Zum Herunterfahren in den Single-User-Modus verwendet man init s. In diesem Fall bleiben die lokalen Dateisysteme eingehängt; das Netzwerk wird gestoppt. 23

Starten und Anhalten des Systems 1.5 /etc/inittab Als Beispiel für die Datei /etc/inittab (LPI 1: 101.3) die Standardversion der SuSE-Distribution: 1 # 2 # inittab Diese Datei beschreibt, wie INIT das System in einen 3 # bestimmten Runlevel hochfährt 4 5 # Default Runlevel (der nach dem Booten zu startende Runlevel): 6 # 0 - halt (System herunterfahren, NICHT als Default Runlevel!) 7 # 1 - Single user mode (Ein-Benutzer-Modus) 8 # 2 - Multiuser, ohne NFS 9 # (The same as 3, if you do not have networking) 10 # 3 - Voller Multiuser-Modus 11 # 4 - unused 12 # 5 - X11-Grafisches Login 13 # 6 - reboot (System neu starten, NICHT als Default Runlevel!) 14 # 15 id:5:initdefault: 16 17 # Grundlegende Systeminitialisierung, wie Mounten der Dateisysteme, 18 # Dateisystem-Check, 19 20 si::sysinit:/etc/rc.d/rc.sysinit 21 22 l0:0:wait:/etc/rc.d/rc 0 23 l1:1:wait:/etc/rc.d/rc 1 24 l2:2:wait:/etc/rc.d/rc 2 25 l3:3:wait:/etc/rc.d/rc 3 26 l4:4:wait:/etc/rc.d/rc 4 27 l5:5:wait:/etc/rc.d/rc 5 28 l6:6:wait:/etc/rc.d/rc 6 29 30 # Bei jedem Runlevel-Wechsel ausführen, schreibt 31 # u.s. die Festplattencaches auf die Platte 32 ud::once:/sbin/update 33 34 # Das Kommando, das beim Dreifingerfriff ausgeführt wird. 35 ca::ctrlaltdel:/sbin/shutdown -t3 -r now 36 37 # Das Kommando, welches durch "Alt-Cursor up" gestartet wird. 38 kb:2345:kbrequest:/bin/sync 39 40 # Wenn eine Unterbrechungsfreie Stromversorgung verwendet wird, 41 # dann wird das System rechtzeitig heruntergefahren, bevor deren 24

1.5/etc/inittab 42 # Batterie ausgeht. 43 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" 44 45 # Wenn das Stromnetz zurückgekehrt ist, bevor der Shutdown ausgeführt wurde, 46 # dann wird der Shutdown abgebrochen 47 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" 48 49 50 # Startet den Login-Prompt auf den virtuellen Terminals 51 1:2345:respawn:/sbin/mingetty tty1 52 2:2345:respawn:/sbin/mingetty tty2 53 3:2345:respawn:/sbin/mingetty tty3 54 4:2345:respawn:/sbin/mingetty tty4 55 5:2345:respawn:/sbin/mingetty tty5 56 6:2345:respawn:/sbin/mingetty tty6 57 58 # Startet das grafische Login im Runlevel 5 59 x:5:respawn:/etc/x11/prefdm -nodaemon Aufbau der Datei /etc/inittab Die Einträge in der Datei /etc/inittab haben folgenden Aufbau: ID:run-level:action:program Die Felder haben folgende Bedeutung: ID Zeichenkette zur Identifizierung des Eintrags run-level Enthält alle Runlevel, in denen program gestartet werden soll action Schlüsselwort, mit dem festgelegt wird, wie program ausgeführt werden soll program Skript oder Kommando, das ausgeführt werden soll Einige der wichtigsten Schlüsselwörter für das Feld action: initdefault Legt den Standard-Runlevel fest, in obigem Beispiel Runlevel 2 boot Der Befehl wird nur beim Hochfahren des Systems gestartet bootwait Wie oben, jedoch wartet der init-prozess, bis program beendet ist, bevor der nächste Eintrag verarbeitet wird. 25

Z Starten und Anhalten des Systems once program wird bei Eintritt in den/die angegebenen Runlevel gestartet. Seine Beendigung wird nicht abgewartet. Wird program beendet, wird es nicht erneut gestartet. wait Wie oben, jedoch wartet der init-prozess, bis program beendet ist, bevor der nächste Eintrag verarbeitet wird. respawn Bei einem Wechsel des Runlevel wird der Prozess gestartet, falls er noch nicht existiert. Sobald er beendet ist, wird er neu gestartet. Wird in der Regel nur für Programme verwendet, die einen Login-Prompt zur Verfügung stellen und nach jedem Ausloggen eines Benutzers neu gestartet werden sollen (z.b. getty für die virtuellen Konsolen und xdm für den grafischen Login). off Der Prozess wird beendet, wenn der Runlevel, z.b. mit init q, neu initialisiert wird. powerfail Befehle, die ausgeführt werden sollen, falls die USV einen Stromausfall meldet. ctrlaltdel steuert das Verhalten, wenn die Tastenkombination Strg - Alt - Entf gedrückt wird. Voreinstellung: kontrollierter Neustart des Systems. kbrequest erlaubt die Belegung der Kombination Alt - mit Programmen als Shortcut. Dies funktioniert jedoch nur auf den Textkonsolen, nicht im X- Window-System! Hinweis: Bei modernen Distributionen mit systemd oder upstart existiert die Datei /etc/inittab nicht mehr. Sie wurde durch die Konfigurationsdateien des entsprechenden Init-Systems ersetzt. 1.6 Verteilter Startup-Mechanismus Wie man in dem vorangehenden Beispiel der /etc/inittab sehen kann, wird beim Wechsel des Runlevels im Wesentlichen das Kommando /etc/init.d/rc runlevel ausgeführt:... # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (same as 3, if you don t have network) # 3 - Full multiuser mode 26

1.6 Verteilter Startup-Mechanismus # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:5:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6... Dahinter verbirgt sich ein einfacher, aber genialer Mechanismus: Im Verzeichnis/etc/init.d/(LPI 1: 101.3) befinden sich mehrere Skripte, die bestimmte Systemprozesse starten oder stoppen können, je nachdem, ob sie mit dem Argument start, stop oder restart aufgerufen werden. Außerdem gibt es Verzeichnisse /etc/rc.d/rcn.d für jeden Runlevel, also z.b. rc3.d für Runlevel 3. In diesen Unterverzeichnissen liegen symbolische Links auf die für diesen Runlevel benötigten Skripte. Die Namen dieser Links beginnen mit K oder S und einer Nummer zur Sortierung(Festlegung der Reihenfolge). Diese Links werden in alphanumerischer Reihenfolge nach der ASCII-Tabelle abgearbeitet. Der Master Resource Control Script /etc/rc.d/rc durchläuft nun in einer Schleife das Verzeichnis des gewünschten Runlevels, wobei zuerst alle Skripte, deren Name mit K beginnt, mit dem Argument stop ausgeführt werden ( kill ), und dann alle Skripte, deren Name mit S beginnt, mit dem Argument start ausgeführt werden. Nur bei alten SuSE-Versionen bis einschl. 8.0: Wichtige Parameter und Definitionen für das Skript /etc/init.d/rc befinden sich in Konfigurationsdateien im Verzeichnis/etc/rc.config.d/. 27