net-snmp移植

1.移植前装备工作

1.1首先先准备好交叉编译环境

根据不同的板子选择不同的交叉编译环境,这里默认你已经有了交叉编译器。

1.2 下载net-snmp的源码

下面有一些版本的源码
net-snmp-5.4.1.tar.gz源码:
http://download.csdn.net/detail/liang_baikai/9657550
net-snmp-5.7.1.tar.gz源码:
http://download.csdn.net/detail/liang_baikai/9666368
net-snmp-5.7.3.tar.gz源码:
http://download.csdn.net/detail/liang_baikai/9682366
笔者这里用的是net-snmp-5.7.3版本的。

2.编译配置与移植

2.1 解压压缩包

# tar -zxvf net-snmp-5.7.3.tar.gz

然后

# cd net-snmp-5.7.3

2.2 ./configure

# ./configure --host=arm-linux --target=arm-linux --build=i386-linux  --with-cc=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/bin/arm-hisiv200-linux-gnueabi-gcc --with-ar=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/bin/arm-hisiv200-linux-gnueabi-ar --prefix=/home/cj/snmp/ --disable-shared --disable-scripts --with-endianness=little -enable-mini-agent --disable-ipv6 --disable-manuals  --disable-ucd-snmp-compatibility --enable-as-needed

下面简单说一下各个配置选项都是什么意思

—-选项—————————–说明—

–host= —————————- 运行平台
–target=—————————目标平台
–build=—————————-编译平台
–with-cc=————————- 交叉编译器
–with-ar=————————- 使用的程序打包
–prefix=————————— 安装目录
–disable-shared——————-静态编译
–disable-scripts ——————不要安装mib2c等脚本
–with-endianness=little ———指定小端模式
-enable-mini-agent ————-最小的snmpd
–enable-debugging ————-打开调试信息
–with-openssl=——————-库路径
–disable-ipv6 ———————不使用IPv6
–disable-manuals —————–不安装manpage说明页
–disable-ucd-snmp-compatibility 不需要兼容ucd-snmp
–enable-as-needed ————–如果只使用其他方法行不通,链接libperl针对应用而非Net-SNMP库。
–disable-snmptrapd-subagent 不用支持snmptrapd的子代理
–disable-embedded-perl ——–不使用嵌入式的perl
–disable-embedded-perl ———在SNMP代理和snmptrapd禁用嵌入式Perl。默认启用
–disable-applications ————-是否关闭snmpget等功能,根据自己的需要选择

2.3 编译 配置 移植

配置好了,开始编译

# make

然后下agent目录下应该会生成一个snmpd的文件
这个就是我们需要的可执行程序
将这个文件直接拷贝到板子上面(建议先压缩一下)

压缩前

[root@localhost agent]# ll snmpd
-rwxr-xr-x 1 root root 2226333 11-23 06:57 snmpd

压缩后

[root@localhost agent]# /opt/hisi-linux/x86-arm/arm-hisiv200-linux/bin/arm-hisiv200-linux-gnueabi-strip snmpd
[root@localhost agent]# ll snmpd
-rwxr-xr-x 1 root root 731052 11-23 07:00 snmpd

明显变小了好多
然后将这个文件拷贝到板子上运行就可以了,还要写一个snmpd.conf文件。笔者这里直接将net-snmp-5.7.3/python/netsnmp/tests/snmpd.conf这个文件拷贝出来的。
然后将snmpd和snmpd.conf这两个文件拷贝到板子上

在板子上执行

# ./snmpd -c snmpd.conf

因为笔者最后要用zabbix监控这块板子,所以现在看看zabbix能否通过SNMP的协议连接上板子。
这里写图片描述
zabbix面板上显示SNMP的图标亮了,说明移植成功了。

原创文章 29 获赞 111 访问量 139万+

猜你喜欢

转载自blog.csdn.net/liang_baikai/article/details/53320335
今日推荐