Bug 29036

Summary: cleans up /var/tmp in spite of some people's expectations
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: systemd-utilsAssignee: Alexey Shabalin <shaba>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: enp, inger, ldv, led, legion, shaba
Version: unstable   
Hardware: all   
OS: Linux   

Description Michael Shigorin 2013-05-31 17:10:21 MSK
Сообщают, что startup-0.9.9.0+ содержит безусловный systemd-tmpfiles --clean, следствием чего оказалась зачистка /var/tmp при перезагрузке без объявления войны.

---
    /var/tmp : Temporary files preserved between system reboots
--- /usr/share/doc/fhs-2.3/fhs.txt.bz2
Comment 1 Dmitry V. Levin 2013-06-01 01:29:17 MSK
Это теперь к systemd-tmpfiles --clean, а не ко мне. :)

Ну а tmpfiles.d, между прочим, настраивается.
Comment 2 led 2013-06-01 01:34:38 MSK
(В ответ на комментарий №1)
> Ну а tmpfiles.d, между прочим, настраивается.

Если теперь /lib/ - аналог /etc/, то да, можно сказать, что настраивается.
Comment 3 Dmitry V. Levin 2013-06-01 01:39:50 MSK
(In reply to comment #2)
> (В ответ на комментарий №1)
> > Ну а tmpfiles.d, между прочим, настраивается.
> 
> Если теперь /lib/ - аналог /etc/, то да, можно сказать, что настраивается.

В tmpfiles.d(5) написано, как именно настраивается.

Пакетные настройки находятся в /lib/tmpfiles.d/,
сисадминские настройки находятся в /etc/tmpfiles.d/ и могут перекрывать пакетные.
Comment 4 Dmitry V. Levin 2013-06-01 01:50:18 MSK
Кстати, в /lib/tmpfiles.d/tmp.conf написано:
d /tmp 1777 root root 10d
d /var/tmp 1777 root root 30d

Т.е. это не безусловная зачистка, а скорее аналог stmpclean.
Достаточно ли 30 суток или нет, решать администратору системы.
В /etc/cron.daily/stmpclean, кстати, те же 30 суток.
Comment 5 led 2013-06-01 01:59:25 MSK
(В ответ на комментарий №4)
> Т.е. это не безусловная зачистка, а скорее аналог stmpclean.
> Достаточно ли 30 суток или нет, решать администратору системы.
> В /etc/cron.daily/stmpclean, кстати, те же 30 суток.

Это именно безусловная зачистка. Потому как за "администратора системы" было принято безусловное решение, стоило лишь "адмистратору системы" перезагрузить систему. Теперь "адмистратор системы" в некотором недоумении, потому как никакого "решения о 30 сутках" он не принимал.
Comment 6 Michael Shigorin 2013-06-02 17:51:10 MSK
(В ответ на комментарий №4)
> Кстати, в /lib/tmpfiles.d/tmp.conf написано:
> d /tmp 1777 root root 10d
> d /var/tmp 1777 root root 30d
> 
> Т.е. это не безусловная зачистка, а скорее аналог stmpclean.
Дима, _по умолчанию_ этого не должно быть.

В 2003 "благодаря" stmpclean по умолчанию в Master я так потерял данные, которые предполагались как временные, но постфактум выяснилось, что единственную копию тот, кому она была нужна, так и не забрал.

Я могу, конечно, исправить это в mkimage-profiles.  Но тогда будет сильное искушение сделать так же -- "кому хочется поменять, форкайтесь".

Героически бороться с каждым хостом оставим федорасам.
Comment 7 Dmitry V. Levin 2013-06-03 00:22:50 MSK
(In reply to comment #6)
> (В ответ на комментарий №4)
> > Кстати, в /lib/tmpfiles.d/tmp.conf написано:
> > d /tmp 1777 root root 10d
> > d /var/tmp 1777 root root 30d
> > 
> > Т.е. это не безусловная зачистка, а скорее аналог stmpclean.
> Дима, _по умолчанию_ этого не должно быть.

На мой вгляд, вполне разумное _умолчание_, в тех редких случаях, когда это неудобно, сконфигурировать не составляет труда.

И, конечно, с FHS это никак не связано.
Ну а что касается FHS, то, на мой взгляд, сохранять между перезагрузками содержимое каталогов, доступных всем для записи, небезопасно, и лучше так не делать. Впрочем, это уже совсем другая история.

> В 2003 "благодаря" stmpclean по умолчанию в Master я так потерял данные,
> которые предполагались как временные, но постфактум выяснилось, что
> единственную копию тот, кому она была нужна, так и не забрал.

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

> Я могу, конечно, исправить это в mkimage-profiles.  Но тогда будет сильное
> искушение сделать так же -- "кому хочется поменять, форкайтесь".

В своем личном mkimage-profiles ты можешь захакать что угодно, но из этого еще не следует, что твои локальные изменения поведения пакета systemd-utils нужны кому-то еще.
Comment 8 Alexey Shabalin 2018-01-28 16:20:31 MSK
Баг может висеть вечно, но никто не собирается вносить каких либо изменений в stmpclean или systemd-tmpfiles. У обоих вариантов одинаковое осмысленное поведение. Лучших правил поведения сейчас никто сформулировать не сможет.
И конечно /var/tmp это не место для хранения файлов.
А потому, я закрываю баг.