linux 编译安装clamav

贴主的机器,被不明真相的运维同学回收了几次,被编译clamav折磨几次以后留下一篇文档描述如何在新的机器上编译安装clamav

准备工作:一台通公网(更新病毒库使用)的centos系统的机器

第一步官网下载clamav源码,然后转移到目标机器上,这里使用的是当前最新的1.3.1版本

(你也可以选择直接下载安装包进行安装,我这里因为要适配低版本的机器,所以都是编译安装)

https://www.clamav.net/downloads

将源码导入目标机器 

首先更新软件包

yum update

下载工具包

yum install -y  gcc make pkg-config python3 python3-pip python3-pytest valgrind

下载依赖

yum install -y  gcc make pkg-config python3 python3-pip python3-pytest valgrind

升级cmake版本(clamav 最新版要求cmake版本3.14 以上,根据实际情况,如果本地版本过低iu需要升级)这里我直接下载编译好的二进制文件

Download CMake

下载好上传到目标机器

依次执行

mkdir /opt/cmake
sh cmake-3.29.5-linux-x86_64.sh --prefix=/opt/cmake --skip-license

执行完毕后将cmake路径加入环境变量中
 

export PATH=/opt/cmake/bin:$PATH

source ~/.bashrc

以上步骤完成后,可以开始安装clamav

以下命令依次执行

tar -xvf clamav-1.3.1.tar.gz
cd clamav-1.3.1/
mkdir build && cd build

cmake .. -G Ninja \
-D CMAKE_BUILD_TYPE=Debug \
-D OPTIMIZE=OFF \
-D CMAKE_INSTALL_PREFIX=`pwd`/install \
-D ENABLE_EXAMPLES=ON \
-D ENABLE_STATIC_LIB=ON \
-D ENABLE_SYSTEMD=OFF
cmake --build .
ctest --verbose
cmake --build . --target install

 cmake 执行过程冲会出现多个依赖,逐个解决,我这里列出我这环境缺少的依赖以及解决的方法

ps:我这里用的是阿里的国内的yum源

CMake Error at /opt/cmake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Libcheck (missing: LIBCHECK_INCLUDE_DIR LIBCHECK_LIBRARY)
安装以下依赖解决
yum install check
yum install check-devel

CMake Error at /FindPackageHandleStandardArgs.cmake:230 (message):Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR)
安装以下依赖解决
yum install openssl-devel 

CMake Error at /opt/cmake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR)
安装以下依赖解决
yum install bzip2-devel

CMake Error at /opt/cmake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
安装以下依赖解决
yum install libxml2-devel

CMake Error at /opt/cmake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PCRE2 (missing: PCRE2_LIBRARIES PCRE2_INCLUDE_DIR)
安装以下依赖解决
yum install pcre2-devel

Make Error at /opt/cmake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find JSONC (missing: JSONC_LIBRARIES JSONC_INCLUDE_DIRS)
安装以下依赖解决
yum install json-c-devel.x86_64 

Make Error at /opt/cmake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
安装以下依赖解决
yum install curl-devel

CMake Error at cmake/FindCURSES.cmake:143 (message):
Unable to find ncurses or pdcurses
安装以下依赖解决
yum install ncurses-devel

CMake Error at /opt/cmake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Milter (missing: Milter_LIBRARY Milter_INCLUDE_DIR)
安装以下依赖解决
yum install sendmail-devel

进入安装目录下的 bin目录:

cd install/bin/

创建freshclam配置文件:

cp ../etc/freshclam.conf.sample ../etc/freshclam.conf

打开freshclam.conf,加#注释掉Example那一行

创建ClamAV用户:

groupadd clamav && useradd -g clamav clamav && id clamav

修改目录权限:

chmod 777 install/share/clamav/


下载病毒库:./freshclam

扫描目录下是否有病毒文件:./clamscan ../etc/,可以看到,在/etc目录下放的一个测试样本文件,被ClamAV成功给扫描出来了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值