Inhalt dieses Kapitels
Tag 3 — was du heute gelernt hast
RückblickHeute Morgen warst du noch ein Junior-Admin, der bei jedem Befehl überlegen musste, was er macht. Jetzt — neun Stunden später — beherrschst du:
- den Bootprozess in vier Phasen: Firmware → Bootloader → Kernel → systemd
- den Unterschied zwischen BIOS und UEFI, MBR und GPT
- die Welt von systemd — Targets statt Runlevels,
systemctlals Universal-Werkzeug, plusjournalctlfür Service-Logs - Services starten, stoppen, aktivieren, deren Status prüfen
- Prozesse beobachten (
ps -alfmit PRI/NI/PPID,top), in den Hintergrund schicken, priorisieren und beenden - Software mit
dnfinstallieren, aktualisieren, entfernen - Deine Shell-Umgebung einrichten — Variablen,
PATH,
.bashrc, Aliase - Dein erstes eigenes Bash-Skript geschrieben, ausführbar gemacht und erfolgreich gestartet
Ab Montag bist du einsatzbereit. Wenn ein
Service nicht startet, schaust du selbstständig mit
systemctl status nach. Wenn ein Prozess hängt, killst
du gezielt. Wenn ein Tool fehlt, dnf install. Wenn
eine Aufgabe sich wiederholt, schreibst du ein Skript.
Das ist Selbstständigkeit. Das macht den Unterschied zwischen jemandem, der Linux benutzt, und jemandem, der Linux verwaltet.
Cheat-Sheet — Alle Befehle Tag 3
DruckbarShutdown & Reboot
| Befehl | Wirkung |
|---|---|
shutdown | nach 1 min ausschalten |
shutdown now | sofort ausschalten |
shutdown +5 | nach 5 min ausschalten |
poweroff | sofort ausschalten |
systemctl poweroff | sofort ausschalten (systemd) |
shutdown -r | nach 1 min Neustart |
shutdown -r now | sofort Neustart |
reboot | sofort Neustart |
systemctl reboot | sofort Neustart (systemd) |
Runlevel ↔ systemd-Target
| Runlevel | systemd-Target | Beschreibung |
|---|---|---|
| 0 | poweroff.target | Herunterfahren |
| 1 | rescue.target | Single-User-Modus |
| 2 | multi-user.target | Multi-User ohne Netzwerk |
| 3 | multi-user.target | Multi-User ohne GUI |
| 4 | — | Benutzerdefiniert |
| 5 | graphical.target | Multi-User mit GUI |
| 6 | reboot.target | Neustart |
systemctl — Targets
# Default-Target prüfen
systemctl get-default
# Default-Target ändern
sudo systemctl set-default multi-user.target
# Zu anderem Target wechseln (laufend)
sudo systemctl isolate graphical.target
# Klassisch (für Nostalgiker):
telinit 6 # = reboot
systemctl — Services
sudo systemctl status sshd # Status prüfen
sudo systemctl start sshd # starten
sudo systemctl stop sshd # stoppen
sudo systemctl restart sshd # neu starten
sudo systemctl reload sshd # Konfig neu laden (sanft)
sudo systemctl enable sshd # bei Boot aktivieren
sudo systemctl disable sshd # bei Boot deaktivieren
sudo systemctl is-enabled sshd # Boot-Status prüfen
GRUB Bootloader
# BACKUP der GRUB-Konfig (IMMER zuerst!)
sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup
# Einstellungen bearbeiten
sudo vim /etc/default/grub
# Neue Konfig generieren
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Prozesse beobachten
ps # eigene Shell-Prozesse
ps -alf # EMPFOHLEN: alle Prozesse mit Terminal, mit PRI/NI/PPID
ps -ef # alle Prozesse inkl. Daemons, Full-Format
ps aux # BSD-Stil: zeigt %CPU/%MEM, kein PRI/NI
ps -ef | grep sleep # filtern nach Name
pgrep sleep # nur PIDs zu einem Namen
top # Live-Monitor (q=quit, M=memory, P=CPU, k=kill)
htop # schöneres top (muss installiert werden — siehe Kap 04)
Wichtige Spalten in ps -alf und top
| Spalte | Bedeutung |
|---|---|
| PID | Eindeutige Prozess-Nummer |
| PPID | Parent-PID — wer hat den Prozess gestartet? |
| S / STAT | State: R running, S sleeping (Standard), D uninterruptible (I/O), Z zombie, T stopped |
| PRI / PR | Vom Kernel berechnete Priorität (kleiner = höher). Default 80 (ps) bzw. 20 (top) |
| NI | Niceness: User-setzbar, −20 bis +19, Default 0. Höher = höflicher. |
| VIRT (top) | Reservierter Speicher (kann viel größer als wirklich genutzt sein) |
| RES (top) | Tatsächlich belegter RAM — das ist der Wert, der zählt |
| %CPU / %MEM | Aktueller CPU- bzw. RAM-Verbrauch (RES-basiert) |
Prozesse steuern
# Hintergrund
BEFEHL & # im Hintergrund starten
jobs # Bonus — eigene Jobs listen
jobs -l # Bonus — mit PIDs
fg %1 # Bonus — Job 1 in den Vordergrund
bg %1 # Bonus — gestoppten Job 1 im Hintergrund weiterlaufen
Strg+Z # laufenden Job anhalten
Strg+C # laufenden Job beenden
# Beenden
kill PID # SIGTERM (höflich)
kill -9 PID # SIGKILL (sofort, kein Aufräumen)
kill -HUP PID # SIGHUP (Konfig neu laden)
pkill BEFEHL # per Name
killall BEFEHL # alle mit Namen
# Priorität
nice -n 15 BEFEHL # mit Niceness 15 starten
sudo nice -n -10 BEFEHL # mit -10 starten (sudo!)
renice 15 -p PID # laufenden umstellen
sudo renice -10 -p PID # auf negativ (sudo!)
Paketverwaltung mit dnf
# Suchen & Infos
dnf search PAKET # Bonus — nach Paketen suchen
dnf info PAKET # Bonus — Details zu einem Paket
dnf list installed # installierte Pakete
dnf provides /usr/bin/htop # welches Paket liefert eine Datei?
# Installieren & entfernen
sudo dnf install PAKET # installieren
sudo dnf install -y PAKET # ohne Rückfrage
sudo dnf remove PAKET # entfernen
sudo dnf autoremove # verwaiste Abhängigkeiten
# Aktualisieren
dnf check-update # was wäre verfügbar? (read-only, harmlos)
sudo dnf update PAKET # nur ein bestimmtes Paket aktualisieren
sudo dnf update # alles aktualisieren — NUR im Wartungsfenster!
sudo dnf upgrade # identisch zu update (bei dnf)
# Erweitert
dnf history # alle dnf-Aktionen
dnf repolist # aktive Repositories
dnf group list # Paketgruppen
sudo dnf groupinstall "Server with GUI" # GUI nachinstallieren
RPM Low-Level
rpm -qa # Bonus — alle installierten Pakete
rpm -qi PAKET # Bonus — prüfen ob installiert
rpm -qpi datei.rpm # Bonus — Infos zur .rpm-Datei
rpm -qpl datei.rpm # Bonus — was würde es installieren?
rpm -K datei.rpm # Bonus — Signatur prüfen
# Lokales RPM installieren: zwei Varianten
sudo dnf install ./datei.rpm # EMPFOHLEN — prüft Abhängigkeiten
sudo rpm -ivh datei.rpm # Bonus — Low-Level, ignoriert Abhängigkeiten
Umgebungsvariablen
# Lesen
echo $HOME # Wert ausgeben
echo ${USER} # mit Klammern
env # alle Umgebungsvariablen
printenv # dito
env | grep PATH # Bonus — env nach Variable filtern
# Setzen
name="Tim" # Shell-Variable (KEINE Leerzeichen!)
export PROJEKT="hano" # Umgebungsvariable (auch für Kind-Prozesse)
unset name # löschen
# PATH (NIE überschreiben — immer mit $PATH erweitern!)
export PATH=$PATH:/neuer/pfad # am Ende anhängen
export PATH=/neuer/pfad:$PATH # vorne (höhere Priorität)
# Befehl finden
which ls # zeigt Pfad zum Befehl
type ls # zeigt Typ (alias, builtin, file, ...)
# .bashrc neu laden
source ~/.bashrc # oder kürzer:
. ~/.bashrc
Bash-Skripte
# Grundgerüst
#!/bin/bash # Shebang (immer Zeile 1)
# Kommentar — wird ignoriert
echo "Hallo" # Text ausgeben
name="Tim" # Variable
echo "Hallo $name" # Variable in Text
datum=$(date +%Y-%m-%d) # Command Substitution
# Ausführen
chmod +x skript.sh # ausführbar machen
./skript.sh # ausführen
bash skript.sh # alternativ, ohne +x
# Skript-Pfad bequemer machen
mkdir -p ~/skripte
mv skript.sh ~/skripte/
# In .bashrc:
export PATH=$PATH:~/skripte
# Dann reicht: skript.sh
Wichtige Pfade Tag 3
| Pfad | Inhalt |
|---|---|
/boot/grub2/grub.cfg | GRUB-Konfiguration |
/etc/default/grub | GRUB-Vorlage (vor mkconfig editieren) |
/etc/systemd/system/ | eigene systemd-Units |
/lib/systemd/system/ | System-Unit-Dateien |
/etc/yum.repos.d/ | dnf-Repository-Definitionen |
/var/log/dnf.log | dnf-Logs |
~/.bashrc | deine Shell-Konfiguration |
/etc/profile Bonus | System-weite Shell-Konfig |
Cheat-Sheet-Bingo — letzte Runde
SpielZum Abschluss: Tippen-und-Erklären-Bingo. Trainer nennt einen Begriff, TN tippt den Befehl und erklärt in einem Satz, was er tut.
| Begriff vom Trainer | Du tippst … | Erklärung |
|---|---|---|
| „Was ist mein Default-Target?" | systemctl get-default | aktuelles Default-Target abfragen |
| „Wechsel sofort in den Text-Modus" | sudo systemctl isolate multi-user.target | laufend wechseln |
| „Wer frisst gerade meine CPU?" | top oder ps -eo pid,user,%cpu,comm --sort=-%cpu | head | Live-Anzeige oder Top-Liste |
| „Kill Prozess 1234 sanft" | kill 1234 | SIGTERM, höflich beenden |
| „Installiere htop" | sudo dnf install htop | Paketinstallation |
| „Was ist in meinem PATH?" | echo $PATH | Pfad-Variable ausgeben |
| „Ist sshd beim Boot aktiv?" | systemctl is-enabled sshd | Boot-Status prüfen |
| „Skript ausführbar machen" | chmod +x skript.sh | Execute-Bit setzen |
| „Zeig mir Prozesse mit Priorität" | ps -alf | head | PRI, NI, PPID, State sehen |
Trainer-Hinweis: Bingo geht 5–10 Minuten, dann ist Schluss. Die Energie nach 8h Lab ist endlich — Bingo dient dem letzten Aktivieren, nicht dem Drillen.
Linux-Kurs Abschluss
FinaleDies ist der Abschluss des Linux-Moduls der IT-Administrator-Weiterbildung. Drei Tage haben dich von der Installation eines Rocky-Linux-Systems über die Terminal-Grundlagen und das Berechtigungs-System bis zu Prozessen, Paketen und ersten Skripten geführt.
Das ist nicht alles, was Linux zu bieten hat — es ist die Grundlage. Mit dem, was du jetzt kannst, bist du auf jedem Rocky-, RHEL-, Alma- oder Fedora-Server arbeitsfähig. Vieles, was später kommt — Netzwerke, Webserver, Datenbanken, Container — baut auf genau diesem Fundament auf.
Was du jetzt — nach drei Tagen — kannst
| Tag | Kernkompetenz |
|---|---|
| Tag 1 | Rocky-Linux installieren, Terminal bedienen, Dateien und Ordner verwalten, Editoren nutzen, Wildcards und Redirection |
| Tag 2 | Archivieren mit tar/gzip, Hard/Soft-Links und Inodes, Berechtigungen (chmod, chown, chgrp), Suchen mit find und locate |
| Tag 3 | Bootprozess, systemd-Services, Prozessverwaltung, dnf-Paketverwaltung, Umgebungsvariablen, Bash-Skripte |
Drei Tage sind der Anfang. Du wirst über die Wochen und Monate noch viel lernen:
- Netzwerk: ip, ss, firewalld, SELinux, SSH-Tunneling
- Logs vertiefen:
journalctlhast du in Kap 02 schon kurz gesehen — mit Filtern (-p err,-f,--since) wird es zum täglichen Werkzeug. Dazu kommt/var/log/für ältere Log-Dateien undlogrotatefür die Aufräumarbeiten. - Cron & Timer: wiederkehrende Tasks automatisieren
- Container: Docker, Podman
- Konfigurations-Management: Ansible, Puppet
Aber jetzt hast du das, was zählt:
ein Fundament, auf dem du alles weitere aufbauen kannst.
Du tippst man BEFEHL ohne Angst, du liest Fehlermeldungen,
statt sie zu ignorieren, du machst Snapshots, bevor du
experimentierst.
Vor drei Tagen kanntest du Linux nur als „dieses schwarze Terminal, das die Profis benutzen". Jetzt bist du einer von diesen Profis im Anfangsstadium. Markus wird zufrieden sein. Er hat in dich investiert — Zeit, Aufmerksamkeit, Vertrauen. Du hast das zurückgezahlt.
Wenn du nach Hause gehst, denk dran: das war nicht nur Lernstoff. Das war der Übergang vom Lehrling zum Junior-Admin. Ab morgen sieht das Terminal nicht mehr aus wie eine schwarze Wand — sondern wie dein Werkzeug.
Drei Tage. Eine Reise. Viel Erfolg für alles, was kommt.
Letzte 15 Minuten (16:30 – 16:45): Cheat-Sheet ausdrucken lassen (Druck-Button im Browser), Cheat-Sheet-Bingo spielen (5–10 min), dann Reflexionsrunde: jeder TN sagt einen Satz, was sich heute am meisten verändert hat.
Quiz als Hausaufgabe: Erwähnen, dass Quiz Tag 3 zur Selbstkontrolle gedacht ist — keine Bewertung, aber wichtig für den eigenen Lernstand.
Hinweis zur Tag-2-Ausblick-Diskrepanz: Falls am Ende von Tag 2 ein anderer Tag-3-Inhalt skizziert wurde (z.B. mehr Fokus auf einzelne Themen), das offen ansprechen: „Wir haben uns entschieden, heute den Schwerpunkt auf Selbstständigkeit zu legen — Boot, Services, Prozesse, Pakete, Skripte. Andere Themen kommen in späteren Modulen wieder." Offen mit Anpassungen umgehen, nichts verstecken.
Brücke zu Windows-Modul: Wenn das nächste Modul ansteht, hinweisen: konzeptionell vieles ähnlich (Benutzer, Berechtigungen, Dienste), aber andere Werkzeuge. Nicht entmutigen — das Fundament aus Linux hilft sehr.
Linux-Prüfungsvorbereitung
IHKFür die IHK-Zwischen- und Abschlussprüfung sind aus dem Linux-Bereich besonders relevant:
- Befehls-Syntax flüssig anwenden können (ls, cp, mv, rm, chmod, chown, tar, find, grep, ...)
- Berechtigungen als Oktalzahl umrechnen (z.B. 755 = rwxr-xr-x)
- Bootprozess in der richtigen Reihenfolge (BIOS → Bootloader → Kernel → init/systemd)
- Runlevels und ihre systemd-Targets kennen
- systemctl für Service-Verwaltung
- Prozess-Befehle: ps, top, kill, nice/renice
- Paketverwaltung: dnf install/remove/update/upgrade
- Shebang und Grundlagen Bash-Skripte
- Umgebungsvariablen: PATH, export-Syntax
Spiele die Befehle mehrfach durch. Wer im Terminal regelmäßig tippt, kann sich die Syntax nicht NICHT merken. Trockenes Auswendiglernen hilft 30 %; Tippen hilft 100 %.
Mach das Quiz in den nächsten Wochen mehrmals — nicht um Antworten zu merken (die echte Prüfung hat andere Wortlaute), sondern um zu prüfen, ob du die Konzepte sicher beherrschst. Wenn du nach 8/12 oder mehr richtigen Antworten ein gutes Gefühl hast, dass du jede Frage begründen könntest — dann sitzt der Stoff.