Ubuntu 16.04 fstab échoue avec nobootwait

16

Je viens de nettoyer installer Ubuntu 16.04 (pour remplacer 14.04) avec l'intention de porter en vrac le fichier fstab de travail, afin de monter d'autres disques / partitions JFS. Mais je semble avoir des problèmes avec nobootwait.

Par exemple, une entrée fstab qui fonctionnait en 14.04 était:

UUID=<uuid>  /storage jfs defaults,nodiratime,noatime,nofail,nobootwait  0 2

Mais en 16.04, il ne montera ni le disque au démarrage ni le montage selon la commande suivante:

sudo mount /storage

J'ai jfsutils installé ET je peux monter la partition manuellement, c'est-à-dire

sudo mount -t jfs /dev/sdX /storage

J'ai trouvé ça dans dmesg

[   6.720171] jfs: Unrecognized mount option "nobootwait" or missing value

Donc, en prenant cela comme un indice, lorsque je supprime l' nobootwaitoption de fstab, la commande

sudo mount /storage 

fonctionne bien. (Je ne sais pas au moment du démarrage car je fais actuellement cela sur ssh et je ne veux pas risquer que l'ordinateur ne démarre pas).

De toute évidence, une solution consiste à nobootwait option. Mais je ne veux pas faire ça. Peut-être que nobootwait n'a JAMAIS fonctionné (je n'ai jamais eu d'échec de boottime du disque) en 14.04 et 14.04 juste ignoré l'erreur, mais je veux la fonctionnalité supposée de nobootwait.

Y a-t-il eu un changement dans Ubuntu 16.04 ou le noyau Linux concernant nobootwait?

codechimp
la source
Cela m'est également arrivé lorsque j'ai mis à niveau une machine vers la version 16.04. Basé sur mon expérience a nobootwaitété abandonné en option, mais je n'ai trouvé cela documenté nulle part. Je l'ai remplacé par nofail.
Organic Marble
@Organic Marble Contente que je ne sois pas complètement mental. Merci. Je voudrais toujours obtenir la nobootwaitfonctionnalité.
codechimp

Réponses:

12

Cette option semble avoir été supprimée. La page de manuel Ubuntu pour fstabcontient ce texte si vous sélectionnez 14.04 LTS en haut:

The  mountall(8)  program  that  mounts  filesystem  during  boot  also
 recognises additional options that the ordinary mount(8) tool does not.
These  are:  ``bootwait''  which  can  be applied to remote filesystems
mounted outside of /usr or /var, without which  mountall(8)  would  not
hold up the boot for these; ``nobootwait'' which can be applied to non-
remote filesystems to explicitly instruct mountall(8) not  to  hold  up
the boot for them; ``optional'' which causes the entry to be ignored if
the filesystem type is not known  at  boot  time;  and  ``showthrough''
which  permits  a mountpoint to be mounted before its parent mountpoint
(this latter should be used carefully, as it can cause boot hangs).

Ce paragraphe n'existe pas dans la version de la page que vous obtenez si vous sélectionnez 16.04 en haut.

Marbre organique
la source
8
Quelqu'un at-il une alternative viable à cela? Vous savez, en plus de la façon hackeuse d'ajouter noautoaux options de montage, puis d'appeler mount -adepuis rc.localou depuis un travail cron avec le @rebootdrapeau?
John Blackberry
10

Si vous cherchez simplement à reproduire le nobootwaitcomportement dans 16.04, il semble que l'option que vous recherchez soit nofail. Sur http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html

   nofail
       With nofail, this mount will be only wanted, not required, by
       local-fs.target or remote-fs.target. This means that the boot will
       continue even if this mount point is not mounted successfully.
cheshirekow
la source
6
Il y a une différence fondamentale entre ces deux: nofailva attendre 1,5 minutes avant d' abandonner, nobootwaitne pas attendre du tout.
rustyx
10

Il semble qu'il y ait 2 options pertinentes qui doivent être définies pour imiter le comportement de nobootwait, tirées de la page de manuel de montage de systemd :

   nofail
       With nofail, this mount will be only wanted, not required, by
       local-fs.target or remote-fs.target. This means that the boot will
       continue even if this mount point is not mounted successfully.
   x-systemd.device-timeout=
       Configure how long systemd should wait for a device to show up
       before giving up on an entry from /etc/fstab. Specify a time in
       seconds or explicitly append a unit such as "s", "min", "h", "ms".

Par conséquent, si vous définissez les options sur, nofail,x-systemd.device-timeout=1le système doit attendre 1 seconde pour que le périphérique soit monté avant de poursuivre le démarrage.

Konstantin Pereiaslov
la source
0

Depuis Ubuntu 16.04, le système d'initialisation par défaut est systemd qui a remplacé mountall. http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html fournit de nouvelles options qui éliminent probablement le besoin de nobootwait.

Zigmund Ozea
la source
3
Les liens peuvent mourir, veuillez copier les informations pertinentes ici?
Dr_Bunsen
@Dr_Bunsen Le lien est une page de manuel en ligne pour plus de commodité, vous pouvez également exécuter man systemd.mountpour afficher le même fichier localement.
Skylar Ittner
7
Publier les informations pertinentes est la chose habituelle à faire.
Dr_Bunsen