На система ALT p8 32 бит имеется задача сканировать рекурсивно каталог /var/ftp/pvt/Windows на наличие вирусов с помощью clamscan: # clamscan --include "exe" -r -i /var/ftp/pvt/Windows Проблема в том, что clamscan выдает: ----------- SCAN SUMMARY ----------- Known viruses: 2903579 Engine version: 0.98-exp Scanned directories: 1 Scanned files: 0 Infected files: 0 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 30.321 sec (0 m 30 s) Но на самом деле каталог отнюдь не пуст и содержит много вложенных каталогов с файлами, требующих проверки.
Ошибка, выявленная strace: openat(AT_FDCWD, "/var/ftp/pvt/Windows", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 4 getdents(4, 0x8fcce68, 32768) = -1 EOVERFLOW (Value too large for defined data type) Нужно попросить clamscan использовать getdents64 путём сборки с -D_FILE_OFFSET_BITS=64 точнее, добавить AC_SYS_LARGEFILE в configure.ac https://bugzilla.altlinux.org/show_bug.cgi?id=28214#c4
(In reply to comment #1) > Нужно попросить clamscan использовать getdents64 путём сборки с > -D_FILE_OFFSET_BITS=64 > > точнее, добавить AC_SYS_LARGEFILE в configure.ac > https://bugzilla.altlinux.org/show_bug.cgi?id=28214#c4 В http://git.altlinux.org/tasks/192637/build/100/i586/log сейчас есть такое: checking for _FILE_OFFSET_BITS value needed for large files... 64 Но проверить мне негде. В p8 из этого задания, вроде как, ставится.
(В ответ на комментарий №2) > (In reply to comment #1) > > > Нужно попросить clamscan использовать getdents64 путём сборки с > > -D_FILE_OFFSET_BITS=64 > > > > точнее, добавить AC_SYS_LARGEFILE в configure.ac > > https://bugzilla.altlinux.org/show_bug.cgi?id=28214#c4 > > В http://git.altlinux.org/tasks/192637/build/100/i586/log сейчас есть такое: > > checking for _FILE_OFFSET_BITS value needed for large files... 64 > > Но проверить мне негде. В p8 из этого задания, вроде как, ставится. Это не проблема. Я проверил, заработало. Спасибо! Жду в Сизифе и сможете в p8? ... ----------- SCAN SUMMARY ----------- Known viruses: 6326557 Engine version: 0.99.2 Scanned directories: 1 Scanned files: 6
clamav-0.99.2-alt4 -> sisyphus: Sun Oct 29 2017 Sergey Y. Afonin <asy@altlinux.ru> 0.99.2-alt4 - used AC_SYS_LARGEFILE (ALT #34085) - removed "Packager" field - corrected "License" field