准备工作(在外网机器操作)
1. 下载 ClamAV RPM 包及依赖
mkdir -p ~/clamav-offline/packages
cd ~/clamav-offline/packages# 使用 yumdownloader 下载所有依赖包(需提前安装 yum-utils)
sudo dnf install yum-utils -y
sudo yumdownloader --resolve clamav clamav-update clamd
# 此命令会下载 ClamAV 主程序、病毒库更新工具和守护进程的所有依赖包
2. 下载病毒库文件(CVD)
mkdir -p ~/clamav-offline/virusdb
cd ~/clamav-offline/virusdb# 手动下载最新病毒库文件(从有网络的设备下载)
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd
3. 打包所有文件
cd ~/clamav-offline
tar -czvf clamav-offline.tar.gz packages/ virusdb/
# 将打包后的文件通过 U盘/内网传输工具 复制到目标内网机器
内网机器操作
1. 上传并解压离线文件
# 假设文件上传到 /root 目录
tar -xzvf /root/clamav-offline.tar.gz -C /root/
2. 手动安装 RPM 包
cd /root/clamav-offline/packages# 安装所有 RPM 包(需按依赖顺序,若报错则手动调整安装顺序)
sudo rpm -ivh *.rpm --nodeps --force
# --nodeps --force 强制忽略依赖(若已确定依赖完整)
3. 手动部署病毒库
# 创建病毒库目录并复制文件
sudo mkdir -p /var/lib/clamav
sudo cp /root/clamav-offline/virusdb/*.cvd /var/lib/clamav/# 设置权限
sudo chown -R clamav:clamav /var/lib/clamav
4. 关闭自动更新配置
sudo sed -i 's/^#Example/Example/' /etc/freshclam.conf
# 启用示例配置(防止服务尝试联网更新)
sudo sed -i 's/^OnUpdateExecute/#OnUpdateExecute/' /etc/freshclam.conf
# 注释掉自动更新命令
5. 启动 ClamAV 服务
sudo systemctl enable clamd@scan --now
6. 验证安装
clamscan --version
# 输出版本信息即成功
clamscan -r /home
# 测试扫描(无报错即可)
后续病毒库更新(离线更新)
-
外网定期下载最新 CVD 文件
重复 准备工作-步骤2,下载最新main.cvd
,daily.cvd
,bytecode.cvd
。 -
内网替换病毒库
sudo rm -f /var/lib/clamav/*.cvd sudo cp /path/to/new-cvd-files/*.cvd /var/lib/clamav/ sudo chown clamav:clamav /var/lib/clamav/*
注意事项
-
依赖问题
若安装 RPM 时提示缺少依赖,需在外网机器使用yumdownloader
补充下载对应依赖包。 -
SELinux 限制
如果系统启用 SELinux,执行以下命令:sudo restorecon -Rv /var/lib/clamav
-
日志排查
若服务启动失败,检查日志:journalctl -u clamd@scan
以上步骤确保在 完全无网络 环境下完成安装和病毒库初始化。