/etc/fstab монтируется слишком поздно, что приводит к сбою некоторых демонов

/etc/fstab монтируется слишком поздно, что приводит к сбою некоторых демонов

Я написал несколько записей в /etc/fstab, например, монтирование на /tmp.

Похоже, systemd монтирует /etc/fstabзаписи слишком поздно, после того, как какой-то демон уже запущен, например Xorg.

Xorg создает .X11-unixв /tmp, затем systemd монтирует в /tmp, поэтому файлы, которые уже в , /tmpисчезают. Это приводит к тому, что некоторые программы не могут общаться с X.

Как сделать так, чтобы /etc/fstabзаписи монтировались раньше? Или мне следует использовать что-то другое, а не /etc/fstab?

решение1

Это говорит о том, что файл модуля, запускающий Xorg, имеет недостаточно зависимостей, и поэтому systemdон запускается слишком рано.

По крайней мере в Debian монтирование локальных файловых систем автоматически имеет зависимость порядка Before=local-fs.target, а local-fs.targetis, которая требуется sysinit.target, отвечает за раннюю инициализацию системы, поэтому все локальные файловые системы должны быть смонтированы, когда sysinit.targetона будет завершена.

И если только модуль, который запускает Xorg, не имеет , DefaultDependencies=noон неявно будет иметь Requires=sysinit.targetи After=sysinit.target, поэтому он должен запускаться только после того, как sysinit.targetбудет выполнено. Только модули, отвечающие за инициализацию системы низкого уровня, должны иметь DefaultDependencies=no.

Однако, если ваша /tmpфайловая система удаленная, вам может потребоваться добавить After=remote-fs.targetзависимость к юниту, который запускает Xorg. Самый простой способ сделать это — использовать systemctl editдля редактирования, что приведет systemctlк автоматическому созданию файла drop-in с вашими изменениями (только) в /etc/systemd/system/<name of the Xorg-starting unit>.d/.

Вам следует указать название и версию вашего дистрибутива Linux, чтобы, если у этой конкретной версии есть какие-то специфические особенности в systemdконфигурации, кто-то, кто в них разбирается, мог дать вам более конкретный ответ.

Связанный контент