Debian环境下的Jpcap 安装与配置

环境:Debian3.2.60-1+deb7u1 x86_64 GNU/Linux

工具包:

    jdk-6u45-linux-x64.bin

    libpcap-1.6.1.tar.gz  (下载地址:http://www.tcpdump.org/#latest-release)

    jpcap-0.7.tar.gz

安装过程:

1.      安装JDK (此处安装的为JDK1.6),并配置环境。

2.      安装下面软件之前,最好升级更新一下,以免有缺失软件包的错误

    $ apt-get update

前提软件包括:gcc、flex、make 、bison

逐个检测是否存在,不存在则安装

    $apt-get install gcc

    $ apt-get install flex

    $ apt-get install make

    $ apt-get install bison

3.      将libpcap-1.6.1.tar.gz解压后复制到/usr/lib/jvm/下[具体目录按各系统情况自定]

  $tar zxvf libpcap-1.6.1.tar.gz

  $tar libpcap-1.6.1 /usr/lib/jvm/

然后进入该目录下:/usr/lib/jvm/libpcap-1.6.1

运行命令:

      $./configure  –回车

      $make  –回车

      $make install –回车

[注意]:将/usr/local/lib下的libpcap.so.1

复制到/usr/lib/jvm/j2sdk1.6oracle/jre/lib/amd64/下,

否则最后编译文件后,运行会提醒找不到libpcap.so.1,(编译后进行链接亦可)

  $cp libpcap.so.1 /usr/lib/jvm/j2sdk1.6oracle/jre/lib/amd64/

4.      将jpcap-0.7.tar.gz解压后复制到/usr/lib/jvm/下[具体目录视安装情况而定]

  $tar zxvf jpcap-0.7.tar.gz

  $cp jpcap-0.7 /usr/lib/jvm/

然后进入到jpcap安装目录src/c中,打开Makefile文件找到:

  $(CC) $(COMPILE_OPTION) -I$(JNI_INCLUDE) 这一行修改为

  $(CC) $(COMPILE_OPTION) -fPIC -I$(JNI_INCLUDE)  并保存

然后在src/c目录中输入命令

  $ make –回车

这时会在src/c目录生成libjpcap.so文件,

注:如果libjpcap.so文件没有生成的话,请检查以上所提软件包有没有全部安装。

最后把生成的libjpcap.so,复制到你java目录/jre/lib/amd64下。

并将jpcap解压目录/lib下的jpcap.jar,复制到你java目录/jre/lib/ext。

    $cp libpcap.so /usr/lib/jvm/j2sdk1.6oracle/jre/lib/amd64/

    $cp jpcap.jar   /usr/lib/jvm/j2sdk1.6oracle/jre/lib/ext

最后附上Shell Script文件,可以一键安装Jpcap和JDK,

#! /bin/bash
#! /bin/bash
#
# Program:
#    Usage: InstallJacap <source files> <source files> [<source files>]
#
#    This program can help you install Jacap rapidly
#    and help configure relevant settings.
#
# History:
# 2014/7/31   Li Yunpeng  First release

function GetFilename(){
    ls > /tmp/InstallJavaCatalog.old
    #Decompressing files
    #echo "start to tar..."
    if  # Different packages use different way to unzip
      echo $1 | sed ‘s/^.*\.//g‘| grep "gz"
    then
          tar zxvf "$1"
    else
        ./$1
    fi
    ls> /tmp/InstallJavaCatalog.new
    #Get the folder‘s name of Java
    diff /tmp/InstallJavaCatalog.old /tmp/InstallJavaCatalog.new | grep "^>" |tr -d ‘> ‘
    #Delete temporary files
    rm -f /tmp/InstallJavaCatalog.old
    rm -f /tmp/InstallJavaCatalog.new
}

function InstallJDK() {
    echo "start to install Java..."
    JavaFilename=`GetFilename "$1"`

    #Found the folder
    #Move Java‘s folder to /usr/lib/jvm/
    mv -i $JavaFilename /usr/lib/jvm/
    echo "complete the installation of Java..."
    echo "configuring relevant settings about Java..."
    #Add the environment variable
    echo  "JAVA_HOME=/usr/lib/jvm/$JavaFilename" >> /etc/profile
    echo  ‘PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH‘ >> /etc/profile
    source /etc/profile
} #Install JDK

#check up if log in by root
if [ `whoami` != "root" ];then
    echo "Please use this command in root."
    exit 1
fi

InstallCatalog=`pwd`
mkdir -p /usr/lib/jvm/

case $# in
  "2")
    #Exclude other documents.
    if
      [[ $(echo $1 | sed ‘s/^.*\.//g‘ | grep "gz" > /dev/null) &&       $(echo $2 | sed ‘s/^.*\.//g‘ | grep "gz" > /dev/null) ]]
    then
        echo "File type error ."
        echo "InstallJacap <*.tar.gz> <*.tar.gz> ."
    fi
    #Check if Java has been installed
    if
           ! echo $JAVA_HOME > /dev/null
        then
        echo "Java has NOT been installed."
        exit 1
    fi
    ;;
  "3")
    #Exclude other documents.
    if
     [[ $(echo $1 | sed ‘s/^.*\.//g‘| grep -E ‘bin|gz‘ > /dev/null) &&         $(echo $2 | sed ‘s/^.*\.//g‘| grep "gz"  > /dev/null) &&         $(echo $3 | sed ‘s/^.*\.//g‘| grep "gz" > /dev/null) ]]
    then
      echo "File type error ."
      echo "InstallJacap <*.bin> <*.tar.gz> <*.tar.gz> ."
    fi
    #Check if Java has been installed
    if
      echo $JAVA_HOME > /dev/null
    then
        #Install Java
        InstallJDK $1
        shift
    else

        echo "Java has been already installed."
        exit 1
    fi
    ;;

  *)
    echo "parameter(s) error."
    exit 1
    ;;
esac

#First determine the catalog ,Because different Java‘s versions can lead to configuration files which will move to different folder.
cd ${JAVA_HOME}/jre/lib
if [ -e amd64 ];then
    Moveto=amd64
else
    Moveto=i586
fi
Catalog=${JAVA_HOME}/jre/lib/${Moveto}
cd $InstallCatalog

source /etc/profile
#check gcc,flex,make and bison exist
echo "Check gcc,flex,make and bison exist"
dpkg -l | grep gcc  > /dev/null || apt-get install gcc
dpkg -l | grep flex > /dev/null || apt-get install flex
dpkg -l | grep make > /dev/null || apt-get install make
dpkg -l | grep bison > /dev/null || apt-get install bison

LibpcapFilename=$(GetFilename "$1")
#move folder
mv -i $LibpcapFilename /usr/lib/jvm/
cd /usr/lib/jvm/$LibpcapFilename
./configure
make
make install
cp /usr/local/lib/libpcap.so.1 $Catalog

cd $InstallCatalog
JpcapFilename=$(GetFilename "$2")
#move folder
mv -i $JpcapFilename /usr/lib/jvm/
#add "-fPIC" to "Makefile"
sed -i ‘s/$(CC) $(COMPILE_OPTION)/$(CC) $(COMPILE_OPTION) -fPIC/g‘ /usr/lib/jvm/$JpcapFilename/src/c/Makefile
cd /usr/lib/jvm/$JpcapFilename/src/c
make
#move libjpcap.so to $Catalog  ps:$Catalog=${JAVA_HOME}/jre/lib/[amd64 or i386 or i686]
cp libjpcap.so $Catalog

#move jpcap.jar to ${JAVA_HOME}/jre/lib/ext
cp /usr/lib/jvm/$JpcapFilename/lib/jpcap.jar ${JAVA_HOME}/jre/lib/ext

echo "--------------------------------------"
echo "Installation has been completed."
echo "Please logoff."
echo "--------------------------------------"
时间: 2024-10-07 11:55:57

Debian环境下的Jpcap 安装与配置的相关文章

Windows环境下MongoDB的安装与配置

MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链接 点击DOWNLOAD下载  目前最新的版本是3.2.4,下载好后选择安装目录,这里选择d:\mongo3.2 配置MongoDB 在目录 d:\mongo3.2下新建一个mongo.config文件,这个文件是用来对MONGODB进行配置用的, 在d:\mongo3.2\bin下新建一个目录db

Win7环境下JDK的安装与配置

初学java,希望自己能够坚持一步一脚印的学习,打好基础,动手操作——致自己 一.了解java的历史及发展 1990年,sun公司预料嵌入式的发展,决定开发一种新的面向对象语言. 1996年,JDK 1.0版本包括:JRE(运行环境) :包括核心API.集成API.用户界面API.发布技术.java虚拟机JVM JDK(开发环境):javac(java程序的编译器) 1997年,JDK 1.1版本.新增JIT(及时编译编译器).传统的编译器是编译一条运行完后将其扔掉,而及时编译会将经常用到的指令

【Lua】Debian环境下openresty的安装

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. OpenResty 通过汇聚各种设计精良的 Nginx 模块, 从而将 Nginx 有效的变成一个强大的 Web 应用服务器, 这样, Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种C以及Lua 模块, 快速构造出足以胜任 10K+ 并发连接响应的超高性能Web 应用系统. OpenResty 的

Window环境下的Python安装及配置

一.Python安装 1.到python官网上下载安装文件(https://www.python.org/downloads/windows/) 我们选择版本3.4.4,点击上面黄色标识出的windows x86 MIS install(主要用于windows 32位安装),下载本地解压 2.安装python 第一步:点击 双击下载下来的文件  第二步: 第三步:选择安装路径 第四步:选择安装功能,全选就可以 第五步:安装完成 3.测试安装 我们一般使用 python -V 命令 如果出现下图所

【Redis学习】:Windows环境下的Redis安装与配置

Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key- Value数据库,并提供多种语言的API. 它通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(list), 集 合(sets) 和 有序集合(sorted sets)等类

linux环境下Nginx的安装、配置及使用

因为工作环境大多数都是windows server服务器,仅有的linux服务器同事们都在抢着用,所以特意买了一台阿里云服务器,感兴趣的小伙伴可以了解一下,一年只要293: https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=tmy8r0z0 系统版本:CentOS7.4 64位  当我吭哧吭哧安装好nginx可以正常访问之后,手贱输入了yum install nginx然后发现居然可以这样下载安装!!!只是安装的版本是1.12.2,

Linux环境下OpenSceneGraph的安装和配置

1.在GitHub上下载OpenSceneGrpah的源码包,地址. 2.解压缩源码包并进入源码包; 3.安装所需的依赖库: 先输入命令: sudo apt-get install openscenegraph 再次执行cmake . 后依然会提示缺少很多依赖库,依次手动安装: egl:libgles2-mesa-devfreetype:libfreetype6-devjpeg:libjpeg-devfltk:fltk1.3-devcurl:libopenssl-devgstreamer:lib

全网最详细的大数据集群环境下如何正确安装并配置多个不同版本的Cloudera Hue(图文详解)

不多说,直接上干货! 为什么要写这么一篇博文呢? 是因为啊,对于Hue不同版本之间,其实,差异还是相对来说有点大的,具体,大家在使用的时候亲身体会就知道了,比如一些提示和界面. 下载版本: cdh版本 http://archive-primary.cloudera.com/cdh5/cdh/5/ 假设,我已经安装了如下的一个Hue版本 具体,见 https://www.cnblogs.com/zlslch/category/996966.html 而,我现在,安装另一个Hue版本 下载需要的系统

CentOs6.5环境下PostgreSQL的安装与配置总结以及远程连接问题的解决

最近装了linux系统CentOs6.5,由于项目中要用到PostgreSQL,所以装了9.2的版本.由于 接触linux系统很少,所以开始的时候很费力.现在,把这两天的工作总结如下: 一:PostgreSQL9.2的安装 安装的时候我参考了园子里的大神的帖子,特发网址如下:http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html 就是在卸载已安装的PostgreSQL的时候,会遇到有依赖项无法卸载的情况,这个时候就要换一下卸载顺