Systemstart und Initialisierung
Ablauf
- Bootloader: Kernel und initramfs in RAM laden
- Kernel laden: Hardware wird initialisiert
- InitRamFS: Temporäres Root-Dateisystem zum laden von Modulen und Zugriff aufs echte FS
- Mount Root FS: Kernel mountet Dateisystem nach /etc/fstab
- Init starten: Erstes Prozessprogramm wird ausgeführt (init/systemd)
- Dienste starten
- Boot abgeschlossen: Bereit zur Anmeldung
SysInit vs. SystemD
| SysInit | SystemD | |
|---|---|---|
| Grundidee | - Traditionelles Init-System | - Modernes Init-System |
| Startverhalten | - Serielles Starten über Skripte | - Startet Parallel - Schnellere Startzeiten |
| Konfiguration | - Skripte in /etc/init.d | - Units-Dateien in /etc/systemd/system |
| Abhängigkeiten | - Kaum Abhängigkeitslogik | - Umfangreiche Abhängigkeitsverwaltung - Abbrüche bei Fehlern |
| Logging | - Über Syslog | - Zentralisiertes Logging über journalctl |
| Resources & Sicherheitsfeatures | - Kaum integrierte Features | - Sandbox-Funktionen - Restriktionsmöglichkeiten |
| Ökosystem | - In vielen alten Distros - Leicht, aber weniger Funktionen | - Weit verbreitet - Oft Standard |
| Vor- & Nachteile | Vorteile - Einfach, Transparent - Geringer Overhead Nachteile - Langsamer Start - Wenig Abhängigkeitslogik | Vorteile - Schneller Start - Robuste Abhängigkeitsverwaltung - Viele Funktionen Nachteile - Komplex - Kritik an Zentralisierung |
Verzeichnisbaum – „Alles ist eine Datei“
- Keine Laufwerksbuchstaben sondern Mountpoints
- Jeder Benutzer hat ein Home-Verzeichnis (~)
Virtuelle Dateisysteme
- Belegen keinen Speicherplatz
- Zum Austausch zwischen Kernel und Anwendungen
- Nicht zum speichern
- Beispiele
- /dev -> Zugang zu Hardware (Festplatte)
- /proc -> Alle laufenden Prozesse
Dateitypen
| Dateityp | Kürzel | Informationen |
|---|---|---|
| Reguläre Datei | - | Texte, Grafiken, Audiodateien, Programme |
| Verzeichnisdateien | d | Ordner; Tabelldatei mit Dateiname -> Inode-Nummer |
| Blockdateien | b | Schnittstelle zu Geräten (z.B. Laufwerk); Zugriffe werden an das Gerät weitergeleitet |
| Zeichengerätedateien | c | Serieller Strom von Ein- & Ausgaben (z.B. Terminal) |
| Pipe-Datei | p | Ähnlich wie Pipes/Shell; Direkte Kommunikation zwischen Programmen ohne Zwischenspeicher |
| Symbolic link file | l | Enthält Pfadangabe (Verknüpfung) |
| Socket-Files | s | Bidirektionale Interprozesskommunikation innerhalb eines Rechners |
Inode (Index node)
- Datenstruktureintrag im Dateisystem
- Enthält Metadaten über eine Datei
- Dateigröße
- Dateityp
- Benutzerrechte
- Zeitstempel
- …
- Jede Datei hat eine eindeutige Inode-Nummer
Terminalbefehle
- Siehe Buch für die meisten Befehle
Apropos
- Befehl um nach anderen Befehlen zu suchen anhand von Begriffen in deren Dokumentation
- Apropos kernel: Liefert alle Befehle, die „kernel“ in der Dokumentation enthalten
Buchseiten
| Seite | Inhalt |
|---|---|
| 180 | SystemD |
| 28 | Verzeichnisbaum |
| 161 | Sudo |
| 63 | Ls-Befehl |
| 90 | Touch-Befehl |
| 65 | Cp-Befehl |
| 66 | Mv-Befehl |
| 67 | Rm-Befehl |
| 72 | Mkdir-Befehl |
| 41 | Umgebungsvariablen |
| 60 | Man-Befehl |
| 109 | Grep-Befehl |
| 124 | Awk-Befehl |
| 125 | Sed-Befehl |
| 100 | Find-Befehl |