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) для "учетных записей пользователей", которые не вошли в систему. Это не влияет на "системные учетные записи"
В моем случае файлы и каталоги создавались для учетной записи пользователя, а не для системной учетной записи.
Есть два возможных решения:
- Создайте файлы с / для системного пользователя - пользователя, созданного с помощью системной опции (
adduser -r
или жеadduser --system
) - редактировать
/etc/systemd/logind.conf
, раскомментируйте строкуRemoveIPC=yes
измените его наRemoveIPC=no
, сохранить и перезагрузить систему
В моем случае я выбрал вариант № 2, потому что пользователь уже создан.
Рекомендации: