centos 下安装netsnmp

因项目中要用到snmp来取数,所以需要弄个snmp服务端,选来选去还是选了netsnmp。首先:

1、解压源码包:
tar –zxvf net-snmp-5.7.1。tar.gz
2、进入解压后的文件目录:
cd net-snmp-5.7.1
3、 执行文件目录下的configure可执行文件,如果想指定程序包的安装路径,那么您首先建立相应的文件夹来存放安装信息,您可以写 成./configure –prefix=/您指定的路径名。参数—prefix用来告诉系统安装信息存放的路径,如果您没有指定路径,直接执行./configure,那么程序 包都会安装在系统默认的目录下,通常为:/usr/local下(网上说默认会到这个目录下,而我安装了二次在这目录下都没有看到文件,只有指定prefix文件才能看到。)。例如:
./configure --prefix=/usr/local/netsnmp //配置 指定安装目录,安装过程会询问您以下的信息:
注意:以下问题似乎不怎么重要,那好像仅仅是官方想了解使用本软件方的信息,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/var/log/snmpd.log.数据存贮目录默认存放在/var/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的时候centos就报错了。
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
make: *** [perlmakefiles] 错误 2

网上说是少ExtUtils/MakeMaker.pm 这个模块。然后找了下,51cto上用这个解决:yum -y install perl-devel-5.8.8-32.fc8
而我自己是用的:yum -y install perl-devel-5.8.8-32.fc8

这样过后可正常安装而不报错了。在5.7的版本下snmpd.conf文件是自己已经写好了,不需要在像网上那样把example.conf文件复制过来了,然后自己修改下代理即可。

安装完后就已经启动了。直接用snmp -V就可以得到版本号了,一般来说不会出什么问题。

然后进入net-snmp/python文件夹 python setup.py install 这时没有错误。

但import 时又出错了:
>>> import netsnmp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "netsnmp/__init__.py", line 1, in <module>
    from client import *
  File "netsnmp/client.py", line 1, in <module>
    import client_intf
ImportError: No module named client_intf

不知道是不是在编译的时候没有加个python 模块,然后就直接 yum install net-snmp-python,安装完成后也没有报错,

然后import 时又出错:我勒个去,- -!
>>> import netsnmp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/site-packages/netsnmp_python-1.0a1-py2.6-linux-x86_64.egg/netsnmp/__init__.py", line 1, in <module>
    from client import *
  File "/usr/lib64/python2.6/site-packages/netsnmp_python-1.0a1-py2.6-linux-x86_64.egg/netsnmp/client.py", line 1, in <module>
    import client_intf
ImportError: libnetsnmp.so.30: cannot open shared object file: No such file or directory

感觉是没这个文件,网上看了下,solution:
ln -s /usr/local/lib/libnetsnmp.so.30 /usr/lib/

终于可以import了,我。。。。。。

mark,mark,呵呵

等脚本写完后会发布,有兴趣的可以大家一起交流交流。。。HOHO。。

 

你可能感兴趣的:(centos,python,MakeMaker.pm,netsnmp)