16.04 LTS и /dev/shm/ Файлы исчезают

Я переношу веб-приложение, которое ранее работало на Ubuntu 12.04 LTS. Это широко использует /dev/shm/, Я обнаружил, что данные приложения исчезают из /dev/shm/ на сервере Ubuntu 16.04 LTS.

Есть ли какая-то сборка мусора, которая удаляет файлы и каталоги оттуда? Я вижу, что 12.04 настроен с этой символической ссылкой: /dev/shm -> /run/shmтогда как 16.04 имеет абсолютно противоположное: /run/shm -> /dev/shm, Я не понимаю, как это могло бы иметь значение, хотя.


ОБНОВЛЕНИЕ

  • Я подозревал AppArmor, но удаление его не изменило поведение
  • Удаление структур каталогов происходит каждые пять минут.
  • Каталоги с файлами в них в конечном итоге удаляются, но не так быстро
  • Я подозреваю, что возраст файлов / каталогов влияет на удаление
  • Похоже, этот парень испытывает ту же проблему.

1 ответ

Решение

После нескольких часов поиска и чтения я нашел виновника. Это настройка для systemd, /etc/systemd/logind.conf содержит параметры конфигурации по умолчанию, каждый из которых закомментирован. RemoveIPC опция установлена ​​в yes по умолчанию. Эта опция говорит systemd очистить межпроцессное взаимодействие (IPC) для "учетных записей пользователей", которые не вошли в систему. Это не влияет на "системные учетные записи"

В моем случае файлы и каталоги создавались для учетной записи пользователя, а не для системной учетной записи.

Есть два возможных решения:

  1. Создайте файлы с / для системного пользователя - пользователя, созданного с помощью системной опции (adduser -r или же adduser --system)
  2. редактировать /etc/systemd/logind.conf, раскомментируйте строку RemoveIPC=yes измените его на RemoveIPC=no, сохранить и перезагрузить систему

В моем случае я выбрал вариант № 2, потому что пользователь уже создан.

Рекомендации:

Другие вопросы по тегам