zz:ubuntu 安装net-snmp

直接用apt-get install snmpd

这个只是安装snmpd程序,那些snmpwalk还没有装上去

执行apt-get install snmp,可以全部装完

然后修改/etc/snmp/snmpd.conf文件

(find / -name "snmpd.conf"可以查找文件)

通过下面的源码安装,我保证你弄得想死之后,问题还没有搞定。但是它也确实提供了源码安装出现问题的解决方法,也不错

参考blog:

http://linux.chinaunix.net/techdoc/system/2009/07/18/1124968.shtml

1、下载net-snmp-5.5源码

http://nchc.dl.sourceforge.net/sourceforge/net-snmp/net-snmp-5.5.tar.gz

下载后,解压文件:

tar -zxvf  net-snmp-5.5.tar.gz

解压后进入,net-snmp-5.5目录

cd net-snmp-5.5

2、开始安装net-snmp-5.5

运行./configure --prefix=/home/xxx/net-snmp/ 设置安装目录及必要的版本配置信息等。如下

default version of-snmp-version(3): 3(在这里版本通常有三种形式:1,2c,3)

Systemcontactinformation(配置该设备的联系信息):heaven(也可以是邮箱地址)

Systemlocation(该系统设备的地理位置):BEIJINGP.RChina

Locationtowritelogfile(日志文件位置):/var/log/snmpd.log

Location to Write persistent(数据存储目录): /var/net-snmp

配置完成开始,运行 

make

会出现如下错误,细节的我记不清了,大概意思是:

snmp_parse_args.c:637:21 error 。。。。。。。

这时找到这个文件,。。。。/net-snmp-5.5/snmplib 目录下,找到637行。把if (!session->version) {

中的switch 语句干掉,只保留你需要的版本语句,如:我使用的V2版本,我保留了这句:session->version = SNMP_VERSION_2c;  ,其他的我都干掉了。就ok了。

继续make 会产生另一个错误,如下。

/usr/bin/ld: cannot find -lperl

解决办法如下(安装lperl的包):sudo apt-get install  libperl-dev

安装完成后继续make。

这时有产生了一个错误,大概意思是说 SNMP.xs文件有错误。找到这个文件/net-snmp-5.5/perl/SNMP目录下,打开到错误行,干掉这句话 “ return NETSNMP_DEFAULT_SNMP_VERSION; ”就可以,这个错误其实上错误1是关联的,都是由于这个变量“NETSNMP_DEFAULT_SNMP_VERSION”

在make就一路通过,然后make install ok

如果在使用snmp的时候出现缺少某个库文件之类的提示,可以使用export LD_LIBRARY_PATH=/usr/local/lib,添加路径,问题可解决

4、在完成上面的步骤后紧接着制作配置文件  *.conf,在这里有两种方式,一种方式是用命令snmpconf -g basic_setup生成snmpd.conf文件,但需要回答很多没用的问题,比较费时,我这里用了一种较简便的方法生成配置文件,就是把解压后的那个文件目录下的EXAMPLE.conf文件拷在我们的安装路径下并修改,命令格式如下:

cpEXAMPLE.conf/usr/local/snmp/snmpd.conf//cp样例配置到安装目录下

5、vi/usr/local/snmp/snmpd.conf//编辑配置文件

把里面的NETWORK改成需要查看snmp信息的主机ip地址

把COMMUNITY改成你设定的值(自己起个字符串形式的名字)。

然后保存退出

6、/usr/local/sbin/snmpd–c/usr/local/snmp/snmpd.conf&//启动snmp

7、netstat-an//查看snmp是否启动

8、在脚本里配置snmp,使其在开机时自启动snmpd服务。(也可以不写在脚本里,每次系统启动后执行一下第7步就行了)。在脚本里的编写:

vi/etc/rc.local

添加usr/local/sbin/snmpd–c/usr/local/snmp/snmpd.confrestart

9、关闭snmp服务

ps aux |grep snmp |grep -v grep |awk '{print $2}' |xargs kill

我的服务器环境是 Ubuntu 10.04 +net-snmp-5.5

相关推荐