I have the /tmp
partition of my OpenBSD system on a memory disk. Why? All of /tmp
is cleared on a reboot anyway so I don't store valuable data there. Besides that, it speeds up access (more on that later) and I have 12G of RAM to waste. So why not waste it on a memory filesystem.
Although OpenBSD has support for tmpfs it is disabled by default since it's not properly maintained anymore. The other available memory filesystem is mfs - the memory filesystem (MFS) - that creates a RAM disk backed by your local swap partition.
I assume you have a swap partition, have you? If not, consider reinstalling and make sure that you have one. Find out your partition by using swapctl
:
$ swapctl Device 1M-blocks Used Avail Capacity Priority /dev/sd1b 2048 0 2048 0% 0
Creating a MFS is as easy as mounting a regular FFS partition. Just specify any flags you want and provide the name of your swap partition. Here is an example mount where I mount a 2G MFS:
# mount_mfs -o nodev,nosuid,async -s 2048m /dev/sd1b /mnt/ # mount | grep mnt mfs:80942 on /mnt type mfs (asynchronous, local, nodev, nosuid, size=2048 1M-blocks)
Simply add an entry similar to the following to your /etc/fstab
and make sure that the existing entry for /tmp
is commented out. The maximum size is 2G and I use the usual mount flags. I also use async since the content will be lost upon reboot anyway.
# cat /etc/fstab | grep tmp swap /tmp mfs rw,nodev,nosuid,async,-s=2048m 0 0
Since MFS inherits the permissions from the root directory make sure that the permissions of the /tmp
are 1777 (sticky bit). You can safely achieve this by rebooting into single user mode (reboot and type bsd -s
at the loader prompt), fix the permissions and switch to multi-user mode.
One of my use cases to having /tmp
on a MFS is to prevent that the Firefox disc cache ends up in $HOME/.cache
. To set the non-standard location, start Firefox and navigate to about:config
. Create a new string-based entry called browser.cache.disk.parent_directory
and set the value to /tmp
. Restart Firefox and you should see a new directory appearing. You can also check by navigating to about:cache
.
Caution if you use multiple instances of Firefox running under different users. If you set the config value simply to /tmp
the first running instance will create the cache directory and tighten the permissions so others cannot use it anymore. In this case, just set different path for each instance.
text/gemini
This content has been proxied by September (ba2dc).