我有一个可用的 liveboot usb,并且坚持不懈。它有两个分区,一个是实际操作系统,另一个包含作为持久性的图像文件。
所需的结果是一个带有一个分区的实时 USB,并且在该分区的根目录中是一个以只读方式安装到/home
.这样我就可以轻松地交换配置/home/user
,而不必lb build
每次都运行,然后将dd
其交换到每个闪存驱动器。
我花了一些时间试图让它持续工作,但有两个问题。首先,启动时,live debian 似乎不会检查 live 介质根目录中的持久性文件。此外,我无法让它进行只读持久化。我一直在尝试使用持久只读启动标志。找不到太多相关文档,但有提到这里。然而,不起作用。
在这一点上,我非常确定持久性不是正确的方法,更好的选择是使用某种引导脚本将映像安装到 /home。从理论上讲,这很简单,因为介质的根始终位于/lib/live/mount/medium
,但我不确定实际安装图像的正确方法。我认为的两个选项是:
- 启动脚本
- 系统表
- 不确定使用 fstab 将映像挂载到 /home 是否会发生在 live debian 从 /etc/skel 创建新用户之前或之后,因为尝试挂载到已填充的目录是行不通的。
那么,我如何让启动脚本以一种不可怕的方式运行,或者只是从正在运行的实时版本复制 fstab,修改它以具有图像,然后将其投入config/includes.chroot/ect/fstab
工作?
更新:
所以我尝试使用fstab
,它被安装为只读,然后我无法登录系统的 gui 部分,因为它无法锁定.Xauthority
。不确定如何继续,我认为它将学习实时系统如何假装接受更改,然后不编写它们并执行此操作。但是,不确定如何执行此操作或说出查询。
答案1
我得到的解决方案实际上对我们来说是有效的fstab
,但重要的是使用aufs
,如所解释的这里。
最终fstab
看起来像
# <file system> <mount point> <type> <options> <dump> <pass>
/lib/live/mount/medium/home.img /mnt/homeRO ext4 ro,auto 0 0
none /mnt/ramFS tmpfs size=50M 0 0
none /home aufs br:/mnt/ramFS:/mnt/homeRO=ro 0 0
不确定将 tmpfs 放入/tmp
或放入/run/shm
其他东西是否会更好,但它正在运行,我不在乎。