タグ: Amazon Linux AMI

Amazon Linux AMI 2013.03.1にBacula 5.2.13をソースからRPMを作成しインストール

AMIをAmazon Linux AMI 2013.03.1にしたEC2サーバ(x86_64)上にBaculaをインストール

条件

  • 使用AMIはAmazon Linux AMI 2013.03
  • アーキテクチャはx86_64
  • BaculaのDBとしてPostgreSQL,SQLite,MySQLを選択できるが、今回はMySQLを使用
  • Baculaのソースはconfigure時にSPECファイルを生成するが、Amazon Linux AMIには対応していないので、いつくか追加・修正を加える。

最初に

sudo su -
yum update

以下rootで作業

Baculaのconfigure内でOS判別に/etc/redhat-releaseを利用するところがあるので、

ln -s /etc/system-release /etc/redhat-release

としておく。

ソースのダウンロード

cd /tmp
wget http://downloads.sourceforge.net/project/bacula/bacula/5.2.13/bacula-5.2.13.tar.gz
tar -xvzf bacula-5.2.13.tar.gz
cd bacula-5.2.13

specファイルの生成

yum install gcc gcc-c++
yum install mysql-devel
./configure --with-mysql

rpmbuildの準備

yum install rpm-build
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cp platforms/rpms/redhat/bacula.spec ~/rpmbuild/SPECS/
cp ../bacula-5.2.13.tar.gz ~/rpmbuild/SOURCES/

wget http://downloads.sourceforge.net/project/bacula/bacula/5.2.13/ReleaseNotes
mv ReleaseNotes Release_Notes-5.2.13-1.txt
tar -cvzf ~/rpmbuild/SOURCES/Release_Notes-5.2.13-1.tar.gz Release_Notes-5.2.13-1.txt

wget http://downloads.sourceforge.net/project/bacula/depkgs/24Dec11/depkgs-24Dec11.tar.gz
mv depkgs-24Dec11.tar.gz ~/rpmbuild/SOURCES/

SPECファイルを編集

vi ~/rpmbuild/SPECS/bacula.spec

差分は下のパッチを参照

もしくはパッチを当てる

cd ~/rpmbuild/SPECS
wget https://gist.github.com/mistymagich/6594097/raw/dcf24eacd0d472567600f47be0e4f82a7d5f886c/bacula-5.2.13-bacula.spec.patch
patch < bacula-5.2.13-bacula.spec.patch

SPECファイルからRPMバイナリを生成

yum install tcp_wrappers-devel autoconf ncurses-devel readline-devel libacl-devel libxml2-devel libtermcap-devel
rpmbuild -bb --define build_alami=1 --define build_x86_64=1 --define build_mysql=1 ~/rpmbuild/SPECS/bacula.spec

インストール

yum localinstall --nogpgcheck ~/rpmbuild/RPMS/x86_64/bacula-libs-5.2.13-1.x86_64.rpm ~/rpmbuild/RPMS/x86_64/bacula-mysql-5.2.13-1.x86_64.rpm

注意

  • Baculaのファイル群は/opt/bacula以下にインストールされる
  • サービスはそれぞれ/etc/init.d以下に
    bacula-dir(Director)
    bacula-fd(File)
    bacula-sd(Storage)
  • /opt/bacula/etc/bacula-dir.conf、/etc/logwatch/conf/logfiles/bacula.conf、/etc/logrotate.d/baculaのログファイルのパスを書き込んでいるところが、「/opt/bacula/opt/bacula/log/bacula.log」となっているが、正しくは「/opt/bacula/log/bacula.log」に修正する
広告