You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto Zeus分支下ClamAV配方无法从镜像获取文件的解决咨询

解决Yocto Zeus分支中ClamAV病毒库下载失败的问题

问题原因

你遇到的错误是因为ClamAV 0.99.4属于旧版本,官方主镜像database.clamav.net已停止提供该版本对应的病毒库文件,同时网络请求出现响应异常,导致无法下载main.cvd。


可行解决办法

方案一:手动集成旧版病毒库

  • 找到适配ClamAV 0.99.4版本的病毒库文件:main.cvd、daily.cvd、bytecode.cvd
  • 在ClamAV配方的同级目录创建files/clamav-databases/文件夹,将下载好的病毒库文件放入其中
  • 修改clamav_0.99.4.bb配方,添加本地文件源:
    SRC_URI += "file://main.cvd \
                file://daily.cvd \
                file://bytecode.cvd"
    
  • 追加安装逻辑,将病毒库部署到镜像指定路径:
    do_install_append() {
        install -d ${D}${datadir}/clamav/
        install -m 0644 ${WORKDIR}/main.cvd ${D}${datadir}/clamav/
        install -m 0644 ${WORKDIR}/daily.cvd ${D}${datadir}/clamav/
        install -m 0644 ${WORKDIR}/bytecode.cvd ${D}${datadir}/clamav/
    }
    
  • 重新构建镜像,启动后ClamAV会直接使用本地病毒库,无需在线下载

方案二:指定兼容旧版本的镜像源

  • 自定义freshclam.conf配置文件,指定支持旧版本病毒库的镜像:
    1. 在配方同级files/目录创建freshclam.conf,写入:
      DatabaseMirror old.clamav.net
      
    2. 修改配方添加配置文件源:
      SRC_URI += "file://freshclam.conf"
      
    3. 在配方中添加配置文件安装逻辑:
      do_install_append() {
          install -d ${D}${sysconfdir}/clamav/
          install -m 0644 ${WORKDIR}/freshclam.conf ${D}${sysconfdir}/clamav/
      }
      
  • 注意:第三方镜像的稳定性需要自行验证,若该镜像停止服务则需更换其他源

方案三:升级ClamAV版本(适配Yocto Zeus)

  • 由于Zeus分支的meta-security层提供的ClamAV版本过旧,可手动升级配方到兼容的新版本(如0.103.x系列):
    1. 复制现有clamav_0.99.4.bb配方,修改版本号和源码下载链接,适配新版本源码包
    2. 解决编译依赖问题(如检查Zeus分支的glibc、openssl版本是否满足新版本ClamAV要求)
    3. 升级完成后,即可使用官方最新镜像源下载病毒库

内容的提问来源于stack exchange,提问作者dolrairom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 00:31:01