- Sophos não atualiza!
+ Responder ao Tópico
-
Sophos não atualiza!
Saudações!
Instalei e configurei um servidor de e-mail com sendmail+mailscanner+sophos. O único problema que encontrei foi na atulização do sophos. Junto com o mailscanner, veio um arquivo de atulização automática que não está funcionando. Quando eu executo o mesmo o sistema diz que não foi possível determinar a versão do sophos, o sistema também mostra erro na linha 94(warn "@_, $!"<IMG SRC="images/forum/icons/icon_wink.gif">.
Alguem pode me ajudar?
O sophos está instaldo em /usr/local/Sophos;
O diretorio que tem os arquivos de .dat é /usr/local/Sophos/ide
O arquivo:
#!/usr/bin/perl
use Sys::Syslog;
$SophosRoot = "/usr/local/Sophos";
$IDELink = "$SophosRoot/ide";
$VDLDir = "IDELink";
#$Lynx = "/usr/local/bin/lynx -dump";
$Lynx = "/usr/bin/wget -q -O-"; # On Linux use this
$Unzip = "/usr/bin/unzip -joqq";
$rm = "/bin/rm";
$LockFile = "/tmp/SophosBusy.lock";
$LOCK_SH = 1;
$LOCK_EX = 2;
$LOCK_NB = 4;
$LOCK_UN = 8;
Sys::Syslog:<IMG SRC="images/forum/icons/icon_eek.gif">penlog("Sophos-autoupdate", ´pid, nowait´, ´mail´
# Work out the current VDL (and hence Sophos Sweep) version number
#chdir "$SophosRoot/bin/$VDLDir";
chdir "IDELink";
opendir(LIBDIR, "."<IMG SRC="images/forum/icons/icon_wink.gif"> || &BailOut("Cannot open Sophos/lib directory"<IMG SRC="images/forum/icons/icon_wink.gif">;
foreach $vdlname (sort readdir(LIBDIR)) {
next unless $vdlname =~ /^vdl-(\d+)\.(\d+)([a-z]?)\.dat$/;
$MajorVer = $1;
$MinorVer = $2;
$NSVFlag = $3;
}
closedir(LIBDIR);
&BailOut("Could not calculate Sophos version number"<IMG SRC="images/forum/icons/icon_wink.gif">
unless defined($MajorVer) && defined($MinorVer);
$SophosVersion = "$MajorVer$MinorVer";
$VDLVersion = "$MajorVer.$MinorVer";
# Derive other variables, filenames and URLs from the version numbers
$ZipName = $SophosVersion. "_ides.zip";
$URL = "http://www.sophos.com/downloads/ide/$ZipName";
($min,$hour,$date,$month,$year) = (localtime)[1,2,3,4,5];
$month++;
$year+=1900;
$IDEDir = "$SophosRoot/ide." . sprintf("%04d%02d%02d%02d%02d", $year, $month, $date, $hour, $min);
# If the directory already exists, then we have already done the update
# for today, so quietly exit.
Sys::Syslog::syslog(´info´, "Sophos already up-to-date"<IMG SRC="images/forum/icons/icon_wink.gif">,exit 0 if -d $IDEDir;
# Create the IDE files directory
umask 0022;
mkdir $IDEDir, 0755;
chdir $IDEDir or &BailOut("Cannot cd $IDEDir, $!"<IMG SRC="images/forum/icons/icon_wink.gif">;
# Fetch and unpack the IDE zip file from Sophos
#print STDERR "URL is $URL\n";
$result = system("$Lynx $URL > $ZipName"<IMG SRC="images/forum/icons/icon_wink.gif">;
if (($result>><IMG SRC="images/forum/icons/icon_cool.gif">==1) {
Sys::Syslog::syslog(´err´, "Your Sophos installation may be too old. Please install the latest release of Sophos"<IMG SRC="images/forum/icons/icon_wink.gif">;
print STDERR "Your Sophos installation may be too old. Please install the latest release of Sophos";
}
&BailOut("Lynx failed with error return " . ($result>><IMG SRC="images/forum/icons/icon_cool.gif"> . "\n"<IMG SRC="images/forum/icons/icon_wink.gif"> if $result>>8;
$result = system("$Unzip $ZipName"<IMG SRC="images/forum/icons/icon_wink.gif">;
if ($result>><IMG SRC="images/forum/icons/icon_cool.gif"> {
Sys::Syslog::syslog(´err´, "Unzipping the new Sophos IDE files failed. This may well be because your Sophos installation is too old. Please install the latest release of Sophos"<IMG SRC="images/forum/icons/icon_wink.gif">;
print STDERR "Unzipping the new Sophos IDE files failed. This may well be because your Sophos installation is too old. Please install the latest release of Sophos";
&BailOut("Unzip failed with error return " . ($result>><IMG SRC="images/forum/icons/icon_cool.gif"> . "\n"<IMG SRC="images/forum/icons/icon_wink.gif">;
}
symlink("$VDLDir/vdl-$VDLVersion$NSVFlag.dat", "vdl.dat"<IMG SRC="images/forum/icons/icon_wink.gif">;
# Add the new vdl*.vdb files if they are there
foreach $number (1..99) {
$string = "vdl" . sprintf("%02d", $number) . ".vdb";
symlink("$VDLDir/$string", $string) if -f "$VDLDir/$string";
}
# Link in this new directory to Sophos
chdir $SophosRoot or &BailOut("Cannot cd $SophosRoot, $!"<IMG SRC="images/forum/icons/icon_wink.gif">;
$OldLinkTarget = readlink $IDELink;
&LockSophos();
unlink $IDELink if -l $IDELink;
symlink $IDEDir, $IDELink;
&UnlockSophos();
system("$rm -rf $OldLinkTarget"<IMG SRC="images/forum/icons/icon_wink.gif"> if defined $OldLinkTarget && -e $OldLinkTarget;
Sys::Syslog::syslog(´info´, "Sophos successfully updated in $IDEDir"<IMG SRC="images/forum/icons/icon_wink.gif">;
Sys::Syslog::closelog();
exit 0;
sub BailOut {
Sys::Syslog::syslog(´err´, @_);
Sys::Syslog::closelog();
warn "@_, $!";
chdir $SophosRoot or die "Cannot cd $SophosRoot, $!";
system("$rm -rf $IDEDir"<IMG SRC="images/forum/icons/icon_wink.gif"> if -d $IDEDir;
exit 1;
}
sub LockSophos {
open(LOCK, ">$LockFile"<IMG SRC="images/forum/icons/icon_wink.gif"> or return;
flock(LOCK, $LOCK_EX);
print LOCK "Locked for updating Sophos IDE files by $$\n";
}
sub UnlockSophos {
print LOCK "Unlocked after updating Sophos IDE files by $$\n";
unlink $LockFile;
flock(LOCK, $LOCK_UN);
close LOCK;
}
-
Sophos não atualiza!
esse monte de carinhas não ajuda muito...
esse erro é do script perl, mas com esse monte de smileys eu não entendi nada...
-
Sophos não atualiza!
Diz teu e-mail que eu mando pra você...