- 论坛徽章:
- 0
|
想在Solaris 10的机器上安装MRTG , 检测同网段的路由器流量。
1.在www.sunfreeware.com上下载mrtg的binary package , 还有mrtg所依赖的其他package ( libiconv, libintl, xpm, expat, fontconfig, freetype, gd, jpeg, libpng, zlib,gcc ) , 都是binary的.
2. 将所有的package 用pkgadd安装之后, cfgmaker没有报错,正常生成了mrtg.cfg文件
# ./cfgmaker --global 'WorkDir: /usr/local/apache2/htdocs/mrtg' \
> --global 'Options[_]:bits,growright' \
> --output /usr/local/mrtg-2/cfg/mrtg.cfg \
> yourcommunity@xx.xx.xx.xx (your router ip )
3. 执行mrtg命令时,
/usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg --logging /var/adm/mrtg.log
报错
ld.so.1: rateup: fatal: relocation error: file /usr/local/lib/libgd.so.2: symbol png_create_write_struct: referenced symbol not found
我的LD_LIBRARY_PATH环境变量已经包含/usr/local/lib , 但是还是有这个报错。
4. 考虑到mrtg调用rateup命令,rateup命令又去找libgd.so.2 , 估计是找到了这个动态链接库,但是加载符号png_create_write_struct的时候出了问题。
就试着下载mrtg 的source package (源代码包) , http://oss.oetiker.ch/mrtg/pub/?M=D 和 www.sunfreeware.com上都有下载.
想看看在源代码编译的阶段是否可以改成静态链接这个库。
在mrtg源代码目录下执行configure命令的时候,系统检查到gd.h的时候说有问题(具体log没有记下来)。
系统提示有几种可能,其中一种符合我的情况. 我将/usr/local/lib和/usr/lib 下 libgd.so.*移到其他目录,如/tmp.
继续 configure
make
make install
5. 再次执行mrtg命令三遍
/usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg --logging /var/adm/mrtg.log
没有报错了,在/usr/local/apache2/htdocs/mrtg下有一些html文件 ,用浏览器打开,可以看到流量图了!
解决问题的过程中,有些原理还没有搞得很清楚,等搞清楚了再和大家分享。 |
|