it-swarm.com.de

Was ist der Unterschied zwischen 'nobootwait' und 'nofail' in fstab?

In diese Frage habe ich gefragt, wie verhindert werden kann, dass ein Medienfehler den Systemstartprozess stoppt. Ich habe jedoch zwei Vorschläge für /etc/fstab Optionen

  • nobootwait
  • nofail

Was ist der Unterschied zwischen den beiden?

59
Evan Carroll

Erstens ermöglicht nofail, dass die Startsequenz fortgesetzt wird, auch wenn das Laufwerk nicht gemountet werden kann.

Dies ist, was fstab(5) über nobootwait sagt

Das Programm mountall (8), das das Dateisystem während des Startvorgangs bereitstellt, erkennt auch zusätzliche Optionen, die das normale Tool mount (8) nicht bietet. Dies sind: bootwait, die auf entfernte Dateisysteme angewendet werden können, die außerhalb von/usr oder/var gemountet sind, ohne die mountall (8) den Start für diese nicht aufhalten würde; nobootwait, das auf nicht entfernte Dateisysteme angewendet werden kann, um mountall (8) explizit anzuweisen, den Start für sie nicht aufzuhalten; optional, wodurch der Eintrag ignoriert wird, wenn der Dateisystemtyp beim Booten nicht bekannt ist. und showthrough, mit dem ein Mountpunkt vor seinem übergeordneten Mountpunkt gemountet werden kann (letzterer sollte sorgfältig verwendet werden, da dies zu Boot-Hangs führen kann).

fstab(5) hat dies zu sagen über nofail

nofail meldet keine Fehler für dieses Gerät, wenn es nicht vorhanden ist.

44
Evan Carroll

Wie von Stéphane erwähnt, ist Nobootwait auf Ubuntu + -Derivate beschränkt.

Nofail wird weiterhin versuchen, das Laufwerk zu mounten, wie cjm hervorhob. Der Startvorgang wird jedoch fortgesetzt, nachdem das Mounten der Zeit abgelaufen ist. Wenn Sie nicht erwarten, dass das Laufwerk regelmäßig vorhanden ist, um die zusätzlichen 90 Sekunden zu gewährleisten, starten Sie es nicht automatisch in fstab.

(S. Ich habe dies so formuliert, dass die Antwort von cjm so klingt, als würde das System letztendlich nicht booten ).

24
TNT

Da diese alte Frage eine hohe Google-Bewertung hat, möchte ich erwähnen, dass "nobootwait" nicht mehr gültig ist. Die aktuelle Methode besteht darin, mit "x-systemd.device-timeout" eine kurze Zeitüberschreitung von beispielsweise 9 Sekunden festzulegen.

z.B.:

/dev/sda2  /mnt/other  auto  defaults,nofail,x-systemd.device-timeout=9  0  2

(Bearbeiten: Ich habe das Timeout von 3 auf 9 Sekunden erhöht, da Ubuntu anscheinend gelegentlich eine schnelle Überprüfung des Dateisystems beim Booten durchführt, die länger als 3 Sekunden dauern kann.)

8
Dave Rove

Diese artikel scheint den Unterschied gut zu erklären

mountall versucht, alle Einträge von fstab mit den Standardeinstellungen oder Optionen für die automatische Bereitstellung automatisch bereitzustellen. Der Startvorgang wird angehalten, wenn solche Einträge nicht gemountet werden können, außer bei der Mount-Option nobootwait gegeben ist.

fsck versucht, eine Dateisystemprüfung für alle Einträge von fstab durchzuführen, bei denen das sechste Feld auf 1 oder 2 gesetzt ist. Bei nicht kritischen Laufwerken ist dieses Feld normalerweise auf 2 gesetzt. Der Startvorgang wird angehalten, wenn solche Dateisysteme nicht überprüft werden können, außer wenn die Mount-Option kein Fehler gegeben ist.

Haftungsausschluss: Ich bin kein fstab-Experte und kann nicht garantieren/überprüfen, dass die oben genannten Informationen wahr sind. Alle Credits gehören dem Autor dieses Artikels .

6
akgren_soar