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)
Systemcontact information(配置该设备的联系信息): heaven(也可以是邮箱地址)
System location (该系统设备的地理位置):BEIJING P.R China
Location to write logfile (日志文件位置): /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文件拷在我们的安装路径下并修改,命令格式如下:
cp EXAMPLE.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.conf  restart
9、关闭snmp服务
ps aux |grep snmp |grep -v grep |awk '{print $2}' |xargs kill

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

猜你喜欢

转载自laibulai.iteye.com/blog/941655