Linux:Datei:/etc/fstab: Unterschied zwischen den Versionen

Aus ITWiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
== <big> Grundlagen </big> ==
+
== Grundlagen ==
  
 
Die Konfigurations-Datei '''/etc/fstab''' enthält nötige Informationen, um das Einhängen von Partitionen ganz oder teilweise zu automatisieren. Bei Systemen mit [[Linux:Befehl:systemd|systemd]] als Init-System (kommt unter Ubuntu seit Version 15.04 zum Einsatz), werden auf Basis der Datei '''/etc/fstab''' die entsprechenden mount Units erstellt.
 
Die Konfigurations-Datei '''/etc/fstab''' enthält nötige Informationen, um das Einhängen von Partitionen ganz oder teilweise zu automatisieren. Bei Systemen mit [[Linux:Befehl:systemd|systemd]] als Init-System (kommt unter Ubuntu seit Version 15.04 zum Einsatz), werden auf Basis der Datei '''/etc/fstab''' die entsprechenden mount Units erstellt.
Zeile 10: Zeile 10:
  
  
== <big> Aufruf </big> ==
+
== Aufruf ==
  
 
Um den Inhalt der Datei '''/etc/fstab''' nur anzusehen, braucht man keine Root-Rechte. Es genügt, die Datei in einem Editor zu öffnen oder ihn im Terminal mittels
 
Um den Inhalt der Datei '''/etc/fstab''' nur anzusehen, braucht man keine Root-Rechte. Es genügt, die Datei in einem Editor zu öffnen oder ihn im Terminal mittels
Zeile 20: Zeile 20:
 
  # Zeilen, die mit dem Zeichen "#" beginnen, sind Kommentare.
 
  # Zeilen, die mit dem Zeichen "#" beginnen, sind Kommentare.
 
  #
 
  #
  # <file system>                           <mount point>   <type>       <options>                           <dump> <pass>
+
  # <file system> <mount point> <type> <options> <dump> <pass>
  /dev/sda1                                 /media/sda1     ntfs         defaults,nls=utf8,umask=007,gid=46 0       0
+
  /dev/sda1 /media/sda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 0
  /dev/sda2                                 /media/sda2     ntfs         defaults,nls=utf8,umask=007,gid=46 0       0
+
  /dev/sda2 /media/sda2 ntfs defaults,nls=utf8,umask=007,gid=46 0 0
 
  # /dev/sda6
 
  # /dev/sda6
  UUID=03b77228-ed4c-4218-910e-11b9f77c4b46 /               ext4     defaults                             0       1
+
  UUID=03b77228-ed4c-4218-910e-11b9f77c4b46 / ext4 defaults 0 1
 
  # /dev/sda7
 
  # /dev/sda7
  UUID=8883dbc8-80f8-49b8-8c5f-13a32baefe98 none           swap         sw                                 0       0
+
  UUID=8883dbc8-80f8-49b8-8c5f-13a32baefe98 none swap sw 0 0
  /dev/hda                                   /media/cdrom0   udf,iso9660 user,noauto                         0       0
+
  /dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
  /dev/cdrom       /media/cdrom0   udf,iso9660 user,noauto     0       0
+
  /dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0
  /dev/           /media/floppy0 auto   rw,user,noauto 0       0
+
  /dev/ /media/floppy0 auto rw,user,noauto 0 0
 
  # externe tragbare ntfs-Festplatte zum Datenaustausch; nicht per UUID eingebunden
 
  # externe tragbare ntfs-Festplatte zum Datenaustausch; nicht per UUID eingebunden
  /dev/sdb1 /media/ntfs-usbdisk     ntfs rw,user,noauto,uid=0,gid=46,umask=007,nls=utf8 0 0
+
  /dev/sdb1 /media/ntfs-usbdisk ntfs rw,user,noauto,uid=0,gid=46,umask=007,nls=utf8 0 0
 
  # selbst eingetragen:
 
  # selbst eingetragen:
  /dev/sda5 /media/daten   vfat         rw,auto,user,umask=0000             0       0
+
  /dev/sda5 /media/daten vfat rw,auto,user,umask=0000 0 0
 
  # Speicher für QEMU auf max 400 MB RAM festlegen
 
  # Speicher für QEMU auf max 400 MB RAM festlegen
  none /dev/shm       tmpfs       defaults,size=400M
+
  none /dev/shm tmpfs defaults,size=400M
 
  # Das Filesystem eines anderen Rechners über fuse/ssh zum Einbinden vorbereiten (später genügt "mount /lokaler/mountpoint"
 
  # Das Filesystem eines anderen Rechners über fuse/ssh zum Einbinden vorbereiten (später genügt "mount /lokaler/mountpoint"
 
  sshfs#username@rechnername:/Pfad/auf_Fremndrechner /lokaler/mountpoint fuse uid=1000,gid=100,umask=0,allow_other,defaults,noauto 0 0
 
  sshfs#username@rechnername:/Pfad/auf_Fremndrechner /lokaler/mountpoint fuse uid=1000,gid=100,umask=0,allow_other,defaults,noauto 0 0
Zeile 43: Zeile 43:
  
  
== <big> Aufbau </big> ==
+
== Aufbau ==
  
 
Jede Partition wird in einer eigenen Zeile eingetragen. Eine Zeile besteht aus sechs Spalten, mit folgender Bedeutung:
 
Jede Partition wird in einer eigenen Zeile eingetragen. Eine Zeile besteht aus sechs Spalten, mit folgender Bedeutung:
Zeile 51: Zeile 51:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Spalte !! Beschreibung  
+
! Spalte !! Beschreibung  
 
|-
 
|-
 
| <file system> || Enthält die Beschreibung des eingehängten [https://wiki.ubuntuusers.de/Datentr%C3%A4ger/ Geräts], also z.B. Festplatten-Partitionen wie '''/dev/sda8''', ein CD-Lesegerät '''/dev/cdrom'''.
 
| <file system> || Enthält die Beschreibung des eingehängten [https://wiki.ubuntuusers.de/Datentr%C3%A4ger/ Geräts], also z.B. Festplatten-Partitionen wie '''/dev/sda8''', ein CD-Lesegerät '''/dev/cdrom'''.
Zeile 57: Zeile 57:
 
| <mount point> || Hier wird der Einhängepunkt ("Mountpunkt") festgelegt, d.h. der Ordner, in den die Partition eingehängt werden soll. Die Angabe "none" wird verwendet, wenn die Partition keinen Einhängpunkt unter / besitzt. Beispiel: [https://wiki.ubuntuusers.de/Swap/ Swap]
 
| <mount point> || Hier wird der Einhängepunkt ("Mountpunkt") festgelegt, d.h. der Ordner, in den die Partition eingehängt werden soll. Die Angabe "none" wird verwendet, wenn die Partition keinen Einhängpunkt unter / besitzt. Beispiel: [https://wiki.ubuntuusers.de/Swap/ Swap]
 
|-
 
|-
| <type> || Enthält die Art des Dateisystems, gemäß dem [[Linux:Befehl:mount|mount-Parameter]] -t.  
+
| <type> || Enthält die Art des Dateisystems, gemäß dem [[Linux:Befehl:mount|mount-Parameter]] -t.  
 
|-
 
|-
 
| <option> || Enthält alle verwendeten [[Linux:Befehl:mount|Optionen]], gemäß dem mount-Parameter -o. Unter Linux verbreitet ist die Option "defaults", die den Optionen "rw,suid,dev,exec,auto,nouser,async" entspricht.  
 
| <option> || Enthält alle verwendeten [[Linux:Befehl:mount|Optionen]], gemäß dem mount-Parameter -o. Unter Linux verbreitet ist die Option "defaults", die den Optionen "rw,suid,dev,exec,auto,nouser,async" entspricht.  
Zeile 67: Zeile 67:
  
  
== <big> Hinzufügen oder Ändern von Einträgen </big> ==
+
== Hinzufügen oder Ändern von Einträgen ==
  
 
=== Bearbeiten mit einem Editor ===
 
=== Bearbeiten mit einem Editor ===
Zeile 82: Zeile 82:
 
'''Beispiel:'''  
 
'''Beispiel:'''  
 
  # Dropbox in eine eigene Partition auslagern:
 
  # Dropbox in eine eigene Partition auslagern:
  UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx   /media/Dropbox   ext4   defaults   0   2
+
  UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx /media/Dropbox ext4 defaults 0 2
  /media/Dropbox /home/BENUTZERNAME/Dropbox none bind 0 0
+
  /media/Dropbox /home/BENUTZERNAME/Dropbox none bind 0 0
 
Änderungen werden erst nach einem Neueinlesen der '''fstab''' wirksam. Ohne Neustart kann man dies mit
 
Änderungen werden erst nach einem Neueinlesen der '''fstab''' wirksam. Ohne Neustart kann man dies mit
 
  sudo mount -a  
 
  sudo mount -a  
Zeile 100: Zeile 100:
 
  sudo mkdir /media/LinuxLaufwerk  
 
  sudo mkdir /media/LinuxLaufwerk  
 
Dann editiert man mit einem beliebigen Editor [2] mit Root-Rechten die Datei /etc/fstab und trägt dort folgende Zeile ein (die Leerzeile am Schluss nicht vergessen!):
 
Dann editiert man mit einem beliebigen Editor [2] mit Root-Rechten die Datei /etc/fstab und trägt dort folgende Zeile ein (die Leerzeile am Schluss nicht vergessen!):
  /dev/sda4   /media/LinuxLaufwerk   ext4   defaults   0   2
+
  /dev/sda4 /media/LinuxLaufwerk ext4 defaults 0 2
 
wobei die Werte für dump und pass natürlich den eigenen Bedürfnissen angepasst werden können.
 
wobei die Werte für dump und pass natürlich den eigenen Bedürfnissen angepasst werden können.
  
Zeile 123: Zeile 123:
 
  /dev/disk/by-id/wwn-0x5110cca01372b542-part6 /media/riese ext4 noauto,rw,users 0 0
 
  /dev/disk/by-id/wwn-0x5110cca01372b542-part6 /media/riese ext4 noauto,rw,users 0 0
 
  #UUID=ff287672-4f21-4a44-b21d-076a6acb2ee3 /media/riese ext4 noauto,rw,users 0 0
 
  #UUID=ff287672-4f21-4a44-b21d-076a6acb2ee3 /media/riese ext4 noauto,rw,users 0 0
  #LABEL=Disco\040Dingo                           /media/riese ext4 noauto,rw,users 0 0
+
  #LABEL=Disco\040Dingo /media/riese ext4 noauto,rw,users 0 0
 
  #PARTUUID=417c0f9d-2ac1-43b5-8dfc-1cf2745df2ef /media/riese ext4 noauto,rw,users 0 0
 
  #PARTUUID=417c0f9d-2ac1-43b5-8dfc-1cf2745df2ef /media/riese ext4 noauto,rw,users 0 0
  #PARTLABEL=Disco\040Dingo\04019.04             /media/riese ext4 noauto,rw,users 0 0
+
  #PARTLABEL=Disco\040Dingo\04019.04 /media/riese ext4 noauto,rw,users 0 0
  
 
Mit dem Befehl
 
Mit dem Befehl
Zeile 154: Zeile 154:
 
Näheres, vor allem auch die Bedeutung der besonderen Optionen, siehe [[Netzwerke:NFS_-_Network_File_System|NFS]], [https://wiki.ubuntuusers.de/NFSv4/#Einhaengen-der-Freigaben-am-Client NFSv4] bzw. [https://wiki.ubuntuusers.de/Samba_Client_cifs/#Eintrag-in-etc-fstab Samba Client cifs].
 
Näheres, vor allem auch die Bedeutung der besonderen Optionen, siehe [[Netzwerke:NFS_-_Network_File_System|NFS]], [https://wiki.ubuntuusers.de/NFSv4/#Einhaengen-der-Freigaben-am-Client NFSv4] bzw. [https://wiki.ubuntuusers.de/Samba_Client_cifs/#Eintrag-in-etc-fstab Samba Client cifs].
  
=== <big> Optionen für nachträgliches Einhängen </big> ===
+
=== Optionen für nachträgliches Einhängen ===
  
 
  Möchte man verhindern, dass eine Partition automatisch eingehängt wird, verwendet man die Einhängeoption noauto. Damit ist es möglich, die Partition später zum gewünschten Zeitpunkt mit definierten Optionen an einem festen Einhängepunkt temporär einzubinden.
 
  Möchte man verhindern, dass eine Partition automatisch eingehängt wird, verwendet man die Einhängeoption noauto. Damit ist es möglich, die Partition später zum gewünschten Zeitpunkt mit definierten Optionen an einem festen Einhängepunkt temporär einzubinden.
Zeile 161: Zeile 161:
  
 
Ein solcher Eintrag könnte so aussehen:  
 
Ein solcher Eintrag könnte so aussehen:  
  UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx   '''/media/Backup'''   ext3   noauto,user,defaults   0   2
+
  UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx '''/media/Backup''' ext3 noauto,user,defaults 0 2
 
Schließt man nun die USB-Backup-Platte an, wird diese jedes mal unter /media/Backup eingehängt. Interessant ist in diesem Zusammenhang auch die Option user. Sie sorgt dafür, dass man keine Root-Rechte benötigt um die Partition ein- bzw. auszuhängen
 
Schließt man nun die USB-Backup-Platte an, wird diese jedes mal unter /media/Backup eingehängt. Interessant ist in diesem Zusammenhang auch die Option user. Sie sorgt dafür, dass man keine Root-Rechte benötigt um die Partition ein- bzw. auszuhängen
  
Zeile 167: Zeile 167:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Option !! Beschreibungubuntu  
+
! Option !! Beschreibungubuntu  
 
|-
 
|-
 
| user || Der aktuelle Benutzer kann die Partition einhängen und nur er kann sie auch wieder aushängen.  
 
| user || Der aktuelle Benutzer kann die Partition einhängen und nur er kann sie auch wieder aushängen.  
Zeile 190: Zeile 190:
  
 
Ein solcher Eintrag könnte so aussehen:
 
Ein solcher Eintrag könnte so aussehen:
  UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx   /media/Backup   ext4   noauto,x-systemd.automount,x-systemd.idle-timeout=60,defaults   0   2
+
  UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /media/Backup ext4 noauto,x-systemd.automount,x-systemd.idle-timeout=60,defaults 0 2
  
 
=== Einzelne Ordner einhängen ===
 
=== Einzelne Ordner einhängen ===
Zeile 198: Zeile 198:
 
Mit der Option bind kann man sowohl ganze Partitionen als auch einzelne Ordner oder Dateien zusätzlich noch an anderer Stelle ins Dateisystem einhängen. Als Art des Dateisystems (type) muss dabei none angegeben werden. Beispiel:
 
Mit der Option bind kann man sowohl ganze Partitionen als auch einzelne Ordner oder Dateien zusätzlich noch an anderer Stelle ins Dateisystem einhängen. Als Art des Dateisystems (type) muss dabei none angegeben werden. Beispiel:
 
  # Ganze Partition in /media einbinden:
 
  # Ganze Partition in /media einbinden:
  UUID=bbf85ecb-cc61-40ed-ba7b-d7b804ee845e   /media/Daten   ext3   defaults   0   2
+
  UUID=bbf85ecb-cc61-40ed-ba7b-d7b804ee845e /media/Daten ext3 defaults 0 2
 
  # Ordner "Downloads" zusätzlich in /home/Max einbinden:
 
  # Ordner "Downloads" zusätzlich in /home/Max einbinden:
  /media/Daten/Downloads /home/Max/Downloads none bind 0 0
+
  /media/Daten/Downloads /home/Max/Downloads none bind 0 0
 
Ähnlich wie die Option bind verhält sich die Option move, nur dass dann der betreffende Ordner nur noch am neuen Mountpunkt erscheint.
 
Ähnlich wie die Option bind verhält sich die Option move, nur dass dann der betreffende Ordner nur noch am neuen Mountpunkt erscheint.
 
=== Aushängen ===
 
=== Aushängen ===
Zeile 209: Zeile 209:
 
Insbesondere gilt, dass das einfache Aushängen mit einem Mausklick auf "Datenträger aushängen" in der GUI in diesen Fällen nicht funktioniert.
 
Insbesondere gilt, dass das einfache Aushängen mit einem Mausklick auf "Datenträger aushängen" in der GUI in diesen Fällen nicht funktioniert.
  
== <big> Beispiel </big> ==
+
== Beispiel ==
  
 
Ein ausführliches Beispiel der Anwendung von fstab ist im Artikel zu Banshee (Abschnitt „Musiksammlung-auf-externer-Festplatte“) anhand einer Musiksammlung auf der externen Festplatte beschrieben.
 
Ein ausführliches Beispiel der Anwendung von fstab ist im Artikel zu Banshee (Abschnitt „Musiksammlung-auf-externer-Festplatte“) anhand einer Musiksammlung auf der externen Festplatte beschrieben.
  
== <big> Klonen von Festplatten </big> ==
+
== Klonen von Festplatten ==
  
 
  Vor dem Klonen von Festplatten sollte man die '''fstab''' wieder komplett auf die "echten" Geräteknoten ('''/dev/sd*''') umstellen, statt UUIDs zu verwenden.
 
  Vor dem Klonen von Festplatten sollte man die '''fstab''' wieder komplett auf die "echten" Geräteknoten ('''/dev/sd*''') umstellen, statt UUIDs zu verwenden.
  
== <big> Quellen </big> ==
+
== Quellen ==
[https://wiki.ubuntuusers.de/fstab/ Ubuntu Users-fstab]
+
# [https://wiki.ubuntuusers.de/fstab/ Ubuntu Users-fstab]
  
[[Category:Linux:Befehle]]
 
 
[[Category:Linux:Storage]]
 
[[Category:Linux:Storage]]

Version vom 30. Juni 2020, 20:36 Uhr

1 Grundlagen

Die Konfigurations-Datei /etc/fstab enthält nötige Informationen, um das Einhängen von Partitionen ganz oder teilweise zu automatisieren. Bei Systemen mit systemd als Init-System (kommt unter Ubuntu seit Version 15.04 zum Einsatz), werden auf Basis der Datei /etc/fstab die entsprechenden mount Units erstellt.

Außerdem kann sie noch zusätzlich vom System/Kernel benötigte Einträge enthalten. Durch entsprechende Einträge in fstab kann man das temporäre Einbinden von Datenträgern vorbereiten (siehe mount) und entfernte Dateisysteme oder Netzwerk-Freigaben statisch ins lokale Dateisystem einbinden (z.B. mit sshfs, davfs2 oder cifs).

Bei der Installation von Ubuntu kann man den vorhandenen Partitionen einen Ort im Dateisystem zuweisen. Dann richtet Ubuntu für diese Partitionen einen Einhängepunkt ein und trägt sie auch automatisch in /etc/fstab ein. Danach nimmt Ubuntu an fstab selbständig keine Änderungen mehr vor. Wurden bei der Installation bestimmte Partitionen nicht automatisch eingetragen oder fügt man im Nachhinein neue Datenträger oder Partitionen hinzu bzw. ändert man die Partitionierung, so muss man fstab von Hand anpassen. Dies kann mit Root-Rechten in einem Editor geschehen. Bei Verwendung von systemd greifen Änderungen an der /etc/fstab erst, wenn das System neu gestartet wird oder indem man die Konfigurationsdateien neu einliest.

Externe Datenträger (z.B. USB-Laufwerke oder USB-Sticks) werden von Desktop-Umgebungen wie GNOME oder KDE beim Systemstart oder beim Einstecken automatisch erkannt und temporär eingebunden. Dabei braucht man sich um Bezeichnung und Einhängepunkt nicht zu kümmern. Möchte man jedoch, dass ein bestimmter externer Datenträger immer an der gleichen Stelle und mit der gleichen Bezeichnung eingebunden wird, dann sollte man für diesen einen Eintrag in fstab vornehmen. Dies gilt erst recht, wenn der externe Datenträger im Netzwerk freigegeben werden soll. Der in fstab festgelegte Einhängepunkt, der dortige Name und die dort eingetragenen Parameter und Optionen haben immer Vorrang vor den Werten, die beim automatischen Einbinden verwendet würden.


2 Aufruf

Um den Inhalt der Datei /etc/fstab nur anzusehen, braucht man keine Root-Rechte. Es genügt, die Datei in einem Editor zu öffnen oder ihn im Terminal mittels

less /etc/fstab 

anzeigen zu lassen. Der Inhalt kann z.B. so aussehen:

/etc/fstab: static file system information.
#
# Zeilen, die mit dem Zeichen "#" beginnen, sind Kommentare.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sda1 /media/sda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 0
/dev/sda2 /media/sda2 ntfs defaults,nls=utf8,umask=007,gid=46 0 0
# /dev/sda6
UUID=03b77228-ed4c-4218-910e-11b9f77c4b46 / ext4 defaults 0 1
# /dev/sda7
UUID=8883dbc8-80f8-49b8-8c5f-13a32baefe98 none swap sw 0 0
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/ /media/floppy0 auto rw,user,noauto 0 0
# externe tragbare ntfs-Festplatte zum Datenaustausch; nicht per UUID eingebunden
/dev/sdb1	/media/ntfs-usbdisk ntfs rw,user,noauto,uid=0,gid=46,umask=007,nls=utf8		0	0
# selbst eingetragen:
/dev/sda5	/media/daten 	vfat rw,auto,user,umask=0000 0 0
# Speicher für QEMU auf max 400 MB RAM festlegen
none		/dev/shm 	tmpfs defaults,size=400M
# Das Filesystem eines anderen Rechners über fuse/ssh zum Einbinden vorbereiten (später genügt "mount /lokaler/mountpoint"
sshfs#username@rechnername:/Pfad/auf_Fremndrechner /lokaler/mountpoint fuse uid=1000,gid=100,umask=0,allow_other,defaults,noauto 0 0
# Am Ende der fstab muss immer noch eine Leerzeile kommen, sonst erhält man die Fehlermeldung: no final newline at the end of /etc/fstab

Je nach Systemkonfiguration (z.B. separate Boot-Partition, ATA statt SATA/SCSI Platte) kann die eigene fstab auch etwas anders aussehen.


3 Aufbau

Jede Partition wird in einer eigenen Zeile eingetragen. Eine Zeile besteht aus sechs Spalten, mit folgender Bedeutung:


Spalten in /etc/fstab

Spalte Beschreibung
<file system> Enthält die Beschreibung des eingehängten Geräts, also z.B. Festplatten-Partitionen wie /dev/sda8, ein CD-Lesegerät /dev/cdrom.
<mount point> Hier wird der Einhängepunkt ("Mountpunkt") festgelegt, d.h. der Ordner, in den die Partition eingehängt werden soll. Die Angabe "none" wird verwendet, wenn die Partition keinen Einhängpunkt unter / besitzt. Beispiel: Swap
<type> Enthält die Art des Dateisystems, gemäß dem mount-Parameter -t.
<option> Enthält alle verwendeten Optionen, gemäß dem mount-Parameter -o. Unter Linux verbreitet ist die Option "defaults", die den Optionen "rw,suid,dev,exec,auto,nouser,async" entspricht.
<dump> Wenn man das Backup-Programm dump einsetzt, wird hier festgelegt ob die Partition gesichert wird. Voreinstellung ist "0" = keine Sicherung.
<pass> Gibt an, ob und in welcher Reihenfolge die Partition beim Systemstart in die regelmäßigen Dateisystemprüfungen einbezogen wird. Meist ist hier für die Root-Partition (die Wurzel des Dateisystems, /) "1" eingetragen, für alle anderen Partitionen "2" (danach prüfen) oder "0" (keine Überprüfung) z.B. für Windows-Dateisysteme.


4 Hinzufügen oder Ändern von Einträgen

4.1 Bearbeiten mit einem Editor

Möchte man der fstab weitere Partitionen hinzufügen, beispielsweise um externe Festplatten dauerhaft einzuhängen, öffnet man die Datei mit Root-Rechten und fügt die entsprechende Zeile ein. Die Einträge in den Spalten werden dabei durch Tab ⇆ oder durch Leerzeichen getrennt. Eine Raute # am Anfang der Zeile bedeutet, dass diese Zeile auskommentiert ist, also beim Einlesen der Datei ignoriert wird. Damit lassen sich dann Kommentare zur Dokumentation der Datei einfügen oder auch Einträge deaktivieren, ohne sie gleich ganz löschen zu müssen.

Hinweis
Einträge in den einzelnen Spalten dürfen keine Leerzeichen enthalten, da diese als Trennzeichen zwischen Spalten interpretiert würden. Leerzeichen in Gerätenamen, Labels oder Einhängepunkten müssen deshalb durch die Zeichenfolge \040 umschrieben werden. Für andere besondere Zeichen (z.B. Klammern) genügt es, wie üblich das Zeichen "\" (Backslash) voran zusetzen.

Beispiel:

# Dropbox in eine eigene Partition auslagern:
UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx /media/Dropbox ext4 defaults 0 2
/media/Dropbox /home/BENUTZERNAME/Dropbox none bind 0 0

Änderungen werden erst nach einem Neueinlesen der fstab wirksam. Ohne Neustart kann man dies mit

sudo mount -a 

bewerkstelligen.

4.2 Einhängepunkte

Nur bei den Einträgen in fstab, die bei der Installation von Ubuntu automatisch vorgenommen werden, werden auch die Einhängepunkte ("Mountpunkte") automatisch erstellt. Für alle anderen Einträge in fstab müssen die jeweiligen Mountpunkte von Hand erstellt werden. Das Einhängen ist prinzipiell an jeder Stelle in der Dateisystemhierarchie möglich. Üblich ist es jedoch, Unterordner in /media oder /mnt zu erstellen und diese zu verwenden.

  • /media (es erscheint ein Symbol auf dem KDE- oder GNOME-Desktop).
  • /mnt (es erscheint kein Symbol auf dem KDE- oder GNOME-Desktop).

Ab KDE4 werden standardmäßig keine Desktop-Icons mehr für eingehängte Partitionen erstellt, sie befinden sich aber in dem KDE-eigenen Dateimanager Dolphin in der Seitenleiste unter Orte.

Möchte man z.B. die ext4-Partition /dev/sda4 mit der Option defaults unter /media/LinuxLaufwerk einhängen, so erstellt man mit folgender Befehlszeile den Mountpunkt:

sudo mkdir /media/LinuxLaufwerk 

Dann editiert man mit einem beliebigen Editor [2] mit Root-Rechten die Datei /etc/fstab und trägt dort folgende Zeile ein (die Leerzeile am Schluss nicht vergessen!):

/dev/sda4 /media/LinuxLaufwerk ext4 defaults 0 2

wobei die Werte für dump und pass natürlich den eigenen Bedürfnissen angepasst werden können.

Nach einem Neustart des Systems oder nach Eingabe der Befehlszeile

sudo mount -a 

müsste die ext4-Partition jetzt sichtbar und der Zugriff darauf möglich sein.

4.3 Identifikation der Geräte

Die Dateisysteme können nach diesen Methoden identifiziert werden:
  • sehr einfach über ihre Gerätedatei im Verzeichnis /dev/ (z.B./dev/sda1)
  • Symlink in einem Unterverzeichnis von /dev/disk/, welcher auf eine Gerätedatei unter /dev/ zeigt
  • UUID des Dateisystems
  • LABEL des Dateisystems
  • UUID der Partition, in der sich das Dateisystem befindet
  • LABEL der Partition, in der sich das Dateisystem befindet
Vor allem bei externen Geräten ist es sinnvoll, statt der Bezeichnung /dev/xxxy UUID oder Label des Dateisystems oder der Partition zu verwenden. So wird die Partition sicher identifiziert, während der Gerätename unter Umständen beim nächsten Start einer anderen Partition zugeordnet werden kann. Eine weitere Möglichkeit ist die Verwendung des WWN (World Wide Name) des Gerätes in Verbindung mit der Nummer der Partition; dies ist aber nur über Symlink möglich.

Das folgende Beispiel zeigt die Zuordnung eines ext4-Dateisystems auf den Einhängepunkt /media/riese. (Zu beachten: Nur eine der beschriebenen Methoden darf aktiv sein, im Beispiel ist es WWN über Symlink.)

/dev/disk/by-id/wwn-0x5110cca01372b542-part6	/media/riese	ext4	noauto,rw,users		0 0
#UUID=ff287672-4f21-4a44-b21d-076a6acb2ee3	/media/riese	ext4	noauto,rw,users		0 0
#LABEL=Disco\040Dingo /media/riese	ext4	noauto,rw,users		0 0
#PARTUUID=417c0f9d-2ac1-43b5-8dfc-1cf2745df2ef	/media/riese	ext4	noauto,rw,users		0 0
#PARTLABEL=Disco\040Dingo\04019.04 /media/riese	ext4	noauto,rw,users		0 0

Mit dem Befehl

sudo blkid 

werden für alle verfügbaren Festplatten-Partitionen sowohl der Eintrag in /dev als auch die UUID und, falls vorhanden, das Label angezeigt. (siehe auch blkid)

Weitere Informationen zum statischen Einbinden entsprechender Partitionen finden sich auf den Wiki-Seiten

Hinweis:
Beim Formatieren einer Partition oder beim Wechsel des Dateisystems (z.B. FAT32 nach NTFS) ändert sich auch die UUID der Partition!

4.4 Netzwerk-Freigaben

Einzubindende Netzwerk-Freigaben werden in der Regel über die IP-Adresse des Servers und den Namen der Freigabe identifiziert. Dabei ist die Syntax in NFS und cifs (Samba) etwas verschieden:

# NFS-Freigabe:
192.168.1.100:/media/photos /media/Fotos nfs rw 0 0
# Samba- oder Windows-Freigabe (cifs):
//192.168.1.100/music /media/Musik cifs credentials=/home/otto/.smbcredentials 0 0

Näheres, vor allem auch die Bedeutung der besonderen Optionen, siehe NFS, NFSv4 bzw. Samba Client cifs.

4.5 Optionen für nachträgliches Einhängen

Möchte man verhindern, dass eine Partition automatisch eingehängt wird, verwendet man die Einhängeoption noauto. Damit ist es möglich, die Partition später zum gewünschten Zeitpunkt mit definierten Optionen an einem festen Einhängepunkt temporär einzubinden.

Sinnvoll ist das z.B., wenn man eine externe Festplatte nur zur Datensicherung anschließt. Verwendet man ein Backup-Skript, dann ist es wichtig, dass die Partition auf der externen Platte jedes mal am selben Ort im Dateisystem erscheint.

Ein solcher Eintrag könnte so aussehen:

UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /media/Backup ext3 noauto,user,defaults 0 2

Schließt man nun die USB-Backup-Platte an, wird diese jedes mal unter /media/Backup eingehängt. Interessant ist in diesem Zusammenhang auch die Option user. Sie sorgt dafür, dass man keine Root-Rechte benötigt um die Partition ein- bzw. auszuhängen

Unterschiede zwischen user, users und nouser

Option Beschreibungubuntu
user Der aktuelle Benutzer kann die Partition einhängen und nur er kann sie auch wieder aushängen.
users Jeder Benutzer kann die Partition einhängen und jeder Benutzer darf sie wieder aushängen.
nouser Nur mit Root-Rechten kann die Partition ein und ausgehängt werden (Standardoption in defaults).
Hinweis:
Wenn intern ein besonderes Tool verwendet wird (z.B. mount.cifs zum Einhängen von Windows- oder Samba-Freigaben), dann sind die Optionen user und users nur dann wirksam, wenn für dieses Tool das SUID-Bit gesetzt ist. Aus Sicherheitsgründen ist das SUID-Bit nur mit Bedacht zu verwenden.

Der zum Einhängen von NTFS-Partitionen verwendete Treiber ntfs-3g unterstützt die Optionen user und users erst ab der Version 1.2506 und nur dann, wenn für die Datei /bin/ntfs-3g das SUID-Bit gesetzt ist.

4.6 Automount mit systemd

Seit Ubuntu 15.04 verwendet Ubuntu das Init-System systemd. Dieses enthält einen Automounter, der auch durch einen Eintrag in fstab aktiviert werden kann. Trägt man in einem fstab-Eintrag die mount-Optionen noauto,x-systemd.automount ein, so wird die Partition bzw. Netzwerk-Freigabe nicht schon beim Systemstart, sondern erst bei einem Zugriffsversuch automatisch eingebunden. Fügt man noch zusätzlich die Option x-systemd.idle-timeout=60 ein, so wird die eingebundene Partition bzw. Freigabe nach einer Untätigkeit von 60 Sekunden wieder automatisch ausgehängt. Natürlich kann der Wert für das Timeout beliebig verändert werden.

Ein solcher Eintrag könnte so aussehen:

UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /media/Backup ext4 noauto,x-systemd.automount,x-systemd.idle-timeout=60,defaults 0 2

4.7 Einzelne Ordner einhängen

In manchen Fällen ist es sinnvoll, einzelne Ordner (oder auch einzelne Dateien) einer Partition zusätzlich noch an anderer Stelle ins Dateisystem einzuhängen. So kann es z.B. sein, dass der Benutzer "Max" den Ordner "Downloads" aus /media/Daten zusätzlich noch in sein Homeverzeichnis einbinden will, weil er ihn mit diesem in seinem Samba-Netzwerk freigeben möchte. Ein einfacher Symlink kommt dafür aber nicht in Frage, weil Symlinks, die aus einer Freigabe heraus führen, mit cifs standardmäßig nicht erlaubt sind.

Mit der Option bind kann man sowohl ganze Partitionen als auch einzelne Ordner oder Dateien zusätzlich noch an anderer Stelle ins Dateisystem einhängen. Als Art des Dateisystems (type) muss dabei none angegeben werden. Beispiel:

# Ganze Partition in /media einbinden:
UUID=bbf85ecb-cc61-40ed-ba7b-d7b804ee845e /media/Daten ext3 defaults 0 2
# Ordner "Downloads" zusätzlich in /home/Max einbinden:
/media/Daten/Downloads /home/Max/Downloads none bind 0 0

Ähnlich wie die Option bind verhält sich die Option move, nur dass dann der betreffende Ordner nur noch am neuen Mountpunkt erscheint.

4.8 Aushängen

Alle eingehängten Geräte und Partitionen werden beim Herunterfahren des Systems automatisch korrekt wieder ausgehängt. Manchmal möchte man jedoch auch statisch eingehängte Geräte schon vorher wieder aushängen, z.B. weil man eine externe Festplatte oder ein Netzwerk abschalten möchte.

Alle über einen Eintrag in fstab ohne die Option users stationär eingebundenen Geräte können nur mit Root-Rechten wieder ausgehängt werden:

sudo umount <Gerät>

Insbesondere gilt, dass das einfache Aushängen mit einem Mausklick auf "Datenträger aushängen" in der GUI in diesen Fällen nicht funktioniert.

5 Beispiel

Ein ausführliches Beispiel der Anwendung von fstab ist im Artikel zu Banshee (Abschnitt „Musiksammlung-auf-externer-Festplatte“) anhand einer Musiksammlung auf der externen Festplatte beschrieben.

6 Klonen von Festplatten

Vor dem Klonen von Festplatten sollte man die fstab wieder komplett auf die "echten" Geräteknoten (/dev/sd*) umstellen, statt UUIDs zu verwenden.

7 Quellen

  1. Ubuntu Users-fstab