SSブログ

ClamAVのウイルス情報の更新エラーへの対応 [Linux]

ClamAV のウイルス情報の更新時に、時々エラーが発生する。
また、この場合にはウイルスチェックでもエラーが発生する。
以下の記述は、備忘録として、この事象への対応方法をまとめたものである。

[ソフトウェアのバージョン]
・clamav 0.99.2
・OS: Debian 8/9、CentOS 6/7

1. 発生事象


(1) ウイルス情報の更新時のエラー


freshclam の実行時に、下記のようなエラーが発生する。

ClamAV update process started at Mon Aug  7 04:00:01 2017
main.cvd is up to date (version: 58, sigs: 4566249, f-level: 60, builder: \
sigmgr)
nonblock_connect: connect timing out (30 secs)
Can't connect to port 80 of host db.local.clamav.net (IP: 120.29.176.126)
Trying host db.local.clamav.net (27.96.54.66)...
Downloading daily-23639.cdiff [100%]
WARNING: [LibClamAV] cli_tgzload: Invalid checksum for file daily.hdb
WARNING: [LibClamAV] Can't load /usr/local/tools/clamav/lib/clamav/\
clamav-a91f125d25aeacd304ebb2e1aeb81814.tmp/\
clamav-677b156a3fc4f33d7fe701aa680c0c20.cld: Malformed database
ERROR: Failed to load new database: Malformed database
WARNING: Database load exited with status 55
ERROR: Failed to load new database
(status=55)


・daily.cld のダウンロードで問題が発生する。
・/usr/local/tools/clamav/lib/clamav は /var/lib/clamav へのリンクである。


(2) ウイルスチェック時のエラー


clamscan の実行時に、下記のようなエラーが発生する。

LibClamAV Error: cli_tgzload: Invalid checksum for file daily.hdb
LibClamAV Error: Can't load /var/lib/clamav/daily.cld: Malformed database
ERROR: Malformed database

----------- SCAN SUMMARY -----------
Known viruses: 523608
Engine version: 0.99.2
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.887 sec (0 m 0 s)
(status=2)


・ウイルス情報の更新時のエラーが原因で発生する。


2. 対処方法

2-1. ウイルス情報の更新時のエラーへの対応


freshclam.conf を編集し、設定を下記のように変更する。

・Debian 8/9 の場合: /etc/clamav/freshclam.conf
・CentOS 6/7 の場合: /etc/freshclam.conf

(1) DatabaseMirror

DatabaseMirror db.jp.clamav.net
DatabaseMirror db.us.clamav.net


ウイルス情報のダウンロード先を指定する。
・db.jp.clamav.net は、db.local.clamav.net の正式名称である。
・db.jp.clamav.net は、database.clamav.net の正式名称である。


(2) CompressLocalDatabase

CompressLocalDatabase yes


ローカル・データベースを圧縮する。
・daily.{cld,cvd} を gzip で圧縮するか指定する。
・本来は daily.cvd となると思うが、daily.cld で保存されることがある。
 (file コマンドの実行結果では、gzipped と表示される。)

(補足)
この設定により、更新時のエラーが発生しなくなったように思われる。


2-2. エラーが発生した時の対応


(1) ウイルス情報の更新時のエラー


(a) ウイルス情報の更新を再実行する。


改善しない場合にのみ、以降の手順を実施する。


(b) エラーに関係するファイルを削除する。

# rm -fr /var/lib/clamav/*.tmp
# rm -f /var/lib/clamav/daily.{cld,cvd}
# rm -f /var/lib/clamav/mirrors.dat


(c) ウイルス情報の更新を再実行する。


(2) ウイルスチェック時のエラー


(a) ウイルス情報の更新が異常終了している場合


ウイルス情報の更新時のエラーへの対応を行う。


(b) ウイルス情報の更新が正常終了している場合


ウイルスチェックを再実行する。


3. 備考


(1) ウイルス情報の更新方法


現在、下記の方針に沿った方法でウイルス情報を更新している。

(a) freshclam コマンドを使用する。

(b) freshclam を cron から定期的に実行する。


freshclam のデーモン・モードは使用しない。


(c) 独自にログファイルを作成する。


[追記]


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Pacemaker + Corosync + DRBD でのクラスタ環境の構築 [CentOS]

[ソフトウェアのバージョン]
・pacemaker-1.1.12-8.el6_7.2.i686
・corosync-1.4.7-2.el6.i686
・kmod-drbd84-8.4.7-1_1.el6.elrepo.i686
・drbd84-utils-8.9.5-1.el6.elrepo.i686
・OS: CentOS 6.7

1. 要件


Pacemaker + Corosync のクラスタリング環境に DRBD リソースを追加する。


2. DRBD の導入


(1) パッケージのインストール


下記のパッケージをインストールする。

・kmod-drbd84-8.4.7-1_1.el6.elrepo.i686
・drbd84-utils-8.9.5-1.el6.elrepo.i686


(2) DRBD の設定


/etc/drbd.d/{global_common.conf,r0.res} を下記のように変更する。
(詳細は備考を参照)

(a) 対象のノード


・vm2.private.net(192.168.0.22)
・vm3.private.net(192.168.0.23)


(b) ディスクのデバイス・パス


/dev/sdc1


(c) DRBD デバイス


/dev/drbd0


(d) タイムアウト値

wfc-timeout 30

3. DRBD の自動機能の停止
# chkconfig drbd off
# chkconfig --list drbd

4. リソースの定義


(1) DRBD

# pcs resource create drbd ocf:linbit:drbd \
drbd_resource=r0 \
op monitor interval=20s

## Master/Slave 型のリソースとしての定義
# pcs resource master ms-drbd drbd \
master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true


(2) ファイルシステム

# pcs resource create fs-drbd ocf:heartbeat:Filesystem \
device=/dev/drbd0 directory=/share-drbd fstype=ext3 \
op monitor interval=20s


(3) 既存リソースとの制約条件の設定

# pcs resource group add group-1 fs-drbd --before fs-nfs
# pcs constraint colocation add master ms-drbd with group-1 INFINITY
# pcs constraint order promote ms-drbd then start group-1

(補足)
# pcs resource group list
group-1: fs-drbd fs-nfs nfs-server vip-check vip


(4) その他


エラーが発生する場合には、当該リソースの故障履歴をクリアする。

(例)
# pcs resource cleanup drbd
# pcs resource cleanup fs-drbd
# pcs resource cleanup ...

5. 備考


(1) DRBD の構築手順


cf. http://dan-project.blog.so-net.ne.jp/2016-05-10



nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Pacemaker + Corosyncのクラスタ環境での制約条件の設定 [CentOS]

Pacemaker + Corosync のクラスタ環境に DRBD リソースを追加することになった。
そこで、以前実施した Pacemaker の構築手順の見直しを行った。
以下は、その際に気づいたことをまとめたものである。

[ソフトウェアのバージョン]
・pacemaker-1.1.12-8.el6_7.2.i686
・corosync-1.4.7-2.el6.i686
・OS: CentOS 6.7

1. リソースの制約条件


クラスタで管理するリソースには、下記のような制約条件を設定できる。

・リソースを起動するノードの選択方法
・リソースの起動順序


2. リソース間の制約条件の設定方法


(1) リソースを起動するノードの選択方法

# pcs constraint colocation add <res-id-1> with <res-id-2>


・リソース-2(res-id-2) と同じノードでリソース-1(res-id-1) を起動する。


(2) リソースの起動順序

# pcs constraint order <res-id-1> then <res-id-2>


・リソース-1(res-id-1) の後にリソース-2(res-id-2) を起動する。


(補足)
・リソースの数が多くなると、制約条件の管理が面倒になる。
・リソースグループを定義すると、制約条件の管理の手間を軽減できる。


3. リソースグループに適用される制約条件


・同じリソースグループのリソースは、同じノードで起動される。
・リソースグループの定義時に指定した順序でリソースが起動される。
・リソースグループの定義時に指定した逆順でリソースが停止される。


4. migration-threshold の設定


同一リソースの障害が何回発生した時にフェイルオーバーするかを指定できる。
リソースの失敗回数との比較結果により、対応方法が異なる。

・失敗回数が migration-threshold 未満: 当該リソースの再起動を実施
・失敗回数が migration-threshold 以上: フェイルオーバーを実施

(1) 設定

# pcs resource defaults migration-threshold=<count>


・デフォルト値: INFINITY (無限)


(2) 設定の確認

# pcs resource defaults


(3) 設定の削除

# pcs resource defaults migration-threshold=


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

AVG AntiVirus Free (on Windows)のバージョンアップ [Windows]

Windows 7 において、これまで AVG AntiVirus Free 2014 を使用してきた。
(ウイルス情報は、随時更新。)
特に問題はなかったが、以下の事象の発生によりバージョンアップすることになってしまった。
(非常に残念である。)

1. AVG AntiVirus Free 2017 への自動更新


[2017-08-10]
ウイルス情報の更新時に、AVG AntiVirus Free が自動更新された。
・バージョンは未確認である。
・AVG Zen が同時にインストールされる。

[2017-08-13]
最終的には、AVG AntiVirus Free 2017 (17.5.3022) に自動更新された。


2. AVG AntiVirus Free 2014 の再インストール


AVG AntiVirus Free 2014 の再インストールを試みたが、できなかった。

[2017-08-15]
AVG AntiVirus Free 2014 の再インストール
・サポートを終了したソフトと認識され、インストールできない。
・代わりに、AVG AntiVirus Free 2017 がネット経由でインストールされる。


3. AVG AntiVirus Free 2016 のインストール


AVG AntiVirus Free 2017 が使いづらいため、バージョンダウンを行った。

[2017-08-17]
AVG AntiVirus Free 2016 そのものには大きな問題はない。
ただし、最終的には、AVG AntiVirus Free 2017 に自動更新されてしまう。


4. AVG AntiVirus Free 2015 のインストール


下記の理由から実施していない。

・いずれ AVG AntiVirus Free 2017 に自動更新されると思われる。


5. AVG AntiVirus Free 2017 の使用感


下記の機能が削除(または他機能へリプレース)されたため、現時点では使いづらい。

・[高度な設定] ... 詳細項目の設定
・[レポート]、[履歴] ... 実行履歴(開始終了時刻/実行結果)の表示



nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Debian 9の'systemctl list-unit-files'の色表示がおかしい [Debian]

[ソフトウェアのバージョン]
systemd 232-25

1. 発生事象


'systemctl list-unit-files' の色表示がおかしい。

・状態の表示部分のみでなく、行全体が色付けされる。
・最終行で使用された色が画面の前景色となってしまう。

(補足)
Debian 8 (systemd 215-17+deb8u7) では発生しない。


2. 対処方法


(1) 上記事象の発生時に対応する場合


reset コマンドを実行する。


(2) 上記事象を発生させたくない場合


下記の内容で /usr/local/bin/systemctl を作成し、このスクリプトを使用する。
または、出力行数に関係なくページャーを使用(ページャーにパイプ連携)する。

#!/bin/bash
#
# patch for 'systemctl list-unit-files' (on Debian 9)
# - turn off colors
# - disable underline
#
# target version: systemd 232-25
#

/bin/systemctl "$@" | cat
exit "${PIPESTATUS[0]}"


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

GNOME-3からMATEへの移行 [CentOS]

CentOS 7.3 において GNOME-3(classic mode) を使用してきたが、使いづらいため MATE への移行を行った。
以下は、必要最小限のパッケージのみをインストールする方針で実施した手順である。
(正常に動作はするが、ワーニング・メッセージが出力される場合がある。)

# ソフトウェアのバージョン
・GNOME 3.14
・MATE 1.16

1. GNOME のアン・インストール
# yum remove gnome-*  ... (注1)

# rpm -qa | grep gnome
# rpm -e <GNOME 関連のパッケージ>  ... (注2)


(注1)
依存関係により、必要なパッケージがアン・インストールされることがある。
今回は、下記のパッケージがアン・インストールされたため、後で再インストールする。
・fvwm
・xlockmore
・virt-manager (KVM がインストールされている場合)

(注2)
wireshark-gnome はアン・インストールしない。


2. アン・インストールされたパッケージの再インストール

3. mate-desktop のインストール
# yum --enablerepo=epel install mate-desktop.x86_64

4. MATE 用の追加パッケージのインストール
# yum --enablerepo=epel install mate-settings-daemon.x86_64
# yum --enablerepo=epel install mate-applets.x86_64  ... (注1)
# yum --enablerepo=epel install mate-media.x86_64  ... (注2)
# yum --enablerepo=epel install mozo.noarch
# yum --enablerepo=epel install mate-icon-theme.noarch
# yum --enablerepo=epel install mate-themes.noarch


(注1) パネルにごみ箱を表示するため。
(注2) パネルに音量調整ツールを表示するため。


5. セッションの開始コマンドの変更


~/.xinitrc、~/.Xclients 等を編集する。

(変更前)
export GNOME_SHELL_SESSION_MODE=classic
exec gnome-session --session=gnome-classic

(変更後)
exec mate-session

[追記]


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。