net-snmp移植到arm
如果沒有涉及到擴展agent,則藍色字體不需要理會。
本文引用地址:http://www.biyoush.com/article/201611/319384.htm1.將源碼包另找一個路徑放下,解壓
若想擴展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="[email protected]" --with-sys-location="china" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp"
若想擴展agent,則可以再末尾繼續(xù)添加
如何添加多個模塊,沒有試過
3.make LDFLAGS="-static"
4.make install
5.arm-linux-strip snmpd
在arm端執(zhí)行
1.
2.cd /usr/sbin
3.和在虛擬機端一樣,開啟snmpd進程后,可以
cat /var/log/snmpd.log
來查看代理進程是否成功開啟;若出現(xiàn)了版本信息,開啟成功。
4.因為在./configure 的選項中是配置了最小的snmpd,所以如果想用到
snmpwalk /snmpget/snmptrap等應(yīng)用時,可以直接從虛擬機端net-snmp的交叉編譯版本的/bin路徑下拷過來就可以了。
說明:
在用snmptrap 命令工具測試我加入的encoder模塊的時候,會出現(xiàn)報錯情況,說是找不到節(jié)點什么的,這時可以嘗試把類似SNMPv2-MIB:sysLocation.0用OID來表示。這一點更多的是涉及到擴展agent的東西,后面會詳細提到的。
評論