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

53

In dieser Frage habe ich gefragt, wie verhindert werden soll, dass ein Medienfehler den Systemstartvorgang anhält. Ich habe jedoch zwei Vorschläge für /etc/fstabOptionen

  • nobootwait
  • nofail

Was ist der Unterschied zwischen den beiden?

Evan Carroll
quelle

Antworten:

39

Erstens nofailkann die Startsequenz fortgesetzt werden, auch wenn das Laufwerk nicht bereitgestellt werden kann.

Das fstab(5)sagt übernobootwait

Das mountall (8) -Programm, das das Dateisystem beim Booten einbindet, erkennt auch zusätzliche Optionen, die das gewöhnliche mount (8) -Tool 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 Bootvorgang für diese nicht aufhalten würde; nobootwaitdie auf nicht-entfernte Dateisysteme angewendet werden kann, um mountall (8) explizit anzuweisen, den Boot für sie nicht aufzuhalten; optionalDadurch wird der Eintrag ignoriert, wenn der Dateisystemtyp beim Booten nicht bekannt ist. und showthrough das ermöglicht, dass ein Mountpoint vor seinem übergeordneten Mountpoint gemountet wird (letzterer sollte vorsichtig verwendet werden, da er Boot-Hangs verursachen kann).

fstab(5) hat dies zu sagen nofail

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

Evan Carroll
quelle
6
Beachten Sie, dass mountall und diese Optionen für Ubuntu (und seine Derivate) spezifisch sind (und nur für relativ aktuelle Versionen, in denen upstart und dieses mountall eingeführt wurden.
Stéphane Chazelas,
9
nobootwaitist in Ubuntu 16.04 keine gültige Option mehr (seit dem 10.07.2016 wird Mythbuntu install / live-DVD getestet).
Kingsley
2
External devices that are to be mounted when present but ignored if absent may require the nofail option. This prevents errors being reported at boot.
Endolith
1
sage ich ganz explizit fstab(5). Alsoman 5 fstab
Evan Carroll
1
Ich sehe, das ist Ubuntu 14 (Trusty). Vielen Dank, dass Sie @EvanCarroll. Nur um zu bestätigen, was Kingsley oben gesagt hat, wird bootwait / nobootwait auf Ubuntu 16 LTS nicht mehr unterstützt. Nur kein Fehler.
ILIV
23

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

Nofail versucht weiterhin, das Laufwerk zu mounten, wie von cjm angegeben. Der Startvorgang wird jedoch fortgesetzt, nachdem das Timeout für das Mounten erreicht wurde . Wenn Sie nicht erwarten, dass das Laufwerk regelmäßig vorhanden ist, um die zusätzlichen 90 Sekunden zu gewährleisten, sollten Sie es nicht in fstab automounten.

(PS Ich stelle dies als cjms Antwort, als ob das System letztendlich nicht booten würde).

TNT
quelle
6

Dieser Artikel scheint den Unterschied gut zu erklären

mountall versucht, alle Einträge von fstab mit den Standardeinstellungen oder den Optionen zum automatischen Laden automatisch zu laden. Der Startvorgang wird angehalten , wenn solche Einträge nicht bereitgestellt werden können, es sei denn, die Bereitstellungsoption nobootwait ist angegeben.

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 nofail ist angegeben.

Haftungsausschluss: Ich bin kein fstab-Experte und kann die Richtigkeit der obigen Informationen nicht garantieren / überprüfen. Alle Credits gehören dem Autor dieses Artikels .

akgren_soar
quelle
Als ich versuchte zu benutzen, nofailbekam ich eine nicht erkannte Optionerrors=nofail
Aaron Franke
4

Da diese alte Frage eine hohe Google-Bewertung hat, möchte ich erwähnen, dass die aktuelle Methode darin besteht, mit "x-systemd.device-timeout" ein kurzes Timeout von beispielsweise 3 Sekunden festzulegen, da "nobootwait" nicht mehr gültig ist.

z.B:

/dev/sda2  /mnt/other  nofail,x-systemd.device-timeout=3  0  2
Dave Rove
quelle