如何使用预定义用户和自动安装/配置自定义分发

mee*_*ick 5 customization custom-distributions system-installation

我正在致力于生产级别的 Ubuntu 定制。设置环境说明如下:

我有一些 Ubuntu 机器(更准确地说是 12 台),运行着我为这项业务制作的软件。它直接启动到 X,自动登录,然后立即打开 mysoftware GUI。

我想要一个自定义的 Ubuntu 安装映像(用于 USB 记忆棒等),其中包含预定义的用户、可变主机名以及我已经在这些计算机上进行的一些自定义。

那么,创建这个定制发行版的最佳工具是什么(根据我对定制、轻松部署/定制/创建的需求)

我的问题是,我必须使安装过程变得更容易。因为硬盘克隆过程浪费了我很多时间。对于不同的硬件,我有大约三个不同的 HDD 克隆来匹配它们。

我想通过此定制完成什么:

  • 自动登录的预定义用户名
  • 预定义的会话自定义(OpenBox、.ssh、.compton 等的 $HOME 自定义...)
  • 自动登录后立即运行软件
  • 自动安装预定义的软件包(来自 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 自定义发行版创建者(工作室?)?

PS:我曾经尝试过 PinGuyBuilder 一次,但它更改为默认权限自定义(例如 /bin/date 上的 chmod 4755),并且具有预定义用户名/主机名等限制 最好的祝福

Rin*_*ind 4

最好的 Ubuntu 自定义发行版创建者(工作室?)是什么?

它们都缺少您列出的一些(如果不是大多数)功能。

我会自己做这件事(手动)。执行此操作的方法是下载 ISO,使用该 ISO 创建“chroot”环境,破解,将 ISO 刻录到 DVD 并从中启动。我必须所有有良好信息的主题:

第二个非常通用(跨不同版本工作),因为它没有桌面,您可以自己将其添加到服务器顶部。

您的列表包含注释,但没有提供如何执行每项操作的实际方法。我把这个留给你;-)

(评论:kickstart 文件是 Redhat 的一项自动安装程序功能。Ubuntu 对它的支持有限,但它可以作为入门工具)。

  • 自动登录的预定义用户名

    • 这可以通过 kickstart 文件完成,并且对于个人安装程序/ISO 进行更改是很正常的。所以大多数人都会有这个,但也很容易手动完成。
  • 预定义的会话自定义(OpenBox、.ssh、.compton 等的 $HOME 自定义...)

    • 怀疑这些套件中的任何一个都可以做到这一点。但是可以使用手动方法将软件包添加到您自己的安装中,这样您也可以创建配置文件。这里的问题是,您可能需要从源代码重新编译,因为默认配置不是人类可读的。

      如果可能的话,更简单的方法是将配置文件从您自己的计算机放入/etc/skel/并在安装后将其移动到正确的位置。

  • 自动登录后立即运行软件

    • “启动应用程序”的配置。您只需要编辑一个文本文件。
  • 自动安装预定义的软件包(来自 apt-get,但不需要互联网)

    • 也可以从 kickstart 文件完成。或者手动:当您创建自己的 ISO 时,您可以使用“apt-get”自行将文件添加到 DVD 中,或者将存档缓存从您的计算机复制到 ISO 中。
  • 变量主机名(sales00、sales01、sales02 等...)

    • 如果您已经设置了这样的主机,那么只需将该文件复制到您的 ISO 即可。

    • 系统调用/程序的自定义权限集(例如 /bin/date 上的 chmod 4755)

    • 讨厌;-) 您可以 chmod ISO 上的文件。当然,您也可以将自己的安装后脚本文件添加到 ISO。

  • 为新用户定制/etc/skel(以防万一)

    • 使用手动方法很容易,因为这是设置用户的方法。该目录用于创建用户主目录和“.bashrc”等文件,并在 .bashrc 中设置选项/参数/等/etc/skel
  • 禁用自动更新

    • 这是一个设置......所以不能超过“gsettings”的编辑。顺便说一句:应该已经设置为“关闭”,所以怀疑您是否需要为此做任何事情。
  • 新的网络适配器配置(今天我对每台机器的网络适配器都一团糟,比如 eth49、eth88)。我希望他们有相同的号码

    • 这个我不太确定。我假设这些东西是在启动期间创建的(?!),所以怀疑它是否是您可以预先设置的东西。但是,如果这是在安装过程中可配置的,您将能够添加/编辑所需的文件( /etc/network/interfaces 或 dhcclient )
  • 网络适​​配器预定义静态 IP:我有三个网络适配器:一个对所有计算机都有固定 IP(不过,其 IP 1.1.1.1 相同),第二个和第三个网络适配器通过我的软件进行配置。所以我希望我有一个自定义安装,可以自动为该网络适配器配置此 1.1.1.1 IP

    • 您可以按照与正常安装相同的方式在 ISO 上进行设置。