Clam AntiVirus is an open source (GPL) anti-virus toolkit for UNIX. It provides a number of utilities including a flexible and scalable multi-threaded daemon, a command line scanner and advanced tool for automatic database updates. Because ClamAV's main use is on file/mail servers for Windows desktops it primarily detects Windows viruses and malware.
Install with pacman by:
# pacman -S clamav
Whether you are going to use clamav as a daemon or use it as a simple file checker you need to comment out the line that contains the word Example, usually it's found at the beginning in the Template:Filename file. (you probably need to do the same to Template:Filename in the same dir too) and update the virus & malware database.
The daemon needs to be running for the virus update to be updated:
# /etc/rc.d/clamav start
Then update the virus definitions with:
The database files are saved in:
# change these to "yes" to start START_FRESHCLAM="yes" START_CLAMD="yes"
- To start clamav at boot edit Template:Filename and add clamav.
Scan for Viruses
Template:Codeline can be used to scan certain files, home directory, or an entire system:
$ clamscan myfile $ clamscan -r -i /home $ clamscan -r -i --exclude-dir=^/sys\|^/proc\|^/dev /
If you get the following messages after running freshclam:
WARNING: Clamd was NOT notified: Can't connect to clamd through /var/lib/clamav/clamd.sock connect(): No such file or directory
Add a sock file for clamav:
# touch /var/lib/clamav/clamd.sock # chown clamav:clamav /var/lib/clamav/clamd.sock
Then, edit /etc/clamav/clamd.conf
Uncomment this line: #LocalSocket /var/lib/clamav/clamd.sock
Save the file and restart the daemon (/etc/rc.d/clamav stop; /etc/rc.d/clamav start)
If you get the next error when starting the daemon:
LibClamAV Error: cli_loaddb(): No supported database files found in /var/lib/clamav ERROR: Not supported data format
Run freshclam as root:
# freshclam -v
If you get a:
# can't create temporary directory
error, along with a 'HINT' containing a UID and a GID number.
Do the following:
# chown UID:GID /var/lib/clamav & chmod 755 /var/lib/clamav
# ex: chown 64:64