Answers:
使用 unionfs,aufs(都是内核的外部补丁程序)或unionfsfuse / funionfs(使用FUSE),并通过将external /标记为RO和内部文件系统(挂载为tmpfs / ramfs /每次清理的附加分区)来创建并集。
或者,您可以将文件系统或LVM与快照配合使用。然后写入更改,但是您可以在每次引导时清除快照。
有几种方法可以解决此问题。最简单的设置是使用联合文件系统,该文件系统显示两个目录树A和B的单个视图,这样所有更改都保存到B中。在您的情况下,A将是NFS / Samba / sshfs /…安装点,而B将是tmpfs文件系统上最初为空的目录。
Linux没有内核内的联合文件系统,但是有几种FUSE实现:funionfs,Unionfs-fuse。
您可以使用Btrfs
它的写时复制(CoW)功能。
您可能正在寻找的一个在Btrfs Wiki上被描述为种子设备:
基本思想是使具有原始数据的分区为只读,而不是“在其顶部添加额外的层”,这是另一个可写分区(您可以始终将其置于RAM中,例如on /dev/shm
)并将其装入:
btrfstune -S 1 /dev/RO #make it read-only
mount /dev/RO /mnt/temp
btrfs device add /dev/RW /mnt/temp
umount /mnt/temp
从那时起,每次安装
mount /dev/RW /mnt/test
更改保存在/ dev / RW上,而/ dev / RO保持不变。
(示例基于Wiki中的示例)
使用PXE引导可以很容易地进行归档。我正在通过pxe tftp nfs引导运行实时xbmc系统。更改将用COW写入NFS共享。