snmp源代码的编译(一)
1、源代码的获取,http://www.net-snmp.org/download.html。根据实际选择,注意Linux内核与snmp版本有可能存在不兼容现象。
/* 获取arm版本库文件*/
2、解压后执行
./configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --build=i686-linux --with-cc=arm-none-linux-gnueabi-gcc --with-ar=arm-none-linux-gnueabi-ar --prefix=/home/xxx/net-snmp-5.8/arm_install
--with-sys-contact="yourname" --with-sys-location="Shenzhen" --with-default-snmp-version="3" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp" --disable-scripts --with-endianness=little --enable-mini-agent --disable-ipv6 --disable- manuals --disable-ucd-snmp-compatibility --enable-as-needed --with-mib-modules="ucd_snmp"
有2个snmpd.conf,注意—with-presistent-directory="/var/net-snmp/",该路径下会生成snmpd.conf保存的有用户信息,加密信息,这个目录不要去修改。
3、编译:
Make
在编译过程中会报错,因为只指定了编译库和主程序以及部分tool时使用了交叉编译器,perl部分使用的时GCC,并且指定-m64即64位编译,实际上我们所需的东西已经编译完成了。
make install
在编译过程中会报错,不用管它,这些错误可能与兼容有关。
4.进入install文件夹,里面所有的移植到arm嵌入式板上即可。
/* 获取X86版本库文件*/
5、make clean && make distclean
创建x86_install文件夹,
配置
./configure –prefix=/home/xxx/myCode/net-snmp-5.8/x86_install
同理,make 、make install
我们选择配置3(snmp.conf)
Snmpconf可以用来创建3个配置文件。
snmpd.conf用来配置哪些可以用来监控的信息。
snmptrapd.conf用来配置trap的信息。
snmp.conf用来配置服务启动的信息。
可以配置5大项
System Information Setup安装信息,包括位置、联系人以及可以提供的服务
Access Control Setup 权限配置,读写和用户配置包括版本兼容v1 v2c v3
Trap Destinations 上报信息Trap的目的地址
Monitor Various Aspects of the Running Host 监控正在主机上运行的
Extending the Agent 扩展代理
Agent Operating Mode 代理的操作模式
6、完成