rrdtool 설치 하기

MRTG와 쌍벽을 이루는 그래프를 그리기 위한 툴인 rrdtool의 경우 yum등을 통해 손쉽게 설치가 가능합니다. 하지만 이번에는 수동으로 설치하는 방법을 알아볼까 합니다. 이 글은 [이것]을 참고하였습니다. 시간이 지나 새로운 버젼이 나오게 되면 과거버젼의 글이 되어버리므로 참고만 하시되 원본글을 보고 설치하시기 바랍니다.

설치 준비하기
최소한의 설치 준비를 위해 다음을 생각해 두어야 합니다.

1. 어느 디렉토리에서 설치를 위한 빌드를 준비할 것인가?
2. 어느 디렉토리에 설치할 것인가?

두가지를 결정하였다면 환경 변수로 등록해 둡니다.
[code]BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/opt/rrdtool-1.4.2[/code]
빌드를 할 디렉토리를 만들어서 이동합니다.
[code]mkdir -p $BUILD_DIR
cd $BUILD_DIR[/code]
추가로 필요로 하는 라이브러리를 알아보기 위한 설치를 시도해 봅니다.
[code]wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.2.tar.gz
gunzip -c rrdtool-1.4.2.tar.gz | tar xf –
cd rrdtool-1.4.2
./configure –prefix=$INSTALL_DIR && make && make install[/code]
위의 결과가 정상적으로 끝난다면 필요한 라이브러리가 모두 있는것으로써 바로 사용이 가능해 집니다. 하지만 보통은 어떤 라이브러리들이 없는 쭉 나오게 됩니다. 그것을 적어두고 다음으로 넘어갑니다.

의존성 라이브러리 설치하기
설치를 하기에 앞서 라이브러리들이 서로 참조를 하기 때문에 다음을 수행하여 문제 없이 이루어 지도록 해줍니다.
[code]export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig
export PATH=$INSTALL_DIR/bin:$PATH
export LDFLAGS=”-Wl,–rpath -Wl,${INSTALL_DIR}/lib”
export MAKE=make[/code]
이후 다음의 라이브러리들중 필요로 하는 라이브러리만 선별적으로 순서대로 설치를 합니다.

– pkgconfig
[code]wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
gunzip -c pkg-config-0.23.tar.gz | tar xf –
cd pkg-config-0.23
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC”
$MAKE
$MAKE install[/code]
– zlib
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/zlib-1.2.3.tar.gz
gunzip -c zlib-1.2.3.tar.gz | tar xf –
cd zlib-1.2.3
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC” –shared
$MAKE
$MAKE install[/code]
– libpng
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
gunzip -c libpng-1.2.18.tar.gz | tar xf –
cd libpng-1.2.18
env CFLAGS=”-O3 -fPIC” ./configure –prefix=$INSTALL_DIR
$MAKE
$MAKE install[/code]
– freetype
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.3.5.tar.gz
gunzip -c freetype-2.3.5.tar.gz | tar xf –
cd freetype-2.3.5
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC”
$MAKE
$MAKE install[/code]
– libXML2
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/libxml2-2.6.32.tar.gz
gunzip -c libxml2-2.6.32.tar.gz | tar xf –
cd libxml2-2.6.32
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC”
$MAKE
$MAKE install[/code]
– fontconfig
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/fontconfig-2.4.2.tar.gz
gunzip -c fontconfig-2.4.2.tar.gz   | tar xf –
cd fontconfig-2.4.2
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC” \
  –with-freetype-config=$INSTALL_DIR/bin/freetype-config
$MAKE
$MAKE install[/code]
font-config의 경우, 설치중에 폰트캐시를 생성하게 됩니다. 하지만 시스템을 X를 제외하여 설치하였다면 폰트가 하나도 없게 되어 캐시를 생성해봤자 사용할 수 있는 폰트가 없기 때문에 모든 문자가 깨져 나오게 됩니다. 이때에는 사용하려는 트루타입 폰트(ttf)를 $INSTALL_DIR/etc/fonts(rpm 패키지로 설치되어있을 경우 /usr/share/fonts) 안에 설치하여 주신후에 fc-cache를 실행하여 주시면 됩니다.

– Pixman
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/pixman-0.10.0.tar.gz
gunzip -c pixman-0.10.0.tar.gz  | tar xf –
cd pixman-0.10.0
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC”
$MAKE
$MAKE install[/code]
– Cairo
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/cairo-1.6.4.tar.gz
gunzip -c cairo-1.6.4.tar.gz   | tar xf –
cd cairo-1.6.4
./configure –prefix=$INSTALL_DIR \
   –enable-xlib=no \
   –enable-xlib-render=no \
   –enable-win32=no \
   CFLAGS=”-O3 -fPIC”
$MAKE
$MAKE install[/code]
– Glib
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/glib-2.15.4.tar.gz
gunzip -c glib-2.15.4.tar.gz  | tar xf –
cd glib-2.15.4
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC”
$MAKE
$MAKE install[/code]
– Pango
[code]cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/pango-1.21.1.tar.bz2
bunzip2 -c pango-1.21.1.tar.bz2 | tar xf –
cd pango-1.21.1
./configure –prefix=$INSTALL_DIR CFLAGS=”-O3 -fPIC” –without-x
$MAKE
$MAKE install[/code]
다시 rrdtool 설치하기
필요한 의존 라이브러리를 설치하였다면 다시한번 설치를 시도해 봅시다.
[code]cd $BUILD_DIR/rrdtool-1.4.2
./configure –prefix=$INSTALL_DIR –disable-tcl –disable-python
$MAKE clean
$MAKE
$MAKE install[/code]
설치후에 $INSTALL_DIR/share/rrdtool/examples 안에 있는 예제를 실행하여 정상적으로 그래프가 그려지는지 확인하여 봅시다. 잘 된다면 설치 성공입니다.

사용자 삽입 이미지

위는 설치중에 나오는 시디 구매 장난;;