我正在尝试在没有 X、打印服务器等的情况下进行 Debian 安装。我只想安装“标准系统实用程序”任务。但是,如果我想安装某些软件包,例如 network-manager、firmware-linux-nonfree 和 wireless-tools,我将如何在 Debian 安装程序中执行此操作?(一旦我重新启动到全新安装,我就没有网络连接,没有无线工具等,如果不下载 .deb 文件和使用 dpkg 就无法安装任何东西)。所以我想在安装程序期间找到一种方法来访问终端并在我有网络连接的情况下手动安装文件。
安装程序的任务部分完成获取和安装标准实用程序后,如何从 Debian 安装 CD 安装软件包?例如,如果我想从 Debian 安装程序安装 network-manager,我该怎么做?
我与 IRC 上的一些人交谈并得到了一个可行的解决方案。不幸的是,没有简单的方法可以从 Debian 安装程序中选择要安装的特定软件包(这将是一个很好的功能,可以在未来的 debian 安装程序版本中看到,而不是让 tasksel 成为选择软件包的唯一选项)。但是您可以通过拖放到命令行、
mount
ing 和chroot
ing 到 /target 文件系统,然后使用apt
.在我安装“标准系统实用程序”的 tasksel 步骤之后,我等待包完成安装并等待 grub 安装提示加载。在安装 grub 之前,我通过按 ALT+F2 切换到终端。到达终端后,我输入了以下内容:
现在环境设置正确,如果您需要从那里安装包,请编辑
/etc/apt/sources.list
以添加contrib
和存储库。non-free
接下来,运行
apt-get update
,然后您可以使用apt
. 例如,要安装 network-manager 和 linux-firmware-nonfree,我只是这样做了apt-get install network-manager linux-firmware-nonfree
,并且它都正确地安装到了目标环境中。要返回安装程序,请键入“exit”以离开 chroot 环境,然后按 ALT+F1。从那里您可以像往常一样继续安装 grub。
有(另一种)迂回方式可以做到这一点:在初始安装程序菜单中,使用箭头键突出显示要启动的条目,而无需按 Enter。
然后,点击 'e' 在类似 Emacs 的编辑器中编辑 GRUB 命令行。以“linux”开头的行表示内核命令行。在 --- quiet 之前,添加以下参数:
(修改发布代号,这里是buster)
然后按 F10 提交您的更改并照常进行,包将在您选择的常规任务之后添加。
顺便说一句,在 --- 之前添加的内核参数不会转移到“最终”的 initramdisk 中。然而,即使你把这些放在最后,di 也足够聪明,可以识别并删除它使用的那些,所以它不会改变任何东西。其余的(此处为“安静”)写入
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT 变量更简洁的方法是使用预种子文件。您可以在硬编码的内核命令行中传递 file= 或 url=(preseed/file 和 preseed/url 的简写),然后重建引导媒体。或者,您可以在通过 PXE 使用网络引导映像时提供这些信息。