当安装Linux时,(我假设)bash脚本用于安装驱动器,安装软件包等。如果我想在安装时安装更多软件包,安装Linux的脚本将在哪个目录中?另外,它是用bash写的吗?
我想dconf write
在安装 Linux Mint 衍生产品时添加软件包并更改配置(使用终端中的命令)。
答案1
您想要创建一个安装不同软件包集的自定义安装程序。
以下信息与 Debian 安装程序(称为 di)有关。 Ubuntu是Debian的衍生版本,也使用di,此外它还支持另一个名为Ubiquity的安装程序,可以自动化以不同的方式。欲了解更多信息,请参阅此常问问题。我不熟悉 Mint,但它是 Ubuntu 的衍生版本,因此适用于 Ubuntu 的内容也可能适用于 Mint。如果没有,其他人可能会添加一个针对 Mint 的更好答案。
在 di 中执行此操作的主要支持方法是通过预播种文件。预置文件允许您(可选)提前回答安装程序在安装过程中通常会提出的每个问题,从而实现完全自动化的体验,而无需对安装程序本身进行任何修改。但除了提供问题的自动答案之外,或者代替提供问题的自动答案,预置文件还可以自定义要安装的软件包列表。主要用例是在要安装许多相同计算机的环境中节省工作量。创建预置文件需要一些工作,但之后您可以将其与其余安装程序组件一起部署在例如 PXE 服务器中,并对数百台或更多计算机执行无需干预的安装。
还有一些方法可以调整Debian 安装程序不使用预置文件,以便安装不同的软件包。这需要小心,因为您需要以非常特殊的方式解包安装程序、安装它、进行修改并重新打包它,从而使安装程序具有多功能性并可用作 CD 映像、USB 存储设备映像或网络启动映像。
安装 Linux 的脚本应该在哪个目录中?
Debian [Ubuntu、Mint] 安装程序不是一个单独的脚本,而是一组组件的集合,其中一些组件是用 C 编写的,其他组件是 shell 脚本。它非常可挂钩和可插拔,因此您应该能够完全自定义它,而无需修改它的任何部分,只需为其编写挂钩(通常是 shell 脚本)和配置文件。
另外,它是用bash写的吗?
No.bash
在安装程序环境中不可用,仅Busybox的/bin/sh
.但无论如何你通常都不需要bash
。类似 POSIX 的 Busybox shell 就足够了。
我如何在预置中配置包?
软件包在安装时负责配置自身。无论它们是在初始系统安装期间安装还是在系统启动后安装,都是如此。它们包含类似postinst
执行此类工作的脚本。然而,实际上,大多数软件包根本不配置任何东西,它们只是自行安装(即它们没有任何postinst
)。安装程序本身仅执行最低限度的系统配置(例如设置主机名和 root 密码)。结果是,在系统安装后,一切几乎都有其默认配置(=无配置)。
话虽如此,您可以使安装程序从预置脚本运行命令,如下所示:
d-i preseed/late_command string \
command1; \
in-target command2; \
command3
(这是一个带有反斜杠的长 shell 命令,用于将行分成几部分。)
这些命令可以执行您需要它们执行的任何操作。请注意我如何在其中一个命令前面添加in-target
: 前缀,使其在刚刚安装的环境中运行,而不是在安装程序环境中运行。
如果您有更多工作要做,那么使用这种方法是可行的,我的建议是创建您自己的包(xxx.deb
),它充当您的本地配置虚拟包,并且在安装时以您喜欢的任何方式自定义环境。这样做的优点是,您还可以在尚未使用自定义安装程序安装的系统上安装该软件包(可能已使用默认安装程序安装),并从中受益。
我如何安装和配置 mint 主题
我不知道。主题是否包含在包中?那就太好了,因为这样您就可以将这些包添加到列表中。否则,请考虑将它们包装起来。
您可以为您创建的任何本地自定义包托管自己的 APT 存储库。您可以在按下的文件中指定您的本地存储库(使用d-i apt-setup/[...]
),以便安装程序知道在哪里获取您的软件包。