我有一个安装了ventoy的移动硬盘,而且在此基础上使用vtoyboot制作了一个可以从vtoy启动的debian系统镜像。官网提示更新内核镜像后需要重新执行一次脚本。为了一劳永逸,我决定通过发行版提供的包管理器hook来自动在更新安装内核镜像后进行这一过程。
具体来说,在debian系统上,可以在/etc/kernel/postinst.d/
目录下编写脚本,以在内核镜像安装后执行此脚本。脚本的执行顺序按照文件名排序,这可能也是某些脚本以zz-
开头来确保在最后执行的由来?
其他发行版也有类似设置,这里不过多赘述。
首先将vtoyboot.iso
解压到/opt/vtoyboot
目录,然后创建并编辑文件/etc/kernel/postinst.d/zy_vtoyboot.sh
以zy
作为文件名的开始是因为我对vtoyboot的进行过程并不清楚,因此需要尽量推迟其执行时间。而yy
开头只有一个脚本,是update-grub
,它应该是完整安装完内核镜像后用于更新grub记录的脚本,因此我的想法是在此之前执行vtoyboot,对内核镜像进行一些操作,成功后才更新grub,如果出错就无法正常完成正常的更新kernel的操作。
1 |
|
这样,在使用apt
包管理器更新kernel版本后,就会自动触发此程序来自动执行vtoyboot。