SystemdDoctor
systemd-tmpfiles

systemd-tmpfiles: создание каталогов и файлов по описанию

Механизм создания и очистки файлов и каталогов по декларативному описанию. Работает при загрузке и по таймеру, не требуя команд в unit-файлах служб.

Что делает

Это правильное место для каталогов, которые нужны службе, но не покрываются параметрами вида StateDirectory=: например каталог в /srv с особыми правами или файл в /run с нужным владельцем.

Второе применение — очистка. Описание может задавать срок жизни файлов, и тогда старые записи удаляются автоматически. Так системный /tmp очищается от давних файлов.

Где ставится. Файлы описаний в /etc/tmpfiles.d, /run/tmpfiles.d, /usr/lib/tmpfiles.d.

Значения

ЗначениеЧто происходит
d /run/myapp 0750 app app -создать каталог с владельцем и правами.
f /var/log/myapp/app.log 0640 app adm -создать файл, если его нет.
D /var/cache/myapp 0750 app app 7dсоздать и очищать содержимое старше недели.
L /etc/myapp/current - - - - /etc/myapp/v2создать символическую ссылку.

Пример

Каталог для службы с очисткой старых файлов.

# /etc/tmpfiles.d/myapp.conf
d /run/myapp        0750 app app -
D /var/cache/myapp  0750 app app 7d

# применить не дожидаясь загрузки:
#   systemd-tmpfiles --create /etc/tmpfiles.d/myapp.conf

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

Описание применяется при загрузке: после правки нужно применить его вручную или перезагрузиться.

Заглавная буква в типе записи означает очистку содержимого — легко удалить нужное, перепутав регистр.

Для каталогов, которые полностью принадлежат службе, проще использовать StateDirectory= и родственные параметры.

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

  • status=233/RUNTIME_DIRECTORY в systemdКод 233/RUNTIME_DIRECTORY: не удалось подготовить каталог службы в /run из RuntimeDirectory=. Права, режим, удаление при остановке.
  • Permission denied в журнале службыОтказ в доступе у службы systemd: права на файл, каталоги по пути, пользователь службы, параметры изоляции, SELinux и AppArmor.
  • status=238/STATE_DIRECTORY в systemdКод 238/STATE_DIRECTORY: не удалось подготовить постоянный каталог службы в /var/lib из StateDirectory=.

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

Источники

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