我读过,我不应该将 /var/tmp 作为临时文件系统(例如,作为 tmpfs)挂载,因为 /var/tmp 中的文件在重新启动时不得删除。那是对的吗?
假设我将 /var/tmp 挂载为 tmpfs,那么每次重启时都会删除其内容。这会很糟糕吗?如果会,会有什么问题?会有多糟糕?
答案1
预计其中的文件/var/tmp
在重新启动后将保持不变。从联邦调查局:
/var/tmp 目录可供需要在系统重新引导之间保留临时文件或目录的程序使用。因此,存储在 /var/tmp 中的数据比 /tmp 中的数据更持久。
其中的文件/var/tmp
通常是缓存文件或临时文件,它们在突然断电时不应消失。但不能指望他们永远活着。常见的是清除旧文件从/var/tmp
时间表上。
以下是 的一些/var/tmp
用法示例:
- vi 的某些实现(例如
nvi
)将其崩溃恢复文件放在/var/tmp
.如果那是临时文件系统,您就没有机会恢复任何内容。 Vim 将其崩溃恢复文件与正在编辑的文件放在同一目录中。 - 我用火狐浏览器插件这让我可以在 Vim 中编辑文本字段。为了实现这一点,插件在
/var/tmp
(/tmp
默认情况下)中创建一个临时文件并将该文件传递给 Vim。如果我在使用此功能时计算机断电,我的写作将安全无虞/var/tmp
。 - 文本编辑工具,例如
ex
和sudoedit
将临时文件放入/var/tmp
.如果/var/tmp
安装为 tmpfs,您将面临因意外断电而丢失数据的风险。 联机
git-archive(1)
帮助页有以下示例。git archive --format=tar --prefix=junk/ HEAD | git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)创建一个 tar 存档,其中包含 当前分支
上最新提交的内容,并将其提取到 /var/tmp/junk 目录中。选择目录可能是
/var/tmp
为了使提取的存档内容不会因突然断电而丢失。- 由于
/var/tmp
会定期清除但不会意外清除,因此通常会在那里存储临时日志并测试数据库。例如,在arpd
联机帮助页中,/var/tmp
出于某些示例的目的,将 用作测试数据库的位置。arpd -b /var/tmp/arpd.db
启动 arpd 收集免费 ARP,但不会干扰内核功能。
/var/tmp
为 tmpfs,您的系统不太可能遭受严重损坏。这样做可能并不理想,因为您可能会因断电和重新启动而丢失信息。