一、准备工作(在可联网的ARM设备/交叉编译环境操作)
1. 下载ARM版源码包
Bash
wget https://www.clamav.net/downloads/production/clamav-1.2.1.tar.gz
2. 下载离线病毒库(在联网设备操作)
Bash
mkdir virus_db && cd virus_db wget https://database.clamav.net/main.cvd wget https://database.clamav.net/daily.cvd wget https://database.clamav.net/bytecode.cvd
3. 解决依赖项(ARM架构需源码编译依赖)
关键依赖包:
zlib
openssl
libcurl
libxml2
libmilter
(Sendmail支持)
Bash
# 在联网的ARM设备下载依赖源码 apt-get source zlib1g openssl libcurl4 libxml2
提示:若目标设备已安装基础依赖则跳过此步1
⚙️ 二、ARM平台编译安装(离线环境)
1. 解压源码并配置
Bash
tar xzvf clamav-1.2.1.tar.gz cd clamav-1.2.1 ./configure --prefix=/usr/local/armav \ --disable-clamonacc \ --host=arm-linux-gnueabihf # 根据设备架构调整
✓ 重点参数:
--host
:指定ARM交叉编译工具链 (如树莓派用armv7l-linux-gnueabihf
)--prefix
:自定义安装目录避免污染系统
2. 编译与安装
Bash
make -j$(nproc) sudo make install
3. 部署病毒库
Bash
sudo mkdir -p /usr/local/armav/share/clamav sudo cp /path/to/virus_db/*.cvd /usr/local/armav/share/clamav/ sudo chown -R clamav:clamav /usr/local/armav/share/clamav # 必须赋权!
🧪 三、验证与配置
1. 环境变量配置
Bash
echo 'export PATH="/usr/local/armav/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
2. 测试扫描能力
Bash
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-TEST-SIGNATURE$H+H*' > test.txt clamscan -d /usr/local/armav/share/clamav test.txt # 应检测到威胁
3. 创建服务文件(守护进程)
新建文件 /etc/systemd/system/clamav-daemon.service
:
ini
[Unit] Description=ClamAV Daemon After=network.target [Service] ExecStart=/usr/local/armav/sbin/clamd -c /usr/local/armav/etc/clamd.conf User=clamav Restart=on-failure [Install] WantedBy=multi-user.target
Bash
sudo systemctl daemon-reload sudo systemctl start clamav-daemon
⚠️ 四、ARM平台常见问题解决
- 动态库缺失
Bash
# 查找缺失库 ldd /usr/local/armav/bin/clamscan # 手动拷贝.so文件到/usr/lib/arm-linux-gnueabihf/
- 内存不足报错(小内存ARM设备)
编辑/usr/local/armav/etc/clamd.conf
:
conf
MaxFileSize 50M # 限制扫描文件大小 MaxScanSize 150M # 降低内存占用
- 病毒库手动更新
Bash
# 定期从联网设备下载新.cvd文件 scp *.cvd user@arm-device:/usr/local/armav/share/clamav/
📍 关键注意事项
- 硬件兼容性:确认设备架构 (
uname -m
),树莓派4需选armv7/armv8
2 - 性能影响:ARM设备扫描建议避开高峰时段
- 版本验证:从ClamAV GPG Key校验源码包签名