Video Screencast Help

SAV for linux can't update

Created: 03 Oct 2013 | 7 comments
D@ry1's picture

Hi,

Why cant we update our SAV it says like this:

Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: jlue
   at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
   at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
   at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
   at com.symantec.liveupdate.LiveUpdate.startSession(com.symantec.liveupdate.JluOptions) (Unknown Source)
   at com.symantec.liveupdate.LiveUpdate.run() (Unknown Source)
   at com.symantec.liveupdate.LiveUpdate.main(java.lang.String[]) (Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.crypto.Cipher not found in [file:/opt/Symantec/LiveUpdate/jlu.jar, file:/usr/share/java/libgcj-3.4.6.jar, file:./, core:/]
   at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
   at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
   at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
   at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_BytecodeVerifier.type.compatible(_Jv_BytecodeVerifier.type&, _Jv_BytecodeVerifier) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
   at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
 

Can anyone help me? I'm not familiar with linux.

Thanks,

Operating Systems:

Comments 7 CommentsJump to latest comment

pete_4u2002's picture

looks like java related issue, can you reinstall Java?

is the kernel version supported ?

Mithun Sanghavi's picture

Hello,

As per the Logs above, we see the below errors:

   at com.symantec.liveupdate.LiveUpdate.startSession(com.symantec.liveupdate.JluOptions) (Unknown Source)
   at com.symantec.liveupdate.LiveUpdate.run() (Unknown Source)
   at com.symantec.liveupdate.LiveUpdate.main(java.lang.String[]) (Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.crypto.Cipher not found in [file:/opt/Symantec/LiveUpdate/jlu.jar, file:/usr/share/java/libgcj-3.4.6.jar, file:./, core:/]
   at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)

You may like to check these Articles:

Symantec AntiVirus for Linux (SAVFL) client fails to update definition through LiveUpdate

http://www.symantec.com/docs/TECH93974

Configuring Symantec Antivirus for Linux (SAVFL) to download definitions from the Distribution Center of an internal LiveUpdate Administrator (LUA) 2.x Server

http://www.symantec.com/docs/TECH93505

SAV for Linux: A (Somewhat) Illustrated Guide Part 3

https://www-secure.symantec.com/connect/articles/sav-linux-somewhat-illustrated-guide-part-3  

and check this Thread with similar query - 

https://www-secure.symantec.com/connect/forums/sav-linux-virus-definitions-not-reported-being-updated

 

Secondly, you can update a Linux-based computer with Intelligent Updater definitions

Here are the steps:

1. Obtain the Intelligent Updater from one of the following locations:

a. http://www.symantec.com/business/security_response/definitions/download/detail.jsp?gid=savce
Look for a filename ending in unix.sh (for example, 20091014-003-unix.sh).

b. ftp://ftp.symantec.com/AVDEFS/symantec_antivirus_corp/
Look for a filename ending in unix.sh (for example, 20091014-003-unix.sh).

c. ftp://ftp.symantec.com/AVDEFS/symantec_antivirus_corp/static/symcdefs-unix.sh
This is a statically named file that is updated with each daily release of definitions.

Note: The file download via HTTP is typically faster than FTP. The current size of the file is just over 300MB.

NOTE: The .SH file needs to have Executable permissions. To accomplish this, execute the following command:
chmod +x *unix.sh
 

2. The script must be executed as root or by using sudo; if it is not, the following error will occur.

  • $ ./symcdefs-unix.sh
    Validating available tools...

    ERROR: Require write access to /opt/Symantec/virusdefs/incoming.
    There are several methods to meet this requirement.
    1. Run this script from the root user account.
    2. Add the current user as a member of the "avdefs" user
    group.
    3. chmod 777 for /opt/Symantec/virusdefs/incoming.
    We recommend either of the first two options for security reasons.

3. Uudecode and uncompress must be installed. These can usually be installed by installing the Sharutils package. In some instances, you may need to install the ncompress package as well.

Note: If you get an error referencing either utility, please run one of these commands as root or by using sudo to install them. The command to install sharutils may be different than those listed below, depending on the distribution and version of Linux being used.

  • up2date sharutils
    yum install sharutils
    apt-get install sharutils
  • up2date ncompress
    yum install ncompress
    apt-get install ncompress

Reference:

How to update a Linux-based computer with Intelligent Updater definitions

http://www.symantec.com/docs/TECH96754

Other Related Articles

How to remediate virus definitions in Symantec Antivirus for Linux (SAVFL) 1.0.x

TECH123107   A terminal line walkthrough of applying Intelligent Updater Definitions to a SAV for Linux client.

Hope that helps!!

Mithun Sanghavi
Senior Consultant
MIM | MCSA | MCTS | STS | SSE | SSE+ | ITIL v3

Don't forget to mark your thread as 'SOLVED' with the answer that best helped you.

D@ry1's picture

Hi Mithun,

Can you check this logs too?

I'm on another client and it seems to have a problem too.

 

 
Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: jlue
   at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_PrepareClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_WaitForState(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
   at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0)
   at com.symantec.liveupdate.LiveUpdate.startSession(com.symantec.liveupdate.JluOptions) (Unknown Source)
   at com.symantec.liveupdate.LiveUpdate.run() (Unknown Source)
   at com.symantec.liveupdate.LiveUpdate.main(java.lang.String[]) (Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.crypto.Cipher not found in [file:/opt/Symantec/LiveUpdate/jlu.jar, file:/usr/share/java/libgcj-3.4.6.jar, file:./, core:/]
   at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib64/libgcj.so.5.0.0)
   at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib64/libgcj.so.5.0.0)
   at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib64/libgcj.so.5.0.0)
   at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_BytecodeVerifier.type.compatible(_Jv_BytecodeVerifier.type&, _Jv_BytecodeVerifier) (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_PrepareClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
   at _Jv_WaitForState(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
   at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
 
Thanks,
D@ry1's picture

Hey Man.

 

We follow the link and whenever we run ./sav liveupdate -u it doesnt show any java error anymore. We are currently on the production server. Can you tell me if there's going to be a problem if we change the local_policy and the US_export_policy while the java is in use?

 

Thanks,

D@ry1's picture

Hi Mithun,  

I noticed that our java directory is like this "/usr/java/jre/lib/security" and base on the  link inside the link you send me:  https://www-secure.symantec.com/connect/articles/how-install-sav-linux-savfl-and-update-it-using-lua-2x-23071 it should be like this  "/usr/java/jre1.6.0_35/lib/security".

As you cen see the jre folder on ours dont have the full version on it's name, does this matter?

Thanks,

Rafeeq's picture

Hello Daryl,

are all the liveudpate sites open ? I believe you edit the conf file can you cross check that.