Я просто очищаю установку Ubuntu 16.04 (вместо 14.04) с намерением перенести большую часть рабочего файла fstab, чтобы смонтировать другой диск / раздел JFS. Но, похоже, у меня проблемы с nobootwait
.
Например, одна запись fstab, которая работала в 14.04, была:
UUID=<uuid> /storage jfs defaults,nodiratime,noatime,nofail,nobootwait 0 2
Но в 16.04 она не будет ни монтировать диск во время загрузки, ни монтировать с помощью следующей команды:
sudo mount /storage
У меня установлен jfsutils, и я могу смонтировать раздел вручную, т.е.
sudo mount -t jfs /dev/sdX /storage
Я нашел это в dmesg
[ 6.720171] jfs: Unrecognized mount option "nobootwait" or missing value
Итак, принимая это за подсказку, когда я удаляю опцию nobootwait
из fstab, команда
sudo mount /storage
работает отлично. (Я не знаю об этом во время загрузки, поскольку в настоящее время я делаю это через ssh и не хочу рисковать, если компьютер не загрузится).
Очевидно, что одним из решений является исключение опции nobootwait
. Но я не хочу этого делать. Может быть, nobootwait НИКОГДА не работал (у меня никогда не было сбоя при загрузке диска) в 14.04, а 14.04 просто игнорировал ошибку, но я хочу предполагаемую функциональность nobootwait
.
Произошло ли изменение в Ubuntu 16.04 или ядре linux относительно nobootwait
?
Эта опция, кажется, была отброшена. Страница справочника Ubuntu для fstab
содержит этот текст, если Вы выбираете 14,04 LTS наверху:
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).
Этот абзац не существует в версии страницы, которую Вы получаете, если Вы выбираете 16.04 наверху.
С Ubuntu 16.04 значение по умолчанию init система является systemd, который заменил mountall. http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html предоставляет новые возможности, который, вероятно, избавляет от необходимости nobootwait.
Если Вы просто ищете, как копировать nobootwait
поведение в 16,04, кажется, что опция, которую Вы ищете, nofail
. От 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.
Похож существует 2 соответствующих опции, которые должны быть установлены подражать nobootwait поведению, взятый от 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".
так установка опций к nofail,x-systemd.device-timeout=1
должен заставить систему ожидать 1 секунда устройства, которое будет смонтировано прежде, чем продолжить начальную загрузку.