系统环境信息
-
操作系统: 银河麒麟高级服务器版 V10 (Halberd)
-
系统架构: ARM64 (aarch64)
-
包管理器: yum (基于Red Hat系列)
-
用户权限: root
安装步骤
1. 系统信息检查
# 查看系统版本
cat /etc/os-release
# 查看系统架构
uname -m
2. 更新系统软件包
yum update -y
3. 搜索ClamAV软件包
yum search clamav
可用的ClamAV组件:
-
clamav- 主程序(终端用户工具) -
clamav-data- 病毒签名数据 -
clamav-update- 自动更新程序 -
clamav-filesystem- 文件系统结构 -
clamd- ClamAV守护进程
4. 安装ClamAV核心组件
yum install -y clamav clamav-data clamav-update clamd
5. 验证安装
# 检查ClamAV版本
clamscan --version
freshclam --version
6. 更新病毒库
freshclam
更新结果示例:
-
daily.cvd: 2,075,827个病毒签名
-
main.cvd: 6,647,427个病毒签名
-
bytecode.cld: 83个字节码签名
7. 测试扫描功能
# 扫描临时目录
clamscan -r /tmp --bell -i
ClamAV守护进程配置
8. 检查服务状态
systemctl list-unit-files | grep clam
9. 查看配置文件
ls -la /etc/clamd.d/
10. 修复配置文件
ClamAV配置文件位于 /etc/clamd.d/scan.conf,需要进行以下修改:
# 注释掉Example行
sed -i '8s/^#Example/Example/' /etc/clamd.d/scan.conf
sed -i '8s/^Example/#Example/' /etc/clamd.d/scan.conf
# 启用LocalSocket
sed -i '96s/^#LocalSocket/LocalSocket/' /etc/clamd.d/scan.conf
# 修正用户名
sed -i '219s/User clamscan/User clamav/' /etc/clamd.d/scan.conf
11. 创建必要目录
mkdir -p /run/clamd.scan
chown clamav:clamav /run/clamd.scan
12. 启动ClamAV守护进程
# 清理旧的socket文件
rm -f /run/clamd.scan/clamd.sock
# 启动服务
systemctl start clamd@scan
# 检查服务状态
systemctl status clamd@scan
# 设置开机自启
systemctl enable clamd@scan
常用ClamAV命令
基本扫描命令
# 扫描单个文件
clamscan /path/to/file
# 递归扫描目录
clamscan -r /path/to/directory
# 只显示感染文件
clamscan -r /path/to/directory -i
# 扫描并移动感染文件
clamscan -r /path/to/directory --move=/quarantine/path
# 扫描并删除感染文件
clamscan -r /path/to/directory --remove
病毒库管理
# 手动更新病毒库
freshclam
# 查看病毒库信息
freshclam --list-mirrors
服务管理
# 启动服务
systemctl start clamd@scan
# 停止服务
systemctl stop clamd@scan
# 重启服务
systemctl restart clamd@scan
# 查看服务状态
systemctl status clamd@scan
# 设置开机自启
systemctl enable clamd@scan
故障排除
常见问题及解决方案
- 服务启动失败 - "Please define server type"
- 检查配置文件中的#Example行是否被注释
- 确保LocalSocket或TCPSocket配置已启用
- 权限被拒绝错误
- 检查socket目录权限:ls -la /run/clamd.scan/
- 确保配置文件中的用户名正确:grep "^User" /etc/clamd.d/scan.conf
- Socket文件被占用
- 检查运行的进程:ps aux | grep clamd
- 删除旧的socket文件:rm -f /run/clamd.scan/clamd.sock
- 手动测试clamd
```bash
clamd -c /etc/clamd.d/scan.conf
```
配置文件关键设置
主要配置文件:/etc/clamd.d/scan.conf
关键配置项:
-
#Example- 必须注释掉 -
LocalSocket /run/clamd.scan/clamd.sock- 本地socket路径 -
User clamav- 运行用户 -
LogSyslog yes- 系统日志记录
总结
ClamAV在银河麒麟操作系统上的安装主要包括:
-
安装核心软件包
-
配置守护进程
-
修复配置文件中的用户和socket设置
-
启动并验证服务