« 36STICKS | メイン | 蒼龍唐玉堂 »

clamav

レンタルサーバなので自分でOSのバージョンを上げることができず、未だにFC4を使っている。そんな人も多いのではないでしょうか。
昨年まではclash-hatさんが古いディストリビューション用のパッケージ、FC4用のパッケージも配布してくれていたのですが、今年からCentOS5用しか配布してくれなくなった。
FC4にclash-hatさんのリポジトリを追加してyumでインストール&バージョンアップできていたのですが、
残念。
でもclamavに脆弱性が見つかったのでバージョンアップしなくては。
しかたがないので自分でリビルドすることにしました。

FC8用だとファイルやパッケージの構成が変わってしまうので、clash-hatさんのリポジトリからCentOS5用のSRPMを取得。

wget http://crash.fce.vutbr.cz/crash-hat/centos/5/clamav/clamav-0.93-2.src.rpm

そのままリビルドするとconfigureの途中でエラーになる。

rpmbuild --rebuild clamav-0.93-2.src.rpm
(省略)
checking for a supported version of gcc... ok (4.0.2)
checking for gcc bug PR27603... ok, bug not present
checking for gcc bug PR26763-2... ok, bug not present
checking for valid code generation of CLI_ISCONTAINED... ok, bug not present
checking for gcc bug PR28045... configure: error: your compiler has gcc PR28045 bug, use a different compiler, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28045

FC4にバンドルされているgccにPR28045のバグがあるためコンパイルさせてくれない。
gccを4.3にバージョンアップするか、3.2~3.4にダウングレードするか、オプティマイズオプション(-O2)をやめてデバッグ(-g)でコンパイルすれば、コンパイルできる。
FC4にはgcc 4.0.2と3.2.3が入っている。
gccのバージョンアップはめんどいし、他への影響も大きいのでパス。
オプションの調整もSPECファイルの修正がめんどい。
手軽なところでgcc 3.2.3でビルドすることにしました。
SRPMをインストールしてSPECファイルを修正します。

rpm -i clamav-0.93-2.src.rpm
cd /usr/src/redhat/SPECS/
vi clamav.spec

viで編集。

%configure \
    --program-prefix=%{?_program_prefix} \

上記の部分を下記のように書き換えます。

%build
CC=gcc32 ./configure \
--build=i686-redhat-linux-gnu \
--host=i686-redhat-linux-gnu \
--target=i386-redhat-linux-gnu \
--program-prefix= \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib \
--libexecdir=/usr/libexec \
--localstatedir=/var \
--sharedstatedir=/usr/com \
--mandir=/usr/share/man \
--infodir=/usr/share/info \

このSPECファイルでビルド。

rpmbuild --ba clamav.spec

今度はエラーも出ずにビルドが完了。
インストール(アップグレード)します。

cd ../RPMS/i386/
rpm -Fvh clamav-0.93-2.i386.rpm \
     clamav-db-0.93-2.i386.rpm \
     clamav-milter-0.93-2.i386.rpm \
     clamav-server-0.93-2.i386.rpm

手動でウイルス定義ファイルを更新。

freshclam

もろもろのデーモンを再起動。

/etc/init.d/clamd restart
/etc/init.d/clamav-milter restart
/etc/init.d/freshclam restart

スキャンのテストを実施。

clamscan --infected --recursive /usr/share/doc/clamav-0.93/test/

/usr/share/doc/clamav-0.93/test/clam.cab: ClamAV-Test-File FOUND
/usr/share/doc/clamav-0.93/test/clam.exe.bz2: ClamAV-Test-File FOUND
LibClamAV Warning: RAR code not compiled-in
/usr/share/doc/clamav-0.93/test/clam.zip: ClamAV-Test-File FOUND
/usr/share/doc/clamav-0.93/test/clam.exe: ClamAV-Test-File FOUND
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in

----------- SCAN SUMMARY -----------
Known viruses: 266450
Engine version: 0.93
Scanned directories: 10
Scanned files: 48
Infected files: 4
Data scanned: 0.02 MB
Time: 3.864 sec (0 m 3 s)

RARがスキャンできてないけれど、これはビルド時にRARのライブラリが入ってないのでしょうがない。
FC4にはライブラリ入ってないし。まぁいいや。
とりあえず他は無事検出できたのでよしとしました。

clash-hatさんのGPG公開鍵をインポートしてない場合は最初に鍵をインポート。

cd /etc/pki/rpm-gpg/
wget http://crash.fce.vutbr.cz/Petr.Kristof-GPG-KEY
rpm --import Petr.Kristof-GPG-KEY

これでrpmインストール時に警告が出なくなります。

トラックバック

このエントリーのトラックバックURL:
http://hagyroom.sakura.ne.jp/mt/mt-tb.cgi/917

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年04月20日 00:00に投稿されたエントリーのページです。

ひとつ前の投稿は「36STICKS」です。

次の投稿は「蒼龍唐玉堂」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

アーカイブ

お薦めショップ

  • HagyShop   ボクの大好きな作品だけ、
      お薦めの本と映画をご紹介。