Qual é a diferença entre 'nobootwait' e 'nofail' no fstab?

53

Em esta pergunta eu perguntei como para evitar uma falha de mídia de travar o processo de inicialização do sistema. No entanto, recebi duas sugestões de /etc/fstabopções

  • nobootwait
  • nofail

Qual é a diferença entre os dois?

Evan Carroll
fonte

Respostas:

39

Em primeiro lugar, nofailpermite que a sequência de inicialização continue, mesmo que a unidade não seja montada.

É o que fstab(5)diz sobrenobootwait

O programa mountall (8) que monta o sistema de arquivos durante a inicialização também reconhece opções adicionais que a ferramenta mount (8) comum não possui. São eles: bootwait que podem ser aplicados a sistemas de arquivos remotos montados fora de / usr ou / var, sem os quais mountall (8) não suportaria a inicialização deles; nobootwaitque pode ser aplicado a sistemas de arquivos não remotos para instruir explicitamente o mountall (8) a não atrasar a inicialização deles; optionalque faz com que a entrada seja ignorada se o tipo de sistema de arquivos não for conhecido no momento da inicialização; e showthrough que permite que um ponto de montagem seja montado antes do ponto de montagem pai (este último deve ser usado com cuidado, pois pode causar travamentos de inicialização).

fstab(5) tem isso a dizer sobre nofail

O nofail não relata erros para este dispositivo se ele não existir.

Evan Carroll
fonte
6
Note-se que mountall e essas opções são ubuntu (e seus derivados) específico (e apenas versões relativamente recentes, onde arrivista e que mountall foi introduzido.
Stéphane Chazelas
9
nobootwaitnão é mais uma opção válida no Ubuntu 16.04 (a partir de 10/07/2016 testando o 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
11
eu digo explicitamente fstab(5). Entãoman 5 fstab
Evan Carroll
11
Entendo, esse é o Ubuntu 14 (Trusty). Obrigado @EvanCarroll. Apenas para confirmar o que Kingsley disse acima, o bootwait / nobootwait não é mais suportado no Ubuntu 16 LTS. Apenas nofail.
ILIV
23

Como mencionado por Stéphane, nobootwait é limitado a derivados do ubuntu +.

O Nofail continuará tentando montar a unidade como cjm apontou, no entanto, o processo de inicialização continuará depois que a montagem atingir o tempo limite . Se você não espera que a unidade esteja lá regularmente para garantir a inicialização extra de 90 segundos ou mais, quando ela estiver ausente, não a monte automaticamente no fstab.

(PS, coloquei isso como resposta do cjm, como se o sistema acabasse por falhar na inicialização).

TNT
fonte
6

Este artigo parece explicar bem a diferença

mountall tenta montar automaticamente todas as entradas do fstab que possuem os padrões ou as opções de montagem automática. Ele interromperá o processo de inicialização se essas entradas não puderem ser montadas, exceto quando a opção de montagem nobootwait for fornecida.

O fsck tenta fazer uma verificação do sistema de arquivos em todas as entradas do fstab que possuem o sexto campo definido como 1 ou 2. As unidades não críticas normalmente têm esse campo definido como 2. Ele interromperá o processo de inicialização se esses sistemas de arquivos não puderem ser verificados, exceto quando a opção de montagem nofail é fornecida.

Isenção de responsabilidade: não sou especialista em fstab e não posso garantir / verificar se as informações acima são verdadeiras. Todos os créditos pertencem ao autor desse artigo .

akgren_soar
fonte
Quando tentei usar, nofailfiquei com a opção não reconhecidaerrors=nofail
Aaron Franke
5

Como essa pergunta antiga tem uma classificação alta do Google, mencionarei que, como "nobootwait" não é mais válido, o método atual é definir um tempo limite curto de, digamos, 3 segundos com "x-systemd.device-timeout".

por exemplo:

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