{
"$schema": "../schema/questions.schema.json",
"format": "lpic-sim-questions",
"meta": {
"file": "questions_108_set2.json",
"brief": "Zweiter Fragensatz zu Topic 108 Grundlegende Systemdienste (LPIC-1 102-500, Objectives 5.0)",
"author": "Björn Runden
",
"owner": "Björn Runden
",
"assist": "KI-unterstützt (Claude Opus 5.5), geprüft von Björn Runden
",
"version": "0.1.0 (30.10.2026)"
},
"exam": "lpic1-102",
"questions": [
{
"id": "108.1-005",
"objective": "108.1",
"type": "fill",
"difficulty": 2,
"question": "Welche Option von `hwclock` überträgt die Zeit der Hardware-Uhr in die Systemzeit? (nur die Option)",
"answers": ["--hctosys", "-s"],
"explanation": "hardware clock to system: wird typischerweise beim Start ausgeführt. Gegenrichtung: `--systohc` (`-w`).",
"references": ["man 8 hwclock"]
},
{
"id": "108.1-006",
"objective": "108.1",
"type": "single",
"difficulty": 1,
"question": "Welcher Befehl gibt das heutige Datum im Format `2026-10-30` aus?",
"options": [
{ "id": "a", "text": "`date +%F`", "correct": true, "explanation": "`%F` entspricht `%Y-%m-%d`." },
{ "id": "b", "text": "`date +%D`", "correct": false, "explanation": "`%D` ergibt `10/30/26`." },
{ "id": "c", "text": "`date +%T`", "correct": false, "explanation": "`%T` ist die Uhrzeit `%H:%M:%S`." },
{ "id": "d", "text": "`date +%d.%m.%Y`", "correct": false, "explanation": "Ergibt `30.10.2026`." },
{ "id": "e", "text": "`date -u`", "correct": false, "explanation": "Zeigt Datum und Uhrzeit in UTC im Standardformat." }
],
"explanation": "Typisch für Dateinamen: `backup_$(date +%F).tar.gz`. Uhrzeit stellen: `date -s` bzw. `timedatectl set-time`.",
"references": ["man 1 date"]
},
{
"id": "108.1-007",
"objective": "108.1",
"type": "single",
"difficulty": 2,
"question": "Mit welcher Zeile trägt man in der chrony-Konfiguration einen NTP-**Pool** als Zeitquelle ein?",
"options": [
{ "id": "a", "text": "`pool 2.debian.pool.ntp.org iburst`", "correct": true, "explanation": "`pool` löst den Namen in mehrere Server auf; `iburst` beschleunigt die erste Synchronisation." },
{ "id": "b", "text": "`NTP=2.debian.pool.ntp.org`", "correct": false, "explanation": "Das ist die Syntax von `/etc/systemd/timesyncd.conf`." },
{ "id": "c", "text": "`ntpserver = 2.debian.pool.ntp.org`", "correct": false, "explanation": "Keine gültige chrony-Direktive." },
{ "id": "d", "text": "`nameserver 2.debian.pool.ntp.org`", "correct": false, "explanation": "Syntax von `/etc/resolv.conf`." },
{ "id": "e", "text": "`server: 2.debian.pool.ntp.org`", "correct": false, "explanation": "chrony nutzt keinen Doppelpunkt; einzelne Server: `server iburst`." }
],
"explanation": "Dieselbe Syntax (`server`, `pool`) verwendet auch der klassische ntpd in `/etc/ntp.conf`.",
"references": ["man 5 chrony.conf"]
},
{
"id": "108.1-008",
"objective": "108.1",
"type": "single",
"difficulty": 2,
"question": "In welcher Datei konfiguriert man die NTP-Server für **systemd-timesyncd**?",
"options": [
{ "id": "a", "text": "`/etc/systemd/timesyncd.conf`", "correct": true, "explanation": "Abschnitt `[Time]`, z. B. `NTP=` und `FallbackNTP=`." },
{ "id": "b", "text": "`/etc/chrony/chrony.conf`", "correct": false, "explanation": "Konfiguration von chrony." },
{ "id": "c", "text": "`/etc/ntp.conf`", "correct": false, "explanation": "Konfiguration des klassischen ntpd." },
{ "id": "d", "text": "`/etc/adjtime`", "correct": false, "explanation": "Hält Drift und Modus (UTC/Ortszeit) der Hardware-Uhr." },
{ "id": "e", "text": "`/etc/systemd/journald.conf`", "correct": false, "explanation": "Konfiguration des Journals." }
],
"explanation": "systemd-timesyncd ist ein reiner SNTP-Client; als Server für andere Rechner taugt er nicht.",
"references": ["man 5 timesyncd.conf"]
},
{
"id": "108.1-009",
"objective": "108.1",
"type": "multi",
"difficulty": 2,
"question": "Mit welchen Befehlen prüft man, ob die Systemuhr synchronisiert ist bzw. wie groß die Abweichung ist?",
"options": [
{ "id": "a", "text": "`timedatectl`", "correct": true, "explanation": "Zeigt u. a. `System clock synchronized: yes/no` und `NTP service`." },
{ "id": "b", "text": "`chronyc tracking`", "correct": true, "explanation": "Zeigt Referenzquelle, Stratum und aktuelle Abweichung (System time offset)." },
{ "id": "c", "text": "`hwclock --systohc`", "correct": false, "explanation": "Schreibt die Systemzeit in die Hardware-Uhr, prüft nichts." },
{ "id": "d", "text": "`date -s \"12:00\"`", "correct": false, "explanation": "Stellt die Uhr manuell." },
{ "id": "e", "text": "`ntpdate pool.ntp.org`", "correct": false, "explanation": "Stellt die Uhr einmalig (veraltet); `ntpdate -q` würde nur abfragen." }
],
"explanation": "Beim klassischen ntpd zeigt `ntpq -p` die Peers mit Offset und Jitter.",
"references": ["man 1 timedatectl", "man 1 chronyc"]
},
{
"id": "108.2-007",
"objective": "108.2",
"type": "single",
"difficulty": 1,
"question": "Wie zeigt `journalctl` nur Meldungen mit Priorität **err und höher** an?",
"options": [
{ "id": "a", "text": "`journalctl -p err`", "correct": true, "explanation": "`-p` filtert nach Priorität; ein einzelner Wert schließt alle schwerwiegenderen ein." },
{ "id": "b", "text": "`journalctl -u err`", "correct": false, "explanation": "`-u` filtert nach Unit." },
{ "id": "c", "text": "`journalctl -t err`", "correct": false, "explanation": "`-t` filtert nach Syslog-Kennung (Identifier)." },
{ "id": "d", "text": "`journalctl -k err`", "correct": false, "explanation": "`-k` zeigt Kernel-Meldungen." },
{ "id": "e", "text": "`journalctl --grep err`", "correct": false, "explanation": "Durchsucht den Meldungstext nach „err“, unabhängig von der Priorität." }
],
"explanation": "Prioritäten als Namen oder Zahlen 0 (emerg) bis 7 (debug); Bereich z. B. `-p warning..err`.",
"references": ["man 1 journalctl"]
},
{
"id": "108.2-008",
"objective": "108.2",
"type": "fill",
"difficulty": 1,
"question": "Welche `journalctl`-Option zeigt nur Meldungen des **aktuellen Systemstarts**? (nur die Option)",
"answers": ["-b", "--boot", "-b 0"],
"explanation": "`-b -1` zeigt den vorherigen Start (persistentes Journal nötig); `--list-boots` listet alle.",
"references": ["man 1 journalctl"]
},
{
"id": "108.2-009",
"objective": "108.2",
"type": "single",
"difficulty": 2,
"question": "Welcher Aufruf zeigt Journal-Meldungen vom 30.10.2026 zwischen 08:00 und 09:00 Uhr?",
"options": [
{ "id": "a", "text": "`journalctl --since \"2026-10-30 08:00\" --until \"2026-10-30 09:00\"`", "correct": true, "explanation": "`--since`/`--until` (`-S`/`-U`) begrenzen den Zeitraum." },
{ "id": "b", "text": "`journalctl --from 08:00 --to 09:00`", "correct": false, "explanation": "Diese Optionen gibt es nicht." },
{ "id": "c", "text": "`journalctl -b 2026-10-30 08:00-09:00`", "correct": false, "explanation": "`-b` erwartet eine Boot-ID oder einen Index." },
{ "id": "d", "text": "`journalctl -p 08:00..09:00`", "correct": false, "explanation": "`-p` filtert nach Priorität." },
{ "id": "e", "text": "`journalctl --date 30.10.2026`", "correct": false, "explanation": "Diese Option gibt es nicht." }
],
"explanation": "Auch relative Angaben sind möglich: `--since \"1 hour ago\"`, `--since yesterday`.",
"references": ["man 1 journalctl"]
},
{
"id": "108.2-010",
"objective": "108.2",
"type": "single",
"difficulty": 2,
"question": "Was bewirkt die rsyslog-Regel `*.* @@log.example.org:514`?",
"options": [
{ "id": "a", "text": "Alle Meldungen werden per **TCP** an `log.example.org` weitergeleitet.", "correct": true, "explanation": "`@@` steht für TCP." },
{ "id": "b", "text": "Alle Meldungen werden per UDP an `log.example.org` weitergeleitet.", "correct": false, "explanation": "UDP wäre ein einzelnes `@`." },
{ "id": "c", "text": "rsyslog empfängt Meldungen von `log.example.org`.", "correct": false, "explanation": "Empfang wird über Eingabemodule (`imtcp`/`imudp`) konfiguriert." },
{ "id": "d", "text": "Nur Fehler werden weitergeleitet.", "correct": false, "explanation": "`*.*` bedeutet alle Facilities und Prioritäten." },
{ "id": "e", "text": "Die Meldungen werden in eine Datei namens `log.example.org` geschrieben.", "correct": false, "explanation": "Dateiziele beginnen mit `/`." }
],
"explanation": "Port 514 ist der Standard für syslog. Zentrale Protokollierung erschwert Angreifern das Verwischen von Spuren.",
"references": ["man 5 rsyslog.conf"]
},
{
"id": "108.2-011",
"objective": "108.2",
"type": "single",
"difficulty": 1,
"question": "Welche syslog-Facilities sind für **eigene Anwendungen** frei verwendbar?",
"options": [
{ "id": "a", "text": "`local0` bis `local7`", "correct": true, "explanation": "Reserviert für lokale bzw. eigene Zwecke." },
{ "id": "b", "text": "`kern`", "correct": false, "explanation": "Für Kernel-Meldungen reserviert." },
{ "id": "c", "text": "`authpriv`", "correct": false, "explanation": "Für vertrauliche Authentifizierungsmeldungen." },
{ "id": "d", "text": "`mail`", "correct": false, "explanation": "Für das Mailsystem." },
{ "id": "e", "text": "`cron`", "correct": false, "explanation": "Für den cron-Daemon." }
],
"explanation": "Beispiel: `logger -p local3.info \"Backup ok\"` und in rsyslog `local3.* /var/log/backup.log`.",
"references": ["man 3 syslog"]
},
{
"id": "108.2-012",
"objective": "108.2",
"type": "multi",
"difficulty": 2,
"question": "Welche Aussagen zur Verwaltung des systemd-Journals treffen zu?",
"options": [
{ "id": "a", "text": "`journalctl --vacuum-time=2weeks` löscht archivierte Journal-Dateien, die älter als zwei Wochen sind.", "correct": true, "explanation": "Ebenso `--vacuum-size=` und `--vacuum-files=`." },
{ "id": "b", "text": "`journalctl --disk-usage` zeigt, wie viel Platz das Journal belegt.", "correct": true, "explanation": "Summe aus aktiven und archivierten Dateien." },
{ "id": "c", "text": "`journalctl --rotate` löscht alle Meldungen.", "correct": false, "explanation": "Rotiert nur: Die aktiven Dateien werden archiviert, neue begonnen." },
{ "id": "d", "text": "`journalctl -r` zeigt das Journal eines entfernten Rechners.", "correct": false, "explanation": "`-r` (reverse) zeigt die neuesten Meldungen zuerst." },
{ "id": "e", "text": "`systemd-cat` liest das Journal und gibt es aus.", "correct": false, "explanation": "`systemd-cat` schreibt die Ausgabe eines Befehls **ins** Journal." }
],
"explanation": "Dauerhafte Grenzen: `SystemMaxUse=` und `MaxRetentionSec=` in `journald.conf`.",
"references": ["man 1 journalctl", "man 1 systemd-cat"]
},
{
"id": "108.2-013",
"objective": "108.2",
"type": "fill",
"difficulty": 1,
"question": "Mit welchem `journalctl`-Aufruf (Befehl und Option) zeigt man nur die **Kernel-Meldungen** aus dem Journal?",
"answers": ["journalctl -k", "journalctl --dmesg"],
"explanation": "Entspricht inhaltlich `dmesg`, aber mit Zeitstempeln und Filtern des Journals; impliziert den aktuellen Boot.",
"references": ["man 1 journalctl"]
},
{
"id": "108.3-005",
"objective": "108.3",
"type": "single",
"difficulty": 1,
"question": "Über welchen Port liefern MTAs E-Mails per SMTP **untereinander** aus?",
"options": [
{ "id": "a", "text": "25", "correct": true, "explanation": "Port 25/tcp: SMTP zwischen Mailservern." },
{ "id": "b", "text": "587", "correct": false, "explanation": "Submission: Einlieferung durch Mailprogramme (MUA) mit Authentifizierung." },
{ "id": "c", "text": "110", "correct": false, "explanation": "POP3 zum Abholen von Mails." },
{ "id": "d", "text": "143", "correct": false, "explanation": "IMAP zum Abholen bzw. Verwalten von Mails." },
{ "id": "e", "text": "993", "correct": false, "explanation": "IMAP über TLS." }
],
"explanation": "Zusätzlich 465 (SMTPS, Submission über TLS). Viele Provider sperren ausgehenden Port 25 für Endkunden.",
"references": ["man 5 services"]
},
{
"id": "108.3-006",
"objective": "108.3",
"type": "single",
"difficulty": 1,
"question": "Wie verschickt man auf der Befehlszeile den Inhalt von `bericht.txt` mit dem Betreff „Bericht“ an `anna@example.org`?",
"options": [
{ "id": "a", "text": "`mail -s \"Bericht\" anna@example.org < bericht.txt`", "correct": true, "explanation": "`mail` liest den Text von stdin; `-s` setzt den Betreff." },
{ "id": "b", "text": "`mailq -s \"Bericht\" anna@example.org < bericht.txt`", "correct": false, "explanation": "`mailq` zeigt nur die Warteschlange." },
{ "id": "c", "text": "`newaliases -s \"Bericht\" anna@example.org`", "correct": false, "explanation": "`newaliases` baut die Alias-Datenbank neu." },
{ "id": "d", "text": "`smtp anna@example.org bericht.txt`", "correct": false, "explanation": "Einen solchen Befehl gibt es standardmäßig nicht." },
{ "id": "e", "text": "`cat bericht.txt > anna@example.org`", "correct": false, "explanation": "Schreibt in eine **Datei** namens `anna@example.org`." }
],
"explanation": "`mail` übergibt die Nachricht an den lokalen MTA (über dessen `sendmail`-Schnittstelle).",
"references": ["man 1 mail"]
},
{
"id": "108.3-007",
"objective": "108.3",
"type": "fill",
"difficulty": 1,
"question": "In welcher Datei (vollständiger Pfad) stehen die systemweiten E-Mail-Aliase, z. B. `postmaster: root`?",
"answers": ["/etc/aliases"],
"explanation": "Nach Änderungen `newaliases` ausführen. Bei manchen Systemen liegt sie unter `/etc/mail/aliases`.",
"references": ["man 5 aliases"]
},
{
"id": "108.3-008",
"objective": "108.3",
"type": "single",
"difficulty": 2,
"question": "Warum bringen Postfix und Exim einen Befehl `sendmail` mit, obwohl sie nicht Sendmail sind?",
"options": [
{ "id": "a", "text": "Aus Kompatibilität: Viele Programme übergeben Mails an `/usr/sbin/sendmail`.", "correct": true, "explanation": "Die Schnittstelle ist ein De-facto-Standard; cron, mail und Skripte nutzen sie." },
{ "id": "b", "text": "Weil Postfix intern den Sendmail-Daemon startet.", "correct": false, "explanation": "Postfix ist eine eigenständige Implementierung." },
{ "id": "c", "text": "Damit sie Mails per IMAP abholen können.", "correct": false, "explanation": "Abholen ist Aufgabe von IMAP-/POP3-Servern und Clients." },
{ "id": "d", "text": "Weil `sendmail` die Konfigurationsdatei `/etc/aliases` ersetzt.", "correct": false, "explanation": "`/etc/aliases` bleibt in Gebrauch." },
{ "id": "e", "text": "Es ist nur ein Symlink auf `mailq` ohne eigene Funktion.", "correct": false, "explanation": "Umgekehrt: `mailq` und `newaliases` sind oft Links auf `sendmail`." }
],
"explanation": "`sendmail -bp` = `mailq`, `sendmail -bi` = `newaliases`, `sendmail -q` arbeitet die Warteschlange ab.",
"references": ["man 1 sendmail"]
},
{
"id": "108.3-009",
"objective": "108.3",
"type": "multi",
"difficulty": 1,
"question": "Welche Aussagen zu MTA, MDA und MUA treffen zu?",
"options": [
{ "id": "a", "text": "Thunderbird ist ein Mail User Agent (MUA).", "correct": true, "explanation": "Programm zum Lesen und Schreiben von Mails." },
{ "id": "b", "text": "Ein MTA überträgt Mails per SMTP zwischen Servern.", "correct": true, "explanation": "z. B. Postfix, Exim, Sendmail." },
{ "id": "c", "text": "Dovecot ist ein MTA.", "correct": false, "explanation": "Dovecot ist ein IMAP-/POP3-Server (mit eigenem LDA)." },
{ "id": "d", "text": "Ein MUA stellt Mails standardmäßig direkt an fremde Mailserver zu.", "correct": false, "explanation": "Ein MUA übergibt an einen MTA (Submission), der zustellt." },
{ "id": "e", "text": "`mailq` verschickt Mails sofort.", "correct": false, "explanation": "`mailq` zeigt nur die Warteschlange." }
],
"explanation": "Kette: MUA → MTA (Absender) → MTA (Empfänger) → MDA (lokale Zustellung) → Postfach → MUA.",
"references": ["LPI 102-500 Objective 108.3"]
},
{
"id": "108.4-004",
"objective": "108.4",
"type": "single",
"difficulty": 2,
"question": "Wie legt ein Benutzer den Drucker `buero` als seinen **Standarddrucker** fest?",
"options": [
{ "id": "a", "text": "`lpoptions -d buero`", "correct": true, "explanation": "Schreibt den Standarddrucker in `~/.cups/lpoptions` (als root systemweit)." },
{ "id": "b", "text": "`lp -d buero`", "correct": false, "explanation": "Druckt stdin einmalig auf `buero`, ändert den Standard nicht." },
{ "id": "c", "text": "`lpq -d buero`", "correct": false, "explanation": "`lpq` zeigt die Warteschlange." },
{ "id": "d", "text": "`cupsenable -d buero`", "correct": false, "explanation": "`cupsenable` aktiviert einen Drucker." },
{ "id": "e", "text": "`lprm -d buero`", "correct": false, "explanation": "`lprm` entfernt Aufträge." }
],
"explanation": "Systemweit als Administrator auch `lpadmin -d buero`. Die Variable `PRINTER` überschreibt den Standard für eine Sitzung.",
"references": ["man 1 lpoptions"]
},
{
"id": "108.4-005",
"objective": "108.4",
"type": "fill",
"difficulty": 2,
"question": "Welcher System-V-Druckbefehl (nur der Name) entfernt Druckaufträge – das Gegenstück zu `lprm`?",
"answers": ["cancel"],
"explanation": "`cancel ` bzw. `cancel -a ` für alle Aufträge eines Druckers.",
"references": ["man 1 cancel"]
},
{
"id": "108.4-006",
"objective": "108.4",
"type": "single",
"difficulty": 1,
"question": "Welcher Befehl zeigt alle Drucker mit ihrem Status und den Standarddrucker an?",
"options": [
{ "id": "a", "text": "`lpstat -p -d`", "correct": true, "explanation": "`-p` Druckerstatus, `-d` Standarddrucker; `lpstat -t` zeigt alles." },
{ "id": "b", "text": "`lpq -a`", "correct": false, "explanation": "Zeigt die Aufträge aller Warteschlangen." },
{ "id": "c", "text": "`lpinfo -v`", "correct": false, "explanation": "Listet verfügbare Geräte bzw. Backends für neue Drucker." },
{ "id": "d", "text": "`cupsctl`", "correct": false, "explanation": "Zeigt bzw. ändert Einstellungen des CUPS-Servers." },
{ "id": "e", "text": "`lpadmin -l`", "correct": false, "explanation": "`lpadmin` richtet Drucker ein; `-l` listet nichts." }
],
"explanation": "Die Weboberfläche unter `http://localhost:631` zeigt dieselben Informationen.",
"references": ["man 1 lpstat"]
},
{
"id": "108.4-007",
"objective": "108.4",
"type": "multi",
"difficulty": 2,
"question": "Druckaufträge für `buero` landen in der Warteschlange, werden aber nicht gedruckt. Welche Befehle helfen bei Diagnose bzw. Behebung?",
"options": [
{ "id": "a", "text": "`lpstat -t`", "correct": true, "explanation": "Zeigt Status aller Drucker (z. B. „disabled“) und Aufträge." },
{ "id": "b", "text": "`cupsenable buero`", "correct": true, "explanation": "Aktiviert einen angehaltenen Drucker wieder; danach wird gedruckt." },
{ "id": "c", "text": "`cupsreject buero`", "correct": false, "explanation": "Lässt den Drucker keine **neuen** Aufträge mehr annehmen." },
{ "id": "d", "text": "`lpadmin -x buero`", "correct": false, "explanation": "Löscht den Drucker." },
{ "id": "e", "text": "`lprm -`", "correct": false, "explanation": "Löscht alle eigenen Aufträge – behebt die Ursache nicht." }
],
"explanation": "CUPS deaktiviert einen Drucker oft selbst nach Fehlern. Details stehen in `/var/log/cups/error_log`.",
"references": ["man 8 cupsenable", "man 1 lpstat"]
}
]
}