\section*{Installing Bacula}
\label{_ChapterStart17}
-\index[general]{Bacula!Installing }
-\index[general]{Installing Bacula }
+\index[general]{Bacula!Installing}
+\index[general]{Installing Bacula}
\addcontentsline{toc}{section}{Installing Bacula}
\subsection*{General}
-\index[general]{General }
+\index[general]{General}
\addcontentsline{toc}{subsection}{General}
In general, you will need the Bacula source release, and if you want to run
\label{upgrading1}
\subsection*{Upgrading Bacula}
-\index[general]{Bacula!Upgrading }
-\index[general]{Upgrading Bacula }
+\index[general]{Bacula!Upgrading}
+\index[general]{Upgrading Bacula}
\addcontentsline{toc}{subsection}{Upgrading Bacula}
If you are upgrading from one Bacula version to another, you should first
\end{itemize}
-\subsection*{Dependency Packages}
\label{Dependency}
+\subsection*{Dependency Packages}
\index[general]{Dependency Packages}
\index[general]{Packages!Dependency}
\addcontentsline{toc}{subsection}{Dependency Packages}
\addcontentsline{lot}{table}{Dependency Packages}
\begin{longtable}{|l|l|}
\hline
-\multicolumn{1}{|c| }{\bf 3rd Party Package } & \multicolumn{1}{c| }{\bf
-depkgs } & \multicolumn{1} \\
- \hline {SQLite } & \multicolumn{1}{c| }{X } & \multicolumn{1} \\
- \hline {SQLite3 } & \multicolumn{1}{c| }{X } & \multicolumn{1} \\
- \hline {mtx } & \multicolumn{1}{c| }{X } & \multicolumn{1} \\
+\multicolumn{1}{|c| }{\bf 3rd Party Package} & \multicolumn{1}{c| }{\bf depkgs} \\
+ \hline {SQLite } & \multicolumn{1}{c| }{X } \\
+ \hline {SQLite3 } & \multicolumn{1}{c| }{X } \\
+ \hline {mtx } & \multicolumn{1}{c| }{X } \\
\hline
-
\end{longtable}
Note, some of these packages are quite large, so that building them can be a
\subsection*{Supported Operating Systems}
\label{Systems}
-\index[general]{Systems!Supported Operating }
-\index[general]{Supported Operating Systems }
+\index[general]{Systems!Supported Operating}
+\index[general]{Supported Operating Systems}
\addcontentsline{toc}{subsection}{Supported Operating Systems}
Please see the
\subsection*{Building Bacula from Source}
\label{Building}
-\index[general]{Source!Building Bacula from }
-\index[general]{Building Bacula from Source }
+\index[general]{Source!Building Bacula from}
+\index[general]{Building Bacula from Source}
\addcontentsline{toc}{subsection}{Building Bacula from Source}
The basic installation is rather simple.
\subsection*{What Database to Use?}
\label{DB}
-\index[general]{What Database to Use? }
-\index[general]{Use!What Database to }
+\index[general]{What Database to Use?}
+\index[general]{Use!What Database to}
\addcontentsline{toc}{subsection}{What Database to Use?}
Before building Bacula you need to decide if you want to use SQLite, MySQL, or
this manual.
\subsection*{Quick Start}
-\index[general]{Quick Start }
-\index[general]{Start!Quick }
+\index[general]{Quick Start}
+\index[general]{Start!Quick}
\addcontentsline{toc}{subsection}{Quick Start}
There are a number of options and important considerations given below
\subsection*{Configure Options}
\label{Options}
-\index[general]{Options!Configure }
-\index[general]{Configure Options }
+\index[general]{Options!Configure}
+\index[general]{Configure Options}
\addcontentsline{toc}{subsection}{Configure Options}
The following command line options are available for {\bf configure} to
\begin{description}
\item [ {-}{-}sysbindir=\lt{}binary-path\gt{}]
- \index[general]{{-}{-}sysbindir }
+ \index[general]{{-}{-}sysbindir}
Defines where the Bacula binary (executable) files will be placed during a
{\bf make install} command.
\item [ {-}{-}sysconfdir=\lt{}config-path\gt{}]
- \index[general]{{-}{-}sysconfdir }
+ \index[general]{{-}{-}sysconfdir}
Defines where the Bacula configuration files should be placed during a
{\bf make install} command.
\item [ {-}{-}enable-smartalloc ]
- \index[general]{{-}{-}enable-smartalloc }
+ \index[general]{{-}{-}enable-smartalloc}
This enables the inclusion of the Smartalloc orphaned buffer detection
code. This option is highly recommended. Because we never build
without this option, you may experience problems if it is not enabled.
configuration parameter is used while building Bacula
\item [ {-}{-}enable-gnome ]
- \index[general]{{-}{-}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.
\item [ {-}{-}enable-wx-console ]
- \index[general]{{-}{-}enable-wx-console }
+ \index[general]{{-}{-}enable-wx-console}
If you have wxWidgets installed on your computer and you want to use the
wxWidgets GUI Console interface to Bacula, you must specify this option.
Doing so will build everything in the {\bf src/wx-console} directory.
\item [ {-}{-}enable-tray-monitor ]
- \index[general]{{-}{-}enable-tray-monitor }
+ \index[general]{{-}{-}enable-tray-monitor}
If you have GTK installed on your computer, you run a graphical
environment or a window manager compatible with the FreeDesktop system
tray standard (like KDE and GNOME) and you want to use a GUI to monitor
everything in the {\bf src/tray-monitor} directory.
\item [ {-}{-}enable-static-tools]
- \index[general]{{-}{-}enable-static-tools }
+ \index[general]{{-}{-}enable-static-tools}
This option causes the linker to link the Storage daemon utility tools
({\bf bls}, {\bf bextract}, and {\bf bscan}) statically. This permits
using them without having the shared libraries loaded. If you have
\item [ {-}{-}enable-static-fd]
- \index[general]{{-}{-}enable-static-fd }
+ \index[general]{{-}{-}enable-static-fd}
This option causes the make process to build a {\bf static-bacula-fd} in
addition to the standard File daemon. This static version will include
statically linked libraries and is required for the Bare Metal recovery.
\item [ {-}{-}enable-static-sd]
- \index[general]{{-}{-}enable-static-sd }
+ \index[general]{{-}{-}enable-static-sd}
This option causes the make process to build a {\bf static-bacula-sd} in
addition to the standard Storage daemon. This static version will
include statically linked libraries and could be useful during a Bare
\item [ {-}{-}enable-static-dir]
- \index[general]{{-}{-}enable-static-dir }
+ \index[general]{{-}{-}enable-static-dir}
This option causes the make process to build a {\bf static-bacula-dir}
in addition to the standard Director. This static version will include
statically linked libraries and could be useful during a Bare Metal
\item [ {-}{-}enable-static-cons]
- \index[general]{{-}{-}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
static version will include statically linked libraries and could be
\item [ {-}{-}enable-client-only]
- \index[general]{{-}{-}enable-client-only }
+ \index[general]{{-}{-}enable-client-only}
This option causes the make process to build only the File daemon and
the libraries that it needs. None of the other daemons, storage tools,
nor the console will be built. Likewise a {\bf make install} will then
need to load additional static libraries.
\item [ {-}{-}enable-build-dird]
- \index[general]{{-}{-}enable-build-dird }
+ \index[general]{{-}{-}enable-build-dird}
This option causes the make process to build the Director and the
Director's tools. By default, this option is on, but you may turn
it off by using {\bf {-}{-}disable-build-dird} to prevent the
Director from being built.
\item [ {-}{-}enable-build-stored]
- \index[general]{{-}{-}enable-build-stored }
+ \index[general]{{-}{-}enable-build-stored}
This option causes the make process to build the Storage daemon.
By default, this option is on, but you may turn
it off by using {\bf {-}{-}disable-build-stored} to prevent the
\item [ {-}{-}enable-largefile]
- \index[general]{{-}{-}enable-largefile }
+ \index[general]{{-}{-}enable-largefile}
This option (default) causes Bacula to be built with 64 bit file address
support if it is available on your system. This permits Bacula to read and
write files greater than 2 GBytes in size. You may disable this feature and
In such a case, Bacula will revert to using English.
\item [ {-}{-}with-sqlite=\lt{}sqlite-path\gt{}]
- \index[general]{{-}{-}with-sqlite }
+ \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
See the note below under the {-}{-}with-postgresql item.
\item [ {-}{-}with-sqlite3=\lt{}sqlite3-path\gt{}]
- \index[general]{{-}{-}with-sqlite3 }
+ \index[general]{{-}{-}with-sqlite3}
This enables use of the SQLite version 3.x database. The {\bf
sqlite3-path} is not normally specified as Bacula looks for the
necessary components in a standard location ({\bf depkgs/sqlite3}). See
this manual for more details.
\item [ {-}{-}with-mysql=\lt{}mysql-path\gt{}]
- \index[general]{{-}{-}with-mysql }
+ \index[general]{{-}{-}with-mysql}
This enables building of the Catalog services for Bacula. It assumes
that MySQL is running on your system, and expects it to be installed in
the {\bf mysql-path} that you specify. Normally, if MySQL is installed
See the note below under the {-}{-}with-postgresql item.
\item [ {-}{-}with-postgresql=\lt{}path\gt{}]
- \index[general]{{-}{-}with-postgresql }
+ \index[general]{{-}{-}with-postgresql}
This provides an explicit path to the PostgreSQL libraries if Bacula
cannot find it by default. Normally to build with PostgreSQL, you would
simply use {\bf {-}{-}with-postgresql}.
\item [ {-}{-}with-python=\lt{}path\gt{}]
- \index[general]{{-}{-}with-python }
+ \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
Language Support (NLS).
\item [ {-}{-}enable-conio]
- \index[general]{{-}{-}enable-conio }
+ \index[general]{{-}{-}enable-conio}
Tells Bacula to enable building the small, light weight readline
replacement routine. It is generally much easier to configure than
readline, although, like readline, it needs either the termcap or
ncurses library.
\item [ {-}{-}with-readline=\lt{}readline-path\gt{}]
- \index[general]{{-}{-}with-readline }
+ \index[general]{{-}{-}with-readline}
Tells Bacula where {\bf readline} is installed. Normally, Bacula will
find readline if it is in a standard library. If it is not found and no
{-}{-}with-readline is specified, readline will be disabled. This
supported, so you are on your own if you have problems.
\item [ {-}{-}enable-readline]
- \index[general]{{-}{-}enable-readline }
+ \index[general]{{-}{-}enable-readline}
Tells Bacula to enable readline support. It is normally disabled due to the
large number of configuration problems and the fact that the package seems to
change in incompatible ways from version to version.
\item [ {-}{-}with-tcp-wrappers=\lt{}path\gt{}]
- \index[general]{{-}{-}with-tcp-wrappers }
+ \index[general]{{-}{-}with-tcp-wrappers}
\index[general]{TCP Wrappers}
\index[general]{Wrappers!TCP}
\index[general]{libwrappers}
tcp\_wrappers.
\item [ {-}{-}with-working-dir=\lt{}working-directory-path\gt{} ]
- \index[general]{{-}{-}with-working-dir }
+ \index[general]{{-}{-}with-working-dir}
This option is mandatory and specifies a directory into which Bacula may
safely place files that will remain between Bacula executions. For example,
if the internal database is used, Bacula will keep those files in this
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 }
+ \index[general]{{-}{-}with-base-port}
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
may also accomplish the same thing by directly editing them later.
\item [ {-}{-}with-dump-email=\lt{}email-address\gt{}]
- \index[general]{{-}{-}with-dump-email }
+ \index[general]{{-}{-}with-dump-email}
This option specifies the email address where any core dumps should be set.
This option is normally only used by developers.
\item [ {-}{-}with-pid-dir=\lt{}PATH\gt{} ]
- \index[general]{{-}{-}with-pid-dir }
+ \index[general]{{-}{-}with-pid-dir}
This specifies where Bacula should place the process id file during
execution. The default is: {\bf /var/run}. This directory is not created by
the install process, so you must ensure that it exists before using Bacula
the first time.
\item [ {-}{-}with-subsys-dir=\lt{}PATH\gt{}]
- \index[general]{{-}{-}with-subsys-dir }
+ \index[general]{{-}{-}with-subsys-dir}
This specifies where Bacula should place the subsystem lock file during
execution. The default is {\bf /var/run/subsys}. Please make sure that you do
not specify the same directory for this directory and for the {\bf sbindir}
create it before using Bacula.
\item [ {-}{-}with-dir-password=\lt{}Password\gt{}]
- \index[general]{{-}{-}with-dir-password }
+ \index[general]{{-}{-}with-dir-password}
This option allows you to specify the password used to access the Directory
(normally from the Console program). If it is not specified, configure will
automatically create a random password.
\item [ {-}{-}with-fd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-fd-password }
+ \index[general]{{-}{-}with-fd-password}
This option allows you to specify the password used to access the File daemon
(normally called from the Director). If it is not specified, configure will
automatically create a random password.
\item [ {-}{-}with-sd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-sd-password }
+ \index[general]{{-}{-}with-sd-password}
This option allows you to specify the password used to access the Directory
(normally called from the Director). If it is not specified, configure will
automatically create a random password.
\item [ {-}{-}with-dir-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-dir-user }
+ \index[general]{{-}{-}with-dir-user}
This option allows you to specify the Userid used to run the Director. The
Director must be started as root, but doesn't need to run as root, and
after doing preliminary initializations, it can "drop" to the UserId
\item [ {-}{-}with-dir-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-dir-group }
+ \index[general]{{-}{-}with-dir-group}
This option allows you to specify the GroupId used to run the Director. The
Director must be started as root, but doesn't need to run as root, and after
doing preliminary initializations, it can "drop" to the GroupId specified
working directory group will be set to {\bf Group}.
\item [ {-}{-}with-sd-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-sd-user }
+ \index[general]{{-}{-}with-sd-user}
This option allows you to specify the Userid used to run the Storage daemon.
The Storage daemon must be started as root, but doesn't need to run as root,
and after doing preliminary initializations, it can "drop" to the UserId
it needs.
\item [ {-}{-}with-sd-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-sd-group }
+ \index[general]{{-}{-}with-sd-group}
This option allows you to specify the GroupId used to run the Storage daemon.
The Storage daemon must be started as root, but doesn't need to run as root,
and after doing preliminary initializations, it can "drop" to the GroupId
specified on this option.
\item [ {-}{-}with-fd-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-fd-user }
+ \index[general]{{-}{-}with-fd-user}
This option allows you to specify the Userid used to run the File daemon. The
File daemon must be started as root, and in most cases, it needs to run as
root, so this option is used only in very special cases, after doing
option.
\item [ {-}{-}with-fd-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-fd-group }
+ \index[general]{{-}{-}with-fd-group}
This option allows you to specify the GroupId used to run the File daemon.
The File daemon must be started as root, and in most cases, it must be run as
root, however, after doing preliminary initializations, it can "drop" to
\verb:--:help}, but they are not implemented.
\subsection*{Recommended Options for most Systems}
-\index[general]{Systems!Recommended Options for most }
-\index[general]{Recommended Options for most Systems }
+\index[general]{Systems!Recommended Options for most}
+\index[general]{Recommended Options for most Systems}
\addcontentsline{toc}{subsection}{Recommended Options for most Systems}
For most systems, we recommend starting with the following options:
it.
\subsection*{RedHat}
-\index[general]{RedHat }
+\index[general]{RedHat}
\addcontentsline{toc}{subsection}{RedHat}
Using SQLite:
that no optimization is turned on (normally it is -O2).
\subsection*{Solaris}
-\index[general]{Solaris }
+\index[general]{Solaris}
\addcontentsline{toc}{subsection}{Solaris}
To build Bacula from source, you will need the following installed on your
\normalsize
\subsection*{FreeBSD}
-\index[general]{FreeBSD }
+\index[general]{FreeBSD}
\addcontentsline{toc}{subsection}{FreeBSD}
Please see:
probably not work.
\subsection*{Win32}
-\index[general]{Win32 }
+\index[general]{Win32}
\addcontentsline{toc}{subsection}{Win32}
To install the binary Win32 version of the File daemon please see the
\ilink{Win32 Installation Chapter}{_ChapterStart7} in this document.
\subsection*{Kern's Configure Script}
-\index[general]{Script!Kern's Configure }
-\index[general]{Kern's Configure Script }
+\index[general]{Script!Kern's Configure}
+\index[general]{Kern's Configure Script}
\addcontentsline{toc}{subsection}{Kern's Configure Script}
The script that I use for building on my "production" Linux machines is:
\normalsize
\subsection*{Installing Bacula}
-\index[general]{Bacula!Installing }
-\index[general]{Installing Bacula }
+\index[general]{Bacula!Installing}
+\index[general]{Installing Bacula}
\addcontentsline{toc}{subsection}{Installing Bacula}
Before setting up your configuration files, you will want to install Bacula in
configuration files with the appended {\bf .new}.
\subsection*{Building a File Daemon or Client}
-\index[general]{Client!Building a File Daemon or }
-\index[general]{Building a File Daemon or Client }
+\index[general]{Client!Building a File Daemon or}
+\index[general]{Building a File Daemon or Client}
\addcontentsline{toc}{subsection}{Building a File Daemon or Client}
If you run the Director and the Storage daemon on one machine and you wish to
\label{autostart}
\subsection*{Auto Starting the Daemons}
-\index[general]{Daemons!Auto Starting the }
-\index[general]{Auto Starting the Daemons }
+\index[general]{Daemons!Auto Starting the}
+\index[general]{Auto Starting the Daemons}
\addcontentsline{toc}{subsection}{Auto Starting the Daemons}
If you wish the daemons to be automatically started and stopped when your
\normalsize
\subsection*{Other Make Notes}
-\index[general]{Notes!Other Make }
-\index[general]{Other Make Notes }
+\index[general]{Notes!Other Make}
+\index[general]{Other Make Notes}
\addcontentsline{toc}{subsection}{Other Make Notes}
To simply build a new executable in any directory, enter:
\label{monitor}
\subsection*{Installing Tray Monitor}
-\index[general]{Monitor!Installing Tray }
-\index[general]{Installing Tray Monitor }
+\index[general]{Monitor!Installing Tray}
+\index[general]{Installing Tray Monitor}
\addcontentsline{toc}{subsection}{Installing Tray Monitor}
The Tray Monitor is already installed if you used the {\bf
window manager.
\subsubsection*{GNOME}
-\index[general]{GNOME }
+\index[general]{GNOME}
\addcontentsline{toc}{subsubsection}{GNOME}
System tray, or notification area if you use the GNOME terminology, has been
finally click on {\bf Notification Area}.
\subsubsection*{KDE}
-\index[general]{KDE }
+\index[general]{KDE}
\addcontentsline{toc}{subsubsection}{KDE}
System tray has been supported in KDE since version 3.1. To activate it,
and finally click on {\bf System Tray}.
\subsubsection*{Other window managers}
-\index[general]{Managers!Other window }
-\index[general]{Other window managers }
+\index[general]{Managers!Other window}
+\index[general]{Other window managers}
\addcontentsline{toc}{subsubsection}{Other window managers}
Read the documentation to know if the Freedesktop system tray standard is
supported by your window manager, and if applicable, how to activate it.
\subsection*{Modifying the Bacula Configuration Files}
-\index[general]{Modifying the Bacula Configuration Files }
-\index[general]{Files!Modifying the Bacula Configuration }
+\index[general]{Modifying the Bacula Configuration Files}
+\index[general]{Files!Modifying the Bacula Configuration}
\addcontentsline{toc}{subsection}{Modifying the Bacula Configuration Files}
See the chapter