Debian
從 Debian 10 更新到 Debian 11 出錯了
我只是使用這些說明從 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**中的條件:
if [ -f "/boot/System.map-$(uname -r)" ]; then ksup=`grep -i inotify_ /boot/System.map-$(uname -r)` if [ -z "$ksup" ]; then eout "{mon} kernel does not support inotify(), aborting." 1 exit fi elif [ -f "/boot/config-$(uname -r)" ]; then ksup=`grep -m1 CONFIG_INOTIFY /boot/config-$(uname -r)` if [ -z "$ksup" ]; then eout "{mon} kernel does not support inotify(), aborting." 1 exit fi fi
它正在對文件**/boot/System.map-$(uname -r)**執行 grep,但在 Debian 11 中,內容是
ffffffffffffffff B The real System.map is in the linux-image-<version>-dbg package
我看到兩個快速解決方案,第一個是檢查正確的文件:
- 使用此命令為正在執行的核心安裝 dbg 包
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現在開始了。兩種解決方案都應該在等待最終修復時起作用。
問候