![每次重启时 Linux 都会自我恢复](https://linux22.com/image/534880/%E6%AF%8F%E6%AC%A1%E9%87%8D%E5%90%AF%E6%97%B6%20Linux%20%E9%83%BD%E4%BC%9A%E8%87%AA%E6%88%91%E6%81%A2%E5%A4%8D.png)
我正在寻找方法和软件来帮助创建 lubuntu 的一个变体,该变体将在每次启动时恢复到安装状态和/或更新。我正在考虑将根文件系统放在 squashfs 上,并使用 unionfs 和 tmpfs 使 root 可写,但可自动恢复。我正在考虑使用 rsync 更新 squashfs。也许还有其他方法可以解决这个问题。也许 root 根本不需要可写。欢迎提出所有想法。
主目录可以按通常方式写入。
如果说有什么意义的话,那么我们的目标是让 Linux 既易于从家庭办公室维护,又能为客户正常运行。我们有一些定制软件,希望客户能够在我们提供的设备上轻松运行。理想情况下,这些设备应该具有“恢复出厂”功能,可以将其恢复到我们预期的状态。如果这是正常启动周期的一部分,那就更好了。
为什么选择 lubuntu?个人偏爱此应用程序。它有一个可用的桌面,但不占用太多内存。
答案1
壁球是 LiveCD 中使用的底层机制。还有其他机制,但它们都代表覆盖层。您要做的就是研究 LiveCD,看看它们如何将根目录挂载到 CD 顶部(只读)以及 RAM 文件系统(易于处理)或放置在本地驱动器上的环回设备文件上(非易失性)。
我认为您想要做的是为 squash 创建一个本地文件,并将其作为关机的最后一步或启动的第一步删除。需要自动清理。然后,你们可以分发带有定期更新的基础机器的映像。
哦,在您有任何好主意之前,可能会有多重覆盖,但由于一些令人讨厌的 VFS 并发症,强烈不建议这样做。
当然,您可以在本地驱动器上为主目录创建环回文件,就好像它们是加密的主目录一样,这可能允许轻松备份到外部媒体。
答案2
这几乎就是你所得到的,例如,诺皮克斯。它使用只读文件系统,在系统启动时与读写 tmpfs 文件系统合并。重新启动后,您将丢失所有更改。
您也可以使用 LVM 快照来管理它。您可能需要一个自定义的 initramfs,它会在系统启动时删除并重新创建快照。