我只是使用这些说明从 Debian 10 升级到 Debian 11 。一切似乎都很顺利,除了 maldet 失败了。
这是错误:
maldet[2117]: maldet(2117): {mon} kernel does not support inotify(), aborting
systemd[1]: maldet.service: Can't open PID file /usr/local/maldetect/tmp/inotifywait.pid (yet?) after start: Operation not permitted
systemd[1]: maldet.service: Failed with result 'protocol'.
systemd[1]: Failed to start Linux Malware Detect monitoring - maldet.
我的 /usr/lib/systemd/system/maldet.service 文件包含:
[Unit]
Description=Linux Malware Detect monitoring - maldet
After=network.target
[Service]
EnvironmentFile=/usr/local/maldetect/conf.maldet
ExecStart=/usr/local/maldetect/maldet --monitor USERS
ExecStop=/usr/local/maldetect/maldet --kill-monitor
Type=forking
PIDFile=/usr/local/maldetect/tmp/inotifywait.pid
[Install]
WantedBy=multi-user.target
在我更新之前,我验证了所有服务都正常工作,并且在更新期间选择了“N”否,拒绝替换我的自定义配置文件......所以应该没有任何改变。
另外,我使用的是 Linux 5.10.0-8-amd64 & maldet 1.6.4
有人可以帮我解决这个问题吗?谢谢
问题是文件/usr/local/maldetect/internals/functions中的条件:
它正在对文件/boot/System.map-$(uname -r)执行 grep,但在 Debian 11 中,内容是
ffffffffffffffff B The real System.map is in the linux-image-<version>-dbg package
我看到两个快速解决方案,第一个是检查正确的文件:
apt install linux-image-$(uname -r)-dbg
sed -i 's#/boot/System.map#/lib/debug/boot/System.map#' /usr/local/maldetect/internals/functions
为了避免安装 dbg 包,另一种解决方案是删除第一个条件,只使用第二个签入
/boot/config-$(uname -r)
.我用第一个来测试,Maldetect现在开始了。两种解决方案都应该在等待最终修复时起作用。
问候