0. はじめに
Linux Mintでのウイルススキャンは、ClamTkからスケジュール設定
して走らせるのが簡単で良いのですが、シングルスレッドで動いてる
のであまり速くないんですよね。OSをインストールして、とりあえず
必要なソフトウェアを導入したくらいでも、完了まで2時間とか。
clamdscanでマルチスレッド対応にしたら、昼休みの間に完了する
くらいにはなったので、手順を書き残しておきます。
環境はLinux Mint 22.2 Cinnamon Editionです。
1. clamdのセットアップ
ClamAVとClamTkが既に入っていることを前提に書いていきます。
入っていない場合は、先にインストールしておいてくださいw
1.1 clamdのインストール
ソフトウェアマネージャーから以下をインストールします。
こちらをインストールするとclamdscanも併せて導入されます。
- Clamav-daemon
1.2 自動起動の有効化
以下のコマンドを実行するとclamdが起動し、システム起動時
にも自動的に起動するようになります。
sudo systemctl enable clamav-daemon --now
1.3 ウイルス定義ファイルの自動更新
こちらのコマンドを実行すると、/var/lib/clamav配下の
ウイルス定義ファイルが自動更新されるようになります。
sudo systemctl enable clamav-freshclam --now
ClamAVのインストール直後は、手動で更新をかけておいた
ほうが安全かもしれません。以下で更新できます。
sudo freshclam
余談ですが、ClamTkの「アップデートアシスタント」の設定は以下のように動作します。選択肢の名称からイメージする動作と違うのですがそれは。。。
-
コンピューターが自動的にアップデートを受信
システム側で自動更新されていると思しき/var/lib/clamavを参照する。ClamTkは自動更新を有効化する機能を持っていない。 -
自分でシグネチャをアップデート
~/.clamtk/dbにウイルス定義ファイルを保存し、ClamTkで管理・運用する。
なお、clamdは上記の設定と関係なく/var/lib/clamavを参照します。
1.4 使用スレッド数の設定
お使いのPCのCPUに合わせて、使用するスレッド数を設定します。
/etc/clamavフォルダを開き、何もないところで右クリックして
「Rootとして開く」を選択すると、「権限昇格」されたフォルダが
開きます。このフォルダからclamd.confを開いて、以下の行を
修正します。4コア8スレッドのCPUの場合は、設定値を「8」に
すると良いと思います。
MaxThreads 12
1.5 除外フォルダの設定
ClamTkからの定時スキャンの場合は、いくつかのフォルダがデフォルトで
除外されています。しかし今回はclamdscanを使用するので、除外フォルダ
を別途指定する必要があります。/etc/clamav/clamd.confの末尾に以下を
追加します。
ExcludePath ^/home/ユーザ名/\.clamtk/viruses/
ExcludePath ^/home/ユーザ名/smb4k/
ExcludePath ^/run/user/ユーザ番号/gvfs/
ExcludePath ^/home/ユーザ名/\.gvfs/
ExcludePath ^/home/ユーザ名/\.thunderbird/
ExcludePath ^/home/ユーザ名/\.mozilla-thunderbird/
ExcludePath ^/home/ユーザ名/\.evolution/
ExcludePath ^/home/ユーザ名/Mail/
ExcludePath ^/home/ユーザ名/kmail/
ユーザ番号(UID)は以下のコマンドで確認できます。
id -u
2. ウイルススキャンのスケジュール設定
ClamTkのスケジュールからはclamdscanが使えないので、必要な処理を
シェルスクリプトで書いて、cronにより定期実行する方法で運用します。
2.1 ウイルススキャンのシェルスクリプト
~/.clamtkフォルダを開き、何もないところで右クリックして「新しい
ドキュメントの作成 (D)」から「空のドキュメント (E)」を選択します。
ファイル名をclamdscan.shに変更し、テキストエディタで以下を
コピペして保存します。
#!/bin/bash
LOG_PATH="$HOME/.clamtk/history/$(date +%Y-%m-%d)-clamdscan.log"
clamdscan --reload
clamdscan --version | tee -a $LOG_PATH
clamdscan --log=$LOG_PATH --multiscan --fdpass $HOME
保存後は右クリックから「プロパティ (P)」を開き、「パーミッション」
タブの「プログラムとして実行可能 (E)」にチェックを入れてください。
2.2 ウイルススキャンの定期実行
以下のコマンドを実行し、現在のユーザのcrontabを編集します。
crontab -e
crontabに以下の行を追加してください。これは毎日12時0分に
指定したシェルスクリプトを実行する設定です。
0 12 * * * /home/ユーザ名/.clamtk/clamdscan.sh
crontab は編集して保存するだけで反映されます。再起動は不要ですが、
設定が追加されたことをcrontab -lコマンドで確認しましょう。
2.3 ログの確認
以上で設定は完了です。ウイルススキャンが実行されるとログが
出力されるので、出力されたログの内容を確認しましょう。ログは
ClamTkの「履歴」から確認することができます。以下のような
内容になっていると思います。
ClamAV 1.4.3/27807/Wed Oct 29 18:50:39 2025
--------------------------------------
/home/ユーザ名: OK
----------- SCAN SUMMARY -----------
Infected files: 0
Time: 2245.378 sec (37 m 25 s)
Start Date: 2025:10:30 18:01:48
End Date: 2025:10:30 18:39:14