读书人

札记:使用源码安装Bacula 5.0.3

发布时间: 2012-08-16 12:02:15 作者: rapoo

笔记:使用源码安装Bacula 5.0.3

?

札记:使用源码安装Bacula 5.0.3

Bacula是一个开源备份软件,用官方网站的话说是一个开源的网络备份解决方案。

shell> make uninstall shell> make distclean ?

这是从main文档和README整合出来的一段安装命令。

# To configure it  shell> CFLAGS="-g -Wall" \          ./configure \          --sbindir=$HOME/bacula/bin \          --sysconfdir=$HOME/bacula/bin \          --with-pid-dir=$HOME/bacula/bin/working \          --with-subsys-dir=$HOME/bacula/bin/working \          --with-mysql=/usr/local/mysql \          --with-working-dir=$HOME/bacula/bin/working \          --with-dump-email=$USER  # Build Bacula  shell> make  # To install  shell> make install  # To create the database  shell> cd $HOME/bacula/bin  shell> ./grant_mysql_privileges  shell> ./create_mysql_database  shell> ./make_mysql_tables   # To start it  shell> ./bacula start  # To stop it  shell> ./bacula stop
?

首先需要配置bacula,使用这种配置的好处是所有东西都会被安装在一个目录内,参数with-mysql必须是mysql的安装位置。如果这时需要修改配置,要make distclean再重新configure。然而在make的时候出错了,显然是缺少了某个库。

/usr/bin/ld: cannot find -lz

在main文档的Building Bacula from Source小节有详细的说明:

shell> sudo apt-get install zlib1g-dev ?

?之后make一切正常,在make install的时候又出现了错误。

/usr/bin/install: cannot stat `btraceback.gdb': No such file or directory

但是似乎这个错误并不重要,先忽略它。在创建数据库时,运行make_mysql_tables出现了以下错误。

ERROR 1064 (42000) at line 316: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MaxValue INTEGER DEFAULT 0,

CurrentValue INTEGER DEFAULT 0,

WrapCounter TI' at line 4

Creation of Bacula MySQL tables succeeded.

检查脚本,发现错误的地方是创建Counters表,检查数据库也证实Counters表没有创建成功。google了一下,发现有人遇到过同样的问题,问题的原因是MaxValue在mysql 5.5中是保留字,所以要将MaxValue用符号 ` 括起来。

CREATE TABLE Counters (        Counter TINYBLOB NOT NULL,        MinValue INTEGER DEFAULT 0,        \`MaxValue\` INTEGER DEFAULT 0,        CurrentValue INTEGER DEFAULT 0,        WrapCounter TINYBLOB NOT NULL,        PRIMARY KEY (Counter(128))      );  
?

修改后的脚本成功创建了所有表。当启动bacula时,又出现了以下错误。

/root/bacula

/bin/bacula-dir: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

出错的原因和解决方案在main文档的42.4 Linking Bacula with MySQL中有介绍,只需要在/etc/ld.so.conf文件的尾部添加libmysqlclient.so.18库的位置,再运行/sbin/ldconfig脚本即可。

现在再运行bacula start,就会显示:

Starting the Bacula Storage daemon

Starting the Bacula File daemon

Starting the Bacula Director daemon

bacula脚本接受四个参数start、stop、restart和status。

?

configure命令还有几个很有用的参数。

如果只想安装客户端,就使用--enable-client-only。

如果想安装或不安装Director,使用--enable-build-dird/--disable-build-dird。

如果想安装或不安装Storage,使用--enable-build-stored/--disable-build-stored。

读书人网 >开源软件

热点推荐