タグ: Bacula

CentOS 6.4にBacula 5.2.13をインストール

CentOSにBaculaをインストール

  1. EPELパッケージを追加して有効にする。
    # rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
    
    # vi /etc/yum.repos.d/epel.repo
    [epel]
    :
    enabled=1
    になっていることを確認
    
  2. Baculaリポジトリを追加
    # wget http://repos.fedorapeople.org/repos/slaanesh/bacula/epel-bacula.repo \
    -O /etc/yum.repos.d/epel-bacula.repo
    
  3. 必要なものをインストール
    64ビット版の場合
    # yum search bacula
    
    bacula-client.x86_64 : Bacula backup client
    bacula-common.x86_64 : Common Bacula utilities
    bacula-console.x86_64 : Bacula management console
    bacula-console-bat.x86_64 : Bacula bat console
    bacula-devel.x86_64 : Bacula development files
    bacula-director.x86_64 : Bacula Director files
    bacula-director-common.x86_64 : Common Bacula Director files
    bacula-director-mysql.x86_64 : Bacula Director with MySQL database support
    bacula-director-postgresql.x86_64 : Bacula Director with PostgresSQL database support
    bacula-director-sqlite.x86_64 : Bacula Director with sqlite database support
    bacula-docs.x86_64 : Bacula documentation
    bacula-docs.noarch : Bacula documentation
    bacula-libs.x86_64 : Bacula libraries
    bacula-libs-sql.x86_64 : Bacula SQL libraries
    bacula-storage.x86_64 : Bacula storage daemon files
    bacula-storage-common.x86_64 : Common Bacula storage daemon files
    bacula-storage-mysql.x86_64 : MySQL Bacula storage daemon files
    bacula-storage-postgresql.x86_64 : Common Bacula storage daemon files
    bacula-storage-sqlite.x86_64 : SQLite Bacula storage daemon files
    bacula-traymonitor.x86_64 : Bacula monitor for the Gnome and KDE system tray
    nagios-plugins-bacula.x86_64 : Nagios Plugin - check_bacula
    

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」に修正する

CentOS 5.6でBacula 5.0.3のクライアントをソースRPMからリビルドする

1.ビルドに必要な依存ファイルインストール

# yum install -y ncurses-devel libacl-devel libxml2-devel

2.ソースRPMのダウンロード&リビルド

# wget "https://sourceforge.net/projects/bacula/files/rpms/5.0.3/bacula-5.0.3-1.src.rpm/download"
# rpmbuild --rebuild --define "build_centos5 1" --define "build_client_only 1" bacula-5.0.3-1.src.rpm

下記のようなエラーが出る

エラー: インストール済み(ただし未伸張)ファイルが見つかりました:
 /usr/lib/bacula/btraceback.mdb
RPM ビルドエラー:
 InstallSourcePackage: ヘッダ V3 DSA signature: NOKEY, key ID 10a792ad
 ユーザ sbarn は存在しません - root を使用します
 ユーザ sbarn は存在しません - root を使用します
 ユーザ sbarn は存在しません - root を使用します
 ユーザ sbarn は存在しません - root を使用します
 ユーザ sbarn は存在しません - root を使用します
 インストール済み(ただし未伸張)ファイルが見つかりました:
 /usr/lib/bacula/btraceback.mdb

3.SPECファイルを修正する

# vi /usr/src/redhat/SPECS/bacula.spec

1370行目あたり
変更前:

%{_sbindir}/bacula-fd
%{_sbindir}/btraceback
%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
%{_sbindir}/bconsole
%{_mandir}/man8/bacula-fd.8.%{manpage_ext}
%{_mandir}/man8/bacula.8.%{manpage_ext}
%{_mandir}/man8/bconsole.8.%{manpage_ext}
%{_mandir}/man8/btraceback.8.%{manpage_ext}
%{_mandir}/man1/bat.1.%{manpage_ext}
%_prefix/share/doc/*

変更後:

%{_sbindir}/bacula-fd
%{_sbindir}/btraceback
%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.mdb
%{_sbindir}/bconsole
%{_mandir}/man8/bacula-fd.8.%{manpage_ext}
%{_mandir}/man8/bacula.8.%{manpage_ext}
%{_mandir}/man8/bconsole.8.%{manpage_ext}
%{_mandir}/man8/btraceback.8.%{manpage_ext}
%{_mandir}/man1/bat.1.%{manpage_ext}
%_prefix/share/doc/*

4.SPECファイルからビルド

# rpmbuild -bb --define "build_centos5 1" --define "build_client_only 1" /usr/src/redhat/SPECS/bacula.spec

5.インストール

# rpm -Uvh /usr/src/redhat/RPMS/i386/bacula-client-5.0.3-1.i386.rpm /usr/src/redhat/RPMS/i386/bacula-libs-5.0.3-1.i386.rpm

6.設定ファイルの編集

# vi /etc/bacula/bacula-fd.conf
# vi /etc/bacula/bconsole.conf

7.サービスの登録

# chkconfig --add bacula-fd

8.サービスの起動

# service bacula-fd start
Starting Bacula File services: [ OK ]