- 論壇徽章:
- 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. 執(zhí)行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環(huán)境變量已經包含/usr/local/lib , 但是還是有這個報錯。
4. 考慮到mrtg調用rateup命令,rateup命令又去找libgd.so.2 , 估計是找到了這個動態(tài)鏈接庫,但是加載符號png_create_write_struct的時候出了問題。
就試著下載mrtg 的source package (源代碼包) , http://oss.oetiker.ch/mrtg/pub/?M=D 和 www.sunfreeware.com上都有下載.
想看看在源代碼編譯的階段是否可以改成靜態(tài)鏈接這個庫。
在mrtg源代碼目錄下執(zhí)行configure命令的時候,系統(tǒng)檢查到gd.h的時候說有問題(具體log沒有記下來)。
系統(tǒng)提示有幾種可能,其中一種符合我的情況. 我將/usr/local/lib和/usr/lib 下 libgd.so.*移到其他目錄,如/tmp.
繼續(xù) configure
make
make install
5. 再次執(zhí)行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文件 ,用瀏覽器打開,可以看到流量圖了!
解決問題的過程中,有些原理還沒有搞得很清楚,等搞清楚了再和大家分享。 |
|