如何在实时 USB 上运行时修改系统?

如何在实时 USB 上运行时修改系统?

我有一个带有 Fedora 32 的 live USB。在特定硬件上安装之前,我想向其添加一些驱动程序以确保它们正常工作(否则将其安装到硬盘上没有意义)。问题是,实时 USB 的设置使得对系统包的任何修改(例如sudo dnf install git不要实际上修改USB本身,只是内存中的模拟系统,一旦系统关闭并重新启动(这在安装驱动程序以实际加载后是必要的)(显然)就会被遗忘。因此我的问题是:

如何更改它,以便将系统软件包添加到 USB 驱动器本身(从 USB 驱动器启动时),以便在重新启动后它们仍然存在?

答案1

Fedora Live CD 或 Live USB 介质将其实时内容包含在一个只读文件中。它使用dm-snapshot或overlayfs使其可写,并且您可以在从 Live CD/USB 启动时安装某些内容,但正如您所说,修改并不持久。

因此,您需要的是一种称为数据持久性的功能。和fedora Live CD 似乎支持数据持久化功能

  1. Live USB/SD 安装上提供数据持久性选项。

要创建具有数据持久性的Live USB,您需要使用livecd-iso-to-disk创建Live USB的工具。例如:

livecd-iso-to-disk --overlay-size-mb 2048 Fedora-Workstation-Live-x86_64-32-1.1.iso /dev/sdX

上层目录的overlayfs现在位于USB而不是内存上,因此修改将是持久的。欲了解更多详情,请关注这个文件或见man livecd-iso-to-disk

笔记

正如上面的文件所说,

您可以像在硬盘上进行常规安装一样执行更新,只不过内核更新需要手动干预并且覆盖空间可能不足。

因此,即使有数据持久化,内核包也不会更新。

答案2

相关内容