net-snmp-5.7.3移植到OK6410開發板

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章