命令行手動安裝Clamav

字號+ 編輯: 种花家 修訂: 面向ICU 來源: CSDN博客 2023-09-11 我要說兩句(0)

一步一步講解如何使用命令行而非yum來手動安裝clamav

先主要說說centos下的安裝

第一步:Clamav下載

http://www.clamav.net/downloads

wget http://www.clamav.net/downloads/production/clamav-0.99.2.tar.gz

第二步:創建clamav用戶和組

groupadd clamav   #創建clamav組
useradd -g clamav clamav #創建clamav用戶並加入clamav組

第三步:編譯安裝

tar -xf clamav-0.99.2.tar.gz
cd clamav-0.99.2

安裝依賴包

yum -y install gcc openssl openssl-devel
./configure--prefix=/usr/local/clamav
make&&make install

關於debian下的安裝,很不幸debian會經常報error: Your OpenSSL installation is misconfigured or missing的錯誤

解決方法就是用apt-get安裝:

先更新一下apt-get

apt-get update
apt-get upgrade

安裝守護進程和殺毒本體

apt-get install clamav clamav-daemon

如果運行freshclam時出現日志文档被佔用的報錯,無法啓動clamav的更新程序,把日志rm -f刪了就行

第四步:配置

mkdir /usr/local/clamav/logs  #(日志存放目錄)
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
mkdir /usr/local/clamav/updata  #(clanav 病毒庫目錄)
chown -R root.clamav /usr/local/clamav/
chown -R clamav.clamav /usr/local/clamav/updata/
chown clamav.clamav /usr/local/clamav/logs/clamd.log
chown clamav.clamav /usr/local/clamav/logs/freshclam.log
cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf

編輯配置文档clamd.conf

vim clamd.conf

#Example    注釋掉這一行, 接著在下面改一改。注意, 寫下面路徑的時候, 你就在當前指定好的路徑裡面新建文档, 賦予足夠的權限, 安裝程序不會幫你自動做這件事:

LogFile /usr/local/clamav/logs/clamd.log
PidFile /usr/local/clamav/updata/clamd.pid
DatabaseDirectory /usr/local/clamav/updata

編輯配置文档freshclam.conf

vim freshclam.conf

#Example    注釋掉這一行, 接著在下面改一改。注意事項也是一樣,如果過後升級病毒庫的時候提示你log文档路徑不存在, 你也要自己手動去建立才行:

DatabaseDirectory /usr/local/clamav/updata
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/updata/freshclam.pid

第五步:升級病毒庫

/usr/local/clamav/bin/freshclam

PS:這個過程很久,大概半個小時。確保網路正常

--help / -h              show help
--version / -V           print version number and exit
--verbose / -v           be verbose
--debug                  enable debug messages
--quiet                  only output error messages
--no-warnings            don't print and log warnings
--stdout                 write to stdout instead of stderr
--show-progress          show download progress percentage
--config-file=FILE       read configuration from FILE.
--log=FILE / -l FILE     log into FILE
--daemon / -d            run in daemon mode
--pid=FILE / -p FILE     save daemon's pid in FILE
--user=USER / -u USER    run as USER
--no-dns                 force old non-DNS verification method
--checks=#n / -c #n      number of checks per day, 1 <= n <= 50
--datadir=DIRECTORY      download new databases into DIRECTORY
--daemon-notify[=/path/clamd.conf]   send RELOAD command to clamd
--local-address=IP / -a IP    bind to IP for HTTP downloads
--on-update-execute=COMMAND   execute COMMAND after successful update
--on-error-execute=COMMAND    execute COMMAND if errors occured
--on-outdated-execute=COMMAND execute COMMAND when software is outdated
--list-mirrors           print mirrors from mirrors.dat
--enable-stats           enable statistical information reporting
--stats-host-id=UUID     HostID in the form of an UUID to use when submitting statistical information
--update-db=DBNAME       only update database DBNAME

第六步:殺毒

/usr/local/clamav/bin/clamscan -r --remove #查殺當前目錄並刪除感染的文档
/usr/local/clamav/bin/clamscan -r --bell -i / #掃描所有文档並且顯示有問題的文档的掃描結果

其他參數

>  -r/--recursive[=yes/no] 所有文档
>  --log=FILE/-l FILE  增加掃描報告
>  # clamscan -l /var/log/clamscan.log /
>  --move [路徑] 移動病毒文档至..
>  --remove [路徑] 刪除病毒文档
>  --quiet  只輸出錯誤消息
>  --infected/-i 只輸出感染文档
>  --suppress-ok-results/-o 跳過掃描OK的文档
>  --bell   掃描到病毒文档發出警報聲音
>  --unzip(unrar) 解壓壓縮文档掃描

第七步:計劃任務

實際生産環境應用

一般使用計劃任務,讓服務器每天晚上定時跟新和定時殺毒。保存殺毒日志,我的crontab文档如下

16 4 * * *         /usr/local/clamav/bin/freshclam
16 5 * * *         /usr/local/clamav/bin/clamscan  --infected  -r /  --remove -l /var/log/clamscan.log

返回值

>0 : 無病毒
>1 : 發現病毒
>40: 已經通過的未知選項
>50: 數據庫初始化錯誤
>52: 不支持的文档格式
>53: 無法打開目錄
>54: 不能打開文档(ofm)
>55: 讀文档錯誤(ofm)
>56: Can't stat input file / directory.
>57: Can't get absolute path name of current working directory.
>58: I/O 錯誤, 請檢查文档系統
>59: 無法在/etc/passwd獲得當前用戶的信息
>60: 無法在/etc/passwd獲得'clamav'(默認名)用戶的信息
>61: Can't fork.
>63: 不能創建臨時文档/目錄(檢查權限).
>64: 無法對臨時目錄進行寫操作 (請指定另一個目錄).
>70: 無法分配或釋放内存 (calloc).
>71: 無法分配内存 (malloc).

遇到的問題

NOTE:
Problem:
"Update failed. Your network may be down or none of the mirrors listed in  /usr/local/etc/freshclam.conf is working. Check http://www.clamav.net/doc/mirrors-faq.html for possible reasons."
Resolve:
from freshclam.conf file find the line
#DatabaseMirror db.XY.clamav.net and uncomment it out to
DatabaseMirror db.us.clamav.net
#or DatabaseMirror db.ac.clamav.net

閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 防止退出linux終耑退出之後導致的nohup進程強制退出

  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評