新聞中心

net-snmp移植到arm

作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
關(guān)于net-snmp移植,是基于靜態(tài)編譯的,動態(tài)的沒有做成功,在arm上的移植過程大致如下:

如果沒有涉及到擴(kuò)展agent,則藍(lán)色字體不需要理會。

本文引用地址:http://m.butianyuan.cn/article/201611/319384.htm

1.將源碼包另找一個(gè)路徑放下,解壓
tar -xzvf net-snmp-5.4.1.tar.gz,
若想擴(kuò)展agent,則可以將此模塊的.c和.h文件先放到net-snmp-5.4.4/agent/mibgroup下一起配置編譯;

例如我這里想用代理讀寫encoder模塊,那么先將寫好的encoder源文件復(fù)制到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"

若想擴(kuò)展agent,則可以再末尾繼續(xù)添加

--with-mib-modules="encoder"

如何添加多個(gè)模塊,沒有試過
3.make LDFLAGS="-static"
如果不指出靜態(tài)編譯,那么直接放到板子上的程序會提示:can’t load library ‘libnetsnmpmibs.so.15’.
4.make install
5.arm-linux-strip snmpd
壓縮,節(jié)省空間

在arm端執(zhí)行
1.cd /usr/local/share/snmp/snmp.conf
mibs +NET-SNMP-ENCODER-MIB
2.cd /usr/sbin
./snmpd -c /usr/local/share/snmp/snmpd.conf -M /usr/local/share/snmp/mibs

3.和在虛擬機(jī)端一樣,開啟snmpd進(jìn)程后,可以

cat /var/log/snmpd.log

來查看代理進(jìn)程是否成功開啟;若出現(xiàn)了版本信息,開啟成功。
4.因?yàn)樵?/configure 的選項(xiàng)中是配置了最小的snmpd,所以如果想用到

snmpwalk /snmpget/snmptrap等應(yīng)用時(shí),可以直接從虛擬機(jī)端net-snmp的交叉編譯版本的/bin路徑下拷過來就可以了。

說明:

在用snmptrap 命令工具測試我加入的encoder模塊的時(shí)候,會出現(xiàn)報(bào)錯(cuò)情況,說是找不到節(jié)點(diǎn)什么的,這時(shí)可以嘗試把類似SNMPv2-MIB:sysLocation.0用OID來表示。這一點(diǎn)更多的是涉及到擴(kuò)展agent的東西,后面會詳細(xì)提到的。




關(guān)鍵詞: net-snmp移植ar

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉