Qual è la differenza tra 'nobootwait' e 'nofail' in fstab?


53

In questa domanda ho chiesto come impedire a un errore del supporto di interrompere il processo di avvio del sistema. Tuttavia, ho ricevuto due suggerimenti per le /etc/fstabopzioni

  • nobootwait
  • nofail

Qual è la differenza tra i due?

Risposte:


39

Innanzitutto nofailconsente alla sequenza di avvio di continuare anche se l'unità non riesce a montare.

Questo è ciò che fstab(5)dicenobootwait

Il programma mountall (8) che monta il filesystem durante l'avvio riconosce anche opzioni aggiuntive che lo strumento mount (8) ordinario non offre. Questi sono: bootwait che possono essere applicati a filesystem remoti montati al di fuori di / usr o / var, senza i quali mountall (8) non reggerebbe l'avvio per questi; nobootwaitche può essere applicato a filesystem non remoti per indicare esplicitamente a mountall (8) di non trattenere l'avvio per loro; optionalche fa sì che la voce venga ignorata se il tipo di filesystem non è noto al momento dell'avvio; e showthrough che consente di montare un mountpoint prima del suo mountpoint principale (quest'ultimo deve essere usato con attenzione, poiché può causare blocchi di avvio).

fstab(5) ha questo da dire nofail

nofail non segnala errori per questo dispositivo se non esiste.


6
Nota che mountall e quelle opzioni sono specifiche di Ubuntu (e suoi derivati) (e solo versioni relativamente recenti in cui è stato introdotto upstart e quel mountall.
Stéphane Chazelas,

9
nobootwaitnon è più un'opzione valida in Ubuntu 16.04 (a partire dal 10-07-2016 test di installazione di Mythbuntu / 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
dico abbastanza esplicitamente fstab(5). Quindiman 5 fstab
Evan Carroll l'

1
Vedo, questo è Ubuntu 14 (Trusty). Grazie @EvanCarroll. Solo per confermare ciò che Kingsley ha detto sopra bootwait / nobootwait non è più supportato su Ubuntu 16 LTS. Solo nofail.
ILIV

23

Come accennato da Stéphane, nobootwait è limitato ai derivati ​​ubuntu +.

Nofail continuerà a provare a montare l'unità come indicato da cjm, tuttavia, il processo di avvio continuerà dopo che il montaggio avrà raggiunto il timeout . Se non ti aspetti che l'unità sia regolarmente presente per giustificare i 90 secondi in più quando è assente, non montarlo automaticamente in fstab.

(PS L'ho messo come la risposta di cjm suona come se il sistema alla fine non riuscisse ad avviarsi).


6

Questo articolo sembra spiegare bene la differenza

mountall tenta di montare automaticamente tutte le voci da fstab con le impostazioni predefinite o le opzioni di montaggio automatico. Interromperà il processo di avvio se tali voci non possono essere montate, tranne quando viene fornita l' opzione mount nobootwait .

fsck prova a fare un controllo del filesystem su tutte le voci da fstab che hanno il sesto campo impostato su 1 o 2. Le unità non critiche in genere hanno questo campo impostato su 2. Fermerà il processo di avvio se tali filesystem non possono essere controllati, tranne quando viene fornita l' opzione mount nofail .

Disclaimer: non sono un esperto di fstab e non posso garantire / verificare che le informazioni sopra riportate siano vere. Tutti i crediti appartengono all'autore di quell'articolo .


Quando ho provato ad usare nofailho ricevuto un'opzione non riconosciutaerrors=nofail
Aaron Franke il

5

Dato che questa vecchia domanda ha un alto punteggio di Google, menzionerò che poiché "nobootwait" non è più valido, il metodo attuale è quello di impostare un breve timeout di, diciamo, 3 secondi con "x-systemd.device-timeout".

per esempio:

/dev/sda2  /mnt/other  nofail,x-systemd.device-timeout=3  0  2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.