如何真正自定义一个"ubuntu-11.04-alternate-amd64.iso"镜像?

我有一个梦想,我想定制一个"ubuntu-11.04-alternate-amd64.iso"镜像。有什么最好的软件/解决方案可以实现这个需求吗?
我想要定制以下内容(全部都需要):
  • 定制化软件包列表:我不需要默认安装中的所有内容,但我有一些不在默认安装中的软件包。

  • 图形用户界面(GUI):我不想在其中安装桌面环境,我只想使用Openbox窗口管理器。

  • 我希望进行“半自动化”安装:安装程序仅要求输入1个加密密码+时区+1个用户名/密码。

    例如:安装程序会自动创建一个带有给定密码的加密卷组(分区:256 MB /boot + VG获取其余空间:在VG中,10 GByte用于/,2 GByte用于交换分区,其余部分用于/home)。- 我的意思是完全加密

  • 自动配置一些应用程序:例如:Google Chrome/Firefox - 例如:在其中自动安装WOT+NoScript。

  • 自动安装和配置:grsecurityPaXPro PoliceDigSig

  • 以用户无需干预的方式配置操作系统自动更新。

  • 设置文件关联,例如:将VLC设置为所有视频文件的默认播放器等。

  • 安装本地DNS缓存+Privoxy代理并将它们配置为默认使用,例如:ns: 127.0.0.1,HTTP/S代理:127.0.0.1:8118

  • 自动设置我提供的iptables防火墙规则。

感谢任何帮助我达到目标的支持。祝您有个愉快的一天。
附言:所有这些都在一个ISO镜像文件中(不像从PXE服务器引导,我需要手头上已经包含所需软件包(甚至额外的包)的自定义镜像,而不是在安装时下载它们 :P)。

这是一个非常好的愿望清单 - 请在您的问题中添加您所做的任何研究,以便回答不会重复您已经尝试过的内容。 - fossfreedom
1我认为这将是一个不错的解决方案:https://help.ubuntu.com/community/InstallCDCustomization - LanceBaynes
4个回答

上次我研究这个问题时,发现有几种不同的方法,每种方法都有其优缺点。
最后我选择了Red Hat的kickstart在Ubuntu上的移植版本。有一个不错的图形界面工具可以通过apt-get安装:system-config-kickstart。它绝对可以完成一些简单的任务,比如跳过窗口系统或自定义要安装的软件包列表。甚至可以进行简单的分区,但是我不确定是否能够使用LVM,更别说加密的LVM了。详细文档请参考:https://help.ubuntu.com/11.04/installation-guide/i386/automatic-install.html 一旦你有了ks.cfg文件,你可以在启动时将其指定为HTTP URL,或者使用genisoimage构建一个新的镜像,将文件放在例如/preseed/ks.cfg,并在启动时传递内核参数ks=cdrom:/preseed/ks.cfg
预先配置Debian安装程序可能是更本地化的方法:https://help.ubuntu.com/11.04/installation-guide/i386/appendix-preseed.html 这个帖子有一些其他好的建议,尤其是FAI:https://serverfault.com/questions/463/how-can-i-configure-unattended-installation-of-ubuntu 附注: 如果您发现在安装后进行配置是可接受的,那么有几个配置管理系统可能适合您的需求。特别注意puppetbcfg2chef

fai: 不支持ext4,使用服务器来引导自定义镜像。 - LanceBaynes
system-config-kickstart -y,不支持lvm/luks。 - LanceBaynes

你试过使用 remastersyshttp://www.psychocats.net/ubuntu/backup 吗?你必须将系统调整成你想要的自定义发行版的样子,然后使用 remastersys 制作你自己的 Ubuntu 版本。


Remastersys不支持lvm/luks的自定义规则吗? - LanceBaynes

一个个网站,一个个应用程序……很抱歉,但对我来说,上述所有的东西都是不必要的,只会让事情变得更加困难。我喜欢创建自定义LiveCD的方法就是简单地挂载镜像,将内容复制出来,挂载squashfs,将内容复制到工作目录中,进入chroot环境并开始操作。你提到的大部分工作可以通过编辑每个应用程序的默认设置来完成,这些设置通常位于/usr/share/$applicationName/default下,或者是系统范围的配置文件,因此在/etc目录下。如果你在chroot环境中修改了所有内容,然后可以在工作目录上运行mksquashfs命令,替换原始LiveCD中的squashfs文件,并创建你自己的镜像。实际上,Ubuntu有一个非常全面的维基页面介绍这个过程。

https://help.ubuntu.com/community/LiveCDCustomization

抱歉,我刚刚意识到你昨天提到了那篇文章。虽然我已经多次阅读过它,主要是为了创建自定义便携式Live USB设备,但如果你给我发条消息,我可以提供任何帮助。

我之前用SuseStudio做过类似的事情。那只是网站的名字,你可以使用任何发行版。去看看吧。虽然我已经有一段时间没去了。 http://susestudio.com/ 诚挚地, Andrew Hauser

这里是AskUbuntu,我问的是关于Ubuntu的问题,你却给我链接到了SUSE :) 不过还是谢谢。 - LanceBaynes