如果 /var/tmp 位于临时文件系统上,会出现什么问题?

如果 /var/tmp 位于临时文件系统上,会出现什么问题?

我读过,我不应该将 /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
  • 文本编辑工具,例如exsudoedit将临时文件放入 /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,您的系统不太可能遭受严重损坏。这样做可能并不理想,因为您可能会因断电和重新启动而丢失信息。

相关内容