echo “/usr/local/libelf/lib” >> /etc/ld.so.conf
ldconfig -v
ldconfig
头一回在csdn上写东西,有点激动。
先说说我的实验环境吧
红帽redhat AS3 ,32位机器和OS,我拿到机器的时候该机器已经安装了net-snmp5.0.8,版本低了点,snmptable功能不完善,不能输出完整的路由表信息。需要更新,既然要更新,就更到最新net-snmp5.4.2.1.^_^,于是,我开始了让我头疼的遭遇
我在64位机器上安装过net-snmp5.4.2.1,于是最初就照葫芦画瓢:
#tar zxvf net-snmp-5.4.2.1.tar.gz
#cd net-snmp-5.4.2.1
#./configure -prefix=/usr -with-default-snmp-version=2 -with-sys-contact="root@" -with-sys-location="China" -with-logfile=/var/log/snmpd.log -with-persistent-directory=/var/nst-snmp
(说明:-prefix=/usr 这个选项是表示将net-snmp提供的函数如snmpget等安装/usr/bin下,这样就可以再命令行下直接使用那些命令。其他的选项不是很重要)
#make
就出了一大堆错误,
error :NO target to make "/usr/lib64/perl5/5.8.5/x86_64-linux-multi-thread " ,needed by Makefile
具体的错误我记不太清了,大概就是这样的错误。
在64位机器上顺风顺水以后,出了这样的问题我还真懵了。
我瞎忙了N久之后,即看了看上面出现的目录里到底有什么,一看不知道,看了才知道,32位机器上根本没那个目录,而是有
“/usr/lib/perl5/5.8.0/i386-linux-multi-thread”这个目录。
怎么办?
硬着头皮去Makefile文件里看,果然有好多定义的路径中出现了"/usr/lib64"及其下的路径,于是乎,字符串替换
vi Makefile
:g/lib64/s//lib/g
:g/5.8.5/s//5.8.0/g
:g/x86_64/s//i386/g
完成了替换
:wq
接着make
还是不对,还是出错
我发现提示信息中有不少
make all in .../net-snmp-5.4.2.1/snmplib
Entering directory ".../net-snmp5.4.2.1/snmplib"
..
Leaving directory ".../net-snmp-5.4.2.1/snmplib"
make all in .../net-snmp-5.4.2.1/agent
Entering directory ".../net-snmp-5.4.2.1/agent"
Leaving directory ".../net-snmp-5.4.2.1/agent"
...
我就进去这些目录,发现在这些目录下,还有Makefile文件,
cd snmplib
vi Makefile
接着替换那些路径
:g/lib64/s//lib/g
:g/5.8.5/s//5.8.0/g
:g/x86_64/s//i386/g
完成了替换
:wq
我把net-snmp-5.4.2.1下的所有子目录中的Makefie都修改了
可结果还是有错误。
我冷静了一下,想起之前我在网上查到一个资料,来源是:http://www.linuxboy.net/wordpress/?p=182。
我决定下载和安装beecrypt-4.1.2.tar.gz和libelf-0.8.9.tar.gz
按照链接网页中的步骤:
tar zxvf beecrypt-4.1.2.tar.gz
cd beecrypt-4.1.2
./configure -prefix=/usr/local/beecrypt
make
make install
cd ..
tar libelf-0.8.9.tar.gz
cd libelf-0.8.9
./configure -prefix=/usr/local/beecrypt
make
make install
一切都很顺利
然后是链接文件的建立
ln -s /usr/local/beecrypt/lib/libbeecrypt.la /usr/lib/libbeecrypt.la
echo “/usr/local/beecrypt/lib” >> /etc/ld.so.conf
export CFLAGS=”-I/usr/local/beecrypt/include/beecrypt -I/usr/local/libelf/include -L/usr/local/beecrypt/lib -L/usr/local/libelf/lib”
因为懒得敲了,就粘过来这一段
然后
#tar zxvf net-snmp-5.4.2.1.tar.gz
#cd net-snmp-5.4.2.1
#./configure -prefix=/usr -with-default-snmp-version=2 -with-sys-contact="root@" -with-sys-location="China" -with-logfile=/var/log/snmpd.log -with-persistent-directory=/var/nst-snmp
#make
make install
结果很顺利,检查一下是否成功
在命令行下直接敲snmpget这个目录,会出来该命令的使用方法,最上面几行就包括了版本信息,显示出5.4.2.1就什么安装ok啦
个人小结:
1 有问题多google和baidu一下
2 衷心感谢那些把自己的经历写出来和大家分享的作者们