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/内部/関数:

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

2 つの簡単な解決策があります。1 つ目は適切なファイルを確認することです。

  • このコマンドで実行中のカーネルの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 パッケージのインストールを回避するための他の解決策は、最初の条件を削除し、 にチェックインする 2 番目の条件のみを使用することです/boot/config-$(uname -r)

最初の方法を使用してテストしたところ、Maldetect が現在起動しています。最終的な修正を待つ間、どちらの解決策も機能するはずです。

よろしく

関連情報