我正在尝试转向/tmp
RAM 并遵守良好做法:
/var/tmp
不应放置在 中tmpfs
,因为它必须在重新启动后存活
不是/tmp
作为独立安装tmpfs
,而是依赖/dev/shm
或/run/shm
然而,事情在 2.6 和 3.2 内核之间发生了变化:
在 3.2 内核上,RAMTMP=yes
在/etc/default/tmpfs
.
我的问题是:如何使用旧内核实现这一目标?
我的选择不是修改 /etc/fstab 也不是:
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
Run Code Online (Sandbox Code Playgroud)
RAMTMP
2.6 内核有类似的东西吗?
Chr*_*own 30
你不必做这一切,你可以安装/tmp
如tmpfs
通过使用像下面一行/etc/fstab
:
tmpfs /tmp tmpfs mode=1777,nosuid,nodev 0 0
Run Code Online (Sandbox Code Playgroud)
您也可以实时执行(但请记住,/tmp
除非通过 inode 和当前打开的文件描述符,否则将无法访问当前文件系统中当前存在的内容,因此您应该通过修改/etc/fstab
和重新启动来执行此操作):
mount -o mode=1777,nosuid,nodev -t tmpfs tmpfs /tmp
Run Code Online (Sandbox Code Playgroud)
注意atmpfs
可以交换。如果你想要一个真正只有 RAM 的文件系统,请使用ramfs
.
Llu*_*uís 24
/etc/default/tmpfs
是 for sysvinit
, for systemd
(Debian 默认自 jessie) 你只需要做:
systemctl enable tmp.mount
Run Code Online (Sandbox Code Playgroud)
在 Debian Stretch 或更高版本上:
cp /usr/share/systemd/tmp.mount /etc/systemd/system/
systemctl enable tmp.mount
Run Code Online (Sandbox Code Playgroud)
查看变更日志
有关 RAMDISK/tmpfs 的更多详细信息,请参见SSD 优化Debian Wiki 页面。
我知道这很旧,但在 Debian 类型的发行版中,在 /etc/default/tmpfs(/etc/default/rcS 或之前 wheezy)设置 RAMTMP、RAMRUN 和 RAMLOCK 执行相同的工作。