Linux怎么安装ClamAV杀毒_Linux ClamAV病毒扫描安装配置【实战】

梦枫酱_9257

梦枫酱_9257

2026-03-29

709人浏览

原创

优先使用系统包管理器安装clamav(ubuntu/debian用apt,centos/rhel用yum+epel),再源码编译(需开发工具、configure指定路径)、初始化病毒库(freshclam)、启动clamd服务(systemctl enable/start clamd@scan)、最后执行clamscan或clamdscan扫描。

linux怎么安装clamav杀毒_linux clamav病毒扫描安装配置【实战】

一、使用系统包管理器快速安装

对于大多数生产环境中的Linux服务器,优先采用发行版官方仓库提供的ClamAV包进行安装,可自动解决依赖关系并简化后续服务管理。该方式适用于Ubuntu/Debian及CentOS/RHEL等主流系统,部署速度快且稳定性高。

1、在Ubuntu或Debian系统中,执行以下命令更新软件源并安装核心组件:

2、运行sudo apt update刷新本地软件包索引。

3、执行sudo apt install -y clamav clamav-daemon clamdscan安装引擎、守护进程与扫描客户端。

4、安装完成后,系统将自动创建clamav用户,并初始化clamd服务配置文件。

5、在CentOS 7或RHEL 7系统中,需先启用EPEL扩展源:

6、运行sudo yum install -y epel-release启用EPEL仓库。

7、执行sudo yum install -y clamav clamav-update clamav-server安装完整套件。

8、安装后需手动解除/etc/freshclam.conf和/etc/clamd.d/scan.conf中以Example开头的注释行,否则服务无法启动。

二、通过源码编译安装(推荐企业级部署)

当系统仓库版本过旧(如低于ClamAV 1.0.0),或需启用特定功能(如--enable-milter邮件接口)、自定义安装路径时,应选择源码编译安装。该方式可精确控制编译参数,规避老旧glibc或内存限制引发的兼容性问题。

1、安装基础编译依赖:sudo yum groupinstall "Development Tools" -y(CentOS)或sudo apt install -y build-essential libssl-dev libxml2-dev zlib1g-dev(Ubuntu)。

2、下载最新稳定版源码包:wget https://www.clamav.net/downloads/production/clamav-1.0.1.tar.gz。

3、解压并进入源码目录:tar xzvf clamav-1.0.1.tar.gz && cd clamav-1.0.1。

4、执行配置脚本,指定安装前缀与systemd单元路径:./configure --prefix=/opt/clamav --with-systemdsystemunitdir=/etc/systemd/system。

5、编译并安装:make -j$(nproc) && sudo make install。

6、创建运行用户与日志目录:sudo useradd -s /bin/false clamav && sudo mkdir -p /opt/clamav/logs。

7、设置日志文件权限:sudo chown clamav:clamav /opt/clamav/logs && sudo chmod 755 /opt/clamav/logs。

三、病毒库初始化与首次更新

ClamAV安装后必须完成病毒数据库的首次下载,否则所有扫描操作均会失败。freshclam工具负责从远程镜像同步CVD/CLD格式的病毒特征库,其行为受/etc/clamav/freshclam.conf或/etc/freshclam.conf控制。

1、确认配置文件中DatabaseDirectory指向可写路径,例如/var/lib/clamav。

2、检查DatabaseMirror配置项是否包含至少一个有效镜像地址,如database.clamav.net或db.us.clamav.net。

3、执行sudo freshclam触发手动更新,输出中出现ClamAV update process started at ...及Database updated即表示成功。

4、若提示ERROR: Can't open /var/lib/clamav/main.cvd,说明/var/lib/clamav目录不存在或权限不足,需执行sudo mkdir -p /var/lib/clamav && sudo chown clamav:clamav /var/lib/clamav。

5、对于离线环境,可预先在联网节点执行freshclam --datadir=/path/to/mirror --update-db构建本地镜像,再通过HTTP服务分发。

四、启动守护进程并验证服务状态

clamd是ClamAV的常驻后台服务,提供高性能扫描接口,clamdscan命令依赖其运行。启用该服务可显著提升重复扫描效率,并支持集成至Web应用或自动化流水线。

1、确认/etc/clamd.d/scan.conf中LocalSocket路径为/var/run/clamd.scan/clamd.sock,且User clamav已取消注释。

2、创建socket目录并赋权:sudo mkdir -p /var/run/clamd.scan && sudo chown clamav:clamav /var/run/clamd.scan。

3、重载systemd配置:sudo systemctl daemon-reload。

4、启动服务:sudo systemctl start clamd@scan。

5、设为开机自启:sudo systemctl enable clamd@scan。

6、检查服务状态:sudo systemctl status clamd@scan,输出中显示active (running)且无报错即为正常。

7、执行sudo -u clamav clamdscan --fdpass /etc/passwd测试连接,返回/etc/passwd: OK表示守护进程响应正常。

五、执行基础病毒扫描与结果处理

ClamAV提供两种扫描模式:clamscan为单次进程式扫描,适合临时检查;clamdscan为客户端-服务端模式,依赖clamd守护进程,性能更优。两者均支持递归、日志记录与自动处置动作。

1、对/tmp目录执行快速扫描并仅显示感染文件:clamscan -r -i /tmp。

2、扫描/home并自动删除确认为恶意的文件:sudo clamscan -r --remove /home。

3、使用clamdscan对/var/www/html进行高速扫描,结果输出到日志:sudo clamdscan -r /var/www/html -l /var/log/clamav/webapp-scan.log。

4、扫描时将感染文件移动至隔离区而非直接删除:sudo clamdscan -r /opt/app --move=/tmp/quarantine -l /var/log/clamav/isolate.log。

5、若扫描输出中出现Infected files: X,需立即核查对应路径下的文件,重点关注文件修改时间、属主异常及不可信来源。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

949

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2720

5

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3108

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4649

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3729

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

426

15

discuz database error怎么解决
discuz database error怎么解决

discuz database error的解决办法有:1、检查数据库配置;2、确保数据库服务器正在运行;3、检查数据库表状态;4、备份数据;5、清理缓存;6、重新安装Discuz;7、检查服务器资源;8、联系Discuz官方支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.20

795

5

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2545

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3821

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习