After a recent reboot of my CentOS servers, I’ve inherited an issue where the server comes up running with /tmp mounted using tmpfs. tmpfs is a memory-based volatile filesystem and has some uses for people, but others like myself may have servers with very little free RAM and plenty of disk and prefer the traditional mounted FS volume.
As a service it should be possible to disable this as per the above comment… except that it already is – the following shows the service disabled on both my server and also by default by the OS vendor:
The fact I can’t disable it, appears to be a bug. The RPM changelog references 1298109 and implies it’s fixed, but the ticket seems to still be open, so more work may be required… it looks like any service defining “PrivateTmp=true” triggers it (such as ntp, httpd and others).
Whilst the developers figure out how to fix this properly, the only sure way I found to resolve the issue is to mask the tmp.mount unit with:
systemctl mask tmp.mount
Here’s something to chuck into your Puppet manifests that does the trick for you:
exec { 'fix_tmpfs_systemd': path => ['/bin', '/usr/bin'], command => 'systemctl mask tmp.mount', unless => 'ls -l /etc/systemd/system/tmp.mount 2>&1 | grep -q "/dev/null"' }
This properly survives reboots and is supposed to survive systemd upgrades.