离线安装clamav

2023-11-01

一、简介

Clam AntiVirus是一个类UNIX系统上使用的反病毒软件包。ClamAV是免费而且开放源代码的防毒软件,软件与病毒码的更新皆由社群免费发布。目前ClamAV主要是使用在由Linux、FreeBSD等Unix-like系统架设的邮件服务器上,提供电子邮件的病毒扫描服务。ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除。

# 免费,重点是免费!!!

二、获取

1.下载

clamav官网:http://www.clamav.net/downloads 。 点击这里下载,推荐下载最新版本,这里使用的是:最新稳定版0.101.2 。

或者wget直接下载源码包。
wget http://www.clamav.net/downloads/production/clamav-0.101.2.tar.gz

2.解压

tar -zxvf clamav-0.101.2.tar.gz

三、安装

1.编译安装

进入到clamav目录下,看到configure文件后使用以下命令。
过程中存在一定的依赖关系,需要提前准备好相关的文件。离线状态下,安装软件过程中,总是存在各种依赖关系需要解决,着实费劲。提前做好yum源,是最优的解决办法。否则,就要逐步解决其对应的依赖关系。

cd clamav-0.101.2

./configure --prefix=/usr/local/clamav

make

make install

2.添加用户组和组成员

groupadd clamav
useradd -g clamav clamav

四、配置

1.创建日志目录和病毒库目录

mkdir -p /usr/local/clamav/logs
mkdir -p /usr/local/clamav/updata

2. 创建日志文件

touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log

3. 文件授权

修改文件的属主

chown clamav:clamav /usr/local/clamav/logs/clamd.log
chown clamav:clamav /usr/local/clamav/logs/freshclam.log
chown clamav:clamav /usr/local/clamav/updata

4. 修改配置文件

cp  /usr/local/clamav/etc/clamd.conf.sample /usr/local/clamav/etc/clamd.conf
cp /usr/local/clamav/etc/freshclam.conf.sample /usr/local/clamav/etc/freshclam.conf

编辑这两个配置文件内容
复制的两个新文件,几乎是全文注释,只保留了一个醒目的Example,所以也要注释掉Example,增加以下内容。见下文:

文件1:clamd.conf

vim /usr/local/clamav/etc/clamd.conf
#Example  //注释掉这一行
#添加以下内容
LogFile /usr/local/clamav/logs/clamd.log
PidFile /usr/local/clamav/updata/clamd.pid
DatabaseDirectory /usr/local/clamav/updata

文件2:freshclam.conf

vim /usr/local/clamav/etc/freshclam.conf
#Example  //注释掉这一行
#添加以下内容
DatabaseDirectory /usr/local/clamav/updata
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/updata/freshclam.pid

五、执行

1. 更新病毒库

离线环境是无法更新的,所以需要在线环境中更新。更新好了以后,将核心文件:daily.cvd 、main.cvd 、 Makefile 、 Makefile.am 、 Makefile.in等复制到病毒库文件夹下。一般为:
…/clamav-0.101.2/database
如果条件可以(可以连接互联网的情况下),使用命令直接更新病毒库。
更新病毒库的命令:

/usr/local/clamav/bin/freshclam

2.扫描

参数:
-r 递归扫描子目录
-i 只显示发现的病毒文件
–no-summary 不显示统计信息
用法:
--帮助
/usr/local/clamav/bin/clamscan --help     

--默认扫描当前目录下的文件,并显示扫描结果统计信息            
/usr/local/clamav/bin/clamscan

--扫描当前目录下的所有目录和文件,并显示结果统计信息                    
/usr/local/clamav/bin/clamscan -r 

--扫描data目录下的所有目录和文件,并显示结果统计信息                  
/usr/local/clamav/bin/clamscan -r /data  

--扫描data目录下的所有目录和文件,只显示有问题的扫描结果            
/usr/local/clamav/bin/clamscan -r --bell -i /data  

--扫描data目录下的所有目录和文件,不显示统计信息  
/usr/local/clamav/bin/clamscan --no-summary -ri /data 

3.杀毒

所谓的杀毒,就是将扫描出来的文件删除,就完成了杀毒工作。
(以下命令均扫描当前目录下的文件和目录)

/usr/local/clamav/bin/clamscan -r --remove #删除扫描过程中的发现的病毒文件
/usr/local/clamav/bin/clamscan -r --bell -i #扫描过程中发现病毒发出警报声
/usr/local/clamav/bin/clamscan -r --move [路径] #扫描并将发现的病毒文件移动至对应的路径下
/usr/local/clamav/bin/clamscan -r --infected -i #扫描显示发现的病毒文件,一般文件后面会显示FOUND

使用第一条命令的时候要特别注意,如果病毒感染力系统的核心区域,该命令直接会删除系统核心文件,严重者会导致系统崩溃,所以要慎重,最好是先确认好病毒的位置后,再执行删除命令。

4. 自动定时更新和杀毒

一般使用计划任务,让服务器每天定时更新和定时杀毒,保存杀毒日志。设置crontab定时任务。

1  3  * * *          /usr/local/clamav/bin/freshclam --quiet
20 3  * * *          /usr/local/clamav/bin/clamscan  -r /home  --remove -l /var/log/cla

5. 案例

使用命令扫描

/usr/local/clamav/bin/clamscan -r

结果如下:

----------- SCAN SUMMARY -----------     #扫描摘要
Known viruses: 6377069                   #已知病毒:6377069
Engine version: 0.99.2                   #引擎版本:0.92.2
Scanned directories: 18186               #扫描目录:18186
Scanned files: 80762                     #扫描文件:80762
Infected files: 46                        #感染档案:46
Total errors: 4253                       #总误差:4253
Data scanned: 4717.23 MB                 #数据扫描:4717.23兆字节
Data read: 9475.00 MB (ratio 0.50:1)     #数据读取:9475MB(比0.50∶1)
Time: 1939.667 sec (32 m 19 s)           #时间:1939.667秒(32分19秒)
--------------------- 

六、小结

1、离线环境下的使用

①在一台在线的服务器上,按照上述步骤,安装好clamav软件;
②使用以下命令获取最新的病毒库;

/usr/local/clamav/bin/freshclam

③打开对应位置,将病毒库传输到本地;

cd /usr/local/clamav/update/

④将病毒库上传到离线环境中,放置到对应的文件夹底下;

⑤完成以上步骤就可以在离线服务器上扫描了。

2、离线安装clamav时的依赖关系

依赖关系主要是gcc和g++,提前安装好就行。

yum -y install gcc
yum -y install gcc-c++

离线环境中,可以将两个安装包上传到系统中,然后分别编译安装。


./configure

make

make install

可以本地制作一个yum源,使用yum解决依赖关系吧!时间充足的话,可以慢慢琢磨。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

离线安装clamav 的相关文章

  • 【开发工具-Guava】新集合类型

    1 概述 转载 新集合类型 Guava引入了很多JDK没有的 但我们发现明显有用的新集合类型 这些新类型是为了和JDK集合框架共存 而没有往JDK集合抽象中硬塞其他概念 作为一般规则 Guava集合非常精准地遵循了JDK接口契约 2 Mul
  • 【学习笔记】深入浅析BIO、NIO、AIO

    BIO NIO AIO Java的I O演进之路 I O模型 就是用什么样的通道或者说是通信模式和架构进行数据的传输和接收 很大程度上决定了程序通信的性能 Java共支持3种网络编程的I O模型 BIO NIO AIO 实际 通行需求下 要
  • electron-vue 使用remote 模块 进行多个子窗口的关闭

    remote 模板在13版本后禁用了 至于我为什么用它 是因为一个功能的原因 多个子窗口可以进行对应的操作事件后单独关闭当前的某一个子窗口 1 先进行下载 npm yarn install save electron remote 2 需要
  • Python 代码执行超时判断

    通过 signal 信号处理函数 import signal 自定义异常类 继承自BaseException 这样Exception就捕获不到 class TimeoutException BaseException pass 超时信号函数
  • PCL 由点云生成深度图像

    前言 在电脑上的pcl1 8 0版本可能是由于版本问题 无法在窗口显示深度图像 但是深度图像确实是生成了的 可以通过一个API将深度图像保存为一个png格式的图片然后查看 该函数如下 save rangeImage 相关的头文件 inclu
  • BDCN论文学习

    1 Dilated Convolutions 图像语义分割最核心的两个地方是用pooling下采样减小图像尺寸增大感受野 另一个是用deconv反卷积上采样增大图像尺寸 是用pooling可以增大感受野但是会带来信息损失 若是不用pooli
  • java正则表达式匹配数字和小数点,快来收藏!

    1 为什么要使用分布式锁 使用分布式锁的目的 无外乎就是保证同一时间只有一个客户端可以对共享资源进行操作 1 1举一个很长的例子 系统 A 是一个电商系统 目前是一台机器部署 系统中有一个用户下订单的接口 但是用户下订单之前一定要去检查一下
  • 扫普通链接二维码打开小程序

    一 启用扫描二维码打开小程序 登录小程序后台 进入 开发 开发设置 扫普通链接二维码打开小程序 启用功能 二 配置流程 二维码规则 指的是放置校验文件的路径 同一个域名可为不同小程序创建不同路径存放校验文件 前缀占用规则 选择占用则其他帐号

随机推荐

  • python的基本语法(命令提示符、赋值、标识符、注释、语法规则、内建函数和python应用领域)

    python交互式命令行提示符 gt gt gt print hello gt gt gt 主要提示符 world 续行符 hello world 次要提示符 表示上一条语句没有结束 python赋值 直接赋值 gt gt gt a 1 连
  • html表单验证数字,iview表单验证数字

    验证输入字符串必须为数字 html js exchangeIntegral required true message 请输入兑换积分 trigger blur type string pattern d message 请输入数字 tri
  • 干货!自动驾驶场景下的多目标追踪与实例分割

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 多目标跟踪和分割 MOTS 需要将视频中给定的类别的物体进行检测 分类 跟踪和像素级分割 在其重要的应用场景自动驾驶中 复杂的路况 市区内密集且相似的车辆和行人 以及对低功耗低延
  • sqli-labs-master第17关

    前言 这一关变化还是挺大的 让我们修改密码 第17关 http 192 168 89 134 sqli labs master Less 17 到这里我们还是毫无头绪 只能看源代码 从源码中可以看到 接收到用户POST的uname和pass
  • python猜数字游戏编程、直到猜对为止显示猜了几次_python编写猜数字小游戏

    python编写猜数字小游戏 本文实例为大家分享了python编写猜数字小游戏的具体代码 供大家参考 具体内容如下 import random secret random randint 1 30 guess 0 tries 0 print
  • QCC300x笔记(9) -- 从一个客户问题说说传统蓝牙的AVRCP

    哈喽大家好 这是该系列博文的第九篇 篇 lt lt 系列博文索引 快速通道 gt gt 写在前面 客户反馈连接苹果手机的蓝牙 播放音乐时 会频繁上报歌词 1 客户使用苹果手机 播放音乐后会频繁上报歌词 一句歌词上报一次 通过ID3事件在AL
  • 更改conda镜像源

    show channel urls true channel alias http mirrors tuna tsinghua edu cn anaconda default channels http mirrors tuna tsing
  • 分布式介绍

    虽然本人在前面也写过好几篇分布式系统相关的文章 主要包括CAP理论 分布式存储与分布式事务 但对于分布式系统 并没有一个跟清晰的概念 分布式系统涉及到很多的技术 理论与协议 很多人也说 分布式系统是 入门容易 深入难 我之前的学习也只算是管
  • Django/Flask/Tornado三大web框架性能分析

    写在前面 本文的数据涉及到之前遇到过的问题 大概一次 http 请求到收到响应需要多少时间 这个问题在实际工作中与框架有比较大的关系 因此特别就框架的性能做了一次分析 这里使用之前的一个报告数据 Python s Web Framework
  • ubuntu安装openpose

    一 使用Git直接下载openposegit clone https github com CMU Perceptual Computing Lab openpose git二 下载各种模型文件 比较大 可能需要几分钟到几个小时不等 看网速
  • STM32 电机教程 10 - BLDC 6 步方波控制

    前言 无刷直流 Brushless Direct Current BLDC 电机是一种正快速普及的电机类型 它可在家用电器 汽车 航空航天 消费品 医疗 工业自动化设备和仪器等行业中使用 正如名称指出的那样 BLDC 电机不用电刷来换向 而
  • 关于cocos2dx,多个图块集下的CCTMXTiledMap要注意的一个小地方

    转自 http miraklelhj i sohu com blog view 227380352 htm 最近在开发 三国 的战场地图 为了提高开发速度 果断使用CCTMXTiledMap拼接地图 美术画好图块后 再用TileMap自带的
  • 低压差稳压器--AMS1117芯片简介 结构

    低压差稳压器 AMS1117芯片简介 结构 从内部框图可以看出 ASM1117提供电流限制和热保护 TSD 以防环境温度造成过高的结温 电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在 1 以内 ADJ引脚是可调整电压引脚 用来接入
  • Unity中的屏幕坐标:ComputeScreenPos/VPOS/WPOS

    Unity中的屏幕坐标 ComputeScreenPos VPOS WPOS Unity中的屏幕坐标 ComputeScreenPos VPOS WPOS 1 通过 VPOS WPOS 语义获取 VPOS 是 HLSL 中 对 屏幕 坐标
  • UNI-APP_subNVue原生子窗口使用,web-view层级问题解决

    subNVues文档 app subnvues文档 subNVues开发指南 需求 在pages cloud control index页面使用subNVue原生子窗口 1 pages文件配置 app plus bounce none su
  • 刷脸支付将引领未来让众多对其寄予厚望

    无现金时代为我们带来了诸多便利 而随着这两年刷脸支付的普及 无手机时代也将随之来临 引领一个支付新时代 刷脸支付服务商商们整装待发 等候刷脸支付时代的到来 大家都说刷脸支付是行业新风口 刷脸支付将引领未来 让众多对其寄予厚望 刷脸支付之所以
  • 小乌龟TortoiseGit设置中文模式及设置失败的解决方案

    先安装好小乌龟TortoiseGit 64位 32位均可汉化 1 先去官网下载TortoiseGit Downloads页面 点击进入官网链接 下载完成后就可以进行安装了 2 下载TortoiseGit的中文安装包 PS 32位和64位都行
  • 关于mysql突然启动不了的解决方案?

    下午我用idea写项目的时候因为需要连接数据库 所以打开数据源mysql选项发现自己的本地数据库怎么都打不开了 花费了半个小时去修理这个问题 我的问题与解决如下 1 问题描述 cmd管理员窗口输入net start mysql 报出拒绝启动
  • 剑指offer——面试题49:不使用atoi库函数实现把字符串转换成整数

    下面是参考代码 enum Status kValid 0 kInvalid int g nStatus kValid int StrToInt const char str g nStatus kInvalid long long num
  • 离线安装clamav

    一 简介 Clam AntiVirus是一个类UNIX系统上使用的反病毒软件包 ClamAV是免费而且开放源代码的防毒软件 软件与病毒码的更新皆由社群免费发布 目前ClamAV主要是使用在由Linux FreeBSD等Unix like系统