\index[general]{Release Files}
Beginning with Bacula 1.38.0, the source code has been broken into
four separate tar files each corresponding to a different module in
-the Bacula CVS. The released files are:
+the Bacula SVN. The released files are:
\begin{description}
-\item [bacula-1.38.0.tar.gz]
+\item [bacula-2.0.3.tar.gz]
This is the primary source code release for Bacula. On each
- release the version number (1.38.0) will be updated.
+ release the version number (2.0.3) will be updated.
-\item [bacula-docs-1.38.0.tar.gz]
+\item [bacula-docs-2.0.3.tar.gz]
This file contains a copy of the docs directory with the
documents prebuild. English HTML directory, single HTML
file, and pdf file. The French and German translations
are in progress, but are not built.
-\item [bacula-gui-1.38.0.tar.gz]
+\item [bacula-gui-2.0.3.tar.gz]
This file contains the non-core GUI programs. Currently,
it contains bacula-web, a PHP program for producing management
viewing of your Bacula job status in a browser; and bimagemgr
a browser program for burning CDROM images with Bacula Volumes.
-\item [bacula-rescue-1.8.1.tar.gz]
+\item [bacula-rescue-2.0.0.tar.gz]
This is the Bacula Rescue CDROM code. Note, the version number
of this package is not tied to the Bacula release version, so
it will be different. Using this code, you can burn a CDROM
repartition and reformat your hard disks and reload your
system with Bacula in the case of a hard disk failure.
-\item [winbacula-1.38.0.exe]
+ Note, this package evolves slower than the Bacula source code,
+ so there may not always be a new release of the rescue package when
+ making minor updates to the Bacula code. For example, when releasing
+ Bacula version 2.0.3, the rescue package may still be at version
+ 2.0.0 if there were no updates.
+
+\item [winbacula-2.0.3.exe]
This file is the 32 bit Windows installer for installing
the Windows client (File daemon) on a Windows machine.
+ This client will also run on 64 bit Windows machines.
Beginning with Bacula version 1.39.20, this executable will
- also load the Win32 Director and the Win32 Storage daemon.
+ also optionally load the Win32 Director and the Win32
+ Storage daemon.
\end{description}
all either 1.38.x or 1.40.x but not mixed).
-\section{Beta Releases}
+\label{BetaReleases}
+\section*{Beta Releases}
\index[general]{Beta Releases}
Towards the end of the development cycle, which typically runs
one year from a major release to another, there will be several beta
the new code. Beta releases are made with the following considerations:
\begin{itemize}
-\item The code passes the regression testing on Linux,
- FreeBSD, and Solaris machines. Including tape drive testing
- on Linux and FreeBSD (not currently on Solaris).
+\item The code passes the regression testing on Linux and
+ FreeBSD machines. Including tape drive testing
+ on Linux and FreeBSD.
+
\item There are no known major bugs, or on the rare occasion that
- there are, they will be documented.
+ there are, they will be documented or already in the bugs database.
+
\item Some of the new code/features may not yet be tested.
+
\item Bugs are expected to be found, especially in the new
code before the final production release.
+
\item The code will have been run in production in at least one small
site (mine).
+
\item The Win32 client will have been run in production at least
one night at that small site.
+
\item The documentation in the manual is unlikely to be complete especially
for the new features, and the Release Notes may not be fully
organized.
+
\item Beta code is not generally recommended for everyone, but
rather for early adopters.
\end{itemize}
\begin{enumerate}
\item Install and build any {\bf depkgs} as noted above. This
should be unnecessary on most modern Operating Systems.
+
\item Configure and install MySQL or PostgreSQL (if desired).
\ilink{Installing and Configuring MySQL Phase I}{MySqlChapter} or
\ilink{Installing and Configuring PostgreSQL Phase
can skip this phase provided that you have built the thread safe libraries.
And you have already installed the additional rpms noted above.
-\item As an alternative to MySQL and PostgreSQL, configure and install SQLite,
- which is part of the {\bf depkgs} and also available with most modern
- Operating Systems.
- \ilink{Installing and Configuring SQLite}{SqlLiteChapter}. SQLite is
- probably not suited to a fair size production environment because it
- tends to be slow compared to MySQL and it has few or poor tools for
- repairing database damage.
-
+ SQLite is not supported on Solaris. This is because it
+ frequently fails with bus errors.
+
\item Detar the Bacula source code preferably into the {\bf bacula} directory
discussed above.
continue on.
\item make
-\begin{verbatim}
-
-\end{verbatim}
If you get errors while linking in the Storage daemon directory
(src/stored), it is probably because you have not loaded the static
libraries on your system. I noticed this problem on a Solaris system.
as the passwords and names must agree between the configuration files
for security reasons.
+\label{CreateDatabase}
\item Create the Bacula MySQL database and tables
(if using MySQL)
\ilink{Installing and Configuring MySQL Phase II}{mysql_phase2} or
create the Bacula PostgreSQL database and tables
\ilink{Configuring PostgreSQL
II}{PostgreSQL_configure} or alternatively if you are using
- SQLite
- \ilink{Installing and Configuring SQLite Phase II}{phase2}.
+ SQLite \ilink{Installing and Configuring SQLite Phase II}{phase2}.
\item Start Bacula ({\bf ./bacula start}) Note. the next chapter shows you
how to do this in detail.
Before building Bacula you need to decide if you want to use SQLite, MySQL, or
PostgreSQL. If you are not already running MySQL or PostgreSQL, you might
-want to start by testing with SQLite. This will greatly simplify the setup for you
+want to start by testing with SQLite (not supported on Solaris).
+This will greatly simplify the setup for you
because SQLite is compiled into Bacula an requires no administration. It
performs well and is suitable for small to medium sized installations (maximum
10-20 machines). However, we should note that a number of users have
If you wish to use SQLite as the Bacula catalog, please see
\ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
-this manual.
+this manual. SQLite is not supported on Solaris.
\section{Quick Start}
\index[general]{Quick Start}
customize your installation.
\begin{description}
-\item [ {-}{-}sysbindir=\lt{}binary-path\gt{}]
- \index[general]{{-}{-}sysbindir}
+\item [ {-}{-}sbindir=\lt{}binary-path\gt{}]
+ \index[general]{{-}{-}sbindir}
Defines where the Bacula binary (executable) files will be placed during a
{\bf make install} command.
Note, the main HTML and PDF Bacula documents are in a separate
tar file that is not part of the source distribution.
-\item [ {-}{-}datadir=\lt{}path\gt{}]
+\item [ {-}{-}datadir=\lt{}path\gt{} ]
\index[general]{{-}{-}datadir}
If you translate Bacula or parts of Bacula into a different language
you may specify the location of the po files using the {\bf
keeping this option enabled as it helps detect memory leaks. This
configuration parameter is used while building Bacula
-\item [ {-}{-}enable-GNOME ]
- \index[general]{{-}{-}enable-GNOME}
+\item [ {-}{-}enable-bat ]
+ \index[general]{{-}{-}enable-bat}
+ If you have Qt4 >= 4.2 installed on your computer including the
+ libqt4 and libqt4-devel libraries, and you want to use the
+ Bacula Administration Tool (bat) GUI Console interface to Bacula, you
+ must specify this option. Doing so will build everything in the {\bf
+ src/qt-console} directory. In addition to the Qt4 libraries, bat
+ needs the qwt package installed on your system. Please see the
+ next configure item for the details.
+
+\item [ {-}{-}with-qwt=\lt{}path\gt{} ]
+ \index[general]{{-}{-}with-qwt}
+ To build bat, you need the qwt graphics package installed on
+ your system. The qwt package is available for download from
+ the qwt project on Source Forge. If you wish, you may build and
+ install it on your system (by default in /usr/lib). If you have
+ done so, you would specify:
+
+\begin{verbose}
+ --with-qwt=/usr/lib/qwt-5.0.2
+\end{verbose}
+
+ Alternatively, you can download the Bacula depkgs package (currently
+ version 11Jul07) and build it, then assuming that you have put it
+ into a directory named bacula, you would specify:
+
+\begin{verbose}
+ --with-qwt=$HOME/bacula/depkgs/qwt
+\end{verbose}
+
+
+\item [ {-}{-}enable-batch-insert ]
+ \index[general]{{-}{-}enable-batch-insert}
+ This option enables batch inserts of the attribute records (default) in
+ the catalog database, which is much faster (10 times or more) than
+ without this option for large numbers of files. However, this option
+ will automatically be disabled if your SQL libraries are not
+ thread safe. SQLite2 is not thread safe, so this option cannot
+ be enabled when using it. However, on most systems, PostgreSQL,
+ and SQLite3 are thread safe. Bacula always links to the thread safe
+ MySQL libraries.
+
+ As far as we can determine SQLite2 is not thread safe and so should
+ not be used if you have enabled batch insert in Bacula.
+
+ As a default, Bacula runs SQLite3 with {\bf PRAGMA synchronous=OFF}
+ because it improves performance by more than 30 times. However, it
+ increases the possibility of a corrupted database. If you want more
+ security, please modify src/version.h appropriately (it should be
+ obvious when you look at the file).
+
+\item [ {-}{-}enable-gnome ]
+ \index[general]{{-}{-}enable-gnome}
If you have GNOME installed on your computer including the
GNOME development libraries, and you want to use the
GNOME GUI Console interface to Bacula, you must specify this option.
- Doing so will build everything in the {\bf src/GNOME-console} directory.
+ Doing so will build everything in the {\bf src/gnome2-console} directory.
\item [ {-}{-}enable-bwx-console ]
\index[general]{{-}{-}enable-bwx-console}
to install GNOME, as wxWidgets can work with GTK+, Motif or even X11
libraries.
-
\item [ {-}{-}enable-tray-monitor ]
\index[general]{{-}{-}enable-tray-monitor}
If you have GTK installed on your computer, you run a graphical
not enabled this option, or explicitly disable static linking by adding
{\bf \verb:--:disable-static-tools}.
-
\item [ {-}{-}enable-static-fd]
\index[general]{{-}{-}enable-static-fd}
This option causes the make process to build a {\bf static-bacula-fd} in
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-
\item [ {-}{-}enable-static-dir]
\index[general]{{-}{-}enable-static-dir}
\item [ {-}{-}enable-static-cons]
\index[general]{{-}{-}enable-static-cons}
This option causes the make process to build a {\bf static-console} and
- a {\bf static-GNOME-console} in addition to the standard console. This
+ a {\bf static-gnome-console} in addition to the standard console. This
static version will include statically linked libraries and could be
useful during a Bare Metal recovery.
\item [ {-}{-}with-sqlite=\lt{}sqlite-path\gt{}]
\index[general]{{-}{-}with-sqlite}
- This enables use of the SQLite version 2.8.x database. The {\bf sqlite-path} is not
- normally specified as Bacula looks for the necessary components in a
- standard location ({\bf depkgs/sqlite}). See
+ This enables use of the SQLite version 2.8.x database. The {\bf
+ sqlite-path} is not normally specified as Bacula looks for the necessary
+ components in a standard location ({\bf depkgs/sqlite}). See
\ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
- this manual for more details.
+ this manual for more details. SQLite is not supported on Solaris.
See the note below under the {-}{-}with-postgresql item.
sqlite3-path} is not normally specified as Bacula looks for the
necessary components in a standard location ({\bf depkgs/sqlite3}). See
\ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
- this manual for more details.
+ this manual for more details. SQLite3 is not supported on Solaris.
\item [ {-}{-}with-mysql=\lt{}mysql-path\gt{}]
\index[general]{{-}{-}with-mysql}
\ilink{Bacula PKI -- Data Encryption}{DataEncryption}
chapter of this manual.
-
-
\item [ {-}{-}with-python=\lt{}path\gt{}]
\index[general]{{-}{-}with-python}
- This option enables Bacula support for Python. If no path is
- supplied, configure will search the
- standard library locations for Python 2.2, 2.3, or 2.4. If it cannot
- find the library, you will need to supply a path to your Python
- library directory. Please see the
- \ilink{Python chapter}{PythonChapter} for the details of using
- Python scripting.
+ This option enables Bacula support for Python. If no path is supplied,
+ configure will search the standard library locations for Python 2.2,
+ 2.3, 2.4, or 2.5. If it cannot find the library, you will need to
+ supply a path to your Python library directory. Please see the
+ \ilink{Python chapter}{PythonChapter} for the details of using Python
+ scripting.
\item [ {-}{-}with-libintl-prefix=\lt{}DIR\gt{}]
\index[general]{{-}{-}with-libintl-prefix}
\item [ {-}{-}with-dir-password=\lt{}Password\gt{}]
\index[general]{{-}{-}with-dir-password}
- This option allows you to specify the password used to access the Directory
+ This option allows you to specify the password used to access the Director
(normally from the Console program). If it is not specified, configure will
automatically create a random password.
\item [ {-}{-}with-sd-password=\lt{}Password\gt{} ]
\index[general]{{-}{-}with-sd-password}
- This option allows you to specify the password used to access the Directory
+ This option allows you to specify the password used to access the Storage daemon
(normally called from the Director). If it is not specified, configure will
automatically create a random password.
create the User prior to running {\bf make install}, because the
working directory owner will be set to {\bf User}.
-
\item [ {-}{-}with-dir-group=\lt{}Group\gt{} ]
\index[general]{{-}{-}with-dir-group}
This option allows you to specify the GroupId used to run the Director. The
root, however, after doing preliminary initializations, it can "drop" to
the GroupId specified on this option.
+\item [ {-}{-}with-mon-dir-password=\lt{}Password\gt{}]
+ \index[general]{{-}{-}with-mon-dir-password}
+ This option allows you to specify the password used to access the Directory
+ from the monitor. If it is not specified, configure will
+ automatically create a random password.
+
+\item [ {-}{-}with-mon-fd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{-}with-mon-fd-password}
+ This option allows you to specify the password used to access the File daemon
+ from the Monitor. If it is not specified, configure will
+ automatically create a random password.
+
+\item [ {-}{-}with-mon-sd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{-}with-mon-sd-password}
+ This option allows you to specify the password used to access the
+ Storage daemon from the Monitor. If it is not specified, configure will
+ automatically create a random password.
+
+\item [ {-}{-}with-db-name=\lt{}database-name\gt{} ]
+ \index[general]{{-}{-}with-db-name}
+ This option allows you to specify the database name to be used in
+ the conf files. The default is bacula.
+
+\item [ {-}{-}with-db-user=\lt{}database-user\gt{} ]
+ \index[general]{{-}{-}with-db-user}
+ This option allows you to specify the database user name to be used in
+ the conf files. The default is bacula.
+
\end{description}
Note, many other options are presented when you do a {\bf ./configure
--with-working-dir=$HOME/bacula/working \
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working \
- --enable-GNOME \
+ --enable-bat \
+ --with-qwt=$HOME/bacula/depkgs/qwt \
--enable-conio
\end{verbatim}
\normalsize
--with-working-dir=$HOME/bacula/working
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working
- --enable-GNOME \
+ --enable-gnome \
--enable-conio
\end{verbatim}
\normalsize
--sysconfdir=/etc/bacula \
--with-scriptdir=/etc/bacula \
--enable-smartalloc \
- --enable-GNOME \
+ --enable-bat \
+ --with-qwt=$HOME/bacula/depkgs/qwt \
--with-mysql \
--with-working-dir=/var/bacula \
--with-pid-dir=/var/run \
- --with-subsys-dir=/var/lock/subsys \
--enable-conio
\end{verbatim}
\normalsize
-Note, Bacula assumes that /var/bacula, /var/run, and /var/loc/subsys exist so
+Note, Bacula assumes that /var/bacula, /var/run, and /var/lock/subsys exist so
it will not automatically create them during the install process.
-Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on
-an AMD64 CPU running 64 bit CentOS4, there is a compiler bug that generates
-bad code that causes Bacula to segment fault. Typically you will see this
-in the Storage daemon first. The solution is to compile Bacula ensuring
-that no optimization is turned on (normally it is -O2).
-
\section{Solaris}
\index[general]{Solaris}
You will probably also need to: Add /usr/local/bin to PATH and Add
/usr/ccs/bin to PATH for ar.
+It is possible to build Bacula on Solaris with the Solaris compiler, but
+we recommend using GNU C++ if possible.
+
+A typical configuration command might look like:
+
\footnotesize
\begin{verbatim}
#!/bin/sh
\end{verbatim}
\normalsize
+If you have installed special software not normally in the Solaris
+libraries, such as OpenSSL, or the packages shown above, then you may need
+to add {\bf /usr/sfw/lib} to the library search path. Probably the
+simplest way to do so is to run:
+
+\footnotesize
+\begin{verbatim}
+setenv LDFLAGS "-L/usr/sfw/lib -R/usr/sfw/lib"
+\end{verbatim}
+\normalsize
+
+Prior to running the ./configure command.
+
+Alternatively, you can set the LD\_LIBARY\_PATH and/or the LD\_RUN\_PATH
+environment variables appropriately.
+
+It is also possible to use the {\bf crle} program to set the library
+search path. However, this should be used with caution.
+
\section{FreeBSD}
\index[general]{FreeBSD}
--sysconfdir=$HOME/bacula/bin \
--mandir=$HOME/bacula/bin \
--enable-smartalloc \
- --enable-GNOME \
+ --enable-gnome \
+ --enable-bat \
+ --with-qwt=$HOME/bacula/depkgs/qwt \
--enable-bwx-console \
--enable-tray-monitor \
--with-pid-dir=$HOME/bacula/bin/working \
After doing a {\bf make install} the following files will be installed on your
system (more or less). The exact files and location (directory) for each file
-depends on your {\bf ./configure} command (e.g. GNOME-console and
-GNOME-console.conf are not installed if you do not configure GNOME. Also, if
-you are using SQLite instead of mysql, some of the files will be different).
+depends on your {\bf ./configure} command (e.g. bgnome-console and
+bgnome-console.conf are not installed if you do not configure GNOME. Also, if
+you are using SQLite instead of MySQL, some of the files will be different).
\footnotesize
\begin{verbatim}
drop_bacula_tables
drop_mysql_tables
fd
-GNOME-console
-GNOME-console.conf
+bgnome-console
+bgnome-console.conf
make_bacula_tables
make_catalog_backup
make_mysql_tables