新的默认设置:/tmp 上的 tmpfs
2020年7月27日 | Thorsten Kukuk | 无许可
简介
我们对我们的容器宿主机操作系统 openSUSE MicroOS 进行了重要更改,我们的 Kubernetes 平台 openSUSE Kubic 将会继承此更改,因为它基于 openSUSE MicroOS:我们现在使用 tmpfs 来挂载 /tmp。
tmpfs 是一个驻留在内存中的临时文件系统。将目录挂载为 tmpfs 可以有效地加速对文件的访问,并确保在重启时自动清除其内容。
全新安装将默认使用 tmpfs 来挂载 /tmp。旧安装需要手动转换为此设置,但仍然可以切换回使用磁盘空间来挂载 /tmp。如果 /tmp 中存储了大型文件,这尤其有用且重要。
如果需要在 /tmp 下方创建临时文件或目录,可以在启动时使用 tmpfiles.d 来创建。但切勿在 /tmp 中存储重要文件,它们将无法在下次重启后幸存。
将旧安装转换为使用 tmpfs
由于 tmpfs 将被挂载在 /tmp 之上,因此现有文件将不再可访问。以下步骤将清理 /tmp 并启用 /tmpfs
- 备份当前存储在
/tmp中的所有重要文件! - 从 /etc/fstab 中删除
/tmp的行 - 删除
/tmp中的所有文件 - 重启
重启后,应该使用 tmpfs 来挂载 /tmp。
使用磁盘空间来挂载 /tmp
在为 /tmp 创建新的 btrfs 子卷并将其添加到 /etc/fstab 后,tmpfs 将不再用于挂载 /tmp。
实现此目的最简单的方法是使用 snapper 0.8.12 或更高版本的 mksubvolume
# transactional-update shell
transactional update # mksubvolume /tmp
transactional update # exit
# systemctl reboot
之后,所有文件将再次存储在磁盘上,并在重启后幸存。
未来计划
未来,我们计划默认情况下进一步加强系统安全性,例如通过使用 noexec 标记 /tmp 和文件系统的其他可写部分。
类别: 博客
标签