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 解壓壓縮包
然後
2.2 ./configure
下面簡單說一下各個配置選項都是什麼意思
—-選項—————————–說明—
–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 編譯 配置 移植
配置好了,開始編譯
然後下agent目錄下應該會生成一個snmpd的檔案
這個就是我們需要的可執行程式
将這個檔案直接拷貝到闆子上面(建議先壓縮一下)
壓縮前
[root@localhost agent]# ll snmpd
-rwxr-xr-x root root - : 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 root root - : snmpd
明顯變小了好多
然後将這個檔案拷貝到闆子上運作就可以了,還要寫一個snmpd.conf檔案。筆者這裡直接将net-snmp-5.7.3/python/netsnmp/tests/snmpd.conf這個檔案拷貝出來的。
然後将snmpd和snmpd.conf這兩個檔案拷貝到闆子上
在闆子上執行
因為筆者最後要用zabbix監控這塊闆子,是以現在看看zabbix能否通過SNMP的協定連接配接上闆子。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISO0kTOxkDN0EDNyETM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
zabbix面闆上顯示SNMP的圖示亮了,說明移植成功了。