我想知道这是否可能。我想设置一个Linux系统,将/
远程Linux机器安装到/
本地机器上。但是,我希望本地计算机上的所有更改都保存到内存中,这样就不会影响远程计算机。理想情况下,这些更改永远不会被写入,这样当我重新启动时,它会/
再次安装原始分区,而忽略上一个会话期间所做的所有更改。
这样的事情可能吗?
答案1
答案2
有几种方法可以解决这个问题。最简单的设置是使用联合文件系统,它提供两个目录树 A 和 B 的单一视图,以便所有更改都保存到 B。在您的情况下,A 将是 NFS/Samba/sshfs/… 挂载点, B 最初是 tmpfs 文件系统上的空目录。
Linux 没有内核内联合文件系统,但有几个保险丝实施:函数,Unionfs熔断器。
答案3
如果 / 适合本地计算机的 RAM 并为运行应用程序留出足够的空间,基本思想可能是在目标计算机上启动一个最小的 Linux 系统,然后自动创建一个 ramfs 虚拟磁盘,将 / 从远程复制到其中,然后chroot 到这个新的 / 中。如果 RAM 不够,您基本上可以遵循相同的过程,但不使用 ramfs,而是使用真实的磁盘分区,在复制之前必须清除其内容。除了清除和完整复制之外,您还可以使用 rsync 和适当的选项。
答案4
通过 PXE 启动,这可以非常容易地归档。我正在通过 pxe tftp nfs 启动运行实时 xbmc 系统。更改通过 COW 写入 NFS 共享。