您的位置:首页 > 运维架构 > Linux

net-snmp-5.7.3移植到OK6410开发板

2015-12-30 18:14 531 查看
1,从www.net.-snmp.org下载net-snmp5.7.3源码包解压

2,配置 ./configure
--build=i686-linux //编译平台,根据平台的不同,可能需要改成i386
--host=arm-linux  //运行平台
CC=arm-linux-gcc  //交叉编译器
--with-endianness=little //指定小端
--enable-mini-agent  //最小的SNMP(编译出来的SNMP比较小)
--with-install-prefix=/home/red/net-snmp //安装目录,这个是编译后安装的目录,需要在这些目录下的文件拷贝到开发板运行的arm版本上
--with-ar=arm-linux-ar //arm-linux-ar二进制工具用来管理文件
LDFLAGS="-static"//静态编译,如果有些库找不到,可以在双引号内添加类似 -L/usr/lib这样的目录,指定你的库文件所在的路径。
--disable-manuals//不安装手册
--disable-embedded-perl//有时候找不到perl库文件,可以禁止编译perl部分
--without-perl-modules //没有perl模块
以上可以用./configure -help来查看各个选项的含义

配置时的问题可以全部选择默认,一路enter下去

3,编译 make

4,安装 make install ,这一步需要用root权限,会安装到第二步配置中指定的目录路径下。

5,编译后的snmpd,snmpwalk等程序比较大的话,可以用arm-linux-strip xxxx 命令压缩一下程序。

6,查看/home/red/net-snmp/usr/local/bin/目录下是否有snmpwalk,snmpset等程序,sbin/目录下是否有snmpd程序,有表示安装成功。



7,将snmpwalk,snmpset ,snmpd分别拷贝到开发板对的的usr/bin,usr/sbin目录下

8,将源码包中的EXAMPLE.conf mibs文件夹拷贝到开发板/usr/local/share/snmp目录下,如果没有就建立一个这样的目录,并将文件名改成snmpd.conf,该文件是配置文件

9,修改snmpd.conf中的配置,将AGENT BEHAVIOUR下的agentAddress udp:127.0.0.1:161修改为ageentAddress udp:161,原来的配置是只本机的snmp访问,修改以后其它的设备才可以访问。



在ACCESS CONTROL段增加view systemonly included .1,这个改动为了可以访问.1节点下面的所以信息。



以上配置完以后,用snmpd -c /usr/local/share/snmpd.conf 重新载入配置文件。

测试:在主机输入以下命令$snmpwalk -v 2c -c public 192.168.2.166 sysName.0,192.168.2.166是开发板的IP,sysName是对应的节点全称。显示如下SNMPv2-MIB::sysName.0 = STRING: FORLINX6410,成功。



也可以在开发板用snmpwalk访问主机的设备信息

可能的错误:

can not found lperl表示找不到相关的库文件,在usr/bin/目录中查找是否存在libperl.so,如果没有需要从安装相关的库。命令apt-get install libperl-dev。如果存在则需要进行连接链接如 ln -s libperl.so libperl.so.5.18
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu ok6410 linux snmp arm