# systemd

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-systemd-ist-der-stan" inline-copy-host=""><div>**`systemd`** ist der Standard-Init-Prozess und System-Manager in fast allen modernen Linux-Distributionen (z. B. Ubuntu, Debian, RHEL, Fedora, Arch Linux). Es wurde 2010 von Lennart Poettering und Kay Sievers entwickelt, um das alte, sequenzielle SysVinit-System abzulösen.</div>  
</div>### 1. Was ist systemd und welche Aufgaben hat es?

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-der-prozess-systemd-" inline-copy-host=""><div>Der Prozess `systemd` startet direkt nach dem Linux-Kernel und erhält immer die **Process ID (PID) 1**. Als Mutter aller Prozesse verfolgt und verwaltet es den gesamten Zustand des Betriebssystems.</div>  
</div>#### Haupteigenschaften

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-parallelisierung%3A-di" inline-copy-host="">- <div>**Parallelisierung:** Dienste werden beim Systemstart parallel gestartet, was die Bootzeit drastisch verkürzt.</div>
- <div>**Socket- und D-Bus-Aktivierung:** Dienste werden erst gestartet, wenn auf ein Socket zugegriffen wird oder ein D-Bus-Aufruf eingeht (Lazy Loading).</div>
- <div>**Automatischer Dienst-Neustart:** Stürzt ein Prozess ab, kann `systemd` ihn sofort neu starten.</div>
- <div>**Prozess-Tracking mit [cgroups](https://bookstack.michael-bohn.net/books/system/page/cgroups):** Prozess-Gruppen werden sauber isoliert. Stoppt man einen Dienst, werden auch alle Tochterprozesse verlässlich beendet.</div>
- <div>**Einheitliches Logging:** Zentrale Protokollierung aller System- und Dienstnachrichten über den Daemon `journald`.</div>

</div>### 2. Das Konzept der "Units"

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-in-systemd-wird-alle" inline-copy-host=""><div>In `systemd` wird alles über sogenannte **Units** verwaltet. Jede Unit repräsentiert eine Systemressource oder eine Aufgabe. Es gibt verschiedene Unit-Typen, erkennbar an ihrer Dateiendung:</div>  
<table data-path-to-node="9"><thead><tr><td>**Unit-Typ**</td><td>**Endung**</td><td>**Beschreibung**</td></tr></thead><tbody><tr><td><span data-path-to-node="9,1,0,0">**Service**</span></td><td><span data-path-to-node="9,1,1,0">`.service`</span></td><td><span data-path-to-node="9,1,2,0">Verwaltet Hintergrundprozesse / Daemons (z. B. `nginx.service`, `ssh.service`).</span></td></tr><tr><td><span data-path-to-node="9,2,0,0">**Target**</span></td><td><span data-path-to-node="9,2,1,0">`.target`</span></td><td><span data-path-to-node="9,2,2,0">Gruppiert andere Units (entspricht den alten Runleveln, z. B. `multi-user.target`).</span></td></tr><tr><td><span data-path-to-node="9,3,0,0">**Socket**</span></td><td><span data-path-to-node="9,3,1,0">`.socket`</span></td><td><span data-path-to-node="9,3,2,0">Hört auf Netzwerksockets oder IPC-Pipes zur Socket-Aktivierung.</span></td></tr><tr><td><span data-path-to-node="9,4,0,0">**Timer**</span></td><td><span data-path-to-node="9,4,1,0">`.timer`</span></td><td><span data-path-to-node="9,4,2,0">Zeitgesteuerter Ausführungstrigger (Ersatz für klassische Cronjobs).</span></td></tr><tr><td><span data-path-to-node="9,5,0,0">**Mount / Automount**</span></td><td><span data-path-to-node="9,5,1,0">`.mount` / `.automount`</span></td><td><span data-path-to-node="9,5,2,0">Steuert das Einhängen von Dateisystemen (`/etc/fstab`-Ersatz).</span></td></tr><tr><td><span data-path-to-node="9,6,0,0">**Path**</span></td><td><span data-path-to-node="9,6,1,0">`.path`</span></td><td><span data-path-to-node="9,6,2,0">Überwacht Dateien/Ordner auf Änderungen und startet daraufhin Services.</span></td></tr><tr><td><span data-path-to-node="9,7,0,0">**Slice / Scope**</span></td><td><span data-path-to-node="9,7,1,0">`.slice` / `.scope`</span></td><td><span data-path-to-node="9,7,2,0">Verwaltet Ressourcenbeschränkungen (CPU, RAM) via cgroups.</span></td></tr></tbody></table>

</div>### 3. Dateipfade &amp; Speicherorte für Konfigurationen

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-konfigurationsdateie" inline-copy-host=""><div>Konfigurationsdateien sind in einer strikten Hierarchie organisiert:</div>  
1. <div>**`/lib/systemd/system/` (oder `/usr/lib/systemd/system/`)**</div>  
    
    - <div>Hier liegen die vom Paketmanager (APT, DNF, Pacman) installierten Standard-Units.</div>
    - <div>**Wichtig:** Diese Dateien niemals manuell bearbeiten, da sie bei Updates überschrieben werden!</div>
2. <div>**`/run/systemd/system/`**</div>  
    
    - <div>Zur Laufzeit generierte Units (z. B. temporäre Einstellungen).</div>
3. <div>**`/etc/systemd/system/`**</div>  
    
    - <div>**Der Ort für eigene Konfigurationen.**</div>
    - <div>Hier abgelegte Dateien haben Vorrang vor den Dateien in `/lib/systemd/system/`.</div>

</div>### 4. Aufbau einer `.service`-Unit-Datei

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-eine-service-datei-b" inline-copy-host=""><div>Eine Service-Datei besteht typischerweise aus drei Hauptabschnitten: `[Unit]`, `[Service]` und `[Install]`.</div>  
</div><div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-24 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlAE" decode-data-ved="1" id="bkmrk-ini%2C-toml" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-24"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-24"><div _ngcontent-ng-c25623069="" class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c25623069-24 ng-star-inserted"><span class="ng-tns-c25623069-24">Ini, TOML</span><div _ngcontent-ng-c25623069="" class="buttons ng-tns-c25623069-24 ng-star-inserted"><button aria-label="Code herunterladen" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button><button aria-label="Code kopieren" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button></div></div></div></div></div>```
[Unit]
Description=Mein eigener Python-Webservice
After=network.target remote-fs.target
Wants=postgresql.service

[Service]
Type=simple
User=appuser
Group=appuser
WorkingDirectory=/var/www/myextension
ExecStart=/usr/bin/python3 /var/www/myextension/app.py
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5s

# Sicherheits-Hardening (Optional)
ProtectSystem=full
PrivateTmp=true

[Install]
WantedBy=multi-user.target

```

<div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-24 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlAE" decode-data-ved="1" id="bkmrk-" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-24"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-24"></div></div></div><div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--1" inline-copy-host=""></div>#### Die Abschnitte im Detail:

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-%5Bunit%5D-description%3A-" inline-copy-host="">- <div>**`[Unit]`**</div>  
    
    - <div>`Description`: Menschlich lesbarer Name.</div>
    - <div>`After`: Der Dienst startet erst **nach** den hier angegebenen Units.</div>
    - <div>`Requires`: Strikte Abhängigkeit. Schlägt eine hier genannte Unit fehl, startet auch dieser Dienst nicht.</div>
    - <div>`Wants`: Schwache Abhängigkeit. Versucht die genannte Unit zu starten, bricht aber bei Fehler nicht ab.</div>
- <div>**`[Service]`**</div>  
    
    - <div>`Type`:</div>  
        
        - <div>`simple` (Standard): Der Befehl in `ExecStart` ist der Hauptprozess.</div>
        - <div>`forking`: Für klassische Daemons, die sich im Hintergrund abspalten (forken).</div>
        - <div>`oneshot`: Kurzläufer-Skripte, die einmalig laufen und sich beenden.</div>
    - <div>`ExecStart`: Der exakte Befehl zum Starten (immer mit absolutem Pfad!).</div>
    - <div>`Restart`: Wann soll neu gestartet werden? (`always`, `on-failure`, `no`).</div>
    - <div>`RestartSec`: Wartezeit vor dem Neustart.</div>
- <div>**`[Install]`**</div>  
    
    - <div>`WantedBy`: Bestimmt, in welchem Target die Unit beim Systemstart geladen wird (z. B. `multi-user.target` entspricht dem alten Runlevel 3 - Konsolenmodus).</div>

</div>### 5. Wichtige Befehle zur Verwaltung

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-die-steuerung-von-sy" inline-copy-host=""><div>Die Steuerung von `systemd` erfolgt über das Befehlszeilenwerkzeug **`systemctl`**.</div>  
</div>#### Steuerung von Diensten

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--2" inline-copy-host=""></div><div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-25 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlQE" decode-data-ved="1" id="bkmrk-bash" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-25"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-25"><div _ngcontent-ng-c25623069="" class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c25623069-25 ng-star-inserted"><span class="ng-tns-c25623069-25">Bash</span><div _ngcontent-ng-c25623069="" class="buttons ng-tns-c25623069-25 ng-star-inserted"><button aria-label="Code herunterladen" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button><button aria-label="Code kopieren" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button></div></div></div></div></div>```
# Status eines Dienstes prüfen
systemctl status mein-dienst.service

# Dienst sofort starten / stoppen / neustarten
systemctl start mein-dienst
systemctl stop mein-dienst
systemctl restart mein-dienst

# Konfiguration neu laden ohne den Dienst zu stoppen
systemctl reload mein-dienst

# Autostart beim Booten aktivieren / deaktivieren
systemctl enable mein-dienst
systemctl disable mein-dienst

# Autostart aktivieren UND sofort starten
systemctl enable --now mein-dienst

```

<div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-25 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlQE" decode-data-ved="1" id="bkmrk--3" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-25"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-25"></div></div></div><div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--4" inline-copy-host=""></div>#### Konfiguration bearbeiten und laden

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--5" inline-copy-host=""></div><div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-26 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlgE" decode-data-ved="1" id="bkmrk-bash-1" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-26"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-26"><div _ngcontent-ng-c25623069="" class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c25623069-26 ng-star-inserted"><span class="ng-tns-c25623069-26">Bash</span><div _ngcontent-ng-c25623069="" class="buttons ng-tns-c25623069-26 ng-star-inserted"><button aria-label="Code herunterladen" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button><button aria-label="Code kopieren" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button></div></div></div></div></div>```
# Erstellt/Editiert einen Override in /etc/systemd/system/
systemctl edit mein-dienst.service

# systemd-Daemon anweisen, Geänderte Unit-Dateien neu einzulesen (SEHR WICHTIG!)
systemctl daemon-reload

```

<div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-26 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlgE" decode-data-ved="1" id="bkmrk--6" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-26"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-26"></div></div></div><div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--7" inline-copy-host=""></div>#### Targets und Systemzustände

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--8" inline-copy-host=""></div><div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-27 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlwE" decode-data-ved="1" id="bkmrk-bash-2" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-27"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-27"><div _ngcontent-ng-c25623069="" class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c25623069-27 ng-star-inserted"><span class="ng-tns-c25623069-27">Bash</span><div _ngcontent-ng-c25623069="" class="buttons ng-tns-c25623069-27 ng-star-inserted"><button aria-label="Code herunterladen" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button><button aria-label="Code kopieren" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button></div></div></div></div></div>```
# Aktuelles Standard-Target anzeigen
systemctl get-default

# Auf grafische Oberfläche (Runlevel 5) umstellen
systemctl set-default graphical.target

# Auf Konsolenmodus (Runlevel 3) umstellen
systemctl set-default multi-user.target

```

<div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-27 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQlwE" decode-data-ved="1" id="bkmrk--9" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-27"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-27"></div></div></div><div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--10" inline-copy-host=""></div>### 6. Logging mit `journald`

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-systemd-journald-sam" inline-copy-host=""><div>`systemd-journald` sammelt zentral alle Systemnachrichten (Kernel-Logs, stdout/stderr von Services, Syslog). Der Zugriff erfolgt über **`journalctl`**.</div>  
</div><div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-28 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQmAE" decode-data-ved="1" id="bkmrk-bash-3" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-28"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-28"><div _ngcontent-ng-c25623069="" class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c25623069-28 ng-star-inserted"><span class="ng-tns-c25623069-28">Bash</span><div _ngcontent-ng-c25623069="" class="buttons ng-tns-c25623069-28 ng-star-inserted"><button aria-label="Code herunterladen" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button><button aria-label="Code kopieren" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button></div></div></div></div></div>```
# Gesamtes Protokoll seit dem letzten Bootvorgang anzeigen
journalctl -b

# Live-Logs eines spezifischen Dienstes verfolgen (wie tail -f)
journalctl -u mein-dienst.service -f

# Logs der letzten 2 Stunden anzeigen
journalctl --since "2 hours ago"

# Nur Fehler-Nachrichten anzeigen
journalctl -u mein-dienst.service -p err

```

<div _ngcontent-ng-c25623069="" class="code-block ng-tns-c25623069-28 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiClvfBpYeXAxUAAAAAHQAAAAAQmAE" decode-data-ved="1" id="bkmrk--11" jslog="223238;track:impression,attention;BardVeMetadataKey:W1sicl8zNzhjZjNmMmIyN2RhMTY5IiwiY18wZTZlNDNlZDM5MjgwNDI1IixudWxsLCJyY18zNzQ4OTlkMGU1MzU4ZGYyIixudWxsLG51bGwsImRlIixudWxsLDEsbnVsbCxudWxsLDEsMF1d"><div _ngcontent-ng-c25623069="" class="formatted-code-block-internal-container ng-tns-c25623069-28"><div _ngcontent-ng-c25623069="" class="animated-opacity ng-tns-c25623069-28"></div></div></div><div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk--12" inline-copy-host=""></div>### 7. Weitere wichtige Komponenten des systemd-Ökosystems

<div _ngcontent-ng-c3411460001="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color" dir="ltr" id="bkmrk-systemd-ist-l%C3%A4ngst-m" inline-copy-host=""><div>`systemd` ist längst mehr als nur ein Init-System, sondern eine Suite von Werkzeugen:</div>  
- <div>**`timedatectl`**: Verwaltung von Zeitzone und NTP-Ressourcen.</div>
- <div>**`hostnamectl`**: Verwaltung des Hostnamens und System-Metadaten.</div>
- <div>**`localectl`**: Verwaltung von Tastaturlayouts und System-Locales.</div>
- <div>**`resolved`**: Ein lokaler DNS-Resolver Daemon (`resolvectl`).</div>
- <div>**`networkd`**: Netzwerkkonfiguration für Interfaces.</div>
- <div>**`logind`**: Verwaltet Benutzer-Sitzungen und Power-Management (Reboot, Suspend).</div>

</div>