CentOS 7.9 환경의 경우, 기본 EPEL 저장소에서 제공하는 ClamAV의 최신 패키지 버전이 낮아 yum update를 수행하더라도 차단이 풀리지 않는 경우가 많습니다. [1, 2]
Cisco Talos(ClamAV 개발사)가 제공하는 공식 Linux RPM 바이너리 패키지를 수동으로 설치하여 엔진 버전을 최신으로 끌어올려야 정상적인 업데이트가 가능합니다. 아래 순서대로 작업을 진행해 주세요. [3, 4]
------------------------------
## 1단계: 기존 구버전 패키지 완전히 삭제
버전 충돌을 방지하기 위해 설치되어 있던 구버전 ClamAV 관련 패키지를 먼저 제거합니다. (기존 설정 파일이 지워질 수 있으니 백업이 필요하다면 /etc/clamd.d/ 폴더를 미리 복사해 두세요). [2, 4, 5]
sudo yum remove -y clamd clamav-data clamav-update clamav-filesystem clamav clamav-devel clamav-lib
------------------------------
## 2단계: 최신 독립형(RPM) 패키지 다운로드 및 설치
공식 다운로드 서버에서 현재 지원되는 최신 릴리스 패키지를 받아 직접 설치합니다. [4]
# 1. 임시 작업 디렉터리로 이동
cd /usr/local/src
# 2. ClamAV 공식 Linux x86_64 패키지 다운로드 (버전 1.4.1 기준)
sudo wget https://www.clamav.net/downloads/production/clamav-1.4.1.linux.x86_64.rpm
# 3. 다운로드한 RPM 패키지 강제 설치
sudo rpm -ivh clamav-1.4.1.linux.x86_64.rpm
(설치 중 의존성 오류 발생 시, 해당 패키지를 yum install로 설치 후 재시도)
------------------------------
## 3단계: 쿨다운(차단 기록) 해제 및 수동 업데이트
버전 업그레이드 후에도 기존 차단 기록(Mirrors 데이터)으로 인해 업데이트가 실패할 수 있습니다. [6]
# 1. 서비스 중지 및 캐시 파일 삭제
sudo systemctl stop clamav-freshclam 2>/dev/null
sudo rm -f /var/lib/clamav/mirrors.dat /var/lib/clamav/daily.cvd /var/lib/clamav/main.cvd
# 2. 데이터베이스 강제 업데이트
sudo freshclam
------------------------------
## 4단계: 버전 검증 및 주의사항
설치 후 아래 명령어로 최신 버전(1.x)을 확인합니다. [7, 8]
clamscan --version
⚠️ 필수 참고: CentOS 7은 2024년 6월 30일부로 지원이 종료(EOL)되었습니다. 향후 보안 위협에 노출될 수 있으므로, Rocky Linux 9 등 최신 OS로의 마이그레이션을 강력히 권장합니다. [9]
[1] [https://www.danami.com](https://www.danami.com/clients/knowledgebase/302/How-can-I-fix-the-anti-virus-signature-service-stopping-with-the-error-You-are-running-an-out-of-date-version-of-ClamAV-or-FreshClam-or-You-have-been-blocked-by-the-CDN.html?language=portuguese-br)
[2] [https://serverfault.com](https://serverfault.com/questions/995435/your-clamav-installation-is-outdated)
[3] [https://www.youtube.com](https://www.youtube.com/watch?v=DOopgX-oxas&t=2)
[4] [https://velog.io](https://velog.io/@mimic1995/CentOS7-clamav-%EC%84%A4%EC%B9%98)
[5] [https://gist.github.com](https://gist.github.com/fernandoaleman/50b134b987297f97c803c91b591e5c52)
[6] [https://docs.clamav.net](https://docs.clamav.net/faq/faq-freshclam.html?highlight=update)
[7] [https://www.transip.eu](https://www.transip.eu/knowledgebase/700-installing-clamav-in-centos-almalinux)
[8] [https://hostpresto.com](https://hostpresto.com/tutorials/how-to-install-clamav-on-centos-7/)
[9] [https://forum.centos-webpanel.com](http://forum.centos-webpanel.com/centos-7-problems/clamav-database-update-blocked-by-cdn/)
설치 완료 후 실행 경로가 맞지 않다면
공식 RPM 패키지로 수동 설치할 경우, 실행 파일(freshclam, clamscan)이 일반적인 시스템 경로가 아닌 /usr/local/bin/ 디렉터리에 설치되기 때문에 발생하는 현상입니다. 시스템이 이 경로를 인식하지 못해 명령어를 찾을 수 없다고 나오는 것입니다. [1]
아래의 순서대로 절대 경로를 지정하여 실행 파일의 위치를 바로잡아 주면 정상적으로 동작합니다. [2]
------------------------------
## 1단계: 절대 경로로 명령어 위치 확인하기
실행 파일이 해당 위치에 잘 들어있는지 먼저 확인합니다. [2]
ls -l /usr/local/bin/freshclam
ls -l /usr/local/bin/clamscan
(파일 목록이 정상적으로 출력된다면 설치는 완벽히 완료된 상태입니다.)
------------------------------
## 2단계: 시스템이 명령어를 인식하도록 심볼릭 링크 연결
어느 위치에서든 freshclam과 clamscan을 바로 입력할 수 있도록 표준 시스템 명령어 경로(/usr/bin/)에 링크를 걸어줍니다.
sudo ln -sf /usr/local/bin/freshclam /usr/bin/freshclam
sudo ln -sf /usr/local/bin/clamscan /usr/bin/clamscan
------------------------------
## 3단계: 샘플 설정 파일 활성화 (필수)
공식 RPM 패키지는 기본 설정 파일이 example 상태로 제공되어 그대로 실행하면 에러가 납니다. 이를 실제 설정 파일로 복사하고 활성화해 주어야 합니다. [1, 2]
# 1. 설정 디렉터리로 이동
cd /usr/local/etc
# 2. 샘플 파일을 실제 설정 파일로 복사
sudo cp freshclahttp://m.conf.sample freshclam.conf
sudo cp clamd.conf.sample clamd.conf
# 3. 설정 파일 내부에 적힌 주석용 'Example' 문자열 제거 (제거해야 정상 작동)
sudo sed -i 's/^Example/#Example/' freshclam.conf
sudo sed -i 's/^Example/#Example/' clamd.conf
------------------------------
## 4단계: 업데이트 다시 실행하기
이제 시스템이 명령어를 완전히 인식하므로, 차단 캐시를 지우고 업데이트를 재시도하면 정상적으로 데이터베이스가 다운로드됩니다. [2]
# 1. 기존 차단 로그 캐시 삭제
sudo rm -f /usr/local/share/clamav/mirrors.dat
# 2. 업데이트 실행
sudo freshclam
업데이트가 완료되면 바로 sudo clamscan -r -i / 명령어를 사용해 전체 서버 악성코드 검사를 시작하실 수 있습니다. 혹시 freshclam 진행 중 다른 에러 문구가 출력된다면 편하게 말씀해 주세요!
[1] [https://github.com](https://github.com/Cisco-Talos/clamav/issues/946)
[2] [https://docs.clamav.net](https://docs.clamav.net/faq/faq-troubleshoot.html)
만약, 모두 설치 후 아래와 같은 메세지가 보인다면,
[root@svr etc]# clamscan --version
clamscan: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /usr/local/lib64/libclamav.so.12)
clamscan: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /usr/local/lib64/libclamav.so.12)
clamscan: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /usr/local/lib64/libclamav.so.12)
clamscan: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /usr/local/lib64/libclamav.so.12)
clamscan: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /usr/local/lib64/libclamav.so.12)
이 오류는 CentOS 7.9의 핵심 시스템 버전(GLIBC 2.17)이 너무 낮아서, 최신 ClamAV 1.4.1 패키지가 요구하는 사양(GLIBC 2.27 이상)을 충족하지 못해 발생하는 문제입니다.CentOS 7 환경에서 GLIBC를 강제로 업데이트하면 전체 운영체제가 망가져 부팅이 안 될 수 있으므로 절대 무리하게 GLIBC를 수동 빌드하시면 안 됩니다.
이때는 사용이 불가 하니 설치를 중지하고 이전 버젼을 설치하거나 다른 방법을 강구해야 한다