AVIRA Installations-RPM-Paket für debian/ubuntu konvertieren

Ziel ist die Erstellung eines DEB-Pakets aus einem RPM-Paket, was ohne großen Aufwand auf viele Debian-Rechner verteilt werden kann.
Der erstellten DEB-Pakete werden auf einem Webserver zur Verfügung gestellt.
Besorge Dir die neuesten RPMs von der AVIRA-Homepage und kopiere sie auf einen DEBIAN-Rechner.
Es wird das antivir-dazuko-3.1.3.4_6.6-1.i586.rpm und antivir-server-3.1.3.4-1.i586.rpm gebraucht (wahrscheinlich gibts schon eine neuere Version).
Installiere auf dem DEBIAN-Rechner das Programm „alien“:

apt-get install alien

Es werden wahrscheinlich noch viele andere Pakete mit nachinstalliert.

Dazuko-RPM in ein DEB-Paket konvertieren

Entpacke jetzt das RPM-Paket antivir-dazuko-3.1.3.4_6.6-1.i586.rpm mit:

alien -csg antivir-dazuko-3.1.3.4_6.6-1.i586.rpm

Es wir ein Verzeichnis antivir-dazuko-3.1.3.4_6.6 angelegt.
Ändere jetzt den Verzeichnisnamen debian in DEBIAN

mv antivir-dazuko-3.1.3.4_6.6/debian antivir-dazuko-3.1.3.4_6.6/DEBIAN

Ändere jetzt die Dateirechte aller Dateien in antivir-dazuko-3.1.3.4_6.6/DEBIAN nach 555 :

chmod 555 antivir-dazuko-3.1.3.4_6.6/DEBIAN

Ändere die Datei antivir-dazuko-3.1.3.4_6.6/DEBIAN/postinst so, dass die benötigten Pakete vorher installiert werden:

...
cd /usr/lib/AntiVir/dazuko
/bin/sh install_dazuko.sh > /dev/null 2>&1
if [ $? -ne 0 ]; then
   apt-get install gcc make linux-headers-`uname -r`
   sh install_dazuko.sh 
   if [ $? -ne 0 ]; then
   echo "..."
   exit 1
   fi
fi
...

Ändere die Datei antivir-dazuko-3.1.3.4_6.6/DEBIAN/postrm so, dass die nicht benötigten Pakete vorher deinstalliert werden:

#!/bin/sh
if [ -d /usr/lib/AntiVir/dazuko/dazukofs-3.0.0-rc4_`uname -r| cut -d "-" -f1` ] ; then 
  cd /usr/lib/AntiVir/dazuko/dazukofs-3.0.0-rc4_`uname -r| cut -d "-" -f1` 
  #pwd 
  make clean
fi 
grep dazukofs /etc/fstab
f=$?
if [ $f -eq 0 ]; then
  echo "please check the /etc/fstab"
fi

Ändere die Datei antivir-dazuko-3.1.3.4_6.6/DEBIAN/control entsprechend deinen Vorlieben:

Source: antivir-dazuko
Section: utils
Priority: extra
Maintainer: meinname <name@domain.de>
Package: antivir-dazuko
Architecture: i386
Depends: make
Installed-Size: 580
Description: Avira AntiVir Dazuko
version: 3.1.3.3.4
...

Jetzt bauen wir die DEB-Datei mit:

dpkg -b antivir-dazuko-3.1.3.4_6.6 antivir-dazuko-3.1.3.4_6.6-1.i586.deb

Das Paket kann schon mal direkt wie folgt installiert werden:

dpkg -i antivir-dazuko-3.1.3.4_6.6-1.i586.deb

Wenn das Dazuko-Modul trotzdem nicht startet , kann es nachträglich wie folgt kompiliert werden:

apt-get install gcc make linux-headers-`uname -r`
/usr/lib/AntiVir/dazuko/install_dazuko.sh 
Antivir-RPM in ein DEB-Paket konvertieren

Entpacke jetzt das RPM-Paket antivir-server-3.1.3.4-1.i586.rpm mit:

alien -csg antivir-server-3.1.3.4-1.i586.rpm

Es wir ein Verzeichnis antivir-server-3.1.3.4 angelegt.
Ändere jetzt den Verzeichnisnamen debian in DEBIAN

mv antivir-server-3.1.3.4/debian antivir-server-3.1.3.4/DEBIAN

Ändere jetzt die Dateirechte aller Dateien in antivir-server-3.1.3.4/DEBIAN nach 555 :

chmod 555 antivir-server-3.1.3.4/DEBIAN

Ändere jetzt alle Vorkommen von chkconfig in den Installationsscripten in update-rc.d :
Suche die erforderlichen Stellen mit:

grep -i chkconfig -r antivir-server-3.1.3.4/

Beispiel:
type chkconfig > /dev/null 2>&1 muss in type update-rc.d > /dev/null 2>&1 geändert werden.
chkconfig –add avguard muss in update-rc.d avguard defaults geändert werden.
chkconfig –del avguard muss in update-rc.d -f avguard remove geändert werden.
Die Datei antivir-server-3.1.3.4/DEBIAN/control muss wie folgt geändert werden:

...
package: antivir-server
Depends: antivir-dazuko
Installed-Size: 54200
...
version: 3.1.3.3.4

Ändere jetzt den Konfigurationseintrag für Deinen eigenen lokalen Updateserver wenn dieser im eigenen Netz vorhanden ist
Dazu ist die Datei antivir-server-3.1.3.4/etc/avira/avupdate-guard.conf mit einem Editor zu öffnen: Ändere den alten Eintrag internet-srvs=… auf den gewünschten Server. (z.B.http://myavirasrv:7080)
Kopiere jetzt Deine Lizenzdatei hbedv.key in das Verzeichnis antivir-server-3.1.3.4/usr/lib/AntiVir/guard/.
Jetzt bauen wir die DEB-Datei mit:

dpkg -b antivir-server-3.1.3.4 antivir-server-3.1.3.4-1.i586.deb

Anschließend können wir die Datei direkt installieren:

dpkg -i antivir-server-3.1.3.4-1.i586.deb

Nach erfolgter Installation muss noch die /etc/fstab konfiguriert, der Virenscanner erstmals gestartet und upgedatet werden:

echo "/home /home dazukofs">>/etc/fstab && echo "">>/etc/fstab && mount -a
avguard restart
avupdate-guard

Fertig.
Die beiden DEB-Dateien können jetzt auf einen internen Webserver gelegt werden und von da aus installiert werden.

Fehlerquellen

Fehler:
-Es gibt eine Datei /usr/lib/AntiVir/guard/gui/src im RPM-Paket. Das sollte jedoch ein Verzeichnis sein.
Lösung:

rm -rf /usr/lib/AntiVir/guard/gui/src && mkdir /usr/lib/AntiVir/guard/gui/src

Fehler:
Wenn eine Datei /usr/lib/AntiVir/guard/UPDATE_GUARD_BIN_MISSING existiert, wird bei jedem Update eine Fehlermeldung:
Error: Program execution error: The program being executed exited with error code 1 ausgeworfen.

Lösung:
Deshalb diese Datei einfach löschen und erneut ein avupdate-guard versuchen.

-Konfiguration wenn ein lokaler AVIRA-Server vorhanden ist:
Die entscheidenden Einträge in der /etc/avira/avupdate-guard.conf sind:

   ...
   intranet
   intranet-srvs=http://meinIUMSRV:7080
   product-root=/update
   ignore-srvs-list
   ...

Fehler:
wenn diese Einträge nicht gemacht sind, geht der Client zuerst zum lokalen Server und anschließend zum externen Server.(was i.a. fehlschlägt wegen einer Firewall).
Dann wird auch die Datei /usr/lib/AntiVir/guard/UPDATE_GUARD_BIN_MISSING generiert.

Lösung:
die Datei muss manuell gelöscht werden.

Fehler:
dazuko-Modul wird beim Start nicht geladen.
Lösung:
Modul in die initrd einbauen:

echo "dazukofs" >>/etc/initramfs-tools/modules
update-initramfs -u -k all


Zurück