カテゴリー
Linux

CentOS6の練習-#8(ClamAVの話,続き)。

投稿アップデート情報  追記(9/8)  追記2(10/1)

 前項で

そういえば,指定のリポジトリを書き直した方がいいということをよくネット上で見るが,Minimalインストールでも,CentOS6.3には初めからyum-plugin-fastestmirrorとyum-prestoが入ってる。これがあれば,ミラーリストをざっとなめてからやってくれてるみたいだが,それでも指定のリポジトリを書き直したがいいんだろうか。

と書いたのだが,ClamAVをwgetでインストールしたときに分かったことがある。
 常識なんだろうが,yumでインストールすると,依存関係をyumの方でちゃんとやってくれる。なので,
   $ sudo yum install clamd
とやると,clamav,clamd,clamav-dbが,すべてインストールされるが,wgetでダウンロードして,rpmでインストールするとそうはいかないから,順番とかライブラリに気を付けなければいけないことになる。どのサイトにも「yumは依存関係の処理もやってくれる」と書いているし,clamav直前のlm_sensorsのインストールでは,自分でも依存関係でいろいろ入ることに驚いているのに,これらのことをしっかり認識していなかったりするのだ(汗)。ただし,rpmを手動でインストールしても,yumは関知してるようで,
   $ sudo yum list installed|grep clam*
   clamav.i686 0.97.5-2.el6.rf installed
   clamav-db.i686 0.97.5-2.el6.rf installed
   clamd.i686 0.97.5-2.el6.rf installed
とちゃんとリストに表示される。

 ということになると,やはりclamavを含むリポジトリの導入をやっておいた方がいいわけで,ここ(魚拓です)を参考にそれをちょっとやってみた。大概のところは,clamavの導入時にリポジトリを追加し,あとでこれを外すみたいに書いてあって,「めんどくさいな。それならwgetでその都度やっても,同じジャン」とか思っていたのだが,参考ページではyum-prioritiesプラグインをインストールすることになっている。これ,いいな。
   $ sudo yum install yum-plugin-priorities
 CentOs6のCentOS-Base.repoを弄る。[priority=1]を追加してやって,リポジトリに優先順位をつけるわけだ。
   $ sudo vi /etc/yum.repos.d/CentOS-Base.repo

   [base]
   name=CentOS-$releasever – Base
   mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
   #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
   gpgcheck=1
   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
   priority=1 <<— 追加

   #released updates
   [updates]
   name=CentOS-$releasever – Updates
   mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
   #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
   gpgcheck=1
   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
   priority=1 <<— 追加

   #additional packages that may be useful
   [extras]
   name=CentOS-$releasever – Extras
   mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
   #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
   gpgcheck=1
   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
   priority=1 <<— 追加
上書き保存して,終了。

 さて,rpmforgeリポジトリをインストールし,ついでにアップデートしておく。どうして,rpmforgeリポジトリにしたかっていうと,ClamAVオフィシャルのLinux(魚拓です)「RedHat and Fedora」のところに,「Dag Wieersによって大変よくメンテされてるリポジトリがあるのでそれを使うといい」と書いてある。これが http://packages.sw.be/clamav/ で,前項ではここからwgetで入れたわけ。今回は,も一度FAQを読みに行って,How do I use Yum ?のところを読み,rpmforge-release packageを見に行って,「RHEL6 and CentOS-6 x86 32bit」の下記を選択した。でもこれ,結局のところ理研のミラーから落ちてくるようだ。
   $ sudo rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
   $ sudo yum update rpmforge-release

 「11 packages excluded due to repository priority protections」と出た。yum-prioritiesを入れた効用だ。お利口さん。さて改めて,
   sudo yum install clam*    で,うっかりインストールしてしまったので,改めて   sudo yum install clamd
でやり直した。clamav,clamd,clamav-dbについては,最新版がインストールされていると出たが,依存関係がうまく解決されていなかったようだサービスを止めて,インストールし直してみた。

 その後,
   $ sudo vi /etc/clamd.conf
で,189行目を下記のようにコメントアウトする。
   #User clamav
clamdを再スタート。
   $ sudo /etc/rc.d/init.d/clamd restart
 –9/8(土),消し線追加。どうしてもうまくclamdscanを走らせられないので,clamscanで行くことにした。この場合,Userはclamavのままで,不都合はなかった。clamdscanの不具合は,SELinuxをpermissiveにし,Userをrootにしても直らなかった。今のところ,何が足を引っ張っているのか,不明。当面は,clamscanでいいことにしよう。–

   $ chkconfig –list
をチェックしてみると,この段階で,

clamd  0:off  1:off  2:on  3:on  4:on  5:on  6:off

となっており,clamav-milterとclamdが自動起動O.K.になっているようだ。sudo yum install clamdだと,有効になっているサービスは,clamdだけだった。

   $ sudo freshclam
 $ sudo /etc/rc.d/init.d/clamd restartも,freshclamやるまえから一度でうまくいった。やっぱ,前回は何かまずかったのかな。
 sudo yum install clamd でやると,やはり,freshclamを先にやらないと,clamd restartがうまくいかない。

追記2(10/1):
 上に,
> clamdscanの不具合は,SELinuxをpermissiveにし,Userをrootにしても直らなかった。
と書いたのだが,これについては,CentOS6.3 Minimalを改めて新規インストールして試したら,permissive+rootでは走らせることができた。いろいろ弄っていたのでどこかがまずくなっていたのかもしれない。