kernel-install 中文手册
名称
kernel-install — 在 /boot 中添加或删除内核与 initrd 镜像
大纲
kernel-install
COMMAND KERNEL-VERSION
KERNEL-IMAGE
[INITRD-FILE
...]
描述
kernel-install 用于在 /boot
中添加或删除内核与 initrd 镜像。
kernel-install 将会执行 /usr/lib/kernel/install.d/
与 /etc/kernel/install.d/
目录下的可执行文件。所有可执行文件,无论它位于哪个目录,都统一按照文件名的字典顺序依次执行。因为 /etc/kernel/install.d/
目录下的文件会取代 /usr/lib/kernel/install.d/
目录下的同名文件,所以,如果系统管理员想要屏蔽 /usr/lib/kernel/install.d/
目录中的某个可执行文件,那么最佳做法是在 /etc/kernel/install.d/
目录中创建一个指向 /dev/null
的同名符号链接。注意,可执行文件必须以 ".install
" 作为后缀名,否则将被忽略。
这些可执行文件在执行成功后必须返回 0
。如果返回 77
则表示彻底终止整个操作,也就是所有字典顺序上的后续可执行文件都将被跳过。
命令(COMMAND)
可以使用的命令如下:
- add
KERNEL-VERSION
KERNEL-IMAGE
[INITRD-FILE
...] KERNEL-VERSION
是内核版本字符串、KERNEL-IMAGE
是内核镜像文件的路径。 kernel-install 将会创建/boot/
目录,并在调用MACHINE-ID
/KERNEL-VERSION
//usr/lib/kernel/install.d/*.install
与/etc/kernel/install.d/*.install
插件时向它们传递如下参数:add
KERNEL-VERSION
/boot/
MACHINE-ID
/KERNEL-VERSION
/KERNEL-IMAGE
[INITRD-FILE
...]有两个默认的插件将会被调用,并执行下列操作:
50-depmod.install
将会以KERNEL-VERSION
为参数调用 depmod(8) 工具(创建内核模块之间依赖关系的描述文件)。90-loaderentry.install
将会:(1)把KERNEL-IMAGE
复制到/boot/
、 (2)把MACHINE-ID
/KERNEL-VERSION
/linuxINITRD-FILE
(若存在) 复制到/boot/
、 (3)按照 Boot Loader Specification 规范创建一个MACHINE-ID
/KERNEL_VERSION
/INITRD-FILE
/boot/loader/entries/
启动项描述文件,启动项标题将被设为MACHINE-ID
-KERNEL-VERSION
.conf/etc/os-release
或/usr/lib/os-release
(如果前一个不存在) 中PRETTY_NAME
值(若不存在则使用"LinuxKERNEL-VERSION
")。
- remove
KERNEL-VERSION
KERNEL-VERSION
是内核版本字符串。该命令在调用/usr/lib/kernel/install.d/*.install
与/etc/kernel/install.d/*.install
插件时向它们传递如下参数:remove
KERNEL-VERSION
/boot/
MACHINE-ID
/KERNEL-VERSION
/然后 kernel-install 将会完整删除整个
/boot/
目录及其内容。MACHINE-ID
/KERNEL-VERSION
/有两个默认的插件将会被调用,并执行下列操作:
50-depmod.install
将会删除由 depmod 命令为该内核生成的文件。90-loaderentry.install
将会删除/boot/loader/entries/
文件。MACHINE-ID
-KERNEL-VERSION
.conf
退出状态
如果每一个可执行插件都返回 0 或 77 ,那么返回 0 表示成功;否则返回非零值表示失败。
文件
/usr/lib/kernel/install.d/*.install
/etc/kernel/install.d/*.install
可执行插件(一般都是脚本)
/etc/kernel/cmdline
/proc/cmdline
将会被
90-loaderentry.install
插件读取。/etc/kernel/cmdline
记录了内核引导选项。 如果该文件不存在,则使用/proc/cmdline
文件。/etc/kernel/tries
如果该文件存在,那么
90-loaderentry.install
插件将会从中读取一个整数值。 在生成启动项描述文件时,该整数将被嵌入文件名称中(也就是/boot/loader/entries/
)。 对于实现了启动计数机制的 systemd-boot(7) 引导管理器来说,是很有意义的。MACHINE-ID
-KERNEL-VERSION
+TRIES
.conf/etc/machine-id
记录了本系统的
MACHINE-ID
/etc/os-release
/usr/lib/os-release
记录了用作启动选项标题的
PRETTY_NAME
参见
machine-id(5),os-release(5),depmod(8),systemd-boot(7),Boot Loader Specification