Fedora-11でのclamav-0.95.3へのアップグレード手順

tacohachi2009-11-20

Fedora-11でyumを使ってclamavをインストールすると、clamav-0.95.2がインストールされるが、freshclamでウィルス定義のパターンファイルをアップデートするときに、毎回毎回clamavのバージョンを最新版0.95.3にアップグレードしろとのメッセージが出てくる。その対応手順をメモしておく。

(1) 最新版clamav-0.95.3をダウンロードする。http://www.clamav.net/download/sourcesから「Latest stable release: ClamAV 0.95.3」をダウンロードし、特定の場所にclamav-0.95.3.tar.gzを置く。しかし「Important note: if you want to compile ClamAV 0.95.3 on Fedora 9 or FreeBSD 7 (and possibly other platforms), you’ll need to apply a patch with the command: patch -p1 #1737 for more information.」のようにパッチを当てろと添えられている。

(2) ダウンロードしたclamav-0.95.3.tar.gzを展開し、パッチ対応をする。パッチのファイルもダウンロードできるのかもしれないが、ネット情報をもとにコードを修正してre-makeすることにした。


# su
# clamscan -V # yumを使ってインストールすればclamav-0.95.2のはず
# cd download # ダウンロードした場所へ移動
# tar zxvf clamav-0.95.3.tar.gz
# cd clamav-0.95.3
# vi libclamav/others.h # patch 1737に手作業で対応
others.hを開き、29行目に「#include 」を追加する。次の感じになる。

...
#if HAVE_CONFIG_H
#include "clamav-config.h"
#endif
#include /* 29行目に追加 */
#include
#include
...

(3) clamav-0.95.3をコンパイルするためにgccをインストールしておく。


# yum install gcc
# yum install zlib zlib-devel

(4) yumを使ってインストールした古いclamavclamav-updateをアンインストールしておく。


# yum -y remove clamav clamav-data clamav-filesystem clamav-lib clamav-update

(5) clamavというユーザーとグループを作成し、clamavユーザーをclamavグループに所属させておく。古いバージョンをアンインストールしたために消失したのではないだろうか。詳細は不明。このアカウントは、誰もログインできないアカウントとし、ログインシェルやホームディレクトリなしとしておく。(※IDはそれぞれ何でもいいが、古いclamavが私の環境で490を使っていた形跡があったため、下の例ではユーザーID、グループIDとも490にしている。)


# vi /etc/group
clamav:x:490:
# vipw
clamav:x:490:490::/nonexistent:/sbin/nologin

(6) 以下の手順で、clamav-0.95.3のmakeとインストールを行う。バックアップも取っておく。バージョンが0.95.3に上がったことを確認する。


# cd clamav-0.95.3
# ./configure --prefix=/usr --sysconfdir=/etc
# make
# make install
# cd ..
# tar cvf clamav-0.95.3_self.tar ./clamav-0.95.3
# gzip clamav-0.95.3_self.tar
# clamscan -V

(7) パターンファイル更新の設定をする。/etc/freshclam.confを開いて、Exampleの行をコメントアウトし、適当なミラーサーバーを記述する。Fedora-11のガイドに従えばいい。


# vi /etc/freshclam.conf

# Comment or remove the line below.
#Example # この行をコメントアウト
...
# database.clamav.net is a round-robin record which points to our most
# reliable mirrors. It's used as a fall back in case db.XY.clamav.net is
# not working. DO NOT TOUCH the following line unless you know what you
# are doing.
DatabaseMirror clamavdb.mithril-linux.org # 適当なミラーサーバーを記述
...

(8) パターンファイルを更新して、実際にスキャンしてみる。


# freshclam
ClamAV update process started at Sat Nov 21 2009
main.cvd is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven)
daily.cvd is up to date (version: 10053, sigs: 110136, f-level: 44, builder: guitar)
# clamscan
Known viruses: 654477
Engine version: 0.95.3
Scanned directories: 1
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 1.954 sec (0 m 1 s)

(9) 毎日スキャンするようにクーロンを設定しておく。Fedora-11のガイドに従う。


# vi /etc/cron.daily/clamav
/usr/bin/clamscan -r --quiet --log=/var/log/clamav.log --move=/var/infected_virus/

以上で手順は終わり。ネット情報には以下のような手順も提示されていた。パッチをダウンロードして当てる手順のようだ。未確認。


# make uninstall # 現在のバージョンをアンインストール
# wget http://sourceforge.net/projects/clamav/files/clamav/0.95.3/clamav-0.95.3.tar.gz/download
# tar -zxvf clamav-0.95.3.tar.gz
# wget http://wiki.clamav.net/pub/Main/UpgradeNotes0953/patch-0.95.3-bug1737.diff
# mv patch-0.95.3-bug1737.diff /root/clamav-0.95.3/
# patch -p1 < patch-0.95.3-bug1737.diff
# ./configure
# make
# make install
# clamscan -V