Page 2 of 2 FirstFirst 12
Results 11 to 13 of 13

Thread: Kaspersky on Ubuntu 8.04.1

  1. #11
    Join Date
    Jun 2008
    Location
    Romania
    Beans
    19
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Kaspersky on Ubuntu 8.04.1

    Code:
    #!/bin/sh
    
    # Basic support for IRIX style chkconfig
    # chkconfig: 2345 50 30
    # description: Kaspersky Anti-Virus on-access scanner
    
    ### BEGIN INIT INFO
    # Required-Start: $syslog
    # Default-Start: 2 3 5
    # Default-Stop:  0 1 6
    # Description: Kaspersky Anti-Virus on-access scanner
    ### END INIT INFO
    
    BIN='/opt/kaspersky/kav4ws/sbin/kav4ws-kavmonitor'
    CONF='/etc/opt/kaspersky/kav4ws.conf'
    
    if [ -s $CONF ] ; then
        PID_FILE=`awk '{if($1 ~/monitor.path/){sec="monitor"}; if($1 ~/^\s*PidFile/ && sec=="monitor") {print $1; sec=""}}' "$CONF" </dev/null | cut -d'=' -f2`
    fi
    
    rc=0
    
    rc() {
        err=""
        case $rc in
        0)
    	;;
        30)
    	err="system error"
    	;;
        64)
    	err="license error" 
    	;;
        65)
    	err="configuration file could not found"
    	;;
        66)
            err="error configuration parameter"
    	;;
        70)
            err="the component is damaged"
    	;;
        ### Additional error codes
        120)
    	err="pid file not found"
    	;;
        121)
    	err="probably is dead but pid file not deleted"
    	;;
        122)
    	err="pid file is empty"
    	;;
        123)
    	err="operation timeout"
    	;;
        201)
    	err="signal sending error"
    	;;
        *)
    	err="unknown code $rc"
        esac
        if [ -n "$err" ] ; then
    	if [ -n "$1" ] ; then
    	    echo "$1: $err"
    	else
    	    echo "$err"
    	fi
        fi
    }
    
    get_kavpid() {
        if [ -s "$CONF" ] ; then
    	if [ -n "$PID_FILE" -a -f "$PID_FILE" ] ; then
        	    PID=`head "$PID_FILE" 2> /dev/null`
    	    if [ -z "$PID" ] ; then
    		# echo "pid file is empty"
    		return 122
    	    fi
        	    echo $PID
        	    return 0
    	else
        	    # echo "pid file not found"
    	    return 120
    	fi
        else
            # echo "Config file not found"
            return 65
        fi
    }
    
    start() {	
        if [ -x $BIN ];then
    	if $0 status >/dev/null ; then
    	    echo 'kavmonitor already started'
    	    rc=0
    	else
    	    ${BIN} -C "${CONF}"
    	    rc=$?
    	    if [ $rc -eq 0 ] ; then
    		echo 'kavmonitor started'
    	    else
    		rc "kavmonitor not started"
    	    fi
    	fi
        else
    	echo "$BIN was not found"
    	rc=5
        fi
    }
    	
    stop() {
        if $0 status >/dev/null ; then
    	PID=`get_kavpid`
    	rc=$?
    	if [ $rc -eq 0 ] ; then
    	    if kill "$PID"
    	    then
    		wait=0
    		while [ -f "$PID_FILE" -a $wait -le 30 ]; do
    		    sleep 1
    		    wait=$(($wait + 1))
    		done
    		if [ -f "$PID_FILE" ] ; then
    		    rc=123
    		fi
    	    else
    		rc=201
    	    fi	
    	fi
    
            if [ $rc -eq 0 ] ; then
        	    echo 'kavmonitor stopped'
    	else
    	    rc "kavmonitor could not be stopped"
            fi
        else
    	echo 'kavmonitor already stopped'
    	rc=0
        fi
    
        return $rc
    }	
    
    restart() {
        stop
        start
    }	  
    	
    reload() {
        PID=`get_kavpid`
        rc=$?
        if [ $rc -eq 0 ] ; then
    	if ! kill -HUP "$PID" 2>/dev/null 
    	then
    	    rc=201
            fi
        fi
        if [ $rc -eq 0 ] ; then
    	echo 'kavmonitor reloaded'
        else
    	rc "kavmonitor could not be reloaded"
        fi
        return $rc
    }	  
    
    reload_avbase() {
        PID=`get_kavpid`
        rc=$?
        if [ $rc -eq 0 ] ; then
    	if ! kill -USR1 "$PID" 2>/dev/null
    	then
    	    rc=201
            fi
        fi
        if [ $rc -eq 0 ] ; then
    	echo 'kavmonitor AV bases reloaded'
        else
            rc "kavmonitor could not reload AV bases"
        fi
        return $rc
    }
    
    status() {
        pid=`get_kavpid`
        rc=$?
        if [ $rc -eq 0 ] ; then
    	kill -0 "$pid" 2>/dev/null
    	if test $? -eq 0 ; then
    	    status="running"
    	    rc=0
    	else
    	    status="dead"
    	    rc=1
    	fi
        else
    	status="stopped"
    	rc=3
        fi
        echo "Kaspersky Anti-Virus on access scanner is $status."
    }
    
    case "$1" in
    
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status
        ;;
    restart)
        restart
        ;;
    reload)
        reload
        ;;
    reload_avbase)
        reload_avbase
        ;;	
    *)
        echo "Usage: `basename $0` {start|stop|status|restart|reload|reload_avbase}" >&2
        exit 1
        ;;
    esac
    
    exit $rc

  2. #12
    Join Date
    Nov 2007
    Location
    Atlanta, Georgia
    Beans
    494
    Distro
    Ubuntu 8.04 Hardy Heron

    Re: Kaspersky on Ubuntu 8.04.1

    Quote Originally Posted by ientzy View Post
    Code:
    #!/bin/sh
    
    # Basic support for IRIX style chkconfig
    # chkconfig: 2345 50 30
    # description: Kaspersky Anti-Virus on-access scanner
    
    ### BEGIN INIT INFO
    # Required-Start: $syslog
    # Default-Start: 2 3 5
    # Default-Stop:  0 1 6
    # Description: Kaspersky Anti-Virus on-access scanner
    ### END INIT INFO
    
    BIN='/opt/kaspersky/kav4ws/sbin/kav4ws-kavmonitor'
    CONF='/etc/opt/kaspersky/kav4ws.conf'
    
    if [ -s $CONF ] ; then
        PID_FILE=`awk '{if($1 ~/monitor.path/){sec="monitor"}; if($1 ~/^\s*PidFile/ && sec=="monitor") {print $1; sec=""}}' "$CONF" </dev/null | cut -d'=' -f2`
    fi
    
    rc=0
    
    rc() {
        err=""
        case $rc in
        0)
        ;;
        30)
        err="system error"
        ;;
        64)
        err="license error" 
        ;;
        65)
        err="configuration file could not found"
        ;;
        66)
            err="error configuration parameter"
        ;;
        70)
            err="the component is damaged"
        ;;
        ### Additional error codes
        120)
        err="pid file not found"
        ;;
        121)
        err="probably is dead but pid file not deleted"
        ;;
        122)
        err="pid file is empty"
        ;;
        123)
        err="operation timeout"
        ;;
        201)
        err="signal sending error"
        ;;
        *)
        err="unknown code $rc"
        esac
        if [ -n "$err" ] ; then
        if [ -n "$1" ] ; then
            echo "$1: $err"
        else
            echo "$err"
        fi
        fi
    }
    
    get_kavpid() {
        if [ -s "$CONF" ] ; then
        if [ -n "$PID_FILE" -a -f "$PID_FILE" ] ; then
                PID=`head "$PID_FILE" 2> /dev/null`
            if [ -z "$PID" ] ; then
            # echo "pid file is empty"
            return 122
            fi
                echo $PID
                return 0
        else
                # echo "pid file not found"
            return 120
        fi
        else
            # echo "Config file not found"
            return 65
        fi
    }
    
    start() {    
        if [ -x $BIN ];then
        if $0 status >/dev/null ; then
            echo 'kavmonitor already started'
            rc=0
        else
            /bin/mkdir -p /var/run/kav4ws 2>/dev/null
            ${BIN} -C "${CONF}"
            rc=$?
            if [ $rc -eq 0 ] ; then
            echo 'kavmonitor started'
            else
            rc "kavmonitor not started"
            fi
        fi
        else
        echo "$BIN was not found"
        rc=5
        fi
    }
        
    stop() {
        if $0 status >/dev/null ; then
        PID=`get_kavpid`
        rc=$?
        if [ $rc -eq 0 ] ; then
            if kill "$PID"
            then
            wait=0
            while [ -f "$PID_FILE" -a $wait -le 30 ]; do
                sleep 1
                wait=$(($wait + 1))
            done
            if [ -f "$PID_FILE" ] ; then
                rc=123
            fi
            else
            rc=201
            fi    
        fi
    
            if [ $rc -eq 0 ] ; then
                echo 'kavmonitor stopped'
        else
            rc "kavmonitor could not be stopped"
            fi
        else
        echo 'kavmonitor already stopped'
        rc=0
        fi
    
        return $rc
    }    
    
    restart() {
        stop
        start
    }      
        
    reload() {
        PID=`get_kavpid`
        rc=$?
        if [ $rc -eq 0 ] ; then
        if ! kill -HUP "$PID" 2>/dev/null 
        then
            rc=201
            fi
        fi
        if [ $rc -eq 0 ] ; then
        echo 'kavmonitor reloaded'
        else
        rc "kavmonitor could not be reloaded"
        fi
        return $rc
    }      
    
    reload_avbase() {
        PID=`get_kavpid`
        rc=$?
        if [ $rc -eq 0 ] ; then
        if ! kill -USR1 "$PID" 2>/dev/null
        then
            rc=201
            fi
        fi
        if [ $rc -eq 0 ] ; then
        echo 'kavmonitor AV bases reloaded'
        else
            rc "kavmonitor could not reload AV bases"
        fi
        return $rc
    }
    
    status() {
        pid=`get_kavpid`
        rc=$?
        if [ $rc -eq 0 ] ; then
        kill -0 "$pid" 2>/dev/null
        if test $? -eq 0 ; then
            status="running"
            rc=0
        else
            status="dead"
            rc=1
        fi
        else
        status="stopped"
        rc=3
        fi
        echo "Kaspersky Anti-Virus on access scanner is $status."
    }
    
    case "$1" in
    
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status
        ;;
    restart)
        restart
        ;;
    reload)
        reload
        ;;
    reload_avbase)
        reload_avbase
        ;;    
    *)
        echo "Usage: `basename $0` {start|stop|status|restart|reload|reload_avbase}" >&2
        exit 1
        ;;
    esac
    
    exit $rc
    Try adding /bin/mkdir -p /var/run/kav4ws 2>/dev/null to start. I put the change in red in the script. Its not very nice but hopefully it fixes your specific issue.
    GNU/Linux>Windows

  3. #13
    Join Date
    Jun 2008
    Location
    Romania
    Beans
    19
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Kaspersky on Ubuntu 8.04.1

    Quote Originally Posted by ilrudie View Post
    Try adding /bin/mkdir -p /var/run/kav4ws 2>/dev/null to start. I put the change in red in the script. Its not very nice but hopefully it fixes your specific issue.
    Thank alot, work fine.

Page 2 of 2 FirstFirst 12

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •