# Upgrading ClamAV

## ClamAV from Packages

If you installed from a package, we suggest you find the approved package from your distro provider and install that. The ClamAV team does not maintain individual packages for every distribution build. If there are no new packages, you have three options:

- Wait
- Build ClamAV Package
- Install ClamAV From Source

## Install ClamAV From Source

If you installed from sources, first uninstall the old version.

Then, compile and install the new one.

Depending on your installation method, you might want to backup configuration (located in `/usr/local/etc` by default) and signature database (located in `/usr/local/share/clamav` by default). Don't forget to restore backups before starting up updated ClamAV.

Backup your database signature (located in `/usr/local/share/clamav` by default) before upgrading to newer ClamAV version. Restore the backed up database signature before running the updated version. This is to avoid getting the `/usr/local/share/clamav not locked` error message when doing `freshclam`.

## Webmin and Yum

To obtain a new version:

    yum list clamav

    yum update clamav

If everything updated properly, run `freshclam` to update your signature database.

### What does "WARNING: Current functionality level = 1, required = 2" mean?

The functionality level of the database determines which scanner engine version is required to use all of its signatures. If you don't upgrade immediately you will be missing the latest viruses.

### What does "Your ClamAV installation is OUTDATED" mean?

You'll get this message whenever a new version of ClamAV is released. In order to detect all the latest viruses, it's not enough to keep your database up to date. You also need to run the latest version of the scanner. You can download the sources of the latest release from our website. If you are afraid to break something while upgrading, use the pre-compiled packages for your operating system/distribution. Remember: running the latest stable release also improves stability.

### I upgraded to the latest stable version but I still get the message "Your ClamAV installation is OUTDATED", why?

Make sure there is really only one version of ClamAV installed on your system:

    whereis freshclam

    whereis clamscan

Also make sure that you haven't got old libraries (`libclamav.so*`) lying around your filesystem. You can verify it using:

    ldd $(which freshclam)

### What does "Malformed hexstring: This ClamAV version has reached End of Life" mean?

Please refer to our End-of-Life (EOL) policy.

### How do I verify the integrity of ClamAV sources?

You can verify the authenticity of ClamAV release packages provided on the ClamAV downloads page using GnuPG.

1. Install GnuPG.
2. Download the Cisco Talos GPG public key.
3. Import the key into your local public keyring:

       gpg --import cisco-talos.gpg

4. Download the ClamAV package AND the corresponding `.sig` file to the same directory.
5. Verify that the stable release download is signed with the [Cisco Talos GPG public key]:

       gpg --verify clamav-X.XX.tar.gz.sig

The resulting output should look something like this. The specific details will differ, as we rotate the GPG key every couple of years:

        gpg: Signature made Wed Jan 24 19:31:26 2018 EST
        gpg:                using RSA key F13F9E16BCA5BFAD
        gpg: Good signature from "Talos (Talos, Cisco Systems Inc.) [email address]" [unknown]

### Where can I get the latest release, beta, or release candidate of ClamAV?

Visit the source download page.

### Is my compiler/hardware/operating system supported by ClamAV?

ClamAV supports a wide variety of compilers, hardware and operating systems. Our core compiler is GCC with Linux on 32 and 64 bit Intel platforms, LLVM/Clang on macOS, and MSVC on Windows.