Aktualisieren von Apples ClamAV auf 10.7 (Lion)
Das Update-Rezept unten erfordert "Xcode" und "Xcode Command Line Tools", um Software aus dem Quellcode zu erstellen. Die folgenden Terminal.app-Befehle werden mit Mac OS X 10.9.5, Xcode 6.2 in einer zsh-Shell getestet. Einzelheiten dazu, warum mehrere Optionen ausgewählt wurden, finden Sie im Abschnitt "Hintergrund" unten.
Build pcre 8.39
$ cd ~
$ mkdir src
$ cd /tmp && curl -O ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz && cd -
$ cd src
$ tar zxf /tmp/pcre-8.39.tar.gz && rm /tmp/pcre-8.39.tar.gz
$ cd pcre-8.39
$ ./configure --prefix=/usr/local/pcre
$ make && make check
$ make install DESTDIR=/tmp/pcre
$ rm -r /tmp/pcre/usr/local/pcre/share #remove docs
$ tar czvf ~/pcre-8.39.tgz -C /tmp/pcre --exclude=.DS_Store usr/
Erstellen Sie clamav, um die in Mac OS X integrierte Version zu überschreiben
$ cd ~/src
$ cd /tmp && curl -LO https://www.clamav.net/downloads/production/clamav-0.99.2.tar.gz && cd -
$ tar zxf /tmp/clamav-0.99.2.tar.gz && rm /tmp/clamav-0.99.2.tar.gz
$ cd clamav-0.99.2
Ohne -mmacosx-version-min=10.X
ClamAV wird 0.99.2 mit Compilercode-Optimierungen erstellt, die auf der OS X-Version des Hosts (10.9) ausgeführt werden, jedoch nicht mit 10.6 und 10.7 funktionieren.
Im Fall bauen Sie nicht für den Betrieb auf 10.6.8 oder 10.7.5 Sie müssen möglicherweise geändert werden 10.8.0
oder 11.4.2
auf die Ausgabe des Befehls uname -r
auf Ihrem (remote) Host - Mac ausgeführt.
10.6.8
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" ./configure --prefix=/usr --libdir=/usr/lib --with-pcre=/usr/local/pcre --enable-llvm --build=x86_64-apple-darwin`uname -r` --host=x86_64-apple-darwin10.8.0 --sysconfdir=/private/etc
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" make
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" sudo make install DESTDIR=/tmp/clamav-0.99.2 && sudo rm -r /tmp/clamav-0.99.2/{private,usr/include} && sudo chown -R root:wheel /tmp/clamav-0.99.2
$ tar czvf ~/clamav-0.99.2.tgz -C /tmp/clamav-0.99.2 --exclude=.DS_Store usr/
10.7.5
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" ./configure --prefix=/usr --libdir=/usr/lib --with-pcre=/usr/local/pcre --enable-llvm --build=x86_64-apple-darwin`uname -r` --host=x86_64-apple-darwin11.4.2 --sysconfdir=/private/etc
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" make
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" sudo make install DESTDIR=/tmp/clamav-0.99.2 && sudo rm -r /tmp/clamav-0.99.2/{private,usr/include} && sudo chown -R root:wheel /tmp/clamav-0.99.2
$ tar czvf ~/clamav-0.99.2.tgz -C /tmp/clamav-0.99.2 --exclude=.DS_Store usr/
Laden Sie die .tgz-Dateien hoch oder kopieren Sie sie auf den Remote-10.7-Computer
SSH sollte auf dem entfernten (empfangenden) Host aktiviert sein, damit diese Beispielbefehle funktionieren.
$ scp ~/pcre-8.39.tgz remote.host.tld:/tmp/
$ scp ~/clamav-0.99.2.tgz remote.host.tld:/tmp/
Sie können die .tgz-Dateien auch auf einen Webserver hochladen und auf den Remote-Host-Rechnern herunterladen, beispielsweise mit dem folgenden Befehl:
$ cd /tmp && curl -O http://crashplan.probackup.nl/install/mac/pcre-8.39.tgz && cd -
$ cd /tmp && curl -O http://crashplan.probackup.nl/install/mac/clamav-0.99.2.tgz && cd -
Installieren Sie pcre 8.39 auf dem Remote-Host-Mac unter / usr / local / pcre
$ sudo tar zxvf /tmp/pcre-8.39.tgz -C /
Optional können Sie Links zu ausführbaren PCRE-Dateien in / usr / local / bin erstellen
$ cd /usr/local/bin && sudo ln -s ../pcre/usr/local/pcre/bin/{pcre-config,pcregrep,pcretest} . && cd -
Installieren Sie ClamAV 0.99.2 auf dem Remote-Host-Mac
$ sudo tar zxvf /tmp/clamav-0.99.2.tgz -C /
Clamd-Sandbox-Konfiguration aktualisieren (für 10.7)
$ sudo sed -i '' 's#(lib|share)#(lib|share|local/pcre/lib)#' /usr/share/sandbox/clamd.sb
$ grep -q -F '(regex #"^/System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent$")' /usr/share/sandbox/clamd.sb || { awk '/\(regex #"\^\/private\/var\/clamav\/"\)/ {print "\t(regex #\"^/System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent\$\")"}; {print}' /usr/share/sandbox/clamd.sb > ~/temp-clamd.sb; cat ~/temp-clamd.sb | sudo tee /usr/share/sandbox/clamd.sb > /dev/null; rm ~/temp-clamd.sb; };
Starten Sie den freshclam-Daemon
$ sudo /bin/launchctl load -w /System/Library/LaunchDaemons/org.clamav.freshclam.plist
Überprüfen Sie, ob freshclam aktualisiert wird
$ tail -f /private/var/log/freshclam.log
Drücken Sie Ctrl+ CStopp, um die Anzeige des "Endes" der Protokolldatei zu beenden.
Oder überprüfen Sie die Datenbankversion auf der clamd
ausführbaren Datei:
$ clamd --version
ClamAV 0.99.2/22442/Thu Oct 27 20:03:54 2016
Starten Sie den clamd-Daemon
$ sudo /bin/launchctl load -w /System/Library/LaunchDaemons/org.clamav.clamd.plist
Bereinigen Sie die Archivdateien des Installationsprogramms
$ rm /tmp/pcre-8.39.tgz
$ rm /tmp/clamav-0.99.2.tgz
Das ist es.
Hintergrund
Überschreibe Apples Clamav
Da die Mac OS X 10.7 ClamAV-Version 0.97 so veraltet ist, dass das System kaputt geht, ist es meines Erachtens ratsam, die integrierte ClamAV-Version mit einer neueren Version zu überschreiben. Normalerweise wird dies nicht empfohlen, da Apple-Updates eine solche Änderung überschreiben würden. Die letzte „Software Update“ für 10.7 , dass Apple stammt veröffentlicht September 2012 24. September 2014. Aus diesem Grund erwarte ich nicht , dass Apple Software - Updates für Lion freigeben wird, je.
pcre
Die aktuelle (Oktober 2016) Version von ClamAV ist 0.99.2. Diese Clamav-Version hat eine Abhängigkeit namens " pcre ", die zum Ausführen der aktuell fehlerhaften Clamav-Version 0.97 nicht erforderlich war. Daher muss auch neu benötigte Software installiert werden. Ich bin nicht sicher, wo es besser ist, das in Position / usr oder / usr / local zu installieren. Um eine der sichereren Seiten zu sein, ändere ich die Systemsoftware nicht in / usr und verwende daher den Ordner / usr / local / pcre.
Separat gebaute und freigegebene Maschinen
Bei Open Source ist es üblich, die Software von der Quelle auf demselben Computer zu erstellen und zu installieren. Da es sich bei dem Server, auf dem veraltetes Clamav ausgeführt wird, um einen Produktionsserver handelt, kann ich nichts damit anfangen. Die Software-Kompilierung / -Erstellung erfolgt auf einer anderen Mac-Box.
Grüße
In Bezug auf Wildcard für die Hilfe beim Erstellen des Befehls awk zum Einfügen einer neuen Zeile mit vorangestelltem Tabulatorzeichen in clamd.sb .