Jaka jest różnica między „nobootwait” a „nofail” w fstab?


53

W tym pytaniu zapytałem, jak zapobiec awarii nośnika, aby zatrzymać proces uruchamiania systemu. Mam jednak dwie sugestie dotyczące /etc/fstabopcji

  • nobootwait
  • nofail

Jaka jest różnica między nimi?

Odpowiedzi:


38

Po pierwsze nofailzezwala na kontynuowanie sekwencji rozruchowej, nawet jeśli dysk nie zostanie zamontowany.

O tym fstab(5)mówinobootwait

Program mountall (8), który montuje system plików podczas rozruchu, rozpoznaje także dodatkowe opcje, których nie robi zwykłe narzędzie mount (8). Są to: bootwait które można zastosować do zdalnych systemów plików zamontowanych poza / usr lub / var, bez których mountall (8) nie utrzymałby rozruchu dla nich; nobootwaitktóre można zastosować do nie-zdalnych systemów plików, aby wyraźnie poinstruować mountall (8), aby nie wstrzymywał rozruchu; optionalco powoduje, że pozycja jest ignorowana, jeśli typ systemu plików nie jest znany w czasie uruchamiania; i showthrough który pozwala na zamontowanie punktu montowania przed nadrzędnym punktem montowania (ten ostatni powinien być używany ostrożnie, ponieważ może powodować zawieszanie się systemu).

fstab(5) ma to do powiedzenia nofail

nofail nie zgłasza błędów dla tego urządzenia, jeśli nie istnieje.


6
Zauważ, że mountall i te opcje są specyficzne dla ubuntu (i jego pochodnych) (i tylko stosunkowo nowe wersje, w których wprowadzono upstart i mountall)
Stéphane Chazelas

9
nobootwaitnie jest już prawidłową opcją w Ubuntu 16.04 (od 10.10.2016 r. testowanie Mythbuntu install / live-DVD).
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
mówię dość wyraźnie fstab(5). Więcman 5 fstab
Evan Carroll

1
Rozumiem, to Ubuntu 14 (Trusty). Dziękuję @EvanCarroll. Aby potwierdzić to, co powiedział Kingsley powyżej bootwait / nobootwait nie jest już obsługiwany w systemie Ubuntu 16 LTS. Tylko nieofail.
ILIV,

23

Jak wspomniał Stéphane, nobootwait jest ograniczony do pochodnych ubuntu +.

Nofail będzie próbował zamontować dysk, jak wskazał cjm, jednak proces rozruchu będzie kontynuowany po upływie limitu czasu montowania . Jeśli nie spodziewasz się, że dysk będzie tam regularnie, aby zagwarantować dodatkowe 90 sekund rozruchu, gdy go nie ma, nie instaluj go automatycznie w fstab.

(PS Mówię to, ponieważ brzmi odpowiedź cjm, jakby system ostatecznie nie uruchomił się).


6

Ten artykuł wydaje się dobrze wyjaśniać różnicę

mountall próbuje automatycznie zamontować wszystkie wpisy z fstab, które mają domyślne lub automatyczne opcje montowania. Zatrzyma proces uruchamiania, jeśli takich wpisów nie można zamontować, z wyjątkiem sytuacji, gdy podana jest opcja montowania nobootwait .

fsck próbuje sprawdzić system plików dla wszystkich wpisów z fstab, dla których szóste pole jest ustawione na 1 lub 2. Dyski niekrytyczne zwykle mają to pole ustawione na 2. Zatrzyma proces rozruchu, jeśli takich systemów plików nie będzie można sprawdzić, z wyjątkiem sytuacji, gdy podana jest opcja montowania nofail .

Oświadczenie: Nie jestem ekspertem od fstab i nie mogę zagwarantować / zweryfikować, że powyższe informacje są prawdziwe. Wszystkie kredyty należą do autora tego artykułu .


Kiedy próbowałem użyć nofail, dostałem nierozpoznaną opcjęerrors=nofail
Aaron Franke

4

Ponieważ to stare pytanie ma wysoką ocenę Google, wspomnę, że ponieważ „nobootwait” jest już nieaktualny, obecną metodą jest ustawienie krótkiego limitu czasu, powiedzmy, 3 sekund za pomocą „x-systemd.device-timeout”.

na przykład:

/dev/sda2  /mnt/other  nofail,x-systemd.device-timeout=3  0  2
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.