Title: Use ramdisk on /tmp on OpenBSD | |
Author: Solène | |
Date: 08 May 2018 | |
Tags: openbsd70 openbsd | |
Description: | |
If you have enough memory on your system and that you can afford to | |
use a few hundred megabytes to store temporary files, you may want to | |
mount a mfs filesystem on /tmp. That will help saving your SSD drive, | |
and if you use an old hard drive or a memory stick, that will reduce | |
your disk load and improve performances. You may also want to mount a | |
ramdisk on others mount points like ~/.cache/ or a database for some | |
reason, but I will just explain how to achieve this for /tmp with is a | |
very common use case. | |
First, you may have heard about **tmpfs**, but it has been disabled in | |
OpenBSD years ago because it wasn't stable enough and nobody fixed | |
it. So, OpenBSD has a special filesystem named **mfs**, which is a FFS | |
filesystem on a reserved memory space. When you mount a mfs | |
filesystem, the size of the partition is reserved and can't be used | |
for anything else (tmpfs, as the same on Linux, doesn't reserve the | |
memory). | |
Add the following line in /etc/fstab (following fstab(5)): | |
swap /tmp mfs rw,nodev,nosuid,-s=300m 0 0 | |
The permissions of the mountpoint /tmp should be fixed **before** | |
mounting it, meaning that the `/tmp` folder on `/` partition | |
should be changed to 1777: | |
# umount /tmp | |
# chmod 1777 /tmp | |
# mount /tmp | |
This is required because **mount_mfs** inherits permissions from the | |
mountpoint. |