準備工作(在外網機器操作)
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
以上步驟確保在 完全無網絡 環境下完成安裝和病毒庫初始化。