阜阳网站开发,wordpress add_action do_action,做网站时会遇到什么问题,苏州市住房和城乡建设局网站首页最近遇到一个问题#xff0c;定制的一个镜像包#xff0c;在启动后#xff0c;发现有些内核模块加载是错误的#xff0c;有些是正确的。使用modinfo去查询#xff0c;可以看到加载的为内核版本中的模块#xff08;非自己定制的模块#xff09;#xff0c;而有些自己新增…最近遇到一个问题定制的一个镜像包在启动后发现有些内核模块加载是错误的有些是正确的。使用modinfo去查询可以看到加载的为内核版本中的模块非自己定制的模块而有些自己新增的模块没有加载成功。 这个问题也折腾了一两天的时间最开始时排查做包日志发现在安装rpm包时%post后面的depmod都没有生效报了如下错误 Installing : openvswitch-kmod-2.7.x86_64 40/340
depmod: ERROR: could not open directory /lib/modules/3.10.0.28_20.x86_64: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
warning: %post(openvswitch-kmod-2.7.x86_64) scriptlet failed, exit status 1
Non-fatal POSTIN scriptlet failure in rpm package openvswitch-kmod-2.7.x86_64 为什么会报这个错误呢 /lib/modules/3.10.0.28_20.x86_64 这个路径3.10.0.28_20为当前做包环境的内核版本镜像包中的内核版本为3.10.0.28_21在做镜像时有执行chroot操作所以在镜像的当前目录中是没有/lib/modules/3.10.0.28_20.x86_64这个目录的。看来depmod执行时并不能很聪明的知道已经做过chroot操作。 因为获取的都为做包环境中的内核版本而非镜像包中的内核版本。这样即使每个rpm包都执行了depmod但是在镜像包中却没有生成正确的modules.dep即模块依赖关系是错误的所以用modinfo查询也是错的。 经过仔细排查将几个版本的做包日志打出来发现每次出现加载错误的模块有略微差异好像在某个包之前安装的包模块加载都正确在某个包之后安装的包模块加载就是错误的。后来经过排查分析比对锁定在了AXX包果然这个包里有如下操作: echo /lib/modules/%{kern_devel_ver}/extra/xx.ko | /sbin/weak-modules --add-module --no-initramfs 而这个操作也会更新modules.dep。在安装了这个包后镜像包中的modules.dep就发生了更新在这个包之前安装的包其模块都生成了正确的关系列表。而在这个包之后再没哪个包在安装后会更新moduels.dep的所以在这个包之后安装的rpm包模块都没有加载正确。转载于:https://www.cnblogs.com/xingmuxin/p/9132225.html