重启后删除所有更改

重启后删除所有更改

我希望允许用户能够进行临时更改,例如创建文件和目录,但在重新启动后删除所有这些更改。这应该适用于文件系统中的任何地方。

我尝试阅读tmpfs,但我不确定是否有更好的解决方案。

有人能指出我正确的方向吗?

我的发行版是 debian(最新版本)。

答案1

这应该适用于文件系统中的任何地方。

假设文件系统是/home.

创建一个/home_template文件系统,并rsync在启动时从它到目的地:

rsync -a --delete /home_template /home

编辑

整个文件系统 / 也可以这样做吗?

嗯,/斜杠绝对不是一切。它是一个单一的文件系统,在它下面我们可能会找到诸如 /var/runMounted 之类的东西。

使用类似的工具

  • find -x
  • du -x
  • rsync -x

以避免在递归遍历期间离开该文件系统。

执行以下任一操作听起来很危险:

  • rsync -x -a --删除 /slash_template /
  • rsync -x -a --删除 /usr_template /usr

尝试一下并 回报 进展如何。该rsync --files-from选项允许您指定一长串文件,例如findProduces。您可能想要diff列出文件作为试运行的一部分,或者确定脚本应该包含哪些文件rm

您最好定义三个分区 {template, A, B},然后通过dd从模板到 A 或 B(非活动 ATM 的分区)来创建幻影。然后从新复制的A或B启动。

所有这些都引出了一个问题:为什么不直接启动 Docker 化的容器呢?这是表达“冻结”图像的愿望的完美方式,在它发生变化时运行,然后启动一个具有完全相同的冻结位的新实例。

相关内容