Назад | Перейти на главную страницу

Systemd vs init.d Укажите зависимости systemd в заголовках LSB

У меня есть система на основе systemd, которая содержит один сценарий init.d в стиле System V с заголовками LSB. Сценарий init.d должен запускаться только после того, как все файловые системы в fstab смонтированы. Как я могу указать этот тип зависимости в заголовках LSB?

Когда вы говорите, что проверяете монтирование файловой системы, ясно, что вы запустите ее, если она будет найдена и смонтирована, но неясно, что если она не найдена, что вы хотите, чтобы она делала?

Я спрашиваю, потому что один из возможных ответов - да, в LSB это определяет уровень выполнения. При загрузке Linux / Unix файловые системы доступны на уровне выполнения 1. Итак, установите в заголовке LSB «Default-Start: 2 3 4 5». Затем поместите запись о монтировании файловой системы в / etc / fstab и, при желании, установите для нее значение «bootwait», чтобы подвесить вашу систему и предотвратить переход к запуску второго уровня до тех пор, пока она не смонтируется, независимо от того, сколько времени это займет. На самом деле так конфигурируются некоторые системы, когда (удаленная) файловая система очень важна.

В противном случае ответ отрицательный, вы не можете проверить существование смонтированного раздела ТОЛЬКО в самой записи заголовка LSB. И, поскольку вы разрешаете этой конкретной системе загружаться без этой конкретной файловой системы, очевидно, что файловая система недостаточно «важна» для того, чтобы система зависла в ожидании доступности монтирования.

Обратите внимание, если вы хотите не запускаться вообще, когда файловая система не смонтирована, потому что вы пытаетесь удовлетворить зависимость «Required-Start:» в другом сценарии инициализации? Надеюсь, нет, поскольку вы видите, что вы спускаетесь по очень скользкой дорожке зависимостей сценариев инициализации.

Надеюсь, вы хотите, чтобы он не запускался, потому что в противном случае он испортил бы вещи, такие как заполнение корневой файловой системы (в отличие от зависимости от init)? Затем вы можете позволить ему работать, но просто запрограммируйте сценарий инициализации для проверки и корректного завершения, если это необходимо. Логика для проверки монтирования файловой системы и, если она не найдена, выхода, вероятно, представляет собой одну строку кода. Его можно вставить сразу после заголовка LSB.