我有一台装有 ubuntu 16.04 的服务器。重启后,它警告:
systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Load Kernel Modules.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
systemd[1]: systemd-modules-load.service: Unit entered failed state.
systemd[1]: systemd-modules-load.service: Failed with result 'exit-code
因此在控制台中,以 root 身份:
$ systemctl status systemd-modules-load
● systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2016-08-20 16:23:47 UTC; 11min ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 3328 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
Main PID: 3328 (code=exited, status=1/FAILURE)
进而:
$ journalctl _PID=3328
-- Logs begin at Fri 2016-08-19 16:14:57 UTC, end at Sat 2016-08-20 16:35:01 UTC. --
Aug 20 16:23:47 mangrove systemd-modules-load[3328]: could not open moddep file '/lib/modules/4.6.3-x86_64-linode70/modules.dep.bin'
Aug 20 16:23:47 mangrove systemd-modules-load[3328]: Failed to lookup alias 'lp': Function not implemented
功能未实现。TFW?
答案1
服务systemd-modules-load
读取 中的文件/etc/modules-load.d
以加载此处指定的其他内核模块。在目录中,您将找到一个名为 的文件cups-filters.conf
。它指定用于并行打印的模块,包括lp
。如果在 中找不到模块/lib/modules
,则服务会抛出那个看起来很可怕的错误。要删除它:
sudoedit /etc/modules-load.d/cups-filters.conf
注释掉所有行(在行#
首放置一个)
保存并退出。
重启。
(请注意 - 目录中有一个符号链接,因此/etc/modules
也可以读取 - 我也见过在该文件中神秘地指定过时模块的情况)