如何从我的 Linux 发行版创建可安装的 iso

如何从我的 Linux 发行版创建可安装的 iso

我对 Ubuntu 进行了核心定制,以创建我自己的发行版。但我不知道如何为其创建可安装的 iso。有人知道怎么做吗?

答案1

两步:

  1. 打包您的更改
  2. 将您的包包含在您的 iso 中

设计包装

我希望您的包裹包含五样东西:

  1. 新的配置文件
  2. 对现有配置文件的脚本化自定义
  3. 脚本化命令
  4. 所需的依赖项
  5. 方便的依赖关系

新的配置文件可以作为软件包的一部分轻松安装。只需将它们添加到您的包中即可。如果您更改了文件,例如/etc/sudoers/etc/apt/sources.list,请尝试将更改放入/etc/sudoers.d//etc/apt/sources.list.d/。不要部署您自己的版本,/etc/sudoers期望它会覆盖 sudo 部署的版本。您的软件包将发生冲突并无法安装。

如果您确实需要更改现有配置文件,请将其添加到脚本中postinst。尝试撤消prerm脚本中的更改。这里有些例子:

echo "192.168.1.1    router" >> /etc/hosts
sed 's/PasswordAuthentication yes/PasswordAuthentication no/' -i /etc/ssh/sshd_config

如果您需要运行任何命令(例如useraddrealm),那么您也应该在postinst.

您还可以向此包添加依赖项。如果您对 进行了更改/etc/ssh/sshd_config,那么您可能需要依赖openssh-server 它来确保在脚本对其进行操作之前已安装该文件。您可以找到哪些包拥有每个文件dpkg -S /path/to/file

您还可以在自定义配置中添加对您想要的包的依赖项。如果您喜欢 chromium,并且知道每次使用此映像时都需要安装它,那么请继续添加对 chromium 的依赖项,以避免apt-get以后需要手动安装。

制作包装

您可以用来制作软件包的一些工具包括dh_make或者cpack

dh_make将为您制作一个模板,以便您可以添加您喜欢的文件,然后用于dpkg-buildpackage生成*.deb文件。了解所有选项有点令人畏惧,需要时间来研究和理解,但这就是本机 debian/ubuntu 软件包的生成方式。

cpack使用CMakeLists.txt文件来定义规则。使用以下命令将文件添加到您的包中install()命令和CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA将帮助您定义您的职位。我发现cpack更容易学习,尤其是对于简单的包。

一旦你有了一个包,启动一个新的 Ubuntu(可能使用 chroot 或 vm),然后通过使用dpkg -i.如果您的系统符合您的要求,那么您就成功了。现在您可以进行基本的 ubuntu 安装,并通过安装这个单个软件包来自定义它。

ISO包装

但我看到您想更进一步...您不想运行那个命令,您想获得开箱即用的自定义功能。你可以!

您需要以与 Debian 或 Ubuntu 相同的方式生成安装光盘,但将您自己的软件包添加到磁盘并将其设置为自动安装。

简单CDD可能是制作基于 Debian 的 ISO 的最简单的工具。但我不确定它与 Ubuntu 的配合效果如何。 LiveCD定制听起来是最有可能的解决方案。

相关内容