# amavisd-new debug-safetch_modules: error loading optional module Mail/DKIM.pm:
Can't locate Mail/DKIM.pm: lib/Mail/DKIM.pm: Permission denied at /usr/sbin/amavisd-new line 209, <DATA> line 717.
fetch_modules: error loading optional module Mail/DKIM/Verifier.pm:
Can't locate Mail/DKIM/Verifier.pm: lib/Mail/DKIM/Verifier.pm: Permission denied at /usr/sbin/amavisd-new line 209, <DATA> line 717.но модуль libmail-dkim-perl в системе присутствует:
# dpkg -L libmail-dkim-perl | less
/usr
/usr/share
/usr/share/perl5
/usr/share/perl5/Mail
/usr/share/perl5/Mail/DKIM
/usr/share/perl5/Mail/DKIM/Signer.pm
/usr/share/perl5/Mail/DKIM/Verifier.pm
/usr/share/perl5/Mail/DKIM/Signature.pm
............................................прав вроде достаточно
# ls -l /usr/share/perl5/Mail/DKIM/Verifier.pm
-rw-r--r-- 1 root root 22323 Feb 7 2013 /usr/share/perl5/Mail/DKIM/Verifier.pm
что не так?
> прав вроде достаточноНадо проверять не только права на файл, но и права на весь путь каталогов к нему, каждый каталог отдельно.
>> прав вроде достаточно
> Надо проверять не только права на файл, но и права на весь
> путь каталогов к нему, каждый каталог отдельно.в том числе есть права и такие:
ls -ld /
но их лучше не менять :-)
>>> прав вроде достаточно
>> Надо проверять не только права на файл, но и права на весь
>> путь каталогов к нему, каждый каталог отдельно.
> в том числе есть права и такие:
> ls -ld /
> но их лучше не менять :-)прав достаточно вроде-на каталоги 755
# ls -l /usr/share/perl5/Mail/
total 232
drwxr-xr-x 4 root root 4096 Jul 29 06:49 DKIM
-rw-r--r-- 1 root root 2058 Nov 28 2012 DKIM.pm# ls -l /usr/share/perl5
drwxr-xr-x 7 root root 4096 Jul 29 06:49 Mail# ls -l /usr/share/
drwxr-xr-x 32 root root 4096 Jul 29 06:49 perl5# ls -l /usr/
drwxr-xr-x 97 root root 4096 Jul 29 06:49 share# ls -ld /
drwxr-xr-x 22 root root 4096 Jul 21 10:42 /
Мне не понятно, почему "lib/Mail/DKIM.pm" содержит lib/.
Как вариант, правите /usr/sbin/amavisd-new, раскомментируете my_require() и заменяете вызов одного eval на другой.
Там ниже предлагали $log_level и $sa_debug подкрутить. Помогло?
> Там ниже предлагали $log_level и $sa_debug подкрутить. Помогло?имеется в виду добавить в amavisd.conf ?
>> Там ниже предлагали $log_level и $sa_debug подкрутить. Помогло?
> имеется в виду добавить в amavisd.conf ?Это вы у советующего спросите.
>Как вариант, правите /usr/sbin/amavisd-new, раскомментируете my_require() и заменяете
>вызов одного eval на другой.Этот путь пробовали?
Не ясно, что у вас там такое творится, почему перловые модули недоступны.Сделайте:
# su - amavis
$ perl -e 'use Mail::DKIM;'
$Что покажет?
> Сделайте:
> # su - amavis
> $ perl -e 'use Mail::DKIM;'
> $ничего не показало:
# su - amavis
$ perl -e 'use Mail::DKIM;'
$
>>Как вариант, правите /usr/sbin/amavisd-new, раскомментируете my_require() и заменяете
>>вызов одного eval на другой.
> Этот путь пробовали?
> Не ясно, что у вас там такое творится, почему перловые модули недоступны.насколько я понимаю перловые модули доступны, не хватает прав
fetch_modules: error loading optional module Razor2/Client/Agent.pm:
Can't locate Getopt/Long.pm: lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm
непонятно откуда берется lib/
Can't locate Getopt/Long.pm: lib/Getopt/Long.pm:
# vim +15 /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm
use Getopt::Long;# vim +209 /usr/sbin/amavisd-new
201 sub fetch_modules($$@) {
202 my($reason, $required, @modules) = @_;
203 my(@missing);
204 for my $m (@modules) {
205 local $_ = $m;
206 $_ .= /^auto::/ ? '.al' : '.pm' if !m{^/} && !m{\.(?:pm|pl|al|ix)\z};
207 s{::}{/}g;
208 eval {
209 require $_;
210 # my_require $_; # more informative on err, but some problems reported
211 } or do {
212 my $eval_stat = $@ ne '' ? $@ : "errno=$!"; chomp $eval_stat;
213 push(@missing,$m);
214 $eval_stat =~ s/^/ /gms; # indent
215 printf STDERR ("fetch_modules: error loading %s module %s:\n%s\n",
216 $required ? 'required' : 'optional', $_, $eval_stat)
217 if $eval_stat !~ /\bCan't locate \Q$_\E in \@INC\b/;
218 };
219 }
220 die "ERROR: MISSING $reason:\n" . join('', map(" $_\n", @missing))
221 if $required && @missing;
222 \@missing;
223 }
к тому же часть из них была установлена из CPAN, хотя соответствующие deb-пакеты в системе также присутствуют...нет, не пробовал, раскомментарить я еще смогу, но "заменяете вызов одного eval на другой" это как?
>[оверквотинг удален]
> 219 }
> 220 die "ERROR: MISSING $reason:\n" . join('', map("
> $_\n", @missing))
> 221 if $required && @missing;
> 222 \@missing;
> 223 }
> к тому же часть из них была установлена из CPAN, хотя соответствующие
> deb-пакеты в системе также присутствуют...
> нет, не пробовал, раскомментарить я еще смогу, но "заменяете вызов одного eval
> на другой" это как?править не нужно и не советую. он не может загрузить дополнительные Perl модули. пишет lib/Mail потому что дальше уходит в дебри библиотек мира Perl в системе
> к тому же часть из них была установлена из CPAN, хотя соответствующие
> deb-пакеты в системе также присутствуют...Ну вот где-то там и причины. Надо проверять пути _там_, а не по данным их системных deb-пакетов.
> нет, не пробовал, раскомментарить я еще смогу, но "заменяете вызов одного eval
> на другой" это как?это вот тут:
208 eval {
209 require $_;
210 # my_require $_; # more informative on err, but some problems reportedВ старых версиях было два eval.
201 # eval { my_require $_ } #more informative on err, but some problems reported
202 eval { require $_ }
Несмотря на то, что некоторые заявления, что это не надо делать, хотелось бы отметить, что функция my_require() отличается выводом полного пути к файлу, который она пытается загрузить.
Думаю, что увидев полный путь к файлу можно решить проблему гораздо быстрее.Перед правкой сделайте копию файла /usr/sbin/amavisd-new.
> 208 eval {
> 209 require $_;
> 210 # my_require $_; #
> more informative on err, but some problems reportedрасскомментировал my_require $_; теперь выдало:
fetch_modules: error loading required module Exporter.pm:
Can't locate object method "my_require" via package "Exporter.pm" (perhaps you forgot to load "Exporter.pm"?) at /usr/sbin/amavisd-n
ew line 210.
fetch_modules: error loading required module POSIX.pm:
Can't locate object method "my_require" via package "POSIX.pm" (perhaps you forgot to load "POSIX.pm"?) at /usr/sbin/amavisd-new lin
e 210.
fetch_modules: error loading required module Fcntl.pm:
Can't locate object method "my_require" via package "Fcntl.pm" (perhaps you forgot to load "Fcntl.pm"?) at /usr/sbin/amavisd-new lin
e 210.
fetch_modules: error loading required module Socket.pm:
Can't locate object method "my_require" via package "Socket.pm" (perhaps you forgot to load "Socket.pm"?) at /usr/sbin/amavisd-new l
ine 210.
fetch_modules: error loading required module Errno.pm:
Can't locate object method "my_require" via package "Errno.pm" (perhaps you forgot to load "Errno.pm"?) at /usr/sbin/amavisd-new lin
e 210.
fetch_modules: error loading required module Carp.pm:
Can't locate object method "my_require" via package "Carp.pm" (perhaps you forgot to load "Carp.pm"?) at /usr/sbin/amavisd-new line
210.
fetch_modules: error loading required module Time/HiRes.pm:
Can't locate object method "my_require" via package "Time/HiRes.pm" (perhaps you forgot to load "Time/HiRes.pm"?) at /usr/sbin/amavi
sd-new line 210.
fetch_modules: error loading required module IO/Handle.pm:
Can't locate object method "my_require" via package "IO/Handle.pm" (perhaps you forgot to load "IO/Handle.pm"?) at /usr/sbin/amavisd
-new line 210.
fetch_modules: error loading required module IO/File.pm:
Can't locate object method "my_require" via package "IO/File.pm" (perhaps you forgot to load "IO/File.pm"?) at /usr/sbin/amavisd-new
line 210.
fetch_modules: error loading required module IO/Socket.pm:
Can't locate object method "my_require" via package "IO/Socket.pm" (perhaps you forgot to load "IO/Socket.pm"?) at /usr/sbin/amavisd
-new line 210.
fetch_modules: error loading required module IO/Socket/UNIX.pm:
Can't locate object method "my_require" via package "IO/Socket/UNIX.pm" (perhaps you forgot to load "IO/Socket/UNIX.pm"?) at /usr/sb
in/amavisd-new line 210.
fetch_modules: error loading required module IO/Stringy.pm:
Can't locate object method "my_require" via package "IO/Stringy.pm" (perhaps you forgot to load "IO/Stringy.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Digest/MD5.pm:
Can't locate object method "my_require" via package "Digest/MD5.pm" (perhaps you forgot to load "Digest/MD5.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Unix/Syslog.pm:
Can't locate object method "my_require" via package "Unix/Syslog.pm" (perhaps you forgot to load "Unix/Syslog.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module File/Basename.pm:
Can't locate object method "my_require" via package "File/Basename.pm" (perhaps you forgot to load "File/Basename.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Compress/Zlib.pm:
Can't locate object method "my_require" via package "Compress/Zlib.pm" (perhaps you forgot to load "Compress/Zlib.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Base64.pm:
Can't locate object method "my_require" via package "MIME/Base64.pm" (perhaps you forgot to load "MIME/Base64.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/QuotedPrint.pm:
Can't locate object method "my_require" via package "MIME/QuotedPrint.pm" (perhaps you forgot to load "MIME/QuotedPrint.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Words.pm:
Can't locate object method "my_require" via package "MIME/Words.pm" (perhaps you forgot to load "MIME/Words.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Head.pm:
Can't locate object method "my_require" via package "MIME/Head.pm" (perhaps you forgot to load "MIME/Head.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Body.pm:
Can't locate object method "my_require" via package "MIME/Body.pm" (perhaps you forgot to load "MIME/Body.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Entity.pm:
Can't locate object method "my_require" via package "MIME/Entity.pm" (perhaps you forgot to load "MIME/Entity.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Parser.pm:
Can't locate object method "my_require" via package "MIME/Parser.pm" (perhaps you forgot to load "MIME/Parser.pm"?) at /usr/sbin/ama
visd-new line 210.
fetch_modules: error loading required module MIME/Decoder.pm:
Can't locate object method "my_require" via package "MIME/Decoder.pm" (perhaps you forgot to load "MIME/Decoder.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/Base64.pm:
Can't locate object method "my_require" via package "MIME/Decoder/Base64.pm" (perhaps you forgot to load "MIME/Decoder/Base64.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/Binary.pm:
Can't locate object method "my_require" via package "MIME/Decoder/Binary.pm" (perhaps you forgot to load "MIME/Decoder/Binary.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/QuotedPrint.pm:
Can't locate object method "my_require" via package "MIME/Decoder/QuotedPrint.pm" (perhaps you forgot to load "MIME/Decoder/QuotedPrint.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/NBit.pm:
Can't locate object method "my_require" via package "MIME/Decoder/NBit.pm" (perhaps you forgot to load "MIME/Decoder/NBit.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/UU.pm:
Can't locate object method "my_require" via package "MIME/Decoder/UU.pm" (perhaps you forgot to load "MIME/Decoder/UU.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/Gzip64.pm:
Can't locate object method "my_require" via package "MIME/Decoder/Gzip64.pm" (perhaps you forgot to load "MIME/Decoder/Gzip64.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Net/LibIDN.pm:
Can't locate object method "my_require" via package "Net/LibIDN.pm" (perhaps you forgot to load "Net/LibIDN.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Net/Server.pm:
Can't locate object method "my_require" via package "Net/Server.pm" (perhaps you forgot to load "Net/Server.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Net/Server/PreFork.pm:
Can't locate object method "my_require" via package "Net/Server/PreFork.pm" (perhaps you forgot to load "Net/Server/PreFork.pm"?) at /usr/sbin/amavisd-new line 210.
ERROR: MISSING REQUIRED BASIC MODULES:
Exporter
POSIX
Fcntl
Socket
Errno
Carp
Time::HiRes
IO::Handle
IO::File
IO::Socket
IO::Socket::UNIX
IO::Stringy
Digest::MD5
Unix::Syslog
File::Basename
Compress::Zlib
MIME::Base64
MIME::QuotedPrint
MIME::Words
MIME::Head
MIME::Body
MIME::Entity
MIME::Parser
MIME::Decoder
MIME::Decoder::Base64
MIME::Decoder::Binary
MIME::Decoder::QuotedPrint
MIME::Decoder::NBit
MIME::Decoder::UU
MIME::Decoder::Gzip64
Net::LibIDN
Net::Server
Net::Server::PreFork
BEGIN failed--compilation aborted at /usr/sbin/amavisd-new line 249.
>[оверквотинг удален]
> MIME::Decoder::Base64
> MIME::Decoder::Binary
> MIME::Decoder::QuotedPrint
> MIME::Decoder::NBit
> MIME::Decoder::UU
> MIME::Decoder::Gzip64
> Net::LibIDN
> Net::Server
> Net::Server::PreFork
> BEGIN failed--compilation aborted at /usr/sbin/amavisd-new line 249.часть модулей установил через cpan, но большая часть у меня уже установлена последней версии, но почему-то при повторном запуске дебага амависа тот же список из всех тех же 33 модулей перла
>> 208 eval {
>> 209 require $_;
>> 210 # my_require $_; #
>> more informative on err, but some problems reported
> расскомментировал my_require $_; теперь выдало:
> 209 require $_;
> 210 # my_require $_; #1) Надо не только раскомментировать 210, но и закомментировать 209.
2) Надо раскоментировать сам код метода my_require, выше по файлу.
>>> 208 eval {
>>> 209 require $_;
>>> 210 # my_require $_; #
>>> more informative on err, but some problems reported
>> расскомментировал my_require $_; теперь выдало:
>> 209 require $_;
>> 210 # my_require $_; #
> 1) Надо не только раскомментировать 210, но и закомментировать 209.выполнил:
209 # require $_;
210 my_require $_; # more informative on err, but some problems reported
211 } or do {
> 2) Надо раскоментировать сам код метода my_require, выше по файлу.расскомментарил:
150 sub my_require($) {
151 my $filename = $_[0];
152 my $result;
153 if (exists $INC{$filename} && !$INC{$filename}) {
154 die "Compilation failed in require\n";
155 } elsif (exists $INC{$filename}) {
156 $result = 1; # already loaded
157 } else {
158 my $found = 0;
159 for my $prefix (@INC) {
160 my $full_fname = "$prefix/$filename";
161 my(@stat_list) = stat($full_fname); # symlinks-friendly
162 my $errn = @stat_list ? 0 : 0+$!;
163 if ($errn != ENOENT) {
164 $found = 1;
165 $INC{$filename} = $full_fname;
166 my $owner_uid = $stat_list[4];
167 my $msg;
168 if ($errn) { $msg = "is inaccessible: $!" }
169 elsif (-d _) { $msg = "is a directory" }
170 elsif (!-f _) { $msg = "is not a regular file" }
171 elsif ($> && -o _) { $msg = "should not be owned by EUID $>" }
172 elsif ($> && -w _) { $msg = "is writable by EUID $>, EGID $)" }
173 elsif ($owner_uid) { $msg = "should be owned by root (uid 0) "}
174 !defined($msg) or die "Requiring $full_fname, file $msg,\n";
175 $! = 0;
176 $result = do $full_fname;
177 if (!defined($result) && $@ ne '') {
178 undef $INC{$filename}; chomp($@);
179 die "Error in file $full_fname: $@\n";
180 } elsif (!defined($result) && $! != 0) {
181 undef $INC{$filename};
182 die "Error reading file $full_fname: $!\n";
183 } elsif (!$result) {
184 undef $INC{$filename};
185 die "Module $full_fname did not return a true value\n";
186 }
187 last;
188 }
189 }
190 die sprintf("my_require: Can't locate %s in \@INC (\@INC contains: %s)\n",
191 $filename, join(' ',@INC)) if !$found;
192 }
193 $result;
194 }
195
в дебаге:
/usr/sbin/amavisd-new[17052]: perl=5.020002, user=, EUID: 112 (112); group=, EGID: 117 117 (117 117)
/usr/sbin/amavisd-new[17052]: INFO: no optional modules: unicore::lib::Perl::SpacePer.pl unicore::lib::N
t::De.pl/usr/sbin/amavisd-new[17052]: SpamControl: attempting to load scanner SpamAssassin, module Amavis::SpamControl::SpamAssassin
/usr/sbin/amavisd-new[17052]: SpamControl: scanner SpamAssassin, module Amavis::SpamControl::SpamAssassi
n
fetch_modules: error loading optional module Razor2/Client/Agent.pm:
Error in file /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm: Can't locate Getopt/Long.pm: lib/Getopt/Long.pm:
Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.
BEGIN failed--compilation aborted at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.
fetch_modules: error loading optional module Mail/DKIM.pm:
Requiring lib/Mail/DKIM.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Mail/DKIM/Verifier.pm:
Requiring lib/Mail/DKIM/Verifier.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info.pm:
Requiring lib/Image/Info.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/GIF.pm:
Requiring lib/Image/Info/GIF.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/JPEG.pm:
Requiring lib/Image/Info/JPEG.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/PNG.pm:
Requiring lib/Image/Info/PNG.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/BMP.pm:
Requiring lib/Image/Info/BMP.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/TIFF.pm:
Requiring lib/Image/Info/TIFF.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Mail/SPF.pm:
Requiring lib/Mail/SPF.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Mail/SPF/Server.pm:
/usr/sbin/amavisd-new[17052]: (!)Net::Server: 2015/07/30-12:12:28 Unable to load module for proto "Net::Server::Proto::UNIX": Can't locate Net/Server/Proto/UNIX.pm: lib/Net/Server/Proto/UNIX.pm: Permission denied at /usr/share/perl5/Net/Server/Proto.pm line 198, <DATA> line 717.\n\n at line 198 in file /usr/share/perl5/Net/Server/Proto.pm
в системе установлен perl версии 5.20:ii perl 5.20.2-3+deb8u1 amd64 Larry Wall's Practical Extraction and Report Language
ii perl-base 5.20.2-3+deb8u1 amd64 minimal Perl system
ii perl-modules 5.20.2-3+deb8u1 all Core Perl modulesнепонятно почему при дебаге амависа:
/usr/sbin/amavisd-new[17052]: perl=5.020002, user=, EUID: 112 (112); group=, EGID: 117 117 (117 117)откуда взялась 5.020002 ?
> откуда взялась 5.020002 ?это и есть Perl версии 5.20.2
непонятно относительно чего берется такой каталог lib/ в
lib/Net/Server/Proto/UNIX.pm
cpan>install Getopt::Long
Reading '/root/.cpan/Metadata'
Database was generated on Thu, 30 Jul 2015 08:29:02 GMT
Getopt::Long is up to date (2.47).но всё равно в дебаге амависа присутствует:
fetch_modules: error loading optional module Razor2/Client/Agent.pm:
Error in file /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm: Can't locate Getopt/Long.pm: lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.странно...
> cpan>install Getopt::Long
> Reading '/root/.cpan/Metadata'
> Database was generated on Thu, 30 Jul 2015 08:29:02 GMT
> Getopt::Long is up to date (2.47).
> но всё равно в дебаге амависа присутствует:
> fetch_modules: error loading optional module Razor2/Client/Agent.pm:
> Error in file /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm:
> Can't locate Getopt/Long.pm: lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm
> line 15, <DATA> line 717.
> странно...Да ничего странного. ССЗБ - не надо ставить из cpan если есть в пакетах дистрибутива.
пути типа /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/ проверили, как в самом начале, доступ по всем элементам пути?
Берешь тупо запускаешь поиск по /usr на предмет нахождения всех файлов с именем Long.pm и смотришь что за .... на сервере. И доступы к каждому из найденных файлов проверяешь.
А вообще /usr/local/lib/ должен быть ~чист.
> Да ничего странного. ССЗБ - не надо ставить из cpan если есть
> в пакетах дистрибутива.was ist das - ССЗБ?
может они и есть все в пакетах дистрибутива, но почему они тогда автоматически не притянулись при установке amavisd-new через apt-get?> пути типа /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/ проверили, как в самом начале,
> доступ по всем элементам пути?да, проверил, доступ ко всем каталогам
drwxrwsr-x 4 root staffпробовал добавить юзера amavis в группу staff - не помогло, ошибки те же...
> Берешь тупо запускаешь поиск по /usr на предмет нахождения всех файлов с
> именем Long.pm и смотришь что за .... на сервере. И доступы
> к каждому из найденных файлов проверяешь.
> А вообще /usr/local/lib/ должен быть ~чист.найдено 3 файла Long.pm:
# ls -l /usr/share/perl/5.20.2/Getopt/Long.pm
-rw-r--r-- 1 root root 41352 May 3 18:38 Long.pm# ls -l /usr/share/perl5/Sys/Hostname/Long.pm
-rw-r--r-- 1 root root 10542 Jan 10 2014 Long.pm
# ls -l /usr/local/share/perl/5.20.2/Getopt/Long.pm
-r--r--r-- 1 root staff 82390 Jun 16 15:28 Long.pm
после того, как запустил дебаг от имени юзера amavis все ошибки исчезли:
# su - amavis -c '/usr/sbin/amavisd-new debug 2> error.txt'
>> прав вроде достаточно
> Надо проверять не только права на файл, но и права на весь
> путь каталогов к нему, каждый каталог отдельно.ничего не надо, надо в конфиге amavisd.conf выставить
$log_level = 5; и$sa_debug = 1; для того чтобы получать дебаг логи spamaasasin
> ничего не надо, надо в конфиге amavisd.conf выставить
> $log_level = 5; и
> $sa_debug = 1; для того чтобы получать дебаг логи spamaasasin$log_level = 5; у меня изначально и был установлен, добавил
sa_debug = 1; но при запуске дебага сообщения всё те же:fetch_modules: error loading optional module Razor2/Client/Agent.pm:
Can't locate Getopt/Long.pm: lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.BEGIN failed--compilation aborted at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.
Compilation failed in require at /usr/sbin/amavisd-new line 209, <DATA> line 717.
fetch_modules: error loading optional module Mail/DKIM.pm:
Can't locate Mail/DKIM.pm: lib/Mail/DKIM.pm: Permission denied at /usr/sbin/amavisd-new line 209, <DATA> line 717.fetch_modules: error loading optional module Mail/DKIM/Verifier.pm:
и т.д.
под root выполняется команда # amavisd debug?версию амависа в студию и #cpan -l в студию
> под root выполняется команда # amavisd debug?да, под root
> версию амависа в студию и #cpan -l в студию# dpkg -l | grep amavisd
ii amavisd-new 1:2.10.1-1 all Interface between MTA and virus scanner/content filters# cpan -l > list.txt
Can't stat /usr/local/lib/site_perl: No such file or directory
at /usr/share/perl/5.20/App/Cpan.pm line 1223.# less list.txt
DBI 1.633
DBI::PurePerl 2.014286
DBI::FAQ 1.014935
DBI::ProfileSubs 0.009396
DBI::ProfileDumper 2.015325
DBI::Profile 2.015065
DBI::W32ODBC undef
DBI::Changes undef
DBI::ProfileData 2.010008
DBI::DBD 12.015129
DBI::ProxyServer 0.3005
DBI::Util::CacheMemory 0.010315
DBI::Util::_accessor 0.009479
DBI::Const::GetInfoType 2.008697
DBI::Const::GetInfoReturn 2.008697
DBI::Const::GetInfo::ODBC 2.011374
DBI::Const::GetInfo::ANSI 2.008697
DBI::Gofer::Response 0.011566
DBI::Gofer::Execute 0.014283
DBI::Gofer::Request 0.012537
DBI::Gofer::Transport::stream 0.012537
DBI::Gofer::Transport::pipeone 0.012537
DBI::Gofer::Transport::Base 0.012537
DBI::Gofer::Serializer::Storable 0.015586
DBI::Gofer::Serializer::Base 0.009950
DBI::Gofer::Serializer::DataDumper 0.009950
DBI::ProfileDumper::Apache 2.014121
DBI::SQL::Nano 1.015544
DBI::DBD::SqlEngine 0.06
DBI::DBD::Metadata 2.014214
Razor2::Logger undef
Razor2::String undef
Razor2::Errorhandler undef
Razor2::Syslog 0.03
Razor2::Client::Engine undef
Razor2::Client::Core 1.92
Razor2::Client::Config undef
Razor2::Client::Agent undef
Razor2::Client::Version 2.84
Razor2::Preproc::Manager undef
Razor2::Preproc::deHTMLxs 2.18
Razor2::Preproc::deQP undef
Razor2::Preproc::deHTML_comment undef
Razor2::Preproc::deHTML undef
Razor2::Preproc::deBase64 undef
Razor2::Preproc::enBase64 undef
Razor2::Preproc::deNewline undef
Razor2::Signature::Ephemeral undef
Razor2::Signature::Whiplash undef
Razor2::Engine::VR8 undef
Bundle::DBI 12.008696
Digest::SHA1 2.13
Crypt::OpenSSL::RSA 0.28
Crypt::OpenSSL::Random 0.10
Net::Patricia 1.22
Win32::DBIODBC undef
NetAddr::IP 4.075
NetAddr::IP::Util 1.51
NetAddr::IP::Lite 1.54
NetAddr::IP::Util_IS 1
NetAddr::IP::UtilPP 1.09
NetAddr::IP::InetBase 0.08
DBD::NullP 12.014715
DBD::Gofer 0.015327
DBD::DBM 0.08
DBD::ExampleP 12.014311
DBD::File 0.44
DBD::Sponge 12.010003
DBD::Proxy 0.2004
DBD::Gofer::Transport::stream 0.014599
DBD::Gofer::Transport::pipeone 0.010088
DBD::Gofer::Transport::Base 0.014121
DBD::Gofer::Transport::corostream undef
DBD::Gofer::Transport::null 0.010088
DBD::Gofer::Policy::rush 0.010088
DBD::Gofer::Policy::Base 0.010088
DBD::Gofer::Policy::pedantic 0.010088
DBD::Gofer::Policy::classic 0.010088
CPAN::Meta 2.150005
CPAN::Meta::Feature 2.150005
CPAN::Meta::Spec 2.150005
CPAN::Meta::Prereqs 2.150005
CPAN::Meta::Merge 2.150005
CPAN::Meta::Validator 2.150005
CPAN::Meta::History 2.150005
CPAN::Meta::Converter 2.150005
Geo::Mirror 1.45
Geo::IP 1.45
Geo::IP::Record undef
Net::CIDR::Lite 0.21
Getopt::Long 2.47
Mail::DKIM 0.4
Mail::DKIM::DNS undef
Mail::DKIM::TextWrap undef
Mail::DKIM::Key undef
Mail::DKIM::Signer 0.4
Mail::DKIM::DkSignature undef
Mail::DKIM::AuthorDomainPolicy undef
Mail::DKIM::KeyValueList undef
Mail::DKIM::Policy undef
Mail::DKIM::Common 0.4
Mail::DKIM::MessageParser undef
Mail::DKIM::PrivateKey undef
Mail::DKIM::Signature undef
Mail::DKIM::DkPolicy undef
Mail::DKIM::PublicKey undef
Mail::DKIM::Verifier 0.4
Mail::DKIM::SignerPolicy undef
Mail::DKIM::DkimPolicy undef
Mail::DKIM::Canonicalization::dk_nofws undef
Mail::DKIM::Canonicalization::simple undef
Mail::DKIM::Canonicalization::DkimCommon undef
Mail::DKIM::Canonicalization::Base undef
Mail::DKIM::Canonicalization::relaxed undef
Mail::DKIM::Canonicalization::DkCommon undef
Mail::DKIM::Canonicalization::nowsp undef
Mail::DKIM::Canonicalization::dk_simple undef
Mail::DKIM::Algorithm::dk_rsa_sha1 undef
Mail::DKIM::Algorithm::rsa_sha1 undef
Mail::DKIM::Algorithm::Base undef
Mail::DKIM::Algorithm::rsa_sha256 undef
Module::Build 0.4214
Module::Build::Cookbook 0.4214
Module::Build::PodParser 0.4214
Module::Build::Notes 0.4214
Module::Build::Config 0.4214
Module::Build::Base 0.4214
Module::Build::Dumper 0.4214
Module::Build::Compat 0.4214
Module::Build::ConfigData undef
Module::Build::PPMMaker 0.4214
Module::Build::Platform::Windows 0.4214
Module::Build::Platform::VMS 0.4214
Module::Build::Platform::cygwin 0.4214
Module::Build::Platform::MacOS 0.4214
Module::Build::Platform::darwin 0.4214
Module::Build::Platform::Default 0.4214
Module::Build::Platform::os2 0.4214
Module::Build::Platform::aix 0.4214
Module::Build::Platform::VOS 0.4214
Module::Build::Platform::Unix 0.4214
DBI 1.631
Squirrel undef
BerkeleyDB 0.54
PadWalker 1.98
Socket6 0.25
GSSAPI 0.28
ZeroMQ 0.23
oose 2.1213
Mouse 2.3.0
Moose 2.1213
SNMP 5.07021
encoding 2.12
ouse undef
Encode 2.63
metaclass 2.1213
DBI::PurePerl 2.014286
DBI::FAQ 1.014935
DBI::ProfileSubs 0.009396
DBI::ProfileDumper 2.015325
DBI::Profile 2.015065
DBI::W32ODBC undef
DBI::Changes undef
DBI::ProfileData 2.010008
DBI::DBD 12.015129
DBI::ProxyServer 0.3005
DBI::Util::CacheMemory 0.010315
DBI::Util::_accessor 0.009479
DBI::Const::GetInfoType 2.008697
DBI::Const::GetInfoReturn 2.008697
DBI::Const::GetInfo::ODBC 2.011374
DBI::Const::GetInfo::ANSI 2.008697
DBI::Gofer::Response 0.011566
DBI::Gofer::Execute 0.014283
DBI::Gofer::Request 0.012537+ еще куча всего - не отправляется всё через форму форума -60 с лишним килобайт
DBI::Gofer::Transport::stream 0.012537
DBI::Gofer::Transport::pipeone 0.012537
DBI::Gofer::Transport::Base 0.012537
DBI::Gofer::Serializer::Storable 0.015586
DBI::Gofer::Serializer::Base 0.009950
DBI::Gofer::Serializer::DataDumper 0.009950
DBI::ProfileDumper::Apache 2.014121
DBI::SQL::Nano 1.015544
DBI::DBD::SqlEngine 0.06
DBI::DBD::Metadata 2.014214