我正在进行 Ubuntu 定制以适应生产级别。设置环境说明如下:
我有一些 Ubuntu 机器(准确地说是 12 台),它们运行我为这个业务制作的软件。它直接启动到 X,自动登录,然后立即打开 mysoftware GUI。
我想要一个自定义的 Ubuntu 安装映像(用于 USB 记忆棒等...),其中包含预定义的用户、可变主机名以及我已经在这些机器上进行的一些自定义。
那么,创建这种定制分布的最佳工具是什么(基于我对定制、轻松部署/定制/创建的需求)
我的问题是,我必须让安装过程变得更简单。因为硬盘克隆过程对我来说太浪费时间了。而且对于不同的硬件,我大约有三个不同的硬盘克隆来匹配它们。
我希望通过这次定制实现以下目标:
- 使用预定义用户名自动登录
- 预定义会话自定义 ($HOME 自定义 OpenBox、.ssh、.compton 等...)
- 自动登录后立即运行软件
- 自动安装预定义软件包(来自 apt-get,但不需要互联网)
- 可变主机名(sales00、sales01、sales02 等等...)
- 系统调用/程序的自定义权限设置(例如 /bin/date 上的 chmod 4755)
- 为新用户定制 /etc/skel(以防万一)
- 禁用自动更新
- 新的网络适配器配置(今天我的每台机器的网络适配器都乱七八糟,比如 eth49、eth88)。我希望它们都有相同的数字
- 网络适配器预定义静态 IP:我有三个网络适配器:一个为所有机器提供固定 IP(不过,这台机器的 IP 相同,为 1.1.1.1),第二个和第三个网络适配器通过我的软件配置。所以我希望有一个自定义安装,可以自动为该网络适配器配置这个 1.1.1.1 IP
那么,再次,最好的 Ubuntu 自定义发行版创建者(工作室?)是什么?
附言:我曾经尝试过 PinGuyBuilder,但它更改为默认权限自定义(例如 /bin/date 上的 chmod 4755)并且有预定义用户名/主机名等限制。谨致问候
答案1
最适合使用的 Ubuntu 自定义发行版创建器(工作室?)是什么?
它们都缺少您列出的部分(如果不是大部分)功能。
我会自己手动完成。方法是下载 ISO,用该 ISO 创建“chrooted”环境,进行破解,将 ISO 刻录到 DVD 并从 DVD 启动。我有以下 AU 主题,其中包含有用的信息:
第二个非常通用(适用于不同版本),因为它没有桌面,您可以自行将其添加到服务器上。
您的列表带有注释,但没有提供如何执行每个操作的实际方法。我把这留给您自己决定 ;-)
(评论:kickstart 文件是 Redhat 的一项自动安装程序功能。Ubuntu 对此的支持有限,但可以作为入门工具。
使用预定义用户名自动登录
- 这可以通过 kickstart 文件完成,对于个人安装程序/ISO 来说,更改是很正常的。因此大多数人都会这样做,但也可以轻松手动完成。
预定义会话自定义 ($HOME 自定义 OpenBox、.ssh、.compton 等...)
怀疑这些套件中的任何一个都可以做到这一点。但是可以使用手动方法将软件包添加到您自己的安装中,以便您也可以创建配置文件。这里的问题是您可能需要从源代码重新编译,因为默认配置不是人类可读的。
如果可能的话,一个更简单的方法是将配置文件从您自己的机器放入
/etc/skel/
安装后并将其移动到正确的位置。
自动登录后立即运行软件
- “启动应用程序”的配置。你只需要编辑一个文本文件。
自动安装预定义软件包(来自 apt-get,但不需要互联网)
- 也可以通过 kickstart 文件完成。或者手动:当您创建自己的 ISO 时,您可以使用“apt-get”自行将文件添加到 DVD 中,或者将存档缓存从您的机器复制到 ISO 中。
可变主机名(sales00、sales01、sales02 等等...)
如果您已经设置了这样的主机,那么将该文件复制到您的 ISO 就很简单了。
系统调用/程序的自定义权限设置(例如 /bin/date 上的 chmod 4755)
真恶心 ;-) 您可以在 ISO 上修改该文件。当然,您也可以将自己的安装后脚本文件添加到 ISO 中。
为新用户定制
/etc/skel
(以防万一)- 使用手动方法很容易,因为这是设置用户的方法。该目录用于创建用户主目录和“.bashrc”等文件,并在其中设置选项/参数/等
/etc/skel
。
- 使用手动方法很容易,因为这是设置用户的方法。该目录用于创建用户主目录和“.bashrc”等文件,并在其中设置选项/参数/等
禁用自动更新
- 那是一个设置...所以只能编辑“gsettings”。顺便说一句:应该已经设置为“关闭”,所以怀疑你是否需要为此做任何事情。
新的网络适配器配置(今天我的每台机器的网络适配器都乱七八糟,比如 eth49、eth88)。我希望它们都有相同的数字
- 这个我不太确定。我假设这些东西是在启动时创建的(?!)所以怀疑它是否是你可以预先设置的东西。但如果这是在安装过程中可配置的,你将能够添加/编辑所需的文件(/etc/network/interfaces 或 dhcclient )
网络适配器预定义静态 IP:我有三个网络适配器:一个为所有机器提供固定 IP(不过,这台机器的 IP 相同,为 1.1.1.1),第二个和第三个网络适配器通过我的软件配置。所以我希望有一个自定义安装,可以自动为该网络适配器配置这个 1.1.1.1 IP
- 您可以按照与常规安装相同的方式在 ISO 上进行此项设置。