Sunflat のブログ

ソフトウェア開発についての話題が多いかも

MacにClamAVをインストールする(homebrew使用)

Mac OSXでのウィルススキャンにはClamXavを使っていたのだが、有料化してしまった。

一度払うだけならいいんだけど、そのうちVer.3が出てまた払わされるだろうし、リアルタイムスキャン機能は使わずに定期的にフルスキャンをかけるだけだったので、ClamXavはアンインストールして、直接ClamAVを使ってみることにした。

インストールにはHomebrewを使った。

brew install clamav

ウィルス定義用ディレクトリを別に作ってみる(なんとなく)

mkdir -p /usr/local/var/lib/clamav

freshclam.confの作成(ウィルス定義更新コマンド用)

cd /usr/local/etc/clamav/
cp freshclam.conf.sample freshclam.conf
vim freshclam.conf

freshclam.confを編集

  • Example の行をコメントアウト
  • DatabaseDirectory で、ウィルス定義用ディレクトリを指定
# Comment or remove the line below.
#Example

# Path to the database directory.
# WARNING: It must match clamd.conf's directive!
# Default: hardcoded (depends on installation options)
DatabaseDirectory /usr/local/var/lib/clamav

ウィルス定義の更新

freshclam

いざ、フルスキャン!

  • ここでは、/dev/ 以下のディレクトリと、 *.vmdk, *.vdi のファイルは対象外にしている
  • ログを ~/Desktop/clamscan.log に書き出している
clamscan --exclude-dir="^/dev/" --exclude="\.vmdk$|\.vdi$" -r / | tee ~/Desktop/clamscan.log

次に再度フルスキャンする時には、clamavのupgradeと、ウィルス定義の更新も忘れずに。

なんか、freshclam で定義を更新する時にエラーがでるっぽい

Downloading bytecode.cvd [100%]
ERROR: Database load killed by signal 11
ERROR: Failed to load new database

一つ前のバージョンのClamAVでは発生しないらしい。ほっとけば、そのうち直るかなぁ

おまけ

  • フルスキャンは時間がかかるので、省エネルギー設定で自動スリープしない設定にしておき、スキャン終了後に自動でスリープコマンドを実行させると良いかも。次回起動時に省エネルギー設定を戻すのを忘れずに
clamscan パラメータ色々 ; osascript -e 'tell application "Finder" to sleep'
  • ちなみに、clamd は、プロセスを常駐させておいて、何度もスキャンを繰り返すような場合に使う。今回はフルスキャンを1回するだけなので使わなかった。