本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
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 则表示彻底终止整个操作,
    也就是所有字典顺序上的后续可执行文件都将被跳过。
可以使用的命令如下:
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 插件时向它们传递如下参数:
          
addKERNEL-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 值(若不存在则使用"Linux KERNEL-VERSION")。
KERNEL-VERSION¶KERNEL-VERSION 是内核版本字符串。该命令在调用
          /usr/lib/kernel/install.d/*.install 与
          /etc/kernel/install.d/*.install 插件时向它们传递如下参数:
          
removeKERNEL-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
/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