SystemdDoctor
RequiresMountsFor= [Unit]

RequiresMountsFor=: зависимость от точки монтирования по пути

Принимает обычные пути и автоматически добавляет зависимости от всех точек монтирования, нужных для доступа к ним. Имена mount-unit вычисляет сам systemd.

Что делает

Это удобнее ручного Requires=data.mount: не нужно знать имя unit и помнить про экранирование пути. Вложенные точки монтирования учитываются автоматически.

Параметр решает классическую проблему: служба стартует до монтирования раздела с её данными и падает с сообщением об отсутствующих файлах. При ручном перезапуске всё работает, а после перезагрузки — нет.

Где ставится. В секции [Unit]. Пути перечисляются через пробел.

Значения

ЗначениеЧто происходит
/var/lib/myappзависимость от точки монтирования, содержащей этот путь.
/mnt/backup /srv/dataнесколько путей через пробел.

Пример

Служба с данными на отдельном разделе.

[Unit]
RequiresMountsFor=/srv/data

[Service]
WorkingDirectory=/srv/data
ExecStart=/usr/local/bin/myapp

systemd сам найдёт нужный mount-unit и выстроит порядок. Перечислять его имя вручную не нужно.

Типичные ошибки

Зависимость жёсткая: если монтирование не удалось, служба не запустится. Обычно это и требуется.

Для сетевых ресурсов нужен ещё параметр монтирования _netdev, иначе порядок относительно сети будет неверным.

Параметр не создаёт точку монтирования: он лишь добавляет зависимость от существующей.

Связанные ошибки

Рядом стоящие параметры

Источники

  • systemd.unit(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026