最近在学习SNMP,初次接触有点摸不清方向,准备从学习net-snmp开始。
net-snmp是一个开源的snmp agent软件。其下载地址:http://www.net-snmp.org/download.html,当前版本为5.4.2.1。我下载了源代码net-snmp-5.4.2.1.tar.gz。
安装环境为:Solaris 9 和 gcc 3.4.2
创建net-snmp目录
$ mkdir net-snmp
将源程序包移到net-snmp目录下
$ move net-snmp-5.4.2.1.tar.gz net-snmp/.
进入目录net-snmp
$ cd net-snmp
解压并展开net-snmp-5.4.2.1,会在当前目录下产生net-snmp-5.4.2.1的源程序
$ gzip -d net-snmp-5.4.2.1.tar.gz
$ tar xvf net-snmp-5.4.2.1
创建目录5.4.2.1,这是以后生成的net-snmp库及可执行程序的安装目录,缺省是/usr/local,为了不影响系统本生,我们建立一个自己的目录用来作测试之用。
$ mkdir 5.4.2.1
进入net-snmp-5.4.2.1,我们要准备开始编译了
$ cd net-snmp-5.4.2.1
运行configure,将net-snmp库及可执行程序的安装目录设置为5.4.2.1
$ ./configure --prefix=$HOME/net-snmp/5.4.2.1
在configure过程中,会有一些交互,需要我们输入一些参数,如:
Default version of SNMP to use (3): 此处直接回车,即选择缺省的SNMP版本:SNMPv3
System Contact Information (solaris@): 此处直接回车
System Location (Unknown): 此处也直接回车即可,我曾经输入过china,configure完成后make的时候会编译错误提示int8_t类型定义冲突
Location to write logfile (/var/log/snmpd.log): 为了不跟系统原snmp冲突,我设置了新的日志文件:$HOME/net-snmp/5.4.2.1/snmpd.log
Location to write persistent information (/var/net-snmp): 我输入了新的目录:$HOME/net-snmp/5.4.2.1
配置完成后编译net-snmp
$ make
$ make install