kernel-install 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 . 指令索引systemd-235

名称

kernel-install — 在 /boot 中添加或删除内核与 initrd 镜像

大纲

kernel-install COMMAND KERNEL-VERSION [KERNEL-IMAGE]

描述

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 则表示彻底终止整个操作, 也就是所有字典顺序上的后续可执行文件都将被跳过。

命令

可以使用的命令如下:

add 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

参数。

可执行插件 50-depmod.install 将会以 KERNEL-VERSION 为参数调用 depmod 工具(创建内核模块之间依赖关系的描述文件)。

可执行插件 90-loaderentry.install 除了把 KERNEL-IMAGE 复制到 /boot/MACHINE-ID/KERNEL-VERSION/linux 之外, 还会根据 /boot/loader/entries/MACHINE-ID-KERNEL-VERSION.conf 的指引创建启动项。如果 /etc/os-release/usr/lib/os-release 文件中已经设置了 PRETTY_NAME 的值, 那么它将被用作启动项的名称; 否则将使用 "Linux KERNEL-VERSION" 作为启动项的名称。 如果 initrdlinux 同时存在于同一目录下, 那么将会把该 initrd 一起添加到该启动项的配置中。

remove 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/ 目录。

可执行插件 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

被 kernel-install 调用的可执行插件(一般都是脚本)

/etc/kernel/cmdline /proc/cmdline

/etc/kernel/cmdline 记录了内核引导选项。 如果前述文件不存在,则使用 /proc/cmdline 文件。

/etc/machine-id

记录了本系统的 MACHINE-ID

/etc/os-release /usr/lib/os-release

记录了用作启动选项标题的 PRETTY_NAME

参见

machine-id(5), os-release(5), Boot loader specification