從 Debian 10 更新到 Debian 11 出了問題

從 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

有人可以幫我解決這個問題嗎?謝謝

答案1

問題是文件中的條件/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

它正在對檔案執行 grep/boot/System.map-$(uname -r)但在 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現在開始。等待最終修復後,這兩種解決方案都應該有效。

問候

相關內容