我希望允许用户能够进行临时更改,例如创建文件和目录,但在重新启动后删除所有这些更改。这应该适用于文件系统中的任何地方。
我尝试阅读tmpfs
,但我不确定是否有更好的解决方案。
有人能指出我正确的方向吗?
我的发行版是 debian(最新版本)。
答案1
这应该适用于文件系统中的任何地方。
假设文件系统是/home
.
创建一个/home_template
文件系统,并rsync
在启动时从它到目的地:
rsync -a --delete /home_template /home
编辑
整个文件系统 / 也可以这样做吗?
嗯,/
斜杠绝对不是一切。它是一个单一的文件系统,在它下面我们可能会找到诸如
/var
和/run
Mounted 之类的东西。
使用类似的工具
find -x
du -x
rsync -x
以避免在递归遍历期间离开该文件系统。
执行以下任一操作听起来很危险:
- rsync -x -a --删除 /slash_template /
- rsync -x -a --删除 /usr_template /usr
尝试一下并
回报
进展如何。该rsync --files-from
选项允许您指定一长串文件,例如find
Produces。您可能想要diff
列出文件作为试运行的一部分,或者确定脚本应该包含哪些文件rm
。
您最好定义三个分区 {template, A, B},然后通过dd
从模板到 A 或 B(非活动 ATM 的分区)来创建幻影。然后从新复制的A或B启动。
所有这些都引出了一个问题:为什么不直接启动 Docker 化的容器呢?这是表达“冻结”图像的愿望的完美方式,在它发生变化时运行,然后启动一个具有完全相同的冻结位的新实例。