Рейтинг:1

Не удается записать в /tmp в службе systemd с PrivateTmp=true

флаг in

Мой сервис apache2 имеет PrivateTmp=истина. Когда служба запускается впервые, она работает нормально, но через несколько дней запись в /tmp завершается с ошибкой «нет такого файла или каталога». Для отладки я попытался запустить nsenter -t <apache-pid> -m bash и я это подтвердил /tmp существует, но mkdir/tmp/тест завершается с ошибкой «нет такого файла или каталога». лучше бы не удалял PrivateTmp=истина директива.

Если я перезапускаю службу, она снова начинает работать.

Строка монтирования для /tmp внутри говорит, что он смонтирован в /dev/nvme0n1, что мне кажется странным, но это тот случай, когда /tmp работает сразу после запуска службы и когда он недоступен для записи.

Кто-нибудь знает, почему /tmp внезапно становится недоступным для записи?

Рейтинг:2
флаг in

Я нашел проблему.

я имел тмпреапер включен и настроен для очистки старых файлов и каталогов под /tmp. У меня не было правила исключения для /tmp/системный-частный-*, поэтому tmpreaper удалял частный каталог tmp для apache2.

Рейтинг:0
флаг zw

Как я понимаю PrivateTmp=истина запрещает именно то, что вы пробовали при отладке. Демон создаст свой собственный подкаталог и соответствующим образом изменит свое пространство имен.

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

Возможно, вы захотите какое-то время регистрировать размер каталогов /tmp. Если он продолжает расти, это проблема.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.