neue Fragn

This commit is contained in:
Björn Runden committed 2026-10-30 15:40:37 +01:00
1 parent 07dbc01c92
commit 6a8035cced
16 files changed
+3422 -16

No files matched your search

@@ -0,0 +1,379 @@
{
"$schema": "../schema/questions.schema.json",
"format": "lpic-sim-questions",
"meta": {
"file": "questions_104_set2.json",
"brief": "Zweiter Fragensatz zu Topic 104 Geräte, Linux-Dateisysteme, FHS (LPIC-1 101-500, Objectives 5.0)",
"author": "Björn Runden <br@runden.de>",
"owner": "Björn Runden <br@runden.de>",
"assist": "KI-unterstützt (Claude Opus 5.5), geprüft von Björn Runden <br@runden.de>",
"version": "0.1.0 (30.10.2026)"
},
"exam": "lpic1-101",
"questions": [
{
"id": "104.1-004",
"objective": "104.1",
"type": "single",
"difficulty": 2,
"question": "Auf `/dev/sdb2` soll ein XFS-Dateisystem mit der Bezeichnung (Label) `daten` angelegt werden. Welcher Befehl ist korrekt?",
"options": [
{ "id": "a", "text": "`mkfs.xfs -L daten /dev/sdb2`", "correct": true, "explanation": "`-L` setzt das Label beim Anlegen (max. 12 Zeichen bei XFS)." },
{ "id": "b", "text": "`mke2fs -t xfs -L daten /dev/sdb2`", "correct": false, "explanation": "`mke2fs` legt nur ext2/3/4 an." },
{ "id": "c", "text": "`xfs_admin -L daten /dev/sdb2`", "correct": false, "explanation": "Ändert das Label eines **bestehenden** XFS; angelegt wird nichts." },
{ "id": "d", "text": "`mkfs -t xfs -l daten /dev/sdb2`", "correct": false, "explanation": "Kleines `-l` steht bei mkfs.xfs für Log-Optionen." },
{ "id": "e", "text": "`mount -t xfs -L daten /dev/sdb2`", "correct": false, "explanation": "`mount` legt keine Dateisysteme an." }
],
"explanation": "Labels lassen sich in fstab mit `LABEL=daten` nutzen. ext4: `e2label` bzw. `tune2fs -L`.",
"references": ["man 8 mkfs.xfs"]
},
{
"id": "104.1-005",
"objective": "104.1",
"type": "fill",
"difficulty": 1,
"question": "Mit welchem Befehl (mit Argument) aktiviert man den bereits initialisierten Swap-Bereich `/dev/sdc2`?",
"answers": ["swapon /dev/sdc2"],
"explanation": "Deaktivieren: `swapoff /dev/sdc2`; aktive Bereiche: `swapon --show`.",
"references": ["man 8 swapon"]
},
{
"id": "104.1-006",
"objective": "104.1",
"type": "single",
"difficulty": 2,
"question": "Ein USB-Stick soll unter Windows, macOS und Linux nutzbar sein und Dateien **größer als 4 GiB** speichern. Welches Dateisystem passt?",
"options": [
{ "id": "a", "text": "exFAT", "correct": true, "explanation": "Breit unterstützt und ohne 4-GiB-Grenze je Datei." },
{ "id": "b", "text": "VFAT (FAT32)", "correct": false, "explanation": "Breit unterstützt, aber Dateien sind auf knapp 4 GiB begrenzt." },
{ "id": "c", "text": "ext4", "correct": false, "explanation": "Windows und macOS lesen ext4 ohne Zusatzsoftware nicht." },
{ "id": "d", "text": "XFS", "correct": false, "explanation": "Nur unter Linux nativ nutzbar." },
{ "id": "e", "text": "Btrfs", "correct": false, "explanation": "Nur unter Linux nativ nutzbar." }
],
"explanation": "Anlegen: `mkfs.exfat` bzw. `mkfs.vfat`. Im Objective genannt: ext2/3/4, XFS, VFAT, exFAT, Btrfs (Grundlagen).",
"references": ["man 8 mkfs.exfat"]
},
{
"id": "104.1-007",
"objective": "104.1",
"type": "multi",
"difficulty": 2,
"question": "Welche Merkmale bietet **Btrfs**?",
"options": [
{ "id": "a", "text": "Subvolumes", "correct": true, "explanation": "Eigenständig einhängbare Teilbäume innerhalb eines Dateisystems." },
{ "id": "b", "text": "Snapshots", "correct": true, "explanation": "Platzsparende Momentaufnahmen per Copy-on-Write." },
{ "id": "c", "text": "Es ist ausschließlich als Swap verwendbar.", "correct": false, "explanation": "Btrfs ist ein vollwertiges Dateisystem." },
{ "id": "d", "text": "Es hat keine Prüfsummen für Daten.", "correct": false, "explanation": "Btrfs prüft Daten und Metadaten mit Prüfsummen." },
{ "id": "e", "text": "Es ist auf 2 TB Größe begrenzt.", "correct": false, "explanation": "Btrfs unterstützt sehr große Dateisysteme." }
],
"explanation": "Weitere Merkmale: integrierte RAID-Funktionen, Kompression, Online-Vergrößerung.",
"references": ["man 5 btrfs"]
},
{
"id": "104.2-004",
"objective": "104.2",
"type": "single",
"difficulty": 2,
"question": "Ein ext4 auf `/dev/sdb1` soll nach spätestens 30 Einhängevorgängen beim Start automatisch geprüft werden. Welcher Befehl stellt das ein?",
"options": [
{ "id": "a", "text": "`tune2fs -c 30 /dev/sdb1`", "correct": true, "explanation": "`-c` setzt die maximale Mount-Anzahl bis zur Prüfung." },
{ "id": "b", "text": "`tune2fs -i 30 /dev/sdb1`", "correct": false, "explanation": "`-i` setzt ein Zeitintervall (z. B. `30d`)." },
{ "id": "c", "text": "`e2fsck -c 30 /dev/sdb1`", "correct": false, "explanation": "`e2fsck -c` sucht fehlerhafte Blöcke mit `badblocks`." },
{ "id": "d", "text": "`dumpe2fs -c 30 /dev/sdb1`", "correct": false, "explanation": "`dumpe2fs` zeigt nur Informationen an." },
{ "id": "e", "text": "`mkfs.ext4 -c 30 /dev/sdb1`", "correct": false, "explanation": "Würde ein neues Dateisystem anlegen und alle Daten löschen." }
],
"explanation": "Aktuelle Werte: `tune2fs -l /dev/sdb1 | grep -i mount`.",
"references": ["man 8 tune2fs"]
},
{
"id": "104.2-005",
"objective": "104.2",
"type": "fill",
"difficulty": 1,
"question": "Welche `df`-Option (nur die Option) zeigt statt des Speicherplatzes die Belegung der **Inodes**?",
"answers": ["-i", "--inodes"],
"explanation": "Viele kleine Dateien können die Inodes erschöpfen, obwohl noch Platz frei ist.",
"references": ["man 1 df"]
},
{
"id": "104.2-006",
"objective": "104.2",
"type": "single",
"difficulty": 2,
"question": "Welcher Befehl zeigt die Superblock-Informationen eines ext4-Dateisystems an (z. B. Blockgröße, Mount-Zähler, Zustand)?",
"options": [
{ "id": "a", "text": "`dumpe2fs -h /dev/sdb1`", "correct": true, "explanation": "`-h` beschränkt die Ausgabe auf den Superblock; gleichwertig `tune2fs -l`." },
{ "id": "b", "text": "`xfs_info /dev/sdb1`", "correct": false, "explanation": "Für XFS-Dateisysteme." },
{ "id": "c", "text": "`blkid /dev/sdb1`", "correct": false, "explanation": "Zeigt nur UUID, Typ und Label." },
{ "id": "d", "text": "`fsck -N /dev/sdb1`", "correct": false, "explanation": "Zeigt nur, welcher Prüfbefehl ausgeführt würde." },
{ "id": "e", "text": "`du -s /dev/sdb1`", "correct": false, "explanation": "Zeigt die Größe der Gerätedatei, nicht des Dateisystems." }
],
"explanation": "`debugfs` erlaubt interaktive Untersuchung und Reparatur von ext-Dateisystemen – nur für Experten.",
"references": ["man 8 dumpe2fs"]
},
{
"id": "104.2-007",
"objective": "104.2",
"type": "multi",
"difficulty": 2,
"question": "Welche Aussagen zu `e2fsck` und `fsck` treffen zu?",
"options": [
{ "id": "a", "text": "`e2fsck -f` erzwingt eine Prüfung, auch wenn das Dateisystem als sauber markiert ist.", "correct": true, "explanation": "Ohne `-f` überspringt e2fsck saubere Dateisysteme." },
{ "id": "b", "text": "`e2fsck -n` prüft nur und beantwortet alle Fragen mit „nein“, ändert also nichts.", "correct": true, "explanation": "Sicherer Prüflauf; damit auch an lesend eingehängten Dateisystemen nutzbar." },
{ "id": "c", "text": "`fsck -A` prüft nur das Root-Dateisystem.", "correct": false, "explanation": "`-A` prüft alle Dateisysteme aus `/etc/fstab` (in der Reihenfolge des sechsten Felds)." },
{ "id": "d", "text": "`xfs_repair` darf auf einem eingehängten XFS laufen.", "correct": false, "explanation": "XFS muss ausgehängt sein; nur `-n` (Prüfung) geht eingeschränkt." },
{ "id": "e", "text": "`e2fsck -y` beantwortet alle Fragen mit „nein“.", "correct": false, "explanation": "`-y` beantwortet alle Fragen mit „ja“ und repariert automatisch." }
],
"explanation": "`-p` (preen) repariert automatisch nur gefahrlose Fehler – so laufen Prüfungen beim Start.",
"references": ["man 8 e2fsck", "man 8 fsck"]
},
{
"id": "104.3-005",
"objective": "104.3",
"type": "single",
"difficulty": 1,
"question": "Was bewirkt die Mount-Option `noexec`?",
"options": [
{ "id": "a", "text": "Programme auf diesem Dateisystem können nicht direkt ausgeführt werden.", "correct": true, "explanation": "Das Ausführungsrecht wird ignoriert – nützlich z. B. für `/tmp` oder Wechselmedien." },
{ "id": "b", "text": "Das Dateisystem wird nur lesend eingehängt.", "correct": false, "explanation": "Das ist `ro`." },
{ "id": "c", "text": "SUID-Bits werden ignoriert.", "correct": false, "explanation": "Das ist `nosuid`." },
{ "id": "d", "text": "Gerätedateien werden nicht ausgewertet.", "correct": false, "explanation": "Das ist `nodev`." },
{ "id": "e", "text": "Das Dateisystem wird beim Start nicht eingehängt.", "correct": false, "explanation": "Das ist `noauto`." }
],
"explanation": "`defaults` steht für `rw,suid,dev,exec,auto,nouser,async`.",
"references": ["man 8 mount"]
},
{
"id": "104.3-006",
"objective": "104.3",
"type": "fill",
"difficulty": 1,
"question": "Welche Option im vierten Feld von `/etc/fstab` verhindert, dass ein Dateisystem beim Start bzw. mit `mount -a` automatisch eingehängt wird?",
"answers": ["noauto"],
"explanation": "Typisch für Wechselmedien; manuell mit `mount /mnt/usb` einhängen, da der Eintrag bekannt ist.",
"references": ["man 5 fstab"]
},
{
"id": "104.3-007",
"objective": "104.3",
"type": "single",
"difficulty": 2,
"question": "Wie hängt man das Root-Dateisystem im laufenden Betrieb **nur lesend** neu ein?",
"options": [
{ "id": "a", "text": "`mount -o remount,ro /`", "correct": true, "explanation": "`remount` ändert Optionen, ohne auszuhängen." },
{ "id": "b", "text": "`umount / && mount -r /`", "correct": false, "explanation": "Das Root-Dateisystem lässt sich im Betrieb nicht aushängen." },
{ "id": "c", "text": "`mount -a -o ro`", "correct": false, "explanation": "Hängt die noch nicht eingehängten fstab-Einträge ein." },
{ "id": "d", "text": "`chmod -R a-w /`", "correct": false, "explanation": "Ändert Rechte aller Dateien – schwerwiegend und nicht gemeint." },
{ "id": "e", "text": "`fsck -r /`", "correct": false, "explanation": "`fsck` hängt nichts ein." }
],
"explanation": "Umgekehrt im Rettungsmodus: `mount -o remount,rw /`, um Konfigurationen zu reparieren.",
"references": ["man 8 mount"]
},
{
"id": "104.3-008",
"objective": "104.3",
"type": "single",
"difficulty": 2,
"question": "Wie muss eine systemd-Mount-Unit heißen, die `/srv/backup` einhängt?",
"options": [
{ "id": "a", "text": "`srv-backup.mount`", "correct": true, "explanation": "Der Name leitet sich vom Pfad ab: führenden `/` weglassen, weitere `/` durch `-` ersetzen." },
{ "id": "b", "text": "`backup.mount`", "correct": false, "explanation": "Der Name muss dem vollständigen Pfad entsprechen." },
{ "id": "c", "text": "`srv/backup.mount`", "correct": false, "explanation": "Schrägstriche sind im Unit-Namen nicht erlaubt." },
{ "id": "d", "text": "`srv-backup.service`", "correct": false, "explanation": "Mount-Units haben die Endung `.mount`." },
{ "id": "e", "text": "`mount-srv-backup.target`", "correct": false, "explanation": "Targets gruppieren Units; einhängen tun sie nicht." }
],
"explanation": "Hilfe: `systemd-escape -p --suffix=mount /srv/backup`. Für Einträge in `/etc/fstab` erzeugt systemd solche Units automatisch.",
"references": ["man 5 systemd.mount"]
},
{
"id": "104.3-009",
"objective": "104.3",
"type": "multi",
"difficulty": 1,
"question": "Welche Aussagen zum Einhängen von Dateisystemen treffen zu?",
"options": [
{ "id": "a", "text": "Die fstab-Option `user` erlaubt normalen Benutzern, das Dateisystem einzuhängen.", "correct": true, "explanation": "Nur derselbe Benutzer darf es wieder aushängen (`users`: alle)." },
{ "id": "b", "text": "`findmnt` zeigt die eingehängten Dateisysteme als Baum.", "correct": true, "explanation": "Mit Quelle, Ziel, Typ und Optionen." },
{ "id": "c", "text": "`umount` akzeptiert nur den Gerätenamen, nicht den Einhängepunkt.", "correct": false, "explanation": "Beides funktioniert: `umount /dev/sdb1` oder `umount /mnt/daten`." },
{ "id": "d", "text": "`defaults` enthält die Option `noexec`.", "correct": false, "explanation": "`defaults` enthält `exec`." },
{ "id": "e", "text": "`mount` ohne Argumente hängt alle Dateisysteme aus.", "correct": false, "explanation": "Es listet die eingehängten Dateisysteme." }
],
"explanation": "Aktuell eingehängte Dateisysteme stehen auch in `/proc/mounts` (bzw. `/proc/self/mounts`).",
"references": ["man 8 findmnt", "man 5 fstab"]
},
{
"id": "104.5-006",
"objective": "104.5",
"type": "single",
"difficulty": 1,
"question": "Was bedeutet das `t` am Ende von `drwxrwxrwt` beim Verzeichnis `/tmp`?",
"options": [
{ "id": "a", "text": "Sticky-Bit: Dateien darf nur ihr Eigentümer (bzw. der Verzeichniseigentümer oder root) löschen oder umbenennen.", "correct": true, "explanation": "Obwohl alle Schreibrecht haben, können sie fremde Dateien nicht löschen." },
{ "id": "b", "text": "Das Verzeichnis ist temporär und wird beim Neustart gelöscht.", "correct": false, "explanation": "Ob `/tmp` geleert wird, regelt die Distribution, nicht das `t`." },
{ "id": "c", "text": "Dateien im Verzeichnis erben die Gruppe des Verzeichnisses.", "correct": false, "explanation": "Das ist SGID auf Verzeichnissen." },
{ "id": "d", "text": "Programme im Verzeichnis laufen mit den Rechten des Eigentümers.", "correct": false, "explanation": "Das ist SUID bei Dateien." },
{ "id": "e", "text": "Das Verzeichnis ist ein symbolischer Link.", "correct": false, "explanation": "Links erkennt man am `l` am **Anfang**." }
],
"explanation": "Setzen: `chmod +t verzeichnis` bzw. oktal `1777`. Großes `T` heißt: Sticky gesetzt, aber kein x für andere.",
"references": ["man 1 chmod"]
},
{
"id": "104.5-007",
"objective": "104.5",
"type": "fill",
"difficulty": 1,
"question": "Geben Sie den `chmod`-Befehl in **symbolischer** Schreibweise ein, der „anderen“ (others) alle Rechte an `bericht.txt` entzieht.",
"answers": ["chmod o-rwx bericht.txt", "chmod o= bericht.txt", "chmod o-rxw bericht.txt", "chmod o-wrx bericht.txt", "chmod o-wxr bericht.txt", "chmod o-xrw bericht.txt", "chmod o-xwr bericht.txt"],
"explanation": "`u` Eigentümer, `g` Gruppe, `o` andere, `a` alle; `+` hinzufügen, `-` entfernen, `=` genau setzen.",
"references": ["man 1 chmod"]
},
{
"id": "104.5-008",
"objective": "104.5",
"type": "single",
"difficulty": 2,
"question": "Welche Wirkung hat das **SGID-Bit** auf einem Verzeichnis?",
"options": [
{ "id": "a", "text": "Neu angelegte Dateien und Unterverzeichnisse erhalten die Gruppe des Verzeichnisses.", "correct": true, "explanation": "Praktisch für gemeinsame Projektverzeichnisse." },
{ "id": "b", "text": "Nur der Eigentümer darf Dateien löschen.", "correct": false, "explanation": "Das ist das Sticky-Bit." },
{ "id": "c", "text": "Programme laufen mit den Rechten der Gruppe des Aufrufers.", "correct": false, "explanation": "Programme laufen normal ohnehin mit der Gruppe des Aufrufers; SGID auf Dateien setzt die Gruppe der **Datei**." },
{ "id": "d", "text": "Das Verzeichnis kann nicht gelöscht werden.", "correct": false, "explanation": "Dafür gibt es kein Rechtebit (nur das Attribut `chattr +i`)." },
{ "id": "e", "text": "Alle Benutzer werden Mitglied der Gruppe.", "correct": false, "explanation": "Rechtebits ändern keine Gruppenmitgliedschaften." }
],
"explanation": "Setzen: `chmod g+s verzeichnis`; in `ls -l` steht dann `s` an der x-Stelle der Gruppe.",
"references": ["man 1 chmod"]
},
{
"id": "104.5-009",
"objective": "104.5",
"type": "single",
"difficulty": 2,
"question": "Welche Rechte hat ein Verzeichnis nach `chmod 2770 projekt`?",
"options": [
{ "id": "a", "text": "`drwxrws---`", "correct": true, "explanation": "2 = SGID, 7 = rwx (Eigentümer), 7 = rwx (Gruppe, mit `s` für SGID), 0 = keine (andere)." },
{ "id": "b", "text": "`drwsrwx---`", "correct": false, "explanation": "`s` beim Eigentümer wäre SUID (4xxx)." },
{ "id": "c", "text": "`drwxrwx--T`", "correct": false, "explanation": "`T` wäre das Sticky-Bit (1xxx)." },
{ "id": "d", "text": "`d-w-rwxrwx`", "correct": false, "explanation": "Die führende 2 ist kein Rechtewert für den Eigentümer." },
{ "id": "e", "text": "`drwxr-x---`", "correct": false, "explanation": "Das wäre 750 ohne Sonderbit." }
],
"explanation": "Sonderbits als vierte Ziffer vorne: 4 SUID, 2 SGID, 1 Sticky, auch kombiniert (z. B. 3770).",
"references": ["man 1 chmod"]
},
{
"id": "104.5-010",
"objective": "104.5",
"type": "single",
"difficulty": 1,
"question": "Wie setzt man für `/srv/projekt` und **alles darin** den Eigentümer `anna` und die Gruppe `team`?",
"options": [
{ "id": "a", "text": "`chown -R anna:team /srv/projekt`", "correct": true, "explanation": "`-R` arbeitet rekursiv, `benutzer:gruppe` setzt beides." },
{ "id": "b", "text": "`chown anna:team /srv/projekt`", "correct": false, "explanation": "Ändert nur das Verzeichnis selbst, nicht den Inhalt." },
{ "id": "c", "text": "`chmod -R anna:team /srv/projekt`", "correct": false, "explanation": "`chmod` ändert Rechte, keine Eigentümer." },
{ "id": "d", "text": "`chgrp -R anna:team /srv/projekt`", "correct": false, "explanation": "`chgrp` setzt nur die Gruppe und erwartet nur einen Gruppennamen." },
{ "id": "e", "text": "`usermod -R team anna /srv/projekt`", "correct": false, "explanation": "`usermod` ändert Benutzerkonten." }
],
"explanation": "Den Eigentümer ändern darf nur root.",
"references": ["man 1 chown"]
},
{
"id": "104.5-011",
"objective": "104.5",
"type": "multi",
"difficulty": 2,
"question": "Welche Aussagen zu Rechten an **Verzeichnissen** treffen zu?",
"options": [
{ "id": "a", "text": "Das x-Recht erlaubt, das Verzeichnis zu betreten und auf Einträge darin zuzugreifen.", "correct": true, "explanation": "Ohne x kein `cd` und kein Zugriff auf Dateien darin, auch wenn ihr Name bekannt ist." },
{ "id": "b", "text": "Das w-Recht (zusammen mit x) erlaubt, Dateien darin anzulegen, umzubenennen und zu löschen.", "correct": true, "explanation": "Löschen ist eine Änderung des Verzeichnisses." },
{ "id": "c", "text": "Das r-Recht allein erlaubt, den Inhalt der Dateien zu lesen.", "correct": false, "explanation": "r am Verzeichnis erlaubt nur, die Namen aufzulisten; Dateiinhalt hängt von den Dateirechten (und x am Verzeichnis) ab." },
{ "id": "d", "text": "Zum Löschen einer Datei braucht man Schreibrecht an der Datei selbst.", "correct": false, "explanation": "Entscheidend ist das Schreibrecht am Verzeichnis (Ausnahme: Sticky-Bit)." },
{ "id": "e", "text": "Die umask ändert auch die Rechte bereits bestehender Dateien.", "correct": false, "explanation": "Die umask wirkt nur beim Anlegen neuer Dateien." }
],
"explanation": "Üblich: Verzeichnisse 755 bzw. 750, Dateien 644 bzw. 640.",
"references": ["man 7 inode", "man 1 chmod"]
},
{
"id": "104.6-004",
"objective": "104.6",
"type": "single",
"difficulty": 1,
"question": "Was passiert mit einem symbolischen Link, wenn seine Zieldatei gelöscht wird?",
"options": [
{ "id": "a", "text": "Der Link bleibt bestehen, zeigt aber ins Leere (verwaister Link).", "correct": true, "explanation": "Ein Symlink speichert nur den Pfad; Zugriffe melden „No such file or directory“." },
{ "id": "b", "text": "Der Link wird automatisch mitgelöscht.", "correct": false, "explanation": "Linux entfernt Symlinks nicht automatisch." },
{ "id": "c", "text": "Der Link enthält weiterhin den Dateiinhalt.", "correct": false, "explanation": "So verhält sich ein Hardlink, kein Symlink." },
{ "id": "d", "text": "Der Link wird zu einem Hardlink.", "correct": false, "explanation": "Der Link-Typ ändert sich nie." },
{ "id": "e", "text": "Das Löschen schlägt fehl, solange ein Link existiert.", "correct": false, "explanation": "Symlinks verhindern das Löschen nicht." }
],
"explanation": "Verwaiste Links finden: `find /pfad -xtype l`.",
"references": ["man 7 symlink"]
},
{
"id": "104.6-005",
"objective": "104.6",
"type": "fill",
"difficulty": 1,
"question": "Welcher Befehl (nur der Name) gibt das Ziel eines symbolischen Links aus?",
"answers": ["readlink"],
"explanation": "`readlink -f` löst die ganze Kette auf und gibt den absoluten Pfad aus. Auch `ls -l` zeigt `link -> ziel`.",
"references": ["man 1 readlink"]
},
{
"id": "104.6-006",
"objective": "104.6",
"type": "multi",
"difficulty": 2,
"question": "Welche Aussagen über **symbolische** Links treffen zu?",
"options": [
{ "id": "a", "text": "Symbolische Links können auf Dateien in anderen Dateisystemen zeigen.", "correct": true, "explanation": "Sie speichern nur einen Pfad." },
{ "id": "b", "text": "`ls -l` zeigt bei einem Symlink ein `l` als erstes Zeichen.", "correct": true, "explanation": "z. B. `lrwxrwxrwx … aktuell -> release-2.4`." },
{ "id": "c", "text": "Ein Symlink teilt sich den Inode mit seinem Ziel.", "correct": false, "explanation": "Das gilt für Hardlinks; ein Symlink hat einen eigenen Inode." },
{ "id": "d", "text": "Löscht man den Symlink, wird auch das Ziel gelöscht.", "correct": false, "explanation": "`rm link` entfernt nur den Link." },
{ "id": "e", "text": "Symlinks können nicht auf Verzeichnisse zeigen.", "correct": false, "explanation": "Symlinks auf Verzeichnisse sind üblich (z. B. `/bin -> usr/bin`)." }
],
"explanation": "Relative Symlinks (`ln -s ../ziel link`) gelten relativ zum Ort des Links, nicht zum aktuellen Verzeichnis.",
"references": ["man 7 symlink"]
},
{
"id": "104.7-004",
"objective": "104.7",
"type": "single",
"difficulty": 1,
"question": "Wohin gehört laut FHS ein eigenständiges **Zusatz-Softwarepaket** eines Drittanbieters?",
"options": [
{ "id": "a", "text": "`/opt`", "correct": true, "explanation": "Je Paket ein Unterverzeichnis, z. B. `/opt/<anbieter>/`." },
{ "id": "b", "text": "`/srv`", "correct": false, "explanation": "Für Daten, die der Rechner als Dienst ausliefert." },
{ "id": "c", "text": "`/var/lib`", "correct": false, "explanation": "Für Zustandsdaten von Programmen." },
{ "id": "d", "text": "`/etc`", "correct": false, "explanation": "Nur für Konfiguration." },
{ "id": "e", "text": "`/boot`", "correct": false, "explanation": "Nur für Bootloader, Kernel und initramfs." }
],
"explanation": "Selbst kompilierte Software installiert man üblicherweise unter `/usr/local` (bin, lib, share).",
"references": ["man 7 hier"]
},
{
"id": "104.7-005",
"objective": "104.7",
"type": "fill",
"difficulty": 2,
"question": "In welchem Verzeichnis liegen laut FHS temporäre Dateien, die einen **Neustart überdauern** sollen? (Pfad)",
"answers": ["/var/tmp"],
"explanation": "`/tmp` darf beim Start geleert werden (oft tmpfs im RAM), `/var/tmp` bleibt erhalten.",
"references": ["man 7 hier"]
},
{
"id": "104.7-006",
"objective": "104.7",
"type": "multi",
"difficulty": 1,
"question": "Welche Aussagen zum Filesystem Hierarchy Standard treffen zu?",
"options": [
{ "id": "a", "text": "`/usr` enthält weitgehend statische Daten und kann schreibgeschützt eingehängt werden.", "correct": true, "explanation": "Programme, Bibliotheken, Dokumentation – nicht hostspezifisch." },
{ "id": "b", "text": "`/home` enthält die Home-Verzeichnisse der Benutzer.", "correct": true, "explanation": "Das Home von root liegt dagegen in `/root`." },
{ "id": "c", "text": "`/proc` enthält die Konfigurationsdateien der Dienste.", "correct": false, "explanation": "`/proc` ist ein virtuelles Dateisystem mit Prozess- und Kernelinformationen." },
{ "id": "d", "text": "`/sbin` ist für Programme normaler Benutzer gedacht.", "correct": false, "explanation": "`/sbin` enthält Systemprogramme für die Administration." },
{ "id": "e", "text": "`/dev` enthält den Quellcode der Gerätetreiber.", "correct": false, "explanation": "`/dev` enthält Gerätedateien." }
],
"explanation": "Kurzüberblick: `man 7 hier` bzw. `man 7 file-hierarchy` (systemd).",
"references": ["man 7 hier"]
}
]
}