如何保存和冻结 LiveDisc 的 LiveSession 期间所做的修改,并防止在不重新制作 LiveDisc 的情况下进行任何进一步的修改

如何保存和冻结 LiveDisc 的 LiveSession 期间所做的修改,并防止在不重新制作 LiveDisc 的情况下进行任何进一步的修改

可启动的只读 LiveDisc(例如 LiveCD、LiveDVD、写保护的 LiveUSB、写保护的 LiveSD)包含完整的操作系统(例如 Ubuntu 或 Mint),是防止因疏忽、意外、恶意软件或恶意攻击而导致的意外修改的理想选择。可写启动盘(例如 HDD 或 SSD)容易受到意外修改。

但是,LiveDisc 上的某些默认设置不适合我的使用,我需要通过修改某些设置来进行一些自定义。一旦设置被适当地修改和自定义,我想冻结这些设置,并且我希望冻结的设置在关闭或重新启动计算机后仍能保留,但我希望阻止任何进一步的修改。我的意思是,我希望任何进一步的修改在计算机关闭或重新启动时消失。

由于 LiveDisc 的特性,默认情况下,对 LiveDisc 的所有写入都会重定向到 RAM 磁盘;也就是说,任何看似写入 LiveDisc 的内容实际上都写入了 RAM 磁盘。因此,Live Session 期间的所有修改/自定义都只保存在 RAM 磁盘中,每次计算机重新启动或关闭时都会消失。由于这种特性,任何因疏忽、意外、恶意软件或恶意攻击而导致的不良修改都会在计算机重新启动或关闭时被销毁。

“casper” 的“持久”功能强制将针对 LiveDisc 的每次写入重定向到第二个磁盘,该磁盘必须是可写的而不是只读的,并且必须标记为“casper-rw”,通常是 USB 棒。因此,所有修改/自定义(包括不需要的修改)在重新启动和关闭后仍保留在第二个磁盘(标记为“casper-rw”)中。此“持久”功能确实在重新启动和关闭后保留了我最初的修改/自定义。然而不幸的是,即使我希望所有进一步的修改都消失,此功能仍会继续保留所有进一步的修改。因此,“casper” 的这个“持久”功能对我来说不起作用。

(有关此“持久”功能,请参阅 Ubuntu 帮助 Wiki“https://help.ubuntu.com/community/LiveCD/Persistence”,另请参阅“casper”的手册页。)

一些 USB 记忆棒和所有 SD 卡都有写保护标签。我尝试将这种可写保护的设备用作“casper-rw”磁盘。在完成初始修改/自定义后,我关闭了计算机,打开了“casper-rw”磁盘的写保护标签,希望防止进一步修改,然后再次打开计算机。然后,LiveDisc 出现错误,提示“casper-rw”磁盘不可写。因此,“casper-rw”磁盘必须始终可写。

一旦将初始修改/自定义保存到辅助磁盘,我希望 LiveDisc 使用此辅助磁盘仅读取冻结的修改/自定义,因此我希望将任何进一步写入 LiveDisc 的操作重定向到通常的 RAM 磁盘,而不是重定向到辅助磁盘。如何实现这一点?通过调整启动参数和/或 casper 参数,可以实现这一点吗?

“casper”的手册页提到了“快照”,并且有一个名为“casper-snapshot”的手册页。但是,这些手册页中对“快照”的描述非常简短,以至于我不明白“快照”在“casper”上下文中的作用。这个“快照”能实现我想要实现的功能吗?

我知道可以创建一个新的自定义 LiveDisc,按照“LiveCDCustomizationFromScratch”的指导(https://help.ubuntu.com/community/LiveCDCustomizationFromScratch)和“LiveCDCustomization”(https://help.ubuntu.com/community/LiveCDCustomization)。然而,尽管我对设置的修改/自定义仍处于实验阶段,但我不想创建新的自定义 LiveDisc,而更喜欢使用辅助磁盘。

答案1

定制 LiveDisc

您最好的选择可能是创建一个新的自定义 LiveDisc,但设置起来需要做大量工作。

使用持久实时系统的解决方案

我在这里建议一个解决方法:

设置

[重复] 使用

  • 关机时,您应该删除分区的内容以保留(如果维护安全和隐私很重要)

  • 启动实时(仅实时)会话并将 tarball 中的内容提取到分区中以进行持久保存...

  • 并重新启动,这次进入具有所需属性的持久实时会话。

答案2

如何将持久 USB 安装设为只读

可以使用修改后的来宾用户帐户

  • 安装光调制

      sudo apt-get install lightdm
    

安装过程将要求删除 GDM。

  • 在弹出窗口中选择 lightdm 作为显示管理器。

对于 grub2 启动程序坚持不懈casper-rw 分区,例如mkusb:

打开casper-rw/upper/etc/lightdm/lightdm.conf并更改allow-guest=true。现在将有一个Guest帐户。

对于 Syslinux 启动器坚持不懈casper-rw 文件例如 UNetbootin 和 Rufus:首先挂载 casper-rw 文件:

sudo mkdir /media/casper

sudo mount -o loop casper-rw /media/casper/

然后编辑casper/upper/etc/lightdm/lightdm.conf并将allow-guest=true “来宾帐户”添加到启动选项中。

修改访客账户

您可以使用现有的用户帐户,或创建新的用户帐户,作为定制访客会话的实时基础。

如果尚不存在目录,请为访客会话创建一个目录:

sudo mkdir /etc/guest-session

创建符号链接:

sudo ln -s /home/{NAME} /etc/guest-session/skel

其中 {NAME} 是您希望用作基础的用户帐户的名称。

对用户帐户所做的任何更改都将显示在访客帐户中。

会话结束时,对访客帐户的任何更改都将被删除。

用户 {NAME} 可以在登录时隐藏:

  • 隐藏用户打开/var/lib/AccountsService/用户/{名称}

  • 编辑行至SystemAccount=true

也可以看看将访客用户添加到持久闪存驱动器

自定义访客会话

相关内容