net snmp linux安装新建了文件夹放了net-snmp的所有包为什么找不到

今天看啥 热点:
net-snmp5.7.3子代理程序libnetsnmp.so.30notfound解决办法
用net-snmp-5.7.3开发的子代理程序执行后,报错&./mysnmp: error while loading shared libraries: libnetsnmpmibs.so.30: cannot open shared object file: No such file or directory&
原因是 LD_LIBRARY_PATH环境变量没有定义,执行下面的语句:
export LD_LIBRARY_PATH = /usr/local/lib
解决过程示例:
root@map:/usr/local/lib# ldd /home/kpiss/net-snmp-5.7.3/agent/mibgroup/chanctsnmp
linux-vdso.so.1 =&
(0x00007fff577e2000)
libnetsnmpmibs.so.30 =& not found
libnetsnmpagent.so.30 =& not found
libnetsnmp.so.30 =& not found
libc.so.6 =& /lib/x86_64-linux-gnu/libc.so.6 (0x0a7000)
/lib64/ld-linux-x86-64.so.2 (0x0000)
root@map:/usr/local/lib#
export LD_LIBRARY_PATH=/usr/local/lib
root@map:/usr/local/lib# ldd /home/kpiss/net-snmp-5.7.3/agent/mibgroup/chanctsnmp
linux-vdso.so.1 =&
(0x00007fffef1fe000)
libnetsnmpmibs.so.30 =& /usr/local/lib/libnetsnmpmibs.so.30 (0x0c000)
libnetsnmpagent.so.30 =& /usr/local/lib/libnetsnmpagent.so.30 (0x0a000)
libnetsnmp.so.30 =& /usr/local/lib/libnetsnmp.so.30 (0x0000)
libc.so.6 =& /lib/x86_64-linux-gnu/libc.so.6 (0x0a000)
libdl.so.2 =& /lib/x86_64-linux-gnu/libdl.so.2 (0x0000)
libpthread.so.0 =& /lib/x86_64-linux-gnu/libpthread.so.0 (0x0000)
librt.so.1 =& /lib/x86_64-linux-gnu/librt.so.1 (0x0000)
/lib64/ld-linux-x86-64.so.2 (0x0a000)
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&
系统综合最近更新我所知道的添加自定义MIB的方法有三种&1.静态加载,将生成的.c和.h文件加入到相应的位置,重新编译snmp库,优点是不需要修改配置文件,缺点是每次添加都得重新编译;2.动态加载,将生成的.c和.h文件再编译成.so库,修改snmpd.conf配置文件。优点是每次添加不需要重新编译,缺点是必须支持dlmod命令;3.子代理扩展,将生成的.c和.h文件编译成可执行程序,运行该程序和snmpd即可,优点是操作简单,缺点是需要运行两个程序才行。&三种方法的前几步是一样的,都是编写MIB,生成.c和.h文件,补全.c文件。&1.编写MIB& & & MIB的语法见http://blog.csdn.net/shanzhizi/article/details/,写得很清楚,很详细。下面给出我自己的MIB文件。--&Test-SLK-MIB.txt& && Test-SLK-MIB&DEFINITIONS&::=&BEGIN&& & & && IMPORTS& & & & & && OBJECT-GROUP,&MODULE-COMPLIANCE,&NOTIFICATION-GROUP& & & & & & & && FROM&SNMPv2-CONF& & & & & && enterprises,&Integer32,&Unsigned32,&OBJECT-TYPE,&MODULE-IDENTITY,& & & & & && NOTIFICATION-TYPE& & & & & & & && FROM&SNMPv2-SMI& & & & & && DisplayString& & & & & & & && FROM&SNMPv2-TC;&& & & && Test&MODULE-IDENTITY& & & & & && LAST-UPDATED&"Z" & & & --必须以Z结尾& & & & & && ORGANIZATION& & & & & & & && ""& & & & & && CONTACT-INFO& & & & & & & && ""& & & & & && DESCRIPTION& & & & & & & && "Video's&Server&MIB."& & & & & && ::=&{&enterprises 745352 }&& & & && Time&OBJECT&IDENTIFIER&::=&{&Test&1&}&&& & & && GetTime&OBJECT-TYPE& & & & & && SYNTAX&DisplayString&& & & & & && MAX-ACCESS&read-only& & & & & && STATUS&current& & & & & && DESCRIPTION& & & & & & & && "Example&:&"& & & & & & ::=&{&Time&1&}& & END--&Test-SLK-MIB.txt&这个MIB文件很简单,只有一个OID 1.3.6.1.4.1..1,把这个MIB放入MIBS文件夹,我的位于/usr/local/snmp/share/snmp/mibs。&2.生成.c和.h文件& & & 运行命令mib2c Test-SLK-MIB::Test 出现的选项依次选2和1.&[ mibs]# env MIBS="+/etc/snmp/mibs/Test-MIB.my" mib2c Testwriting to -mib2c has multiple configuration files depending on the type ofcode you need to write.& You must pick one depending on your need.&You requested mib2c to be run on the following part of the MIB tree:& OID:& & & & & & & & & & & & & & & Test& numeric translation:& & & & & & & .1.3.6.1.4.1.16535& number of scalars within:& & & & &1 &&& number of tables within:& & & & & 0 &&& number of notifications within:& &0 &&&First, do you want to generate code that is compatible with the&ucd-snmp 4.X line of code, or code for the newer Net-SNMP 5.X codebase (which provides a much greater choice of APIs to pick from):&& 1) ucd-snmp style code& 2) Net-SNMP style code&Select your choice : 2&&**********************************************************************& & & & &GENERATING CODE FOR SCALAR OBJECTS:**********************************************************************&& It looks like you have some scalars in the mib you requested, so I& will now generate code for them if you wish.& You have two choices& for scalar API styles currently.& Pick between them, or choose not&& to generate any code for the scalars:&& 1) If you're writing code for some generic scalars& & &(by hand use: "mib2c -c mib2c.scalar.conf Test")&& 2) If you want to magically "tie" integer variables to integer& & &scalars& & &(by hand use: "mib2c -c mib2c.int_watch.conf Test")&& 3) Don't generate any code for the scalars&Select your choice: 1& & using the mib2c.scalar.conf configuration file to generate your code.writing to Test.hwriting to Test.c&&&*********************************************************************** NOTE WELL: The code generated by mib2c is only a template.& *YOU*& ** must fill in the code before it'll work most of the time.& In many ** cases, spots that MUST be edited within the files are marked with& ** /* XXX */ or /* TODO */ comments.& & & & & & & & & & & & & & & & & ***********************************************************************running indent on Test.hrunning indent on Test.c&&生成的Test.c文件:/*&* Note: this file originally auto-generated by mib2c using&*& & & & $&*/&#include &net-snmp/net-snmp-config.h&#include &net-snmp/net-snmp-includes.h&#include &net-snmp/agent/net-snmp-agent-includes.h&#include "Test.h"&/** Initializes the Test module */voidinit_Test(void){& & const oid& & & &GetTime_oid[] = { 1, 3, 6, 1, 4, 1, , 1 };&& & DEBUGMSGTL(("Test", "Initializing/n"));&& & netsnmp_register_scalar(netsnmp_create_handler_registration& & & & & & & & & & & & & & ("GetTime", handle_GetTime, GetTime_oid,& & & & & & & & & & & & & & &OID_LENGTH(GetTime_oid), HANDLER_CAN_RONLY));}&inthandle_GetTime(netsnmp_mib_handler *handler,& & & & & & & &netsnmp_handler_registration *reginfo,& & & & & & & &netsnmp_agent_request_info *reqinfo,& & & & & & & &netsnmp_request_info *requests){& & /* && & &* We are never called for a GETNEXT if it's registered as a& & &* "instance", as it's "magically" handled for us. && & &*/&& & /* && & &* a instance handler also only hands us one request at a time, so& & &* we don't need to loop ove we'll only get one.&& & &*/&& & switch (reqinfo-&mode) {&& & case MODE_GET:& & & & snmp_set_var_typed_value(requests-&requestvb, ASN_OCTET_STR,& & & & & & & & & & & & & & & & &/*& & & & & & & & & & & & & & & & & * XXX: a pointer to the scalar's data&& & & & & & & & & & & & & & & & & */ ,& & & & & & & & & & & & & & & & &/*& & & & & & & & & & & & & & & & & * XXX: the length of the data in bytes&& & & & & & & & & & & & & & & & & */ );& & & &&&& & default:& & & & /*& & & & &* we should never get here, so this is a really bad error&& & & & &*/& & & & snmp_log(LOG_ERR, "unknown mode (%d) in handle_GetTime/n",& & & & & & & & &reqinfo-&mode);& & & & return SNMP_ERR_GENERR;& & }&& & return SNMP_ERR_NOERROR;}&3.补全Test.c在代码中XXX处添加相应的值,代码中都有说明,XXX: a pointer to the scalar's data,这个要我们填一个指针,XXX: the length of the data in bytes 这个要我们填数据的大小,当然要先定义,然后去获取啊。&补全后/*&* Note: this file originally auto-generated by mib2c using&*& & & & $&*/&#include &net-snmp/net-snmp-config.h&#include &net-snmp/net-snmp-includes.h&#include &net-snmp/agent/net-snmp-agent-includes.h&#include "Test.h"#include &time.h&&/** Initializes the Test module */voidinit_Test(void){& & const oid& & & &GetTime_oid[] = { 1, 3, 6, 1, 4, 1, , 1 };&& & DEBUGMSGTL(("Test", "Initializing/n"));&& & netsnmp_register_scalar(netsnmp_create_handler_registration& & & & & & & & & & & & & & ("GetTime", handle_GetTime, GetTime_oid,& & & & & & & & & & & & & & &OID_LENGTH(GetTime_oid), HANDLER_CAN_RONLY));}&inthandle_GetTime(netsnmp_mib_handler *handler,& & & & & & & &netsnmp_handler_registration *reginfo,& & & & & & & &netsnmp_agent_request_info *reqinfo,& & & & & & & &netsnmp_request_info *requests){& & /* && & &* We are never called for a GETNEXT if it's registered as a& & &* "instance", as it's "magically" handled for us. && & &*/& & &/*& & &* a instance handler also only hands us one request at a time, so& & &* we don't need to loop ove we'll only get one.&& & &*/&& & time_& & switch (reqinfo-&mode) {& & case MODE_GET:& & & & time(&t);& & & & char szTime[100];& & & & snprintf(szTime,100,"%s",ctime(&t));& & & & snmp_set_var_typed_value(requests-&requestvb, ASN_OCTET_STR,& & & & & & & & & & & & & & & & &/*& & & & & & & & & & & & & & & & & * XXX: a pointer to the scalar's data&& & & & & & & & & & & & & & & & & */ szTime,& & & & & & & & & & & & & & & & &/*& & & & & & & & & & & & & & & & & * XXX: the length of the data in bytes&& & & & & & & & & & & & & & & & & */ strlen(szTime));& & & &&&& & default:& & & & /*& & & & &* we should never get here, so this is a really bad error&& & & & &*/& & & & snmp_log(LOG_ERR, "unknown mode (%d) in handle_GetTime/n",& & & & & & & & &reqinfo-&mode);& & & & return SNMP_ERR_GENERR;& & }&& & return SNMP_ERR_NOERROR;}&接下来根据方法不同,步骤也不同。一、静态链接& & 把Test.c和Test.h复制到/net-snmp-5.7.3/agent/mibgroups,这里是说net-snmp源码里。& & 编译./configure --prefix=/usr/local/snmp --with-mib-modules=Test,make && make install。& & 静态加载成功&二、动态加载& & 编写makefile文件&CC=gccFLAGS=-I. `net-snmp-config --cflags` -gDLFLAGS=-shared -fPIC -g&Test.so: Test.c& & $(CC) $(CFLAGS) $(DLFLAGS) -c -o Test.o Test.c& & $(CC) $(CFLAGS) $(DLFLAGS) -o Test.so Test.o&.PHONY : cleanclean :& & rm -f *.so *.o&编译生成.so库。修改snmpd.conf配置文件,在文件末尾加入dlmod Test ${Test.so所在绝对路径}/Test.so启动snmpd,& & &/usr/local/snmpd -f -L -DTest,dlmod -c /usr/local/snmp/etc/snmpd.conf动态加载完成&三、子代理扩展生成Test程序:&net-snmp-config --compile-subagent Test Test.c启动snmpd,Test/usr/local/snmpd -c /usr/local/snmp/etc/snmpd.conf./Test完成
最新教程周点击榜
微信扫一扫3934人阅读
Linux(6)
说明:&编写此文档时由于格式的原因,部分长指令被写在多行(其间以回车换行),安装配置时任何指令都不应该使用回车换行,可以使用反斜杆&/&换行或者让系统自动换行。
&第一章&安装
&1.&系统准备工作: &本系统需要的安装包:
beecrypt-4.1.2.tar.gz (Net-SNMP依赖文件)
net-snmp-5.4.2.1.tar.gz (Net-SNMP安装包)
解压各压缩包,使用&&tar&-vzxf&&&&指令解压。
2.&安装beecrypt &net-snmp安装时需要用到beecrypt,所以需要先安装。进入beecrypt解压目录执行以下指令: ./configure&--prefix=/usr 默认是安装在/usr/local,我们需要安装在/usr目录下。若使用默认路径snmp可能找不到相关文件,需要另外建立符号链接。
&执行make与make&install安装: make make&install
注意:需要使用超级用户权限,否则安装过程会出错
3.&安装NET-SNMP &net-snmp用来获取目标机器的各种数据,可以直接使用,也可以通过MRTG画出图来。本系统直接使用net-snmp获取目标机器数据,不使用MRTG。 &假设本系统安装到以下位置:/ABC/soft/net-snmp 进入snmp解压目录,执行以下指令: ./configure&--prefix=/ABC/soft/net-snmp&--enable-mfd-rewrites& --with-default-snmp-version=&2&&--with-sys-location=&China&& --with-logfile=&/ABC/log/snmpd.log&&--with-persistent-directoiry=&/ABC/soft/snmp_persistent& (以上所有代码是一条指令)
&执行make&与&make&install安装 make make&install &安装过程中可能出现错误:&cannot&find&&lelf
解决办法:#ln&-s&libelf.so.1&/usr/lib/libelf.so
&第二章&配置
&1.&配置snmpd.conf &将安装包中的EXAMPLE.conf复制到/ABC/soft/net-snmp/share/snmp下,并重命名为snmpd.conf。使用以下指令复制: cp&EXAMPLE.conf&/ABC/soft/net-snmp/share/snmp/snmpd.conf &定义安全体 在snmpd.conf中找到如下字段,修改为需要的参数。 #&&&&&&&&&sec.name&&&source&&&&&&&&&community
com2sec&&local&&&&&&&&localhost&&&&&&&public
com2sec&&mynetwork&&IP地址&&&public
&参数简介: sec.name:安全体名称
source:定义请求的来源,在IP协议中,这个数据是IP地址。在net-snmp中用来对来源IP加以控制,但这个特性不是SNMP规定的,是net-snmp扩展的。 community:共同体名称 至此系统就可以使用了,其它参数使用默认值。更具体的配置请参考用户手册。 &说明:对snmpd.conf的编辑只能用空格,不能用Tab键,否则会出错。 每次改变snmpd.conf都必须重启snmp服务以使更改生效。
2.&启动snmp &每次改变snmpd.conf都必须重启snmp服务以使更改生效。 &使用snmpd命令启动snmp守护进程,-c指定配置文件路径。 本系统使用net-snmp,不使用系统自带的snmp,使用以下指令启动: /ABC/soft/net-snmp/sbin/snmpd&-c&/ABC/soft/net-snmp/share/snmp/snmpd.conf &若选择使用系统自带的snmp,可以使用以下指令启动:service&snmpd&start。但是以上的配置对此不起作用,需要另外的配置。
3.&测试snmp &启动snmp后可以使用以下指令测试snmp是否正常工作: snmpwalk&-v&2c&-c&public&localhost&system 这条指令用于查看本机系统信息,若正确返回信息则snmp正常工作。本文只介绍snmp的安装配置,关于指令的详细用法请参考用户手册。
配置文件snmpd.conf简介
snmpd.conf的配置包括通道控制(Access&Control)、系统联系人信息(System&Contact&Information)、进程检查(Process&Check)、可执行脚本(Executables/Scripts)、磁盘检查(Disk&Checks)、负载均衡检查(Load&Average&Checks)、可扩展部分(Extensible&Sections)、通过控制(Pass&Through&Control)、其它等部分。一般情况下只需要修改Access&Control就可以满足常规需求,其它使用默认配置。
&通道控制配置(Access&Control)配置简介
定义安全体名称
sec.name:安全体名称 source:定义请求的来源,在IP协议中,这个数据是IP地址。在net-snmp中用来对来源IP加以控制,但这个特性不是SNMP规定的,是net-snmp扩展的。 community:共同体名称
定义安全组
第一个字段为安全组名称。 sec.model:安全模式,可选值为v1/v2c/usm。 sec.name:安全体名称
第一个字段为视图名。 incl/excl:对下面的MIB子树是包括还是排除。 subtree:视图中涉及的MIB子树。 mask:掩码
向安全组授权相应的视图
第一个字段为安全组名。 context:上下文,v1、v2c中始终为空。
sec.model:安全模式,可选值为v1/v2c/usm。
sec.level:安全级别,可选值为auth/noauth/priv,v1、v2c中只能为noauth。
match:前缀,指定context如何与PDU中的context匹配,v3使用。
read:授权的读视图。
write:授权的写视图。
notif:授权的trap视图。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:22581次
排名:千里之外
(1)(1)(1)(8)新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 65, 距离下一级还需 135 积分
论坛徽章:0
# yum install net-snmp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
No package net-snmp available.
Nothing to do
问题1:总是出现这个,系统是Cetnos5.6-64位。有什么办法可以解决这个问题? 急寻老师指点!!!
问题2:小弟初学Linux,net-snmp的安装会造成web环境LNMP的损坏吗?换句话说就是snmp和Web环境冲突不?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
小富即安, 积分 4845, 距离下一级还需 155 积分
论坛徽章:0
你的DNS服务器设置了吗?
/etc/resolv.conf
nameserver 8.8.8.8
小富即安, 积分 4845, 距离下一级还需 155 积分
论坛徽章:0
怎么会损坏web应用呢?
SNMP是UDP的161端口,跟TCP的80端口没关系。
论坛徽章:4
问题1:你的源里面找不到这个包,你换163的源试试,或者装上第三方源
问题2:没有冲突。
白手起家, 积分 65, 距离下一级还需 135 积分
论坛徽章:0
请问如何换163的源?或者如何装第三方源
我Linux刚接触,但现在这个问题又急需解决。这个问题来不不急学习基础知识了。。
论坛徽章:4
biyexp 发表于
请问如何换163的源?或者如何装第三方源
我Linux刚接触,但现在这个问题又急需解决。这个问题来不不急学 ...
白手起家, 积分 65, 距离下一级还需 135 积分
论坛徽章:0
& & 非常感谢!!!好用得不得了,哈哈。
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处}

我要回帖

更多关于 linux netsnmp安装 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信