web-dev-qa-db-fra.com

Quelle est la différence entre 'nobootwait' et 'nofail' dans fstab?

Dans cette question j'ai demandé comment empêcher une panne de média d'arrêter le processus de démarrage du système. Cependant, j'ai reçu deux suggestions pour /etc/fstab options

  • nobootwait
  • nofail

Quelle est la différence entre les deux?

59
Evan Carroll

Tout d'abord, nofail permet à la séquence de démarrage de continuer même si le lecteur ne parvient pas à se monter.

C'est ce que fstab(5) dit à propos de nobootwait

Le programme mountall (8) qui monte le système de fichiers pendant le démarrage reconnaît également des options supplémentaires que l'outil mount (8) ordinaire n'a pas. Ce sont: bootwait qui peut être appliqué à des systèmes de fichiers distants montés en dehors de/usr ou/var, sans lesquels mountall (8) ne retarderait pas le démarrage pour ceux-ci; nobootwait qui peut être appliqué à des systèmes de fichiers non distants pour demander explicitement à mountall (8) de ne pas retarder le démarrage pour eux; optional ce qui provoque l'ignorance de l'entrée si le type de système de fichiers n'est pas connu au démarrage; et showthrough qui permet de monter un point de montage avant son point de montage parent (ce dernier doit être utilisé avec précaution, car il peut provoquer des blocages de démarrage).

fstab(5) a ceci à dire sur nofail

nofail ne signale pas d'erreurs pour cet appareil s'il n'existe pas.

44
Evan Carroll

Comme mentionné par Stéphane, nobootwait est limité aux dérivés ubuntu +.

Nofail continuera d'essayer de monter le lecteur comme l'a souligné cjm, cependant, le le processus de démarrage continuera après l'expiration du montage. Si vous ne vous attendez pas à ce que le disque soit là régulièrement pour garantir les 90 secondes supplémentaires ou plus de démarrage lorsqu'il est absent, ne le montez pas automatiquement dans fstab.

(P.S. Je mets cela comme la réponse de cjm sonne comme si le système échouera finalement au démarrage).

24
TNT

Étant donné que cette ancienne question a une note élevée de Google, je mentionnerai que puisque "nobootwait" n'est plus valide, la méthode actuelle consiste à définir un court délai de, disons, 9 secondes avec "x-systemd.device-timeout".

par exemple.:

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

(Edit: j'ai augmenté le délai d'expiration de 3s à 9s car il semble qu'Ubuntu effectue occasionnellement une vérification rapide du système de fichiers au démarrage qui peut durer plus de 3s.)

8
Dave Rove

Cette article semble bien expliquer la différence

mountall essaie de monter automatiquement toutes les entrées de fstab qui ont les options par défaut ou de montage automatique. Il arrêtera le processus de démarrage si de telles entrées ne peuvent pas être montées, sauf lorsque l'option de montage nobootwait est donné.

fsck essaie de faire une vérification du système de fichiers sur toutes les entrées de fstab dont le sixième champ est défini sur 1 ou 2. Les disques non critiques ont généralement ce champ sur 2. Cela arrêtera le processus de démarrage si ces systèmes de fichiers ne peuvent pas être vérifiés, sauf lorsque l'option de montage pas d'échec est donné.

Avertissement: je ne suis pas un expert fstab et ne peux pas garantir/vérifier que les informations ci-dessus sont vraies. Tous les crédits appartiennent à l'auteur de cet article .

6
akgren_soar