Clamscan 被杀死

Clamscan 被杀死

安装 clamav-daemon 后,clamscan 似乎在显示病毒数据库已超过 7 天的警告后,就给自己发出了 SIGKILL(退出状态 137)。没有打印扫描摘要。如果我在不使用“sudo”的情况下运行 clamscan,在命令完成之前还会显示一行仅包含“Killed”的内容,并产生以下输出:

LibClamAV Warning: **************************************************
LibClamAV Warning: ***  The virus database is older than 7 days!  ***
LibClamAV Warning: ***   Please update it as soon as possible.    ***
LibClamAV Warning: **************************************************
Killed

无论被扫描的目录仅有一个空文件还是仅有一个 eicar.com.txt 文件,都会发生这种情况。

还有其他问题,例如,我无法成功运行 freshclam。下载完成后,它也会被 SIGKILL 终止,但退出状态为 55。

/var/lib/clamav 目录包含以下文件:

-rw-r--r-- 1 clamav clamav    75879 May  4 21:41 bytecode.cvd
-rw-r--r-- 1 clamav clamav 45006790 May  4 21:41 daily.cvd
-rw-r--r-- 1 clamav clamav 64720632 May  4 21:40 main.cvd
-rw------- 1 clamav clamav      884 May  5 12:47 mirrors.dat

我正在运行 Ubuntu 14.04.2 和 ClamAV 0.98.7。

以防万一,我还安装了 unrar 包,但没有安装 rar 包。当使用 -v --debug 选项运行 clamscan 时,第一条消息是关于未找到 libclamunrar_iface,最后一条消息是:

LibClamAV debug: Cannot dlopen libclamunrar_iface: file not found - unrar support unavailable

这些是唯一表明可能存在问题的消息。稍后,还会有消息:

LibClamAV debug: daily.hdb loaded
LibClamAV debug: daily.hdu skipped

接下来是有关增加哈希表的消息,最后显示的消息是:

LibClamAV debug: hashtab.c:Growing hashtable 0x7fedab861150, because it has exceeded maxfill, old size:16384
LibClamAV debug: hashtab.c: new capacity: 32768
LibClamAV debug: Table 0x7fedab861150 size after grow:32768
LibClamAV debug: Ignoring signature Win.Trojan.5243200
LibClamAV debug: Ignoring signature Win.Trojan.Agent-533719
LibClamAV debug: hashtab.c:Growing hashtable 0x7fedab861150, because it has exceeded maxfill, old size:32768
LibClamAV debug: hashtab.c: new capacity: 65536
LibClamAV debug: Table 0x7fedab861150 size after grow:65536
LibClamAV debug: Ignoring signature Win.Worm.Chir-1906
Killed

答案1

在创建新的低端 EC2 实例后,我遇到了类似的问题。

结果是,在它加载所有签名之前,内存就已经耗尽了。

作为参考,free -m扫描前显示可用 RAM 约为 300mb,因此如果您有类似的结果,则这可能是问题所在。

我通过添加交换文件解决了这个问题。以下是一份不错的指南:

如何在 Ubuntu 14.04 上添加交换

答案2

我认为你的服务器的交换空间已用完。运行以下命令清除 RAM 缓存和 SWAP

sync; echo 1 > /proc/sys/vm/drop_caches; echo 2 > /proc/sys/vm/drop_caches

echo 1 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'

更多信息:

  1. 仅清除 PageCache:

    sync; echo 1 > /proc/sys/vm/drop_caches

  2. 清除 dentry 和 inode。

    sync; echo 2 > /proc/sys/vm/drop_caches

  3. 清除 PageCache、dentry 和 inode。

    sync; echo 3 > /proc/sys/vm/drop_caches

在您知道自己在做什么之前,不建议在生产中使用上面的第三个选项“...echo 3 >”,因为它将清除 PageCache、dentry 和 inode。

然后我就能表演clamscan -r -i -v /

相关内容