8.11. 安装内核
8.11.1. Debian 内核包特性
A Debian kernel package installs the kernel image (vmlinuz-*version*
), its configuration (config-*version*
) and its symbols table (System.map-*version*
) in /boot/
. The modules are installed in the /lib/modules/*version*/
directory.
CULTURE The symbols table
The symbols table helps developers understand the meaning of a kernel error message; without it, kernel “oopses” (an “oops” is the kernel equivalent of a segmentation fault for user-space programs, in other words messages generated following an invalid pointer dereference) only contain numeric memory addresses, which is useless information without the table mapping these addresses to symbols and function names.
软件包的配置脚本自动产生 initrd 映像,此为由启动程序加载内存的迷你系统 (其名称源自于此,表示为 “init ramdisk”),被 Linux 核心专用于加载包括完整 Debian 系统设备的模块 (例如,SATA 磁盘机的驱动程序)。最后,安装后脚本更新符号链接 /vmlinuz
、/vmlinuz.old
、/initrd.img
与 /initrd.img.old
,让它们分别指向最新的两个核心, 以及映射的 initrd 映像。
大部分的这些工作卸载至 /etc/kernel/*.d/
文件夹内的脚本。例如,当已安装或移除核心时,集成 grub
于 /etc/kernel/postinst.d/zz-update-grub
和 /etc/kernel/postrm.d/zz-update-grub
调用 update-grub
。
8.11.2. 与 dpkg 集成
Using apt
is so convenient that it makes it easy to forget about the lower-level tools, but the easiest way of installing a compiled kernel is to use a command such as dpkg -i *package*.deb
, where *package*.deb
is the name of a linux-image package such as linux-image-4.19.37-falcot_1_amd64.deb
.
本章描述供服务器系统或工作站的基本配置,可以用半自动的方式大量复制。然而,本身还不足以提供完整的配置系统。还有若干部分需要进一步的配置,从 “Unix 服务” 之类的低级程序开始。