четверг, 19 марта 2015 г.

Solaris: Сборка ClamAV 64 бита

Для сборки ClamAV полностью в 64 бита требуется, в обязательном порядке, наличие 64-битных версий всех библиотек, которые используются (Прежде всего, это, конечно, openssl).

Пере установкой надо создать непривилегированного пользователя и группу для выполнения антивируса:

groupadd clamav
useradd -d /var/spool -g clamav -c "ClamAV user" -s /bin/false clamav

После успешного создания можно приступить к конфигурированию и компиляции с последующей установкой:

# 32 bit GCC

./configure 'CXXFLAGS=-I/opt/csw/include -L/opt/csw/lib -O3 -m32 -pipe' 'CFLAGS=-I/opt/csw/include -L/opt/csw/lib -m32 -O3 -pipe' --with-openssl=/opt/csw --enable-no-cache --enable-dns-fix --disable-llvm --prefix=/usr/local/clamav

# 64 bit GCC

./configure 'CXXFLAGS=-I/opt/csw/include -L/opt/csw/lib/64 -O3 -m64 -pipe' 'CFLAGS=-I/opt/csw/include -L/opt/csw/lib/64 -m64 -O3 -pipe' --with-openssl=/opt/csw --enable-no-cache --enable-dns-fix --disable-llvm --prefix=/usr/local/clamav

gmake
gmake install-strip


На, Solaris, разумеется, нет никакого LLVM, поэтому его необходимо отключить при конфигурировании (это не очевидно для начинающих и не только для них), иначе сборка обломается на первом же модуле.


Важно также помнить, что все сервисы, которые будут линковать библиотеку libclamav, в случае сборки антивируса в 64-битной версии также должны быть 64-битными.

Для автоматического запуска сервисов необходимы также SMF, которые можно написать самостоятельно или взять здесь (ClamAV SMF) и здесь (freshclam SMF).

Если все сделано правильно, то, после конфигурирования сервисов, обновления антивирусных баз и запуска все будет выглядеть вот так:


Вот и все, folks! ;)