Benutzer-Werkzeuge

Webseiten-Werkzeuge


Writing /srv/www/htdocs/udo/singollo.de/linux.singollo.de/public_html/data/cache/1/10da9f1bbe66ae22301c6848ede7bb5f.metadata failed
antivir:desinfect2014

Desinfec't 2014 per Script updaten

Ich hatte die Grundlage dieses Scripts im Heise-Forum gefunden und das Prinzip erweitert. Desinfec't basiert auf einem Ubuntu-System. Die Updatemechanismen sind bereits integriert. Dazu wird das Image gemountet, in ein temporäres Verzeichnis kopiert und dann per chroot gewechselt. Am Schluss wird das ganze wieder zu einem Image gepackt.

#!/bin/sh
 
YEAR=2014
DIR=$PWD
FSNAME=filesystem.squashfs
FSDIR=/mnt/server.venus.prv/desinfect$YEAR/casper
DATE=$(date +"%Y%m%d")
TEMPDIR=$(mktemp -d)
LOOP=$(mktemp -d)
TEMPFS=$(mktemp)
DNS=`grep -im1 "nameserver" /etc/resolv.conf | awk "{print }"`
 
# Mounten des Images
echo "mount $(readlink $FSDIR/$FSNAME) to $LOOP and copy to tempdir..."
mount -o loop $FSDIR/$(readlink $FSDIR/$FSNAME) $LOOP
 
# Inhalt kopieren
cp -a $LOOP/* $TEMPDIR
 
# CHROOT ins neue Verzeichnis
cd $TEMPDIR
mount --rbind /proc $TEMPDIR/proc
mount --rbind /dev  $TEMPDIR/dev
mount --rbind /sys  $TEMPDIR/sys
 
chroot . /bin/bash <<EOF
echo -e "search heise.de\nnameserver 10.10.10.32\nnameserver 10.10.10.30\n$DNS" > /etc/resolv.conf
apt-get update -y
apt-get upgrade -y
/opt/desinfect/update_avira.sh
/opt/desinfect/update_bitdefender.sh
/opt/desinfect/update_clamav.sh
/opt/desinfect/update_kaspersky.sh
cp -R /opt/BitDefender-scanner/var/lib/scan/ /opt/BitDefender-scanner/var/lib/scan.orig
exit
EOF
 
# CHROOT beenden
umount -l $TEMPDIR/dev
umount -l $TEMPDIR/proc
umount -l $TEMPDIR/sys
umount $TEMPDIR/var/kl/bases_rd
umount $TEMPDIR/opt/BitDefender-scanner/var/lib/scan
 
# LOOP unmounten und löschen
umount $LOOP
rmdir $LOOP
 
# Image erstellen
time mksquashfs $TEMPDIR $TEMPFS -comp xz -noappend
if [ -f $TEMPFS ] 
  then
    mv -f $TEMPFS $FSDIR/$FSNAME.$DATE
    if [ -f $FSDIR/$FSNAME.$DATE ]
      then
        chmod 644 $FSDIR/$FSNAME.$DATE
        cd $FSDIR
        rm -f $FSNAME
        ln -sf $FSNAME.$DATE $FSNAME
    fi
fi
 
# Temporäre Dateien/Verzeichnisse löschen
rm -rf $TEMPDIR/
 
cd $DIR

Dieses Script ist für die 2013er geschrieben worden. Ich gehe davon aus, dass die 2014er Version keine größeren Änderungen enthält, die hier zu Problemen führt.

antivir/desinfect2014.txt · Zuletzt geändert: 18.05.2014 17:55 von udo