关于net-snmp的移植,是根据静态编译的,动态的没有做成功,在arm上的移植进程大致如下:
假如没有涉及到扩展agent,则蓝色字体不需要理睬。
1.将源码包另找一个途径放下,解压
若想扩展agent,则能够将此模块的.c和.h文件先放到net-snmp-5.4.4/agent/mibgroup下一起装备编译;
例如我这儿想用署理读写encoder模块,那么先将写好的encoder源文件复制到net-snmp-5.4.4/agent/mibgroup途径下
;
2.CC=arm-linux-gcc ./configure –prefix=/home/arm_for_snmp/ –build=i386-linux –host=arm-linux –enable-mini-agent –disable-ipv6 –with-endianness=little –disable-manuals –disable-ucd-snmp-compatibility –enable-as-needed –disable-embedded-perl –without-perl-modules –disable-snmptrapd-subagent –disable-applications –disable-scripts –with-default-snmp-version=”2″ –with-sys-contact=”lgao@cti.com.cn” –with-sys-location=”china” –with-logfile=”/var/log/snmpd.log” –with-persistent-directory=”/var/net-snmp”
若想扩展agent,则能够再结尾持续增加
怎么增加多个模块,没有试过
3.make LDFLAGS=”-static”
4.make install
5.arm-linux-strip snmpd
在arm端履行
1.
2.cd /usr/sbin
3.和在虚拟机端相同,敞开snmpd进程后,能够
cat /var/log/snmpd.log
来检查署理进程是否成功敞开;若呈现了版别信息,敞开成功。
4.由于在./configure 的选项中是装备了最小的snmpd,所以假如想用到
snmpwalk /snmpget/snmptrap等应用时,能够直接从虚拟机端net-snmp的穿插编译版别的/bin途径下拷过来就能够了。
阐明:
在用snmptrap 指令东西测验我参加的encoder模块的时分,会呈现报错状况,说是找不到节点什么的,这时能够测验把相似SNMPv2-MIB:sysLocation.0用OID来表明。这一点更多的是涉及到扩展agent的东西,后面会具体说到的。