Der Bootprozess unter Linux

Ähnliche Dokumente
Das U-Boot Der Bootvorgang von Linux

Dienste und Runlevel. September 2010 Oliver Werner Linux Systemmanagement 1

Initramfs - The initial RAM filesystem

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Tutorial -

systemd Michael secure Stapelberg GPN12, powered by LuaLATEX 1 / 22

1. Während der Installation Linux, wenn leere Partition für Betriebsystem vorhanden

Step by Step Webserver unter Windows Server von Christian Bartl

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Tutorial Windows XP SP2 verteilen

Anleitung zur Einrichtung eines Netzwerkes für den Gebrauch von GVService unter Windows 7

Windows 7 Winbuilder USB Stick

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Backup der Progress Datenbank

Artikel Schnittstelle über CSV

User Mode Linux. Sven Wölfel 15. April 2005

Verwaltung der MSATA-SSD bei HP Envy Ultrabook 4 und Ultrabook 6 mit Intel Smart Response Technologie

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Rillsoft Project - Installation der Software

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Dokumentation. Erstellung eines bootfähigen USB-Sticks zur Veränderung einer bestehenden Partitionierung

UEFI. Unified Extensible Firmware Interface UEFI. OSP 2015 UEFI Rene Brothuhn Seite: 1

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Benutzer und Rechte Teil 1

4D Server v12 64-bit Version BETA VERSION

Standard Daten-Backup-Script

E-Cinema Central. VPN-Client Installation

Snippets - das Erstellen von "Code- Fragmenten" - 1

SGI 1200-Serverfamilie - Bekannte Probleme

Task: Nmap Skripte ausführen

Dokumentation IBIS Monitor

Inkrementelles Backup

Die MSDE ist nicht mehr Bestandteil des Installationspaketes der GETECO contura

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Professionelle Seminare im Bereich MS-Office

Tipps und Tricks zu Netop Vision und Vision Pro

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

ADNP/9200 mit E2U/ESL1: Web Interface Beispiele

kurze Anleitung zur Nutzung der Kaspersky Rescue Disk 10 Inhalt

Installation der SAS Foundation Software auf Windows

Installationsanleitung für pcvisit Server (pcvisit 15.0)

Treffpunkt Internet Reutlingen, B.Schüle 1

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

WORKSHOP VEEAM ENDPOINT BACKUP FREE

Verschlüsseln von USB-Sticks durch Installation und Einrichtung von TrueCrypt

Whitepaper. Produkt: combit address manager STAMPIT der Deutschen Post nutzen. combit GmbH Untere Laube Konstanz

Anleitung # 4 Wie mache ich ein Update der QBoxHD Deutsche Version

OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013

SICHERN DER FAVORITEN

HOWTO: Multi Boot USB Stick erstellen

ICS-Addin. Benutzerhandbuch. Version: 1.0

e-books aus der EBL-Datenbank

Favoriten sichern. Sichern der eigenen Favoriten aus dem Webbrowser. zur Verfügung gestellt durch: ZID Dezentrale Systeme.

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

Anleitung Wie installiert man einen VPN-Zugang Zugriff von externen Netzwerken auf das ESN-Netz

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

Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP

Übung 2: Dienste, Umgebungsvariablen und der Bootvorgang unter Windows

Automatisierte Windows 7 Installation mithilfe von Sysprep. Brownbag

EKF Software Server. Handbuch. Version 2.1. Hersteller: 2008 mesics gmbh Berliner Platz Münster info@mesics.de

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

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH

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

Whitepaper. Produkt: combit Relationship Manager / address manager. Ausführen des ClientSetup per Gruppenrichtlinie

Installationshinweise für Serverbetrieb von Medio- Programmen

Witbox. Anleitung Repetier-Host. Witbox

Wine - Windows unter Linux

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Dokumentation zum Spielserver der Software Challenge

Prozesse und Logs Linux-Kurs der Unix-AG

Speichern. Speichern unter

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Installationshinweise für OpenOffice 2.3 auf dem PC daheim Stand: 26. März 2003 LS Stuttgart, Kaufmännische ZPG

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King Braunschweiger Linux-Tage Seite 1/16

ARAkoll 2013 Dokumentation. Datum:

Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software

Windows Explorer Das unbekannte Tool. Compi-Treff vom 19. September 2014 Thomas Sigg

Internet Explorer Version 6

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

Mitarbeiter-Alarm. 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz

Installationsanleitung für pcvisit Server (pcvisit 12.0)

Upload auf den Server. MegaZine3 MZ3-Tool3. Training: Server Upload Video 1-4

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

Installationsanleitungen

DB2 Kurzeinführung (Windows)

Erfahrungsbericht Installation von OpenOffice.org2 auf Terminalservern mit Citrix Metaframe

Installationsanleitung ETK RPC2 Schnittstelle (hier: Anzeige Sonderausstattung, Lackcode, Polstercode im ETK)

Installieren von Betriebssystemen

DURCH VIDA ERZEUGTE PROTOKOLLDATEIEN 1 EINFÜHRUNG

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

Wir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team

snom Auto-Provisioning

Howto: Erstellen einer Windows PE Boot-CD

Dateisystem 1, Suchpfad, Befehlstypen

Transkript:

Der Bootprozess unter Linux Betriebssystemadministration David Jaeger 21. Mai 2008

Inhalt 2 Einführung Grober Überblick zum Bootprozess Startmodelle für UNIX-Systeme System-V-Runlevel Der Init-Prozess und seine Konfigurationsdatei inittab Startscripte und deren Speicherort Dienste unter Linux Demonstration eines Dienstes Zusammenfassung

Einführung 3 Linux für Serversysteme weit verbreitet Bootprozess sollte gut verstanden werden Was sollte man wissen? Speicherorte von Konfigurationdateien Speicherorte von Diensten Grundlegendes Verständnis für Startprozess Warum sollte man den Bootprozess gut verstehen? Korrektur von Abhängigkeiten in Startreihenfolge von Diensten Entfernen von Diensten aus dem Startvorgang Richtige Einordnung eigener Dienste in Startvorgang Schreiben von eigenen Initscripten Betriebssystemadministration David Jaeger 21. Mai 2008

Grober Überblick zum Bootprozess 4 Alles beginnt im BIOS Stages Die Etappen zum Erfolg Der Kernel Kern von Linux

Alles beginnt im BIOS 5 Prozessor führt erste Anweisungen im BIOS aus Power-On Self Test Bestimmen der bootfähigen Medien Suchen nach Bootsektoren auf Geräten Ausführen des Codes im Bootsektor

Stages Die Etappen zum Erfolg (1/2) 6 Laden des Linux-Kernels in Stages unterteilt Stage 1 Boot Loader - MBR Liegt im Master Boot Record (MBR) des bootfähigen Geräts Größe: 512 Byte Aufgaben: Suche nach aktiver Partition im MBR Laden von Stage 2 Boot Loader aus Boot Record der aktiven Partition

Stages Die Etappen zum Erfolg (2/2) 7 Stage 2 Boot Loader Laden des Kernelimages Liegt im Boot Record der aktiven Partition Mit Stage 1 Boot Loader in LILO oder GRUB implementiert Aufgaben: Ggf. Anzeige des Boot-Splashs mit Auswahl des zu ladenden Kernelimages (GRUB/LILO) Lädt das Linux-Kernelimage in den RAM Lädt optional initial RAM disk (initrd)

Der Kernel Kern unter Linux (1/3) 8 Kernelimage komprimiert in zimage/bzimage 1. Dekompressionsfunktion am Anfang des Images wird aufgerufen 2. Funktion entpackt Kernel in oberen RAM-Bereich 3. Starten des eigentlichen Kernels

Der Kernel Kern unter Linux (2/3) 9 start: (./arch/i386/boot/head.s) Initialisierung einiger Hardware startup_32: (./arch/i386/boot/compress/head.s) Aufbauen der Ausführungsumgebung (Stack, etc.) decompress_kernel: (./arch/i386/boot/compress/misc.c) Entpacken des Kernelimages

Der Kernel Kern unter Linux (3/3) 10 startup_32: (./arch/i386/kernel/head.s) Auch Prozess 0 oder Swapper genannt Initialisierung von Seitentabellen und Speichermapping Feststellen des CPU-Typs start_kernel: (./init/main.c) Eintrittspunkt für den Kernel Ruft sämtliche Initialisierungfunktionen auf Laden der initial RAM disk (initrd) kernel_thread: Startet Initialisierungprozess

Startmodelle für UNIX-Systeme 11 BSD-Modell: Beschränkte Anzahl von Startscripten Basisscripte: /etc/rc, /etc/rc.boot, /etc/rc.local Benutzt in BSD-Systemen System-V Modell: Komplexer Satz von Startscripten Basiert auf Prinzip von Runleveln (Systemzuständen) Ladezeitpunkt von Programmen durch Runlevel bestimmt Runlevel wird Verzeichnis zugeordnet Startscripte für Programme liegen in Verzeichnissen Benutzt in Linux-Systemen

12 System-V-Runlevel

Runlevel Die Statuslevel eines Linux 13 Was versteht man unter Runleveln? Bestandteil des System-V-Startvorgangs Signalisieren Zustand des Systems Komplett durch Software bereitgestellt Implementiert durch init mit Konfiguration inittab Runlevel als Parameter für init-prozess Üblicherweise 7 verschiedene Runlevel (bis zu 10) Zuordnung bei Distributionen unterschiedlich Möglichkeit Runlevel selbst zu definieren (z.b. Level 4)

Runlevel Standard-Runlevel 14 Runlevel 0: Beendet alle laufenden Prozesse und hält das System an Runlevel S: (Häufig als Runlevel 1) Einzelnutzermodus Ohne Netzwerk Keine Dienste Wird für Wartungsarbeiten benutzt Runlevel 6: Beendet alle laufenden Prozesse und startet das System neu

Runlevel Typische Runlevel für Linux 15 Runlevel 2: Mehrbenutzermodus Ohne Netzwerkunterstützung Dienste werden nicht geladen Runlevel 3: Mehrbenutzermodus Mit Netzwerkunterstützung und allen Diensten Runlevel 5: Wie Runlevel 3, aber mit X-Window-System

Runlevel Besonderheiten einiger Distributionen 16 Runlevel 4 ist meistens nicht belegt Debian: Runlevel 2 5 identisch Unterstützen Netzwerk mit Displaymanager Slackware Linux: Level 4 für Mehrbenutzermodus Level 5 nicht belegt Gentoo Linux: Level 4 und 5 sind identisch mit Level 3

17 Der Init-Prozess und seine Konfigurationsdatei inittab

Der Init-Prozess 18 Ausführung als letzer Schritt beim Bootprozess Erster Usermode-Prozess (PID immer 1) Durch /sbin/init repräsentiert Konfiguration durch /etc/inittab Laden/Beenden sämtlicher Dienste/Programme während bestimmter Systemstadien Prozess wird niemals beendet

/etc/inittab Allgemeines 19 Konfigurationdatei für init-prozess Abbildung von Runlevel auf Startscripte Welche Sachverhalte definiert die inittab? Script, mit dem ein System gestartet wird Runlevel, in welches das System gebootet wird Script, das bei einem Runlevel gestartet wird Aktion bei Ctrl-Alt-Del

/etc/inittab Aufbau 20 Jede Zeile mit vorgeschriebenem Format: label:runlevel:aktion:prozess label: beliebige Zeichenkette (meistens Länge 2) runlevel: Nummer des zugeordneten Runlevels aktion: z.b. wait, sysinit prozess: Prozess, der für das Runlevel gestartet werden soll

/etc/inittab Beispiel 21 Ausschnitt aus einer /etc/inittab: 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 wait als Standardaktion für Runlevel /etc/rc.d/rc wird als Standardstartsscript benutzt

/etc/rc.d/rc 22 Standardscript für Umsetzung von Runlevels Benötigt Runlevel als Parameter Startet Scripte für angegebenes Runlevel Führt Inhalt aus Verzeichnis /etc/rcn.d aus N beschreibt Runlevel

23 Startscripte und deren Speicherort

/etc/rcn.d/ (1/2) 24 rcn.d beinhaltet Dateien, die für die Ausführung von Programmen während des Runlevels N sorgen. Inhalt der Verzeichnisse: Symbolische Links auf Initscripte in /etc/init.d Format der Dateien: [K S][00-99]Programmname [K S]: K = Kill, S = Start [00-99]: Beliebige natürliche Zahl Programmname: Programmname in /etc/init.d

/etc/rcn.d/ (2/2) 25 Welche Aktion wird durchgeführt? Das Script, auf den der Link verweist, wird mit S beim Eintritt ins Runlevel gestartet. mit K beim Austritt aus dem Runlevel gestoppt. In welcher Reihenfolge werden die symbolischen Links ausgeführt? Gilt sowohl für S als auch für K Natürliche Zahl als primäre Reihenfolge Bei gleicher Zahl entscheidet lexikographische Reihenfolge der Programmnamen

rc.local 26 Teil des BSD-Startmodells Einfach durch Benutzer verwendbar Lokales Konfigurationsscript inittab oder Initscripts sollten nicht direkt verändert werden Befindet sich in /etc/init.d Symbolischer Link mit S99local Startet als letztes Script beim Booten

Initscripte 27 Dienen als Start-/Stopscripte Befinden sich in /etc/init.d Befinden sich an zentraler Stelle Aussagekräftige Namen Aufbau: Normale Shellscripts Sollte Aktionen für start, stop, restart, status implementieren

28 Dienste unter Linux

Was versteht man unter Diensten? 29 Dienste unter Linux auch Daemonen genannt Meistens erkennbar an Programmendung d Prozesse, die ständig verfügbar sein müssen Laufen im Hintergrund Input/Output nicht über Shell möglich Werden mit Hilfe von Initscripten angesprochen Kann zu bestimmen Systemstadien gestartet werden Verwaltung mit /etc/init

Daemonisierung eines Prozesses (1/2) 30 Jeder Prozess kann zu Daemon werden Umwandlung in Binary selbst oder über Initscript Schritte zur Erstellung eines Daemons: Umstellung des ausführenden Nutzers Zugriffseinschränkungen für den Dienst Erstelle Kindprozess Aufruf für Service soll sofort zurückkehren Ignoriere sämtliche Nachrichten von außen Services laufen im Hintergrund

Daemonisierung eines Prozesses (2/2) 31 Maskiere Zugriff Setze Standardzugriff für erstellte Dateien Ändere die Prozessgruppe Unabhängigkeit von zusammenhängenden Prozessen Setze das Arbeitsverzeichnis zum Wurzelverzeichnis / Vermeide Fehler durch Entfernen von Pfaden (umount) Schließe die Standard-Dateihandle (IN, OUT, ERR) Ein Service kommuniziert unabhängig von der Shell Erstellen einer PID-Datei Ausschluss des mehrmaligen Startens des Services

Typische Startreihenfolge einiger Dienste 32 /etc/rcs.d/: 1. Mounten der lokalen Laufwerke 2. Konfiguration der Netzwerkgeräte 3. Mounten von Netzlaufwerken 4. Starten von Soundtreibern 5. Initialisierung des Zufallspools 6. Laden des grafischen Frontends /etc/rc2.d/: 1. Starten der Logginginfrastruktur (syslogd) 2. Starten sämtlicher Netzwerkdienste

Demonstration eines Dienstes 33 Demonstration eines Dienstes

Zusammenfassung 34 Laden des Kernelimages und entpacken des Kernels Initialisierung des Systems Init-Prozess letzter Schritt beim Bootprozess Konfiguration durch inittab Verwaltung von Initscripten in Runleveln Initscripte liegen in Verzeichnissen /etc/rcn.d N enspricht Runlevel Ausführungsreihenfolge nach lexikographischer Reihenfolge Enthält nur Links auf Initscripte Eigentliche Initscripte liegen in /etc/init.d Initscripte starten Daemonen

Quellen 35 [1] - M. Tim Jones: Inside the Linux boot process, http://www.ibm.com/developerworks/library/l-linuxboot/index.html [2] - Craig Hunt: TCP/IP Netzwerk-Administration, O Reilly [3] - Greg Ippolito: Linux Init Process / PC Boot Procedure http://www.yolinux.com/tutorials/linuxtutorialinitprocess.html [4] - http://en.wikipedia.org/wiki/runlevel [5] - Doug Potter: How to Daemonize in Linux, http://www-theorie.physik.unizh.ch/~dpotter/howto/daemonize

36 Danke für die Aufmerksamkeit