Мне нужно, чтобы определенный ряд /etc/fstab
всегда монтировался после двух других рядов:
# Always mount these first
UUID=fdf38dd4-9e9d-479d-b830-2a6989958503 / ext4 noatime,discard,errors=remount-ro 0 1
UUID=2b548eb8-fa67-46ce-a998-91d587dba62f /home/.hdd ext4 errors=remount-ro 0 2
# Always mount this second
none /home/ak aufs br:/home/.ssd/ak=rw:/home/.hdd/ak=rw 0 0
Текущее поведение заключается в том, чтобы часто менять порядок последних двух строк непредсказуемым образом. Как я могу указать необходимый заказ?
noauto
и подключитьrc.local
?Ответы:
Один из вариантов - отложить монтаж до
/etc/fstab
завершения, это дает вам полный контроль над порядком монтирования.Просто добавьте
noauto
параметры монтирования в fstab и подключите ихrc.local
.Согласно man-странице ,
mount -a
монтирует записиfstab
последовательно, а при добавлении-F
опции ('fork') монтирует их параллельно. Похоже, что стандартная загрузка использует 'fork', предположительно, для сокращения времени загрузки, поэтому я предполагаю, что последующее монтирование (полу) вручную - это самый простой способ восстановить контроль над порядком монтирования.источник
Я мог бы подумать о настройке скрипта, который монтирует вторые диски после вызова скрипта монтирования. В Ubuntu initd - это служба, которая запускает все компоненты вашей операционной системы, и она называется upstart .
Он основан на событиях, то есть он просматривает / ожидает и генерирует события во время процесса загрузки. Как указал этот пост в этом посте, служба initd пытается делать что-то параллельно, что, вероятно, является причиной ваших проблем. Таким образом, вы можете настроить запуск скрипта сразу после того, как монтирование завершится и завершит его обработку.
Сценарии монтирования хранятся в каталоге / etc / init /. Я бы также добавил ваш дополнительный скрипт монтирования. Посмотрите на это описание процесса запуска. Этот сайт, вероятно, поможет вам быстрее увидеть ваш собственный скрипт.
Вы должны иметь начало раздела в своем собственном сценарии. См. Этот раздел для начала работы после того, как другой закончил.
Я все еще смотрю на то, как создавать свои собственные сценарии запуска, так что я не могу быть более полезным. Если вы нашли рабочее решение, пожалуйста, опубликуйте его здесь.
источник
Ubuntu использует
mountall
во время загрузки, а неmount -a
. Mountall ожидает появления соответствующих устройств, а затем немедленно монтирует на них fs, если только fs, под которым он монтируется, еще не был смонтирован, то он ждет этого fs.Вы должны иметь возможность получить нужный порядок, установив точки монтирования 3-х файловых систем так, чтобы они располагались друг над другом. Вместо того, чтобы монтировать все три в /home/.something, поместите первый в /home/.x, а второй в /home/.x/.y, а третий в /home/.x/.y/ .z.
источник
Systemd теперь включает опцию зависимости, которая обеспечивает порядок монтирования. В вашем случае добавьте аргументы fstab:
Опция noauto не будет работать, если вам нужно смонтировать поверх других смонтированных файловых систем. В моем случае вышеприведенное сработало, см. Коммит https://github.com/systemd/systemd/commit/3519d230c8bafe834b2dac26ace49fcfba139823 для получения более подробной информации.
источник
Согласно
man fstab
, тоshowthrough
варианту может быть то, что вы ищете. Попробуйте установить его на / home / ak и посмотреть, работает ли он.Возможно, что
mount
вилки при монтировании файловых систем во время загрузки; в этом случае порядок монтирования разделов будет неопределенным.источник
showthrough
не решил проблему.