/etc/fstab: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
 
=Zweck=
 
=Zweck=
* Die Datei /etc/fstab enthält Mount-Optionen, Geräte und Mount-Punkte für Dateisysteme.
 
* Sie ermöglicht das automatische Mounten von Dateisystemen beim Booten.
 
* Benutzer können Dateisysteme mithilfe von /etc/fstab mounten.
 
* In der Datei können verschiedene Einstellungen wie Mount-Optionen und Gerätedateien festgelegt werden.
 
* Die Verwendung von /etc/fstab vereinfacht und automatisiert die Mount-Konfiguration.
 
=Beispiel=
 
*cat /etc/fstab
 
proc            /proc          proc    defaults        0      0
 
UUID=581cc4b6-7c7a-4a57-8c85-a0941dbcfeae /              ext3    relatime,errors=remount-ro 0      1
 
UUID=5b8ed1c7-b16d-440c-bc36-7f66ce0131aa none            swap    sw              0      0
 
/dev/scd0      /media/cdrom0  udf,iso9660 user,noauto,exec,utf8 0      0
 
192.168.240.1:/export/share /export    nfs    defaults 0 0
 
*Die sechs Felder werden durch Leerzeichen voneinander getrennt
 
*Kommentare werden durch das Nummernzeichen # eingeleitet.
 
=Bedeutung=
 
  
{| Border=1 Cellpadding=2
+
Die Datei <code>/etc/fstab</code> (''file system table'') legt fest, welche Dateisysteme beim Booten automatisch eingehängt werden, an welchem Mountpunkt und mit welchen Optionen. Sie ist außerdem die Vorlage für unvollständige <code>mount</code>-Aufrufe: steht ein Gerät oder Mountpunkt in der fstab, genügt <code>mount /mnt/docs</code> und der Rest wird ergänzt.
!Feld  
+
 
!Bedeutung
+
=Aufbau=
 +
 
 +
Jede Zeile beschreibt ein Dateisystem mit '''sechs durch Leerzeichen getrennten Feldern'''. Kommentare beginnen mit <code>#</code>.
 +
 
 +
# Gerät              Mountpunkt  Typ    Optionen                  Dump  Check
 +
UUID=581cc4b6-...    /            ext4  errors=remount-ro          0    1
 +
UUID=5b8ed1c7-...    none        swap  sw                        0    0
 +
/dev/sdb1            /mnt/docs    ext4  defaults                  0    2
 +
/dev/sr0            /media/cdrom udf,iso9660  user,noauto,exec    0    0
 +
192.168.240.1:/export/share  /export  nfs  defaults                0    0
 +
 
 +
{| class="wikitable"
 +
! Feld !! Name !! Bedeutung
 
|-
 
|-
! Device
+
| 1 || Gerät || Gerätedatei, UUID, Label oder Netzwerkfreigabe. '''UUID''' ist am robustesten, weil sie sich beim Umstecken nicht ändert – Gerätenamen wie <code>/dev/sdb1</code> können wandern.
| Im ersten Feld wird die Gerätedatei oder die Netzwerkfreigabe angegeben,
 
für die der Eintrag gelten soll. Auch die Angabe der UUID ist möglich.
 
 
|-
 
|-
! Mountpunkt
+
| 2 || Mountpunkt || Verzeichnis, auf das eingehängt wird. Bei Swap steht hier <code>none</code> oder <code>swap</code>.
| Im zweiten Feld wird angegeben, auf welchem Verzeichnis die Partition
 
gemountet werden soll.
 
 
|-
 
|-
! Typ
+
| 3 || Typ || Dateisystemtyp: <code>ext4</code>, <code>xfs</code>, <code>btrfs</code>, <code>swap</code>, <code>nfs</code>. <code>auto</code> lässt den Kernel raten.
|Das dritte Feld ordnet der Partition oder dem Gerät einen Dateisystemtyp zu.
 
 
|-
 
|-
! Optionen
+
| 4 || Optionen || Kommagetrennte Mount-Optionen, dieselben wie bei <code>mount -o</code> (siehe [[Linux mount und umount]]).
|Im vierten Feld werden die Optionen eingetragen, mit denen das Dateisystem
 
gemountet werden soll. Es sind alle Optionen erlaubt, die auch bei der interaktiven
 
Benutzung von mount akzeptiert werden.
 
Das Feld kann eine Liste von mehreren, durch Kommata getrennten Optionen enthalten.
 
 
|-
 
|-
! Dump
+
| 5 || Dump || Markierung für das alte Backup-Programm <code>dump</code>. Heute praktisch bedeutungslos – steht fast immer auf <code>0</code>.
|Das fünfte Feld dient zur Markierung eines Dateisystems als Kandidat für die
 
Datensicherung durch das Systemprogramm dump. Mit dump können nur EXT2 Dateisysteme gesichert werden.
 
 
|-
 
|-
! Check
+
| 6 || Check || Reihenfolge der fsck-Prüfung beim Booten.
|Mit dem sechsten Feld kann die Reihenfolge bestimmt werden, in der die Dateisysteme
 
beim automatischen Filesystemcheck während des Bootens geprüft werden. Das Rootfilesystem
 
sollte hier als einziges mit der 1 gekennzeichnet werden, damit dessen Prüfung zuerst
 
und allein erfolgt. Partitionen, die im sechsten Feld mit einer Null gekennzeichnet sind,
 
werden nicht automatisch einem Filesystemcheck unterworfen.
 
 
|}
 
|}
=Allgemeine Mount-Optionen=
+
 
*[[Allgemeine Mount-Optionen]]
+
==Das Check-Feld richtig setzen==
=Aufgaben=
+
 
=Info=
+
*<code>1</code> – nur für das Root-Dateisystem. Es wird zuerst und allein geprüft.
;Bei Debian12 - Nach dem ändern der /etc/fstab
+
*<code>2</code> – für alle anderen ext-Dateisysteme. Sie werden nach Root und untereinander parallel geprüft.
 +
*<code>0</code> – keine Prüfung beim Booten. '''Für btrfs und xfs immer 0''', denn diese bringen kein <code>fsck</code> beim Start mit; auch Swap und Netzlaufwerke stehen auf 0.
 +
 
 +
=Die UUID herausfinden=
 +
 
 +
Der Gerätename in Feld 1 sollte eine UUID sein. Beide Werkzeuge zeigen sie:
 +
*blkid /dev/sdb1
 +
 
 +
*lsblk -f
 +
 
 +
=Nach dem Ändern: testen, nicht raten=
 +
 
 +
Ein fehlerhafter fstab-Eintrag kann das '''Booten verhindern''' – das System bleibt dann im Notfall-Prompt hängen. Deshalb '''vor dem Neustart''' prüfen, ob alle Einträge sauber einhängen:
 +
*mount -a
 +
 
 +
Kommt keine Fehlermeldung, sind die Einträge in Ordnung. Erst dann neu starten.
 +
 
 +
Auf systemd-Systemen (Debian 12, Rocky) liest der Automounter die Datei nicht sofort neu. Nach einer Änderung einlesen lassen:
 
*systemctl daemon-reload
 
*systemctl daemon-reload
;ausführen
+
 
 +
=Einen Eintrag entschärfen=
 +
 
 +
Soll ein Dateisystem vorerst '''nicht''' automatisch gemountet werden, aber der Eintrag bleiben, hilft die Option <code>noauto</code> in Feld 4. Dann wird es beim Booten übersprungen und lässt sich später von Hand über den Mountpunkt einhängen.
 +
/dev/sdb3  /mnt/video  ext4  noauto  0  0
  
 
=Aufgaben=
 
=Aufgaben=
*Erstellen Sie auf /dev/sdc 4 Partionen
 
*Formatieren Sie diese mit ext4 Standardeinstellungen
 
*Legen sie folgende Verzeichnisse an
 
**/mnt/media
 
**/mnt/misc
 
**/mnt/video
 
**/mnt/docs
 
**/mnt/share
 
*Machen Sie folgende Einträge in die /etc/fstab
 
*1Partition - media kein Ausführen erlauben und acl
 
*2Partition - misc kein SUID Kein dev erlauben und ro
 
*3Partition - video kein automatisches Mounten
 
*4Partition - docs automatisches Mounten, user soll mounten können
 
  
=Fleissaufgabe=
+
Vorbereitung: eine leere Datenplatte <code>/dev/sdc</code>. '''<code>/dev/sda</code> bleibt unberührt.'''
*Erstellen Sie eine leere Date von 2GB
+
 
*Formatieren Sie diese
+
* Erstellen Sie auf /dev/sdc vier Partitionen (mit fdisk oder gdisk).
*Hängen Sie diese in der /etc/fstab an share
+
<!-- Lösung: fdisk /dev/sdc  ->  viermal n, dann w -->
 +
 
 +
* Formatieren Sie die vier Partitionen mit ext4 in Standardeinstellungen.
 +
<!-- Lösung:
 +
mkfs.ext4 /dev/sdc1
 +
mkfs.ext4 /dev/sdc2
 +
mkfs.ext4 /dev/sdc3
 +
mkfs.ext4 /dev/sdc4
 +
-->
 +
 
 +
* Legen Sie die Mountpunkte /mnt/media, /mnt/misc, /mnt/video und /mnt/docs an.
 +
<!-- Lösung: mkdir -p /mnt/media /mnt/misc /mnt/video /mnt/docs -->
 +
 
 +
* Ermitteln Sie die UUIDs der vier Partitionen.
 +
<!-- Lösung: blkid /dev/sdc1 /dev/sdc2 /dev/sdc3 /dev/sdc4 -->
 +
 
 +
* Tragen Sie die 1. Partition (media) so ein, dass kein Ausführen erlaubt ist und ACLs aktiv sind.
 +
<!-- Lösung: /etc/fstab:
 +
UUID=... /mnt/media ext4 noexec,acl 0 2 -->
 +
 
 +
* Tragen Sie die 2. Partition (misc) so ein: kein SUID, kein dev, nur lesend.
 +
<!-- Lösung: /etc/fstab:
 +
UUID=... /mnt/misc ext4 nosuid,nodev,ro 0 2 -->
 +
 
 +
* Tragen Sie die 3. Partition (video) so ein, dass sie nicht automatisch gemountet wird.
 +
<!-- Lösung: /etc/fstab:
 +
UUID=... /mnt/video ext4 noauto 0 2 -->
 +
 
 +
* Tragen Sie die 4. Partition (docs) so ein: automatisches Mounten, normale Nutzer dürfen mounten.
 +
<!-- Lösung: /etc/fstab:
 +
UUID=... /mnt/docs ext4 auto,user 0 2 -->
 +
 
 +
* Testen Sie alle Einträge, ohne neu zu starten.
 +
<!-- Lösung: mount -a  (Fehler? Eintrag korrigieren, bevor rebootet wird) -->
 +
 
 +
* Prüfen Sie mit findmnt, ob media wirklich noexec und misc wirklich ro gemountet ist.
 +
<!-- Lösung: findmnt /mnt/media ; findmnt /mnt/misc -->
 +
 
 +
=Fleißaufgabe: Datei als Dateisystem (Loop)=
 +
 
 +
Statt einer echten Partition lässt sich auch eine Datei als Dateisystem einhängen – über ein Loop-Gerät.
 +
 
 +
* Erstellen Sie eine leere Datei von 2 GB.
 +
<!-- Lösung: fallocate -l 2G /srv/share.img  (alternativ: dd if=/dev/zero of=/srv/share.img bs=1M count=2048) -->
 +
 
 +
* Formatieren Sie die Datei mit ext4.
 +
<!-- Lösung: mkfs.ext4 /srv/share.img  (Rückfrage nach Nicht-Blockgerät mit y bestätigen) -->
 +
 
 +
* Legen Sie den Mountpunkt /mnt/share an und tragen Sie die Datei mit der Option loop in die /etc/fstab ein.
 +
<!-- Lösung:
 +
mkdir -p /mnt/share
 +
/etc/fstab:
 +
/srv/share.img  /mnt/share  ext4  loop  0  0
 +
-->
 +
 
 +
* Testen Sie den Eintrag.
 +
<!-- Lösung: mount -a ; findmnt /mnt/share -->

Aktuelle Version vom 20. August 2026, 05:26 Uhr

Zweck

Die Datei /etc/fstab (file system table) legt fest, welche Dateisysteme beim Booten automatisch eingehängt werden, an welchem Mountpunkt und mit welchen Optionen. Sie ist außerdem die Vorlage für unvollständige mount-Aufrufe: steht ein Gerät oder Mountpunkt in der fstab, genügt mount /mnt/docs und der Rest wird ergänzt.

Aufbau

Jede Zeile beschreibt ein Dateisystem mit sechs durch Leerzeichen getrennten Feldern. Kommentare beginnen mit #.

# Gerät              Mountpunkt   Typ    Optionen                  Dump  Check
UUID=581cc4b6-...    /            ext4   errors=remount-ro          0     1
UUID=5b8ed1c7-...    none         swap   sw                         0     0
/dev/sdb1            /mnt/docs    ext4   defaults                   0     2
/dev/sr0             /media/cdrom udf,iso9660  user,noauto,exec     0     0
192.168.240.1:/export/share  /export  nfs  defaults                0     0
Feld Name Bedeutung
1 Gerät Gerätedatei, UUID, Label oder Netzwerkfreigabe. UUID ist am robustesten, weil sie sich beim Umstecken nicht ändert – Gerätenamen wie /dev/sdb1 können wandern.
2 Mountpunkt Verzeichnis, auf das eingehängt wird. Bei Swap steht hier none oder swap.
3 Typ Dateisystemtyp: ext4, xfs, btrfs, swap, nfs. auto lässt den Kernel raten.
4 Optionen Kommagetrennte Mount-Optionen, dieselben wie bei mount -o (siehe Linux mount und umount).
5 Dump Markierung für das alte Backup-Programm dump. Heute praktisch bedeutungslos – steht fast immer auf 0.
6 Check Reihenfolge der fsck-Prüfung beim Booten.

Das Check-Feld richtig setzen

  • 1 – nur für das Root-Dateisystem. Es wird zuerst und allein geprüft.
  • 2 – für alle anderen ext-Dateisysteme. Sie werden nach Root und untereinander parallel geprüft.
  • 0 – keine Prüfung beim Booten. Für btrfs und xfs immer 0, denn diese bringen kein fsck beim Start mit; auch Swap und Netzlaufwerke stehen auf 0.

Die UUID herausfinden

Der Gerätename in Feld 1 sollte eine UUID sein. Beide Werkzeuge zeigen sie:

  • blkid /dev/sdb1
  • lsblk -f

Nach dem Ändern: testen, nicht raten

Ein fehlerhafter fstab-Eintrag kann das Booten verhindern – das System bleibt dann im Notfall-Prompt hängen. Deshalb vor dem Neustart prüfen, ob alle Einträge sauber einhängen:

  • mount -a

Kommt keine Fehlermeldung, sind die Einträge in Ordnung. Erst dann neu starten.

Auf systemd-Systemen (Debian 12, Rocky) liest der Automounter die Datei nicht sofort neu. Nach einer Änderung einlesen lassen:

  • systemctl daemon-reload

Einen Eintrag entschärfen

Soll ein Dateisystem vorerst nicht automatisch gemountet werden, aber der Eintrag bleiben, hilft die Option noauto in Feld 4. Dann wird es beim Booten übersprungen und lässt sich später von Hand über den Mountpunkt einhängen.

/dev/sdb3   /mnt/video   ext4   noauto   0   0

Aufgaben

Vorbereitung: eine leere Datenplatte /dev/sdc. /dev/sda bleibt unberührt.

  • Erstellen Sie auf /dev/sdc vier Partitionen (mit fdisk oder gdisk).
  • Formatieren Sie die vier Partitionen mit ext4 in Standardeinstellungen.
  • Legen Sie die Mountpunkte /mnt/media, /mnt/misc, /mnt/video und /mnt/docs an.
  • Ermitteln Sie die UUIDs der vier Partitionen.
  • Tragen Sie die 1. Partition (media) so ein, dass kein Ausführen erlaubt ist und ACLs aktiv sind.
  • Tragen Sie die 2. Partition (misc) so ein: kein SUID, kein dev, nur lesend.
  • Tragen Sie die 3. Partition (video) so ein, dass sie nicht automatisch gemountet wird.
  • Tragen Sie die 4. Partition (docs) so ein: automatisches Mounten, normale Nutzer dürfen mounten.
  • Testen Sie alle Einträge, ohne neu zu starten.
  • Prüfen Sie mit findmnt, ob media wirklich noexec und misc wirklich ro gemountet ist.

Fleißaufgabe: Datei als Dateisystem (Loop)

Statt einer echten Partition lässt sich auch eine Datei als Dateisystem einhängen – über ein Loop-Gerät.

  • Erstellen Sie eine leere Datei von 2 GB.
  • Formatieren Sie die Datei mit ext4.
  • Legen Sie den Mountpunkt /mnt/share an und tragen Sie die Datei mit der Option loop in die /etc/fstab ein.
  • Testen Sie den Eintrag.