zz:ubuntu 安装net-snmp

本文详细介绍如何在Ubuntu 10.04环境下从源码安装配置SNMP 5.5,包括解决安装过程中遇到的各种错误,配置snmpd.conf文件,以及启动和自启服务的设置。

直接用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

 

<think>嗯,用户遇到了在Ubuntu 20.04上使用cmake-gui构建VTK-8.2.0时出现的“could not load cache”错误。我需要先理解这个问题的可能原因,然后给出解决方案。根据之前的引用资料,用户可能是在安装VTK或相关依赖时出现了问题。 首先,“could not load cache”通常与CMake的缓存文件有关。缓存文件CMakeCache.txt可能在配置过程中被损坏或无法读取。我需要检查用户是否正确生成了这个文件,或者在配置时是否有权限问题。另外,VTK的版本和依赖库的兼容性也很重要,比如引用的资料提到需要确保依赖版本一致,特别是VTK和PCL的版本匹配问题[^3]。 接下来,用户可能在执行CMake配置时没有正确设置参数,或者路径中存在空格或特殊字符,导致CMake无法正确生成缓存。需要建议用户清理构建目录,重新运行CMake,并确保所有依赖项已正确安装,比如OpenCV、Qt等[^4][^2]。 还有,用户可能没有正确安装必要的依赖库,比如引文提到的libvtk6-dev或者VTK编译所需的依赖项。需要检查是否安装了所有必需的依赖,如libboost-dev、libeigen3-dev等[^4]。 另外,用户可能在构建VTK时使用了错误的CMake参数,例如没有启用Qt支持,或者VTK_GROUP_QT选项设置不正确。需要确认在CMake配置中正确启用了Qt相关选项,并指定了Qt的安装路径[^2]。 最后,权限问题也可能导致无法写入缓存文件,需要建议用户检查目录权限,或者尝试在用户目录下构建,避免系统目录的权限限制。 总结可能的解决步骤:清理构建目录,重新配置CMake并确保参数正确,检查依赖库安装,处理路径问题,调整权限。同时,参考用户提供的引用资料中的安装步骤,确保VTK和Qt版本兼容,如使用Qt5.12或5.14.2[^1]。</think>### 解答:解决Ubuntu 20.04上CMake-gui "Could Not Load Cache"错误 #### 1. **问题原因分析** 此错误通常由以下原因导致: - **缓存文件损坏**:CMake生成的`CMakeCache.txt`文件可能因配置中断或权限问题损坏。 - **路径或配置错误**:构建目录包含空格、特殊字符或路径过长,导致CMake无法正确加载缓存。 - **依赖缺失或版本冲突**:未正确安装VTK依赖项(如Qt、OpenGL)或版本不兼容(如PCL与VTK版本需一致)[^3]。 --- #### 2. **具体解决步骤** **步骤1:清理构建目录** ```bash cd /path/to/vtk-8.2.0/build # 进入构建目录 rm -rf * # 删除所有生成的文件 ``` **步骤2:重新运行CMake并指定参数** ```bash cmake-gui .. # 在GUI中设置以下关键参数: ``` - **VTK_Group_Qt**:勾选以启用Qt支持。 - **Qt5_DIR**:指定Qt安装路径(如`/opt/Qt5.12.0/lib/cmake/Qt5`)。 - **VTK_RENDERING_BACKEND**:设置为`OpenGL2`(避免旧版OpenGL兼容问题)[^1]。 **步骤3:检查依赖项安装** 确保安装以下依赖: ```bash sudo apt install libvtk6-dev libboost-dev libeigen3-dev libflann-dev sudo apt install qtbase5-dev qtchooser qt5-qmake # 确保Qt版本与VTK兼容 ``` **步骤4:避免路径问题** - 构建目录路径应为纯英文且无空格(如`~/vtk_build`)。 - 若使用自定义安装路径,需设置`CMAKE_INSTALL_PREFIX`(如`/usr/local/vtk8.2`)。 **步骤5:调整权限** ```bash sudo chown -R $USER:$USER /path/to/vtk-8.2.0 # 确保用户有读写权限 ``` --- #### 3. **验证配置** - 在CMake-gui中点击`Configure`,检查是否报错。 - 若提示缺失依赖,根据输出安装对应库(如`libtbb-dev`或`libjpeg-dev`)。 --- #### 4. **完整编译安装** ```bash make -j$(nproc) # 使用多线程加速编译 sudo make install # 安装到系统目录 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值