the Bacula SVN. The released files are:
\begin{description}
-\item [bacula-3.0.3.tar.gz]
+\item [bacula-5.0.0.tar.gz]
This is the primary source code release for Bacula. On each
- release the version number (3.0.3) will be updated.
+ release the version number (5.0.0) will be updated.
-\item [bacula-docs-3.0.3.tar.gz]
+\item [bacula-docs-5.0.0.tar.bz2]
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
+ file, and pdf file. The French, German, Spanish translations
are in progress, but are not built.
-\item [bacula-gui-3.0.3.tar.gz]
+\item [bacula-gui-5.0.0.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-3.0.3.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
+\item [bacula-rescue-5.0.0.tar.gz]
+ This is the Bacula Rescue USB key code. Note, the version number
+ of this package is not always tied to the Bacula release version, so
+ it may be different. Using this code, you can create a USB key
with your system configuration and containing a statically
linked version of the File daemon. This can permit you to easily
repartition and reformat your hard disks and reload your
system with Bacula in the case of a hard disk failure.
- Unfortunately this rescue disk does not properly boot for
- all Linux distributions. The problem is that the boot procedure
- can vary significantly between distributions, and even within
- a distribution, they are a moving target.
-
- 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 3.0.3, the rescue package may still be at a prior
- version if there were no updates.
-
-\item [winbacula-3.0.3.exe]
+
+\item [win32bacula-5.0.0.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 optionally load the Win32 Director and the Win32
- Storage daemon.
+ This client will also run on 64 bit Windows machines, but
+ VSS support is not available if you are running a 64 bit
+ version of Windows. This installer installs only the FD,
+ the Director and Storage daemon are not included.
+
-\item [win64bacula-3.0.3.exe]
+\item [win64bacula-5.0.0.exe]
This file is the 64 bit Windows installer for installing
the Windows client (File daemon) on a Windows machine.
This client will only run on 64 bit Windows OS machines.
Typically, a dependency package will be named {\bf depkgs-ddMMMyy.tar.gz}
where {\bf dd} is the day we release it, {\bf MMM}
is the abbreviated month (e.g. Jan), and {\bf yy} is the year. An actual
-example is: {\bf depkgs-24Jul09.tar.gz}. To install and build this package (if
+example is: {\bf depkgs-18Dec.tar.gz}. To install and build this package (if
needed), you do the following:
\begin{enumerate}
prior to configuring and building Bacula, since Bacula will need
them during the build process.
+Note, the {\bf depkgs-qt} package is required for building bat, because
+bat is currently built with Qt version 4.3.4. It can be built with other
+Qt versions, but that almost always creates problems or introduces
+instabilities.
+
+You can build the depkgs-qt with the following:
+
+\footnotesize
+\begin{verbatim}
+cd bacula
+tar xfvz depkgs-qt-28Jul09.tar.gz
+cd depkgs-qt
+make qt4
+source qt4-path
+\end{verbatim}
+\normalsize
+
+Doing the {\bf source qt4-path} defines the following environment
+variables:
+
+\footnotesize
+\begin{verbatim}
+QTDIR
+QTLIB
+QTINC
+\end{verbatim}
+\normalsize
+
+Each one should point to a specific location in the depkgs-qt package
+that you loaded. It also puts the depkgs-qt/qt4/bin directory
+on your path before all other directories. This ensures that
+the bat build will use your Qt 4.3.4 library rather than any that
+might be on your system.
+
+Before running your Bacula build, please make sure that
+{\bf qmake-qt4} is not on your path. If it is please rename it. If
+you don't do this, Bacula will attempt to build with any Qt4 package
+installed on your system rather than the one you just built.
+If you logoff and log back in, you must re-source the depkgs-qt/qt4-patch
+file before attempting to rebuild the bat part of Bacula.
+
For more information on the {\bf depkgs-qt} package, please read the
INSTALL file in the main directory of that package. If you are going to
build Qt4 using {\bf depkgs-qt}, you must source the {\bf qt4-paths} file
\begin{verbatim}
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 \
+ --sbindir=/opt/bacula/bin \
+ --sysconfdir=/opt/bacula/etc \
+ --with-pid-dir=/var/run \
+ --with-subsys-dir=/var/run \
--with-mysql \
- --with-working-dir=$HOME/bacula/bin/working \
+ --with-working-dir=/opt/bacula/working \
--with-dump-email=$USER
\end{verbatim}
\normalsize
would normally use, and each developer/user may modify them to suit his needs.
You should find additional useful examples in this directory as well.
-The {\bf \verb:--:enable-conio} or {\bf \verb:--:enable-readline} options are useful because
-they provide a command line history and editing capability for the Console
-program. If you have included either option in the build, either the {\bf
-termcap} or the {\bf ncurses} package will be needed to link. On most
-systems, including Red Hat and SuSE, you should include the ncurses package.
-If Bacula's configure process finds the ncurses libraries, it will use
-those rather than the termcap library.
-On some systems, such as SuSE, the termcap library is not in the standard
-library directory. As a consequence, the option may be disabled or you may
-get an error message such as:
+The {\bf \verb:--:enable-conio} or {\bf \verb:--:enable-readline} options are
+useful because they provide a command line history, editing capability for the
+Console program and tab completion on various option. If you have included
+either option in the build, either the {\bf termcap} or the {\bf ncurses}
+package will be needed to link. On most systems, including Red Hat and SuSE,
+you should include the ncurses package. If Bacula's configure process finds
+the ncurses libraries, it will use those rather than the termcap library. On
+some systems, such as SuSE, the termcap library is not in the standard library
+directory. As a consequence, the option may be disabled or you may get an
+error message such as:
\footnotesize
\begin{verbatim}
\end{verbatim}
\normalsize
-The same library requirements apply if you wish to use the readline
-subroutines for command line editing and history or
-if you are using a MySQL library that requires encryption. If you need encryption,
-you can either export the appropriate additional library options as shown
-above or, alternatively, you can include them directly on the ./configure line
-as in:
+The same library requirements apply if you wish to use the readline subroutines
+for command line editing, history and tab completion or if you are using a
+MySQL library that requires encryption. If you need encryption, you can either
+export the appropriate additional library options as shown above or,
+alternatively, you can include them directly on the ./configure line as in:
\footnotesize
\begin{verbatim}
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
had unexplained database corruption with SQLite. For that reason, we
-recommend that you install either MySQL or PostgreSQL for production
+recommend that you install either PostgreSQL or MySQL for production
work.
-If you wish to use MySQL as the Bacula catalog, please see the
-\ilink{Installing and Configuring MySQL}{MySqlChapter} chapter of
-this manual. You will need to install MySQL prior to continuing with the
+If you wish to use MySQL as the Bacula catalog, please see the
+\ilink{Installing and Configuring MySQL}{MySqlChapter} chapter of this
+manual. You will need to install MySQL prior to continuing with the
configuration of Bacula. MySQL is a high quality database that is very
-efficient and is suitable for any sized installation. It is slightly more
-complicated than SQLite to setup and administer because it has a number of
-sophisticated features such as userids and passwords. It runs as a separate
-process, is truly professional and can manage a database of any size.
-
-If you wish to use PostgreSQL as the Bacula catalog, please see the
-\ilink{Installing and Configuring PostgreSQL}{PostgreSqlChapter}
-chapter of this manual. You will need to install PostgreSQL prior to
-continuing with the configuration of Bacula. PostgreSQL is very similar to
-MySQL, though it tends to be slightly more SQL92 compliant and has many more
-advanced features such as transactions, stored procedures, and the such. It
-requires a certain knowledge to install and maintain.
+efficient and is suitable for small and medium sized installation (up to
+2,000,000 files per job). It is slightly more complicated than SQLite to setup
+and administer because it has a number of sophisticated features such as
+userids and passwords. It runs as a separate process, is truly professional and
+can manage a database of any size.
+
+If you wish to use PostgreSQL as the Bacula catalog, please see the
+\ilink{Installing and Configuring PostgreSQL}{PostgreSqlChapter} chapter of
+this manual. You will need to install PostgreSQL prior to continuing with the
+configuration of Bacula. PostgreSQL is very similar to MySQL, though it tends
+to be slightly more SQL92 compliant and has many more advanced features such as
+transactions, stored procedures, and the such. It requires a certain knowledge
+to install and maintain. PostgreSQL is suitable for any sized installation
+(some sites have much more than 1 billion objects in the Catalog). Bacula uses
+many optimized PostgreSQL functions, and can run more than 10 time faster on
+jobs having millions of files than MySQL (Specially in during restore, accurate
+mode, bvfs queries and when the database server is not on the same host than
+the Director). It's possible to switch from MySQL/SQLite to PostgreSQL, but it
+requires some DBA knowledge.
If you wish to use SQLite as the Bacula catalog, please see
\ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
This option is meant to allow you to direct where the architecture
independent files should be placed. However, we find this a somewhat
vague concept, and so we have not implemented this option other than
- what ./configure does by default. As a consequence, we suggest that
+ to use any explicit prefix that you may define. If you do not
+ explicitly specify a prefix, Bacula's configure routine will not use
+ the default value that ./configure --help prints.
+ As a consequence, we suggest that
you avoid it. We have provided options that allow you to explicitly
specify the directories for each of the major categories of installation
files.
\item [ {-}{\-}sysconfdir=\lt{}config-path\gt{}]
\index[general]{{-}{\-}sysconfdir}
Defines where the Bacula configuration files should be placed during a
- {\bf make install} command.
+ {\bf make install} command. Note, for security reasons,
+ this directory should be unique to Bacula and not read/writable by
+ any other user/group than Bacula is running under.
\item [ {-}{\-}mandir=\lt{}path\gt{}]
\index[general]{{-}{\-}mandir}
Bacula or if you want to use File Daemon PKI data encryption.
Normally, the {\bf path} specification is not necessary since
the configuration searches for the OpenSSL libraries in standard system
- locations. Enabling OpenSSL in Bacula permits secure communications
+ locations. However, you must ensure that all the libraries are
+ loaded including {\bf libssl-dev} or the equivalent on your
+ system. Enabling OpenSSL in Bacula permits secure communications
between the daemons and/or data encryption in the File daemon.
For more information on using TLS, please see the
\ilink{Bacula TLS -- Communications Encryption}{CommEncryption} chapter
For more information on using PKI data encryption, please see the
\ilink{Bacula PKI -- Data Encryption}{DataEncryption}
chapter of this manual.
+
+ If you get errors linking, you need to load the development libraries,
+ or you need to disable SSL by setting without-openssl.
+
\item [ {-}{\-}with-python=\lt{}path\gt{}]
\index[general]{{-}{\-}with-python}
The working directory is not automatically created by the install process, so
you must ensure that it exists before using Bacula for the first time.
-\item [ {-}{\-}with-base-port=\lt{}port=number\gt{}]
- \index[general]{{-}{\-}with-base-port}
+\item [ {-}{\-}with-baseport=\lt{}port=number\gt{}]
+ \index[general]{{-}{\-}with-baseport}
In order to run, Bacula needs three TCP/IP ports (one for the Bacula
Console, one for the Storage daemon, and one for the File daemon). The {\bf
\verb:--:with-baseport} option will automatically assign three ports beginning at
\begin{verbatim}
./configure \
--enable-smartalloc \
- --sbindir=$HOME/bacula/bin \
- --sysconfdir=$HOME/bacula/bin \
- --with-pid-dir=$HOME/bacula/bin/working \
- --with-subsys-dir=$HOME/bacula/bin/working \
- --with-mysql=$HOME/mysql \
- --with-working-dir=$HOME/bacula/working
+ --sbindir=/opt/bacula/bin \
+ --sysconfdir=/opt/bacula/etc \
+ --with-pid-dir=/opt/bacula/working \
+ --with-subsys-dir=/opt/bacula/working \
+ --with-working-dir=/opt/bacula/working
\end{verbatim}
\normalsize
\begin{verbatim}
CFLAGS="-g -Wall" ./configure \
- --sbindir=$HOME/bacula/bin \
- --sysconfdir=$HOME/bacula/bin \
+ --sbindir=/opt/bacula/bin \
+ --sysconfdir=/opt/bacula/etc \
--enable-smartalloc \
--with-sqlite=$HOME/bacula/depkgs/sqlite \
- --with-working-dir=$HOME/bacula/working \
- --with-pid-dir=$HOME/bacula/bin/working \
- --with-subsys-dir=$HOME/bacula/bin/working \
+ --with-working-dir=/opt/bacula/working \
+ --with-pid-dir=/opt/bacula/working \
+ --with-subsys-dir=/opt/bacula/working \
--enable-bat \
- --enable-conio
+ --enable-readline
\end{verbatim}
\normalsize
\begin{verbatim}
CFLAGS="-g -Wall" ./configure \
- --sbindir=$HOME/bacula/bin \
- --sysconfdir=$HOME/bacula/bin \
+ --sbindir=/opt/bacula/bin \
+ --sysconfdir=/opt/bacula/etc \
--enable-smartalloc \
- --with-mysql=$HOME/mysql \
- --with-working-dir=$HOME/bacula/working
- --with-pid-dir=$HOME/bacula/bin/working \
- --with-subsys-dir=$HOME/bacula/bin/working
- --enable-conio
+ --with-mysql \
+ --with-working-dir=/opt/bacula/working
+ --with-pid-dir=/opt/bacula/working \
+ --with-subsys-dir=/opt/bacula/working
+ --enable-readline
\end{verbatim}
\normalsize
-or finally, a completely traditional Red Hat Linux install:
+or finally, a completely traditional Red Hat Linux install,
+which we do not recommend, because it make it harder to
+backup Bacula for disaster recovery purposes:
\footnotesize
\begin{verbatim}
--with-mysql \
--with-working-dir=/var/bacula \
--with-pid-dir=/var/run \
- --enable-conio
+ --enable-readline
\end{verbatim}
\normalsize
\begin{verbatim}
#!/bin/sh
CFLAGS="-g" ./configure \
- --sbindir=$HOME/bacula/bin \
- --sysconfdir=$HOME/bacula/bin \
- --with-mysql=$HOME/mysql \
+ --sbindir=/opt/bacula/bin \
+ --sysconfdir=/opt/bacula/etc \
+ --with-mysql \
--enable-smartalloc \
- --with-pid-dir=$HOME/bacula/bin/working \
- --with-subsys-dir=$HOME/bacula/bin/working \
- --with-working-dir=$HOME/bacula/working
+ --with-pid-dir=/opt/bacula/working \
+ --with-subsys-dir=/opt/bacula/working \
+ --with-working-dir=/opt/bacula/working
\end{verbatim}
\normalsize
-As mentioned above, the install process will create the sbindir and sysconfdir
-if they do not exist, but it will not automatically create the pid-dir,
-subsys-dir, or working-dir, so you must ensure that they exist before running
-Bacula for the first time.
-
Note, you may need to install the following packages to build Bacula
from source:
\footnotesize
SUNWlibgcrypt
SUNWzlib
SUNWzlibs
+SUNWreadline
SUNWbinutilsS
SUNWGmakeS
SUNWlibm
\index[general]{One Files Configure Script}
The following script could be used if you want to put everything
-in a single file:
+in a single directory (except for the working directory):
\footnotesize
\begin{verbatim}
--mandir=$HOME/bacula/bin \
--enable-smartalloc \
--enable-bat \
- --enable-bwx-console \
- --enable-tray-monitor \
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working \
--with-mysql \
right-click on one of your panels, open the menu {\bf Add}, then {\bf Applet}
and finally click on {\bf System Tray}.
-\subsection{Other window managers}
+\subsection{Other Window Managers}
\index[general]{Managers!Other window}
\index[general]{Other window managers}