如何将软件包添加到 Fedora live USB 上

如何将软件包添加到 Fedora live USB 上

我想创建带有附加软件包的 Fedora 14 live CD。怎么做?

答案1

我注意到我的应用程序略有不同,因为我创建的是安装介质而不是 livecd,但其中一些可能适用。

您将需要使用 createrepo 工具来更改 CD 上的 repodata。要预安装它们,您可能需要一个 kickstart 文件 - ks.cfg,并且需要 isolinux.cfg 文件在启动时将 ks=...ks.cfg 位置传递给内核(在附加行中)。

参考:

确保您有一个虚拟机来尝试您的 ISO,然后再在真实的机器上使用它 - 需要进行几次尝试才能正确。使用 kickstart 文件,您可以设置用户名、密码、软件包以及 bash 或 python 中的安装后脚本。

答案2

正如其他人所建议的,您需要使用预装了您选择的 rpm 包的 kickstart 来构建自定义 Fedora ISO。添加包就像将它们附加到您的 kickstart 文件中一样简单。之后使用以下命令打开库存 Fedora ISOISO大师,替换 kickstart 文件并将新 ISO 保存为不同的文件。最后一步是按照平常的方式将新 ISO 安装到 USB 上。

答案3

首先获得默认的所有安装并启动您的 USB 设备。然后启动它,并根据需要进行修改。它应该保留任何更改。

要编写新的 CD iso,您必须自己构建整个发行版,这要复杂得多。由于您的主题行和标签包括 USB,我认为这就是您真正想要的。

答案4

这是简单的方法。使用 editliveos 修改现有 ISO:

# sudo dnf install livecd-tools # (provides editliveos)

ISO_DIR="/home/fedora/Downloads"
ISO_FILE="${ISO_DIR}/Fedora-Workstation-Live-x86_64-34-1.2.iso"

TMP_SCRIPT="/tmp/tmp-rootfs-setup.sh"
echo "#!/usr/bin/env bash" > "${TMP_SCRIPT}"
echo "dnf install -y vim git firefox thunderbird" >> "${TMP_SCRIPT}"
sudo chmod +x "${TMP_SCRIPT}"

sudo editliveos --noshell --script "${TMP_SCRIPT}" --output "${ISO_DIR}" "${ISO_FILE}"

您将在 ISO_DIR 中找到修改后的 iso Fedora-Workstation-Live-x86_64-34-1.2.iso.edited-*.iso

该代码将创建一个bash脚本,然后editliveos提取squashfs图像并将其解压以安装rootfs的副本,然后在其中使用chroot运行bash脚本(它会安装您的软件包)。最后,它会反向执行相同的操作(卸载 rootfs,将其压缩以创建一个 squashfs,并根据原始 ISO 创建一个新的 ISO)。

相关内容