[Bug 2019026] Re: systemd /tmp cleaning is suboptimal
Nick Rosbrook
2019026 at bugs.launchpad.net
Mon Jun 12 15:46:13 UTC 2023
> how would it impact you if it was NOT cleaned at reboot?
I just like it. It's easier for me to keep track in my head that "oh,
this file in /tmp will only be around until I reboot", as opposed to
trying to keep track of the actual age of a file. To be clear, I am not
suggesting that my use case is strong argument for keeping the current
default (I will happily write an /etc/tmpfiles.d/tmp.conf drop-in to
meet my preference if needed). Just pointing out that there might be a
range of preferences on the default handling of /tmp.
Also, you may have already come across this, but if not, this is the
Debian bug that resulted in the current default:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675422.
If you think it would be best for most Ubuntu users to change the
current default, then we should go with your suggested change. If the
motivation is mostly about your schroot use case, then I would suggest
either modifying schroot to do what you need, or using
/etc/tmpfiles.d/tmp.conf.
** Bug watch added: Debian Bug tracker #675422
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675422
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2019026
Title:
systemd /tmp cleaning is suboptimal
Status in systemd package in Ubuntu:
New
Bug description:
Historically on Debian and Ubuntu, before systemd, the default
handling of /tmp was to periodically, and at boot, remove all
files/directories older than 30 days; and leave other contents alone.
With the move to systemd, the "default" (really, hard-coded in
/usr/lib/tmpfiles.d/tmp.conf) is to not clean /tmp periodically, but
at boot to remove all contents.
This is suboptimal for two reasons.
By cleaning /tmp *only* at boot, if a system makes heavy use of /tmp
and has lots of inodes under it, possibly due to failures of some
process to clean up after itself, at boot the system will be
unavailable for an unnecessarily long time while these files are
removed.
By cleaning *all* files under /tmp, this makes a reboot an Event where
in-progress files may be unnecessarily lost.
While the FHS does not *guarantee* that files under /tmp will persist
across boot (because /tmp may be a tmpfs), it also does not *require*
that /tmp be cleared on boot.
Although data stored in /tmp may be deleted in a site-specific
manner, it is recommended that files and directories located in
/tmp be deleted whenever the system is booted.
FHS added this recommendation on the basis of historical
precedent and common practice, but did not make it a
requirement because system administration is not within the
scope of this standard.
I therefore believe the correct value for /usr/lib/tmpfiles.d/tmp.conf
to restore past behavior is 'd /tmp 1777 root root 30d'.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2019026/+subscriptions
More information about the foundations-bugs
mailing list