Eigene ClamAV-Version Uebersetzen

Aus IpcopWiki

Wechseln zu: Navigation, Suche

Dank an mrkaehler für das Script und an celtar für den Hinweis. http://copfilter.endlich-mail.de/viewtopic.php?t=922

Damit ClamAV auf dem IPCop funktioniert, muss der Quelltext heruntergeladen und übersetzt (kompiliert) werden. Dazu benötigt man einen Developer-IPCop, welcher unter Anderem von hier zu beziehen ist. Die ClamAV-Software gibts unter http://www.clamav.net

Die Quelltexte werden nach /usr/src entpackt, dazu kommt eine Datei namens clamav_build und ein Verzeichnis namens claminst, in welchem eine Datei install liegt. Beide Dateien müssen ausführbar gestaltet sein.

Folgender Befehl übersetzt den Quellcode und packt das Ganze zu einem Paket zusammen.

./clamav_build

Das Paket befindet sich dann im /tmp-Verzeichnis.

Der Inhalt der clamav_build:

#!/bin/bash

### ! Achtung auch die Version in "claminst/install" setzen! ###

CLAMAV_VERSION=0.88.6

D1=/var/log/copfilter/default/opt/clamav/$CLAMAV_VERSION
D2=/var/log/copfilter/default/opt/clamav/etc
D3=/var/log/copfilter/default/opt/clamav/virdb
D4=/tmp/clamav_${CLAMAV_VERSION}_copfilter 
D5=clamav_${CLAMAV_VERSION}_copfilter

cd clamav-$CLAMAV_VERSION
# make distclean 
./configure --prefix=$D1 --exec-prefix=$D1 --sysconfdir=$D2 --with-dbdir=$D3  --disable-clamav --with-gnu-ld --enable-bigstack --with-libcurl=no
make
make install
mkdir $D4
cd /var/log/copfilter/default/opt/clamav
tar cf $D4/files1.tar ./$CLAMAV_VERSION
gzip $D4/files1.tar
tar cf $D4/files2.tar ./virdb
gzip $D4/files2.tar
cp /usr/src/claminst/install $D4
cd /tmp
tar cf clamav_${CLAMAV_VERSION}_copfilter.tar $D5/files1.tar.gz $D5/files2.tar.gz $D5/install
gzip clamav_${CLAMAV_VERSION}_copfilter.tar

Der Inhalt der install:

#!/bin/bash

CLAMAV_VERSION=0.88.6

echo -e "Stopping clamd if enabled"
/etc/rc.d/init.d/copfilter_clamd stop >/dev/null 2>&1

echo -e "copying program files"
tar xfz files1.tar.gz -C /var/log/copfilter/default/opt/clamav/
echo -e "copying virdb"
tar xfz files2.tar.gz -C /var/log/copfilter/default/opt/clamav/

rm /var/log/copfilter/default/opt/clamav/default
ln -s /var/log/copfilter/default/opt/clamav/$CLAMAV_VERSION /var/log/copfilter/default/opt/clamav/default
chown -R clamav:clamav /var/log/copfilter/default/opt/clamav

echo -e "Starting clamd if enabled"
/etc/rc.d/init.d/copfilter_clamd start >/dev/null 2>&1
echo -e "Update finished"

#

Damit eine vorhandene ClamAV-Installation in einem IPCop upgedated werden kann, muss man das Archiv aus /tmp herauskopieren und für den anderen IPCop zur Verfügung gestellt werden. Meistens wird dazu eine Weboberfläche genutzt. Weiteres zum Update von ClamAV ist hier beschrieben:

Persönliche Werkzeuge